[
  {
    "path": ".devcontainer/devcontainer.json",
    "content": "{\n  \"name\": \"listmonk\",\n  \"dockerComposeFile\": \"../dev/docker-compose.yml\",\n  \"service\": \"backend\",\n  \"workspaceFolder\": \"/app\",\n  \"forwardPorts\": [9000],\n  \"postStartCommand\": \"make dist && ./listmonk --install --idempotent --yes --config dev/config.toml\"\n}\n"
  },
  {
    "path": ".dockerignore",
    "content": "**/.classpath\n**/.dockerignore\n**/.env\n**/.git\n**/.gitignore\n**/.project\n**/.settings\n**/.toolstarget\n**/.vs\n**/.vscode\n**/*.*proj.user\n**/*.dbmdl\n**/*.jfm\n**/azds.yaml\n**/bin\n**/charts\n**/docker-compose*\n**/Dockerfile*\n**/node_modules\n**/npm-debug.log\n**/obj\n**/secrets.dev.yaml\n**/values.dev.yaml\nLICENSE\nREADME.md"
  },
  {
    "path": ".gitattributes",
    "content": "frontend/* linguist-vendored\nVERSION export-subst\n* text=auto eol=lf\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/confirmed-bug.md",
    "content": "---\nname: Confirmed bug\nabout: Report an issue that you have definititely confirmed to be a bug\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n**Version:**\n - listmonk: [eg: v1.0.0]\n - OS: [e.g. Fedora]\n\n**Description of the bug and steps to reproduce:**\nA clear and concise description of what the bug is.\n\n**Screenshots:**\nIf applicable, add screenshots to help explain your problem.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature-or-change-request.md",
    "content": "---\nname: Feature or change request\nabout: Suggest new features or changes to existing features\ntitle: ''\nlabels: enhancement\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/general-question.md",
    "content": "---\nname: General question\nabout: You have a question about something or want to start a general discussion\ntitle: ''\nlabels: 'question'\nassignees: ''\n\n---\n\nNote: Please refrain from posting questions about Docker and docker-compose related matters. Please search and refer to the numerous closed issues on these topics. Docker related questions are outside of the purview of this forum and will be closed. Thank you for your understanding.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/possible-bug--needs-investigation-.md",
    "content": "---\nname: Possible bug. Needs investigation.\nabout: Report an issue that could be a bug but is not confirmed yet and needs investigation.\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Version:**\n - listmonk: [eg: v1.0.0]\n - OS: [e.g. Fedora]\n\n**Description of the bug and steps to reproduce:**\nA clear and concise description of what the bug is.\n\n**Screenshots:**\nIf applicable, add screenshots to help explain your problem.\n"
  },
  {
    "path": ".github/workflows/build-sanity.yml",
    "content": "name: Build Sanity Check\n\non:\n    pull_request:\n      types:\n        - opened\n  \njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout Code\n        uses: actions/checkout@v4\n\n      - name: Set up Go\n        uses: actions/setup-go@v5\n        with:\n          go-version: \"1.26.1\"\n\n      - name: Prepare Dependencies and Build\n        run: make dist\n"
  },
  {
    "path": ".github/workflows/github-pages.yml",
    "content": "name: publish-github-pages\n\non:\n  push:\n    branches:\n      - master\n    paths:\n      - 'docs/**'\n  workflow_dispatch:\n\npermissions:\n  contents: write\n\njobs:\n  deploy:\n    runs-on: ubuntu-22.04\n    steps:\n      - uses: actions/checkout@v2\n        with:\n          submodules: true  # Fetch Hugo themes\n          fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod\n\n      - uses: actions/setup-python@v2\n        with:\n          python-version: 3.x\n      - run: pip install mkdocs-material\n\n      - name: Setup Hugo\n        uses: peaceiris/actions-hugo@v2\n        with:\n          hugo-version: '0.68.3'\n\n      # Build the main site to the docs/publish directory. This will be the root (/) in gh-pages.\n      # The -d (output) path is relative to the -s (source) path\n      - name: Build main site\n        run: hugo -s docs/site -d ../publish --gc --minify\n\n      # Build the mkdocs documentation in the docs/publish/docs dir. This will be at (/docs)\n      # The -d (output) path is relative to the -f (source) path\n      - name: Build docs site\n        run: mkdocs build -f docs/docs/mkdocs.yml -d ../publish/docs\n\n      # Copy the static i18n app to the publish directory. This will be at (/i18n)\n      - name: Copy i18n site\n        run: cp -R docs/i18n docs/publish\n\n      - name: Generate Swagger UI\n        uses: Legion2/swagger-ui-action@v1\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          spec-file: ./docs/swagger/collections.yaml\n          output: ./docs/publish/docs/swagger\n\n      - name: Deploy\n        uses: peaceiris/actions-gh-pages@v3\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          publish_branch: gh-pages\n          publish_dir: ./docs/publish\n          cname: listmonk.app\n          user_name: 'github-actions[bot]'\n          user_email: 'github-actions[bot]@users.noreply.github.com'\n"
  },
  {
    "path": ".github/workflows/hodor-review.yml",
    "content": "name: Hodor AI Code Review\n\non:\n  pull_request_target:\n    types: [labeled, synchronize]\n    paths-ignore:\n      - 'i18n/**'\n      - '*.md'\n      - 'LICENSE'\n      - '.gitignore'\n\npermissions:\n  contents: read\n  pull-requests: write\n\njobs:\n  review:\n    if: >-\n      (github.event.action == 'labeled' && github.event.label.name == 'hodor-review') ||\n      (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'hodor-review'))\n    runs-on: ubuntu-latest\n    steps:\n      - name: Run Hodor review\n        run: |\n          docker run --rm \\\n            -e GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} \\\n            -e LLM_API_KEY=${{ secrets.LLM_API_KEY }} \\\n            ghcr.io/mr-karan/hodor:0.3.4 \\\n            \"https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }}\" \\\n            --model \"${{ vars.HODOR_MODEL || 'gpt-5.2' }}\" \\\n            --post\n"
  },
  {
    "path": ".github/workflows/issues.yml",
    "content": "name: \"close-stale-issues-and-prs\"\non:\n  schedule:\n    - cron: \"30 1 * * *\"\n  workflow_dispatch:\n\njobs:\n  stale:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/stale@v9\n        with:\n          days-before-stale: 150\n          stale-issue-label: \"stale\"\n          stale-pr-label: \"stale\"\n          debug-only: false\n          exempt-all-assignees: true\n          operations-per-run: 1000\n          stale-issue-message: \"This issue has been marked 'stale' after 5 months of inactivity. If there is no further activity, it will be closed in 7 days.\"\n          stale-pr-message: \"This PR has been marked 'stale' after 5 months of inactivity. If there is no further activity, it will be closed in 7 days.\"\n"
  },
  {
    "path": ".github/workflows/nightly.yml",
    "content": "name: nightly\non:\n  schedule:\n    - cron: \"0 2 * * *\"\n  workflow_dispatch:\n\npermissions:\n  contents: write\n  packages: write\n\njobs:\n  check:\n    runs-on: ubuntu-latest\n    outputs:\n      skip: ${{ steps.check_changes.outputs.skip }}\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n        with:\n          fetch-depth: 0\n\n      - name: Check for changes since last nightly release\n        id: check_changes\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          LAST_NIGHTLY_SHA=$(gh release view nightly --json targetCommitish -q '.targetCommitish' 2>/dev/null || echo \"\")\n          CURRENT_SHA=$(git rev-parse HEAD)\n          echo \"Last nightly SHA: $LAST_NIGHTLY_SHA\"\n          echo \"Current SHA: $CURRENT_SHA\"\n          if [ -n \"$LAST_NIGHTLY_SHA\" ] && [ \"$LAST_NIGHTLY_SHA\" = \"$CURRENT_SHA\" ]; then\n            echo \"No changes since last nightly build, skipping ...\"\n            echo \"skip=true\" >> $GITHUB_OUTPUT\n          else\n            echo \"Changes detected, proceeding with build ...\"\n            echo \"skip=false\" >> $GITHUB_OUTPUT\n          fi\n\n  nightly:\n    needs: check\n    if: needs.check.outputs.skip != 'true'\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n        with:\n          fetch-depth: 0\n\n      - name: Set up QEMU\n        uses: docker/setup-qemu-action@v3\n\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v3\n\n      - name: Set up Go\n        uses: actions/setup-go@v5\n        with:\n          go-version: \"1.26.1\"\n\n      - name: Login to Docker Hub\n        uses: docker/login-action@v3\n        with:\n          username: ${{ secrets.DOCKERHUB_USERNAME }}\n          password: ${{ secrets.DOCKERHUB_TOKEN }}\n\n      - name: Login to GitHub Container Registry\n        uses: docker/login-action@v3\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Delete existing nightly release\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: gh release delete nightly --yes --cleanup-tag 2>/dev/null || true\n\n      - name: Set nightly date\n        id: tag\n        run: |\n          NIGHTLY_DATE=$(date -u +%Y-%m-%d)\n          echo \"date=$NIGHTLY_DATE\" >> $GITHUB_OUTPUT\n\n      - name: Prepare dependencies\n        run: make dist\n        env:\n          LISTMONK_VERSION: nightly-${{ steps.tag.outputs.date }}\n\n      - name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        with:\n          version: latest\n          args: release --snapshot --parallelism 1 --clean --config .goreleaser-nightly.yml\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          LISTMONK_VERSION: nightly-${{ steps.tag.outputs.date }}\n\n      - name: Push Docker images\n        run: |\n          # Push all architecture-specific images\n          docker push listmonk/listmonk:nightly-amd64\n          docker push listmonk/listmonk:nightly-arm64v8\n          docker push listmonk/listmonk:nightly-armv6\n          docker push listmonk/listmonk:nightly-armv7\n          docker push ghcr.io/knadh/listmonk:nightly-amd64\n          docker push ghcr.io/knadh/listmonk:nightly-arm64v8\n          docker push ghcr.io/knadh/listmonk:nightly-armv6\n          docker push ghcr.io/knadh/listmonk:nightly-armv7\n\n      - name: Create and push Docker manifests\n        run: |\n          # Docker Hub manifest\n          docker buildx imagetools create -t listmonk/listmonk:nightly \\\n            listmonk/listmonk:nightly-amd64 \\\n            listmonk/listmonk:nightly-arm64v8 \\\n            listmonk/listmonk:nightly-armv6 \\\n            listmonk/listmonk:nightly-armv7\n\n          # GHCR manifest\n          docker buildx imagetools create -t ghcr.io/knadh/listmonk:nightly \\\n            ghcr.io/knadh/listmonk:nightly-amd64 \\\n            ghcr.io/knadh/listmonk:nightly-arm64v8 \\\n            ghcr.io/knadh/listmonk:nightly-armv6 \\\n            ghcr.io/knadh/listmonk:nightly-armv7\n\n      - name: Verify Docker manifests\n        run: |\n          docker buildx imagetools inspect listmonk/listmonk:nightly\n          docker buildx imagetools inspect ghcr.io/knadh/listmonk:nightly\n\n      - name: Create GitHub Release\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          gh release create nightly \\\n            --title \"Nightly release\" \\\n            --notes \"\n          > **Warning**: This is an automated nightly build from the master branch.\n          > It may contain bugs and breaking changes. Use at your own risk.\n          > Available on Docker Hub and GitHub Container Registry as `listmonk/listmonk:nightly`.\n          > For stable releases, please use a versioned release. [Learn more](https://listmonk.app/docs/installation/#nightly)\n\n          Built from commit: $(git rev-parse --short HEAD)\" \\\n            --prerelease \\\n            --target $(git rev-parse HEAD) \\\n            dist/*.tar.gz\n"
  },
  {
    "path": ".github/workflows/release.yml",
    "content": "name: goreleaser\n\non:\n  push:\n    tags:\n      - \"v*\" # Will trigger only if tag is pushed matching pattern `v*` (Eg: `v0.1.0`)\n\npermissions: write-all\n\njobs:\n  goreleaser:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n        with:\n          fetch-depth: 0\n\n      - name: Set up QEMU\n        uses: docker/setup-qemu-action@v3\n\n      - name: Set up Go\n        uses: actions/setup-go@v5\n        with:\n          go-version: \"1.26.1\"\n\n      - name: Login to Docker Registry\n        uses: docker/login-action@v3\n        with:\n          username: ${{ secrets.DOCKERHUB_USERNAME }}\n          password: ${{ secrets.DOCKERHUB_TOKEN }}\n\n      - name: Login to GitHub Docker Registry\n        uses: docker/login-action@v3\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Prepare Dependencies\n        run: |\n          make dist\n\n      - name: Check Docker Version\n        run: |\n          docker version\n\n      - name: Run GoReleaser\n        uses: goreleaser/goreleaser-action@v6\n        with:\n          version: latest\n          args: release --parallelism 1 --clean\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n"
  },
  {
    "path": ".gitignore",
    "content": "frontend/node_modules/\nfrontend/.cache/\nfrontend/yarn.lock\nfrontend/build/\nfrontend/public/static/email-builder/\nfrontend/dist/\nfrontend/email-builder/dist/\nemail-builder/node_modules/\nemail-builder/.cache/\nemail-builder/yarn.lock\nemail-builder/dist/\nstatic/public/static/altcha.umd.js\n.vscode/\n\nconfig.toml\ndocker-compose.override.yml\nnode_modules\nlistmonk\ndist/*\nuploads/\n"
  },
  {
    "path": ".go-version",
    "content": "1.26.1\n"
  },
  {
    "path": ".goreleaser-nightly.yml",
    "content": "version: 2\n\nsnapshot:\n  version_template: \"{{ .Env.LISTMONK_VERSION }}\"\n\n# GoReleaser config for nightly builds\n\nenv:\n  - GO111MODULE=on\n  - CGO_ENABLED=0\n  - GITHUB_ORG=knadh\n  - DOCKER_ORG=listmonk\n\nbefore:\n  hooks:\n    - make build-frontend\n\nbuilds:\n  - binary: listmonk\n    main: ./cmd\n    goos:\n      - linux\n      - windows\n      - darwin\n      - freebsd\n      - openbsd\n      - netbsd\n    goarch:\n      - amd64\n      - arm64\n      - arm\n    goarm:\n      - 6\n      - 7\n    ignore:\n      - goos: windows\n        goarch: arm\n    ldflags:\n      - -s -w -X \"main.buildString=nightly ({{ .ShortCommit }} {{ .Date }}, {{ .Os }}/{{ .Arch }})\" -X \"main.versionString={{ .Env.LISTMONK_VERSION }}\"\n\n    hooks:\n      # stuff executables with static assets.\n      post: make pack-bin BIN={{ .Path }}\n\narchives:\n  - format: tar.gz\n    name_template: \"listmonk_nightly_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}\"\n    files:\n      - README.md\n      - LICENSE\n\ndockers:\n  - use: buildx\n    goos: linux\n    goarch: amd64\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-amd64\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-amd64\"\n    build_flag_templates:\n      - --platform=linux/amd64\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version=nightly\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n  - use: buildx\n    goos: linux\n    goarch: arm64\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-arm64v8\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-arm64v8\"\n    build_flag_templates:\n      - --platform=linux/arm64/v8\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version=nightly\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n  - use: buildx\n    goos: linux\n    goarch: arm\n    goarm: 6\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-armv6\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv6\"\n    build_flag_templates:\n      - --platform=linux/arm/v6\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version=nightly\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n  - use: buildx\n    goos: linux\n    goarch: arm\n    goarm: 7\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-armv7\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv7\"\n    build_flag_templates:\n      - --platform=linux/arm/v7\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version=nightly\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n\ndocker_manifests:\n  - name_template: \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly\"\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-amd64\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-arm64v8\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-armv6\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:nightly-armv7\"\n  - name_template: ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly\n    image_templates:\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-amd64\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-arm64v8\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv6\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv7\n\nchangelog:\n  disable: true\n\nrelease:\n  prerelease: true\n  name_template: \"Nightly Build\"\n  header: |\n    ## Nightly Build\n\n    > **Warning**: This is an automated nightly build from the master branch.\n    > It may contain bugs and breaking changes. Use at your own risk.\n    > For stable releases, please use a versioned release.\n\n    Built from commit: {{ .ShortCommit }}\n"
  },
  {
    "path": ".goreleaser.yml",
    "content": "env:\n  - GO111MODULE=on\n  - CGO_ENABLED=0\n  - GITHUB_ORG=knadh\n  - DOCKER_ORG=listmonk\n\nbefore:\n  hooks:\n    - make build-frontend\n\nbuilds:\n  - binary: listmonk\n    main: ./cmd\n    goos:\n      - linux\n      - windows\n      - darwin\n      - freebsd\n      - openbsd\n      - netbsd\n    goarch:\n      - amd64\n      - arm64\n      - arm\n    goarm:\n      - 6\n      - 7\n    ignore:\n      - goos: windows\n        goarch: arm\n    ldflags:\n      - -s -w -X \"main.buildString={{ .Tag }} ({{ .ShortCommit }} {{ .Date }}, {{ .Os }}/{{ .Arch }})\" -X \"main.versionString={{ .Tag }}\"\n\n    hooks:\n      # stuff executables with static assets.\n      post: make pack-bin BIN={{ .Path }}\n\narchives:\n  - format: tar.gz\n    files:\n      - README.md\n      - LICENSE\n\ndockers:\n  - use: buildx\n    goos: linux\n    goarch: amd64\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-amd64\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-amd64\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-amd64\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-amd64\"\n    build_flag_templates:\n      - --platform=linux/amd64\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version={{ .Version }}\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n  - use: buildx\n    goos: linux\n    goarch: arm64\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-arm64v8\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-arm64v8\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-arm64v8\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-arm64v8\"\n    build_flag_templates:\n      - --platform=linux/arm64/v8\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version={{ .Version }}\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n  - use: buildx\n    goos: linux\n    goarch: arm\n    goarm: 6\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-armv6\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv6\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv6\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv6\"\n    build_flag_templates:\n      - --platform=linux/arm/v6\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version={{ .Version }}\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n  - use: buildx\n    goos: linux\n    goarch: arm\n    goarm: 7\n    ids:\n      - listmonk\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-armv7\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv7\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv7\"\n      - \"ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv7\"\n    build_flag_templates:\n      - --platform=linux/arm/v7\n      - --label=org.opencontainers.image.title={{ .ProjectName }}\n      - --label=org.opencontainers.image.description={{ .ProjectName }}\n      - --label=org.opencontainers.image.url=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}\n      - --label=org.opencontainers.image.version={{ .Version }}\n      - --label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}\n      - --label=org.opencontainers.image.revision={{ .FullCommit }}\n      - --label=org.opencontainers.image.licenses=AGPL-3.0\n    dockerfile: Dockerfile\n    extra_files:\n      - config.toml.sample\n      - docker-entrypoint.sh\n\ndocker_manifests:\n  - name_template: \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest\"\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-amd64\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-arm64v8\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-armv6\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:latest-armv7\"\n  - name_template: \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}\"\n    image_templates:\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-amd64\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-arm64v8\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv6\"\n      - \"{{ .Env.DOCKER_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv7\"\n  - name_template: ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest\n    image_templates:\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-amd64\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-arm64v8\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv6\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv7\n  - name_template: ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}\n    image_templates:\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-amd64\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-arm64v8\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv6\n      - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv7\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# 1. Contributing\n\nWelcome to listmonk! You can contribute to the project in the following ways:\n\n1. **Bug reports:** One liner reports are difficult to understand and review.\n\t1. Follow the bug reporting issue template and provide clear, concise descriptions and steps to reproduce the bug.\n\t2. Ensure that you have searched the existing issues to avoid duplicates.\n\t3. Maintainers may close unclear issues that lack enough information to reproduce a bug. [Report a bug here](https://github.com/knadh/listmonk/issues/new?assignees=&labels=bug&template=bug_report.md).\n\n2. **Feature suggestions:** If you feel there is a nice enhancement or feature that can benefit many users, please open a feature request issue.\n\t1. Ensure that you have searched the existing issues to avoid duplicates.\n\t2. What makes sense for the project, what suits its scope and goals, and its future direction are at the discretion of the maintainers who put in the time, effort, and energy in building and maintaining the project for free. Please be respectful of this and keep discussions friendly and fruitful.\n\t3. It is the responsibility of the requester to clearly explain and justify why a change is warranted. It is not the responsibility of the maintainers to coax this information out of a requester. So, please post well researched, well thought out, and detailed feature requests saving everyone time.\n\t4. Maintainers may close unclear feature requests that lack enough information. [Suggest a feature here](https://github.com/knadh/listmonk/issues/new?assignees=&labels=enhancement&template=feature-or-change-request.md&title=).\n\n3. **Improving docs:** You can submit corrections and improvements to the [documentation](https://listmonk.app/docs) website on the [docs repo](https://github.com/knadh/listmonk/tree/master/docs).\n\n4. **i18n translations:** The project is available in many languages thanks to user contributions. You can create a new language pack or submit corrections to existing ones. There is a UI available for making translations easy. [More info here](https://listmonk.app/docs/i18n/).\n\n\n# 2. Pull requests\n\nThis is a tricky one for many reasons. A PR, be it a new feature or a small enhancement, has to make sense to the project's overall scope, goals, and technical aspects. The quality, style, and conventions of the code have to conform to that of the project's. Performance, usability, stability and other kinds of impacts of a PR should be well understood.\n\nThis makes reviewing PRs a difficult and time consuming task. The bigger a PR, the more difficult it is to understand. Reviewing a PR in detail, engaging in back and forth discussions to improve it, and deciding that it is meaningful and safe to merge can often require more time and effort than what has gone into creating a PR. Thus, ultimately, whether a PR gets accepted or not, for whatever reason, is at the discretion of the maintainers. Please be respectful of the fact that maintainers have a much deeper understanding of the overall project. So, nitpicking on micro aspects may not be meaningful.\n\nTo keep the process smooth:\n\n1. **Send a proposal first:** Open an issue describing what you aim to accomplish, how it makes sense to the project, and how you plan on implementing it (with useful technical details), before committing time and effort to writing code. This saves everyone time.\n\n2. **Send small PRs:** Whenever possible, send small PRs with well defined scopes. The smaller the PR, the easier it is to review and test. Bundling multiple features into a single PR is highly discouraged. \n\n3. **PRs will be squashed in the end:** A PR may change considerably with multiple commits before it is approved. Once a PR is approved, if there are multiple commits, they will be squashed into a single commit during merging.\n\n\n# 3. Be respectful\n\nRemember, most FOSS projects are fruits of love and labour of maintainers who share them with the world for free with no expectations of any returns. Free as in freedom, and free as in beer too. Really, *some people just want to watch the world turn*.\n\nSo:\n\n1. Please be respectful and refrain from using aggressive or snarky language. It wastes time, cognitive bandwidth, and goodwill.\n2. Please refrain from demanding. How badly you want a feature has no bearing on whether it warrants a maintainer's time or attention. It is entirely up to the maintainers, if, how, and when they want to implement something.\n3. Please do not nitpick and generate unnecessary discussions that waste time.\n4. Please make sure you have searched the docs and issues before asking support questions.\n5. **Please remember, FOSS project maintainers owe you nothing** (unless you have an explicit agreement with them, of course) including their time in responding to your messages or providing free customer support. If you want to be heard, please be respectful and establish goodwill.\n6. If these are unacceptable to you a) you don't have to use the project b) you can always fork the project and change it to your liking while adhering to the terms of the license. That is the beauty of FOSS, afterall.\n\nThank you!\n"
  },
  {
    "path": "Dockerfile",
    "content": "FROM alpine:latest\n\n# Install dependencies\nRUN apk --no-cache add ca-certificates tzdata shadow su-exec\n\n# Set the working directory\nWORKDIR /listmonk\n\n# Copy only the necessary files\nCOPY listmonk .\nCOPY config.toml.sample config.toml\n\n# Copy the entrypoint script\nCOPY docker-entrypoint.sh /usr/local/bin/\n\n# Make the entrypoint script executable\nRUN chmod +x /usr/local/bin/docker-entrypoint.sh\n\n# Expose the application port\nEXPOSE 9000\n\n# Set the entrypoint\nENTRYPOINT [\"docker-entrypoint.sh\"]\n\n# Define the command to run the application\nCMD [\"./listmonk\"]\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n  A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate.  Many developers of free software are heartened and\nencouraged by the resulting cooperation.  However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n  The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community.  It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server.  Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n  An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals.  This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Remote Network Interaction; Use with the GNU General Public License.\n\n  Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software.  This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time.  Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published\n    by the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source.  For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code.  There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n<http://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "Makefile",
    "content": "# Try to get the commit hash from 1) git 2) the VERSION file 3) fallback.\nLAST_COMMIT := $(or $(shell git rev-parse --short HEAD 2> /dev/null),$(shell head -n 1 VERSION | grep -oP -m 1 \"^[a-z0-9]+$$\"),\"\")\n\n# Try to get the semver from 1) git 2) the VERSION file 3) fallback.\nVERSION := $(or $(LISTMONK_VERSION),$(shell git describe --tags --abbrev=0 2> /dev/null),$(shell grep -oP 'tag: \\Kv\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?' VERSION),\"v0.0.0\")\n\nBUILDDATE := $(if $(SOURCE_DATE_EPOCH),$(shell date -u -d @$(SOURCE_DATE_EPOCH) +\"%Y-%m-%dT%H:%M:%S%z\"),$(shell date -u +\"%Y-%m-%dT%H:%M:%S%z\"))\nBUILDSTR := ${VERSION} (\\#${LAST_COMMIT} $(BUILDDATE))\n\nYARN ?= yarn\nGOPATH ?= $(HOME)/go\nSTUFFBIN ?= $(GOPATH)/bin/stuffbin\nFRONTEND_YARN_MODULES = frontend/node_modules\nFRONTEND_DIST = frontend/dist\nFRONTEND_EMAIL_BUILDER_DIST_FINAL = frontend/public/static/email-builder\nFRONTEND_DEPS = \\\n\t$(FRONTEND_YARN_MODULES) \\\n\t$(FRONTEND_EMAIL_BUILDER_DIST_FINAL) \\\n\tfrontend/index.html \\\n\tfrontend/package.json \\\n\tfrontend/vite.config.js \\\n\tfrontend/.eslintrc.js \\\n\t$(shell find frontend/fontello frontend/public frontend/src -type f)\n\nFRONTEND_EMAIL_BUILDER = frontend/email-builder\nFRONTEND_EMAIL_BUILDER_YARN_MODULES = $(FRONTEND_EMAIL_BUILDER)/node_modules\nFRONTEND_EMAIL_BUILDER_DIST = $(FRONTEND_EMAIL_BUILDER)/dist\nFRONTEND_EMAIL_BUILDER_DEPS = \\\n\t$(FRONTEND_EMAIL_BUILDER_YARN_MODULES) \\\n\t$(FRONTEND_EMAIL_BUILDER)/package.json \\\n\t$(FRONTEND_EMAIL_BUILDER)/tsconfig.json \\\n\t$(FRONTEND_EMAIL_BUILDER)/vite.config.ts \\\n\t$(shell find $(FRONTEND_EMAIL_BUILDER)/src -type f)\n\nBIN := listmonk\nSTATIC := config.toml.sample \\\n\tschema.sql queries:/queries permissions.json \\\n\tstatic/public:/public \\\n\tstatic/email-templates \\\n\tfrontend/dist:/admin \\\n\ti18n:/i18n\n\nSQL := $(shell find . -type f -name \"*.sql\") $(shell find queries -type f -name \"*.sql\")\nSRC := $(shell find . -type f -name \"*.go\")\n\n.PHONY: build\nbuild: $(BIN)\n\n$(STUFFBIN):\n\tgo install github.com/knadh/stuffbin/...\n\n$(FRONTEND_YARN_MODULES): frontend/package.json frontend/yarn.lock\n\tcd frontend && $(YARN) install\n\ttouch -c $(FRONTEND_YARN_MODULES)\n\n$(FRONTEND_EMAIL_BUILDER_YARN_MODULES): frontend/package.json frontend/yarn.lock\n\tcd $(FRONTEND_EMAIL_BUILDER) && $(YARN) install\n\ttouch -c $(FRONTEND_EMAIL_BUILDER_YARN_MODULES)\n\n# Build the backend to ./listmonk.\n$(BIN): $(SRC) go.mod go.sum schema.sql $(SQL) permissions.json\n\tCGO_ENABLED=0 go build -o ${BIN} -ldflags=\"-s -w -X 'main.buildString=${BUILDSTR}' -X 'main.versionString=${VERSION}'\" cmd/*.go\n\n# Run the backend in dev mode. The frontend assets in dev mode are loaded from disk from frontend/dist.\n.PHONY: run\nrun:\n\tCGO_ENABLED=0 go run -ldflags=\"-s -w -X 'main.buildString=${BUILDSTR}' -X 'main.versionString=${VERSION}' -X 'main.frontendDir=frontend/dist'\" cmd/*.go\n\n# Build the JS frontend into frontend/dist.\n$(FRONTEND_DIST): $(FRONTEND_DEPS)\n\texport VUE_APP_VERSION=\"${VERSION}\" && cd frontend && $(YARN) build\n\ttouch -c $(FRONTEND_DIST)\n\n# Build the JS email-builder dist.\n$(FRONTEND_EMAIL_BUILDER_DIST): $(FRONTEND_EMAIL_BUILDER_DEPS)\n\texport VUE_APP_VERSION=\"${VERSION}\" && cd $(FRONTEND_EMAIL_BUILDER) && $(YARN) build\n\ttouch -c $(FRONTEND_EMAIL_BUILDER_DIST)\n\n# Copy the build assets to frontend.\n$(FRONTEND_EMAIL_BUILDER_DIST_FINAL): $(FRONTEND_EMAIL_BUILDER_DIST)\n\tmkdir -p $(FRONTEND_EMAIL_BUILDER_DIST_FINAL)\n\tcp -r $(FRONTEND_EMAIL_BUILDER_DIST)/* $(FRONTEND_EMAIL_BUILDER_DIST_FINAL)\n\ttouch -c $(FRONTEND_EMAIL_BUILDER_DIST_FINAL)\n\n.PHONY: build-frontend\nbuild-frontend: $(FRONTEND_EMAIL_BUILDER_DIST_FINAL) $(FRONTEND_DIST)\n\n.PHONY: build-email-builder\nbuild-email-builder: $(FRONTEND_EMAIL_BUILDER_DIST_FINAL)\n\n# Run the JS frontend server in dev mode.\n.PHONY: run-frontend\nrun-frontend: $(FRONTEND_EMAIL_BUILDER_DIST_FINAL)\n\texport VUE_APP_VERSION=\"${VERSION}\" && cd frontend && $(YARN) dev\n\n# Run Go tests.\n.PHONY: test\ntest:\n\tgo test ./...\n\n# Bundle all static assets including the JS frontend into the ./listmonk binary\n# using stuffbin (installed with make deps).\n.PHONY: dist\ndist: $(STUFFBIN) build build-frontend pack-bin\n\n# pack-releases runns stuffbin packing on the given binary. This is used\n# in the .goreleaser post-build hook.\n.PHONY: pack-bin\npack-bin: build-frontend $(BIN) $(STUFFBIN)\n\t$(STUFFBIN) -a stuff -in ${BIN} -out ${BIN} ${STATIC}\n\n# Use goreleaser to do a dry run producing local builds.\n.PHONY: release-dry\nrelease-dry:\n\tgoreleaser release --parallelism 1 --clean --snapshot --skip=publish\n\n# Use goreleaser to build production releases and publish them.\n.PHONY: release\nrelease:\n\tgoreleaser release --parallelism 1 --clean\n\n# Build local docker images for development.\n.PHONY: build-dev-docker\nbuild-dev-docker: build ## Build docker containers for the entire suite (Front/Core/PG).\n\tcd dev; \\\n\tdocker compose build ; \\\n\n# Spin a local docker suite for local development.\n.PHONY: dev-docker\ndev-docker: build-dev-docker ## Build and spawns docker containers for the entire suite (Front/Core/PG).\n\tcd dev; \\\n\tdocker compose up\n\n# Run the backend in docker-dev mode. The frontend assets in dev mode are loaded from disk from frontend/dist.\n.PHONY: run-backend-docker\nrun-backend-docker:\n\tCGO_ENABLED=0 go run -ldflags=\"-s -w -X 'main.buildString=${BUILDSTR}' -X 'main.versionString=${VERSION}' -X 'main.frontendDir=frontend/dist'\" cmd/*.go --config=dev/config.toml\n\n# Tear down the complete local development docker suite.\n.PHONY: rm-dev-docker\nrm-dev-docker: build ## Delete the docker containers including DB volumes.\n\tcd dev; \\\n\tdocker compose down -v ; \\\n\n# Setup the db for local dev docker suite.\n.PHONY: init-dev-docker\ninit-dev-docker: build-dev-docker ## Delete the docker containers including DB volumes.\n\tcd dev; \\\n\tdocker compose run --rm backend sh -c \"make dist && ./listmonk --install --idempotent --yes --config dev/config.toml\"\n"
  },
  {
    "path": "README.md",
    "content": "<a href=\"https://zerodha.tech\"><img src=\"https://zerodha.tech/static/images/github-badge.svg\" align=\"right\" /></a>\n\n[![listmonk-logo](https://user-images.githubusercontent.com/547147/231084896-835dba66-2dfe-497c-ba0f-787564c0819e.png)](https://listmonk.app)\n\nlistmonk is a standalone, self-hosted, newsletter and mailing list manager. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL database as its data store.\n\n[![listmonk-dashboard](https://github.com/user-attachments/assets/689b5fbb-dd25-4956-a36f-e3226a65f9c4)](https://listmonk.app)\n\nVisit [listmonk.app](https://listmonk.app) for more info. Check out the [**live demo**](https://demo.listmonk.app).\n\n## Installation\n\n### Docker\n\nThe latest image is available on DockerHub at [`listmonk/listmonk:latest`](https://hub.docker.com/r/listmonk/listmonk/tags?page=1&ordering=last_updated&name=latest).\nDownload and use the sample [docker-compose.yml](https://github.com/knadh/listmonk/blob/master/docker-compose.yml).\n\n\n```shell\n# Download the compose file to the current directory.\ncurl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml\n\n# Run the services in the background.\ndocker compose up -d\n```\nVisit `http://localhost:9000`\n\nSee [installation docs](https://listmonk.app/docs/installation)\n\n__________________\n\n### Binary\n- Download the [latest release](https://github.com/knadh/listmonk/releases) and extract the listmonk binary.\n- `./listmonk --new-config` to generate config.toml. Edit it.\n- `./listmonk --install` to setup the Postgres DB (or `--upgrade` to upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).\n- Run `./listmonk` and visit `http://localhost:9000`\n\nSee [installation docs](https://listmonk.app/docs/installation)\n__________________\n\n\n## Developers\nlistmonk is free and open source software licensed under AGPLv3. If you are interested in contributing, refer to the [developer setup](https://listmonk.app/docs/developer-setup). The backend is written in Go and the frontend is Vue with Buefy for UI. \n\n\n## License\nlistmonk is licensed under the AGPL v3 license.\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Reporting security issues\n\nPlease refer to https://listmonk.app/docs/security-reports/ first to see the list of non-issues and acceptable-risks before reporting a vulnerability.\n\n"
  },
  {
    "path": "VERSION",
    "content": "$Format:%h$\n$Format:%D$\n"
  },
  {
    "path": "cmd/admin.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"syscall\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/internal/captcha\"\n\t\"github.com/labstack/echo/v4\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\ntype serverConfig struct {\n\tRootURL            string `json:\"root_url\"`\n\tFromEmail          string `json:\"from_email\"`\n\tPublicSubscription struct {\n\t\tEnabled          bool        `json:\"enabled\"`\n\t\tCaptchaEnabled   bool        `json:\"captcha_enabled\"`\n\t\tCaptchaProvider  null.String `json:\"captcha_provider\"`\n\t\tCaptchaKey       null.String `json:\"captcha_key\"`\n\t\tAltchaComplexity int         `json:\"altcha_complexity\"`\n\t} `json:\"public_subscription\"`\n\tPrivacy struct {\n\t\tDisableTracking    bool `json:\"disable_tracking\"`\n\t\tIndividualTracking bool `json:\"individual_tracking\"`\n\t} `json:\"privacy\"`\n\tMediaProvider string          `json:\"media_provider\"`\n\tMessengers    []string        `json:\"messengers\"`\n\tLangs         []i18nLang      `json:\"langs\"`\n\tLang          string          `json:\"lang\"`\n\tPermissions   json.RawMessage `json:\"permissions\"`\n\tUpdate        *AppUpdate      `json:\"update\"`\n\tNeedsRestart  bool            `json:\"needs_restart\"`\n\tHasLegacyUser bool            `json:\"has_legacy_user\"`\n\tVersion       string          `json:\"version\"`\n}\n\n// GetServerConfig returns general server config.\nfunc (a *App) GetServerConfig(c echo.Context) error {\n\tout := serverConfig{\n\t\tRootURL:       a.urlCfg.RootURL,\n\t\tFromEmail:     a.cfg.FromEmail,\n\t\tLang:          a.cfg.Lang,\n\t\tPermissions:   a.cfg.PermissionsRaw,\n\t\tHasLegacyUser: a.cfg.HasLegacyUser,\n\t\tPrivacy: struct {\n\t\t\tDisableTracking    bool `json:\"disable_tracking\"`\n\t\t\tIndividualTracking bool `json:\"individual_tracking\"`\n\t\t}{\n\t\t\tDisableTracking:    a.cfg.Privacy.DisableTracking,\n\t\t\tIndividualTracking: a.cfg.Privacy.IndividualTracking,\n\t\t},\n\t}\n\tout.PublicSubscription.Enabled = a.cfg.EnablePublicSubPage\n\n\t// CAPTCHA.\n\tif a.cfg.Security.Captcha.Altcha.Enabled {\n\t\tout.PublicSubscription.CaptchaEnabled = true\n\t\tout.PublicSubscription.CaptchaProvider = null.StringFrom(captcha.ProviderAltcha)\n\t\tout.PublicSubscription.AltchaComplexity = a.cfg.Security.Captcha.Altcha.Complexity\n\t} else if a.cfg.Security.Captcha.HCaptcha.Enabled {\n\t\tout.PublicSubscription.CaptchaEnabled = true\n\t\tout.PublicSubscription.CaptchaProvider = null.StringFrom(captcha.ProviderHCaptcha)\n\t\tout.PublicSubscription.CaptchaKey = null.StringFrom(a.cfg.Security.Captcha.HCaptcha.Key)\n\t}\n\n\tout.MediaProvider = a.cfg.MediaUpload.Provider\n\n\t// Language list.\n\tlangList, err := getI18nLangList(a.fs)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tfmt.Sprintf(\"Error loading language list: %v\", err))\n\t}\n\tout.Langs = langList\n\n\tout.Messengers = make([]string, 0, len(a.messengers))\n\tfor _, m := range a.messengers {\n\t\tout.Messengers = append(out.Messengers, m.Name())\n\t}\n\n\ta.Lock()\n\tout.NeedsRestart = a.needsRestart\n\tout.Update = a.update\n\ta.Unlock()\n\tout.Version = versionString\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetDashboardCharts returns chart data points to render ont he dashboard.\nfunc (a *App) GetDashboardCharts(c echo.Context) error {\n\t// Get the chart data from the DB.\n\tout, err := a.core.GetDashboardCharts()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetDashboardCounts returns stats counts to show on the dashboard.\nfunc (a *App) GetDashboardCounts(c echo.Context) error {\n\t// Get the chart data from the DB.\n\tout, err := a.core.GetDashboardCounts()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// ReloadApp sends a reload signal to the app, causing a full restart.\nfunc (a *App) ReloadApp(c echo.Context) error {\n\tgo func() {\n\t\t<-time.After(time.Millisecond * 500)\n\n\t\t// Send the reload signal to trigger the wait loop in main.\n\t\ta.chReload <- syscall.SIGHUP\n\t}()\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n"
  },
  {
    "path": "cmd/archive.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"html/template\"\n\t\"net/http\"\n\t\"net/url\"\n\n\t\"github.com/gorilla/feeds\"\n\t\"github.com/knadh/listmonk/internal/manager\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\ntype campArchive struct {\n\tUUID      string    `json:\"uuid\"`\n\tSubject   string    `json:\"subject\"`\n\tContent   string    `json:\"content\"`\n\tCreatedAt null.Time `json:\"created_at\"`\n\tSendAt    null.Time `json:\"send_at\"`\n\tURL       string    `json:\"url\"`\n}\n\n// GetCampaignArchives renders the public campaign archives page.\nfunc (a *App) GetCampaignArchives(c echo.Context) error {\n\t// Get archives from the DB.\n\tpg := a.pg.NewFromURL(c.Request().URL.Query())\n\tcamps, total, err := a.getCampaignArchives(pg.Offset, pg.Limit, false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif len(camps) == 0 {\n\t\treturn c.JSON(http.StatusOK, okResp{models.PageResults{\n\t\t\tResults: []campArchive{},\n\t\t}})\n\t}\n\n\t// Meta.\n\tout := models.PageResults{\n\t\tResults: camps,\n\t\tTotal:   total,\n\t\tPage:    pg.Page,\n\t\tPerPage: pg.PerPage,\n\t}\n\n\treturn c.JSON(200, okResp{out})\n}\n\n// GetCampaignArchivesFeed renders the public campaign archives RSS feed.\nfunc (a *App) GetCampaignArchivesFeed(c echo.Context) error {\n\tvar (\n\t\tpg              = a.pg.NewFromURL(c.Request().URL.Query())\n\t\tshowFullContent = a.cfg.EnablePublicArchiveRSSContent\n\t)\n\n\t// Get archives from the DB.\n\tcamps, _, err := a.getCampaignArchives(pg.Offset, pg.Limit, showFullContent)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Format output for the feed.\n\tout := make([]*feeds.Item, 0, len(camps))\n\tfor _, c := range camps {\n\t\tpubDate := c.CreatedAt.Time\n\n\t\tif c.SendAt.Valid {\n\t\t\tpubDate = c.SendAt.Time\n\t\t}\n\n\t\tout = append(out, &feeds.Item{\n\t\t\tTitle:   c.Subject,\n\t\t\tLink:    &feeds.Link{Href: c.URL},\n\t\t\tContent: c.Content,\n\t\t\tCreated: pubDate,\n\t\t})\n\t}\n\n\t// Generate the feed.\n\tfeed := &feeds.Feed{\n\t\tTitle:       a.cfg.SiteName,\n\t\tLink:        &feeds.Link{Href: a.urlCfg.RootURL},\n\t\tDescription: a.i18n.T(\"public.archiveTitle\"),\n\t\tItems:       out,\n\t}\n\n\tif err := feed.WriteRss(c.Response().Writer); err != nil {\n\t\ta.log.Printf(\"error generating archive RSS feed: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.errorProcessingRequest\"))\n\t}\n\n\treturn nil\n}\n\n// CampaignArchivesPage renders the public campaign archives page.\nfunc (a *App) CampaignArchivesPage(c echo.Context) error {\n\t// Get archives from the DB.\n\tpg := a.pg.NewFromURL(c.Request().URL.Query())\n\tout, total, err := a.getCampaignArchives(pg.Offset, pg.Limit, false)\n\tif err != nil {\n\t\treturn err\n\t}\n\tpg.SetTotal(total)\n\n\ttitle := a.i18n.T(\"public.archiveTitle\")\n\treturn c.Render(http.StatusOK, \"archive\", struct {\n\t\tTitle       string\n\t\tDescription string\n\t\tCampaigns   []campArchive\n\t\tTotalPages  int\n\t\tPagination  template.HTML\n\t}{title, title, out, pg.TotalPages, template.HTML(pg.HTML(\"?page=%d\"))})\n}\n\n// CampaignArchivePage renders the public campaign archives page.\nfunc (a *App) CampaignArchivePage(c echo.Context) error {\n\t// ID can be the UUID or slug.\n\tvar (\n\t\tidStr      = c.Param(\"id\")\n\t\tuuid, slug string\n\t)\n\tif reUUID.MatchString(idStr) {\n\t\tuuid = idStr\n\t} else {\n\t\tslug = idStr\n\t}\n\n\t// Get the campaign from the DB.\n\tpubCamp, err := a.core.GetArchivedCampaign(0, uuid, slug)\n\tif err != nil || pubCamp.Type != models.CampaignTypeRegular {\n\t\tnotFound := false\n\n\t\t// Camppaig doesn't exist.\n\t\tif er, ok := err.(*echo.HTTPError); ok {\n\t\t\tif er.Code == http.StatusBadRequest {\n\t\t\t\tnotFound = true\n\t\t\t}\n\t\t} else if pubCamp.Type != models.CampaignTypeRegular {\n\t\t\t// Campaign isn't of regular type.\n\t\t\tnotFound = true\n\t\t}\n\n\t\t// 404.\n\t\tif notFound {\n\t\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.notFoundTitle\"), \"\", a.i18n.T(\"public.campaignNotFound\")))\n\t\t}\n\n\t\t// Some other internal error.\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\t// \"Compile\" the campaign template with appropriate data.\n\tout, err := a.compileArchiveCampaigns([]models.Campaign{pubCamp})\n\tif err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\t// Render the campaign body.\n\tcamp := out[0].Campaign\n\tmsg, err := a.manager.NewCampaignMessage(camp, out[0].Subscriber)\n\tif err != nil {\n\t\ta.log.Printf(\"error rendering campaign: %v\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\treturn c.HTML(http.StatusOK, string(msg.Body()))\n}\n\n// CampaignArchivePageLatest renders the latest public campaign.\nfunc (a *App) CampaignArchivePageLatest(c echo.Context) error {\n\t// Get the latest campaign from the DB.\n\tcamps, _, err := a.getCampaignArchives(0, 1, true)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif len(camps) == 0 {\n\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.notFoundTitle\"), \"\", a.i18n.T(\"public.campaignNotFound\")))\n\t}\n\tcamp := camps[0]\n\n\treturn c.HTML(http.StatusOK, camp.Content)\n}\n\n// getCampaignArchives fetches the public campaign archives from the DB.\nfunc (a *App) getCampaignArchives(offset, limit int, renderBody bool) ([]campArchive, int, error) {\n\tpubCamps, total, err := a.core.GetArchivedCampaigns(offset, limit)\n\tif err != nil {\n\t\treturn []campArchive{}, total, echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"public.errorFetchingCampaign\"))\n\t}\n\n\tmsgs, err := a.compileArchiveCampaigns(pubCamps)\n\tif err != nil {\n\t\treturn []campArchive{}, total, err\n\t}\n\n\tout := make([]campArchive, 0, len(msgs))\n\tfor _, m := range msgs {\n\t\tcamp := m.Campaign\n\n\t\tarchive := campArchive{\n\t\t\tUUID:      camp.UUID,\n\t\t\tSubject:   camp.Subject,\n\t\t\tCreatedAt: camp.CreatedAt,\n\t\t\tSendAt:    camp.SendAt,\n\t\t}\n\n\t\t// The campaign may have a custom slug.\n\t\tif camp.ArchiveSlug.Valid {\n\t\t\tarchive.URL, _ = url.JoinPath(a.urlCfg.ArchiveURL, camp.ArchiveSlug.String)\n\t\t} else {\n\t\t\tarchive.URL, _ = url.JoinPath(a.urlCfg.ArchiveURL, camp.UUID)\n\t\t}\n\n\t\t// Render the full template body if requested.\n\t\tif renderBody {\n\t\t\tmsg, err := a.manager.NewCampaignMessage(camp, m.Subscriber)\n\t\t\tif err != nil {\n\t\t\t\treturn []campArchive{}, total, err\n\t\t\t}\n\t\t\tarchive.Content = string(msg.Body())\n\t\t}\n\n\t\tout = append(out, archive)\n\t}\n\n\treturn out, total, nil\n}\n\n// compileArchiveCampaigns compiles the campaign template with the subscriber data.\nfunc (a *App) compileArchiveCampaigns(camps []models.Campaign) ([]manager.CampaignMessage, error) {\n\n\tvar (\n\t\tb   = bytes.Buffer{}\n\t\tout = make([]manager.CampaignMessage, 0, len(camps))\n\t)\n\tfor _, c := range camps {\n\t\tcamp := c\n\t\tif err := camp.CompileTemplate(a.manager.TemplateFuncs(&camp)); err != nil {\n\t\t\ta.log.Printf(\"error compiling template: %v\", err)\n\t\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"public.errorFetchingCampaign\"))\n\t\t}\n\n\t\t// Load the dummy subscriber meta.\n\t\tvar sub models.Subscriber\n\t\tif err := json.Unmarshal([]byte(camp.ArchiveMeta), &sub); err != nil {\n\t\t\ta.log.Printf(\"error unmarshalling campaign archive meta: %v\", err)\n\t\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"public.errorFetchingCampaign\"))\n\t\t}\n\n\t\tm := manager.CampaignMessage{\n\t\t\tCampaign:   &camp,\n\t\t\tSubscriber: sub,\n\t\t}\n\n\t\t// Render the subject if it's a template.\n\t\tif camp.SubjectTpl != nil {\n\t\t\tif err := camp.SubjectTpl.ExecuteTemplate(&b, models.ContentTpl, m); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tcamp.Subject = b.String()\n\t\t\tb.Reset()\n\t\t}\n\n\t\tout = append(out, m)\n\t}\n\n\treturn out, nil\n}\n"
  },
  {
    "path": "cmd/auth.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"image/png\"\n\t\"net/http\"\n\t\"net/mail\"\n\t\"net/url\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/internal/tmptokens\"\n\t\"github.com/knadh/listmonk/internal/utils\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/pquerna/otp/totp\"\n\t\"github.com/zerodha/simplesessions/v3\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\nconst (\n\tpasswordResetTTL = 30 * time.Minute\n\ttwofaTokenTTL    = 5 * time.Minute\n\n\t// Length of reset and 2FA auth tokens.\n\ttmpAuthTokenLen = 64\n)\n\ntype loginTpl struct {\n\tTitle       string\n\tDescription string\n\n\tNextURI          string\n\tNonce            string\n\tPasswordEnabled  bool\n\tOIDCProvider     string\n\tOIDCProviderLogo string\n\tError            string\n}\n\ntype oidcState struct {\n\tNonce string `json:\"nonce\"`\n\tNext  string `json:\"next\"`\n}\n\ntype forgotPasswordTpl struct {\n\tTitle       string\n\tDescription string\n\tError       string\n}\n\ntype resetPasswordTpl struct {\n\tTitle       string\n\tDescription string\n\tToken       string\n\tEmail       string\n\tError       string\n}\n\ntype twofaTpl struct {\n\tTitle       string\n\tDescription string\n\tToken       string\n\tNextURI     string\n\tError       string\n}\n\nvar (\n\toidcProviders = map[string]struct{}{\n\t\t\"google.com\":          {},\n\t\t\"microsoftonline.com\": {},\n\t\t\"auth0.com\":           {},\n\t\t\"github.com\":          {},\n\t}\n)\n\n// LoginPage renders the login page and handles the login form.\nfunc (a *App) LoginPage(c echo.Context) error {\n\t// Has the user been setup?\n\ta.Lock()\n\tneedsUserSetup := a.needsUserSetup\n\ta.Unlock()\n\n\tif needsUserSetup {\n\t\treturn a.LoginSetupPage(c)\n\t}\n\n\t// Process POST login request.\n\tvar loginErr error\n\tif c.Request().Method == http.MethodPost {\n\t\tloginErr = a.doLogin(c)\n\t\tif loginErr == nil {\n\t\t\treturn c.Redirect(http.StatusFound, utils.SanitizeURI(c.FormValue(\"next\")))\n\t\t}\n\t}\n\n\t// Render the page, with or without POST.\n\treturn a.renderLoginPage(c, loginErr)\n}\n\n// LoginSetupPage renders the first time user login page and handles the login form.\nfunc (a *App) LoginSetupPage(c echo.Context) error {\n\t// Process POST login request.\n\tvar loginErr error\n\tif c.Request().Method == http.MethodPost {\n\t\tloginErr = a.doFirstTimeSetup(c)\n\t\tif loginErr == nil {\n\t\t\ta.Lock()\n\t\t\ta.needsUserSetup = false\n\t\t\ta.Unlock()\n\t\t\treturn c.Redirect(http.StatusFound, utils.SanitizeURI(c.FormValue(\"next\")))\n\t\t}\n\t}\n\n\t// Render the page, with or without POST.\n\treturn a.renderLoginSetupPage(c, loginErr)\n}\n\n// TwofaPage renders the 2FA verification page and handles the 2FA form submission.\nfunc (a *App) TwofaPage(c echo.Context) error {\n\tvar token, next string\n\n\tif c.Request().Method == http.MethodPost {\n\t\ttoken = strings.TrimSpace(c.FormValue(\"token\"))\n\t\tnext = utils.SanitizeURI(c.FormValue(\"next\"))\n\t} else {\n\t\ttoken = strings.TrimSpace(c.QueryParam(\"token\"))\n\t\tnext = utils.SanitizeURI(c.QueryParam(\"next\"))\n\t}\n\n\t// If there's no token, redirect.\n\tif len(token) < tmpAuthTokenLen {\n\t\treturn c.Redirect(http.StatusFound, uriAdmin)\n\t}\n\n\tif next == \"\" || next == \"/\" {\n\t\tnext = uriAdmin\n\t}\n\n\t// Validate the 2FA temp token.\n\tdata, err := tmptokens.Check(token)\n\tif err != nil {\n\t\treturn c.Redirect(http.StatusFound, uriAdmin)\n\t}\n\n\tuserID, ok := data.(int)\n\tif !ok {\n\t\treturn a.renderTwofaPage(c, token, next, a.i18n.T(\"users.invalidRequest\"))\n\t}\n\n\t// Process the 2FA verification POST request.\n\tif c.Request().Method == http.MethodPost {\n\t\treturn a.doTwofaVerify(c, token, userID, next)\n\t}\n\n\t// Render the 2FA verification page.\n\treturn a.renderTwofaPage(c, token, next, \"\")\n}\n\n// Logout logs a user out.\nfunc (a *App) Logout(c echo.Context) error {\n\t// Delete the session from the DB and cookie.\n\tsess := c.Get(auth.SessionKey).(*simplesessions.Session)\n\t_ = sess.Destroy()\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// OIDCLogin initializes an OIDC request and redirects to the OIDC provider for login.\nfunc (a *App) OIDCLogin(c echo.Context) error {\n\t// Verify that the request came from the login page (CSRF).\n\tnonce, err := c.Cookie(\"nonce\")\n\tif err != nil || nonce.Value == \"\" || nonce.Value != c.FormValue(\"nonce\") {\n\t\treturn echo.NewHTTPError(http.StatusUnauthorized, a.i18n.T(\"users.invalidRequest\"))\n\t}\n\n\t// Sanitize the URL and make it relative.\n\tnext := utils.SanitizeURI(c.FormValue(\"next\"))\n\tif next == \"/\" {\n\t\tnext = uriAdmin\n\t}\n\n\t// Preparethe OIDC payload to send to the provider.\n\tstate := oidcState{Nonce: nonce.Value, Next: next}\n\n\tb, err := json.Marshal(state)\n\tif err != nil {\n\t\ta.log.Printf(\"error marshalling OIDC state: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\t// Redirect to the external OIDC provider.\n\treturn c.Redirect(http.StatusFound, a.auth.GetOIDCAuthURL(base64.URLEncoding.EncodeToString(b), nonce.Value))\n}\n\n// OIDCFinish receives the redirect callback from the OIDC provider and completes the handshake.\nfunc (a *App) OIDCFinish(c echo.Context) error {\n\t// Verify that the request actually originated from the login request (which sets the nonce value).\n\tnonce, err := c.Cookie(\"nonce\")\n\tif err != nil || nonce.Value == \"\" {\n\t\treturn a.renderLoginPage(c, echo.NewHTTPError(http.StatusUnauthorized, a.i18n.T(\"users.invalidRequest\")))\n\t}\n\n\t// Validate the OIDC token.\n\toidcToken, claims, err := a.auth.ExchangeOIDCToken(c.Request().URL.Query().Get(\"code\"), nonce.Value)\n\tif err != nil {\n\t\treturn a.renderLoginPage(c, err)\n\t}\n\n\t// Validate the state.\n\tvar state oidcState\n\tstateB, err := base64.URLEncoding.DecodeString(c.QueryParam(\"state\"))\n\tif err != nil {\n\t\ta.log.Printf(\"error decoding OIDC state: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\tif err := json.Unmarshal(stateB, &state); err != nil {\n\t\ta.log.Printf(\"error unmarshalling OIDC state: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\tif state.Nonce != nonce.Value {\n\t\treturn a.renderLoginPage(c, echo.NewHTTPError(http.StatusUnauthorized, a.i18n.T(\"users.invalidRequest\")))\n\t}\n\n\t// Validate e-mail from the claim.\n\temail := strings.TrimSpace(claims.Email)\n\tif email == \"\" {\n\t\treturn a.renderLoginPage(c, errors.New(a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"email\")))\n\t}\n\tem, err := mail.ParseAddress(email)\n\tif err != nil {\n\t\treturn a.renderLoginPage(c, err)\n\t}\n\temail = strings.ToLower(em.Address)\n\tclaims.Email = email\n\n\t// Get the user by e-mail received from OIDC.\n\tuser, userErr := a.core.GetUser(0, \"\", email)\n\tif userErr != nil {\n\t\t// If the user doesn't exist, and auto-creation is enabled, create a new user.\n\t\tif httpErr, ok := userErr.(*echo.HTTPError); ok && httpErr.Code == http.StatusNotFound && a.cfg.Security.OIDC.AutoCreateUsers {\n\t\t\tu, err := a.createOIDCUser(claims, c)\n\t\t\tif err != nil {\n\t\t\t\treturn a.renderLoginPage(c, err)\n\t\t\t}\n\t\t\tuser = u\n\t\t\tuserErr = nil\n\t\t} else {\n\t\t\treturn a.renderLoginPage(c, userErr)\n\t\t}\n\t}\n\n\t// Update the user login state (avatar, logged in date) in the DB.\n\tif err := a.core.UpdateUserLogin(user.ID, claims.Picture); err != nil {\n\t\treturn a.renderLoginPage(c, err)\n\t}\n\n\t// Set the session in the DB and cookie.\n\tif err := a.auth.SaveSession(user, oidcToken, c); err != nil {\n\t\treturn a.renderLoginPage(c, err)\n\t}\n\n\t// Redirect to the next page.\n\treturn c.Redirect(http.StatusFound, utils.SanitizeURI(state.Next))\n}\n\n// ForgotPage renders the forgot password page and handles the forgot password form.\nfunc (a *App) ForgotPage(c echo.Context) error {\n\t// Process the forgot password request.\n\tif c.Request().Method == http.MethodPost {\n\t\treturn a.doForgotPassword(c)\n\t}\n\n\t// Render the forgot page.\n\tout := forgotPasswordTpl{Title: a.i18n.T(\"users.forgotPassword\")}\n\treturn c.Render(http.StatusOK, \"admin-forgot-password\", out)\n}\n\n// ResetPage renders the reset password page and handles the reset password form.\nfunc (a *App) ResetPage(c echo.Context) error {\n\tvar (\n\t\ttoken = strings.TrimSpace(c.QueryParam(\"token\"))\n\t\temail = strings.ToLower(strings.TrimSpace(c.QueryParam(\"email\")))\n\t)\n\n\t// Validate token and email (don't delete it yet, as we may need it for POST).\n\tdata, err := tmptokens.Check(email)\n\tif err != nil {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.invalidResetLink\")))\n\t}\n\n\ttk, ok := data.(string)\n\tif !ok || tk != token {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.invalidResetLink\")))\n\t}\n\n\t// Validate that the user exists.\n\t_, err = a.core.GetUser(0, \"\", email)\n\tif err != nil {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.invalidResetLink\")))\n\t}\n\n\t// Process the reset password request form with the new passwords.\n\tif c.Request().Method == http.MethodPost {\n\t\treturn a.doResetPassword(c, token, email)\n\t}\n\n\t// Render the reset password form for GET request.\n\treturn a.renderResetPasswordPage(c, token, email, \"\")\n}\n\n// renderLoginPage renders the login page and handles the login form.\nfunc (a *App) renderLoginPage(c echo.Context, loginErr error) error {\n\tnext := utils.SanitizeURI(c.FormValue(\"next\"))\n\tif next == \"/\" {\n\t\tnext = uriAdmin\n\t}\n\n\tvar (\n\t\toidcProviderName = \"\"\n\t\toidcLogo         = \"\"\n\t)\n\tif a.cfg.Security.OIDC.Enabled {\n\t\t// Defaults.\n\t\toidcProviderName = a.cfg.Security.OIDC.ProviderName\n\t\toidcLogo = \"oidc.png\"\n\n\t\tu, err := url.Parse(a.cfg.Security.OIDC.ProviderURL)\n\t\tif err == nil {\n\t\t\th := strings.Split(u.Hostname(), \".\")\n\n\t\t\t// Get the last two h for the root domain\n\t\t\tprov := \"\"\n\t\t\tif len(h) >= 2 {\n\t\t\t\tprov = h[len(h)-2] + \".\" + h[len(h)-1]\n\t\t\t} else {\n\t\t\t\tprov = u.Hostname()\n\t\t\t}\n\n\t\t\tif oidcProviderName == \"\" {\n\t\t\t\toidcProviderName = prov\n\t\t\t}\n\n\t\t\t// Lookup the logo in the known providers map.\n\t\t\tif _, ok := oidcProviders[prov]; ok {\n\t\t\t\toidcLogo = prov + \".png\"\n\t\t\t}\n\t\t}\n\t}\n\n\tout := loginTpl{\n\t\tTitle:            a.i18n.T(\"users.login\"),\n\t\tPasswordEnabled:  true,\n\t\tOIDCProvider:     oidcProviderName,\n\t\tOIDCProviderLogo: oidcLogo,\n\t\tNextURI:          next,\n\t}\n\n\t// If there was an error in the previous state (POST reqest), set it to render in the template.\n\tif loginErr != nil {\n\t\tif e, ok := loginErr.(*echo.HTTPError); ok {\n\t\t\tout.Error = e.Message.(string)\n\t\t} else {\n\t\t\tout.Error = loginErr.Error()\n\t\t}\n\t}\n\n\t// Generate and set a nonce for preventing CSRF requests that will be valided in the subsequent requests.\n\tnonce, err := utils.GenerateRandomString(16)\n\tif err != nil {\n\t\ta.log.Printf(\"error generating OIDC nonce: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\tc.SetCookie(&http.Cookie{\n\t\tName:     \"nonce\",\n\t\tValue:    nonce,\n\t\tHttpOnly: true,\n\t\tPath:     \"/\",\n\t\tSameSite: http.SameSiteLaxMode,\n\t})\n\tout.Nonce = nonce\n\n\t// Render the login page.\n\treturn c.Render(http.StatusOK, \"admin-login\", out)\n}\n\n// renderLoginSetupPage renders the first time user setup page.\nfunc (a *App) renderLoginSetupPage(c echo.Context, loginErr error) error {\n\tnext := utils.SanitizeURI(c.FormValue(\"next\"))\n\tif next == \"/\" {\n\t\tnext = uriAdmin\n\t}\n\n\tout := loginTpl{\n\t\tTitle:           a.i18n.T(\"users.login\"),\n\t\tPasswordEnabled: true,\n\t\tNextURI:         next,\n\t}\n\n\t// If there was an error in the previous state (POST reqest), set it to render in the template.\n\tif loginErr != nil {\n\t\tif e, ok := loginErr.(*echo.HTTPError); ok {\n\t\t\tout.Error = e.Message.(string)\n\t\t} else {\n\t\t\tout.Error = loginErr.Error()\n\t\t}\n\t}\n\n\treturn c.Render(http.StatusOK, \"admin-login-setup\", out)\n}\n\n// createOIDCUser creates a new user in the DB with the OIDC claims.\nfunc (a *App) createOIDCUser(claims auth.OIDCclaim, c echo.Context) (auth.User, error) {\n\tname := claims.Name\n\tif name == \"\" {\n\t\tname = strings.TrimSpace(claims.PreferredUsername)\n\t}\n\tif name == \"\" {\n\t\tname = strings.Split(claims.Email, \"@\")[0]\n\t}\n\n\tvar listRoleID *int\n\tif a.cfg.Security.OIDC.DefaultListRoleID > 0 {\n\t\tlistRoleID = &a.cfg.Security.OIDC.DefaultListRoleID\n\t}\n\n\tuser, err := a.core.CreateUser(auth.User{\n\t\tType:          auth.UserTypeUser,\n\t\tHasPassword:   false,\n\t\tPasswordLogin: false,\n\t\tUsername:      claims.Email,\n\t\tName:          name,\n\t\tEmail:         null.NewString(claims.Email, true),\n\t\tUserRoleID:    a.cfg.Security.OIDC.DefaultUserRoleID,\n\t\tListRoleID:    listRoleID,\n\t\tStatus:        auth.UserStatusEnabled,\n\t})\n\n\treturn user, err\n}\n\n// doLogin logs a user in with a username and password.\nfunc (a *App) doLogin(c echo.Context) error {\n\tvar (\n\t\tstartTime = time.Now()\n\t\tusername  = strings.TrimSpace(c.FormValue(\"username\"))\n\t\tpassword  = strings.TrimSpace(c.FormValue(\"password\"))\n\t)\n\n\t// Ensure timing mitigation is applied regardless of early returns\n\tdefer func() {\n\t\tif elapsed := time.Since(startTime).Milliseconds(); elapsed < 100 {\n\t\t\ttime.Sleep(time.Duration(100-elapsed) * time.Millisecond)\n\t\t}\n\t}()\n\n\tif !strHasLen(username, 3, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"username\"))\n\t}\n\tif !strHasLen(password, 8, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t}\n\n\t// Log the user in by fetching and verifying credentials from the DB.\n\tuser, err := a.core.LoginUser(username, password)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If TOTP is enabled for the user, create a temp token and redirect to the 2FA page.\n\tif user.TwofaType == models.TwofaTypeTOTP {\n\t\t// Generate a random token.\n\t\ttoken, err := generateRandomString(tmpAuthTokenLen)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error generating 2FA token: %v\", err)\n\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t\t}\n\n\t\t// Set the token.\n\t\ttmptokens.Set(token, twofaTokenTTL, user.ID)\n\n\t\t// Redirect to 2FA page.\n\t\tnext := utils.SanitizeURI(c.FormValue(\"next\"))\n\t\treturn c.Redirect(http.StatusFound, fmt.Sprintf(\"%s/login/twofa?token=%s&next=%s\", uriAdmin, token, url.QueryEscape(next)))\n\t}\n\n\t// Set the session in the DB and cookie.\n\tif err := a.auth.SaveSession(user, \"\", c); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// doFirstTimeSetup sets a user up for the first time.\nfunc (a *App) doFirstTimeSetup(c echo.Context) error {\n\tvar (\n\t\temail     = strings.TrimSpace(c.FormValue(\"email\"))\n\t\tusername  = strings.TrimSpace(c.FormValue(\"username\"))\n\t\tpassword  = strings.TrimSpace(c.FormValue(\"password\"))\n\t\tpassword2 = strings.TrimSpace(c.FormValue(\"password2\"))\n\t)\n\tif !utils.ValidateEmail(email) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"email\"))\n\t}\n\tif !strHasLen(username, 3, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"username\"))\n\t}\n\tif !strHasLen(password, 8, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t}\n\tif password != password2 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"users.passwordMismatch\"))\n\t}\n\n\t// Create the default \"Super Admin\" with all permissions if it doesn't exist.\n\tif _, err := a.core.GetRole(auth.SuperAdminRoleID); err != nil {\n\t\tr := auth.Role{\n\t\t\tType: auth.RoleTypeUser,\n\t\t\tName: null.NewString(\"Super Admin\", true),\n\t\t}\n\t\tfor p := range a.cfg.Permissions {\n\t\t\tr.Permissions = append(r.Permissions, p)\n\t\t}\n\n\t\t// Create the role in the DB.\n\t\tif _, err := a.core.CreateRole(r); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Create the super admin user in the DB.\n\tu := auth.User{\n\t\tType:          auth.UserTypeUser,\n\t\tHasPassword:   true,\n\t\tPasswordLogin: true,\n\t\tUsername:      username,\n\t\tName:          username,\n\t\tPassword:      null.NewString(password, true),\n\t\tEmail:         null.NewString(email, true),\n\t\tUserRoleID:    auth.SuperAdminRoleID,\n\t\tStatus:        auth.UserStatusEnabled,\n\t}\n\tif _, err := a.core.CreateUser(u); err != nil {\n\t\treturn err\n\t}\n\n\t// Log the user in directly.\n\tuser, err := a.core.LoginUser(username, password)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Set the session in the DB and cookie.\n\tif err := a.auth.SaveSession(user, \"\", c); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// renderResetPasswordPage renders the reset password page.\nfunc (a *App) renderResetPasswordPage(c echo.Context, token, email, errMsg string) error {\n\tout := resetPasswordTpl{\n\t\tTitle: a.i18n.T(\"users.resetPassword\"),\n\t\tToken: token,\n\t\tEmail: email,\n\t\tError: errMsg,\n\t}\n\treturn c.Render(http.StatusOK, \"admin-reset-password\", out)\n}\n\n// doForgotPassword handles the forgot password form submission.\nfunc (a *App) doForgotPassword(c echo.Context) error {\n\tvar (\n\t\temail = strings.ToLower(strings.TrimSpace(c.FormValue(\"email\")))\n\t)\n\n\t// Validate email format.\n\tif !utils.ValidateEmail(email) {\n\t\treturn c.Render(http.StatusOK, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.resetLinkSent\")))\n\t}\n\n\t// Get the user by email.\n\tuser, err := a.core.GetUser(0, \"\", email)\n\tif err != nil {\n\t\treturn c.Render(http.StatusOK, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.resetLinkSent\")))\n\t}\n\n\t// If the password login is disabled, do not proceed, but show success message to prevent email enumeration.\n\tif !user.PasswordLogin {\n\t\treturn c.Render(http.StatusOK, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.resetLinkSent\")))\n\t}\n\n\t// Generate a random token.\n\ttoken, err := generateRandomString(tmpAuthTokenLen)\n\tif err != nil {\n\t\ta.log.Printf(\"error generating reset token: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\t// Store the reset token in tmptokens.\n\ttmptokens.Set(email, passwordResetTTL, token)\n\n\t// Prepare the reset URL.\n\tresetURL := fmt.Sprintf(\"%s/admin/reset?token=%s&email=%s\", a.urlCfg.RootURL, token, url.QueryEscape(email))\n\n\t// Prepare the email.\n\tvar msg bytes.Buffer\n\tdata := struct {\n\t\tResetURL string\n\t\tL        *i18n.I18n\n\t}{\n\t\tResetURL: resetURL,\n\t\tL:        a.i18n,\n\t}\n\n\t// Render the email template.\n\tif err := notifs.Tpls.ExecuteTemplate(&msg, notifs.TplForgotPassword, data); err != nil {\n\t\ta.log.Printf(\"error compiling notification template '%s': %v\", notifs.TplForgotPassword, err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\tsubject, body := notifs.GetTplSubject(a.i18n.T(\"email.forgotPassword.subject\"), msg.Bytes())\n\n\t// Send the email.\n\tif err := a.emailMsgr.Push(models.Message{\n\t\tFrom:    a.cfg.FromEmail,\n\t\tTo:      []string{email},\n\t\tSubject: subject,\n\t\tBody:    body,\n\t}); err != nil {\n\t\ta.log.Printf(\"error sending reset email: %s\", err)\n\t}\n\n\t// Show the success e-mail nonetheless to prevent e-mail enumeration.\n\treturn c.Render(http.StatusOK, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.resetLinkSent\")))\n}\n\n// doResetPassword handles the reset password form submission.\nfunc (a *App) doResetPassword(c echo.Context, token, email string) error {\n\tvar (\n\t\tpassword  = c.FormValue(\"password\")\n\t\tpassword2 = c.FormValue(\"password2\")\n\t)\n\n\t// Validate password.\n\tif !strHasLen(password, 8, stdInputMaxLen) {\n\t\treturn a.renderResetPasswordPage(c, token, email, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t}\n\tif password != password2 {\n\t\treturn a.renderResetPasswordPage(c, token, email, a.i18n.T(\"users.passwordMismatch\"))\n\t}\n\n\t// Validate and consume the token (this deletes it).\n\tdata, err := tmptokens.Get(email)\n\tif err != nil {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.invalidResetLink\")))\n\t}\n\n\ttk, ok := data.(string)\n\tif !ok || tk != token {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.invalidResetLink\")))\n\t}\n\n\t// Get the user.\n\tuser, err := a.core.GetUser(0, \"\", email)\n\tif err != nil {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"users.invalidResetLink\")))\n\t}\n\n\t// Password login is disabled for the user.\n\tif !user.PasswordLogin {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"users.resetPassword\"), \"\", a.i18n.T(\"public.invalidFeature\")))\n\t}\n\n\tuser.Password = null.NewString(password, true)\n\tif _, err := a.core.UpdateUserProfile(user.ID, user); err != nil {\n\t\ta.log.Printf(\"error updating user password: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\t// Log the user in directly without forcing a manual login right after password change.\n\tif err := a.auth.SaveSession(user, \"\", c); err != nil {\n\t\treturn err\n\t}\n\n\t// Redirect to the admin page.\n\treturn c.Redirect(http.StatusFound, uriAdmin)\n}\n\n// renderTwofaPage renders the 2FA verification page.\nfunc (a *App) renderTwofaPage(c echo.Context, token, next, errMsg string) error {\n\tout := twofaTpl{\n\t\tTitle:       a.i18n.T(\"users.twoFA\"),\n\t\tDescription: \"\",\n\t\tToken:       token,\n\t\tNextURI:     next,\n\t\tError:       errMsg,\n\t}\n\treturn c.Render(http.StatusOK, \"admin-twofa\", out)\n}\n\n// doTwofaVerify handles the 2FA verification form submission.\nfunc (a *App) doTwofaVerify(c echo.Context, token string, userID int, next string) error {\n\ttotpCode := strings.TrimSpace(c.FormValue(\"totp_code\"))\n\n\t// Validate.\n\tif !strHasLen(totpCode, 6, 6) {\n\t\treturn a.renderTwofaPage(c, token, next, a.i18n.T(\"globals.messages.invalidValue\"))\n\t}\n\n\t// Get the user.\n\tuser, err := a.core.GetUser(userID, \"\", \"\")\n\tif err != nil {\n\t\treturn a.renderTwofaPage(c, token, next, a.i18n.T(\"users.invalidRequest\"))\n\t}\n\n\t// Verify that TOTP is actually enabled for the user.\n\tif user.TwofaType != models.TwofaTypeTOTP {\n\t\treturn a.renderTwofaPage(c, token, next, a.i18n.T(\"users.twoFANotEnabled\"))\n\t}\n\n\t// Verify the TOTP code.\n\tvalid := totp.Validate(totpCode, user.TwofaKey.String)\n\tif !valid {\n\t\treturn a.renderTwofaPage(c, token, next, a.i18n.T(\"globals.messages.invalidValue\"))\n\t}\n\n\t// Invalidate the token.\n\ttmptokens.Delete(token)\n\n\t// Set the session.\n\tif err := a.auth.SaveSession(user, \"\", c); err != nil {\n\t\treturn err\n\t}\n\n\t// Redirect to the next page.\n\treturn c.Redirect(http.StatusFound, next)\n}\n\n// GenerateTOTPQR generates a TOTP QR code for a user to scan with their authenticator app.\nfunc (a *App) GenerateTOTPQR(c echo.Context) error {\n\tu := c.Get(auth.UserHTTPCtxKey).(auth.User)\n\n\t// If TOTP is already enabled, don't generate a new key.\n\tif u.TwofaType == models.TwofaTypeTOTP {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"users.twoFAAlreadyEnabled\"))\n\t}\n\n\t// Generate a new TOTP key.\n\tkey, err := totp.Generate(totp.GenerateOpts{\n\t\tIssuer:      a.cfg.SiteName,\n\t\tAccountName: u.Email.String,\n\t})\n\tif err != nil {\n\t\ta.log.Printf(\"error generating TOTP key: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\t// Convert the TOTP key to a QR code image.\n\timg, err := key.Image(200, 200)\n\tif err != nil {\n\t\ta.log.Printf(\"error generating QR code: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\t// Encode the QR code as a PNG and return it as base64.\n\tvar buf bytes.Buffer\n\tif err := png.Encode(&buf, img); err != nil {\n\t\ta.log.Printf(\"error encoding QR code: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{struct {\n\t\tSecret string `json:\"secret\"`\n\t\tQR     string `json:\"qr\"`\n\t}{\n\t\tSecret: key.Secret(),\n\t\tQR:     base64.StdEncoding.EncodeToString(buf.Bytes()),\n\t}})\n}\n"
  },
  {
    "path": "cmd/bounce.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// GetBounce handles retrieval of a specific bounce record by ID.\nfunc (a *App) GetBounce(c echo.Context) error {\n\t// Fetch one bounce from the DB.\n\tid := getID(c)\n\tout, err := a.core.GetBounce(id)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetBounces handles retrieval of bounce records.\nfunc (a *App) GetBounces(c echo.Context) error {\n\tvar (\n\t\tcampID, _ = strconv.Atoi(c.QueryParam(\"campaign_id\"))\n\t\tsource    = c.FormValue(\"source\")\n\t\torderBy   = c.FormValue(\"order_by\")\n\t\torder     = c.FormValue(\"order\")\n\n\t\tpg = a.pg.NewFromURL(c.Request().URL.Query())\n\t)\n\n\t// Query and fetch bounces from the DB.\n\tres, total, err := a.core.QueryBounces(campID, 0, source, orderBy, order, pg.Offset, pg.Limit)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// No results.\n\tif len(res) == 0 {\n\t\treturn c.JSON(http.StatusOK, okResp{models.PageResults{Results: []models.Bounce{}}})\n\t}\n\n\tout := models.PageResults{\n\t\tResults: res,\n\t\tTotal:   total,\n\t\tPage:    pg.Page,\n\t\tPerPage: pg.PerPage,\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetSubscriberBounces retrieves a subscriber's bounce records.\nfunc (a *App) GetSubscriberBounces(c echo.Context) error {\n\t// Query and fetch bounces from the DB.\n\tsubID := getID(c)\n\tout, _, err := a.core.QueryBounces(0, subID, \"\", \"\", \"\", 0, 1000)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// DeleteBounces handles bounce deletion of a list.\nfunc (a *App) DeleteBounces(c echo.Context) error {\n\tall, _ := strconv.ParseBool(c.QueryParam(\"all\"))\n\n\tvar ids []int\n\tif !all {\n\t\t// There are multiple IDs in the query string.\n\t\tres, err := parseStringIDs(c.Request().URL.Query()[\"id\"])\n\t\tif err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidID\", \"error\", err.Error()))\n\t\t}\n\t\tif len(res) == 0 {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidID\"))\n\t\t}\n\n\t\tids = res\n\t}\n\n\t// Delete bounces from the DB.\n\tif err := a.core.DeleteBounces(ids, all); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteBounce handles bounce deletion of a single bounce record.\nfunc (a *App) DeleteBounce(c echo.Context) error {\n\t// Delete bounces from the DB.\n\tid := getID(c)\n\tif err := a.core.DeleteBounces([]int{id}, false); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// BlocklistBouncedSubscribers handles blocklisting of all bounced subscribers.\nfunc (a *App) BlocklistBouncedSubscribers(c echo.Context) error {\n\tif err := a.core.BlocklistBouncedSubscribers(); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// BounceWebhook renders the HTML preview of a template.\nfunc (a *App) BounceWebhook(c echo.Context) error {\n\t// Read the request body instead of using c.Bind() to read to save the entire raw request as meta.\n\trawReq, err := io.ReadAll(c.Request().Body)\n\tif err != nil {\n\t\ta.log.Printf(\"error reading ses notification body: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.internalError\"))\n\t}\n\n\tvar (\n\t\tservice = c.Param(\"service\")\n\n\t\tbounces []models.Bounce\n\t)\n\tswitch true {\n\t// Native internal webhook.\n\tcase service == \"\":\n\t\tvar b models.Bounce\n\t\tif err := json.Unmarshal(rawReq, &b); err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidData\")+\":\"+err.Error())\n\t\t}\n\n\t\tif bv, err := a.validateBounceFields(b); err != nil {\n\t\t\treturn err\n\t\t} else {\n\t\t\tb = bv\n\t\t}\n\n\t\tif len(b.Meta) == 0 {\n\t\t\tb.Meta = json.RawMessage(\"{}\")\n\t\t}\n\n\t\tif b.CreatedAt.Year() == 0 {\n\t\t\tb.CreatedAt = time.Now()\n\t\t}\n\n\t\tbounces = append(bounces, b)\n\n\t// Amazon SES.\n\tcase service == \"ses\" && a.cfg.BounceSESEnabled:\n\t\tswitch c.Request().Header.Get(\"X-Amz-Sns-Message-Type\") {\n\t\t// SNS webhook registration confirmation. Only after these are processed will the endpoint\n\t\t// start getting bounce notifications.\n\t\tcase \"SubscriptionConfirmation\", \"UnsubscribeConfirmation\":\n\t\t\tif err := a.bounce.SES.ProcessSubscription(rawReq); err != nil {\n\t\t\t\ta.log.Printf(\"error processing SNS (SES) subscription: %v\", err)\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t\t\t}\n\n\t\t// Bounce notification.\n\t\tcase \"Notification\":\n\t\t\tb, err := a.bounce.SES.ProcessBounce(rawReq)\n\t\t\tif err != nil {\n\t\t\t\ta.log.Printf(\"error processing SES notification: %v\", err)\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t\t\t}\n\t\t\tbounces = append(bounces, b)\n\n\t\tdefault:\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t\t}\n\n\t// SendGrid.\n\tcase service == \"sendgrid\" && a.cfg.BounceSendgridEnabled:\n\t\tvar (\n\t\t\tsig = c.Request().Header.Get(\"X-Twilio-Email-Event-Webhook-Signature\")\n\t\t\tts  = c.Request().Header.Get(\"X-Twilio-Email-Event-Webhook-Timestamp\")\n\t\t)\n\n\t\t// Sendgrid sends multiple bounces.\n\t\tbs, err := a.bounce.Sendgrid.ProcessBounce(sig, ts, rawReq)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error processing sendgrid notification: %v\", err)\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t\t}\n\t\tbounces = append(bounces, bs...)\n\n\t// Postmark.\n\tcase service == \"postmark\" && a.cfg.BouncePostmarkEnabled:\n\t\tbs, err := a.bounce.Postmark.ProcessBounce(rawReq, c)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error processing postmark notification: %v\", err)\n\t\t\tif _, ok := err.(*echo.HTTPError); ok {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t\t}\n\t\tbounces = append(bounces, bs...)\n\n\t// ForwardEmail.\n\tcase service == \"forwardemail\" && a.cfg.BounceForwardemailEnabled:\n\t\tvar (\n\t\t\tsig = c.Request().Header.Get(\"X-Webhook-Signature\")\n\t\t)\n\n\t\tbs, err := a.bounce.Forwardemail.ProcessBounce(sig, rawReq)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error processing forwardemail notification: %v\", err)\n\t\t\tif _, ok := err.(*echo.HTTPError); ok {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t\t}\n\t\tbounces = append(bounces, bs...)\n\n\tdefault:\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"bounces.unknownService\"))\n\t}\n\n\t// Insert bounces into the DB.\n\tfor _, b := range bounces {\n\t\tif err := a.bounce.Record(b); err != nil {\n\t\t\ta.log.Printf(\"error recording bounce: %v\", err)\n\t\t}\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\nfunc (a *App) validateBounceFields(b models.Bounce) (models.Bounce, error) {\n\tif b.Email == \"\" && b.SubscriberUUID == \"\" {\n\t\treturn b, echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"email / subscriber_uuid\"))\n\t}\n\n\tif b.SubscriberUUID != \"\" && !reUUID.MatchString(b.SubscriberUUID) {\n\t\treturn b, echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"subscriber_uuid\"))\n\t}\n\n\tif b.Email != \"\" {\n\t\tem, err := a.importer.SanitizeEmail(b.Email)\n\t\tif err != nil {\n\t\t\treturn b, echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t\t}\n\t\tb.Email = em\n\t}\n\n\tif b.Type != models.BounceTypeHard && b.Type != models.BounceTypeSoft && b.Type != models.BounceTypeComplaint {\n\t\treturn b, echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"type\"))\n\t}\n\n\treturn b, nil\n}\n"
  },
  {
    "path": "cmd/campaigns.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\n// campReq is a wrapper over the Campaign model for receiving\n// campaign creation and update data from APIs.\ntype campReq struct {\n\tmodels.Campaign\n\n\t// This overrides Campaign.Lists to receive and\n\t// write a list of int IDs during creation and updation.\n\t// Campaign.Lists is JSONText for sending lists children\n\t// to the outside world.\n\tListIDs []int `json:\"lists\"`\n\n\tMediaIDs []int `json:\"media\"`\n\n\t// This is only relevant to campaign test requests.\n\tSubscriberEmails pq.StringArray `json:\"subscribers\"`\n}\n\n// campContentReq wraps params coming from API requests for converting\n// campaign content formats.\ntype campContentReq struct {\n\tmodels.Campaign\n\tFrom string `json:\"from\"`\n\tTo   string `json:\"to\"`\n}\n\nvar (\n\treFromAddress = regexp.MustCompile(`((.+?)\\s)?<(.+?)@(.+?)>`)\n\treSlug        = regexp.MustCompile(`[^\\p{L}\\p{M}\\p{N}]`)\n)\n\n// GetCampaigns handles retrieval of campaigns.\nfunc (a *App) GetCampaigns(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\tvar (\n\t\thasAllPerm     = user.HasPerm(auth.PermCampaignsGetAll)\n\t\tpermittedLists []int\n\t)\n\n\tif !hasAllPerm {\n\t\t// Either the user has campaigns:get_all permissions and can view all campaigns,\n\t\t// or the campaigns are filtered by the lists the user has get|manage access to.\n\t\thasAllPerm, permittedLists = user.GetPermittedLists(auth.PermTypeGet | auth.PermTypeManage)\n\t}\n\n\tvar (\n\t\tpg = a.pg.NewFromURL(c.Request().URL.Query())\n\n\t\tstatus    = c.QueryParams()[\"status\"]\n\t\ttags      = c.QueryParams()[\"tag\"]\n\t\tquery     = strings.TrimSpace(c.FormValue(\"query\"))\n\t\torderBy   = c.FormValue(\"order_by\")\n\t\torder     = c.FormValue(\"order\")\n\t\tnoBody, _ = strconv.ParseBool(c.QueryParam(\"no_body\"))\n\t)\n\n\t// Query and retrieve campaigns from the DB.\n\tres, total, err := a.core.QueryCampaigns(query, status, tags, orderBy, order, hasAllPerm, permittedLists, pg.Offset, pg.Limit)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Remove the body from the response if requested.\n\tif noBody {\n\t\tfor i := range res {\n\t\t\tres[i].Body = \"\"\n\t\t\tres[i].BodySource.Valid = false\n\t\t}\n\t}\n\n\t// Paginate the response.\n\tif len(res) == 0 {\n\t\treturn c.JSON(http.StatusOK, okResp{models.PageResults{Results: []models.Campaign{}}})\n\t}\n\n\tout := models.PageResults{\n\t\tQuery:   query,\n\t\tResults: res,\n\t\tTotal:   total,\n\t\tPage:    pg.Page,\n\t\tPerPage: pg.PerPage,\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetCampaign handles retrieval of campaigns.\nfunc (a *App) GetCampaign(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeGet, id, c); err != nil {\n\t\treturn err\n\t}\n\n\t// Get the campaign from the DB.\n\tout, err := a.core.GetCampaign(id, \"\", \"\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Blank out the body if requested.\n\tnoBody, _ := strconv.ParseBool(c.QueryParam(\"no_body\"))\n\tif noBody {\n\t\tout.Body = \"\"\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// PreviewCampaign renders the HTML preview of a campaign body.\nfunc (a *App) PreviewCampaign(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeGet, id, c); err != nil {\n\t\treturn err\n\t}\n\n\tvar (\n\t\tisPost      = c.Request().Method == http.MethodPost\n\t\tcontentType = c.FormValue(\"content_type\")\n\t\ttplID, _    = strconv.Atoi(c.FormValue(\"template_id\"))\n\t)\n\t// For visual content, template ID for previewing is irrelevant.\n\tif contentType == models.CampaignContentTypeVisual || tplID < 1 {\n\t\ttplID = 0\n\t}\n\n\t// Get the campaign from the DB for previewing with the `template_body` field.\n\tcamp, err := a.core.GetCampaignForPreview(id, tplID)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// There's a body in the request to preview instead of the body in the DB.\n\tif isPost {\n\t\tcamp.ContentType = contentType\n\t\tcamp.Body = c.FormValue(\"body\")\n\n\t\t// For visual campaigns, template body from the DB shouldn't be used.\n\t\tif contentType == models.CampaignContentTypeVisual {\n\t\t\tcamp.TemplateBody = \"\"\n\t\t}\n\t}\n\n\t// Use a dummy campaign ID to prevent views and clicks from {{ TrackView }}\n\t// and {{ TrackLink }} being registered on preview.\n\tcamp.UUID = dummySubscriber.UUID\n\tif err := camp.CompileTemplate(a.manager.TemplateFuncs(&camp)); err != nil {\n\t\ta.log.Printf(\"error compiling template: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"templates.errorCompiling\", \"error\", err.Error()))\n\t}\n\n\t// Render the message body.\n\tmsg, err := a.manager.NewCampaignMessage(&camp, dummySubscriber)\n\tif err != nil {\n\t\ta.log.Printf(\"error rendering message: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"templates.errorRendering\", \"error\", err.Error()))\n\t}\n\n\t// Plaintext headers for plain body.\n\tif camp.ContentType == models.CampaignContentTypePlain {\n\t\treturn c.String(http.StatusOK, string(msg.Body()))\n\t}\n\n\treturn c.HTML(http.StatusOK, string(msg.Body()))\n}\n\n// PreviewCampaignArchive renders the public campaign archives page.\nfunc (a *App) PreviewCampaignArchive(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeGet, id, c); err != nil {\n\t\treturn err\n\t}\n\n\t// Fetch the campaign body from the DB.\n\ttplID, _ := strconv.Atoi(c.FormValue(\"template_id\"))\n\tcamp, err := a.core.GetCampaignForPreview(id, tplID)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tcamp.ArchiveMeta = json.RawMessage([]byte(c.FormValue(\"archive_meta\")))\n\n\t// \"Compile\" the campaign template with appropriate data.\n\tres, err := a.compileArchiveCampaigns([]models.Campaign{camp})\n\tif err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\t// Render the campaign body.\n\tout := res[0].Campaign\n\tmsg, err := a.manager.NewCampaignMessage(out, res[0].Subscriber)\n\tif err != nil {\n\t\ta.log.Printf(\"error rendering campaign: %v\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\treturn c.HTML(http.StatusOK, string(msg.Body()))\n}\n\n// CampaignContent handles campaign content (body) format conversions.\nfunc (a *App) CampaignContent(c echo.Context) error {\n\tvar camp campContentReq\n\tif err := c.Bind(&camp); err != nil {\n\t\treturn err\n\t}\n\n\t// Convert formats, eg: markdown to HTML.\n\tout, err := camp.ConvertContent(camp.From, camp.To)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// CreateCampaign handles campaign creation.\n// Newly created campaigns are always drafts.\nfunc (a *App) CreateCampaign(c echo.Context) error {\n\tvar o campReq\n\tif err := c.Bind(&o); err != nil {\n\t\treturn err\n\t}\n\n\t// Filter lists against the current user's permitted lists.\n\tuser := auth.GetUser(c)\n\to.ListIDs = user.FilterListsByPerm(auth.PermTypeGet|auth.PermTypeManage, o.ListIDs)\n\n\t// If the campaign's 'opt-in', prepare a default message.\n\tswitch o.Type {\n\tcase models.CampaignTypeOptin:\n\t\top, err := a.makeOptinCampaignMessage(o)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\to = op\n\tcase \"\":\n\t\to.Type = models.CampaignTypeRegular\n\t}\n\n\tif o.Messenger == \"\" {\n\t\to.Messenger = \"email\"\n\t}\n\n\t// Validate.\n\tif c, err := a.validateCampaignFields(o); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t} else {\n\t\to = c\n\t}\n\n\tif o.ArchiveTemplateID.Valid && o.ArchiveTemplateID.Int != 0 {\n\t\to.ArchiveTemplateID = o.TemplateID\n\t}\n\n\tout, err := a.core.CreateCampaign(o.Campaign, o.ListIDs, o.MediaIDs)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateCampaign handles campaign modification.\n// Campaigns that are done cannot be modified.\nfunc (a *App) UpdateCampaign(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeManage, id, c); err != nil {\n\t\treturn err\n\t}\n\n\t// Retrieve the campaign from the DB.\n\tcm, err := a.core.GetCampaign(id, \"\", \"\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif !canEditCampaign(cm.Status) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"campaigns.cantUpdate\"))\n\t}\n\n\t// Clear attribs to avoid merging old and new values as json.Unmarshal in JSON.scan() merges maps,\n\t// merging values already in the DB and incoming values. If this is nil, then DB values remain\n\t// unchanged.\n\tcm.Attribs = nil\n\n\t// Read the incoming params into the existing campaign fields from the DB.\n\t// This allows updating of values that have been sent whereas fields\n\t// that are not in the request retain the old values.\n\to := campReq{Campaign: cm}\n\tif err := c.Bind(&o); err != nil {\n\t\treturn err\n\t}\n\n\tif c, err := a.validateCampaignFields(o); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t} else {\n\t\to = c\n\t}\n\n\tout, err := a.core.UpdateCampaign(id, o.Campaign, o.ListIDs, o.MediaIDs)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateCampaignStatus handles campaign status modification.\nfunc (a *App) UpdateCampaignStatus(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeManage, id, c); err != nil {\n\t\treturn err\n\t}\n\n\treq := struct {\n\t\tStatus string `json:\"status\"`\n\t}{}\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\t// Update the campaign status in the DB.\n\tout, err := a.core.UpdateCampaignStatus(id, req.Status)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If the campaign is being stopped, send the signal to the manager to stop it in flight.\n\tif req.Status == models.CampaignStatusPaused || req.Status == models.CampaignStatusCancelled {\n\t\ta.manager.StopCampaign(id)\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateCampaignArchive handles campaign status modification.\nfunc (a *App) UpdateCampaignArchive(c echo.Context) error {\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeManage, id, c); err != nil {\n\t\treturn err\n\t}\n\n\treq := struct {\n\t\tArchive     bool        `json:\"archive\"`\n\t\tTemplateID  int         `json:\"archive_template_id\"`\n\t\tMeta        models.JSON `json:\"archive_meta\"`\n\t\tArchiveSlug string      `json:\"archive_slug\"`\n\t}{}\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\tif req.ArchiveSlug != \"\" {\n\t\t// Format the slug to be alpha-numeric-dash.\n\t\ts := strings.ToLower(req.ArchiveSlug)\n\t\ts = strings.TrimSpace(reSlug.ReplaceAllString(s, \" \"))\n\t\ts = regexpSpaces.ReplaceAllString(s, \"-\")\n\t\treq.ArchiveSlug = s\n\t}\n\n\tif err := a.core.UpdateCampaignArchive(id, req.Archive, req.TemplateID, req.Meta, req.ArchiveSlug); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{req})\n}\n\n// DeleteCampaign handles campaign deletion.\n// Only scheduled campaigns that have not started yet can be deleted.\nfunc (a *App) DeleteCampaign(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeManage, id, c); err != nil {\n\t\treturn err\n\t}\n\n\t// Delete the campaign from the DB.\n\tif err := a.core.DeleteCampaign(id); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteCampaigns deletes multiple campaigns by IDs or by query.\nfunc (a *App) DeleteCampaigns(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\tvar (\n\t\thasAllPerm     = user.HasPerm(auth.PermCampaignsManageAll)\n\t\tpermittedLists []int\n\t)\n\n\tif !hasAllPerm {\n\t\t// Either the user has campaigns:manage_all permissions and can manage all campaigns,\n\t\t// or the campaigns are filtered by the lists the user has get|manage access to.\n\t\thasAllPerm, permittedLists = user.GetPermittedLists(auth.PermTypeGet | auth.PermTypeManage)\n\t}\n\n\tvar (\n\t\tids   []int\n\t\tquery string\n\t\tall   bool\n\t)\n\n\t// Check for IDs in query params.\n\tif len(c.Request().URL.Query()[\"id\"]) > 0 {\n\t\tvar err error\n\t\tids, err = parseStringIDs(c.Request().URL.Query()[\"id\"])\n\t\tif err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", err.Error()))\n\t\t}\n\t} else {\n\t\t// Check for query param.\n\t\tquery = strings.TrimSpace(c.FormValue(\"query\"))\n\t\tall = c.FormValue(\"all\") == \"true\"\n\t}\n\n\t// Validate that either IDs or query is provided.\n\tif len(ids) == 0 && (query == \"\" && !all) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", \"id or query required\"))\n\t}\n\n\t// Delete the campaigns from the DB.\n\tif err := a.core.DeleteCampaigns(ids, query, hasAllPerm, permittedLists); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// GetRunningCampaignStats returns stats of a given set of campaign IDs.\nfunc (a *App) GetRunningCampaignStats(c echo.Context) error {\n\t// Get the running campaign stats from the DB.\n\tout, err := a.core.GetRunningCampaignStats()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif len(out) == 0 {\n\t\treturn c.JSON(http.StatusOK, okResp{[]struct{}{}})\n\t}\n\n\t// Compute rate.\n\tfor i, c := range out {\n\t\tif c.Started.Valid && c.UpdatedAt.Valid {\n\t\t\tdiff := max(int(c.UpdatedAt.Time.Sub(c.Started.Time).Minutes()), 1)\n\n\t\t\trate := c.Sent / diff\n\t\t\tif rate > c.Sent || rate > c.ToSend {\n\t\t\t\trate = c.Sent\n\t\t\t}\n\n\t\t\t// Rate since the starting of the campaign.\n\t\t\tout[i].NetRate = rate\n\n\t\t\t// Realtime running rate over the last minute.\n\t\t\tout[i].Rate = a.manager.GetCampaignStats(c.ID).SendRate\n\t\t}\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// TestCampaign handles the sending of a campaign message to\n// arbitrary subscribers for testing.\nfunc (a *App) TestCampaign(c echo.Context) error {\n\t// Get the campaign ID.\n\tid := getID(c)\n\n\t// Check if the user has access to the campaign.\n\tif err := a.checkCampaignPerm(auth.PermTypeManage, id, c); err != nil {\n\t\treturn err\n\t}\n\n\t// Get and validate fields.\n\tvar req campReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate.\n\tif c, err := a.validateCampaignFields(req); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t} else {\n\t\treq = c\n\t}\n\tif len(req.SubscriberEmails) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"campaigns.noSubsToTest\"))\n\t}\n\n\t// Sanitize subscriber e-mails.\n\tfor i := range req.SubscriberEmails {\n\t\treq.SubscriberEmails[i] = strings.ToLower(strings.TrimSpace(req.SubscriberEmails[i]))\n\t}\n\n\t// Get the subscribers from the DB by their e-mails.\n\tsubs, err := a.core.GetSubscribersByEmail(req.SubscriberEmails)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Get the campaign from the DB for previewing.\n\ttplID, _ := strconv.Atoi(c.FormValue(\"template_id\"))\n\tcamp, err := a.core.GetCampaignForPreview(id, tplID)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Override certain values from the DB with incoming values.\n\tcamp.Name = req.Name\n\tcamp.Subject = req.Subject\n\tcamp.FromEmail = req.FromEmail\n\tcamp.Body = req.Body\n\tcamp.AltBody = req.AltBody\n\tcamp.Messenger = req.Messenger\n\tcamp.ContentType = req.ContentType\n\tcamp.Headers = req.Headers\n\tcamp.TemplateID = req.TemplateID\n\tfor _, id := range req.MediaIDs {\n\t\tif id > 0 {\n\t\t\tcamp.MediaIDs = append(camp.MediaIDs, int64(id))\n\t\t}\n\t}\n\n\t// Send the test messages.\n\tfor _, s := range subs {\n\t\tsub := s\n\n\t\tif err := a.sendTestMessage(sub, &camp); err != nil {\n\t\t\ta.log.Printf(\"error sending test message: %v\", err)\n\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\ta.i18n.Ts(\"campaigns.errorSendTest\", \"error\", err.Error()))\n\t\t}\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// GetCampaignViewAnalytics retrieves view counts for a campaign.\nfunc (a *App) GetCampaignViewAnalytics(c echo.Context) error {\n\tids, err := parseStringIDs(c.Request().URL.Query()[\"id\"])\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", err.Error()))\n\t}\n\n\tif len(ids) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.missingFields\", \"name\", \"`id`\"))\n\t}\n\n\tvar (\n\t\ttyp  = c.Param(\"type\")\n\t\tfrom = c.QueryParams().Get(\"from\")\n\t\tto   = c.QueryParams().Get(\"to\")\n\t)\n\tif !strHasLen(from, 10, 30) || !strHasLen(to, 10, 30) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"analytics.invalidDates\"))\n\t}\n\n\t// Campaign link stats.\n\tif typ == \"links\" {\n\t\tout, err := a.core.GetCampaignAnalyticsLinks(ids, typ, from, to)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\treturn c.JSON(http.StatusOK, okResp{out})\n\t}\n\n\t// Get the analytics numbers from the DB for the campaigns.\n\tout, err := a.core.GetCampaignAnalyticsCounts(ids, typ, from, to)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// sendTestMessage takes a campaign and a subscriber and sends out a sample campaign message.\nfunc (a *App) sendTestMessage(sub models.Subscriber, camp *models.Campaign) error {\n\tif err := camp.CompileTemplate(a.manager.TemplateFuncs(camp)); err != nil {\n\t\ta.log.Printf(\"error compiling template: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"templates.errorCompiling\", \"error\", err.Error()))\n\t}\n\n\t// Create a sample campaign message.\n\tmsg, err := a.manager.NewCampaignMessage(camp, sub)\n\tif err != nil {\n\t\ta.log.Printf(\"error rendering message: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusNotFound, a.i18n.Ts(\"templates.errorRendering\", \"error\", err.Error()))\n\t}\n\n\treturn a.manager.PushCampaignMessage(msg)\n}\n\n// validateCampaignFields validates incoming campaign field values.\nfunc (a *App) validateCampaignFields(c campReq) (campReq, error) {\n\tif c.FromEmail == \"\" {\n\t\tc.FromEmail = a.cfg.FromEmail\n\t} else if !reFromAddress.Match([]byte(c.FromEmail)) {\n\t\tif _, err := a.importer.SanitizeEmail(c.FromEmail); err != nil {\n\t\t\treturn c, errors.New(a.i18n.T(\"campaigns.fieldInvalidFromEmail\"))\n\t\t}\n\t}\n\n\tif !strHasLen(c.Name, 1, stdInputMaxLen) {\n\t\treturn c, errors.New(a.i18n.T(\"campaigns.fieldInvalidName\"))\n\t}\n\n\t// Larger char limit for subject as it can contain {{ go templating }} logic.\n\tif !strHasLen(c.Subject, 1, 5000) {\n\t\treturn c, errors.New(a.i18n.T(\"campaigns.fieldInvalidSubject\"))\n\t}\n\n\t// If no content-type is specified, default to richtext.\n\tif c.ContentType != models.CampaignContentTypeRichtext &&\n\t\tc.ContentType != models.CampaignContentTypeHTML &&\n\t\tc.ContentType != models.CampaignContentTypePlain &&\n\t\tc.ContentType != models.CampaignContentTypeVisual &&\n\t\tc.ContentType != models.CampaignContentTypeMarkdown {\n\t\tc.ContentType = models.CampaignContentTypeRichtext\n\t}\n\n\tif c.ContentType != models.CampaignContentTypeVisual {\n\t\tc.BodySource.Valid = false\n\t}\n\n\t// If there's a \"send_at\" date, it should be in the future.\n\tif c.SendAt.Valid {\n\t\tif c.SendAt.Time.Before(time.Now()) {\n\t\t\treturn c, errors.New(a.i18n.T(\"campaigns.fieldInvalidSendAt\"))\n\t\t}\n\t}\n\n\tif len(c.ListIDs) == 0 {\n\t\treturn c, errors.New(a.i18n.T(\"campaigns.fieldInvalidListIDs\"))\n\t}\n\n\tif !a.manager.HasMessenger(c.Messenger) {\n\t\t// If it's a specific SMTP, but it's no longer available (removed/disabled), fall back to general email messenger.\n\t\tif strings.HasPrefix(c.Messenger, \"email-\") {\n\t\t\tc.Messenger = \"email\"\n\t\t} else {\n\t\t\treturn c, errors.New(a.i18n.Ts(\"campaigns.fieldInvalidMessenger\", \"name\", c.Messenger))\n\t\t}\n\t}\n\n\tcamp := models.Campaign{Body: c.Body, TemplateBody: tplTag}\n\tif err := c.CompileTemplate(a.manager.TemplateFuncs(&camp)); err != nil {\n\t\treturn c, errors.New(a.i18n.Ts(\"campaigns.fieldInvalidBody\", \"error\", err.Error()))\n\t}\n\n\tif len(c.Headers) == 0 {\n\t\tc.Headers = make([]map[string]string, 0)\n\t}\n\n\t// Validate and initialize attribs.\n\tif c.Attribs != nil {\n\t\tif _, err := json.Marshal(c.Attribs); err != nil {\n\t\t\treturn c, errors.New(a.i18n.T(\"subscribers.invalidJSON\"))\n\t\t}\n\t}\n\n\tif len(c.ArchiveMeta) == 0 {\n\t\tc.ArchiveMeta = json.RawMessage(\"{}\")\n\t}\n\n\tif c.ArchiveSlug.String != \"\" {\n\t\t// Format the slug to be alpha-numeric-dash.\n\t\ts := strings.ToLower(c.ArchiveSlug.String)\n\t\ts = strings.TrimSpace(reSlug.ReplaceAllString(s, \" \"))\n\t\ts = regexpSpaces.ReplaceAllString(s, \"-\")\n\n\t\tc.ArchiveSlug = null.NewString(s, true)\n\t} else {\n\t\t// If there's no slug set, set it to NULL in the DB.\n\t\tc.ArchiveSlug.Valid = false\n\t}\n\n\treturn c, nil\n}\n\n// makeOptinCampaignMessage makes a default opt-in campaign message body.\nfunc (a *App) makeOptinCampaignMessage(o campReq) (campReq, error) {\n\tif len(o.ListIDs) == 0 {\n\t\treturn o, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"campaigns.fieldInvalidListIDs\"))\n\t}\n\n\t// Fetch double opt-in lists from the given list IDs from the DB.\n\tlists, err := a.core.GetListsByOptin(o.ListIDs, models.ListOptinDouble)\n\tif err != nil {\n\t\treturn o, err\n\t}\n\n\t// There are no double opt-in lists.\n\tif len(lists) == 0 {\n\t\treturn o, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"campaigns.noOptinLists\"))\n\t}\n\n\t// Construct the opt-in URL with list IDs.\n\tlistIDs := url.Values{}\n\tfor _, l := range lists {\n\t\tlistIDs.Add(\"l\", l.UUID)\n\t}\n\t// optinURLFunc := template.URL(\"{{ OptinURL }}?\" + listIDs.Encode())\n\toptinURLAttr := template.HTMLAttr(fmt.Sprintf(`href=\"{{ OptinURL }}%s\"`, listIDs.Encode()))\n\n\t// Prepare sample opt-in message for the campaign.\n\tvar b bytes.Buffer\n\n\tif err := notifs.Tpls.ExecuteTemplate(&b, \"optin-campaign\", struct {\n\t\tLists        []models.List\n\t\tOptinURLAttr template.HTMLAttr\n\t}{lists, optinURLAttr}); err != nil {\n\t\ta.log.Printf(\"error compiling 'optin-campaign' template: %v\", err)\n\t\treturn o, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"templates.errorCompiling\", \"error\", err.Error()))\n\t}\n\n\to.Body = b.String()\n\treturn o, nil\n}\n\n// checkCampaignPerm checks if the user has get or manage access to the given campaign.\n// Either the user has blanket get_all/manage_all permissions, or the campaign\n// belongs to lists that the user has access to.\nfunc (a *App) checkCampaignPerm(types auth.PermType, id int, c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\tperm := auth.PermCampaignsGet\n\tif types&auth.PermTypeGet != 0 {\n\t\t// It's a get request and there's a blanket get all permission.\n\t\tif user.HasPerm(auth.PermCampaignsGetAll) {\n\t\t\treturn nil\n\t\t}\n\t} else {\n\t\t// It's a manage request and there's a blanket manage_all permission.\n\t\tif user.HasPerm(auth.PermCampaignsManageAll) {\n\t\t\treturn nil\n\t\t}\n\n\t\tperm = auth.PermCampaignsManage\n\t}\n\n\t// There are no *_all campaign permissions. Instead, check if the user access\n\t// blanket get_all/manage_all list permissions. If yes, then the user can access\n\t// all campaigns. If there are no *_all permissions, then ensure that the\n\t// campaign belongs to the lists that the user has access to.\n\tif hasAllPerm, permittedListIDs := user.GetPermittedLists(auth.PermTypeGet | auth.PermTypeManage); !hasAllPerm {\n\t\tif ok, err := a.core.CampaignHasLists(id, permittedListIDs); err != nil {\n\t\t\treturn err\n\t\t} else if !ok {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden,\n\t\t\t\ta.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", perm))\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// canEditCampaign returns true if a campaign is in a status where updating\n// its properties is allowed.\nfunc canEditCampaign(status string) bool {\n\treturn status == models.CampaignStatusDraft ||\n\t\tstatus == models.CampaignStatusPaused ||\n\t\tstatus == models.CampaignStatusScheduled\n}\n"
  },
  {
    "path": "cmd/events.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n\n\t\"github.com/labstack/echo/v4\"\n)\n\n// EventStream serves an endpoint that never closes and pushes a\n// live event stream (text/event-stream) such as a error messages.\nfunc (a *App) EventStream(c echo.Context) error {\n\thdr := c.Response().Header()\n\thdr.Set(echo.HeaderContentType, \"text/event-stream\")\n\thdr.Set(echo.HeaderCacheControl, \"no-store\")\n\thdr.Set(echo.HeaderConnection, \"keep-alive\")\n\n\t// Subscribe to the event stream with a random ID.\n\tid := fmt.Sprintf(\"api:%v\", time.Now().UnixNano())\n\tsub, err := a.events.Subscribe(id)\n\tif err != nil {\n\t\tlog.Fatalf(\"error subscribing to events: %v\", err)\n\t}\n\n\tctx := c.Request().Context()\n\tfor {\n\t\tselect {\n\t\tcase e := <-sub:\n\t\t\tb, err := json.Marshal(e)\n\t\t\tif err != nil {\n\t\t\t\ta.log.Printf(\"error marshalling event: %v\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tc.Response().Write([]byte(fmt.Sprintf(\"retry: 3000\\ndata: %s\\n\\n\", b)))\n\t\t\tc.Response().Flush()\n\n\t\tcase <-ctx.Done():\n\t\t\t// On HTTP connection close, unsubscribe.\n\t\t\ta.events.Unsubscribe(id)\n\t\t\treturn nil\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "cmd/handlers.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"path\"\n\t\"regexp\"\n\t\"strconv\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/labstack/echo/v4/middleware\"\n)\n\nconst (\n\t// stdInputMaxLen is the maximum allowed length for a standard input field.\n\tstdInputMaxLen = 2000\n\n\t// URIs.\n\turiAdmin = \"/admin\"\n)\n\ntype okResp struct {\n\tData any `json:\"data\"`\n}\n\nvar (\n\treUUID = regexp.MustCompile(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\")\n)\n\n// registerHandlers registers HTTP handlers.\nfunc initHTTPHandlers(e *echo.Echo, a *App) {\n\t// Default error handler.\n\te.HTTPErrorHandler = func(err error, c echo.Context) {\n\t\t// Generic, non-echo error. Log it.\n\t\tif _, ok := err.(*echo.HTTPError); !ok {\n\t\t\ta.log.Println(err.Error())\n\t\t}\n\t\te.DefaultHTTPErrorHandler(err, c)\n\t}\n\n\t// Configure CORS middleware if domains are configured.\n\tif len(a.cfg.Security.CorsOrigins) > 0 {\n\t\te.Use(middleware.CORSWithConfig(middleware.CORSConfig{\n\t\t\tAllowOrigins: a.cfg.Security.CorsOrigins,\n\t\t\tAllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},\n\t\t}))\n\t}\n\n\t// =================================================================\n\t// Authenticated non /api handlers.\n\t{\n\t\t// Attach a middleware to the group that checks for auth.\n\t\tg := e.Group(\"\", a.auth.Middleware, func(next echo.HandlerFunc) echo.HandlerFunc {\n\t\t\treturn func(c echo.Context) error {\n\t\t\t\tu := c.Get(auth.UserHTTPCtxKey)\n\n\t\t\t\t// On no-auth, redirect to login page\n\t\t\t\tif _, ok := u.(*echo.HTTPError); ok {\n\t\t\t\t\tu, _ := url.Parse(a.urlCfg.LoginURL)\n\t\t\t\t\tq := url.Values{}\n\t\t\t\t\tq.Set(\"next\", c.Request().RequestURI)\n\t\t\t\t\tu.RawQuery = q.Encode()\n\t\t\t\t\treturn c.Redirect(http.StatusTemporaryRedirect, u.String())\n\t\t\t\t}\n\n\t\t\t\treturn next(c)\n\t\t\t}\n\t\t})\n\n\t\t// Authenticated endpoints.\n\t\tg.GET(path.Join(uriAdmin, \"\"), a.AdminPage)\n\t\tg.GET(path.Join(uriAdmin, \"/custom.css\"), serveCustomAppearance(\"admin.custom_css\"))\n\t\tg.GET(path.Join(uriAdmin, \"/custom.js\"), serveCustomAppearance(\"admin.custom_js\"))\n\t\tg.GET(path.Join(uriAdmin, \"/*\"), a.AdminPage)\n\t}\n\n\t// =================================================================\n\t// Authenticated /api/* handlers.\n\t{\n\t\tvar (\n\t\t\t// Permission check middleware.\n\t\t\tpm = a.auth.Perm\n\n\t\t\t// Attach a middleware to the group that checks for auth.\n\t\t\tg = e.Group(\"\", a.auth.Middleware, func(next echo.HandlerFunc) echo.HandlerFunc {\n\t\t\t\treturn func(c echo.Context) error {\n\t\t\t\t\tu := c.Get(auth.UserHTTPCtxKey)\n\n\t\t\t\t\t// On no-auth, respond with a JSON error.\n\t\t\t\t\tif err, ok := u.(*echo.HTTPError); ok {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next(c)\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\t// API endpoints.\n\t\tg.GET(\"/api/health\", a.HealthCheck)\n\t\tg.GET(\"/api/config\", a.GetServerConfig)\n\t\tg.GET(\"/api/lang/:lang\", a.GetI18nLang)\n\t\tg.GET(\"/api/dashboard/charts\", a.GetDashboardCharts)\n\t\tg.GET(\"/api/dashboard/counts\", a.GetDashboardCounts)\n\n\t\tg.GET(\"/api/settings\", pm(a.GetSettings, \"settings:get\"))\n\t\tg.PUT(\"/api/settings\", pm(a.UpdateSettings, \"settings:manage\"))\n\t\tg.PUT(\"/api/settings/:key\", pm(a.UpdateSettingsByKey, \"settings:manage\"))\n\t\tg.POST(\"/api/settings/smtp/test\", pm(a.TestSMTPSettings, \"settings:manage\"))\n\t\tg.POST(\"/api/admin/reload\", pm(a.ReloadApp, \"settings:manage\"))\n\t\tg.GET(\"/api/logs\", pm(a.GetLogs, \"settings:get\"))\n\t\tg.GET(\"/api/events\", pm(a.EventStream, \"settings:get\"))\n\t\tg.GET(\"/api/about\", a.GetAboutInfo)\n\n\t\tg.GET(\"/api/subscribers\", pm(a.QuerySubscribers, \"subscribers:get_all\", \"subscribers:get\"))\n\t\tg.GET(\"/api/subscribers/:id\", pm(hasID(a.GetSubscriber), \"subscribers:get_all\", \"subscribers:get\"))\n\t\tg.GET(\"/api/subscribers/:id/activity\", pm(hasID(a.GetSubscriberActivity), \"subscribers:get_all\", \"subscribers:get\"))\n\t\tg.GET(\"/api/subscribers/:id/export\", pm(hasID(a.ExportSubscriberData), \"subscribers:get_all\", \"subscribers:get\"))\n\t\tg.GET(\"/api/subscribers/:id/bounces\", pm(hasID(a.GetSubscriberBounces), \"bounces:get\"))\n\t\tg.DELETE(\"/api/subscribers/:id/bounces\", pm(hasID(a.DeleteSubscriberBounces), \"bounces:manage\"))\n\t\tg.POST(\"/api/subscribers\", pm(a.CreateSubscriber, \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/:id\", pm(hasID(a.UpdateSubscriber), \"subscribers:manage\"))\n\t\tg.POST(\"/api/subscribers/:id/optin\", pm(hasID(a.SubscriberSendOptin), \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/blocklist\", pm(a.BlocklistSubscribers, \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/:id/blocklist\", pm(hasID(a.BlocklistSubscriber), \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/lists/:id\", pm(a.ManageSubscriberLists, \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/lists\", pm(a.ManageSubscriberLists, \"subscribers:manage\"))\n\t\tg.DELETE(\"/api/subscribers/:id\", pm(hasID(a.DeleteSubscriber), \"subscribers:manage\"))\n\t\tg.DELETE(\"/api/subscribers\", pm(a.DeleteSubscribers, \"subscribers:manage\"))\n\n\t\tg.GET(\"/api/bounces\", pm(a.GetBounces, \"bounces:get\"))\n\t\tg.PUT(\"/api/bounces/blocklist\", pm(a.BlocklistBouncedSubscribers, \"bounces:manage\"))\n\t\tg.GET(\"/api/bounces/:id\", pm(hasID(a.GetBounce), \"bounces:get\"))\n\t\tg.DELETE(\"/api/bounces\", pm(a.DeleteBounces, \"bounces:manage\"))\n\t\tg.DELETE(\"/api/bounces/:id\", pm(hasID(a.DeleteBounce), \"bounces:manage\"))\n\n\t\t// Subscriber operations based on arbitrary SQL queries.\n\t\t// These aren't very REST-like.\n\t\tg.POST(\"/api/subscribers/query/delete\", pm(a.DeleteSubscribersByQuery, \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/query/blocklist\", pm(a.BlocklistSubscribersByQuery, \"subscribers:manage\"))\n\t\tg.PUT(\"/api/subscribers/query/lists\", pm(a.ManageSubscriberListsByQuery, \"subscribers:manage\"))\n\t\tg.GET(\"/api/subscribers/export\",\n\t\t\tpm(middleware.GzipWithConfig(middleware.GzipConfig{Level: 9})(a.ExportSubscribers), \"subscribers:get_all\", \"subscribers:get\"))\n\n\t\tg.GET(\"/api/import/subscribers\", pm(a.GetImportSubscribers, \"subscribers:import\"))\n\t\tg.GET(\"/api/import/subscribers/logs\", pm(a.GetImportSubscriberStats, \"subscribers:import\"))\n\t\tg.POST(\"/api/import/subscribers\", pm(a.ImportSubscribers, \"subscribers:import\"))\n\t\tg.DELETE(\"/api/import/subscribers\", pm(a.StopImportSubscribers, \"subscribers:import\"))\n\n\t\t// Individual list permissions are applied directly within handleGetLists.\n\t\tg.GET(\"/api/lists\", a.GetLists)\n\t\tg.GET(\"/api/lists/:id\", hasID(a.GetList))\n\t\tg.POST(\"/api/lists\", pm(a.CreateList, \"lists:manage_all\"))\n\t\tg.PUT(\"/api/lists/:id\", hasID(a.UpdateList))\n\t\tg.DELETE(\"/api/lists\", a.DeleteLists)\n\t\tg.DELETE(\"/api/lists/:id\", hasID(a.DeleteList))\n\n\t\tg.GET(\"/api/campaigns\", pm(a.GetCampaigns, \"campaigns:get_all\", \"campaigns:get\"))\n\t\tg.GET(\"/api/campaigns/running/stats\", pm(a.GetRunningCampaignStats, \"campaigns:get_all\", \"campaigns:get\"))\n\t\tg.GET(\"/api/campaigns/:id\", pm(hasID(a.GetCampaign), \"campaigns:get_all\", \"campaigns:get\"))\n\t\tg.GET(\"/api/campaigns/analytics/:type\", pm(a.GetCampaignViewAnalytics, \"campaigns:get_analytics\"))\n\t\tg.GET(\"/api/campaigns/:id/preview\", pm(hasID(a.PreviewCampaign), \"campaigns:get_all\", \"campaigns:get\"))\n\t\tg.POST(\"/api/campaigns/:id/preview/archive\", pm(hasID(a.PreviewCampaignArchive), \"campaigns:get_all\", \"campaigns:get\"))\n\t\tg.POST(\"/api/campaigns/:id/preview\", pm(hasID(a.PreviewCampaign), \"campaigns:get_all\", \"campaigns:get\"))\n\t\tg.POST(\"/api/campaigns/:id/content\", pm(hasID(a.CampaignContent), \"campaigns:manage_all\", \"campaigns:manage\"))\n\t\tg.POST(\"/api/campaigns/:id/text\", pm(hasID(a.PreviewCampaign), \"campaigns:get\"))\n\t\tg.POST(\"/api/campaigns/:id/test\", pm(hasID(a.TestCampaign), \"campaigns:manage_all\", \"campaigns:manage\"))\n\t\tg.POST(\"/api/campaigns\", pm(a.CreateCampaign, \"campaigns:manage_all\", \"campaigns:manage\"))\n\t\tg.PUT(\"/api/campaigns/:id\", pm(hasID(a.UpdateCampaign), \"campaigns:manage_all\", \"campaigns:manage\"))\n\t\tg.PUT(\"/api/campaigns/:id/status\", pm(hasID(a.UpdateCampaignStatus), \"campaigns:manage_all\", \"campaigns:manage\"))\n\t\tg.PUT(\"/api/campaigns/:id/archive\", pm(hasID(a.UpdateCampaignArchive), \"campaigns:manage_all\", \"campaigns:manage\"))\n\t\tg.DELETE(\"/api/campaigns\", pm(a.DeleteCampaigns, \"campaigns:manage\", \"campaigns:manage_all\"))\n\t\tg.DELETE(\"/api/campaigns/:id\", pm(hasID(a.DeleteCampaign), \"campaigns:manage_all\", \"campaigns:manage\"))\n\n\t\tg.GET(\"/api/media\", pm(a.GetAllMedia, \"media:get\"))\n\t\tg.GET(\"/api/media/:id\", pm(hasID(a.GetMedia), \"media:get\"))\n\t\tg.POST(\"/api/media\", pm(a.UploadMedia, \"media:manage\"))\n\t\tg.DELETE(\"/api/media/:id\", pm(hasID(a.DeleteMedia), \"media:manage\"))\n\n\t\tg.GET(\"/api/templates\", pm(a.GetTemplates, \"templates:get\"))\n\t\tg.GET(\"/api/templates/:id\", pm(hasID(a.GetTemplate), \"templates:get\"))\n\t\tg.GET(\"/api/templates/:id/preview\", pm(hasID(a.PreviewTemplate), \"templates:get\"))\n\t\tg.POST(\"/api/templates/preview\", pm(a.PreviewTemplateBody, \"templates:get\"))\n\t\tg.POST(\"/api/templates\", pm(a.CreateTemplate, \"templates:manage\"))\n\t\tg.PUT(\"/api/templates/:id\", pm(hasID(a.UpdateTemplate), \"templates:manage\"))\n\t\tg.PUT(\"/api/templates/:id/default\", pm(hasID(a.TemplateSetDefault), \"templates:manage\"))\n\t\tg.DELETE(\"/api/templates/:id\", pm(hasID(a.DeleteTemplate), \"templates:manage\"))\n\n\t\tg.DELETE(\"/api/maintenance/subscribers/:type\", pm(a.GCSubscribers, \"settings:maintain\"))\n\t\tg.DELETE(\"/api/maintenance/analytics/:type\", pm(a.GCCampaignAnalytics, \"settings:maintain\"))\n\t\tg.DELETE(\"/api/maintenance/subscriptions/unconfirmed\", pm(a.GCSubscriptions, \"settings:maintain\"))\n\n\t\tg.POST(\"/api/tx\", pm(a.SendTxMessage, \"tx:send\"))\n\n\t\tg.GET(\"/api/profile\", a.GetUserProfile)\n\t\tg.PUT(\"/api/profile\", a.UpdateUserProfile)\n\t\tg.GET(\"/api/users\", pm(a.GetUsers, \"users:get\"))\n\t\tg.GET(\"/api/users/:id\", pm(hasID(a.GetUser), \"users:get\"))\n\t\tg.POST(\"/api/users\", pm(a.CreateUser, \"users:manage\"))\n\t\tg.PUT(\"/api/users/:id\", pm(hasID(a.UpdateUser), \"users:manage\"))\n\t\tg.DELETE(\"/api/users\", pm(a.DeleteUsers, \"users:manage\"))\n\t\tg.DELETE(\"/api/users/:id\", pm(hasID(a.DeleteUser), \"users:manage\"))\n\t\tg.POST(\"/api/logout\", a.Logout)\n\n\t\t// TOTP 2FA endpoints\n\t\tg.GET(\"/api/users/:id/twofa/totp\", hasID(a.GenerateTOTPQR))\n\t\tg.PUT(\"/api/users/:id/twofa\", hasID(a.EnableTOTP))\n\t\tg.DELETE(\"/api/users/:id/twofa\", hasID(a.DisableTOTP))\n\n\t\tg.GET(\"/api/roles/users\", pm(a.GetUserRoles, \"roles:get\"))\n\t\tg.GET(\"/api/roles/lists\", pm(a.GeListRoles, \"roles:get\"))\n\t\tg.POST(\"/api/roles/users\", pm(a.CreateUserRole, \"roles:manage\"))\n\t\tg.POST(\"/api/roles/lists\", pm(a.CreateListRole, \"roles:manage\"))\n\t\tg.PUT(\"/api/roles/users/:id\", pm(hasID(a.UpdateUserRole), \"roles:manage\"))\n\t\tg.PUT(\"/api/roles/lists/:id\", pm(hasID(a.UpdateListRole), \"roles:manage\"))\n\t\tg.DELETE(\"/api/roles/:id\", pm(hasID(a.DeleteRole), \"roles:manage\"))\n\n\t\tif a.cfg.BounceWebhooksEnabled {\n\t\t\t// Private authenticated bounce endpoint.\n\t\t\tg.POST(\"/webhooks/bounce\", pm(a.BounceWebhook, \"webhooks:post_bounce\"))\n\t\t}\n\t}\n\n\t// =================================================================\n\t// Public API endpoints.\n\t{\n\t\t// Public unauthenticated endpoints.\n\t\tg := e.Group(\"\")\n\n\t\tif a.cfg.BounceWebhooksEnabled {\n\t\t\t// Public bounce endpoints for webservices like SES.\n\t\t\tg.POST(\"/webhooks/service/:service\", a.BounceWebhook)\n\t\t}\n\n\t\t// Landing page.\n\t\tg.GET(\"/\", func(c echo.Context) error {\n\t\t\treturn c.Render(http.StatusOK, \"home\", publicTpl{Title: \"listmonk\"})\n\t\t})\n\n\t\t// Public admin endpoints (login page, OIDC endpoints, password reset).\n\t\tg.GET(path.Join(uriAdmin, \"/login\"), a.LoginPage)\n\t\tg.POST(path.Join(uriAdmin, \"/login\"), a.LoginPage)\n\t\tg.GET(path.Join(uriAdmin, \"/login/twofa\"), a.TwofaPage)\n\t\tg.POST(path.Join(uriAdmin, \"/login/twofa\"), a.TwofaPage)\n\t\tg.GET(path.Join(uriAdmin, \"/forgot\"), a.ForgotPage)\n\t\tg.POST(path.Join(uriAdmin, \"/forgot\"), a.ForgotPage)\n\t\tg.GET(path.Join(uriAdmin, \"/reset\"), a.ResetPage)\n\t\tg.POST(path.Join(uriAdmin, \"/reset\"), a.ResetPage)\n\n\t\tif a.cfg.Security.OIDC.Enabled {\n\t\t\tg.POST(\"/auth/oidc\", a.OIDCLogin)\n\t\t\tg.GET(\"/auth/oidc\", a.OIDCFinish)\n\t\t}\n\n\t\t// Public APIs.\n\t\tg.GET(\"/api/public/lists\", a.GetPublicLists)\n\t\tg.POST(\"/api/public/subscription\", a.PublicSubscription)\n\t\tg.GET(\"/api/public/captcha/altcha\", a.AltchaChallenge)\n\t\tif a.cfg.EnablePublicArchive {\n\t\t\tg.GET(\"/api/public/archive\", a.GetCampaignArchives)\n\t\t}\n\n\t\t// /public/static/* file server is registered in initHTTPServer().\n\t\t// Public subscriber facing views.\n\t\tg.GET(\"/subscription/form\", a.SubscriptionFormPage)\n\t\tg.POST(\"/subscription/form\", a.SubscriptionForm)\n\t\tg.GET(\"/subscription/:campUUID/:subUUID\", noIndex(a.hasUUID(a.hasSub(a.SubscriptionPage), \"campUUID\", \"subUUID\")))\n\t\tg.POST(\"/subscription/:campUUID/:subUUID\", a.hasUUID(a.hasSub(a.SubscriptionPrefs), \"campUUID\", \"subUUID\"))\n\t\tg.GET(\"/subscription/optin/:subUUID\", noIndex(a.hasUUID(a.hasSub(a.OptinPage), \"subUUID\")))\n\t\tg.POST(\"/subscription/optin/:subUUID\", a.hasUUID(a.hasSub(a.OptinPage), \"subUUID\"))\n\t\tg.POST(\"/subscription/export/:subUUID\", a.hasUUID(a.hasSub(a.SelfExportSubscriberData), \"subUUID\"))\n\t\tg.POST(\"/subscription/wipe/:subUUID\", a.hasUUID(a.hasSub(a.WipeSubscriberData), \"subUUID\"))\n\t\tg.GET(\"/link/:linkUUID/:campUUID/:subUUID\", noIndex(a.hasUUID(a.LinkRedirect, \"linkUUID\", \"campUUID\", \"subUUID\")))\n\t\tg.GET(\"/campaign/:campUUID/:subUUID\", noIndex(a.hasUUID(a.ViewCampaignMessage, \"campUUID\", \"subUUID\")))\n\t\tg.GET(\"/campaign/:campUUID/:subUUID/px.png\", noIndex(a.hasUUID(a.RegisterCampaignView, \"campUUID\", \"subUUID\")))\n\n\t\tif a.cfg.EnablePublicArchive {\n\t\t\tg.GET(\"/archive\", a.CampaignArchivesPage)\n\t\t\tg.GET(\"/archive.xml\", a.GetCampaignArchivesFeed)\n\t\t\tg.GET(\"/archive/:id\", a.CampaignArchivePage)\n\t\t\tg.GET(\"/archive/latest\", a.CampaignArchivePageLatest)\n\t\t}\n\n\t\tg.GET(\"/public/custom.css\", serveCustomAppearance(\"public.custom_css\"))\n\t\tg.GET(\"/public/custom.js\", serveCustomAppearance(\"public.custom_js\"))\n\n\t\t// Public health API endpoint.\n\t\tg.GET(\"/health\", a.HealthCheck)\n\n\t\t// 404 pages.\n\t\tg.RouteNotFound(\"/*\", func(c echo.Context) error {\n\t\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\t\tmakeMsgTpl(\"404 - \"+a.i18n.T(\"public.notFoundTitle\"), \"\", \"\"))\n\t\t})\n\t\tg.RouteNotFound(\"/api/*\", func(c echo.Context) error {\n\t\t\treturn echo.NewHTTPError(http.StatusNotFound, \"404 unknown endpoint\")\n\t\t})\n\t\tg.RouteNotFound(\"/admin/*\", func(c echo.Context) error {\n\t\t\treturn echo.NewHTTPError(http.StatusNotFound, \"404 page not found\")\n\t\t})\n\t}\n}\n\n// AdminPage is the root handler that renders the Javascript admin frontend.\nfunc (a *App) AdminPage(c echo.Context) error {\n\tb, err := a.fs.Read(path.Join(uriAdmin, \"/index.html\"))\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, err.Error())\n\t}\n\n\tb = bytes.ReplaceAll(b, []byte(\"asset_version\"), []byte(a.cfg.AssetVersion))\n\n\treturn c.HTMLBlob(http.StatusOK, b)\n}\n\n// HealthCheck is a healthcheck endpoint that returns a 200 response.\nfunc (a *App) HealthCheck(c echo.Context) error {\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// serveCustomAppearance serves the given custom CSS/JS appearance blob\n// meant for customizing public and admin pages from the admin settings UI.\nfunc serveCustomAppearance(name string) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\tvar (\n\t\t\tapp = c.Get(\"app\").(*App)\n\n\t\t\tout []byte\n\t\t\thdr string\n\t\t)\n\n\t\tswitch name {\n\t\tcase \"admin.custom_css\":\n\t\t\tout = app.cfg.Appearance.AdminCSS\n\t\t\thdr = \"text/css; charset=utf-8\"\n\n\t\tcase \"admin.custom_js\":\n\t\t\tout = app.cfg.Appearance.AdminJS\n\t\t\thdr = \"application/javascript; charset=utf-8\"\n\n\t\tcase \"public.custom_css\":\n\t\t\tout = app.cfg.Appearance.PublicCSS\n\t\t\thdr = \"text/css; charset=utf-8\"\n\n\t\tcase \"public.custom_js\":\n\t\t\tout = app.cfg.Appearance.PublicJS\n\t\t\thdr = \"application/javascript; charset=utf-8\"\n\t\t}\n\n\t\treturn c.Blob(http.StatusOK, hdr, out)\n\t}\n}\n\n// hasUUID middleware validates the UUID string format for a given set of params.\nfunc (a *App) hasUUID(next echo.HandlerFunc, params ...string) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\tfor _, p := range params {\n\t\t\tif !reUUID.MatchString(c.Param(p)) {\n\t\t\t\treturn c.Render(http.StatusBadRequest, tplMessage, makeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\",\n\t\t\t\t\ta.i18n.T(\"globals.messages.invalidUUID\")))\n\t\t\t}\n\t\t}\n\t\treturn next(c)\n\t}\n}\n\n// hasID middleware validates the :id param in the URL and sets its int value in the context.\nfunc hasID(next echo.HandlerFunc) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\tid, _ := strconv.Atoi(c.Param(\"id\"))\n\t\tif id < 1 {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, \"invalid ID\")\n\t\t}\n\n\t\tc.Set(\"id\", id)\n\t\treturn next(c)\n\t}\n}\n\n// hasSub middleware checks if a subscriber exists given the UUID\n// param in a request.\nfunc (a *App) hasSub(next echo.HandlerFunc) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\tsubUUID := c.Param(\"subUUID\")\n\n\t\tif _, err := a.core.GetSubscriber(0, subUUID, \"\"); err != nil {\n\t\t\tif er, ok := err.(*echo.HTTPError); ok && er.Code == http.StatusBadRequest {\n\t\t\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.notFoundTitle\"), \"\", er.Message.(string)))\n\t\t\t}\n\n\t\t\ta.log.Printf(\"error checking subscriber existence: %v\", err)\n\t\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.errorProcessingRequest\")))\n\t\t}\n\n\t\treturn next(c)\n\t}\n}\n\n// noIndex adds the HTTP header requesting robots to not crawl the page.\nfunc noIndex(next echo.HandlerFunc) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\tc.Response().Header().Set(\"X-Robots-Tag\", \"noindex\")\n\t\treturn next(c)\n\t}\n}\n\n// getID returns the :id param from the URL parsed and stored as an int by the hasID middleware.\nfunc getID(c echo.Context) int {\n\treturn c.Get(\"id\").(int)\n}\n"
  },
  {
    "path": "cmd/i18n.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"regexp\"\n\t\"sort\"\n\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/stuffbin\"\n\t\"github.com/labstack/echo/v4\"\n)\n\ntype i18nLang struct {\n\tCode string `json:\"code\"`\n\tName string `json:\"name\"`\n}\n\ntype i18nLangRaw struct {\n\tCode string `json:\"_.code\"`\n\tName string `json:\"_.name\"`\n}\n\nvar reLangCode = regexp.MustCompile(`[^a-zA-Z_0-9\\\\-]`)\n\n// GetI18nLang returns the JSON language pack given the language code.\nfunc (a *App) GetI18nLang(c echo.Context) error {\n\tlang := c.Param(\"lang\")\n\tif len(lang) > 6 || reLangCode.MatchString(lang) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, \"Invalid language code.\")\n\t}\n\n\ti, ok, err := getI18nLang(lang, a.fs)\n\tif err != nil && !ok {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, \"Unknown language.\")\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{json.RawMessage(i.JSON())})\n}\n\n// getI18nLangList returns the list of available i18n languages.\nfunc getI18nLangList(fs stuffbin.FileSystem) ([]i18nLang, error) {\n\tlist, err := fs.Glob(\"/i18n/*.json\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Read language JSON files from the fs.\n\tvar out []i18nLang\n\tfor _, l := range list {\n\t\tb, err := fs.Get(l)\n\t\tif err != nil {\n\t\t\treturn out, fmt.Errorf(\"error reading lang file: %s: %v\", l, err)\n\t\t}\n\n\t\tvar r i18nLangRaw\n\t\tif err := json.Unmarshal(b.ReadBytes(), &r); err != nil {\n\t\t\treturn out, fmt.Errorf(\"error parsing lang file: %s: %v\", l, err)\n\t\t}\n\n\t\tout = append(out, i18nLang(r))\n\t}\n\n\t// Sort by language code.\n\tsort.SliceStable(out, func(i, j int) bool {\n\t\treturn out[i].Code < out[j].Code\n\t})\n\n\treturn out, nil\n}\n\n// The bool indicates whether the specified language could be loaded. If it couldn't\n// be, the app shouldn't halt but throw a warning.\nfunc getI18nLang(lang string, fs stuffbin.FileSystem) (*i18n.I18n, bool, error) {\n\tconst def = \"en\"\n\n\tb, err := fs.Read(fmt.Sprintf(\"/i18n/%s.json\", def))\n\tif err != nil {\n\t\treturn nil, false, fmt.Errorf(\"error reading default i18n language file: %s: %v\", def, err)\n\t}\n\n\t// Initialize with the default language.\n\ti, err := i18n.New(b)\n\tif err != nil {\n\t\treturn nil, false, fmt.Errorf(\"error unmarshalling i18n language: %s: %v\", lang, err)\n\t}\n\n\t// Load the selected language on top of it.\n\tb, err = fs.Read(fmt.Sprintf(\"/i18n/%s.json\", lang))\n\tif err != nil {\n\t\treturn i, true, fmt.Errorf(\"error reading i18n language file: %s: %v\", lang, err)\n\t}\n\tif err := i.Load(b); err != nil {\n\t\treturn i, true, fmt.Errorf(\"error loading i18n language file: %s: %v\", lang, err)\n\t}\n\n\treturn i, true, nil\n}\n"
  },
  {
    "path": "cmd/import.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/subimporter\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// ImportSubscribers handles the uploading and bulk importing of\n// a ZIP file of one or more CSV files.\nfunc (a *App) ImportSubscribers(c echo.Context) error {\n\t// Is an import already running?\n\tif a.importer.GetStats().Status == subimporter.StatusImporting {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"import.alreadyRunning\"))\n\t}\n\n\t// Unmarshal the JSON params.\n\tvar opt subimporter.SessionOpt\n\tif err := json.Unmarshal([]byte(c.FormValue(\"params\")), &opt); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"import.invalidParams\", \"error\", err.Error()))\n\t}\n\n\t// Validate mode.\n\tif opt.Mode != subimporter.ModeSubscribe && opt.Mode != subimporter.ModeBlocklist {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"import.invalidMode\"))\n\t}\n\n\t// If no status is specified, pick a default one.\n\tif opt.SubStatus == \"\" {\n\t\tswitch opt.Mode {\n\t\tcase subimporter.ModeSubscribe:\n\t\t\topt.SubStatus = models.SubscriptionStatusUnconfirmed\n\t\tcase subimporter.ModeBlocklist:\n\t\t\topt.SubStatus = models.SubscriptionStatusUnsubscribed\n\t\t}\n\t}\n\n\tif opt.SubStatus != models.SubscriptionStatusUnconfirmed &&\n\t\topt.SubStatus != models.SubscriptionStatusConfirmed &&\n\t\topt.SubStatus != models.SubscriptionStatusUnsubscribed {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"import.invalidSubStatus\"))\n\t}\n\n\tif len(opt.Delim) != 1 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"import.invalidDelim\"))\n\t}\n\n\t// Open the HTTP file.\n\tfile, err := c.FormFile(\"file\")\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"import.invalidFile\", \"error\", err.Error()))\n\t}\n\n\tsrc, err := file.Open()\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer src.Close()\n\n\t// Copy it to a temp location.\n\tout, err := os.CreateTemp(\"\", \"listmonk\")\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"import.errorCopyingFile\", \"error\", err.Error()))\n\t}\n\tdefer out.Close()\n\n\tif _, err = io.Copy(out, src); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"import.errorCopyingFile\", \"error\", err.Error()))\n\t}\n\n\t// Start the importer session.\n\topt.Filename = file.Filename\n\tsess, err := a.importer.NewSession(opt)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"import.errorStarting\", \"error\", err.Error()))\n\t}\n\tgo sess.Start()\n\n\tif strings.HasSuffix(strings.ToLower(file.Filename), \".csv\") {\n\t\tgo sess.LoadCSV(out.Name(), rune(opt.Delim[0]))\n\t} else {\n\t\t// Only 1 CSV from the ZIP is considered. If multiple files have\n\t\t// to be processed, counting the net number of lines (to track progress),\n\t\t// keeping the global import state (failed / successful) etc. across\n\t\t// multiple files becomes complex. Instead, it's just easier for the\n\t\t// end user to concat multiple CSVs (if there are multiple in the first)\n\t\t// place and upload as one in the first place.\n\t\tdir, files, err := sess.ExtractZIP(out.Name(), 1)\n\t\tif err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\ta.i18n.Ts(\"import.errorProcessingZIP\", \"error\", err.Error()))\n\t\t}\n\n\t\tgo sess.LoadCSV(dir+\"/\"+files[0], rune(opt.Delim[0]))\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{a.importer.GetStats()})\n}\n\n// GetImportSubscribers returns import statistics.\nfunc (a *App) GetImportSubscribers(c echo.Context) error {\n\ts := a.importer.GetStats()\n\treturn c.JSON(http.StatusOK, okResp{s})\n}\n\n// GetImportSubscriberStats returns import statistics.\nfunc (a *App) GetImportSubscriberStats(c echo.Context) error {\n\treturn c.JSON(http.StatusOK, okResp{string(a.importer.GetLogs())})\n}\n\n// StopImportSubscribers sends a stop signal to the importer.\n// If there's an ongoing import, it'll be stopped, and if an import\n// is finished, it's state is cleared.\nfunc (a *App) StopImportSubscribers(c echo.Context) error {\n\ta.importer.Stop()\n\treturn c.JSON(http.StatusOK, okResp{a.importer.GetStats()})\n}\n"
  },
  {
    "path": "cmd/init.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"crypto/md5\"\n\t\"database/sql\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"io\"\n\t\"log\"\n\t\"log/slog\"\n\t\"maps\"\n\t\"net/http\"\n\t\"os\"\n\t\"path\"\n\t\"path/filepath\"\n\t\"runtime\"\n\t\"strings\"\n\t\"syscall\"\n\t\"time\"\n\n\t\"github.com/Masterminds/sprig/v3\"\n\t\"github.com/gdgvda/cron\"\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/jmoiron/sqlx/types\"\n\t\"github.com/knadh/goyesql/v2\"\n\tgoyesqlx \"github.com/knadh/goyesql/v2/sqlx\"\n\tkoanfmaps \"github.com/knadh/koanf/maps\"\n\t\"github.com/knadh/koanf/parsers/toml\"\n\t\"github.com/knadh/koanf/providers/confmap\"\n\t\"github.com/knadh/koanf/providers/file\"\n\t\"github.com/knadh/koanf/providers/posflag\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/bounce\"\n\t\"github.com/knadh/listmonk/internal/bounce/mailbox\"\n\t\"github.com/knadh/listmonk/internal/captcha\"\n\t\"github.com/knadh/listmonk/internal/core\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/internal/manager\"\n\t\"github.com/knadh/listmonk/internal/media\"\n\t\"github.com/knadh/listmonk/internal/media/providers/filesystem\"\n\t\"github.com/knadh/listmonk/internal/media/providers/s3\"\n\t\"github.com/knadh/listmonk/internal/messenger/email\"\n\t\"github.com/knadh/listmonk/internal/messenger/postback\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/internal/subimporter\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/knadh/stuffbin\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n\tflag \"github.com/spf13/pflag\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\nconst (\n\t// Path to the SQL queries directory in the embedded FS.\n\tqueryFilePath = \"/queries\"\n\n\temailMsgr = \"email\"\n)\n\n// UrlConfig contains various URL constants used in the app.\ntype UrlConfig struct {\n\tRootURL      string `koanf:\"root_url\"`\n\tLogoURL      string `koanf:\"logo_url\"`\n\tFaviconURL   string `koanf:\"favicon_url\"`\n\tLoginURL     string `koanf:\"login_url\"`\n\tUnsubURL     string\n\tLinkTrackURL string\n\tViewTrackURL string\n\tOptinURL     string\n\tMessageURL   string\n\tArchiveURL   string\n}\n\n// Config contains static, constant config values required by arbitrary handlers and functions.\ntype Config struct {\n\tSiteName                      string   `koanf:\"site_name\"`\n\tFromEmail                     string   `koanf:\"from_email\"`\n\tNotifyEmails                  []string `koanf:\"notify_emails\"`\n\tEnablePublicSubPage           bool     `koanf:\"enable_public_subscription_page\"`\n\tEnablePublicArchive           bool     `koanf:\"enable_public_archive\"`\n\tEnablePublicArchiveRSSContent bool     `koanf:\"enable_public_archive_rss_content\"`\n\tLang                          string   `koanf:\"lang\"`\n\tDBBatchSize                   int      `koanf:\"batch_size\"`\n\tPrivacy                       struct {\n\t\tIndividualTracking bool            `koanf:\"individual_tracking\"`\n\t\tDisableTracking    bool            `koanf:\"disable_tracking\"`\n\t\tAllowPreferences   bool            `koanf:\"allow_preferences\"`\n\t\tAllowBlocklist     bool            `koanf:\"allow_blocklist\"`\n\t\tAllowExport        bool            `koanf:\"allow_export\"`\n\t\tAllowWipe          bool            `koanf:\"allow_wipe\"`\n\t\tRecordOptinIP      bool            `koanf:\"record_optin_ip\"`\n\t\tUnsubHeader        bool            `koanf:\"unsubscribe_header\"`\n\t\tExportable         map[string]bool `koanf:\"-\"`\n\t\tDomainBlocklist    []string        `koanf:\"-\"`\n\t\tDomainAllowlist    []string        `koanf:\"-\"`\n\t} `koanf:\"privacy\"`\n\tSecurity struct {\n\t\tOIDC struct {\n\t\t\tEnabled           bool   `koanf:\"enabled\"`\n\t\t\tProviderURL       string `koanf:\"provider_url\"`\n\t\t\tProviderName      string `koanf:\"provider_name\"`\n\t\t\tClientID          string `koanf:\"client_id\"`\n\t\t\tClientSecret      string `koanf:\"client_secret\"`\n\t\t\tAutoCreateUsers   bool   `koanf:\"auto_create_users\"`\n\t\t\tDefaultUserRoleID int    `koanf:\"default_user_role_id\"`\n\t\t\tDefaultListRoleID int    `koanf:\"default_list_role_id\"`\n\t\t} `koanf:\"oidc\"`\n\n\t\tCaptcha struct {\n\t\t\tAltcha struct {\n\t\t\t\tEnabled    bool `koanf:\"enabled\"`\n\t\t\t\tComplexity int  `koanf:\"complexity\"`\n\t\t\t} `koanf:\"altcha\"`\n\t\t\tHCaptcha struct {\n\t\t\t\tEnabled bool   `koanf:\"enabled\"`\n\t\t\t\tKey     string `koanf:\"key\"`\n\t\t\t\tSecret  string `koanf:\"secret\"`\n\t\t\t} `koanf:\"hcaptcha\"`\n\t\t} `koanf:\"captcha\"`\n\n\t\tCorsOrigins []string `koanf:\"cors_origins\"`\n\t} `koanf:\"security\"`\n\n\tAppearance struct {\n\t\tAdminCSS  []byte `koanf:\"admin.custom_css\"`\n\t\tAdminJS   []byte `koanf:\"admin.custom_js\"`\n\t\tPublicCSS []byte `koanf:\"public.custom_css\"`\n\t\tPublicJS  []byte `koanf:\"public.custom_js\"`\n\t}\n\n\tHasLegacyUser bool\n\tAssetVersion  string\n\n\tMediaUpload struct {\n\t\tProvider   string\n\t\tExtensions []string\n\t}\n\n\tBounceWebhooksEnabled     bool\n\tBounceSESEnabled          bool\n\tBounceSendgridEnabled     bool\n\tBouncePostmarkEnabled     bool\n\tBounceForwardemailEnabled bool\n\n\tPermissionsRaw json.RawMessage\n\tPermissions    map[string]struct{}\n}\n\n// initFlags initializes the commandline flags into the Koanf instance.\nfunc initFlags(ko *koanf.Koanf) {\n\tf := flag.NewFlagSet(\"config\", flag.ContinueOnError)\n\tf.Usage = func() {\n\t\t// Register --help handler.\n\t\tfmt.Println(f.FlagUsages())\n\t\tos.Exit(0)\n\t}\n\n\t// Register the commandline flags.\n\tf.StringSlice(\"config\", []string{\"config.toml\"},\n\t\t\"path to one or more config files (will be merged in order)\")\n\tf.Bool(\"install\", false, \"setup database (first time)\")\n\tf.Bool(\"idempotent\", false, \"make --install run only if the database isn't already setup\")\n\tf.Bool(\"upgrade\", false, \"upgrade database to the current version\")\n\tf.Bool(\"version\", false, \"show current version of the build\")\n\tf.Bool(\"new-config\", false, \"generate sample config file (at path given in --config)\")\n\tf.String(\"static-dir\", \"\", \"(optional) path to directory with static files\")\n\tf.String(\"i18n-dir\", \"\", \"(optional) path to directory with i18n language files\")\n\tf.Bool(\"yes\", false, \"assume 'yes' to prompts during --install/upgrade\")\n\tf.Bool(\"passive\", false, \"run in passive mode where campaigns are not processed\")\n\tif err := f.Parse(os.Args[1:]); err != nil {\n\t\tlo.Fatalf(\"error loading flags: %v\", err)\n\t}\n\n\tif err := ko.Load(posflag.Provider(f, \".\", ko), nil); err != nil {\n\t\tlo.Fatalf(\"error loading config: %v\", err)\n\t}\n}\n\n// initConfigFiles loads the given config files into the koanf instance.\nfunc initConfigFiles(files []string, ko *koanf.Koanf) {\n\tfor _, f := range files {\n\t\tlo.Printf(\"reading config: %s\", f)\n\t\tif err := ko.Load(file.Provider(f), toml.Parser()); err != nil {\n\t\t\tif os.IsNotExist(err) {\n\t\t\t\tlo.Fatal(\"config file not found. If there isn't one yet, run --new-config to generate one.\")\n\t\t\t}\n\t\t\tlo.Fatalf(\"error loading config from file: %v.\", err)\n\t\t}\n\t}\n}\n\n// initFileSystem initializes the stuffbin FileSystem to provide\n// access to bundled static assets to the app.\nfunc initFS(appDir, frontendDir, staticDir, i18nDir string) stuffbin.FileSystem {\n\tvar (\n\t\t// stuffbin real_path:virtual_alias paths to map local assets on disk\n\t\t// when there an embedded filestystem is not found.\n\n\t\t// These paths are joined with appDir.\n\t\tappFiles = []string{\n\t\t\t\"./config.toml.sample:config.toml.sample\",\n\t\t\t\"./queries:queries\",\n\t\t\t\"./schema.sql:schema.sql\",\n\t\t\t\"./permissions.json:permissions.json\",\n\t\t}\n\n\t\tfrontendFiles = []string{\n\t\t\t// Admin frontend's static assets accessible at /admin/* during runtime.\n\t\t\t// These paths are sourced from frontendDir.\n\t\t\t\"./:/admin\",\n\t\t}\n\n\t\tstaticFiles = []string{\n\t\t\t// These paths are joined with staticDir.\n\t\t\t\"./email-templates:static/email-templates\",\n\t\t\t\"./public:/public\",\n\t\t}\n\n\t\ti18nFiles = []string{\n\t\t\t// These paths are joined with i18nDir.\n\t\t\t\"./:/i18n\",\n\t\t}\n\t)\n\n\t// Get the executable's execPath.\n\texecPath, err := os.Executable()\n\tif err != nil {\n\t\tlo.Fatalf(\"error getting executable path: %v\", err)\n\t}\n\n\t// Load embedded files in the executable.\n\thasEmbed := true\n\tfs, err := stuffbin.UnStuff(execPath)\n\tif err != nil {\n\t\thasEmbed = false\n\n\t\t// Running in local mode. Load local assets into\n\t\t// the in-memory stuffbin.FileSystem.\n\t\tlo.Printf(\"unable to initialize embedded filesystem (%v). Using local filesystem\", err)\n\n\t\tfs, err = stuffbin.NewLocalFS(\"/\")\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"failed to initialize local file for assets: %v\", err)\n\t\t}\n\t}\n\n\t// If the embed failed, load app and frontend files from the compile-time paths.\n\tfiles := []string{}\n\tif !hasEmbed {\n\t\tfiles = append(files, joinFSPaths(appDir, appFiles)...)\n\t\tfiles = append(files, joinFSPaths(frontendDir, frontendFiles)...)\n\t}\n\n\t// Irrespective of the embeds, if there are user specified static or i18n paths,\n\t// load files from there and override default files (embedded or picked up from CWD).\n\tif !hasEmbed || i18nDir != \"\" {\n\t\tif i18nDir == \"\" {\n\t\t\t// Default dir in cwd.\n\t\t\ti18nDir = \"i18n\"\n\t\t}\n\t\tlo.Printf(\"loading i18n files from: %v\", i18nDir)\n\t\tfiles = append(files, joinFSPaths(i18nDir, i18nFiles)...)\n\t}\n\n\tif !hasEmbed || staticDir != \"\" {\n\t\tif staticDir == \"\" {\n\t\t\t// Default dir in cwd.\n\t\t\tstaticDir = \"static\"\n\t\t} else {\n\t\t\t// There is a custom static directory. Any paths that aren't in it, exclude.\n\t\t\tsf := []string{}\n\t\t\tfor _, def := range staticFiles {\n\t\t\t\ts := strings.Split(def, \":\")[0]\n\t\t\t\tif _, err := os.Stat(path.Join(staticDir, s)); err == nil {\n\t\t\t\t\tsf = append(sf, def)\n\t\t\t\t}\n\t\t\t}\n\t\t\tstaticFiles = sf\n\t\t}\n\n\t\tlo.Printf(\"loading static files from: %v\", staticDir)\n\t\tfiles = append(files, joinFSPaths(staticDir, staticFiles)...)\n\t}\n\n\t// No additional files to load.\n\tif len(files) == 0 {\n\t\treturn fs\n\t}\n\n\t// Load files from disk and overlay into the FS.\n\tfStatic, err := stuffbin.NewLocalFS(\"/\", files...)\n\tif err != nil {\n\t\tlo.Fatalf(\"failed reading static files from disk: '%s': %v\", staticDir, err)\n\t}\n\n\tif err := fs.Merge(fStatic); err != nil {\n\t\tlo.Fatalf(\"error merging static files: '%s': %v\", staticDir, err)\n\t}\n\n\treturn fs\n}\n\n// initDB initializes the main DB connection pool and parse and loads the app's\n// SQL queries into a prepared query map.\nfunc initDB() *sqlx.DB {\n\tvar c struct {\n\t\tHost        string        `koanf:\"host\"`\n\t\tPort        int           `koanf:\"port\"`\n\t\tUser        string        `koanf:\"user\"`\n\t\tPassword    string        `koanf:\"password\"`\n\t\tDBName      string        `koanf:\"database\"`\n\t\tSSLMode     string        `koanf:\"ssl_mode\"`\n\t\tParams      string        `koanf:\"params\"`\n\t\tMaxOpen     int           `koanf:\"max_open\"`\n\t\tMaxIdle     int           `koanf:\"max_idle\"`\n\t\tMaxLifetime time.Duration `koanf:\"max_lifetime\"`\n\t}\n\tif err := ko.Unmarshal(\"db\", &c); err != nil {\n\t\tlo.Fatalf(\"error loading db config: %v\", err)\n\t}\n\n\tlo.Printf(\"connecting to db: %s:%d/%s\", c.Host, c.Port, c.DBName)\n\tdb, err := sqlx.Connect(\"postgres\",\n\t\tfmt.Sprintf(\"host=%s port=%d user=%s password=%s dbname=%s sslmode=%s %s\", c.Host, c.Port, c.User, c.Password, c.DBName, c.SSLMode, c.Params))\n\tif err != nil {\n\t\tlo.Fatalf(\"error connecting to DB: %v\", err)\n\t}\n\n\tdb.SetMaxOpenConns(c.MaxOpen)\n\tdb.SetMaxIdleConns(c.MaxIdle)\n\tdb.SetConnMaxLifetime(c.MaxLifetime)\n\n\treturn db.Unsafe()\n}\n\nfunc readQueries(dir string, fs stuffbin.FileSystem) goyesql.Queries {\n\tout := goyesql.Queries{}\n\n\t// Glob all the .sql files in the queries directory.\n\tqPath := path.Join(dir, \"/*.sql\")\n\tfiles, err := fs.Glob(qPath)\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading *.sql query files from %s: %v\", qPath, err)\n\t}\n\n\t// Read and merge queries from all files into one map.\n\tfor _, file := range files {\n\t\t// Read the SQL file.\n\t\tb, err := fs.Read(file)\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"error reading SQL file %s: %v\", file, err)\n\t\t}\n\n\t\t// Parse queries in it into a map.\n\t\tmp, err := goyesql.ParseBytes(b)\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"error parsing SQL queries: %v\", err)\n\t\t}\n\n\t\t// Merge into the main query map.\n\t\tmaps.Copy(out, mp)\n\t}\n\n\treturn out\n}\n\n// prepareQueries queries prepares a query map and returns a *Queries\nfunc prepareQueries(qMap goyesql.Queries, db *sqlx.DB, ko *koanf.Koanf) *models.Queries {\n\tvar (\n\t\tcountQuery = \"get-campaign-analytics-counts\"\n\t\tlinkSel    = \"*\"\n\t)\n\tif ko.Bool(\"privacy.individual_tracking\") {\n\t\tcountQuery = \"get-campaign-analytics-unique-counts\"\n\t\tlinkSel = \"DISTINCT subscriber_id\"\n\t}\n\n\t// These don't exist in the SQL file but are in the queries struct to be prepared.\n\tqMap[\"get-campaign-view-counts\"] = &goyesql.Query{\n\t\tQuery: fmt.Sprintf(qMap[countQuery].Query, \"campaign_views\"),\n\t\tTags:  map[string]string{\"name\": \"get-campaign-view-counts\"},\n\t}\n\tqMap[\"get-campaign-click-counts\"] = &goyesql.Query{\n\t\tQuery: fmt.Sprintf(qMap[countQuery].Query, \"link_clicks\"),\n\t\tTags:  map[string]string{\"name\": \"get-campaign-click-counts\"},\n\t}\n\tqMap[\"get-campaign-link-counts\"].Query = fmt.Sprintf(qMap[\"get-campaign-link-counts\"].Query, linkSel)\n\n\t// Scan and prepare all queries.\n\tvar q models.Queries\n\tif err := goyesqlx.ScanToStruct(&q, qMap, db); err != nil {\n\t\tlo.Fatalf(\"error preparing SQL queries: %v\", err)\n\t}\n\n\treturn &q\n}\n\n// initSettings loads settings from the DB into the given Koanf map.\nfunc initSettings(query string, db *sqlx.DB, ko *koanf.Koanf) {\n\tvar s types.JSONText\n\tif err := db.Get(&s, query); err != nil {\n\t\tmsg := err.Error()\n\t\tif err, ok := err.(*pq.Error); ok {\n\t\t\tif err.Detail != \"\" {\n\t\t\t\tmsg = fmt.Sprintf(\"%s. %s\", err, err.Detail)\n\t\t\t}\n\t\t}\n\n\t\tlo.Fatalf(\"error reading settings from DB: %s\", msg)\n\t}\n\n\t// Setting keys are dot separated, eg: app.favicon_url. Unflatten them into\n\t// nested maps {app: {favicon_url}}.\n\tvar out map[string]any\n\tif err := json.Unmarshal(s, &out); err != nil {\n\t\tlo.Fatalf(\"error unmarshalling settings from DB: %v\", err)\n\t}\n\tif err := ko.Load(confmap.Provider(out, \".\"), nil); err != nil {\n\t\tlo.Fatalf(\"error parsing settings from DB: %v\", err)\n\t}\n}\n\nfunc initUrlConfig(ko *koanf.Koanf) *UrlConfig {\n\troot := strings.TrimSuffix(ko.String(\"app.root_url\"), \"/\")\n\n\treturn &UrlConfig{\n\t\tRootURL:    root,\n\t\tLogoURL:    ko.String(\"app.logo_url\"),\n\t\tFaviconURL: ko.String(\"app.favicon_url\"),\n\t\tLoginURL:   path.Join(uriAdmin, \"/login\"),\n\n\t\t// Static URLS.\n\t\t// url.com/subscription/{campaign_uuid}/{subscriber_uuid}\n\t\tUnsubURL: fmt.Sprintf(\"%s/subscription/%%s/%%s\", root),\n\n\t\t// url.com/subscription/optin/{subscriber_uuid}\n\t\tOptinURL: fmt.Sprintf(\"%s/subscription/optin/%%s?%%s\", root),\n\n\t\t// url.com/link/{campaign_uuid}/{subscriber_uuid}/{link_uuid}\n\t\tLinkTrackURL: fmt.Sprintf(\"%s/link/%%s/%%s/%%s\", root),\n\n\t\t// url.com/link/{campaign_uuid}/{subscriber_uuid}\n\t\tMessageURL: fmt.Sprintf(\"%s/campaign/%%s/%%s\", root),\n\n\t\t// url.com/archive\n\t\tArchiveURL: root + \"/archive\",\n\n\t\t// url.com/campaign/{campaign_uuid}/{subscriber_uuid}/px.png\n\t\tViewTrackURL: fmt.Sprintf(\"%s/campaign/%%s/%%s/px.png\", root),\n\t}\n}\n\n// initConstConfig initializes the app's global constants from the given koanf instance.\nfunc initConstConfig(ko *koanf.Koanf) *Config {\n\t// Read constants.\n\tvar c Config\n\tif err := ko.Unmarshal(\"app\", &c); err != nil {\n\t\tlo.Fatalf(\"error loading app config: %v\", err)\n\t}\n\tif err := ko.Unmarshal(\"privacy\", &c.Privacy); err != nil {\n\t\tlo.Fatalf(\"error loading app.privacy config: %v\", err)\n\t}\n\tif err := ko.Unmarshal(\"security\", &c.Security); err != nil {\n\t\tlo.Fatalf(\"error loading app.security config: %v\", err)\n\t}\n\n\tif err := ko.UnmarshalWithConf(\"appearance\", &c.Appearance, koanf.UnmarshalConf{FlatPaths: true}); err != nil {\n\t\tlo.Fatalf(\"error loading app.appearance config: %v\", err)\n\t}\n\n\tc.Lang = ko.String(\"app.lang\")\n\tc.Privacy.Exportable = koanfmaps.StringSliceToLookupMap(ko.Strings(\"privacy.exportable\"))\n\tc.MediaUpload.Provider = ko.String(\"upload.provider\")\n\tc.MediaUpload.Extensions = ko.Strings(\"upload.extensions\")\n\tc.Privacy.DomainBlocklist = ko.Strings(\"privacy.domain_blocklist\")\n\tc.Privacy.DomainAllowlist = ko.Strings(\"privacy.domain_allowlist\")\n\n\tc.BounceWebhooksEnabled = ko.Bool(\"bounce.webhooks_enabled\")\n\tc.BounceSESEnabled = ko.Bool(\"bounce.ses_enabled\")\n\tc.BounceSendgridEnabled = ko.Bool(\"bounce.sendgrid_enabled\")\n\tc.BouncePostmarkEnabled = ko.Bool(\"bounce.postmark.enabled\")\n\tc.BounceForwardemailEnabled = ko.Bool(\"bounce.forwardemail.enabled\")\n\tc.HasLegacyUser = ko.Exists(\"app.admin_username\") || ko.Exists(\"app.admin_password\")\n\n\tb := md5.Sum([]byte(time.Now().String()))\n\tc.AssetVersion = fmt.Sprintf(\"%x\", b)[0:10]\n\n\tpm, err := fs.Read(\"/permissions.json\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading permissions file: %v\", err)\n\t}\n\tc.PermissionsRaw = pm\n\n\t// Make a lookup map of permissions.\n\tpermGroups := []struct {\n\t\tGroup       string   `json:\"group\"`\n\t\tPermissions []string `json:\"permissions\"`\n\t}{}\n\tif err := json.Unmarshal(pm, &permGroups); err != nil {\n\t\tlo.Fatalf(\"error loading permissions file: %v\", err)\n\t}\n\n\tc.Permissions = map[string]struct{}{}\n\tfor _, group := range permGroups {\n\t\tfor _, g := range group.Permissions {\n\t\t\tc.Permissions[g] = struct{}{}\n\t\t}\n\t}\n\n\treturn &c\n}\n\n// initI18n initializes a new i18n instance with the selected language map\n// loaded from the filesystem. English is a loaded first as the default map\n// and then the selected language is loaded on top of it so that if there are\n// missing translations in it, the default English translations show up.\nfunc initI18n(lang string, fs stuffbin.FileSystem) *i18n.I18n {\n\ti, ok, err := getI18nLang(lang, fs)\n\tif err != nil {\n\t\tif ok {\n\t\t\tlo.Println(err)\n\t\t} else {\n\t\t\tlo.Fatal(err)\n\t\t}\n\t}\n\treturn i\n}\n\n// initCore initializes the CRUD DB core .\nfunc initCore(fnNotify func(sub models.Subscriber, listIDs []int) (int, error), queries *models.Queries, db *sqlx.DB, i *i18n.I18n, ko *koanf.Koanf) *core.Core {\n\topt := &core.Opt{\n\t\tConstants: core.Constants{\n\t\t\tSendOptinConfirmation: ko.Bool(\"app.send_optin_confirmation\"),\n\t\t\tCacheSlowQueries:      ko.Bool(\"app.cache_slow_queries\"),\n\t\t},\n\t\tQueries: queries,\n\t\tDB:      db,\n\t\tI18n:    i,\n\t\tLog:     lo,\n\t}\n\n\t// Load bounce config.\n\tif err := ko.Unmarshal(\"bounce.actions\", &opt.Constants.BounceActions); err != nil {\n\t\tlo.Fatalf(\"error unmarshalling bounce config: %v\", err)\n\t}\n\n\t// Initialize the CRUD core.\n\treturn core.New(opt, &core.Hooks{\n\t\tSendOptinConfirmation: fnNotify,\n\t})\n}\n\n// initCampaignManager initializes the campaign manager.\nfunc initCampaignManager(msgrs []manager.Messenger, q *models.Queries, u *UrlConfig, co *core.Core, md media.Store, i *i18n.I18n, ko *koanf.Koanf) *manager.Manager {\n\tif ko.Bool(\"passive\") {\n\t\tlo.Println(\"running in passive mode. won't process campaigns.\")\n\t}\n\n\tmgr := manager.New(manager.Config{\n\t\tBatchSize:             ko.Int(\"app.batch_size\"),\n\t\tConcurrency:           ko.Int(\"app.concurrency\"),\n\t\tMessageRate:           ko.Int(\"app.message_rate\"),\n\t\tMaxSendErrors:         ko.Int(\"app.max_send_errors\"),\n\t\tFromEmail:             ko.String(\"app.from_email\"),\n\t\tIndividualTracking:    ko.Bool(\"privacy.individual_tracking\"),\n\t\tDisableTracking:       ko.Bool(\"privacy.disable_tracking\"),\n\t\tUnsubURL:              u.UnsubURL,\n\t\tOptinURL:              u.OptinURL,\n\t\tLinkTrackURL:          u.LinkTrackURL,\n\t\tViewTrackURL:          u.ViewTrackURL,\n\t\tMessageURL:            u.MessageURL,\n\t\tArchiveURL:            u.ArchiveURL,\n\t\tRootURL:               u.RootURL,\n\t\tUnsubHeader:           ko.Bool(\"privacy.unsubscribe_header\"),\n\t\tSlidingWindow:         ko.Bool(\"app.message_sliding_window\"),\n\t\tSlidingWindowDuration: ko.Duration(\"app.message_sliding_window_duration\"),\n\t\tSlidingWindowRate:     ko.Int(\"app.message_sliding_window_rate\"),\n\t\tScanInterval:          time.Second * 5,\n\t\tScanCampaigns:         !ko.Bool(\"passive\"),\n\t}, newManagerStore(q, co, md), i, lo)\n\n\t// Attach all messengers to the campaign manager.\n\tfor _, m := range msgrs {\n\t\tmgr.AddMessenger(m)\n\t}\n\n\treturn mgr\n}\n\n// initTxTemplates initializes and compiles the transactional templates and caches them in-memory.\nfunc initTxTemplates(m *manager.Manager, co *core.Core) {\n\ttpls, err := co.GetTemplates(models.TemplateTypeTx, false)\n\tif err != nil {\n\t\tlo.Fatalf(\"error loading transactional templates: %v\", err)\n\t}\n\n\tfor _, t := range tpls {\n\t\ttpl := t\n\t\tif err := tpl.Compile(m.GenericTemplateFuncs()); err != nil {\n\t\t\tlo.Printf(\"error compiling transactional template %d: %v\", tpl.ID, err)\n\t\t\tcontinue\n\t\t}\n\t\tm.CacheTpl(tpl.ID, &tpl)\n\t}\n}\n\n// initImporter initializes the bulk subscriber importer.\nfunc initImporter(q *models.Queries, db *sqlx.DB, core *core.Core, i *i18n.I18n, ko *koanf.Koanf) *subimporter.Importer {\n\treturn subimporter.New(\n\t\tsubimporter.Options{\n\t\t\tDomainBlocklist:    ko.Strings(\"privacy.domain_blocklist\"),\n\t\t\tDomainAllowlist:    ko.Strings(\"privacy.domain_allowlist\"),\n\t\t\tUpsertStmt:         q.UpsertSubscriber.Stmt,\n\t\t\tBlocklistStmt:      q.UpsertBlocklistSubscriber.Stmt,\n\t\t\tUpdateListDateStmt: q.UpdateListsDate.Stmt,\n\n\t\t\t// Hook for triggering admin notifications and refreshing stats materialized\n\t\t\t// views after a successful import.\n\t\t\tPostCB: func(subject string, data any) error {\n\t\t\t\t// Refresh cached subscriber counts and stats.\n\t\t\t\tcore.RefreshMatViews(true)\n\n\t\t\t\t// Send admin notification.\n\t\t\t\tnotifs.NotifySystem(subject, notifs.TplImport, data, nil)\n\t\t\t\treturn nil\n\t\t\t},\n\t\t}, db.DB, i)\n}\n\n// initSMTPMessenger initializes the combined and individual SMTP messengers.\nfunc initSMTPMessengers() []manager.Messenger {\n\tvar (\n\t\tservers = []email.Server{}\n\t\tout     = []manager.Messenger{}\n\t)\n\n\t// Load the config for multiple SMTP servers.\n\tfor _, item := range ko.Slices(\"smtp\") {\n\t\tif !item.Bool(\"enabled\") {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Read the SMTP config.\n\t\tvar s email.Server\n\t\tif err := item.UnmarshalWithConf(\"\", &s, koanf.UnmarshalConf{Tag: \"json\"}); err != nil {\n\t\t\tlo.Fatalf(\"error reading SMTP config: %v\", err)\n\t\t}\n\n\t\tservers = append(servers, s)\n\t\tlo.Printf(\"initialized email (SMTP) messenger: %s@%s\", item.String(\"username\"), item.String(\"host\"))\n\n\t\t// If the server has a name, initialize it as a standalone e-mail messenger\n\t\t// allowing campaigns to select individual SMTPs. In the UI and config, it'll appear as `email / $name`.\n\t\tif s.Name != \"\" {\n\t\t\tmsgr, err := email.New(s.Name, s)\n\t\t\tif err != nil {\n\t\t\t\tlo.Fatalf(\"error initializing e-mail messenger: %v\", err)\n\t\t\t}\n\t\t\tout = append(out, msgr)\n\t\t}\n\t}\n\n\t// Initialize the 'email' messenger with all SMTP servers.\n\tmsgr, err := email.New(email.MessengerName, servers...)\n\tif err != nil {\n\t\tlo.Fatalf(\"error initializing e-mail messenger: %v\", err)\n\t}\n\n\t// If it's just one server, return the default \"email\" messenger.\n\tif len(servers) == 1 {\n\t\treturn []manager.Messenger{msgr}\n\t}\n\n\t// If there are multiple servers, prepend the group \"email\" to be the first one.\n\tout = append([]manager.Messenger{msgr}, out...)\n\n\treturn out\n}\n\n// initPostbackMessengers initializes and returns all the enabled\n// HTTP postback messenger backends.\nfunc initPostbackMessengers(ko *koanf.Koanf) []manager.Messenger {\n\titems := ko.Slices(\"messengers\")\n\tif len(items) == 0 {\n\t\treturn nil\n\t}\n\n\tvar out []manager.Messenger\n\tfor _, item := range items {\n\t\tif !item.Bool(\"enabled\") {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Read the Postback server config.\n\t\tvar (\n\t\t\tname = item.String(\"name\")\n\t\t\to    postback.Options\n\t\t)\n\t\tif err := item.UnmarshalWithConf(\"\", &o, koanf.UnmarshalConf{Tag: \"json\"}); err != nil {\n\t\t\tlo.Fatalf(\"error reading Postback config: %v\", err)\n\t\t}\n\n\t\t// Initialize the Messenger.\n\t\tp, err := postback.New(o)\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"error initializing Postback messenger %s: %v\", name, err)\n\t\t}\n\t\tout = append(out, p)\n\n\t\tlo.Printf(\"loaded Postback messenger: %s\", name)\n\t}\n\n\treturn out\n}\n\n// initMediaStore initializes Upload manager with a custom backend.\nfunc initMediaStore(ko *koanf.Koanf) media.Store {\n\tswitch provider := ko.String(\"upload.provider\"); provider {\n\tcase \"s3\":\n\t\tvar o s3.Opt\n\t\tko.Unmarshal(\"upload.s3\", &o)\n\t\to.RootURL = ko.String(\"app.root_url\")\n\n\t\tup, err := s3.NewS3Store(o)\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"error initializing s3 upload provider %s\", err)\n\t\t}\n\t\tlo.Println(\"media upload provider: s3\")\n\t\treturn up\n\n\tcase \"filesystem\":\n\t\tvar o filesystem.Opts\n\n\t\tko.Unmarshal(\"upload.filesystem\", &o)\n\t\to.RootURL = ko.String(\"app.root_url\")\n\t\to.UploadPath = filepath.Clean(o.UploadPath)\n\t\to.UploadURI = filepath.Clean(o.UploadURI)\n\t\tup, err := filesystem.New(o)\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"error initializing filesystem upload provider %s\", err)\n\t\t}\n\t\tlo.Println(\"media upload provider: filesystem\")\n\t\treturn up\n\n\tdefault:\n\t\tlo.Fatalf(\"unknown provider. select filesystem or s3\")\n\t}\n\treturn nil\n}\n\n// initNotifs initializes the notifier with the system e-mail templates.\nfunc initNotifs(fs stuffbin.FileSystem, i *i18n.I18n, em *email.Emailer, u *UrlConfig, ko *koanf.Koanf) {\n\ttpls, err := stuffbin.ParseTemplatesGlob(initTplFuncs(i, u), fs, \"/static/email-templates/*.html\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error parsing e-mail notif templates: %v\", err)\n\t}\n\n\t// Read the notification templates.\n\thtml, err := fs.Read(\"/static/email-templates/base.html\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading static/email-templates/base.html: %v\", err)\n\t}\n\n\t// Determine whether the notification templates are HTML or plaintext.\n\t// Copy the first few (arbitrary) bytes of the template and check if has the <!doctype html> tag.\n\tln := min(len(html), 256)\n\th := make([]byte, ln)\n\tcopy(h, html[0:ln])\n\n\tcontentType := models.CampaignContentTypeHTML\n\tif !bytes.Contains(bytes.ToLower(h), []byte(\"<!doctype html\")) {\n\t\tcontentType = models.CampaignContentTypePlain\n\t\tlo.Println(\"system e-mail templates are plaintext\")\n\t}\n\n\tnotifs.Initialize(notifs.Opt{\n\t\tFromEmail:    ko.String(\"app.from_email\"),\n\t\tSystemEmails: ko.Strings(\"app.notify_emails\"),\n\t\tContentType:  contentType,\n\t}, tpls, em, lo)\n}\n\n// initBounceManager initializes the bounce manager that scans mailboxes and listens to webhooks\n// for incoming bounce events.\nfunc initBounceManager(cb func(models.Bounce) error, stmt *sqlx.Stmt, lo *log.Logger, ko *koanf.Koanf) *bounce.Manager {\n\topt := bounce.Opt{\n\t\tWebhooksEnabled: ko.Bool(\"bounce.webhooks_enabled\"),\n\t\tSESEnabled:      ko.Bool(\"bounce.ses_enabled\"),\n\t\tSendgridEnabled: ko.Bool(\"bounce.sendgrid_enabled\"),\n\t\tSendgridKey:     ko.String(\"bounce.sendgrid_key\"),\n\t\tPostmark: struct {\n\t\t\tEnabled  bool\n\t\t\tUsername string\n\t\t\tPassword string\n\t\t}{\n\t\t\tko.Bool(\"bounce.postmark.enabled\"),\n\t\t\tko.String(\"bounce.postmark.username\"),\n\t\t\tko.String(\"bounce.postmark.password\"),\n\t\t},\n\t\tForwardEmail: struct {\n\t\t\tEnabled bool\n\t\t\tKey     string\n\t\t}{\n\t\t\tko.Bool(\"bounce.forwardemail.enabled\"),\n\t\t\tko.String(\"bounce.forwardemail.key\"),\n\t\t},\n\t\tRecordBounceCB: cb,\n\t}\n\n\t// For now, only one mailbox is supported.\n\tfor _, b := range ko.Slices(\"bounce.mailboxes\") {\n\t\tif !b.Bool(\"enabled\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tvar boxOpt mailbox.Opt\n\t\tif err := b.UnmarshalWithConf(\"\", &boxOpt, koanf.UnmarshalConf{Tag: \"json\"}); err != nil {\n\t\t\tlo.Fatalf(\"error reading bounce mailbox config: %v\", err)\n\t\t}\n\n\t\topt.MailboxType = b.String(\"type\")\n\t\topt.MailboxEnabled = true\n\t\topt.Mailbox = boxOpt\n\t\tbreak\n\t}\n\n\t// Initialize the bounce manager.\n\tb, err := bounce.New(opt, &bounce.Queries{RecordQuery: stmt}, lo)\n\tif err != nil {\n\t\tlo.Fatalf(\"error initializing bounce manager: %v\", err)\n\t}\n\n\treturn b\n}\n\n// initAbout initializes the app's /about API endpoint with the app and system info.\nfunc initAbout(q *models.Queries, db *sqlx.DB) about {\n\tvar (\n\t\tmem runtime.MemStats\n\t)\n\n\t// Memory / alloc stats.\n\truntime.ReadMemStats(&mem)\n\n\tinfo := types.JSONText(`{}`)\n\tif err := db.QueryRow(q.GetDBInfo).Scan(&info); err != nil {\n\t\tlo.Printf(\"WARNING: error getting database version: %v\", err)\n\t}\n\n\thostname, err := os.Hostname()\n\tif err != nil {\n\t\tlo.Printf(\"WARNING: error getting hostname: %v\", err)\n\t}\n\n\treturn about{\n\t\tVersion:   versionString,\n\t\tBuild:     buildString,\n\t\tGoArch:    runtime.GOARCH,\n\t\tGoVersion: runtime.Version(),\n\t\tDatabase:  info,\n\t\tSystem: aboutSystem{\n\t\t\tNumCPU: runtime.NumCPU(),\n\t\t},\n\t\tHost: aboutHost{\n\t\t\tOS:       runtime.GOOS,\n\t\t\tMachine:  runtime.GOARCH,\n\t\t\tHostname: hostname,\n\t\t},\n\t}\n\n}\n\n// initHTTPServer sets up and runs the app's main HTTP server and blocks forever.\nfunc initHTTPServer(cfg *Config, urlCfg *UrlConfig, i *i18n.I18n, fs stuffbin.FileSystem, app *App) *echo.Echo {\n\t// Initialize the HTTP server.\n\tvar srv = echo.New()\n\tsrv.HideBanner = true\n\n\t// Register app (*App) to be injected into all HTTP handlers.\n\tsrv.Use(func(next echo.HandlerFunc) echo.HandlerFunc {\n\t\treturn func(c echo.Context) error {\n\t\t\tc.Set(\"app\", app)\n\t\t\treturn next(c)\n\t\t}\n\t})\n\n\ttpl, err := stuffbin.ParseTemplatesGlob(initTplFuncs(i, urlCfg), fs, \"/public/templates/*.html\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error parsing public templates: %v\", err)\n\t}\n\tsrv.Renderer = &tplRenderer{\n\t\ttemplates:           tpl,\n\t\tSiteName:            cfg.SiteName,\n\t\tRootURL:             urlCfg.RootURL,\n\t\tLogoURL:             urlCfg.LogoURL,\n\t\tFaviconURL:          urlCfg.FaviconURL,\n\t\tAssetVersion:        cfg.AssetVersion,\n\t\tEnablePublicSubPage: cfg.EnablePublicSubPage,\n\t\tEnablePublicArchive: cfg.EnablePublicArchive,\n\t\tIndividualTracking:  cfg.Privacy.IndividualTracking,\n\t}\n\n\t// Initialize the static file server.\n\tfSrv := fs.FileServer()\n\n\t// Public (subscriber) facing static files.\n\tsrv.GET(\"/public/static/*\", echo.WrapHandler(fSrv))\n\n\t// Admin (frontend) facing static files.\n\tsrv.GET(\"/admin/static/*\", echo.WrapHandler(fSrv))\n\n\t// Public (subscriber) facing media upload files.\n\tvar (\n\t\tuploadProvider = ko.String(\"upload.provider\")\n\t\tuploadFsURI    = ko.String(\"upload.filesystem.upload_uri\")\n\t\tpublicURL      = ko.String(\"upload.s3.public_url\")\n\t)\n\tswitch {\n\tcase uploadProvider == \"filesystem\" && uploadFsURI != \"\":\n\t\tsrv.Static(uploadFsURI, ko.String(\"upload.filesystem.upload_path\"))\n\tcase uploadProvider == \"s3\" && strings.HasPrefix(publicURL, \"/\"):\n\t\tsrv.GET(path.Join(publicURL, \"/:filepath\"), app.ServeS3Media)\n\t}\n\n\t// Register all HTTP handlers.\n\tinitHTTPHandlers(srv, app)\n\n\t// Start the server.\n\tgo func() {\n\t\tif err := srv.Start(ko.String(\"app.address\")); err != nil {\n\t\t\tif errors.Is(err, http.ErrServerClosed) {\n\t\t\t\tlo.Println(\"HTTP server shut down\")\n\t\t\t} else {\n\t\t\t\tlo.Fatalf(\"error starting HTTP server: %v\", err)\n\t\t\t}\n\t\t}\n\t}()\n\n\treturn srv\n}\n\n// initCaptcha initializes the captcha service.\nfunc initCaptcha() *captcha.Captcha {\n\tvar opt captcha.Opt\n\tif err := ko.Unmarshal(\"security.captcha\", &opt); err != nil {\n\t\tlo.Fatalf(\"error loading captcha config: %v\", err)\n\t}\n\n\treturn captcha.New(opt)\n}\n\n// initCron initializes cron jobs for slow query cache refresh and database vacuum.\nfunc initCron(co *core.Core, db *sqlx.DB) {\n\tc := cron.New(cron.WithLogger(slog.New(slog.NewTextHandler(io.Discard, nil))))\n\n\t// Slow query cache cron job.\n\tif ko.Bool(\"app.cache_slow_queries\") {\n\t\tintval := ko.String(\"app.cache_slow_queries_interval\")\n\t\tif intval == \"\" {\n\t\t\tlo.Println(\"error: invalid cron interval string for slow query cache\")\n\t\t} else {\n\t\t\t_, err := c.Add(intval, func() {\n\t\t\t\tlo.Println(\"refreshing slow query cache\")\n\t\t\t\t_ = co.RefreshMatViews(true)\n\t\t\t\tlo.Println(\"done refreshing slow query cache\")\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\tlo.Printf(\"error initializing slow cache query cron: %v\", err)\n\t\t\t} else {\n\t\t\t\tlo.Printf(\"IMPORTANT: database slow query caching is enabled. Aggregate numbers and stats will not be realtime. Next refresh at: %v\", c.Entries()[len(c.Entries())-1].Next)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Database vacuum cron job.\n\tif ko.Bool(\"maintenance.db.vacuum\") {\n\t\tintval := ko.String(\"maintenance.db.vacuum_cron_interval\")\n\t\tif intval == \"\" {\n\t\t\tlo.Println(\"error: invalid cron interval string for database vacuum\")\n\t\t} else {\n\t\t\t_, err := c.Add(intval, func() {\n\t\t\t\tRunDBVacuum(db, lo)\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\tlo.Printf(\"error initializing database vacuum cron: %v\", err)\n\t\t\t} else {\n\t\t\t\tlo.Printf(\"database VACUUM cron enabled at interval: %s\", intval)\n\t\t\t}\n\t\t}\n\t}\n\n\tif len(c.Entries()) > 0 {\n\t\tc.Start()\n\t}\n}\n\n// awaitReload waits for a SIGHUP signal to reload the app. Every setting change on the UI causes a reload.\nfunc awaitReload(sigChan chan os.Signal, closerWait chan bool, closer func()) chan bool {\n\t// The blocking signal handler that main() waits on.\n\tout := make(chan bool)\n\n\t// Respawn a new process and exit the running one.\n\trespawn := func() {\n\t\tif err := syscall.Exec(os.Args[0], os.Args, os.Environ()); err != nil {\n\t\t\tlo.Fatalf(\"error spawning process: %v\", err)\n\t\t}\n\t\tos.Exit(0)\n\t}\n\n\t// Listen for reload signal.\n\tgo func() {\n\t\tfor range sigChan {\n\t\t\tlo.Println(\"reloading on signal ...\")\n\n\t\t\tgo closer()\n\t\t\tselect {\n\t\t\tcase <-closerWait:\n\t\t\t\t// Wait for the closer to finish.\n\t\t\t\trespawn()\n\t\t\tcase <-time.After(time.Second * 3):\n\t\t\t\t// Or timeout and force close.\n\t\t\t\trespawn()\n\t\t\t}\n\t\t}\n\t}()\n\n\treturn out\n}\n\n// initTplFuncs returns a generic template func map with custom template\n// functions and sprig template functions.\nfunc initTplFuncs(i *i18n.I18n, u *UrlConfig) template.FuncMap {\n\tfuncs := template.FuncMap{\n\t\t\"RootURL\": func() string {\n\t\t\treturn u.RootURL\n\t\t},\n\t\t\"LogoURL\": func() string {\n\t\t\treturn u.LogoURL\n\t\t},\n\t\t\"Date\": func(layout string) string {\n\t\t\tif layout == \"\" {\n\t\t\t\tlayout = time.ANSIC\n\t\t\t}\n\t\t\treturn time.Now().Format(layout)\n\t\t},\n\t\t\"L\": func() *i18n.I18n {\n\t\t\treturn i\n\t\t},\n\t\t\"Safe\": func(safeHTML string) template.HTML {\n\t\t\treturn template.HTML(safeHTML)\n\t\t},\n\t}\n\n\t// Copy spring functions.\n\tsprigFuncs := sprig.GenericFuncMap()\n\tdelete(sprigFuncs, \"env\")\n\tdelete(sprigFuncs, \"expandenv\")\n\tdelete(sprigFuncs, \"getHostByName\")\n\n\tmaps.Copy(funcs, sprigFuncs)\n\n\treturn funcs\n}\n\n// initAuth initializes the auth module with the given DB connection and\nfunc initAuth(co *core.Core, db *sql.DB, ko *koanf.Koanf) (bool, *auth.Auth) {\n\tvar oidcCfg auth.OIDCConfig\n\n\t// If OIDC is enabled, set up the OIDC config.\n\tif ko.Bool(\"security.oidc.enabled\") {\n\t\toidcCfg = auth.OIDCConfig{\n\t\t\tEnabled:           true,\n\t\t\tProviderURL:       ko.String(\"security.oidc.provider_url\"),\n\t\t\tClientID:          ko.String(\"security.oidc.client_id\"),\n\t\t\tClientSecret:      ko.String(\"security.oidc.client_secret\"),\n\t\t\tAutoCreateUsers:   ko.Bool(\"security.oidc.auto_create_users\"),\n\t\t\tDefaultUserRoleID: ko.Int(\"security.oidc.default_user_role_id\"),\n\t\t\tDefaultListRoleID: ko.Int(\"security.oidc.default_list_role_id\"),\n\t\t\tRedirectURL:       fmt.Sprintf(\"%s/auth/oidc\", strings.TrimRight(ko.String(\"app.root_url\"), \"/\")),\n\t\t}\n\t}\n\n\t// Setup the sessio manager callbacks for getting and setting cookies.\n\tcb := &auth.Callbacks{\n\t\tGetCookie: func(name string, r any) (*http.Cookie, error) {\n\t\t\tc := r.(echo.Context)\n\t\t\tcookie, err := c.Cookie(name)\n\t\t\treturn cookie, err\n\t\t},\n\t\tSetCookie: func(cookie *http.Cookie, w any) error {\n\t\t\tc := w.(echo.Context)\n\t\t\tcookie.SameSite = http.SameSiteLaxMode\n\t\t\tc.SetCookie(cookie)\n\t\t\treturn nil\n\t\t},\n\t\tGetUser: func(id int) (auth.User, error) {\n\t\t\treturn co.GetUser(id, \"\", \"\")\n\t\t},\n\t}\n\n\t// Initiaize the auth module.\n\ta, err := auth.New(auth.Config{OIDC: oidcCfg}, db, cb, lo)\n\tif err != nil {\n\t\tlo.Fatalf(\"error initializing auth: %v\", err)\n\t}\n\n\t// Cache all API users in-memory for token auth.\n\thasUsers, err := cacheUsers(co, a)\n\tif err != nil {\n\t\tlo.Fatalf(\"error loading API users to cache: %v\", err)\n\t}\n\n\t// If the legacy username+password is set in the TOML file, use that as an API\n\t// access token in the auth module to preserve backwards compatibility for existing\n\t// API integrations. The presence of these values show a red banner on the admin UI\n\t// prompting the creation of new API credentials and the removal of values from\n\t// the TOML config.\n\tvar (\n\t\tusername = ko.String(\"app.admin_username\")\n\t\tpassword = ko.String(\"app.admin_password\")\n\t)\n\tif len(username) > 2 && len(password) > 6 {\n\t\tu := auth.User{\n\t\t\tUsername:      username,\n\t\t\tPassword:      null.String{Valid: true, String: password},\n\t\t\tPasswordLogin: true,\n\t\t\tHasPassword:   true,\n\t\t\tStatus:        auth.UserStatusEnabled,\n\t\t\tType:          auth.UserTypeAPI,\n\t\t}\n\t\tu.UserRole.ID = auth.SuperAdminRoleID\n\t\ta.CacheAPIUser(u)\n\n\t\tlo.Println(`WARNING: Remove the admin_username and admin_password fields from the TOML configuration file. If you are using APIs, create and use new credentials. Users are now managed via the Admin -> Settings -> Users dashboard.`)\n\t}\n\n\treturn hasUsers, a\n}\n\n// joinFSPaths joins the given paths with the root path and returns the full paths.\nfunc joinFSPaths(root string, paths []string) []string {\n\tout := make([]string, 0, len(paths))\n\tfor _, p := range paths {\n\t\t// real_path:stuffbin_alias\n\t\tf := strings.Split(p, \":\")\n\n\t\tout = append(out, path.Join(root, f[0])+\":\"+f[1])\n\t}\n\n\treturn out\n}\n"
  },
  {
    "path": "cmd/install.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/utils\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/knadh/stuffbin\"\n\t\"github.com/lib/pq\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\n// install runs the first time setup of setting up the database.\nfunc install(lastVer string, db *sqlx.DB, fs stuffbin.FileSystem, prompt, idempotent bool) {\n\tqMap := readQueries(queryFilePath, fs)\n\n\tfmt.Println(\"\")\n\tif !idempotent {\n\t\tfmt.Println(\"** first time installation **\")\n\t\tfmt.Printf(\"** IMPORTANT: This will wipe existing listmonk tables and types in the DB '%s' **\",\n\t\t\tko.String(\"db.database\"))\n\t} else {\n\t\tfmt.Println(\"** first time (idempotent) installation **\")\n\t}\n\tfmt.Println(\"\")\n\n\tif prompt {\n\t\tvar ok string\n\t\tfmt.Print(\"continue (y/N)?  \")\n\t\tif _, err := fmt.Scanf(\"%s\", &ok); err != nil {\n\t\t\tlo.Fatalf(\"error reading value from terminal: %v\", err)\n\t\t}\n\t\tif strings.ToLower(ok) != \"y\" {\n\t\t\tfmt.Println(\"install cancelled.\")\n\t\t\treturn\n\t\t}\n\t}\n\n\t// If idempotence is on, check if the DB is already setup.\n\tif idempotent {\n\t\tif _, err := db.Exec(\"SELECT count(*) FROM settings\"); err != nil {\n\t\t\t// If \"settings\" doesn't exist, assume it's a fresh install.\n\t\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Code != \"42P01\" {\n\t\t\t\tlo.Fatalf(\"error checking existing DB schema: %v\", err)\n\t\t\t}\n\t\t} else {\n\t\t\tlo.Println(\"skipping install as database appears to be already setup\")\n\t\t\tos.Exit(0)\n\t\t}\n\t}\n\n\t// Migrate the tables.\n\tif err := installSchema(lastVer, db, fs); err != nil {\n\t\tlo.Fatalf(\"error migrating DB schema: %v\", err)\n\t}\n\n\t// Load the queries.\n\tq := prepareQueries(qMap, db, ko)\n\n\t// Sample list.\n\tdefList, optinList := installLists(q)\n\n\t// Sample subscribers.\n\tinstallSubs(defList, optinList, q)\n\n\t// Templates.\n\tcampTplID, archiveTplID := installTemplates(q)\n\n\t// Sample campaign.\n\tinstallCampaign(campTplID, archiveTplID, q)\n\n\t// Setup admin user optionally.\n\tvar (\n\t\tuser     = os.Getenv(\"LISTMONK_ADMIN_USER\")\n\t\tpassword = os.Getenv(\"LISTMONK_ADMIN_PASSWORD\")\n\t\tapiUser  = os.Getenv(\"LISTMONK_ADMIN_API_USER\")\n\n\t\thasUser = false\n\t)\n\n\t// Admin user.\n\tif user != \"\" && password != \"\" {\n\t\tif len(user) < 3 || len(password) < 8 {\n\t\t\tlo.Fatal(\"LISTMONK_ADMIN_USER should be min 3 chars and LISTMONK_ADMIN_PASSWORD should be min 8 chars\")\n\t\t}\n\n\t\tlo.Printf(\"creating superadmin user '%s'\", user)\n\t\thasUser = true\n\t} else {\n\t\tlo.Printf(\"no superadmin user created. Visit webpage to create user.\")\n\t}\n\n\t// API User.\n\tif apiUser != \"\" {\n\t\tif !hasUser {\n\t\t\tlo.Fatal(\"LISTMONK_ADMIN_API_USER requires LISTMONK_ADMIN_USER and LISTMONK_ADMIN_PASSWORD to be set\")\n\t\t}\n\n\t\tif len(apiUser) < 3 {\n\t\t\tlo.Fatal(\"LISTMONK_ADMIN_API_USER should be min 3 chars\")\n\t\t}\n\n\t\tlo.Printf(\"creating superadmin API user '%s'\", apiUser)\n\t}\n\n\tif hasUser {\n\t\tinstallUser(user, password, apiUser, q)\n\t}\n\n\tlo.Printf(\"setup complete\")\n\tlo.Printf(`run the program and access the dashboard at %s`, ko.MustString(\"app.address\"))\n}\n\n// installSchema executes the SQL schema and creates the necessary tables and types.\nfunc installSchema(curVer string, db *sqlx.DB, fs stuffbin.FileSystem) error {\n\tq, err := fs.Read(\"/schema.sql\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(string(q)); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert the current migration version.\n\treturn recordMigrationVersion(curVer, db)\n}\n\nfunc installLists(q *models.Queries) (int, int) {\n\tvar (\n\t\tdefList   int\n\t\toptinList int\n\t)\n\tif err := q.CreateList.Get(&defList,\n\t\tuuid.Must(uuid.NewV4()),\n\t\t\"Default list\",\n\t\tmodels.ListTypePrivate,\n\t\tmodels.ListOptinSingle,\n\t\tmodels.ListStatusActive,\n\t\tpq.StringArray{\"test\"},\n\t\t\"\",\n\t); err != nil {\n\t\tlo.Fatalf(\"error creating list: %v\", err)\n\t}\n\n\tif err := q.CreateList.Get(&optinList, uuid.Must(uuid.NewV4()),\n\t\t\"Opt-in list\",\n\t\tmodels.ListTypePublic,\n\t\tmodels.ListOptinDouble,\n\t\tmodels.ListStatusActive,\n\t\tpq.StringArray{\"test\"},\n\t\t\"\",\n\t); err != nil {\n\t\tlo.Fatalf(\"error creating list: %v\", err)\n\t}\n\n\treturn defList, optinList\n}\n\nfunc installSubs(defListID, optinListID int, q *models.Queries) {\n\t// Sample subscriber.\n\tif _, err := q.UpsertSubscriber.Exec(\n\t\tuuid.Must(uuid.NewV4()),\n\t\t\"john@example.com\",\n\t\t\"John Doe\",\n\t\t`{\"type\": \"known\", \"good\": true, \"city\": \"Bengaluru\"}`,\n\t\tpq.Int64Array{int64(defListID)},\n\t\tmodels.SubscriptionStatusUnconfirmed,\n\t\ttrue, true); err != nil {\n\t\tlo.Fatalf(\"Error creating subscriber: %v\", err)\n\t}\n\tif _, err := q.UpsertSubscriber.Exec(\n\t\tuuid.Must(uuid.NewV4()),\n\t\t\"anon@example.com\",\n\t\t\"Anon Doe\",\n\t\t`{\"type\": \"unknown\", \"good\": true, \"city\": \"Bengaluru\"}`,\n\t\tpq.Int64Array{int64(optinListID)},\n\t\tmodels.SubscriptionStatusUnconfirmed,\n\t\ttrue, true); err != nil {\n\t\tlo.Fatalf(\"error creating subscriber: %v\", err)\n\t}\n}\n\nfunc installTemplates(q *models.Queries) (int, int) {\n\t// Default campaign template.\n\tcampTpl, err := fs.Get(\"/static/email-templates/default.tpl\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default e-mail template: %v\", err)\n\t}\n\n\tvar campTplID int\n\tif err := q.CreateTemplate.Get(&campTplID, \"Default campaign template\", models.TemplateTypeCampaign, \"\", campTpl.ReadBytes(), nil); err != nil {\n\t\tlo.Fatalf(\"error creating default campaign template: %v\", err)\n\t}\n\tif _, err := q.SetDefaultTemplate.Exec(campTplID); err != nil {\n\t\tlo.Fatalf(\"error setting default template: %v\", err)\n\t}\n\n\t// Default campaign archive template.\n\tarchiveTpl, err := fs.Get(\"/static/email-templates/default-archive.tpl\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default archive template: %v\", err)\n\t}\n\n\tvar archiveTplID int\n\tif err := q.CreateTemplate.Get(&archiveTplID, \"Default archive template\", models.TemplateTypeCampaign, \"\", archiveTpl.ReadBytes(), nil); err != nil {\n\t\tlo.Fatalf(\"error creating default campaign template: %v\", err)\n\t}\n\n\t// Sample tx template.\n\ttxTpl, err := fs.Get(\"/static/email-templates/sample-tx.tpl\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default e-mail template: %v\", err)\n\t}\n\n\tif _, err := q.CreateTemplate.Exec(\"Sample transactional template\", models.TemplateTypeTx, \"Welcome {{ .Subscriber.Name }}\", txTpl.ReadBytes(), nil); err != nil {\n\t\tlo.Fatalf(\"error creating sample transactional template: %v\", err)\n\t}\n\n\t// Sample visual campaign template.\n\tvisualTpl, err := fs.Get(\"/static/email-templates/default-visual.tpl\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default visual template: %v\", err)\n\t}\n\tvisualSrc, err := fs.Get(\"/static/email-templates/default-visual.json\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default visual template json: %v\", err)\n\t}\n\n\tif _, err := q.CreateTemplate.Exec(\"Sample visual template\", models.TemplateTypeCampaignVisual, \"\", visualTpl.ReadBytes(), visualSrc.ReadBytes()); err != nil {\n\t\tlo.Fatalf(\"error creating default campaign template: %v\", err)\n\t}\n\n\treturn campTplID, archiveTplID\n}\n\nfunc installCampaign(campTplID, archiveTplID int, q *models.Queries) {\n\t// Sample campaign.\n\tif _, err := q.CreateCampaign.Exec(uuid.Must(uuid.NewV4()),\n\t\tmodels.CampaignTypeRegular,\n\t\t\"Test campaign\",\n\t\t\"Welcome to listmonk\",\n\t\t\"No Reply <noreply@yoursite.com>\",\n\t\t`<h3>Hi {{ .Subscriber.FirstName }}!</h3>\n\t\t<p>This is a test e-mail campaign. Your second name is {{ .Subscriber.LastName }} and you are from {{ .Subscriber.Attribs.city }}.</p>\n\t\t<p>Here is a <a href=\"https://listmonk.app@TrackLink\">tracked link</a>.</p>\n\t\t<p>Use the link icon in the editor toolbar or when writing raw HTML or Markdown,\n\t\t\tsimply suffix @TrackLink to the end of a URL to turn it into a tracking link. Example:</p>\n\t\t<pre>&lt;a href=&quot;https:/&zwnj;/listmonk.app&#064;TrackLink&quot;&gt;&lt;/a&gt;</pre>\n\t\t<p>For help, refer to the <a href=\"https://listmonk.app/docs\">documentation</a>.</p>\n\t\t`,\n\t\tnil,\n\t\t\"richtext\",\n\t\tnil,\n\t\tjson.RawMessage(\"[]\"),\n\t\tjson.RawMessage(\"{}\"),\n\t\tpq.StringArray{\"test-campaign\"},\n\t\temailMsgr,\n\t\tcampTplID,\n\t\tpq.Int64Array{1},\n\t\tfalse,\n\t\t\"welcome-to-listmonk\",\n\t\tarchiveTplID,\n\t\t`{\"name\": \"Subscriber\"}`,\n\t\tnil,\n\t\tnil,\n\t); err != nil {\n\t\tlo.Fatalf(\"error creating sample campaign: %v\", err)\n\t}\n\n}\n\n// recordMigrationVersion inserts the given version (of DB migration) into the\n// `migrations` array in the settings table.\nfunc recordMigrationVersion(ver string, db *sqlx.DB) error {\n\t_, err := db.Exec(fmt.Sprintf(`INSERT INTO settings (key, value)\n\tVALUES('migrations', '[\"%s\"]'::JSONB)\n\tON CONFLICT (key) DO UPDATE SET value = settings.value || EXCLUDED.value`, ver))\n\treturn err\n}\n\nfunc newConfigFile(path string) error {\n\tif _, err := os.Stat(path); !os.IsNotExist(err) {\n\t\treturn fmt.Errorf(\"error creating %s: %v\", path, err)\n\t}\n\n\t// Initialize the static file system into which all\n\t// required static assets (.sql, .js files etc.) are loaded.\n\tfs := initFS(appDir, \"\", \"\", \"\")\n\tb, err := fs.Read(\"config.toml.sample\")\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error reading sample config (is binary stuffed?): %v\", err)\n\t}\n\n\treturn os.WriteFile(path, b, 0644)\n}\n\n// checkSchema checks if the DB schema is installed.\nfunc checkSchema(db *sqlx.DB) (bool, error) {\n\tif _, err := db.Exec(`SELECT id FROM templates LIMIT 1`); err != nil {\n\t\tif isTableNotExistErr(err) {\n\t\t\treturn false, nil\n\t\t}\n\t\treturn false, err\n\t}\n\treturn true, nil\n}\n\nfunc installUser(username, password, apiUsername string, q *models.Queries) {\n\tconsts := initConstConfig(ko)\n\n\t// Super Admin role gets all permissions.\n\tperms := []string{}\n\tfor p := range consts.Permissions {\n\t\tperms = append(perms, p)\n\t}\n\n\t// Create the Super Admin role in the DB.\n\tvar role auth.Role\n\tif err := q.CreateRole.Get(&role, \"Super Admin\", auth.RoleTypeUser, pq.Array(perms)); err != nil {\n\t\tlo.Fatalf(\"error creating super admin role: %v\", err)\n\t}\n\n\t// Create the admin user.\n\tif _, err := q.CreateUser.Exec(username, true, password, username+\"@listmonk\", username, auth.RoleTypeUser, role.ID, nil, auth.UserStatusEnabled); err != nil {\n\t\tlo.Fatalf(\"error creating superadmin user: %v\", err)\n\t}\n\n\t// Create the admin API user.\n\tif apiUsername != \"\" {\n\t\t// Generate a random API token.\n\t\ttk, err := utils.GenerateRandomString(32)\n\t\tif err != nil {\n\t\t\tlo.Fatalf(\"error generating API token: %v\", err)\n\t\t}\n\n\t\tvar (\n\t\t\temail    = null.String{String: apiUsername + \"@api\", Valid: true}\n\t\t\tpassword = null.String{String: tk, Valid: true}\n\t\t)\n\n\t\tif _, err := q.CreateUser.Exec(apiUsername, false, password, email, apiUsername, auth.UserTypeAPI, role.ID, nil, auth.UserStatusEnabled); err != nil {\n\t\t\tlo.Fatalf(\"error creating superadmin API user: %v\", err)\n\t\t}\n\n\t\t// Print the token to stdout so that it can be grepped out.\n\t\tlo.Println(\"writing API token LISTMONK_ADMIN_API_TOKEN to stderr\")\n\t\tfmt.Fprintf(os.Stderr, \"export LISTMONK_ADMIN_API_TOKEN=\\\"%s\\\"\\n\", tk)\n\t}\n}\n"
  },
  {
    "path": "cmd/lists.go",
    "content": "package main\n\nimport (\n\t\"net/http\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// GetLists retrieves lists with additional metadata like subscriber counts.\nfunc (a *App) GetLists(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Get the list IDs (or blanket permission) the user has access to.\n\thasAllPerm, permittedIDs := user.GetPermittedLists(auth.PermTypeGet)\n\n\t// Minimal query simply returns the list of all lists without JOIN subscriber counts. This is fast.\n\tminimal, _ := strconv.ParseBool(c.FormValue(\"minimal\"))\n\tif minimal {\n\t\tstatus := c.FormValue(\"status\")\n\t\tres, err := a.core.GetLists(\"\", status, hasAllPerm, permittedIDs)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif len(res) == 0 {\n\t\t\treturn c.JSON(http.StatusOK, okResp{[]struct{}{}})\n\t\t}\n\n\t\t// Meta.\n\t\ttotal := len(res)\n\t\tout := models.PageResults{\n\t\t\tResults: res,\n\t\t\tTotal:   total,\n\t\t\tPage:    1,\n\t\t\tPerPage: total,\n\t\t}\n\n\t\treturn c.JSON(http.StatusOK, okResp{out})\n\t}\n\n\t// Full list query.\n\tvar (\n\t\tquery   = strings.TrimSpace(c.FormValue(\"query\"))\n\t\ttags    = c.QueryParams()[\"tag\"]\n\t\torderBy = c.FormValue(\"order_by\")\n\t\ttyp     = c.FormValue(\"type\")\n\t\toptin   = c.FormValue(\"optin\")\n\t\tstatus  = c.FormValue(\"status\")\n\t\torder   = c.FormValue(\"order\")\n\n\t\tpg = a.pg.NewFromURL(c.Request().URL.Query())\n\t)\n\tres, total, err := a.core.QueryLists(query, typ, optin, status, tags, orderBy, order, hasAllPerm, permittedIDs, pg.Offset, pg.Limit)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tout := models.PageResults{\n\t\tQuery:   query,\n\t\tResults: res,\n\t\tTotal:   total,\n\t\tPage:    pg.Page,\n\t\tPerPage: pg.PerPage,\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetList retrieves a single list by id.\n// It's permission checked by the listPerm middleware.\nfunc (a *App) GetList(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Check if the user has access to the list.\n\tid := getID(c)\n\tif err := user.HasListPerm(auth.PermTypeGet, id); err != nil {\n\t\treturn err\n\t}\n\n\t// Get the list from the DB.\n\tout, err := a.core.GetList(id, \"\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// CreateList handles list creation.\nfunc (a *App) CreateList(c echo.Context) error {\n\tl := models.List{}\n\tif err := c.Bind(&l); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate.\n\tif !strHasLen(l.Name, 1, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"lists.invalidName\"))\n\t}\n\n\tout, err := a.core.CreateList(l)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateList handles list modification.\n// It's permission checked by the listPerm middleware.\nfunc (a *App) UpdateList(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Check if the user has access to the list.\n\tid := getID(c)\n\tif err := user.HasListPerm(auth.PermTypeManage, id); err != nil {\n\t\treturn err\n\t}\n\n\t// Incoming params.\n\tvar l models.List\n\tif err := c.Bind(&l); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate.\n\tif !strHasLen(l.Name, 1, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"lists.invalidName\"))\n\t}\n\n\t// Update the list in the DB.\n\tout, err := a.core.UpdateList(id, l)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// DeleteList deletes a single list by ID.\nfunc (a *App) DeleteList(c echo.Context) error {\n\tid := getID(c)\n\n\t// Check if the user has manage permission for the list.\n\tuser := auth.GetUser(c)\n\tif err := user.HasListPerm(auth.PermTypeManage, id); err != nil {\n\t\treturn err\n\t}\n\n\t// Delete the list from the DB.\n\t// Pass getAll=true since we've already verified permissions above.\n\tif err := a.core.DeleteLists([]int{id}, \"\", true, nil); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteLists deletes multiple lists by IDs or by query.\nfunc (a *App) DeleteLists(c echo.Context) error {\n\tuser := auth.GetUser(c)\n\n\tvar (\n\t\tids   []int\n\t\tquery string\n\t\tall   bool\n\t)\n\n\t// Check for IDs in query params.\n\tif len(c.Request().URL.Query()[\"id\"]) > 0 {\n\t\tvar err error\n\t\tids, err = parseStringIDs(c.Request().URL.Query()[\"id\"])\n\t\tif err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", err.Error()))\n\t\t}\n\t} else {\n\t\t// Check for query param.\n\t\tquery = strings.TrimSpace(c.FormValue(\"query\"))\n\t\tall = c.FormValue(\"all\") == \"true\"\n\t}\n\n\t// Validate that either IDs or query is provided.\n\tif len(ids) == 0 && (query == \"\" && !all) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", \"id or query required\"))\n\t}\n\n\t// For ID deletion, check if the user has manage permission for the specific lists.\n\tif len(ids) > 0 {\n\t\tif err := user.HasListPerm(auth.PermTypeManage, ids...); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Delete the lists from the DB.\n\t\t// Pass getAll=true since we've already verified permissions above.\n\t\tif err := a.core.DeleteLists(ids, \"\", true, nil); err != nil {\n\t\t\treturn err\n\t\t}\n\t} else {\n\t\t// For query deletion, get the list IDs the user has manage permission for.\n\t\thasAllPerm, permittedIDs := user.GetPermittedLists(auth.PermTypeManage)\n\n\t\t// Delete the lists from the DB with permission filtering.\n\t\tif err := a.core.DeleteLists(nil, query, hasAllPerm, permittedIDs); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n"
  },
  {
    "path": "cmd/main.go",
    "content": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"os\"\n\t\"os/signal\"\n\t\"strings\"\n\t\"sync\"\n\t\"syscall\"\n\t\"time\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/providers/env\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/bounce\"\n\t\"github.com/knadh/listmonk/internal/buflog\"\n\t\"github.com/knadh/listmonk/internal/captcha\"\n\t\"github.com/knadh/listmonk/internal/core\"\n\t\"github.com/knadh/listmonk/internal/events\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/internal/manager\"\n\t\"github.com/knadh/listmonk/internal/media\"\n\t\"github.com/knadh/listmonk/internal/messenger/email\"\n\t\"github.com/knadh/listmonk/internal/subimporter\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/knadh/paginator\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// App contains the \"global\" shared components, controllers and fields.\ntype App struct {\n\tcfg        *Config\n\turlCfg     *UrlConfig\n\tfs         stuffbin.FileSystem\n\tdb         *sqlx.DB\n\tqueries    *models.Queries\n\tcore       *core.Core\n\tmanager    *manager.Manager\n\tmessengers []manager.Messenger\n\temailMsgr  manager.Messenger\n\timporter   *subimporter.Importer\n\tauth       *auth.Auth\n\tmedia      media.Store\n\tbounce     *bounce.Manager\n\tcaptcha    *captcha.Captcha\n\ti18n       *i18n.I18n\n\tpg         *paginator.Paginator\n\tevents     *events.Events\n\tlog        *log.Logger\n\tbufLog     *buflog.BufLog\n\n\tabout         about\n\tfnOptinNotify func(models.Subscriber, []int) (int, error)\n\n\t// Channel for passing reload signals.\n\tchReload chan os.Signal\n\n\t// Global variable that stores the state indicating that a restart is required\n\t// after a settings update.\n\tneedsRestart bool\n\n\t// First time installation with no user records in the DB. Needs user setup.\n\tneedsUserSetup bool\n\n\t// Global state that stores data on an available remote update.\n\tupdate *AppUpdate\n\tsync.Mutex\n}\n\nvar (\n\t// Buffered log writer for storing N lines of log entries for the UI.\n\tevStream = events.New()\n\tbufLog   = buflog.New(5000)\n\tlo       = log.New(io.MultiWriter(os.Stdout, bufLog, evStream.ErrWriter()), \"\", log.Ldate|log.Ltime|log.Lmicroseconds|log.Lshortfile)\n\n\tko      = koanf.New(\".\")\n\tfs      stuffbin.FileSystem\n\tdb      *sqlx.DB\n\tqueries *models.Queries\n\n\t// Compile-time variables.\n\tbuildString   string\n\tversionString string\n\n\t// If these are set in build ldflags and static assets (*.sql, config.toml.sample. ./frontend)\n\t// are not embedded (in make dist), these paths are looked up. The default values before, when not\n\t// overridden by build flags, are relative to the CWD at runtime.\n\tappDir      string = \".\"\n\tfrontendDir string = \"frontend/dist\"\n)\n\nfunc init() {\n\t// Initialize commandline flags.\n\tinitFlags(ko)\n\n\t// Display version.\n\tif ko.Bool(\"version\") {\n\t\tfmt.Println(buildString)\n\t\tos.Exit(0)\n\t}\n\n\tlo.Println(buildString)\n\n\t// Generate new config.\n\tif ko.Bool(\"new-config\") {\n\t\tpath := ko.Strings(\"config\")[0]\n\t\tif err := newConfigFile(path); err != nil {\n\t\t\tlo.Println(err)\n\t\t\tos.Exit(1)\n\t\t}\n\t\tlo.Printf(\"generated %s. Edit and run --install\", path)\n\t\tos.Exit(0)\n\t}\n\n\t// Load config files to pick up the database settings first.\n\tinitConfigFiles(ko.Strings(\"config\"), ko)\n\n\t// Load environment variables and merge into the loaded config.\n\t// LISTMONK_foo__bar -> foo.bar (double underscore becomes dot for nested config)\n\t// LISTMONK_static_dir -> static-dir (top-level keys with underscore become hyphen for CLI flags)\n\tif err := ko.Load(env.Provider(\"LISTMONK_\", \".\", func(s string) string {\n\t\tkey := strings.ToLower(strings.TrimPrefix(s, \"LISTMONK_\"))\n\t\tkey = strings.Replace(key, \"__\", \".\", -1)\n\t\t// Only convert underscore to hyphen for top-level keys (CLI flags like static-dir, i18n-dir)\n\t\t// Nested config keys (containing dots) keep underscores (e.g., db.ssl_mode)\n\t\tif !strings.Contains(key, \".\") {\n\t\t\tkey = strings.Replace(key, \"_\", \"-\", -1)\n\t\t}\n\t\treturn key\n\t}), nil); err != nil {\n\t\tlo.Fatalf(\"error loading config from env: %v\", err)\n\t}\n\n\t// Connect to the database.\n\tdb = initDB()\n\n\t// Initialize the embedded filesystem with static assets.\n\tfs = initFS(appDir, frontendDir, ko.String(\"static-dir\"), ko.String(\"i18n-dir\"))\n\n\t// Installer mode? This runs before the SQL queries are loaded and prepared\n\t// as the installer needs to work on an empty DB.\n\tif ko.Bool(\"install\") {\n\t\t// Save the version of the last listed migration.\n\t\tinstall(migList[len(migList)-1].version, db, fs, !ko.Bool(\"yes\"), ko.Bool(\"idempotent\"))\n\t\tos.Exit(0)\n\t}\n\n\t// Is this a nightly build?\n\tisNightly := strings.Contains(versionString, \"nightly\")\n\n\t// Check if the DB schema is installed.\n\tif ok, err := checkSchema(db); err != nil {\n\t\tlog.Fatalf(\"error checking schema in DB: %v\", err)\n\t} else if !ok {\n\t\tlo.Fatal(\"the database does not appear to be setup. Run --install.\")\n\t}\n\n\tif ko.Bool(\"upgrade\") {\n\t\t// Even on explicit upgrade runs, for nightly builds, do not record the last\n\t\t// migration version in the DB.\n\t\tlo.Printf(\"running upgrade...\")\n\t\tupgrade(db, fs, !ko.Bool(\"yes\"), !isNightly)\n\t\tos.Exit(0)\n\t}\n\n\t// For nightly builds, always auto-run pending migrations without\n\t// recording the last version in the DB. Migrations are idempotent, and between\n\t// nightly releases, they may change multiple times.\n\tif isNightly {\n\t\tlo.Printf(\"auto-running all migrations for nightly %s since last major version\", versionString)\n\t\tupgrade(db, fs, false, false)\n\t} else {\n\t\t// Before the queries are prepared, see if there are pending upgrades.\n\t\tcheckUpgrade(db)\n\t}\n\n\t// Read the SQL queries from the queries file.\n\tqMap := readQueries(queryFilePath, fs)\n\n\t// Load settings from DB.\n\tif q, ok := qMap[\"get-settings\"]; ok {\n\t\tinitSettings(q.Query, db, ko)\n\t}\n\n\t// Prepare queries.\n\tqueries = prepareQueries(qMap, db, ko)\n}\n\nfunc main() {\n\tvar (\n\t\t// Initialize static global config.\n\t\tcfg = initConstConfig(ko)\n\n\t\t// Initialize static URL config.\n\t\turlCfg = initUrlConfig(ko)\n\n\t\t// Initialize i18n language map.\n\t\ti18n = initI18n(ko.MustString(\"app.lang\"), fs)\n\n\t\t// Initialize the media store.\n\t\tmedia = initMediaStore(ko)\n\n\t\tfbOptinNotify = makeOptinNotifyHook(ko.Bool(\"privacy.unsubscribe_header\"), urlCfg, queries, i18n)\n\n\t\t// Crud core.\n\t\tcore = initCore(fbOptinNotify, queries, db, i18n, ko)\n\n\t\t// Initialize all messengers, SMTP and postback.\n\t\tmsgrs = append(initSMTPMessengers(), initPostbackMessengers(ko)...)\n\n\t\t// Campaign manager.\n\t\tmgr = initCampaignManager(msgrs, queries, urlCfg, core, media, i18n, ko)\n\n\t\t// Bulk importer.\n\t\timporter = initImporter(queries, db, core, i18n, ko)\n\n\t\t// Initialize the auth manager.\n\t\thasUsers, auth = initAuth(core, db.DB, ko)\n\n\t\t// Initialize the webhook/POP3 bounce processor.\n\t\tbounce *bounce.Manager\n\n\t\temailMsgr *email.Emailer\n\n\t\tchReload = make(chan os.Signal, 1)\n\t)\n\n\t// Initialize the bounce manager that processes bounces from webhooks and\n\t// POP3 mailbox scanning.\n\tif ko.Bool(\"bounce.enabled\") {\n\t\tbounce = initBounceManager(core.RecordBounce, queries.RecordBounce, lo, ko)\n\t}\n\n\t// Assign the default `email` messenger to the app.\n\tfor _, m := range msgrs {\n\t\tif m.Name() == \"email\" {\n\t\t\temailMsgr = m.(*email.Emailer)\n\t\t}\n\t}\n\n\t// Initialize the global admin/sub e-mail notifier.\n\tinitNotifs(fs, i18n, emailMsgr, urlCfg, ko)\n\n\t// Initialize and cache tx templates in memory.\n\tinitTxTemplates(mgr, core)\n\n\t// Initialize the bounce manager that processes bounces from webhooks and\n\t// POP3 mailbox scanning.\n\tif ko.Bool(\"bounce.enabled\") {\n\t\tgo bounce.Run()\n\t}\n\n\t// Start cronjobs.\n\tinitCron(core, db)\n\n\t// Start the campaign manager workers. The campaign batches (fetch from DB, push out\n\t// messages) get processed at the specified interval.\n\tgo mgr.Run()\n\n\t// =========================================================================\n\t// Initialize the App{} with all the global shared components, controllers and fields.\n\tapp := &App{\n\t\tcfg:        cfg,\n\t\turlCfg:     urlCfg,\n\t\tfs:         fs,\n\t\tdb:         db,\n\t\tqueries:    queries,\n\t\tcore:       core,\n\t\tmanager:    mgr,\n\t\tmessengers: msgrs,\n\t\temailMsgr:  emailMsgr,\n\t\timporter:   importer,\n\t\tauth:       auth,\n\t\tmedia:      media,\n\t\tbounce:     bounce,\n\t\tcaptcha:    initCaptcha(),\n\t\ti18n:       i18n,\n\t\tlog:        lo,\n\t\tevents:     evStream,\n\t\tbufLog:     bufLog,\n\n\t\tpg: paginator.New(paginator.Opt{\n\t\t\tDefaultPerPage: 20,\n\t\t\tMaxPerPage:     50,\n\t\t\tNumPageNums:    10,\n\t\t\tPageParam:      \"page\",\n\t\t\tPerPageParam:   \"per_page\",\n\t\t\tAllowAll:       true,\n\t\t}),\n\n\t\tfnOptinNotify: fbOptinNotify,\n\t\tabout:         initAbout(queries, db),\n\t\tchReload:      chReload,\n\n\t\t// If there are no users, then the app needs to prompt for new user setup.\n\t\tneedsUserSetup: !hasUsers,\n\t}\n\n\t// Star the update checker.\n\tif ko.Bool(\"app.check_updates\") {\n\t\tgo app.checkUpdates(versionString, time.Hour*24)\n\t}\n\n\t// Start the app server.\n\tsrv := initHTTPServer(cfg, urlCfg, i18n, fs, app)\n\n\t// =========================================================================\n\t// Wait for the reload signal with a callback to gracefully shut down resources.\n\t// The `wait` channel is passed to awaitReload to wait for the callback to finish\n\t// within N seconds, or do a force reload.\n\tsignal.Notify(chReload, syscall.SIGHUP)\n\n\tcloserWait := make(chan bool)\n\t<-awaitReload(chReload, closerWait, func() {\n\t\t// Stop the HTTP server.\n\t\tctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)\n\t\tdefer cancel()\n\t\tsrv.Shutdown(ctx)\n\n\t\t// Close the campaign manager.\n\t\tmgr.Close()\n\n\t\t// Close the DB pool.\n\t\tdb.Close()\n\n\t\t// Close the messenger pool.\n\t\tfor _, m := range app.messengers {\n\t\t\tm.Close()\n\t\t}\n\n\t\t// Signal the close.\n\t\tcloserWait <- true\n\t})\n}\n"
  },
  {
    "path": "cmd/maintenance.go",
    "content": "package main\n\nimport (\n\t\"log\"\n\t\"net/http\"\n\t\"time\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// GCSubscribers garbage collects (deletes) orphaned or blocklisted subscribers.\nfunc (a *App) GCSubscribers(c echo.Context) error {\n\tvar (\n\t\ttyp = c.Param(\"type\")\n\n\t\tn   int\n\t\terr error\n\t)\n\n\tswitch typ {\n\tcase \"blocklisted\":\n\t\tn, err = a.core.DeleteBlocklistedSubscribers()\n\tcase \"orphan\":\n\t\tn, err = a.core.DeleteOrphanSubscribers()\n\tdefault:\n\t\terr = echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t}\n\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{struct {\n\t\tCount int `json:\"count\"`\n\t}{n}})\n}\n\n// GCSubscriptions garbage collects (deletes) orphaned or blocklisted subscribers.\nfunc (a *App) GCSubscriptions(c echo.Context) error {\n\t// Validate the date.\n\tt, err := time.Parse(time.RFC3339, c.FormValue(\"before_date\"))\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t}\n\n\t// Delete unconfirmed subscriptions from the DB in bulk.\n\tn, err := a.core.DeleteUnconfirmedSubscriptions(t)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{struct {\n\t\tCount int `json:\"count\"`\n\t}{n}})\n}\n\n// GCCampaignAnalytics garbage collects (deletes) campaign analytics.\nfunc (a *App) GCCampaignAnalytics(c echo.Context) error {\n\n\tt, err := time.Parse(time.RFC3339, c.FormValue(\"before_date\"))\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t}\n\n\tswitch c.Param(\"type\") {\n\tcase \"all\":\n\t\tif err := a.core.DeleteCampaignViews(t); err != nil {\n\t\t\treturn err\n\t\t}\n\t\terr = a.core.DeleteCampaignLinkClicks(t)\n\tcase \"views\":\n\t\terr = a.core.DeleteCampaignViews(t)\n\tcase \"clicks\":\n\t\terr = a.core.DeleteCampaignLinkClicks(t)\n\tdefault:\n\t\terr = echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t}\n\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// RunDBVacuum runs a full VACUUM on the PostgreSQL database.\n// VACUUM reclaims storage occupied by dead tuples and updates planner statistics.\nfunc RunDBVacuum(db *sqlx.DB, lo *log.Logger) {\n\tlo.Println(\"running database VACUUM ANALYZE\")\n\tif _, err := db.Exec(\"VACUUM ANALYZE\"); err != nil {\n\t\tlo.Printf(\"error running VACUUM ANALYZE: %v\", err)\n\t\treturn\n\t}\n\tlo.Println(\"finished database VACUUM ANALYZE\")\n}\n"
  },
  {
    "path": "cmd/manager_store.go",
    "content": "package main\n\nimport (\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/knadh/listmonk/internal/core\"\n\t\"github.com/knadh/listmonk/internal/manager\"\n\t\"github.com/knadh/listmonk/internal/media\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/lib/pq\"\n)\n\n// store implements DataSource over the primary\n// database.\ntype store struct {\n\tqueries *models.Queries\n\tcore    *core.Core\n\tmedia   media.Store\n}\n\ntype runningCamp struct {\n\tCampaignID       int    `db:\"campaign_id\"`\n\tCampaignType     string `db:\"campaign_type\"`\n\tLastSubscriberID int    `db:\"last_subscriber_id\"`\n\tMaxSubscriberID  int    `db:\"max_subscriber_id\"`\n\tListID           int    `db:\"list_id\"`\n}\n\nfunc newManagerStore(q *models.Queries, c *core.Core, m media.Store) *store {\n\treturn &store{\n\t\tqueries: q,\n\t\tcore:    c,\n\t\tmedia:   m,\n\t}\n}\n\n// NextCampaigns retrieves active campaigns ready to be processed excluding\n// campaigns that are also being processed. Additionally, it takes a map of campaignID:sentCount\n// of campaigns that are being processed and updates them in the DB.\nfunc (s *store) NextCampaigns(currentIDs []int64, sentCounts []int64) ([]*models.Campaign, error) {\n\tvar out []*models.Campaign\n\terr := s.queries.NextCampaigns.Select(&out, pq.Int64Array(currentIDs), pq.Int64Array(sentCounts))\n\treturn out, err\n}\n\n// NextSubscribers retrieves a subset of subscribers of a given campaign.\n// Since batches are processed sequentially, the retrieval is ordered by ID,\n// and every batch takes the last ID of the last batch and fetches the next\n// batch above that.\nfunc (s *store) NextSubscribers(campID, limit int) ([]models.Subscriber, error) {\n\tvar camps []runningCamp\n\tif err := s.queries.GetRunningCampaign.Select(&camps, campID); err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar listIDs []int\n\tfor _, c := range camps {\n\t\tlistIDs = append(listIDs, c.ListID)\n\t}\n\n\tif len(listIDs) == 0 {\n\t\treturn nil, nil\n\t}\n\n\tvar out []models.Subscriber\n\terr := s.queries.NextCampaignSubscribers.Select(&out, camps[0].CampaignID, camps[0].CampaignType, camps[0].LastSubscriberID, camps[0].MaxSubscriberID, pq.Array(listIDs), limit)\n\treturn out, err\n}\n\n// GetCampaign fetches a campaign from the database.\nfunc (s *store) GetCampaign(campID int) (*models.Campaign, error) {\n\tvar out = &models.Campaign{}\n\terr := s.queries.GetCampaign.Get(out, campID, nil, nil, \"default\")\n\treturn out, err\n}\n\n// UpdateCampaignStatus updates a campaign's status.\nfunc (s *store) UpdateCampaignStatus(campID int, status string) error {\n\t_, err := s.queries.UpdateCampaignStatus.Exec(campID, status)\n\treturn err\n}\n\n// UpdateCampaignCounts updates a campaign's status.\nfunc (s *store) UpdateCampaignCounts(campID int, toSend int, sent int, lastSubID int) error {\n\t_, err := s.queries.UpdateCampaignCounts.Exec(campID, toSend, sent, lastSubID)\n\treturn err\n}\n\n// GetAttachment fetches a media attachment blob.\nfunc (s *store) GetAttachment(mediaID int) (models.Attachment, error) {\n\tm, err := s.core.GetMedia(mediaID, \"\", \"\", s.media)\n\tif err != nil {\n\t\treturn models.Attachment{}, err\n\t}\n\n\tb, err := s.media.GetBlob(m.URL)\n\tif err != nil {\n\t\treturn models.Attachment{}, err\n\t}\n\n\treturn models.Attachment{\n\t\tName:    m.Filename,\n\t\tContent: b,\n\t\tHeader:  manager.MakeAttachmentHeader(m.Filename, \"base64\", m.ContentType),\n\t}, nil\n}\n\n// CreateLink registers a URL with a UUID for tracking clicks and returns the UUID.\nfunc (s *store) CreateLink(url string) (string, error) {\n\t// Create a new UUID for the URL. If the URL already exists in the DB\n\t// the UUID in the database is returned.\n\tuu, err := uuid.NewV4()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tvar out string\n\tif err := s.queries.CreateLink.Get(&out, uu, url); err != nil {\n\t\treturn \"\", err\n\t}\n\n\treturn out, nil\n}\n\n// RecordBounce records a bounce event and returns the bounce count.\nfunc (s *store) RecordBounce(b models.Bounce) (int64, int, error) {\n\tvar res = struct {\n\t\tSubscriberID int64 `db:\"subscriber_id\"`\n\t\tNum          int   `db:\"num\"`\n\t}{}\n\n\terr := s.queries.UpdateCampaignStatus.Select(&res,\n\t\tb.SubscriberUUID,\n\t\tb.Email,\n\t\tb.CampaignUUID,\n\t\tb.Type,\n\t\tb.Source,\n\t\tb.Meta)\n\n\treturn res.SubscriberID, res.Num, err\n}\n\n// BlocklistSubscriber blocklists a subscriber permanently.\nfunc (s *store) BlocklistSubscriber(id int64) error {\n\t_, err := s.queries.BlocklistSubscribers.Exec(pq.Int64Array{id})\n\treturn err\n}\n\n// DeleteSubscriber deletes a subscriber from the DB.\nfunc (s *store) DeleteSubscriber(id int64) error {\n\t_, err := s.queries.DeleteSubscribers.Exec(pq.Int64Array{id})\n\treturn err\n}\n"
  },
  {
    "path": "cmd/media.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"mime/multipart\"\n\t\"net/http\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github.com/disintegration/imaging\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\nconst (\n\tthumbPrefix   = \"thumb_\"\n\tthumbnailSize = 250\n)\n\nvar (\n\tvectorExts = []string{\"svg\"}\n\timageExts  = []string{\"gif\", \"png\", \"jpg\", \"jpeg\"}\n)\n\n// UploadMedia handles media file uploads.\nfunc (a *App) UploadMedia(c echo.Context) error {\n\tfile, err := c.FormFile(\"file\")\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"media.invalidFile\", \"error\", err.Error()))\n\t}\n\n\t// Read the file from the HTTP form.\n\tsrc, err := file.Open()\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"media.errorReadingFile\", \"error\", err.Error()))\n\t}\n\tdefer src.Close()\n\n\tvar (\n\t\t// Naive check for content type and extension.\n\t\text         = strings.TrimPrefix(strings.ToLower(filepath.Ext(file.Filename)), \".\")\n\t\tcontentType = file.Header.Get(\"Content-Type\")\n\t)\n\n\t// Validate file extension.\n\tif !inArray(\"*\", a.cfg.MediaUpload.Extensions) {\n\t\tif ok := inArray(ext, a.cfg.MediaUpload.Extensions); !ok {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"media.unsupportedFileType\", \"type\", ext))\n\t\t}\n\t}\n\n\t// Sanitize the filename.\n\tfName := makeFilename(file.Filename)\n\n\t// If the filename already exists in the DB, make it unique by adding a random suffix.\n\tif _, err := a.core.GetMedia(0, \"\", fName, a.media); err == nil {\n\t\tsuffix, err := generateRandomString(6)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error generating random string: %v\", err)\n\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"globals.messages.internalError\"))\n\t\t}\n\n\t\tfName = appendSuffixToFilename(fName, suffix)\n\t}\n\n\t// Upload the file to the media store.\n\tfName, err = a.media.Put(fName, contentType, src)\n\tif err != nil {\n\t\ta.log.Printf(\"error uploading file: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"media.errorUploading\", \"error\", err.Error()))\n\t}\n\n\t// This keeps track of whether the file has to be deleted from the DB and the store\n\t// if any of the subsequent steps fail.\n\tvar (\n\t\tcleanUp    = false\n\t\tthumbfName = \"\"\n\t)\n\tdefer func() {\n\t\tif cleanUp {\n\t\t\ta.media.Delete(fName)\n\n\t\t\tif thumbfName != \"\" {\n\t\t\t\ta.media.Delete(thumbfName)\n\t\t\t}\n\t\t}\n\t}()\n\n\t// Thumbnail width and height.\n\tvar width, height int\n\n\t// Create thumbnail from file for non-vector formats.\n\tisImage := inArray(ext, imageExts)\n\tif isImage {\n\t\tthumbFile, wi, he, err := processImage(file)\n\t\tif err != nil {\n\t\t\tcleanUp = true\n\t\t\ta.log.Printf(\"error resizing image: %v\", err)\n\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\ta.i18n.Ts(\"media.errorResizing\", \"error\", err.Error()))\n\t\t}\n\t\twidth = wi\n\t\theight = he\n\n\t\t// Upload thumbnail.\n\t\ttf, err := a.media.Put(thumbPrefix+fName, contentType, thumbFile)\n\t\tif err != nil {\n\t\t\tcleanUp = true\n\t\t\ta.log.Printf(\"error saving thumbnail: %v\", err)\n\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\ta.i18n.Ts(\"media.errorSavingThumbnail\", \"error\", err.Error()))\n\t\t}\n\t\tthumbfName = tf\n\t}\n\tif inArray(ext, vectorExts) {\n\t\tthumbfName = fName\n\t}\n\n\t// Images have metadata.\n\tmeta := models.JSON{}\n\tif isImage {\n\t\tmeta = models.JSON{\n\t\t\t\"width\":  width,\n\t\t\t\"height\": height,\n\t\t}\n\t}\n\n\t// Insert the media into the DB.\n\tm, err := a.core.InsertMedia(fName, thumbfName, contentType, meta, a.cfg.MediaUpload.Provider, a.media)\n\tif err != nil {\n\t\tcleanUp = true\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{m})\n}\n\n// GetAllMedia handles retrieval of uploaded media.\nfunc (a *App) GetAllMedia(c echo.Context) error {\n\tvar (\n\t\tquery = c.FormValue(\"query\")\n\n\t\tpg = a.pg.NewFromURL(c.Request().URL.Query())\n\t)\n\t// Fetch the media items from the DB.\n\tres, total, err := a.core.QueryMedia(a.cfg.MediaUpload.Provider, a.media, query, pg.Offset, pg.Limit)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tout := models.PageResults{\n\t\tResults: res,\n\t\tTotal:   total,\n\t\tPage:    pg.Page,\n\t\tPerPage: pg.PerPage,\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetMedia handles retrieval of a media item by ID.\nfunc (a *App) GetMedia(c echo.Context) error {\n\t// Fetch the media item from the DB.\n\tid := getID(c)\n\tout, err := a.core.GetMedia(id, \"\", \"\", a.media)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// DeleteMedia handles deletion of uploaded media.\nfunc (a *App) DeleteMedia(c echo.Context) error {\n\n\t// Delete the media from the DB. The query returns the filename.\n\tid := getID(c)\n\tfname, err := a.core.DeleteMedia(id)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Delete the files from the media store.\n\ta.media.Delete(fname)\n\ta.media.Delete(thumbPrefix + fname)\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// ServeS3Media serves media files stored in S3 when the public URL is a relative path.\nfunc (a *App) ServeS3Media(c echo.Context) error {\n\tkey := c.Param(\"filepath\")\n\tif key == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, \"missing media file path\")\n\t}\n\n\tb, err := a.media.GetBlob(key)\n\tif err != nil {\n\t\ta.log.Printf(\"error fetching media from s3 %s: %v\", key, err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, \"error fetching media\")\n\t}\n\n\treturn c.Stream(http.StatusOK, http.DetectContentType(b), bytes.NewReader(b))\n}\n\n// processImage reads the image file and returns thumbnail bytes and\n// the original image's width, and height.\nfunc processImage(file *multipart.FileHeader) (*bytes.Reader, int, int, error) {\n\tsrc, err := file.Open()\n\tif err != nil {\n\t\treturn nil, 0, 0, err\n\t}\n\tdefer src.Close()\n\n\timg, err := imaging.Decode(src)\n\tif err != nil {\n\t\treturn nil, 0, 0, err\n\t}\n\n\t// Encode the image into a byte slice as PNG.\n\tvar (\n\t\tthumb = imaging.Resize(img, thumbnailSize, 0, imaging.Lanczos)\n\t\tout   bytes.Buffer\n\t)\n\tif err := imaging.Encode(&out, thumb, imaging.PNG); err != nil {\n\t\treturn nil, 0, 0, err\n\t}\n\n\tb := img.Bounds().Max\n\treturn bytes.NewReader(out.Bytes()), b.X, b.Y, nil\n}\n"
  },
  {
    "path": "cmd/public.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"database/sql\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"image\"\n\t\"image/png\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/captcha\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/internal/manager\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\nconst (\n\ttplMessage = \"message\"\n)\n\n// tplRenderer wraps a template.tplRenderer for echo.\ntype tplRenderer struct {\n\ttemplates           *template.Template\n\tSiteName            string\n\tRootURL             string\n\tLogoURL             string\n\tFaviconURL          string\n\tAssetVersion        string\n\tEnablePublicSubPage bool\n\tEnablePublicArchive bool\n\tIndividualTracking  bool\n}\n\n// tplData is the data container that is injected\n// into public templates for accessing data.\ntype tplData struct {\n\tSiteName            string\n\tRootURL             string\n\tLogoURL             string\n\tFaviconURL          string\n\tAssetVersion        string\n\tEnablePublicSubPage bool\n\tEnablePublicArchive bool\n\tIndividualTracking  bool\n\tData                any\n\tL                   *i18n.I18n\n}\n\ntype publicTpl struct {\n\tTitle       string\n\tDescription string\n}\n\ntype unsubTpl struct {\n\tpublicTpl\n\tSubscriber       models.Subscriber\n\tSubscriptions    []models.Subscription\n\tSubUUID          string\n\tAllowBlocklist   bool\n\tAllowExport      bool\n\tAllowWipe        bool\n\tAllowPreferences bool\n\tShowManage       bool\n}\n\ntype optinReq struct {\n\tSubUUID   string\n\tListUUIDs []string      `query:\"l\" form:\"l\"`\n\tLists     []models.List `query:\"-\" form:\"-\"`\n}\n\ntype optinTpl struct {\n\tpublicTpl\n\toptinReq\n}\n\ntype msgTpl struct {\n\tpublicTpl\n\tMessageTitle string\n\tMessage      string\n}\n\ntype subFormTpl struct {\n\tpublicTpl\n\tLists   []models.List\n\tCaptcha struct {\n\t\tEnabled    bool\n\t\tProvider   string\n\t\tKey        string\n\t\tComplexity int\n\t}\n}\n\nvar (\n\tpixelPNG = drawTransparentImage(3, 14)\n)\n\n// Render executes and renders a template for echo.\nfunc (t *tplRenderer) Render(w io.Writer, name string, data any, c echo.Context) error {\n\treturn t.templates.ExecuteTemplate(w, name, tplData{\n\t\tSiteName:            t.SiteName,\n\t\tRootURL:             t.RootURL,\n\t\tLogoURL:             t.LogoURL,\n\t\tFaviconURL:          t.FaviconURL,\n\t\tAssetVersion:        t.AssetVersion,\n\t\tEnablePublicSubPage: t.EnablePublicSubPage,\n\t\tEnablePublicArchive: t.EnablePublicArchive,\n\t\tIndividualTracking:  t.IndividualTracking,\n\t\tData:                data,\n\t\tL:                   c.Get(\"app\").(*App).i18n,\n\t})\n}\n\n// GetPublicLists returns the list of public lists with minimal fields\n// required to submit a subscription.\nfunc (a *App) GetPublicLists(c echo.Context) error {\n\t// Get all public lists.\n\tlists, err := a.core.GetLists(models.ListTypePublic, models.ListStatusActive, true, nil)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.errorFetchingLists\"))\n\t}\n\n\ttype list struct {\n\t\tUUID string `json:\"uuid\"`\n\t\tName string `json:\"name\"`\n\t}\n\n\tout := make([]list, 0, len(lists))\n\tfor _, l := range lists {\n\t\tout = append(out, list{\n\t\t\tUUID: l.UUID,\n\t\t\tName: l.Name,\n\t\t})\n\t}\n\n\treturn c.JSON(http.StatusOK, out)\n}\n\n// ViewCampaignMessage renders the HTML view of a campaign message.\n// This is the view the {{ MessageURL }} template tag links to in e-mail campaigns.\nfunc (a *App) ViewCampaignMessage(c echo.Context) error {\n\t// Get the campaign.\n\tcampUUID := c.Param(\"campUUID\")\n\tcamp, err := a.core.GetCampaign(0, campUUID, \"\")\n\tif err != nil {\n\t\tif er, ok := err.(*echo.HTTPError); ok {\n\t\t\tif er.Code == http.StatusBadRequest {\n\t\t\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.notFoundTitle\"), \"\", a.i18n.T(\"public.campaignNotFound\")))\n\t\t\t}\n\t\t}\n\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\t// Get the subscriber.\n\tsubUUID := c.Param(\"subUUID\")\n\tsub, err := a.core.GetSubscriber(0, subUUID, \"\")\n\tif err != nil {\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.notFoundTitle\"), \"\", a.i18n.T(\"public.errorFetchingEmail\")))\n\t\t}\n\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\t// Compile the template.\n\tif err := camp.CompileTemplate(a.manager.TemplateFuncs(&camp)); err != nil {\n\t\ta.log.Printf(\"error compiling template: %v\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\t// Render the message body.\n\tmsg, err := a.manager.NewCampaignMessage(&camp, sub)\n\tif err != nil {\n\t\ta.log.Printf(\"error rendering message: %v\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingCampaign\")))\n\t}\n\n\treturn c.HTML(http.StatusOK, string(msg.Body()))\n}\n\n// SubscriptionPage renders the subscription management page and handles unsubscriptions.\n// This is the view that {{ UnsubscribeURL }} in campaigns link to.\nfunc (a *App) SubscriptionPage(c echo.Context) error {\n\tvar (\n\t\tsubUUID       = c.Param(\"subUUID\")\n\t\tshowManage, _ = strconv.ParseBool(c.FormValue(\"manage\"))\n\t)\n\n\t// Get the subscriber from the DB.\n\ts, err := a.core.GetSubscriber(0, subUUID, \"\")\n\tif err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorProcessingRequest\")))\n\t}\n\n\t// Prepare the public template.\n\tout := unsubTpl{\n\t\tSubscriber:       s,\n\t\tSubUUID:          subUUID,\n\t\tpublicTpl:        publicTpl{Title: a.i18n.T(\"public.unsubscribeTitle\")},\n\t\tAllowBlocklist:   a.cfg.Privacy.AllowBlocklist,\n\t\tAllowExport:      a.cfg.Privacy.AllowExport,\n\t\tAllowWipe:        a.cfg.Privacy.AllowWipe,\n\t\tAllowPreferences: a.cfg.Privacy.AllowPreferences,\n\t}\n\n\t// If the subscriber is blocklisted, throw an error.\n\tif s.Status == models.SubscriberStatusBlockListed {\n\t\treturn c.Render(http.StatusOK, tplMessage, makeMsgTpl(a.i18n.T(\"public.noSubTitle\"), \"\", a.i18n.Ts(\"public.blocklisted\")))\n\t}\n\n\t// Only show preference management if it's enabled in settings.\n\tif a.cfg.Privacy.AllowPreferences {\n\t\tout.ShowManage = showManage\n\n\t\t// Get the subscriber's lists from the DB to render in the template.\n\t\tsubs, err := a.core.GetSubscriptions(0, subUUID, false)\n\t\tif err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.errorFetchingLists\"))\n\t\t}\n\n\t\tout.Subscriptions = make([]models.Subscription, 0, len(subs))\n\t\tfor _, s := range subs {\n\t\t\t// Private lists shouldn't be rendered in the template.\n\t\t\tif s.Type == models.ListTypePrivate {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tout.Subscriptions = append(out.Subscriptions, s)\n\t\t}\n\t}\n\n\treturn c.Render(http.StatusOK, \"subscription\", out)\n}\n\n// SubscriptionPrefs renders the subscription management page and\n// s unsubscriptions. This is the view that {{ UnsubscribeURL }} in\n// campaigns link to.\nfunc (a *App) SubscriptionPrefs(c echo.Context) error {\n\t// Read the form.\n\tvar req struct {\n\t\tName      string   `form:\"name\" json:\"name\"`\n\t\tListUUIDs []string `form:\"l\" json:\"list_uuids\"`\n\t\tBlocklist bool     `form:\"blocklist\" json:\"blocklist\"`\n\t\tManage    bool     `form:\"manage\" json:\"manage\"`\n\t}\n\tif err := c.Bind(&req); err != nil {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"globals.messages.invalidData\")))\n\t}\n\n\t// Simple unsubscribe.\n\tvar (\n\t\tcampUUID  = c.Param(\"campUUID\")\n\t\tsubUUID   = c.Param(\"subUUID\")\n\t\tblocklist = a.cfg.Privacy.AllowBlocklist && req.Blocklist\n\t)\n\tif !req.Manage || blocklist {\n\t\tif err := a.core.UnsubscribeByCampaign(subUUID, campUUID, blocklist); err != nil {\n\t\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.errorProcessingRequest\")))\n\t\t}\n\n\t\treturn c.Render(http.StatusOK, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.unsubbedTitle\"), \"\", a.i18n.T(\"public.unsubbedInfo\")))\n\t}\n\n\t// Is preference management enabled?\n\tif !a.cfg.Privacy.AllowPreferences {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.invalidFeature\")))\n\t}\n\n\t// Manage preferences.\n\treq.Name = strings.TrimSpace(req.Name)\n\tif req.Name == \"\" || len(req.Name) > 256 {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"subscribers.invalidName\")))\n\t}\n\n\t// Get the subscriber from the DB.\n\tsub, err := a.core.GetSubscriber(0, subUUID, \"\")\n\tif err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"globals.messages.pFound\",\n\t\t\t\t\"name\", a.i18n.T(\"globals.terms.subscriber\"))))\n\t}\n\tsub.Name = req.Name\n\n\t// Update the subscriber properties in the DB.\n\tif _, err := a.core.UpdateSubscriber(sub.ID, sub); err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.errorProcessingRequest\")))\n\t}\n\n\t// Get the subscriber's lists and whatever is not sent in the request (unchecked),\n\t// unsubscribe them.\n\treqUUIDs := make(map[string]struct{})\n\tfor _, u := range req.ListUUIDs {\n\t\treqUUIDs[u] = struct{}{}\n\t}\n\n\t// Get subscription from teh DB.\n\tsubs, err := a.core.GetSubscriptions(0, subUUID, false)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.errorFetchingLists\"))\n\t}\n\n\t// Filter the lists in the request against the subscriptions in the DB.\n\tunsubUUIDs := make([]string, 0, len(req.ListUUIDs))\n\tfor _, s := range subs {\n\t\tif s.Type == models.ListTypePrivate {\n\t\t\tcontinue\n\t\t}\n\t\tif _, ok := reqUUIDs[s.UUID]; !ok {\n\t\t\tunsubUUIDs = append(unsubUUIDs, s.UUID)\n\t\t}\n\t}\n\n\t// Unsubscribe from lists.\n\tif err := a.core.UnsubscribeLists([]int{sub.ID}, nil, unsubUUIDs); err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.errorProcessingRequest\")))\n\n\t}\n\n\treturn c.Render(http.StatusOK, tplMessage,\n\t\tmakeMsgTpl(a.i18n.T(\"globals.messages.done\"), \"\", a.i18n.T(\"public.prefsSaved\")))\n}\n\n// OptinPage renders the double opt-in confirmation page that subscribers\n// see when they click on the \"Confirm subscription\" button in double-optin\n// notifications.\nfunc (a *App) OptinPage(c echo.Context) error {\n\tvar (\n\t\tsubUUID    = c.Param(\"subUUID\")\n\t\tconfirm, _ = strconv.ParseBool(c.FormValue(\"confirm\"))\n\t\treq        optinReq\n\t)\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate list UUIDs if there are incoming UUIDs in the request.\n\tif len(req.ListUUIDs) > 0 {\n\t\tfor _, l := range req.ListUUIDs {\n\t\t\tif !reUUID.MatchString(l) {\n\t\t\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"globals.messages.invalidUUID\")))\n\t\t\t}\n\t\t}\n\t}\n\n\t// Get the list of subscription lists where the subscriber hasn't confirmed.\n\tlists, err := a.core.GetSubscriberLists(0, subUUID, nil, req.ListUUIDs, models.SubscriptionStatusUnconfirmed, \"\")\n\tif err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingLists\")))\n\t}\n\n\t// There are no lists to confirm.\n\tif len(lists) == 0 {\n\t\treturn c.Render(http.StatusOK, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.noSubTitle\"), \"\", a.i18n.Ts(\"public.noSubInfo\")))\n\t}\n\n\t// Confirm.\n\tif confirm {\n\t\tmeta := models.JSON{}\n\t\tif a.cfg.Privacy.RecordOptinIP {\n\t\t\tif h := c.Request().Header.Get(\"X-Forwarded-For\"); h != \"\" {\n\t\t\t\tmeta[\"optin_ip\"] = h\n\t\t\t} else if h := c.Request().RemoteAddr; h != \"\" {\n\t\t\t\tmeta[\"optin_ip\"] = strings.Split(h, \":\")[0]\n\t\t\t}\n\t\t}\n\n\t\t// Confirm subscriptions in the DB.\n\t\tif err := a.core.ConfirmOptionSubscription(subUUID, req.ListUUIDs, meta); err != nil {\n\t\t\ta.log.Printf(\"error unsubscribing: %v\", err)\n\t\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorProcessingRequest\")))\n\t\t}\n\n\t\treturn c.Render(http.StatusOK, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.subConfirmedTitle\"), \"\", a.i18n.Ts(\"public.subConfirmed\")))\n\t}\n\n\tvar out optinTpl\n\tout.Lists = lists\n\tout.SubUUID = subUUID\n\tout.Title = a.i18n.T(\"public.confirmOptinSubTitle\")\n\n\treturn c.Render(http.StatusOK, \"optin\", out)\n}\n\n// SubscriptionFormPage handles subscription requests coming from public\n// HTML subscription forms.\nfunc (a *App) SubscriptionFormPage(c echo.Context) error {\n\tif !a.cfg.EnablePublicSubPage {\n\t\treturn c.Render(http.StatusNotFound, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.invalidFeature\")))\n\t}\n\n\t// Get all public lists from the DB.\n\tlists, err := a.core.GetLists(models.ListTypePublic, models.ListStatusActive, true, nil)\n\tif err != nil {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorFetchingLists\")))\n\t}\n\n\t// There are no public lists available for subscription.\n\tif len(lists) == 0 {\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.noListsAvailable\")))\n\t}\n\n\tout := subFormTpl{}\n\tout.Title = a.i18n.T(\"public.sub\")\n\tout.Lists = lists\n\n\t// Captcha configuration for template rendering.\n\tif a.cfg.Security.Captcha.Altcha.Enabled {\n\t\tout.Captcha.Enabled = true\n\t\tout.Captcha.Provider = \"altcha\"\n\t\tout.Captcha.Complexity = a.cfg.Security.Captcha.Altcha.Complexity\n\t} else if a.cfg.Security.Captcha.HCaptcha.Enabled {\n\t\tout.Captcha.Enabled = true\n\t\tout.Captcha.Provider = \"hcaptcha\"\n\t\tout.Captcha.Key = a.cfg.Security.Captcha.HCaptcha.Key\n\t}\n\n\treturn c.Render(http.StatusOK, \"subscription-form\", out)\n}\n\n// SubscriptionForm handles subscription requests coming from public\n// HTML subscription forms.\nfunc (a *App) SubscriptionForm(c echo.Context) error {\n\tif !a.cfg.EnablePublicSubPage {\n\t\treturn echo.NewHTTPError(http.StatusNotFound, a.i18n.T(\"public.invalidFeature\"))\n\n\t}\n\n\t// If there's a nonce value, a bot could've filled the form.\n\tif c.FormValue(\"nonce\") != \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadGateway, a.i18n.T(\"public.invalidFeature\"))\n\t}\n\n\t// Process CAPTCHA.\n\tif a.captcha.IsEnabled() {\n\t\tvar val string\n\n\t\t// Get the appropriate captcha response field based on provider.\n\t\tswitch a.captcha.GetProvider() {\n\t\tcase captcha.ProviderHCaptcha:\n\t\t\tval = c.FormValue(\"h-captcha-response\")\n\t\tcase captcha.ProviderAltcha:\n\t\t\tval = c.FormValue(\"altcha\")\n\t\tdefault:\n\t\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.invalidCaptcha\")))\n\t\t}\n\n\t\tif val == \"\" {\n\t\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.invalidCaptcha\")))\n\t\t}\n\n\t\terr, ok := a.captcha.Verify(val)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"captcha request failed: %v\", err)\n\t\t}\n\n\t\tif !ok {\n\t\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.T(\"public.invalidCaptcha\")))\n\t\t}\n\t}\n\n\thasOptin, err := a.processSubForm(c)\n\tif err != nil {\n\t\te, ok := err.(*echo.HTTPError)\n\t\tif !ok {\n\t\t\treturn err\n\t\t}\n\n\t\treturn c.Render(e.Code, tplMessage, makeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", fmt.Sprintf(\"%s\", e.Message)))\n\t}\n\n\t// If there were double optin lists, show the opt-in pending message instead of\n\t// the subscription confirmation message.\n\tmsg := \"public.subConfirmed\"\n\tif hasOptin {\n\t\tmsg = \"public.subOptinPending\"\n\t}\n\n\treturn c.Render(http.StatusOK, tplMessage, makeMsgTpl(a.i18n.T(\"public.subTitle\"), \"\", a.i18n.Ts(msg)))\n}\n\n// PublicSubscription handles subscription requests coming from public\n// API calls.\nfunc (a *App) PublicSubscription(c echo.Context) error {\n\tif !a.cfg.EnablePublicSubPage {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.invalidFeature\"))\n\t}\n\n\thasOptin, err := a.processSubForm(c)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{struct {\n\t\tHasOptin bool `json:\"has_optin\"`\n\t}{hasOptin}})\n}\n\n// LinkRedirect redirects a link UUID to its original underlying link\n// after recording the link click for a particular subscriber in the particular\n// campaign. These links are generated by {{ TrackLink }} tags in campaigns.\nfunc (a *App) LinkRedirect(c echo.Context) error {\n\tvar (\n\t\tlinkUUID = c.Param(\"linkUUID\")\n\t\tcampUUID = c.Param(\"campUUID\")\n\t)\n\n\t// If tracking is globally disabled, resolve the URL without recording a click.\n\tif a.cfg.Privacy.DisableTracking {\n\t\turl, err := a.core.GetLinkURL(linkUUID)\n\t\tif err != nil {\n\t\t\te := err.(*echo.HTTPError)\n\t\t\treturn c.Render(e.Code, tplMessage, makeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", e.Error()))\n\t\t}\n\t\treturn c.Redirect(http.StatusTemporaryRedirect, url)\n\t}\n\n\t// If individual tracking is disabled, do not record the subscriber ID.\n\tsubUUID := c.Param(\"subUUID\")\n\tif !a.cfg.Privacy.IndividualTracking {\n\t\tsubUUID = \"\"\n\t}\n\n\turl, err := a.core.RegisterCampaignLinkClick(linkUUID, campUUID, subUUID)\n\tif err != nil {\n\t\te := err.(*echo.HTTPError)\n\t\treturn c.Render(e.Code, tplMessage, makeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", e.Error()))\n\t}\n\n\treturn c.Redirect(http.StatusTemporaryRedirect, url)\n}\n\n// RegisterCampaignView registers a campaign view which comes in\n// the form of an pixel image request. Regardless of errors, this handler\n// should always render the pixel image bytes. The pixel URL is generated by\n// the {{ TrackView }} template tag in campaigns.\nfunc (a *App) RegisterCampaignView(c echo.Context) error {\n\t// If tracking is globally disabled, return the pixel without recording.\n\tif a.cfg.Privacy.DisableTracking {\n\t\tc.Response().Header().Set(\"Cache-Control\", \"no-cache\")\n\t\treturn c.Blob(http.StatusOK, \"image/png\", pixelPNG)\n\t}\n\n\t// If individual tracking is disabled, do not record the subscriber ID.\n\tsubUUID := c.Param(\"subUUID\")\n\tif !a.cfg.Privacy.IndividualTracking {\n\t\tsubUUID = \"\"\n\t}\n\n\t// Exclude dummy hits from template previews.\n\tcampUUID := c.Param(\"campUUID\")\n\tif campUUID != dummyUUID && subUUID != dummyUUID {\n\t\tif err := a.core.RegisterCampaignView(campUUID, subUUID); err != nil {\n\t\t\ta.log.Printf(\"error registering campaign view: %s\", err)\n\t\t}\n\t}\n\n\tc.Response().Header().Set(\"Cache-Control\", \"no-cache\")\n\treturn c.Blob(http.StatusOK, \"image/png\", pixelPNG)\n}\n\n// SelfExportSubscriberData pulls the subscriber's profile, list subscriptions,\n// campaign views and clicks and produces a JSON report that is then e-mailed\n// to the subscriber. This is a privacy feature and the data that's exported\n// is dependent on the configuration.\nfunc (a *App) SelfExportSubscriberData(c echo.Context) error {\n\t// Is export allowed?\n\tif !a.cfg.Privacy.AllowExport {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.invalidFeature\")))\n\t}\n\n\t// Get the subscriber's data. A single query that gets the profile,\n\t// list subscriptions, campaign views, and link clicks. Names of\n\t// private lists are replaced with \"Private list\".\n\tsubUUID := c.Param(\"subUUID\")\n\tdata, b, err := a.exportSubscriberData(0, subUUID, a.cfg.Privacy.Exportable)\n\tif err != nil {\n\t\ta.log.Printf(\"error exporting subscriber data: %s\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorProcessingRequest\")))\n\t}\n\n\t// Prepare the attachment e-mail.\n\tvar msg bytes.Buffer\n\tif err := notifs.Tpls.ExecuteTemplate(&msg, notifs.TplSubscriberData, data); err != nil {\n\t\ta.log.Printf(\"error compiling notification template '%s': %v\", notifs.TplSubscriberData, err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorProcessingRequest\")))\n\t}\n\n\t// TODO: GetTplSubject should be moved to a utils package.\n\tsubject, body := notifs.GetTplSubject(a.i18n.Ts(\"email.data.title\"), msg.Bytes())\n\n\t// E-mail the data as a JSON attachment to the subscriber.\n\tconst fname = \"data.json\"\n\tif err := a.emailMsgr.Push(models.Message{\n\t\tFrom:    a.cfg.FromEmail,\n\t\tTo:      []string{data.Email},\n\t\tSubject: subject,\n\t\tBody:    body,\n\t\tAttachments: []models.Attachment{\n\t\t\t{\n\t\t\t\tName:    fname,\n\t\t\t\tContent: b,\n\t\t\t\tHeader:  manager.MakeAttachmentHeader(fname, \"base64\", \"application/json\"),\n\t\t\t},\n\t\t},\n\t}); err != nil {\n\t\ta.log.Printf(\"error e-mailing subscriber profile: %s\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorProcessingRequest\")))\n\t}\n\n\treturn c.Render(http.StatusOK, tplMessage,\n\t\tmakeMsgTpl(a.i18n.T(\"public.dataSentTitle\"), \"\", a.i18n.T(\"public.dataSent\")))\n}\n\n// WipeSubscriberData allows a subscriber to delete their data. The\n// profile and subscriptions are deleted, while the campaign_views and link\n// clicks remain as orphan data unconnected to any subscriber.\nfunc (a *App) WipeSubscriberData(c echo.Context) error {\n\t// Is wiping allowed?\n\tif !a.cfg.Privacy.AllowWipe {\n\t\treturn c.Render(http.StatusBadRequest, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.invalidFeature\")))\n\t}\n\n\tsubUUID := c.Param(\"subUUID\")\n\tif err := a.core.DeleteSubscribers(nil, []string{subUUID}); err != nil {\n\t\ta.log.Printf(\"error wiping subscriber data: %s\", err)\n\t\treturn c.Render(http.StatusInternalServerError, tplMessage,\n\t\t\tmakeMsgTpl(a.i18n.T(\"public.errorTitle\"), \"\", a.i18n.Ts(\"public.errorProcessingRequest\")))\n\t}\n\n\treturn c.Render(http.StatusOK, tplMessage,\n\t\tmakeMsgTpl(a.i18n.T(\"public.dataRemovedTitle\"), \"\", a.i18n.T(\"public.dataRemoved\")))\n}\n\n// AltchaChallenge generates a challenge for Altcha captcha.\nfunc (a *App) AltchaChallenge(c echo.Context) error {\n\t// Check if Altcha is enabled.\n\tif !a.captcha.IsEnabled() || a.captcha.GetProvider() != captcha.ProviderAltcha {\n\t\treturn echo.NewHTTPError(http.StatusNotFound, \"captcha not enabled\")\n\t}\n\n\t// Generate challenge.\n\tout, err := a.captcha.GenerateChallenge()\n\tif err != nil {\n\t\ta.log.Printf(\"error generating altcha challenge: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, \"Error generating challenge\")\n\t}\n\n\t// Return the challenge as JSON.\n\tc.Response().Header().Set(\"Content-Type\", \"application/json\")\n\treturn c.String(http.StatusOK, out)\n}\n\n// drawTransparentImage draws a transparent PNG of given dimensions\n// and returns the PNG bytes.\nfunc drawTransparentImage(h, w int) []byte {\n\tvar (\n\t\timg = image.NewRGBA(image.Rect(0, 0, w, h))\n\t\tout = &bytes.Buffer{}\n\t)\n\t_ = png.Encode(out, img)\n\n\treturn out.Bytes()\n}\n\n// processSubForm processes an incoming form/public API subscription request.\n// The bool indicates whether there was subscription to an optin list so that\n// an appropriate message can be shown.\nfunc (a *App) processSubForm(c echo.Context) (bool, error) {\n\t// Get and validate fields.\n\tvar req struct {\n\t\tName          string   `form:\"name\" json:\"name\"`\n\t\tEmail         string   `form:\"email\" json:\"email\"`\n\t\tFormListUUIDs []string `form:\"l\" json:\"list_uuids\"`\n\t}\n\tif err := c.Bind(&req); err != nil {\n\t\treturn false, err\n\t}\n\n\tif len(req.FormListUUIDs) == 0 {\n\t\treturn false, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.noListsSelected\"))\n\t}\n\n\t// Validate fields.\n\tif len(req.Email) > 1000 {\n\t\treturn false, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.invalidEmail\"))\n\t}\n\n\tem, err := a.importer.SanitizeEmail(req.Email)\n\tif err != nil {\n\t\treturn false, echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t}\n\treq.Email = em\n\n\treq.Name = strings.TrimSpace(req.Name)\n\tif len(req.Name) == 0 {\n\t\t// If there's no name, use the name bit from the e-mail.\n\t\treq.Name = strings.Split(req.Email, \"@\")[0]\n\t} else if len(req.Name) > stdInputMaxLen {\n\t\treturn false, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.invalidName\"))\n\t}\n\n\tlistUUIDs := pq.StringArray(req.FormListUUIDs)\n\n\t// Fetch the list types and ensure that they are not private.\n\tlistTypes, err := a.core.GetListTypes(nil, req.FormListUUIDs)\n\tif err != nil {\n\t\treturn false, echo.NewHTTPError(http.StatusInternalServerError, fmt.Sprintf(\"%s\", err.(*echo.HTTPError).Message))\n\t}\n\n\tfor _, t := range listTypes {\n\t\tif t == models.ListTypePrivate {\n\t\t\treturn false, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidUUID\"))\n\t\t}\n\t}\n\n\t// Insert the subscriber into the DB.\n\t_, hasOptin, err := a.core.InsertSubscriber(models.Subscriber{\n\t\tName:   req.Name,\n\t\tEmail:  req.Email,\n\t\tStatus: models.SubscriberStatusEnabled,\n\t}, nil, listUUIDs, false, true)\n\tif err == nil {\n\t\treturn hasOptin, nil\n\t}\n\n\t// Insert returned an error. Examine it.\n\tvar lastErr = err\n\n\t// Subscriber already exists. Update subscriptions in the DB.\n\tif e, ok := err.(*echo.HTTPError); ok && e.Code == http.StatusConflict {\n\t\t// Get the subscriber from the DB by their email.\n\t\tsub, err := a.core.GetSubscriber(0, \"\", req.Email)\n\t\tif err != nil {\n\t\t\treturn false, err\n\t\t}\n\n\t\t// Update the subscriber's subscriptions in the DB.\n\t\t_, hasOptin, err := a.core.UpdateSubscriberWithLists(sub.ID, sub, nil, listUUIDs, false, false, true, nil)\n\t\tif err == nil {\n\t\t\treturn hasOptin, nil\n\t\t}\n\t\tlastErr = err\n\t}\n\n\t// Something else went wrong.\n\tif e, ok := lastErr.(*echo.HTTPError); ok {\n\t\treturn false, echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf(\"%s\", e.Message))\n\t}\n\treturn false, echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"public.errorProcessingRequest\"))\n}\n"
  },
  {
    "path": "cmd/roles.go",
    "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// GetUserRoles retrieves roles.\nfunc (a *App) GetUserRoles(c echo.Context) error {\n\t// Get all roles.\n\tout, err := a.core.GetRoles()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GeListRoles retrieves roles.\nfunc (a *App) GeListRoles(c echo.Context) error {\n\t// Get all roles.\n\tout, err := a.core.GetListRoles()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// CreateUserRole handles role creation.\nfunc (a *App) CreateUserRole(c echo.Context) error {\n\tvar r auth.Role\n\tif err := c.Bind(&r); err != nil {\n\t\treturn err\n\t}\n\tif err := a.validateUserRole(r); err != nil {\n\t\treturn err\n\t}\n\n\t// Create the role in the DB.\n\tout, err := a.core.CreateRole(r)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// CreateListRole handles role creation.\nfunc (a *App) CreateListRole(c echo.Context) error {\n\tvar r auth.ListRole\n\tif err := c.Bind(&r); err != nil {\n\t\treturn err\n\t}\n\tif err := a.validateListRole(r); err != nil {\n\t\treturn err\n\t}\n\n\t// Create the role in the DB.\n\tout, err := a.core.CreateListRole(r)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateUserRole handles role modification.\nfunc (a *App) UpdateUserRole(c echo.Context) error {\n\tid := getID(c)\n\n\t// ID 1 is reserved for the Super Admin user role.\n\tif id == auth.SuperAdminRoleID {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t}\n\n\t// Incoming params.\n\tvar r auth.Role\n\tif err := c.Bind(&r); err != nil {\n\t\treturn err\n\t}\n\tif err := a.validateUserRole(r); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate.\n\tr.Name.String = strings.TrimSpace(r.Name.String)\n\n\t// Update the role in the DB.\n\tout, err := a.core.UpdateUserRole(id, r)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Cache API tokens for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateListRole handles role modification.\nfunc (a *App) UpdateListRole(c echo.Context) error {\n\t// Get the role ID.\n\tid := getID(c)\n\n\t// ID 1 is reserved for the Super Admin user role.\n\tif id == auth.SuperAdminRoleID {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t}\n\n\t// Incoming params.\n\tvar r auth.ListRole\n\tif err := c.Bind(&r); err != nil {\n\t\treturn err\n\t}\n\n\tif err := a.validateListRole(r); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate.\n\tr.Name.String = strings.TrimSpace(r.Name.String)\n\n\t// Update the role in the DB.\n\tout, err := a.core.UpdateListRole(id, r)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Cache API tokens for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// DeleteRole handles (user|list) role deletion.\nfunc (a *App) DeleteRole(c echo.Context) error {\n\t// Get the role ID.\n\tid := getID(c)\n\n\t// ID 1 is reserved for the Super Admin user role.\n\tif id == auth.SuperAdminRoleID {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t}\n\n\t// Delete the role from the DB.\n\tif err := a.core.DeleteRole(int(id)); err != nil {\n\t\treturn err\n\t}\n\n\t// Cache API tokens for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\nfunc (a *App) validateUserRole(r auth.Role) error {\n\tif !strHasLen(r.Name.String, 1, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"name\"))\n\t}\n\n\tfor _, p := range r.Permissions {\n\t\tif _, ok := a.cfg.Permissions[p]; !ok {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", fmt.Sprintf(\"permission: %s\", p)))\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (a *App) validateListRole(r auth.ListRole) error {\n\tif !strHasLen(r.Name.String, 1, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"name\"))\n\t}\n\n\tfor _, l := range r.Lists {\n\t\tfor _, p := range l.Permissions {\n\t\t\tif p != auth.PermListGet && p != auth.PermListManage {\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", fmt.Sprintf(\"list permission: %s\", p)))\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "cmd/settings.go",
    "content": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"regexp\"\n\t\"runtime\"\n\t\"strings\"\n\t\"syscall\"\n\t\"time\"\n\t\"unicode/utf8\"\n\n\t\"github.com/gdgvda/cron\"\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/jmoiron/sqlx/types\"\n\tkoanfjson \"github.com/knadh/koanf/parsers/json\"\n\t\"github.com/knadh/koanf/providers/rawbytes\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/messenger/email\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\nconst pwdMask = \"•\"\n\ntype aboutHost struct {\n\tOS       string `json:\"os\"`\n\tMachine  string `json:\"arch\"`\n\tHostname string `json:\"hostname\"`\n}\n\ntype aboutSystem struct {\n\tNumCPU  int    `json:\"num_cpu\"`\n\tAllocMB uint64 `json:\"memory_alloc_mb\"`\n\tOSMB    uint64 `json:\"memory_from_os_mb\"`\n}\n\ntype about struct {\n\tVersion   string         `json:\"version\"`\n\tBuild     string         `json:\"build\"`\n\tGoVersion string         `json:\"go_version\"`\n\tGoArch    string         `json:\"go_arch\"`\n\tDatabase  types.JSONText `json:\"database\"`\n\tSystem    aboutSystem    `json:\"system\"`\n\tHost      aboutHost      `json:\"host\"`\n}\n\nvar (\n\treAlphaNum = regexp.MustCompile(`[^a-z0-9\\-]`)\n)\n\n// GetSettings returns settings from the DB.\nfunc (a *App) GetSettings(c echo.Context) error {\n\ts, err := a.core.GetSettings()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Empty out passwords.\n\tfor i := range s.SMTP {\n\t\ts.SMTP[i].Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.SMTP[i].Password))\n\t}\n\tfor i := range s.BounceBoxes {\n\t\ts.BounceBoxes[i].Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.BounceBoxes[i].Password))\n\t}\n\tfor i := range s.Messengers {\n\t\ts.Messengers[i].Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.Messengers[i].Password))\n\t}\n\n\ts.UploadS3AwsSecretAccessKey = strings.Repeat(pwdMask, utf8.RuneCountInString(s.UploadS3AwsSecretAccessKey))\n\ts.SendgridKey = strings.Repeat(pwdMask, utf8.RuneCountInString(s.SendgridKey))\n\ts.BouncePostmark.Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.BouncePostmark.Password))\n\ts.BounceForwardEmail.Key = strings.Repeat(pwdMask, utf8.RuneCountInString(s.BounceForwardEmail.Key))\n\ts.SecurityCaptcha.HCaptcha.Secret = strings.Repeat(pwdMask, utf8.RuneCountInString(s.SecurityCaptcha.HCaptcha.Secret))\n\ts.OIDC.ClientSecret = strings.Repeat(pwdMask, utf8.RuneCountInString(s.OIDC.ClientSecret))\n\n\treturn c.JSON(http.StatusOK, okResp{s})\n}\n\n// UpdateSettings returns settings from the DB.\nfunc (a *App) UpdateSettings(c echo.Context) error {\n\t// Unmarshal and marshal the fields once to sanitize the settings blob.\n\tvar set models.Settings\n\tif err := c.Bind(&set); err != nil {\n\t\treturn err\n\t}\n\n\t// Get the existing settings.\n\tcur, err := a.core.GetSettings()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Validate and sanitize postback Messenger names along with SMTP names\n\t// (where each SMTP is also considered as a standalone messenger).\n\t// Duplicates are disallowed and \"email\" is a reserved name.\n\tnames := map[string]bool{emailMsgr: true}\n\n\t// There should be at least one SMTP block that's enabled.\n\thas := false\n\tfor i, s := range set.SMTP {\n\t\tif s.Enabled {\n\t\t\thas = true\n\t\t}\n\n\t\t// Sanitize and normalize the SMTP server name.\n\t\tname := reAlphaNum.ReplaceAllString(strings.ToLower(strings.TrimSpace(s.Name)), \"-\")\n\t\tif name != \"\" {\n\t\t\tif !strings.HasPrefix(name, \"email-\") {\n\t\t\t\tname = \"email-\" + name\n\t\t\t}\n\n\t\t\tif _, ok := names[name]; ok {\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\t\ta.i18n.Ts(\"settings.duplicateMessengerName\", \"name\", name))\n\t\t\t}\n\n\t\t\tnames[name] = true\n\t\t}\n\t\tset.SMTP[i].Name = name\n\n\t\t// Assign a UUID. The frontend only sends a password when the user explicitly\n\t\t// changes the password. In other cases, the existing password in the DB\n\t\t// is copied while updating the settings and the UUID is used to match\n\t\t// the incoming array of SMTP blocks with the array in the DB.\n\t\tif s.UUID == \"\" {\n\t\t\tset.SMTP[i].UUID = uuid.Must(uuid.NewV4()).String()\n\t\t}\n\n\t\t// Ensure the HOST is trimmed of any whitespace.\n\t\t// This is a common mistake when copy-pasting SMTP settings.\n\t\tset.SMTP[i].Host = strings.TrimSpace(s.Host)\n\n\t\t// If there's no password coming in from the frontend, copy the existing\n\t\t// password by matching the UUID.\n\t\tif s.Password == \"\" {\n\t\t\tfor _, c := range cur.SMTP {\n\t\t\t\tif s.UUID == c.UUID {\n\t\t\t\t\tset.SMTP[i].Password = c.Password\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif !has {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"settings.errorNoSMTP\"))\n\t}\n\n\t// Always remove the trailing slash from the app root URL.\n\tset.AppRootURL = strings.TrimRight(set.AppRootURL, \"/\")\n\n\t// Bounce boxes.\n\tfor i, s := range set.BounceBoxes {\n\t\t// Assign a UUID. The frontend only sends a password when the user explicitly\n\t\t// changes the password. In other cases, the existing password in the DB\n\t\t// is copied while updating the settings and the UUID is used to match\n\t\t// the incoming array of blocks with the array in the DB.\n\t\tif s.UUID == \"\" {\n\t\t\tset.BounceBoxes[i].UUID = uuid.Must(uuid.NewV4()).String()\n\t\t}\n\n\t\t// Ensure the HOST is trimmed of any whitespace.\n\t\t// This is a common mistake when copy-pasting SMTP settings.\n\t\tset.BounceBoxes[i].Host = strings.TrimSpace(s.Host)\n\n\t\tif d, _ := time.ParseDuration(s.ScanInterval); d.Minutes() < 1 {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"settings.bounces.invalidScanInterval\"))\n\t\t}\n\n\t\t// If there's no password coming in from the frontend, copy the existing\n\t\t// password by matching the UUID.\n\t\tif s.Password == \"\" {\n\t\t\tfor _, c := range cur.BounceBoxes {\n\t\t\t\tif s.UUID == c.UUID {\n\t\t\t\t\tset.BounceBoxes[i].Password = c.Password\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfor i, m := range set.Messengers {\n\t\t// UUID to keep track of password changes similar to the SMTP logic above.\n\t\tif m.UUID == \"\" {\n\t\t\tset.Messengers[i].UUID = uuid.Must(uuid.NewV4()).String()\n\t\t}\n\n\t\tif m.Password == \"\" {\n\t\t\tfor _, c := range cur.Messengers {\n\t\t\t\tif m.UUID == c.UUID {\n\t\t\t\t\tset.Messengers[i].Password = c.Password\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tname := reAlphaNum.ReplaceAllString(strings.ToLower(m.Name), \"\")\n\t\tif _, ok := names[name]; ok {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"settings.duplicateMessengerName\", \"name\", name))\n\t\t}\n\t\tif len(name) == 0 {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"settings.invalidMessengerName\"))\n\t\t}\n\n\t\tset.Messengers[i].Name = name\n\t\tnames[name] = true\n\t}\n\n\t// S3 password?\n\tif set.UploadS3AwsSecretAccessKey == \"\" {\n\t\tset.UploadS3AwsSecretAccessKey = cur.UploadS3AwsSecretAccessKey\n\t}\n\tif set.SendgridKey == \"\" {\n\t\tset.SendgridKey = cur.SendgridKey\n\t}\n\tif set.BouncePostmark.Password == \"\" {\n\t\tset.BouncePostmark.Password = cur.BouncePostmark.Password\n\t}\n\tif set.BounceForwardEmail.Key == \"\" {\n\t\tset.BounceForwardEmail.Key = cur.BounceForwardEmail.Key\n\t}\n\tif set.SecurityCaptcha.HCaptcha.Secret == \"\" {\n\t\tset.SecurityCaptcha.HCaptcha.Secret = cur.SecurityCaptcha.HCaptcha.Secret\n\t}\n\tif set.OIDC.ClientSecret == \"\" {\n\t\tset.OIDC.ClientSecret = cur.OIDC.ClientSecret\n\t}\n\n\t// OIDC user auto-creation is enabled. Validate.\n\tif set.OIDC.AutoCreateUsers {\n\t\tif set.OIDC.DefaultUserRoleID.Int < auth.SuperAdminRoleID {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", a.i18n.T(\"settings.security.OIDCDefaultRole\")))\n\t\t}\n\t}\n\n\tfor n, v := range set.UploadExtensions {\n\t\tset.UploadExtensions[n] = strings.ToLower(strings.TrimPrefix(strings.TrimSpace(v), \".\"))\n\t}\n\n\t// Domain blocklist / allowlist.\n\tdoms := make([]string, 0, len(set.DomainBlocklist))\n\tfor _, d := range set.DomainBlocklist {\n\t\tif d = strings.TrimSpace(strings.ToLower(d)); d != \"\" {\n\t\t\tdoms = append(doms, d)\n\t\t}\n\t}\n\tset.DomainBlocklist = doms\n\n\tdoms = make([]string, 0, len(set.DomainAllowlist))\n\tfor _, d := range set.DomainAllowlist {\n\t\tif d = strings.TrimSpace(strings.ToLower(d)); d != \"\" {\n\t\t\tdoms = append(doms, d)\n\t\t}\n\t}\n\tset.DomainAllowlist = doms\n\n\t// Validate and clean CORS domains.\n\tcors := make([]string, 0, len(set.SecurityCORSOrigins))\n\tfor _, d := range set.SecurityCORSOrigins {\n\t\tif d = strings.TrimSpace(d); d != \"\" {\n\t\t\tif d == \"*\" {\n\t\t\t\tcors = append(cors, d)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Parse and validate the URL.\n\t\t\tu, err := url.Parse(d)\n\t\t\tif err != nil || (u.Scheme != \"http\" && u.Scheme != \"https\") || u.Host == \"\" {\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\t\ta.i18n.Ts(\"globals.messages.invalidData\")+\": invalid CORS domain: \"+d)\n\t\t\t}\n\t\t\t// Save clean scheme + host\n\t\t\tcors = append(cors, u.Scheme+\"://\"+u.Host)\n\t\t}\n\t}\n\tset.SecurityCORSOrigins = cors\n\n\t// Validate slow query caching cron.\n\tif set.CacheSlowQueries {\n\t\tif _, err := cron.ParseStandard(set.CacheSlowQueriesInterval); err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidData\")+\": slow query cron: \"+err.Error())\n\t\t}\n\t}\n\n\t// Update the settings in the DB.\n\tif err := a.core.UpdateSettings(set); err != nil {\n\t\treturn err\n\t}\n\n\treturn a.handleSettingsRestart(c)\n}\n\n// UpdateSettingsByKey updates a single setting key-value in the DB.\nfunc (a *App) UpdateSettingsByKey(c echo.Context) error {\n\tkey := c.Param(\"key\")\n\tif key == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidData\"))\n\t}\n\n\t// Read the raw JSON body as the value.\n\tvar b json.RawMessage\n\tif err := c.Bind(&b); err != nil {\n\t\treturn err\n\t}\n\n\t// Update the value in the DB.\n\tif err := a.core.UpdateSettingsByKey(key, b); err != nil {\n\t\treturn err\n\t}\n\n\treturn a.handleSettingsRestart(c)\n}\n\n// handleSettingsRestart checks for running campaigns and either triggers an\n// immediate app restart or marks the app as needing a restart.\nfunc (a *App) handleSettingsRestart(c echo.Context) error {\n\t// If there are any active campaigns, don't do an auto reload and\n\t// warn the user on the frontend.\n\tif a.manager.HasRunningCampaigns() {\n\t\ta.Lock()\n\t\ta.needsRestart = true\n\t\ta.Unlock()\n\n\t\treturn c.JSON(http.StatusOK, okResp{struct {\n\t\t\tNeedsRestart bool `json:\"needs_restart\"`\n\t\t}{true}})\n\t}\n\n\t// No running campaigns. Reload the app.\n\tgo func() {\n\t\t<-time.After(time.Millisecond * 500)\n\t\ta.chReload <- syscall.SIGHUP\n\t}()\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// GetLogs returns the log entries stored in the log buffer.\nfunc (a *App) GetLogs(c echo.Context) error {\n\treturn c.JSON(http.StatusOK, okResp{a.bufLog.Lines()})\n}\n\n// TestSMTPSettings returns the log entries stored in the log buffer.\nfunc (a *App) TestSMTPSettings(c echo.Context) error {\n\t// Copy the raw JSON post body.\n\treqBody, err := io.ReadAll(c.Request().Body)\n\tif err != nil {\n\t\ta.log.Printf(\"error reading SMTP test: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.internalError\"))\n\t}\n\n\t// Load the JSON into koanf to parse SMTP settings properly including timestrings.\n\tko := koanf.New(\".\")\n\tif err := ko.Load(rawbytes.Provider(reqBody), koanfjson.Parser()); err != nil {\n\t\ta.log.Printf(\"error unmarshalling SMTP test request: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.internalError\"))\n\t}\n\n\treq := email.Server{}\n\tif err := ko.UnmarshalWithConf(\"\", &req, koanf.UnmarshalConf{Tag: \"json\"}); err != nil {\n\t\ta.log.Printf(\"error scanning SMTP test request: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.internalError\"))\n\t}\n\n\tto := ko.String(\"email\")\n\tif to == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.missingFields\", \"name\", \"email\"))\n\t}\n\n\t// Initialize a new SMTP pool.\n\treq.MaxConns = 1\n\treq.IdleTimeout = time.Second * 2\n\treq.PoolWaitTimeout = time.Second * 2\n\tmsgr, err := email.New(\"\", req)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"SMTP\", \"error\", err.Error()))\n\t}\n\n\t// Render the test email template body.\n\tvar b bytes.Buffer\n\tif err := notifs.Tpls.ExecuteTemplate(&b, \"smtp-test\", nil); err != nil {\n\t\ta.log.Printf(\"error compiling notification template '%s': %v\", \"smtp-test\", err)\n\t\treturn err\n\t}\n\n\tm := models.Message{}\n\tm.From = a.cfg.FromEmail\n\tm.To = []string{to}\n\tm.Subject = a.i18n.T(\"settings.smtp.testConnection\")\n\tm.Body = b.Bytes()\n\tif err := msgr.Push(m); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, err.Error())\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{a.bufLog.Lines()})\n}\n\nfunc (a *App) GetAboutInfo(c echo.Context) error {\n\tvar mem runtime.MemStats\n\truntime.ReadMemStats(&mem)\n\n\tout := a.about\n\tout.System.AllocMB = mem.Alloc / 1024 / 1024\n\tout.System.OSMB = mem.Sys / 1024 / 1024\n\n\treturn c.JSON(http.StatusOK, out)\n}\n"
  },
  {
    "path": "cmd/subscribers.go",
    "content": "package main\n\nimport (\n\t\"encoding/csv\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/textproto\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/internal/subimporter\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\nconst (\n\tdummyUUID = \"00000000-0000-0000-0000-000000000000\"\n)\n\n// subQueryReq is a \"catch all\" struct for reading various\n// subscriber related requests.\ntype subQueryReq struct {\n\tSearch             string `json:\"search\"`\n\tQuery              string `json:\"query\"`\n\tListIDs            []int  `json:\"list_ids\"`\n\tTargetListIDs      []int  `json:\"target_list_ids\"`\n\tSubscriberIDs      []int  `json:\"ids\"`\n\tAction             string `json:\"action\"`\n\tStatus             string `json:\"status\"`\n\tSubscriptionStatus string `json:\"subscription_status\"`\n\tAll                bool   `json:\"all\"`\n}\n\n// subOptin contains the data that's passed to the double opt-in e-mail template.\ntype subOptin struct {\n\tmodels.Subscriber\n\n\tOptinURL string\n\tUnsubURL string\n\tLists    []models.List\n}\n\nvar (\n\tdummySubscriber = models.Subscriber{\n\t\tEmail:   \"demo@listmonk.app\",\n\t\tName:    \"Demo Subscriber\",\n\t\tUUID:    dummyUUID,\n\t\tAttribs: models.JSON{\"city\": \"Bengaluru\"},\n\t}\n)\n\n// GetSubscriber handles the retrieval of a single subscriber by ID.\nfunc (a *App) GetSubscriber(c echo.Context) error {\n\tuser := auth.GetUser(c)\n\n\t// Check if the user has access to at least one of the lists on the subscriber.\n\tid := getID(c)\n\tif err := a.hasSubPerm(user, []int{id}); err != nil {\n\t\treturn err\n\t}\n\n\t// Fetch the subscriber from the DB.\n\tout, err := a.core.GetSubscriber(id, \"\", \"\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetSubscriberActivity handles the retrieval of a subscriber's campaign views and link clicks.\nfunc (a *App) GetSubscriberActivity(c echo.Context) error {\n\tuser := auth.GetUser(c)\n\n\t// Check if the user has access to at least one of the lists on the subscriber.\n\tid := getID(c)\n\tif err := a.hasSubPerm(user, []int{id}); err != nil {\n\t\treturn err\n\t}\n\n\t// Fetch the subscriber activity from the DB.\n\tout, err := a.core.GetSubscriberActivity(id)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// QuerySubscribers handles querying subscribers based on an arbitrary SQL expression.\nfunc (a *App) QuerySubscribers(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Filter list IDs by permission.\n\tlistIDs, err := a.filterListQueryByPerm(\"list_id\", c.QueryParams(), user)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Does the user have the subscribers:sql_query permission?\n\tquery := formatSQLExp(c.FormValue(\"query\"))\n\tif query != \"\" {\n\t\tif !user.HasPerm(auth.PermSubscribersSqlQuery) {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden,\n\t\t\t\ta.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", auth.PermSubscribersSqlQuery))\n\t\t}\n\t}\n\n\tvar (\n\t\tsearchStr = strings.TrimSpace(c.FormValue(\"search\"))\n\t\tsubStatus = c.FormValue(\"subscription_status\")\n\t\torder     = c.FormValue(\"order\")\n\t\torderBy   = c.FormValue(\"order_by\")\n\t\tpg        = a.pg.NewFromURL(c.Request().URL.Query())\n\t)\n\n\t// Query subscribers from the DB.\n\tres, total, err := a.core.QuerySubscribers(searchStr, query, listIDs, subStatus, order, orderBy, pg.Offset, pg.Limit)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tout := models.PageResults{\n\t\tQuery:   query,\n\t\tSearch:  searchStr,\n\t\tResults: res,\n\t\tTotal:   total,\n\t\tPage:    pg.Page,\n\t\tPerPage: pg.PerPage,\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// ExportSubscribers handles querying subscribers based on an arbitrary SQL expression.\nfunc (a *App) ExportSubscribers(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Filter list IDs by permission.\n\tlistIDs, err := a.filterListQueryByPerm(\"list_id\", c.QueryParams(), user)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Export only specific subscriber IDs?\n\tsubIDs, err := getQueryInts(\"id\", c.QueryParams())\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t}\n\n\t// Filter by subscription status\n\tsubStatus := c.QueryParam(\"subscription_status\")\n\n\t// Does the user have the subscribers:sql_query permission?\n\tvar (\n\t\tsearchStr = strings.TrimSpace(c.FormValue(\"search\"))\n\t\tquery     = formatSQLExp(c.FormValue(\"query\"))\n\t)\n\tif query != \"\" {\n\t\tif !user.HasPerm(auth.PermSubscribersSqlQuery) {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden,\n\t\t\t\ta.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", auth.PermSubscribersSqlQuery))\n\t\t}\n\t}\n\n\t// Get the batched export iterator.\n\texp, err := a.core.ExportSubscribers(searchStr, query, subIDs, listIDs, subStatus, a.cfg.DBBatchSize)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar (\n\t\thdr = c.Response().Header()\n\t\twr  = csv.NewWriter(c.Response())\n\t)\n\n\thdr.Set(echo.HeaderContentType, echo.MIMEOctetStream)\n\thdr.Set(\"Content-type\", \"text/csv\")\n\thdr.Set(echo.HeaderContentDisposition, \"attachment; filename=\"+\"subscribers.csv\")\n\thdr.Set(\"Content-Transfer-Encoding\", \"binary\")\n\thdr.Set(\"Cache-Control\", \"no-cache\")\n\twr.Write([]string{\"uuid\", \"email\", \"name\", \"attributes\", \"status\", \"created_at\", \"updated_at\"})\n\nloop:\n\t// Iterate in batches until there are no more subscribers to export.\n\tfor {\n\t\tout, err := exp()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif len(out) == 0 {\n\t\t\tbreak\n\t\t}\n\n\t\tfor _, r := range out {\n\t\t\tif err = wr.Write([]string{r.UUID, r.Email, r.Name, r.Attribs, r.Status,\n\t\t\t\tr.CreatedAt.Time.String(), r.UpdatedAt.Time.String()}); err != nil {\n\t\t\t\ta.log.Printf(\"error streaming CSV export: %v\", err)\n\t\t\t\tbreak loop\n\t\t\t}\n\t\t}\n\n\t\t// Flush CSV to stream after each batch.\n\t\twr.Flush()\n\t}\n\n\treturn nil\n}\n\n// CreateSubscriber handles the creation of a new subscriber.\nfunc (a *App) CreateSubscriber(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Get and validate fields.\n\tvar req subimporter.SubReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate fields.\n\treq, err := a.importer.ValidateFields(req)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t}\n\n\t// Filter lists against the current user's permitted lists.\n\tlistIDs := user.FilterListsByPerm(auth.PermTypeManage, req.Lists)\n\n\t// Not a single permitted list?\n\tif len(req.Lists) > 0 && len(listIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusForbidden, a.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", \"lists\"))\n\t}\n\n\t// Insert the subscriber into the DB.\n\tsub, _, err := a.core.InsertSubscriber(req.Subscriber, listIDs, nil, req.PreconfirmSubs, false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{sub})\n}\n\n// UpdateSubscriber handles modification of a subscriber.\nfunc (a *App) UpdateSubscriber(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Get and validate fields.\n\treq := struct {\n\t\tmodels.Subscriber\n\t\tLists          []int `json:\"lists\"`\n\t\tPreconfirmSubs bool  `json:\"preconfirm_subscriptions\"`\n\t}{}\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\t// Sanitize and validate the email field.\n\tif em, err := a.importer.SanitizeEmail(req.Email); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t} else {\n\t\treq.Email = em\n\t}\n\n\tif req.Name != \"\" && !strHasLen(req.Name, 1, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.invalidName\"))\n\t}\n\n\t// Filter lists against the current user's permitted lists.\n\tlistIDs := user.FilterListsByPerm(auth.PermTypeManage, req.Lists)\n\n\t// Not a single permitted list?\n\tif len(req.Lists) > 0 && len(listIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusForbidden, a.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", \"lists\"))\n\t}\n\n\t// Update the subscriber in the DB.\n\tid := getID(c)\n\n\t// Get the user's permitted lists to pass to the update query so that lists on the subscribers\n\t// to which they don't have permissions are preserved/left as-is when deleteLists=true.\n\tallPerm, permittedLists := user.GetPermittedLists(auth.PermTypeManage)\n\tif allPerm {\n\t\tpermittedLists = []int{}\n\t}\n\n\tout, _, err := a.core.UpdateSubscriberWithLists(id, req.Subscriber, listIDs, nil, req.PreconfirmSubs, true, false, permittedLists)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// SubscriberSendOptin sends an optin confirmation e-mail to a subscriber.\nfunc (a *App) SubscriberSendOptin(c echo.Context) error {\n\t// Fetch the subscriber.\n\tid := getID(c)\n\tout, err := a.core.GetSubscriber(id, \"\", \"\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Trigger the opt-in confirmation e-mail hook.\n\tif _, err := a.fnOptinNotify(out, nil); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, a.i18n.T(\"subscribers.errorSendingOptin\"))\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// BlocklistSubscriber handles the blocklisting of a given subscriber.\nfunc (a *App) BlocklistSubscriber(c echo.Context) error {\n\t// Update the subscribers in the DB.\n\tid := getID(c)\n\tif err := a.core.BlocklistSubscribers([]int{id}); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// BlocklistSubscribers handles the blocklisting of one or more subscribers.\nfunc (a *App) BlocklistSubscribers(c echo.Context) error {\n\tvar req subQueryReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", err.Error()))\n\t}\n\tif len(req.SubscriberIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", \"ids\"))\n\t}\n\n\t// Update the subscribers in the DB.\n\tif err := a.core.BlocklistSubscribers(req.SubscriberIDs); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// ManageSubscriberLists handles bulk addition or removal of subscribers\n// from or to one or more target lists.\n// It takes either an ID in the URI, or a list of IDs in the request body.\nfunc (a *App) ManageSubscriberLists(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Is it an /:id call?\n\tvar (\n\t\tpID    = c.Param(\"id\")\n\t\tsubIDs []int\n\t)\n\tif pID != \"\" {\n\t\tid, _ := strconv.Atoi(pID)\n\t\tif id < 1 {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t\t}\n\t\tsubIDs = append(subIDs, id)\n\t}\n\n\tvar req subQueryReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", err.Error()))\n\t}\n\tif len(req.SubscriberIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.errorNoIDs\"))\n\t}\n\tif len(subIDs) == 0 {\n\t\tsubIDs = req.SubscriberIDs\n\t}\n\tif len(req.TargetListIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.errorNoListsGiven\"))\n\t}\n\n\t// Filter lists against the current user's permitted lists.\n\tlistIDs := user.FilterListsByPerm(auth.PermTypeGet|auth.PermTypeManage, req.TargetListIDs)\n\n\t// User doesn't have the required list permissions.\n\tif len(listIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusForbidden, a.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", \"lists\"))\n\t}\n\n\t// Run the action in the DB.\n\tvar err error\n\tswitch req.Action {\n\tcase \"add\":\n\t\terr = a.core.AddSubscriptions(subIDs, listIDs, req.Status)\n\tcase \"remove\":\n\t\terr = a.core.DeleteSubscriptions(subIDs, listIDs)\n\tcase \"unsubscribe\":\n\t\terr = a.core.UnsubscribeLists(subIDs, listIDs, nil)\n\tdefault:\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.invalidAction\"))\n\t}\n\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteSubscriber handles deletion of a single subscriber.\nfunc (a *App) DeleteSubscriber(c echo.Context) error {\n\t// Delete the subscribers from the DB.\n\tid := getID(c)\n\tif err := a.core.DeleteSubscribers([]int{id}, nil); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteSubscribers handles bulk deletion of one or more subscribers.\nfunc (a *App) DeleteSubscribers(c echo.Context) error {\n\t// Multiple IDs.\n\tids, err := parseStringIDs(c.Request().URL.Query()[\"id\"])\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", err.Error()))\n\t}\n\tif len(ids) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.errorInvalidIDs\", \"error\", \"ids\"))\n\t}\n\n\t// Delete the subscribers from the DB.\n\tif err := a.core.DeleteSubscribers(ids, nil); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteSubscribersByQuery bulk deletes based on an\n// arbitrary SQL expression.\nfunc (a *App) DeleteSubscribersByQuery(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\tvar req subQueryReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\treq.Search = strings.TrimSpace(req.Search)\n\treq.Query = formatSQLExp(req.Query)\n\tif req.All {\n\t\t// If the \"all\" flag is set, ignore any subquery that may be present.\n\t\treq.Search = \"\"\n\t\treq.Query = \"\"\n\t} else if req.Search == \"\" && req.Query == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"query\"))\n\t}\n\n\t// Does the user have the subscribers:sql_query permission?\n\tif req.Query != \"\" {\n\t\tif !user.HasPerm(auth.PermSubscribersSqlQuery) {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden,\n\t\t\t\ta.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", auth.PermSubscribersSqlQuery))\n\t\t}\n\t}\n\n\t// Delete the subscribers from the DB.\n\tif err := a.core.DeleteSubscribersByQuery(req.Search, req.Query, req.ListIDs, req.SubscriptionStatus); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// BlocklistSubscribersByQuery bulk blocklists subscribers\n// based on an arbitrary SQL expression.\nfunc (a *App) BlocklistSubscribersByQuery(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\tvar req subQueryReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\n\treq.Search = strings.TrimSpace(req.Search)\n\treq.Query = formatSQLExp(req.Query)\n\tif req.All {\n\t\t// If the \"all\" flag is set, ignore any subquery that may be present.\n\t\treq.Search = \"\"\n\t\treq.Query = \"\"\n\t} else if req.Search == \"\" && req.Query == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"query\"))\n\t}\n\t// Does the user have the subscribers:sql_query permission?\n\tif req.Query != \"\" {\n\t\tif !user.HasPerm(auth.PermSubscribersSqlQuery) {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden,\n\t\t\t\ta.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", auth.PermSubscribersSqlQuery))\n\t\t}\n\t}\n\n\t// Update the subscribers in the DB.\n\tif err := a.core.BlocklistSubscribersByQuery(req.Search, req.Query, req.ListIDs, req.SubscriptionStatus); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// ManageSubscriberListsByQuery bulk adds/removes/unsubscribes subscribers\n// from one or more lists based on an arbitrary SQL expression.\nfunc (a *App) ManageSubscriberListsByQuery(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\tvar req subQueryReq\n\tif err := c.Bind(&req); err != nil {\n\t\treturn err\n\t}\n\tif len(req.TargetListIDs) == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.T(\"subscribers.errorNoListsGiven\"))\n\t}\n\n\treq.Search = strings.TrimSpace(req.Search)\n\treq.Query = formatSQLExp(req.Query)\n\n\t// Does the user have the subscribers:sql_query permission?\n\tif req.Query != \"\" {\n\t\tif !user.HasPerm(auth.PermSubscribersSqlQuery) {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden,\n\t\t\t\ta.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", auth.PermSubscribersSqlQuery))\n\t\t}\n\t}\n\n\t// Filter lists against the current user's permitted lists.\n\tsourceListIDs := user.FilterListsByPerm(auth.PermTypeGet|auth.PermTypeManage, req.ListIDs)\n\ttargetListIDs := user.FilterListsByPerm(auth.PermTypeGet|auth.PermTypeManage, req.TargetListIDs)\n\n\t// Run the action in the DB.\n\tvar err error\n\tswitch req.Action {\n\tcase \"add\":\n\t\terr = a.core.AddSubscriptionsByQuery(req.Search, req.Query, sourceListIDs, targetListIDs, req.Status, req.SubscriptionStatus)\n\tcase \"remove\":\n\t\terr = a.core.DeleteSubscriptionsByQuery(req.Search, req.Query, sourceListIDs, targetListIDs, req.SubscriptionStatus)\n\tcase \"unsubscribe\":\n\t\terr = a.core.UnsubscribeListsByQuery(req.Search, req.Query, sourceListIDs, targetListIDs, req.SubscriptionStatus)\n\tdefault:\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"subscribers.invalidAction\"))\n\t}\n\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteSubscriberBounces deletes all the bounces on a subscriber.\nfunc (a *App) DeleteSubscriberBounces(c echo.Context) error {\n\t// Delete the bounces from the DB.\n\tid := getID(c)\n\tif err := a.core.DeleteSubscriberBounces(id, \"\"); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// ExportSubscriberData pulls the subscriber's profile,\n// list subscriptions, campaign views and clicks and produces\n// a JSON report. This is a privacy feature and depends on the\n// configuration in a.Constants.Privacy.\nfunc (a *App) ExportSubscriberData(c echo.Context) error {\n\t// Get the subscriber's data. A single query that gets the profile,\n\t// list subscriptions, campaign views, and link clicks. Names of\n\t// private lists are replaced with \"Private list\".\n\tid := getID(c)\n\t_, b, err := a.exportSubscriberData(id, \"\", a.cfg.Privacy.Exportable)\n\tif err != nil {\n\t\ta.log.Printf(\"error exporting subscriber data: %s\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\ta.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", err.Error()))\n\t}\n\n\t// Set headers to force the browser to prompt for download.\n\tc.Response().Header().Set(\"Cache-Control\", \"no-cache\")\n\tc.Response().Header().Set(\"Content-Disposition\", `attachment; filename=\"data.json\"`)\n\treturn c.Blob(http.StatusOK, \"application/json\", b)\n}\n\n// exportSubscriberData collates the data of a subscriber including profile,\n// subscriptions, campaign_views, link_clicks (if they're enabled in the config)\n// and returns a formatted, indented JSON payload. Either takes a numeric id\n// and an empty subUUID or takes 0 and a string subUUID.\nfunc (a *App) exportSubscriberData(id int, subUUID string, exportables map[string]bool) (models.SubscriberExportProfile, []byte, error) {\n\tdata, err := a.core.GetSubscriberProfileForExport(id, subUUID)\n\tif err != nil {\n\t\treturn data, nil, err\n\t}\n\n\t// Filter out the non-exportable items.\n\tif _, ok := exportables[\"profile\"]; !ok {\n\t\tdata.Profile = nil\n\t}\n\tif _, ok := exportables[\"subscriptions\"]; !ok {\n\t\tdata.Subscriptions = nil\n\t}\n\tif _, ok := exportables[\"campaign_views\"]; !ok {\n\t\tdata.CampaignViews = nil\n\t}\n\tif _, ok := exportables[\"link_clicks\"]; !ok {\n\t\tdata.LinkClicks = nil\n\t}\n\n\t// Marshal the data into an indented payload.\n\tb, err := json.MarshalIndent(data, \"\", \"  \")\n\tif err != nil {\n\t\ta.log.Printf(\"error marshalling subscriber export data: %v\", err)\n\t\treturn data, nil, err\n\t}\n\n\treturn data, b, nil\n}\n\n// hasSubPerm checks whether the current user has permission to access the given list\n// of subscriber IDs.\nfunc (a *App) hasSubPerm(u auth.User, subIDs []int) error {\n\tallPerm, listIDs := u.GetPermittedLists(auth.PermTypeGet | auth.PermTypeManage)\n\n\t// User has blanket get_all|manage_all permission.\n\tif allPerm {\n\t\treturn nil\n\t}\n\n\t// Check whether the subscribers have the list IDs permitted to the user.\n\tres, err := a.core.HasSubscriberLists(subIDs, listIDs)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tfor id, has := range res {\n\t\tif !has {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden, a.i18n.Ts(\"globals.messages.permissionDenied\", \"name\", fmt.Sprintf(\"subscriber: %d\", id)))\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// filterListQueryByPerm filters the list IDs in the query params and returns the list IDs to which the user has access.\nfunc (a *App) filterListQueryByPerm(param string, qp url.Values, user auth.User) ([]int, error) {\n\tvar listIDs []int\n\n\t// If there are incoming list query params, filter them by permission.\n\tif qp.Has(param) {\n\t\tids, err := getQueryInts(param, qp)\n\t\tif err != nil {\n\t\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t\t}\n\n\t\tlistIDs = user.FilterListsByPerm(auth.PermTypeGet|auth.PermTypeManage, ids)\n\t}\n\n\t// There are no incoming params. If the user doesn't have permission to get all subscribers,\n\t// filter by the lists they have access to.\n\tif len(listIDs) == 0 {\n\t\tif _, ok := user.PermissionsMap[auth.PermSubscribersGetAll]; !ok {\n\t\t\tif len(user.GetListIDs) > 0 {\n\t\t\t\tlistIDs = user.GetListIDs\n\t\t\t} else {\n\t\t\t\t// User doesn't have access to any lists.\n\t\t\t\tlistIDs = []int{-1}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn listIDs, nil\n}\n\n// formatSQLExp does basic sanitisation on arbitrary\n// SQL query expressions coming from the frontend.\nfunc formatSQLExp(q string) string {\n\tq = strings.TrimSpace(q)\n\tif len(q) == 0 {\n\t\treturn \"\"\n\t}\n\n\t// Remove semicolon suffix.\n\tif q[len(q)-1] == ';' {\n\t\tq = q[:len(q)-1]\n\t}\n\treturn q\n}\n\n// makeOptinNotifyHook returns an enclosed callback that sends optin confirmation e-mails.\n// This is plugged into the 'core' package to send optin confirmations when a new subscriber is\n// created via `core.CreateSubscriber()`.\nfunc makeOptinNotifyHook(unsubHeader bool, u *UrlConfig, q *models.Queries, i *i18n.I18n) func(sub models.Subscriber, listIDs []int) (int, error) {\n\treturn func(sub models.Subscriber, listIDs []int) (int, error) {\n\t\t// Fetch double opt-in lists from the given list IDs.\n\t\t// Get the list of subscription lists where the subscriber hasn't confirmed.\n\t\tvar lists = []models.List{}\n\t\tif err := q.GetSubscriberLists.Select(&lists, sub.ID, nil, pq.Array(listIDs), nil, models.SubscriptionStatusUnconfirmed, models.ListOptinDouble); err != nil {\n\t\t\tlo.Printf(\"error fetching lists for opt-in: %s\", err)\n\t\t\treturn 0, err\n\t\t}\n\n\t\t// None.\n\t\tif len(lists) == 0 {\n\t\t\treturn 0, nil\n\t\t}\n\n\t\tvar (\n\t\t\tout      = subOptin{Subscriber: sub, Lists: lists}\n\t\t\tqListIDs = url.Values{}\n\t\t)\n\n\t\t// Construct the opt-in URL with list IDs.\n\t\tfor _, l := range out.Lists {\n\t\t\tqListIDs.Add(\"l\", l.UUID)\n\t\t}\n\t\tout.OptinURL = fmt.Sprintf(u.OptinURL, sub.UUID, qListIDs.Encode())\n\t\tout.UnsubURL = fmt.Sprintf(u.UnsubURL, dummyUUID, sub.UUID)\n\n\t\t// Unsub headers.\n\t\thdr := textproto.MIMEHeader{}\n\t\thdr.Set(models.EmailHeaderSubscriberUUID, sub.UUID)\n\n\t\t// Attach List-Unsubscribe headers?\n\t\tif unsubHeader {\n\t\t\tunsubURL := fmt.Sprintf(u.UnsubURL, dummyUUID, sub.UUID)\n\t\t\thdr.Set(\"List-Unsubscribe-Post\", \"List-Unsubscribe=One-Click\")\n\t\t\thdr.Set(\"List-Unsubscribe\", `<`+unsubURL+`>`)\n\t\t}\n\n\t\t// Send the e-mail.\n\t\tif err := notifs.Notify([]string{sub.Email}, i.T(\"subscribers.optinSubject\"), notifs.TplSubscriberOptin, out, hdr); err != nil {\n\t\t\tlo.Printf(\"error sending opt-in e-mail for subscriber %d (%s): %s\", sub.ID, sub.UUID, err)\n\t\t\treturn 0, err\n\t\t}\n\n\t\treturn len(lists), nil\n\t}\n}\n"
  },
  {
    "path": "cmd/templates.go",
    "content": "package main\n\nimport (\n\t\"errors\"\n\t\"html/template\"\n\t\"net/http\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\nconst (\n\t// tplTag is the template tag that should be present in a template\n\t// as the placeholder for campaign bodies.\n\ttplTag = `{{ template \"content\" . }}`\n\n\tdummyTpl = `\n\t\t<p>Hi there</p>\n\t\t<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis et elit ac elit sollicitudin condimentum non a magna. Sed tempor mauris in facilisis vehicula. Aenean nisl urna, accumsan ac tincidunt vitae, interdum cursus massa. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam varius turpis et turpis lacinia placerat. Aenean id ligula a orci lacinia blandit at eu felis. Phasellus vel lobortis lacus. Suspendisse leo elit, luctus sed erat ut, venenatis fermentum ipsum. Donec bibendum neque quis.</p>\n\n\t\t<h3>Sub heading</h3>\n\t\t<p>Nam luctus dui non placerat mattis. Morbi non accumsan orci, vel interdum urna. Duis faucibus id nunc ut euismod. Curabitur et eros id erat feugiat fringilla in eget neque. Aliquam accumsan cursus eros sed faucibus.</p>\n\n\t\t<p>Here is a link to <a href=\"https://listmonk.app\" target=\"_blank\">listmonk</a>.</p>`\n)\n\nvar (\n\tregexpTplTag = regexp.MustCompile(`{{(\\s+)?template\\s+?\"content\"(\\s+)?\\.(\\s+)?}}`)\n)\n\n// GetTemplate handles the retrieval of a template\nfunc (a *App) GetTemplate(c echo.Context) error {\n\t// If no_body is true, blank out the body of the template from the response.\n\tnoBody, _ := strconv.ParseBool(c.QueryParam(\"no_body\"))\n\n\t// Get the template from the DB.\n\tid := getID(c)\n\tout, err := a.core.GetTemplate(id, noBody)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetTemplates handles retrieval of templates.\nfunc (a *App) GetTemplates(c echo.Context) error {\n\t// If no_body is true, blank out the body of the template from the response.\n\tnoBody, _ := strconv.ParseBool(c.QueryParam(\"no_body\"))\n\n\t// Fetch templates from the DB.\n\tout, err := a.core.GetTemplates(\"\", noBody)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// PreviewTemplate renders the HTML preview of a template in the DB.\nfunc (a *App) PreviewTemplate(c echo.Context) error {\n\t// Fetch one template from the DB.\n\tid := getID(c)\n\ttpl, err := a.core.GetTemplate(id, false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Render the template.\n\tout, err := a.previewTemplate(tpl)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.HTML(http.StatusOK, string(out))\n}\n\n// PreviewTemplateBody renders the HTML preview of a template given its type and body.\nfunc (a *App) PreviewTemplateBody(c echo.Context) error {\n\ttpl := models.Template{\n\t\tType: c.FormValue(\"template_type\"),\n\t\tBody: c.FormValue(\"body\"),\n\t}\n\n\t// Body is posted with the request.\n\tif tpl.Type == \"\" {\n\t\ttpl.Type = models.TemplateTypeCampaign\n\t}\n\n\tif tpl.Type == models.TemplateTypeCampaign && !regexpTplTag.MatchString(tpl.Body) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"templates.placeholderHelp\", \"placeholder\", tplTag))\n\t}\n\n\t// Render the template.\n\tout, err := a.previewTemplate(tpl)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn c.HTML(http.StatusOK, string(out))\n}\n\n// CreateTemplate handles template creation.\nfunc (a *App) CreateTemplate(c echo.Context) error {\n\tvar o models.Template\n\tif err := c.Bind(&o); err != nil {\n\t\treturn err\n\t}\n\tif err := a.validateTemplate(o); err != nil {\n\t\treturn err\n\t}\n\n\t// Subject is only relevant for fixed tx templates. For campaigns,\n\t// the subject changes per campaign and is on models.Campaign.\n\tvar funcs template.FuncMap\n\tif o.Type == models.TemplateTypeCampaign || o.Type == models.TemplateTypeCampaignVisual {\n\t\to.Subject = \"\"\n\t\tfuncs = a.manager.TemplateFuncs(nil)\n\t} else {\n\t\tfuncs = a.manager.GenericTemplateFuncs()\n\t}\n\n\t// Compile the template and validate.\n\tif err := o.Compile(funcs); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t}\n\n\t// Create the template the in the DB.\n\tout, err := a.core.CreateTemplate(o.Name, o.Type, o.Subject, []byte(o.Body), o.BodySource)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If it's a transactional template, cache it in the manager\n\t// to be used for arbitrary incoming tx message pushes.\n\tif o.Type == models.TemplateTypeTx {\n\t\ta.manager.CacheTpl(out.ID, &o)\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// UpdateTemplate handles template modification.\nfunc (a *App) UpdateTemplate(c echo.Context) error {\n\tvar o models.Template\n\tif err := c.Bind(&o); err != nil {\n\t\treturn err\n\t}\n\tif err := a.validateTemplate(o); err != nil {\n\t\treturn err\n\t}\n\n\t// Subject is only relevant for fixed tx templates. For campaigns,\n\t// the subject changes per campaign and is on models.Campaign.\n\tvar funcs template.FuncMap\n\tif o.Type == models.TemplateTypeCampaign || o.Type == models.TemplateTypeCampaignVisual {\n\t\to.Subject = \"\"\n\t\tfuncs = a.manager.TemplateFuncs(nil)\n\t} else {\n\t\tfuncs = a.manager.GenericTemplateFuncs()\n\t}\n\n\t// Compile the template and validate.\n\tif err := o.Compile(funcs); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t}\n\n\t// Update the template in the DB.\n\tid := getID(c)\n\tout, err := a.core.UpdateTemplate(id, o.Name, o.Subject, []byte(o.Body), o.BodySource)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If it's a transactional template, cache it.\n\tif out.Type == models.TemplateTypeTx {\n\t\ta.manager.CacheTpl(out.ID, &o)\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n\n}\n\n// TemplateSetDefault handles template modification.\nfunc (a *App) TemplateSetDefault(c echo.Context) error {\n\t// Update the template in the DB.\n\tid := getID(c)\n\tif err := a.core.SetDefaultTemplate(id); err != nil {\n\t\treturn err\n\t}\n\n\treturn a.GetTemplates(c)\n}\n\n// DeleteTemplate handles template deletion.\nfunc (a *App) DeleteTemplate(c echo.Context) error {\n\t// Delete the template from the DB.\n\tid := getID(c)\n\tif err := a.core.DeleteTemplate(id); err != nil {\n\t\treturn err\n\t}\n\n\t// Delete cached in-memory template.\n\ta.manager.DeleteTpl(id)\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// compileTemplate validates template fields.\nfunc (a *App) validateTemplate(o models.Template) error {\n\tif !strHasLen(o.Name, 1, stdInputMaxLen) {\n\t\treturn errors.New(a.i18n.T(\"campaigns.fieldInvalidName\"))\n\t}\n\n\tif o.Type == models.TemplateTypeCampaign && !regexpTplTag.MatchString(o.Body) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"templates.placeholderHelp\", \"placeholder\", tplTag))\n\t}\n\n\tif o.Type == models.TemplateTypeTx && strings.TrimSpace(o.Subject) == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.missingFields\", \"name\", \"subject\"))\n\t}\n\n\treturn nil\n}\n\n// previewTemplate renders the HTML preview of a template.\nfunc (a *App) previewTemplate(tpl models.Template) ([]byte, error) {\n\tvar out []byte\n\tif tpl.Type == models.TemplateTypeCampaign || tpl.Type == models.TemplateTypeCampaignVisual {\n\t\tcamp := models.Campaign{\n\t\t\tUUID:         dummyUUID,\n\t\t\tName:         a.i18n.T(\"templates.dummyName\"),\n\t\t\tSubject:      a.i18n.T(\"templates.dummySubject\"),\n\t\t\tFromEmail:    \"dummy-campaign@listmonk.app\",\n\t\t\tTemplateBody: tpl.Body,\n\t\t\tBody:         dummyTpl,\n\t\t}\n\n\t\tif err := camp.CompileTemplate(a.manager.TemplateFuncs(&camp)); err != nil {\n\t\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"templates.errorCompiling\", \"error\", err.Error()))\n\t\t}\n\n\t\t// Render the message body.\n\t\tmsg, err := a.manager.NewCampaignMessage(&camp, dummySubscriber)\n\t\tif err != nil {\n\t\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"templates.errorRendering\", \"error\", err.Error()))\n\t\t}\n\t\tout = msg.Body()\n\t} else {\n\t\t// Compile transactional template.\n\t\tif err := tpl.Compile(a.manager.GenericTemplateFuncs()); err != nil {\n\t\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t\t}\n\n\t\tm := models.TxMessage{\n\t\t\tSubject: tpl.Subject,\n\t\t}\n\n\t\t// Render the message.\n\t\tif err := m.Render(dummySubscriber, &tpl, a.manager.GenericTemplateFuncs()); err != nil {\n\t\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t\t}\n\t\tout = m.Body\n\t}\n\n\treturn out, nil\n}\n"
  },
  {
    "path": "cmd/tx.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/textproto\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/manager\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// SendTxMessage handles the sending of a transactional message.\nfunc (a *App) SendTxMessage(c echo.Context) error {\n\tvar m models.TxMessage\n\n\t// If it's a multipart form, there may be file attachments.\n\tif strings.HasPrefix(c.Request().Header.Get(\"Content-Type\"), \"multipart/form-data\") {\n\t\tform, err := c.MultipartForm()\n\t\tif err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", err.Error()))\n\t\t}\n\n\t\tdata, ok := form.Value[\"data\"]\n\t\tif !ok || len(data) != 1 {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"data\"))\n\t\t}\n\n\t\t// Parse the JSON data.\n\t\tif err := json.Unmarshal([]byte(data[0]), &m); err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", fmt.Sprintf(\"data: %s\", err.Error())))\n\t\t}\n\n\t\t// Attach files.\n\t\tfor _, f := range form.File[\"file\"] {\n\t\t\tfile, err := f.Open()\n\t\t\tif err != nil {\n\t\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", fmt.Sprintf(\"file: %s\", err.Error())))\n\t\t\t}\n\t\t\tdefer file.Close()\n\n\t\t\tb, err := io.ReadAll(file)\n\t\t\tif err != nil {\n\t\t\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", fmt.Sprintf(\"file: %s\", err.Error())))\n\t\t\t}\n\n\t\t\tm.Attachments = append(m.Attachments, models.Attachment{\n\t\t\t\tName:    f.Filename,\n\t\t\t\tHeader:  manager.MakeAttachmentHeader(f.Filename, \"base64\", f.Header.Get(\"Content-Type\")),\n\t\t\t\tContent: b,\n\t\t\t})\n\t\t}\n\n\t} else if err := c.Bind(&m); err != nil {\n\t\treturn err\n\t}\n\n\t// Validate fields.\n\tif r, err := a.validateTxMessage(m); err != nil {\n\t\treturn err\n\t} else {\n\t\tm = r\n\t}\n\n\t// Get the cached tx template.\n\ttpl, err := a.manager.GetTpl(m.TemplateID)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.notFound\", \"name\", fmt.Sprintf(\"template %d\", m.TemplateID)))\n\t}\n\n\tvar (\n\t\tnum      = len(m.SubscriberEmails)\n\t\tisEmails = true\n\t)\n\tif len(m.SubscriberIDs) > 0 {\n\t\tnum = len(m.SubscriberIDs)\n\t\tisEmails = false\n\t}\n\n\tnotFound := []string{}\n\tfor n := range num {\n\t\tvar sub models.Subscriber\n\n\t\tif m.SubscriberMode == models.TxSubModeExternal {\n\t\t\t// `external`: Always create an ephemeral \"subscriber\" and don't\n\t\t\t// lookup in the DB.\n\t\t\tsub = models.Subscriber{\n\t\t\t\tEmail: m.SubscriberEmails[n],\n\t\t\t}\n\t\t} else {\n\t\t\t// Default/fallback mode: lookup subscriber in DB.\n\t\t\tvar (\n\t\t\t\tsubID    int\n\t\t\t\tsubEmail string\n\t\t\t)\n\n\t\t\tif !isEmails {\n\t\t\t\tsubID = m.SubscriberIDs[n]\n\t\t\t} else {\n\t\t\t\tsubEmail = m.SubscriberEmails[n]\n\t\t\t}\n\n\t\t\tvar err error\n\t\t\tsub, err = a.core.GetSubscriber(subID, \"\", subEmail)\n\t\t\tif err != nil {\n\t\t\t\tif er, ok := err.(*echo.HTTPError); ok && er.Code == http.StatusBadRequest {\n\t\t\t\t\t// `fallback`: Create an ephemeral \"subscriber\" if the subscriber wasn't found.\n\t\t\t\t\tif m.SubscriberMode == models.TxSubModeFallback {\n\t\t\t\t\t\tsub = models.Subscriber{\n\t\t\t\t\t\t\tEmail: subEmail,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// `default`: log error and continue.\n\t\t\t\t\t\tnotFound = append(notFound, fmt.Sprintf(\"%v\", er.Message))\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Render the message.\n\t\tif err := m.Render(sub, tpl, a.manager.GenericTemplateFuncs()); err != nil {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.errorFetching\", \"name\"))\n\t\t}\n\n\t\t// Prepare the final message.\n\t\tmsg := models.Message{}\n\t\tmsg.Subscriber = sub\n\t\tmsg.To = []string{sub.Email}\n\t\tmsg.From = m.FromEmail\n\t\tmsg.Subject = m.Subject\n\t\tmsg.ContentType = m.ContentType\n\t\tmsg.Messenger = m.Messenger\n\t\tmsg.Body = m.Body\n\t\tmsg.AltBody = []byte(m.AltBody)\n\t\tfor _, a := range m.Attachments {\n\t\t\tmsg.Attachments = append(msg.Attachments, models.Attachment{\n\t\t\t\tName:    a.Name,\n\t\t\t\tHeader:  a.Header,\n\t\t\t\tContent: a.Content,\n\t\t\t})\n\t\t}\n\n\t\t// Optional headers.\n\t\tif len(m.Headers) != 0 {\n\t\t\tmsg.Headers = make(textproto.MIMEHeader, len(m.Headers))\n\t\t\tfor _, set := range m.Headers {\n\t\t\t\tfor hdr, val := range set {\n\t\t\t\t\tmsg.Headers.Add(hdr, val)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := a.manager.PushMessage(msg); err != nil {\n\t\t\ta.log.Printf(\"error sending message (%s): %v\", msg.Subject, err)\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif len(notFound) > 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, strings.Join(notFound, \"; \"))\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// validateTxMessage validates the tx message fields.\nfunc (a *App) validateTxMessage(m models.TxMessage) (models.TxMessage, error) {\n\tif len(m.SubscriberEmails) > 0 && m.SubscriberEmail != \"\" {\n\t\treturn m, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"do not send `subscriber_email`\"))\n\t}\n\tif len(m.SubscriberIDs) > 0 && m.SubscriberID != 0 {\n\t\treturn m, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"do not send `subscriber_id`\"))\n\t}\n\n\tif m.SubscriberEmail != \"\" {\n\t\tm.SubscriberEmails = append(m.SubscriberEmails, m.SubscriberEmail)\n\t}\n\n\tif m.SubscriberID != 0 {\n\t\tm.SubscriberIDs = append(m.SubscriberIDs, m.SubscriberID)\n\t}\n\n\t// Validate subscriber_mode.\n\tif m.SubscriberMode == \"\" {\n\t\tm.SubscriberMode = models.TxSubModeDefault\n\t}\n\n\tswitch m.SubscriberMode {\n\tcase models.TxSubModeDefault:\n\t\t// Need subscriber_emails OR subscriber_ids, but not both.\n\t\tif (len(m.SubscriberEmails) == 0 && len(m.SubscriberIDs) == 0) || (len(m.SubscriberEmails) > 0 && len(m.SubscriberIDs) > 0) {\n\t\t\treturn m, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"send subscriber_emails OR subscriber_ids\"))\n\t\t}\n\tcase models.TxSubModeFallback, models.TxSubModeExternal:\n\t\t// `fallback` and `external` can only use subscriber_emails.\n\t\tif len(m.SubscriberIDs) > 0 {\n\t\t\treturn m, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"subscriber_ids not allowed in fallback or external mode\"))\n\t\t}\n\t\tif len(m.SubscriberEmails) == 0 {\n\t\t\treturn m, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"subscriber_emails\"))\n\t\t}\n\tdefault:\n\t\treturn m, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\ta.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"subscriber_mode\"))\n\t}\n\n\tfor n, email := range m.SubscriberEmails {\n\t\tif email != \"\" {\n\t\t\tem, err := a.importer.SanitizeEmail(email)\n\t\t\tif err != nil {\n\t\t\t\treturn m, echo.NewHTTPError(http.StatusBadRequest, err.Error())\n\t\t\t}\n\t\t\tm.SubscriberEmails[n] = em\n\t\t}\n\t}\n\n\tif m.FromEmail == \"\" {\n\t\tm.FromEmail = a.cfg.FromEmail\n\t}\n\n\tif m.Messenger == \"\" {\n\t\tm.Messenger = emailMsgr\n\t} else if !a.manager.HasMessenger(m.Messenger) {\n\t\treturn m, echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"campaigns.fieldInvalidMessenger\", \"name\", m.Messenger))\n\t}\n\n\treturn m, nil\n}\n"
  },
  {
    "path": "cmd/updates.go",
    "content": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"net/http\"\n\t\"regexp\"\n\t\"time\"\n\n\t\"golang.org/x/mod/semver\"\n)\n\nconst updateCheckURL = \"https://update.listmonk.app/update.json\"\n\ntype AppUpdate struct {\n\tUpdate struct {\n\t\tReleaseVersion string `json:\"release_version\"`\n\t\tReleaseDate    string `json:\"release_date\"`\n\t\tURL            string `json:\"url\"`\n\t\tDescription    string `json:\"description\"`\n\n\t\t// This is computed and set locally based on the local version.\n\t\tIsNew bool `json:\"is_new\"`\n\t} `json:\"update\"`\n\tMessages []struct {\n\t\tDate        string `json:\"date\"`\n\t\tTitle       string `json:\"title\"`\n\t\tDescription string `json:\"description\"`\n\t\tURL         string `json:\"url\"`\n\t\tPriority    string `json:\"priority\"`\n\t} `json:\"messages\"`\n}\n\nvar reSemver = regexp.MustCompile(`-(.*)`)\n\n// checkUpdates is a blocking function that checks for updates to the app\n// at the given intervals. On detecting a new update (new semver), it\n// sets the global update status that renders a prompt on the UI.\nfunc (a *App) checkUpdates(curVersion string, interval time.Duration) {\n\t// Strip -* suffix.\n\tcurVersion = reSemver.ReplaceAllString(curVersion, \"\")\n\n\tfnCheck := func() {\n\t\tresp, err := http.Get(updateCheckURL)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error checking for remote update: %v\", err)\n\t\t\treturn\n\t\t}\n\n\t\tif resp.StatusCode != 200 {\n\t\t\ta.log.Printf(\"non 200 response on remote update check: %d\", resp.StatusCode)\n\t\t\treturn\n\t\t}\n\n\t\tb, err := io.ReadAll(resp.Body)\n\t\tif err != nil {\n\t\t\ta.log.Printf(\"error reading remote update payload: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tresp.Body.Close()\n\n\t\tvar out AppUpdate\n\t\tif err := json.Unmarshal(b, &out); err != nil {\n\t\t\ta.log.Printf(\"error unmarshalling remote update payload: %v\", err)\n\t\t\treturn\n\t\t}\n\n\t\t// There is an update. Set it on the global app state.\n\t\tif semver.IsValid(out.Update.ReleaseVersion) {\n\t\t\tv := reSemver.ReplaceAllString(out.Update.ReleaseVersion, \"\")\n\t\t\tif semver.Compare(v, curVersion) > 0 {\n\t\t\t\tout.Update.IsNew = true\n\t\t\t\ta.log.Printf(\"new update %s found\", out.Update.ReleaseVersion)\n\t\t\t}\n\t\t}\n\n\t\ta.Lock()\n\t\ta.update = &out\n\t\ta.Unlock()\n\t}\n\n\t// Give a 15 minute buffer after app start in case the admin wants to disable\n\t// update checks entirely and not make a request to upstream.\n\ttime.Sleep(time.Minute * 15)\n\tfnCheck()\n\n\t// Thereafter, check every $interval.\n\tticker := time.NewTicker(interval)\n\tdefer ticker.Stop()\n\n\tfor range ticker.C {\n\t\tfnCheck()\n\t}\n}\n"
  },
  {
    "path": "cmd/upgrade.go",
    "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"strings\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/listmonk/internal/migrations\"\n\t\"github.com/knadh/stuffbin\"\n\t\"github.com/lib/pq\"\n\t\"golang.org/x/mod/semver\"\n)\n\n// migFunc represents a migration function for a particular version.\n// fn (generally) executes database migrations and additionally\n// takes the filesystem and config objects in case there are additional bits\n// of logic to be performed before executing upgrades. fn is idempotent.\ntype migFunc struct {\n\tversion string\n\tfn      func(*sqlx.DB, stuffbin.FileSystem, *koanf.Koanf, *log.Logger) error\n}\n\n// migList is the list of available migList ordered by the semver.\n// Each migration is a Go file in internal/migrations named after the semver.\n// The functions are named as: v0.7.0 => migrations.V0_7_0() and are idempotent.\nvar migList = []migFunc{\n\t{\"v0.4.0\", migrations.V0_4_0},\n\t{\"v0.7.0\", migrations.V0_7_0},\n\t{\"v0.8.0\", migrations.V0_8_0},\n\t{\"v0.9.0\", migrations.V0_9_0},\n\t{\"v1.0.0\", migrations.V1_0_0},\n\t{\"v2.0.0\", migrations.V2_0_0},\n\t{\"v2.1.0\", migrations.V2_1_0},\n\t{\"v2.2.0\", migrations.V2_2_0},\n\t{\"v2.3.0\", migrations.V2_3_0},\n\t{\"v2.4.0\", migrations.V2_4_0},\n\t{\"v2.5.0\", migrations.V2_5_0},\n\t{\"v3.0.0\", migrations.V3_0_0},\n\t{\"v4.0.0\", migrations.V4_0_0},\n\t{\"v4.1.0\", migrations.V4_1_0},\n\t{\"v5.0.0\", migrations.V5_0_0},\n\t{\"v5.1.0\", migrations.V5_1_0},\n\t{\"v6.0.0\", migrations.V6_0_0},\n\t{\"v6.1.0\", migrations.V6_1_0},\n}\n\n// upgrade upgrades the database to the current version by running SQL migration files\n// for all version from the last known version to the current one.\n// If record is false, migration versions are not recorded in the DB (used for nightly builds).\nfunc upgrade(db *sqlx.DB, fs stuffbin.FileSystem, prompt bool, record bool) {\n\tif prompt {\n\t\tvar ok string\n\t\tfmt.Printf(\"** IMPORTANT: Take a backup of the database before upgrading.\\n\")\n\t\tfmt.Print(\"continue (y/n)?  \")\n\t\tif _, err := fmt.Scanf(\"%s\", &ok); err != nil {\n\t\t\tlo.Fatalf(\"error reading value from terminal: %v\", err)\n\t\t}\n\t\tif strings.ToLower(ok) != \"y\" {\n\t\t\tfmt.Println(\"upgrade cancelled\")\n\t\t\treturn\n\t\t}\n\t}\n\n\t_, toRun, err := getPendingMigrations(db)\n\tif err != nil {\n\t\tlo.Fatalf(\"error checking migrations: %v\", err)\n\t}\n\n\t// No migrations to run.\n\tif len(toRun) == 0 {\n\t\tlo.Printf(\"no upgrades to run. Database is up to date.\")\n\t\treturn\n\t}\n\n\t// Execute migrations in succession.\n\tfor _, m := range toRun {\n\t\tlo.Printf(\"running migration %s\", m.version)\n\t\tif err := m.fn(db, fs, ko, lo); err != nil {\n\t\t\tlo.Fatalf(\"error running migration %s: %v\", m.version, err)\n\t\t}\n\n\t\t// Record the migration version in the settings table. There was no\n\t\t// settings table until v0.7.0, so ignore the no-table errors.\n\t\t// For nightly builds, skip recording so migrations re-run on each boot.\n\t\tif record {\n\t\t\tif err := recordMigrationVersion(m.version, db); err != nil {\n\t\t\t\tif isTableNotExistErr(err) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tlo.Fatalf(\"error recording migration version %s: %v\", m.version, err)\n\t\t\t}\n\t\t}\n\t}\n\n\tlo.Printf(\"upgrade complete\")\n}\n\n// checkUpgrade checks if the current database schema matches the expected\n// binary version.\nfunc checkUpgrade(db *sqlx.DB) {\n\tlastVer, toRun, err := getPendingMigrations(db)\n\tif err != nil {\n\t\tlo.Fatalf(\"error checking migrations: %v\", err)\n\t}\n\n\t// No migrations to run.\n\tif len(toRun) == 0 {\n\t\treturn\n\t}\n\n\tvar vers []string\n\tfor _, m := range toRun {\n\t\tvers = append(vers, m.version)\n\t}\n\n\tlo.Fatalf(`there are %d pending database upgrade(s): %v. The last upgrade was %s. Backup the database and run listmonk --upgrade`,\n\t\tlen(toRun), vers, lastVer)\n}\n\n// getPendingMigrations gets the pending migrations by comparing the last\n// recorded migration in the DB against all migrations listed in `migrations`.\nfunc getPendingMigrations(db *sqlx.DB) (string, []migFunc, error) {\n\tlastVer, err := getLastMigrationVersion(db)\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\n\t// Iterate through the migration versions and get everything above the last\n\t// upgraded semver.\n\tvar toRun []migFunc\n\tfor i, m := range migList {\n\t\tif semver.Compare(m.version, lastVer) > 0 {\n\t\t\ttoRun = migList[i:]\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn lastVer, toRun, nil\n}\n\n// getLastMigrationVersion returns the last migration semver recorded in the DB.\n// If there isn't any, `v0.0.0` is returned.\nfunc getLastMigrationVersion(db *sqlx.DB) (string, error) {\n\tvar v string\n\tif err := db.Get(&v, `\n\t\tSELECT COALESCE(\n\t\t\t(SELECT value->>-1 FROM settings WHERE key='migrations'),\n\t\t'v0.0.0')`); err != nil {\n\t\tif isTableNotExistErr(err) {\n\t\t\treturn \"v0.0.0\", nil\n\t\t}\n\t\treturn v, err\n\t}\n\treturn v, nil\n}\n\n// isTableNotExistErr checks if the given error represents a Postgres/pq\n// \"table does not exist\" error.\nfunc isTableNotExistErr(err error) bool {\n\tif p, ok := err.(*pq.Error); ok {\n\t\t// `settings` table does not exist. It was introduced in v0.7.0.\n\t\tif p.Code == \"42P01\" {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "cmd/users.go",
    "content": "package main\n\nimport (\n\t\"net/http\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/core\"\n\t\"github.com/knadh/listmonk/internal/utils\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/pquerna/otp/totp\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\nvar (\n\treUsername = regexp.MustCompile(`^[a-zA-Z0-9_\\-\\.@]+$`)\n)\n\n// GetUser retrieves a single user by ID.\nfunc (a *App) GetUser(c echo.Context) error {\n\t// Get the user from the DB.\n\tid := getID(c)\n\tout, err := a.core.GetUser(id, \"\", \"\")\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Blank out the password hash in the response.\n\tout.Password = null.String{}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// GetUsers retrieves all users.\nfunc (a *App) GetUsers(c echo.Context) error {\n\t// Get all users from the DB.\n\tout, err := a.core.GetUsers()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Blank out the password hash in the response.\n\tfor n := range out {\n\t\tout[n].Password = null.String{}\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// CreateUser handles user creation.\nfunc (a *App) CreateUser(c echo.Context) error {\n\tvar u auth.User\n\tif err := c.Bind(&u); err != nil {\n\t\treturn err\n\t}\n\n\tu.Username = strings.TrimSpace(u.Username)\n\tu.Name = strings.TrimSpace(u.Name)\n\temail := strings.ToLower(strings.TrimSpace(u.Email.String))\n\n\t// Validate fields.\n\tif !strHasLen(u.Username, 3, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"username\"))\n\t}\n\tif !reUsername.MatchString(u.Username) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"username\"))\n\t}\n\tif u.Type != auth.UserTypeAPI {\n\t\tif !utils.ValidateEmail(email) {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"email\"))\n\t\t}\n\t\tif u.PasswordLogin {\n\t\t\tif !strHasLen(u.Password.String, 8, stdInputMaxLen) {\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t\t\t}\n\t\t}\n\n\t\tu.Email = null.String{String: email, Valid: true}\n\t}\n\n\tif u.Name == \"\" {\n\t\tu.Name = u.Username\n\t}\n\n\t// Create the user in the DB.\n\tuser, err := a.core.CreateUser(u)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Blank out the password hash in the response.\n\tif user.Type != auth.UserTypeAPI {\n\t\tuser.Password = null.String{}\n\t}\n\n\t// Cache the API token for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{user})\n}\n\n// UpdateUser handles user modification.\nfunc (a *App) UpdateUser(c echo.Context) error {\n\t// Incoming params.\n\tvar u auth.User\n\tif err := c.Bind(&u); err != nil {\n\t\treturn err\n\t}\n\n\tu.Username = strings.TrimSpace(u.Username)\n\tu.Name = strings.TrimSpace(u.Name)\n\temail := strings.ToLower(strings.TrimSpace(u.Email.String))\n\n\t// Validate fields.\n\tif !strHasLen(u.Username, 3, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"username\"))\n\t}\n\tif !reUsername.MatchString(u.Username) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"username\"))\n\t}\n\n\t// Get the user ID.\n\tid := getID(c)\n\tif u.Type != auth.UserTypeAPI {\n\t\tif !utils.ValidateEmail(email) {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"email\"))\n\t\t}\n\n\t\t// Validate password if password login is enabled.\n\t\tif u.PasswordLogin && u.Password.String != \"\" {\n\t\t\tif !strHasLen(u.Password.String, 8, stdInputMaxLen) {\n\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t\t\t}\n\n\t\t\tif u.Password.String != \"\" {\n\t\t\t\t// If a password is sent, validate it before updating in the DB. If it's not set, leave the password in the DB untouched.\n\t\t\t\tif !strHasLen(u.Password.String, 8, stdInputMaxLen) {\n\t\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Get the user from the DB.\n\t\t\t\tuser, err := a.core.GetUser(id, \"\", \"\")\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\n\t\t\t\t// If password login is enabled, but there's no password in the DB and there's no incoming\n\t\t\t\t// password, throw an error.\n\t\t\t\tif !user.HasPassword {\n\t\t\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tu.Email = null.String{String: email, Valid: true}\n\t}\n\n\t// Default the name to username if not set.\n\tif u.Name == \"\" {\n\t\tu.Name = u.Username\n\t}\n\n\t// Update the user in the DB.\n\tuser, err := a.core.UpdateUser(id, u)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Blank out the password hash in the response.\n\tuser.Password = null.String{}\n\n\t// Cache the API token for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{user})\n}\n\n// DeleteUser handles the deletion of a single user by ID.\nfunc (a *App) DeleteUser(c echo.Context) error {\n\t// Delete the user(s) from the DB.\n\tid := getID(c)\n\tif err := a.core.DeleteUsers([]int{id}); err != nil {\n\t\treturn err\n\t}\n\n\t// Cache the API token for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DeleteUsers handles user deletion, either a single one (ID in the URI), or a list.\nfunc (a *App) DeleteUsers(c echo.Context) error {\n\tids, err := getQueryInts(\"id\", c.QueryParams())\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidID\"))\n\t}\n\n\t// Delete the user(s) from the DB.\n\tif err := a.core.DeleteUsers(ids); err != nil {\n\t\treturn err\n\t}\n\n\t// Cache the API token for in-memory, off-DB /api/* request auth.\n\tif _, err := cacheUsers(a.core, a.auth); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// GetUserProfile fetches the uesr profile for the currently logged in user.\nfunc (a *App) GetUserProfile(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Blank out the password hash in the response.\n\tuser.Password.String = \"\"\n\tuser.Password.Valid = false\n\n\treturn c.JSON(http.StatusOK, okResp{user})\n}\n\n// UpdateUserProfile update's the current user's profile.\nfunc (a *App) UpdateUserProfile(c echo.Context) error {\n\t// Get the authenticated user.\n\tuser := auth.GetUser(c)\n\n\t// Incoming params.\n\tu := auth.User{}\n\tif err := c.Bind(&u); err != nil {\n\t\treturn err\n\t}\n\tu.PasswordLogin = user.PasswordLogin\n\tu.Name = strings.TrimSpace(u.Name)\n\temail := strings.TrimSpace(u.Email.String)\n\n\t// Validate fields.\n\tif user.PasswordLogin {\n\t\tif !utils.ValidateEmail(email) {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"email\"))\n\t\t}\n\t\tu.Email = null.String{String: email, Valid: true}\n\t}\n\n\tif u.PasswordLogin && u.Password.String != \"\" {\n\t\tif !strHasLen(u.Password.String, 8, stdInputMaxLen) {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t\t}\n\t}\n\n\t// Update the user in the DB.\n\tout, err := a.core.UpdateUserProfile(user.ID, u)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Blank out the password hash in the response.\n\tout.Password = null.String{}\n\n\treturn c.JSON(http.StatusOK, okResp{out})\n}\n\n// EnableTOTP enables TOTP 2FA for a user after verifying the code.\nfunc (a *App) EnableTOTP(c echo.Context) error {\n\tvar (\n\t\tu      = c.Get(auth.UserHTTPCtxKey).(auth.User)\n\t\tsecret = strings.TrimSpace(c.FormValue(\"secret\"))\n\t\tcode   = strings.TrimSpace(c.FormValue(\"code\"))\n\t)\n\n\tif secret == \"\" || code == \"\" {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"globals.messages.invalidFields\"))\n\t}\n\n\t// If password login is disabled, can't enable TOTP.\n\tif !u.PasswordLogin {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"public.invalidFeature\"))\n\t}\n\n\t// If TOTP is already enabled, don't allow re-enabling.\n\tif u.TwofaType == models.TwofaTypeTOTP {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"users.twoFAAlreadyEnabled\"))\n\t}\n\n\t// Verify the TOTP code.\n\tvalid := totp.Validate(code, secret)\n\tif !valid {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"users.invalidTOTPCode\"))\n\t}\n\n\t// Enable TOTP in the DB.\n\tif err := a.core.SetTwoFA(u.ID, models.TwofaTypeTOTP, secret); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// DisableTOTP disables TOTP 2FA for a user after verifying the password.\nfunc (a *App) DisableTOTP(c echo.Context) error {\n\tvar (\n\t\tu        = c.Get(auth.UserHTTPCtxKey).(auth.User)\n\t\tpassword = c.FormValue(\"password\")\n\t)\n\n\t// TOTP isn't enabled.\n\tif u.TwofaType != models.TwofaTypeTOTP {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.T(\"users.twoFANotEnabled\"))\n\t}\n\n\t// Validate password.\n\tif !strHasLen(password, 8, stdInputMaxLen) {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, a.i18n.Ts(\"globals.messages.invalidFields\", \"name\", \"password\"))\n\t}\n\n\t// Verify the password.\n\tif _, err := a.core.LoginUser(u.Username, password); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusForbidden, a.i18n.T(\"users.invalidPassword\"))\n\t}\n\n\t// Disable TOTP in the DB.\n\tif err := a.core.SetTwoFA(u.ID, models.TwofaTypeNone, \"\"); err != nil {\n\t\treturn err\n\t}\n\n\treturn c.JSON(http.StatusOK, okResp{true})\n}\n\n// cacheUsers fetches (API) users and caches them in the auth module.\n// It also returns a bool indicating whether there are any actual users in the DB at all,\n// which if there aren't, the first time user setup needs to be run.\nfunc cacheUsers(co *core.Core, a *auth.Auth) (bool, error) {\n\tusers, err := co.GetUsers()\n\tif err != nil {\n\t\treturn false, err\n\t}\n\n\thasUser := false\n\tapiUsers := make([]auth.User, 0, len(users))\n\tfor _, u := range users {\n\t\tif u.Type == auth.UserTypeAPI && u.Status == auth.UserStatusEnabled {\n\t\t\tapiUsers = append(apiUsers, u)\n\t\t}\n\n\t\tif u.Type == auth.UserTypeUser {\n\t\t\thasUser = true\n\t\t}\n\t}\n\n\ta.CacheAPIUsers(apiUsers)\n\treturn hasUser, nil\n}\n"
  },
  {
    "path": "cmd/utils.go",
    "content": "package main\n\nimport (\n\t\"crypto/rand\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"slices\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nvar (\n\tregexpSpaces = regexp.MustCompile(`[\\s]+`)\n)\n\n// inArray checks if a string is present in a list of strings.\nfunc inArray(val string, vals []string) (ok bool) {\n\treturn slices.Contains(vals, val)\n}\n\n// makeFilename sanitizes a filename (user supplied upload filenames).\nfunc makeFilename(fName string) string {\n\tname := strings.TrimSpace(fName)\n\tif name == \"\" {\n\t\tname, _ = generateRandomString(10)\n\t}\n\t// replace whitespace with \"-\"\n\tname = regexpSpaces.ReplaceAllString(name, \"-\")\n\treturn filepath.Base(name)\n}\n\n// appendSuffixToFilename adds a string suffix to the filename while keeping the file extension.\nfunc appendSuffixToFilename(filename, suffix string) string {\n\text := filepath.Ext(filename)\n\tname := strings.TrimSuffix(filename, ext)\n\treturn fmt.Sprintf(\"%s_%s%s\", name, suffix, ext)\n}\n\n// makeMsgTpl takes a page title, heading, and message and returns\n// a msgTpl that can be rendered as an HTML view. This is used for\n// rendering arbitrary HTML views with error and success messages.\nfunc makeMsgTpl(pageTitle, heading, msg string) msgTpl {\n\tif heading == \"\" {\n\t\theading = pageTitle\n\t}\n\terr := msgTpl{}\n\terr.Title = pageTitle\n\terr.MessageTitle = heading\n\terr.Message = msg\n\treturn err\n}\n\n// parseStringIDs takes a slice of numeric string IDs and\n// parses each number into an int64 and returns a slice of the\n// resultant values.\nfunc parseStringIDs(s []string) ([]int, error) {\n\tvals := make([]int, 0, len(s))\n\tfor _, v := range s {\n\t\ti, err := strconv.Atoi(v)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif i < 1 {\n\t\t\treturn nil, fmt.Errorf(\"%d is not a valid ID\", i)\n\t\t}\n\n\t\tvals = append(vals, i)\n\t}\n\n\treturn vals, nil\n}\n\n// generateRandomString generates a cryptographically random, alphanumeric string of length n.\nfunc generateRandomString(n int) (string, error) {\n\tconst dictionary = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\n\tvar bytes = make([]byte, n)\n\n\tif _, err := rand.Read(bytes); err != nil {\n\t\treturn \"\", err\n\t}\n\tfor k, v := range bytes {\n\t\tbytes[k] = dictionary[v%byte(len(dictionary))]\n\t}\n\n\treturn string(bytes), nil\n}\n\n// strHasLen checks if the given string has a length within min-max.\nfunc strHasLen(str string, min, max int) bool {\n\treturn len(str) >= min && len(str) <= max\n}\n\n// getQueryInts parses the list of given query param values into ints.\nfunc getQueryInts(param string, qp url.Values) ([]int, error) {\n\tvar out []int\n\tif vals, ok := qp[param]; ok {\n\t\tfor _, v := range vals {\n\t\t\tif v == \"\" {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tlistID, err := strconv.Atoi(v)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tout = append(out, listID)\n\t\t}\n\t}\n\n\treturn out, nil\n}\n"
  },
  {
    "path": "config.toml.sample",
    "content": "[app]\n# Interface and port where the app will run its webserver.  The default value\n# of localhost will only listen to connections from the current machine. To\n# listen on all interfaces use '0.0.0.0'. To listen on the default web address\n# port, use port 80 (this will require running with elevated permissions).\naddress = \"localhost:9000\"\n\n# Database.\n[db]\nhost = \"localhost\"\nport = 5432\nuser = \"listmonk\"\npassword = \"listmonk\"\n\n# Ensure that this database has been created in Postgres.\ndatabase = \"listmonk\"\n\nssl_mode = \"disable\"\nmax_open = 25\nmax_idle = 25\nmax_lifetime = \"300s\"\n\n# Optional space separated Postgres DSN params. eg: \"application_name=listmonk gssencmode=disable\"\nparams = \"\"\n"
  },
  {
    "path": "dev/.gitignore",
    "content": "!config.toml\n"
  },
  {
    "path": "dev/README.md",
    "content": "# Docker suite for development\n\n**NOTE**: This exists only for local development. If you're interested in using\nDocker for a production setup, visit the\n[docs](https://listmonk.app/docs/installation/#docker) instead.\n\n### Objective\n\nThe purpose of this Docker suite for local development is to isolate all the dev\ndependencies in a Docker environment. The containers have a host volume mounted\ninside for the entire app directory. This helps us to not do a full\n`docker build` for every single local change, only restarting the Docker\nenvironment is enough.\n\n## Setting up a dev suite\n\nTo spin up a local suite of:\n\n- PostgreSQL\n- Mailhog\n- Node.js frontend app\n- Golang backend app\n\n### Verify your config file\n\nThe config file provided at `dev/config.toml` will be used when running the\ncontainerized development stack. Make sure the values set within are suitable\nfor the feature you're trying to develop.\n\n### Setup DB\n\nRunning this will build the appropriate images and initialize the database.\n\n```bash\nmake init-dev-docker\n```\n\n### Start frontend and backend apps\n\nRunning this start your local development stack.\n\n```bash\nmake dev-docker\n```\n\nVisit `http://localhost:8080` on your browser.\n\n### Tear down\n\nThis will tear down all the data, including DB.\n\n```bash\nmake rm-dev-docker\n```\n\n### See local changes in action\n\n- Backend: Anytime you do a change to the Go app, it needs to be compiled. Just\n  run `make dev-docker` again and that should automatically handle it for you.\n- Frontend: Anytime you change the frontend code, you don't need to do anything.\n  Since `yarn` is watching for all the changes and we have mounted the code\n  inside the docker container, `yarn` server automatically restarts.\n"
  },
  {
    "path": "dev/app.Dockerfile",
    "content": "FROM golang:1.24.1 AS go\n\nFROM node:16 AS node\n\nCOPY --from=go /usr/local/go /usr/local/go\nENV GOPATH /go\nENV CGO_ENABLED=0\nENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH\n\nWORKDIR /app\nCMD [ \"sleep infinity\" ]\n"
  },
  {
    "path": "dev/config.toml",
    "content": "[app]\n# Interface and port where the app will run its webserver.  The default value\n# of localhost will only listen to connections from the current machine. To\n# listen on all interfaces use '0.0.0.0'. To listen on the default web address\n# port, use port 80 (this will require running with elevated permissions).\naddress = \"0.0.0.0:9000\"\n\n# Database.\n[db]\nhost = \"db\"\nport = 5432\nuser = \"listmonk-dev\"\npassword = \"listmonk-dev\"\n\n# Ensure that this database has been created in Postgres.\ndatabase = \"listmonk-dev\"\n\nssl_mode = \"disable\"\nmax_open = 25\nmax_idle = 25\nmax_lifetime = \"300s\"\n\n# Optional space separated Postgres DSN params. eg: \"application_name=listmonk gssencmode=disable\"\nparams = \"\"\n"
  },
  {
    "path": "dev/docker-compose.yml",
    "content": "version: \"3\"\n\nservices:\n  adminer:\n    image: adminer:4.8.1-standalone\n    restart: always\n    ports:\n      - 8070:8080\n    networks:\n      - listmonk-dev\n\n  mailhog:\n    image: mailhog/mailhog:v1.0.1\n    ports:\n      - \"1025:1025\" # SMTP\n      - \"8025:8025\" # UI\n    networks:\n      - listmonk-dev\n\n  db:\n    image: postgres:13\n    ports:\n      - \"5432:5432\"\n    networks:\n      - listmonk-dev\n    environment:\n      - POSTGRES_PASSWORD=listmonk-dev\n      - POSTGRES_USER=listmonk-dev\n      - POSTGRES_DB=listmonk-dev\n    restart: unless-stopped\n    volumes:\n      - type: volume\n        source: listmonk-dev-db\n        target: /var/lib/postgresql/data\n\n  front:\n    build:\n      context: ../\n      dockerfile: dev/app.Dockerfile\n    command: [\"make\", \"run-frontend\"]\n    ports:\n      - \"8080:8080\"\n    environment:\n      - LISTMONK_API_URL=http://backend:9000\n    depends_on:\n      - db\n    volumes:\n      - ../:/app\n    networks:\n      - listmonk-dev\n\n  backend:\n    build:\n      context: ../\n      dockerfile: dev/app.Dockerfile\n    command: [\"make\", \"run-backend-docker\"]\n    ports:\n      - \"9000:9000\"\n    depends_on:\n      - db\n    volumes:\n      - ../:/app\n      - $GOPATH/pkg/mod/cache:/go/pkg/mod/cache\n    networks:\n      - listmonk-dev\n\nvolumes:\n  listmonk-dev-db:\n\nnetworks:\n  listmonk-dev:\n"
  },
  {
    "path": "docker-compose.yml",
    "content": "# All LISTMONK_* env variables also support the LISTMONK_*_FILE pattern for loading secrets from files with Docker secrets and Podman\n# eg: LISTMONK_ADMIN_USER -> LISTMONK_ADMIN_USER_FILE=/path/to/file_with_value\n\nx-db-credentials: &db-credentials                             # Use the default POSTGRES_ credentials if they're available or simply default to \"listmonk\"\n  POSTGRES_USER: &db-user listmonk                            # for database user, password, and database name\n  POSTGRES_PASSWORD: &db-password listmonk\n  POSTGRES_DB: &db-name listmonk\n\nservices:\n  # listmonk app\n  app:\n    image: listmonk/listmonk:latest\n    container_name: listmonk_app\n    restart: unless-stopped\n    ports:\n      - \"9000:9000\"                                           # To change the externally exposed port, change to: $custom_port:9000\n    networks:\n      - listmonk\n    hostname: listmonk.example.com                            # Recommend using FQDN for hostname\n    depends_on:\n      - db\n    command: [sh, -c, \"./listmonk --install --idempotent --yes --config '' && ./listmonk --upgrade --yes --config '' && ./listmonk --config ''\"]\n                                                              # --config (file) param is set to empty so that listmonk only uses the env vars (below) for config.\n                                                              # --install --idempotent ensures that DB installation happens only once on an empty DB, on the first ever start.\n                                                              # --upgrade automatically runs any DB migrations when a new image is pulled.\n\n    environment:                                              # The same params as in config.toml are passed as env vars here.\n      LISTMONK_app__address: 0.0.0.0:9000\n      LISTMONK_db__user: *db-user\n      LISTMONK_db__password: *db-password\n      LISTMONK_db__database: *db-name\n      LISTMONK_db__host: db\n      LISTMONK_db__port: 5432\n      LISTMONK_db__ssl_mode: disable\n      LISTMONK_db__max_open: 25\n      LISTMONK_db__max_idle: 25\n      LISTMONK_db__max_lifetime: 300s\n      TZ: Etc/UTC\n      LISTMONK_ADMIN_USER: ${LISTMONK_ADMIN_USER:-}           # If these (optional) are set during the first `docker compose up`, then the Super Admin user is automatically created.\n      LISTMONK_ADMIN_PASSWORD: ${LISTMONK_ADMIN_PASSWORD:-}   # Otherwise, the user can be setup on the web app after the first visit to http://localhost:9000\n    volumes:\n      - ./uploads:/listmonk/uploads:rw                        # Mount an uploads directory on the host to /listmonk/uploads inside the container.\n                                                              # To use this, change directory path in Admin -> Settings -> Media to /listmonk/uploads\n\n  # Postgres database\n  db:\n    image: postgres:17-alpine\n    container_name: listmonk_db\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:5432:5432\"                                 # Only bind on the local interface. To connect to Postgres externally, change this to 0.0.0.0\n    networks:\n      - listmonk\n    environment:\n      <<: *db-credentials\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U listmonk\"]\n      interval: 10s\n      timeout: 5s\n      retries: 6\n    volumes:\n      - type: volume\n        source: listmonk-data\n        target: /var/lib/postgresql/data\n\nnetworks:\n  listmonk:\n\nvolumes:\n  listmonk-data:\n"
  },
  {
    "path": "docker-entrypoint.sh",
    "content": "#!/bin/sh\n\nset -e\n\nexport PUID=${PUID:-0}\nexport PGID=${PGID:-0}\nexport GROUP_NAME=\"app\"\nexport USER_NAME=\"app\"\n\n# This function evaluates if the supplied PGID is already in use\n# if it is not in use, it creates the group with the PGID\n# if it is in use, it sets the GROUP_NAME to the existing group\ncreate_group() {\n  if ! getent group ${PGID} > /dev/null 2>&1; then\n    addgroup -g ${PGID} ${GROUP_NAME}\n  else\n    existing_group=$(getent group ${PGID} | cut -d: -f1)\n    export GROUP_NAME=${existing_group}\n  fi\n}\n\n# This function evaluates if the supplied PUID is already in use\n# if it is not in use, it creates the user with the PUID and PGID\ncreate_user() {\n  if ! getent passwd ${PUID} > /dev/null 2>&1; then\n    adduser -u ${PUID} -G ${GROUP_NAME} -s /bin/sh -D ${USER_NAME}\n  else\n    existing_user=$(getent passwd ${PUID} | cut -d: -f1)\n    export USER_NAME=${existing_user}\n  fi\n}\n\n# Run the needed functions to create the user and group\ncreate_group\ncreate_user\n\nload_secret_files() {\n  # Save and restore IFS\n  old_ifs=\"$IFS\"\n  IFS='\n'\n  # Capture all env variables starting with LISTMONK_ and ending with _FILE.\n  # It's value is assumed to be a file path with its actual value.\n  for line in $(env | grep '^LISTMONK_.*_FILE='); do\n    var=\"${line%%=*}\"\n    fpath=\"${line#*=}\"\n\n    # If it's a valid file, read its contents and assign it to the var\n    # without the _FILE suffix.\n    # Eg: LISTMONK_DB_USER_FILE=/run/secrets/user -> LISTMONK_DB_USER=$(contents of /run/secrets/user)\n    if [ -f \"$fpath\" ]; then\n      new_var=\"${var%_FILE}\"\n      export \"$new_var\"=\"$(cat \"$fpath\")\"\n    fi\n  done\n  IFS=\"$old_ifs\"\n}\n\n# Load env variables from files if LISTMONK_*_FILE variables are set.\nload_secret_files\n\n# Try to set the ownership of the app directory to the app user.\nif ! chown -R ${PUID}:${PGID} /listmonk 2>/dev/null; then\n  echo \"Warning: Failed to change ownership of /listmonk. Readonly volume?\"\nfi\n\necho \"Launching listmonk with user=[${USER_NAME}] group=[${GROUP_NAME}] PUID=[${PUID}] PGID=[${PGID}]\"\n\n# If running as root and PUID is not 0, then execute command as PUID\n# this allows us to run the container as a non-root user\nif [ \"$(id -u)\" = \"0\" ] && [ \"${PUID}\" != \"0\" ]; then\n  su-exec ${PUID}:${PGID} \"$@\"\nelse\n  exec \"$@\"\nfi\n"
  },
  {
    "path": "docs/README.md",
    "content": "# Static website and docs\n\nThis repository contains the source for the static website https://listmonk.app\n\n- The website is in `site` and is built with hugo (run `hugo serve` inside `site` to preview).\n\n- Documentation is in `docs` and is built with mkdocs (inside `docs`, run `mkdocs serve` to preview after running `pip install -r requirements.txt`)\n\n- `i18n` directory has the static UI for i18n translations: https://listmonk.app/i18n\n"
  },
  {
    "path": "docs/docs/content/apis/apis.md",
    "content": "# APIs\n\nAll features that are available on the listmonk dashboard are also available as REST-like HTTP APIs that can be interacted with directly. Request and response bodies are JSON. This allows easy scripting of listmonk and integration with other systems, for instance, synchronisation with external subscriber databases.\n\n!!! note\n    If you come across API calls that are yet to be documented, please consider contributing to docs.\n\n\n## Auth\nHTTP API requests support BasicAuth and a Authorization `token` headers. API users and tokens with the required permissions can be created and managed on the admin UI (Admin -> Users).\n\n##### BasicAuth example\n```shell\ncurl -u \"api_user:token\" http://localhost:9000/api/lists\n```\n\n##### Authorization token example\n```shell\ncurl -H \"Authorization: token api_user:token\" http://localhost:9000/api/lists\n```\n\n## Permissions\n**User role**: Permissions allowed for a user are defined as a *User role* (Admin -> User roles) and then attached to a user. \n\n**List role**: Read / write permissions per-list can be defined as a *List role* (Admin -> User roles) and then attached to a user. \n\nIn a *User role*, `lists:get_all` or `lists:manage_all` permission supercede and override any list specific permissions for a user defined in a *List role*.\n\nTo manage lists and subscriber list subscriptions via API requests, ensure that the appropriate permissions are attached to the API user.\n\n______________________________________________________________________\n\n## Response structure\n\n### Successful request\n\n```http\nHTTP/1.1 200 OK\nContent-Type: application/json\n\n{\n    \"data\": {}\n}\n```\n\nAll responses from the API server are JSON with the content-type application/json unless explicitly stated otherwise. A successful 200 OK response always has a JSON response body with a status key with the value success. The data key contains the full response payload.\n\n### Failed request\n\n```http\nHTTP/1.1 500 Server error\nContent-Type: application/json\n\n{\n    \"message\": \"Error message\"\n}\n```\n\nA failure response is preceded by the corresponding 40x or 50x HTTP header. There may be an optional `data` key with additional payload.\n\n### Timestamps\n\nAll timestamp fields are in the format `2019-01-01T09:00:00.000000+05:30`. The seconds component is suffixed by the milliseconds, followed by the `+` and the timezone offset.\n\n### Common HTTP error codes\n\n| Code  |                                                                             |\n| ----- | ----------------------------------------------------------------------------|\n|  400  | Missing or bad request parameters or values                                 |\n|  403  | Session expired or invalidate. Must relogin                                 |\n|  404  | Request resource was not found                                              |\n|  405  | Request method (GET, POST etc.) is not allowed on the requested endpoint    |\n|  410  | The requested resource is gone permanently                                  |\n|  422  | Unprocessable entity. Unable to process request as it contains invalid data |\n|  429  | Too many requests to the API (rate limiting)                                |\n|  500  | Something unexpected went wrong                                             |\n|  502  | The backend OMS is down and the API is unable to communicate with it        |\n|  503  | Service unavailable; the API is down                                        |\n|  504  | Gateway timeout; the API is unreachable                                     |\n\n\n## OpenAPI (Swagger) spec\n\nThe auto-generated OpenAPI (Swagger) specification site for the APIs are available at [**listmonk.app/docs/swagger**](https://listmonk.app/docs/swagger/)\n\n"
  },
  {
    "path": "docs/docs/content/apis/bounces.md",
    "content": "# API / Bounces\n\nMethod   | Endpoint                                                | Description\n---------|---------------------------------------------------------|------------------------------------------------\nGET      | [/api/bounces](#get-apibounces)                         | Retrieve bounce records.\nDELETE   | [/api/bounces](#delete-apibounces)                      | Delete all/multiple bounce records.\nDELETE   | [/api/bounces/{bounce_id}](#delete-apibouncesbounce_id) | Delete specific bounce record.\n\n\n______________________________________________________________________\n\n#### GET /api/bounces\n\nRetrieve the bounce records.\n\n##### Parameters\n\n| Name       | Type     | Required | Description                                                      |\n|:-----------|:---------|:---------|:-----------------------------------------------------------------|\n| campaign_id| number   |          | Bounce record retrieval for particular campaign id               |\n| page       | number   |          | Page number for pagination.                                      |\n| per_page   | number   |          | Results per page. Set to 'all' to return all results.            |\n| source     | string   |          |                                |\n| order_by   | string   |          | Fields by which bounce records are ordered. Options:\"email\", \"campaign_name\", \"source\", \"created_at\".        |\n| order      | number   |          | Sorts the result. Allowed values: 'asc','desc'                   |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/bounces?campaign_id=1&page=1&per_page=2' \\ \n    -H 'accept: application/json' -H 'Content-Type: application/x-www-form-urlencoded' \\\n    --data '{\"source\":\"demo\",\"order_by\":\"created_at\",\"order\":\"asc\"}'\n```\n\n##### Example Response\n\n```json\n{\n  \"data\": {\n    \"results\": [\n      {\n        \"id\": 839971,\n        \"type\": \"hard\",\n        \"source\": \"demo\",\n        \"meta\": {\n          \"some\": \"parameter\"\n        },\n        \"created_at\": \"2024-08-20T23:54:22.851858Z\",\n        \"email\": \"gilles.deleuze@example.app\",\n        \"subscriber_uuid\": \"32ca1f3e-1a1d-42e1-af04-df0757f420f3\",\n        \"subscriber_id\": 60,\n        \"campaign\": {\n          \"id\": 1,\n          \"name\": \"Test campaign\"\n        }\n      },\n      {\n        \"id\": 839725,\n        \"type\": \"hard\",\n        \"source\": \"demo\",\n        \"meta\": {\n          \"some\": \"parameter\"\n        },\n        \"created_at\": \"2024-08-20T22:46:36.393547Z\",\n        \"email\": \"gottfried.leibniz@example.app\",\n        \"subscriber_uuid\": \"5911d3f4-2346-4bfc-aad2-eb319ab0e879\",\n        \"subscriber_id\": 13,\n        \"campaign\": {\n          \"id\": 1,\n          \"name\": \"Test campaign\"\n        }\n      }\n    ],\n    \"query\": \"\",\n    \"total\": 528,\n    \"per_page\": 2,\n    \"page\": 1\n  }\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/bounces\n\nTo delete all bounces.\n\n##### Parameters\n\n| Name    | Type      | Required | Description                          |\n|:--------|:----------|:---------|:-------------------------------------|\n| all     | bool      | Yes      | Bool to confirm deleting all bounces |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/bounces?all=true'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/bounces\n\nTo delete multiple bounce records.\n\n##### Parameters\n\n| Name    | Type      | Required | Description                          |\n|:--------|:----------|:---------|:-------------------------------------|\n| id      | number    | Yes      | Id's of bounce records to delete.    |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/bounces?id=840965&id=840168&id=840879'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/bounces/{bounce_id}\n\nTo delete specific bounce id.\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/bounces/840965'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```"
  },
  {
    "path": "docs/docs/content/apis/campaigns.md",
    "content": "# API / Campaigns\n\n| Method | Endpoint                                                                    | Description                               |\n| :----- | :-------------------------------------------------------------------------- | :---------------------------------------- |\n| GET    | [/api/campaigns](#get-apicampaigns)                                         | Retrieve all campaigns.                   |\n| GET    | [/api/campaigns/{campaign_id}](#get-apicampaignscampaign_id)                | Retrieve a specific campaign.             |\n| GET    | [/api/campaigns/{campaign_id}/preview](#get-apicampaignscampaign_idpreview) | Retrieve preview of a campaign.           |\n| GET    | [/api/campaigns/running/stats](#get-apicampaignsrunningstats)               | Retrieve stats of specified campaigns.    |\n| GET    | [/api/campaigns/analytics/{type}](#get-apicampaignsanalyticstype)           | Retrieve view counts for a  campaign.     |\n| POST   | [/api/campaigns](#post-apicampaigns)                                        | Create a new campaign.                    |\n| POST   | [/api/campaigns/{campaign_id}/test](#post-apicampaignscampaign_idtest)      | Test campaign with arbitrary subscribers. |\n| PUT    | [/api/campaigns/{campaign_id}](#put-apicampaignscampaign_id)                | Update a campaign.                        |\n| PUT    | [/api/campaigns/{campaign_id}/status](#put-apicampaignscampaign_idstatus)   | Change status of a campaign.              |\n| PUT    | [/api/campaigns/{campaign_id}/archive](#put-apicampaignscampaign_idarchive) | Publish campaign to public archive.       |\n| DELETE | [/api/campaigns/{campaign_id}](#delete-apicampaignscampaign_id)             | Delete a campaign.                        |\n| DELETE | [/api/campaigns](#delete-apicampaigns)                                      | Delete multiple campaigns.                |\n\n____________________________________________________________________________________________________________________________________\n\n#### GET /api/campaigns\n\nRetrieve all campaigns.\n\n##### Example Request\n\n```shell\n curl -u \"api_user:token\" -X GET 'http://localhost:9000/api/campaigns?page=1&per_page=100'\n```\n\n##### Parameters\n\n| Name     | Type     | Required | Description                                                              |\n| :------- | :------- | :------- | :----------------------------------------------------------------------- |\n| order    | string   |          | Sorting order: ASC for ascending, DESC for descending.                   |\n| order_by | string   |          | Result sorting field. Options: name, status, created_at, updated_at.     |\n| query    | string   |          | String to filtter by campaign name and subject (fulltext and substring). |\n| status   | []string |          | Status to filter campaigns. Repeat in the query for multiple values.     |\n| tags     | []string |          | Tags to filter campaigns. Repeat in the query for multiple values.       |\n| page     | number   |          | Page number for paginated results.                                       |\n| per_page | number   |          | Results per page. Set as 'all' for all results.                          |\n| no_body  | boolean  |          | When set to true, returns response without body content.                 |\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"results\": [\n            {\n                \"id\": 1,\n                \"created_at\": \"2020-03-14T17:36:41.29451+01:00\",\n                \"updated_at\": \"2020-03-14T17:36:41.29451+01:00\",\n                \"views\": 0,\n                \"clicks\": 0,\n                \"lists\": [\n                    {\n                        \"id\": 1,\n                        \"name\": \"Default list\"\n                    }\n                ],\n                \"started_at\": null,\n                \"to_send\": 0,\n                \"sent\": 0,\n                \"uuid\": \"57702beb-6fae-4355-a324-c2fd5b59a549\",\n                \"type\": \"regular\",\n                \"name\": \"Test campaign\",\n                \"subject\": \"Welcome to listmonk\",\n                \"from_email\": \"No Reply <noreply@yoursite.com>\",\n                \"body\": \"<h3>Hi {{ .Subscriber.FirstName }}!</h3>\\n\\t\\t\\tThis is a test e-mail campaign. Your second name is {{ .Subscriber.LastName }} and you are from {{ .Subscriber.Attribs.city }}.\",\n                \"body_source\": null,\n                \"send_at\": \"2020-03-15T17:36:41.293233+01:00\",\n                \"status\": \"draft\",\n                \"content_type\": \"richtext\",\n                \"tags\": [\n                    \"test-campaign\"\n                ],\n                \"template_id\": 1,\n                \"messenger\": \"email\"\n            }\n        ],\n        \"query\": \"\",\n        \"total\": 1,\n        \"per_page\": 20,\n        \"page\": 1\n    }\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/campaigns/{campaign_id}\n\nRetrieve a specific campaign.\n\n##### Parameters\n\n| Name        | Type    | Required | Description                                              |\n| :---------- | :------ | :------- | :------------------------------------------------------- |\n| campaign_id | number  | Yes      | Campaign ID.                                             |\n| no_body     | boolean |          | When set to true, returns response without body content. |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/campaigns/1'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"created_at\": \"2020-03-14T17:36:41.29451+01:00\",\n        \"updated_at\": \"2020-03-14T17:36:41.29451+01:00\",\n        \"views\": 0,\n        \"clicks\": 0,\n        \"lists\": [\n            {\n                \"id\": 1,\n                \"name\": \"Default list\"\n            }\n        ],\n        \"started_at\": null,\n        \"to_send\": 0,\n        \"sent\": 0,\n        \"uuid\": \"57702beb-6fae-4355-a324-c2fd5b59a549\",\n        \"type\": \"regular\",\n        \"name\": \"Test campaign\",\n        \"subject\": \"Welcome to listmonk\",\n        \"from_email\": \"No Reply <noreply@yoursite.com>\",\n        \"body\": \"<h3>Hi {{ .Subscriber.FirstName }}!</h3>\\n\\t\\t\\tThis is a test e-mail campaign. Your second name is {{ .Subscriber.LastName }} and you are from {{ .Subscriber.Attribs.city }}.\",\n        \"body_source\": null,\n        \"send_at\": \"2020-03-15T17:36:41.293233+01:00\",\n        \"status\": \"draft\",\n        \"content_type\": \"richtext\",\n        \"tags\": [\n            \"test-campaign\"\n        ],\n        \"template_id\": 1,\n        \"messenger\": \"email\"\n    }\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/campaigns/{campaign_id}/preview\n\nPreview a specific campaign.\n\n##### Parameters\n\n| Name        | Type   | Required | Description             |\n| :---------- | :----- | :------- | :---------------------- |\n| campaign_id | number | Yes      | Campaign ID to preview. |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/campaigns/1/preview'\n```\n\n##### Example Response\n\n```html\n<h3>Hi John!</h3>\nThis is a test e-mail campaign. Your second name is Doe and you are from Bengaluru.\n```\n\n______________________________________________________________________\n\n#### GET /api/campaigns/running/stats\n\nRetrieve stats of specified campaigns.\n\n##### Parameters\n\n| Name        | Type   | Required | Description                    |\n| :---------- | :----- | :------- | :----------------------------- |\n| campaign_id | number | Yes      | Campaign IDs to get stats for. |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/campaigns/running/stats?campaign_id=1'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": []\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/campaigns/analytics/{type}\n\nRetrieve stats of specified campaigns.\n\n##### Parameters\n\n| Name | Type       | Required | Description                                   |\n| :--- | :--------- | :------- | :-------------------------------------------- |\n| id   | number\\[\\] | Yes      | Campaign IDs to get stats for.                |\n| type | string     | Yes      | Analytics type: views, links, clicks, bounces |\n| from | string     | Yes      | Start value of date range.                    |\n| to   | string     | Yes      | End value of date range.                      |\n\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/campaigns/analytics/views?id=1&from=2024-08-04&to=2024-08-12'\n```\n\n##### Example Response\n\n```json\n{\n  \"data\": [\n    {\n      \"campaign_id\": 1,\n      \"count\": 10,\n      \"timestamp\": \"2024-08-04T00:00:00Z\"\n    },\n    {\n      \"campaign_id\": 1,\n      \"count\": 14,\n      \"timestamp\": \"2024-08-08T00:00:00Z\"\n    },\n    {\n      \"campaign_id\": 1,\n      \"count\": 20,\n      \"timestamp\": \"2024-08-09T00:00:00Z\"\n    },\n    {\n      \"campaign_id\": 1,\n      \"count\": 21,\n      \"timestamp\": \"2024-08-10T00:00:00Z\"\n    },\n    {\n      \"campaign_id\": 1,\n      \"count\": 21,\n      \"timestamp\": \"2024-08-11T00:00:00Z\"\n    }\n  ]\n}\n```\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/campaigns/analytics/links?id=1&from=2024-08-04T18%3A30%3A00.624Z&to=2024-08-12T18%3A29%3A00.624Z'\n```\n\n##### Example Response\n\n```json\n{\n  \"data\": [\n    {\n      \"url\": \"https://freethebears.org\",\n      \"count\": 294\n    },\n    {\n      \"url\": \"https://calmcode.io\",\n      \"count\": 278\n    },\n    {\n      \"url\": \"https://climate.nasa.gov\",\n      \"count\": 261\n    },\n    {\n      \"url\": \"https://www.storybreathing.com\",\n      \"count\": 260\n    }\n  ]\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/campaigns\n\nCreate a new campaign.\n\n##### Parameters\n\n| Name         | Type       | Required | Description                                                                                                            |\n| :----------- | :--------- | :------- | :--------------------------------------------------------------------------------------------------------------------- |\n| name         | string     | Yes      | Campaign name.                                                                                                         |\n| subject      | string     | Yes      | Campaign email subject.                                                                                                |\n| lists        | number\\[\\] | Yes      | List IDs to send campaign to.                                                                                          |\n| from_email   | string     |          | 'From' email in campaign emails. Defaults to value from settings if not provided.                                      |\n| type         | string     | Yes      | Campaign type: 'regular' or 'optin'.                                                                                   |\n| content_type | string     | Yes      | Content type: 'richtext', 'html', 'markdown', 'plain', 'visual'.                                                       |\n| body         | string     | Yes      | Content body of campaign.                                                                                              |\n| body_source  | string     |          | If content_type is `visual`, the JSON block source of the body.                                                        |\n| altbody      | string     |          | Alternate plain text body for HTML (and richtext) emails.                                                              |\n| send_at      | string     |          | Timestamp to schedule campaign. Format: 'YYYY-MM-DDTHH:MM:SSZ'.                                                        |\n| messenger    | string     |          | 'email' or a custom messenger defined in settings. Defaults to 'email' if not provided.                                |\n| template_id  | number     |          | Template ID to use. Defaults to default template if not provided.                                                      |\n| tags         | string\\[\\] |          | Tags to mark campaign.                                                                                                 |\n| headers      | JSON       |          | Key-value pairs to send as SMTP headers. Example: \\[{\"x-custom-header\": \"value\"}\\].                                    |\n| attribs      | JSON       |          | Optional JSON object attributes that can be used in the campaign message template. Example `{\"location\": \"Somewhere\"}` |\n\n##### Example request\n\n```shell\ncurl -u \"api_user:token\" 'http://localhost:9000/api/campaigns' -X POST -H 'Content-Type: application/json;charset=utf-8' --data-raw '{\"name\":\"Test campaign\",\"subject\":\"Hello, world\",\"lists\":[1],\"from_email\":\"listmonk <noreply@listmonk.yoursite.com>\",\"content_type\":\"richtext\",\"messenger\":\"email\",\"type\":\"regular\",\"tags\":[\"test\"],\"template_id\":1}'\n```\n\n##### Example response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"created_at\": \"2021-12-27T11:50:23.333485Z\",\n        \"updated_at\": \"2021-12-27T11:50:23.333485Z\",\n        \"views\": 0,\n        \"clicks\": 0,\n        \"bounces\": 0,\n        \"lists\": [{\n            \"id\": 1,\n            \"name\": \"Default list\"\n        }],\n        \"started_at\": null,\n        \"to_send\": 1,\n        \"sent\": 0,\n        \"uuid\": \"90c889cc-3728-4064-bbcb-5c1c446633b3\",\n        \"type\": \"regular\",\n        \"name\": \"Test campaign\",\n        \"subject\": \"Hello, world\",\n        \"from_email\": \"listmonk \\u003cnoreply@listmonk.yoursite.com\\u003e\",\n        \"body\": \"\",\n        \"body_source\": null,\n        \"altbody\": null,\n        \"send_at\": null,\n        \"status\": \"draft\",\n        \"content_type\": \"richtext\",\n        \"tags\": [\"test\"],\n        \"template_id\": 1,\n        \"messenger\": \"email\",\n        \"headers\": {},\n        \"attribs\": {}\n    }\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/campaigns/{campaign_id}/test\n\nTest campaign with arbitrary subscribers.\n\nUse the same parameters in [POST /api/campaigns](#post-apicampaigns) in addition to the below parameters.\n\n##### Parameters\n\n| Name        | Type       | Required | Description                                        |\n| :---------- | :--------- | :------- | :------------------------------------------------- |\n| subscribers | string\\[\\] | Yes      | List of subscriber e-mails to send the message to. |\n\n______________________________________________________________________\n\n#### PUT /api/campaigns/{campaign_id}\n\nUpdate a campaign.\n\n> Refer to parameters from [POST /api/campaigns](#post-apicampaigns)\n\n______________________________________________________________________\n\n#### PUT /api/campaigns/{campaign_id}\n\nUpdate a specific campaign.\n\n> Refer to parameters from [POST /api/campaigns](#post-apicampaigns)\n\n______________________________________________________________________\n\n#### PUT /api/campaigns/{campaign_id}/status\n\nChange status of a campaign.\n\n##### Parameters\n\n| Name        | Type   | Required | Description                                                             |\n| :---------- | :----- | :------- | :---------------------------------------------------------------------- |\n| campaign_id | number | Yes      | Campaign ID to change status.                                           |\n| status      | string | Yes      | New status for campaign: 'scheduled', 'running', 'paused', 'cancelled'. |\n\n##### Note\n\n> - Only 'scheduled' campaigns can change status to 'draft'.\n> - Only 'draft' campaigns can change status to 'scheduled'.\n> - Only 'paused' and 'draft' campaigns can start ('running' status).\n> - Only 'running' campaigns can change status to 'cancelled' and 'paused'.\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X PUT 'http://localhost:9000/api/campaigns/1/status' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\"status\":\"scheduled\"}'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"created_at\": \"2020-03-14T17:36:41.29451+01:00\",\n        \"updated_at\": \"2020-04-08T19:35:17.331867+01:00\",\n        \"views\": 0,\n        \"clicks\": 0,\n        \"lists\": [\n            {\n                \"id\": 1,\n                \"name\": \"Default list\"\n            }\n        ],\n        \"started_at\": null,\n        \"to_send\": 0,\n        \"sent\": 0,\n        \"uuid\": \"57702beb-6fae-4355-a324-c2fd5b59a549\",\n        \"type\": \"regular\",\n        \"name\": \"Test campaign\",\n        \"subject\": \"Welcome to listmonk\",\n        \"from_email\": \"No Reply <noreply@yoursite.com>\",\n        \"body\": \"<h3>Hi {{ .Subscriber.FirstName }}!</h3>\\n\\t\\t\\tThis is a test e-mail campaign. Your second name is {{ .Subscriber.LastName }} and you are from {{ .Subscriber.Attribs.city }}.\",\n        \"send_at\": \"2020-03-15T17:36:41.293233+01:00\",\n        \"status\": \"scheduled\",\n        \"content_type\": \"richtext\",\n        \"tags\": [\n            \"test-campaign\"\n        ],\n        \"template_id\": 1,\n        \"messenger\": \"email\"\n    }\n}\n```\n\n______________________________________________________________________\n\n#### PUT /api/campaigns/{campaign_id}/archive\n\nPublish campaign to public archive.\n\n##### Parameters\n\n| Name                | Type        | Required | Description                                                               |\n| :------------------ | :---------- | :------- | :------------------------------------------------------------------------ |\n| campaign_id         | number      | Yes      | Campaign ID to publish to public archive.                                 |\n| archive             | bool        | Yes      | State of the public archive.                                              |\n| archive_template_id | number      | No       | Archive template id. Defaults to 0.                                       |\n| archive_meta        | JSON string | No       | Optional Metadata to use in campaign message or template.Eg: name, email. |\n| archive_slug        | string      | No       | Name for page to be used in public archive URL                            |\n\n\n##### Example Request\n\n```shell\n\ncurl -u \"api_user:token\" -X PUT 'http://localhost:8080/api/campaigns/33/archive' \n--header 'Content-Type: application/json' \n--data-raw '{\"archive\":true,\"archive_template_id\":1,\"archive_meta\":{},\"archive_slug\":\"my-newsletter-old-edition\"}'\n```\n\n##### Example Response\n\n```json\n{\n  \"data\": {\n    \"archive\": true,\n    \"archive_template_id\": 1,\n    \"archive_meta\": {},\n    \"archive_slug\": \"my-newsletter-old-edition\"\n  }\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/campaigns/{campaign_id}\n\nDelete a campaign.\n\n##### Parameters\n\n| Name        | Type   | Required | Description            |\n| :---------- | :----- | :------- | :--------------------- |\n| campaign_id | number | Yes      | Campaign ID to delete. |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/campaigns/34'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/campaigns\n\nDelete multiple campaigns by IDs or by a search query.\n\n##### Parameters\n\n| Name  | Type       | Required                      | Description                                                                 |\n| :---- | :--------- | :---------------------------- | :-------------------------------------------------------------------------- |\n| id    | number\\[\\] | Yes (if `query` not provided) | Onr or more campaign IDs to delete.                                         |\n| query | string     | Yes (if `id` not provided)    | Fulltext search query to filter campaigns for deletion (same as GET query). |\n\n##### Example Request (by IDs)\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/campaigns?id=10&id=11&id=12'\n```\n\n##### Example Request (by search query)\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/campaigns?query=test%20campaign'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n"
  },
  {
    "path": "docs/docs/content/apis/import.md",
    "content": "# API / Import\n\nMethod   | Endpoint                                        | Description\n---------|-------------------------------------------------|------------------------------------------------\nGET      | [/api/import/subscribers](#get-apiimportsubscribers) | Retrieve import statistics.\nGET      | [/api/import/subscribers/logs](#get-apiimportsubscriberslogs) | Retrieve import logs.\nPOST     | [/api/import/subscribers](#post-apiimportsubscribers) | Upload a file for bulk subscriber import.\nDELETE   | [/api/import/subscribers](#delete-apiimportsubscribers) | Stop and remove an import.\n\n______________________________________________________________________\n\n#### GET /api/import/subscribers\n\nRetrieve the status of an ongoing import.\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/import/subscribers'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"name\": \"\",\n        \"total\": 0,\n        \"imported\": 0,\n        \"status\": \"none\"\n    }\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/import/subscribers/logs\n\nRetrieve logs from an ongoing import.\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/import/subscribers/logs'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": \"2020/04/08 21:55:20 processing 'import.csv'\\n2020/04/08 21:55:21 imported finished\\n\"\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/import/subscribers\n\nSend a CSV (optionally ZIP compressed) file to import subscribers. Use a multipart form POST.\n\n##### Parameters\n\n| Name   | Type        | Required | Description                              |\n|:-------|:------------|:---------|:-----------------------------------------|\n| params | JSON string | Yes      | Stringified JSON with import parameters. |\n| file   | file        | Yes      | File for upload.                         |\n\n\n#### `params` (JSON string)\n| Name      | Type     | Required | Description                                                                                                                        |\n|:----------|:---------|:---------|:-----------------------------------------------------------------------------------------------------------------------------------|\n| mode      | string   | Yes      | `subscribe` or `blocklist`                                                                                                         |\n| delim     | string   | Yes      | Single character indicating delimiter used in the CSV file, eg: `,`                                                                |\n| lists     | []number |          | Array of list IDs to subscribe to.                                                                                                 |\n| overwrite | bool     |          | Whether to overwrite the subscriber parameters including subscriptions or ignore records that are already present in the database. |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X POST 'http://localhost:9000/api/import/subscribers' \\\n  -F 'params={\"mode\":\"subscribe\", \"subscription_status\":\"confirmed\", \"delim\":\",\", \"lists\":[1, 2], \"overwrite\": true}' \\\n  -F \"file=@/path/to/subs.csv\"\n```\n\n##### Example Response\n\n```json\n    {\n        \"mode\": \"subscribe\", // subscribe or blocklist\n        \"delim\": \",\",        // delimiter in the uploaded file\n        \"lists\":[1],         // array of list IDs to import into\n        \"overwrite\": true    // overwrite existing entries or skip them?\n    }\n```\n\n______________________________________________________________________\n\n#### DELETE /api/import/subscribers\n\nStop and delete an ongoing import.\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/import/subscribers' \n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"name\": \"\",\n        \"total\": 0,\n        \"imported\": 0,\n        \"status\": \"none\"\n    }\n}\n```\n"
  },
  {
    "path": "docs/docs/content/apis/lists.md",
    "content": "# API / Lists\n\n| Method | Endpoint                                        | Description               |\n| :----- | :---------------------------------------------- | :------------------------ |\n| GET    | [/api/lists](#get-apilists)                     | Retrieve all lists.       |\n| GET    | [/api/public/lists](#get-public-apilists)       | Retrieve public lists.    |\n| GET    | [/api/lists/{list_id}](#get-apilistslist_id)    | Retrieve a specific list. |\n| POST   | [/api/lists](#post-apilists)                    | Create a new list.        |\n| PUT    | [/api/lists/{list_id}](#put-apilistslist_id)    | Update a list.            |\n| DELETE | [/api/lists/{list_id}](#delete-apilistslist_id) | Delete a list.            |\n| DELETE | [/api/lists](#delete-apilists)                  | Delete multiple lists.    |\n\n______________________________________________________________________\n\n#### GET /api/lists\n\nRetrieve lists.\n\n> **Note:** Lists with `status: archived` are hidden from list selectors in campaigns, public subscription forms, and roles by default. They can only be viewed by filtering with `status=archived` or by viewing all lists without a status filter.\n\n##### Parameters\n\n| Name     | Type     | Required | Description                                                                                        |\n| :------- | :------- | :------- | :------------------------------------------------------------------------------------------------- |\n| query    | string   |          | String for list name search.                                                                       |\n| status   | string   |          | Status to filter lists. Options: active, archived. Defaults to showing all lists if not specified. |\n| minimal  | boolean  |          | If true, returns lists without subscriber counts (faster). Defaults to false.                      |\n| tag      | []string |          | Tags to filter lists. Repeat in the query for multiple values.                                     |\n| order_by | string   |          | Sort field. Options: name, status, created_at, updated_at.                                         |\n| order    | string   |          | Sorting order. Options: ASC, DESC.                                                                 |\n| page     | number   |          | Page number for pagination.                                                                        |\n| per_page | number   |          | Results per page. Set to 'all' to return all results.                                              |\n\n##### Example Request\n\n```shell\n# Get all lists\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/lists?page=1&per_page=100'\n\n# Get only active lists\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/lists?status=active&per_page=100'\n\n# Get archived lists with minimal data\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/lists?status=archived&minimal=true&per_page=all'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"results\": [\n            {\n                \"id\": 1,\n                \"created_at\": \"2020-02-10T23:07:16.194843+01:00\",\n                \"updated_at\": \"2020-03-06T22:32:01.118327+01:00\",\n                \"uuid\": \"ce13e971-c2ed-4069-bd0c-240e9a9f56f9\",\n                \"name\": \"Default list\",\n                \"type\": \"public\",\n                \"optin\": \"double\",\n                \"status\": \"active\",\n                \"tags\": [\n                    \"test\"\n                ],\n                \"subscriber_count\": 2\n            },\n            {\n                \"id\": 2,\n                \"created_at\": \"2020-03-04T21:12:09.555013+01:00\",\n                \"updated_at\": \"2020-03-06T22:34:46.405031+01:00\",\n                \"uuid\": \"f20a2308-dfb5-4420-a56d-ecf0618a102d\",\n                \"name\": \"get\",\n                \"type\": \"private\",\n                \"optin\": \"single\",\n                \"status\": \"active\",\n                \"tags\": [],\n                \"subscriber_count\": 0\n            }\n        ],\n        \"total\": 5,\n        \"per_page\": 20,\n        \"page\": 1\n    }\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/public/lists\n\nRetrieve public lists with name and uuid to submit a subscription. This is an unauthenticated call to enable scripting to subscription form.\n\n> **Note:** This endpoint only returns lists with `type: public` and `status: active`. Archived lists are never shown on public subscription forms.\n\n##### Example Request\n\n```shell\ncurl -X GET 'http://localhost:9000/api/public/lists'\n```\n\n##### Example Response\n\n```json\n[\n  {\n    \"uuid\": \"55e243af-80c6-4169-8d7f-bc571e0269e9\",\n    \"name\": \"Opt-in list\"\n  }\n]\n```\n______________________________________________________________________\n\n#### GET /api/lists/{list_id}\n\nRetrieve a specific list.\n\n##### Parameters\n\n| Name    | Type   | Required | Description                 |\n| :------ | :----- | :------- | :-------------------------- |\n| list_id | number | Yes      | ID of the list to retrieve. |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/lists/5'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 5,\n        \"created_at\": \"2020-03-07T06:31:06.072483+01:00\",\n        \"updated_at\": \"2020-03-07T06:31:06.072483+01:00\",\n        \"uuid\": \"1bb246ab-7417-4cef-bddc-8fc8fc941d3a\",\n        \"name\": \"Test list\",\n        \"type\": \"public\",\n        \"optin\": \"double\",\n        \"status\": \"active\",\n        \"tags\": [],\n        \"subscriber_count\": 0\n    }\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/lists\n\nCreate a new list.\n\n##### Parameters\n\n| Name        | Type       | Required | Description                                                        |\n| :---------- | :--------- | :------- | :----------------------------------------------------------------- |\n| name        | string     | Yes      | Name of the new list.                                              |\n| type        | string     | Yes      | Type of list. Options: private, public.                            |\n| optin       | string     | Yes      | Opt-in type. Options: single, double.                              |\n| status      | string     | No       | Status of the list. Options: active, archived. Defaults to active. |\n| tags        | string\\[\\] |          | Associated tags for a list.                                        |\n| description | string     | No       | Description of the new list.                                       |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X POST 'http://localhost:9000/api/lists'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 5,\n        \"created_at\": \"2020-03-07T06:31:06.072483+01:00\",\n        \"updated_at\": \"2020-03-07T06:31:06.072483+01:00\",\n        \"uuid\": \"1bb246ab-7417-4cef-bddc-8fc8fc941d3a\",\n        \"name\": \"Test list\",\n        \"type\": \"public\",\n        \"optin\": \"single\",\n        \"status\": \"active\",\n        \"tags\": [],\n        \"subscriber_count\": 0,\n        \"description\": \"This is a test list\"\n    }\n}\n```\n\n______________________________________________________________________\n\n#### PUT /api/lists/{list_id}\n\nUpdate a list.\n\n##### Parameters\n\n| Name        | Type       | Required | Description                                    |\n| :---------- | :--------- | :------- | :--------------------------------------------- |\n| list_id     | number     | Yes      | ID of the list to update.                      |\n| name        | string     |          | New name for the list.                         |\n| type        | string     |          | Type of list. Options: private, public.        |\n| optin       | string     |          | Opt-in type. Options: single, double.          |\n| status      | string     |          | Status of the list. Options: active, archived. |\n| tags        | string\\[\\] |          | Associated tags for the list.                  |\n| description | string     |          | Description of the list.                       |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X PUT 'http://localhost:9000/api/lists/5' \\\n--form 'name=modified test list' \\\n--form 'type=private'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 5,\n        \"created_at\": \"2020-03-07T06:31:06.072483+01:00\",\n        \"updated_at\": \"2020-03-07T06:52:15.208075+01:00\",\n        \"uuid\": \"1bb246ab-7417-4cef-bddc-8fc8fc941d3a\",\n        \"name\": \"modified test list\",\n        \"type\": \"private\",\n        \"optin\": \"single\",\n        \"status\": \"active\",\n        \"tags\": [],\n        \"subscriber_count\": 0,\n        \"description\": \"This is a test list\"\n    }\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/lists/{list_id}\n\nDelete a specific list.\n\n##### Parameters\n\n| Name    | Type   | Required | Description               |\n| :------ | :----- | :------- | :------------------------ |\n| list_id | Number | Yes      | ID of the list to delete. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/lists/1'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/lists\n\nDelete multiple lists by IDs or by a search query.\n\n> **Note:** Users can only delete lists they have `manage` permission for. Any lists in the query that the user doesn't have permission to manage is ignored.\n\n##### Parameters\n\n| Name  | Type       | Required                      | Description                                                        |\n| :---- | :--------- | :---------------------------- | :----------------------------------------------------------------- |\n| id    | number\\[\\] | Yes (if `query` not provided) | One or more list IDs to delete.                                    |\n| query | string     | Yes (if `id` not provided)    | Search query to filter lists for deletion (same as the GET query). |\n\n##### Example Request (by IDs)\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/lists?id=10&id=11&id=12'\n```\n\n##### Example Request (by search query)\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/lists?query=test%20list'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n"
  },
  {
    "path": "docs/docs/content/apis/media.md",
    "content": "# API / Media\n\nMethod | Endpoint                                             | Description\n-------|------------------------------------------------------|---------------------------------\nGET    | [/api/media](#get-apimedia)                          | Get uploaded media file\nGET    | [/api/media/{media_id}](#get-apimediamedia_id)       | Get specific uploaded media file\nPOST   | [/api/media](#post-apimedia)                         | Upload media file\nDELETE | [/api/media/{media_id}](#delete-apimediamedia_id)    | Delete uploaded media file\n\n______________________________________________________________________\n\n#### GET /api/media\n\nGet an uploaded media file.\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/media' \\\n--header 'Content-Type: multipart/form-data; boundary=--------------------------093715978792575906250298'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"uuid\": \"ec7b45ce-1408-4e5c-924e-965326a20287\",\n            \"filename\": \"Media file\",\n            \"created_at\": \"2020-04-08T22:43:45.080058+01:00\",\n            \"thumb_url\": \"/uploads/image_thumb.jpg\",\n            \"uri\": \"/uploads/image.jpg\"\n        }\n    ]\n}\n```\n______________________________________________________________________\n\n#### GET /api/media/{media_id}\n\nRetrieve a specific media.\n\n##### Parameters\n\n| Name          | Type      | Required | Description      |\n|:--------------|:----------|:---------|:-----------------|\n| media_id      | Number    | Yes      | Media ID.        |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/media/7' \n```\n\n##### Example Response\n\n```json\n{\n  \"data\": \n    {\n        \"id\": 7,\n        \"uuid\": \"62e32e97-d6ca-4441-923f-b62607000dd1\",\n        \"filename\": \"ResumeB.pdf\",\n        \"content_type\": \"application/pdf\",\n        \"created_at\": \"2024-08-06T11:28:53.888257+05:30\",\n        \"thumb_url\": null,\n        \"provider\": \"filesystem\",\n        \"meta\": {},\n        \"url\": \"http://localhost:9000/uploads/ResumeB.pdf\"\n    }\n}\n```\n______________________________________________________________________\n\n#### POST /api/media\n\nUpload a media file.\n\n##### Parameters\n\n| Field | Type      | Required | Description         |\n|-------|-----------|----------|---------------------|\n| file  | File      | Yes      | Media file to upload|\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X POST 'http://localhost:9000/api/media' \\\n--header 'Content-Type: multipart/form-data; boundary=--------------------------183679989870526937212428' \\\n--form 'file=@/path/to/image.jpg'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"uuid\": \"ec7b45ce-1408-4e5c-924e-965326a20287\",\n        \"filename\": \"Media file\",\n        \"created_at\": \"2020-04-08T22:43:45.080058+01:00\",\n        \"thumb_uri\": \"/uploads/image_thumb.jpg\",\n        \"uri\": \"/uploads/image.jpg\"\n    }\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/media/{media_id}\n\nDelete an uploaded media file.\n\n##### Parameters\n\n| Field    | Type      | Required | Description             |\n|----------|-----------|----------|-------------------------|\n| media_id | number    | Yes      | ID of media file to delete |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/media/1'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n"
  },
  {
    "path": "docs/docs/content/apis/sdks.md",
    "content": "# SDKs and client libraries\n\nA list of 3rd party client libraries and SDKs that have been written for listmonk APIs.\n\n!!! note\n\tThe list is community sourced. They have not been verified and are not officially supported.\n\n- [WordPress - WooCommerce plugin](https://github.com/post-duif/integration-listmonk-wordpress-plugin) integration for listmonk\n- [listmonk ](https://github.com/mikeckennedy/listmonk) — Python API client\n- [listmonk-api](https://github.com/Knuckles-Team/listmonk-api) — Python API client\n- [frappe_listmonk](https://github.com/anandology/frappe_listmonk) — Frappe framework integration for listmonk\n- [auto-newsletter-listmonk](https://github.com/chaddyc/auto-newsletter-listmonk) — Ghost CMS integration\n- [listmonk-newsletter](https://github.com/iloveitaly/listmonk-newsletter) - RSS to listmonk integration for email newsletters\n- [listmonk-crysctal](https://github.com/russ/listmonk-crystal) — Crystal lang API client\n- [terraform-provider-listmonk](https://github.com/Muravlev/terraform-provider-listmonk) — Manage listmonk templates in Terraform\n- [listmonk-php-client](https://github.com/arunnabraham/listmonk-php-client) — PHP API client\n- [php-listmonk](https://github.com/junisan/php-listmonk) — PHP API client\n- [go-listmonk](https://github.com/EzeXchange-API/go-listmonk) — Go API client\n- [listmonk-nodejs-api](https://github.com/mihairaulea/listmonk-nodejs-api) — NodeJS API client\n- [@maloma/listmonk](https://codeberg.org/maloma/listmonk-sdk) — NodeJS/Bun Typescript SDK\n- [listmonk-laravel](https://github.com/theafolayan/listmonk-laravel) — Laravel API Client\n- [nuxt-listmonk](https://github.com/roncallyt/nuxt-listmonk) — Listmonk module for Nuxt.js\n- [listmonk-japi](https://codeberg.org/hlassiege/listmonk-japi) - Listmonk client for Java/kotlin\n- [listmonk-mcp](https://github.com/rhnvrm/listmonk-mcp) — MCP (Model Context Protocol) server for Claude integration\n- [N8N Nodes](https://github.com/wiesinghilker/n8n-nodes-listmonk) — Adds Listmonk Nodes for N8N Automations\n"
  },
  {
    "path": "docs/docs/content/apis/subscribers.md",
    "content": "# API / Subscribers\n\n| Method | Endpoint                                                                                | Description                                    |\n| ------ | --------------------------------------------------------------------------------------- | ---------------------------------------------- |\n| GET    | [/api/subscribers](#get-apisubscribers)                                                 | Query and retrieve subscribers.                |\n| GET    | [/api/subscribers/{subscriber_id}](#get-apisubscriberssubscriber_id)                    | Retrieve a specific subscriber.                |\n| GET    | [/api/subscribers/{subscriber_id}/export](#get-apisubscriberssubscriber_idexport)       | Export a specific subscriber.                  |\n| GET    | [/api/subscribers/{subscriber_id}/bounces](#get-apisubscriberssubscriber_idbounces)     | Retrieve a  subscriber bounce records.         |\n| POST   | [/api/subscribers](#post-apisubscribers)                                                | Create a new subscriber.                       |\n| POST   | [/api/subscribers/{subscriber_id}/optin](#post-apisubscriberssubscriber_idoptin)        | Sends optin confirmation email to subscribers. |\n| POST   | [/api/public/subscription](#post-apipublicsubscription)                                 | Create a public subscription.                  |\n| PUT    | [/api/subscribers/lists](#put-apisubscriberslists)                                      | Modify subscriber list memberships.            |\n| PUT    | [/api/subscribers/{subscriber_id}](#put-apisubscriberssubscriber_id)                    | Update a specific subscriber.                  |\n| PUT    | [/api/subscribers/{subscriber_id}/blocklist](#put-apisubscriberssubscriber_idblocklist) | Blocklist a specific subscriber.               |\n| PUT    | [/api/subscribers/blocklist](#put-apisubscribersblocklist)                              | Blocklist one or many subscribers.             |\n| PUT    | [/api/subscribers/query/blocklist](#put-apisubscribersqueryblocklist)                   | Blocklist subscribers based on SQL expression. |\n| DELETE | [/api/subscribers/{subscriber_id}](#delete-apisubscriberssubscriber_id)                 | Delete a specific subscriber.                  |\n| DELETE | [/api/subscribers/{subscriber_id}/bounces](#delete-apisubscriberssubscriber_idbounces)  | Delete a specific subscriber's bounce records. |\n| DELETE | [/api/subscribers](#delete-apisubscribers)                                              | Delete one or more subscribers.                |\n| POST   | [/api/subscribers/query/delete](#post-apisubscribersquerydelete)                        | Delete subscribers based on SQL expression.    |\n\n______________________________________________________________________\n\n#### GET /api/subscribers\n\nRetrieve all subscribers.\n\n##### Query parameters\n\n| Name                | Type   | Required | Description                                                           |\n| :------------------ | :----- | :------- | :-------------------------------------------------------------------- |\n| query               | string |          | Subscriber search by SQL expression.                                  |\n| list_id             | int[]  |          | ID of lists to filter by. Repeat in the query for multiple values.    |\n| subscription_status | string |          | Subscription status to filter by if there are one or more `list_id`s. |\n| order_by            | string |          | Result sorting field. Options: name, status, created_at, updated_at.  |\n| order               | string |          | Sorting order: ASC for ascending, DESC for descending.                |\n| page                | number |          | Page number for paginated results.                                    |\n| per_page            | number |          | Results per page. Set as 'all' for all results.                       |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers?page=1&per_page=100' \n```\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers?list_id=1&list_id=2&page=1&per_page=100'\n```\n\n```shell\ncurl -u 'api_username:access_token' -X GET 'http://localhost:9000/api/subscribers' \\\n    --url-query 'page=1' \\\n    --url-query 'per_page=100' \\\n    --url-query \"query=subscribers.name LIKE 'Test%' AND subscribers.attribs->>'city' = 'Bengaluru'\"\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"results\": [\n            {\n                \"id\": 1,\n                \"created_at\": \"2020-02-10T23:07:16.199433+01:00\",\n                \"updated_at\": \"2020-02-10T23:07:16.199433+01:00\",\n                \"uuid\": \"ea06b2e7-4b08-4697-bcfc-2a5c6dde8f1c\",\n                \"email\": \"john@example.com\",\n                \"name\": \"John Doe\",\n                \"attribs\": {\n                    \"city\": \"Bengaluru\",\n                    \"good\": true,\n                    \"type\": \"known\"\n                },\n                \"status\": \"enabled\",\n                \"lists\": [\n                    {\n                        \"subscription_status\": \"unconfirmed\",\n                        \"id\": 1,\n                        \"uuid\": \"ce13e971-c2ed-4069-bd0c-240e9a9f56f9\",\n                        \"name\": \"Default list\",\n                        \"type\": \"public\",\n                        \"tags\": [\n                            \"test\"\n                        ],\n                        \"created_at\": \"2020-02-10T23:07:16.194843+01:00\",\n                        \"updated_at\": \"2020-02-10T23:07:16.194843+01:00\"\n                    }\n                ]\n            },\n            {\n                \"id\": 2,\n                \"created_at\": \"2020-02-18T21:10:17.218979+01:00\",\n                \"updated_at\": \"2020-02-18T21:10:17.218979+01:00\",\n                \"uuid\": \"ccf66172-f87f-4509-b7af-e8716f739860\",\n                \"email\": \"quadri@example.com\",\n                \"name\": \"quadri\",\n                \"attribs\": {},\n                \"status\": \"enabled\",\n                \"lists\": [\n                    {\n                        \"subscription_status\": \"unconfirmed\",\n                        \"id\": 1,\n                        \"uuid\": \"ce13e971-c2ed-4069-bd0c-240e9a9f56f9\",\n                        \"name\": \"Default list\",\n                        \"type\": \"public\",\n                        \"tags\": [\n                            \"test\"\n                        ],\n                        \"created_at\": \"2020-02-10T23:07:16.194843+01:00\",\n                        \"updated_at\": \"2020-02-10T23:07:16.194843+01:00\"\n                    }\n                ]\n            },\n            {\n                \"id\": 3,\n                \"created_at\": \"2020-02-19T19:10:49.36636+01:00\",\n                \"updated_at\": \"2020-02-19T19:10:49.36636+01:00\",\n                \"uuid\": \"5d940585-3cc8-4add-b9c5-76efba3c6edd\",\n                \"email\": \"sugar@example.com\",\n                \"name\": \"sugar\",\n                \"attribs\": {},\n                \"status\": \"enabled\",\n                \"lists\": []\n            }\n        ],\n        \"query\": \"\",\n        \"total\": 3,\n        \"per_page\": 20,\n        \"page\": 1\n    }\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/subscribers/{subscriber_id}\n\nRetrieve a specific subscriber.\n\n##### Parameters\n\n| Name          | Type   | Required | Description      |\n| :------------ | :----- | :------- | :--------------- |\n| subscriber_id | Number | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers/1' \n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"created_at\": \"2020-02-10T23:07:16.199433+01:00\",\n        \"updated_at\": \"2020-02-10T23:07:16.199433+01:00\",\n        \"uuid\": \"ea06b2e7-4b08-4697-bcfc-2a5c6dde8f1c\",\n        \"email\": \"john@example.com\",\n        \"name\": \"John Doe\",\n        \"attribs\": {\n            \"city\": \"Bengaluru\",\n            \"good\": true,\n            \"type\": \"known\"\n        },\n        \"status\": \"enabled\",\n        \"lists\": [\n            {\n                \"subscription_status\": \"unconfirmed\",\n                \"id\": 1,\n                \"uuid\": \"ce13e971-c2ed-4069-bd0c-240e9a9f56f9\",\n                \"name\": \"Default list\",\n                \"type\": \"public\",\n                \"tags\": [\n                    \"test\"\n                ],\n                \"created_at\": \"2020-02-10T23:07:16.194843+01:00\",\n                \"updated_at\": \"2020-02-10T23:07:16.194843+01:00\"\n            }\n        ]\n    }\n}\n```\n______________________________________________________________________\n\n#### GET /api/subscribers/{subscriber_id}/export\n\nExport a specific subscriber data that gives profile, list subscriptions, campaign views and link clicks information. Names of private lists are replaced with \"Private list\". \n\n##### Parameters\n\n| Name          | Type   | Required | Description      |\n| :------------ | :----- | :------- | :--------------- |\n| subscriber_id | Number | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers/1/export' \n```\n\n##### Example Response\n\n```json\n{\n  \"profile\": [\n    {\n      \"id\": 1,\n      \"uuid\": \"c2cc0b31-b485-4d72-8ce8-b47081beadec\",\n      \"email\": \"john@example.com\",\n      \"name\": \"John Doe\",\n      \"attribs\": {\n        \"city\": \"Bengaluru\",\n        \"good\": true,\n        \"type\": \"known\"\n      },\n      \"status\": \"enabled\",\n      \"created_at\": \"2024-07-29T11:01:31.478677+05:30\",\n      \"updated_at\": \"2024-07-29T11:01:31.478677+05:30\"\n    }\n  ],\n  \"subscriptions\": [\n    {\n      \"subscription_status\": \"unconfirmed\",\n      \"name\": \"Private list\",\n      \"type\": \"private\",\n      \"created_at\": \"2024-07-29T11:01:31.478677+05:30\"\n    }\n  ],\n  \"campaign_views\": [],\n  \"link_clicks\": []\n}\n```\n______________________________________________________________________\n\n#### GET /api/subscribers/{subscriber_id}/bounces\n\nGet a specific subscriber bounce records.\n##### Parameters\n\n| Name          | Type   | Required | Description      |\n| :------------ | :----- | :------- | :--------------- |\n| subscriber_id | Number | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers/1/bounces' \n```\n\n##### Example Response\n\n```json\n{\n  \"data\": [\n    {\n      \"id\": 841706,\n      \"type\": \"hard\",\n      \"source\": \"demo\",\n      \"meta\": {\n        \"some\": \"parameter\"\n      },\n      \"created_at\": \"2024-08-22T09:05:12.862877Z\",\n      \"email\": \"thomas.hobbes@example.com\",\n      \"subscriber_uuid\": \"137c0d83-8de6-44e2-a55f-d4238ab21969\",\n      \"subscriber_id\": 99,\n      \"campaign\": {\n        \"id\": 2,\n        \"name\": \"Welcome to listmonk\"\n      }\n    },\n    {\n      \"id\": 841680,\n      \"type\": \"hard\",\n      \"source\": \"demo\",\n      \"meta\": {\n        \"some\": \"parameter\"\n      },\n      \"created_at\": \"2024-08-19T14:07:53.141917Z\",\n      \"email\": \"thomas.hobbes@example.com\",\n      \"subscriber_uuid\": \"137c0d83-8de6-44e2-a55f-d4238ab21969\",\n      \"subscriber_id\": 99,\n      \"campaign\": {\n        \"id\": 1,\n        \"name\": \"Test campaign\"\n      }\n    }\n  ]\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/subscribers\n\nCreate a new subscriber.\n\n##### Parameters\n\n| Name                     | Type       | Required | Description                                                                                                                   |\n|:-------------------------|:-----------|:---------|:------------------------------------------------------------------------------------------------------------------------------|\n| email                    | string     | Yes      | Subscriber's email address.                                                                                                   |\n| name                     | string     | Yes      | Subscriber's name.                                                                                                            |\n| status                   | string     | Yes      | Subscriber's status: `enabled`, `blocklisted`.                                                                                |\n| lists                    | number\\[\\] |          | List of list IDs to subscribe to.                                                                                             |\n| attribs                  | JSON       |          | Optional JSON object attributes for the subscriber that can be used in message templates. Example `{\"location\": \"Somewhere\"}` |\n| preconfirm_subscriptions | bool       |          | If true, subscriptions are marked as confirmed and no opt-in emails are sent for double opt-in lists.                         |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers' -H 'Content-Type: application/json' \\\n    --data '{\"email\":\"subscriber@domain.com\",\"name\":\"The Subscriber\",\"status\":\"enabled\",\"lists\":[1],\"attribs\":{\"city\":\"Bengaluru\",\"projects\":3,\"stack\":{\"languages\":[\"go\",\"python\"]}}}'\n```\n\n##### Example Response\n\n```json\n{\n  \"data\": {\n    \"id\": 3,\n    \"created_at\": \"2019-07-03T12:17:29.735507+05:30\",\n    \"updated_at\": \"2019-07-03T12:17:29.735507+05:30\",\n    \"uuid\": \"eb420c55-4cfb-4972-92ba-c93c34ba475d\",\n    \"email\": \"subscriber@domain.com\",\n    \"name\": \"The Subscriber\",\n    \"attribs\": {\n      \"city\": \"Bengaluru\",\n      \"projects\": 3,\n      \"stack\": { \"languages\": [\"go\", \"python\"] }\n    },\n    \"status\": \"enabled\",\n    \"lists\": [1]\n  }\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/subscribers/{subscribers_id}/optin\n\nSends opt-in confirmation email to subscribers.\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' 'http://localhost:9000/api/subscribers/11/optin' -H 'Content-Type: application/json' \\\n--data {}\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n} \n```\n______________________________________________________________________\n\n#### POST /api/public/subscription\n\nCreate a public subscription, accepts both form encoded or JSON encoded body.\n\n##### Parameters\n\n| Name       | Type       | Required | Description                 |\n| :--------- | :--------- | :------- | :-------------------------- |\n| email      | string     | Yes      | Subscriber's email address. |\n| name       | string     |          | Subscriber's name.          |\n| list_uuids | string\\[\\] | Yes      | List of list UUIDs.         |\n\n##### Example JSON Request\n\n```shell\ncurl 'http://localhost:9000/api/public/subscription' -H 'Content-Type: application/json' \\\n    --data '{\"email\":\"subscriber@domain.com\",\"name\":\"The Subscriber\",\"list_uuids\": [\"eb420c55-4cfb-4972-92ba-c93c34ba475d\", \"0c554cfb-eb42-4972-92ba-c93c34ba475d\"]}'\n```\n\n##### Example Form Request\n\n```shell\ncurl -u 'http://localhost:9000/api/public/subscription' \\\n    -d 'email=subscriber@domain.com' -d 'name=The Subscriber' -d 'l=eb420c55-4cfb-4972-92ba-c93c34ba475d' -d 'l=0c554cfb-eb42-4972-92ba-c93c34ba475d'\n```\n\nNote: For form request, use `l` for multiple lists instead of `lists`.\n\n##### Example Response\n\n```json\n{\n  \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### PUT /api/subscribers/lists\n\nModify subscriber list memberships.\n\n##### Parameters\n\n| Name            | Type       | Required           | Description                                                       |\n| :-------------- | :--------- | :----------------- | :---------------------------------------------------------------- |\n| ids             | number\\[\\] | Yes                | Array of user IDs to be modified.                                 |\n| action          | string     | Yes                | Action to be applied: `add`, `remove`, or `unsubscribe`.          |\n| target_list_ids | number\\[\\] | Yes                | Array of list IDs to be modified.                                 |\n| status          | string     | Required for `add` | Subscriber status: `confirmed`, `unconfirmed`, or `unsubscribed`. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X PUT 'http://localhost:9000/api/subscribers/lists' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{\"ids\": [1, 2, 3], \"action\": \"add\", \"target_list_ids\": [4, 5, 6], \"status\": \"confirmed\"}'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n} \n```\n\n______________________________________________________________________\n\n#### PUT /api/subscribers/{subscriber_id}\n\nUpdate a specific subscriber.\n\n> Refer to parameters from [POST /api/subscribers](#post-apisubscribers). Note: All parameters must be set, if not, the subscriber will be removed from all previously assigned lists.\n\n______________________________________________________________________\n\n#### PUT /api/subscribers/{subscriber_id}/blocklist\n\nBlocklist a specific subscriber.\n\n##### Parameters\n\n| Name          | Type   | Required | Description      |\n| :------------ | :----- | :------- | :--------------- |\n| subscriber_id | Number | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X PUT 'http://localhost:9000/api/subscribers/9/blocklist'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n} \n```\n\n______________________________________________________________________\n\n#### PUT /api/subscribers/blocklist\n\nBlocklist multiple subscriber.\n\n##### Parameters\n\n| Name | Type   | Required | Description      |\n| :--- | :----- | :------- | :--------------- |\n| ids  | Number | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X PUT 'http://localhost:8080/api/subscribers/blocklist' -H 'Content-Type: application/json' --data-raw '{\"ids\":[2,1]}'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n} \n```\n\n______________________________________________________________________\n\n#### PUT /api/subscribers/query/blocklist\n\nBlocklist subscribers based on SQL expression.\n\n> Refer to the [querying and segmentation](../querying-and-segmentation.md#querying-and-segmenting-subscribers) section for more information on how to query subscribers with SQL expressions.\n\n##### Parameters\n\n| Name     | Type     | Required | Description                                  |\n| :------- | :------- | :------- | :------------------------------------------- |\n| query    | string   | Yes      | SQL expression to filter subscribers with.   |\n| list_ids | []number | No       | Optional list IDs to limit the filtering to. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X POST 'http://localhost:9000/api/subscribers/query/blocklist' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{\"query\":\"subscribers.name LIKE \\'John Doe\\' AND subscribers.attribs->>'\\''city'\\'' = '\\''Bengaluru'\\''\"}'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/subscribers/{subscriber_id}\n\nDelete a specific subscriber.\n\n##### Parameters\n\n| Name          | Type   | Required | Description      |\n| :------------ | :----- | :------- | :--------------- |\n| subscriber_id | Number | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/subscribers/9'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/subscribers/{subscriber_id}/bounces\n\nDelete a subscriber's bounce records\n\n##### Parameters\n\n| Name | Type          | Required | Description      |\n| :--- | :------------ | :------- | :--------------- |\n| id   | subscriber_id | Yes      | Subscriber's ID. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/subscribers/9/bounces'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/subscribers\n\nDelete one or more subscribers.\n\n##### Parameters\n\n| Name | Type       | Required | Description                |\n| :--- | :--------- | :------- | :------------------------- |\n| id   | number\\[\\] | Yes      | Array of subscriber's IDs. |\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X DELETE 'http://localhost:9000/api/subscribers?id=10&id=11'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n\n______________________________________________________________________\n\n#### POST /api/subscribers/query/delete\n\nDelete subscribers based on SQL expression.\n\n##### Parameters\n\n| Name     | Type     | Required | Description                                                        |\n| :------- | :------- | :------- | :----------------------------------------------------------------- |\n| query    | string   | No       | SQL expression to filter subscribers with.                         |\n| list_ids | []number | No       | Optional list IDs to limit the filtering to.                       |\n| all      | bool     | No       | When set to `true`, ignores any query and deletes all subscribers. |\n\n\n##### Example Request\n\n```shell\ncurl -u 'api_username:access_token' -X POST 'http://localhost:9000/api/subscribers/query/delete' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{\"query\":\"subscribers.name LIKE \\'John Doe\\' AND subscribers.attribs->>'\\''city'\\'' = '\\''Bengaluru'\\''\"}'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n"
  },
  {
    "path": "docs/docs/content/apis/templates.md",
    "content": "# API / Templates\n\n| Method | Endpoint                                                                      | Description                    |\n|:-------|:------------------------------------------------------------------------------|:-------------------------------|\n| GET    | [/api/templates](#get-apitemplates)                                           | Retrieve all templates         |\n| GET    | [/api/templates/{template_id}](#get-apitemplates-template_id)                 | Retrieve a template            |\n| GET    | [/api/templates/{template_id}/preview](#get-apitemplates-template_id-preview) | Retrieve template HTML preview |\n| POST   | [/api/templates](#post-apitemplates)                                          | Create a template              |\n| POST   | /api/templates/preview                                                        | Render and preview a template  |\n| PUT    | [/api/templates/{template_id}](#put-apitemplatestemplate_id)                  | Update a template              |\n| PUT    | [/api/templates/{template_id}/default](#put-apitemplates-template_id-default) | Set default template           |\n| DELETE | [/api/templates/{template_id}](#delete-apitemplates-template_id)              | Delete a template              |\n\n______________________________________________________________________\n\n#### GET /api/templates\n\nRetrieve all templates.\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/templates'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"created_at\": \"2020-03-14T17:36:41.288578+01:00\",\n            \"updated_at\": \"2020-03-14T17:36:41.288578+01:00\",\n            \"name\": \"Default template\",\n            \"body\": \"{{ template \\\"content\\\" . }}\",\n            \"body_source\": null,\n            \"type\": \"campaign\",\n            \"is_default\": true\n        }\n    ]\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/templates/{template_id}\n\nRetrieve a specific template.\n\n##### Parameters\n\n| Name        | Type      | Required | Description                    |\n|:------------|:----------|:---------|:-------------------------------|\n| template_id | number    | Yes      | ID of the template to retrieve |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/templates/1'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"created_at\": \"2020-03-14T17:36:41.288578+01:00\",\n        \"updated_at\": \"2020-03-14T17:36:41.288578+01:00\",\n        \"name\": \"Default template\",\n        \"body\": \"{{ template \\\"content\\\" . }}\",\n        \"body_source\": null,\n        \"type\": \"campaign\",\n        \"is_default\": true\n    }\n}\n```\n\n______________________________________________________________________\n\n#### GET /api/templates/{template_id}/preview\n\nRetrieve the HTML preview of a template.\n\n##### Parameters\n\n| Name        | Type      | Required | Description                   |\n|:------------|:----------|:---------|:------------------------------|\n| template_id | number    | Yes      | ID of the template to preview |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X GET 'http://localhost:9000/api/templates/1/preview'\n```\n\n##### Example Response\n\n```html\n<p>Hi there</p>\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis et elit ac elit sollicitudin condimentum non a magna.\n\tSed tempor mauris in facilisis vehicula. Aenean nisl urna, accumsan ac tincidunt vitae, interdum cursus massa.\n\tInterdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam varius turpis et turpis lacinia placerat.\n\tAenean id ligula a orci lacinia blandit at eu felis. Phasellus vel lobortis lacus. Suspendisse leo elit, luctus sed\n\terat ut, venenatis fermentum ipsum. Donec bibendum neque quis.</p>\n\n<h3>Sub heading</h3>\n<p>Nam luctus dui non placerat mattis. Morbi non accumsan orci, vel interdum urna. Duis faucibus id nunc ut euismod.\n\tCurabitur et eros id erat feugiat fringilla in eget neque. Aliquam accumsan cursus eros sed faucibus.</p>\n\n<p>Here is a link to <a href=\"https://listmonk.app\" target=\"_blank\">listmonk</a>.</p>\n```\n\n______________________________________________________________________\n\n#### POST /api/templates\n\nCreate a template.\n\n##### Parameters\n\n| Name        | Type   | Required | Description                                                                   |\n|:------------|:-------|:---------|:------------------------------------------------------------------------------|\n| name        | string | Yes      | Name of the template                                                          |\n| type        | string | Yes      | Type of the template (`campaign`, `campaign_visual`, or `tx`)                 |\n| subject     | string |          | Subject line for the template (only for `tx`)                                 |\n| body_source | string |          | If type is `campaign_visual`, the JSON source for the email-builder tempalate |\n| body        | string | Yes      | HTML body of the template                                                     |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X POST 'http://localhost:9000/api/templates' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"name\": \"New template\",\n    \"type\": \"campaign\",\n    \"subject\": \"Your Weekly Newsletter\",\n    \"body\": \"<h1>Header</h1><p>Content goes here</p>\"\n}'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"created_at\": \"2020-03-14T17:36:41.288578+01:00\",\n            \"updated_at\": \"2020-03-14T17:36:41.288578+01:00\",\n            \"name\": \"Default template\",\n            \"body\": \"{{ template \\\"content\\\" . }}\",\n            \"body_source\": null,\n            \"type\": \"campaign\",\n            \"is_default\": true\n        }\n    ]\n}\n```\n\n______________________________________________________________________\n\n#### PUT /api/templates/{template_id}\n\nUpdate a template.\n\n> Refer to parameters from [POST /api/templates](#post-apitemplates)\n\n______________________________________________________________________\n\n#### PUT /api/templates/{template_id}/default\n\nSet a template as the default.\n\n##### Parameters\n\n| Name        | Type      | Required | Description                          |\n|:------------|:----------|:---------|:-------------------------------------|\n| template_id | number    | Yes      | ID of the template to set as default |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X PUT 'http://localhost:9000/api/templates/1/default'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": {\n        \"id\": 1,\n        \"created_at\": \"2020-03-14T17:36:41.288578+01:00\",\n        \"updated_at\": \"2020-03-14T17:36:41.288578+01:00\",\n        \"name\": \"Default template\",\n        \"body\": \"{{ template \\\"content\\\" . }}\",\n        \"body_source\": null,\n        \"type\": \"campaign\",\n        \"is_default\": true\n    }\n}\n```\n\n______________________________________________________________________\n\n#### DELETE /api/templates/{template_id}\n\nDelete a template.\n\n##### Parameters\n\n| Name        | Type      | Required | Description                  |\n|:------------|:----------|:---------|:-----------------------------|\n| template_id | number    | Yes      | ID of the template to delete |\n\n##### Example Request\n\n```shell\ncurl -u \"api_user:token\" -X DELETE 'http://localhost:9000/api/templates/35'\n```\n\n##### Example Response\n\n```json\n{\n    \"data\": true\n}\n```\n"
  },
  {
    "path": "docs/docs/content/apis/transactional.md",
    "content": "# API / Transactional\n\n| Method | Endpoint | Description                 |\n| :----- | :------- | :-------------------------- |\n| POST   | /api/tx  | Send transactional messages |\n\n______________________________________________________________________\n\n#### POST /api/tx\n\nAllows sending transactional messages to one or more subscribers via a preconfigured transactional template.\n\n##### Parameters\n\n| Name              | Type       | Required | Description                                                                |\n| :---------------- | :--------- | :------- | :------------------------------------------------------------------------- |\n| subscriber_email  | string     |          | Email of the subscriber. Can substitute with `subscriber_id`.              |\n| subscriber_id     | number     |          | Subscriber's ID can substitute with `subscriber_email`.                    |\n| subscriber_emails | string\\[\\] |          | Multiple subscriber emails as alternative to `subscriber_email`.           |\n| subscriber_ids    | number\\[\\] |          | Multiple subscriber IDs as an alternative to `subscriber_id`.              |\n| subscriber_mode   | string     |          | Subscriber lookup mode: `default`, `fallback`, or `external`               |\n| template_id       | number     | Yes      | ID of the transactional template to be used for the message.               |\n| from_email        | string     |          | Optional sender email.                                                     |\n| subject           | string     |          | Optional subject. If empty, the subject defined on the template is used    |\n| data              | JSON       |          | Optional nested JSON map. Available in the template as `{{ .Tx.Data.* }}`. |\n| headers           | JSON\\[\\]   |          | Optional array of email headers.                                           |\n| messenger         | string     |          | Messenger to send the message. Default is `email`.                         |\n| content_type      | string     |          | Email format options include `html`, `markdown`, and `plain`.              |\n| altbody           | string     |          | Optional alternate plaintext body for multipart HTML emails.               |\n\n##### Subscriber modes\n\nThe `subscriber_mode` parameter controls how the recipients (subscribers or non-subscriber recipients) are resolved.\n\n| Mode       | Description                                                                                                                                                                                                                                                                    |\n| :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `default`  | Recipients must exist as subscribers in the database. Pass either `subscriber_emails` or `subscriber_ids`.                                                                                                                                                                     |\n| `fallback` | Only accepts `subscriber_emails` and looks up subscribers in the database. If not found, sends the message to the e-mail anyway. In the template, apart from `{{ .Subscriber.Email }}`, other subscriber fields such as `.Name`. will be empty. Use `{{ Tx.Data.* }}` instead. |\n| `external` | Sends to the given `subscriber_emails` without subscriber lookup in the database. In the template, apart from `{{ .Subscriber.Email }}`, other subscriber fields such as `.Name`. will be empty. Use `{{ Tx.Data.* }}` instead.                                                |\n\n##### Example\n\n```shell\ncurl -u \"api_user:token\" \"http://localhost:9000/api/tx\" -X POST \\\n     -H 'Content-Type: application/json; charset=utf-8' \\\n     --data-binary @- << EOF\n    {\n        \"subscriber_email\": \"user@test.com\",\n        \"template_id\": 2,\n        \"data\": {\"order_id\": \"1234\", \"date\": \"2022-07-30\", \"items\": [1, 2, 3]},\n        \"content_type\": \"html\"\n    }\nEOF\n```\n\n##### Example response\n\n```json\n{\n    \"data\": true\n}\n```\n\n##### Example with external mode\n\nSend to arbitrary email addresses without requiring them to be subscribers:\n\n```shell\ncurl -u \"api_user:token\" \"http://localhost:9000/api/tx\" -X POST \\\n     -H 'Content-Type: application/json; charset=utf-8' \\\n     --data-binary @- << EOF\n    {\n        \"subscriber_mode\": \"external\",\n        \"subscriber_emails\": [\"recipient@example.com\"],\n        \"template_id\": 2,\n        \"data\": {\"name\": \"John\", \"order_id\": \"1234\"},\n        \"content_type\": \"html\"\n    }\nEOF\n```\n\nIn the template, use `{{ .Tx.Data.name }}`, `{{ .Tx.Data.order_id }}`, etc. to access the data.\n\n______________________________________________________________________\n\n#### File Attachments\n\nTo include file attachments in a transactional message, use the `multipart/form-data` Content-Type. Use `data` param for the parameters described above as a JSON object. Include any number of attachments via the `file` param.\n\n```shell\ncurl -u \"api_user:token\" \"http://localhost:9000/api/tx\" -X POST \\\n-F 'data=\\\"{\n    \\\"subscriber_email\\\": \\\"user@test.com\\\",\n    \\\"template_id\\\": 4\n}\"' \\\n-F 'file=@\"/path/to/attachment.pdf\"' \\\n-F 'file=@\"/path/to/attachment2.pdf\"'\n```\n"
  },
  {
    "path": "docs/docs/content/archives.md",
    "content": "# Archives\n\nA global public archive is maintained on the public web interface. It can be\nenabled under Settings -> Settings -> General -> Enable public mailing list\narchive.\n\nTo make a campaign available in the public archive (provided it has been\nenabled in the settings as described above), enable the option\n'Publish to public archive' under Campaigns -> Create new -> Archive.\n\nWhen using template variables that depend on subscriber data (such as any\ntemplate variable referencing `.Subscriber`), such data must be supplied\nas 'Campaign metadata', which is a JSON object that will be used in place\nof `.Subscriber` when rendering the archive template and content.\n\nWhen individual subscriber tracking is enabled, TrackLink requires that a UUID\nof an existing user is provided as part of the campaign metadata. Any clicks on\na TrackLink from the archived campaign will be counted towards that subscriber.\n\nAs an example:\n\n```json\n{\n  \"UUID\": \"5a837423-a186-5623-9a87-82691cbe3631\",\n  \"email\": \"example@example.com\",\n  \"name\": \"Reader\",\n  \"attribs\": {}\n}\n```\n\n![Archive campaign](images/archived-campaign-metadata.png)\n\n"
  },
  {
    "path": "docs/docs/content/bounces.md",
    "content": "# Bounce processing\n\nEnable bounce processing in Settings -> Bounces. POP3 bounce scanning and APIs only become available once the setting is enabled.\n\n## POP3 bounce mailbox\nConfigure the bounce mailbox in Settings -> Bounces. Either the \"From\" e-mail that is set on a campaign (or in settings) should have a POP3 mailbox behind it to receive bounce e-mails, or you should configure a dedicated POP3 mailbox and add that address as the `Return-Path` (envelope sender) header in Settings -> SMTP -> Custom headers box. For example:\n\n```\n[\n\t{\"Return-Path\": \"your-bounce-inbox@site.com\"}\n]\n\n```\n\nSome mail servers may also return the bounce to the `Reply-To` address, which can also be added to the header settings.\n\n### Bounce classification\nlistmonk applies a series of heuristics looking for keywords in the bounced mail body to guess if it is a 'soft' bounce or a 'hard' bounce. For instance, 4.x.x and 5.x.x error status codes, common strings such as \"mailbox not found\" etc. If none of the heuristics match, then the bounce mail is considered to be 'soft' by default.\n\n## Webhook API\nThe bounce webhook API can be used to record bounce events with custom scripting. This could be by reading a mailbox, a database, or mail server logs.\n\n| Method | Endpoint         | Description            |\n| ------ | ---------------- | ---------------------- |\n| `POST` | /webhooks/bounce | Record a bounce event. |\n\n\n| Name            | Type   | Required | Description                                                                          |\n| --------------- | ------ | -------- | ------------------------------------------------------------------------------------ |\n| subscriber_uuid | string |          | The UUID of the subscriber. Either this or `email` is required.                      |\n| email           | string |          | The e-mail of the subscriber. Either this or `subscriber_uuid` is required.          |\n| campaign_uuid   | string |          | UUID of the campaign for which the bounce happened.                                  |\n| source          | string | Yes      | A string indicating the source, eg: `api`, `my_script` etc.                          |\n| type            | string | Yes      | `hard` or `soft` bounce. Currently, this has no effect on how the bounce is treated. |\n| meta            | string |          | An optional escaped JSON string with arbitrary metadata about the bounce event.      |\n \n\n```shell\ncurl -u 'api_username:access_token' -X POST 'http://localhost:9000/webhooks/bounce' \\\n\t-H \"Content-Type: application/json\" \\\n\t--data '{\"email\": \"user1@mail.com\", \"campaign_uuid\": \"9f86b50d-5711-41c8-ab03-bc91c43d711b\", \"source\": \"api\", \"type\": \"hard\", \"meta\": \"{\\\"additional\\\": \\\"info\\\"}}'\n\n```\n\n## External webhooks\nlistmonk supports receiving bounce webhook events from the following SMTP providers.\n\n| Endpoint                                                      | Description                            | More info                                                                                                             |\n| :------------------------------------------------------------ | :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |\n| `https://listmonk.yoursite.com/webhooks/service/ses`          | Amazon (AWS) SES                       | See below                                                                                                             |\n| `https://listmonk.yoursite.com/webhooks/service/sendgrid`     | Sendgrid / Twilio Signed event webhook | [More info](https://docs.sendgrid.com/for-developers/tracking-events/getting-started-event-webhook-security-features) |\n| `https://listmonk.yoursite.com/webhooks/service/postmark`     | Postmark webhook                       | [More info](https://postmarkapp.com/developer/webhooks/webhooks-overview)                                             |\n| `https://listmonk.yoursite.com/webhooks/service/forwardemail` | Forward Email webhook                  | [More info](https://forwardemail.net/en/faq#do-you-support-bounce-webhooks)                                           |\n\n## Amazon Simple Email Service (SES)\n\nIf using SES as your SMTP provider, automatic bounce processing is the recommended way to maintain your [sender reputation](https://docs.aws.amazon.com/ses/latest/dg/monitor-sender-reputation.html). The settings below are based on Amazon's [recommendations](https://docs.aws.amazon.com/ses/latest/dg/send-email-concepts-deliverability.html). Please note that your sending domain must be verified in SES before proceeding.\n\n1. In listmonk settings, go to the \"Bounces\" tab and configure the following:\n    - Enable bounce processing: `Enabled`\n        - Soft:\n            - Bounce count: `2`\n            - Action: `None`\n        - Hard:\n            - Bounce count: `1`\n            - Action: `Blocklist`\n        - Complaint: \n            - Bounce count: `1`\n            - Action: `Blocklist`\n    - Enable bounce webhooks: `Enabled`\n    - Enable SES: `Enabled`\n2. In the AWS console, go to [Simple Notification Service](https://console.aws.amazon.com/sns/) and create a new topic with the following settings:\n    - Type: `Standard`\n    - Name: `ses-bounces` (or any other name)\n3. Create a new subscription to that topic with the following settings:\n    - Protocol: `HTTPS`\n    - Endpoint: `https://listmonk.yoursite.com/webhooks/service/ses`\n    - Enable raw message delivery: `Disabled` (unchecked)\n4. SES will then make a request to your listmonk instance to confirm the subscription. After a page refresh, the subscription should have a status of \"Confirmed\". If not, your endpoint may be incorrect or not publicly accessible.\n5. In the AWS console, go to [Simple Email Service](https://console.aws.amazon.com/ses/) and click \"Identities\" in the left sidebar.\n6. Click your domain and go to the \"Notifications\" tab.\n7. Next to \"Feedback notifications\", click \"Edit\".\n8. For both \"Bounce feedback\" and \"Complaint feedback\", use the following settings:\n    - SNS topic: `ses-bounces` (or whatever you named it)\n    - Include original email headers: `Enabled` (checked)\n9. Repeat steps 6-8 for any `Email address` identities you send from using listmonk\n10. Bounce processing should now be working. You can test it with [SES simulator addresses](https://docs.aws.amazon.com/ses/latest/dg/send-an-email-from-console.html#send-email-simulator). Add them as subscribers, send them campaign previews, and ensure that the appropriate action was taken after the configured bounce count was reached.\n    - Soft bounce: `ooto@simulator.amazonses.com`\n    - Hard bounce: `bounce@simulator.amazonses.com`\n    - Complaint: `complaint@simulator.amazonses.com`\n11. You can optionally [disable email feedback forwarding](https://docs.aws.amazon.com/ses/latest/dg/monitor-sending-activity-using-notifications-email.html#monitor-sending-activity-using-notifications-email-disabling).\n\n## Exporting bounces\n\nBounces can be exported via the JSON API:\n```shell\ncurl -u 'username:passsword' 'http://localhost:9000/api/bounces'\n```\n\nOr by querying the database directly:\n```sql\nSELECT bounces.created_at,\n    bounces.subscriber_id,\n    subscribers.uuid AS subscriber_uuid,\n    subscribers.email AS email\nFROM bounces\nLEFT JOIN subscribers ON (subscribers.id = bounces.subscriber_id)\nORDER BY bounces.created_at DESC LIMIT 1000;\n```\n"
  },
  {
    "path": "docs/docs/content/concepts.md",
    "content": "# Concepts\n\n## Subscriber\n\nA subscriber is a recipient identified by an e-mail address and name. Subscribers receive e-mails that are sent from listmonk. A subscriber can be added to any number of lists. Subscribers who are not a part of any lists are considered *orphan* records.\n\n### Attributes\n\nAttributes are arbitrary properties attached to a subscriber in addition to their e-mail and name. They are represented as a JSON map. It is not necessary for all subscribers to have the same attributes. Subscribers can be [queried and segmented](querying-and-segmentation.md) into lists based on their attributes, and the attributes can be inserted into the e-mails sent to them. For example:\n\n```json\n{\n  \"city\": \"Bengaluru\",\n  \"likes_tea\": true,\n  \"spoken_languages\": [\"English\", \"Malayalam\"],\n  \"projects\": 3,\n  \"stack\": {\n    \"frameworks\": [\"echo\", \"go\"],\n    \"languages\": [\"go\", \"python\"],\n    \"preferred_language\": \"go\"\n  }\n}\n```\n\n### Subscription statuses\n\nA subscriber can be added to one or more lists, and each such relationship can have one of these statuses.\n\n| Status         | Description                                                                                                                                                                                 |\n|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `unconfirmed`  | The subscriber was added to the list directly without their explicit confirmation. Nonetheless, the subscriber will receive campaign messages sent to single opt-in campaigns.              |\n| `confirmed`    | The subscriber confirmed their subscription by clicking on 'accept' in the confirmation e-mail. Only confirmed subscribers in opt-in lists will receive campaign messages send to the list. |\n| `unsubscribed` | The subscriber is unsubscribed from the list and will not receive any campaign messages sent to the list.                                                                                   |\n\n### Segmentation\n\nSegmentation is the process of filtering a large list of subscribers into a smaller group based on arbitrary conditions, primarily based on their attributes. For instance, if an e-mail needs to be sent subscribers who live in a particular city, given their city is described in their attributes, it's possible to quickly filter them out into a new list and e-mail them. [Learn more](querying-and-segmentation.md).\n\n## List\n\nA list (or a _mailing list_) is a collection of subscribers grouped under a name, for instance, _clients_. Lists are used to organise subscribers and send e-mails to specific groups. A list can be single opt-in or double opt-in. Subscribers added to double opt-in lists have to explicitly accept the subscription by clicking on the confirmation e-mail they receive. Until then, they do not receive campaign messages.\n\n## Campaign\n\nA campaign is an e-mail (or any other kind of messages) that is sent to one or more lists.\n\n\n## Transactional message\n\nA transactional message is an arbitrary message sent to a subscriber using the transactional message API. For example a welcome e-mail on signing up to a service; an order confirmation e-mail on purchasing an item; a password reset e-mail when a user initiates an online account recovery process.\n\n\n## Template\n\nA template is a re-usable HTML design that can be used across campaigns and when sending arbitrary transactional messages. Most commonly, templates have standard header and footer areas with logos and branding elements, where campaign content is inserted in the middle. listmonk supports [Go template](https://gowebexamples.com/templates/) expressions that lets you create powerful, dynamic HTML templates. [Learn more](templating.md).\n\n## Messenger\n\nlistmonk supports multiple custom messaging backends in additional to the default SMTP e-mail backend, enabling not just e-mail campaigns, but arbitrary message campaigns such as SMS, FCM notifications etc. A *Messenger* is a web service that accepts a campaign message pushed to it as a JSON request, which the service can in turn broadcast as SMS, FCM etc. [Learn more](messengers.md).\n\n## Tracking pixel\n\nThe tracking pixel is a tiny, invisible image that is inserted into an e-mail body to track e-mail views. This allows measuring the read rate of e-mails. While this is exceedingly common in e-mail campaigns, it carries privacy implications and should be used in compliance with rules and regulations such as GDPR. It is possible to track reads anonymously without associating an e-mail read to a subscriber.\n\n## Click tracking\n\nIt is possible to track the clicks on every link that is sent in an e-mail. This allows measuring the clickthrough rates of links in e-mails. While this is exceedingly common in e-mail campaigns, it carries privacy implications and should be used in compliance with rules and regulations such as GDPR. It is possible to track link clicks anonymously without associating an e-mail read to a subscriber.\n\n## Bounce\n\nA bounce occurs when an e-mail that is sent to a recipient \"bounces\" back for one of many reasons including the recipient address being invalid, their mailbox being full, or the recipient's e-mail service provider marking the e-mail as spam. listmonk can automatically process such bounce e-mails that land in a configured POP mailbox, or via APIs of SMTP e-mail providers such as AWS SES and Sengrid. Based on settings, subscribers returning bounced e-mails can either be blocklisted or deleted automatically. [Learn more](bounces.md).\n"
  },
  {
    "path": "docs/docs/content/configuration.md",
    "content": "# Configuration\n\n### TOML Configuration file\nOne or more TOML files can be read by passing `--config config.toml` multiple times. Apart from a few low level configuration variables and the database configuration, all other settings can be managed from the `Settings` dashboard on the admin UI.\n\nTo generate a new sample configuration file, run `listmonk --new-config`\n\n### Environment variables\nVariables in config.toml can also be provided as environment variables prefixed by `LISTMONK_` with periods replaced by `__` (double underscore). To start listmonk purely with environment variables without a configuration file, set the environment variables and pass the config flag as `--config=\"\"`.\n\nExample:\n\n| **Environment variable**       | Example value  |\n| ------------------------------ | -------------- |\n| `LISTMONK_app__address`        | \"0.0.0.0:9000\" |\n| `LISTMONK_db__host`            | db             |\n| `LISTMONK_db__port`            | 9432           |\n| `LISTMONK_db__user`            | listmonk       |\n| `LISTMONK_db__password`        | listmonk       |\n| `LISTMONK_db__database`        | listmonk       |\n| `LISTMONK_db__ssl_mode`        | disable        |\n\n\n### Customizing system templates\nSee [system templates](templating.md#system-templates).\n\n\n### HTTP routes\nWhen configuring auth proxies and web application firewalls, use this table.\n\n#### Private admin endpoints.\n\n| Methods | Route              | Description             |\n| ------- | ------------------ | ----------------------- |\n| `*`     | `/api/*`           | Admin APIs              |\n| `GET`   | `/admin/*`         | Admin UI and HTML pages |\n| `POST`  | `/webhooks/bounce` | Admin bounce webhook    |\n\n\n#### Public endpoints to expose to the internet.\n\n| Methods     | Route                 | Description                                   |\n| ----------- | --------------------- | --------------------------------------------- |\n| `GET, POST` | `/subscription/*`     | HTML subscription pages                       |\n| `GET, `     | `/link/*`             | Tracked link redirection                      |\n| `GET`       | `/campaign/*`         | Pixel tracking image                          |\n| `GET`       | `/public/*`           | Static files for HTML subscription pages      |\n| `POST`      | `/webhooks/service/*` | Bounce webhook endpoints for AWS and Sendgrid |\n| `GET`       | `/uploads/*`          | The file upload path configured in media settings |\n\n\n## Media uploads\n\n#### Using filesystem\n\nWhen configuring `docker` volume mounts for using filesystem media uploads, you can follow either of two approaches. [The second option may be necessary if](https://github.com/knadh/listmonk/issues/1169#issuecomment-1674475945) your setup requires you to use `sudo` for docker commands. \n\nAfter making any changes you will need to run `sudo docker compose stop ; sudo docker compose up`. \n\nAnd under `https://listmonk.mysite.com/admin/settings` you put `/listmonk/uploads`. \n\n#### Using volumes\n\nUsing `docker volumes`, you can specify the name of volume and destination for the files to be uploaded inside the container.\n\n\n```yml\napp:\n    volumes:\n      - type: volume\n        source: listmonk-uploads\n        target: /listmonk/uploads\n\nvolumes:\n  listmonk-uploads:\n```\n\n!!! note\n\n    This volume is managed by `docker` itself, and you can see find the host path with `docker volume inspect listmonk_listmonk-uploads`.\n\n#### Using bind mounts\n\n```yml\n  app:\n    volumes:\n      - ./path/on/your/host/:/path/inside/container\n```\nEg:\n```yml\n  app:\n    volumes:\n      - ./data/uploads:/listmonk/uploads\n```\nThe files will be available inside `/data/uploads` directory on the host machine.\n\nTo use the default `uploads` folder:\n```yml\n  app:\n    volumes:\n      - ./uploads:/listmonk/uploads\n```\n\n## Logs\n\n### Docker\n\nhttps://docs.docker.com/engine/reference/commandline/logs/\n```\nsudo docker logs -f\nsudo docker logs listmonk_app -t\nsudo docker logs listmonk_db -t\nsudo docker logs --help\n```\nContainer info: `sudo docker inspect listmonk_listmonk`\n\nDocker logs to `/dev/stdout` and `/dev/stderr`. The logs are collected by the docker daemon and stored in your node's host path (by default). The same can be configured (/etc/docker/daemon.json) in your docker daemon settings to setup other logging drivers, logrotate policy and more, which you can read about [here](https://docs.docker.com/config/containers/logging/configure/).\n\n### Binary\n\nlistmonk logs to `stdout`, which is usually not saved to any file. To save listmonk logs to a file use `./listmonk > listmonk.log`.\n\nSettings -> Logs in admin shows the last 1000 lines of the standard log output but gets erased when listmonk is restarted.\n\nFor the [service file](https://github.com/knadh/listmonk/blob/master/listmonk%40.service), you can use `ExecStart=/bin/bash -ce \"exec /usr/bin/listmonk --config /etc/listmonk/config.toml --static-dir /etc/listmonk/static >>/etc/listmonk/listmonk.log 2>&1\"` to create a log file that persists after restarts. [More info](https://github.com/knadh/listmonk/issues/1462#issuecomment-1868501606).\n\n\n## Time zone\n\nTo change listmonk's time zone (logs, etc.) edit `docker-compose.yml`:\n```\nenvironment:\n    - TZ=Etc/UTC\n```\nwith any Timezone listed [here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Then run `sudo docker-compose stop ; sudo docker-compose up` after making changes.\n\n## SMTP\n\n### Retries\nThe `Settings -> SMTP -> Retries` denotes the number of times a message that fails at the moment of sending is retried silently using different connections from the SMTP pool. The messages that fail even after retries are the ones that are logged as errors and ignored.\n\n## SMTP ports\nSome server hosts block outgoing SMTP ports (25, 465). You may have to contact your host to unblock them before being able to send e-mails. Eg: [Hetzner](https://docs.hetzner.com/cloud/servers/faq/#why-can-i-not-send-any-mails-from-my-server).\n\n\n## Performance\n\n### Batch size\n\nThe batch size parameter is useful when working with very large lists with millions of subscribers for maximising throughput. It is the number of subscribers that are fetched from the database sequentially in a single cycle (~5 seconds) when a campaign is running. Increasing the batch size uses more memory, but reduces the round trip to the database.\n"
  },
  {
    "path": "docs/docs/content/developer-setup.md",
    "content": "# Developer setup\nThe app has two distinct components, the Go backend and the VueJS frontend. In the dev environment, both are run independently.\n\n\n### Pre-requisites\n- `go`\n- `nodejs` (if you are working on the frontend) and `yarn`\n- Postgres database. If there is no local installation, the demo docker DB can be used for development (`docker compose up demo-db`)\n\n\n### First time setup\n`git clone https://github.com/knadh/listmonk.git`. The project uses go.mod, so it's best to clone it outside the Go src path.\n\n1. Copy `config.toml.sample` as `config.toml` and add your config.\n2. `make dist` to build the listmonk binary. Once the binary is built, run `./listmonk --install` to run the DB setup. For subsequent dev runs, use `make run`.\n\n> [mailhog](https://github.com/mailhog/MailHog) is an excellent standalone mock SMTP server (with a UI) for testing and dev.\n\n\n### Running the dev environment\nYou can run your dev environment locally or inside containers.\n\nAfter setting up the dev environment, you can visit `http://localhost:8080`.\n\n\n1. Locally\n\n    - Run `make run` to start the listmonk dev server on `:9000`.\n    - Run `make run-frontend` to start the Vue frontend in dev mode using yarn on `:8080`. All `/api/*` calls are proxied to the app running on `:9000`. Refer to the [frontend README](https://github.com/knadh/listmonk/blob/master/frontend/README.md) for an overview on how the frontend is structured.\n\n2. Inside containers (Using Makefile)\n\n    - Run `make init-dev-docker` to setup container for db.\n    - Run `make dev-docker` to setup docker container suite.\n    - Run `make rm-dev-docker` to clean up docker container suite.\n\n3. Inside containers (Using devcontainer)\n\n    - Open repo in vscode, open command palette, and select \"Dev Containers: Rebuild and Reopen in Container\".\n\nIt will set up db, and start frontend/backend for you.\n\n\n# Production build\nRun `make dist` to build the Go binary, build the Javascript frontend, and embed the static assets producing a single self-contained binary, `listmonk`\n"
  },
  {
    "path": "docs/docs/content/external-integration.md",
    "content": "# Integrating with external systems\n\nIn many environments, a mailing list manager's subscriber database is not run independently but as a part of an existing customer database or a CRM. There are multiple ways of keeping listmonk in sync with external systems.\n\n## Using APIs\n\nThe [subscriber APIs](apis/subscribers.md) offers several APIs to manipulate the subscribers database, like addition, updation, and deletion. For bulk synchronisation, a CSV can be generated (and optionally zipped) and posted to the import API.\n\n## Interacting directly with the DB\n\nlistmonk uses tables with simple schemas to represent subscribers (`subscribers`), lists (`lists`), and subscriptions (`subscriber_lists`). It is easy to add, update, and delete subscriber information directly with the database tables for advanced usecases. See the [table schemas](https://github.com/knadh/listmonk/blob/master/schema.sql) for more information.\n"
  },
  {
    "path": "docs/docs/content/i18n.md",
    "content": "# Internationalization (i18n)\n\nlistmonk comes available in multiple languages thanks to language packs contributed by volunteers. A language pack is a JSON file with a map of keys and corresponding translations. The bundled languages can be [viewed here](https://github.com/knadh/listmonk/tree/master/i18n).\n\n## Additional language packs\nThese additional language packs can be downloaded and passed to listmonk with the `--i18n-dir` flag as described in the next section.\n\n| Language         | Description                          |\n|------------------|--------------------------------------|\n| [Deutsch (formal)](https://raw.githubusercontent.com/SvenPe/listmonk/4bbb2e5ebb2314b754cb2318f4f6683a0f854d43/i18n/de.json) | German language with formal pronouns |\n\n\n## Customizing languages\n\nTo customize an existing language or to load a new language, put one or more `.json` language files in a directory, and pass the directory path to listmonk with the<br />`--i18n-dir=/path/to/dir` flag.\n\n\n## Contributing a new language\n\n### Using the basic editor\n\n- Visit [https://listmonk.app/i18n](https://listmonk.app/i18n)\n- Click on `Createa new language`, or to make changes to an existing language, use `Load language`.\n- Translate the text in the text fields on the UI.\n- Once done, use the `Download raw JSON` to download the language file.\n- Send a pull request to add the file to the [i18n directory on the GitHub repo](https://github.com/knadh/listmonk/tree/master/i18n). \n\n### Using InLang (external service)\n\n[![translation badge](https://inlang.com/badge?url=github.com/knadh/listmonk)](https://inlang.com/editor/github.com/knadh/listmonk?ref=badge)\n\n- Visit [https://inlang.com/editor/github.com/knadh/listmonk](https://inlang.com/editor/github.com/knadh/listmonk)\n- To make changes and push them, you need to log in to GitHub using OAuth and fork the project from the UI.\n- Translate the text in the input fields on the UI. You can use the filters to see only the necessary translations.\n- Once you're done, push the changes from the UI and click on \"Open a pull request.\" This will take you to GitHub, where you can write a PR message.\n"
  },
  {
    "path": "docs/docs/content/index.md",
    "content": "# Introduction\n\n[![listmonk](images/logo.svg)](https://listmonk.app)\n\nlistmonk is a self-hosted, high performance one-way mailing list and newsletter manager. It comes as a standalone binary and the only dependency is a Postgres database.\n\n[![listmonk screenshot](https://user-images.githubusercontent.com/547147/134939475-e0391111-f762-44cb-b056-6cb0857755e3.png)](https://listmonk.app)\n\n## Developers\nlistmonk is a free and open source software licensed under AGPLv3. If you are interested in contributing, check out the [GitHub repository](https://github.com/knadh/listmonk) and refer to the [developer setup](developer-setup.md). The backend is written in Go and the frontend is Vue with Buefy for UI. \n"
  },
  {
    "path": "docs/docs/content/installation.md",
    "content": "# Installation\n\nlistmonk is a simple binary application that requires a Postgres database instance to run. The binary can be downloaded and run manually, or it can be run as a container with Docker compose.\n\n## Binary\n1. Download the [latest release](https://github.com/knadh/listmonk/releases) and extract the listmonk binary. `amd64` is the main one. It works for Intel and x86 CPUs.\n1. `./listmonk --new-config` to generate config.toml. Edit the file.\n1. `./listmonk --install` to install the tables in the Postgres DB (⩾ 12).\n1. Run `./listmonk` and visit `http://localhost:9000` to create the Super Admin user and login.\n\n!!! Tip\n    To set the Super Admin username and password during installation, set the environment variables:\n    `LISTMONK_ADMIN_USER=myuser LISTMONK_ADMIN_PASSWORD=xxxxx ./listmonk --install`\n\n\n## Docker\n\nThe latest image is available on DockerHub at `listmonk/listmonk:latest`\n\nThe recommended method is to download the [docker-compose.yml](https://github.com/knadh/listmonk/blob/master/docker-compose.yml) file, customize it for your environment and then to simply run `docker compose up -d`.\n\n```shell\n# Download the compose file to the current directory.\ncurl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml\n\n# Run the services in the background.\ndocker compose up -d\n```\n\nThen, visit `http://localhost:9000` to create the Super Admin user and login.\n\n!!! Tip\n    To set the Super Admin username and password during setup, set the environment variables (only the first time):\n    `LISTMONK_ADMIN_USER=myuser LISTMONK_ADMIN_PASSWORD=xxxxx docker compose up -d`\n\n\n### Mounting a custom config.toml\nThe docker-compose file includes all necessary listmonk configuration as environment variables, `LISTMONK_*`.\nIf you would like to remove those and mount a config.toml instead:\n\n#### 1. Save the config.toml file on the host\n\n```toml\n[app]\naddress = \"0.0.0.0:9000\"\n\n# Database.\n[db]\nhost = \"listmonk_db\" # Postgres container name in the compose file.\nport = 5432\nuser = \"listmonk\"\npassword = \"listmonk\"\ndatabase = \"listmonk\"\nssl_mode = \"disable\"\nmax_open = 25\nmax_idle = 25\nmax_lifetime = \"300s\"\n```\n\n#### 2. Mount the config file in docker-compose.yml\n\n```yaml\n  app:\n    ...\n    volumes:\n    - /path/on/your/host/config.toml:/listmonk/config.toml\n```\n\n#### 3. Change the `--config ''` flags in the `command:` section to point to the path\n\n```yaml\ncommand: [sh, -c, \"./listmonk --install --idempotent --yes --config /listmonk/config.toml && ./listmonk --upgrade --yes --config /listmonk/config.toml && ./listmonk --config /listmonk/config.toml\"]\n```\n\n-----------\n\n## Nightly\n\n!!! Warning\n    Nightly releases are untested and may have bugs. Use at your own risk. Always take a backup of your Postgres database before using a nightly release.\n\nA nightly build is automatically published with the latest changes merged to the repository. If you want to access the latest changes without waiting for versioned releases, you can obtain the nightly builds and follow the same instructions above.\n\n- **Docker**: `listmonk/listmonk:nightly` (use this as the image name in the docker-compose file)\n- **Binary**: [Download nightly release](https://github.com/knadh/listmonk/releases/nightly)\n\n\n## Compiling from source\n\nTo compile the latest unreleased version (`master` branch):\n\n1. Make sure `go`, `nodejs`, and `yarn` are installed on your system.\n2. `git clone git@github.com:knadh/listmonk.git`\n3. `cd listmonk && make dist`. This will generate the `listmonk` binary.\n\n\n## Helm chart for Kubernetes\n\n![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0](https://img.shields.io/badge/AppVersion-3.0.0-informational?style=flat-square)\n\nA helm chart for easily installing listmonk on a kubernetes cluster is made available by community [here](https://github.com/th0th/helm-charts/tree/main/charts/listmonk).\n\nIn order to use the helm chart, you can configure `values.yaml` according to your needs, and then run the following command:\n\n```shell\n$ helm upgrade \\\n    --create-namespace \\\n    --install listmonk listmonk \\\n    --namespace listmonk \\\n    --repo https://th0th.github.io/helm-charts \\\n    --values values.yaml \\\n    --version 0.1.0\n```\n\n## 3rd party hosting\n\n<a href=\"https://dash.elest.io/deploy?soft=Listmonk&id=237\"><img src=\"https://raw.githubusercontent.com/elestio-examples/reactjs/refs/heads/master/src/deploy-on-elestio.png\" alt=\"Deploy to Elestio\" height=\"35\" style=\"max-width: 150px;\" /></a>\n<br />\n<a href=\"https://www.pikapods.com/pods?run=listmonk\"><img src=\"https://www.pikapods.com/static/run-button.svg\" alt=\"Deploy on PikaPod\" style=\"max-width: 150px;\" /></a>\n<br />\n<a href=\"https://northflank.com/stacks/deploy-listmonk\"><img src=\"https://assets.northflank.com/deploy_to_northflank_smm_36700fb050.svg\" alt=\"One-click deploy on Northflank\" height=\"35\" style=\"max-width: 150px; border-radius: 6px; object-fit: contain;\" /></a>\n<br />\n<a href=\"https://railway.app/new/template/listmonk\"><img src=\"https://railway.app/button.svg\" alt=\"One-click deploy on Railway\" style=\"max-width: 150px;\" /></a>\n<br />\n<a href=\"https://repocloud.io/details/?app_id=217\"><img src=\"https://d16t0pc4846x52.cloudfront.net/deploy.png\" alt=\"Deploy at RepoCloud\" style=\"max-width: 150px;\"/></a>\n<br />\n<a href=\"https://template.sealos.io/deploy?templateName=listmonk\"><img src=\"https://sealos.io/Deploy-on-Sealos.svg\" alt=\"Deploy on Sealos\" style=\"max-width: 150px;\"/></a>\n<br />\n<a href=\"https://zeabur.com/templates/5EDMN6\"><img src=\"https://zeabur.com/button.svg\" alt=\"Deploy on Zeabur\" style=\"max-width: 150px;\"/></a>\n<br />\n<a href=\"https://www.cloudron.io/store/app.listmonk.cloudronapp.html\"><img src=\"https://cloudron.io/img/button.svg\" alt=\"Install on Cloudron\" style=\"max-width: 150px;\"/></a>\n\n## Tutorials\n* [Listmonk with Forward Email for Secure Newsletter Delivery](https://forwardemail.net/en/guides/newsletter-with-listmonk)\n* [Informal step-by-step on how to get started with listmonk using *Railway*](https://github.com/knadh/listmonk/issues/120#issuecomment-1421838533)\n* [Step-by-step tutorial for installation and all basic functions. *Amazon EC2, SES, docker & binary*](https://gist.github.com/MaximilianKohler/e5158fcfe6de80a9069926a67afcae11)\n* [Step-by-step guide on how to install and set up listmonk on *AWS Lightsail with docker* (rameerez)](https://github.com/knadh/listmonk/issues/1208)\n* [Quick setup on any cloud server using *docker and caddy*](https://github.com/samyogdhital/listmonk-caddy-reverse-proxy)\n* [*Binary* install on Ubuntu 22.04 as a service](https://mumaritc.hashnode.dev/how-to-install-listmonk-using-binary-on-ubuntu-2204)\n* [*Binary* install on Ubuntu 18.04 as a service (Apache & Plesk)](https://devgypsy.com/post/2020-08-18-installing-listmonk-newsletter-manager/)\n* [*Binary and docker* on linux (techviewleo)](https://techviewleo.com/manage-mailing-list-and-newsletter-using-listmonk/)\n* [*Binary* install on your PC](https://www.youtube.com/watch?v=fAOBqgR9Yfo). Discussions of limitations: [[1](https://github.com/knadh/listmonk/issues/862#issuecomment-1307328228)][[2](https://github.com/knadh/listmonk/issues/248#issuecomment-1320806990)].\n* [*Docker on Rocky Linux 8* (nginx, Let's Encrypt SSL)](https://wiki.crowncloud.net/?How_to_Install_Listmonk_with_Docker_on_Rocky_Linux_8)\n* [*Docker* with nginx reverse proxy, certbot SSL, and Gmail SMTP](https://www.maketecheasier.com/create-own-newsletter-with-listmonk/)\n* [Install Listmonk on Self-hosting with *Pre-Configured AMI Package at AWS* by Single Click](https://meetrix.io/articles/how-to-install-llama-2-on-aws-with-pre-configured-ami-package/)\n* [*Fly.io* working example](https://gitlab.com/votelog/apps/newsletter)\n"
  },
  {
    "path": "docs/docs/content/maintenance/performance.md",
    "content": "# Performance\n\nlistmonk is built to be highly performant and can handle millions of subscribers with minimal system resources.\n\nHowever, as the Postgres database grows—with a large number of subscribers, campaign views, and click records—it can significantly slow down certain aspects of the program, particularly in counting records and aggregating various statistics. For instance, loading admin pages that do these aggregations can take tens of seconds if the database has millions of subscribers.\n\n- Aggregate counts, statistics, and charts on the landing dashboard.\n- Subscriber count beside every list on the Lists page.\n- Total subscriber count on the Subscribers page.\n\nHowever, at that scale, viewing the exact number of subscribers or statistics every time the admin panel is accessed becomes mostly unnecessary. On installations with millions of subscribers, where the above pages do not load instantly, it is highly recommended to turn on the `Settings -> Performance -> Cache slow database queries` option.\n\n## Slow query caching\n\nWhen this option is enabled, the subscriber counts on the Lists page, the Subscribers page, and the statistics on the dashboard, etc., are no longer counted in real-time in the database. Instead, they are updated periodically and cached, resulting in a massive performance boost. The periodicity can be configured on the Settings -> Performance page using a standard crontab expression (default: `0 3 * * *`, which means 3 AM daily). Use a tool like [crontab.guru](https://crontab.guru) for easily generating a desired crontab expression.\n\n## VACUUM-ing\nRunning [`VACUUM ANALYZE`](https://www.postgresql.org/docs/current/sql-vacuum.html) on large Postgres databases at regular intervals (for instance, once a week), is recommended. It reclaims disk space and improves Postgres' query performance. Do note that this is a blocking operation and all database queries can come to a stand-still on a large database while the operation is running (generally only a few seconds).\n"
  },
  {
    "path": "docs/docs/content/messengers.md",
    "content": "# Messengers\n\nlistmonk supports multiple custom messaging backends in additional to the default SMTP e-mail backend, enabling not just e-mail campaigns, but arbitrary message campaigns such as SMS, FCM notifications etc.\n\nA *Messenger* is a web service that accepts a campaign message pushed to it as a JSON request, which the service can in turn broadcast as SMS, FCM etc. Messengers are registered in the *Settings -> Messengers* UI, and can be selected on individual campaigns.\n\nMessengers support optional BasicAuth authentication. `Plain text` format for campaign content is ideal for messengers such as SMS and FCM.\n\nWhen a campaign starts, listmonk POSTs messages in the following format to the selected messenger's endpoint. The endpoint should return a `200 OK` response in case of a successful request.\n\nThe address required to broadcast the message, for instance, a phone number or an FCM ID, is expected to be stored and relayed as [subscriber attributes](concepts.md/#attributes). \n\n```json\n{\n\t\"subject\": \"Welcome to listmonk\",\n\t\"body\": \"The message body\",\n\t\"content_type\": \"plain\",\n\t\"recipients\": [{\n\t\t\"uuid\": \"e44b4135-1e1d-40c5-8a30-0f9a886c2884\",\n\t\t\"email\": \"anon@example.com\",\n\t\t\"name\": \"Anon Doe\",\n\t\t\"attribs\": {\n\t\t\t\"phone\": \"123123123\",\n\t\t\t\"fcm_id\": \"2e7e4b512e7e4b512e7e4b51\",\n\t\t\t\"city\": \"Bengaluru\"\n\t\t},\n\t\t\"status\": \"enabled\"\n\t}],\n\t\"campaign\": {\n\t\t\"uuid\": \"2e7e4b51-f31b-418a-a120-e41800cb689f\",\n\t\t\"name\": \"Test campaign\",\n\t\t\"tags\": [\"test-campaign\"]\n\t}\n}\n```\n\n## Messenger implementations\n\nFollowing is a list of HTTP messenger servers that connect to various backends.\n\n| Name                                                                                 | Backend          |\n|:-------------------------------------------------------------------------------------|:-----------------|\n| [listmonk-messenger](https://github.com/joeirimpan/listmonk-messenger)               | AWS Pinpoint SMS |\n| [listmonk-verimor-gateway](https://github.com/antandros/listmonk-verimor-gateway)    | Verimor          |\n| [listmonk-mailersend](https://github.com/tkawczynski/listmonk-mailersend)            | Mailersend       |\n| [listmonk-novu-messenger](https://github.com/Codepowercode/listmonk-novu-messenger)  | Novu             |\n| [listmonk-push-messenger](https://github.com/shyamkrishna21/listmonk-push-messenger) | Google FCM       |\n"
  },
  {
    "path": "docs/docs/content/oidc.md",
    "content": "\n## OIDC Single Sign On\n\nListmonk supports single sign-on with OIDC (OpenID Connect). Any standards compliant OIDC provider can be configured in Settings -> Security -> OIDC\n\n### User auto-creation\nIf `Settings -> Security -> OIDC -> Auto-create users` is turned on, when users login via OIDC, an account is auto-created if an existing account is not found (based on the OIDC e-mail ID).\n\n# Tutorials\n\nTutorials for configuring listmonk SSO with popular OIDC providers.\n\n## Keycloak\nKeycloak configuration for listmonk SSO integration.\n\n### 1. Create a new client in Keycloak\nIn the Keycloak admin, use an existing realm, or create a new realm. Create a new client in `Clients → Create`.\n\n- **General Settings**\n    - **Client type**: `OpenID Connect`\n    - **Client ID**: `listmonk` (or any preferred name)\n    - **Name**: Optional descriptive name (e.g., \"listmonk SSO\")\n- **Capability Config**:\n    - **Client authentication**: On\n    - **Authorization**: On\n    - **Authentication Flow**\n        - **Standard Flow**: On\n        - **Direct Access grants**: On\n- **Login Settings**:\n    - **Root URL**: Copy the **Redirect URL for oAuth provider** value from listmonk Admin -> Settings -> Security -> OIDC. It will look like `https://listmonk.yoursite.com/auth/oidc`\n    - **Valid redirect URIs**: Same as the Root URL above\n    - **Valid post logout redirect URIs**: *\n\nAfter the client creation steps above, go to the client's `Credentials` tab and copy the `Client Secret`.\n\n### 2. Configure Listmonk\n2. In Listmonk Admin -> Settings -> Security -> OIDC.\n    - **Enable OIDC SSO**: Turn on\n    - **Provider URL**: `https://keycloak.yoursite.com/realms/{realm}` (replace `{realm}` with the chosen realm name). This URL is as of v26.3 and may differ across Keycloak versions.\n    - **Provider name**: Set a name to show on the listmonk login form, eg: `Login with OrgName`\n    - **Client ID**: Client ID set in Keycloak, eg: `listmonk`\n    - **Client Secret**: Client Secret copied from Keycloak\n    - **Auto-create users from SSO**: (Optional) Enable to automatically create users who don't exist\n    - **Default user role**: (Required if auto-create enabled) Select role for new users\n\n\n\n## Authentik  \nAuthentik configuration for listmonk SSO integration.\n\n### 1. Create a new OIDC provider in Authentik\nIn the Authentik admin interface, create a new OIDC provider for listmonk.\n\n- **Provider Settings**:  \n    - **Name**: `listmonk` (or any preferred name)\n    - **Signing Key**: `authentik Self-signed Certificate`\n    - **Client Type**: `Confidential`\n    - **Client ID**: `listmonk` (or any preferred name)\n    - **Redirect URIs**: Copy the **Redirect URL for oAuth provider** value from listmonk Admin -> Settings -> Security -> OIDC. It will look like `https://listmonk.yoursite.com/auth/oidc`\n\nAfter creating the provider, copy the **Client Secret**.\n\n### 2. Create an application in Authentik\nCreate a new application and connect it to the newly created provider.\n\n- **Application Settings**:\n    - **Name**: `listmonk` (or any preferred name)\n    - **Slug**: `listmonk` (or any preferred slug. Used in the redirect URL)\n    - **Provider**: Select the OIDC provider created in the previous step\n\n### 3. Configure listmonk\nIn listmonk Admin → Settings → Security → OIDC:\n\n- **Enable OIDC SSO**: Turn on\n- **Provider URL**: `https://authentik.yoursite.com/application/o/{slug}/` (replace `{slug}` with the application's slug)\n- **Provider Name**: Set a name to show on the login form (e.g., `Login with OrgName`)\n- **Client ID**: Client ID set in Authentik (e.g., `listmonk`)\n- **Client Secret**: Client Secret copied from Authentik\n- **Auto-create users from SSO**: (Optional) Enable to automatically create users who don't exist\n- **Default user role**: (Required if auto-create enabled) Select role for new users\n\n## Google Workspace  \nGoogle Workspace (Google Cloud) configuration for listmonk SSO integration.\n\n### 1. Create a new OIDC provider in Google Cloud Console / Google Workspace\nIn the Google Cloud Console interface, create a new Project.\n\n- **Project Settings**:  \n    - **Project name**: `Listmonk` (or any preferred name)\n- **Branding Settings**:\n    - **App name**: `Listmonk` (or any preferred name, this will be visible to the users.)\n    - **Authorised domains**: `listmonk.example.com` (or domains that your instance is available on.)\n\nAfter creating the project, goto **Clients**.\n\n### 2. Create an client in project.\nCreate a new client and configure it.\n\n- **Application Settings**:\n    - **Application type**: `Web application`\n    - **Name**: `listmonk` (or any preferred name)\n    - **Authorised JavaScript origins**: `https://listmonk.example.com` (or domains that your instance is available on.)\n    - **Authorised redirect URIs**: `https://listmonk.example.com/auth/oidc` (or domains that your instance is available on, value is also available in the Settings mentioned above. (Redirect URL for oAuth provider))\n\nHit save and note the Client ID and Client Secret\n\n### 3. Configure listmonk\nIn listmonk Admin → Settings → Security → OIDC:\n\n- **Enable OIDC SSO**: Turn on\n- **Provider URL**: `https://accounts.google.com` (select Google to Auto-Fill)\n- **Provider Name**: Set a name to show on the login form (e.g., `Login with OrgName`)\n- **Client ID**: Client ID copied from Console (e.g., `XXXX.apps.googleusercontent.com`)\n- **Client Secret**: Client Secret copied from Console\n- **Auto-create users from SSO**: (Optional) Enable to automatically create users who don't exist\n- **Default user role**: (Required if auto-create enabled) Select role for new users"
  },
  {
    "path": "docs/docs/content/querying-and-segmentation.md",
    "content": "# Querying and segmenting subscribers\n\nlistmonk allows the writing of partial Postgres SQL expressions to query, filter, and segment subscribers.\n\n## Database fields\n\nThese are the fields in the subscriber database that can be queried.\n\n| Field                    | Description                                                                                         |\n| ------------------------ | --------------------------------------------------------------------------------------------------- |\n| `subscribers.uuid`       | The randomly generated unique ID of the subscriber                                                  |\n| `subscribers.email`      | E-mail ID of the subscriber                                                                         |\n| `subscribers.name`       | Name of the subscriber                                                                              |\n| `subscribers.status`     | Status of the subscriber (`enabled`, `disabled`, `blocklisted`)                                     |\n| `subscribers.attribs`    | Map of arbitrary attributes represented as JSON. Accessed via the `->` and `->>` Postgres operator. |\n| `subscribers.created_at` | Timestamp when the subscriber was first added                                                       |\n| `subscribers.updated_at` | Timestamp when the subscriber was modified                                                          |\n\n## Sample attributes\n\nHere's a sample JSON map of attributes assigned to an imaginary subscriber.\n\n```json\n{\n  \"city\": \"Bengaluru\",\n  \"likes_tea\": true,\n  \"spoken_languages\": [\"English\", \"Malayalam\"],\n  \"projects\": 3,\n  \"stack\": {\n    \"frameworks\": [\"echo\", \"go\"],\n    \"languages\": [\"go\", \"python\"],\n    \"preferred_language\": \"go\"\n  }\n}\n```\n\n![listmonk screenshot](images/edit-subscriber.png)\n\n## Sample SQL query expressions\n\n![listmonk](images/query-subscribers.png)\n\n#### Find a subscriber by e-mail\n\n```sql\n-- Exact match\nsubscribers.email = 'some@domain.com'\n\n-- Partial match to find e-mails that end in @domain.com.\nsubscribers.email LIKE '%@domain.com'\n\n```\n\n#### Find a subscriber by name\n\n```sql\n-- Find all subscribers whose name start with John.\nsubscribers.email LIKE 'John%'\n\n```\n\n#### Multiple conditions\n\n```sql\n-- Find all Johns who have been blocklisted.\nsubscribers.email LIKE 'John%' AND subscribers.status = 'blocklisted'\n```\n\n#### Querying subscribers who viewed the campaign email\n\n```sql\n-- Find all subscribers who viewed the campaign email.\nEXISTS(SELECT 1 FROM campaign_views WHERE campaign_views.subscriber_id=subscribers.id AND campaign_views.campaign_id=<put_id_of_campaign>)\n```\n\n#### Querying attributes\n\n```sql\n-- The ->> operator returns the value as text. Find all subscribers\n-- who live in Bengaluru and have done more than 3 projects.\n-- Here 'projects' is cast into an integer so that we can apply the\n-- numerical operator >\nsubscribers.attribs->>'city' = 'Bengaluru' AND\n    (subscribers.attribs->>'projects')::INT > 3\n```\n\n#### Querying nested attributes\n\n```sql\n-- Find all blocklisted subscribers who like to drink tea, can code Python\n-- and prefer coding Go.\n--\n-- The -> operator returns the value as a structure. Here, the \"languages\" field\n-- The ? operator checks for the existence of a value in a list.\nsubscribers.status = 'blocklisted' AND\n    (subscribers.attribs->>'likes_tea')::BOOLEAN = true AND\n    subscribers.attribs->'stack'->'languages' ? 'python' AND\n    subscribers.attribs->'stack'->>'preferred_language' = 'go'\n\n```\n\nTo learn how to write SQL expressions to do advancd querying on JSON attributes, refer to the Postgres [JSONB documentation](https://www.postgresql.org/docs/11/functions-json.html).\n"
  },
  {
    "path": "docs/docs/content/roles-and-permissions.md",
    "content": "listmonk supports (>= v4.0.0) creating systems users with granular permissions to various features, including list-specific permissions. Users can login with a username and password, or via an OIDC (OpenID Connect) handshake if an auth provider is connected. Various permissions can be grouped into \"user roles\", which can be assigned to users. List-specific permissions can be grouped into \"list roles\".\n\n## User roles\n\nA user role is a collection of user related permissions. User roles are attached to user accounts. User roles can be managed in `Admin -> Users -> User roles` The permissions are described below.\n\n| Group       | Permission              | Description                                                                                                                                                                                                                          |\n| ----------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| lists       | lists:get_all           | Get details of all lists                                                                                                                                                                                                             |\n|             | lists:manage_all        | Create, update, and delete all lists                                                                                                                                                                                                 |\n| subscribers | subscribers:get         | Get individual subscriber details                                                                                                                                                                                                    |\n|             | subscribers:get_all     | Get all subscribers and their details                                                                                                                                                                                                |\n|             | subscribers:manage      | Add, update, and delete subscribers                                                                                                                                                                                                  |\n|             | subscribers:import      | Import subscribers from external files                                                                                                                                                                                               |\n|             | subscribers:sql_query   | Run raw SQL queries on subscriber data.<br /><span style=\"color: #de4a45;\">**WARNING:**</span><span style=\"font-size: 0.875em; line-height: 1.3; color:#888;\">This permission allows execution of arbitrary SQL expressions and SQL functions. While it is readonly on the table data, it allows querying of all lists and subscribers directly from the database superceding individual list and subscriber permissions. Raw SQL expressions make it possible to obtain Postgres database configuration and potentially interact with other Postgres system features. Give this permission ONLY to trusted users. [Learn more](#subscriberssql_query). |\n|             | tx:send                 | Send transactional messages to subscribers                                                                                                                                                                                           |\n| campaigns   | campaigns:get           | Get and view campaigns belonging to permitted lists                                                                                                                                                                                  |\n|             | campaigns:get_all       | Get and view campaigns across all lists                                                                                                                                                                                              |\n|             | campaigns:get_analytics | Access campaign performance metrics                                                                                                                                                                                                  |\n|             | campaigns:manage        | Create, update, and delete campaigns                                                                                                                                                                                                 |\n| bounces     | bounces:get             | Get email bounce records                                                                                                                                                                                                             |\n|             | bounces:manage          | Process and handle bounced emails                                                                                                                                                                                                    |\n|             | webhooks:post_bounce    | Receive bounce notifications via webhook                                                                                                                                                                                             |\n| media       | media:get               | Get uploaded media files                                                                                                                                                                                                             |\n|             | media:manage            | Upload, update, and delete media                                                                                                                                                                                                     |\n| templates   | templates:get           | Get email templates                                                                                                                                                                                                                  |\n|             | templates:manage        | Create, update, and delete templates                                                                                                                                                                                                 |\n| users       | users:get               | Get system user accounts                                                                                                                                                                                                             |\n|             | users:manage            | Create, update, and delete user accounts <span style=\"color: #de4a45;\">**WARNING:**</span><span style=\"font-size: 0.875em; line-height: 1.3; color:#888;\">This permission allows creation of users with any role, including Super Admin. This permission should only be given to Super Admin level accounts</span>                              |\n|             | roles:get               | Get user roles and permissions                                                                                                                                                                                                       |\n|             | roles:manage            | Create and modify user roles                                                                                                                                                                                                         |\n| settings    | settings:get            | Get system settings                                                                                                                                                                                                                  |\n|             | settings:manage         | Modify system configuration                                                                                                                                                                                                          |\n|             | settings:maintain       | Perform system maintenance tasks                                                                                                                                                                                                     |\n\n## List roles\n\nA list role is a collection of permissions assigned per list. Each list can be assigned a view (read) or manage (update) permission. List roles are attached to user accounts. Only the lists defined in a list role is accessible by the user, be it on the admin UI or via API calls. Do note that the `lists:get_all` and `lists:manage_all` permissions in user roles override all per-list permissions.\n\n## API users\n\nA user account can be of two types, a regular user or an API user. API users are meant for intertacting with the listmonk APIs programmatically. Unlike regular user accounts that have custom passwords or OIDC for authentication, API users get an automatically generated secret token.\n\n## `subscribers:sql_query`\n\nThis permission allowers users to write and execute arbitrary SQL queries on the database. Although it is executed as a read-only transaction disallowing changing of data in the database tables, it allows querying of all lists, subscribers and other data directly from the database superceding individual list and subscriber permissions.\n\nRaw SQL expressions also make it possible to obtain Postgres database configuration and potentially interact with other Postgres system features. Give this permission ONLY to trusted users.\n\nIf this permission is being assigned to many users, it is highly recommended that you create a custom Postgres role disallowing any privileged operations. For example:\n\n```sql\nCREATE ROLE listmonk_app WITH\n    LOGIN\n    PASSWORD '...'\n    NOSUPERUSER\n    NOCREATEDB\n    NOCREATEROLE\n    NOREPLICATION;\n```\n"
  },
  {
    "path": "docs/docs/content/security-reports.md",
    "content": "If you spot a security vulnerability in listmonk, please report it via GitHub [security advisories](https://github.com/knadh/listmonk/security/advisories).\n### What not to report\n\nThe below listed scenarios are either not security vulnerabilities or are of acceptable risk. They keep getting reported unfortunately. Please refrain from doing so.\n\n### SQL injection via subscriber query\nThe subscribers UI (and APIs) support issuing of arbitrary SQL expressions via a `query` parameter. While listmonk ensures that the queries are executed as readonly and has basic checks for target tables to prevent accidental side-effects, it is not really possible to prevent arbitrary Turing-complete SQL expressions from calling various Postgres functions. Postgres itself does not offer an easy way to allow/disallow specific functions.\n\nThat's why this feature is behind a special permission `subscribers:sql_query` and its risks are [clearly documented](__https://listmonk.app/docs/roles-and-permissions/#user-roles__). In a multi-user scenario, it is up to an admin to allow this permission to trusted users.\n\n### Stored XSS via SVG\nIn addition to images, listmonk allows uploading of arbitrary file types, .html, .js, .svg, .* and does not transform or modify the files. That means, it is possible to have `<script>`s and other arbitrary content inside HTML and SVG files. It is not possible for listmonk to have special checks or transformations for various file types, and many environments legitimately want SVGs and other filetypes to be uploaded.\n\nIn a multi-user scenario, it is possible for an admin to decide what file types to allow (Admin -> Settings -> Media). In an environment where SVG (or any other type) is considered risky, they can simply be disallowed from being uploaded.\n\n### Stored XSS in campaign HTML\nlistmonk is a full-fledged HTML content management system (similar to WordPress). It allows campaign messages to have arbitrary HTML, including `<script>`s, which is a legitimate use case in many environments. While campaign previews within the admin are iframe-sandboxed, when a campaign is published as a webpage (archive view), it will obviously execute whatever `<script>` it has. This is expected of a content management and publishing system. In a multi-user scenario, it is up to the admin to give appropriate permissions to trusted users if they deem this undesirable.\n\n### ReDoS/DoS in templating\nlistmonk is a full-fledged HTML content management system (similar to WordPress) which provides the full power of the Go templating language in addition to bundling [Sprig functions](__https://masterminds.github.io/sprig/__). This allows executing Turing-complete code within templates where it is possible to write code that does loop-within-loop or memory-allocation code that runs within loops that could cause a DoS. There is no way to prevent this. In a multi-user scenario, it is up to the admin to give appropriate permissions to trusted users if they deem this undesirable.\n"
  },
  {
    "path": "docs/docs/content/static/style.css",
    "content": "body[data-md-color-primary=\"white\"] .md-header[data-md-state=\"shadow\"] {\n  background: #fff;\n  box-shadow: none;\n  color: #333;\n\n  box-shadow: 1px 1px 3px #ddd;\n}\n\n.md-typeset .md-typeset__table table {\n  border: 1px solid #ddd;\n  box-shadow: 2px 2px 0 #f3f3f3;\n  overflow: inherit;\n}\n\nbody[data-md-color-primary=\"white\"] .md-search__input {\n  background: #f6f6f6;\n  color: #333;\n}\n\nbody[data-md-color-primary=\"white\"]\n  .md-sidebar--secondary\n  .md-sidebar__scrollwrap {\n  background: #f6f6f6;\n  padding: 10px 0;\n}\n\n.md-nav__item--section > .md-nav__link[for] {\n  color: #333;\n}\n.md-nav__item--section {\n  margin-bottom: 20px;\n}\n.md-nav__item--nested .md-nav__list {\n  margin-left: 20px;\n  border-left: 1px solid #ddd;\n}\n\nbody[data-md-color-primary=\"white\"] a.md-nav__link--active {\n  font-weight: 600;\n  color: inherit;\n  color: #0055d4;\n}\nbody[data-md-color-primary=\"white\"] .md-nav__item a:hover {\n  color: #0055d4;\n}\n\nbody[data-md-color-primary=\"white\"] thead,\nbody[data-md-color-primary=\"white\"] .md-typeset table:not([class]) th {\n  background: #f6f6f6;\n  border: 0;\n  color: inherit;\n  font-weight: 600;\n}\ntable td span {\n  font-size: 0.85em;\n  color: #bbb;\n  display: block;\n}\n\n.md-typeset h1, .md-typeset h2 {\n  font-weight: 500;\n}\n\nbody[data-md-color-primary=\"white\"] .md-typeset h1 {\n  margin: 4rem 0 0 0;\n  color: inherit;\n  border-top: 1px solid #ddd;\n  padding-top: 2rem;\n}\nbody[data-md-color-primary=\"white\"] .md-typeset h2 {\n  border-top: 1px solid #eee;\n  padding-top: 2rem;\n}\n\nbody[data-md-color-primary=\"white\"] .md-content h1:first-child {\n  margin: 0 0 3rem 0;\n  padding: 0;\n  border: 0;\n}\n\nbody[data-md-color-primary=\"white\"] .md-typeset code {\n  word-break: normal;\n}\n\nli img {\n  background: #fff;\n  border-radius: 6px;\n  border: 1px solid #e6e6e6;\n  box-shadow: 1px 1px 4px #e6e6e6;\n  padding: 5px;\n  margin-top: 10px;\n}\n\n/* This hack places the #anchor-links correctly\nby accommodating for the fixed-header's height */\n:target:before {\n  content: \"\";\n  display: block;\n  height: 120px;\n  margin-top: -120px;\n}\n\n.md-typeset a {\n  color: #0055d4;\n}\n.md-typeset a:hover {\n  color: #666 !important;\n  text-decoration: underline;\n}\n.md-typeset hr {\n  background: #f6f6f6;\n  margin: 60px 0;\n  display: block;\n}\n.md-header--shadow {\n  box-shadow: 0 4px 3px #eee;\n  transition: none;\n}\n.md-header__topic:first-child {\n  font-weight: normal;\n}"
  },
  {
    "path": "docs/docs/content/templating.md",
    "content": "# Templating\n\nA template is a re-usable HTML design that can be used across campaigns and transactional messages. Most commonly, templates have standard header and footer areas with logos and branding elements, where campaign content is inserted in the middle.\n\nlistmonk supports [Go template](https://pkg.go.dev/text/template) expressions that lets you create powerful, dynamic HTML templates. It also integrates 100+ useful [Sprig template functions](https://masterminds.github.io/sprig/).\n\n!!! Warning\n    Sprig template functions are powerful and Turing-complete, allowing programming of complex behaviour in templates. This means that it is also possible to program undesired behaviour, such as overloading memory on the host by concatenating large strings in a loop. Ensure that templating (campaigns, templates) permissions are given only to trusted users.\n\n## Campaign templates\nCampaign templates are used in an e-mail campaigns. These template are created and managed on the UI under `Campaigns -> Templates`, and are selected when creating new campaigns.\n\n## Transactional templates\nTransactional templates are used for sending arbitrary transactional messages using the transactional API. These template are created and managed on the UI under `Campaigns -> Templates`.\n\n## Template expressions\n\nThere are several template functions and expressions that can be used in campaign and template bodies. They are written in the form `{{ .Subscriber.Email }}`, that is, an expression between double curly braces `{{` and `}}`.\n\n### Subscriber fields\n\n| Expression                    | Description                                                                                  |\n| ----------------------------- | -------------------------------------------------------------------------------------------- |\n| `{{ .Subscriber.UUID }}`      | The randomly generated unique ID of the subscriber                                           |\n| `{{ .Subscriber.Email }}`     | E-mail ID of the subscriber                                                                  |\n| `{{ .Subscriber.Name }}`      | Name of the subscriber                                                                       |\n| `{{ .Subscriber.FirstName }}` | First name of the subscriber (automatically extracted from the name)                         |\n| `{{ .Subscriber.LastName }}`  | Last name of the subscriber (automatically extracted from the name)                          |\n| `{{ .Subscriber.Status }}`    | Status of the subscriber (enabled, disabled, blocklisted)                                    |\n| `{{ .Subscriber.Attribs }}`   | Map of arbitrary attributes. Fields can be accessed with `.`, eg: `.Subscriber.Attribs.city` |\n| `{{ .Subscriber.CreatedAt }}` | Timestamp when the subscriber was first added                                                |\n| `{{ .Subscriber.UpdatedAt }}` | Timestamp when the subscriber was modified                                                   |\n\n### Campaigns\n\n| Expression            | Description                                              |\n| --------------------- | -------------------------------------------------------- |\n| `{{ .Campaign.UUID }}`      | The randomly generated unique ID of the campaign         |\n| `{{ .Campaign.Name }}`      | Internal name of the campaign                            |\n| `{{ .Campaign.Subject }}`   | E-mail subject of the campaign                           |\n| `{{ .Campaign.FromEmail }}` | The e-mail address from which the campaign is being sent |\n\n### Functions\n\n| Function                             | Description                                                                                                                                           |\n|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `{{ Date \"2006-01-01\" }}`            | Prints the current datetime for the given format expressed as a [Go date layout](https://yourbasic.org/golang/format-parse-string-time-date-example/) |\n| `{{ TrackLink \"https://link.com\" }}` | Takes a URL and generates a tracking URL over it. For use in campaign bodies and templates.                                                           |\n| `https://link.com@TrackLink`         | Shorthand for `TrackLink`. Eg: `<a href=\"https://link.com@TrackLink\">Link</a>`                                                                        |\n| `{{ TrackView }}`                    | Inserts a single tracking pixel. Should only be used once, ideally in the template footer.                                                            |\n| `{{ UnsubscribeURL }}`               | Unsubscription and Manage preferences URL. Ideal for use in the template footer.                                                                      |\n| `{{ MessageURL }}`                   | URL to view the hosted version of an e-mail message.                                                                                                  |\n| `{{ OptinURL }}`                     | URL to the double opt-in confirmation page.                                                                                                           |\n| `{{ Safe \"<!-- comment -->\" }}`      | Add any HTML code as it is.                                                                                                                           |\n\n### Sprig functions\nlistmonk integrates the Sprig library that offers 100+ utility functions for working with strings, numbers, dates etc. that can be used in templating. Refer to the [Sprig documentation](https://masterminds.github.io/sprig/) for the full list of functions.\n\n\n### Example template\n\nThe expression `{{ template \"content\" . }}` should appear exactly once in every template denoting the spot where an e-mail's content is inserted. Here's a sample HTML e-mail that has a fixed header and footer that inserts the content in the middle.\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <style>\n      body {\n        background: #eee;\n        font-family: Arial, sans-serif;\n        font-size: 6px;\n        color: #111;\n      }\n      header {\n        border-bottom: 1px solid #ddd;\n        padding-bottom: 30px;\n        margin-bottom: 30px;\n      }\n      .container {\n        background: #fff;\n        width: 450px;\n        margin: 0 auto;\n        padding: 30px;\n      }\n    </style>\n  </head>\n  <body>\n    <section class=\"container\">\n      <header>\n        <!-- This will appear in the header of all e-mails.\n             The subscriber's name will be automatically inserted here. //-->\n        Hi {{ .Subscriber.FirstName }}!\n      </header>\n\n      <!-- This is where the e-mail body will be inserted //-->\n      <div class=\"content\">\n        {{ template \"content\" . }}\n      </div>\n\n      <footer>\n        Copyright 2019. All rights Reserved.\n      </footer>\n\n      <!-- The tracking pixel will be inserted here //-->\n      {{ TrackView }}\n    </section>\n  </body>\n</html>\n```\n\n!!! info\n    For use with plaintext campaigns, create a template with no HTML content and just the placeholder `{{ template \"content\" . }}`\n\n### Example campaign body\n\nCampaign bodies can be composed using the built-in WYSIWYG editor or as raw HTML documents. Assuming that the subscriber has a set of [attributes defined](querying-and-segmentation.md#sample-attributes), this example shows how to render those values in a campaign.\n\n```\nHey, did you notice how the template showed your first name?\nYour last name is {{.Subscriber.LastName }}.\n\nYou have done {{ .Subscriber.Attribs.projects }} projects.\n\n\n{{ if eq .Subscriber.Attribs.city \"Bengaluru\" }}\n  You live in Bangalore!\n{{ else }}\n  Where do you live?\n{{ end }}\n\n\nHere is a link for you to click that will be tracked.\n<a href=\"{{ TrackLink \"https://google.com\" }}\">Google</a>\n\n```\n\nThe above example uses an `if` condition to show one of two messages depending on the value of a subscriber attribute. Many such dynamic expressions are possible with Go templating expressions.\n\n## System templates\nSystem templates are used for rendering public user-facing pages such as the subscription management page, and in automatically generated system e-mails such as the opt-in confirmation e-mail. These are bundled into listmonk but can be customized by copying the [static directory](https://github.com/knadh/listmonk/tree/master/static) locally, and passing its path to listmonk with the `./listmonk --static-dir=your/custom/path` flag.\n\nYou can fetch the static files with:<br>\n`mkdir -p /home/ubuntu/listmonk/static ; wget -O - https://github.com/knadh/listmonk/archive/master.tar.gz | tar xz -C /home/ubuntu/listmonk/static --strip=2 \"listmonk-master/static\"`\n\n[Docker example](https://yasoob.me/posts/setting-up-listmonk-opensource-newsletter-mailing/#custom-static-files), [binary example](https://github.com/knadh/listmonk/blob/master/listmonk-simple.service).\n\n\n### Public pages\n\n| /static/public/        |                                                          |\n|------------------------|--------------------------------------------------------------------|\n| `index.html`             | Base template with the header and footer that all pages use.        |\n| `home.html`              | Landing page on the root domain with the login button.              |\n| `message.html`           | Generic success / failure message page.                             |\n| `optin.html`             | Opt-in confirmation page.                                           |\n| `subscription.html`      | Subscription management page with options for data export and wipe. |\n| `subscription-form.html` | List selection and subscription form page.                          |\n\n\nTo edit the appearance of the public pages using CSS and Javascript, head to Settings > Appearance > Public:\n\n![image](https://user-images.githubusercontent.com/55474996/153739792-93074af6-d1dd-40aa-8cde-c02ea4bbb67b.png)\n\n\n\n### System e-mails\n\n| /static/email-templates/         |                                                                                                                                    |\n|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------|\n| `base.html`                      | Base template with the header and footer that all system generated e-mails use.                                               |\n| `campaign-status.html`           | E-mail notification that is sent to admins on campaign start, completion etc.                                                      |\n| `import-status.html`             | E-mail notification that is sent to admins on finish of an import job.                                                             |\n| `subscriber-data.html`           | E-mail that is sent to subscribers when they request a full dump of their private data.                                            |\n| `subscriber-optin.html`          | Automatic opt-in confirmation e-mail that is sent to an unconfirmed subscriber when they are added.                                |\n| `subscriber-optin-campaign.html` | E-mail content that's inserted into a campaign body when starting an opt-in campaign from the lists page.                          |\n| `default.tpl`                    | Default campaign template that is created in Campaigns -> Templates when listmonk is first installed. This is not used after that. |\n\n!!! info\n    To turn system e-mail templates to plaintext, remove `<!doctype html>` from base.html and remove all HTML tags from the templates while retaining the Go templating code.\n"
  },
  {
    "path": "docs/docs/content/upgrade.md",
    "content": "# Upgrade\n\n!!! Warning\n    Always take a backup of the Postgres database before upgrading listmonk\n\n## Binary\n- Stop the running instance of listmonk.\n- Download the [latest release](https://github.com/knadh/listmonk/releases) and extract the listmonk binary and overwrite the previous version.\n- `./listmonk --upgrade` to upgrade an existing database schema. Upgrades are idempotent and running them multiple times have no side effects.\n- Run `./listmonk` again.\n\nIf you installed listmonk as a service, you will need to stop it before overwriting the binary. Something like `sudo systemctl stop listmonk` or `sudo service listmonk stop` should work. Then overwrite the binary with the new version, then run `./listmonk --upgrade, and `start` it back with the same commands.\n\nIf it's not running as a service, `pkill -9 listmonk` will stop the listmonk process.\n\n## Docker\n**Important:** The following instructions are for the new [docker-compose.yml](https://github.com/knadh/listmonk/blob/master/docker-compose.yml) file.\n\n```shell\ndocker compose down app\ndocker compose pull\ndocker compose up app -d\n```\n\nIf you are using an older docker-compose.yml file, you have to run the `--upgrade` step manually.\n\n```shell\ndocker-compose down\ndocker-compose pull && docker-compose run --rm app ./listmonk --upgrade\ndocker-compose up -d app db\n```\n\n## Nightly\nSee [here](installation.md#nightly) for instructions on how to access the nightly builds.\n\n-----------\n\n## Downgrade\n\nTo restore a previous version, you have to restore the DB for that particular version. DBs that have been upgraded with a particular version shouldn't be used with older versions. There may be DB changes that a new version brings that are incompatible with previous versions.\n\n**General steps:**\n\n1. Stop listmonk.\n2. Restore your pre-upgrade database.\n3. If you're using `docker compose`, edit `docker-compose.yml` and change `listmonk:latest` to `listmonk:v2.4.0` _(for example)_.\n4. Restart.\n\n**Example with docker:**\n\n1. Stop listmonk (app):\n```\nsudo docker stop listmonk_app\n```\n2. Restore your pre-upgrade db (required) _(be careful, this will wipe your existing DB)_:\n```\npsql -h 127.0.0.1 -p 9432 -U listmonk\ndrop schema public cascade;\ncreate schema public;\n\\q\npsql -h 127.0.0.1 -p 9432 -U listmonk -W listmonk < listmonk-preupgrade-db.sql\n```\n3. Edit the `docker-compose.yml`:\n```\nx-app-defaults: &app-defaults\n  restart: unless-stopped\n  image: listmonk/listmonk:v2.4.0\n```\n4. Restart:\n`sudo docker compose up -d app db nginx certbot`\n\n\n## Upgrading to v4.x.x\nv4 is a major upgrade from prior versions with significant changes to certain important features and behaviour. It is the first version to have multi-user support and full fledged user management. Prior versions only had a simple BasicAuth for both admin login (browser prompt) and API calls, with the username and password defined in the TOML configuration file.\n\nIt is safe to upgrade an older installation with `--upgrade`, but there are a few important things to keep in mind. The upgrade automatically imports the `admin_username` and `admin_password` defined in the TOML configuration into the new user management system.\n\n1. **New login UI**: Once you upgrade an older installation, the admin dashboard will no longer show the native browser prompt for login. Instead, a new login UI rendered by listmonk is displayed at the URI `/admin/login`.\n\n1. **API credentials**: If you are using APIs to interact with listmonk, after logging in, go to Settings -> Users and create a new API user with the necessary permissions. Change existing API integrations to use these credentials instead of the old username and password defined in the legacy TOML configuration file or environment variables.\n\n1. **Credentials in TOML file or old environment variables**: The admin dashboard shows a warning until the `admin_username` and `admin_password` fields are removed from the configuration file or old environment variables. In v4.x.x, these are irrelevant as user credentials are stored in the database and managed from the admin UI. IMPORTANT: if you are using APIs to interact with listmonk, follow the previous step before removing the legacy credentials.\n\n\n## Railway\n- Head to your dashboard, and select your Listmonk project.\n- Select the GitHub deployment service.\n- In the Deployment tab, head to the latest deployment, click on the three vertical dots to the right, and select \"Redeploy\".\n\n![Railway Redeploy option](https://user-images.githubusercontent.com/55474996/226517149-6dc512d5-f862-46f7-a57d-5e55b781ff53.png)\n"
  },
  {
    "path": "docs/docs/mkdocs.yml",
    "content": "site_name: listmonk / Documentation\ntheme:\n  name: material\n  # custom_dir: \"mkdocs-material/material\"\n  logo: \"images/favicon.png\"\n  favicon: \"images/favicon.png\"\n  language: \"en\"\n  font:\n    text: 'Inter'\n    weights: 400\n  direction: 'ltr'\n  extra:\n  search:\n    language: 'en'\n  feature:\n    tabs: true\n  features:\n    - navigation.indexes\n    - navigation.sections\n    - content.code.copy\n\n  palette:\n    primary: \"white\"\n    accent: \"red\"\n\nsite_dir: _out\ndocs_dir: content\n\nmarkdown_extensions:\n  - admonition\n  - pymdownx.highlight\n  - pymdownx.superfences\n  - toc:\n      permalink: true\n\nextra_css:\n  - \"static/style.css\"\n\ncopyright: \"CC BY-SA 4.0\"\n\nnav:\n  - \"Introduction\": index.md\n  - \"Getting Started\":\n    - \"Installation\": installation.md\n    - \"Configuration\": configuration.md\n    - \"Upgrade\": upgrade.md\n  - \"Using listmonk\":\n    - \"Concepts\": concepts.md\n    - \"Templating\": templating.md\n    - \"Querying and segmenting subscribers\": querying-and-segmentation.md\n    - \"Bounce processing\": bounces.md\n    - \"Messengers\": \"messengers.md\"\n    - \"Archives\": \"archives.md\"\n    - \"Internationalization\": \"i18n.md\"\n    - \"Integrating with external systems\": external-integration.md\n    - \"User roles and permissions\": roles-and-permissions.md\n    - \"OIDC SSO\": oidc.md\n  - \"API\":\n    - \"Introduction\": apis/apis.md\n    - \"SDKs and libs\": apis/sdks.md\n    - \"Subscribers\": apis/subscribers.md\n    - \"Lists\": apis/lists.md\n    - \"Import\": apis/import.md\n    - \"Campaigns\": apis/campaigns.md\n    - \"Media\": apis/media.md\n    - \"Templates\": apis/templates.md\n    - \"Transactional\": apis/transactional.md\n    - \"Bounces\": apis/bounces.md\n  - \"Maintenance\":\n    - \"Performance\": maintenance/performance.md\n  - \"Contributions\":\n    - \"Developer setup\": developer-setup.md\n    - \"Security reports\": security-reports.md\n"
  },
  {
    "path": "docs/docs/requirements.txt",
    "content": "mkdocs>=1.6.1\nmkdocs-material>=9.6.14\nmkdocs-material-extensions>=1.3.1\npymdown-extensions>=10.15\n"
  },
  {
    "path": "docs/i18n/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<title>listmonk i18n translation editor</title>\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\t<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\">\n\t<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap\" rel=\"stylesheet\"> \n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />\n</head>\n<body>\n\t<div id=\"app\" class=\"container\">\n\t\t<header class=\"header\">\n\t\t\t<h1 class=\"title\">{{ values[\"_.name\"] }}</h1>\n\t\t\t<div class=\"controls\">\n\t\t\t\t<div class=\"import block\">\n\t\t\t\t\t<a href=\"#\" @click.prevent=\"onToggleRaw\">\n\t\t\t\t\t\t<template v-if=\"!isRawVisible\">Switch to raw JSON</template>\n\t\t\t\t\t\t<template v-else>Switch to editor</template>\n\t\t\t\t\t</a>\n\t\t\t\t\t<a href=\"#\" @click.prevent=\"onDownloadJSON\">Download raw JSON</a>\n\t\t\t\t\t<a v-else href=\"#\" @click.prevent=\"onToggleRaw\">Switch to editor</a>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"view block\">\n\t\t\t\t\t<label for=\"view-all\" class=\"all\">\n\t\t\t\t\t\t<input v-model=\"view\" name=\"view\" id=\"view-all\" type=\"radio\" value=\"all\" checked=\"true\" />\n\t\t\t\t\t\tAll ({{ keys.length }})\n\t\t\t\t\t</label>\n\t\t\t\t\t<label for=\"view-pending\" class=\"pending\">\n\t\t\t\t\t\t<input v-model=\"view\" name=\"view\" id=\"view-pending\" type=\"radio\" value=\"pending\" />\n\t\t\t\t\t\tPending ({{ keys.length - completed }})\n\t\t\t\t\t</label>\n\t\t\t\t\t<label for=\"view-complete\" class=\"complete\">\n\t\t\t\t\t\t<input v-model=\"view\" name=\"view\" id=\"view-complete\" type=\"radio\" value=\"complete\" />\n\t\t\t\t\t\tComplete ({{ completed }})\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"selector block\">\n\t\t\t\t\tLoad existing language\n\t\t\t\t\t<select v-model=\"loadLang\" @change=\"onLoadLanguage\">\n\t\t\t\t\t\t<option value=\"en\">Default (en)</option>\n\t\t\t\t\t\t<option value=\"ca\"> Català (ca) </option>\n\t\t\t\t\t\t<option value=\"cs-cz\"> čeština (cs) </option>\n\t\t\t\t\t\t<option value=\"cy\"> Cymraeg (cy) </option>\n\t\t\t\t\t\t<option value=\"de\"> Deutsch (de) </option>\n\t\t\t\t\t\t<option value=\"es\"> Español (es) </option>\n\t\t\t\t\t\t<option value=\"fi\"> Suomi (fi) </option>\n\t\t\t\t\t\t<option value=\"fr\"> Français (fr) </option>\n\t\t\t\t\t\t<option value=\"hu\"> Hungary (hu) </option>\n\t\t\t\t\t\t<option value=\"it\"> Italiano (it) </option>\n\t\t\t\t\t\t<option value=\"jp\"> 日本語 (jp) </option>\n\t\t\t\t\t\t<option value=\"ml\"> മലയാളം (ml) </option>\n\t\t\t\t\t\t<option value=\"nl\"> Nederlands (nl) </option>\n\t\t\t\t\t\t<option value=\"pl\"> Polski (pl) </option>\n\t\t\t\t\t\t<option value=\"pt\"> Portuguese (pt) </option>\n\t\t\t\t\t\t<option value=\"pt-BR\"> Português Brasileiro (pt-BR) </option>\n\t\t\t\t\t\t<option value=\"ro\"> Română (ro) </option>\n\t\t\t\t\t\t<option value=\"ru\"> Русский (ru) </option>\n\t\t\t\t\t\t<option value=\"se\"> Svenska (se) </option>\n\t\t\t\t\t\t<option value=\"sk\"> slovenčina (sk) </option>\n\t\t\t\t\t\t<option value=\"tr\"> Turkish (tr) </option>\n\t\t\t\t\t\t<option value=\"vi\"> Vietnamese (vi) </option>\n\t\t\t\t\t\t<option value=\"zh-CN\"> 简体中文 (zh-CN) </option>\n\t\t\t\t\t\t<option value=\"zh-TW\"> 繁體中文(zh-TW) </option>\n\t\t\t\t\t</select>\n\n\t\t\t\t\t&nbsp;&nbsp;&nbsp;\n\t\t\t\t\t<a href=\"#\" @click.prevent=\"onNewLang\">+ Create new language</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</header>\n\n\t\t<p>\n\t\t\tChanges are stored in the browser's localStorage until the cache is cleared.\n\t\t\tTo edit an existing language, load it and edit the fields.\n\t\t\tTo create a new language, load the default language and edit the fields.\n\t\t\tOnce done, copy the raw JSON and send a PR to the\n\t\t\t<a href=\"https://github.com/knadh/listmonk/tree/i18n/i18n\" target=\"_blank\">repo</a>.\n\t\t</p>\n\n\t\t<div v-if=\"!isRawVisible\" class=\"data\">\n\t    <div :class=\"{'item': true, 'done': isDone(k.key)}\" v-for=\"(k, i) in keys\" v-if=\"isItemVisible(k.key)\">\n\t\t  \t<h3 class=\"head\" v-if=\"k.head\">{{ k.head }}</h3>\n\n\t\t  \t<div class=\"controls\">\n\t\t\t  \t<div class=\"num\">{{ i + 1 }}.</div>\n\t\t\t  \t<div class=\"fields\">\n\t\t\t    \t<span class=\"base\">{{ base[k.key] }}</span>\n\t\t\t    \t<input type=\"text\" v-model=\"values[k.key]\" @blur=\"saveData\" />\n\t\t\t\t    <label class=\"key\">{{ k.key }}</label>\n\t\t\t\t  </div>\n\t\t\t\t</div>\n\t    </div>\n\t\t</div><!-- data --> \n\n\t\t<div v-else class=\"raw\">\n\t\t\t<textarea v-model=\"rawData\"></textarea>\n\t\t</div><!-- raw -->\n\t</div>\n\t<h4 id=\"loading\">Loading ...</h4>\n\n\t<script src=\"vue.min.js\"></script>\n\t<script src=\"main.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "docs/i18n/main.js",
    "content": "const BASEURL = \"https://raw.githubusercontent.com/knadh/listmonk/master/i18n/\";\nconst BASELANG = \"en\";\n\nvar app = new Vue({\n\tel: \"#app\",\n\tdata: {\n\t\tbase: {},\n\t\tkeys: [],\n\t\tvisibleKeys: {},\n\t\tvalues: {},\n\t\tview: \"all\",\n\t\tloadLang: BASELANG,\n\n\t\tisRawVisible: false,\n\t\trawData: \"{}\"\n\t},\n\n\tmethods: {\n\t\tinit() {\n\t\t\tdocument.querySelector(\"#app\").style.display = 'block';\n\t\t\tdocument.querySelector(\"#loading\").remove();\n\t\t},\n\n\t\tloadBaseLang(url) {\n\t\t\treturn fetch(url).then(response => response.json()).then(data => {\n\t\t\t\t// Retain the base values.\n\t\t\t\tObject.assign(this.base, data);\n\n\t\t\t\t// Get the sorted keys from the language map.\n\t\t\t\tconst keys = [];\n\t\t\t\tconst visibleKeys = {};\n\t\t\t\tlet head = null;\n\t\t\t\tObject.entries(this.base).sort((a, b) => a[0].localeCompare(b[0])).forEach((v) => {\n\t\t\t\t\tconst h = v[0].split('.')[0];\n\t\t\t\t\tkeys.push({\n\t\t\t\t\t\t\"key\": v[0],\n\t\t\t\t\t\t\"head\": (head !== h ? h : null) // eg: campaigns on `campaigns.something.else`\n\t\t\t\t\t});\n\n\t\t\t\t\tvisibleKeys[v[0]] = true;\n\t\t\t\t\thead = h;\n\t\t\t\t});\n\n\t\t\t\tthis.keys = keys;\n\t\t\t\tthis.visibleKeys = visibleKeys;\n\t\t\t\tthis.values = { ...this.base };\n\n\t\t\t\t// Is there cached localStorage data?\n\t\t\t\tif (localStorage.data) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tthis.populateData(JSON.parse(localStorage.data));\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.log(\"Bad JSON in localStorage: \" + e.toString());\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\tpopulateData(data) {\n\t\t\t// Filter out all keys from data except for the base ones\n\t\t\t// in the base language.\n\t\t\tconst vals = this.keys.reduce((a, key) => {\n\t\t\t\ta[key.key] = data.hasOwnProperty(key.key) ? data[key.key] : this.base[key.key];\n\t\t\t\treturn a;\n\t\t\t}, {});\n\n\t\t\tthis.values = vals;\n\t\t\tthis.saveData();\n\t\t},\n\n\t\tloadLanguage(lang) {\n\t\t\treturn fetch(BASEURL + lang + \".json\").then(response => response.json()).then(data => {\n\t\t\t\tthis.populateData(data);\n\t\t\t}).catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t\talert(\"error fetching file: \" + e.toString());\n\t\t\t});\n\t\t},\n\n\t\tsaveData() {\n\t\t\tlocalStorage.data = JSON.stringify(this.values);\n\t\t},\n\n\t\t// Has a key been translated (changed from the base)?\n\t\tisDone(key) {\n\t\t\treturn this.values[key] && this.base[key] !== this.values[key];\n\t\t},\n\n\t\tisItemVisible(key) {\n\t\t\treturn this.visibleKeys[key];\n\t\t},\n\n\t\tonToggleRaw() {\n\t\t\tif (!this.isRawVisible) {\n\t\t\t\tthis.rawData = JSON.stringify(this.values, Object.keys(this.values).sort(), 4);\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tthis.populateData(JSON.parse(this.rawData));\n\t\t\t\t} catch (e) {\n\t\t\t\t\talert(\"error parsing JSON: \" + e.toString());\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.isRawVisible = !this.isRawVisible;\n\t\t},\n\n\t\tonLoadLanguage() {\n\t\t\tif (!confirm(\"Loading this language will overwrite your local changes. Continue?\")) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.loadLanguage(this.loadLang);\n\t\t},\n\n\t\tonNewLang() {\n\t\t\tif (!confirm(\"Creating a new language will overwrite your local changes. Continue?\")) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet data = { ...this.base };\n\t\t\tdata[\"_.code\"] = \"iso-code-here\"\n\t\t\tdata[\"_.name\"] = \"New language\"\n\t\t\tthis.populateData(data);\n\t\t},\n\n\t\tonDownloadJSON() {\n\t\t\t// Create a Blob using the content, mimeType, and optional encoding\n\t\t\tconst blob = new Blob([JSON.stringify(this.values, Object.keys(this.values).sort(), 4)], { type: \"\" });\n\n\t\t\t// Create an anchor element with a download attribute\n\t\t\tconst link = document.createElement('a');\n\t\t\tlink.download = `${this.values[\"_.code\"]}.json`;\n\t\t\tlink.href = URL.createObjectURL(blob);\n\n\t\t\t// Append the link to the DOM, click it to start the download, and remove it\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t},\n\n\tmounted() {\n\t\tthis.loadBaseLang(BASEURL + BASELANG + \".json\").then(() => this.init());\n\t},\n\n\twatch: {\n\t\tview(v) {\n\t\t\t// When the view changes, create a copy of the items to be filtered\n\t\t\t// by and filter the view based on that. Otherwise, the moment the value\n\t\t\t// in the input changes, the list re-renders making items disappear.\n\n\t\t\tconst visibleKeys = {};\n\t\t\tthis.keys.forEach((k) => {\n\t\t\t\tlet visible = true;\n\n\t\t\t\tif (v === \"pending\") {\n\t\t\t\t\tvisible = !this.isDone(k.key);\n\t\t\t\t} else if (v === \"complete\") {\n\t\t\t\t\tvisible = this.isDone(k.key);\n\t\t\t\t}\n\n\t\t\t\tif (visible) {\n\t\t\t\t\tvisibleKeys[k.key] = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.visibleKeys = visibleKeys;\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tcompleted() {\n\t\t\tlet n = 0;\n\n\t\t\tthis.keys.forEach(k => {\n\t\t\t\tif (this.values[k.key] !== this.base[k.key]) {\n\t\t\t\t\tn++;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn n;\n\t\t}\n\t}\n});\n"
  },
  {
    "path": "docs/i18n/style.css",
    "content": "* {\n\tbox-sizing: border-box;\n}\n\nbody {\n\tfont-family: Inter, \"Helvetica Neue\", \"Segoe UI\", sans-serif;\n\tfont-size: 16px;\n\tline-height: 24px;\n}\n\nh1, h2, h3, h4, h5 {\n\tmargin: 0 0 15px 0;\n}\n\na {\n\tcolor: #0055d4;\n}\n\n.container {\n\tpadding: 30px;\n}\n\n.header {\n\talign-items: center;\n\tmargin-bottom: 30px;\n}\n\t.header a {\n\t\tdisplay: inline-block;\n\t\tmargin-right: 15px;\n\t}\n\t.header .controls {\n\t\tdisplay: flex;\n\t}\n\t\t.header .controls .pending {\n\t\t\tcolor: #ff3300;\n\t\t}\n\t\t.header .controls .complete {\n\t\t\tcolor: #05a200;\n\t\t}\n\t.header .title {\n\t\tmargin: 0 0 15px 0;\n\t}\n\t.header .block {\n\t\tmargin: 0 45px 0 0;\n\t}\n\t.header .view label {\n\t\tcursor: pointer;\n\t\tmargin-right: 10px;\n\t\tdisplay: inline-block;\n\t}\n\n#app {\n\tdisplay: none;\n}\n\n.data .key,\n.data .base {\n\tdisplay: block;\n\tcolor: #777;\n\tdisplay: block;\n}\n\t.data .item {\n\t\tpadding: 15px;\n\t\tclear: both;\n\t}\n\t\t.data .item:hover {\n\t\t\tbackground: #eee;\n\t\t}\n\t\t.data .item.done .num {\n\t\t\tcolor: #05a200;\n\t\t}\n\t\t.data .item.done .num::after {\n\t\t\tcontent: '✓';\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t.data .controls {\n\t\tdisplay: flex;\n\t}\n\t.data .fields {\n\t\tflex-grow: 1;\n\t}\n\t.data .num {\n\t\tmargin-right: 15px;\n\t\tmin-width: 50px;\n\t}\n\t.data .key {\n\t\tcolor: #aaa;\n\t\tfont-size: 0.875em;\n\t}\n\t.data input {\n\t\twidth: 100%;\n\t\tborder: 1px solid #ddd;\n\t\tpadding: 5px;\n\t\tdisplay: block;\n\t\tmargin: 3px 0;\n\n\t}\n\t.data input:focus {\n\t\tborder-color: #666;\n\t}\n\t.data p {\n\t\tmargin: 0 0 3px 0;\n\t}\n\t.data .head {\n\t\tmargin: 0 0 15px 0;\n\t}\n\n.raw textarea {\n\tborder: 1px solid #ddd;\n\tpadding: 5px;\n\twidth: 100%;\n\theight: 90vh;\n}"
  },
  {
    "path": "docs/site/content/.gitignore",
    "content": "\n"
  },
  {
    "path": "docs/site/data/github.json",
    "content": "{\"version\":\"v6.0.0\",\"date\":\"2026-01-02T17:51:28Z\",\"url\":\"https://github.com/knadh/listmonk/releases/tag/v6.0.0\",\"assets\":[{\"name\":\"darwin\",\"url\":\"https://github.com/knadh/listmonk/releases/download/v6.0.0/listmonk_6.0.0_darwin_amd64.tar.gz\"},{\"name\":\"freebsd\",\"url\":\"https://github.com/knadh/listmonk/releases/download/v6.0.0/listmonk_6.0.0_freebsd_amd64.tar.gz\"},{\"name\":\"linux\",\"url\":\"https://github.com/knadh/listmonk/releases/download/v6.0.0/listmonk_6.0.0_linux_amd64.tar.gz\"},{\"name\":\"netbsd\",\"url\":\"https://github.com/knadh/listmonk/releases/download/v6.0.0/listmonk_6.0.0_netbsd_amd64.tar.gz\"},{\"name\":\"openbsd\",\"url\":\"https://github.com/knadh/listmonk/releases/download/v6.0.0/listmonk_6.0.0_openbsd_amd64.tar.gz\"},{\"name\":\"windows\",\"url\":\"https://github.com/knadh/listmonk/releases/download/v6.0.0/listmonk_6.0.0_windows_amd64.tar.gz\"}]}\n"
  },
  {
    "path": "docs/site/layouts/index.html",
    "content": "{{ partial \"header.html\" . }}\n<div class=\"splash container center\">\n      <img class=\"s4\" src=\"static/images/s4.png\" />\n      <div class=\"hero\">\n        <h1 class=\"title\">Self-hosted newsletter and mailing list manager</h1>\n        <h3 class=\"sub\">\n          Performance and features packed into a single binary.<br />\n          <strong>Free and open source.</strong>\n        </h3>\n        <p class=\"center demo\">\n          <a href=\"https://demo.listmonk.app\" class=\"button\">Live demo</a>\n        </p>\n      </div>\n\n      <div class=\"confetti\">\n        <img class=\"s1\" src=\"static/images/s1.png\" />\n        <img class=\"s2\" src=\"static/images/s2.png\" />\n        <img class=\"s3\" src=\"static/images/s3.png\" />\n        <img class=\"box\" src=\"{{ .Site.BaseURL }}static/images/splash.png\" alt=\"listmonk screenshot\" />\n      </div>\n  </div>\n</div>\n\n<section id=\"download\">\n  <div class=\"container\">\n    <h2 class=\"center\">Download</h2>\n    <p class=\"center\">\n      The latest version is <strong>{{ .Page.Site.Data.github.version }}</strong>\n      released on {{ .Page.Site.Data.github.date | dateFormat \"02 Jan 2006\" }}.\n      See <a href=\"{{ .Page.Site.Data.github.url }}\">release notes.</a>\n    </p><br />\n\n    <div class=\"row\">\n      <div class=\"col-6\">\n        <div class=\"box\">\n          <h3>Binary</h3>\n          <p>Download binary (64 bit)</p>\n          <div class=\"download-links\">\n            {{ range.Page.Site.Data.github.assets }}\n            <a href=\"{{ .url }}\" class=\"item\">\n              <span class=\"icon\">\n                <img src=\"{{ .Site.BaseURL }}static/images/logo-{{ .name }}.svg\" alt=\"{{ .name | title }}\" title=\"{{ .name | title }}\" />\n              </span>\n              <span class=\"name\">{{ .name | title }}</span>\n            </a>\n            {{ end }}\n          </div>\n          \n          <p>Install</p>\n          <ul class=\"install-steps\">\n            <li>\n              <code>./listmonk --new-config</code> to generate config.toml. Edit it.\n            </li>\n            <li><code>./listmonk --install</code> to setup the Postgres DB or <code>--upgrade</code> to upgrade an existing DB.</li>\n            <li>Run <code>./listmonk</code> and visit <code>http://localhost:9000</code></li>\n          </ul>\n          <p><a href=\"/docs/installation\">Installation docs &rarr;</a></p>\n        </div>\n      </div>\n      <div class=\"col-6\">\n        <div class=\"box\">\n          <h3>Docker</h3>\n          <p><a href=\"https://hub.docker.com/r/listmonk/listmonk/tags?page=1&ordering=last_updated&name=latest\"><code>listmonk/listmonk:latest</code></a></p>\n          <p>\n            Download and use the sample <a href=\"https://github.com/knadh/listmonk/blob/master/docker-compose.yml\">docker-compose.yml</a> \n          </p>\n\n<pre>\n# Download the compose file to the current directory.\ncurl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml\n\n# Run the services in the background.\ndocker compose up -d\n</pre>\n          <p>Visit <code>http://localhost:9000</code></p>\n\n          <p><a href=\"/docs/installation\">Installation docs &rarr;</a></p>\n        </div>\n      </div>\n    </div>\n  </div>\n</section>\n\n<section class=\"hosting\">\n  <div class=\"container\">\n    <h2 class=\"center\">Hosting providers</h2><br />\n    <div>\n      <a href=\"https://www.nodion.com/en/deploy/listmonk/\"><img src=\"https://nodion-static.nodioncdn.com/nodion-button-s.svg\" alt=\"Deploy to Nodion\" style=\"max-height: 32px;\" /></a>\n      <a href=\"https://www.kloudbean.com/listmonk-self-hosted\"><img src=\"https://storage-basic.kloudbean.com/opensource/deploy_on_kloudbean_listmonk.svg\" alt=\"One-click deploy on Kloudbean\" style=\"max-height: 32px;\" /></a>\n      <a href=\"https://northflank.com/stacks/deploy-listmonk\"><img src=\"https://assets.northflank.com/deploy_to_northflank_smm_36700fb050.svg\" alt=\"One-click deploy on Northflank\" style=\"height: 32px; width: 150px; border-radius: 6px; object-fit: contain;\" /></a>\n      <a href=\"https://railway.app/new/template/listmonk\"><img src=\"https://railway.app/button.svg\" alt=\"One-click deploy on Railway\" style=\"max-height: 32px;\" /></a>\n      <a href=\"https://www.pikapods.com/pods?run=listmonk\"><img src=\"https://www.pikapods.com/static/run-button.svg\" alt=\"Deploy on PikaPod\" /></a>\n      <a href=\"https://elest.io/open-source/listmonk\"><img height=\"33\" src=\"https://raw.githubusercontent.com/elestio-examples/reactjs/refs/heads/master/src/deploy-on-elestio.png\" alt=\"Deploy on Elestio\" /></a>\n      <a href=\"https://zeabur.com/templates/5EDMN6\"><img width=\"148\" src=\"https://zeabur.com/button.svg\" alt=\"Deploy on Zeabur\"/></a>\n      <a href=\"https://cloudzy.com/marketplace/listmonk/\"><img src=\"https://design.cloudzy.com/logo/cloudzy-light-marketplace-badge-147x32.svg\" alt=\"Deploy to Cloudzy\" style=\"max-height: 32px;\" /></a>\n    </div>\n    <p class=\"disclaimer\">*listmonk has no affiliation with these providers</p>\n  </div>\n</section>\n\n<div class=\"container\">\n  <section class=\"row feature\">\n    <div class=\"col-5\">\n      <h2>One-way mailing lists</h2>\n      <p>\n        Manage millions of subscribers across single and double opt-in lists. Query and segment subscribers with SQL expressions.\n      </p>\n    </div>\n    <div class=\"col-1\"></div>\n    <div class=\"col-6 right\">\n      <img class=\"box\" src=\"static/images/lists.png\" alt=\"Screenshot of list management feature\" />\n    </div>\n  </section>\n\n  <section class=\"row media feature\">\n    <div class=\"col-5\">\n      <h2>Analytics</h2>\n      <p>\n        Built-in analytics to visualize campaign performance, bounces, top links and more across campaigns.\n      </p>\n    </div>\n    <div class=\"col-1\"></div>\n    <div class=\"col-6 right\">\n      <img class=\"box\" src=\"static/images/analytics.png\" alt=\"Screenshot of analytics feature\" />\n    </div>\n  </section>\n\n  <section class=\"row templating feature\">\n    <div class=\"col-5\">\n      <h2>Templating</h2>\n      <p>\n        Create powerful, dynamic e-mail templates with the <a href=\"https://golang.org/pkg/text/template/\">Go templating language</a>.\n        Use template expressions, logic, and 100+ functions in subject lines and content.\n        Write HTML e-mails using a visual drag-and-drop builder, a WYSIWYG editor, Markdown, raw syntax-highlighted HTML, or just plain text.\n      </p>\n    </div>\n    <div class=\"col-1\"></div>\n    <div class=\"col-6 right\">\n      <img class=\"box\" src=\"static/images/templating.png\" alt=\"Screenshot of templating feature\" />\n    </div>\n  </section>\n\n  <section class=\"row performance feature\">\n    <div class=\"col-5\">\n      <h2>Performance</h2>\n      <p>\n        Multi-threaded, high-throughput, multi-SMTP e-mail queues.\n        Throughput and sliding window rate limiting for fine grained control.  \n        Single binary application with nominal CPU and memory footprint that runs everywhere.\n      </p>\n    </div>\n    <div class=\"col-1\"></div>\n    <div class=\"col-6 right\">\n      <figure class=\"box\">\n        <img src=\"static/images/performance.png\" alt=\"Screenshot of performance metrics\" />\n\n        <figcaption style=\"font-size:\">\n          A production listmonk instance sending a campaign of 7+ million e-mails.<br />\n          CPU usage is a fraction of a single core with peak RAM usage of 57 MB.\n        </figcaption>\n      </figure>\n    </div>\n  </section>\n\n  <section class=\"row tx feature\">\n    <div class=\"col-5\">\n      <h2>Transactional mails</h2>\n      <p>\n        Simple API to send arbitrary transactional messages to subscribers\n        using pre-defined templates. Send messages as e-mail, SMS, Whatsapp messages or any medium via Messenger interfaces.\n      </p>\n    </div>\n    <div class=\"col-1\"></div>\n    <div class=\"col-6 right\">\n      <img class=\"box\" src=\"static/images/tx.png\" alt=\"Screenshot of transactional API\" />\n    </div>\n  </section>\n\n  <section class=\"row lists feature\">\n    <div class=\"col-5\">\n      <h2>Extensible</h2>\n      <p>\n        More than just e-mail campaigns. Messenger HTTP webhooks to send SMS,\n        Whatsapp, FCM notifications, or any type of messages.\n        Extensive API coverage for all features.\n      </p>\n    </div>\n    <div class=\"col-1\"></div>\n    <div class=\"col-6 right\">\n      <img class=\"box\" src=\"static/images/messengers.png\" alt=\"Screenshot of Messenger feature\" />\n    </div>\n  </section>\n\n  <section class=\"row feature center\">\n    <h2>And a lot more ...</h2>\n    <p>\n      Full privacy control for subscribers, OIDC SSO authentication with granular roles and permissions, granular API tokens, media library with S3-compatible backend and a lot more.\n    </p>\n  </section>\n\n  <div class=\"center\">\n    <a href=\"#download\" class=\"button\">Download</a>\n  </div>\n\n  <section class=\"banner\">\n    <div class=\"row\">\n      <div class=\"col-2\">&nbsp;</div>\n      <div class=\"col-8\">\n        <div class=\"confetti\">\n          <img class=\"s2\" src=\"static/images/s3.png\" />\n          <div class=\"box\">\n            <h2>Developers</h2>\n            <p>\n              listmonk is free and open source software licensed under AGPLv3.\n              If you are interested in contributing, check out the <a href=\"https://github.com/knadh/listmonk\">GitHub repository</a>\n              and refer to the <a href=\"/docs/developer-setup\">developer setup</a>.\n              The backend is written in Go and the frontend is Vue with Buefy for UI. \n            </p>\n          </div>\n        </div>\n      </div>\n      <div class=\"col-2\">&nbsp;</div>\n    </div>\n  </section>\n</div>\n\n{{ partial \"footer.html\" }}\n"
  },
  {
    "path": "docs/site/layouts/page/single.html",
    "content": "{{ partial \"header\" . }}\n<article class=\"page\">\n\t<h1>{{ .Title }}</h1> \n\t{{ .Content }}\n</article>\n{{ partial \"footer\" }}"
  },
  {
    "path": "docs/site/layouts/partials/footer.html",
    "content": "\n  <footer class=\"container footer\">\n    &copy; 2018-{{ now.Format \"2006\" }} / <a href=\"https://nadh.in\">Kailash Nadh</a>\n  </footer>\n\n  <script async defer src=\"https://buttons.github.io/buttons.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/site/layouts/partials/header.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n  <title>{{ .Title }}</title>\n  <meta name=\"description\" content=\"{{with .Description }}{{ . }}{{else}}Send e-mail campaigns and transactional e-mails. High performance and features packed into one app.{{end}}\" />\n  <meta name=\"keywords\" content=\"{{ if .Keywords }}{{ range .Keywords }}{{ . }}, {{ end }}{{else if isset .Params \"tags\" }}{{ range .Params.tags }}{{ . }}, {{ end }}{{end}}\">\n  <link rel=\"canonical\" href=\"{{ .Permalink }}\">\n  <link href=\"https://fonts.googleapis.com/css?family=Inter:400,600\" rel=\"stylesheet\">\n  <link href=\"{{ .Site.BaseURL }}static/base.css\" rel=\"stylesheet\" type=\"text/css\" />\n  <link href=\"{{ .Site.BaseURL }}static/style.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\" />\n  <link rel=\"icon\" href=\"{{ .Site.BaseURL }}static/images/favicon.png\" type=\"image/png\" />\n\n  <meta property=\"og:title\" content=\"{{ .Title }}\" />\n  {{ if .Params.thumbnail }}\n    <link rel=\"image_src\" href=\"{{ .Site.BaseURL }}static/images/{{ .Params.thumbnail }}\" />\n    <meta property=\"og:image\" content=\"{{ .Site.BaseURL }}static/images/{{ .Params.thumbnail }}\" />\n  {{ else }}\n    <link rel=\"image_src\" href=\"{{ .Site.BaseURL }}static/images/thumbnail.png\" />\n    <meta property=\"og:image\" content=\"{{ .Site.BaseURL }}static/images/thumbnail.png\" />\n  {{ end }}\n</head>\n<body>\n\n<div class=\"container\">\n  <header class=\"header\">\n    <div class=\"row\">\n      <div class=\"col-2 logo\">\n        <a href=\"{{ .Site.BaseURL }}\"><img src=\"{{ .Site.BaseURL }}static/images/logo.svg\" alt=\"Listmonk logo\" /></a>\n      </div>\n      <nav class=\"col-10\">\n        <a class=\"item\" href=\"/#download\">Download</a>\n        <a class=\"item\" href=\"/docs\">Docs</a>\n        <div class=\"github-btn\">\n          <a class=\"github-button\" href=\"https://github.com/knadh/listmonk\" data-size=\"large\" data-show-count=\"true\" aria-label=\"knadh/listmonk on GitHub\">GitHub</a>\n        </div>\n      </nav>\n    </div>\n  </header>\n</div>\n"
  },
  {
    "path": "docs/site/layouts/shortcodes/centered.html",
    "content": "<section class=\"row\">\n\t<div class=\"col2\">&nbsp;</div>\n\t<div class=\"col8\">{{ .Inner }}</div>\n\t<div class=\"clear\"> </div>\n</section>"
  },
  {
    "path": "docs/site/layouts/shortcodes/github.html",
    "content": "<ul id=\"github\" class=\"no\">\n    {{ range .Page.Site.Data.github }}\n        <li class=\"row\">\n            <div class=\"col2\">\n                <span class=\"date\">{{ dateFormat \"Jan 2006\" (substr .updated_at 0 10) }}</span>\n            </div>\n            <div class=\"col3\">\n                <a href=\"{{ .url }}\">{{ .name }}</a>\n            </div>\n            <div class=\"col7 last\">\n                <span class=\"desc\">{{ .description }}</span>\n            </div>\n            <div class=\"clear\"> </div>\n        </li>\n    {{ end }}\n</ul>\n<div class=\"clear\"> </div>"
  },
  {
    "path": "docs/site/layouts/shortcodes/half.html",
    "content": "<div class=\"row\">\n\t<div class=\"col7\">{{ .Inner }}</div>\n\t<div class=\"clear\"> </div>\n</div>"
  },
  {
    "path": "docs/site/layouts/shortcodes/section.html",
    "content": "<section>\n\t{{ .Inner }}\n</section>"
  },
  {
    "path": "docs/site/static/static/base.css",
    "content": "/**\n*** SIMPLE GRID\n*** (C) ZACH COLE 2016\n**/\n\n\n/* UNIVERSAL */\n\nhtml,\nbody {\n  height: 100%;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  left: 0;\n  top: 0;\n  font-size: 100%;\n}\n\n.right {\n  text-align: right;\n}\n\n.center {\n  text-align: center;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.justify {\n  text-align: justify;\n}\n\n/* ==== GRID SYSTEM ==== */\n\n.container {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.row {\n  position: relative;\n  width: 100%;\n}\n\n.row [class^=\"col\"] {\n  float: left;\n  margin: 0.5rem 2%;\n  min-height: 0.125rem;\n}\n\n.col-1,\n.col-2,\n.col-3,\n.col-4,\n.col-5,\n.col-6,\n.col-7,\n.col-8,\n.col-9,\n.col-10,\n.col-11,\n.col-12 {\n  width: 96%;\n}\n\n.col-1-sm {\n  width: 4.33%;\n}\n\n.col-2-sm {\n  width: 12.66%;\n}\n\n.col-3-sm {\n  width: 21%;\n}\n\n.col-4-sm {\n  width: 29.33%;\n}\n\n.col-5-sm {\n  width: 37.66%;\n}\n\n.col-6-sm {\n  width: 46%;\n}\n\n.col-7-sm {\n  width: 54.33%;\n}\n\n.col-8-sm {\n  width: 62.66%;\n}\n\n.col-9-sm {\n  width: 71%;\n}\n\n.col-10-sm {\n  width: 79.33%;\n}\n\n.col-11-sm {\n  width: 87.66%;\n}\n\n.col-12-sm {\n  width: 96%;\n}\n\n.row::after {\n  content: \"\";\n  display: table;\n  clear: both;\n}\n\n.hidden-sm {\n  display: none;\n}\n\n@media only screen and (min-width: 33.75em) {  /* 540px */\n  .container {\n    width: 80%;\n  }\n}\n\n@media only screen and (min-width: 45em) {  /* 720px */\n  .col-1 {\n    width: 4.33%;\n  }\n\n  .col-2 {\n    width: 12.66%;\n  }\n\n  .col-3 {\n    width: 21%;\n  }\n\n  .col-4 {\n    width: 29.33%;\n  }\n\n  .col-5 {\n    width: 37.66%;\n  }\n\n  .col-6 {\n    width: 46%;\n  }\n\n  .col-7 {\n    width: 54.33%;\n  }\n\n  .col-8 {\n    width: 62.66%;\n  }\n\n  .col-9 {\n    width: 71%;\n  }\n\n  .col-10 {\n    width: 79.33%;\n  }\n\n  .col-11 {\n    width: 87.66%;\n  }\n\n  .col-12 {\n    width: 96%;\n  }\n\n  .hidden-sm {\n    display: block;\n  }\n}\n\n@media only screen and (min-width: 60em) { /* 960px */\n  .container {\n    width: 75%;\n    max-width: 60rem;\n  }\n}\n"
  },
  {
    "path": "docs/site/static/static/style.css",
    "content": "body {\n  background: #fdfdfd;\n  font-family: \"Inter\", \"Helvetica Neue\", \"Segoe UI\", sans-serif;\n  font-size: 17px;\n  font-weight: 400;\n  line-height: 30px;\n  color: #444;\n  overflow-x: hidden;\n}\n\n\nh1,\nh2,\nh3,\nh4,\nh5 {\n  font-weight: 600;\n  margin: 5px 0 15px 0;\n  color: #111;\n}\nh1 {\n  font-size: 2.5em;\n  line-height: 1.2em;\n  letter-spacing: -0.01em;\n}\nh2 {\n  font-size: 2em;\n  line-height: 1.4em;\n}\nh3 {\n  font-size: 1.6em;\n  line-height: 1.6em;\n}\nstrong {\n  font-weight: 600;\n}\nsection:not(:last-child) {\n  margin-bottom: 100px;\n}\na {\n  color: #0055d4;\n  text-decoration: none;\n}\na:hover {\n  color: #111;\n}\n::selection {\n  background: #111;\n  color: #fff;\n}\npre {\n  background: #fafafa;\n  padding: 5px;\n  border-radius: 3px;\n  overflow-x: scroll;\n}\ncode {\n  background: #fafafa;\n  padding: 5px;\n  border-radius: 3px;\n}\nimg {\n  max-width: 100%;\n}\n\n/* Helpers */\n.center {\n  text-align: center;\n}\n.small, code, pre {\n  font-size: 13px;\n  line-height: 20px;\n  color:  #333;\n}\n\n.box {\n  background: #fff;\n  border-radius: 6px;\n  border: 1px solid #e6e6e6;\n  box-shadow: 1px 1px 4px #e6e6e6;\n  padding: 30px;\n}\n\nimg.box {\n  display: inline-block;\n  padding: 0;\n}\n\nfigcaption {\n  color:  #888;\n  font-size: 0.675em;\n  line-height: 1.6;\n}\n\n.button {\n  background: #0055d4;\n  display: inline-block;\n  text-align: center;\n  font-weight: 600;\n\n  color: #fff;\n  border-radius: 100px;\n  padding: 10px 15px;\n  min-width: 150px;\n}\n.button:hover {\n  background: #111;\n  color: #fff;\n}\n.notice {\n  background: #fafafa;\n  border-left: 4px solid #ddd;\n  color: #666;\n  padding: 5px 15px;\n}\n\n\n/* Layout */\n.container {\n  max-width: 1300px;\n  margin: 0 auto;\n}\n.header {\n  margin: 20px 0 60px 0;\n  text-align: left;\n}\n\n.logo img {\n  width: 125px;\n  height: auto;\n}\n\nnav {\n  text-align: right;\n}\n  nav .item:not(:first-child) {\n    margin: 0 0 0 40px;\n  }\n  .github-btn {\n    min-width: 135px;\n    min-height: 38px;\n    float: right;\n    margin-left: 30px;\n  }\n\n\n.splash .hero {\n  margin-bottom: 60px;\n}\n  .splash .title {\n    max-width: 700px;\n    margin: 0 auto 30px auto;\n    font-size: 3em;\n  }\n  .splash .sub {\n    font-weight: 400;\n    color: #666;\n  }\n  .splash .confetti {\n    max-width: 1200px;\n    margin: 0 auto;\n  }\n  .splash .demo {\n    margin-top: 30px;\n  }\n\n.confetti {\n  position: relative;\n}\n  .confetti .s1, .confetti .s2, .confetti .s3 {\n    position: absolute;\n  }\n  .confetti.light .s1, .confetti.light .s2, .confetti.light .s3 {\n    opacity: 0.30;\n  }\n  .confetti .s1 {\n    left: -35px;\n    top: 20%;\n    z-index: 10;\n  }\n  .confetti .s2 {\n    z-index: 30;\n    right: 20%;\n    top: -12px;\n  }\n  .confetti .s3 {\n    z-index: 30;\n    left: 15%;\n    bottom: 0;\n  }\n  .confetti .box {\n    position: relative;\n    z-index: 20;\n  }\n\n#download {\n  background: #f9f9f9;\n  padding: 160px 0 90px 0;\n  margin-top: -90px;\n}\n  #download .install-steps li {\n    margin-bottom: 15px;\n  }\n  #download .download-links a {\n    display: inline-block;\n    font-size: 0.775rem;\n    color: #888;\n    text-align: center;\n    width: 75px;\n    height: 75px;\n  }\n  #download .download-links a:hover .icon {\n    transform: scale(1.2);\n  }\n  #download .download-links .icon {\n    transition: transform 100ms ease-in;\n    background-color: #fff;\n    box-shadow: 1px 1px 4px #eee;\n    border: 1px solid #e6e6e6;\n    border-radius: 100%;\n\n    display: inline-flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    width: 48px;\n    height: 48px;\n    border-radius: 100%;\n  }\n  #download .download-links img {\n    max-width: 24px;\n    display: block;\n    margin: 0 auto;\n  }\n\n  #download .box {\n    min-height: 475px;\n  }\n\n.hosting {\n  text-align: center;\n}\n.hosting a {\n  display: inline-block;\n  margin: 0 15px;\n}\n.hosting .disclaimer {\n  font-size: 0.775rem;\n  color: #888;\n}\n\n  .feature h2 {\n    margin-bottom: 1em;\n  }\n  .feature img {\n    margin-bottom: 1em;\n  }\n  .feature p {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 750px;\n  }\n\n.banner {\n  padding-top: 90px;\n}\n\n.footer {\n  border-top: 1px solid #eee;\n  margin-top: 30px;\n  padding: 30px 0;\n  color: #777;\n}\n\n@media screen and (max-width: 720px) {\n  body {\n    /*font-size: 16px;*/\n  }\n  .header {\n    margin-bottom: 15px;\n    text-align: center;\n  }\n  .header .columns {\n    margin-bottom: 10px;\n  }\n\n  .box {\n    padding: 15px;\n  }\n\n  .splash .title {\n    font-size: 2.1em;\n    line-height: 1.3em;\n  }\n\n  .splash .sub {\n    font-size: 1.3em;\n    line-height: 1.5em;\n  }\n\n  nav {\n    text-align: center;\n  }\n\n  .github-btn {\n    float: none;\n    margin: 15px 0 0 0;\n  }\n\n  section:not(:last-child) {\n    margin-bottom: 45px;\n  }\n}\n@media screen and (max-width: 540px) {\n  .container {\n    padding: 0 15px;\n  }\n  .feature .col-1 {\n    display: none;\n  }\n}"
  },
  {
    "path": "docs/swagger/collections.yaml",
    "content": "openapi: 3.0.0\n\nservers:\n  - description: Listmonk Developement Server\n    url: http://localhost:9000/api\n\ninfo:\n  version: \"1.0.0\"\n  title: Listmonk\n  description: The API collection for listmonk\n  license:\n    name: AGPL-3.0 license\n    url: https://github.com/knadh/listmonk/blob/master/LICENSE\n\ntags:\n  - name: Miscellaneous\n    description: Misc API\n  - name: Settings\n    description: Settings API\n  - name: Admin\n    description: Admin API\n  - name: Logs\n    description: Logs API\n  - name: Subscribers\n    description: Subscribers API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/subscribers/\n  - name: Bounces\n    description: Bounce API\n  - name: Lists\n    description: Subscriber List API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/lists/\n  - name: Import\n    description: Import API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/lists/\n  - name: Campaigns\n    description: Campaign API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/campaigns/\n  - name: Media\n    description: Media API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/media/\n  - name: Templates\n    description: Templates API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/templates/\n  - name: Transactional\n    description: Transactional API\n    externalDocs:\n      url: https://listmonk.app/docs/apis/transactional/\n  - name: Maintenance\n    description: Maintenance API\n  - name: Public\n    description: Listmonk Public API\n\npaths:\n  /health:\n    get:\n      tags:\n        - Miscellaneous\n      description: healthcheck endpoint\n      operationId: getHealthCheck\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /config:\n    get:\n      tags:\n        - Miscellaneous\n      description: returns general server config.\n      operationId: getServerConfig\n      responses:\n        \"200\":\n          description: A server config object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/ServerConfig\"\n\n  \"/lang/{lang}\":\n    get:\n      tags:\n        - Miscellaneous\n      description: returns the JSON language pack given the language code\n      operationId: getI18nLang\n      parameters:\n        - in: path\n          name: lang\n          required: true\n          description: JSON language pack required\n          schema:\n            type: string\n      responses:\n        \"200\":\n          description: requested language pack\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/LanguagePack\"\n\n  /dashboard/charts:\n    get:\n      tags:\n        - Miscellaneous\n      description: returns chart data points to render on the dashboard.\n      operationId: getDashboardCharts\n      responses:\n        \"200\":\n          description: chart data points\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/DashboardChart\"\n\n  /dashboard/counts:\n    get:\n      tags:\n        - Miscellaneous\n      description: returns stats counts to show on the dashboard\n      operationId: getDashboardCounts\n      responses:\n        \"200\":\n          description: stat counts\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/DashboardCount\"\n\n  /settings:\n    get:\n      tags:\n        - Settings\n      description: returns settings from DB\n      operationId: getSettings\n      responses:\n        \"200\":\n          description: settings object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Settings\"\n\n    put:\n      tags:\n        - Settings\n      description: returns updated settings from the DB.\n      operationId: updateSettings\n      requestBody:\n        description: updated settings field values\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/Settings\"\n      responses:\n        \"200\":\n          description: updated settings object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /settings/smtp/test:\n    post:\n      tags:\n        - Settings\n      description: test smtp settings\n      operationId: testSMTPSettings\n      requestBody:\n        description: updated SMTP settings field values\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SMTPTest\"\n      responses:\n        \"200\":\n          description: updated SMTP test settings\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /admin/reload:\n    post:\n      tags:\n        - Admin\n      description: restarts the app\n      operationId: reloadApp\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /logs:\n    get:\n      tags:\n        - Logs\n      description: returns the log entries stored in the log buffer\n      operationId: getLogs\n      responses:\n        \"200\":\n          description: stored log entries\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: string\n\n  /subscribers:\n    get:\n      tags:\n        - Subscribers\n      description: returns all subscribers.\n      operationId: getSubscribers\n      parameters:\n        - in: query\n          name: page\n          description: Page number for paginated results.\n          required: false\n          schema:\n            type: integer\n            format: int32\n        - in: query\n          name: per_page\n          description: Number of items per page. Use an integer for specific page size or 'all' to retrieve all results\n          required: false\n          schema:\n            oneOf:\n              - type: integer\n                description: Number of items to return per page\n              - type: string\n                enum: [\"all\"]\n                description: Return all results without pagination\n        - in: query\n          name: query\n          description: query subscribers with an SQL expression.\n          required: false\n          schema:\n            type: string\n        - in: query\n          name: order_by\n          description: Result sorting field. Options are name, status, created_at, updated_at\n          required: false\n          schema:\n            type: string\n            enum: [\"name\", \"status\", \"created_at\", \"updated_at\"]\n        - in: query\n          name: order\n          description: ASC|DESC Sort by ascending or descending order.\n          required: false\n          schema:\n            type: string\n            enum: [\"ASC\", \"DESC\"]\n        - in: query\n          name: subscription_status\n          description: Subscription status to filter by if there are one or more list_ids.\n          required: false\n          schema:\n            type: string\n        - in: query\n          name: list_id\n          description: ID of lists to filter by. Repeat in the query for multiple values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: integer\n\n      responses:\n        \"200\":\n          description: subscribers list\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      results:\n                        type: array\n                        items:\n                          $ref: \"#/components/schemas/Subscriber\"\n                      query:\n                        type: string\n                      total:\n                        type: integer\n                      per_page:\n                        type: integer\n                      page:\n                        type: integer\n\n    post:\n      description: handles creation of new subscriber\n      operationId: createSubscriber\n      tags:\n        - Subscribers\n      requestBody:\n        description: new subscriber info\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/NewSubscriber\"\n\n      responses:\n        \"200\":\n          description: subscriber object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Subscriber\"\n\n    delete:\n      description: handles subscribers deletion\n      operationId: deleteSubscriberByList\n      tags:\n        - Subscribers\n      parameters:\n        - in: query\n          name: id\n          required: true\n          description: subscriber id/s to be deleted\n          schema:\n            type: string\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/{id}\":\n    get:\n      description: handles the retrieval of a single subscriber by ID.\n      operationId: getSubscriberById\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the subscriber you want to get.\n          schema:\n            type: integer\n\n      responses:\n        \"200\":\n          description: gets a single subscriber.\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Subscriber\"\n\n    put:\n      description: modify subscriber data\n      operationId: updateSubscriberById\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id of subscriber to update\n          schema:\n            type: integer\n      requestBody:\n        description: new subscriber info\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/UpdateSubscriber\"\n      responses:\n        \"200\":\n          description: returns updated subscriber.\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Subscriber\"\n\n    delete:\n      description: handles subscriber deletion based on id\n      operationId: deleteSubscriberById\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the subscriber you want to get.\n          schema:\n            type: integer\n\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /subscribers/lists:\n    put:\n      description: handles bulk addition or removal of subscribers\n      operationId: manageSubscriberLists\n      tags:\n        - Subscribers\n      requestBody:\n        description: The list of subscribers details to add or remove\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/lists/{id}\":\n    put:\n      description: handles bulk addition or removal of subscribers for a specified list id\n      operationId: manageSubscriberListById\n      tags:\n        - Subscribers\n      requestBody:\n        description: The list of subscribers to add or remove\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id of list you want to update\n          schema:\n            type: integer\n            format: int32\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/blocklist\":\n    put:\n      description: handles blocklisting of subscriber list\n      operationId: manageBlocklistBySubscriberList\n      tags:\n        - Subscribers\n      requestBody:\n        description: The list of subscribers to blocklist\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/{id}/blocklist\":\n    put:\n      description: handles the blocklisting of one or more subscribers.\n      operationId: manageBlocklistSubscribersById\n      tags:\n        - Subscribers\n      requestBody:\n        description: The id of subscriber to add or remove\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the subscriber you want to blocklist.\n          schema:\n            type: integer\n            format: int32\n\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/{id}/export\":\n    get:\n      description: retrieves a subscriber's profile\n      operationId: exportSubscriberDataByID\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of subscriber profile you want to export\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          headers:\n            Cache-Control:\n              schema:\n                type: string\n            Content-Disposition:\n              schema:\n                type: string\n                example: attachment; filename=\"data.json\"\n\n          description: subscriber data object\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/SubscriberData\"\n\n  \"/subscribers/{id}/bounces\":\n    get:\n      description: retrieves a subscriber's bounce records\n      operationId: getSubscriberBouncesById\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: subscriber id\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: list of bounce records of a subscriber\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      $ref: \"#/components/schemas/Bounce\"\n\n    delete:\n      description: deletes a subscriber's bounce records\n      operationId: deleteSubscriberBouncesById\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: subscriber id\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/{id}/optin\":\n    post:\n      description: sends an optin confirmation e-mail to a subscriber.\n      operationId: subscriberSendOptinById\n      tags:\n        - Subscribers\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: sends an optin confirmation e-mail to a subscriber\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/query/delete\":\n    post:\n      description: bulk deletes based on an arbitrary SQL expression.\n      operationId: deleteSubscriberByQuery\n      tags:\n        - Subscribers\n      requestBody:\n        description: Arbitrary SQL expression.\n        content:\n          text/plain:\n            schema:\n              type: string\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/query/blocklist\":\n    put:\n      description: bulk blocklists subscribers based on an arbitrary SQL expression.\n      operationId: blocklistSubscribersQuery\n      tags:\n        - Subscribers\n      requestBody:\n        description: Arbitrary SQL expression.\n        content:\n          text/plain:\n            schema:\n              type: string\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/subscribers/query/lists\":\n    put:\n      description: bulk adds/removes/unsubscribes subscribers from one or more lists based on an arbitrary SQL expression.\n      operationId: manageSubscriberListsByQuery\n      tags:\n        - Subscribers\n      requestBody:\n        description: Arbitrary SQL expression.\n        content:\n          text/plain:\n            schema:\n              type: string\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/SubscriberQueryRequest\"\n\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /bounces:\n    get:\n      description: handles retrieval of bounce records.\n      operationId: getBounces\n      tags:\n        - Bounces\n      parameters:\n        - in: query\n          name: campaign_id\n          description: Numeric identifier for retrieving bounce records associated with a specific campaign\n          schema:\n            type: integer\n        - in: query\n          name: page\n          description: Page number for paginated results. Start from 1 for the first page\n          schema:\n            type: integer\n        - in: query\n          name: per_page\n          description: Number of items per page. Use an integer for specific page size or 'all' to retrieve all results\n          schema:\n            oneOf:\n              - type: integer\n                description: Number of items to return per page\n              - type: string\n                enum:\n                  - \"all\"\n                description: Return all results without pagination\n        - in: query\n          name: source\n          description: Filter bounce records by their source of origin\n          schema:\n            type: string\n        - in: query\n          name: order_by\n          description: Specifies the field by which to sort the bounce records. Available options are 'email', 'campaign_name', 'source', and 'created_at'\n          schema:\n            type: string\n            enum: [\"email\", \"campaign_name\", \"source\", \"created_at\"]\n        - in: query\n          name: order\n          description: Determines the sort order of results. Use 'asc' for ascending or 'desc' for descending order\n          schema:\n            type: string\n            enum: [\"asc\", \"desc\"]\n      responses:\n        \"200\":\n          description: list of bounce records\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      results:\n                        type: array\n                        items:\n                          $ref: \"#/components/schemas/Bounce\"\n                      query:\n                        type: string\n                      total:\n                        type: integer\n                      per_page:\n                        type: integer\n                      page:\n                        type: integer\n    delete:\n      description: handles deletion of bounce records.\n      operationId: deleteBounces\n      tags:\n        - Bounces\n      parameters:\n        - in: query\n          name: all\n          description: flag for multiple bounce record deletion\n          schema:\n            type: boolean\n        - in: query\n          name: id\n          description: list of bounce ids to delete\n          schema:\n            type: string\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/bounces/{id}\":\n    get:\n      description: handles retrieval of bounce record by id\n      operationId: getBounceById\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the bounce you want to retreive.\n          schema:\n            type: integer\n      tags:\n        - Bounces\n      responses:\n        \"200\":\n          description: bounce object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Bounce\"\n\n    delete:\n      description: handles bounce deletion, either a single one (ID in the URI), or a list.\n      operationId: deleteBounceById\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the bounce you want to delete.\n          schema:\n            type: integer\n      tags:\n        - Bounces\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n                    \n  /lists:\n    get:\n      description: retrieves lists with additional metadata like subscriber counts. This may be slow.\n      operationId: getLists\n      tags:\n        - Lists\n      parameters:\n        - in: query\n          name: page\n          description: total number of pages\n          required: false\n          schema:\n            type: integer\n        - in: query\n          name: per_page\n          description: number of items per page\n          required: false\n          schema:\n            oneOf:\n              - type: integer\n                description: Number of items to return per page\n              - type: string\n                enum: [\"all\"]\n                description: Return all results without pagination\n        - in: query\n          name: query\n          description: Optional string to search a list by name.\n          required: false\n          schema:\n            type: string\n        - in: query\n          name: order_by\n          description: Field to sort results by. name|status|created_at|updated_at\n          required: false\n          schema:\n            type: string\n            enum: [\"name\", \"status\", \"created_at\", \"updated_at\"]\n        - in: query\n          name: order\n          description: ASC|DESC Sort by ascending or descending order.\n          required: false\n          schema:\n            type: string\n            enum: [\"ASC\", \"DESC\"]\n        - in: query\n          name: minimal\n          description: When set to true, returns response without body content\n          required: false\n          schema:\n            type: boolean\n        - in: query\n          name: tag\n          description: Tags to filter lists. Repeat in the query for multiple values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n      responses:\n        \"200\":\n          description: list of metadata\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      results:\n                        type: array\n                        items:\n                          $ref: \"#/components/schemas/List\"\n                      total:\n                        type: integer\n                      per_page:\n                        type: integer\n                      page:\n                        type: integer\n\n    post:\n      description: handles list creation\n      operationId: createList\n      tags:\n        - Lists\n      requestBody:\n        description: new list info\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/NewList\"\n      responses:\n        \"200\":\n          description: updated list object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/List\"\n\n  \"/lists/{list_id}\":\n    get:\n      description: retrieves lists with additional metadata like subscriber counts. This may be slow.\n      operationId: getListById\n      tags:\n        - Lists\n      parameters:\n        - in: path\n          name: list_id\n          required: true\n          description: The id value of the list you want to retreive.\n          schema:\n            type: integer\n\n      responses:\n        \"200\":\n          description: list object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/List\"\n    put:\n      description: handles list modification\n      operationId: updateListById\n      tags:\n        - Lists\n      parameters:\n        - in: path\n          name: list_id\n          required: true\n          description: The id value of the list you want to update\n          schema:\n            type: integer\n      requestBody:\n        description: updated list field values\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/List\"\n      responses:\n        \"200\":\n          description: updated list object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/List\"\n    delete:\n      description: handles list deletion, either a single one (ID in the URI), or a list.\n      operationId: deleteListById\n      tags:\n        - Lists\n      parameters:\n        - in: path\n          name: list_id\n          required: true\n          description: The id value of the lists you want to delete.\n          schema:\n            type: integer\n\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /import/subscribers:\n    get:\n      description: returns import status.\n      operationId: getImportSubscribers\n      tags:\n        - Import\n      responses:\n        \"200\":\n          description: import status\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/ImportStatus\"\n\n    post:\n      description: handles the uploading and bulk importing of a ZIP file of one or more CSV files.\n      operationId: importSubscribers\n      tags:\n        - Import\n      requestBody:\n        description: uploads and bulk imports of compressed CSV files\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                params:\n                  type: string\n                  description: JSON string containing import parameters for more detail https://listmonk.app/docs/apis/import/#params-json-string\n                  example: '{\"mode\":\"subscribe\", \"subscription_status\":\"confirmed\", \"delim\":\",\", \"lists\":[1, 2], \"overwrite\": true}'\n                file:\n                  type: string\n                  format: binary\n                  description: File for upload.\n      responses:\n        \"200\":\n          description: updated import status\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/ImportStatus\"\n\n    delete:\n      description: sends a stop signal to the importer.\n      operationId: stopImportSubscribers\n      tags:\n        - Import\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/ImportStatus\"\n\n  /import/subscribers/logs:\n    get:\n      description: returns import logs from an ongoing import\n      operationId: getImportSubscriberLogs\n      tags:\n        - Import\n      responses:\n        \"200\":\n          description: import statistics\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: string\n\n  /campaigns:\n    get:\n      description: handles retrieval of campaigns\n      operationId: getCampaigns\n      parameters:\n        - in: query\n          name: status\n          description: Filter campaigns by status. Multiple status values can be specified by repeating the parameter\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              enum: [\"scheduled\", \"running\", \"paused\", \"cancelled\"]\n        - in: query\n          name: no_body\n          description: When set to true, returns response without body content\n          required: false\n          schema:\n            type: boolean\n        - in: query\n          name: page\n          description: Page number for paginated results.\n          required: false\n          schema:\n            type: integer\n        - in: query\n          name: per_page\n          description: Number of items per page. Use an integer for specific page size or 'all' to retrieve all results\n          required: false\n          schema:\n            oneOf:\n              - type: integer\n                description: Number of items to return per page\n              - type: string\n                enum: [\"all\"]\n                description: Return all results without pagination\n        - in: query\n          name: tags\n          description: Filter campaigns by tags. Multiple tags can be specified by repeating the parameter\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n        - in: query\n          name: order\n          description: Determines the sort order of results. ASC for ascending, DESC for descending order\n          required: false\n          schema:\n            type: string\n            enum: [\"ASC\", \"DESC\"]\n        - in: query\n          name: order_by\n          description: Specifies the field by which to sort the campaigns. Available options are 'name', 'status', 'created_at', and 'updated_at'\n          required: false\n          schema:\n            type: string\n            enum: [\"name\", \"status\", \"created_at\", \"updated_at\"]\n        - in: query\n          name: query\n          description: SQL query expression to filter campaigns by custom criteria\n          required: false\n          schema:\n            type: string\n      tags:\n        - Campaigns\n      responses:\n        \"200\":\n          description: list of campaigns\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      results:\n                        type: array\n                        items:\n                          $ref: \"#/components/schemas/Campaign\"\n                      query:\n                        type: string\n                      total:\n                        type: integer\n                      per_page:\n                        type: integer\n                      page:\n                        type: integer\n\n    post:\n      description: handles campaign creation\n      operationId: createCampaign\n      tags:\n        - Campaigns\n      requestBody:\n        description: new campaign info\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/CampaignRequest\"\n\n      responses:\n        \"200\":\n          description: new campaign object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/CampaignUpdate\"\n\n  \"/campaigns/{id}\":\n    get:\n      description: handles retrieval of campaigns.\n      operationId: getCampaignById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get.\n          schema:\n            type: integer\n        - in: query\n          name: no_body\n          required: false\n          description: boolean flag for response with/without body\n          schema:\n            type: boolean\n      responses:\n        \"200\":\n          description: campaign object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Campaign\"\n\n    put:\n      description: handle updation of campaign\n      operationId: updateCampaignById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: the id value of campaign you want to update\n          schema:\n            type: integer\n      requestBody:\n        description: updated campaign fields\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/CampaignRequest\"\n      responses:\n        \"200\":\n          description: updated campaign object\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/CampaignUpdate\"\n\n    delete:\n      description: deletes specified campaign\n      operationId: deleteCampaignById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get.\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /campaigns/running/stats:\n    get:\n      description: returns stats of a given set of campaign IDs.\n      operationId: getRunningCampaignStats\n      tags:\n        - Campaigns\n      parameters:\n        - in: query\n          name: campaign_id\n          description: Campaign IDs to get stats for.\n          required: true\n          schema:\n            type: number\n      responses:\n        \"200\":\n          description: list of stats for given set of campaign ids\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      $ref: \"#/components/schemas/CampaignStats\"\n\n  \"/campaigns/analytics/{type}\":\n    get:\n      description: retrieves view counts for a campaign.\n      operationId: getCampaignAnalytics\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          required: true\n          name: type\n          description: type of stats, either links, view, click or bounce\n          schema:\n            type: string\n            enum: [links, views, clicks, bounces]\n        - in: query\n          required: true\n          name: from\n          description: start value of date range\n          schema:\n            type: string\n            format: date\n        - in: query\n          required: true\n          name: to\n          description: end value of date range\n          schema:\n            type: string\n        - in: query\n          name: id\n          description: campaign id/s to retrive view counts\n          required: true\n          schema:\n            type: string\n      responses:\n        \"200\":\n          description: list of stats for given set of campaign ids\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      $ref: \"#/components/schemas/CampaignAnalyticsCount\"\n\n  \"/campaigns/{id}/preview\":\n    get:\n      description: renders the HTML preview of a campaign body\n      operationId: previewCampaignById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get the preview of\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: HTML Preview of requested campaign\n          content:\n            text/html:\n              schema:\n                type: string\n                example: <h3>Hi John!</h3>This is a   e-mail campaign. Your second name is Doe and you are from Bengaluru\n\n    post:\n      description: renders the HTML preview of a campaign body\n      operationId: updatePreviewCampaignById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get the preview of\n          schema:\n            type: integer\n      requestBody:\n        required: true\n        description: template id, body and content type\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                template_id:\n                  description: template id\n                  type: integer\n                content_type:\n                  description: content type\n                  type: string\n                body:\n                  description: template body\n                  type: string\n      responses:\n        \"200\":\n          description: HTML Preview of requested campaign\n          content:\n            text/html:\n              schema:\n                type: string\n                example: <h3>Hi John!</h3>This is a   e-mail campaign. Your second name is Doe and you are from Bengaluru\n\n  \"/campaigns/{id}/text\":\n    post:\n      description: renders the HTML preview of a campaign body\n      operationId: previewCampaignTextById\n      tags:\n        - Campaigns\n      requestBody:\n        required: true\n        description: template id, content type and campaign body\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                template_id:\n                  description: template id\n                  type: integer\n                content_type:\n                  description: content type\n                  type: string\n                body:\n                  description: campaign body\n                  type: string\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get the preview of\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: response\n          content:\n            text/html:\n              schema:\n                type: string\n                example: <h3>Hi John!</h3><p>This is a test e-mail campaign. Your second name is Doe and you are from Bengaluru</p>\n\n  \"/campaigns/{id}/status\":\n    put:\n      description: handles campaign status modification\n      operationId: updateCampaignStatusById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get the preview of\n          schema:\n            type: integer\n      requestBody:\n        description: campaign status update\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                status:\n                  type: string\n                  enum: [scheduled, running, paused, cancelled]\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Campaign\"\n\n  \"/campaigns/{id}/archive\":\n    put:\n      description: handles campaign status modification\n      operationId: updateCampaignArchiveById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the campaign you want to get the preview of\n          schema:\n            type: integer\n      requestBody:\n        description: archive campaign related parameters\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                archive:\n                  type: boolean\n                archive_template_id:\n                  type: integer\n                archive_meta:\n                  type: object\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/campaigns/{id}/content\":\n    post:\n      description: handles campaign content (body) format conversions.\n      operationId: createCampaignContentById\n      tags:\n        - Campaigns\n      requestBody:\n        description: updated campaign content\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/CampaignContentRequest\"\n      parameters:\n        - in: path\n          name: id\n          description: ID of campaign that you choose to create content\n          required: true\n          schema:\n            type: integer\n\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: string\n\n  \"/campaigns/{id}/test\":\n    post:\n      description: handles sending of campaign message to arbitrary subscribers for testing\n      operationId: testCampaignById\n      tags:\n        - Campaigns\n      parameters:\n        - in: path\n          name: id\n          description: ID of campaign that you want to test\n          required: true\n          schema:\n            type: integer\n      requestBody:\n        required: true\n        description: template id\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                template_id:\n                  description: template id\n                  type: integer\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/CampaignRequest\"\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/media\":\n    get:\n      description: handles retrieval of uploaded media.\n      operationId: getMedia\n      tags:\n        - Media\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      $ref: \"#/components/schemas/MediaFileObject\"\n    post:\n      description: handles media file uploads.\n      operationId: uploadMedia\n      tags:\n        - Media\n      requestBody:\n        description: upload media file\n        content:\n          multipart/form-data:\n            schema:\n              type: string\n              format: binary\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/MediaFileObject\"\n\n  \"/media/{id}\":\n    get:\n      description: handles retrieval of uploaded media.\n      operationId: getMediaById\n      tags:\n        - Media\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: media file id\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/MediaFileObject\"\n\n    delete:\n      description: handles deletion of uploaded media.\n      operationId: deleteMediaById\n      tags:\n        - Media\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the list you want to delete.\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /templates:\n    get:\n      description: handles retrieval of templates\n      operationId: getTemplates\n      tags:\n        - Templates\n      parameters:\n        - in: query\n          name: no_body\n          description: boolean flag for response with/without body\n          required: true\n          schema:\n            type: boolean\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      $ref: \"#/components/schemas/Template\"\n    post:\n      description: handles template creation\n      operationId: createTemplate\n      tags:\n        - Templates\n      requestBody:\n        description: new template info\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/NewTemplate\"\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Template\"\n\n  \"/templates/{id}\":\n    get:\n      description: handles retrieval of templates\n      operationId: getTemplateById\n      tags:\n        - Templates\n      parameters:\n        - in: path\n          name: id\n          required: true\n          schema:\n            type: integer\n          description: The id value of the template you want to get.\n        - in: query\n          name: no_body\n          description: boolean flag for response with/without body\n          required: false\n          schema:\n            type: boolean\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Template\"\n    put:\n      description: handles template modification\n      operationId: updateTemplateById\n      tags:\n        - Templates\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the template you want to update.\n          schema:\n            type: integer\n      requestBody:\n        description: updated template info\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/UpdateTemplate\"\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    $ref: \"#/components/schemas/Template\"\n    delete:\n      description: handles deletion of templates\n      operationId: deleteTemplateById\n      tags:\n        - Templates\n\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the template you want to delete.\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  /templates/preview:\n    post:\n      description: get the HTML preview of a template.\n      operationId: previewTemplate\n      tags:\n        - Templates\n      requestBody:\n        required: true\n        description: template parameters\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                template_type:\n                  description: type of template\n                  type: string\n                body:\n                  description: template body\n                  type: string\n      responses:\n        \"200\":\n          description: response\n          content:\n            text/html:\n              schema:\n                type: string\n                example: <p>Hi there</p>\n\n  \"/templates/{id}/preview\":\n    get:\n      description: renders the HTML preview of a template.\n      operationId: previewTemplateById\n      tags:\n        - Templates\n      requestBody:\n        description: template parameters\n        required: true\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                template_type:\n                  description: type of template\n                  type: string\n                body:\n                  description: template body\n                  type: string\n      parameters:\n        - in: path\n          name: id\n          required: true\n          schema:\n            type: integer\n          description: The id value of the template you want to get.\n      responses:\n        \"200\":\n          description: response\n          content:\n            text/html:\n              schema:\n                type: string\n                example: <p>Hi there</p>\n\n  \"/templates/{id}/default\":\n    put:\n      description: handles template modification.\n      operationId: setDefaultTemplateById\n      tags:\n        - Templates\n      parameters:\n        - in: path\n          name: id\n          required: true\n          description: The id value of the template you want to set to the default template.\n          schema:\n            type: integer\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/Template\"\n\n  /tx:\n    post:\n      tags:\n        - Transactional\n      description: send message to a subscriber\n      operationId: transactWithSubscriber\n      requestBody:\n        description: email message to a subscriber\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/TransactionalMessage\"\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/maintenance/subscribers/{type}\":\n    delete:\n      description: garbage collects (deletes) orphaned or blocklisted subscribers.\n      operationId: deleteGCSubscribers\n      tags:\n        - Maintenance\n      parameters:\n        - in: path\n          name: type\n          description: type of GC collected subscribers\n          schema:\n            type: string\n          required: true\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      count:\n                        type: integer\n\n  \"/maintenance/analytics/{type}\":\n    delete:\n      description: garbage collects (deletes) campaign analytics.\n      operationId: deleteCampaignAnalyticsByType\n      tags:\n        - Maintenance\n      requestBody:\n        description: date parameter\n        required: true\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                before_date:\n                  type: string\n                  format: date\n      parameters:\n        - in: path\n          name: type\n          description: type of GC collected subscribers\n          schema:\n            type: string\n          required: true\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: boolean\n\n  \"/maintenance/subscriptions/unconfirmed\":\n    delete:\n      description: garbage collects (deletes) orphaned or blocklisted subscribers.\n      operationId: deleteUnconfirmedSubscriptions\n      tags:\n        - Maintenance\n      requestBody:\n        required: true\n        description: date parameter\n        content:\n          application/x-www-form-urlencoded:\n            schema:\n              type: object\n              properties:\n                before_date:\n                  type: string\n                  format: date\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      count:\n                        type: integer\n\n  \"/public/lists\":\n    get:\n      description: returns the list of public lists with minimal fields\n      operationId: getPublicLists\n      tags:\n        - Public\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: array\n                items:\n                  type: object\n                  properties:\n                    uuid:\n                      type: string\n                    name:\n                      type: string\n\n  \"/public/subscription\":\n    post:\n      description: handles subscription requests coming from public API calls.\n      operationId: handlePublicSubscription\n      tags:\n        - Public\n      requestBody:\n        description: subscription request parameters\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                email:\n                  type: string\n                list_uuids:\n                  type: array\n                  items:\n                    type: string\n\n      responses:\n        \"200\":\n          description: response\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  has_optin:\n                    type: boolean\n\ncomponents:\n  schemas:\n    LanguagePack:\n      type: object\n      properties:\n        data:\n          type: object\n          properties:\n            _.code:\n              type: string\n            _.name:\n              type: string\n            admin.errorMarshallingConfig:\n              type: string\n            analytics.count:\n              type: string\n            analytics.fromDate:\n              type: string\n            analytics.invalidDates:\n              type: string\n            analytics.isUnique:\n              type: string\n            analytics.links:\n              type: string\n            analytics.nonUnique:\n              type: string\n            analytics.title:\n              type: string\n            analytics.toDate:\n              type: string\n            bounces.numSelected:\n              type: string\n            bounces.selectAll:\n              type: string\n            bounces.source:\n              type: string\n            bounces.unknownService:\n              type: string\n            bounces.view:\n              type: string\n            campaigns.addAltText:\n              type: string\n            campaigns.archive:\n              type: string\n            campaigns.archiveEnable:\n              type: string\n            campaigns.archiveHelp:\n              type: string\n            campaigns.archiveMeta:\n              type: string\n            campaigns.archiveMetaHelp:\n              type: string\n            campaigns.cantUpdate:\n              type: string\n            campaigns.clicks:\n              type: string\n            campaigns.confirmDelete:\n              type: string\n            campaigns.confirmSchedule:\n              type: string\n            campaigns.confirmSwitchFormat:\n              type: string\n            campaigns.content:\n              type: string\n            campaigns.contentHelp:\n              type: string\n            campaigns.continue:\n              type: string\n            campaigns.copyOf:\n              type: string\n            campaigns.customHeadersHelp:\n              type: string\n            campaigns.dateAndTime:\n              type: string\n            campaigns.ended:\n              type: string\n            campaigns.errorSendTest:\n              type: string\n            campaigns.fieldInvalidBody:\n              type: string\n            campaigns.fieldInvalidFromEmail:\n              type: string\n            campaigns.fieldInvalidListIDs:\n              type: string\n            campaigns.fieldInvalidMessenger:\n              type: string\n            campaigns.fieldInvalidName:\n              type: string\n            campaigns.fieldInvalidSendAt:\n              type: string\n            campaigns.fieldInvalidSubject:\n              type: string\n            campaigns.formatHTML:\n              type: string\n            campaigns.fromAddress:\n              type: string\n            campaigns.fromAddressPlaceholder:\n              type: string\n            campaigns.invalid:\n              type: string\n            campaigns.invalidCustomHeaders:\n              type: string\n            campaigns.markdown:\n              type: string\n            campaigns.needsSendAt:\n              type: string\n            campaigns.newCampaign:\n              type: string\n            campaigns.noKnownSubsToTest:\n              type: string\n            campaigns.noOptinLists:\n              type: string\n            campaigns.noSubs:\n              type: string\n            campaigns.noSubsToTest:\n              type: string\n            campaigns.notFound:\n              type: string\n            campaigns.onlyActiveCancel:\n              type: string\n            campaigns.onlyActivePause:\n              type: string\n            campaigns.onlyDraftAsScheduled:\n              type: string\n            campaigns.onlyPausedDraft:\n              type: string\n            campaigns.onlyScheduledAsDraft:\n              type: string\n            campaigns.pause:\n              type: string\n            campaigns.plainText:\n              type: string\n            campaigns.preview:\n              type: string\n            campaigns.progress:\n              type: string\n            campaigns.queryPlaceholder:\n              type: string\n            campaigns.rateMinuteShort:\n              type: string\n            campaigns.rawHTML:\n              type: string\n            campaigns.removeAltText:\n              type: string\n            campaigns.richText:\n              type: string\n            campaigns.schedule:\n              type: string\n            campaigns.scheduled:\n              type: string\n            campaigns.send:\n              type: string\n            campaigns.sendLater:\n              type: string\n            campaigns.sendTest:\n              type: string\n            campaigns.sendTestHelp:\n              type: string\n            campaigns.sendToLists:\n              type: string\n            campaigns.sent:\n              type: string\n            campaigns.start:\n              type: string\n            campaigns.started:\n              type: string\n            campaigns.startedAt:\n              type: string\n            campaigns.stats:\n              type: string\n            campaigns.status.cancelled:\n              type: string\n            campaigns.status.draft:\n              type: string\n            campaigns.status.finished:\n              type: string\n            campaigns.status.paused:\n              type: string\n            campaigns.status.running:\n              type: string\n            campaigns.status.scheduled:\n              type: string\n            campaigns.statusChanged:\n              type: string\n            campaigns.subject:\n              type: string\n            campaigns.testEmails:\n              type: string\n            campaigns.testSent:\n              type: string\n            campaigns.timestamps:\n              type: string\n            campaigns.trackLink:\n              type: string\n            campaigns.views:\n              type: string\n            dashboard.campaignViews:\n              type: string\n            dashboard.linkClicks:\n              type: string\n            dashboard.messagesSent:\n              type: string\n            dashboard.orphanSubs:\n              type: string\n            email.data.info:\n              type: string\n            email.data.title:\n              type: string\n            email.optin.confirmSub:\n              type: string\n            email.optin.confirmSubHelp:\n              type: string\n            email.optin.confirmSubInfo:\n              type: string\n            email.optin.confirmSubTitle:\n              type: string\n            email.optin.confirmSubWelcome:\n              type: string\n            email.optin.privateList:\n              type: string\n            email.status.campaignReason:\n              type: string\n            email.status.campaignSent:\n              type: string\n            email.status.campaignUpdateTitle:\n              type: string\n            email.status.importFile:\n              type: string\n            email.status.importRecords:\n              type: string\n            email.status.importTitle:\n              type: string\n            email.status.status:\n              type: string\n            email.unsub:\n              type: string\n            email.unsubHelp:\n              type: string\n            email.viewInBrowser:\n              type: string\n            forms.formHTML:\n              type: string\n            forms.formHTMLHelp:\n              type: string\n            forms.noPublicLists:\n              type: string\n            forms.publicLists:\n              type: string\n            forms.publicSubPage:\n              type: string\n            forms.selectHelp:\n              type: string\n            forms.title:\n              type: string\n            globals.buttons.add:\n              type: string\n            globals.buttons.addNew:\n              type: string\n            globals.buttons.back:\n              type: string\n            globals.buttons.cancel:\n              type: string\n            globals.buttons.clone:\n              type: string\n            globals.buttons.close:\n              type: string\n            globals.buttons.continue:\n              type: string\n            globals.buttons.delete:\n              type: string\n            globals.buttons.deleteAll:\n              type: string\n            globals.buttons.edit:\n              type: string\n            globals.buttons.enabled:\n              type: string\n            globals.buttons.insert:\n              type: string\n            globals.buttons.learnMore:\n              type: string\n            globals.buttons.more:\n              type: string\n            globals.buttons.new:\n              type: string\n            globals.buttons.ok:\n              type: string\n            globals.buttons.remove:\n              type: string\n            globals.buttons.save:\n              type: string\n            globals.buttons.saveChanges:\n              type: string\n            globals.days.0:\n              type: string\n            globals.days.1:\n              type: string\n            globals.days.2:\n              type: string\n            globals.days.3:\n              type: string\n            globals.days.4:\n              type: string\n            globals.days.5:\n              type: string\n            globals.days.6:\n              type: string\n            globals.days.7:\n              type: string\n            globals.fields.createdAt:\n              type: string\n            globals.fields.description:\n              type: string\n            globals.fields.id:\n              type: string\n            globals.fields.name:\n              type: string\n            globals.fields.status:\n              type: string\n            globals.fields.type:\n              type: string\n            globals.fields.updatedAt:\n              type: string\n            globals.fields.uuid:\n              type: string\n            globals.messages.confirm:\n              type: string\n            globals.messages.confirmDiscard:\n              type: string\n            globals.messages.created:\n              type: string\n            globals.messages.deleted:\n              type: string\n            globals.messages.deletedCount:\n              type: string\n            globals.messages.done:\n              type: string\n            globals.messages.emptyState:\n              type: string\n            globals.messages.errorCreating:\n              type: string\n            globals.messages.errorDeleting:\n              type: string\n            globals.messages.errorFetching:\n              type: string\n            globals.messages.errorInvalidIDs:\n              type: string\n            globals.messages.errorUUID:\n              type: string\n            globals.messages.errorUpdating:\n              type: string\n            globals.messages.internalError:\n              type: string\n            globals.messages.invalidData:\n              type: string\n            globals.messages.invalidID:\n              type: string\n            globals.messages.invalidUUID:\n              type: string\n            globals.messages.missingFields:\n              type: string\n            globals.messages.notFound:\n              type: string\n            globals.messages.passwordChange:\n              type: string\n            globals.messages.updated:\n              type: string\n            globals.months.1:\n              type: string\n            globals.months.10:\n              type: string\n            globals.months.11:\n              type: string\n            globals.months.12:\n              type: string\n            globals.months.2:\n              type: string\n            globals.months.3:\n              type: string\n            globals.months.4:\n              type: string\n            globals.months.5:\n              type: string\n            globals.months.6:\n              type: string\n            globals.months.7:\n              type: string\n            globals.months.8:\n              type: string\n            globals.months.9:\n              type: string\n            globals.states.off:\n              type: string\n            globals.terms.all:\n              type: string\n            globals.terms.analytics:\n              type: string\n            globals.terms.bounce:\n              type: string\n            globals.terms.bounces:\n              type: string\n            globals.terms.campaign:\n              type: string\n            globals.terms.campaigns:\n              type: string\n            globals.terms.dashboard:\n              type: string\n            globals.terms.day:\n              type: string\n            globals.terms.hour:\n              type: string\n            globals.terms.list:\n              type: string\n            globals.terms.lists:\n              type: string\n            globals.terms.media:\n              type: string\n            globals.terms.messenger:\n              type: string\n            globals.terms.messengers:\n              type: string\n            globals.terms.minute:\n              type: string\n            globals.terms.month:\n              type: string\n            globals.terms.second:\n              type: string\n            globals.terms.settings:\n              type: string\n            globals.terms.subscriber:\n              type: string\n            globals.terms.subscribers:\n              type: string\n            globals.terms.subscriptions:\n              type: string\n            globals.terms.tag:\n              type: string\n            globals.terms.tags:\n              type: string\n            globals.terms.template:\n              type: string\n            globals.terms.templates:\n              type: string\n            globals.terms.tx:\n              type: string\n            globals.terms.year:\n              type: string\n            import.alreadyRunning:\n              type: string\n            import.blocklist:\n              type: string\n            import.csvDelim:\n              type: string\n            import.csvDelimHelp:\n              type: string\n            import.csvExample:\n              type: string\n            import.csvFile:\n              type: string\n            import.csvFileHelp:\n              type: string\n            import.errorCopyingFile:\n              type: string\n            import.errorProcessingZIP:\n              type: string\n            import.errorStarting:\n              type: string\n            import.importDone:\n              type: string\n            import.importStarted:\n              type: string\n            import.instructions:\n              type: string\n            import.instructionsHelp:\n              type: string\n            import.invalidDelim:\n              type: string\n            import.invalidFile:\n              type: string\n            import.invalidMode:\n              type: string\n            import.invalidParams:\n              type: string\n            import.invalidSubStatus:\n              type: string\n            import.listSubHelp:\n              type: string\n            import.mode:\n              type: string\n            import.overwrite:\n              type: string\n            import.overwriteHelp:\n              type: string\n            import.recordsCount:\n              type: string\n            import.stopImport:\n              type: string\n            import.subscribe:\n              type: string\n            import.subscribeWarning:\n              type: string\n            import.title:\n              type: string\n            import.upload:\n              type: string\n            lists.confirmDelete:\n              type: string\n            lists.confirmSub:\n              type: string\n            lists.invalidName:\n              type: string\n            lists.newList:\n              type: string\n            lists.optin:\n              type: string\n            lists.optinHelp:\n              type: string\n            lists.optinTo:\n              type: string\n            lists.optins.double:\n              type: string\n            lists.optins.single:\n              type: string\n            lists.sendCampaign:\n              type: string\n            lists.sendOptinCampaign:\n              type: string\n            lists.type:\n              type: string\n            lists.typeHelp:\n              type: string\n            lists.types.private:\n              type: string\n            lists.types.public:\n              type: string\n            logs.title:\n              type: string\n            maintenance.help:\n              type: string\n            maintenance.maintenance.unconfirmedOptins:\n              type: string\n            maintenance.olderThan:\n              type: string\n            maintenance.title:\n              type: string\n            maintenance.unconfirmedSubs:\n              type: string\n            media.errorReadingFile:\n              type: string\n            media.errorResizing:\n              type: string\n            media.errorSavingThumbnail:\n              type: string\n            media.errorUploading:\n              type: string\n            media.invalidFile:\n              type: string\n            media.title:\n              type: string\n            media.unsupportedFileType:\n              type: string\n            media.upload:\n              type: string\n            media.uploadHelp:\n              type: string\n            media.uploadImage:\n              type: string\n            menu.allCampaigns:\n              type: string\n            menu.allLists:\n              type: string\n            menu.allSubscribers:\n              type: string\n            menu.dashboard:\n              type: string\n            menu.forms:\n              type: string\n            menu.import:\n              type: string\n            menu.logs:\n              type: string\n            menu.maintenance:\n              type: string\n            menu.media:\n              type: string\n            menu.newCampaign:\n              type: string\n            menu.settings:\n              type: string\n            public.archiveEmpty:\n              type: string\n            public.archiveTitle:\n              type: string\n            public.blocklisted:\n              type: string\n            public.campaignNotFound:\n              type: string\n            public.confirmOptinSubTitle:\n              type: string\n            public.confirmSub:\n              type: string\n            public.confirmSubInfo:\n              type: string\n            public.confirmSubTitle:\n              type: string\n            public.dataRemoved:\n              type: string\n            public.dataRemovedTitle:\n              type: string\n            public.dataSent:\n              type: string\n            public.dataSentTitle:\n              type: string\n            public.errorFetchingCampaign:\n              type: string\n            public.errorFetchingEmail:\n              type: string\n            public.errorFetchingLists:\n              type: string\n            public.errorProcessingRequest:\n              type: string\n            public.errorTitle:\n              type: string\n            public.invalidFeature:\n              type: string\n            public.invalidLink:\n              type: string\n            public.managePrefs:\n              type: string\n            public.managePrefsUnsub:\n              type: string\n            public.noListsAvailable:\n              type: string\n            public.noListsSelected:\n              type: string\n            public.noSubInfo:\n              type: string\n            public.noSubTitle:\n              type: string\n            public.notFoundTitle:\n              type: string\n            public.prefsSaved:\n              type: string\n            public.privacyConfirmWipe:\n              type: string\n            public.privacyExport:\n              type: string\n            public.privacyExportHelp:\n              type: string\n            public.privacyTitle:\n              type: string\n            public.privacyWipe:\n              type: string\n            public.privacyWipeHelp:\n              type: string\n            public.sub:\n              type: string\n            public.subConfirmed:\n              type: string\n            public.subConfirmedTitle:\n              type: string\n            public.subName:\n              type: string\n            public.subNotFound:\n              type: string\n            public.subOptinPending:\n              type: string\n            public.subPrivateList:\n              type: string\n            public.subTitle:\n              type: string\n            public.unsub:\n              type: string\n            public.unsubFull:\n              type: string\n            public.unsubHelp:\n              type: string\n            public.unsubTitle:\n              type: string\n            public.unsubbedInfo:\n              type: string\n            public.unsubbedTitle:\n              type: string\n            public.unsubscribeTitle:\n              type: string\n            settings.appearance.adminHelp:\n              type: string\n            settings.appearance.adminName:\n              type: string\n            settings.appearance.customCSS:\n              type: string\n            settings.appearance.customJS:\n              type: string\n            settings.appearance.name:\n              type: string\n            settings.appearance.publicHelp:\n              type: string\n            settings.appearance.publicName:\n              type: string\n            settings.bounces.action:\n              type: string\n            settings.bounces.blocklist:\n              type: string\n            settings.bounces.count:\n              type: string\n            settings.bounces.countHelp:\n              type: string\n            settings.bounces.delete:\n              type: string\n            settings.bounces.enable:\n              type: string\n            settings.bounces.enableMailbox:\n              type: string\n            settings.bounces.enableSES:\n              type: string\n            settings.bounces.enableSendgrid:\n              type: string\n            settings.bounces.enableForwardemail:\n              type: string\n            settings.bounces.enablePostmark:\n              type: string\n            settings.bounces.enableWebhooks:\n              type: string\n            settings.bounces.enabled:\n              type: string\n            settings.bounces.folder:\n              type: string\n            settings.bounces.folderHelp:\n              type: string\n            settings.bounces.invalidScanInterval:\n              type: string\n            settings.bounces.name:\n              type: string\n            settings.bounces.scanInterval:\n              type: string\n            settings.bounces.scanIntervalHelp:\n              type: string\n            settings.bounces.sendgridKey:\n              type: string\n            settings.bounces.forwardemailKey:\n              type: string\n            settings.bounces.postmarkUsername:\n              type: string\n            settings.bounces.postmarkUsernameHelp:\n              type: string\n            settings.bounces.postmarkPassword:\n              type: string\n            settings.bounces.type:\n              type: string\n            settings.bounces.username:\n              type: string\n            settings.confirmRestart:\n              type: string\n            settings.duplicateMessengerName:\n              type: string\n            settings.errorEncoding:\n              type: string\n            settings.errorNoSMTP:\n              type: string\n            settings.general.adminNotifEmails:\n              type: string\n            settings.general.adminNotifEmailsHelp:\n              type: string\n            settings.general.checkUpdates:\n              type: string\n            settings.general.checkUpdatesHelp:\n              type: string\n            settings.general.enablePublicArchive:\n              type: string\n            settings.general.enablePublicArchiveHelp:\n              type: string\n            settings.general.enablePublicSubPage:\n              type: string\n            settings.general.enablePublicSubPageHelp:\n              type: string\n            settings.general.faviconURL:\n              type: string\n            settings.general.faviconURLHelp:\n              type: string\n            settings.general.fromEmail:\n              type: string\n            settings.general.fromEmailHelp:\n              type: string\n            settings.general.language:\n              type: string\n            settings.general.logoURL:\n              type: string\n            settings.general.logoURLHelp:\n              type: string\n            settings.general.name:\n              type: string\n            settings.general.rootURL:\n              type: string\n            settings.general.rootURLHelp:\n              type: string\n            settings.general.sendOptinConfirm:\n              type: string\n            settings.general.sendOptinConfirmHelp:\n              type: string\n            settings.general.siteName:\n              type: string\n            settings.invalidMessengerName:\n              type: string\n            settings.mailserver.authProtocol:\n              type: string\n            settings.mailserver.name:\n              type: string\n            settings.mailserver.nameHelp:\n              type: string\n            settings.mailserver.host:\n              type: string\n            settings.mailserver.hostHelp:\n              type: string\n            settings.mailserver.idleTimeout:\n              type: string\n            settings.mailserver.idleTimeoutHelp:\n              type: string\n            settings.mailserver.maxConns:\n              type: string\n            settings.mailserver.maxConnsHelp:\n              type: string\n            settings.mailserver.password:\n              type: string\n            settings.mailserver.passwordHelp:\n              type: string\n            settings.mailserver.port:\n              type: string\n            settings.mailserver.portHelp:\n              type: string\n            settings.mailserver.skipTLS:\n              type: string\n            settings.mailserver.skipTLSHelp:\n              type: string\n            settings.mailserver.tls:\n              type: string\n            settings.mailserver.tlsHelp:\n              type: string\n            settings.mailserver.username:\n              type: string\n            settings.mailserver.waitTimeout:\n              type: string\n            settings.mailserver.waitTimeoutHelp:\n              type: string\n            settings.media.provider:\n              type: string\n            settings.media.s3.bucket:\n              type: string\n            settings.media.s3.bucketPath:\n              type: string\n            settings.media.s3.bucketPathHelp:\n              type: string\n            settings.media.s3.bucketType:\n              type: string\n            settings.media.s3.bucketTypePrivate:\n              type: string\n            settings.media.s3.bucketTypePublic:\n              type: string\n            settings.media.s3.key:\n              type: string\n            settings.media.s3.publicURL:\n              type: string\n            settings.media.s3.publicURLHelp:\n              type: string\n            settings.media.s3.region:\n              type: string\n            settings.media.s3.secret:\n              type: string\n            settings.media.s3.uploadExpiry:\n              type: string\n            settings.media.s3.uploadExpiryHelp:\n              type: string\n            settings.media.s3.url:\n              type: string\n            settings.media.s3.urlHelp:\n              type: string\n            settings.media.title:\n              type: string\n            settings.media.upload.path:\n              type: string\n            settings.media.upload.pathHelp:\n              type: string\n            settings.media.upload.uri:\n              type: string\n            settings.media.upload.uriHelp:\n              type: string\n            settings.messengers.maxConns:\n              type: string\n            settings.messengers.maxConnsHelp:\n              type: string\n            settings.messengers.messageSaved:\n              type: string\n            settings.messengers.name:\n              type: string\n            settings.messengers.nameHelp:\n              type: string\n            settings.messengers.password:\n              type: string\n            settings.messengers.retries:\n              type: string\n            settings.messengers.retriesHelp:\n              type: string\n            settings.messengers.skipTLSHelp:\n              type: string\n            settings.messengers.timeout:\n              type: string\n            settings.messengers.timeoutHelp:\n              type: string\n            settings.messengers.url:\n              type: string\n            settings.messengers.urlHelp:\n              type: string\n            settings.messengers.username:\n              type: string\n            settings.needsRestart:\n              type: string\n            settings.performance.batchSize:\n              type: string\n            settings.performance.batchSizeHelp:\n              type: string\n            settings.performance.concurrency:\n              type: string\n            settings.performance.concurrencyHelp:\n              type: string\n            settings.performance.maxErrThreshold:\n              type: string\n            settings.performance.maxErrThresholdHelp:\n              type: string\n            settings.performance.messageRate:\n              type: string\n            settings.performance.messageRateHelp:\n              type: string\n            settings.performance.name:\n              type: string\n            settings.performance.slidingWindow:\n              type: string\n            settings.performance.slidingWindowDuration:\n              type: string\n            settings.performance.slidingWindowDurationHelp:\n              type: string\n            settings.performance.slidingWindowHelp:\n              type: string\n            settings.performance.slidingWindowRate:\n              type: string\n            settings.performance.slidingWindowRateHelp:\n              type: string\n            settings.privacy.allowBlocklist:\n              type: string\n            settings.privacy.allowBlocklistHelp:\n              type: string\n            settings.privacy.allowExport:\n              type: string\n            settings.privacy.allowExportHelp:\n              type: string\n            settings.privacy.allowPrefs:\n              type: string\n            settings.privacy.allowPrefsHelp:\n              type: string\n            settings.privacy.allowWipe:\n              type: string\n            settings.privacy.allowWipeHelp:\n              type: string\n            settings.privacy.domainBlocklist:\n              type: string\n            settings.privacy.domainBlocklistHelp:\n              type: string\n            settings.privacy.individualSubTracking:\n              type: string\n            settings.privacy.individualSubTrackingHelp:\n              type: string\n            settings.privacy.listUnsubHeader:\n              type: string\n            settings.privacy.listUnsubHeaderHelp:\n              type: string\n            settings.privacy.name:\n              type: string\n            settings.restart:\n              type: string\n            settings.smtp.customHeaders:\n              type: string\n            settings.smtp.customHeadersHelp:\n              type: string\n            settings.smtp.enabled:\n              type: string\n            settings.smtp.heloHost:\n              type: string\n            settings.smtp.heloHostHelp:\n              type: string\n            settings.smtp.name:\n              type: string\n            settings.smtp.retries:\n              type: string\n            settings.smtp.retriesHelp:\n              type: string\n            settings.smtp.sendTest:\n              type: string\n            settings.smtp.setCustomHeaders:\n              type: string\n            settings.smtp.testConnection:\n              type: string\n            settings.smtp.testEnterEmail:\n              type: string\n            settings.smtp.toEmail:\n              type: string\n            settings.title:\n              type: string\n            settings.updateAvailable:\n              type: string\n            subscribers.advancedQuery:\n              type: string\n            subscribers.advancedQueryHelp:\n              type: string\n            subscribers.attribs:\n              type: string\n            subscribers.attribsHelp:\n              type: string\n            subscribers.blocklistedHelp:\n              type: string\n            subscribers.confirmBlocklist:\n              type: string\n            subscribers.confirmDelete:\n              type: string\n            subscribers.confirmExport:\n              type: string\n            subscribers.domainBlocklisted:\n              type: string\n            subscribers.downloadData:\n              type: string\n            subscribers.email:\n              type: string\n            subscribers.emailExists:\n              type: string\n            subscribers.errorBlocklisting:\n              type: string\n            subscribers.errorNoIDs:\n              type: string\n            subscribers.errorNoListsGiven:\n              type: string\n            subscribers.errorPreparingQuery:\n              type: string\n            subscribers.errorSendingOptin:\n              type: string\n            subscribers.export:\n              type: string\n            subscribers.invalidAction:\n              type: string\n            subscribers.invalidEmail:\n              type: string\n            subscribers.invalidJSON:\n              type: string\n            subscribers.invalidName:\n              type: string\n            subscribers.listChangeApplied:\n              type: string\n            subscribers.lists:\n              type: string\n            subscribers.listsHelp:\n              type: string\n            subscribers.listsPlaceholder:\n              type: string\n            subscribers.manageLists:\n              type: string\n            subscribers.markUnsubscribed:\n              type: string\n            subscribers.newSubscriber:\n              type: string\n            subscribers.numSelected:\n              type: string\n            subscribers.optinSubject:\n              type: string\n            subscribers.preconfirm:\n              type: string\n            subscribers.preconfirmHelp:\n              type: string\n            subscribers.query:\n              type: string\n            subscribers.queryPlaceholder:\n              type: string\n            subscribers.reset:\n              type: string\n            subscribers.selectAll:\n              type: string\n            subscribers.sendOptinConfirm:\n              type: string\n            subscribers.sentOptinConfirm:\n              type: string\n            subscribers.status.blocklisted:\n              type: string\n            subscribers.status.confirmed:\n              type: string\n            subscribers.status.enabled:\n              type: string\n            subscribers.status.subscribed:\n              type: string\n            subscribers.status.unconfirmed:\n              type: string\n            subscribers.status.unsubscribed:\n              type: string\n            subscribers.subscribersDeleted:\n              type: string\n            templates.cantDeleteDefault:\n              type: string\n            templates.default:\n              type: string\n            templates.dummyName:\n              type: string\n            templates.dummySubject:\n              type: string\n            templates.errorCompiling:\n              type: string\n            templates.errorRendering:\n              type: string\n            templates.fieldInvalidName:\n              type: string\n            templates.makeDefault:\n              type: string\n            templates.newTemplate:\n              type: string\n            templates.placeholderHelp:\n              type: string\n            templates.preview:\n              type: string\n            templates.rawHTML:\n              type: string\n            templates.subject:\n              type: string\n            users.login:\n              type: string\n            users.logout:\n              type: string\n\n    ServerConfig:\n      type: object\n      properties:\n        data:\n          type: object\n          properties:\n            messengers:\n              type: array\n              items:\n                type: string\n            langs:\n              type: array\n              items:\n                type: object\n                properties:\n                  code:\n                    type: string\n                  name:\n                    type: string\n            lang:\n              type: string\n            update:\n              type: string\n            needs_restart:\n              type: boolean\n            version:\n              type: string\n\n    DashboardChart:\n      type: object\n      properties:\n        link_clicks:\n          type: array\n          items:\n            type: object\n            properties:\n              count:\n                type: integer\n              date:\n                type: string\n        campaign_views:\n          type: array\n          items:\n            type: object\n            properties:\n              count:\n                type: integer\n              date:\n                type: string\n\n    DashboardCount:\n      type: object\n      properties:\n        data:\n          type: object\n          properties:\n            subscribers:\n              type: object\n              properties:\n                total:\n                  type: integer\n                blocklisted:\n                  type: object\n                orphans:\n                  type: integer\n            lists:\n              type: object\n              properties:\n                total:\n                  type: integer\n                private:\n                  type: integer\n                public:\n                  type: integer\n                optin_single:\n                  type: integer\n                optin_double:\n                  type: integer\n            campaigns:\n              type: object\n              properties:\n                total:\n                  type: integer\n                by_status:\n                  type: object\n                  properties:\n                    draft:\n                      type: integer\n            messages:\n              type: integer\n\n    SMTPSettings:\n      type: object\n      properties:\n        uuid:\n          type: string\n        enabled:\n          type: boolean\n        host:\n          type: string\n        hello_hostname:\n          type: string\n        port:\n          type: integer\n        auth_protocol:\n          type: string\n        username:\n          type: string\n        email_headers:\n          type: array\n          items:\n            type: object\n        max_conns:\n          type: integer\n        max_msg_retries:\n          type: integer\n        idle_timeout:\n          type: string\n        wait_timeout:\n          type: string\n        tls_type:\n          type: string\n        tls_skip_verify:\n          type: boolean\n\n    SMTPTest:\n      type: object\n      properties:\n        uuid:\n          type: string\n        enabled:\n          type: boolean\n        host:\n          type: string\n        hello_hostname:\n          type: string\n        port:\n          type: integer\n        auth_protocol:\n          type: string\n        username:\n          type: string\n        email_headers:\n          type: array\n          items:\n            type: object\n        max_conns:\n          type: integer\n        max_msg_retries:\n          type: integer\n        idle_timeout:\n          type: string\n        wait_timeout:\n          type: string\n        tls_type:\n          type: string\n        tls_skip_verify:\n          type: boolean\n        strEmailHeaders:\n          type: string\n        password:\n          type: string\n        email:\n          type: string\n\n    MailBoxBounces:\n      type: object\n      properties:\n        uuid:\n          type: string\n        enabled:\n          type: boolean\n        type:\n          type: string\n        host:\n          type: string\n        port:\n          type: integer\n        auth_protocol:\n          type: string\n        return_path:\n          type: string\n        username:\n          type: string\n        tls_enabled:\n          type: boolean\n        tls_skip_verify:\n          type: boolean\n        scan_interval:\n          type: string\n\n    Settings:\n      type: object\n      properties:\n        app.site_name:\n          type: string\n        app.root_url:\n          type: string\n        app.logo_url:\n          type: string\n        app.favicon_url:\n          type: string\n        app.from_email:\n          type: string\n        app.notify_emails:\n          type: array\n          items:\n            type: string\n        app.enable_public_subscription_page:\n          type: boolean\n        app.enable_public_archive:\n          type: boolean\n        app.send_optin_confirmation:\n          type: boolean\n        app.check_updates:\n          type: boolean\n        app.lang:\n          type: string\n        app.batch_size:\n          type: integer\n        app.concurrency:\n          type: integer\n        app.max_send_errors:\n          type: integer\n        app.message_rate:\n          type: integer\n        app.message_sliding_window:\n          type: boolean\n        app.message_sliding_window_duration:\n          type: string\n        app.message_sliding_window_rate:\n          type: integer\n        privacy.individual_tracking:\n          type: boolean\n        privacy.unsubscribe_header:\n          type: boolean\n        privacy.allow_blocklist:\n          type: boolean\n        privacy.allow_preferences:\n          type: boolean\n        privacy.allow_export:\n          type: boolean\n        privacy.allow_wipe:\n          type: boolean\n        privacy.exportable:\n          type: array\n          items:\n            type: string\n        privacy.domain_blocklist:\n          type: array\n          items:\n            type: object\n        upload.provider:\n          type: string\n        upload.filesystem.upload_path:\n          type: string\n        upload.filesystem.upload_uri:\n          type: string\n        upload.s3.url:\n          type: string\n        upload.s3.public_url:\n          type: string\n        upload.s3.aws_access_key_id:\n          type: string\n        upload.s3.aws_default_region:\n          type: string\n        upload.s3.bucket:\n          type: string\n        upload.s3.bucket_domain:\n          type: string\n        upload.s3.bucket_path:\n          type: string\n        upload.s3.bucket_type:\n          type: string\n        upload.s3.expiry:\n          type: string\n        smtp:\n          type: array\n          items:\n            $ref: \"#/components/schemas/SMTPSettings\"\n        messengers:\n          type: array\n          items:\n            type: object\n        bounce.enabled:\n          type: boolean\n        bounce.webhooks_enabled:\n          type: boolean\n        bounce.count:\n          type: integer\n        bounce.action:\n          type: string\n        bounce.ses_enabled:\n          type: boolean\n        bounce.sendgrid_enabled:\n          type: boolean\n        bounce.sendgrid_key:\n          type: string\n        bounce.forwardemail_enabled:\n          type: boolean\n        bounce.forwardemail_key:\n          type: string\n        bounce.postmark_enabled:\n          type: boolean\n        bounce.postmark_username:\n          type: string\n        bounce.postmark_password:\n          type: string\n        bounce.mailboxes:\n          type: array\n          items:\n            $ref: \"#/components/schemas/MailBoxBounces\"\n        appearance.admin.custom_css:\n          type: string\n        appearance.admin.custom_js:\n          type: string\n        appearance.public.custom_css:\n          type: string\n        appearance.public.custom_js:\n          type: string\n\n    SubscriberProfile:\n      type: object\n      properties:\n        id:\n          type: integer\n        uuid:\n          type: string\n        email:\n          type: string\n        name:\n          type: string\n        attribs:\n          type: object\n          additionalProperties: true\n        status:\n          type: string\n        created_at:\n          type: string\n        updated_at:\n          type: string\n\n    Subscriptions:\n      type: object\n      properties:\n        subscription_status:\n          type: string\n        name:\n          type: string\n        type:\n          type: string\n        created_at:\n          type: string\n\n    SubscriberData:\n      type: object\n      properties:\n        email:\n          type: string\n        profile:\n          type: array\n          items:\n            $ref: \"#/components/schemas/SubscriberProfile\"\n        subscriptions:\n          type: array\n          items:\n            $ref: \"#/components/schemas/Subscriptions\"\n        campaign_views:\n          type: array\n          items:\n            type: object\n        link_clicks:\n          type: array\n          items:\n            type: object\n\n    Subscriber:\n      type: object\n      properties:\n        id:\n          type: integer\n        created_at:\n          type: string\n        updated_at:\n          type: string\n        uuid:\n          type: string\n        email:\n          type: string\n        name:\n          type: string\n        attribs:\n          type: object\n          additionalProperties: true\n        status:\n          type: string\n        lists:\n          type: array\n          items:\n            type: object\n            properties:\n              subscription_status:\n                type: string\n              id:\n                type: integer\n              uuid:\n                type: string\n              name:\n                type: string\n              type:\n                type: string\n              tags:\n                type: array\n                items:\n                  type: string\n              created_at:\n                type: string\n              updated_at:\n                type: string\n\n    NewSubscriber:\n      type: object\n      properties:\n        email:\n          type: string\n        name:\n          type: string\n        status:\n          type: string\n        lists:\n          type: array\n          items:\n            type: integer\n        list_uuids:\n          type: array\n          items:\n            type: string\n        preconfirm_subscriptions:\n          type: boolean\n        attribs:\n          type: object\n          additionalProperties: true\n\n    UpdateSubscriber:\n      type: object\n      properties:\n        email:\n          type: string\n        name:\n          type: string\n        status:\n          type: string\n        lists:\n          type: array\n          items:\n            type: integer\n        list_uuids:\n          type: array\n          items:\n            type: string\n        preconfirm_subscriptions:\n          type: boolean\n        attribs:\n          type: object\n          additionalProperties: true\n\n    SubscriberQueryRequest:\n      type: object\n      properties:\n        query:\n          type: string\n        ids:\n          type: array\n          description: The ids of the subscribers to be modified.\n          items:\n            type: integer\n        action:\n          type: string\n          enum: [add, remove, unsubscribe]\n          description: Whether to add, remove, or unsubscribe the users.\n        target_list_ids:\n          type: integer\n          description: The ids of the lists to be modified.\n          items:\n            type: integer\n        status:\n          type: string\n          enum: [confirmed, unconfirmed, unsubscribed]\n          description: confirmed, unconfirmed, or unsubscribed status.\n\n    Bounce:\n      type: object\n      properties:\n        results:\n          type: array\n          items:\n            type: object\n            properties:\n              id:\n                type: integer\n              type:\n                type: string\n              source:\n                type: string\n              meta:\n                type: object\n              created_at:\n                type: string\n              email:\n                type: string\n              subscriber_uuid:\n                type: string\n              subscriber_id:\n                type: integer\n              campaign:\n                type: object\n                properties:\n                  id:\n                    type: integer\n                  name:\n                    type: string\n              campaign_uuid:\n                type: string\n              total:\n                type: integer\n\n    List:\n      type: object\n      properties:\n        id:\n          type: integer\n        created_at:\n          type: string\n        updated_at:\n          type: string\n        uuid:\n          type: string\n        name:\n          type: string\n        type:\n          type: string\n        optin:\n          type: string\n        tags:\n          type: array\n          items:\n            type: string\n        subscriber_count:\n          type: integer\n        description:\n          type: string\n\n    NewList:\n      type: object\n      properties:\n        name:\n          type: string\n        type:\n          type: string\n          enum: [public, private]\n        optin:\n          type: string\n          enum: [single, double]\n        tags:\n          type: array\n          items:\n            type: string\n        description:\n          type: string\n\n    ImportStatus:\n      type: object\n      properties:\n        data:\n          type: object\n          properties:\n            name:\n              type: string\n            total:\n              type: integer\n            imported:\n              type: integer\n            status:\n              type: string\n\n    Campaign:\n      type: object\n      properties:\n        id:\n          type: integer\n        created_at:\n          type: string\n        updated_at:\n          type: string\n        CampaignID:\n          type: integer\n        views:\n          type: integer\n        clicks:\n          type: integer\n        lists:\n          type: array\n          items:\n            type: object\n            properties:\n              id:\n                type: integer\n              name:\n                type: string\n        started_at:\n          type: string\n        to_send:\n          type: integer\n        sent:\n          type: integer\n        uuid:\n          type: string\n        type:\n          type: string\n          enum: [regular, optin]\n        name:\n          type: string\n        subject:\n          type: string\n        from_email:\n          type: string\n        body:\n          type: string\n        send_at:\n          type: string\n        status:\n          type: string\n        content_type:\n          type: string\n          enum: [richtext, html, markdown, plain]\n        tags:\n          type: array\n          items:\n            type: string\n        template_id:\n          type: integer\n        messenger:\n          type: string\n\n    CampaignContentRequest:\n      type: object\n      properties:\n        id:\n          type: integer\n        created_at:\n          type: string\n        updated_at:\n          type: string\n        CampaignID:\n          type: integer\n        views:\n          type: integer\n        clicks:\n          type: integer\n        lists:\n          type: array\n          items:\n            type: object\n            properties:\n              id:\n                type: integer\n              name:\n                type: string\n        started_at:\n          type: string\n        to_send:\n          type: integer\n        sent:\n          type: integer\n        uuid:\n          type: string\n        type:\n          type: string\n          enum: [regular, optin]\n        name:\n          type: string\n        subject:\n          type: string\n        from_email:\n          type: string\n        body:\n          type: string\n        send_at:\n          type: string\n        status:\n          type: string\n        content_type:\n          type: string\n          enum: [richtext, html, markdown, plain]\n        tags:\n          type: array\n          items:\n            type: string\n        template_id:\n          type: integer\n        messenger:\n          type: string\n        from:\n          type: string\n        to:\n          type: string\n\n    CampaignRequest:\n      type: object\n      properties:\n        name:\n          type: string\n        subject:\n          type: string\n        lists:\n          type: array\n          items:\n            type: number\n        from_email:\n          type: string\n        content_type:\n          type: string\n        messenger:\n          type: string\n        type:\n          type: string\n        tags:\n          type: array\n          items:\n            type: string\n        send_later:\n          type: boolean\n        send_at:\n          type: object\n          properties:\n            headers:\n              type: array\n              items:\n                type: object\n            template_id:\n              type: number\n\n    CampaignUpdate:\n      type: object\n      properties:\n        name:\n          type: string\n        subject:\n          type: string\n        lists:\n          type: array\n          items:\n            type: integer\n        from_email:\n          type: string\n        messenger:\n          type: string\n        type:\n          type: string\n        tags:\n          type: array\n          items:\n            type: string\n        send_later:\n          type: boolean\n        send_at:\n          type: object\n        headers:\n          type: array\n          items:\n            type: object\n        template_id:\n          type: integer\n        content_type:\n          type: string\n        body:\n          type: string\n        altbody:\n          type: string\n        archive:\n          type: boolean\n        archive_template_id:\n          type: integer\n        archive_meta:\n          type: object\n\n    CampaignStats:\n      type: object\n      properties:\n        id:\n          type: integer\n        status:\n          type: string\n        to_send:\n          type: integer\n        sent:\n          type: integer\n        started_at:\n          type: string\n          format: date\n        updated_at:\n          type: string\n          format: date\n        rate:\n          type: integer\n        net_rate:\n          type: integer\n\n    CampaignAnalyticsCount:\n      type: object\n      properties:\n        campaign_id:\n          type: integer\n        count:\n          type: integer\n        timestamp:\n          type: string\n          format: date-time\n\n    MediaFileObject:\n      type: object\n      properties:\n        id:\n          type: integer\n        uuid:\n          type: string\n        filename:\n          type: string\n        content_type:\n          type: string\n        created_at:\n          type: string\n        thumb_url:\n          type: string\n        thumb_uri:\n          type: string\n        provider:\n          type: string\n        meta:\n          type: object\n        url:\n          type: string\n        uri:\n          type: string\n\n    Template:\n      type: object\n      properties:\n        id:\n          type: integer\n        created_at:\n          type: string\n        updated_at:\n          type: string\n        name:\n          type: string\n        body:\n          type: string\n        body_source:\n          type: string\n        subject:\n          type: string\n        type:\n          type: string\n        is_default:\n          type: boolean\n\n    NewTemplate:\n      type: object\n      required:\n        - name\n        - type\n        - body\n      properties:\n        name:\n          type: string\n          description: Name of the template\n        type:\n          type: string\n          enum: [campaign, campaign_visual, tx]\n          description: Type of the template\n        subject:\n          type: string\n          description: Subject line for the template (only for tx)\n        body_source:\n          type: string\n          description: JSON source for the email-builder template (only for campaign_visual)\n        body:\n          type: string\n          description: HTML body of the template\n\n    UpdateTemplate:\n      type: object\n      properties:\n        name:\n          type: string\n          description: Name of the template\n        type:\n          type: string\n          enum: [campaign, campaign_visual, tx]\n          description: Type of the template\n        subject:\n          type: string\n          description: Subject line for the template (only for tx)\n        body_source:\n          type: string\n          description: JSON source for the email-builder template (only for campaign_visual)\n        body:\n          type: string\n          description: HTML body of the template\n\n    TransactionalMessage:\n      type: object\n      properties:\n        subscriber_email:\n          type: string\n        subscriber_id:\n          type: integer\n        template_id:\n          type: integer\n        from_email:\n          type: string\n        data:\n          type: object\n        headers:\n          type: array\n          items:\n            type: object\n        messenger:\n          type: string\n        content_type:\n          type: string\n"
  },
  {
    "path": "frontend/.browserslistrc",
    "content": "> 1%\nlast 2 versions\nnot dead\n"
  },
  {
    "path": "frontend/.editorconfig",
    "content": "[*.{js,jsx,ts,tsx,vue}]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ntrim_trailing_whitespace = true\ninsert_final_newline = true\nmax_line_length = 100\n"
  },
  {
    "path": "frontend/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    node: true,\n    // es2022: true,\n  },\n  plugins: ['vue'],\n  extends: [\n    'eslint:recommended',\n    'plugin:vue/essential',\n    'plugin:vue/strongly-recommended',\n    '@vue/eslint-config-airbnb',\n  ],\n  parser: 'vue-eslint-parser',\n  rules: {\n    'class-methods-use-this': 'off',\n    'vue/multi-word-component-names': 'off',\n    'vue/quote-props': 'off',\n    'vue/first-attribute-linebreak': 'off',\n    'vue/no-child-content': 'off',\n    'vue/max-attributes-per-line': 'off',\n    'vue/html-indent': 'off',\n    'vue/html-closing-bracket-newline': 'off',\n    'vue/singleline-html-element-content-newline': 'off',\n    'vue/max-len': ['error', {\n      code: 200,\n      template: 200,\n      comments: 200,\n    }],\n  },\n  ignorePatterns: ['src/email-builder.js'],\n};\n"
  },
  {
    "path": "frontend/.gitignore",
    "content": ".DS_Store\nnode_modules\n/dist\n\n# local env files\n.env.local\n.env.*.local\n\n# Log files\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\n\n# Editor directories and files\n.idea\n.vscode\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n"
  },
  {
    "path": "frontend/README.md",
    "content": "# listmonk frontend (Vue + Buefy)\n\nIt's best if the `listmonk/frontend` directory is opened in an IDE as a separate project where the frontend directory is the root of the project.\n\nFor developer setup instructions, refer to the main project's README.\n\n## Globals\nIn `main.js`, Buefy and vue-i18n are attached globally. In addition:\n\n- `$api` (collection of API calls from `api/index.js`)\n- `$utils` (util functions from `util.js`). They are accessible within Vue as `this.$api` and `this.$utils`.\n\nSome constants are defined in `constants.js`.\n\n\n## APIs and states\nThe project uses a global `vuex` state to centrally store the responses to pretty much all APIs (eg: fetch lists, campaigns etc.) except for a few exceptions. These are called `models` and have been defined in `constants.js`. The definitions are in `store/index.js`.\n\nThere is a global state `loading` (eg: loading.campaigns, loading.lists) that indicates whether an API call for that particular \"model\" is running. This can be used anywhere in the project to show loading spinners for instance. All the API definitions are in `api/index.js`. It also describes how each API call sets the global `loading` status alongside storing the API responses.\n\n*IMPORTANT*: All JSON field names in GET API responses are automatically camel-cased when they're pulled for the sake of consistency in the frontend code and for complying with the linter spec in the project (Vue/AirBnB schema). For example, `content_type` becomes `contentType`. When sending responses to the backend, however, they should be snake-cased manually. This is overridden for certain calls such as `/api/config` and `/api/settings` using the `preserveCase: true` param in `api/index.js`.\n\n\n## Icon pack\nBuefy by default uses [Material Design Icons](https://materialdesignicons.com) (MDI) with icon classes prefixed by `mdi-`.\n\nlistmonk uses only a handful of icons from the massive MDI set packed as web font, using [Fontello](https://fontello.com). To add more icons to the set using fontello:\n\n- Go to Fontello and drag and drop `frontend/fontello/config.json` (This is the full MDI set converted from TTF to SVG icons to work with Fontello).\n- Use the UI to search for icons and add them to the selection (add icons from under the `Custom` section)\n- Download the Fontello pack and from the ZIP:\n    - Copy and overwrite `config.json` to `frontend/fontello`\n    - Copy `fontello.woff2` to `frontend/src/assets/icons`.\n    - Open `css/fontello.css` and copy the individual icon definitions and overwrite the ones in `frontend/src/assets/icons/fontello.css`\n"
  },
  {
    "path": "frontend/babel.config.js",
    "content": "module.exports = {\n  presets: [\n    '@vue/cli-plugin-babel/preset',\n  ],\n};\n"
  },
  {
    "path": "frontend/cypress/e2e/archive.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\n\ndescribe('Archive', () => {\n  it('Opens campaigns page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/campaigns');\n    cy.wait(500);\n  });\n\n  it('Clones campaign', () => {\n    cy.loginAndVisit('/admin/campaigns');\n    cy.get('[data-cy=btn-clone]').first().click();\n    cy.get('.modal input').clear().type('clone').click();\n    cy.get('.modal button.is-primary').click();\n    cy.wait(250);\n\n    cy.loginAndVisit('/admin/campaigns');\n    cy.get('[data-cy=btn-clone]').first().click();\n    cy.get('.modal input').clear().type('clone2').click();\n    cy.get('.modal button.is-primary').click();\n    cy.wait(250);\n\n    cy.clickMenu('all-campaigns');\n  });\n\n  it('Starts campaigns', () => {\n    cy.get('td[data-label=Status] a').eq(0).click();\n    cy.get('[data-cy=btn-start]').click();\n    cy.get('.modal button.is-primary').click();\n\n    cy.get('td[data-label=Status] a').eq(1).click();\n    cy.get('[data-cy=btn-start]').click();\n    cy.get('.modal button.is-primary').click();\n    cy.wait(1000);\n  });\n\n  it('Enables archive on one campaign (no slug)', () => {\n    cy.loginAndVisit('/admin/campaigns');\n    cy.wait(250);\n    cy.get('td[data-label=Status] a').eq(0).click();\n\n    // Switch to archive tab and enable archive.\n    cy.get('.b-tabs nav a').eq(3).click();\n    cy.wait(500);\n    cy.get('[data-cy=btn-archive] .check').click();\n    cy.get('[data-cy=archive-slug]').clear();\n    cy.get('[data-cy=archive-meta]').clear()\n      .type('{\"email\": \"archive@domain.com\", \"name\": \"Archive\", \"attribs\": { \"city\": \"Bengaluru\"}}', { parseSpecialCharSequences: false });\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(250);\n  });\n\n  it('Enables archive on one campaign', () => {\n    cy.loginAndVisit('/admin/campaigns');\n    cy.wait(250);\n    cy.get('td[data-label=Status] a').eq(1).click();\n\n    // Switch to archive tab and enable archive.\n    cy.get('.b-tabs nav a').eq(3).click();\n    cy.wait(500);\n    cy.get('[data-cy=btn-archive] .check').click();\n    cy.get('[data-cy=archive-slug]').clear().type('my-archived-campaign');\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(250);\n  });\n\n  it('Opens campaign archive page', () => {\n    for (let i = 0; i < 2; i++) {\n      cy.loginAndVisit(`${apiUrl}/archive`);\n      cy.get('li a').eq(i).click();\n      cy.wait(250);\n      if (i === 0) {\n        cy.get('h3').contains('Hi Archive!');\n        cy.get('p').eq(0).contains('Bengaluru');\n      } else {\n        cy.get('h3').contains('Hi Subscriber!');\n      }\n    }\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/bounces.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\n\ndescribe('Bounces', () => {\n  const subs = [];\n\n  it('Enable bounces', () => {\n    cy.resetDB();\n\n    cy.loginAndVisit('/admin/settings');\n    cy.get('.b-tabs nav a').eq(6).click();\n    cy.get('[data-cy=btn-enable-bounce] .switch').click();\n    cy.get('[data-cy=btn-enable-bounce-webhook] .switch').click();\n\n    // The last <select> box, pick 'delete' option.\n    cy.get('select[name=\"bounce.action\"]').last().select('delete');\n\n    cy.get('[data-cy=btn-save]').click();\n\n    cy.waitForBackend();\n    cy.wait(1000);\n  });\n\n  it('Post bounces', () => {\n    cy.loginAndVisit('/admin/subscribers/bounces');\n\n    // Get campaign.\n    let camp = {};\n    cy.request(`${apiUrl}/api/campaigns`).then((resp) => {\n      camp = resp.body.data.results[0];\n    }).then(() => {\n      console.log('campaign is ', camp.uuid);\n    });\n\n    // Get subscribers.\n    let subs = [];\n    cy.request(`${apiUrl}/api/subscribers`).then((resp) => {\n      subs = resp.body.data.results;\n    }).then(() => {\n      // Register soft bounces do nothing.\n      let sub = {};\n      cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: 'api', type: 'soft', email: subs[0].email });\n      cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: 'api', type: 'soft', email: subs[0].email });\n      cy.request(`${apiUrl}/api/subscribers/${subs[0].id}`).then((resp) => {\n        sub = resp.body.data;\n      }).then(() => {\n        cy.expect(sub.status).to.equal('enabled');\n      });\n\n      // Hard bounces blocklist.\n      cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: 'api', type: 'hard', email: subs[0].email });\n      cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: 'api', type: 'hard', email: subs[0].email });\n\n      cy.request(`${apiUrl}/api/subscribers/${subs[0].id}`).then((resp) => {\n        sub = resp.body.data;\n      }).then(() => {\n        cy.expect(sub.status).to.equal('blocklisted');\n      });\n\n      // Complaint bounces delete.\n      cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: 'api', type: 'complaint', email: subs[1].email });\n      cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: 'api', type: 'complaint', email: subs[1].email });\n      cy.request({ url: `${apiUrl}/api/subscribers/${subs[1].id}`, failOnStatusCode: false }).then((resp) => {\n        expect(resp.status).to.eq(400);\n      });\n\n      cy.loginAndVisit('/admin/subscribers/bounces');\n    });\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/campaigns.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\nconst headers = '[{\"X-Custom\": \"Custom-Value\"}]';\n\ndescribe('Campaigns', () => {\n  it('Opens campaigns page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/campaigns');\n  });\n\n  it('Counts campaigns', () => {\n    cy.get('tbody td[data-label=Status]').should('have.length', 1);\n  });\n\n  it('Creates campaign', () => {\n    cy.get('a[data-cy=btn-new]').click();\n\n    // Fill fields.\n    cy.get('input[name=name]').clear().type('new-attach');\n    cy.get('input[name=subject]').clear().type('new-subject');\n    cy.get('input[name=from_email]').clear().type('new <from@email>');\n    cy.get('.list-selector input').click();\n    cy.get('.list-selector .autocomplete a').eq(0).click();\n\n    cy.get('button[data-cy=btn-continue]').click();\n    cy.wait(500);\n\n    cy.get('a[data-cy=btn-attach]').click();\n    cy.get('button[data-cy=btn-toggle-upload]').click();\n    cy.wait(500);\n    cy.get('input[type=file]').attachFile('example.json');\n    cy.get('form[data-cy=\"upload\"] button').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.wait(500);\n    cy.get('.modal a.thumb-link').click();\n    cy.get('button[data-cy=btn-save]').click();\n    cy.wait(500);\n\n    // Re-open and check that the file still exists.\n    cy.loginAndVisit('/admin/campaigns');\n    cy.get('td[data-label=Status] a').eq(0).click();\n    cy.get('.b-tabs nav a').eq(1).click();\n    cy.get('div.field[data-cy=media]').contains('example');\n\n    // Start.\n    cy.get('button[data-cy=btn-start]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.wait(500);\n    cy.get('tbody tr').eq(0).within(() => {\n      cy.get('td[data-label=Status] .tag').should(($tag) => {\n        expect($tag.hasClass('running') || $tag.hasClass('finished')).to.be.true;\n      });\n    });\n  });\n\n  it('Edits campaign', () => {\n    cy.get('td[data-label=Status] a').eq(1).click();\n\n    // Fill fields.\n    cy.get('input[name=name]').clear().type('new-name');\n    cy.get('input[name=subject]').clear().type('new-subject');\n    cy.get('input[name=from_email]').clear().type('new <from@email>');\n\n    // Change the list.\n    cy.get('.list-selector a.delete').click();\n    cy.get('.list-selector input').click();\n    cy.get('.list-selector .autocomplete a').eq(0).click();\n\n    // Clear and redo tags.\n    cy.get('input[name=tags]').type('{backspace}new-tag{enter}');\n\n    // Enable schedule.\n    cy.get('[data-cy=btn-send-later] .check').click();\n    cy.wait(100);\n    cy.get('.datepicker input').click();\n    cy.wait(100);\n    cy.get('.datepicker-header .control:nth-child(2) select').select((new Date().getFullYear() + 1).toString());\n    cy.wait(100);\n    cy.get('.datepicker-body a.is-selectable:first').click();\n    cy.wait(100);\n    cy.get('body').click(1, 1);\n\n    // Add custom headers.\n    cy.get('[data-cy=btn-headers]').click();\n    cy.get('textarea[name=headers]').invoke('val', headers).trigger('input');\n\n    // Switch to content tab.\n    cy.get('.b-tabs nav a').eq(1).click();\n\n    // Switch format to plain text.\n    cy.get('select[name=content_type]').select('plain');\n    cy.get('.modal button.is-primary:eq(0)').click();\n\n    // Enter body value.\n    cy.get('textarea[name=content]').clear().type('new-content');\n    cy.get('button[data-cy=btn-save]').click();\n\n    // Schedule.\n    cy.get('button[data-cy=btn-schedule]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n\n    cy.wait(250);\n\n    // Verify the changes.\n    cy.request(`${apiUrl}/api/campaigns/1`).should((response) => {\n      const { data } = response.body;\n      expect(data.status).to.equal('scheduled');\n      expect(data.name).to.equal('new-name');\n      expect(data.subject).to.equal('new-subject');\n      expect(data.content_type).to.equal('plain');\n      expect(data.altbody).to.equal(null);\n      expect(data.send_at).to.not.equal(null);\n      expect(data.body).to.equal('new-content');\n\n      expect(data.lists.length).to.equal(1);\n      expect(data.lists[0].id).to.equal(1);\n      expect(data.tags.length).to.equal(1);\n      expect(data.tags[0]).to.equal('new-tag');\n      expect(data.headers[0]['X-Custom']).to.equal('Custom-Value');\n    });\n\n    cy.get('tbody td[data-label=Status] .tag.scheduled');\n  });\n\n  it('Unschedules campaign', () => {\n    cy.get('td[data-label=Status] a').eq(1).click();\n    cy.wait(250);\n    cy.get('button[data-cy=btn-unschedule]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.wait(250);\n    cy.visit('/admin/campaigns');\n\n    // Check if the status label has the inner text `Draft`.\n    cy.get('td[data-label=Status] .tag.draft').should('have.length', 1);\n  });\n\n  it('Switches formats', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/campaigns');\n    const formats = ['html', 'markdown', 'plain'];\n    const htmlBody = '<strong>hello</strong> \\{\\{ .Subscriber.Name \\}\\} from {\\{ .Subscriber.Attribs.city \\}\\}';\n    const plainBody = 'hello Demo Subscriber from Bengaluru';\n\n    // Set test content the first time.\n    cy.get('td[data-label=Status] a').click();\n    cy.get('.b-tabs nav a').eq(1).click();\n    cy.window().then((win) => {\n      win.tinymce.editors[0].setContent(htmlBody);\n      win.tinymce.editors[0].save();\n    });\n    cy.get('button[data-cy=btn-save]').click();\n\n    formats.forEach((c) => {\n      cy.visit('/admin/campaigns');\n      cy.get('td[data-label=Status] a').click();\n\n      // Switch to content tab.\n      cy.get('.b-tabs nav a').eq(1).click();\n\n      // Switch format.\n      cy.get('select[name=content_type]').select(c);\n      cy.get('.modal button.is-primary:eq(0)').click();\n\n      // Check content.\n      cy.get('button[data-cy=btn-preview]').click();\n      cy.wait(500);\n      cy.get('#iframe').then(($f) => {\n        if (c === 'plain') {\n          return;\n        }\n        const doc = $f.contents();\n        expect(doc.find('.wrap').text().trim().replace(/(\\s|\\n)+/, ' ')).equal(plainBody);\n      });\n      cy.get('.modal-card-foot button').click();\n    });\n  });\n\n  it('Clones campaign', () => {\n    cy.loginAndVisit('/admin/campaigns');\n    for (let n = 0; n < 3; n++) {\n      // Clone the campaign.\n      cy.get('[data-cy=btn-clone]').first().click();\n      cy.get('.modal input').clear().type(`clone${n}`).click();\n      cy.get('.modal button.is-primary:eq(0)').click();\n      cy.wait(250);\n      cy.clickMenu('all-campaigns');\n      cy.wait(100);\n\n      // Verify the newly created row.\n      cy.get('tbody td[data-label=\"Name\"]').first().contains(`clone${n}`);\n    }\n  });\n\n  it('Searches campaigns', () => {\n    cy.get('input[name=query]').clear().type('clone2{enter}');\n    cy.get('tbody tr').its('length').should('eq', 1);\n    cy.get('tbody td[data-label=\"Name\"]').first().contains('clone2');\n    cy.get('input[name=query]').clear().type('{enter}');\n  });\n\n  it('Deletes campaigns', () => {\n    cy.wait(1000);\n    // Delete all visible lists.\n    cy.get('tbody tr').each(() => {\n      cy.get('tbody a[data-cy=btn-delete]').first().click();\n      cy.get('.modal button.is-primary:eq(0)').click();\n    });\n\n    // Confirm deletion.\n    cy.get('table tr.is-empty');\n  });\n\n  it('Adds new campaigns', () => {\n    const lists = [[1], [1, 2]];\n    const cTypes = ['richtext', 'html', 'markdown', 'plain', 'visual'];\n\n    let n = 0;\n    cTypes.forEach((c) => {\n      lists.forEach((l) => {\n        // Click the 'new button'\n        cy.get('[data-cy=btn-new]').click();\n        cy.wait(100);\n\n        // Fill fields.\n        cy.get('input[name=name]').clear().type(`name${n}`);\n        cy.get('input[name=subject]').clear().type(`subject${n}`);\n\n        l.forEach(() => {\n          cy.get('.list-selector input').click();\n          cy.get('.list-selector .autocomplete a').first().click();\n        });\n\n        // Add tags.\n        for (let i = 0; i < 3; i++) {\n          cy.get('input[name=tags]').type(`tag${i}{enter}`);\n        }\n\n        // Add headers.\n        cy.get('[data-cy=btn-headers]').click();\n        cy.get('textarea[name=headers]').invoke('val', `[{\"X-Header-${n}\": \"Value-${n}\"}]`).trigger('input');\n\n        // Hit 'Continue'.\n        cy.get('button[data-cy=btn-continue]').click();\n        cy.wait(250);\n\n        // Verify the changes.\n        (function (n) {\n          cy.location('pathname').then((p) => {\n            cy.request(`${apiUrl}/api/campaigns/${p.split('/').at(-1)}`).should((response) => {\n              const { data } = response.body;\n              expect(data.status).to.equal('draft');\n              expect(data.name).to.equal(`name${n}`);\n              expect(data.subject).to.equal(`subject${n}`);\n              expect(data.content_type).to.equal('richtext');\n              expect(data.altbody).to.equal(null);\n              expect(data.send_at).to.equal(null);\n              expect(data.headers[0][`X-Header-${n}`]).to.equal(`Value-${n}`);\n            });\n          });\n        }(n));\n\n        // Select content type.\n        cy.get('select[name=content_type]').select(c);\n\n        // Insert content.\n        const htmlBody = `<strong>hello${n}</strong> \\{\\{ .Subscriber.Name \\}\\} from {\\{ .Subscriber.Attribs.city \\}\\}`;\n        const plainBody = `hello${n} Demo Subscriber from Bengaluru`;\n        const markdownBody = `**hello${n}** Demo Subscriber from Bengaluru`;\n\n        cy.log(`format = ${c}`);\n        if (c === 'richtext') {\n          cy.window().then((win) => {\n            win.tinymce.editors[0].setContent(htmlBody);\n            win.tinymce.editors[0].save();\n          });\n          cy.wait(500);\n        } else if (c === 'html') {\n          cy.get('[contenteditable=\"true\"]').then(($el) => {\n            cy.window().then((win) => {\n              $el.focus();\n              win.document.execCommand('insertText', false, htmlBody);\n            });\n          });\n        } else if (c === 'markdown') {\n          cy.get('[contenteditable=\"true\"]').then(($el) => {\n            cy.window().then((win) => {\n              $el.focus();\n              win.document.execCommand('insertText', false, markdownBody);\n            });\n          });\n        } else if (c === 'plain') {\n          cy.get('textarea[name=content]').invoke('val', plainBody).trigger('input');\n        } else if (c === 'visual') {\n          cy.wait(200);\n          cy.get('iframe').then((el) => {\n            cy.wait(200);\n            cy.wrap(el.contents()).find('table td').click();\n            cy.wait(200);\n            cy.wrap(el.contents()).find('textarea').eq(0).type(plainBody);\n          });\n        }\n\n        // Save.\n        cy.get('button[data-cy=btn-save]').click();\n\n        // Preview and match the body.\n        cy.get('button[data-cy=btn-preview]').click();\n        cy.wait(1000);\n        cy.get('#iframe').then(($f) => {\n          if (c === 'plain') {\n            return;\n          }\n          const doc = $f.contents();\n\n          if (c === 'visual') {\n            expect(doc.find('td').text().trim()).equal(plainBody);\n          } else {\n            expect(doc.find('.wrap').text().trim()).equal(plainBody);\n          }\n        });\n\n        cy.get('.modal-card-foot button').click();\n\n        cy.clickMenu('all-campaigns');\n        cy.wait(500);\n\n        // Verify the newly created campaign in the table.\n        cy.get('tbody td[data-label=\"Name\"]').first().contains(`name${n}`);\n        cy.get('tbody td[data-label=\"Name\"]').first().contains(`subject${n}`);\n        cy.get('tbody td[data-label=\"Lists\"]').first().then(($el) => {\n          cy.wrap($el).find('li').should('have.length', l.length);\n        });\n\n        n++;\n      });\n    });\n\n    // Fetch the campaigns API and verfiy the values that couldn't be verified on the table UI.\n    cy.request(`${apiUrl}/api/campaigns?order=asc&order_by=created_at`).should((response) => {\n      const { data } = response.body;\n      expect(data.total).to.equal(lists.length * cTypes.length);\n\n      let n = 0;\n      cTypes.forEach((c) => {\n        lists.forEach((l) => {\n          expect(data.results[n].content_type).to.equal(c);\n          expect(data.results[n].lists.map((ls) => ls.id)).to.deep.equal(l);\n          n++;\n        });\n      });\n    });\n  });\n\n  it('Starts and cancels campaigns', () => {\n    for (let n = 1; n <= 2; n++) {\n      cy.get(`tbody tr:nth-child(${n}) [data-cy=btn-start]`).click();\n      cy.get('.modal button.is-primary:eq(0)').click();\n      cy.wait(250);\n      cy.get(`tbody tr:nth-child(${n}) td[data-label=Status] .tag.running`);\n\n      if (n > 1) {\n        cy.get(`tbody tr:nth-child(${n}) [data-cy=btn-cancel]`).click();\n        cy.get('.modal button.is-primary:eq(0)').click();\n        cy.wait(250);\n        cy.get(`tbody tr:nth-child(${n}) td[data-label=Status] .tag.cancelled`);\n      }\n    }\n  });\n\n  it('Sorts campaigns', () => {\n    const asc = [5, 6, 7, 8, 9, 10, 11, 12, 13, 14];\n    const desc = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5];\n    const cases = ['cy-name', 'cy-timestamp'];\n\n    cases.forEach((c) => {\n      cy.sortTable(`thead th.${c}`, asc);\n      cy.wait(250);\n      cy.sortTable(`thead th.${c}`, desc);\n      cy.wait(250);\n    });\n  });\n\n  it('Bulk deletes campaigns', () => {\n    const apiUrl = Cypress.env('apiUrl');\n\n    const params = {\n      name: 'test-campaign-bulk',\n      subject: 'subject',\n      type: 'regular',\n      content_type: 'richtext',\n      template_id: 1,\n      lists: [1],\n    };\n\n    // Create 30 in a loop.\n    for (let i = 0; i < 30; i += 1) {\n      cy.request('POST', `${apiUrl}/api/campaigns`, params);\n    }\n\n    cy.loginAndVisit('/admin/campaigns');\n\n    // Bulk delete with the `all` flag.\n    cy.window().scrollTo('top');\n    cy.wait(500);\n    cy.get('thead input[type=\"checkbox\"]').click({ force: true });\n    cy.get('a[data-cy=select-all-campaigns]').click();\n    cy.get('a[data-cy=btn-delete-campaigns]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.get('table tr.is-empty');\n\n    // Bulk delete with the selected IDs.\n    // Create 5 campaigns in a loop.\n    for (let i = 0; i < 5; i += 1) {\n      cy.request('POST', `${apiUrl}/api/campaigns`, params);\n    }\n\n    cy.visit('/admin/campaigns');\n    cy.wait(500);\n    cy.get('thead input[type=\"checkbox\"]').click({ force: true });\n    cy.get('a[data-cy=btn-delete-campaigns]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.get('table tr.is-empty');\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/dashboard.cy.js",
    "content": "describe('Dashboard', () => {\n  it('Opens dashboard', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/');\n\n    // List counts.\n    cy.get('[data-cy=lists] .title').contains('2');\n    cy.get('[data-cy=lists]')\n      .and('contain', '1 Public')\n      .and('contain', '1 Private')\n      .and('contain', '1 Single opt-in')\n      .and('contain', '1 Double opt-in');\n\n    // Campaign counts.\n    cy.get('[data-cy=campaigns] .title').contains('1');\n    cy.get('[data-cy=campaigns-draft]').contains('1');\n\n    // Subscriber counts.\n    cy.get('[data-cy=subscribers] .title').contains('2');\n    cy.get('[data-cy=subscribers]')\n      .should('contain', '0 Blocklisted')\n      .and('contain', '0 Orphans');\n\n    // Message count.\n    cy.get('[data-cy=messages] .title').contains('0');\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/forms.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\n\ndescribe('Forms', () => {\n  it('Opens forms page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/lists/forms');\n  });\n\n  it('Checks public lists', () => {\n    cy.get('ul[data-cy=lists] li')\n      .should('contain', 'Opt-in list')\n      .its('length')\n      .should('eq', 1);\n\n    cy.get('[data-cy=form] [role=textbox]').should('not.exist');\n  });\n\n  it('Selects public list', () => {\n    // Click the list checkbox.\n    cy.get('ul[data-cy=lists] .checkbox').click();\n\n    // Check that the ID of the list in the checkbox appears in the HTML.\n    cy.get('ul[data-cy=lists] input').then(($inp) => {\n      cy.get('[role=textbox]').contains($inp.val());\n    });\n\n    // Click the list checkbox.\n    cy.get('ul[data-cy=lists] .checkbox').click();\n    cy.get('[data-cy=form] pre').should('not.exist');\n  });\n\n  it('Subscribes from public form page', () => {\n    // Create a public test list.\n    cy.request('POST', `${apiUrl}/api/lists`, { name: 'test-list', type: 'public', optin: 'single' });\n\n    // Open the public page and subscribe to alternating lists multiple times.\n    // There should be no errors and two new subscribers should be subscribed to two lists.\n    for (let i = 0; i < 2; i++) {\n      for (let j = 0; j < 2; j++) {\n        cy.loginAndVisit(`${apiUrl}/subscription/form`);\n        cy.get('input[name=email]').clear().type(`test${i}@test.com`);\n        cy.get('input[name=name]').clear().type(`test${i}`);\n        cy.get('input[type=checkbox]').eq(j).click();\n        cy.get('button').click();\n        cy.wait(250);\n        cy.get('.wrap').contains(/has been sent|successfully|retry/); // If SMTP is not configured, it shows retry message.\n      }\n    }\n\n    // Verify form subscriptions.\n    cy.request(`${apiUrl}/api/subscribers`).should((response) => {\n      const { data } = response.body;\n\n      // Two new + two dummy subscribers that are there by default.\n      expect(data.total).to.equal(4);\n\n      // The two new subscribers should each have two list subscriptions.\n      for (let i = 0; i < 2; i++) {\n        expect(data.results.find((s) => s.email === `test${i}@test.com`).lists.length).to.equal(2);\n      }\n    });\n  });\n\n  it('Unsubscribes', () => {\n    // Add all lists to the dummy campaign.\n    cy.request('PUT', `${apiUrl}/api/campaigns/1`, { lists: [2] });\n\n    cy.request('GET', `${apiUrl}/api/subscribers`).then((response) => {\n      const subUUID = response.body.data.results[0].uuid;\n\n      cy.request('GET', `${apiUrl}/api/campaigns`).then((response) => {\n        const campUUID = response.body.data.results[0].uuid;\n        cy.loginAndVisit(`${apiUrl}/subscription/${campUUID}/${subUUID}`);\n      });\n    });\n\n    cy.wait(500);\n\n    // Unsubscribe from one list.\n    cy.get('button').click();\n    cy.request('GET', `${apiUrl}/api/subscribers`).then((response) => {\n      const { data } = response.body;\n      expect(data.results[0].lists.find((s) => s.id === 2).subscription_status).to.equal('unsubscribed');\n      expect(data.results[0].lists.find((s) => s.id === 3).subscription_status).to.equal('unconfirmed');\n    });\n\n    // Go back.\n    cy.url().then((u) => {\n      cy.loginAndVisit(u);\n    });\n\n    // Unsubscribe from all.\n    cy.get('#privacy-blocklist').click();\n    cy.get('button').click();\n\n    cy.request('GET', `${apiUrl}/api/subscribers`).then((response) => {\n      const { data } = response.body;\n      expect(data.results[0].status).to.equal('blocklisted');\n      expect(data.results[0].lists.find((s) => s.id === 2).subscription_status).to.equal('unsubscribed');\n      expect(data.results[0].lists.find((s) => s.id === 3).subscription_status).to.equal('unsubscribed');\n    });\n  });\n\n  it('Manages subscription preferences', () => {\n    cy.request('GET', `${apiUrl}/api/subscribers`).then((response) => {\n      const subUUID = response.body.data.results[1].uuid;\n\n      cy.request('GET', `${apiUrl}/api/campaigns`).then((response) => {\n        const campUUID = response.body.data.results[0].uuid;\n        cy.loginAndVisit(`${apiUrl}/subscription/${campUUID}/${subUUID}?manage=1`);\n        cy.get('a').contains('Manage').click();\n      });\n    });\n\n    // Change name and unsubscribe from one list.\n    cy.get('input[name=name]').clear().type('new-name');\n    cy.get('ul.lists input:first').click();\n    cy.get('button:first').click();\n\n    cy.request('GET', `${apiUrl}/api/subscribers`).then((response) => {\n      const { data } = response.body;\n      expect(data.results[1].name).to.equal('new-name');\n      expect(data.results[1].lists.find((s) => s.id === 2).subscription_status).to.equal('unsubscribed');\n      expect(data.results[1].lists.find((s) => s.id === 3).subscription_status).to.equal('unconfirmed');\n    });\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/import.cy.js",
    "content": "describe('Import', () => {\n  it('Opens import page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/subscribers/import');\n  });\n\n  it('Imports subscribers', () => {\n    const cases = [\n      {\n        chkMode: 'subscribe', status: 'enabled', chkSubStatus: 'unconfirmed', subStatus: 'unconfirmed', overwrite: true, count: 102,\n      },\n      {\n        chkMode: 'subscribe', status: 'enabled', chkSubStatus: 'confirmed', subStatus: 'confirmed', overwrite: true, count: 102,\n      },\n      {\n        chkMode: 'subscribe', status: 'enabled', chkSubStatus: 'unconfirmed', subStatus: 'confirmed', overwrite: false, count: 102,\n      },\n      {\n        chkMode: 'blocklist', status: 'blocklisted', chkSubStatus: 'unsubscribed', subStatus: 'unsubscribed', overwrite: false, count: 102,\n      },\n    ];\n\n    cases.forEach((c) => {\n      cy.get(`[data-cy=check-${c.chkMode}] .check`).click();\n      cy.get(`[data-cy=check-${c.chkSubStatus}] .check`).click();\n\n      if (c.overwrite) {\n        cy.get('[data-cy=overwrite-user-info]').click();\n        cy.get('[data-cy=overwrite-sub-status]').click();\n      }\n\n      if (c.status === 'enabled') {\n        cy.get('.list-selector input').click();\n        cy.get('.list-selector .autocomplete a').first().click();\n      }\n\n      cy.fixture('subs.csv').then((data) => {\n        cy.get('input[type=\"file\"]').attachFile({\n          fileContent: data.toString(),\n          fileName: 'subs.csv',\n          mimeType: 'text/csv',\n        });\n      });\n\n      cy.get('button.is-primary').click();\n\n      // ONLY if .modal button.is-primary is present, click it.\n      if (c.overwrite) {\n        cy.get('.modal button.is-primary').click();\n      }\n\n      cy.get('section.wrap .has-text-success');\n      cy.get('button.is-primary').click();\n      cy.wait(100);\n\n      // Verify that 100 (+2 default) subs are imported.\n      cy.loginAndVisit('/admin/subscribers');\n      cy.wait(100);\n      cy.get('[data-cy=count]').then(($el) => {\n        cy.expect(parseInt($el.text().trim())).to.equal(c.count);\n      });\n\n      // Subscription status.\n      // cy.get('tbody td[data-label=E-mail]').each(($el) => {\n      // cy.wrap($el).find(`.tag.${c.subStatus}`);\n      // });\n\n      cy.loginAndVisit('/admin/subscribers/import');\n      cy.wait(100);\n    });\n  });\n\n  it('Imports subscribers incorrectly', () => {\n    cy.wait(1000);\n    cy.resetDB();\n    cy.wait(1000);\n    cy.loginAndVisit('/admin/subscribers/import');\n\n    cy.get('.list-selector input').click();\n    cy.get('.list-selector .autocomplete a').first().click();\n    cy.get('input[name=delim]').clear().type('|');\n\n    cy.fixture('subs.csv').then((data) => {\n      cy.get('input[type=\"file\"]').attachFile({\n        fileContent: data.toString(),\n        fileName: 'subs.csv',\n        mimeType: 'text/csv',\n      });\n    });\n\n    cy.get('button.is-primary').click();\n    cy.wait(250);\n    cy.get('section.wrap .has-text-danger');\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/lists.cy.js",
    "content": "describe('Lists', () => {\n  it('Opens lists page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/lists');\n  });\n\n  it('Counts subscribers in default lists', () => {\n    cy.get('tbody td[data-label=Subscribers]').contains('1');\n  });\n\n  it('Creates campaign for list', () => {\n    cy.get('tbody a[data-cy=btn-campaign]').first().click();\n    cy.location('pathname').should('contain', '/campaigns/new');\n    cy.get('.list-tags .tag').contains('Default list');\n\n    cy.clickMenu('lists', 'all-lists');\n    cy.get('.modal button.is-primary').click();\n  });\n\n  it('Creates opt-in campaign for list', () => {\n    cy.get('tbody a[data-cy=btn-send-optin-campaign]').click();\n    cy.get('.modal button.is-primary').click();\n    cy.location('pathname').should('contain', '/campaigns/2');\n    cy.clickMenu('lists', 'all-lists');\n  });\n\n  it('Checks individual subscribers in lists', () => {\n    const subs = [{ listID: 1, email: 'john@example.com' },\n      { listID: 2, email: 'anon@example.com' }];\n\n    // Click on each list on the lists page, go the subscribers page\n    // for that list, and check the subscriber details.\n    subs.forEach((s, n) => {\n      cy.get('tbody td[data-label=Subscribers] a').eq(n).click();\n      cy.location('pathname').should('contain', `/subscribers/lists/${s.listID}`);\n      cy.get('tbody tr').its('length').should('eq', 1);\n      cy.get('tbody td[data-label=\"E-mail\"]').contains(s.email);\n      cy.clickMenu('lists', 'all-lists');\n    });\n  });\n\n  it('Edits lists', () => {\n    // Open the edit popup and edit the default lists.\n    cy.get('[data-cy=btn-edit]').each(($el, n) => {\n      cy.wrap($el).click();\n      cy.get('input[name=name]').clear().type(`list-${n}`);\n      cy.get('select[name=type]').select('public');\n      cy.get('select[name=optin]').select('double');\n      cy.get('input[name=tags]').clear().type(`tag${n}{enter}`);\n      cy.get('textarea[name=description]').clear().type(`desc${n}`);\n      cy.get('[data-cy=btn-save]').click();\n      cy.wait(100);\n    });\n    cy.wait(250);\n\n    // Confirm the edits.\n    cy.get('tbody tr').each(($el, n) => {\n      cy.wrap($el).find('td[data-label=Name]').contains(`list-${n}`);\n      cy.wrap($el).find('.tags')\n        .should('contain', 'test')\n        .and('contain', `tag${n}`);\n    });\n  });\n\n  it('Deletes lists', () => {\n    // Delete all visible lists.\n    cy.get('tbody tr').each(() => {\n      cy.get('tbody a[data-cy=btn-delete]').first().click();\n      cy.get('.modal button.is-primary').click();\n    });\n\n    // Confirm deletion.\n    cy.get('table tr.is-empty');\n  });\n\n  // Add new lists.\n  it('Adds new lists', () => {\n    // Open the list form and create lists of multiple type/optin combinations.\n    const types = ['private', 'public'];\n    const optin = ['single', 'double'];\n\n    let n = 0;\n    types.forEach((t) => {\n      optin.forEach((o) => {\n        const name = `list-${t}-${o}-${n}`;\n\n        cy.get('[data-cy=btn-new]').click();\n        cy.get('input[name=name]').type(name);\n        cy.get('select[name=type]').select(t);\n        cy.get('select[name=optin]').select(o);\n        cy.get('input[name=tags]').type(`tag${n}{enter}${t}{enter}${o}{enter}`);\n        cy.get('textarea[name=description]').clear().type(`desc-${t}-${n}`);\n        cy.get('[data-cy=btn-save]').click();\n        cy.wait(200);\n\n        // Confirm the addition by inspecting the newly created list row.\n        const tr = `tbody tr:nth-child(${n + 1})`;\n        cy.get(`${tr} td[data-label=Name]`).contains(name);\n        cy.get(`${tr} td[data-label=Type] .tag[data-cy=type-${t}]`);\n        cy.get(`${tr} td[data-label=Type] .tag[data-cy=optin-${o}]`);\n        n++;\n      });\n    });\n  });\n\n  it('Searches lists', () => {\n    cy.get('[data-cy=query]').clear().type('list-public-single-2{enter}');\n    cy.wait(200);\n    cy.get('tbody tr').its('length').should('eq', 1);\n    cy.get('tbody td[data-label=\"Name\"]').first().contains('list-public-single-2');\n    cy.get('[data-cy=query]').clear().type('{enter}');\n  });\n\n  // Sort lists by clicking on various headers. At this point, there should be four\n  // lists with IDs = [3, 4, 5, 6]. Sort the items be columns and match them with\n  // the expected order of IDs.\n  it('Sorts lists', () => {\n    cy.sortTable('thead th.cy-name', [4, 3, 6, 5]);\n    cy.sortTable('thead th.cy-name', [5, 6, 3, 4]);\n\n    cy.sortTable('thead th.cy-type', [3, 4, 5, 6]);\n    cy.sortTable('thead th.cy-type', [6, 5, 4, 3]);\n\n    cy.sortTable('thead th.cy-created_at', [3, 4, 5, 6]);\n    cy.sortTable('thead th.cy-created_at', [6, 5, 4, 3]);\n\n    cy.sortTable('thead th.cy-updated_at', [3, 4, 5, 6]);\n    cy.sortTable('thead th.cy-updated_at', [6, 5, 4, 3]);\n  });\n\n  it('Opens forms page', () => {\n    const apiUrl = Cypress.env('apiUrl');\n    cy.loginAndVisit(`${apiUrl}/subscription/form`);\n    cy.get('ul li').its('length').should('eq', 2);\n\n    const cases = [\n      { name: 'list-public-single-2', description: 'desc-public-2' },\n      { name: 'list-public-double-3', description: 'desc-public-3' },\n    ];\n\n    cases.forEach((c, n) => {\n      cy.get('ul li').eq(n).then(($el) => {\n        cy.wrap($el).get('label').contains(c.name);\n        cy.wrap($el).get('.description').contains(c.description);\n      });\n    });\n  });\n\n  it('Bulk deletes lists', () => {\n    const apiUrl = Cypress.env('apiUrl');\n\n    // Create 30 in a loop.\n    for (let i = 0; i < 30; i += 1) {\n      cy.request('POST', `${apiUrl}/api/lists`, { name: `test-list-${i}`, type: 'public', optin: 'single' });\n    }\n\n    cy.loginAndVisit('/admin/lists');\n\n    // Bulk delete with the `all` flag.\n    cy.window().scrollTo('top');\n    cy.wait(500);\n    cy.get('thead input[type=\"checkbox\"]').click({ force: true });\n    cy.get('a[data-cy=select-all-lists]').click();\n    cy.get('a[data-cy=btn-delete-lists]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.get('table tr.is-empty');\n\n    // Bulk delete with the selected IDs.\n    // Create 5 lists in a loop.\n    for (let i = 0; i < 5; i += 1) {\n      cy.request('POST', `${apiUrl}/api/lists`, { name: `test-list-bulk-${i}`, type: 'public', optin: 'single' });\n    }\n\n    cy.visit('/admin/lists');\n    cy.wait(500);\n    cy.get('thead input[type=\"checkbox\"]').click({ force: true });\n    cy.get('a[data-cy=btn-delete-lists]').click();\n    cy.get('.modal button.is-primary:eq(0)').click();\n    cy.get('table tr.is-empty');\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/settings.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\n\ndescribe('Settings', () => {\n  it('Opens settings page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/settings');\n  });\n\n  it('Changes some settings', () => {\n    cy.get('.b-tabs nav a').eq(0).click();\n\n    const rootURL = 'http://127.0.0.1:9000';\n    const faveURL = 'http://127.0.0.1:9000/public/static/logo.png';\n\n    cy.get('input[name=\"app.root_url\"]').clear().type(rootURL);\n    cy.get('input[name=\"app.favicon_url\"]').type(faveURL);\n    cy.get('.b-tabs nav a').eq(1).click();\n    cy.get('.tab-item:visible').find('.field').first()\n      .find('button')\n      .first()\n      .click();\n\n    // Enable / disable SMTP and delete one.\n    cy.get('.b-tabs nav a').eq(5).click();\n    cy.get('.tab-item:visible [data-cy=btn-enable-smtp]').eq(1).click();\n    cy.get('.tab-item:visible [data-cy=btn-delete-smtp]').first().click();\n    cy.get('.modal button.is-primary').click();\n\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(500);\n\n    cy.waitForBackend();\n  });\n\n  it('Verify settings change', () => {\n    // Verify the changes.\n    cy.request(`${apiUrl}/api/settings`).should((response) => {\n      const { data } = response.body;\n      expect(data['app.root_url']).to.equal(rootURL);\n      expect(data['app.favicon_url']).to.equal(faveURL);\n      expect(data['app.concurrency']).to.equal(9);\n\n      expect(data.smtp.length).to.equal(1);\n      expect(data.smtp[0].enabled).to.equal(true);\n    });\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/subscribers.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\n\ndescribe('Subscribers', () => {\n  it('Opens subscribers page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/subscribers');\n  });\n\n  it('Counts subscribers', () => {\n    cy.get('tbody td[data-label=E-mail]').its('length').should('eq', 2);\n  });\n\n  it('Searches subscribers', () => {\n    const cases = [\n      { value: 'john{enter}', count: 1, contains: 'john@example.com' },\n      { value: 'anon{enter}', count: 1, contains: 'anon@example.com' },\n      { value: '{enter}', count: 2, contains: null },\n    ];\n\n    cases.forEach((c) => {\n      cy.get('[data-cy=search]').clear().type(c.value);\n      cy.get('tbody td[data-label=E-mail]').its('length').should('eq', c.count);\n      if (c.contains) {\n        cy.get('tbody td[data-label=E-mail]').contains(c.contains);\n      }\n    });\n  });\n\n  it('Exports subscribers', () => {\n    const cases = [\n      {\n        listIDs: [], ids: [], query: '', length: 3,\n      },\n      {\n        listIDs: [], ids: [], query: \"name ILIKE '%anon%'\", length: 2,\n      },\n      {\n        listIDs: [], ids: [], query: \"name like 'nope'\", length: 1,\n      },\n    ];\n\n    // listIDs[] and ids[] are unused for now as Cypress doesn't support encoding of arrays in `qs`.\n    cases.forEach((c) => {\n      cy.request({ url: `${apiUrl}/api/subscribers/export`, qs: { query: c.query, list_id: c.listIDs, id: c.ids } }).then((resp) => {\n        cy.expect(resp.body.trim().split('\\n')).to.have.lengthOf(c.length);\n      });\n    });\n  });\n\n  it('Advanced searches subscribers', () => {\n    cy.get('[data-cy=btn-advanced-search]').click();\n\n    const cases = [\n      { value: 'subscribers.attribs->>\\'city\\'=\\'Bengaluru\\'', count: 2 },\n      { value: 'subscribers.attribs->>\\'city\\'=\\'Bengaluru\\' AND id=1', count: 1 },\n      { value: '(subscribers.attribs->>\\'good\\')::BOOLEAN = true AND name like \\'Anon%\\'', count: 1 },\n    ];\n\n    cases.forEach((c) => {\n      cy.get('[data-cy=query]').clear().type(c.value);\n      cy.get('[data-cy=btn-query]').click();\n      cy.get('tbody td[data-label=E-mail]').its('length').should('eq', c.count);\n    });\n\n    cy.get('[data-cy=btn-query-reset]').click();\n    cy.wait(1000);\n    cy.get('tbody td[data-label=E-mail]').its('length').should('eq', 2);\n  });\n\n  it('Does bulk subscriber list add and remove', () => {\n    const cases = [\n      // radio: action to perform, rows: table rows to select and perform on: [expected statuses of those rows after thea action]\n      { radio: 'check-list-add', lists: [0, 1], rows: { 0: ['confirmed', 'confirmed'] } },\n      { radio: 'check-list-unsubscribe', lists: [0, 1], rows: { 0: ['unsubscribed', 'unsubscribed'], 1: ['unsubscribed'] } },\n      { radio: 'check-list-remove', lists: [0, 1], rows: { 1: [] } },\n      { radio: 'check-list-add', lists: [0, 1], rows: { 0: ['unsubscribed', 'unsubscribed'], 1: ['unconfirmed', 'unconfirmed'] } },\n      { radio: 'check-list-remove', lists: [0], rows: { 0: ['unsubscribed'] } },\n      { radio: 'check-list-add', lists: [0], rows: { 0: ['unconfirmed', 'unsubscribed'] } },\n    ];\n\n    cases.forEach((c, n) => {\n      // Select one of the 2 subscribers in the table.\n      Object.keys(c.rows).forEach((r) => {\n        cy.get('tbody td.checkbox-cell .checkbox').eq(r).click();\n      });\n\n      // Open the 'manage lists' modal.\n      cy.get('[data-cy=btn-manage-lists]').click();\n\n      // Check both lists in the modal.\n      c.lists.forEach((l) => {\n        cy.get('.list-selector input').click();\n        cy.get('.list-selector .autocomplete a').first().click();\n      });\n\n      // Select the radio option in the modal.\n      cy.get(`[data-cy=${c.radio}] .check`).click();\n\n      // For the first test, check the optin preconfirm box.\n      if (n === 0) {\n        cy.get('[data-cy=preconfirm]').click();\n      }\n\n      // Save.\n      cy.get('.modal button.is-primary').click();\n\n      // Check the status of the lists on the subscriber.\n      Object.keys(c.rows).forEach((r) => {\n        cy.get('tbody td[data-label=E-mail]').eq(r).find('.tags').then(($el) => {\n          cy.wrap($el).find('.tag').should('have.length', c.rows[r].length);\n          c.rows[r].forEach((status, n) => {\n            // eg: .tag(n).unconfirmed\n            cy.wrap($el).find('.tag').eq(n).should('have.class', status);\n          });\n        });\n      });\n    });\n  });\n\n  it('Resets subscribers page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/subscribers');\n  });\n\n  it('Edits subscribers', () => {\n    const status = ['enabled', 'blocklisted'];\n    const json = '{\"string\": \"hello\", \"ints\": [1,2,3], \"null\": null, \"sub\": {\"bool\": true}}';\n\n    // Collect values being edited on each sub to confirm the changes in the next step\n    // index by their ID shown in the modal.\n    const rows = {};\n\n    // Open the edit popup and edit the default lists.\n    cy.get('[data-cy=btn-edit]').each(($el, n) => {\n      const email = `email-${n}@EMAIL.com`;\n      const name = `name-${n}`;\n\n      // Open the edit modal.\n      cy.wrap($el).click();\n\n      // Get the ID from the header and proceed to fill the form.\n      let id = 0;\n      cy.get('[data-cy=id]').then(($el) => {\n        id = parseInt($el.text());\n\n        cy.get('input[name=email]').clear().type(email);\n        cy.get('input[name=name]').clear().type(name);\n\n        if (status[n] === 'blocklisted') {\n          cy.get('select[name=status]').select(status[n]);\n        }\n        cy.get('.list-selector input').click();\n        cy.get('.list-selector .autocomplete a').first().click();\n        cy.get('textarea[name=attribs]').clear().type(json, { parseSpecialCharSequences: false, delay: 0 });\n        cy.get('.modal-card-foot button[type=submit]').click();\n\n        rows[id] = { email, name, status: status[n] };\n      });\n    });\n\n    // Confirm the edits on the table.\n    cy.wait(500);\n    cy.log(rows);\n    cy.get('tbody tr').each(($el) => {\n      cy.wrap($el).find('td[data-id]').invoke('attr', 'data-id').then((idStr) => {\n        const id = parseInt(idStr);\n        cy.wrap($el).find('td[data-label=E-mail]').contains(rows[id].email.toLowerCase());\n        cy.wrap($el).find('td[data-label=Name]').contains(rows[id].name);\n\n        if (rows[id].status === 'blocklisted') {\n          cy.wrap($el).find('[data-cy=blocklisted]');\n        }\n\n        // Both lists on the enabled sub should be 'unconfirmed' and the blocklisted one, 'unsubscribed.'\n        cy.wrap($el).find(`.tags .${rows[id].status === 'enabled' ? 'unconfirmed' : 'unsubscribed'}`)\n          .its('length').should('eq', 2);\n        cy.wrap($el).find('td[data-label=Lists]').then((l) => {\n          cy.expect(parseInt(l.text().trim())).to.equal(rows[id].status === 'blocklisted' ? 0 : 2);\n        });\n      });\n    });\n  });\n\n  it('Deletes subscribers', () => {\n    // Delete all visible lists.\n    cy.get('tbody tr').each(() => {\n      cy.get('tbody a[data-cy=btn-delete]').first().click();\n      cy.get('.modal button.is-primary').click();\n    });\n\n    // Confirm deletion.\n    cy.get('table tr.is-empty');\n  });\n\n  it('Creates new subscribers', () => {\n    const statuses = ['enabled', 'blocklisted'];\n    const lists = [[1], [2], [1, 2]];\n    const json = '{\"string\": \"hello\", \"ints\": [1,2,3], \"null\": null, \"sub\": {\"bool\": true}}';\n\n    // Cycle through each status and each list ID combination and create subscribers.\n    const n = 0;\n    for (let n = 0; n < 6; n++) {\n      const email = `email-${n}@EMAIL.com`;\n      const name = `name-${n}`;\n      const status = statuses[(n + 1) % statuses.length];\n      const list = lists[(n + 1) % lists.length];\n\n      cy.get('[data-cy=btn-new]').click();\n      cy.get('input[name=email]').type(email);\n      cy.get('input[name=name]').type(name);\n      cy.get('select[name=status]').select(status);\n\n      list.forEach((l) => {\n        cy.get('.list-selector input').click();\n        cy.get('.list-selector .autocomplete a').first().click();\n      });\n      cy.get('textarea[name=attribs]').clear().type(json, { parseSpecialCharSequences: false, delay: 0 });\n      cy.get('.modal-card-foot button[type=submit]').click();\n\n      // Confirm the addition by inspecting the newly created list row,\n      // which is always the first row in the table.\n      cy.wait(250);\n      const tr = cy.get('tbody tr:nth-child(1)').then(($el) => {\n        cy.wrap($el).find('td[data-label=E-mail]').contains(email.toLowerCase());\n        cy.wrap($el).find('td[data-label=Name]').contains(name);\n\n        if (status === 'blocklisted') {\n          cy.wrap($el).find('[data-cy=blocklisted]');\n        }\n        cy.wrap($el).find(`.tags .${status === 'enabled' ? 'unconfirmed' : 'unsubscribed'}`)\n          .its('length').should('eq', list.length);\n        cy.wrap($el).find('td[data-label=Lists]').then((l) => {\n          cy.expect(parseInt(l.text().trim())).to.equal(status === 'blocklisted' ? 0 : list.length);\n        });\n      });\n    }\n  });\n\n  it('Sorts subscribers', () => {\n    const asc = [3, 4, 5, 6, 7, 8];\n    const desc = [8, 7, 6, 5, 4, 3];\n    const cases = ['cy-email', 'cy-name', 'cy-created_at', 'cy-updated_at'];\n\n    cases.forEach((c) => {\n      cy.sortTable(`thead th.${c}`, asc);\n      cy.wait(250);\n      cy.sortTable(`thead th.${c}`, desc);\n      cy.wait(250);\n    });\n  });\n});\n\ndescribe('Domain blocklist', () => {\n  it('Opens settings page', () => {\n    cy.resetDB();\n  });\n\n  it('Add domains to blocklist', () => {\n    cy.loginAndVisit('/admin/settings');\n    cy.get('.b-tabs nav a').eq(2).click();\n    cy.get('textarea[name=\"privacy.domain_blocklist\"]').clear().type('ban.net\\n\\nBaN.OrG\\n\\nban.com\\n\\n');\n    cy.get('[data-cy=btn-save]').click();\n  });\n\n  it('Try subscribing via public page', () => {\n    cy.wait(1000);\n    cy.visit(`${apiUrl}/subscription/form`);\n    cy.get('input[name=email]').clear().type('test@noban.net');\n    cy.get('button[type=submit]').click();\n    cy.get('h2').contains('Subscribe');\n\n    cy.visit(`${apiUrl}/subscription/form`);\n    cy.get('input[name=email]').clear().type('test@ban.net');\n    cy.get('button[type=submit]').click();\n    cy.get('h2').contains('Error');\n  });\n\n  // Post to the admin API.\n  it('Try via admin API', () => {\n    cy.wait(1000);\n\n    // Add non-banned domain.\n    cy.request({\n      method: 'POST',\n      url: `${apiUrl}/api/subscribers`,\n      failOnStatusCode: true,\n      body: {\n        email: 'test1@noban.net', name: 'test', lists: [1], status: 'enabled',\n      },\n    }).should((response) => {\n      expect(response.status).to.equal(200);\n    });\n\n    // Add banned domain.\n    cy.request({\n      method: 'POST',\n      url: `${apiUrl}/api/subscribers`,\n      failOnStatusCode: false,\n      body: {\n        email: 'test1@ban.com', name: 'test', lists: [1], status: 'enabled',\n      },\n    }).should((response) => {\n      expect(response.status).to.equal(400);\n    });\n\n    // Modify an existinb subscriber to a banned domain.\n    cy.request({\n      method: 'PUT',\n      url: `${apiUrl}/api/subscribers/1`,\n      failOnStatusCode: false,\n      body: {\n        email: 'test3@ban.org', name: 'test', lists: [1], status: 'enabled',\n      },\n    }).should((response) => {\n      expect(response.status).to.equal(400);\n    });\n  });\n\n  it('Try via import', () => {\n    cy.loginAndVisit('/admin/subscribers/import');\n    cy.get('.list-selector input').click();\n    cy.get('.list-selector .autocomplete a').first().click();\n\n    cy.fixture('subs-domain-blocklist.csv').then((data) => {\n      cy.get('input[type=\"file\"]').attachFile({\n        fileContent: data.toString(),\n        fileName: 'subs.csv',\n        mimeType: 'text/csv',\n      });\n    });\n\n    cy.get('button.is-primary').click();\n    cy.get('section.wrap .has-text-success');\n    // cy.get('button.is-primary').click();\n    cy.get('.log-view').should('contain', 'ban1-import@BAN.net').and('contain', 'ban2-import@ban.ORG');\n    cy.wait(100);\n  });\n\n  it('Clear blocklist and try', () => {\n    cy.loginAndVisit('/admin/settings');\n    cy.get('.b-tabs nav a').eq(2).click();\n    cy.get('textarea[name=\"privacy.domain_blocklist\"]').clear();\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(3000);\n\n    // Add banned domain.\n    cy.request({\n      method: 'POST',\n      url: `${apiUrl}/api/subscribers`,\n      failOnStatusCode: true,\n      body: {\n        email: 'test4@BAN.com', name: 'test', lists: [1], status: 'enabled',\n      },\n    }).should((response) => {\n      expect(response.status).to.equal(200);\n    });\n\n    // Modify an existinb subscriber to a banned domain.\n    cy.request({\n      method: 'PUT',\n      url: `${apiUrl}/api/subscribers/1`,\n      failOnStatusCode: true,\n      body: {\n        email: 'test4@BAN.org', name: 'test', lists: [1], status: 'enabled',\n      },\n    }).should((response) => {\n      expect(response.status).to.equal(200);\n    });\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/templates.cy.js",
    "content": "describe('Templates', () => {\n  it('Opens templates page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/campaigns/templates');\n  });\n\n  it('Counts default templates', () => {\n    cy.get('tbody td[data-label=Name]').should('have.length', 4);\n  });\n\n  it('Clones campaign template', () => {\n    cy.get('[data-cy=btn-clone]').first().click();\n    cy.get('.modal input').clear().type('cloned campaign').click();\n    cy.get('.modal button.is-primary').click();\n    cy.wait(250);\n\n    // Verify the newly created row.\n    cy.get('tbody td[data-label=\"Name\"]').contains('td', 'cloned campaign');\n  });\n\n  it('Clones tx template', () => {\n    cy.get('tbody td[data-label=\"Name\"]').contains('td', 'Sample transactional template').then((el) => {\n      cy.wrap(el).parent().find('[data-cy=btn-clone]').click();\n      cy.get('.modal input').clear().type('cloned tx').click();\n      cy.get('.modal button.is-primary').click();\n      cy.wait(250);\n    });\n\n    // Verify the newly created row.\n    cy.get('tbody td[data-label=\"Name\"]').contains('td', 'cloned tx');\n  });\n\n  it('Edits template', () => {\n    cy.get('tbody td.actions [data-cy=btn-edit]').first().click();\n    cy.wait(250);\n    cy.get('input[name=name]').clear().type('edited');\n\n    const htmlBody = '<span>test</span><div class=\"wrap\">{{ template \"content\" . }}</div>';\n    cy.get('[role=\"textbox\"]').invoke('text', htmlBody);\n\n    cy.get('.modal-card-foot button.is-primary').click();\n    cy.wait(250);\n    cy.get('tbody td[data-label=\"Name\"] a').contains('edited');\n  });\n\n  it('Previews campaign templates', () => {\n    // Edited one sould have a bare body.\n    cy.get('tbody [data-cy=btn-preview').eq(0).click();\n    cy.wait(500);\n    cy.get('.modal-card-body iframe').iframe(() => {\n      cy.get('span').first().contains('test');\n      cy.get('p').first().contains('Hi there');\n    });\n    cy.get('.modal-card-foot button').click();\n\n    // Cloned one should have the full template.\n    cy.get('tbody').contains('a', 'cloned campaign').parents('tr').find('[data-cy=btn-preview]')\n      .click();\n    cy.wait(500);\n    cy.get('.modal-card-body iframe').iframe(() => {\n      cy.get('.wrap p').first().contains('Hi there');\n      cy.get('.footer a').first().contains('Unsubscribe');\n    });\n    cy.get('.modal-card-foot button').click();\n  });\n\n  it('Previews tx templates', () => {\n    cy.get('tbody td[data-label=\"Name\"]').contains('td', 'cloned tx').then((el) => {\n      cy.wrap(el).parent().find('[data-cy=btn-preview]').click();\n      cy.wait(500);\n      cy.get('.modal-card-body iframe').iframe(() => {\n        cy.get('strong').first().contains('Order number');\n      });\n      cy.get('.modal-card-foot button').click();\n    });\n  });\n\n  it('Sets default', () => {\n    cy.get('tbody td[data-label=\"Name\"]').contains('td', 'cloned campaign').then((el) => {\n      cy.wrap(el).parent().find('[data-cy=btn-set-default]').click();\n      cy.get('.modal button.is-primary').click();\n    });\n\n    // The original default shouldn't have default and the new one should have.\n    cy.get('tbody').contains('td', 'edited').parent().find('[data-cy=btn-delete]')\n      .should('exist');\n    cy.get('tbody').contains('td', 'cloned campaign').parent().find('[data-cy=btn-delete]')\n      .should('not.exist');\n  });\n\n  it('Deletes template', () => {\n    cy.wait(250);\n\n    ['Default archive template', 'Sample transactional template'].forEach((t) => {\n      cy.get('tbody td[data-label=\"Name\"]').contains('td', t).then((el) => {\n        cy.wrap(el).parent().find('[data-cy=btn-delete]').click();\n        cy.get('.modal button.is-primary').click();\n      });\n      cy.wait(250);\n    });\n\n    cy.get('tbody td.actions').should('have.length', 4);\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/e2e/users.cy.js",
    "content": "const apiUrl = Cypress.env('apiUrl');\n\ndescribe('First time user setup', () => {\n  it('Sets up the superadmin user', () => {\n    cy.resetDBBlank();\n    cy.visit('/admin/login');\n\n    cy.get('input[name=email]').type('super@domain');\n    cy.get('input[name=username]').type('super');\n    cy.get('input[name=password]').type('super123');\n    cy.get('input[name=password2]').type('super123');\n    cy.get('button[type=submit]').click();\n    cy.wait(500);\n    cy.visit('/admin/users');\n\n    cy.get('[data-cy=btn-edit]').first().click();\n    cy.get('select[name=user_role]').should('have.value', '1');\n  });\n});\n\ndescribe('User roles', () => {\n  it('Opens user roles page', () => {\n    cy.resetDB();\n    cy.loginAndVisit('/admin/users/roles/users');\n  });\n\n  it('Adds new roles', () => {\n    // first - no global list perms.\n    cy.get('[data-cy=btn-new]').click();\n    cy.get('input[name=name]').type('first');\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(500);\n\n    // second - all perms.\n    cy.get('[data-cy=btn-new]').click();\n    cy.get('input[name=name]').type('second');\n    cy.get('input[type=checkbox]').each((e) => {\n      cy.get(e).check({ force: true });\n    });\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(200);\n  });\n\n  it('Edits role', () => {\n    cy.get('[data-cy=btn-edit]').first().click();\n    cy.get('input[value=\"users:get\"]').check({ force: true });\n    cy.get('[data-cy=btn-save]').click();\n  });\n\n  it('Deletes role', () => {\n    cy.get('[data-cy=btn-clone]').last().click();\n    cy.get('.modal-card-foot button.is-primary').click();\n    cy.wait(500);\n    cy.get('[data-cy=btn-delete]').last().click();\n    cy.get('.modal button.is-primary').click();\n\n    cy.get('tbody tr').should('have.length', 3);\n  });\n});\n\ndescribe('List roles', () => {\n  it('Opens roles page', () => {\n    cy.loginAndVisit('/admin/users/roles/lists');\n  });\n\n  it('Adds new roles', () => {\n    cy.get('[data-cy=btn-new]').click();\n    cy.get('input[name=name]').type('first');\n    cy.get('.box button.is-primary').click();\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(500);\n\n    cy.get('[data-cy=btn-new]').click();\n    cy.get('input[name=name]').type('second');\n    cy.get('.box button.is-primary').click();\n    cy.get('.box button.is-primary').click();\n    cy.get('[data-cy=btn-save]').click();\n    cy.wait(500);\n  });\n\n  it('Edits role', () => {\n    cy.get('[data-cy=btn-edit]').eq(1).click();\n\n    // Uncheck \"manage\" permission on the second item.\n    cy.get('input[type=checkbox]').eq(3).uncheck({ force: true });\n    cy.get('[data-cy=btn-save]').click();\n  });\n\n  it('Deletes role', () => {\n    cy.get('[data-cy=btn-clone]').last().click();\n    cy.get('.modal-card-foot button.is-primary').click();\n    cy.wait(500);\n    cy.get('[data-cy=btn-delete]').last().click();\n    cy.get('.modal button.is-primary').click();\n\n    cy.get('tbody tr').should('have.length', 2);\n  });\n});\n\ndescribe('Users ', () => {\n  it('Opens users page', () => {\n    cy.loginAndVisit('/admin/users');\n  });\n\n  it('Adds new users', () => {\n    ['first', 'second', 'third'].forEach((name) => {\n      cy.get('[data-cy=btn-new]').click();\n      cy.get('input[name=username]').type(name);\n      cy.get('input[name=name]').type(name);\n      cy.get('input[name=email]').type(`${name}@domain`);\n      cy.get('input[name=password_login]').check({ force: true });\n      cy.get('input[name=password]').type(`${name}000000`);\n      cy.get('input[name=password2]').type(`${name}000000`);\n\n      const role = name !== 'third' ? name : 'first';\n      cy.get('select[name=user_role]').select(role);\n      cy.get('select[name=list_role]').select(role);\n      cy.get('.modal button.is-primary').click();\n      cy.wait(500);\n    });\n  });\n\n  it('Edits user', () => {\n    cy.get('[data-cy=btn-edit]').last().click();\n    cy.get('input[name=password_login]').uncheck({ force: true });\n    cy.get('select[name=user_role]').select('second');\n    cy.get('select[name=list_role]').select('second');\n    cy.get('.modal button.is-primary').click();\n    cy.wait(500);\n\n    // Fetch the campaigns API and verfiy the values that couldn't be verified on the table UI.\n    cy.request(`${apiUrl}/api/users/4`).should((response) => {\n      const { data } = response.body;\n\n      expect(data.password_login).to.equal(false);\n      expect(data.user_role.name).to.equal('second');\n      expect(data.list_role.name).to.equal('second');\n    });\n  });\n\n  it('Deletes a user', () => {\n    cy.get('[data-cy=btn-delete]').last().click();\n    cy.get('.modal-card-foot button.is-primary').click();\n    cy.wait(500);\n    cy.get('tbody tr').should('have.length', 3);\n  });\n});\n\ndescribe('Login ', () => {\n  it('Logs in as first', () => {\n    cy.visit('/admin/login?next=/admin/lists');\n    cy.get('input[name=username]').invoke('val', 'first');\n    cy.get('input[name=password]').invoke('val', 'first000000');\n    cy.get('button').click();\n\n    // first=only default list.\n    cy.get('tbody tr').should('have.length', 1);\n    cy.get('tbody td[data-label=Name]').contains('Default list');\n    cy.get('[data-cy=btn-new]').should('not.exist');\n    cy.get('[data-cy=btn-edit]').should('exist');\n    cy.get('[data-cy=btn-delete]').should('exist');\n  });\n\n  it('Logs in as second', () => {\n    cy.visit('/admin/login?next=/admin/lists');\n    cy.get('input[name=username]').invoke('val', 'second');\n    cy.get('input[name=password]').invoke('val', 'second000000');\n    cy.get('button').click();\n\n    // first=only default list.\n    cy.get('tbody tr').should('have.length', 2);\n    cy.get('tbody tr:nth-child(1) [data-cy=btn-edit]').should('exist');\n    cy.get('tbody tr:nth-child(1) [data-cy=btn-delete]').should('exist');\n    cy.get('tbody tr:nth-child(2) [data-cy=btn-edit]').should('exist');\n    cy.get('tbody tr:nth-child(2) [data-cy=btn-delete]').should('exist');\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/fixtures/subs-domain-blocklist.csv",
    "content": "email,name,attributes\nnoban1-import@mail.com,First0 Last0,\"{\"\"age\"\": 29, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX79\"\"}\"\nban1-import@BAN.net,First1 Last1,\"{\"\"age\"\": 43, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX71\"\"}\"\nnoban2-import1@mail.com,First2 Last2,\"{\"\"age\"\": 47, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX70\"\"}\"\nban2-import@ban.ORG,First1 Last1,\"{\"\"age\"\": 43, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX71\"\"}\"\n"
  },
  {
    "path": "frontend/cypress/fixtures/subs.csv",
    "content": "email,name,attributes\r\nuser0@mail.com,First0 Last0,\"{\"\"age\"\": 29, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX79\"\"}\"\r\nuser1@mail.com,First1 Last1,\"{\"\"age\"\": 43, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX71\"\"}\"\r\nuser2@mail.com,First2 Last2,\"{\"\"age\"\": 47, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX70\"\"}\"\r\nuser3@mail.com,First3 Last3,\"{\"\"age\"\": 67, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX32\"\"}\"\r\nuser4@mail.com,First4 Last4,\"{\"\"age\"\": 63, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX30\"\"}\"\r\nuser5@mail.com,First5 Last5,\"{\"\"age\"\": 69, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX64\"\"}\"\r\nuser6@mail.com,First6 Last6,\"{\"\"age\"\": 68, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX22\"\"}\"\r\nuser7@mail.com,First7 Last7,\"{\"\"age\"\": 56, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX54\"\"}\"\r\nuser8@mail.com,First8 Last8,\"{\"\"age\"\": 58, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX65\"\"}\"\r\nuser9@mail.com,First9 Last9,\"{\"\"age\"\": 51, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX66\"\"}\"\r\nuser10@mail.com,First10 Last10,\"{\"\"age\"\": 53, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX31\"\"}\"\r\nuser11@mail.com,First11 Last11,\"{\"\"age\"\": 46, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX59\"\"}\"\r\nuser12@mail.com,First12 Last12,\"{\"\"age\"\": 41, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX80\"\"}\"\r\nuser13@mail.com,First13 Last13,\"{\"\"age\"\": 27, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX96\"\"}\"\r\nuser14@mail.com,First14 Last14,\"{\"\"age\"\": 51, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX22\"\"}\"\r\nuser15@mail.com,First15 Last15,\"{\"\"age\"\": 31, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX97\"\"}\"\r\nuser16@mail.com,First16 Last16,\"{\"\"age\"\": 59, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX41\"\"}\"\r\nuser17@mail.com,First17 Last17,\"{\"\"age\"\": 29, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX93\"\"}\"\r\nuser18@mail.com,First18 Last18,\"{\"\"age\"\": 39, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX35\"\"}\"\r\nuser19@mail.com,First19 Last19,\"{\"\"age\"\": 67, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX21\"\"}\"\r\nuser20@mail.com,First20 Last20,\"{\"\"age\"\": 66, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX56\"\"}\"\r\nuser21@mail.com,First21 Last21,\"{\"\"age\"\": 39, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX26\"\"}\"\r\nuser22@mail.com,First22 Last22,\"{\"\"age\"\": 44, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX98\"\"}\"\r\nuser23@mail.com,First23 Last23,\"{\"\"age\"\": 66, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX64\"\"}\"\r\nuser24@mail.com,First24 Last24,\"{\"\"age\"\": 48, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX41\"\"}\"\r\nuser25@mail.com,First25 Last25,\"{\"\"age\"\": 38, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX80\"\"}\"\r\nuser26@mail.com,First26 Last26,\"{\"\"age\"\": 27, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX26\"\"}\"\r\nuser27@mail.com,First27 Last27,\"{\"\"age\"\": 59, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX55\"\"}\"\r\nuser28@mail.com,First28 Last28,\"{\"\"age\"\": 49, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX45\"\"}\"\r\nuser29@mail.com,First29 Last29,\"{\"\"age\"\": 45, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX74\"\"}\"\r\nuser30@mail.com,First30 Last30,\"{\"\"age\"\": 47, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX27\"\"}\"\r\nuser31@mail.com,First31 Last31,\"{\"\"age\"\": 21, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX37\"\"}\"\r\nuser32@mail.com,First32 Last32,\"{\"\"age\"\": 21, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX50\"\"}\"\r\nuser33@mail.com,First33 Last33,\"{\"\"age\"\": 70, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX29\"\"}\"\r\nuser34@mail.com,First34 Last34,\"{\"\"age\"\": 59, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX95\"\"}\"\r\nuser35@mail.com,First35 Last35,\"{\"\"age\"\": 36, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX79\"\"}\"\r\nuser36@mail.com,First36 Last36,\"{\"\"age\"\": 47, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX30\"\"}\"\r\nuser37@mail.com,First37 Last37,\"{\"\"age\"\": 36, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX92\"\"}\"\r\nuser38@mail.com,First38 Last38,\"{\"\"age\"\": 29, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX48\"\"}\"\r\nuser39@mail.com,First39 Last39,\"{\"\"age\"\": 23, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX12\"\"}\"\r\nuser40@mail.com,First40 Last40,\"{\"\"age\"\": 39, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX40\"\"}\"\r\nuser41@mail.com,First41 Last41,\"{\"\"age\"\": 41, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX51\"\"}\"\r\nuser42@mail.com,First42 Last42,\"{\"\"age\"\": 22, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX49\"\"}\"\r\nuser43@mail.com,First43 Last43,\"{\"\"age\"\": 68, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX58\"\"}\"\r\nuser44@mail.com,First44 Last44,\"{\"\"age\"\": 45, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX15\"\"}\"\r\nuser45@mail.com,First45 Last45,\"{\"\"age\"\": 44, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX75\"\"}\"\r\nuser46@mail.com,First46 Last46,\"{\"\"age\"\": 42, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX99\"\"}\"\r\nuser47@mail.com,First47 Last47,\"{\"\"age\"\": 61, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX39\"\"}\"\r\nuser48@mail.com,First48 Last48,\"{\"\"age\"\": 57, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX13\"\"}\"\r\nuser49@mail.com,First49 Last49,\"{\"\"age\"\": 28, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX97\"\"}\"\r\nuser50@mail.com,First50 Last50,\"{\"\"age\"\": 61, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX75\"\"}\"\r\nuser51@mail.com,First51 Last51,\"{\"\"age\"\": 27, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX55\"\"}\"\r\nuser52@mail.com,First52 Last52,\"{\"\"age\"\": 62, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX35\"\"}\"\r\nuser53@mail.com,First53 Last53,\"{\"\"age\"\": 24, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX67\"\"}\"\r\nuser54@mail.com,First54 Last54,\"{\"\"age\"\": 25, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX36\"\"}\"\r\nuser55@mail.com,First55 Last55,\"{\"\"age\"\": 39, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX74\"\"}\"\r\nuser56@mail.com,First56 Last56,\"{\"\"age\"\": 53, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX28\"\"}\"\r\nuser57@mail.com,First57 Last57,\"{\"\"age\"\": 32, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX36\"\"}\"\r\nuser58@mail.com,First58 Last58,\"{\"\"age\"\": 64, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX44\"\"}\"\r\nuser59@mail.com,First59 Last59,\"{\"\"age\"\": 47, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX65\"\"}\"\r\nuser60@mail.com,First60 Last60,\"{\"\"age\"\": 62, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX11\"\"}\"\r\nuser61@mail.com,First61 Last61,\"{\"\"age\"\": 24, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX55\"\"}\"\r\nuser62@mail.com,First62 Last62,\"{\"\"age\"\": 61, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX49\"\"}\"\r\nuser63@mail.com,First63 Last63,\"{\"\"age\"\": 52, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX83\"\"}\"\r\nuser64@mail.com,First64 Last64,\"{\"\"age\"\": 38, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX16\"\"}\"\r\nuser65@mail.com,First65 Last65,\"{\"\"age\"\": 48, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX54\"\"}\"\r\nuser66@mail.com,First66 Last66,\"{\"\"age\"\": 35, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX74\"\"}\"\r\nuser67@mail.com,First67 Last67,\"{\"\"age\"\": 70, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX22\"\"}\"\r\nuser68@mail.com,First68 Last68,\"{\"\"age\"\": 21, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX98\"\"}\"\r\nuser69@mail.com,First69 Last69,\"{\"\"age\"\": 46, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX24\"\"}\"\r\nuser70@mail.com,First70 Last70,\"{\"\"age\"\": 58, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX75\"\"}\"\r\nuser71@mail.com,First71 Last71,\"{\"\"age\"\": 50, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX57\"\"}\"\r\nuser72@mail.com,First72 Last72,\"{\"\"age\"\": 63, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX30\"\"}\"\r\nuser73@mail.com,First73 Last73,\"{\"\"age\"\": 54, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX77\"\"}\"\r\nuser74@mail.com,First74 Last74,\"{\"\"age\"\": 67, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX91\"\"}\"\r\nuser75@mail.com,First75 Last75,\"{\"\"age\"\": 61, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX30\"\"}\"\r\nuser76@mail.com,First76 Last76,\"{\"\"age\"\": 50, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX28\"\"}\"\r\nuser77@mail.com,First77 Last77,\"{\"\"age\"\": 62, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX41\"\"}\"\r\nuser78@mail.com,First78 Last78,\"{\"\"age\"\": 66, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX18\"\"}\"\r\nuser79@mail.com,First79 Last79,\"{\"\"age\"\": 40, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX89\"\"}\"\r\nuser80@mail.com,First80 Last80,\"{\"\"age\"\": 21, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX72\"\"}\"\r\nuser81@mail.com,First81 Last81,\"{\"\"age\"\": 43, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX31\"\"}\"\r\nuser82@mail.com,First82 Last82,\"{\"\"age\"\": 33, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX89\"\"}\"\r\nuser83@mail.com,First83 Last83,\"{\"\"age\"\": 38, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX88\"\"}\"\r\nuser84@mail.com,First84 Last84,\"{\"\"age\"\": 24, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX77\"\"}\"\r\nuser85@mail.com,First85 Last85,\"{\"\"age\"\": 27, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX40\"\"}\"\r\nuser86@mail.com,First86 Last86,\"{\"\"age\"\": 67, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX46\"\"}\"\r\nuser87@mail.com,First87 Last87,\"{\"\"age\"\": 20, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX53\"\"}\"\r\nuser88@mail.com,First88 Last88,\"{\"\"age\"\": 45, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX79\"\"}\"\r\nuser89@mail.com,First89 Last89,\"{\"\"age\"\": 31, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX11\"\"}\"\r\nuser90@mail.com,First90 Last90,\"{\"\"age\"\": 51, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX71\"\"}\"\r\nuser91@mail.com,First91 Last91,\"{\"\"age\"\": 49, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX20\"\"}\"\r\nuser92@mail.com,First92 Last92,\"{\"\"age\"\": 26, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX20\"\"}\"\r\nuser93@mail.com,First93 Last93,\"{\"\"age\"\": 67, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX64\"\"}\"\r\nuser94@mail.com,First94 Last94,\"{\"\"age\"\": 60, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX53\"\"}\"\r\nuser95@mail.com,First95 Last95,\"{\"\"age\"\": 64, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX91\"\"}\"\r\nuser96@mail.com,First96 Last96,\"{\"\"age\"\": 27, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX53\"\"}\"\r\nuser97@mail.com,First97 Last97,\"{\"\"age\"\": 29, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX46\"\"}\"\r\nuser98@mail.com,First98 Last98,\"{\"\"age\"\": 26, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX49\"\"}\"\r\nuser99@mail.com,First99 Last99,\"{\"\"age\"\": 49, \"\"city\"\": \"\"Bangalore\"\", \"\"clientId\"\": \"\"DAXX26\"\"}\"\r\n"
  },
  {
    "path": "frontend/cypress/plugins/index.js",
    "content": "/// <reference types=\"cypress\" />\n// ***********************************************************\n// This example plugins/index.js can be used to load plugins\n//\n// You can change the location of this file or turn off loading\n// the plugins file with the 'pluginsFile' configuration option.\n//\n// You can read more here:\n// https://on.cypress.io/plugins-guide\n// ***********************************************************\n\n// This function is called when a project is opened or re-opened (e.g. due to\n// the project's config changing)\n\n/**\n * @type {Cypress.PluginConfig}\n */\nmodule.exports = (on, config) => {\n  // `on` is used to hook into various events Cypress emits\n  // `config` is the resolved Cypress config\n}\n"
  },
  {
    "path": "frontend/cypress/support/commands.js",
    "content": "import 'cypress-file-upload';\nimport 'cypress-wait-until';\n\nCypress.Commands.add('resetDB', () => {\n  // Although cypress clearly states that a webserver should not be run\n  // from within it, listmonk is killed, the DB reset, and run again\n  // in the background. If the DB is reset without restartin listmonk,\n  // the live Postgres connections in the app throw errors because the\n  // schema changes midway.\n  cy.exec(Cypress.env('serverInitCmd'));\n});\n\nCypress.Commands.add('resetDBBlank', () => {\n  cy.exec(Cypress.env('serverInitBlankCmd'));\n});\n\n// Takes a th class selector of a Buefy table, clicks it sorting the table,\n// then compares the values of [td.data-id] attri of all the rows in the\n// table against the given IDs, asserting the expected order of sort.\nCypress.Commands.add('sortTable', (theadSelector, ordIDs) => {\n  cy.get(theadSelector).click();\n  cy.wait(250);\n  cy.get('tbody td[data-id]').each(($el, index) => {\n    expect(ordIDs[index]).to.equal(parseInt($el.attr('data-id')));\n  });\n});\n\nCypress.Commands.add('loginAndVisit', (url) => {\n  cy.visit(`/admin/login?next=${url}`);\n\n  const username = Cypress.env('LISTMONK_ADMIN_USER') || 'admin';\n  const password = Cypress.env('LISTMONK_ADMIN_PASSWORD') || 'listmonk';\n\n  // Fill the username and passowrd and login.\n  cy.get('input[name=username]').invoke('val', username);\n  cy.get('input[name=password]').invoke('val', password);\n\n  // Submit form.\n  cy.get('button').click();\n});\n\nCypress.Commands.add('clickMenu', (...selectors) => {\n  selectors.forEach((s) => {\n    cy.get(`.menu a[data-cy=\"${s}\"]`).click();\n  });\n});\n\n// https://www.nicknish.co/blog/cypress-targeting-elements-inside-iframes\nCypress.Commands.add('iframe', { prevSubject: 'element' }, ($iframe, callback = () => { }) => cy\n  .wrap($iframe)\n  .should((iframe) => expect(iframe.contents().find('body')).to.exist)\n  .then((iframe) => cy.wrap(iframe.contents().find('body')))\n  .within({}, callback));\n\nCypress.Commands.add('waitForBackend', () => {\n  // Silence all network errors during wait\n  cy.intercept('*', { continueOnNetworkError: true });\n\n  // Keep trying until backend responds successfully\n  cy.waitUntil(\n    () => cy.request({\n      url: '/api/health',\n      failOnStatusCode: false,\n    }).then((res) =>\n      // Re-enable exception handling once backend is healthy\n      res.status === 200),\n    {\n      timeout: 60000,\n      interval: 2000,\n    },\n  );\n});\n\nCypress.on('uncaught:exception', (err, runnable) => {\n  if (err.hasOwnProperty('request')) {\n    return false;\n  }\n\n  return true;\n});\n"
  },
  {
    "path": "frontend/cypress/support/e2e.js",
    "content": "import './commands';\n\nbeforeEach(() => {\n  cy.intercept('GET', '/sockjs-node/**', (req) => {\n    req.destroy();\n  });\n\n  cy.intercept('GET', '/api/health', (req) => {\n    req.reply({});\n  });\n});\n"
  },
  {
    "path": "frontend/cypress/support/reset.sh",
    "content": "#!/bin/bash\n\npkill -9 listmonk\n cd ../\n./listmonk --install --yes\n./listmonk > /dev/null 2>/dev/null &\n"
  },
  {
    "path": "frontend/cypress.config.js",
    "content": "const { defineConfig } = require('cypress');\n\nmodule.exports = defineConfig({\n  env: {\n    apiUrl: 'http://localhost:9000',\n    serverInitCmd:\n      'pkill -9 listmonk | cd ../ && LISTMONK_ADMIN_USER=admin LISTMONK_ADMIN_PASSWORD=listmonk ./listmonk --install --yes && ./listmonk > /dev/null 2>/dev/null &',\n    serverInitBlankCmd:\n      'pkill -9 listmonk | cd ../ && ./listmonk --install --yes && ./listmonk > /dev/null 2>/dev/null &',\n    LISTMONK_ADMIN_USER: 'admin',\n    LISTMONK_ADMIN_PASSWORD: 'listmonk',\n  },\n  viewportWidth: 1400,\n  viewportHeight: 950,\n  e2e: {\n    experimentalRunAllSpecs: true,\n    testIsolation: false,\n    experimentalSessionAndOrigin: false,\n    // We've imported your old cypress plugins here.\n    // You may want to clean this up later by importing these.\n    setupNodeEvents(on, config) {\n      return require('./cypress/plugins/index.js')(on, config);\n    },\n    baseUrl: 'http://localhost:9000',\n  },\n});\n"
  },
  {
    "path": "frontend/email-builder/LICENSE",
    "content": "MIT License\n\nCopyright (c) 2024 Waypoint (Metaccountant, Inc.)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "frontend/email-builder/README.md",
    "content": "# @usewaypoint/editor-sample\n\nUse this as a sample to self-host EmailBuilder.js.\n\nTo run this locally, fork the repository and then in this directory run:\n\n- `npm install`\n- `npx vite`\n\nOnce the server is running, open http://localhost:5173/email-builder-js/ in your browser.\n"
  },
  {
    "path": "frontend/email-builder/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css\" />\n    <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/src/favicon/favicon-32x32.png\" />\n    <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/src/favicon/favicon-16x16.png\" />\n    <meta name=\"viewport\" content=\"width=900\" />\n    <meta name=\"description\" content=\"EmailBuilder.js interactive playground. Brought to you by Waypoint.\" />\n    <title>EmailBuilder.js &mdash; Free and Open Source Template Builder</title>\n    <style>\n      html {\n        margin: 0px;\n        height: 100vh;\n        width: 100%;\n      }\n      body {\n        min-height: 100vh;\n        width: 100%;\n      }\n      #root {\n        /* height: 100vh; */\n        width: 800px;\n        position: relative;\n      }\n      .root-wrapper {\n        padding: 100px;\n        background-color: black;\n      }\n    </style>\n  </head>\n  <body>\n    <div class=\"root-wrapper\">\n      <div id=\"root\" class=\"email-builder-container\"></div>\n    </div>\n    <script type=\"module\">\n      const testData = {\n        \"root\": {\n          \"type\": \"EmailLayout\",\n          \"data\": {\n            \"backdropColor\": \"#F5F5F5\",\n            \"canvasColor\": \"#FFFFFF\",\n            \"textColor\": \"#262626\",\n            \"fontFamily\": \"MODERN_SANS\",\n            \"childrenIds\": [\n              \"block-1727858083795\"\n            ]\n          }\n        },\n        \"block-1727858083795\": {\n          \"type\": \"Text\",\n          \"data\": {\n            \"style\": {\n              \"fontWeight\": \"normal\",\n              \"padding\": {\n                \"top\": 16,\n                \"bottom\": 16,\n                \"right\": 24,\n                \"left\": 24\n              }\n            },\n            \"props\": {\n              \"markdown\": false,\n              \"text\": \"Test template\"\n            }\n          }\n        }\n      }\n\n      import('/src/main.tsx')\n        .then(module => {\n          module.render('root', { data: testData, onChange: (json, html) => {\n            console.log(\"onChange\", json, html)\n          }});\n        })\n        .catch(error => {\n          console.error('Error loading the module:', error);\n        });\n    </script>\n\n    <!-- Prod build -->\n    <!-- <script src=\"dist/listmonk-email-builder.umd.js\"></script>\n    <script>\n      EmailBuilder.render(\"root\");\n    </script> -->\n  </body>\n</html>\n"
  },
  {
    "path": "frontend/email-builder/package.json",
    "content": "{\n  \"name\": \"@listmonk/email-builder\",\n  \"version\": \"1.0.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"vite build\",\n    \"preview\": \"vite preview\"\n  },\n  \"dependencies\": {\n    \"@emotion/react\": \"^11.11.3\",\n    \"@emotion/styled\": \"^11.11.0\",\n    \"@mui/icons-material\": \"^5.15.10\",\n    \"@mui/material\": \"^5.15.10\",\n    \"@usewaypoint/block-avatar\": \"^0.0.3\",\n    \"@usewaypoint/block-button\": \"^0.0.3\",\n    \"@usewaypoint/block-columns-container\": \"^0.0.3\",\n    \"@usewaypoint/block-container\": \"^0.0.2\",\n    \"@usewaypoint/block-divider\": \"^0.0.4\",\n    \"@usewaypoint/block-heading\": \"^0.0.3\",\n    \"@usewaypoint/block-html\": \"^0.0.3\",\n    \"@usewaypoint/block-image\": \"^0.0.5\",\n    \"@usewaypoint/block-spacer\": \"^0.0.3\",\n    \"@usewaypoint/block-text\": \"^0.0.6\",\n    \"@usewaypoint/document-core\": \"^0.0.6\",\n    \"@usewaypoint/email-builder\": \"^0.0.8\",\n    \"highlight.js\": \"^11.9.0\",\n    \"prettier\": \"^3.2.5\",\n    \"react\": \"^18.2.0\",\n    \"react-colorful\": \"^5.6.1\",\n    \"react-dom\": \"^18.2.0\",\n    \"zod\": \"^3.22.4\",\n    \"zustand\": \"^4.5.1\"\n  },\n  \"devDependencies\": {\n    \"@types/node\": \"^22.7.4\",\n    \"@types/react\": \"^18.2.55\",\n    \"@types/react-dom\": \"^18.2.19\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.21.0\",\n    \"@typescript-eslint/parser\": \"^6.21.0\",\n    \"@vitejs/plugin-react-swc\": \"^3.5.0\",\n    \"eslint\": \"^8.56.0\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"eslint-plugin-react-refresh\": \"^0.4.5\",\n    \"eslint-plugin-simple-import-sort\": \"^12.0.0\",\n    \"terser\": \"^5.34.1\",\n    \"typescript\": \"^5.2.2\",\n    \"vite\": \"^5.4.20\"\n  },\n  \"packageManager\": \"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e\"\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/index.tsx",
    "content": "import React from 'react';\n\nimport { Box, Typography } from '@mui/material';\n\nimport { TEditorBlock } from '../../../documents/editor/core';\nimport { setDocument, useDocument, useSelectedBlockId } from '../../../documents/editor/EditorContext';\n\nimport AvatarSidebarPanel from './input-panels/AvatarSidebarPanel';\nimport ButtonSidebarPanel from './input-panels/ButtonSidebarPanel';\nimport ColumnsContainerSidebarPanel from './input-panels/ColumnsContainerSidebarPanel';\nimport ContainerSidebarPanel from './input-panels/ContainerSidebarPanel';\nimport DividerSidebarPanel from './input-panels/DividerSidebarPanel';\nimport EmailLayoutSidebarPanel from './input-panels/EmailLayoutSidebarPanel';\nimport HeadingSidebarPanel from './input-panels/HeadingSidebarPanel';\nimport HtmlSidebarPanel from './input-panels/HtmlSidebarPanel';\nimport ImageSidebarPanel from './input-panels/ImageSidebarPanel';\nimport SpacerSidebarPanel from './input-panels/SpacerSidebarPanel';\nimport TextSidebarPanel from './input-panels/TextSidebarPanel';\n\nfunction renderMessage(val: string) {\n  return (\n    <Box sx={{ m: 3, p: 1, border: '1px dashed', borderColor: 'divider' }}>\n      <Typography color=\"text.secondary\">{val}</Typography>\n    </Box>\n  );\n}\n\nexport default function ConfigurationPanel() {\n  const document = useDocument();\n  const selectedBlockId = useSelectedBlockId();\n\n  if (!selectedBlockId) {\n    return renderMessage('Click on a block to inspect.');\n  }\n  const block = document[selectedBlockId];\n  if (!block) {\n    return renderMessage(`Block with id ${selectedBlockId} was not found. Click on a block to reset.`);\n  }\n\n  const setBlock = (conf: TEditorBlock) => setDocument({ [selectedBlockId]: conf });\n  const { data, type } = block;\n  switch (type) {\n    case 'Avatar':\n      return <AvatarSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Button':\n      return <ButtonSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'ColumnsContainer':\n      return (\n        <ColumnsContainerSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />\n      );\n    case 'Container':\n      return <ContainerSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Divider':\n      return <DividerSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Heading':\n      return <HeadingSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Html':\n      return <HtmlSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Image':\n      return <ImageSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'EmailLayout':\n      return <EmailLayoutSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Spacer':\n      return <SpacerSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    case 'Text':\n      return <TextSidebarPanel key={selectedBlockId} data={data} setData={(data) => setBlock({ type, data })} />;\n    default:\n      return <pre>{JSON.stringify(block, null, '  ')}</pre>;\n  }\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/AvatarSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { AspectRatioOutlined } from '@mui/icons-material';\nimport { ToggleButton } from '@mui/material';\nimport { AvatarProps, AvatarPropsDefaults, AvatarPropsSchema } from '@usewaypoint/block-avatar';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport RadioGroupInput from './helpers/inputs/RadioGroupInput';\nimport SliderInput from './helpers/inputs/SliderInput';\nimport TextInput from './helpers/inputs/TextInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype AvatarSidebarPanelProps = {\n  data: AvatarProps;\n  setData: (v: AvatarProps) => void;\n};\nexport default function AvatarSidebarPanel({ data, setData }: AvatarSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n  const updateData = (d: unknown) => {\n    const res = AvatarPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  const size = data.props?.size ?? AvatarPropsDefaults.size;\n  const imageUrl = data.props?.imageUrl ?? AvatarPropsDefaults.imageUrl;\n  const alt = data.props?.alt ?? AvatarPropsDefaults.alt;\n  const shape = data.props?.shape ?? AvatarPropsDefaults.shape;\n\n  return (\n    <BaseSidebarPanel title=\"Avatar block\">\n      <SliderInput\n        label=\"Size\"\n        iconLabel={<AspectRatioOutlined sx={{ color: 'text.secondary' }} />}\n        units=\"px\"\n        step={3}\n        min={32}\n        max={256}\n        defaultValue={size}\n        onChange={(size) => {\n          updateData({ ...data, props: { ...data.props, size } });\n        }}\n      />\n      <RadioGroupInput\n        label=\"Shape\"\n        defaultValue={shape}\n        onChange={(shape) => {\n          updateData({ ...data, props: { ...data.props, shape } });\n        }}\n      >\n        <ToggleButton value=\"circle\">Circle</ToggleButton>\n        <ToggleButton value=\"square\">Square</ToggleButton>\n        <ToggleButton value=\"rounded\">Rounded</ToggleButton>\n      </RadioGroupInput>\n      <TextInput\n        label=\"Image URL\"\n        className=\"image-url\"\n        defaultValue={imageUrl}\n        onChange={(imageUrl) => {\n          updateData({ ...data, props: { ...data.props, imageUrl } });\n        }}\n      />\n      <TextInput\n        label=\"Alt text\"\n        defaultValue={alt}\n        onChange={(alt) => {\n          updateData({ ...data, props: { ...data.props, alt } });\n        }}\n      />\n\n      <MultiStylePropertyPanel\n        names={['textAlign', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/ButtonSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { ToggleButton } from '@mui/material';\nimport { ButtonProps, ButtonPropsDefaults, ButtonPropsSchema } from '@usewaypoint/block-button';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport ColorInput from './helpers/inputs/ColorInput';\nimport RadioGroupInput from './helpers/inputs/RadioGroupInput';\nimport TextInput from './helpers/inputs/TextInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype ButtonSidebarPanelProps = {\n  data: ButtonProps;\n  setData: (v: ButtonProps) => void;\n};\nexport default function ButtonSidebarPanel({ data, setData }: ButtonSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = ButtonPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  const text = data.props?.text ?? ButtonPropsDefaults.text;\n  const url = data.props?.url ?? ButtonPropsDefaults.url;\n  const fullWidth = data.props?.fullWidth ?? ButtonPropsDefaults.fullWidth;\n  const size = data.props?.size ?? ButtonPropsDefaults.size;\n  const buttonStyle = data.props?.buttonStyle ?? ButtonPropsDefaults.buttonStyle;\n  const buttonTextColor = data.props?.buttonTextColor ?? ButtonPropsDefaults.buttonTextColor;\n  const buttonBackgroundColor = data.props?.buttonBackgroundColor ?? ButtonPropsDefaults.buttonBackgroundColor;\n\n  return (\n    <BaseSidebarPanel title=\"Button block\">\n      <TextInput\n        label=\"Text\"\n        defaultValue={text}\n        onChange={(text) => updateData({ ...data, props: { ...data.props, text } })}\n      />\n      <TextInput\n        label=\"Url\"\n        defaultValue={url}\n        onChange={(url) => updateData({ ...data, props: { ...data.props, url } })}\n      />\n      <RadioGroupInput\n        label=\"Width\"\n        defaultValue={fullWidth ? 'FULL_WIDTH' : 'AUTO'}\n        onChange={(v) => updateData({ ...data, props: { ...data.props, fullWidth: v === 'FULL_WIDTH' } })}\n      >\n        <ToggleButton value=\"FULL_WIDTH\">Full</ToggleButton>\n        <ToggleButton value=\"AUTO\">Auto</ToggleButton>\n      </RadioGroupInput>\n      <RadioGroupInput\n        label=\"Size\"\n        defaultValue={size}\n        onChange={(size) => updateData({ ...data, props: { ...data.props, size } })}\n      >\n        <ToggleButton value=\"x-small\">Xs</ToggleButton>\n        <ToggleButton value=\"small\">Sm</ToggleButton>\n        <ToggleButton value=\"medium\">Md</ToggleButton>\n        <ToggleButton value=\"large\">Lg</ToggleButton>\n      </RadioGroupInput>\n      <RadioGroupInput\n        label=\"Style\"\n        defaultValue={buttonStyle}\n        onChange={(buttonStyle) => updateData({ ...data, props: { ...data.props, buttonStyle } })}\n      >\n        <ToggleButton value=\"rectangle\">Rectangle</ToggleButton>\n        <ToggleButton value=\"rounded\">Rounded</ToggleButton>\n        <ToggleButton value=\"pill\">Pill</ToggleButton>\n      </RadioGroupInput>\n      <ColorInput\n        label=\"Text color\"\n        defaultValue={buttonTextColor}\n        onChange={(buttonTextColor) => updateData({ ...data, props: { ...data.props, buttonTextColor } })}\n      />\n      <ColorInput\n        label=\"Button color\"\n        defaultValue={buttonBackgroundColor}\n        onChange={(buttonBackgroundColor) => updateData({ ...data, props: { ...data.props, buttonBackgroundColor } })}\n      />\n      <MultiStylePropertyPanel\n        names={['backgroundColor', 'fontFamily', 'fontSize', 'fontWeight', 'textAlign', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/ColumnsContainerSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport {\n  SpaceBarOutlined,\n  VerticalAlignBottomOutlined,\n  VerticalAlignCenterOutlined,\n  VerticalAlignTopOutlined,\n} from '@mui/icons-material';\nimport { ToggleButton } from '@mui/material';\n\nimport ColumnsContainerPropsSchema, {\n  ColumnsContainerProps,\n} from '../../../../documents/blocks/ColumnsContainer/ColumnsContainerPropsSchema';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport ColumnWidthsInput from './helpers/inputs/ColumnWidthsInput';\nimport RadioGroupInput from './helpers/inputs/RadioGroupInput';\nimport SliderInput from './helpers/inputs/SliderInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype ColumnsContainerPanelProps = {\n  data: ColumnsContainerProps;\n  setData: (v: ColumnsContainerProps) => void;\n};\nexport default function ColumnsContainerPanel({ data, setData }: ColumnsContainerPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n  const updateData = (d: unknown) => {\n    const res = ColumnsContainerPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Columns block\">\n      <RadioGroupInput\n        label=\"Number of columns\"\n        defaultValue={data.props?.columnsCount === 2 ? '2' : '3'}\n        onChange={(v) => {\n          updateData({ ...data, props: { ...data.props, columnsCount: v === '2' ? 2 : 3 } });\n        }}\n      >\n        <ToggleButton value=\"2\">2</ToggleButton>\n        <ToggleButton value=\"3\">3</ToggleButton>\n      </RadioGroupInput>\n      <ColumnWidthsInput\n        defaultValue={data.props?.fixedWidths}\n        onChange={(fixedWidths) => {\n          updateData({ ...data, props: { ...data.props, fixedWidths } });\n        }}\n      />\n      <SliderInput\n        label=\"Columns gap\"\n        iconLabel={<SpaceBarOutlined sx={{ color: 'text.secondary' }} />}\n        units=\"px\"\n        step={4}\n        marks\n        min={0}\n        max={80}\n        defaultValue={data.props?.columnsGap ?? 0}\n        onChange={(columnsGap) => updateData({ ...data, props: { ...data.props, columnsGap } })}\n      />\n      <RadioGroupInput\n        label=\"Alignment\"\n        defaultValue={data.props?.contentAlignment ?? 'middle'}\n        onChange={(contentAlignment) => {\n          updateData({ ...data, props: { ...data.props, contentAlignment } });\n        }}\n      >\n        <ToggleButton value=\"top\">\n          <VerticalAlignTopOutlined fontSize=\"small\" />\n        </ToggleButton>\n        <ToggleButton value=\"middle\">\n          <VerticalAlignCenterOutlined fontSize=\"small\" />\n        </ToggleButton>\n        <ToggleButton value=\"bottom\">\n          <VerticalAlignBottomOutlined fontSize=\"small\" />\n        </ToggleButton>\n      </RadioGroupInput>\n\n      <MultiStylePropertyPanel\n        names={['backgroundColor', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/ContainerSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport ContainerPropsSchema, { ContainerProps } from '../../../../documents/blocks/Container/ContainerPropsSchema';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype ContainerSidebarPanelProps = {\n  data: ContainerProps;\n  setData: (v: ContainerProps) => void;\n};\n\nexport default function ContainerSidebarPanel({ data, setData }: ContainerSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n  const updateData = (d: unknown) => {\n    const res = ContainerPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n  return (\n    <BaseSidebarPanel title=\"Container block\">\n      <MultiStylePropertyPanel\n        names={['backgroundColor', 'borderColor', 'borderRadius', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/DividerSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { HeightOutlined } from '@mui/icons-material';\nimport { DividerProps, DividerPropsDefaults, DividerPropsSchema } from '@usewaypoint/block-divider';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport ColorInput from './helpers/inputs/ColorInput';\nimport SliderInput from './helpers/inputs/SliderInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype DividerSidebarPanelProps = {\n  data: DividerProps;\n  setData: (v: DividerProps) => void;\n};\nexport default function DividerSidebarPanel({ data, setData }: DividerSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n  const updateData = (d: unknown) => {\n    const res = DividerPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  const lineColor = data.props?.lineColor ?? DividerPropsDefaults.lineColor;\n  const lineHeight = data.props?.lineHeight ?? DividerPropsDefaults.lineHeight;\n\n  return (\n    <BaseSidebarPanel title=\"Divider block\">\n      <ColorInput\n        label=\"Color\"\n        defaultValue={lineColor}\n        onChange={(lineColor) => updateData({ ...data, props: { ...data.props, lineColor } })}\n      />\n      <SliderInput\n        label=\"Height\"\n        iconLabel={<HeightOutlined sx={{ color: 'text.secondary' }} />}\n        units=\"px\"\n        step={1}\n        min={1}\n        max={24}\n        defaultValue={lineHeight}\n        onChange={(lineHeight) => updateData({ ...data, props: { ...data.props, lineHeight } })}\n      />\n      <MultiStylePropertyPanel\n        names={['backgroundColor', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/EmailLayoutSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { RoundedCornerOutlined } from '@mui/icons-material';\n\nimport EmailLayoutPropsSchema, {\n  EmailLayoutProps,\n} from '../../../../documents/blocks/EmailLayout/EmailLayoutPropsSchema';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport ColorInput, { NullableColorInput } from './helpers/inputs/ColorInput';\nimport { NullableFontFamily } from './helpers/inputs/FontFamily';\nimport SliderInput from './helpers/inputs/SliderInput';\n\ntype EmailLayoutSidebarFieldsProps = {\n  data: EmailLayoutProps;\n  setData: (v: EmailLayoutProps) => void;\n};\nexport default function EmailLayoutSidebarFields({ data, setData }: EmailLayoutSidebarFieldsProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = EmailLayoutPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Global\">\n      <ColorInput\n        label=\"Backdrop color\"\n        defaultValue={data.backdropColor ?? '#F5F5F5'}\n        onChange={(backdropColor) => updateData({ ...data, backdropColor })}\n      />\n      <ColorInput\n        label=\"Canvas color\"\n        defaultValue={data.canvasColor ?? '#FFFFFF'}\n        onChange={(canvasColor) => updateData({ ...data, canvasColor })}\n      />\n      <NullableColorInput\n        label=\"Canvas border color\"\n        defaultValue={data.borderColor ?? null}\n        onChange={(borderColor) => updateData({ ...data, borderColor })}\n      />\n      <SliderInput\n        iconLabel={<RoundedCornerOutlined />}\n        units=\"px\"\n        step={4}\n        marks\n        min={0}\n        max={48}\n        label=\"Canvas border radius\"\n        defaultValue={data.borderRadius ?? 0}\n        onChange={(borderRadius) => updateData({ ...data, borderRadius })}\n      />\n      <NullableFontFamily\n        label=\"Font family\"\n        defaultValue=\"MODERN_SANS\"\n        onChange={(fontFamily) => updateData({ ...data, fontFamily })}\n      />\n      <ColorInput\n        label=\"Text color\"\n        defaultValue={data.textColor ?? '#262626'}\n        onChange={(textColor) => updateData({ ...data, textColor })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/HeadingSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { ToggleButton } from '@mui/material';\nimport { HeadingProps, HeadingPropsDefaults, HeadingPropsSchema } from '@usewaypoint/block-heading';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport RadioGroupInput from './helpers/inputs/RadioGroupInput';\nimport TextInput from './helpers/inputs/TextInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype HeadingSidebarPanelProps = {\n  data: HeadingProps;\n  setData: (v: HeadingProps) => void;\n};\nexport default function HeadingSidebarPanel({ data, setData }: HeadingSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = HeadingPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Heading block\">\n      <TextInput\n        label=\"Content\"\n        rows={3}\n        defaultValue={data.props?.text ?? HeadingPropsDefaults.text}\n        onChange={(text) => {\n          updateData({ ...data, props: { ...data.props, text } });\n        }}\n      />\n      <RadioGroupInput\n        label=\"Level\"\n        defaultValue={data.props?.level ?? HeadingPropsDefaults.level}\n        onChange={(level) => {\n          updateData({ ...data, props: { ...data.props, level } });\n        }}\n      >\n        <ToggleButton value=\"h1\">H1</ToggleButton>\n        <ToggleButton value=\"h2\">H2</ToggleButton>\n        <ToggleButton value=\"h3\">H3</ToggleButton>\n      </RadioGroupInput>\n      <MultiStylePropertyPanel\n        names={['color', 'backgroundColor', 'fontFamily', 'fontWeight', 'textAlign', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/HtmlSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { HtmlProps, HtmlPropsSchema } from '@usewaypoint/block-html';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport TextInput from './helpers/inputs/TextInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype HtmlSidebarPanelProps = {\n  data: HtmlProps;\n  setData: (v: HtmlProps) => void;\n};\nexport default function HtmlSidebarPanel({ data, setData }: HtmlSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = HtmlPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Html block\">\n      <TextInput\n        label=\"Content\"\n        rows={5}\n        defaultValue={data.props?.contents ?? ''}\n        onChange={(contents) => updateData({ ...data, props: { ...data.props, contents } })}\n      />\n      <MultiStylePropertyPanel\n        names={['color', 'backgroundColor', 'fontFamily', 'fontSize', 'textAlign', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/ImageSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\nimport CloudUploadIcon from '@mui/icons-material/CloudUpload';\nimport {\n  VerticalAlignBottomOutlined,\n  VerticalAlignCenterOutlined,\n  VerticalAlignTopOutlined,\n} from '@mui/icons-material';\nimport { Stack, ToggleButton } from '@mui/material';\nimport { ImageProps, ImagePropsSchema } from '@usewaypoint/block-image';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport RadioGroupInput from './helpers/inputs/RadioGroupInput';\nimport TextDimensionInput from './helpers/inputs/TextDimensionInput';\nimport TextInput from './helpers/inputs/TextInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype ImageSidebarPanelProps = {\n  data: ImageProps;\n  setData: (v: ImageProps) => void;\n};\nexport default function ImageSidebarPanel({ data, setData }: ImageSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = ImagePropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Image block\">\n      <TextInput\n        label=\"Source URL\"\n        className=\"image-url\"\n        defaultValue={data.props?.url ?? ''}\n        onChange={(v) => {\n          const url = v.trim().length === 0 ? null : v.trim();\n          updateData({ ...data, props: { ...data.props, url } });\n        }}\n      />\n      <a href=\"#\" class=\"select-media\"\n        style={{ display: 'inline-flex', alignItems: 'center', gap: '0.5rem', marginTop: '5px' }}\n        onClick={(e) => {\n        // @ts-ignore\n        window.parent.postMessage('visualeditor.select-media', '*');\n        e.preventDefault();\n      }}><CloudUploadIcon style={{fontSize: '1rem'}} /> Select media</a>\n\n      <TextInput\n        label=\"Alt text\"\n        defaultValue={data.props?.alt ?? ''}\n        onChange={(alt) => updateData({ ...data, props: { ...data.props, alt } })}\n      />\n      <TextInput\n        label=\"Click through URL\"\n        defaultValue={data.props?.linkHref ?? ''}\n        onChange={(v) => {\n          const linkHref = v.trim().length === 0 ? null : v.trim();\n          updateData({ ...data, props: { ...data.props, linkHref } });\n        }}\n      />\n      <Stack direction=\"row\" spacing={2}>\n        <TextDimensionInput\n          label=\"Width\"\n          defaultValue={data.props?.width}\n          onChange={(width) => updateData({ ...data, props: { ...data.props, width } })}\n        />\n        <TextDimensionInput\n          label=\"Height\"\n          defaultValue={data.props?.height}\n          onChange={(height) => updateData({ ...data, props: { ...data.props, height } })}\n        />\n      </Stack>\n\n      <RadioGroupInput\n        label=\"Alignment\"\n        defaultValue={data.props?.contentAlignment ?? 'middle'}\n        onChange={(contentAlignment) => updateData({ ...data, props: { ...data.props, contentAlignment } })}\n      >\n        <ToggleButton value=\"top\">\n          <VerticalAlignTopOutlined fontSize=\"small\" />\n        </ToggleButton>\n        <ToggleButton value=\"middle\">\n          <VerticalAlignCenterOutlined fontSize=\"small\" />\n        </ToggleButton>\n        <ToggleButton value=\"bottom\">\n          <VerticalAlignBottomOutlined fontSize=\"small\" />\n        </ToggleButton>\n      </RadioGroupInput>\n\n      <MultiStylePropertyPanel\n        names={['backgroundColor', 'textAlign', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/SpacerSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { HeightOutlined } from '@mui/icons-material';\nimport { SpacerProps, SpacerPropsDefaults, SpacerPropsSchema } from '@usewaypoint/block-spacer';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport SliderInput from './helpers/inputs/SliderInput';\n\ntype SpacerSidebarPanelProps = {\n  data: SpacerProps;\n  setData: (v: SpacerProps) => void;\n};\nexport default function SpacerSidebarPanel({ data, setData }: SpacerSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = SpacerPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Spacer block\">\n      <SliderInput\n        label=\"Height\"\n        iconLabel={<HeightOutlined sx={{ color: 'text.secondary' }} />}\n        units=\"px\"\n        step={4}\n        min={4}\n        max={128}\n        defaultValue={data.props?.height ?? SpacerPropsDefaults.height}\n        onChange={(height) => updateData({ ...data, props: { ...data.props, height } })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/TextSidebarPanel.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { TextProps, TextPropsSchema } from '@usewaypoint/block-text';\n\nimport BaseSidebarPanel from './helpers/BaseSidebarPanel';\nimport BooleanInput from './helpers/inputs/BooleanInput';\nimport TextInput from './helpers/inputs/TextInput';\nimport MultiStylePropertyPanel from './helpers/style-inputs/MultiStylePropertyPanel';\n\ntype TextSidebarPanelProps = {\n  data: TextProps;\n  setData: (v: TextProps) => void;\n};\nexport default function TextSidebarPanel({ data, setData }: TextSidebarPanelProps) {\n  const [, setErrors] = useState<Zod.ZodError | null>(null);\n\n  const updateData = (d: unknown) => {\n    const res = TextPropsSchema.safeParse(d);\n    if (res.success) {\n      setData(res.data);\n      setErrors(null);\n    } else {\n      setErrors(res.error);\n    }\n  };\n\n  return (\n    <BaseSidebarPanel title=\"Text block\">\n      <TextInput\n        label=\"Content\"\n        rows={5}\n        defaultValue={data.props?.text ?? ''}\n        onChange={(text) => updateData({ ...data, props: { ...data.props, text } })}\n      />\n      <BooleanInput\n        label=\"Markdown\"\n        defaultValue={data.props?.markdown ?? false}\n        onChange={(markdown) => updateData({ ...data, props: { ...data.props, markdown } })}\n      />\n\n      <MultiStylePropertyPanel\n        names={['color', 'backgroundColor', 'fontFamily', 'fontSize', 'fontWeight', 'textAlign', 'padding']}\n        value={data.style}\n        onChange={(style) => updateData({ ...data, style })}\n      />\n    </BaseSidebarPanel>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/BaseSidebarPanel.tsx",
    "content": "import React from 'react';\n\nimport { Box, Stack, Typography } from '@mui/material';\n\ntype SidebarPanelProps = {\n  title: string;\n  children: React.ReactNode;\n};\nexport default function BaseSidebarPanel({ title, children }: SidebarPanelProps) {\n  return (\n    <Box p={2}>\n      <Typography variant=\"overline\" color=\"text.secondary\" sx={{ display: 'block', mb: 2 }}>\n        {title}\n      </Typography>\n      <Stack spacing={5} mb={3}>\n        {children}\n      </Stack>\n    </Box>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/BooleanInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { FormControlLabel, Switch } from '@mui/material';\n\ntype Props = {\n  label: string;\n  defaultValue: boolean;\n  onChange: (value: boolean) => void;\n};\n\nexport default function BooleanInput({ label, defaultValue, onChange }: Props) {\n  const [value, setValue] = useState(defaultValue);\n  return (\n    <FormControlLabel\n      label={label}\n      control={\n        <Switch\n          checked={value}\n          onChange={(_, checked: boolean) => {\n            setValue(checked);\n            onChange(checked);\n          }}\n        />\n      }\n    />\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/BaseColorInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { AddOutlined, CloseOutlined } from '@mui/icons-material';\nimport { ButtonBase, InputLabel, Menu, Stack } from '@mui/material';\n\nimport Picker from './Picker';\n\nconst BUTTON_SX = {\n  border: '1px solid',\n  borderColor: 'cadet.400',\n  width: 32,\n  height: 32,\n  borderRadius: '4px',\n  bgcolor: '#FFFFFF',\n};\n\ntype Props =\n  | {\n      nullable: true;\n      label: string;\n      onChange: (value: string | null) => void;\n      defaultValue: string | null;\n    }\n  | {\n      nullable: false;\n      label: string;\n      onChange: (value: string) => void;\n      defaultValue: string;\n    };\nexport default function ColorInput({ label, defaultValue, onChange, nullable }: Props) {\n  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n  const [value, setValue] = useState(defaultValue);\n  const handleClickOpen = (event: React.MouseEvent<HTMLButtonElement>) => {\n    setAnchorEl(event.currentTarget);\n  };\n\n  const renderResetButton = () => {\n    if (!nullable) {\n      return null;\n    }\n    if (typeof value !== 'string' || value.trim().length === 0) {\n      return null;\n    }\n    return (\n      <ButtonBase\n        onClick={() => {\n          setValue(null);\n          onChange(null);\n        }}\n      >\n        <CloseOutlined fontSize=\"small\" sx={{ color: 'grey.600' }} />\n      </ButtonBase>\n    );\n  };\n\n  const renderOpenButton = () => {\n    if (value) {\n      return <ButtonBase onClick={handleClickOpen} sx={{ ...BUTTON_SX, bgcolor: value }} />;\n    }\n    return (\n      <ButtonBase onClick={handleClickOpen} sx={{ ...BUTTON_SX }}>\n        <AddOutlined fontSize=\"small\" />\n      </ButtonBase>\n    );\n  };\n\n  return (\n    <Stack alignItems=\"flex-start\">\n      <InputLabel sx={{ mb: 0.5 }}>{label}</InputLabel>\n      <Stack direction=\"row\" spacing={1}>\n        {renderOpenButton()}\n        {renderResetButton()}\n      </Stack>\n      <Menu\n        anchorEl={anchorEl}\n        open={Boolean(anchorEl)}\n        onClose={() => setAnchorEl(null)}\n        MenuListProps={{\n          sx: { height: 'auto', padding: 0 },\n        }}\n      >\n        <Picker\n          value={value || ''}\n          onChange={(v) => {\n            setValue(v);\n            onChange(v);\n          }}\n        />\n      </Menu>\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/Picker.tsx",
    "content": "import React from 'react';\nimport { HexColorInput, HexColorPicker } from 'react-colorful';\n\nimport { Box, Stack, SxProps } from '@mui/material';\n\nimport Swatch from './Swatch';\n\nconst DEFAULT_PRESET_COLORS = [\n  '#E11D48',\n  '#DB2777',\n  '#C026D3',\n  '#9333EA',\n  '#7C3AED',\n  '#4F46E5',\n  '#2563EB',\n  '#0284C7',\n  '#0891B2',\n  '#0D9488',\n  '#059669',\n  '#16A34A',\n  '#65A30D',\n  '#CA8A04',\n  '#D97706',\n  '#EA580C',\n  '#DC2626',\n  '#FFFFFF',\n  '#FAFAFA',\n  '#F5F5F5',\n  '#E5E5E5',\n  '#D4D4D4',\n  '#A3A3A3',\n  '#737373',\n  '#525252',\n  '#404040',\n  '#262626',\n  '#171717',\n  '#0A0A0A',\n  '#000000',\n];\n\nconst SX: SxProps = {\n  p: 1,\n  '.react-colorful__pointer ': {\n    width: 16,\n    height: 16,\n  },\n  '.react-colorful__saturation': {\n    mb: 1,\n    borderRadius: '4px',\n  },\n  '.react-colorful__last-control': {\n    borderRadius: '4px',\n  },\n  '.react-colorful__hue-pointer': {\n    width: '4px',\n    borderRadius: '4px',\n    height: 24,\n    cursor: 'col-resize',\n  },\n  '.react-colorful__saturation-pointer': {\n    cursor: 'all-scroll',\n  },\n  input: {\n    padding: 1,\n    border: '1px solid',\n    borderColor: 'grey.300',\n    borderRadius: '4px',\n    width: '100%',\n  },\n};\n\ntype Props = {\n  value: string;\n  onChange: (v: string) => void;\n};\nexport default function Picker({ value, onChange }: Props) {\n  return (\n    <Stack spacing={1} sx={SX}>\n      <HexColorPicker color={value} onChange={onChange} />\n      <Swatch paletteColors={DEFAULT_PRESET_COLORS} value={value} onChange={onChange} />\n      <Box pt={1}>\n        <HexColorInput prefixed color={value} onChange={onChange} />\n      </Box>\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/Swatch.tsx",
    "content": "import React from 'react';\n\nimport { Box, Button, SxProps } from '@mui/material';\n\ntype Props = {\n  paletteColors: string[];\n  value: string;\n  onChange: (value: string) => void;\n};\n\nconst TILE_BUTTON: SxProps = {\n  width: 24,\n  height: 24,\n};\nexport default function Swatch({ paletteColors, value, onChange }: Props) {\n  const renderButton = (colorValue: string) => {\n    return (\n      <Button\n        key={colorValue}\n        onClick={() => onChange(colorValue)}\n        sx={{\n          ...TILE_BUTTON,\n          backgroundColor: colorValue,\n          border: '1px solid',\n          borderColor: value === colorValue ? 'black' : 'grey.200',\n          minWidth: 24,\n          display: 'inline-flex',\n          '&:hover': {\n            backgroundColor: colorValue,\n            borderColor: 'grey.500',\n          },\n        }}\n      />\n    );\n  };\n  return (\n    <Box width=\"100%\" sx={{ display: 'grid', gap: 1, gridTemplateColumns: '1fr 1fr 1fr 1fr 1fr 1fr' }}>\n      {paletteColors.map((c) => renderButton(c))}\n    </Box>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/index.tsx",
    "content": "import React from 'react';\n\nimport BaseColorInput from './BaseColorInput';\n\ntype Props = {\n  label: string;\n  onChange: (value: string) => void;\n  defaultValue: string;\n};\nexport default function ColorInput(props: Props) {\n  return <BaseColorInput {...props} nullable={false} />;\n}\n\ntype NullableProps = {\n  label: string;\n  onChange: (value: null | string) => void;\n  defaultValue: null | string;\n};\nexport function NullableColorInput(props: NullableProps) {\n  return <BaseColorInput {...props} nullable />;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColumnWidthsInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { Stack } from '@mui/material';\n\nimport TextDimensionInput from './TextDimensionInput';\n\nexport const DEFAULT_2_COLUMNS = [6] as [number];\nexport const DEFAULT_3_COLUMNS = [4, 8] as [number, number];\n\ntype TWidthValue = number | null | undefined;\ntype FixedWidths = [\n  //\n  number | null | undefined,\n  number | null | undefined,\n  number | null | undefined,\n];\ntype ColumnsLayoutInputProps = {\n  defaultValue: FixedWidths | null | undefined;\n  onChange: (v: FixedWidths | null | undefined) => void;\n};\nexport default function ColumnWidthsInput({ defaultValue, onChange }: ColumnsLayoutInputProps) {\n  const [currentValue, setCurrentValue] = useState<[TWidthValue, TWidthValue, TWidthValue]>(() => {\n    if (defaultValue) {\n      return defaultValue;\n    }\n    return [null, null, null];\n  });\n\n  const setIndexValue = (index: 0 | 1 | 2, value: number | null | undefined) => {\n    const nValue: FixedWidths = [...currentValue];\n    nValue[index] = value;\n    setCurrentValue(nValue);\n    onChange(nValue);\n  };\n\n  const columnsCountValue = 3;\n  let column3 = null;\n  if (columnsCountValue === 3) {\n    column3 = (\n      <TextDimensionInput\n        label=\"Column 3\"\n        defaultValue={currentValue?.[2]}\n        onChange={(v) => {\n          setIndexValue(2, v);\n        }}\n      />\n    );\n  }\n  return (\n    <Stack direction=\"row\" spacing={1}>\n      <TextDimensionInput\n        label=\"Column 1\"\n        defaultValue={currentValue?.[0]}\n        onChange={(v) => {\n          setIndexValue(0, v);\n        }}\n      />\n      <TextDimensionInput\n        label=\"Column 2\"\n        defaultValue={currentValue?.[1]}\n        onChange={(v) => {\n          setIndexValue(1, v);\n        }}\n      />\n      {column3}\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/FontFamily.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { MenuItem, TextField } from '@mui/material';\n\nimport { FONT_FAMILIES } from '../../../../../../documents/blocks/helpers/fontFamily';\n\nconst OPTIONS = FONT_FAMILIES.map((option) => (\n  <MenuItem key={option.key} value={option.key} sx={{ fontFamily: option.value }}>\n    {option.label}\n  </MenuItem>\n));\n\ntype NullableProps = {\n  label: string;\n  onChange: (value: null | string) => void;\n  defaultValue: null | string;\n};\nexport function NullableFontFamily({ label, onChange, defaultValue }: NullableProps) {\n  const [value, setValue] = useState(defaultValue ?? 'inherit');\n  return (\n    <TextField\n      select\n      variant=\"standard\"\n      label={label}\n      value={value}\n      onChange={(ev) => {\n        const v = ev.target.value;\n        setValue(v);\n        onChange(v === null ? null : v);\n      }}\n    >\n      <MenuItem value=\"inherit\">Match email settings</MenuItem>\n      {OPTIONS}\n    </TextField>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/FontSizeInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { TextFieldsOutlined } from '@mui/icons-material';\nimport { InputLabel, Stack } from '@mui/material';\n\nimport RawSliderInput from './raw/RawSliderInput';\n\ntype Props = {\n  label: string;\n  defaultValue: number;\n  onChange: (v: number) => void;\n};\nexport default function FontSizeInput({ label, defaultValue, onChange }: Props) {\n  const [value, setValue] = useState(defaultValue);\n  const handleChange = (value: number) => {\n    setValue(value);\n    onChange(value);\n  };\n  return (\n    <Stack spacing={1} alignItems=\"flex-start\">\n      <InputLabel shrink>{label}</InputLabel>\n      <RawSliderInput\n        iconLabel={<TextFieldsOutlined sx={{ fontSize: 16 }} />}\n        value={value}\n        setValue={handleChange}\n        units=\"px\"\n        step={1}\n        min={10}\n        max={48}\n      />\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/FontWeightInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { ToggleButton } from '@mui/material';\n\nimport RadioGroupInput from './RadioGroupInput';\n\ntype Props = {\n  label: string;\n  defaultValue: string;\n  onChange: (value: string) => void;\n};\nexport default function FontWeightInput({ label, defaultValue, onChange }: Props) {\n  const [value, setValue] = useState(defaultValue);\n  return (\n    <RadioGroupInput\n      label={label}\n      defaultValue={value}\n      onChange={(fontWeight) => {\n        setValue(fontWeight);\n        onChange(fontWeight);\n      }}\n    >\n      <ToggleButton value=\"normal\">Regular</ToggleButton>\n      <ToggleButton value=\"bold\">Bold</ToggleButton>\n    </RadioGroupInput>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/PaddingInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport {\n  AlignHorizontalLeftOutlined,\n  AlignHorizontalRightOutlined,\n  AlignVerticalBottomOutlined,\n  AlignVerticalTopOutlined,\n} from '@mui/icons-material';\nimport { InputLabel, Stack } from '@mui/material';\n\nimport RawSliderInput from './raw/RawSliderInput';\n\ntype TPaddingValue = {\n  top: number;\n  bottom: number;\n  right: number;\n  left: number;\n};\ntype Props = {\n  label: string;\n  defaultValue: TPaddingValue | null;\n  onChange: (value: TPaddingValue) => void;\n};\nexport default function PaddingInput({ label, defaultValue, onChange }: Props) {\n  const [value, setValue] = useState(() => {\n    if (defaultValue) {\n      return defaultValue;\n    }\n    return {\n      top: 0,\n      left: 0,\n      bottom: 0,\n      right: 0,\n    };\n  });\n\n  function handleChange(internalName: keyof TPaddingValue, nValue: number) {\n    const v = {\n      ...value,\n      [internalName]: nValue,\n    };\n    setValue(v);\n    onChange(v);\n  }\n\n  return (\n    <Stack spacing={2} alignItems=\"flex-start\" pb={1}>\n      <InputLabel shrink>{label}</InputLabel>\n\n      <RawSliderInput\n        iconLabel={<AlignVerticalTopOutlined sx={{ fontSize: 16 }} />}\n        value={value.top}\n        setValue={(num) => handleChange('top', num)}\n        units=\"px\"\n        step={4}\n        min={0}\n        max={80}\n        marks\n      />\n\n      <RawSliderInput\n        iconLabel={<AlignVerticalBottomOutlined sx={{ fontSize: 16 }} />}\n        value={value.bottom}\n        setValue={(num) => handleChange('bottom', num)}\n        units=\"px\"\n        step={4}\n        min={0}\n        max={80}\n        marks\n      />\n\n      <RawSliderInput\n        iconLabel={<AlignHorizontalLeftOutlined sx={{ fontSize: 16 }} />}\n        value={value.left}\n        setValue={(num) => handleChange('left', num)}\n        units=\"px\"\n        step={4}\n        min={0}\n        max={80}\n        marks\n      />\n\n      <RawSliderInput\n        iconLabel={<AlignHorizontalRightOutlined sx={{ fontSize: 16 }} />}\n        value={value.right}\n        setValue={(num) => handleChange('right', num)}\n        units=\"px\"\n        step={4}\n        min={0}\n        max={80}\n        marks\n      />\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/RadioGroupInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { InputLabel, Stack, ToggleButtonGroup } from '@mui/material';\n\ntype Props = {\n  label: string | JSX.Element;\n  children: JSX.Element | JSX.Element[];\n  defaultValue: string;\n  onChange: (v: string) => void;\n};\nexport default function RadioGroupInput({ label, children, defaultValue, onChange }: Props) {\n  const [value, setValue] = useState(defaultValue);\n  return (\n    <Stack alignItems=\"flex-start\">\n      <InputLabel shrink>{label}</InputLabel>\n      <ToggleButtonGroup\n        exclusive\n        fullWidth\n        value={value}\n        size=\"small\"\n        onChange={(_, v: unknown) => {\n          if (typeof v !== 'string') {\n            throw new Error('RadioGroupInput can only receive string values');\n          }\n          setValue(v);\n          onChange(v);\n        }}\n      >\n        {children}\n      </ToggleButtonGroup>\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/SliderInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { InputLabel, Stack } from '@mui/material';\n\nimport RawSliderInput from './raw/RawSliderInput';\n\ntype SliderInputProps = {\n  label: string;\n  iconLabel: JSX.Element;\n\n  step?: number;\n  marks?: boolean;\n  units: string;\n  min?: number;\n  max?: number;\n\n  defaultValue: number;\n  onChange: (v: number) => void;\n};\n\nexport default function SliderInput({ label, defaultValue, onChange, ...props }: SliderInputProps) {\n  const [value, setValue] = useState(defaultValue);\n  return (\n    <Stack spacing={1} alignItems=\"flex-start\">\n      <InputLabel shrink>{label}</InputLabel>\n      <RawSliderInput\n        value={value}\n        setValue={(value: number) => {\n          setValue(value);\n          onChange(value);\n        }}\n        {...props}\n      />\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/TextAlignInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { FormatAlignCenterOutlined, FormatAlignLeftOutlined, FormatAlignRightOutlined } from '@mui/icons-material';\nimport { ToggleButton } from '@mui/material';\n\nimport RadioGroupInput from './RadioGroupInput';\n\ntype Props = {\n  label: string;\n  defaultValue: string | null;\n  onChange: (value: string | null) => void;\n};\nexport default function TextAlignInput({ label, defaultValue, onChange }: Props) {\n  const [value, setValue] = useState(defaultValue ?? 'left');\n\n  return (\n    <RadioGroupInput\n      label={label}\n      defaultValue={value}\n      onChange={(value) => {\n        setValue(value);\n        onChange(value);\n      }}\n    >\n      <ToggleButton value=\"left\">\n        <FormatAlignLeftOutlined fontSize=\"small\" />\n      </ToggleButton>\n      <ToggleButton value=\"center\">\n        <FormatAlignCenterOutlined fontSize=\"small\" />\n      </ToggleButton>\n      <ToggleButton value=\"right\">\n        <FormatAlignRightOutlined fontSize=\"small\" />\n      </ToggleButton>\n    </RadioGroupInput>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/TextDimensionInput.tsx",
    "content": "import React from 'react';\n\nimport { TextField, Typography } from '@mui/material';\n\ntype TextDimensionInputProps = {\n  label: string;\n  defaultValue: number | null | undefined;\n  onChange: (v: number | null) => void;\n};\nexport default function TextDimensionInput({ label, defaultValue, onChange }: TextDimensionInputProps) {\n  const handleChange: React.ChangeEventHandler<HTMLInputElement> = (ev) => {\n    const value = parseInt(ev.target.value);\n    onChange(isNaN(value) ? null : value);\n  };\n  return (\n    <TextField\n      fullWidth\n      onChange={handleChange}\n      defaultValue={defaultValue}\n      label={label}\n      variant=\"standard\"\n      placeholder=\"auto\"\n      size=\"small\"\n      InputProps={{\n        endAdornment: (\n          <Typography variant=\"body2\" color=\"text.secondary\">\n            px\n          </Typography>\n        ),\n      }}\n    />\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/TextInput.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { InputProps, TextField } from '@mui/material';\n\ntype Props = {\n  label: string;\n  rows?: number;\n  placeholder?: string;\n  helperText?: string | JSX.Element;\n  InputProps?: InputProps;\n  defaultValue: string;\n  className?: string;\n  onChange: (v: string) => void;\n};\nexport default function TextInput({ helperText, label, placeholder, rows, InputProps, defaultValue, className, onChange }: Props) {\n  const [value, setValue] = useState(defaultValue);\n  const isMultiline = typeof rows === 'number' && rows > 1;\n  return (\n    <TextField\n      fullWidth\n      multiline={isMultiline}\n      minRows={rows}\n      variant={isMultiline ? 'outlined' : 'standard'}\n      label={label}\n      placeholder={placeholder}\n      helperText={helperText}\n      InputProps={InputProps}\n      className={className}\n      value={value}\n      onChange={(ev) => {\n        const v = ev.target.value;\n        setValue(v);\n        onChange(v);\n      }}\n    />\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/raw/RawSliderInput.tsx",
    "content": "import React from 'react';\n\nimport { Box, Slider, Stack, Typography } from '@mui/material';\n\ntype SliderInputProps = {\n  iconLabel: JSX.Element;\n\n  step?: number;\n  marks?: boolean;\n  units: string;\n  min?: number;\n  max?: number;\n\n  value: number;\n  setValue: (v: number) => void;\n};\n\nexport default function RawSliderInput({ iconLabel, value, setValue, units, ...props }: SliderInputProps) {\n  return (\n    <Stack direction=\"row\" alignItems=\"center\" spacing={2} justifyContent=\"space-between\" width=\"100%\">\n      <Box sx={{ minWidth: 24, lineHeight: 1, flexShrink: 0 }}>{iconLabel}</Box>\n      <Slider\n        {...props}\n        value={value}\n        onChange={(_, value: unknown) => {\n          if (typeof value !== 'number') {\n            throw new Error('RawSliderInput values can only receive numeric values');\n          }\n          setValue(value);\n        }}\n      />\n      <Box sx={{ minWidth: 32, textAlign: 'right', flexShrink: 0 }}>\n        <Typography variant=\"body2\" color=\"text.secondary\" sx={{ lineHeight: 1 }}>\n          {value}\n          {units}\n        </Typography>\n      </Box>\n    </Stack>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/style-inputs/MultiStylePropertyPanel.tsx",
    "content": "import React from 'react';\n\nimport { TStyle } from '../../../../../../documents/blocks/helpers/TStyle';\n\nimport SingleStylePropertyPanel from './SingleStylePropertyPanel';\n\ntype MultiStylePropertyPanelProps = {\n  names: (keyof TStyle)[];\n  value: TStyle | undefined | null;\n  onChange: (style: TStyle) => void;\n};\nexport default function MultiStylePropertyPanel({ names, value, onChange }: MultiStylePropertyPanelProps) {\n  return (\n    <>\n      {names.map((name) => (\n        <SingleStylePropertyPanel key={name} name={name} value={value || {}} onChange={onChange} />\n      ))}\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/style-inputs/SingleStylePropertyPanel.tsx",
    "content": "import React from 'react';\n\nimport { RoundedCornerOutlined } from '@mui/icons-material';\n\nimport { TStyle } from '../../../../../../documents/blocks/helpers/TStyle';\nimport { NullableColorInput } from '../inputs/ColorInput';\nimport { NullableFontFamily } from '../inputs/FontFamily';\nimport FontSizeInput from '../inputs/FontSizeInput';\nimport FontWeightInput from '../inputs/FontWeightInput';\nimport PaddingInput from '../inputs/PaddingInput';\nimport SliderInput from '../inputs/SliderInput';\nimport TextAlignInput from '../inputs/TextAlignInput';\n\ntype StylePropertyPanelProps = {\n  name: keyof TStyle;\n  value: TStyle;\n  onChange: (style: TStyle) => void;\n};\nexport default function SingleStylePropertyPanel({ name, value, onChange }: StylePropertyPanelProps) {\n  const defaultValue = value[name] ?? null;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  const handleChange = (v: any) => {\n    onChange({ ...value, [name]: v });\n  };\n\n  switch (name) {\n    case 'backgroundColor':\n      return <NullableColorInput label=\"Background color\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'borderColor':\n      return <NullableColorInput label=\"Border color\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'borderRadius':\n      return (\n        <SliderInput\n          iconLabel={<RoundedCornerOutlined />}\n          units=\"px\"\n          step={4}\n          marks\n          min={0}\n          max={48}\n          label=\"Border radius\"\n          defaultValue={defaultValue}\n          onChange={handleChange}\n        />\n      );\n    case 'color':\n      return <NullableColorInput label=\"Text color\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'fontFamily':\n      return <NullableFontFamily label=\"Font family\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'fontSize':\n      return <FontSizeInput label=\"Font size\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'fontWeight':\n      return <FontWeightInput label=\"Font weight\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'textAlign':\n      return <TextAlignInput label=\"Alignment\" defaultValue={defaultValue} onChange={handleChange} />;\n    case 'padding':\n      return <PaddingInput label=\"Padding\" defaultValue={defaultValue} onChange={handleChange} />;\n  }\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/StylesPanel.tsx",
    "content": "import React from 'react';\n\nimport { setDocument, useDocument } from '../../documents/editor/EditorContext';\n\nimport EmailLayoutSidebarPanel from './ConfigurationPanel/input-panels/EmailLayoutSidebarPanel';\n\nexport default function StylesPanel() {\n  const block = useDocument().root;\n  if (!block) {\n    return <p>Block not found</p>;\n  }\n\n  const { data, type } = block;\n  if (type !== 'EmailLayout') {\n    throw new Error('Expected \"root\" element to be of type EmailLayout');\n  }\n\n  return <EmailLayoutSidebarPanel key=\"root\" data={data} setData={(data) => setDocument({ root: { type, data } })} />;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/ToggleInspectorPanelButton.tsx",
    "content": "import React from 'react';\n\nimport { AppRegistrationOutlined, LastPageOutlined } from '@mui/icons-material';\nimport { IconButton } from '@mui/material';\n\nimport { toggleInspectorDrawerOpen, useInspectorDrawerOpen } from '../../documents/editor/EditorContext';\n\nexport default function ToggleInspectorPanelButton() {\n  const inspectorDrawerOpen = useInspectorDrawerOpen();\n\n  const handleClick = () => {\n    toggleInspectorDrawerOpen();\n  };\n  if (inspectorDrawerOpen) {\n    return (\n      <IconButton onClick={handleClick}>\n        <LastPageOutlined fontSize=\"small\" />\n      </IconButton>\n    );\n  }\n  return (\n    <IconButton onClick={handleClick}>\n      <AppRegistrationOutlined fontSize=\"small\" />\n    </IconButton>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/InspectorDrawer/index.tsx",
    "content": "import React from 'react';\n\nimport {\n  Box, Drawer, Tab, Tabs,\n} from '@mui/material';\n\nimport { setSidebarTab, useInspectorDrawerOpen, useSelectedSidebarTab } from '../../documents/editor/EditorContext';\n\nimport ConfigurationPanel from './ConfigurationPanel';\nimport StylesPanel from './StylesPanel';\n\nexport const INSPECTOR_DRAWER_WIDTH = 320;\n\nexport default function InspectorDrawer() {\n  const selectedSidebarTab = useSelectedSidebarTab();\n  const inspectorDrawerOpen = useInspectorDrawerOpen();\n\n  const renderCurrentSidebarPanel = () => {\n    switch (selectedSidebarTab) {\n      case 'block-configuration':\n        return <ConfigurationPanel />;\n      case 'styles':\n        return <StylesPanel />;\n    }\n  };\n\n  return (\n    <Drawer\n      variant=\"persistent\"\n      anchor=\"right\"\n      className=\"sidebar\"\n      open={inspectorDrawerOpen}\n      sx={{\n        width: inspectorDrawerOpen ? INSPECTOR_DRAWER_WIDTH : 0,\n      }}\n      // Make the drawer relative to the wrapper instead of body.\n      PaperProps={{ style: { position: 'absolute', zIndex: 0 } }}\n      ModalProps={{\n        container: document.querySelector('.email-builder-container'),\n        style: { position: 'absolute', zIndex: 0 },\n      }}\n    >\n      <Box sx={{\n        width: INSPECTOR_DRAWER_WIDTH, height: 49, borderBottom: 1, borderColor: 'divider',\n      }}\n      >\n        <Box px={2}>\n          <Tabs value={selectedSidebarTab} onChange={(_, v) => setSidebarTab(v)}>\n            <Tab value=\"styles\" label=\"Styles\" />\n            <Tab value=\"block-configuration\" label=\"Inspect\" />\n          </Tabs>\n        </Box>\n      </Box>\n      <Box sx={{ width: INSPECTOR_DRAWER_WIDTH, height: 'calc(100% - 49px)', overflow: 'auto' }}>\n        {renderCurrentSidebarPanel()}\n      </Box>\n    </Drawer>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/DownloadJson/index.tsx",
    "content": "import React, { useMemo } from 'react';\n\nimport { FileDownloadOutlined } from '@mui/icons-material';\nimport { IconButton, Tooltip } from '@mui/material';\n\nimport { useDocument } from '../../../documents/editor/EditorContext';\n\nexport default function DownloadJson() {\n  const doc = useDocument();\n  const href = useMemo(() => {\n    return `data:text/plain,${encodeURIComponent(JSON.stringify(doc, null, '  '))}`;\n  }, [doc]);\n  return (\n    <Tooltip title=\"Download JSON file\">\n      <IconButton href={href} download=\"emailTemplate.json\">\n        <FileDownloadOutlined fontSize=\"small\" />\n      </IconButton>\n    </Tooltip>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/HtmlPanel.tsx",
    "content": "import React, { useMemo } from 'react';\n\nimport { useDocument } from '../../documents/editor/EditorContext';\nimport { renderHtmlWithMeta } from '../../utils';\n\nimport HighlightedCodePanel from './helper/HighlightedCodePanel';\n\nexport default function HtmlPanel() {\n  const document = useDocument();\n  const code = useMemo(() => renderHtmlWithMeta(document, { rootBlockId: 'root' }), [document]);\n  return <HighlightedCodePanel type=\"html\" value={code} />;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/ImportJson/ImportJsonDialog.tsx",
    "content": "import React, { useState } from 'react';\n\nimport {\n  Alert,\n  Button,\n  Dialog,\n  DialogActions,\n  DialogContent,\n  DialogTitle,\n  Link,\n  TextField,\n  Typography,\n} from '@mui/material';\n\nimport { resetDocument } from '../../../documents/editor/EditorContext';\n\nimport validateJsonStringValue from './validateJsonStringValue';\n\ntype ImportJsonDialogProps = {\n  onClose: () => void;\n};\nexport default function ImportJsonDialog({ onClose }: ImportJsonDialogProps) {\n  const [value, setValue] = useState('');\n  const [error, setError] = useState<string | null>(null);\n\n  const handleChange: React.ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement> = (ev) => {\n    const v = ev.currentTarget.value;\n    setValue(v);\n    const { error } = validateJsonStringValue(v);\n    setError(error ?? null);\n  };\n\n  let errorAlert = null;\n  if (error) {\n    errorAlert = <Alert color=\"error\">{error}</Alert>;\n  }\n\n  return (\n    <Dialog open onClose={onClose}>\n      <DialogTitle>Import JSON</DialogTitle>\n      <form\n        onSubmit={(ev) => {\n          ev.preventDefault();\n          const { error, data } = validateJsonStringValue(value);\n          setError(error ?? null);\n          if (!data) {\n            return;\n          }\n          resetDocument(data);\n          onClose();\n        }}\n      >\n        <DialogContent>\n          <Typography color=\"text.secondary\" paragraph>\n            Copy and paste an EmailBuilder.js JSON (\n            <Link\n              href=\"https://gist.githubusercontent.com/jordanisip/efb61f56ba71bd36d3a9440122cb7f50/raw/30ea74a6ac7e52ebdc309bce07b71a9286ce2526/emailBuilderTemplate.json\"\n              target=\"_blank\"\n              underline=\"none\"\n            >\n              example\n            </Link>\n            ).\n          </Typography>\n          {errorAlert}\n          <TextField\n            error={error !== null}\n            value={value}\n            onChange={handleChange}\n            type=\"text\"\n            helperText=\"This will override your current template.\"\n            variant=\"outlined\"\n            fullWidth\n            rows={10}\n            multiline\n          />\n        </DialogContent>\n        <DialogActions>\n          <Button type=\"button\" onClick={onClose}>\n            Cancel\n          </Button>\n          <Button variant=\"contained\" type=\"submit\" disabled={error !== null}>\n            Import\n          </Button>\n        </DialogActions>\n      </form>\n    </Dialog>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/ImportJson/index.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { FileUploadOutlined } from '@mui/icons-material';\nimport { IconButton, Tooltip } from '@mui/material';\n\nimport ImportJsonDialog from './ImportJsonDialog';\n\nexport default function ImportJson() {\n  const [open, setOpen] = useState(false);\n\n  let dialog = null;\n  if (open) {\n    dialog = <ImportJsonDialog onClose={() => setOpen(false)} />;\n  }\n\n  return (\n    <>\n      <Tooltip title=\"Import JSON\">\n        <IconButton onClick={() => setOpen(true)}>\n          <FileUploadOutlined fontSize=\"small\" />\n        </IconButton>\n      </Tooltip>\n      {dialog}\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/ImportJson/validateJsonStringValue.ts",
    "content": "import { EditorConfigurationSchema, TEditorConfiguration } from '../../../documents/editor/core';\n\ntype TResult = { error: string; data?: undefined } | { data: TEditorConfiguration; error?: undefined };\n\nexport default function validateTextAreaValue(value: string): TResult {\n  let jsonObject = undefined;\n  try {\n    jsonObject = JSON.parse(value);\n  } catch {\n    return { error: 'Invalid json' };\n  }\n\n  const parseResult = EditorConfigurationSchema.safeParse(jsonObject);\n  if (!parseResult.success) {\n    return { error: 'Invalid JSON schema' };\n  }\n\n  if (!parseResult.data.root) {\n    return { error: 'Missing \"root\" node' };\n  }\n\n  return { data: parseResult.data };\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/JsonPanel.tsx",
    "content": "import React, { useMemo } from 'react';\n\nimport { useDocument } from '../../documents/editor/EditorContext';\n\nimport HighlightedCodePanel from './helper/HighlightedCodePanel';\n\nexport default function JsonPanel() {\n  const document = useDocument();\n  const code = useMemo(() => JSON.stringify(document, null, '  '), [document]);\n  return <HighlightedCodePanel type=\"json\" value={code} />;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/MainTabsGroup.tsx",
    "content": "import React from 'react';\n\nimport { CodeOutlined, DataObjectOutlined, EditOutlined, PreviewOutlined } from '@mui/icons-material';\nimport { Tab, Tabs, Tooltip } from '@mui/material';\n\nimport { setSelectedMainTab, useSelectedMainTab } from '../../documents/editor/EditorContext';\n\nexport default function MainTabsGroup() {\n  const selectedMainTab = useSelectedMainTab();\n  const handleChange = (_: unknown, v: unknown) => {\n    switch (v) {\n      case 'json':\n      case 'preview':\n      case 'editor':\n      case 'html':\n        setSelectedMainTab(v);\n        return;\n      default:\n        setSelectedMainTab('editor');\n    }\n  };\n\n  return (\n    <Tabs value={selectedMainTab} onChange={handleChange}>\n      <Tab\n        value=\"editor\"\n        label={\n          <Tooltip title=\"Edit\">\n            <EditOutlined fontSize=\"small\" />\n          </Tooltip>\n        }\n      />\n      <Tab\n        value=\"preview\"\n        label={\n          <Tooltip title=\"Preview\">\n            <PreviewOutlined fontSize=\"small\" />\n          </Tooltip>\n        }\n      />\n      <Tab\n        value=\"html\"\n        label={\n          <Tooltip title=\"HTML output\">\n            <CodeOutlined fontSize=\"small\" />\n          </Tooltip>\n        }\n      />\n      <Tab\n        value=\"json\"\n        label={\n          <Tooltip title=\"JSON output\">\n            <DataObjectOutlined fontSize=\"small\" />\n          </Tooltip>\n        }\n      />\n    </Tabs>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/ShareButton.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { IosShareOutlined } from '@mui/icons-material';\nimport { IconButton, Snackbar, Tooltip } from '@mui/material';\n\nimport { useDocument } from '../../documents/editor/EditorContext';\n\nexport default function ShareButton() {\n  const document = useDocument();\n  const [message, setMessage] = useState < string | null > (null);\n\n  const onClick = async () => {\n    const c = encodeURIComponent(JSON.stringify(document));\n    location.hash = `#code/${btoa(c)}`;\n    setMessage('The URL was updated. Copy it to share your current template.');\n  };\n\n  const onClose = () => {\n    setMessage(null);\n  };\n\n  return (\n    <>\n      <IconButton onClick={onClick}>\n        <Tooltip title=\"Share current template\">\n          <IosShareOutlined fontSize=\"small\" />\n        </Tooltip>\n      </IconButton>\n      <Snackbar\n        anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n        open={message !== null}\n        onClose={onClose}\n        message={message}\n      />\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/helper/HighlightedCodePanel.tsx",
    "content": "import React, { useEffect, useState } from 'react';\n\nimport { html, json } from './highlighters';\n\ntype TextEditorPanelProps = {\n  type: 'json' | 'html' | 'javascript';\n  value: string;\n};\nexport default function HighlightedCodePanel({ type, value }: TextEditorPanelProps) {\n  const [code, setCode] = useState<string | null>(null);\n\n  useEffect(() => {\n    switch (type) {\n      case 'html':\n        html(value).then(setCode);\n        return;\n      case 'json':\n        json(value).then(setCode);\n        return;\n    }\n  }, [setCode, value, type]);\n\n  if (code === null) {\n    return null;\n  }\n\n  return (\n    <pre\n      style={{ margin: 0, padding: 16, height: '100%', overflow: 'auto' }}\n      dangerouslySetInnerHTML={{ __html: code }}\n      onClick={(ev) => {\n        const s = window.getSelection();\n        if (s === null) {\n          return;\n        }\n        s.selectAllChildren(ev.currentTarget);\n      }}\n    />\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/helper/highlighters.tsx",
    "content": "import hljs from 'highlight.js';\nimport jsonHighlighter from 'highlight.js/lib/languages/json';\nimport xmlHighlighter from 'highlight.js/lib/languages/xml';\nimport prettierPluginBabel from 'prettier/plugins/babel';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginHtml from 'prettier/plugins/html';\nimport { format } from 'prettier/standalone';\n\nhljs.registerLanguage('json', jsonHighlighter);\nhljs.registerLanguage('html', xmlHighlighter);\n\nexport async function html(value: string): Promise<string> {\n  const prettyValue = await format(value, {\n    parser: 'html',\n    plugins: [prettierPluginHtml],\n  });\n  return hljs.highlight(prettyValue, { language: 'html' }).value;\n}\n\nexport async function json(value: string): Promise<string> {\n  const prettyValue = await format(value, {\n    parser: 'json',\n    printWidth: 0,\n    trailingComma: 'all',\n    plugins: [prettierPluginBabel, prettierPluginEstree],\n  });\n  return hljs.highlight(prettyValue, { language: 'javascript' }).value;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/TemplatePanel/index.tsx",
    "content": "import React from 'react';\n\nimport { MonitorOutlined, PhoneIphoneOutlined } from '@mui/icons-material';\nimport { Box, Stack, SxProps, ToggleButton, ToggleButtonGroup, Tooltip } from '@mui/material';\nimport { Reader } from '@usewaypoint/email-builder';\n\nimport EditorBlock from '../../documents/editor/EditorBlock';\nimport {\n  setSelectedScreenSize,\n  useDocument,\n  useSelectedMainTab,\n  useSelectedScreenSize,\n} from '../../documents/editor/EditorContext';\nimport ToggleInspectorPanelButton from '../InspectorDrawer/ToggleInspectorPanelButton';\n\nimport DownloadJson from './DownloadJson';\nimport HtmlPanel from './HtmlPanel';\nimport ImportJson from './ImportJson';\nimport JsonPanel from './JsonPanel';\nimport MainTabsGroup from './MainTabsGroup';\n\nexport default function TemplatePanel() {\n  const document = useDocument();\n  const selectedMainTab = useSelectedMainTab();\n  const selectedScreenSize = useSelectedScreenSize();\n\n  let mainBoxSx: SxProps = {\n    height: '100%',\n  };\n  if (selectedScreenSize === 'mobile') {\n    mainBoxSx = {\n      ...mainBoxSx,\n      margin: '32px auto',\n      width: 370,\n      height: 800,\n      boxShadow:\n        'rgba(33, 36, 67, 0.04) 0px 10px 20px, rgba(33, 36, 67, 0.04) 0px 2px 6px, rgba(33, 36, 67, 0.04) 0px 0px 1px',\n    };\n  }\n\n  const handleScreenSizeChange = (_: unknown, value: unknown) => {\n    switch (value) {\n      case 'mobile':\n      case 'desktop':\n        setSelectedScreenSize(value);\n        return;\n      default:\n        setSelectedScreenSize('desktop');\n    }\n  };\n\n  const renderMainPanel = () => {\n    switch (selectedMainTab) {\n      case 'editor':\n        return (\n          <Box sx={mainBoxSx}>\n            <EditorBlock id=\"root\" />\n          </Box>\n        );\n      case 'preview':\n        return (\n          <Box sx={mainBoxSx}>\n            <Reader document={document} rootBlockId=\"root\" />\n          </Box>\n        );\n      case 'html':\n        return <HtmlPanel />;\n      case 'json':\n        return <JsonPanel />;\n    }\n  };\n\n  return (\n    <>\n      <Stack\n        sx={{\n          height: 49,\n          borderBottom: 1,\n          borderColor: 'divider',\n          backgroundColor: 'white',\n          top: 0,\n          px: 1,\n        }}\n        direction=\"row\"\n        justifyContent=\"space-between\"\n        alignItems=\"center\"\n      >\n        <Stack px={2} direction=\"row\" gap={2} width=\"100%\" justifyContent=\"space-between\" alignItems=\"center\">\n          <Stack direction=\"row\" spacing={2}>\n            <MainTabsGroup />\n          </Stack>\n          <Stack direction=\"row\" spacing={2}>\n            <DownloadJson />\n            <ImportJson />\n            <ToggleButtonGroup value={selectedScreenSize} exclusive size=\"small\" onChange={handleScreenSizeChange}>\n              <ToggleButton value=\"desktop\">\n                <Tooltip title=\"Desktop view\">\n                  <MonitorOutlined fontSize=\"small\" />\n                </Tooltip>\n              </ToggleButton>\n              <ToggleButton value=\"mobile\">\n                <Tooltip title=\"Mobile view\">\n                  <PhoneIphoneOutlined fontSize=\"small\" />\n                </Tooltip>\n              </ToggleButton>\n            </ToggleButtonGroup>\n          </Stack>\n        </Stack>\n        <ToggleInspectorPanelButton />\n      </Stack>\n      <Box sx={{ height: 'calc(100vh - 49px)', overflow: 'auto', minWidth: 370 }}>{renderMainPanel()}</Box>\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/App/index.tsx",
    "content": "import { Stack, useTheme } from '@mui/material';\nimport React from 'react';\n\nimport { TEditorConfiguration } from '../documents/editor/core';\nimport { setDocument, subscribeDocument, useInspectorDrawerOpen, useSamplesDrawerOpen } from '../documents/editor/EditorContext';\nimport { renderHtmlWithMeta } from '../utils';\nimport InspectorDrawer, { INSPECTOR_DRAWER_WIDTH } from './InspectorDrawer';\nimport TemplatePanel from './TemplatePanel';\n\nexport const DEFAULT_SOURCE: TEditorConfiguration = {\n  \"root\": {\n    \"type\": \"EmailLayout\",\n    \"data\": {}\n  }\n}\n\nfunction useDrawerTransition(cssProperty: 'margin-left' | 'margin-right', open: boolean) {\n  const { transitions } = useTheme();\n  return transitions.create(cssProperty, {\n    easing: !open ? transitions.easing.sharp : transitions.easing.easeOut,\n    duration: !open ? transitions.duration.leavingScreen : transitions.duration.enteringScreen,\n  });\n}\n\nexport interface AppProps {\n  // Initial configuration to load. Optional.\n  data?: TEditorConfiguration,\n  // Callback for any change in document. Optional.\n  onChange?: (json: TEditorConfiguration, html: String) => void,\n  // Optional height for the Stack component.\n  height?: string,\n}\n\nexport default function App(props: AppProps) {\n  const inspectorDrawerOpen = useInspectorDrawerOpen();\n  const samplesDrawerOpen = useSamplesDrawerOpen();\n\n  const marginLeftTransition = useDrawerTransition('margin-left', samplesDrawerOpen);\n  const marginRightTransition = useDrawerTransition('margin-right', inspectorDrawerOpen);\n\n  if (props.data) {\n    setDocument(props.data)\n  } else {\n    setDocument(DEFAULT_SOURCE)\n  }\n\n  if (props.onChange) {\n    subscribeDocument ((document) => {\n      props.onChange?.(document, renderHtmlWithMeta(document, { rootBlockId: 'root' }))\n    })\n  }\n\n  return (\n    <>\n      <InspectorDrawer />\n\n      <Stack\n        sx={{\n          marginRight: inspectorDrawerOpen ? `${INSPECTOR_DRAWER_WIDTH}px` : 0,\n          transition: [marginLeftTransition, marginRightTransition].join(', '),\n          height: props.height ? props.height : 'auto',\n        }}\n      >\n        <TemplatePanel />\n      </Stack>\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/ColumnsContainer/ColumnsContainerEditor.tsx",
    "content": "import React from 'react';\n\nimport { ColumnsContainer as BaseColumnsContainer } from '@usewaypoint/block-columns-container';\n\nimport { useCurrentBlockId } from '../../editor/EditorBlock';\nimport { setDocument, setSelectedBlockId } from '../../editor/EditorContext';\nimport EditorChildrenIds, { EditorChildrenChange } from '../helpers/EditorChildrenIds';\n\nimport ColumnsContainerPropsSchema, { ColumnsContainerProps } from './ColumnsContainerPropsSchema';\n\nconst EMPTY_COLUMNS = [{ childrenIds: [] }, { childrenIds: [] }, { childrenIds: [] }];\n\nexport default function ColumnsContainerEditor({ style, props }: ColumnsContainerProps) {\n  const currentBlockId = useCurrentBlockId();\n\n  const { columns, ...restProps } = props ?? {};\n  const columnsValue = columns ?? EMPTY_COLUMNS;\n\n  const updateColumn = (columnIndex: 0 | 1 | 2, { block, blockId, childrenIds }: EditorChildrenChange) => {\n    const nColumns = [...columnsValue];\n    nColumns[columnIndex] = { childrenIds };\n    setDocument({\n      [blockId]: block,\n      [currentBlockId]: {\n        type: 'ColumnsContainer',\n        data: ColumnsContainerPropsSchema.parse({\n          style,\n          props: {\n            ...restProps,\n            columns: nColumns,\n          },\n        }),\n      },\n    });\n    setSelectedBlockId(blockId);\n  };\n\n  return (\n    <BaseColumnsContainer\n      props={restProps}\n      style={style}\n      columns={[\n        <EditorChildrenIds childrenIds={columns?.[0]?.childrenIds} onChange={(change) => updateColumn(0, change)} />,\n        <EditorChildrenIds childrenIds={columns?.[1]?.childrenIds} onChange={(change) => updateColumn(1, change)} />,\n        <EditorChildrenIds childrenIds={columns?.[2]?.childrenIds} onChange={(change) => updateColumn(2, change)} />,\n      ]}\n    />\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/ColumnsContainer/ColumnsContainerPropsSchema.ts",
    "content": "import { z } from 'zod';\n\nimport { ColumnsContainerPropsSchema as BaseColumnsContainerPropsSchema } from '@usewaypoint/block-columns-container';\n\nconst BasePropsShape = BaseColumnsContainerPropsSchema.shape.props.unwrap().unwrap().shape;\n\nconst ColumnsContainerPropsSchema = z.object({\n  style: BaseColumnsContainerPropsSchema.shape.style,\n  props: z\n    .object({\n      ...BasePropsShape,\n      columns: z.tuple([\n        z.object({ childrenIds: z.array(z.string()) }),\n        z.object({ childrenIds: z.array(z.string()) }),\n        z.object({ childrenIds: z.array(z.string()) }),\n      ]),\n    })\n    .optional()\n    .nullable(),\n});\n\nexport type ColumnsContainerProps = z.infer<typeof ColumnsContainerPropsSchema>;\nexport default ColumnsContainerPropsSchema;\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/Container/ContainerEditor.tsx",
    "content": "import React from 'react';\n\nimport { Container as BaseContainer } from '@usewaypoint/block-container';\n\nimport { useCurrentBlockId } from '../../editor/EditorBlock';\nimport { setDocument, setSelectedBlockId, useDocument } from '../../editor/EditorContext';\nimport EditorChildrenIds from '../helpers/EditorChildrenIds';\n\nimport { ContainerProps } from './ContainerPropsSchema';\n\nexport default function ContainerEditor({ style, props }: ContainerProps) {\n  const childrenIds = props?.childrenIds ?? [];\n\n  const document = useDocument();\n  const currentBlockId = useCurrentBlockId();\n\n  return (\n    <BaseContainer style={style}>\n      <EditorChildrenIds\n        childrenIds={childrenIds}\n        onChange={({ block, blockId, childrenIds }) => {\n          setDocument({\n            [blockId]: block,\n            [currentBlockId]: {\n              type: 'Container',\n              data: {\n                ...document[currentBlockId].data,\n                props: { childrenIds: childrenIds },\n              },\n            },\n          });\n          setSelectedBlockId(blockId);\n        }}\n      />\n    </BaseContainer>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/Container/ContainerPropsSchema.tsx",
    "content": "import { z } from 'zod';\n\nimport { ContainerPropsSchema as BaseContainerPropsSchema } from '@usewaypoint/block-container';\n\nconst ContainerPropsSchema = z.object({\n  style: BaseContainerPropsSchema.shape.style,\n  props: z\n    .object({\n      childrenIds: z.array(z.string()).optional().nullable(),\n    })\n    .optional()\n    .nullable(),\n});\n\nexport default ContainerPropsSchema;\n\nexport type ContainerProps = z.infer<typeof ContainerPropsSchema>;\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/EmailLayout/EmailLayoutEditor.tsx",
    "content": "import React from 'react';\n\nimport { useCurrentBlockId } from '../../editor/EditorBlock';\nimport { setDocument, setSelectedBlockId, useDocument } from '../../editor/EditorContext';\nimport EditorChildrenIds from '../helpers/EditorChildrenIds';\n\nimport { EmailLayoutProps } from './EmailLayoutPropsSchema';\n\nfunction getFontFamily(fontFamily: EmailLayoutProps['fontFamily']) {\n  const f = fontFamily ?? 'MODERN_SANS';\n  switch (f) {\n    case 'MODERN_SANS':\n      return '\"Helvetica Neue\", \"Arial Nova\", \"Nimbus Sans\", Arial, sans-serif';\n    case 'BOOK_SANS':\n      return 'Optima, Candara, \"Noto Sans\", source-sans-pro, sans-serif';\n    case 'ORGANIC_SANS':\n      return 'Seravek, \"Gill Sans Nova\", Ubuntu, Calibri, \"DejaVu Sans\", source-sans-pro, sans-serif';\n    case 'GEOMETRIC_SANS':\n      return 'Avenir, \"Avenir Next LT Pro\", Montserrat, Corbel, \"URW Gothic\", source-sans-pro, sans-serif';\n    case 'HEAVY_SANS':\n      return 'Bahnschrift, \"DIN Alternate\", \"Franklin Gothic Medium\", \"Nimbus Sans Narrow\", sans-serif-condensed, sans-serif';\n    case 'ROUNDED_SANS':\n      return 'ui-rounded, \"Hiragino Maru Gothic ProN\", Quicksand, Comfortaa, Manjari, \"Arial Rounded MT Bold\", Calibri, source-sans-pro, sans-serif';\n    case 'MODERN_SERIF':\n      return 'Charter, \"Bitstream Charter\", \"Sitka Text\", Cambria, serif';\n    case 'BOOK_SERIF':\n      return '\"Iowan Old Style\", \"Palatino Linotype\", \"URW Palladio L\", P052, serif';\n    case 'MONOSPACE':\n      return '\"Nimbus Mono PS\", \"Courier New\", \"Cutive Mono\", monospace';\n  }\n}\n\nexport default function EmailLayoutEditor(props: EmailLayoutProps) {\n  const childrenIds = props.childrenIds ?? [];\n  const document = useDocument();\n  const currentBlockId = useCurrentBlockId();\n\n  return (\n    <div\n      onClick={() => {\n        setSelectedBlockId(null);\n      }}\n      style={{\n        backgroundColor: props.backdropColor ?? '#F5F5F5',\n        color: props.textColor ?? '#262626',\n        fontFamily: getFontFamily(props.fontFamily),\n        fontSize: '16px',\n        fontWeight: '400',\n        letterSpacing: '0.15008px',\n        lineHeight: '1.5',\n        margin: '0',\n        padding: '32px 0',\n        width: '100%',\n        minHeight: '100%',\n      }}\n    >\n      <table\n        align=\"center\"\n        width=\"100%\"\n        style={{\n          margin: '0 auto',\n          maxWidth: '600px',\n          backgroundColor: props.canvasColor ?? '#FFFFFF',\n          borderRadius: props.borderRadius ?? undefined,\n          border: (() => {\n            const v = props.borderColor;\n            if (!v) {\n              return undefined;\n            }\n            return `1px solid ${v}`;\n          })(),\n        }}\n        role=\"presentation\"\n        cellSpacing=\"0\"\n        cellPadding=\"0\"\n        border={0}\n      >\n        <tbody>\n          <tr style={{ width: '100%' }}>\n            <td>\n              <EditorChildrenIds\n                childrenIds={childrenIds}\n                onChange={({ block, blockId, childrenIds }) => {\n                  setDocument({\n                    [blockId]: block,\n                    [currentBlockId]: {\n                      type: 'EmailLayout',\n                      data: {\n                        ...document[currentBlockId].data,\n                        childrenIds: childrenIds,\n                      },\n                    },\n                  });\n                  setSelectedBlockId(blockId);\n                }}\n              />\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/EmailLayout/EmailLayoutPropsSchema.tsx",
    "content": "import { z } from 'zod';\n\nconst COLOR_SCHEMA = z\n  .string()\n  .regex(/^#[0-9a-fA-F]{6}$/)\n  .nullable()\n  .optional();\n\nconst FONT_FAMILY_SCHEMA = z\n  .enum([\n    'MODERN_SANS',\n    'BOOK_SANS',\n    'ORGANIC_SANS',\n    'GEOMETRIC_SANS',\n    'HEAVY_SANS',\n    'ROUNDED_SANS',\n    'MODERN_SERIF',\n    'BOOK_SERIF',\n    'MONOSPACE',\n  ])\n  .nullable()\n  .optional();\n\nconst EmailLayoutPropsSchema = z.object({\n  backdropColor: COLOR_SCHEMA,\n  borderColor: COLOR_SCHEMA,\n  borderRadius: z.number().optional().nullable(),\n  canvasColor: COLOR_SCHEMA,\n  textColor: COLOR_SCHEMA,\n  fontFamily: FONT_FAMILY_SCHEMA,\n  childrenIds: z.array(z.string()).optional().nullable(),\n});\n\nexport default EmailLayoutPropsSchema;\n\nexport type EmailLayoutProps = z.infer<typeof EmailLayoutPropsSchema>;\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/BlockButton.tsx",
    "content": "import React from 'react';\n\nimport { Box, Button, SxProps, Typography } from '@mui/material';\n\ntype BlockMenuButtonProps = {\n  label: string;\n  icon: React.ReactNode;\n  onClick: () => void;\n};\n\nconst BUTTON_SX: SxProps = { p: 1.5, display: 'flex', flexDirection: 'column' };\nconst ICON_SX: SxProps = {\n  mb: 0.75,\n  width: '100%',\n  bgcolor: 'cadet.200',\n  display: 'flex',\n  justifyContent: 'center',\n  p: 1,\n  border: '1px solid',\n  borderColor: 'cadet.300',\n};\n\nexport default function BlockTypeButton({ label, icon, onClick }: BlockMenuButtonProps) {\n  return (\n    <Button\n      sx={BUTTON_SX}\n      onClick={(ev) => {\n        ev.stopPropagation();\n        onClick();\n      }}\n    >\n      <Box sx={ICON_SX}>{icon}</Box>\n      <Typography variant=\"body2\">{label}</Typography>\n    </Button>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/BlocksMenu.tsx",
    "content": "import React from 'react';\n\nimport { Box, Menu } from '@mui/material';\n\nimport { TEditorBlock } from '../../../../editor/core';\n\nimport BlockButton from './BlockButton';\nimport { BUTTONS } from './buttons';\n\ntype BlocksMenuProps = {\n  anchorEl: HTMLElement | null;\n  setAnchorEl: (v: HTMLElement | null) => void;\n  onSelect: (block: TEditorBlock) => void;\n};\nexport default function BlocksMenu({ anchorEl, setAnchorEl, onSelect }: BlocksMenuProps) {\n  const onClose = () => {\n    setAnchorEl(null);\n  };\n\n  const onClick = (block: TEditorBlock) => {\n    onSelect(block);\n    setAnchorEl(null);\n  };\n\n  if (anchorEl === null) {\n    return null;\n  }\n\n  return (\n    <Menu\n      open\n      anchorEl={anchorEl}\n      onClose={onClose}\n      anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n      transformOrigin={{ vertical: 'top', horizontal: 'center' }}\n    >\n      <Box sx={{ p: 1, display: 'grid', gridTemplateColumns: '1fr 1fr 1fr 1fr' }}>\n        {BUTTONS.map((k, i) => (\n          <BlockButton key={i} label={k.label} icon={k.icon} onClick={() => onClick(k.block())} />\n        ))}\n      </Box>\n    </Menu>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/DividerButton.tsx",
    "content": "import React, { useEffect, useState } from 'react';\n\nimport { AddOutlined } from '@mui/icons-material';\nimport { Fade, IconButton } from '@mui/material';\n\ntype Props = {\n  buttonElement: HTMLElement | null;\n  onClick: () => void;\n};\nexport default function DividerButton({ buttonElement, onClick }: Props) {\n  const [visible, setVisible] = useState(false);\n\n  useEffect(() => {\n    function listener({ clientX, clientY }: MouseEvent) {\n      if (!buttonElement) {\n        return;\n      }\n      const rect = buttonElement.getBoundingClientRect();\n      const rectY = rect.y;\n      const bottomX = rect.x;\n      const topX = bottomX + rect.width;\n\n      if (Math.abs(clientY - rectY) < 20) {\n        if (bottomX < clientX && clientX < topX) {\n          setVisible(true);\n          return;\n        }\n      }\n      setVisible(false);\n    }\n    window.addEventListener('mousemove', listener);\n    return () => {\n      window.removeEventListener('mousemove', listener);\n    };\n  }, [buttonElement, setVisible]);\n\n  return (\n    <Fade in={visible}>\n      <IconButton\n        size=\"small\"\n        sx={{\n          p: 0.12,\n          position: 'absolute',\n          top: '-12px',\n          left: '50%',\n          transform: 'translateX(-10px)',\n          bgcolor: 'brand.blue',\n          color: 'primary.contrastText',\n          '&:hover, &:active, &:focus': {\n            bgcolor: 'brand.blue',\n            color: 'primary.contrastText',\n          },\n        }}\n        onClick={(ev) => {\n          ev.stopPropagation();\n          onClick();\n        }}\n      >\n        <AddOutlined fontSize=\"small\" />\n      </IconButton>\n    </Fade>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/PlaceholderButton.tsx",
    "content": "import React from 'react';\n\nimport { AddOutlined } from '@mui/icons-material';\nimport { ButtonBase } from '@mui/material';\n\ntype Props = {\n  onClick: () => void;\n};\nexport default function PlaceholderButton({ onClick }: Props) {\n  return (\n    <ButtonBase\n      onClick={(ev) => {\n        ev.stopPropagation();\n        onClick();\n      }}\n      sx={{\n        display: 'flex',\n        alignContent: 'center',\n        justifyContent: 'center',\n        height: 48,\n        width: '100%',\n        bgcolor: 'rgba(0,0,0, 0.05)',\n      }}\n    >\n      <AddOutlined\n        sx={{\n          p: 0.12,\n          bgcolor: 'brand.blue',\n          borderRadius: 24,\n          color: 'primary.contrastText',\n        }}\n        fontSize=\"small\"\n      />\n    </ButtonBase>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/buttons.tsx",
    "content": "import React from 'react';\n\nimport {\n  AccountCircleOutlined,\n  Crop32Outlined,\n  HMobiledataOutlined,\n  HorizontalRuleOutlined,\n  HtmlOutlined,\n  ImageOutlined,\n  LibraryAddOutlined,\n  NotesOutlined,\n  SmartButtonOutlined,\n  ViewColumnOutlined,\n} from '@mui/icons-material';\n\nimport { TEditorBlock } from '../../../../editor/core';\n\ntype TButtonProps = {\n  label: string;\n  icon: JSX.Element;\n  block: () => TEditorBlock;\n};\nexport const BUTTONS: TButtonProps[] = [\n  {\n    label: 'Heading',\n    icon: <HMobiledataOutlined />,\n    block: () => ({\n      type: 'Heading',\n      data: {\n        props: { text: 'Heading' },\n        style: {\n          padding: { top: 16, bottom: 16, left: 24, right: 24 },\n        },\n      },\n    }),\n  },\n  {\n    label: 'Text',\n    icon: <NotesOutlined />,\n    block: () => ({\n      type: 'Text',\n      data: {\n        props: { text: 'My new text block' },\n        style: {\n          padding: { top: 16, bottom: 16, left: 24, right: 24 },\n          fontWeight: 'normal',\n        },\n      },\n    }),\n  },\n\n  {\n    label: 'Button',\n    icon: <SmartButtonOutlined />,\n    block: () => ({\n      type: 'Button',\n      data: {\n        props: {\n          text: 'Button',\n          url: 'https://listmonk.app',\n        },\n        style: { padding: { top: 16, bottom: 16, left: 24, right: 24 } },\n      },\n    }),\n  },\n  {\n    label: 'Image',\n    icon: <ImageOutlined />,\n    block: () => ({\n      type: 'Image',\n      data: {\n        props: {\n          url: 'https://upload.wikimedia.org/wikipedia/commons/3/3f/Placeholder_view_vector.svg',\n          alt: 'Sample product',\n          contentAlignment: 'middle',\n          linkHref: null,\n        },\n        style: { padding: { top: 16, bottom: 16, left: 24, right: 24 } },\n      },\n    }),\n  },\n  {\n    label: 'Avatar',\n    icon: <AccountCircleOutlined />,\n    block: () => ({\n      type: 'Avatar',\n      data: {\n        props: {\n          imageUrl: 'https://upload.wikimedia.org/wikipedia/commons/8/89/Portrait_Placeholder.png',\n          shape: 'circle',\n        },\n        style: { padding: { top: 16, bottom: 16, left: 24, right: 24 } },\n      },\n    }),\n  },\n  {\n    label: 'Divider',\n    icon: <HorizontalRuleOutlined />,\n    block: () => ({\n      type: 'Divider',\n      data: {\n        style: { padding: { top: 16, right: 0, bottom: 16, left: 0 } },\n        props: {\n          lineColor: '#CCCCCC',\n        },\n      },\n    }),\n  },\n  {\n    label: 'Spacer',\n    icon: <Crop32Outlined />,\n    block: () => ({\n      type: 'Spacer',\n      data: {},\n    }),\n  },\n  {\n    label: 'Html',\n    icon: <HtmlOutlined />,\n    block: () => ({\n      type: 'Html',\n      data: {\n        props: { contents: '<strong>Hello world</strong>' },\n        style: {\n          fontSize: 16,\n          textAlign: null,\n          padding: { top: 16, bottom: 16, left: 24, right: 24 },\n        },\n      },\n    }),\n  },\n  {\n    label: 'Columns',\n    icon: <ViewColumnOutlined />,\n    block: () => ({\n      type: 'ColumnsContainer',\n      data: {\n        props: {\n          columnsGap: 16,\n          columnsCount: 3,\n          columns: [{ childrenIds: [] }, { childrenIds: [] }, { childrenIds: [] }],\n        },\n        style: { padding: { top: 16, bottom: 16, left: 24, right: 24 } },\n      },\n    }),\n  },\n  {\n    label: 'Container',\n    icon: <LibraryAddOutlined />,\n    block: () => ({\n      type: 'Container',\n      data: {\n        style: { padding: { top: 16, bottom: 16, left: 24, right: 24 } },\n      },\n    }),\n  },\n\n  // { label: 'ProgressBar', icon: <ProgressBarOutlined />, block: () => ({}) },\n  // { label: 'LoopContainer', icon: <ViewListOutlined />, block: () => ({}) },\n];\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/index.tsx",
    "content": "import React, { useState } from 'react';\n\nimport { TEditorBlock } from '../../../../editor/core';\n\nimport BlocksMenu from './BlocksMenu';\nimport DividerButton from './DividerButton';\nimport PlaceholderButton from './PlaceholderButton';\n\ntype Props = {\n  placeholder?: boolean;\n  onSelect: (block: TEditorBlock) => void;\n};\nexport default function AddBlockButton({ onSelect, placeholder }: Props) {\n  const [menuAnchorEl, setMenuAnchorEl] = useState<HTMLElement | null>(null);\n  const [buttonElement, setButtonElement] = useState<HTMLElement | null>(null);\n\n  const handleButtonClick = () => {\n    setMenuAnchorEl(buttonElement);\n  };\n\n  const renderButton = () => {\n    if (placeholder) {\n      return <PlaceholderButton onClick={handleButtonClick} />;\n    } else {\n      return <DividerButton buttonElement={buttonElement} onClick={handleButtonClick} />;\n    }\n  };\n\n  return (\n    <>\n      <div ref={setButtonElement} style={{ position: 'relative' }}>\n        {renderButton()}\n      </div>\n      <BlocksMenu anchorEl={menuAnchorEl} setAnchorEl={setMenuAnchorEl} onSelect={onSelect} />\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/EditorChildrenIds/index.tsx",
    "content": "import React, { Fragment } from 'react';\n\nimport { TEditorBlock } from '../../../editor/core';\nimport EditorBlock from '../../../editor/EditorBlock';\n\nimport AddBlockButton from './AddBlockMenu';\n\nexport type EditorChildrenChange = {\n  blockId: string;\n  block: TEditorBlock;\n  childrenIds: string[];\n};\n\nfunction generateId() {\n  return `block-${Date.now()}`;\n}\n\nexport type EditorChildrenIdsProps = {\n  childrenIds: string[] | null | undefined;\n  onChange: (val: EditorChildrenChange) => void;\n};\nexport default function EditorChildrenIds({ childrenIds, onChange }: EditorChildrenIdsProps) {\n  const appendBlock = (block: TEditorBlock) => {\n    const blockId = generateId();\n    return onChange({\n      blockId,\n      block,\n      childrenIds: [...(childrenIds || []), blockId],\n    });\n  };\n\n  const insertBlock = (block: TEditorBlock, index: number) => {\n    const blockId = generateId();\n    const newChildrenIds = [...(childrenIds || [])];\n    newChildrenIds.splice(index, 0, blockId);\n    return onChange({\n      blockId,\n      block,\n      childrenIds: newChildrenIds,\n    });\n  };\n\n  if (!childrenIds || childrenIds.length === 0) {\n    return <AddBlockButton placeholder onSelect={appendBlock} />;\n  }\n\n  return (\n    <>\n      {childrenIds.map((childId, i) => (\n        <Fragment key={childId}>\n          <AddBlockButton onSelect={(block) => insertBlock(block, i)} />\n          <EditorBlock id={childId} />\n        </Fragment>\n      ))}\n      <AddBlockButton onSelect={appendBlock} />\n    </>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/TStyle.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type TStyle = {\n  backgroundColor?: any;\n  borderColor?: any;\n  borderRadius?: any;\n  color?: any;\n  fontFamily?: any;\n  fontSize?: any;\n  fontWeight?: any;\n  padding?: any;\n  textAlign?: any;\n};\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/block-wrappers/EditorBlockWrapper.tsx",
    "content": "import React, { CSSProperties, useState } from 'react';\n\nimport { Box } from '@mui/material';\n\nimport { useCurrentBlockId } from '../../../editor/EditorBlock';\nimport { setSelectedBlockId, useSelectedBlockId } from '../../../editor/EditorContext';\n\nimport TuneMenu from './TuneMenu';\n\ntype TEditorBlockWrapperProps = {\n  children: JSX.Element;\n};\n\nexport default function EditorBlockWrapper({ children }: TEditorBlockWrapperProps) {\n  const selectedBlockId = useSelectedBlockId();\n  const [mouseInside, setMouseInside] = useState(false);\n  const blockId = useCurrentBlockId();\n\n  let outline: CSSProperties['outline'];\n  if (selectedBlockId === blockId) {\n    outline = '2px solid rgba(0,121,204, 1)';\n  } else if (mouseInside) {\n    outline = '2px solid rgba(0,121,204, 0.3)';\n  }\n\n  const renderMenu = () => {\n    if (selectedBlockId !== blockId) {\n      return null;\n    }\n    return <TuneMenu blockId={blockId} />;\n  };\n\n  return (\n    <Box\n      sx={{\n        position: 'relative',\n        maxWidth: '100%',\n        outlineOffset: '-1px',\n        outline,\n      }}\n      onMouseEnter={(ev) => {\n        setMouseInside(true);\n        ev.stopPropagation();\n      }}\n      onMouseLeave={() => {\n        setMouseInside(false);\n      }}\n      onClick={(ev) => {\n        setSelectedBlockId(blockId);\n        ev.stopPropagation();\n        ev.preventDefault();\n      }}\n    >\n      {renderMenu()}\n      {children}\n    </Box>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/block-wrappers/ReaderBlockWrapper.tsx",
    "content": "import React, { CSSProperties } from 'react';\n\nimport { TStyle } from '../TStyle';\n\ntype TReaderBlockWrapperProps = {\n  style: TStyle;\n  children: JSX.Element;\n};\n\nexport default function ReaderBlockWrapper({ style, children }: TReaderBlockWrapperProps) {\n  const { padding, borderColor, ...restStyle } = style;\n  const cssStyle: CSSProperties = {\n    ...restStyle,\n  };\n\n  if (padding) {\n    const { top, bottom, left, right } = padding;\n    cssStyle.padding = `${top}px ${right}px ${bottom}px ${left}px`;\n  }\n\n  if (borderColor) {\n    cssStyle.border = `1px solid ${borderColor}`;\n  }\n\n  return <div style={{ maxWidth: '100%', ...cssStyle }}>{children}</div>;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/block-wrappers/TuneMenu.tsx",
    "content": "import React from 'react';\n\nimport { ArrowDownwardOutlined, ArrowUpwardOutlined, DeleteOutlined } from '@mui/icons-material';\nimport { IconButton, Paper, Stack, SxProps, Tooltip } from '@mui/material';\n\nimport { TEditorBlock } from '../../../editor/core';\nimport { resetDocument, setSelectedBlockId, useDocument } from '../../../editor/EditorContext';\nimport { ColumnsContainerProps } from '../../ColumnsContainer/ColumnsContainerPropsSchema';\n\nconst sx: SxProps = {\n  position: 'absolute',\n  top: 0,\n  left: -56,\n  borderRadius: 64,\n  paddingX: 0.5,\n  paddingY: 1\n};\n\ntype Props = {\n  blockId: string;\n};\nexport default function TuneMenu({ blockId }: Props) {\n  const document = useDocument();\n\n  const handleDeleteClick = () => {\n    const filterChildrenIds = (childrenIds: string[] | null | undefined) => {\n      if (!childrenIds) {\n        return childrenIds;\n      }\n      return childrenIds.filter((f) => f !== blockId);\n    };\n    const nDocument: typeof document = { ...document };\n    for (const [id, b] of Object.entries(nDocument)) {\n      const block = b as TEditorBlock;\n      if (id === blockId) {\n        continue;\n      }\n      switch (block.type) {\n        case 'EmailLayout':\n          nDocument[id] = {\n            ...block,\n            data: {\n              ...block.data,\n              childrenIds: filterChildrenIds(block.data.childrenIds),\n            },\n          };\n          break;\n        case 'Container':\n          nDocument[id] = {\n            ...block,\n            data: {\n              ...block.data,\n              props: {\n                ...block.data.props,\n                childrenIds: filterChildrenIds(block.data.props?.childrenIds),\n              },\n            },\n          };\n          break;\n        case 'ColumnsContainer':\n          nDocument[id] = {\n            type: 'ColumnsContainer',\n            data: {\n              style: block.data.style,\n              props: {\n                ...block.data.props,\n                columns: block.data.props?.columns?.map((c) => ({\n                  childrenIds: filterChildrenIds(c.childrenIds),\n                })),\n              },\n            } as ColumnsContainerProps,\n          };\n          break;\n        default:\n          nDocument[id] = block;\n      }\n    }\n    delete nDocument[blockId];\n    resetDocument(nDocument);\n  };\n\n  const handleMoveClick = (direction: 'up' | 'down') => {\n    const moveChildrenIds = (ids: string[] | null | undefined) => {\n      if (!ids) {\n        return ids;\n      }\n      const index = ids.indexOf(blockId);\n      if (index < 0) {\n        return ids;\n      }\n      const childrenIds = [...ids];\n      if (direction === 'up' && index > 0) {\n        [childrenIds[index], childrenIds[index - 1]] = [childrenIds[index - 1], childrenIds[index]];\n      } else if (direction === 'down' && index < childrenIds.length - 1) {\n        [childrenIds[index], childrenIds[index + 1]] = [childrenIds[index + 1], childrenIds[index]];\n      }\n      return childrenIds;\n    };\n    const nDocument: typeof document = { ...document };\n    for (const [id, b] of Object.entries(nDocument)) {\n      const block = b as TEditorBlock;\n      if (id === blockId) {\n        continue;\n      }\n      switch (block.type) {\n        case 'EmailLayout':\n          nDocument[id] = {\n            ...block,\n            data: {\n              ...block.data,\n              childrenIds: moveChildrenIds(block.data.childrenIds),\n            },\n          };\n          break;\n        case 'Container':\n          nDocument[id] = {\n            ...block,\n            data: {\n              ...block.data,\n              props: {\n                ...block.data.props,\n                childrenIds: moveChildrenIds(block.data.props?.childrenIds),\n              },\n            },\n          };\n          break;\n        case 'ColumnsContainer':\n          nDocument[id] = {\n            type: 'ColumnsContainer',\n            data: {\n              style: block.data.style,\n              props: {\n                ...block.data.props,\n                columns: block.data.props?.columns?.map((c) => ({\n                  childrenIds: moveChildrenIds(c.childrenIds),\n                })),\n              },\n            } as ColumnsContainerProps,\n          };\n          break;\n        default:\n          nDocument[id] = block;\n      }\n    }\n\n    resetDocument(nDocument);\n    setSelectedBlockId(blockId);\n  };\n\n  return (\n    <Paper sx={sx} onClick={(ev) => ev.stopPropagation()}>\n      <Stack>\n        <Tooltip title=\"Move up\" placement=\"left-start\">\n          <IconButton onClick={() => handleMoveClick('up')} sx={{ color: 'text.primary' }}>\n            <ArrowUpwardOutlined fontSize=\"small\" />\n          </IconButton>\n        </Tooltip>\n        <Tooltip title=\"Move down\" placement=\"left-start\">\n          <IconButton onClick={() => handleMoveClick('down')} sx={{ color: 'text.primary' }}>\n            <ArrowDownwardOutlined fontSize=\"small\" />\n          </IconButton>\n        </Tooltip>\n        <Tooltip title=\"Delete\" placement=\"left-start\">\n          <IconButton onClick={handleDeleteClick} sx={{ color: 'text.primary' }}>\n            <DeleteOutlined fontSize=\"small\" />\n          </IconButton>\n        </Tooltip>\n      </Stack>\n    </Paper>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/fontFamily.ts",
    "content": "export const FONT_FAMILIES = [\n  {\n    key: 'MODERN_SANS',\n    label: 'Modern sans',\n    value: '\"Helvetica Neue\", \"Arial Nova\", \"Nimbus Sans\", Arial, sans-serif',\n  },\n  {\n    key: 'BOOK_SANS',\n    label: 'Book sans',\n    value: 'Optima, Candara, \"Noto Sans\", source-sans-pro, sans-serif',\n  },\n  {\n    key: 'ORGANIC_SANS',\n    label: 'Organic sans',\n    value: 'Seravek, \"Gill Sans Nova\", Ubuntu, Calibri, \"DejaVu Sans\", source-sans-pro, sans-serif',\n  },\n  {\n    key: 'GEOMETRIC_SANS',\n    label: 'Geometric sans',\n    value: 'Avenir, \"Avenir Next LT Pro\", Montserrat, Corbel, \"URW Gothic\", source-sans-pro, sans-serif',\n  },\n  {\n    key: 'HEAVY_SANS',\n    label: 'Heavy sans',\n    value:\n      'Bahnschrift, \"DIN Alternate\", \"Franklin Gothic Medium\", \"Nimbus Sans Narrow\", sans-serif-condensed, sans-serif',\n  },\n  {\n    key: 'ROUNDED_SANS',\n    label: 'Rounded sans',\n    value:\n      'ui-rounded, \"Hiragino Maru Gothic ProN\", Quicksand, Comfortaa, Manjari, \"Arial Rounded MT Bold\", Calibri, source-sans-pro, sans-serif',\n  },\n  {\n    key: 'MODERN_SERIF',\n    label: 'Modern serif',\n    value: 'Charter, \"Bitstream Charter\", \"Sitka Text\", Cambria, serif',\n  },\n  {\n    key: 'BOOK_SERIF',\n    label: 'Book serif',\n    value: '\"Iowan Old Style\", \"Palatino Linotype\", \"URW Palladio L\", P052, serif',\n  },\n  {\n    key: 'MONOSPACE',\n    label: 'Monospace',\n    value: '\"Nimbus Mono PS\", \"Courier New\", \"Cutive Mono\", monospace',\n  },\n];\n\nexport const FONT_FAMILY_NAMES = [\n  'MODERN_SANS',\n  'BOOK_SANS',\n  'ORGANIC_SANS',\n  'GEOMETRIC_SANS',\n  'HEAVY_SANS',\n  'ROUNDED_SANS',\n  'MODERN_SERIF',\n  'BOOK_SERIF',\n  'MONOSPACE',\n] as const;\n"
  },
  {
    "path": "frontend/email-builder/src/documents/blocks/helpers/zod.ts",
    "content": "import { z } from 'zod';\n\nimport { FONT_FAMILY_NAMES } from './fontFamily';\n\nexport function zColor() {\n  return z.string().regex(/^#[0-9a-fA-F]{6}$/);\n}\n\nexport function zFontFamily() {\n  return z.enum(FONT_FAMILY_NAMES);\n}\n\nexport function zFontWeight() {\n  return z.enum(['bold', 'normal']);\n}\n\nexport function zTextAlign() {\n  return z.enum(['left', 'center', 'right']);\n}\n\nexport function zPadding() {\n  return z.object({\n    top: z.number(),\n    bottom: z.number(),\n    right: z.number(),\n    left: z.number(),\n  });\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/editor/EditorBlock.tsx",
    "content": "import React, { createContext, useContext } from 'react';\n\nimport { EditorBlock as CoreEditorBlock } from './core';\nimport { useDocument } from './EditorContext';\n\nconst EditorBlockContext = createContext<string | null>(null);\nexport const useCurrentBlockId = () => useContext(EditorBlockContext)!;\n\ntype EditorBlockProps = {\n  id: string;\n};\n\n/**\n *\n * @param id - Block id\n * @returns EditorBlock component that loads data from the EditorDocumentContext\n */\nexport default function EditorBlock({ id }: EditorBlockProps) {\n  const document = useDocument();\n  const block = document[id];\n  if (!block) {\n    throw new Error('Could not find block');\n  }\n  return (\n    <EditorBlockContext.Provider value={id}>\n      <CoreEditorBlock {...block} />\n    </EditorBlockContext.Provider>\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/editor/EditorContext.tsx",
    "content": "import { create } from 'zustand';\nimport { subscribeWithSelector } from 'zustand/middleware';\n\nimport getConfiguration from '../../getConfiguration';\n\nimport { TEditorConfiguration } from './core';\n\ntype TValue = {\n  document: TEditorConfiguration;\n\n  selectedBlockId: string | null;\n  selectedSidebarTab: 'block-configuration' | 'styles';\n  selectedMainTab: 'editor' | 'preview' | 'json' | 'html';\n  selectedScreenSize: 'desktop' | 'mobile';\n\n  inspectorDrawerOpen: boolean;\n  samplesDrawerOpen: boolean;\n};\n\nconst editorStateStore = create(subscribeWithSelector<TValue>(() => ({\n  document: getConfiguration(window.location.hash),\n  selectedBlockId: null,\n  selectedSidebarTab: 'styles',\n  selectedMainTab: 'editor',\n  selectedScreenSize: 'desktop',\n\n  inspectorDrawerOpen: true,\n  samplesDrawerOpen: true,\n})));\n\nexport function useDocument() {\n  return editorStateStore((s) => s.document);\n}\n\nexport function subscribeDocument (listener: (selectedState: TEditorConfiguration, previousSelectedState: TEditorConfiguration) => void) {\n  editorStateStore.subscribe((state) => state.document, listener)\n}\n\nexport function useSelectedBlockId() {\n  return editorStateStore((s) => s.selectedBlockId);\n}\n\nexport function useSelectedScreenSize() {\n  return editorStateStore((s) => s.selectedScreenSize);\n}\n\nexport function useSelectedMainTab() {\n  return editorStateStore((s) => s.selectedMainTab);\n}\n\nexport function setSelectedMainTab(selectedMainTab: TValue['selectedMainTab']) {\n  return editorStateStore.setState({ selectedMainTab });\n}\n\nexport function useSelectedSidebarTab() {\n  return editorStateStore((s) => s.selectedSidebarTab);\n}\n\nexport function useInspectorDrawerOpen() {\n  return editorStateStore((s) => s.inspectorDrawerOpen);\n}\n\nexport function useSamplesDrawerOpen() {\n  return editorStateStore((s) => s.samplesDrawerOpen);\n}\n\nexport function setSelectedBlockId(selectedBlockId: TValue['selectedBlockId']) {\n  const selectedSidebarTab = selectedBlockId === null ? 'styles' : 'block-configuration';\n  const options: Partial<TValue> = {};\n  if (selectedBlockId !== null) {\n    options.inspectorDrawerOpen = true;\n  }\n  return editorStateStore.setState({\n    selectedBlockId,\n    selectedSidebarTab,\n    ...options,\n  });\n}\n\nexport function setSidebarTab(selectedSidebarTab: TValue['selectedSidebarTab']) {\n  return editorStateStore.setState({ selectedSidebarTab });\n}\n\nexport function resetDocument(document: TValue['document']) {\n  return editorStateStore.setState({\n    document,\n    selectedSidebarTab: 'styles',\n    selectedBlockId: null,\n  });\n}\n\nexport function setDocument(document: TValue['document']) {\n  const originalDocument = editorStateStore.getState().document;\n  return editorStateStore.setState({\n    document: {\n      ...originalDocument,\n      ...document,\n    },\n  });\n}\n\nexport function toggleInspectorDrawerOpen() {\n  const inspectorDrawerOpen = !editorStateStore.getState().inspectorDrawerOpen;\n  return editorStateStore.setState({ inspectorDrawerOpen });\n}\n\nexport function toggleSamplesDrawerOpen() {\n  const samplesDrawerOpen = !editorStateStore.getState().samplesDrawerOpen;\n  return editorStateStore.setState({ samplesDrawerOpen });\n}\n\nexport function setSelectedScreenSize(selectedScreenSize: TValue['selectedScreenSize']) {\n  return editorStateStore.setState({ selectedScreenSize });\n}\n"
  },
  {
    "path": "frontend/email-builder/src/documents/editor/core.tsx",
    "content": "import React from 'react';\nimport { z } from 'zod';\n\nimport { Avatar, AvatarPropsSchema } from '@usewaypoint/block-avatar';\nimport { Button, ButtonPropsSchema } from '@usewaypoint/block-button';\nimport { Divider, DividerPropsSchema } from '@usewaypoint/block-divider';\nimport { Heading, HeadingPropsSchema } from '@usewaypoint/block-heading';\nimport { Html, HtmlPropsSchema } from '@usewaypoint/block-html';\nimport { Image, ImagePropsSchema } from '@usewaypoint/block-image';\nimport { Spacer, SpacerPropsSchema } from '@usewaypoint/block-spacer';\nimport { Text, TextPropsSchema } from '@usewaypoint/block-text';\nimport {\n  buildBlockComponent,\n  buildBlockConfigurationDictionary,\n  buildBlockConfigurationSchema,\n} from '@usewaypoint/document-core';\n\nimport ColumnsContainerEditor from '../blocks/ColumnsContainer/ColumnsContainerEditor';\nimport ColumnsContainerPropsSchema from '../blocks/ColumnsContainer/ColumnsContainerPropsSchema';\nimport ContainerEditor from '../blocks/Container/ContainerEditor';\nimport ContainerPropsSchema from '../blocks/Container/ContainerPropsSchema';\nimport EmailLayoutEditor from '../blocks/EmailLayout/EmailLayoutEditor';\nimport EmailLayoutPropsSchema from '../blocks/EmailLayout/EmailLayoutPropsSchema';\nimport EditorBlockWrapper from '../blocks/helpers/block-wrappers/EditorBlockWrapper';\n\nconst EDITOR_DICTIONARY = buildBlockConfigurationDictionary({\n  Avatar: {\n    schema: AvatarPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Avatar {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  Button: {\n    schema: ButtonPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Button {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  Container: {\n    schema: ContainerPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <ContainerEditor {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  ColumnsContainer: {\n    schema: ColumnsContainerPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <ColumnsContainerEditor {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  Heading: {\n    schema: HeadingPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Heading {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  Html: {\n    schema: HtmlPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Html {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  Image: {\n    schema: ImagePropsSchema,\n    Component: (data) => {\n      const props = {\n        ...data,\n        props: {\n          ...data.props,\n          url: data.props?.url ?? 'https://placehold.co/600x400@2x/F8F8F8/CCC?text=Your%20image',\n        },\n      };\n      return (\n        <EditorBlockWrapper>\n          <Image {...props} />\n        </EditorBlockWrapper>\n      );\n    },\n  },\n  Text: {\n    schema: TextPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Text {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  EmailLayout: {\n    schema: EmailLayoutPropsSchema,\n    Component: (p) => <EmailLayoutEditor {...p} />,\n  },\n  Spacer: {\n    schema: SpacerPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Spacer {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n  Divider: {\n    schema: DividerPropsSchema,\n    Component: (props) => (\n      <EditorBlockWrapper>\n        <Divider {...props} />\n      </EditorBlockWrapper>\n    ),\n  },\n});\n\nexport const EditorBlock = buildBlockComponent(EDITOR_DICTIONARY);\nexport const EditorBlockSchema = buildBlockConfigurationSchema(EDITOR_DICTIONARY);\nexport const EditorConfigurationSchema = z.record(z.string(), EditorBlockSchema);\n\nexport type TEditorBlock = z.infer<typeof EditorBlockSchema>;\nexport type TEditorConfiguration = Record<string, TEditorBlock>;\n"
  },
  {
    "path": "frontend/email-builder/src/getConfiguration/index.tsx",
    "content": "import EMPTY_EMAIL_MESSAGE from './sample/empty-email-message';\n\nexport default function getConfiguration(template: string) {\n  if (template.startsWith('#code/')) {\n    const encodedString = template.replace('#code/', '');\n    const configurationString = decodeURIComponent(atob(encodedString));\n    try {\n      return JSON.parse(configurationString);\n    } catch {\n      console.error(`Couldn't load configuration from hash.`);\n    }\n  }\n\n  return EMPTY_EMAIL_MESSAGE;\n}\n"
  },
  {
    "path": "frontend/email-builder/src/getConfiguration/sample/empty-email-message.ts",
    "content": "import { TEditorConfiguration } from '../../documents/editor/core';\n\nconst EMPTY_EMAIL_MESSAGE: TEditorConfiguration = {\n  root: {\n    type: 'EmailLayout',\n    data: {\n      backdropColor: '#F5F5F5',\n      canvasColor: '#FFFFFF',\n      textColor: '#262626',\n      fontFamily: 'MODERN_SANS',\n      childrenIds: [],\n    },\n  },\n};\n\nexport default EMPTY_EMAIL_MESSAGE;\n"
  },
  {
    "path": "frontend/email-builder/src/main.tsx",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport App, { AppProps, DEFAULT_SOURCE } from './App';\nimport { setDocument, resetDocument } from './documents/editor/EditorContext';\n\nimport { CssBaseline, ThemeProvider } from '@mui/material';\nimport theme from './theme';\n\nfunction isRendered(containerId: string): boolean {\n  const container = document.getElementById(containerId);\n  if (!container) {\n    console.error(`Container with id ${containerId} not found`);\n    return false;\n  }\n  return container.hasChildNodes();\n}\n\nfunction render(containerId: string, props: AppProps, force: boolean = false) {\n  if (!isRendered(containerId) || force) {\n    const container = document.getElementById(containerId);\n    if (!container) return;\n\n    ReactDOM.createRoot(container).render(\n      <React.StrictMode>\n        <ThemeProvider theme={theme}>\n          <CssBaseline />\n          <App {...props} />\n        </ThemeProvider>\n      </React.StrictMode>\n    );\n  }\n}\n\nexport { App, setDocument, resetDocument, render, isRendered, DEFAULT_SOURCE };\n"
  },
  {
    "path": "frontend/email-builder/src/theme.ts",
    "content": "import {\n  alpha, createTheme, darken, lighten,\n} from '@mui/material/styles';\n\nconst BRAND_NAVY = '#212443';\nconst BRAND_BLUE = '#0079CC';\nconst BRAND_GREEN = '#1F8466';\nconst BRAND_RED = '#E81212';\nconst BRAND_YELLOW = '#F6DC9F';\nconst BRAND_PURPLE = '#6C0E7C';\nconst BRAND_BROWN = '#CC996C';\nconst STANDARD_FONT_FAMILY = 'sans-serif, \"Segoe UI\", Roboto, Helvetica, Arial';\nconst MONOSPACE_FONT_FAMILY = 'monospace, Menlo, Monaco, \"Segoe UI Mono\", \"Roboto Mono\"';\n\nconst BASE_THEME = createTheme({\n  palette: {\n    background: {\n      default: '#f2f5f7',\n    },\n    text: {\n      primary: '#1F1F21',\n      secondary: '#4F4F4F',\n    },\n  },\n  typography: {\n    fontFamily: STANDARD_FONT_FAMILY,\n  },\n});\n\nconst THEME = createTheme(BASE_THEME, {\n  palette: {\n    brand: {\n      navy: BRAND_NAVY,\n      blue: BRAND_BLUE,\n      red: BRAND_RED,\n      green: BRAND_GREEN,\n      yellow: BRAND_YELLOW,\n      purple: BRAND_PURPLE,\n      brown: BRAND_BROWN,\n    },\n    success: {\n      main: BRAND_GREEN,\n      light: lighten(BRAND_GREEN, 0.15),\n      dark: darken(BRAND_GREEN, 0.15),\n    },\n    error: {\n      main: BRAND_RED,\n      light: lighten(BRAND_RED, 0.15),\n      dark: darken(BRAND_RED, 0.15),\n    },\n    cadet: {\n      100: '#F9FAFB',\n      200: '#F2F5F7',\n      300: '#DCE4EA',\n      400: '#A8BBCA',\n      500: '#6A8BA4',\n    },\n    highlight: {\n      100: lighten(BRAND_YELLOW, 0.8),\n      200: lighten(BRAND_YELLOW, 0.6),\n      300: lighten(BRAND_YELLOW, 0.4),\n      400: lighten(BRAND_YELLOW, 0.2),\n      500: BRAND_YELLOW,\n    },\n    info: {\n      main: BRAND_BLUE,\n    },\n    primary: {\n      main: BRAND_BLUE,\n    },\n  },\n  components: {\n    MuiCssBaseline: {\n      styleOverrides: `\n        address {\n          font-style: normal;\n        }\n        fieldset {\n          border: none;\n          padding: 0;\n        }\n        pre {\n          font-family: ${MONOSPACE_FONT_FAMILY}\n          white-space: pre-wrap;\n          font-size: 12px;\n        }\n      `,\n    },\n    MuiAlert: {\n      styleOverrides: {\n        root: {\n          fontSize: BASE_THEME.typography.pxToRem(14),\n        },\n        action: {\n          paddingTop: 0,\n          marginRight: 0,\n        },\n        filledSuccess: {\n          backgroundColor: BRAND_GREEN,\n        },\n      },\n    },\n    MuiStepLabel: {\n      styleOverrides: {\n        label: {\n          fontWeight: BASE_THEME.typography.fontWeightMedium,\n        },\n      },\n    },\n    MuiDialog: {\n      defaultProps: {\n        fullWidth: true,\n      },\n    },\n    MuiDialogContent: {\n      styleOverrides: {\n        root: {\n          paddingTop: BASE_THEME.spacing(1),\n          paddingBottom: BASE_THEME.spacing(2),\n        },\n      },\n    },\n    MuiDialogTitle: {\n      defaultProps: {\n        variant: 'h4',\n      },\n      styleOverrides: {\n        root: {\n          paddingTop: BASE_THEME.spacing(3),\n          paddingBottom: BASE_THEME.spacing(1),\n        },\n      },\n    },\n    MuiDialogActions: {\n      styleOverrides: {\n        root: {\n          borderTop: '1px solid',\n          borderTopColor: BASE_THEME.palette.divider,\n          marginTop: BASE_THEME.spacing(2.5),\n          padding: `${BASE_THEME.spacing(1.5)} ${BASE_THEME.spacing(3)}`,\n        },\n      },\n    },\n    MuiTableCell: {\n      styleOverrides: {\n        root: {\n          ...BASE_THEME.typography.body2,\n          borderColor: BASE_THEME.palette.grey[200],\n        },\n        head: {\n          ...BASE_THEME.typography.overline,\n          fontWeight: BASE_THEME.typography.fontWeightMedium,\n          letterSpacing: '0.075em',\n          color: BASE_THEME.palette.text.secondary,\n        },\n      },\n    },\n    MuiTableRow: {\n      styleOverrides: {\n        root: {\n          '&:last-child td': {\n            borderBottom: 0,\n          },\n        },\n      },\n    },\n    MuiAvatar: {\n      styleOverrides: {\n        root: {\n          textTransform: 'uppercase',\n          fontSize: BASE_THEME.typography.pxToRem(14),\n        },\n      },\n    },\n    MuiChip: {\n      styleOverrides: {\n        root: {\n          '&.MuiChip-filledError, &.MuiChip-filledSuccess': {\n            fill: BASE_THEME.palette.primary.contrastText,\n          },\n        },\n        sizeSmall: {\n          borderRadius: BASE_THEME.spacing(0.5),\n          fontSize: 12,\n        },\n        iconSmall: {\n          fontSize: 14,\n          marginLeft: BASE_THEME.spacing(1),\n        },\n        colorSecondary: {\n          borderColor: BASE_THEME.palette.grey[400],\n          color: BASE_THEME.palette.text.secondary,\n        },\n        label: {\n          fontWeight: BASE_THEME.typography.fontWeightMedium,\n        },\n      },\n    },\n    MuiDrawer: {\n      defaultProps: {\n        PaperProps: {\n          elevation: 2,\n        },\n      },\n    },\n    MuiTooltip: {\n      styleOverrides: {\n        tooltip: {\n          fontSize: BASE_THEME.typography.pxToRem(12),\n          backgroundColor: alpha(BASE_THEME.palette.text.primary, 0.9),\n        },\n      },\n    },\n    MuiSlider: {\n      styleOverrides: {\n        root: {\n          height: 1,\n        },\n        track: {\n          height: 1,\n          border: 'none',\n        },\n        rail: {\n          height: 1,\n          backgroundColor: BASE_THEME.palette.grey[500],\n        },\n        mark: {\n          backgroundColor: BASE_THEME.palette.grey[500],\n        },\n        markActive: {\n          height: 0,\n        },\n        thumb: {\n          height: 16,\n          width: 16,\n          cursor: 'col-resize',\n          '&:hover, &.Mui-active, &.Mui-focusVisible': {\n            boxShadow: `0 0 0 4px ${alpha(BRAND_BLUE, 0.2)}`,\n          },\n          '&:before': {\n            display: 'none',\n          },\n        },\n      },\n    },\n    MuiPaper: {\n      defaultProps: {\n        elevation: 2,\n        square: true,\n      },\n    },\n    MuiButtonBase: {\n      defaultProps: {\n        disableTouchRipple: true,\n        focusRipple: true,\n      },\n      styleOverrides: {\n        root: {\n          '&.MuiButton-containedSecondary.Mui-disabled': {\n            backgroundColor: BASE_THEME.palette.grey[100],\n          },\n        },\n      },\n    },\n    MuiButtonGroup: {\n      defaultProps: {\n        disableElevation: true,\n      },\n    },\n    MuiIconButton: {\n      styleOverrides: {\n        edgeStart: {\n          marginLeft: BASE_THEME.spacing(-1),\n        },\n        colorSecondary: {\n          color: BASE_THEME.palette.grey[500],\n        },\n      },\n    },\n    MuiButton: {\n      defaultProps: {\n        disableElevation: true,\n      },\n      styleOverrides: {\n        textPrimary: {\n          color: BASE_THEME.palette.text.primary,\n        },\n        textSecondary: {\n          color: BASE_THEME.palette.text.secondary,\n        },\n        outlinedPrimary: {\n          borderColor: BASE_THEME.palette.grey[300],\n          color: BASE_THEME.palette.text.primary,\n          '&:hover, &:active, &:focus': {\n            borderColor: BASE_THEME.palette.grey[500],\n            color: BASE_THEME.palette.text.primary,\n          },\n        },\n        containedSecondary: {\n          backgroundColor: BASE_THEME.palette.common.white,\n          border: `1px solid ${BASE_THEME.palette.grey[300]}`,\n          color: BASE_THEME.palette.text.primary,\n          '&:hover, &:active, &:focus': {\n            backgroundColor: BASE_THEME.palette.common.white,\n            borderColor: BASE_THEME.palette.grey[500],\n            color: BASE_THEME.palette.text.primary,\n          },\n        },\n      },\n    },\n    MuiToggleButton: {\n      styleOverrides: {\n        root: {\n          paddingLeft: BASE_THEME.spacing(1.5),\n          paddingRight: BASE_THEME.spacing(1.5),\n        },\n      },\n    },\n    MuiInputBase: {\n      styleOverrides: {\n        root: {\n          '&:not(.Mui-disabled, .Mui-error):before': {\n            borderBottom: `1px solid ${BASE_THEME.palette.grey[400]}`,\n          },\n          '&:hover:not(.Mui-disabled, .Mui-error):before': {\n            borderBottom: `1px solid ${BASE_THEME.palette.grey[500]} !important`,\n          },\n          '&:after': {\n            borderBottom: `1px solid ${BASE_THEME.palette.text.primary} !important`,\n          },\n          '&.MuiOutlinedInput-root:not(.Mui-error)': {\n            '& fieldset': {\n              borderColor: BASE_THEME.palette.grey[300],\n              transition: 'border-color 0.2s',\n            },\n          },\n          '&.MuiOutlinedInput-root:not(.Mui-disabled, .Mui-error)': {\n            '&:hover fieldset': {\n              borderColor: BASE_THEME.palette.grey[400],\n            },\n            '&.Mui-focused fieldset': {\n              borderColor: BASE_THEME.palette.text.secondary,\n              borderWidth: 1,\n            },\n          },\n        },\n        input: {\n          fontSize: BASE_THEME.typography.pxToRem(14),\n          '&.Mui-disabled': {\n            WebkitTextFillColor: 'inherit',\n            color: BASE_THEME.palette.text.secondary,\n          },\n        },\n        inputSizeSmall: {},\n      },\n    },\n    MuiOutlinedInput: {\n      styleOverrides: {\n        notchedOutline: {\n          '& legend': {\n            fontSize: '0.85em',\n            maxWidth: '100%',\n          },\n        },\n      },\n    },\n    MuiInputAdornment: {\n      styleOverrides: {\n        root: {\n          '& .MuiTypography-root': {\n            fontSize: BASE_THEME.typography.pxToRem(14),\n            color: BASE_THEME.palette.text.secondary,\n          },\n        },\n      },\n    },\n    MuiInputLabel: {\n      defaultProps: {\n        shrink: true,\n      },\n      styleOverrides: {\n        shrink: {\n          transform: 'scale(0.85)',\n          fontWeight: BASE_THEME.typography.fontWeightMedium,\n          '&.Mui-focused': {\n            color: BASE_THEME.palette.text.primary,\n          },\n          '&.MuiInputLabel-standard': {\n            transform: 'translate(0, -4px) scale(0.85)',\n            color: '#4F4F4F',\n          },\n          '&.MuiInputLabel-outlined': {\n            transform: 'translate(15px, -8px) scale(0.85)',\n          },\n        },\n      },\n    },\n    MuiTabs: {\n      defaultProps: {\n        variant: 'scrollable',\n      },\n      styleOverrides: {\n        indicator: {\n          height: 1,\n          backgroundColor: BASE_THEME.palette.text.primary,\n        },\n      },\n    },\n    MuiTab: {\n      styleOverrides: {\n        root: {\n          textTransform: 'none',\n          minWidth: BASE_THEME.spacing(2),\n          paddingLeft: BASE_THEME.spacing(1.5),\n          paddingRight: BASE_THEME.spacing(1.5),\n          fontSize: BASE_THEME.typography.pxToRem(14),\n          fontFamily: BASE_THEME.typography.fontFamily,\n          lineHeight: 1.5,\n          fontWeight: BASE_THEME.typography.fontWeightMedium,\n          transition: 'color 0.2s',\n          '&.Mui-selected': {\n            color: BASE_THEME.palette.text.primary,\n          },\n          '&:hover': {\n            color: BASE_THEME.palette.text.primary,\n          },\n        },\n      },\n    },\n    MuiCard: {\n      styleOverrides: {\n        root: {\n          borderRadius: 0,\n        },\n      },\n    },\n    MuiCardHeader: {\n      styleOverrides: {\n        title: {\n          fontSize: BASE_THEME.typography.pxToRem(18),\n          fontWeight: BASE_THEME.typography.fontWeightMedium,\n        },\n      },\n    },\n  },\n  typography: {\n    fontFamily: BASE_THEME.typography.fontFamily,\n    h1: {\n      fontFamily: BASE_THEME.typography.fontFamily,\n      fontSize: BASE_THEME.typography.pxToRem(40),\n      lineHeight: 1.2,\n      letterSpacing: '-0.02em',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n    },\n    h2: {\n      fontFamily: BASE_THEME.typography.fontFamily,\n      fontSize: BASE_THEME.typography.pxToRem(32),\n      lineHeight: 1.2,\n      letterSpacing: '-0.02em',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n    },\n    h3: {\n      fontFamily: BASE_THEME.typography.fontFamily,\n      fontSize: BASE_THEME.typography.pxToRem(24),\n      lineHeight: 1.5,\n      letterSpacing: '-0.01em',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n    },\n    h4: {\n      fontFamily: BASE_THEME.typography.fontFamily,\n      fontSize: BASE_THEME.typography.pxToRem(20),\n      lineHeight: 1.5,\n      letterSpacing: '-0.01em',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n    },\n    h5: {\n      fontFamily: BASE_THEME.typography.fontFamily,\n      fontSize: BASE_THEME.typography.pxToRem(18),\n      lineHeight: 1.5,\n      letterSpacing: '-0.01em',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n    },\n    h6: {\n      fontFamily: BASE_THEME.typography.fontFamily,\n      fontSize: BASE_THEME.typography.pxToRem(16),\n      lineHeight: 1.5,\n      letterSpacing: '-0.005em',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n    },\n    body1: {\n      fontSize: BASE_THEME.typography.pxToRem(14),\n    },\n    body2: {\n      fontSize: BASE_THEME.typography.pxToRem(12),\n    },\n    overline: {\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n      letterSpacing: '0.05em',\n    },\n    button: {\n      textTransform: 'none',\n      fontWeight: BASE_THEME.typography.fontWeightMedium,\n      lineHeight: 1.5,\n    },\n    caption: {\n      letterSpacing: 0,\n      lineHeight: 1.5,\n    },\n  },\n  shadows: [\n    'none',\n    '0px 4px 15px rgba(33, 36, 67, 0.04), 0px 0px 2px rgba(33, 36, 67, 0.04), 0px 0px 1px rgba(33, 36, 67, 0.04)',\n    '0px 10px 20px rgba(33, 36, 67, 0.04), 0px 2px 6px rgba(33, 36, 67, 0.04), 0px 0px 1px rgba(33, 36, 67, 0.04)',\n    '0px 16px 24px rgba(33, 36, 67, 0.05), 0px 2px 6px rgba(33, 36, 67, 0.05), 0px 0px 1px rgba(33, 36, 67, 0.05)',\n    '0px 24px 32px rgba(33, 36, 67, 0.06), 0px 16px 24px rgba(33, 36, 67, 0.06), 0px 4px 8px rgba(33, 36, 67, 0.06)',\n    ...Array(20).fill('none'),\n  ],\n});\n\nexport default THEME;\n"
  },
  {
    "path": "frontend/email-builder/src/utils.tsx",
    "content": "import { renderToStaticMarkup } from '@usewaypoint/email-builder';\nimport { TEditorConfiguration } from './documents/editor/core';\n\nexport function renderHtmlWithMeta(document: TEditorConfiguration, options: { rootBlockId: string }): string {\n  const html = renderToStaticMarkup(document, options);\n  // Insert <head> with viewport meta after <html>\n  return html.replace(\n    '<html>',\n    '<html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"></head>'\n  );\n}\n"
  },
  {
    "path": "frontend/email-builder/src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "frontend/email-builder/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"es2015\",\n    \"module\": \"esnext\",\n    \"outDir\": \"dist\",\n    \"lib\": [],\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"strict\": true,\n    \"sourceMap\": true,\n    \"allowJs\": true,\n    \"esModuleInterop\": true,\n    \"skipLibCheck\": true,\n    \"declarationMap\": true,\n    \"declaration\": true,\n    \"noUnusedLocals\": true,\n    \"noImplicitReturns\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"allowSyntheticDefaultImports\": true\n  },\n  \"exclude\": [\"dist\"]\n}\n"
  },
  {
    "path": "frontend/email-builder/vite.config.ts",
    "content": "import { resolve } from 'path';\nimport { defineConfig } from 'vite';\nimport react from '@vitejs/plugin-react-swc';\n\nexport default defineConfig({\n  plugins: [react()],\n  define: {\n    'process.env.NODE_ENV': '\"production\"',\n  },\n  build: {\n    lib: {\n      entry: resolve(__dirname, 'src/main.tsx'),\n      name: 'EmailBuilder',\n      formats: ['umd'],\n      fileName: (format) => `email-builder.${format}.js`,\n    },\n    minify: 'terser',\n    cssCodeSplit: true,\n    cssMinify: true,\n\n    // Option to externalize deps.\n    // rollupOptions: {\n    //   external: ['react', 'react-dom'],\n    //   output: {\n    //     globals: {\n    //       react: 'React',\n    //       'react-dom': 'ReactDOM',\n    //     },\n    //   },\n    // }\n  },\n});\n"
  },
  {
    "path": "frontend/fontello/config.json",
    "content": "{\n  \"name\": \"\",\n  \"css_prefix_text\": \"mdi-\",\n  \"css_use_suffix\": false,\n  \"hinting\": true,\n  \"units_per_em\": 1000,\n  \"ascent\": 850,\n  \"glyphs\": [\n    {\n      \"uid\": \"89b2c451ee479a40a10a43903f484850\",\n      \"css\": \"view-dashboard-variant-outline\",\n      \"code\": 59392,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M84 209V791H916V209H84ZM834 500H666V291H834V500ZM584 416H416V291H584V416ZM416 500H584V709H416V500ZM166 291H334V709H166V291ZM666 709V584H834V709H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-dashboard-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9b67a1f6d523f03cc1f3b3a6be1c7f22\",\n      \"css\": \"format-list-bulleted-square\",\n      \"code\": 59393,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M125 166H291V334H125V166ZM375 209V291H875V209H375ZM125 416H291V584H125V416ZM375 459V541H875V459H375ZM125 666H291V834H125V666ZM375 709V791H875V709H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-bulleted-square\"\n      ]\n    },\n    {\n      \"uid\": \"f3469128be97578e6cb989c26a888230\",\n      \"css\": \"newspaper-variant-outline\",\n      \"code\": 59394,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M834 209V791H166V209H834ZM834 125H166Q132.8 125 108.4 149.4T84 209V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V209Q916 173.8 891.6 149.4T834 125ZM750 625H250V709H750V625ZM416 291H250V541H416V291ZM500 375H750V291H500V375ZM750 459H500V541H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2c5aa4eaa0a4fc31ee7664109d6ead39\",\n      \"css\": \"account-multiple\",\n      \"code\": 59395,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M666 709V791H84V709L85.9 691.4Q89.8 669.9 101.6 650.4 119.1 621.1 146.5 599.6 181.6 574.2 232.4 558.6 293 541 375 541 503.9 541 580.1 584 634.8 615.2 656.3 666 666 689.5 666 709V709ZM521.5 312.5Q521.5 267.6 496.1 231.4T430.7 177.7 346.7 168.9 271.5 209 231.4 284.2 240.2 368.2 293.9 433.6 375 459Q435.5 459 478.5 416T521.5 312.5ZM664.1 541Q703.1 572.3 725.6 616.2T750 709V791H916V709L914.1 693.4Q910.2 673.8 900.4 654.3 886.7 627 861.3 607.4 832 580.1 787.1 564.5 734.4 546.9 664.1 541ZM625 166Q580.1 166 544.9 191.4 584 246.1 584 312.5T544.9 433.6Q580.1 459 625 459 685.5 459 728.5 416T771.5 312.5 728.5 209 625 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"df04a87ce11130e48d5053118514b9d0\",\n      \"css\": \"file-upload-outline\",\n      \"code\": 59396,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM500 500L666 666H562.5V791H437.5V666H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-upload-outline\"\n      ]\n    },\n    {\n      \"uid\": \"842d227d85ae47032724fddc672b9dfb\",\n      \"css\": \"rocket-launch-outline\",\n      \"code\": 59397,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M546.9 923.8L478.5 765.6Q572.3 730.5 662.1 669.9ZM234.4 521.5L76.2 453.1 330.1 337.9Q269.5 427.7 234.4 521.5ZM800.8 166Q822.3 166 832 168 839.8 230.5 816.4 296.9 785.2 392.6 693.4 482.4 587.9 589.8 443.4 644.5L353.5 556.6Q412.1 410.2 517.6 306.6 595.7 228.5 677.7 193.4 740.2 166 800.8 166ZM800.8 84Q724.6 84 648.4 115.2 550.8 156.3 459 248 343.8 361.3 277.3 527.3 267.6 550.8 273.4 574.2T296.9 615.2L384.8 703.1Q410.2 728.5 443.4 728.5 457 728.5 472.7 722.7 632.8 662.1 752 541 818.4 476.6 859.4 404.3 892.6 345.7 906.3 283.2 918 234.4 916 187.5 916 152.3 908.2 123L900.4 99.6 873 91.8Q839.8 84 800.8 84ZM605.5 394.5Q582 369.1 582 335T606.4 276.4 665 252 723.6 276.4 748 335 723.6 393.6 665 418 605.5 394.5ZM369.1 689.5L310.5 630.9ZM259.8 916L412.1 765.6Q390.6 759.8 371.1 746.1L201.2 916H259.8ZM84 916H142.6L341.8 718.8 281.3 660.2 84 857.4V916ZM84 798.8L253.9 628.9Q240.2 609.4 234.4 587.9L84 740.2V798.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rocket-launch-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4ecf5d7f85aa45175015c248d4fe068d\",\n      \"css\": \"plus\",\n      \"code\": 59398,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M791 541H541V791H459V541H209V459H459V209H541V459H791V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus\"\n      ]\n    },\n    {\n      \"uid\": \"42e6cb8e864bb1cc63fea2d6473dd22a\",\n      \"css\": \"image-outline\",\n      \"code\": 59399,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM582 511.7L466.8 660.2 384.8 560.5 271.5 709H728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d0b42167b497a9d797946c250585cb16\",\n      \"css\": \"file-image-outline\",\n      \"code\": 59400,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM709 541V791H291L500 584 584 666ZM416 437.5Q416 462.9 398.4 481.4T354.5 500 309.6 481.4 291 437.5 309.6 393.6 354.5 375 398.4 393.6 416 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-image-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4d87954fa826e2f4758183abd3ecc31c\",\n      \"css\": \"cog-outline\",\n      \"code\": 59401,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM416 916Q408.2 916 402.3 911.1T396.5 898.4L380.9 789.1Q345.7 775.4 310.5 748L207 789.1Q199.2 793 191.4 790T181.6 781.3L97.7 636.7Q93.8 628.9 94.7 622.1T101.6 609.4L189.5 541 187.5 500 189.5 459 101.6 390.6Q95.7 384.8 94.7 377.9T97.7 363.3L181.6 218.8Q183.6 212.9 191.4 210T207 210.9L310.5 252Q345.7 224.6 380.9 210.9L396.5 101.6Q396.5 93.8 402.3 88.9T416 84H584Q591.8 84 597.7 88.9T603.5 101.6L619.1 210.9Q654.3 224.6 689.5 252L793 210.9Q800.8 207 808.6 210T818.4 218.8L902.3 363.3Q906.3 371.1 905.3 377.9T898.4 390.6L810.5 459 812.5 500 810.5 541 898.4 609.4Q904.3 615.2 905.3 622.1T902.3 636.7L818.4 781.3Q816.4 787.1 808.6 790T793 789.1L689.5 748Q654.3 775.4 619.1 789.1L603.5 898.4Q603.5 906.3 597.7 911.1T584 916H416ZM468.8 166L453.1 275.4Q377 291 326.2 349.6L226.6 306.6 195.3 361.3 283.2 425.8Q257.8 500 283.2 574.2L195.3 640.6 226.6 693.4 328.1 650.4Q378.9 709 453.1 724.6L468.8 834H531.3L546.9 724.6Q621.1 709 671.9 650.4L773.4 693.4 804.7 640.6 716.8 576.2Q742.2 500 716.8 425.8L804.7 361.3 773.4 306.6 673.8 349.6Q623 291 546.9 275.4L531.3 166H468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f4152689193c6192bf0c3105e8e76be1\",\n      \"css\": \"tag-outline\",\n      \"code\": 59402,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM541 834L166 459V166H459L834 541ZM271.5 209Q296.9 209 315.4 226.6T334 270.5 315.4 315.4 270.5 334 226.6 315.4 209 270.5 226.6 226.6 271.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e127efa6f387364409ac8c733c4c8ace\",\n      \"css\": \"calendar-clock\",\n      \"code\": 59403,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M625 541H687.5V658.2L789.1 718.8 757.8 771.5 625 695.3V541ZM791 334H209V791H402.3Q375 732.4 375 666 375 587.9 414.1 520.5T520.5 414.1 666 375Q732.4 375 791 402.3V334ZM209 875Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41H334V125H666V41H750V125H791Q826.2 125 850.6 149.4T875 209V462.9Q914.1 502 936.5 554.7T959 666Q959 746.1 918.9 812.5T812.5 918.9 666 959Q607.4 959 554.7 936.5T462.9 875H209ZM666 464.8Q582 464.8 523.4 523.4T464.8 666 523.4 809.6 666 869.1Q707 869.1 744.1 853.5T809.6 809.6 853.5 744.1 869.1 666Q869.1 582 809.6 523.4T666 464.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-clock\"\n      ]\n    },\n    {\n      \"uid\": \"3fb3eac0562944f194724a4345275a08\",\n      \"css\": \"email-outline\",\n      \"code\": 59404,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M916 250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250ZM834 250L500 459 166 250H834ZM834 750H166V334L500 541 834 334V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e77cd5ded2fb48a3e2466a93f4449e92\",\n      \"css\": \"text\",\n      \"code\": 59405,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M875 250V334H125V250H875ZM125 750H500V666H125V750ZM125 541H875V459H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text\"\n      ]\n    },\n    {\n      \"uid\": \"eefc55838675b840771ed606775db1ba\",\n      \"css\": \"alarm\",\n      \"code\": 59406,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 834Q419.9 834 353.5 793.9T248 687.5 209 542 248 395.5 353.5 289.1 500 250 646.5 289.1 752 395.5 791 542 752 687.5 646.5 793.9 500 834ZM500 166Q398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916 687.5 866.2 824.2 729.5 875 541 824.2 353.5 687.5 216.8 500 166ZM521.5 334H459V584L656.3 701.2 687.5 650.4 521.5 552.7V334ZM328.1 140.6L275.4 78.1 84 238.3 136.7 300.8ZM916 238.3L724.6 78.1 671.9 140.6 863.3 302.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm\"\n      ]\n    },\n    {\n      \"uid\": \"1eedf088b4ae619fe55ec66fef53d3a2\",\n      \"css\": \"pause-circle-outline\",\n      \"code\": 59407,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M541 666V334H625V666H541ZM375 666V334H459V666H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pause-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d61111013261a3e7a3524bb026a7f448\",\n      \"css\": \"file-find-outline\",\n      \"code\": 59408,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM250 166H541L750 375V732.4L673.8 656.3Q712.9 593.8 706.1 520.5T646.5 394.5Q617.2 365.2 579.1 349.6T500 334Q414.1 334 353.5 394.5 312.5 433.6 298.8 487.3T298.8 594.7 353.5 687.5Q412.1 748 500 748 562.5 748 615.2 714.8L732.4 834H250V166ZM587.9 628.9Q550.8 666 500 666T412.1 628.9 375 541 411.1 453.1 500 416 588.9 453.1 625 541 587.9 628.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-find-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ffa755545406684e9a9fd75b6bdae5a9\",\n      \"css\": \"clock-start\",\n      \"code\": 59409,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 41Q421.9 41 354.5 81.1T248 187.5 209 333 248 479.5 353.5 585.9 500 625 646.5 585.9 752 479.5 791 333 752 187.5 645.5 81.1 500 41ZM500 130.9Q584 130.9 642.6 190.4T701.2 334 642.6 476.6 500 535.2Q459 535.2 421.9 519.5T356.4 475.6 313.5 410.2 298.8 334Q298.8 250 357.4 190.4T500 130.9ZM459 209V361.3L591.8 439.5 623 384.8 521.5 326.2V209H459ZM166 666V1000H250V875H750V1000L916 834 750 666V791H250V666H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-start\"\n      ]\n    },\n    {\n      \"uid\": \"465a36f13c5b86f3ec9cd09dedd28aa9\",\n      \"css\": \"file-multiple-outline\",\n      \"code\": 59410,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M666 0H334Q298.8 0 274.4 24.4T250 84V750Q250 785.2 274.4 809.6T334 834H834Q867.2 834 891.6 809.6T916 750V250ZM834 750H334V84H625V291H834V750ZM166 166V916H834V1000H166Q132.8 1000 108.4 975.6T84 916V166H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"042c30822e22ce8753e267071cfae3ce\",\n      \"css\": \"trash-can-outline\",\n      \"code\": 59411,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M375 125V166H166V250H209V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V250H834V166H625V125H375ZM291 250H709V791H291V250ZM375 334V709H459V334H375ZM541 334V709H625V334H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trash-can-outline\"\n      ]\n    },\n    {\n      \"uid\": \"44372f1602078fb9896800cc73f04e09\",\n      \"css\": \"pencil-outline\",\n      \"code\": 59412,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M585.9 375L625 414.1 246.1 791H209V753.9ZM736.3 125Q718.8 125 707 136.7L630.9 212.9 787.1 369.1 863.3 293Q875 281.3 875 263.7T863.3 234.4L765.6 136.7Q753.9 125 736.3 125ZM585.9 257.8L125 718.8V875H281.3L742.2 414.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c7ef5848541b9b6a14607ed37344e27\",\n      \"css\": \"arrow-top-right\",\n      \"code\": 59413,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M209 732.4L650.4 291H375V209H791V625H709V349.6L267.6 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-right\"\n      ]\n    },\n    {\n      \"uid\": \"7c530552aaeed411bb9eb1616958cf67\",\n      \"css\": \"link-variant\",\n      \"code\": 59414,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M441.4 558.6Q453.1 570.3 453.1 587.9T441.4 618.2 412.1 630.9 382.8 617.2Q341.8 578.1 328.1 524.4T328.1 417 382.8 324.2V324.2L529.3 175.8Q570.3 136.7 624 122.1T731.4 122.1 824.2 175.8 877.9 268.6 877.9 376 824.2 470.7L761.7 533.2Q763.7 480.5 746.1 431.6L765.6 412.1Q802.7 375 802.7 323.2T765.6 234.4 676.8 197.3 587.9 234.4L441.4 382.8Q404.3 418 404.3 469.7T441.4 558.6ZM558.6 382.8Q570.3 369.1 587.9 369.1T617.2 382.8Q658.2 421.9 671.9 475.6T671.9 583 617.2 675.8L470.7 824.2Q429.7 863.3 376 877.9T268.6 877.9 175.8 824.2 122.1 731.4 122.1 624 175.8 529.3L238.3 466.8Q236.3 519.5 253.9 568.4L234.4 587.9Q197.3 625 197.3 676.8T234.4 765.6 323.2 802.7 412.1 765.6L558.6 617.2Q595.7 582 595.7 530.3T558.6 441.4Q546.9 429.7 546.9 412.1T558.6 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6ef4220c28722c4f8abae683fbe251d3\",\n      \"css\": \"cloud-download-outline\",\n      \"code\": 59415,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M334 541H439.5V416H560.5V541H666L500 709ZM806.6 418Q888.7 423.8 944.3 483.4T1000 625Q1000 681.6 971.7 729.5T895.5 805.7 791 834H250Q181.6 834 124 799.8T33.2 708 0 584Q0 486.3 64.5 416T222.7 335.9Q261.7 257.8 335.9 211.9T500 166Q613.3 166 699.2 238.3T806.6 418ZM791 750Q843.8 750 879.9 713.9T916 627 882.8 540 800.8 502L736.3 498 724.6 435.5Q709 353.5 645.5 301.8T500 250Q435.5 250 380.9 283.2T296.9 373L275.4 414.1 232.4 418Q168 423.8 126 471.7T84 584Q84 652.3 132.8 701.2T250 750H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-download-outline\"\n      ]\n    },\n    {\n      \"uid\": \"123e47b61590c6f9e0c3829df814f766\",\n      \"css\": \"check-circle-outline\",\n      \"code\": 59417,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM691.4 316.4L416 589.8 308.6 482.4 250 541 416 709 750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b7c10459cb95293a0c9b3f3f04384912\",\n      \"css\": \"account-search-outline\",\n      \"code\": 59416,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M416 541Q392.6 582 382.8 623 330.1 627 275.4 642.6 228.5 658.2 195.3 676.8T162.1 709V753.9H382.8Q392.6 794.9 416 834H84V709Q84 656.3 144.5 615.2 197.3 582 281.3 560.5 355.5 541 416 541ZM416 166Q486.3 166 535.2 214.8T584 334Q584 388.7 548.8 435.5 496.1 455.1 455.1 496.1L416 500Q347.7 500 298.8 451.2T250 333 298.8 214.8 416 166ZM416 246.1Q380.9 246.1 355.5 271.5T330.1 333 355.5 394.5 417 419.9 478.5 394.5 503.9 333 478.5 271.5 416 246.1ZM646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f4b765eab763586f021fcab9d5f7767c\",\n      \"css\": \"account-check-outline\",\n      \"code\": 59418,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M878.9 521.5L937.5 580.1 666 853.5 521.5 709 580.1 650.4 666 736.3ZM459 166Q527.3 166 576.2 214.8T625 333 576.2 451.2 458 500 339.8 451.2 291 333 339.8 214.8 459 166ZM459 250Q423.8 250 399.4 274.4T375 333 399.4 391.6 458 416 516.6 391.6 541 333 516.6 274.4 459 250ZM459 541Q500 541 558.6 552.7L488.3 623 459 621.1Q400.4 621.1 337.9 636.7 283.2 652.3 244.1 673.8T205.1 709V753.9H462.9L541 834H125V709Q125 656.3 187.5 615.2 238.3 582 322.3 560.5 396.5 541 459 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1fa98ce62ee7d2a55552246b16824986\",\n      \"css\": \"account-off-outline\",\n      \"code\": 59419,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M115.2 291L168 240.2 552.7 625 834 904.3 781.3 959 656.3 834H166V709Q166 654.3 234.4 611.3 291 576.2 378.9 556.6ZM834 709V798.8L753.9 720.7V709Q753.9 699.2 739.3 688.5T699.2 666L584 548.8Q681.6 566.4 750 603.5 834 648.4 834 709ZM246.1 709V753.9H576.2L447.3 625Q396.5 630.9 347.7 646.5 302.7 662.1 274.4 679.7T246.1 709ZM500 166Q568.4 166 617.2 214.8T666 334Q666 394.5 627.9 440.4T531.3 498L335.9 302.7Q347.7 244.1 393.6 205.1T500 166ZM500 250Q464.8 250 440.4 274.4T416 333 440.4 391.6 500 416 559.6 391.6 584 333 559.6 274.4 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"891944f68b248c661cc855e8f34e911d\",\n      \"css\": \"chevron-right\",\n      \"code\": 59420,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M357.4 691.4L548.8 500 357.4 308.6 416 250 666 500 416 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-right\"\n      ]\n    },\n    {\n      \"uid\": \"c85d4f8ff9b62813e9b1c0c89ee7233f\",\n      \"css\": \"chevron-left\",\n      \"code\": 59421,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M642.6 691.4L451.2 500 642.6 308.6 584 250 334 500 584 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-left\"\n      ]\n    },\n    {\n      \"uid\": \"b1f680726c5ff5a4b55a4e2701aaedd6\",\n      \"css\": \"content-save-outline\",\n      \"code\": 59422,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M709 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V291ZM791 791H209V209H673.8L791 326.2V791ZM500 500Q447.3 500 411.1 536.1T375 625 411.1 713.9 500 750 588.9 713.9 625 625 588.9 536.1 500 500ZM250 250H625V416H250V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-outline\"\n      ]\n    },\n    {\n      \"uid\": \"80491c76df0c066833e0f8211903d37c\",\n      \"css\": \"minus\",\n      \"code\": 59423,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M791 541H209V459H791V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus\"\n      ]\n    },\n    {\n      \"uid\": \"a7a02467d65aabd7cd61903ea3e855b6\",\n      \"css\": \"arrow-up\",\n      \"code\": 59424,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M541 834H459V334L228.5 562.5 169.9 503.9 500 173.8 830.1 503.9 771.5 562.5 541 334V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up\"\n      ]\n    },\n    {\n      \"uid\": \"a9b97a98d1427ca1c4f90b2f8f4f03c1\",\n      \"css\": \"arrow-down\",\n      \"code\": 59425,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M459 166H541V666L771.5 437.5 830.1 496.1 500 826.2 169.9 496.1 228.5 437.5 459 666V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"2ffb565ecad215e58aeec2e2d52a9d3e\",\n      \"css\": \"cancel\",\n      \"code\": 59426,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 613.3 236.3 705.1L705.1 236.3Q613.3 166 500 166ZM500 834Q589.8 834 667 789.1T789.1 667 834 500Q834 386.7 763.7 294.9L294.9 763.7Q386.7 834 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cancel\"\n      ]\n    },\n    {\n      \"uid\": \"110ec51ea49a7f0cc9bfbde321f3c28d\",\n      \"css\": \"magnify\",\n      \"code\": 59427,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M396.5 125Q468.8 125 531.3 161.1T629.9 259.8 666 396.5Q666 496.1 601.6 572.3L613.3 584H646.5L853.5 791 791 853.5 584 646.5V613.3L572.3 601.6Q496.1 666 396.5 666 322.3 666 259.8 629.9T161.1 531.3 125 395.5 161.1 259.8 259.8 161.1 396.5 125ZM396.5 209Q318.4 209 263.7 263.7T209 396.5 263.7 529.3 396.5 584 529.3 529.3 584 396.5 529.3 263.7 396.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify\"\n      ]\n    },\n    {\n      \"uid\": \"e97fad4c93444c9b81151c2aa4086e13\",\n      \"css\": \"chart-bar\",\n      \"code\": 59428,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M916 875H84V125H166V791H250V416H416V791H500V250H666V791H750V584H916V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-bar\"\n      ]\n    },\n    {\n      \"uid\": \"61e03b48670cd93477e233e0d6bb3f1c\",\n      \"css\": \"email-bounce\",\n      \"code\": 59429,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M916 834H750V959L541 771.5 750 584V709H916V834ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H459V750H166V334L500 541 834 334V625H916V250Q916 214.8 891.6 190.4T834 166ZM500 459L166 250H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-bounce\"\n      ]\n    },\n    {\n      \"uid\": \"fcb7bfb12b7533c7026762bfc328ca1c\",\n      \"css\": \"speedometer\",\n      \"code\": 59430,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 666Q447.3 666 411.1 629.9T375 541Q375 507.8 391.6 478.5T437.5 433.6L841.8 199.2 611.3 597.7Q595.7 628.9 565.4 647.5T500 666ZM500 125Q609.4 125 707 179.7L619.1 230.5Q562.5 209 500 209 410.2 209 333 253.9T210.9 375 166 541Q166 609.4 192.4 669.9T263.7 777.3V777.3Q277.3 789.1 277.3 806.6T264.6 835.9 234.4 847.7 205.1 835.9V835.9Q148.4 779.3 116.2 703.1T84 543 115.2 381.8 205.1 246.1 340.8 156.3 500 125ZM916 541Q916 627 883.8 703.1T794.9 835.9V835.9Q783.2 847.7 765.6 847.7T736.3 835.9 724.6 806.6 736.3 777.3V777.3Q781.3 730.5 807.6 669.9T834 541Q834 478.5 810.5 419.9L861.3 334Q916 433.6 916 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speedometer\"\n      ]\n    },\n    {\n      \"uid\": \"86efd4d8903ab613b84953efcef01406\",\n      \"css\": \"logout-variant\",\n      \"code\": 984573,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M585.9 650.4L695.3 541H291V459H695.3L585.9 349.6 646.5 291 853.5 500 646.5 709ZM791 125Q826.2 125 850.6 149.4T875 209V402.3L791 320.3V209H209V791H791V679.7L875 597.7V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"logout-variant\"\n      ]\n    },\n    {\n      \"uid\": \"10098901a143c53df6eeaeb317ae3da6\",\n      \"css\": \"wrench-outline\",\n      \"code\": 986080,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M941.4 791L564.5 412.1Q593.8 337.9 578.1 258.8T503.9 121.1Q431.6 50.8 332 43T152.3 93.8L312.5 253.9 253.9 312.5 93.8 154.3Q35.2 234.4 42 334T121.1 503.9Q177.7 562.5 255.9 578.1T408.2 566.4L787.1 945.3Q798.8 959 816.4 959T845.7 945.3L941.4 849.6Q955.1 837.9 955.1 821.3T941.4 791ZM816.4 857.4L423.8 462.9Q384.8 492.2 340.8 498T253.9 491.2 180.7 447.3 136.7 378.9 125 302.7L253.9 431.6 429.7 253.9 300.8 125Q384.8 121.1 445.3 179.7 478.5 212.9 491.2 256.8T496.1 344.7 460.9 427.7L853.5 820.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wrench-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7fced23a2d76846589ebc2b409bf16e8\",\n      \"css\": \"code\",\n      \"code\": 983401,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M334 125Q298.8 125 274.4 149.4T250 209V375Q250 410.2 225.6 434.6T166 459H125V541H166Q201.2 541 225.6 565.4T250 625V791Q250 826.2 274.4 850.6T334 875H416V791H334V584Q334 548.8 309.6 524.4T250 500Q285.2 500 309.6 475.6T334 416V209H416V125H334ZM666 125Q701.2 125 725.6 149.4T750 209V375Q750 410.2 774.4 434.6T834 459H875V541H834Q798.8 541 774.4 565.4T750 625V791Q750 826.2 725.6 850.6T666 875H584V791H666V584Q666 548.8 690.4 524.4T750 500Q714.8 500 690.4 475.6T666 416V209H584V125H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code\"\n      ]\n    },\n    {\n      \"uid\": \"8f28d948aa6379b1a69d2a090e7531d4\",\n      \"css\": \"warning-empty\",\n      \"code\": 59431,\n      \"src\": \"typicons\"\n    },\n    {\n      \"uid\": \"77025195d19e048302e8943e2da4cc75\",\n      \"css\": \"account-outline\",\n      \"code\": 983059,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 617.2 214.8T666 333 617.2 451.2 500 500 382.8 451.2 334 333 382.8 214.8 500 166ZM500 250Q464.8 250 440.4 274.4T416 333 440.4 391.6 500 416 559.6 391.6 584 333 559.6 274.4 500 250ZM500 541Q562.5 541 636.7 560.5 720.7 582 771.5 615.2 834 656.3 834 709V834H166V709Q166 656.3 228.5 615.2 279.3 582 363.3 560.5 437.5 541 500 541ZM500 621.1Q441.4 621.1 378.9 636.7 324.2 652.3 285.2 673.8T246.1 709V753.9H753.9V709Q753.9 695.3 714.8 673.8T621.1 636.7Q558.6 621.1 500 621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f4ad3f6d071a0bfb3a8452b514ed0892\",\n      \"css\": \"vector-square\",\n      \"code\": 983041,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H334V166H666V84H916V334H834V666H916V916H666V834H334V916H84V666H166V334H84V84ZM666 334V250H334V334H250V666H334V750H666V666H750V334H666ZM166 166V250H250V166H166ZM750 166V250H834V166H750ZM166 750V834H250V750H166ZM750 750V834H834V750H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-square\"\n      ]\n    },\n    {\n      \"uid\": \"7ab725028a32b07ffbdc5d513ddf1262\",\n      \"css\": \"access-point-network\",\n      \"code\": 983042,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 164.1Q148.4 220.7 116.2 296.9T84 458 116.2 619.1 205.1 752L263.7 693.4Q218.8 648.4 192.4 587.9T166 459 192.4 329.1 263.7 222.7ZM794.9 164.1L736.3 222.7Q781.3 267.6 807.6 329.1T834 459 807.6 587.9 736.3 693.4L794.9 752Q851.6 695.3 883.8 619.1T916 458 883.8 296.9 794.9 164.1ZM324.2 281.3Q289.1 316.4 269.5 362.3T250 459 269.5 554.7 324.2 634.8L382.8 576.2Q334 527.3 334 458T382.8 339.8ZM675.8 281.3L617.2 339.8Q666 388.7 666 458T617.2 576.2L675.8 634.8Q710.9 599.6 730.5 554.7T750 459 730.5 362.3 675.8 281.3ZM500 375Q464.8 375 440.4 399.4T416 458 440.4 516.6 500 541 559.6 516.6 584 458 559.6 399.4 500 375ZM459 625V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625Q625 816.4 613.3 803.7T584 791H541V625H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"access-point-network\"\n      ]\n    },\n    {\n      \"uid\": \"b1e32dbb99a1e0510ce2a4622ba7a521\",\n      \"css\": \"access-point\",\n      \"code\": 983043,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 205.1Q148.4 263.7 116.2 339.8T84 500 116.2 660.2 205.1 794.9L263.7 736.3Q218.8 689.5 192.4 628.9T166 500 192.4 371.1 263.7 263.7ZM794.9 205.1L736.3 263.7Q781.3 310.5 807.6 371.1T834 500 807.6 628.9 736.3 736.3L794.9 794.9Q851.6 736.3 883.8 660.2T916 500 883.8 339.8 794.9 205.1ZM324.2 324.2Q289.1 357.4 269.5 403.3T250 500 269.5 596.7 324.2 675.8L382.8 617.2Q334 568.4 334 500T382.8 382.8ZM675.8 324.2L617.2 382.8Q666 431.6 666 500T617.2 617.2L675.8 675.8Q710.9 642.6 730.5 596.7T750 500 730.5 403.3 675.8 324.2ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"access-point\"\n      ]\n    },\n    {\n      \"uid\": \"f89cc3f690ee358d7fffbba627df38d3\",\n      \"css\": \"account\",\n      \"code\": 983044,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 617.2 214.8T666 333 617.2 451.2 500 500 382.8 451.2 334 333 382.8 214.8 500 166ZM500 584Q589.8 584 667 606.4T789.1 667 834 750V834H166V750Q166 705.1 210.9 667T333 606.4 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account\"\n      ]\n    },\n    {\n      \"uid\": \"c253090333badbf998aa7535de07e341\",\n      \"css\": \"account-alert\",\n      \"code\": 983045,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166Q486.3 166 535.2 214.8T584 333 535.2 451.2 417 500 298.8 451.2 250 333 298.8 214.8 416 166ZM416 584Q507.8 584 584 606.4T705.1 667 750 750V834H84V750Q84 705.1 128.9 667T250 606.4 416 584ZM834 500V291H916V541H834V500ZM834 709V625H916V709H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-alert\"\n      ]\n    },\n    {\n      \"uid\": \"bdb4c2347bde5ca864053124a7037d66\",\n      \"css\": \"account-box\",\n      \"code\": 983046,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 709Q250 669.9 296.9 638.7 335.9 611.3 398.4 593.8 455.1 580.1 500 580.1T601.6 593.8Q664.1 611.3 703.1 638.7 750 669.9 750 709V750H250V709ZM625 375Q625 427.7 588.9 463.9T500 500 411.1 463.9 375 375 411.1 286.1 500 250 588.9 286.1 625 375ZM125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Q173.8 125 149.4 149.4T125 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-box\"\n      ]\n    },\n    {\n      \"uid\": \"62fb1151c0755d15550a73fadd624a74\",\n      \"css\": \"account-box-outline\",\n      \"code\": 983047,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM687.5 677.7Q687.5 634.8 617.2 607.4 558.6 584 500 584T382.8 607.4Q312.5 634.8 312.5 677.7V709H687.5V677.7ZM500 509.8Q539.1 509.8 566.4 482.4T593.8 416 566.4 349.6 500 322.3 433.6 349.6 406.3 416 433.6 482.4 500 509.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a362e0c7922edfdd99da62e85b349883\",\n      \"css\": \"account-check\",\n      \"code\": 983048,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M878.9 521.5L937.5 580.1 666 853.5 521.5 709 580.1 650.4 666 736.3ZM416 709L541 834H125V750Q125 705.1 169.9 667T291 606.4 459 584L537.1 587.9ZM459 166Q527.3 166 576.2 214.8T625 333 576.2 451.2 458 500 339.8 451.2 291 333 339.8 214.8 459 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-check\"\n      ]\n    },\n    {\n      \"uid\": \"2b17f8e049085291a8824bc6b28f0c77\",\n      \"css\": \"account-circle\",\n      \"code\": 983049,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 800.8Q423.8 800.8 357.4 764.6T250 666Q250 628.9 296.9 595.7 335.9 568.4 398.4 552.7 455.1 537.1 500 537.1T601.6 552.7Q664.1 568.4 703.1 595.7 750 628.9 750 666 709 728.5 642.6 764.6T500 800.8ZM500 209Q552.7 209 588.9 245.1T625 333 588.9 421.9 500 459 411.1 421.9 375 333 411.1 245.1 500 209ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-circle\"\n      ]\n    },\n    {\n      \"uid\": \"e9794c91ac31cb2da1f10f925b2ba832\",\n      \"css\": \"account-convert\",\n      \"code\": 983050,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 0L472.7 2 630.9 160.2 687.5 103.5Q791 154.3 857.4 248T935.5 459H998Q988.3 332 918.9 226.6T739.3 60.5 500 0ZM500 166Q439.5 166 396.5 209T353.5 312.5 396.5 416 500 459 603.5 416 646.5 312.5 603.5 209 500 166ZM2 541Q11.7 668 81.1 773.4T260.7 939.5 500 1000L527.3 998 369.1 839.8 312.5 896.5Q209 845.7 142.6 752T64.5 541H2ZM500 541Q419.9 541 353.5 560.5T248 614.3 209 687.5V750H791V687.5Q791 648.4 752 614.3T646.5 560.5 500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-convert\"\n      ]\n    },\n    {\n      \"uid\": \"ab00f215376a0cbac8112def498f735e\",\n      \"css\": \"account-key\",\n      \"code\": 983051,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 416V500H416V584H334V500H242.2Q230.5 537.1 198.2 560.5T125 584Q72.3 584 36.1 546.9T0 458 36.1 370.1 125 334Q166 334 198.2 356.4T242.2 416H459ZM125 416Q107.4 416 95.7 428.7T84 459 95.7 488.3 125 500 154.3 488.3 166 459 154.3 428.7 125 416ZM666 584Q728.5 584 802.7 601.6 886.7 623 937.5 658.2 1000 699.2 1000 750V834H334V750Q334 699.2 394.5 658.2 447.3 623 531.3 601.6 605.5 584 666 584ZM666 500Q597.7 500 548.8 451.2T500 333 548.8 214.8 667 166 785.2 214.8 834 333 785.2 451.2 666 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-key\"\n      ]\n    },\n    {\n      \"uid\": \"5ab212459887f2dbdddf9fa5a8b76695\",\n      \"css\": \"tooltip-account\",\n      \"code\": 983052,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334L500 916 666 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM500 179.7Q546.9 179.7 580.1 211.9T613.3 291 580.1 371.1 500 404.3 419.9 371.1 386.7 291 419.9 211.9 500 179.7ZM750 625H250V587.9Q250 548.8 296.9 517.6 335.9 490.2 398.4 472.7 455.1 459 500 459T601.6 472.7Q664.1 490.2 703.1 517.6 750 548.8 750 587.9V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-account\"\n      ]\n    },\n    {\n      \"uid\": \"6a041eec0b1bb8ac5c07eb3643d9f263\",\n      \"css\": \"account-minus\",\n      \"code\": 983053,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584Q562.5 584 488.3 601.6 404.3 623 353.5 658.2 291 699.2 291 750V834H959V750Q959 699.2 896.5 658.2 845.7 623 761.7 601.6 687.5 584 625 584ZM41 416V500H375V416H41ZM625 500Q693.4 500 742.2 451.2T791 333 742.2 214.8 625 166 507.8 214.8 459 333 507.8 451.2 625 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-minus\"\n      ]\n    },\n    {\n      \"uid\": \"68dca4a4db055bd9610a3875c34bd7a9\",\n      \"css\": \"account-multiple-outline\",\n      \"code\": 983055,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M544.9 433.6Q584 378.9 584 312.5T544.9 191.4Q580.1 166 625 166 685.5 166 728.5 209T771.5 312.5 728.5 416 625 459Q580.1 459 544.9 433.6ZM228.5 312.5Q228.5 267.6 253.9 231.4T319.3 177.7 403.3 168.9 478.5 209 518.6 284.2 509.8 368.2 456.1 433.6 375 459Q314.5 459 271.5 416T228.5 312.5ZM312.5 312.5Q312.5 337.9 331.1 356.4T375 375 418.9 356.4 437.5 312.5 418.9 268.6 375 250 331.1 268.6 312.5 312.5ZM666 709V791H84V709L85.9 691.4Q89.8 669.9 101.6 650.4 119.1 621.1 146.5 599.6 181.6 574.2 232.4 558.6 293 541 375 541 503.9 541 580.1 584 634.8 615.2 656.3 666 666 689.5 666 709V709ZM584 709Q578.1 677.7 535.2 654.3 478.5 625 375 625 304.7 625 253.9 640.6 210.9 652.3 187.5 673.8 168 691.4 166 709H584ZM664.1 541Q703.1 572.3 725.6 616.2T750 709V791H916V709L914.1 693.4Q910.2 673.8 900.4 654.3 886.7 627 861.3 607.4 832 580.1 787.1 564.5 734.4 546.9 664.1 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4ff764d4f139f01d3b2a3aa6eb6f9e67\",\n      \"css\": \"account-multiple-plus\",\n      \"code\": 983056,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709V791H291V709L293 691.4Q296.9 669.9 308.6 650.4 322.3 621.1 345.7 599.6 375 574.2 419.9 558.6 470.7 541 541 541 652.3 541 716.8 584 763.7 615.2 783.2 666 791 689.5 791 709V709ZM666 334Q666 281.3 629.9 245.1T542 209 453.1 245.1 416 333 453.1 421.9 542 459 629.9 421.9 666 334ZM800.8 544.9Q834 576.2 853.5 619.1T875 709V791H1000V709L996.1 685.5Q990.2 658.2 974.6 634.8 953.1 599.6 916 578.1 869.1 550.8 800.8 544.9ZM750 209Q730.5 209 712.9 214.8 750 267.6 750 333T712.9 453.1Q730.5 459 750 459 802.7 459 838.9 421.9T875 333 838.9 245.1 750 209ZM334 416H209V291H125V416H0V500H125V625H209V500H334V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-plus\"\n      ]\n    },\n    {\n      \"uid\": \"4dfc790a2640d8c007f5b80caeed6a3b\",\n      \"css\": \"account-network\",\n      \"code\": 983057,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H209V646.5Q209 605.5 248 572.3T353.5 519.5 500 500 646.5 519.5 752 572.3 791 646.5V709H541ZM500 125Q560.5 125 603.5 168T646.5 271.5 603.5 374 500 416 396.5 374 353.5 271.5 396.5 168 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-network\"\n      ]\n    },\n    {\n      \"uid\": \"a9491858aa00bbdad9e9382110b8c03e\",\n      \"css\": \"account-off\",\n      \"code\": 983058,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 617.2 214.8T666 334Q666 394.5 627.9 440.4T531.3 498L335.9 302.7Q347.7 244.1 393.6 205.1T500 166ZM511.7 584L761.7 834 834 904.3 781.3 959 656.3 834H166V750Q166 693.4 235.4 648.4T412.1 589.8L115.2 293 168 240.2ZM834 750V798.8L630.9 595.7Q720.7 615.2 777.3 657.2T834 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-off\"\n      ]\n    },\n    {\n      \"uid\": \"571120b7ff63feb71df85710d019302c\",\n      \"css\": \"account-plus\",\n      \"code\": 983060,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584Q562.5 584 488.3 601.6 404.3 623 353.5 658.2 291 699.2 291 750V834H959V750Q959 699.2 896.5 658.2 845.7 623 761.7 601.6 687.5 584 625 584ZM250 416V291H166V416H41V500H166V625H250V500H375V416H250ZM625 500Q693.4 500 742.2 451.2T791 333 742.2 214.8 625 166 507.8 214.8 459 333 507.8 451.2 625 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-plus\"\n      ]\n    },\n    {\n      \"uid\": \"945c8450e8497a29b1fcaca9c68ba7cd\",\n      \"css\": \"account-remove\",\n      \"code\": 983061,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584Q687.5 584 761.7 601.6 845.7 623 896.5 658.2 959 699.2 959 750V834H291V750Q291 699.2 353.5 658.2 404.3 623 488.3 601.6 562.5 584 625 584ZM625 500Q556.6 500 507.8 451.2T459 333 507.8 214.8 625 166 742.2 214.8 791 333 742.2 451.2 625 500ZM209 400.4L296.9 310.5 355.5 369.1 267.6 459 355.5 546.9 296.9 605.5 209 517.6 119.1 605.5 60.5 546.9 150.4 459 60.5 369.1 119.1 310.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-remove\"\n      ]\n    },\n    {\n      \"uid\": \"9e51245237a37184e7f43ac572723e73\",\n      \"css\": \"account-search\",\n      \"code\": 983062,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM416 166Q486.3 166 535.2 214.8T584 334Q584 388.7 548.8 435.5 496.1 455.1 455.1 496.1L416 500Q347.7 500 298.8 451.2T250 333 298.8 214.8 416 166ZM84 834V750Q84 707 125 669.9T238.3 609.4 396.5 584Q375 634.8 375 687.5 375 765.6 416 834H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-search\"\n      ]\n    },\n    {\n      \"uid\": \"2ded7a20d1ff962a582a2573b51dd3a2\",\n      \"css\": \"account-star\",\n      \"code\": 983063,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584Q562.5 584 488.3 601.6 404.3 623 353.5 658.2 291 699.2 291 750V834H959V750Q959 699.2 896.5 658.2 845.7 623 761.7 601.6 687.5 584 625 584ZM625 500Q693.4 500 742.2 451.2T791 333 742.2 214.8 625 166 507.8 214.8 459 333 507.8 451.2 625 500ZM209 552.7L310.5 615.2 283.2 498 375 419.9 253.9 410.2 209 298.8 162.1 410.2 41 419.9 132.8 498 103.5 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-star\"\n      ]\n    },\n    {\n      \"uid\": \"aed30e4db65ccd880af0c6ce234bc856\",\n      \"css\": \"orbit\",\n      \"code\": 983064,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M337.9 72.3Q412.1 41 500 41 625 41 730.5 102.5T897.5 269.5 959 500 897.5 730.5 730.5 897.5 500 959 269.5 897.5 102.5 730.5 41 500Q41 414.1 72.3 335.9 101.6 367.2 144.5 382.8 125 439.5 125 500 125 601.6 175.8 687.5T312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125Q439.5 125 382.8 144.5 367.2 101.6 337.9 72.3ZM205.1 123Q240.2 123 264.6 146.5T289.1 205.1 264.6 264.6 205.1 289.1 146.5 264.6 123 205.1 146.5 146.5 205.1 123ZM500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"orbit\"\n      ]\n    },\n    {\n      \"uid\": \"4a600af183b3b75a0ae0d4db131dec45\",\n      \"css\": \"account-switch\",\n      \"code\": 983065,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375Q736.3 375 789.1 392.6 832 406.3 863.3 433.6 886.7 455.1 900.4 482.4 910.2 503.9 914.1 523.4L916 541V625H666V541L664.1 521.5Q662.1 496.1 652.3 470.7 640.6 435.5 619.1 408.2 609.4 396.5 593.8 380.9 630.9 375 666 375ZM84 541Q84 533.2 85.9 523.4 89.8 503.9 99.6 482.4 113.3 455.1 136.7 433.6 168 406.3 210.9 392.6 263.7 375 334 375T455.1 392.6Q500 406.3 529.3 433.6 552.7 455.1 566.4 482.4 578.1 503.9 582 523.4L584 541V625H84V541ZM375 709V791H625V709L750 834 625 959V875H375V959L250 834ZM334 41Q281.3 41 245.1 78.1T209 167 245.1 254.9 333 291 421.9 254.9 459 167 421.9 78.1 334 41ZM666 41Q615.2 41 578.1 78.1T541 167 578.1 254.9 667 291 754.9 254.9 791 167 754.9 78.1 666 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-switch\"\n      ]\n    },\n    {\n      \"uid\": \"d14debe89726260c6cc614ca191d90bf\",\n      \"css\": \"adjust\",\n      \"code\": 983066,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM625 500Q625 552.7 588.9 588.9T500 625 411.1 588.9 375 500 411.1 411.1 500 375 588.9 411.1 625 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"adjust\"\n      ]\n    },\n    {\n      \"uid\": \"d6983eb4892650ef42b9b28b42ae1bcf\",\n      \"css\": \"air-conditioner\",\n      \"code\": 983067,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M275.4 27.3Q322.3-9.8 370.1 2.9T454.1 65.4 502 187.5Q529.3 187.5 552.7 201.2 595.7 152.3 586.9 105.5T604.5 26.4 671.9 0Q720.7 7.8 763.7 66.4 800.8 113.3 789.1 161.1T726.6 245.1 603.5 293Q603.5 320.3 589.8 343.8 640.6 386.7 686.5 377.9T764.6 395.5 791 462.9Q783.2 511.7 724.6 556.6 677.7 591.8 629.9 580.1T545.9 517.6 498 396.5Q472.7 396.5 447.3 380.9 404.3 431.6 413.1 477.5T395.5 555.7 328.1 582Q279.3 576.2 236.3 517.6 199.2 470.7 210.9 421.9T273.4 337.9 396.5 291Q396.5 263.7 410.2 238.3 359.4 197.3 313.5 206.1T235.4 188.5 209 121.1Q216.8 72.3 275.4 27.3ZM209 666H291Q326.2 666 350.6 690.4T375 750V1000H291V916H209V1000H125V750Q125 714.8 149.4 690.4T209 666ZM209 750V834H291V750H209ZM539.1 666H625L502 1000H416ZM750 666H875V750H750V916H875V1000H750Q714.8 1000 690.4 975.6T666 916V750Q666 714.8 690.4 690.4T750 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"air-conditioner\"\n      ]\n    },\n    {\n      \"uid\": \"7f5fb40119053f0f78da628b60e39208\",\n      \"css\": \"airballoon\",\n      \"code\": 983068,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 959Q423.8 959 399.4 934.6T375 875V791H625V875Q625 910.2 600.6 934.6T541 959H459ZM500 41Q543 41 585.9 52.7 623 101.6 644.5 187.5T666 375Q666 441.4 656.3 515.6 646.5 576.2 625 666 625 701.2 600.6 725.6T541 750H459Q423.8 750 399.4 725.6T375 666Q353.5 576.2 343.8 515.6 334 441.4 334 375 334 273.4 355.5 187.5T414.1 52.7Q457 41 500 41ZM834 334Q834 400.4 809.6 480.5T742.2 623Q697.3 691.4 644.5 716.8 673.8 662.1 691.4 562.5 709 466.8 709 375 709 287.1 691.4 210T644.5 74.2Q736.3 119.1 781.3 173.8 834 240.2 834 334ZM166 334Q166 240.2 218.8 173.8 263.7 119.1 355.5 74.2 326.2 132.8 308.6 210T291 375Q291 466.8 308.6 562.5 326.2 662.1 355.5 716.8 302.7 691.4 257.8 623 214.8 560.5 190.4 480.5T166 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airballoon\"\n      ]\n    },\n    {\n      \"uid\": \"d314cc858384b6a9e84d63a088210a22\",\n      \"css\": \"airplane\",\n      \"code\": 983069,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666V584L541 375V146.5Q541 119.1 523.4 101.6T479.5 84 434.6 101.6 416 146.5V375L84 584V666L416 562.5V791L334 853.5V916L478.5 875 625 916V853.5L541 791V562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airplane\"\n      ]\n    },\n    {\n      \"uid\": \"7083d909f617fb4034cd18a90f29dc0b\",\n      \"css\": \"airplane-off\",\n      \"code\": 983070,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M130.9 218.8L337.9 427.7 89.8 584V666L423.8 562.5V791L339.8 853.5V916L486.3 875 630.9 916V853.5L548.8 791V636.7L787.1 875 839.8 822.3 183.6 166ZM548.8 375V146.5Q548.8 119.1 530.3 101.6T485.4 84 441.4 101.6 423.8 146.5V298.8L748 625 880.9 666V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airplane-off\"\n      ]\n    },\n    {\n      \"uid\": \"f4086e0a244b30e2ea5e7bb17d3fd576\",\n      \"css\": \"apple-airplay\",\n      \"code\": 983071,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 916H750L500 666ZM875 125H125Q89.8 125 65.4 149.4T41 209V709Q41 742.2 65.4 766.6T125 791H291V709H125V209H875V709H709V791H875Q910.2 791 934.6 766.6T959 709V209Q959 173.8 934.6 149.4T875 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-airplay\"\n      ]\n    },\n    {\n      \"uid\": \"0369695aade4f5396233d23cda28e630\",\n      \"css\": \"alarm-check\",\n      \"code\": 983073,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M439.5 605.5L349.6 517.6 306.6 560.5 439.5 693.4 689.5 443.4 644.5 398.4ZM500 834Q419.9 834 353.5 793.9T248 687.5 209 542 248 395.5 353.5 289.1 500 250 646.5 289.1 752 395.5 791 542 752 687.5 646.5 793.9 500 834ZM500 166Q398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916 687.5 866.2 824.2 729.5 875 541 824.2 353.5 687.5 216.8 500 166ZM328.1 140.6L275.4 78.1 84 238.3 136.7 300.8ZM916 238.3L724.6 78.1 671.9 140.6 863.3 302.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-check\"\n      ]\n    },\n    {\n      \"uid\": \"580d88513f129b8d451acd52f6355ab1\",\n      \"css\": \"alarm-multiple\",\n      \"code\": 983074,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M386.7 134.8L214.8 279.3 166 222.7 339.8 78.1ZM916 222.7L869.1 281.3 695.3 134.8 744.1 78.1ZM541 166Q632.8 166 709 210.9T830.1 333 875 500 830.1 667 709 789.1 542 834 375 789.1 253.9 667 209 500 253.9 333 375 210.9 541 166ZM541 250Q492.2 250 446.3 268.6T365.2 322.3 310.5 404.3 291 500 310.5 595.7 365.2 677.7 446.3 731.4 541 750Q609.4 750 667 716.8T757.8 626 791 500 757.8 374 667 283.2 541 250ZM500 312.5H562.5V502L697.3 562.5 669.9 619.1 500 541V312.5ZM41 584Q41 505.9 73.2 439.5T162.1 326.2Q125 410.2 125 500L127 546.9 125 584Q125 654.3 161.1 712.9T255.9 802.7Q341.8 882.8 453.1 908.2 414.1 916 375 916 285.2 916 208 871.1T85.9 750 41 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"094addebfa967ecd761226c06430ef80\",\n      \"css\": \"alarm-off\",\n      \"code\": 983075,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 136.7L275.4 78.1 238.3 107.4 298.8 166ZM685.5 765.6Q605.5 834 500 834 419.9 834 353.5 793.9T248 687.5 209 541Q209 437.5 275.4 355.5ZM121.1 95.7L68.4 148.4 125 205.1 78.1 242.2 136.7 302.7 183.6 263.7 216.8 296.9Q173.8 345.7 149.4 409.2T125 541Q125 642.6 175.8 729.5T312.5 866.2 500 916Q568.4 916 631.8 892.6T746.1 824.2L837.9 916 890.6 863.3ZM916 238.3L724.6 78.1 671.9 140.6 863.3 302.7ZM500 250Q580.1 250 646.5 289.1T752 395.5 791 541Q791 591.8 773.4 642.6L837.9 705.1Q875 627 875 541 875 439.5 824.2 353.5T687.5 216.8 500 166Q414.1 166 335.9 205.1L400.4 267.6Q449.2 250 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-off\"\n      ]\n    },\n    {\n      \"uid\": \"4bf845cc4ec7f293c7488413153ef960\",\n      \"css\": \"alarm-plus\",\n      \"code\": 983076,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H459V500H334V584H459V709H541V584H666V500H541V375ZM500 834Q419.9 834 353.5 793.9T248 687.5 209 542 248 395.5 353.5 289.1 500 250 646.5 289.1 752 395.5 791 542 752 687.5 646.5 793.9 500 834ZM500 166Q398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916 687.5 866.2 824.2 729.5 875 541 824.2 353.5 687.5 216.8 500 166ZM916 238.3L724.6 78.1 671.9 140.6 863.3 302.7ZM328.1 140.6L275.4 78.1 84 238.3 136.7 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-plus\"\n      ]\n    },\n    {\n      \"uid\": \"0387e9b9beeb0aeaef3275af7f47d4bb\",\n      \"css\": \"album\",\n      \"code\": 983077,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 459Q482.4 459 470.7 470.7T459 500 470.7 529.3 500 541 529.3 529.3 541 500 529.3 470.7 500 459ZM500 687.5Q421.9 687.5 367.2 632.8T312.5 500 367.2 367.2 500 312.5 632.8 367.2 687.5 500 632.8 632.8 500 687.5ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"album\"\n      ]\n    },\n    {\n      \"uid\": \"da264ea1620266935975165cb1efcf1e\",\n      \"css\": \"alert\",\n      \"code\": 983078,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584H459V416H541V584ZM541 750H459V666H541V750ZM41 875H959L500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert\"\n      ]\n    },\n    {\n      \"uid\": \"38aa36d145d6f52646a9b57521ddd18f\",\n      \"css\": \"alert-box\",\n      \"code\": 983079,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM541 541V291H459V541H541ZM541 709V625H459V709H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-box\"\n      ]\n    },\n    {\n      \"uid\": \"af5c0bdcce4aaefc29b80e1b1f4265bb\",\n      \"css\": \"alert-circle\",\n      \"code\": 983080,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 541H459V291H541V541ZM541 709H459V625H541V709ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-circle\"\n      ]\n    },\n    {\n      \"uid\": \"a9e0ea880d5904618921f00cffde020a\",\n      \"css\": \"alert-octagon\",\n      \"code\": 983081,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 541H459V291H541V541ZM459 625H541V709H459V625ZM656.3 125H343.8L125 343.8V656.3L343.8 875H656.3L875 656.3V343.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-octagon\"\n      ]\n    },\n    {\n      \"uid\": \"e1beadd31e29addcb1e8b8225c86d94d\",\n      \"css\": \"alert-outline\",\n      \"code\": 983082,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L41 875H959ZM500 250L814.5 791H185.5ZM459 416V584H541V416H459ZM459 666V750H541V666H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"41d4bc9afa65ddf2cebfbb1f68fcaa80\",\n      \"css\": \"alpha\",\n      \"code\": 983083,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M753.9 742.2Q724.6 750 701.2 750 627 750 601.6 638.7H599.6Q537.1 757.8 427.7 757.8 345.7 757.8 295.9 696.3T246.1 541Q246.1 433.6 301.8 365.2T453.1 296.9Q505.9 296.9 545.9 325.2T607.4 406.3V406.3L638.7 304.7H744.1L656.3 527.3Q669.9 605.5 686.5 633.8T728.5 662.1Q742.2 662.1 753.9 656.3V742.2ZM576.2 523.4Q562.5 453.1 534.2 415T466.8 377Q414.1 377 383.8 421.9T353.5 535.2Q353.5 597.7 379.9 638.7T451.2 679.7Q488.3 679.7 519.5 644.5T570.3 539.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha\"\n      ]\n    },\n    {\n      \"uid\": \"34758e8366c1e036dece33068cf4d5fc\",\n      \"css\": \"alphabetical\",\n      \"code\": 983084,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 459Q285.2 459 309.6 483.4T334 541V709H166Q132.8 709 108.4 684.6T84 625V541Q84 507.8 108.4 483.4T166 459H250ZM166 541V625H250V541H166ZM834 541V625H916V709H834Q798.8 709 774.4 684.6T750 625V541Q750 507.8 774.4 483.4T834 459H916V541H834ZM500 291V459H584Q617.2 459 641.6 483.4T666 541V625Q666 660.2 641.6 684.6T584 709H500Q464.8 709 440.4 684.6T416 625V291H500ZM500 625H584V541H500V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabetical\"\n      ]\n    },\n    {\n      \"uid\": \"6741a6e693b8e9d7c9f5c09c8667912f\",\n      \"css\": \"amazon\",\n      \"code\": 983085,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M664.1 712.9Q652.3 722.7 636.7 714.8 615.2 697.3 603.5 681.6 595.7 671.9 582 652.3L574.2 640.6Q527.3 687.5 488.3 704.1T388.7 720.7Q316.4 720.7 269.5 677.7 222.7 630.9 222.7 546.9 222.7 482.4 253.9 435.5T341.8 365.2Q375 349.6 429.7 341.8 460.9 335.9 521.5 330.1L550.8 326.2V304.7Q550.8 277.3 548.8 265.6 546.9 244.1 537.1 230.5T510.7 209 474.6 201.2Q441.4 201.2 417 218.8T384.8 269.5Q384.8 277.3 378.9 283.2T365.2 289.1L257.8 277.3Q238.3 273.4 240.2 253.9 257.8 164.1 335.9 119.1 398.4 84 490.2 84 537.1 84 578.1 95.7 628.9 111.3 658.2 138.7 691.4 169.9 703.1 218.8 709 250 709 314.5V505.9Q709 537.1 718.8 562.5 726.6 578.1 746.1 601.6L750 607.4Q763.7 627 750 638.7ZM550.8 439.5V416Q476.6 416 437.5 437.5 384.8 462.9 384.8 527.3 384.8 564.5 403.3 586.9T453.1 609.4Q476.6 609.4 497.1 595.7T531.3 557.6 548.8 503.9Q550.8 484.4 550.8 445.3V439.5ZM839.8 814.5Q773.4 863.3 681.6 890.6 591.8 916 503.9 916 386.7 916 281.3 875T93.8 759.8Q87.9 753.9 91.8 749T103.5 748Q193.4 798.8 298.8 828.1T513.7 857.4Q675.8 857.4 826.2 793 837.9 787.1 843.8 796.9T839.8 814.5ZM877 771.5Q865.2 755.9 771.5 767.6 765.6 767.6 764.6 763.7T769.5 755.9Q793 738.3 828.1 732.4 857.4 728.5 883.8 731.4T916 741.2 918 774.4 902.3 828.1Q886.7 861.3 865.2 878.9 859.4 884.8 855.5 882.8T853.5 875L855.5 871.1Q888.7 785.2 877 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"amazon\"\n      ]\n    },\n    {\n      \"uid\": \"1f773600a3544f689761f770dc2842c9\",\n      \"css\": \"rollerblade-off\",\n      \"code\": 983086,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L804.7 882.8Q773.4 916 729.5 916T655.3 885.7 625 811.5 658.2 736.3L587.9 666H166V246.1L46.9 125 99.6 72.3 921.9 894.5ZM484.4 312.5L476.6 250H384.8V187.5H466.8L459 125H257.8L445.3 312.5H484.4ZM791 625Q791 533.2 738.3 478.5 699.2 439.5 636.7 423.8 607.4 416 584 416H550.8L779.3 646.5Q787.1 640.6 791 630.9V625ZM478.5 709Q435.5 709 405.3 739.3T375 812.5 405.3 885.7 478.5 916 552.7 885.7 584 812.5 552.7 739.3 478.5 709ZM228.5 709Q185.5 709 155.3 739.3T125 812.5 155.3 885.7 228.5 916 302.7 885.7 334 812.5 302.7 739.3 228.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rollerblade-off\"\n      ]\n    },\n    {\n      \"uid\": \"6e26082e61bfbe88b241a50bda310eea\",\n      \"css\": \"ambulance\",\n      \"code\": 983087,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 771.5Q775.4 771.5 793.9 752.9T812.5 708 793.9 664.1 750 646.5 706.1 664.1 687.5 708 706.1 752.9 750 771.5ZM812.5 396.5H709V500H894.5ZM250 771.5Q275.4 771.5 293.9 752.9T312.5 708 293.9 664.1 250 646.5 206.1 664.1 187.5 708 206.1 752.9 250 771.5ZM834 334L959 500V709H875Q875 759.8 838.9 796.9T750 834 661.1 796.9 625 709H375Q375 759.8 338.9 796.9T250 834 161.1 796.9 125 709H41V250Q41 214.8 65.4 190.4T125 166H709V334H834ZM334 250V375H209V459H334V584H416V459H541V375H416V250H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ambulance\"\n      ]\n    },\n    {\n      \"uid\": \"6dc56eda677d02085e17cb085e70e8fc\",\n      \"css\": \"amplifier\",\n      \"code\": 983088,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q601.6 84 613.3 95.7T625 125H875V875H791Q791 892.6 779.3 904.3T750 916 720.7 904.3 709 875H291Q291 892.6 279.3 904.3T250 916 220.7 904.3 209 875H125V125H375Q375 107.4 386.7 95.7T416 84ZM209 209V375H791V209H209ZM291 250Q308.6 250 321.3 261.7T334 291 321.3 321.3 291 334 261.7 321.3 250 291 261.7 261.7 291 250ZM500 250H584V291H500V250ZM625 250H666V334H625V250ZM709 250H750V334H709V250ZM500 459Q431.6 459 382.8 507.8T334 625 382.8 742.2 500 791 617.2 742.2 666 625 617.2 507.8 500 459ZM416 250Q433.6 250 446.3 261.7T459 291 446.3 321.3 416 334 386.7 321.3 375 291 386.7 261.7 416 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"amplifier\"\n      ]\n    },\n    {\n      \"uid\": \"b9223df248bd727ed9e1bd02dc462f68\",\n      \"css\": \"anchor\",\n      \"code\": 983089,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q447.3 84 411.1 120.1T375 209Q375 248 397.5 280.3T459 326.2V375H334V459H459V830.1Q408.2 820.3 367.2 802.7 320.3 783.2 284.2 753.9T226.6 689.5L291 625 125 500V625Q125 685.5 160.2 739.3T250 832 371.1 893.6 500 916 628.9 893.6 751 832 840.8 739.3 875 625V500L709 625 773.4 689.5Q752 724.6 715.8 753.9T632.8 802.7Q591.8 820.3 541 830.1V459H666V375H541V326.2Q578.1 312.5 601.6 280.3T625 209Q625 156.3 588.9 120.1T500 84ZM500 166Q517.6 166 529.3 178.7T541 209 529.3 238.3 500 250 470.7 238.3 459 209 470.7 178.7 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"anchor\"\n      ]\n    },\n    {\n      \"uid\": \"aba156eeb8d7468318fb0b68e8e2f18d\",\n      \"css\": \"android\",\n      \"code\": 983090,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M691.4 630.9Q677.7 630.9 667 621.1T656.3 596.7 667 572.3 691.4 562.5V562.5Q707 562.5 716.8 572.3T726.6 596.7 716.8 621.1 691.4 630.9ZM308.6 630.9Q294.9 630.9 284.2 621.1T273.4 596.7 284.2 572.3 308.6 562.5V562.5Q322.3 562.5 333 572.3T343.8 596.7 333 621.1 308.6 630.9ZM705.1 421.9L773.4 302.7Q777.3 296.9 775.4 291T768.6 282.2 757.8 281.3 750 289.1L679.7 410.2Q593.8 371.1 499 371.1T322.3 408.2L252 287.1Q248 283.2 243.2 281.3T232.4 282.2 225.6 291 226.6 302.7L294.9 421.9Q205.1 470.7 148.4 557.6T84 750H916Q908.2 644.5 851.6 558.6T705.1 421.9V421.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"android\"\n      ]\n    },\n    {\n      \"uid\": \"5a777b389a808446e6939ea246b7ac76\",\n      \"css\": \"android-debug-bridge\",\n      \"code\": 983091,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375Q607.4 375 595.7 363.3T584 334 595.7 303.7 625 291 654.3 303.7 666 334 654.3 363.3 625 375ZM375 375Q357.4 375 345.7 363.3T334 334 345.7 303.7 375 291 404.3 303.7 416 334 404.3 363.3 375 375ZM671.9 181.6L759.8 93.8 724.6 60.5 628.9 156.3Q566.4 125 500 125T371.1 156.3L275.4 60.5 240.2 93.8 328.1 181.6Q273.4 222.7 241.2 284.2T209 416V459H791V416Q791 345.7 758.8 284.2T671.9 181.6ZM209 666Q209 746.1 248 812.5T353.5 918.9 500 959 646.5 918.9 752 812.5 791 666V500H209V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"android-debug-bridge\"\n      ]\n    },\n    {\n      \"uid\": \"2e5d90302ef2d434b2fb9bb5aa80359d\",\n      \"css\": \"android-studio\",\n      \"code\": 983092,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84H541V166H562.5Q587.9 166 606.4 184.6T625 228.5V375L607.4 392.6 675.8 511.7Q710.9 476.6 730.5 430.7T750 334H834Q834 408.2 802.7 473.6T718.8 585.9L849.6 812.5 853.5 904.3 775.4 853.5 648.4 632.8Q580.1 666 500 666T351.6 632.8L224.6 853.5 146.5 904.3 150.4 812.5 392.6 392.6 375 375V228.5Q375 203.1 393.6 184.6T437.5 166H459V84ZM392.6 560.5Q443.4 584 500 584T607.4 560.5L544.9 455.1Q525.4 472.7 500 472.7T455.1 455.1ZM500 250Q482.4 250 470.7 261.7T459 291 470.7 321.3 500 334 529.3 321.3 541 291 529.3 261.7 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"android-studio\"\n      ]\n    },\n    {\n      \"uid\": \"532beba1a3c6fbde38b5caeab3d020e8\",\n      \"css\": \"apple\",\n      \"code\": 983093,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M779.3 812.5Q746.1 861.3 724.6 882.8 689.5 914.1 652.3 916 625 916 585.9 899.4T515.6 882.8Q492.2 882.8 472.7 888.7 460.9 892.6 439.5 900.4 404.3 916 378.9 916 343.8 918 306.6 882.8 283.2 861.3 248 810.5 210.9 755.9 187.5 685.5 160.2 607.4 160.2 533.2 162.1 451.2 195.3 390.6 222.7 343.8 268.6 315.4T367.2 287.1Q398.4 287.1 453.1 308.6 490.2 322.3 503.9 322.3T552.7 308.6 605.5 291Q636.7 283.2 664.1 285.2 699.2 287.1 730.5 300.8 783.2 320.3 814.5 367.2V367.2Q787.1 384.8 765.6 410.2 724.6 462.9 724.6 525.4 726.6 582 753.9 625 775.4 656.3 808.6 679.7 826.2 691.4 837.9 695.3L835.9 697.3Q814.5 759.8 779.3 812.5ZM541 146.5Q564.5 119.1 598.6 101.6T664.1 84Q668 119.1 656.3 154.3T621.1 216.8 564.5 260.7 498 275.4Q494.1 242.2 507.8 205.1 519.5 171.9 541 146.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple\"\n      ]\n    },\n    {\n      \"uid\": \"8ea995c38baf5cf01bdffe974f146e6e\",\n      \"css\": \"apple-finder\",\n      \"code\": 983094,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 459Q316.4 459 303.7 446.3T291 416V334Q291 316.4 303.7 303.7T333 291 362.3 303.7 375 334V416Q375 433.6 362.3 446.3T334 459ZM709 416V334Q709 316.4 696.3 303.7T667 291 637.7 303.7 625 334V416Q625 433.6 637.7 446.3T667 459 696.3 446.3 709 416ZM916 209V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V209Q84 173.8 108.4 149.4T166 125H834Q867.2 125 891.6 149.4T916 209ZM166 834H544.9Q539.1 800.8 535.2 748L500 750Q402.3 750 322.3 703.1 279.3 675.8 259.8 650.4 248 638.7 250 621.1T264.6 592.8 294.9 583 324.2 599.6 369.1 632.8Q427.7 666 500 666L531.3 664.1Q529.3 613.3 531.3 552.7H455.1Q435.5 552.7 420.9 537.1T406.3 500V500Q410.2 447.3 418 390.6 433.6 281.3 459 209H166V834ZM834 834V209H525.4Q488.3 302.7 468.8 490.2H544.9Q564.5 490.2 579.1 504.9T593.8 541V543Q591.8 595.7 593.8 650.4 646.5 630.9 675.8 597.7V597.7Q687.5 584 704.1 582T734.4 591.8 750 620.1 740.2 650.4V650.4Q726.6 668 701.2 685.5 654.3 720.7 595.7 736.3 601.6 794.9 607.4 834H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-finder\"\n      ]\n    },\n    {\n      \"uid\": \"ad73c64db59f9d2d0f09791c3fa3dd01\",\n      \"css\": \"apple-ios\",\n      \"code\": 983095,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M87.9 699.2H156.3V406.3H87.9V699.2ZM121.1 369.1Q138.7 369.1 149.4 357.4T160.2 330.1 149.4 303.7 122.1 293 94.7 303.7 84 330.1 94.7 357.4 121.1 369.1ZM384.8 294.9Q298.8 294.9 247.1 349.6T195.3 500 247.1 651.4 385.7 707 523.4 651.4 574.2 500 523.4 349.6 384.8 294.9ZM384.8 353.5Q439.5 353.5 470.7 393.6T502 500 470.7 606.4 385.7 646.5 300.8 606.4 269.5 500 300.8 393.6 384.8 353.5ZM603.5 587.9Q605.5 642.6 647.5 674.8T760.7 707 874 673.8 916 584Q916 539.1 888.7 512.7T800.8 470.7L755.9 460.9Q718.8 453.1 702.1 440.4T685.5 408.2Q685.5 382.8 707 367.2T762.7 351.6 818.4 368.2 841.8 412.1H910.2Q908.2 359.4 868.2 327.1T762.7 294.9 655.3 327.1 613.3 412.1Q613.3 498 722.7 521.5L773.4 533.2Q812.5 543 828.1 556.6T843.8 593.8 821.3 632.8 762.7 648.4 701.2 631.8 673.8 587.9H603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-ios\"\n      ]\n    },\n    {\n      \"uid\": \"3f9121152a9139b13e86b0a25af9f9b8\",\n      \"css\": \"apple-icloud\",\n      \"code\": 983096,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 627Q916 695.3 868.2 743.2T752 791H248Q179.7 791 131.8 743.2T84 627Q84 566.4 123 519.5T220.7 464.8Q218.8 457 218.8 445.3 218.8 402.3 250 372.1T324.2 341.8Q361.3 341.8 390.6 367.2 419.9 298.8 453.1 269.5 502 226.6 580.1 226.6 679.7 226.6 736.3 294.9 787.1 357.4 787.1 451.2L785.2 464.8Q841.8 476.6 878.9 522.5T916 627Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-icloud\"\n      ]\n    },\n    {\n      \"uid\": \"b73a60277d18bf17f09ff84ee77d3ac9\",\n      \"css\": \"apple-safari\",\n      \"code\": 983097,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 564.5 189.5 622.1T253.9 724.6L412.1 412.1 724.6 253.9Q679.7 212.9 622.1 189.5T500 166ZM500 834Q589.8 834 667 789.1T789.1 667 834 500Q834 435.5 810.5 377.9T746.1 275.4L587.9 587.9 275.4 746.1Q320.3 787.1 377.9 810.5T500 834ZM500 500L468.8 468.8 404.3 595.7 531.3 531.3ZM500 728.5H541V791H500V728.5ZM662.1 662.1L691.4 632.8 736.3 675.8 705.1 707ZM728.5 500V459H791V500H728.5ZM500 271.5H459V209H500V271.5ZM337.9 337.9L308.6 367.2 263.7 324.2 294.9 293ZM271.5 500V541H209V500H271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-safari\"\n      ]\n    },\n    {\n      \"uid\": \"98be7e57e2d2a5c4bf5711614837d68f\",\n      \"css\": \"font-awesome\",\n      \"code\": 983098,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 84H175.8Q138.7 84 111.3 111.3T84 175.8V824.2Q84 861.3 111.3 888.7T175.8 916H824.2Q861.3 916 888.7 888.7T916 824.2V175.8Q916 138.7 888.7 111.3T824.2 84ZM738.3 611.3Q738.3 621.1 724.6 627 666 652.3 625 652.3 601.6 652.3 564.5 636.7 521.5 621.1 490.2 621.1 435.5 621.1 365.2 654.3L359.4 656.3V740.2Q359.4 746.1 357.4 748V752Q353.5 763.7 343.8 770.5T320.3 777.3 294.9 766.6 283.2 740.2V334Q259.8 314.5 259.8 286.1T278.3 240.2 322.3 222.7 366.2 240.2 384.8 285.2Q384.8 314.5 359.4 334V367.2L369.1 363.3Q433.6 335.9 484.4 335.9 513.7 335.9 543 343.8 564.5 349.6 597.7 361.3 609.4 367.2 623 367.2 650.4 367.2 701.2 343.8 718.8 335.9 723.6 335.9T733.4 340.8 738.3 351.6V611.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"font-awesome\"\n      ]\n    },\n    {\n      \"uid\": \"84fef90ccf8a9597329113d2cb61fb32\",\n      \"css\": \"apps\",\n      \"code\": 983099,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 834H834V666H666V834ZM666 584H834V416H666V584ZM416 334H584V166H416V334ZM666 334H834V166H666V334ZM416 584H584V416H416V584ZM166 584H334V416H166V584ZM166 834H334V666H166V834ZM416 834H584V666H416V834ZM166 334H334V166H166V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apps\"\n      ]\n    },\n    {\n      \"uid\": \"244ae30711a1396fd9ddd1895eca9c2a\",\n      \"css\": \"archive\",\n      \"code\": 983100,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V291H125V125ZM166 334H834V875H166V334ZM396.5 459Q386.7 459 380.9 464.8T375 478.5V541H625V478.5Q625 470.7 619.1 464.8T603.5 459H396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"archive\"\n      ]\n    },\n    {\n      \"uid\": \"9299df3477bf4c97c5833c370949f1fd\",\n      \"css\": \"arrange-bring-forward\",\n      \"code\": 983101,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H666V666H84V84ZM916 334V916H334V750H416V834H834V416H750V334H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrange-bring-forward\"\n      ]\n    },\n    {\n      \"uid\": \"14a453ddbd854881ee887f63aacc1c36\",\n      \"css\": \"arrange-bring-to-front\",\n      \"code\": 983102,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H459V250H375V166H166V375H250V459H84V84ZM916 541V916H541V750H625V834H834V625H750V541H916ZM334 334H666V666H334V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrange-bring-to-front\"\n      ]\n    },\n    {\n      \"uid\": \"a23db964630252f09a9fe00c41824a04\",\n      \"css\": \"arrange-send-backward\",\n      \"code\": 983103,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H666V666H84V84ZM916 334V916H334V750H750V334H916ZM166 166V584H584V166H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrange-send-backward\"\n      ]\n    },\n    {\n      \"uid\": \"e2c5543685ae2c09718f267ba51bdb5d\",\n      \"css\": \"arrange-send-to-back\",\n      \"code\": 983104,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H459V459H84V84ZM375 166H166V375H375V166ZM916 541V916H541V541H916ZM625 834H834V625H625V834ZM666 334V459H541V334H666ZM459 666H334V541H459V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrange-send-to-back\"\n      ]\n    },\n    {\n      \"uid\": \"d9794424aff91f8acf01dee777abde87\",\n      \"css\": \"arrow-all\",\n      \"code\": 983105,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H750L687.5 396.5 746.1 335.9 910.2 500 746.1 664.1 687.5 603.5 750 541H541V750L603.5 687.5 664.1 746.1 500 910.2 335.9 746.1 396.5 687.5 459 750V541H250L312.5 603.5 253.9 664.1 89.8 500 253.9 335.9 312.5 396.5 250 459H459V250L396.5 312.5 335.9 253.9 500 89.8 664.1 253.9 603.5 312.5 541 250V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-all\"\n      ]\n    },\n    {\n      \"uid\": \"276e21ee2b7cde88c124f70039aa90e4\",\n      \"css\": \"arrow-bottom-left\",\n      \"code\": 983106,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 267.6L732.4 209 291 650.4V375H209V791H625V709H349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-bottom-left\"\n      ]\n    },\n    {\n      \"uid\": \"e72cda0812576651e5c31c3ac6cc0339\",\n      \"css\": \"arrow-bottom-right\",\n      \"code\": 983107,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 267.6L267.6 209 709 650.4V375H791V791H375V709H650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-bottom-right\"\n      ]\n    },\n    {\n      \"uid\": \"99a04df61dc1ab2cfa5bad6eb5ed6095\",\n      \"css\": \"arrow-collapse-all\",\n      \"code\": 983108,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 128.9L871.1 187.5 683.6 375H834V459H541V166H625V316.4ZM871.1 812.5L812.5 871.1 625 683.6V834H541V541H834V625H683.6ZM187.5 128.9L375 316.4V166H459V459H166V375H316.4L128.9 187.5ZM128.9 812.5L316.4 625H166V541H459V834H375V683.6L187.5 871.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-all\"\n      ]\n    },\n    {\n      \"uid\": \"578692c5a0b505985bf797ee8ebce545\",\n      \"css\": \"arrow-down-thick\",\n      \"code\": 983110,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166H584V541L728.5 396.5 830.1 496.1 500 826.2 169.9 496.1 271.5 396.5 416 541V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-thick\"\n      ]\n    },\n    {\n      \"uid\": \"7ee82a4a2e6d2ef41be792a5a4ea249a\",\n      \"css\": \"arrow-down-bold-circle\",\n      \"code\": 983111,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 709L709 500H584V334H416V500H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold-circle\"\n      ]\n    },\n    {\n      \"uid\": \"26c941e9462f684f10e0714bc9486055\",\n      \"css\": \"arrow-down-bold-circle-outline\",\n      \"code\": 983112,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709L291 500H416V334H584V500H709ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a837f617a1163101cee1099754c35c87\",\n      \"css\": \"arrow-down-bold-hexagon-outline\",\n      \"code\": 983113,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709L291 500H416V334H584V500H709ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold-hexagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e3139230db105d517abb1030ea33d568\",\n      \"css\": \"arrow-down-drop-circle\",\n      \"code\": 983114,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM291 416L500 625 709 416H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-drop-circle\"\n      ]\n    },\n    {\n      \"uid\": \"01cb8740d82e29a1e165ceb7f096d8a2\",\n      \"css\": \"arrow-down-drop-circle-outline\",\n      \"code\": 983115,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM291 416L500 625 709 416H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-drop-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d4d60badc1574abc03d0b961ed12d465\",\n      \"css\": \"arrow-expand-all\",\n      \"code\": 983116,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 544.9L455.1 603.5 267.6 791H416V875H125V584H209V732.4ZM455.1 396.5L396.5 455.1 209 267.6V416H125V125H416V209H267.6ZM603.5 544.9L791 732.4V584H875V875H584V791H732.4L544.9 603.5ZM544.9 396.5L732.4 209H584V125H875V416H791V267.6L603.5 455.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-all\"\n      ]\n    },\n    {\n      \"uid\": \"9696d4fa42cd3c0a887184550464a9b9\",\n      \"css\": \"arrow-left\",\n      \"code\": 983117,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 459V541H334L562.5 771.5 503.9 830.1 173.8 500 503.9 169.9 562.5 228.5 334 459H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"a0e498d0ea6a94aa673b063f8913a01d\",\n      \"css\": \"arrow-left-thick\",\n      \"code\": 983118,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 416V584H459L603.5 728.5 503.9 830.1 173.8 500 503.9 169.9 603.5 271.5 459 416H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-thick\"\n      ]\n    },\n    {\n      \"uid\": \"3eef8e5dfdc726a53f6fa6fa75999bd3\",\n      \"css\": \"arrow-left-bold-circle\",\n      \"code\": 983119,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM291 500L500 709V584H666V416H500V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold-circle\"\n      ]\n    },\n    {\n      \"uid\": \"51a24cd7bfcdce0b2f00c685720ea7f6\",\n      \"css\": \"arrow-left-bold-circle-outline\",\n      \"code\": 983120,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 500L500 291V416H666V584H500V709ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"022cbc2c0b8b8e475a63f8ea128ca536\",\n      \"css\": \"arrow-left-bold-hexagon-outline\",\n      \"code\": 983121,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 500L500 291V416H666V584H500V709ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold-hexagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"96b003e1a8fc8e6e6c98efe18ac64dae\",\n      \"css\": \"arrow-left-drop-circle\",\n      \"code\": 983122,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM584 291L375 500 584 709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-drop-circle\"\n      ]\n    },\n    {\n      \"uid\": \"3c8d39c4d972868c3a7e3f06deb9de97\",\n      \"css\": \"arrow-left-drop-circle-outline\",\n      \"code\": 983123,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84 340.8 115.2 205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500ZM834 500Q834 589.8 789.1 667T667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500ZM584 291L375 500 584 709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-drop-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"db3e003860ec212cf0a51db9ff5f0059\",\n      \"css\": \"arrow-right\",\n      \"code\": 983124,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 459V541H666L437.5 771.5 496.1 830.1 826.2 500 496.1 169.9 437.5 228.5 666 459H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"76bb12719422c3f3cf0f4b864fc2d928\",\n      \"css\": \"arrow-right-thick\",\n      \"code\": 983125,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 416V584H541L396.5 728.5 496.1 830.1 826.2 500 496.1 169.9 396.5 271.5 541 416H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-thick\"\n      ]\n    },\n    {\n      \"uid\": \"9fc70ce7010be8c1ef66b9e1ed5ee1f8\",\n      \"css\": \"arrow-right-bold-circle\",\n      \"code\": 983126,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500ZM709 500L500 291V416H334V584H500V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold-circle\"\n      ]\n    },\n    {\n      \"uid\": \"f12b723ce39a1c90e4322747d34ddb6b\",\n      \"css\": \"arrow-right-bold-circle-outline\",\n      \"code\": 983127,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500L500 709V584H334V416H500V291ZM84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500ZM166 500Q166 589.8 210.9 667T333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3512d92bd7094faebd0ebee218e55dcd\",\n      \"css\": \"arrow-right-bold-hexagon-outline\",\n      \"code\": 983128,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500L500 709V584H334V416H500V291ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold-hexagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d2a4afe80a2bb51514b701efd8cbbac1\",\n      \"css\": \"arrow-right-drop-circle\",\n      \"code\": 983129,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500ZM416 709L625 500 416 291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-drop-circle\"\n      ]\n    },\n    {\n      \"uid\": \"370cbb63abdb130112ce930cc7031a0e\",\n      \"css\": \"arrow-right-drop-circle-outline\",\n      \"code\": 983130,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84 340.8 115.2 205.1 205.1 115.2 340.8 84 500ZM166 500Q166 410.2 210.9 333T333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500ZM416 709L625 500 416 291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-drop-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5d137f22dac06c4219e118f5e008bc57\",\n      \"css\": \"arrow-top-left\",\n      \"code\": 983131,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 732.4L732.4 791 291 349.6V625H209V209H625V291H349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-left\"\n      ]\n    },\n    {\n      \"uid\": \"00e74cb9bfa86a1b90b39d2d8132c3b1\",\n      \"css\": \"arrow-up-thick\",\n      \"code\": 983134,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 834H416V459L271.5 603.5 169.9 503.9 500 173.8 830.1 503.9 728.5 603.5 584 459V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-thick\"\n      ]\n    },\n    {\n      \"uid\": \"fe0428866b74f2c237a692c203af548c\",\n      \"css\": \"arrow-up-bold-circle\",\n      \"code\": 983135,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916ZM500 291L291 500H416V666H584V500H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold-circle\"\n      ]\n    },\n    {\n      \"uid\": \"2d539bfd5f27e848d26d390a4b27b7b6\",\n      \"css\": \"arrow-up-bold-circle-outline\",\n      \"code\": 983136,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L709 500H584V666H416V500H291ZM500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916ZM500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f43fdc81d7fec40ab9e1a24ac8c26a3a\",\n      \"css\": \"arrow-up-bold-hexagon-outline\",\n      \"code\": 983137,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L709 500H584V666H416V500H291ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold-hexagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"80de7f7003b6dfb9b460a12cc8e5f890\",\n      \"css\": \"arrow-up-drop-circle\",\n      \"code\": 983138,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916ZM709 584L500 375 291 584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-drop-circle\"\n      ]\n    },\n    {\n      \"uid\": \"bdc0a46d3ada2d065cc340b7e298f555\",\n      \"css\": \"arrow-up-drop-circle-outline\",\n      \"code\": 983139,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84 340.8 115.2 205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM709 584L500 375 291 584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-drop-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"50b7a444a361124e1cf2036a2bee4a10\",\n      \"css\": \"assistant\",\n      \"code\": 983140,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 84H209Q173.8 84 149.4 108.4T125 166V750Q125 785.2 149.4 809.6T209 834H375L500 959 625 834H791Q826.2 834 850.6 809.6T875 750V166Q875 132.8 850.6 108.4T791 84ZM578.1 537.1L500 709 421.9 537.1 250 459 421.9 380.9 500 209 578.1 380.9 750 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"assistant\"\n      ]\n    },\n    {\n      \"uid\": \"a6aa16e85eba5ed0b3d36a75d2fdcc18\",\n      \"css\": \"at\",\n      \"code\": 983141,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625Q548.8 625 586.9 586.9T625 500 586.9 413.1 500 375 413.1 413.1 375 500 413.1 586.9 500 625ZM500 84Q669.9 84 793 207T916 500V560.5Q916 621.1 874 665T771.5 709Q695.3 709 648.4 646.5 585.9 709 501 709T353.5 646.5 291 500 353.5 353.5 500 291 646.5 353.5 709 500V560.5Q709 585.9 727.5 605.5T771.5 625 815.4 605.5 834 560.5V500Q834 363.3 735.4 264.6T500 166 264.6 264.6 166 500 264.6 735.4 500 834H709V916H500Q330.1 916 207 793T84 500 207 207 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"at\"\n      ]\n    },\n    {\n      \"uid\": \"7686ff6797d634f86a1dcef3a59889b1\",\n      \"css\": \"attachment\",\n      \"code\": 983142,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 750Q267.6 750 225.6 732.4T151.4 682.6 101.6 608.4 84 521.5Q84 459 114.3 406.3T197.3 322.3 312.5 291H750Q818.4 291 867.2 339.8T916 458 867.2 576.2 750 625H396.5Q353.5 625 322.3 594.7T291 521.5 322.3 447.3 396.5 416H709V478.5H396.5Q378.9 478.5 366.2 491.2T353.5 521.5 366.2 550.8 396.5 562.5H750Q793 562.5 823.2 532.2T853.5 459 823.2 384.8 750 353.5H312.5Q244.1 353.5 195.3 402.3T146.5 520.5 195.3 638.7 312.5 687.5H709V750H312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"attachment\"\n      ]\n    },\n    {\n      \"uid\": \"ecc611d71239fe1f57b4f5d80c188518\",\n      \"css\": \"book-music\",\n      \"code\": 983143,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916ZM541 625Q507.8 625 483.4 649.4T459 708 483.4 766.6 542 791 600.6 766.6 625 709V500H750V416H584V636.7Q564.5 625 541 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-music\"\n      ]\n    },\n    {\n      \"uid\": \"41acb7f30ada3e39df89b85e0044ffe4\",\n      \"css\": \"auto-fix\",\n      \"code\": 983144,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 232.4L209 291 267.6 187.5 209 84 312.5 142.6 416 84 357.4 187.5 416 291ZM812.5 642.6L916 584 857.4 687.5 916 791 812.5 732.4 709 791 767.6 687.5 709 584ZM916 84L857.4 187.5 916 291 812.5 232.4 709 291 767.6 187.5 709 84 812.5 142.6ZM556.6 533.2L658.2 431.6 568.4 341.8 466.8 443.4ZM599.6 304.7L695.3 400.4Q709 412.1 709 429.7T695.3 460.9L210.9 945.3Q197.3 959 179.7 959T150.4 945.3L54.7 849.6Q41 837.9 41 820.3T54.7 789.1L539.1 304.7Q552.7 291 570.3 291T599.6 304.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"auto-fix\"\n      ]\n    },\n    {\n      \"uid\": \"f6419536e23ea63c4bef587b342f305d\",\n      \"css\": \"auto-upload\",\n      \"code\": 983145,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M222.7 527.3L271.5 375 318.4 527.3H222.7ZM228.5 291L95.7 666H175.8L205.1 584H337.9L367.2 666H445.3L312.5 291H228.5ZM459 834H916V750H459V834ZM584 666H791V459H916L687.5 228.5 459 459H584V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"auto-upload\"\n      ]\n    },\n    {\n      \"uid\": \"22c148f6d094e8be79b127319ed7dbfb\",\n      \"css\": \"autorenew\",\n      \"code\": 983146,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250V375L666 209 500 41V166Q410.2 166 333 210.9T210.9 333 166 500Q166 595.7 218.8 677.7L279.3 617.2Q250 562.5 250 500 250 431.6 283.2 374T374 283.2 500 250ZM781.3 322.3L720.7 382.8Q750 439.5 750 500 750 568.4 716.8 626T626 716.8 500 750V625L334 791 500 959V834Q589.8 834 667 789.1T789.1 667 834 500Q834 404.3 781.3 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"autorenew\"\n      ]\n    },\n    {\n      \"uid\": \"9ee8d13e8c38315e64cd063079857258\",\n      \"css\": \"av-timer\",\n      \"code\": 983147,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709Q459 726.6 470.7 738.3T500 750 529.3 738.3 541 709 529.3 678.7 500 666 470.7 678.7 459 709ZM459 125V291H541V210.9Q611.3 222.7 668.9 262.7T758.8 365.2 791 500Q791 580.1 752 646.5T646.5 752 500 791 353.5 752 248 646.5 209 500Q209 396.5 273.4 316.4L500 541 558.6 482.4 275.4 199.2V201.2Q205.1 252 165 331.1T125 500Q125 601.6 175.8 687.5T312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125H459ZM750 500Q750 482.4 738.3 470.7T709 459 678.7 470.7 666 500 678.7 529.3 709 541 738.3 529.3 750 500ZM250 500Q250 517.6 261.7 529.3T291 541 321.3 529.3 334 500 321.3 470.7 291 459 261.7 470.7 250 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"av-timer\"\n      ]\n    },\n    {\n      \"uid\": \"c9afc6b0d68774c5480f6b26a5eb68e4\",\n      \"css\": \"baby\",\n      \"code\": 983148,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 166Q814.5 166 844.7 197.3T875 271.5 844.7 344.7 771.5 375 697.3 344.7 666 271.5 697.3 197.3 771.5 166ZM187.5 834Q162.1 834 143.6 815.4T125 770.5 143.6 726.6 187.5 709H478.5Q505.9 709 523.4 726.6T541 770.5 523.4 815.4 478.5 834H187.5ZM669.9 791L611.3 625H459L281.3 447.3 298.8 431.6Q320.3 412.1 345.7 396.5 382.8 373 421.9 359.4 470.7 343.8 521.5 343.8 603.5 343.8 638.7 367.2 658.2 380.9 669.9 412.1L789.1 750Q796.9 773.4 786.1 796.9T751 829.1 703.1 827.1 669.9 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby\"\n      ]\n    },\n    {\n      \"uid\": \"bb7c9b724d6ef5c840740e44a0544757\",\n      \"css\": \"backburger\",\n      \"code\": 983149,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 541L375 709 316.4 767.6 48.8 500 316.4 232.4 375 291 209 459H875V541H209ZM875 250V334H459V250H875ZM875 666V750H459V666H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"backburger\"\n      ]\n    },\n    {\n      \"uid\": \"e2319af437556ce741e0aae22250896b\",\n      \"css\": \"backspace\",\n      \"code\": 983150,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H291Q250 125 224.6 162.1L0 500 224.6 837.9Q250 875 291 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM791 650.4L732.4 709 584 558.6 433.6 709 375 650.4 525.4 500 375 349.6 433.6 291 584 441.4 732.4 291 791 349.6 642.6 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"backspace\"\n      ]\n    },\n    {\n      \"uid\": \"0145ee60feda339dae604622bd409861\",\n      \"css\": \"backup-restore\",\n      \"code\": 983151,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500H0L166 666 334 500H209Q209 419.9 248 353.5T353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791Q408.2 791 330.1 738.3L271.5 796.9Q373 875 500 875 601.6 875 687.5 824.2T824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125ZM584 500Q584 464.8 559.6 440.4T500 416 440.4 440.4 416 500 440.4 559.6 500 584 559.6 559.6 584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"backup-restore\"\n      ]\n    },\n    {\n      \"uid\": \"83855a34f67219d670ed3a5a62b1be07\",\n      \"css\": \"bank\",\n      \"code\": 983152,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 41L84 250V334H875V250ZM666 416V709H791V416H666ZM84 916H875V791H84V916ZM416 416V709H541V416H416ZM166 416V709H291V416H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank\"\n      ]\n    },\n    {\n      \"uid\": \"4ae7d07104e7aca652341eb4039b7311\",\n      \"css\": \"barcode\",\n      \"code\": 983153,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250H166V750H84V250ZM209 250H250V750H209V250ZM291 250H416V750H291V250ZM459 250H500V750H459V250ZM584 250H666V750H584V250ZM709 250H834V750H709V250ZM875 250H916V750H875V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barcode\"\n      ]\n    },\n    {\n      \"uid\": \"9848309ad138ed9bdc077515fd86456f\",\n      \"css\": \"barcode-scan\",\n      \"code\": 983154,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H250V750H166V250ZM291 250H334V750H291V250ZM375 250H500V750H375V250ZM541 250H584V750H541V250ZM666 250H750V750H666V250ZM791 250H834V750H791V250ZM84 166V334H0V166Q0 132.8 24.4 108.4T84 84H250V166H84ZM916 84Q951.2 84 975.6 108.4T1000 166V334H916V166H750V84H916ZM84 666V834H250V916H84Q48.8 916 24.4 891.6T0 834V666H84ZM916 834V666H1000V834Q1000 867.2 975.6 891.6T916 916H750V834H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barcode-scan\"\n      ]\n    },\n    {\n      \"uid\": \"74f1063809f95c393ac0e3097f21fd87\",\n      \"css\": \"barley\",\n      \"code\": 983155,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M304.7 763.7Q283.2 732.4 275.4 687.5 271.5 660.2 271.5 603.5 339.8 644.5 371.1 668 421.9 703.1 445.3 736.3L459 759.8V664.1Q402.3 630.9 371.1 607.4 326.2 574.2 304.7 543.9T275.4 468.8Q271.5 441.4 271.5 384.8 339.8 425.8 371.1 449.2 421.9 484.4 445.3 517.6L459 541V445.3Q402.3 412.1 371.1 388.7 326.2 355.5 304.7 325.2T275.4 250Q271.5 222.7 271.5 166 339.8 207 371.1 230.5 421.9 265.6 445.3 298.8 451.2 306.6 455.1 318.4 443.4 275.4 443.4 242.2 443.4 201.2 460.9 146.5 470.7 115.2 498 50.8 527.3 111.3 537.1 142.6 556.6 195.3 556.6 236.3 556.6 273.4 544.9 316.4L554.7 298.8Q578.1 265.6 628.9 230.5 660.2 207 728.5 166 728.5 222.7 724.6 250 716.8 294.9 695.3 325.2T628.9 388.7Q597.7 412.1 541 445.3V541L554.7 517.6Q578.1 484.4 628.9 449.2 660.2 425.8 728.5 384.8 728.5 441.4 724.6 468.8 716.8 513.7 695.3 543.9T628.9 607.4Q597.7 630.9 541 664.1V759.8L554.7 736.3Q578.1 703.1 628.9 668 660.2 644.5 728.5 603.5 728.5 660.2 724.6 687.5 716.8 732.4 695.3 762.7T628.9 826.2Q597.7 849.6 541 882.8V959H459V882.8Q402.3 849.6 371.1 826.2 326.2 793 304.7 763.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barley\"\n      ]\n    },\n    {\n      \"uid\": \"a2229f2ee1bd990dfb10ea48e81fe7bd\",\n      \"css\": \"barrel\",\n      \"code\": 983156,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 791H791V875H209V791H250V541H209V459H250V209H209V125H791V209H750V459H791V541H750V791ZM375 541Q375 593.8 411.1 629.9T500 666 588.9 629.9 625 542 562.5 398.4Q531.3 353.5 500 318.4V318.4L466.8 357.4Q429.7 404.3 408.2 447.3 375 503.9 375 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barrel\"\n      ]\n    },\n    {\n      \"uid\": \"d8116d9d8d020505852adec823e62be7\",\n      \"css\": \"incognito-off\",\n      \"code\": 983157,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 263.7 341.8 250 375H296.9L359.4 437.5H84V500H421.9L562.5 640.6Q556.6 654.3 550.8 669.9 498 648.4 449.2 669.9 435.5 615.2 390.6 578.1T289.1 541Q220.7 541 172.9 589.8T125 708 172.9 826.2 287.1 875 400.4 831.1 451.2 720.7Q468.8 709 488.3 707 519.5 703.1 548.8 722.7 554.7 787.1 600.6 831.1T710.9 875Q748 875 779.3 859.4L869.1 947.3ZM289.1 828.1Q240.2 828.1 206.1 793T171.9 708 206.1 624 289.1 589.8 372.1 624 406.3 708 372.1 793 289.1 828.1ZM710.9 828.1Q662.1 828.1 627.9 793T593.8 709Q593.8 693.4 597.7 677.7L744.1 822.3Q726.6 828.1 710.9 828.1ZM916 500H632.8L570.3 437.5H916V500ZM710.9 541Q779.3 541 827.1 589.8T875 709Q875 722.7 873 738.3L826.2 693.4Q822.3 652.3 793 624T724.6 589.8L679.7 544.9Q695.3 541 710.9 541ZM507.8 375L322.3 187.5 351.6 111.3Q357.4 95.7 373 87.9T404.3 85.9L500 117.2 591.8 85.9Q609.4 80.1 625 86.9T648.4 109.4L750 375H507.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"incognito-off\"\n      ]\n    },\n    {\n      \"uid\": \"fde7e1baacc368e6764263272660952c\",\n      \"css\": \"basket\",\n      \"code\": 983158,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 875Q205.1 875 185.5 862.3T154.3 830.1L44.9 435.5 41 416Q41 398.4 53.7 386.7T84 375H273.4L466.8 101.6Q478.5 84 500 84T535.2 101.6L726.6 375H916Q933.6 375 946.3 386.7T959 416L957 429.7 845.7 830.1Q834 849.6 814.5 862.3T771.5 875H228.5ZM500 197.3L375 375H625ZM500 541Q464.8 541 440.4 565.4T416 625 440.4 684.6 500 709 559.6 684.6 584 625 559.6 565.4 500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basket\"\n      ]\n    },\n    {\n      \"uid\": \"e5c7ecd183e0a38d6c36ff7d5fe144fb\",\n      \"css\": \"basket-fill\",\n      \"code\": 983159,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84H250V209H125V84ZM250 291H375V416H250V291ZM334 84H459V209H334V84ZM709 459L500 250H625V84H791V250H916ZM312.5 916Q289.1 916 268.6 903.3T238.3 871.1L128.9 560.5 125 541Q125 523.4 136.7 511.7T166 500H834Q851.6 500 863.3 511.7T875 541L873 554.7 761.7 871.1Q752 890.6 731.4 903.3T687.5 916H312.5ZM316.4 834H683.6L773.4 584H226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basket-fill\"\n      ]\n    },\n    {\n      \"uid\": \"926592c4fcaa9fdd36b8ed460738a120\",\n      \"css\": \"basket-unfill\",\n      \"code\": 983160,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 416H250V291H125V416ZM209 209H334V84H209V209ZM334 416H459V291H334V416ZM709 41L500 250H625V416H791V250H916ZM312.5 916Q289.1 916 268.6 903.3T238.3 871.1L128.9 560.5 125 541Q125 523.4 136.7 511.7T166 500H834Q851.6 500 863.3 511.7T875 541L873 554.7 761.7 871.1Q752 890.6 731.4 903.3T687.5 916H312.5ZM316.4 834H683.6L773.4 584H226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basket-unfill\"\n      ]\n    },\n    {\n      \"uid\": \"06b77ef0559a2bdf6ddad61059306c23\",\n      \"css\": \"battery\",\n      \"code\": 983161,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery\"\n      ]\n    },\n    {\n      \"uid\": \"ed25f860cded9e7b4d72b501874e2ed8\",\n      \"css\": \"battery-10\",\n      \"code\": 983162,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 750H334V250H666V750ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-10\"\n      ]\n    },\n    {\n      \"uid\": \"760a5a4eaaf15cba640a2fb7bd086d9a\",\n      \"css\": \"battery-20\",\n      \"code\": 983163,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 709H334V250H666V709ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-20\"\n      ]\n    },\n    {\n      \"uid\": \"7937b67b8ceedc0ad6171fc3f1a25f90\",\n      \"css\": \"battery-30\",\n      \"code\": 983164,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 625H334V250H666V625ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-30\"\n      ]\n    },\n    {\n      \"uid\": \"4e123bca0c3c792dc66c0ffc7c4d9cb9\",\n      \"css\": \"battery-40\",\n      \"code\": 983165,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 584H334V250H666V584ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-40\"\n      ]\n    },\n    {\n      \"uid\": \"47ad691021887eba28078d0c9a95cf98\",\n      \"css\": \"battery-50\",\n      \"code\": 983166,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 541H334V250H666V541ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-50\"\n      ]\n    },\n    {\n      \"uid\": \"7497f9b1e8a9fb44a4974cc6ae0144c4\",\n      \"css\": \"battery-60\",\n      \"code\": 983167,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 500H334V250H666V500ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-60\"\n      ]\n    },\n    {\n      \"uid\": \"6680e3f852203bfe9d9e8eba04164a74\",\n      \"css\": \"battery-70\",\n      \"code\": 983168,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 416H334V250H666V416ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-70\"\n      ]\n    },\n    {\n      \"uid\": \"cb3d13de783cbd81efe764a6c8c7cefd\",\n      \"css\": \"battery-80\",\n      \"code\": 983169,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375H334V250H666V375ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-80\"\n      ]\n    },\n    {\n      \"uid\": \"42adbd894d8eef17d70897ab70191ca7\",\n      \"css\": \"battery-90\",\n      \"code\": 983170,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 334H334V250H666V334ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-90\"\n      ]\n    },\n    {\n      \"uid\": \"198fc2a3a772c37d9a07dc0c77f2a00d\",\n      \"css\": \"battery-alert\",\n      \"code\": 983171,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584H459V375H541V584ZM541 750H459V666H541V750ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-alert\"\n      ]\n    },\n    {\n      \"uid\": \"391b89a704ad76fb533f6f71c5a58ea4\",\n      \"css\": \"battery-charging\",\n      \"code\": 983172,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H693.4Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166ZM459 834V603.5H375L541 291V521.5H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging\"\n      ]\n    },\n    {\n      \"uid\": \"db609a18e0eedb2946f42620b7267405\",\n      \"css\": \"battery-charging-100\",\n      \"code\": 983173,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H834V166L625 584H750V916ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-100\"\n      ]\n    },\n    {\n      \"uid\": \"a1db90e3f7def42183fcead7bc47b8cb\",\n      \"css\": \"battery-charging-20\",\n      \"code\": 983174,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M960.9 459H835.9V166L627 584H752V916ZM502 709H168V250H502V709ZM529.3 166H460.9V84H210.9V166H140.6Q117.2 166 101.6 182.6T85.9 222.7V861.3Q85.9 884.8 101.6 900.4T140.6 916H529.3Q552.7 916 569.3 900.4T585.9 861.3V222.7Q585.9 199.2 569.3 182.6T529.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-20\"\n      ]\n    },\n    {\n      \"uid\": \"ba83cbb052cce5d73e6b1e855c69d62e\",\n      \"css\": \"battery-charging-30\",\n      \"code\": 983175,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625H166V250H500V625ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM959 459H834V166L625 584H750V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-30\"\n      ]\n    },\n    {\n      \"uid\": \"099b637ac24116565c2cedc1a0a40f32\",\n      \"css\": \"battery-charging-40\",\n      \"code\": 985245,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H834V166L625 584H750V916ZM500 541H166V250H500V541ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-40\"\n      ]\n    },\n    {\n      \"uid\": \"1bfbbc74a925d33f0dd0d5ba4cf0e73f\",\n      \"css\": \"battery-charging-40\",\n      \"code\": 983176,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H834V166L625 584H750V916ZM500 541H166V250H500V541ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-40\"\n      ]\n    },\n    {\n      \"uid\": \"22a06aa19a747e9585e72c74b9759b51\",\n      \"css\": \"battery-charging-60\",\n      \"code\": 983177,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 459H166V250H500V459ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM959 459H834V166L625 584H750V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-60\"\n      ]\n    },\n    {\n      \"uid\": \"431fd433601ceb5305967f18767ff07a\",\n      \"css\": \"battery-charging-80\",\n      \"code\": 983178,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H834V166L625 584H750V916ZM500 375H166V250H500V375ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-80\"\n      ]\n    },\n    {\n      \"uid\": \"701251122360e0dafef21e42be79c81b\",\n      \"css\": \"battery-charging-90\",\n      \"code\": 983179,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H834V166L625 584H750V916ZM500 334H166V250H500V334ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-90\"\n      ]\n    },\n    {\n      \"uid\": \"60d3aeed53b2cf19aa9f59a14fd6aacb\",\n      \"css\": \"battery-minus\",\n      \"code\": 983180,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M695.3 166Q716.8 166 733.4 182.6T750 222.7V861.3Q750 884.8 733.4 900.4T695.3 916H304.7Q283.2 916 266.6 900.4T250 861.3V222.7Q250 199.2 266.6 182.6T304.7 166H375V84H625V166H695.3ZM334 500V584H666V500H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-minus\"\n      ]\n    },\n    {\n      \"uid\": \"e49dc19764c65132d3988a71903fc82c\",\n      \"css\": \"battery-negative\",\n      \"code\": 983181,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M486.3 166Q509.8 166 525.4 182.6T541 222.7V861.3Q541 884.8 525.4 900.4T486.3 916H97.7Q74.2 916 57.6 900.4T41 861.3V222.7Q41 199.2 57.6 182.6T97.7 166H166V84H416V166H486.3ZM625 500H959V584H625V500ZM125 541H459V250H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-negative\"\n      ]\n    },\n    {\n      \"uid\": \"7033b83058b71c86ce2c5df91b9de7a0\",\n      \"css\": \"battery-outline\",\n      \"code\": 983182,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 834H334V250H666V834ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4cc9310e311e86b2bbe2bceeaceb1a38\",\n      \"css\": \"battery-plus\",\n      \"code\": 983183,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M695.3 166Q716.8 166 733.4 182.6T750 222.7V861.3Q750 884.8 733.4 900.4T695.3 916H304.7Q283.2 916 266.6 900.4T250 861.3V222.7Q250 199.2 266.6 182.6T304.7 166H375V84H625V166H695.3ZM666 584V500H541V375H459V500H334V584H459V709H541V584H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-plus\"\n      ]\n    },\n    {\n      \"uid\": \"5964a4833e82a080cd0cd84e0f90a0de\",\n      \"css\": \"battery-positive\",\n      \"code\": 983184,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M486.3 166Q509.8 166 525.4 182.6T541 222.7V861.3Q541 884.8 525.4 900.4T486.3 916H97.7Q74.2 916 57.6 900.4T41 861.3V222.7Q41 199.2 57.6 182.6T97.7 166H166V84H416V166H486.3ZM959 584H834V709H750V584H625V500H750V375H834V500H959V584ZM125 541H459V250H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-positive\"\n      ]\n    },\n    {\n      \"uid\": \"2e9112612b114cdabdd61160f22ae93d\",\n      \"css\": \"battery-unknown\",\n      \"code\": 983185,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M627 509.8L589.8 548.8Q570.3 568.4 562.5 582 550.8 601.6 544.9 625H460.9Q466.8 568.4 507.8 527.3L558.6 474.6Q584 451.2 584 417T559.6 358.4 500 334 440.4 358.4 416 416H334Q334 347.7 382.8 298.8T500 250 617.2 298.8 666 416Q666 470.7 627 509.8ZM541 791H459V709H541V791ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-unknown\"\n      ]\n    },\n    {\n      \"uid\": \"c7c0f6f0d35ba58185d85ec75134d9d1\",\n      \"css\": \"beach\",\n      \"code\": 983186,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 773.4Q769.5 750 916 750V916H209Q209 902.3 252 878.9T367.2 832Q447.3 806.6 541 787.1V517.6Q488.3 533.2 459 582 439.5 548.8 406.3 529.3T334 509.8 261.7 529.3 209 582Q209 507.8 252.9 445.3T373 341.8 541 293V291Q541 273.4 553.7 261.7T584 250 613.3 261.7 625 291V293Q716.8 300.8 793 341.8T913.1 445.3 959 582Q939.5 548.8 906.3 529.3T834 509.8 761.7 529.3 709 582Q679.7 533.2 625 515.6V773.4ZM291 84Q291 140.6 263.7 188.5T188.5 263.7 84 291V84H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beach\"\n      ]\n    },\n    {\n      \"uid\": \"4e612751faa777ab393ff95482931a24\",\n      \"css\": \"flask\",\n      \"code\": 983187,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 724.6L375 326.2V250Q357.4 250 345.7 238.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 654.3 238.3T625 250V326.2L853.5 724.6Q875 753.9 875 791 875 843.8 838.9 879.9T750 916H250ZM209 791Q209 808.6 220.7 821.3T250 834H750Q767.6 834 779.3 821.3T791 791Q791 779.3 783.2 767.6L689.5 603.5 584 709 373 498 216.8 767.6Q209 779.3 209 791ZM541 416Q523.4 416 511.7 428.7T500 459 511.7 488.3 541 500 571.3 488.3 584 459 571.3 428.7 541 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask\"\n      ]\n    },\n    {\n      \"uid\": \"6ce868db3b83c85b13eab4edbbd5a4e5\",\n      \"css\": \"flask-empty\",\n      \"code\": 983188,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 724.6L375 326.2V250Q357.4 250 345.7 238.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 654.3 238.3T625 250V326.2L853.5 724.6Q875 753.9 875 791 875 843.8 838.9 879.9T750 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty\"\n      ]\n    },\n    {\n      \"uid\": \"9fbec1d5dcb4ea65f4f97e87f1b0308c\",\n      \"css\": \"flask-empty-outline\",\n      \"code\": 983189,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 791Q209 808.6 220.7 821.3T250 834H750Q767.6 834 779.3 821.3T791 791Q791 779.3 783.2 767.6L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 724.6L375 326.2V250Q357.4 250 345.7 238.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 654.3 238.3T625 250V326.2L853.5 724.6Q875 753.9 875 791 875 843.8 838.9 879.9T750 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fd7e2b5fd26b93e988935ad03e4ba609\",\n      \"css\": \"flask-outline\",\n      \"code\": 983190,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 791Q209 808.6 220.7 821.3T250 834H750Q767.6 834 779.3 821.3T791 791Q791 779.3 783.2 767.6L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 724.6L375 326.2V250Q357.4 250 345.7 238.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 654.3 238.3T625 250V326.2L853.5 724.6Q875 753.9 875 791 875 843.8 838.9 879.9T750 916H250ZM541 666L597.7 611.3 677.7 750H322.3L433.6 558.6ZM521.5 500Q529.3 500 535.2 505.9T541 520.5 535.2 535.2 520.5 541 505.9 535.2 500 520.5 505.9 505.9 521.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f280cae074bdb459f63ea8966fa7ab20\",\n      \"css\": \"bunk-bed-outline\",\n      \"code\": 983191,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 84H125V375H416V125H791Q861.3 125 910.2 173.8T959 291V959H875V875H125V959H41V84ZM500 209V375H875V291Q875 257.8 850.6 233.4T791 209H500ZM125 459V791H416V541H791Q837.9 541 875 566.4V459H125ZM271.5 541Q314.5 541 344.7 571.3T375 645.5 344.7 719.7 270.5 750 196.3 719.7 166 645.5 196.3 571.3 271.5 541ZM271.5 607.4Q255.9 607.4 244.1 619.1T232.4 646.5 244.1 672.9 271.5 683.6 297.9 672.9 308.6 646.5 297.9 619.1 271.5 607.4ZM500 625V791H875V709Q875 673.8 850.6 649.4T791 625H500ZM271.5 125Q314.5 125 344.7 155.3T375 229.5 344.7 303.7 270.5 334 196.3 303.7 166 229.5 196.3 155.3 271.5 125ZM271.5 191.4Q255.9 191.4 244.1 202.1T232.4 228.5 244.1 255.9 271.5 267.6 297.9 255.9 308.6 228.5 297.9 202.1 271.5 191.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bunk-bed-outline\"\n      ]\n    },\n    {\n      \"uid\": \"55fb2b34512819f0bb30f9d570d5694f\",\n      \"css\": \"beer\",\n      \"code\": 983192,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H791L709 916H250ZM257.8 166L324.2 834H367.2L310.5 263.7Q402.3 234.4 459 291 500 334 578.1 328.1 628.9 324.2 687.5 300.8L699.2 166H257.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beer\"\n      ]\n    },\n    {\n      \"uid\": \"03c0962a62c1823a8ab8d698698a59ed\",\n      \"css\": \"bed-outline\",\n      \"code\": 983193,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 584Q343.8 584 379.9 546.9T416 458 379.9 370.1 292 334 203.1 370.1 166 458 203.1 546.9 291 584ZM291 416Q308.6 416 321.3 428.7T334 458 321.3 487.3 292 500 262.7 487.3 250 458 262.7 428.7 291 416ZM791 291H459V625H125V209H41V834H125V709H875V834H959V459Q959 388.7 910.2 339.8T791 291ZM875 625H541V375H791Q826.2 375 850.6 399.4T875 459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-outline\"\n      ]\n    },\n    {\n      \"uid\": \"66dff06f440ed33a5ea84c85eda7149d\",\n      \"css\": \"bell\",\n      \"code\": 983194,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791V834H125V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V709ZM584 875Q584 910.2 559.6 934.6T500 959 440.4 934.6 416 875H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell\"\n      ]\n    },\n    {\n      \"uid\": \"8044d0645ac77516b722b478cd2a6e65\",\n      \"css\": \"bell-off\",\n      \"code\": 983195,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L753.9 834H125V791L209 709V459Q209 386.7 242.2 322.3L46.9 125 99.6 72.3 921.9 894.5ZM791 658.2V459Q791 361.3 733.4 284.2T584 179.7V166Q584 132.8 559.6 108.4T500 84 440.4 108.4 416 166V179.7Q378.9 189.5 343.8 212.9ZM500 959Q535.2 959 559.6 934.6T584 875H416Q416 910.2 440.4 934.6T500 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-off\"\n      ]\n    },\n    {\n      \"uid\": \"d0eea7b877c1bca80728613b4cb43154\",\n      \"css\": \"bell-outline\",\n      \"code\": 983196,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 709H291V437.5Q291 359.4 345.7 304.7T478.5 250 611.3 304.7 666 437.5V709ZM750 666V437.5Q750 341.8 691.4 268.6T541 173.8V146.5Q541 119.1 523.4 101.6T479.5 84 434.6 101.6 416 146.5V173.8Q326.2 195.3 267.6 268.6T209 437.5V666L125 750V791H834V750ZM478.5 916Q513.7 916 538.1 891.6T562.5 834H396.5Q396.5 867.2 420.9 891.6T478.5 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1a953515b157cd56ca886eda2f080386\",\n      \"css\": \"bell-plus\",\n      \"code\": 983197,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584V709H584V791H709V916H791V791H916V709H791V584H709ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H513.7Q500 793 500 750 500 681.6 533.2 624T624 533.2 750 500Q771.5 500 791 503.9V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T500 959Q521.5 959 539.1 949.2T568.4 921.9Q548.8 900.4 533.2 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-plus\"\n      ]\n    },\n    {\n      \"uid\": \"fadd2bcbe8a942ab8f04d0d1dc3a303f\",\n      \"css\": \"bell-ring\",\n      \"code\": 983198,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791V834H125V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V709ZM584 875Q584 910.2 559.6 934.6T500 959 440.4 934.6 416 875H584ZM822.3 132.8L763.7 191.4Q816.4 244.1 845.7 313.5T875 459H959Q959 367.2 923.8 282.2T822.3 132.8ZM41 459H125Q125 382.8 154.3 313.5T236.3 191.4L177.7 132.8Q111.3 197.3 76.2 282.2T41 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-ring\"\n      ]\n    },\n    {\n      \"uid\": \"d0cb135b408c46ea6e2999c1e2f949cb\",\n      \"css\": \"bell-ring-outline\",\n      \"code\": 983199,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 875H584Q584 910.2 559.6 934.6T500 959 440.4 934.6 416 875ZM875 791V834H125V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V709ZM709 459Q709 402.3 680.7 354.5T604.5 278.3 500 250 395.5 278.3 319.3 354.5 291 459V750H709V459ZM822.3 132.8L763.7 191.4Q816.4 244.1 845.7 313.5T875 459H959Q959 367.2 923.8 282.2T822.3 132.8ZM41 459H125Q125 382.8 154.3 313.5T236.3 191.4L177.7 132.8Q111.3 197.3 76.2 282.2T41 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-ring-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e6f0ce84d49599db307e52557b6807ec\",\n      \"css\": \"bell-sleep\",\n      \"code\": 983200,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 875H584Q584 910.2 559.6 934.6T500 959 440.4 934.6 416 875ZM875 791V834H125V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V709ZM625 375H375V459H509.8L375 570.3V666H625V584H490.2L625 470.7V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-sleep\"\n      ]\n    },\n    {\n      \"uid\": \"7bcb16c07cf84b3a47f24dae1b4e3ffb\",\n      \"css\": \"beta\",\n      \"code\": 983201,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M384.8 732.4V962.9H287.1V279.3Q287.1 189.5 339.8 136.7T484.4 84Q568.4 84 618.2 126T668 242.2Q668 293 635.7 337.9T552.7 398.4V400.4Q630.9 414.1 671.9 458T712.9 572.3Q712.9 654.3 656.3 706.1T505.9 757.8Q439.5 757.8 384.8 732.4ZM447.3 447.3V367.2Q500 361.3 535.2 327.1T570.3 250Q570.3 164.1 482.4 164.1 435.5 164.1 410.2 194.3T384.8 279.3V646.5Q441.4 679.7 495.1 679.7T578.1 652.3 607.4 574.2Q607.4 462.9 447.3 447.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beta\"\n      ]\n    },\n    {\n      \"uid\": \"2cca742a547c5ce34fc9193dc1f2547f\",\n      \"css\": \"book-cross\",\n      \"code\": 983202,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M242.2 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V834Q834 865.2 808.6 890.6T750 916H250Q216.8 916 191.4 890.6T166 834V166Q166 134.8 188.5 110.4T242.2 84ZM541 416V541H416V625H541V834H625V625H750V541H625V416H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-cross\"\n      ]\n    },\n    {\n      \"uid\": \"1550b7535bf0d76fd6eed1e2b67d600c\",\n      \"css\": \"bike\",\n      \"code\": 983203,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 853.5Q148.4 853.5 105.5 811.5T62.5 709 105.5 605.5 209 562.5 311.5 605.5 353.5 709 311.5 811.5 209 853.5ZM209 500Q152.3 500 104.5 528.3T28.3 604.5 0 709 28.3 813.5 104.5 888.7 209 916 313.5 888.7 388.7 813.5 416 709 388.7 604.5 313.5 528.3 209 500ZM617.2 416H791V341.8H658.2L578.1 205.1Q568.4 189.5 551.8 179.7T517.6 169.9Q486.3 169.9 466.8 191.4L312.5 345.7Q291 367.2 291 396.5 291 435.5 326.2 457L466.8 541V750H541V478.5L447.3 410.2 544.9 312.5ZM791 853.5Q730.5 853.5 688.5 811.5T646.5 709 688.5 605.5 791 562.5 894.5 605.5 937.5 709 894.5 811.5 791 853.5ZM791 500Q734.4 500 686.5 528.3T611.3 604.5 584 709 611.3 813.5 686.5 888.7 791 916 895.5 888.7 971.7 813.5 1000 709 971.7 604.5 895.5 528.3 791 500ZM666 199.2Q697.3 199.2 719.7 177.7T742.2 125 719.7 72.3 666 50.8 613.3 72.3 591.8 125 613.3 177.7 666 199.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bike\"\n      ]\n    },\n    {\n      \"uid\": \"2230f1e0752a94dec0d7c05e99cede6d\",\n      \"css\": \"microsoft-bing\",\n      \"code\": 983204,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125V791L363.3 875 750 658.2V488.3L406.3 373 474.6 535.2 580.1 584 363.3 705.1V177.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-bing\"\n      ]\n    },\n    {\n      \"uid\": \"f8fafadf55a9b128543761c33ad9a7be\",\n      \"css\": \"binoculars\",\n      \"code\": 983205,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250H541V541H459V250ZM375 834Q375 851.6 363.3 863.3T334 875H209Q191.4 875 178.7 863.3T166 834V625L250 250H416V541Q416 558.6 404.3 571.3T375 584V834ZM416 209H291V125H416V209ZM625 834V584Q607.4 584 595.7 571.3T584 541V250H750L834 625V834Q834 851.6 821.3 863.3T791 875H666Q648.4 875 636.7 863.3T625 834ZM584 209V125H709V209H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"binoculars\"\n      ]\n    },\n    {\n      \"uid\": \"4b1cf47f7763c771612d8105aa56083c\",\n      \"css\": \"bio\",\n      \"code\": 983206,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500H834Q867.2 500 891.6 524.4T916 584V709Q916 742.2 891.6 766.6T834 791H709Q673.8 791 649.4 766.6T625 709V584Q625 548.8 649.4 524.4T709 500ZM709 584V709H834V584H709ZM84 291H291Q326.2 291 350.6 315.4T375 375V459Q375 492.2 350.6 516.6T291 541Q326.2 541 350.6 565.4T375 625V709Q375 742.2 350.6 766.6T291 791H84V291ZM166 375V500H291V375H166ZM166 709H291V584H166V709ZM459 541H541V791H459V541ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bio\"\n      ]\n    },\n    {\n      \"uid\": \"a050a03ae0065f5b0c5645f0e82fb996\",\n      \"css\": \"biohazard\",\n      \"code\": 983207,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 669.9Q959 687.5 957 695.3 951.2 615.2 891.6 559.6T750 503.9Q730.5 503.9 705.1 509.8V513.7Q709 531.3 709 541 709 615.2 662.1 670.9T544.9 742.2Q554.7 812.5 608.4 861.3T736.3 914.1Q726.6 916 709 916 644.5 916 588.9 886.7T500 806.6Q466.8 857.4 411.1 886.7T291 916Q273.4 916 263.7 914.1 337.9 910.2 390.6 861.3T455.1 742.2Q384.8 726.6 337.9 670.9T291 541Q291 533.2 293 517.6L294.9 509.8Q269.5 503.9 250 503.9 168 503.9 108.4 559.6T43 695.3Q41 687.5 41 669.9 41 603.5 74.2 547.9T162.1 458 283.2 421.9Q250 365.2 250 297.9T285.2 172.9 377 84Q337.9 111.3 314.5 155.3T291 250Q291 291 307.6 329.1T353.5 396.5Q414.1 335.9 500 335.9 543 335.9 580.1 351.6T646.5 396.5Q675.8 367.2 692.4 329.1T709 250Q709 199.2 685.5 155.3T623 84Q679.7 115.2 714.8 172.9T750 297.9 716.8 421.9Q783.2 423.8 838.9 458T926.8 547.9 959 669.9ZM386.7 421.9Q437.5 455.1 500 455.1T613.3 421.9Q564.5 377 500 377T386.7 421.9ZM500 603.5Q525.4 603.5 543.9 585T562.5 541 543.9 497.1 500 478.5 456.1 497.1 437.5 541 456.1 585 500 603.5ZM457 699.2Q453.1 640.6 420.9 593.8T335.9 523.4L334 541Q334 597.7 368.2 641.6T457 699.2ZM664.1 523.4Q613.3 546.9 579.1 593.8T541 699.2Q595.7 685.5 630.9 641.6T666 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"biohazard\"\n      ]\n    },\n    {\n      \"uid\": \"b1b8d74d1f3b69f83541998266466bf1\",\n      \"css\": \"bitbucket\",\n      \"code\": 983208,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M111.3 125Q99.6 125 91.8 132.8T84 152.3V156.3L197.3 843.8Q199.2 857.4 209 866.2T232.4 875H775.4Q785.2 875 793 869.1T802.7 851.6L916 156.3Q918 146.5 911.1 137.7T894.5 127ZM587.9 623H414.1L367.2 377H628.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bitbucket\"\n      ]\n    },\n    {\n      \"uid\": \"f52e21bf231603242bad5a2c2a393426\",\n      \"css\": \"black-mesa\",\n      \"code\": 983209,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 574.2 196.3 638.7T279.3 750H375V500H709L798.8 650.4Q834 578.1 834 500 834 410.2 789.1 333T667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"black-mesa\"\n      ]\n    },\n    {\n      \"uid\": \"8910fd71f5b1654d121e47118935fb84\",\n      \"css\": \"shield-refresh\",\n      \"code\": 983210,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 500Q818.4 500 871.1 529.3 875 503.9 875 459V209L500 41 125 209V459Q125 572.3 173.8 676.8T307.6 856.4 500 959Q517.6 955.1 541 945.3 478.5 871.1 478.5 771.5 478.5 697.3 515.6 634.8T614.3 536.1 750 500ZM750 603.5Q822.3 603.5 867.2 654.3L916 603.5V771.5H750L824.2 695.3Q789.1 666 750 666 707 666 676.8 696.3T646.5 770.5 676.8 844.7 750 875Q798.8 875 834 834H904.3Q884.8 880.9 843.8 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"e73401d703fad707b77cb8b4ab9ef0c0\",\n      \"css\": \"blender-software\",\n      \"code\": 983211,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M523.4 130.9V130.9Q503.9 130.9 488.3 141.6T470.7 168 482.4 195.3L601.6 291 238.3 293Q214.8 293 196.3 305.7T172.9 337.9 181.6 371.1 218.8 384.8L404.3 382.8 74.2 636.7Q48.8 656.3 43 681.6T51.8 725.6 93.8 744.1 146.5 726.6L324.2 578.1V589.8Q322.3 603.5 322.3 611.3 322.3 632.8 332 664.1 349.6 722.7 393.6 770.5T501 846.7 638.7 875 779.3 845.7Q839.8 818.4 883.8 769.5T945.3 662.1Q955.1 636.7 959 603.5 959 564.5 955.1 544.9 947.3 488.3 918 441.4T845.7 361.3L558.6 140.6Q544.9 130.9 523.4 130.9ZM638.7 382.8Q712.9 382.8 769.5 429.7 796.9 451.2 813.5 480.5T833 545.9 823.2 615.2 783.2 676.8 718.8 720.7 639.6 736.3 559.6 721.7 494.1 678.7 454.1 616.2 445.3 546.9 465.8 481.4 509.8 429.7Q564.5 382.8 638.7 382.8ZM642.6 441.4Q593.8 441.4 557.6 472.7T519.5 549.8 552.7 630.9 642.6 666 733.4 630.9 767.6 549.8 728.5 472.7 642.6 441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blender-software\"\n      ]\n    },\n    {\n      \"uid\": \"7367c79ada2192bec297dbd42222ca0b\",\n      \"css\": \"blinds\",\n      \"code\": 983212,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84H875Q892.6 84 904.3 95.7T916 125V209Q916 226.6 904.3 238.3T875 250H834V541Q834 558.6 821.3 571.3T791 584H541V673.8Q578.1 687.5 601.6 719.7T625 791Q625 843.8 588.9 879.9T500 916 411.1 879.9 375 791Q375 752 398.4 719.7T459 673.8V584H209Q191.4 584 178.7 571.3T166 541V250H125Q107.4 250 95.7 238.3T84 209V125Q84 107.4 95.7 95.7T125 84ZM500 750Q482.4 750 470.7 761.7T459 791 470.7 821.3 500 834 529.3 821.3 541 791 529.3 761.7 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blinds\"\n      ]\n    },\n    {\n      \"uid\": \"e9e45fe1dc39b5de2871da51c413436a\",\n      \"css\": \"block-helper\",\n      \"code\": 983213,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 0Q636.7 0 751 67.4T932.6 249 1000 500 932.6 751 751 932.6 500 1000 249 932.6 67.4 751 0 500 67.4 249 249 67.4 500 0ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500Q84 574.2 108.4 641.6T177.7 763.7L763.7 177.7Q709 132.8 641.6 108.4T500 84ZM500 916Q582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500Q916 425.8 891.6 358.4T822.3 236.3L236.3 822.3Q291 867.2 358.4 891.6T500 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"block-helper\"\n      ]\n    },\n    {\n      \"uid\": \"4812fa5f9afe8e2798c88247951370a8\",\n      \"css\": \"blogger\",\n      \"code\": 983214,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 416H416Q400.4 416 387.7 404.3T375 375 387.7 345.7 416 334H521.5Q537.1 334 549.8 345.7T562.5 375 549.8 404.3 521.5 416ZM625 584Q625 566.4 612.3 553.7T584 541H416Q400.4 541 387.7 553.7T375 583 387.7 612.3 416 625H584Q599.6 625 612.3 612.3T625 584ZM916 166V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166ZM750 500Q750 494.1 748 488.3 746.1 476.6 738.3 468.8 726.6 459 709 459T679.7 447.3Q671.9 439.5 668 427.7L666 416V334Q666 281.3 629.9 245.1T541 209H375Q322.3 209 286.1 245.1T250 334V625Q250 677.7 286.1 713.9T375 750H625Q677.7 750 713.9 713.9T750 625V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blogger\"\n      ]\n    },\n    {\n      \"uid\": \"6f33f0c1c816f4d2a3ae9d2e30e7c4a6\",\n      \"css\": \"bluetooth\",\n      \"code\": 983215,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M619.1 679.7L541 757.8V599.6ZM541 242.2L619.1 320.3 541 398.4V242.2ZM738.3 320.3L500 84H459V398.4L267.6 209 209 267.6 441.4 500 209 732.4 267.6 791 459 599.6V916H500L738.3 679.7 558.6 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"c1382d1eb81d9c1ea3bb7d140d4489e8\",\n      \"css\": \"bluetooth-audio\",\n      \"code\": 983216,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 679.7L459 757.8V599.6ZM459 242.2L537.1 320.3 459 398.4V242.2ZM654.3 320.3L416 84H375V398.4L183.6 209 125 267.6 357.4 500 125 732.4 183.6 791 375 599.6V916H416L654.3 679.7 474.6 500ZM814.5 279.3L761.7 334Q802.7 410.2 802.7 500T761.7 666L810.5 716.8Q875 615.2 875 497.1T814.5 279.3ZM593.8 500L689.5 597.7Q709 548.8 709 500T689.5 404.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bluetooth-audio\"\n      ]\n    },\n    {\n      \"uid\": \"239d095e9be4fe22546f1cd6f6206c72\",\n      \"css\": \"bluetooth-connect\",\n      \"code\": 983217,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416L709 500 791 584 875 500ZM619.1 679.7L541 757.8V599.6ZM541 242.2L619.1 320.3 541 398.4V242.2ZM738.3 320.3L500 84H459V398.4L267.6 209 209 267.6 441.4 500 209 732.4 267.6 791 459 599.6V916H500L738.3 679.7 558.6 500ZM291 500L209 416 125 500 209 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bluetooth-connect\"\n      ]\n    },\n    {\n      \"uid\": \"c7f28795f83546c5aec4d3d1449a9e98\",\n      \"css\": \"bluetooth-off\",\n      \"code\": 983218,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 242.2L619.1 320.3 552.7 388.7 611.3 447.3 738.3 320.3 500 84H459V293L541 377V242.2ZM224.6 166L166 224.6 441.4 500 209 732.4 267.6 791 459 599.6V916H500L679.7 738.3 775.4 834 834 775.4ZM541 757.8V599.6L619.1 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bluetooth-off\"\n      ]\n    },\n    {\n      \"uid\": \"dc73c98f089429a598756728094e8c9e\",\n      \"css\": \"bluetooth-settings\",\n      \"code\": 983219,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M619.1 595.7L541 673.8V517.6ZM541 160.2L619.1 238.3 541 316.4V160.2ZM738.3 238.3L500 0H459V316.4L267.6 125 209 183.6 441.4 416 209 650.4 267.6 709 459 517.6V834H500L738.3 595.7 558.6 416ZM625 1000H709V916H625V1000ZM291 1000H375V916H291V1000ZM459 1000H541V916H459V1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bluetooth-settings\"\n      ]\n    },\n    {\n      \"uid\": \"59fbb3cc13c6db30566844a7c96f2489\",\n      \"css\": \"bluetooth-transfer\",\n      \"code\": 983220,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M613.3 320.3L433.6 500 613.3 679.7 375 916H334V599.6L142.6 791 84 732.4 316.4 500 84 267.6 142.6 209 334 400.4V84H375ZM416 242.2V400.4L494.1 320.3ZM494.1 679.7L416 599.6V757.8ZM916 334H834V459H750V334H666L791 166ZM916 666L791 834 666 666H750V541H834V666H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bluetooth-transfer\"\n      ]\n    },\n    {\n      \"uid\": \"bbb5c20201e2512a16cedf6f9acc510e\",\n      \"css\": \"blur\",\n      \"code\": 983221,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 353.5Q556.6 353.5 539.1 372.1T521.5 417 539.1 460.9 583 478.5 627.9 460.9 646.5 417 627.9 372.1 584 353.5ZM584 521.5Q556.6 521.5 539.1 539.1T521.5 583 539.1 627.9 583 646.5 627.9 627.9 646.5 583 627.9 539.1 584 521.5ZM416 709Q398.4 709 386.7 720.7T375 750 386.7 779.3 416 791 446.3 779.3 459 750 446.3 720.7 416 709ZM416 353.5Q390.6 353.5 372.1 372.1T353.5 417 372.1 460.9 417 478.5 460.9 460.9 478.5 417 460.9 372.1 416 353.5ZM584 853.5Q574.2 853.5 568.4 860.4T562.5 875 568.4 889.6 583 896.5 597.7 889.6 603.5 875 597.7 860.4 584 853.5ZM584 709Q566.4 709 553.7 720.7T541 750 553.7 779.3 584 791 613.3 779.3 625 750 613.3 720.7 584 709ZM875 562.5Q867.2 562.5 860.4 568.4T853.5 583 860.4 597.7 875 603.5 889.6 597.7 896.5 583 889.6 568.4 875 562.5ZM750 209Q732.4 209 720.7 220.7T709 250 720.7 279.3 750 291 779.3 279.3 791 250 779.3 220.7 750 209ZM750 375Q732.4 375 720.7 386.7T709 416 720.7 446.3 750 459 779.3 446.3 791 416 779.3 386.7 750 375ZM750 709Q732.4 709 720.7 720.7T709 750 720.7 779.3 750 791 779.3 779.3 791 750 779.3 720.7 750 709ZM750 541Q732.4 541 720.7 553.7T709 584 720.7 613.3 750 625 779.3 613.3 791 584 779.3 553.7 750 541ZM416 521.5Q390.6 521.5 372.1 539.1T353.5 583 372.1 627.9 417 646.5 460.9 627.9 478.5 583 460.9 539.1 416 521.5ZM416 291Q433.6 291 446.3 279.3T459 250 446.3 220.7 416 209 386.7 220.7 375 250 386.7 279.3 416 291ZM416 146.5Q425.8 146.5 431.6 139.6T437.5 125 431.6 110.4 417 103.5 402.3 110.4 396.5 125 402.3 139.6 416 146.5ZM416 853.5Q408.2 853.5 402.3 860.4T396.5 875 402.3 889.6 417 896.5 431.6 889.6 437.5 875 431.6 860.4 416 853.5ZM125 562.5Q117.2 562.5 110.4 568.4T103.5 583 110.4 597.7 125 603.5 139.6 597.7 146.5 583 139.6 568.4 125 562.5ZM584 146.5Q591.8 146.5 597.7 139.6T603.5 125 597.7 110.4 583 103.5 568.4 110.4 562.5 125 568.4 139.6 584 146.5ZM584 291Q601.6 291 613.3 279.3T625 250 613.3 220.7 584 209 553.7 220.7 541 250 553.7 279.3 584 291ZM875 437.5Q882.8 437.5 889.6 431.6T896.5 417 889.6 402.3 875 396.5 860.4 402.3 853.5 417 860.4 431.6 875 437.5ZM250 209Q232.4 209 220.7 220.7T209 250 220.7 279.3 250 291 279.3 279.3 291 250 279.3 220.7 250 209ZM125 396.5Q117.2 396.5 110.4 402.3T103.5 417 110.4 431.6 125 437.5 139.6 431.6 146.5 417 139.6 402.3 125 396.5ZM250 375Q232.4 375 220.7 386.7T209 416 220.7 446.3 250 459 279.3 446.3 291 416 279.3 386.7 250 375ZM250 709Q232.4 709 220.7 720.7T209 750 220.7 779.3 250 791 279.3 779.3 291 750 279.3 720.7 250 709ZM250 541Q232.4 541 220.7 553.7T209 584 220.7 613.3 250 625 279.3 613.3 291 584 279.3 553.7 250 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blur\"\n      ]\n    },\n    {\n      \"uid\": \"e6ddfabe4e3d5dde4a04e8d4688ad5ae\",\n      \"css\": \"blur-linear\",\n      \"code\": 983222,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709Q558.6 709 571.3 696.3T584 666 571.3 636.7 541 625 511.7 636.7 500 666 511.7 696.3 541 709ZM541 541Q558.6 541 571.3 529.3T584 500 571.3 470.7 541 459 511.7 470.7 500 500 511.7 529.3 541 541ZM541 375Q558.6 375 571.3 363.3T584 334 571.3 303.7 541 291 511.7 303.7 500 334 511.7 363.3 541 375ZM709 521.5Q716.8 521.5 722.7 514.6T728.5 500 722.7 485.4 708 478.5 693.4 485.4 687.5 500 693.4 514.6 709 521.5ZM709 353.5Q716.8 353.5 722.7 347.7T728.5 333 722.7 318.4 708 312.5 693.4 318.4 687.5 333 693.4 347.7 709 353.5ZM125 125V209H875V125H125ZM709 687.5Q716.8 687.5 722.7 681.6T728.5 667 722.7 652.3 708 646.5 693.4 652.3 687.5 667 693.4 681.6 709 687.5ZM375 709Q392.6 709 404.3 696.3T416 666 404.3 636.7 375 625 345.7 636.7 334 666 345.7 696.3 375 709ZM209 562.5Q234.4 562.5 252.9 543.9T271.5 500 252.9 456.1 208 437.5 164.1 456.1 146.5 500 164.1 543.9 209 562.5ZM209 396.5Q234.4 396.5 252.9 377.9T271.5 333 252.9 289.1 208 271.5 164.1 289.1 146.5 333 164.1 377.9 209 396.5ZM125 875H875V791H125V875ZM375 375Q392.6 375 404.3 363.3T416 334 404.3 303.7 375 291 345.7 303.7 334 334 345.7 363.3 375 375ZM375 541Q392.6 541 404.3 529.3T416 500 404.3 470.7 375 459 345.7 470.7 334 500 345.7 529.3 375 541ZM209 728.5Q234.4 728.5 252.9 710.9T271.5 667 252.9 622.1 208 603.5 164.1 622.1 146.5 667 164.1 710.9 209 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blur-linear\"\n      ]\n    },\n    {\n      \"uid\": \"900fa0d4ec916e12c7d0af067e4bb0c3\",\n      \"css\": \"blur-off\",\n      \"code\": 983223,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 562.5Q117.2 562.5 110.4 568.4T103.5 583 110.4 597.7 125 603.5 139.6 597.7 146.5 583 139.6 568.4 125 562.5ZM250 709Q232.4 709 220.7 720.7T209 750 220.7 779.3 250 791 279.3 779.3 291 750 279.3 720.7 250 709ZM416 853.5Q408.2 853.5 402.3 860.4T396.5 875 402.3 889.6 417 896.5 431.6 889.6 437.5 875 431.6 860.4 416 853.5ZM125 396.5Q117.2 396.5 110.4 402.3T103.5 417 110.4 431.6 125 437.5 139.6 431.6 146.5 417 139.6 402.3 125 396.5ZM250 541Q232.4 541 220.7 553.7T209 584 220.7 613.3 250 625 279.3 613.3 291 584 279.3 553.7 250 541ZM875 562.5Q867.2 562.5 860.4 568.4T853.5 583 860.4 597.7 875 603.5 889.6 597.7 896.5 583 889.6 568.4 875 562.5ZM416 709Q398.4 709 386.7 720.7T375 750 386.7 779.3 416 791 446.3 779.3 459 750 446.3 720.7 416 709ZM103.5 218.8L261.7 377 250 375Q232.4 375 220.7 386.7T209 416 220.7 446.3 250 459 279.3 446.3 291 416Q291 412.1 289.1 404.3L406.3 521.5Q384.8 525.4 369.1 543T353.5 585 372.1 627.9 415 646.5 457 630.9 478.5 593.8L595.7 710.9Q587.9 709 584 709 566.4 709 553.7 720.7T541 750 553.7 779.3 584 791 613.3 779.3 625 750Q625 746.1 623 738.3L779.3 896.5 834 843.8 156.3 166ZM584 853.5Q574.2 853.5 568.4 860.4T562.5 875 568.4 889.6 583 896.5 597.7 889.6 603.5 875 597.7 860.4 584 853.5ZM750 291Q767.6 291 779.3 279.3T791 250 779.3 220.7 750 209 720.7 220.7 709 250 720.7 279.3 750 291ZM750 459Q767.6 459 779.3 446.3T791 416 779.3 386.7 750 375 720.7 386.7 709 416 720.7 446.3 750 459ZM750 625Q767.6 625 779.3 613.3T791 584 779.3 553.7 750 541 720.7 553.7 709 584 720.7 613.3 750 625ZM416 291Q433.6 291 446.3 279.3T459 250 446.3 220.7 416 209 386.7 220.7 375 250 386.7 279.3 416 291ZM875 437.5Q882.8 437.5 889.6 431.6T896.5 417 889.6 402.3 875 396.5 860.4 402.3 853.5 417 860.4 431.6 875 437.5ZM416 146.5Q425.8 146.5 431.6 139.6T437.5 125 431.6 110.4 417 103.5 402.3 110.4 396.5 125 402.3 139.6 416 146.5ZM584 146.5Q591.8 146.5 597.7 139.6T603.5 125 597.7 110.4 583 103.5 568.4 110.4 562.5 125 568.4 139.6 584 146.5ZM574.2 478.5H584Q609.4 478.5 627.9 460.9T646.5 417 627.9 372.1 583 353.5 539.1 372.1 521.5 416V425.8Q523.4 445.3 539.1 460.9T574.2 478.5ZM584 291Q601.6 291 613.3 279.3T625 250 613.3 220.7 584 209 553.7 220.7 541 250 553.7 279.3 584 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blur-off\"\n      ]\n    },\n    {\n      \"uid\": \"710031533639265988ea14da5a2bead8\",\n      \"css\": \"blur-radial\",\n      \"code\": 983224,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 541Q566.4 541 553.7 553.7T541 584 553.7 613.3 584 625 613.3 613.3 625 584 613.3 553.7 584 541ZM584 687.5Q574.2 687.5 568.4 693.4T562.5 708 568.4 722.7 583 728.5 597.7 722.7 603.5 708 597.7 693.4 584 687.5ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM709 396.5Q699.2 396.5 693.4 402.3T687.5 417 693.4 431.6 708 437.5 722.7 431.6 728.5 417 722.7 402.3 709 396.5ZM709 562.5Q699.2 562.5 693.4 568.4T687.5 583 693.4 597.7 708 603.5 722.7 597.7 728.5 583 722.7 568.4 709 562.5ZM584 312.5Q591.8 312.5 597.7 306.6T603.5 292 597.7 277.3 583 271.5 568.4 277.3 562.5 292 568.4 306.6 584 312.5ZM584 375Q566.4 375 553.7 386.7T541 416 553.7 446.3 584 459 613.3 446.3 625 416 613.3 386.7 584 375ZM416 312.5Q425.8 312.5 431.6 306.6T437.5 292 431.6 277.3 417 271.5 402.3 277.3 396.5 292 402.3 306.6 416 312.5ZM291 562.5Q283.2 562.5 277.3 568.4T271.5 583 277.3 597.7 292 603.5 306.6 597.7 312.5 583 306.6 568.4 291 562.5ZM416 687.5Q408.2 687.5 402.3 693.4T396.5 708 402.3 722.7 417 728.5 431.6 722.7 437.5 708 431.6 693.4 416 687.5ZM291 396.5Q283.2 396.5 277.3 402.3T271.5 417 277.3 431.6 292 437.5 306.6 431.6 312.5 417 306.6 402.3 291 396.5ZM416 541Q398.4 541 386.7 553.7T375 584 386.7 613.3 416 625 446.3 613.3 459 584 446.3 553.7 416 541ZM416 375Q398.4 375 386.7 386.7T375 416 386.7 446.3 416 459 446.3 446.3 459 416 446.3 386.7 416 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blur-radial\"\n      ]\n    },\n    {\n      \"uid\": \"c1093f63524f5435d32382615f140ab3\",\n      \"css\": \"bone\",\n      \"code\": 983225,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 584Q334 634.8 296.9 671.9T208 709 120.1 671.9 84 585 115.2 500Q84 464.8 84 415T120.1 328.1 208 291 296.9 328.1 334 416L349.6 418Q449.2 423.8 500 423.8T650.4 418L666 416Q666 365.2 703.1 328.1T792 291 879.9 328.1 916 415 884.8 500Q916 535.2 916 585T879.9 671.9 792 709 703.1 671.9 666 584L650.4 582Q550.8 576.2 500 576.2T349.6 582Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bone\"\n      ]\n    },\n    {\n      \"uid\": \"cc2ef240292b73b458e65cd7acd8c1fb\",\n      \"css\": \"book\",\n      \"code\": 983226,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 916Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84H500V375L396.5 312.5 291 375V84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book\"\n      ]\n    },\n    {\n      \"uid\": \"ed5f13fc9e6b3121980bc16ac7881533\",\n      \"css\": \"book-multiple\",\n      \"code\": 983227,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H375Q339.8 750 315.4 725.6T291 666V166Q291 132.8 315.4 108.4T375 84H416V291L500 228.5 584 291V84H791Q826.2 84 850.6 108.4T875 166V666Q875 701.2 850.6 725.6T791 750ZM709 834V916H209Q173.8 916 149.4 891.6T125 834V250H209V834H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"7912225806edf3f7e1bdaa096b5d66da\",\n      \"css\": \"book-variant-multiple\",\n      \"code\": 983228,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 500L728.5 437.5 625 500V166H834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-variant-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"c5cc21249e64e6880074c3cb0da5bd72\",\n      \"css\": \"book-open\",\n      \"code\": 983229,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 500H834V562.5H541V500ZM541 396.5H834V459H541V396.5ZM541 603.5H834V666H541V603.5ZM875 166H125Q89.8 166 65.4 190.4T41 250V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V250Q959 214.8 934.6 190.4T875 166ZM875 791H500V250H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-open\"\n      ]\n    },\n    {\n      \"uid\": \"9a8cf7b916850758ccad5543448bf84e\",\n      \"css\": \"book-open-variant\",\n      \"code\": 983230,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209Q808.6 187.5 728.5 187.5 582 187.5 500 250 418 187.5 271.5 187.5T41 250V861.3Q41 869.1 47.9 875T62.5 880.9L72.3 878.9Q115.2 859.4 169.9 846.7T271.5 834Q418 834 500 896.5 541 869.1 608.4 851.6T728.5 834Q845.7 834 927.7 877 931.6 878.9 938.5 878.9T952.1 872.1 959 857.4V250Q925.8 224.6 875 209ZM875 771.5Q808.6 750 728.5 750 675.8 750 608.4 768.6T500 812.5V334Q541 306.6 608.4 289.1T728.5 271.5Q808.6 271.5 875 291V771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-open-variant\"\n      ]\n    },\n    {\n      \"uid\": \"dbce7d77829cee92912a8be269fcaa3e\",\n      \"css\": \"book-variant\",\n      \"code\": 983231,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 166H459V500L353.5 437.5 250 500V166ZM750 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-variant\"\n      ]\n    },\n    {\n      \"uid\": \"7452ee839d7b2202e8ce78b952f308e4\",\n      \"css\": \"bookmark\",\n      \"code\": 983232,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125H291Q257.8 125 233.4 149.4T209 209V875L500 750 791 875V209Q791 173.8 766.6 149.4T709 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark\"\n      ]\n    },\n    {\n      \"uid\": \"80ae3f9a35d9f3dedb9feb3c8c5ac6c0\",\n      \"css\": \"bookmark-check\",\n      \"code\": 983233,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V875L500 750 209 875V209Q209 173.8 233.4 149.4T291 125H709ZM459 584L718.8 324.2 660.2 263.7 459 466.8 349.6 357.4 291 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-check\"\n      ]\n    },\n    {\n      \"uid\": \"93d63d9b4603c17143269d5b730d8d44\",\n      \"css\": \"bookmark-music\",\n      \"code\": 983234,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V875L500 750 209 875V209Q209 173.8 233.4 149.4T291 125H709ZM459 459Q423.8 459 399.4 483.4T375 542 399.4 600.6 458 625 516.6 600.6 541 541V334H666V250H500V468.8Q480.5 459 459 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-music\"\n      ]\n    },\n    {\n      \"uid\": \"d9a8ccb0375d29aeab16e4bb388666fb\",\n      \"css\": \"bookmark-outline\",\n      \"code\": 983235,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 750L500 658.2 291 750V209H709V750ZM709 125H291Q257.8 125 233.4 149.4T209 209V875L500 750 791 875V209Q791 173.8 766.6 149.4T709 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-outline\"\n      ]\n    },\n    {\n      \"uid\": \"80d0b356deabcd690fb925210ad7cc31\",\n      \"css\": \"bookmark-plus-outline\",\n      \"code\": 983236,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 750V209H291V750L500 658.2ZM709 125Q742.2 125 766.6 149.4T791 209V875L500 750 209 875V209Q209 173.8 233.4 149.4T291 125H709ZM459 291H541V375H625V459H541V541H459V459H375V375H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6401047bd5d5370fdc9d6b6dc74b7007\",\n      \"css\": \"bookmark-plus\",\n      \"code\": 983237,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V875L500 750 209 875V209Q209 173.8 233.4 149.4T291 125H709ZM459 291V375H375V459H459V541H541V459H625V375H541V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-plus\"\n      ]\n    },\n    {\n      \"uid\": \"5953e627740a25b60710c00935929e5b\",\n      \"css\": \"bookmark-remove\",\n      \"code\": 983238,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V875L500 750 209 875V209Q209 173.8 233.4 149.4T291 125H709ZM339.8 357.4L441.4 459 339.8 558.6 400.4 617.2 500 517.6 599.6 617.2 660.2 558.6 558.6 459 660.2 357.4 599.6 298.8 500 398.4 400.4 298.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-remove\"\n      ]\n    },\n    {\n      \"uid\": \"95998985e2b4bba2e4d568592f279fe3\",\n      \"css\": \"border-all\",\n      \"code\": 983239,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H541V209H791V459ZM791 791H541V541H791V791ZM459 459H209V209H459V459ZM459 791H209V541H459V791ZM125 875H875V125H125V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-all\"\n      ]\n    },\n    {\n      \"uid\": \"94b2842fc1b8e2d526ba365177ea6f53\",\n      \"css\": \"border-bottom\",\n      \"code\": 983240,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 625H125V709H209V625ZM125 875H875V791H125V875ZM209 459H125V541H209V459ZM791 375H875V291H791V375ZM791 209H875V125H791V209ZM209 291H125V375H209V291ZM791 709H875V625H791V709ZM791 541H875V459H791V541ZM709 125H625V209H709V125ZM541 125H459V209H541V125ZM709 459H625V541H709V459ZM541 291H459V375H541V291ZM209 125H125V209H209V125ZM541 459H459V541H541V459ZM375 125H291V209H375V125ZM541 625H459V709H541V625ZM375 459H291V541H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"f25b1b70efead523d5b3f77c6c515545\",\n      \"css\": \"border-color\",\n      \"code\": 983241,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 168Q875 156.3 875 138.7T863.3 109.4L765.6 11.7Q753.9 0 736.3 0T707 11.7L625 93.8 781.3 250ZM740.2 291L584 134.8 166 552.7V709H322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-color\"\n      ]\n    },\n    {\n      \"uid\": \"9c453552bd157922db0e2c9ff524bc4b\",\n      \"css\": \"border-horizontal\",\n      \"code\": 983242,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875H875V791H791V875ZM625 875H709V791H625V875ZM459 709H541V625H459V709ZM791 375H875V291H791V375ZM791 209H875V125H791V209ZM125 541H875V459H125V541ZM459 875H541V791H459V875ZM791 709H875V625H791V709ZM541 125H459V209H541V125ZM541 291H459V375H541V291ZM709 125H625V209H709V125ZM375 125H291V209H375V125ZM209 125H125V209H209V125ZM291 875H375V791H291V875ZM125 709H209V625H125V709ZM209 291H125V375H209V291ZM125 875H209V791H125V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"c84aa0794416c80618159825c7d1af24\",\n      \"css\": \"border-inside\",\n      \"code\": 983243,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H875V625H791V709ZM791 875H875V791H791V875ZM541 125H459V459H125V541H459V875H541V541H875V459H541V125ZM625 875H709V791H625V875ZM791 209H875V125H791V209ZM791 375H875V291H791V375ZM709 125H625V209H709V125ZM209 125H125V209H209V125ZM375 125H291V209H375V125ZM125 709H209V625H125V709ZM209 291H125V375H209V291ZM291 875H375V791H291V875ZM125 875H209V791H125V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-inside\"\n      ]\n    },\n    {\n      \"uid\": \"84259503ffbdac41479ee119bd7acfd8\",\n      \"css\": \"border-left\",\n      \"code\": 983244,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209H709V125H625V209ZM625 541H709V459H625V541ZM791 875H875V791H791V875ZM791 541H875V459H791V541ZM791 209H875V125H791V209ZM791 709H875V625H791V709ZM625 875H709V791H625V875ZM791 375H875V291H791V375ZM125 875H209V125H125V875ZM291 541H375V459H291V541ZM291 209H375V125H291V209ZM291 875H375V791H291V875ZM459 541H541V459H459V541ZM459 375H541V291H459V375ZM459 209H541V125H459V209ZM459 709H541V625H459V709ZM459 875H541V791H459V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-left\"\n      ]\n    },\n    {\n      \"uid\": \"d6b2ef25c73850cacfd94a7948a567bf\",\n      \"css\": \"border-none\",\n      \"code\": 983245,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209H709V125H625V209ZM625 541H709V459H625V541ZM625 875H709V791H625V875ZM459 209H541V125H459V209ZM791 209H875V125H791V209ZM459 375H541V291H459V375ZM791 375H875V291H791V375ZM791 875H875V791H791V875ZM791 541H875V459H791V541ZM791 709H875V625H791V709ZM459 541H541V459H459V541ZM125 209H209V125H125V209ZM125 375H209V291H125V375ZM125 541H209V459H125V541ZM125 709H209V625H125V709ZM125 875H209V791H125V875ZM459 875H541V791H459V875ZM459 709H541V625H459V709ZM291 875H375V791H291V875ZM291 541H375V459H291V541ZM291 209H375V125H291V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-none\"\n      ]\n    },\n    {\n      \"uid\": \"efb01f5fa13954fe272ba23194fdcfb8\",\n      \"css\": \"border-outside\",\n      \"code\": 983246,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 459H291V541H375V459ZM541 625H459V709H541V625ZM791 791H209V209H791V791ZM125 875H875V125H125V875ZM709 459H625V541H709V459ZM541 459H459V541H541V459ZM541 291H459V375H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-outside\"\n      ]\n    },\n    {\n      \"uid\": \"9d2f57ddaaf349ed87b3f95559c40b3e\",\n      \"css\": \"border-right\",\n      \"code\": 983247,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375H541V291H459V375ZM459 209H541V125H459V209ZM459 541H541V459H459V541ZM625 209H709V125H625V209ZM625 875H709V791H625V875ZM791 875H875V125H791V875ZM625 541H709V459H625V541ZM459 709H541V625H459V709ZM125 375H209V291H125V375ZM125 709H209V625H125V709ZM125 541H209V459H125V541ZM459 875H541V791H459V875ZM125 875H209V791H125V875ZM291 541H375V459H291V541ZM291 209H375V125H291V209ZM125 209H209V125H125V209ZM291 875H375V791H291V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-right\"\n      ]\n    },\n    {\n      \"uid\": \"6f26bb4112478efc7e3f4385c8c4c482\",\n      \"css\": \"border-style\",\n      \"code\": 983248,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 875H709V791H625V875ZM791 875H875V791H791V875ZM291 875H375V791H291V875ZM459 875H541V791H459V875ZM791 709H875V625H791V709ZM791 541H875V459H791V541ZM125 125V875H209V209H875V125H125ZM791 375H875V291H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-style\"\n      ]\n    },\n    {\n      \"uid\": \"e2a87943ed2466a21c227c1baa32742c\",\n      \"css\": \"border-top\",\n      \"code\": 983249,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541H709V459H625V541ZM791 875H875V791H791V875ZM459 375H541V291H459V375ZM625 875H709V791H625V875ZM791 709H875V625H791V709ZM125 209H875V125H125V209ZM791 541H875V459H791V541ZM791 375H875V291H791V375ZM459 709H541V625H459V709ZM125 375H209V291H125V375ZM125 541H209V459H125V541ZM125 875H209V791H125V875ZM125 709H209V625H125V709ZM459 875H541V791H459V875ZM459 541H541V459H459V541ZM291 541H375V459H291V541ZM291 875H375V791H291V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-top\"\n      ]\n    },\n    {\n      \"uid\": \"e25be1c4b47686cc23d1d1ff1c2d3bbf\",\n      \"css\": \"border-vertical\",\n      \"code\": 983250,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541H709V459H625V541ZM625 875H709V791H625V875ZM625 209H709V125H625V209ZM791 375H875V291H791V375ZM791 209H875V125H791V209ZM791 541H875V459H791V541ZM791 875H875V791H791V875ZM459 875H541V125H459V875ZM791 709H875V625H791V709ZM291 209H375V125H291V209ZM125 709H209V625H125V709ZM125 875H209V791H125V875ZM125 541H209V459H125V541ZM291 541H375V459H291V541ZM291 875H375V791H291V875ZM125 209H209V125H125V209ZM125 375H209V291H125V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"feca854755cea80e2fdb765b54ddeeca\",\n      \"css\": \"bowling\",\n      \"code\": 983251,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM521.5 459Q494.1 459 476.6 476.6T459 520.5 476.6 565.4 520.5 584 565.4 565.4 584 520.5 565.4 476.6 521.5 459ZM500 209Q464.8 209 440.4 233.4T416 292 440.4 350.6 500 375 559.6 350.6 584 292 559.6 233.4 500 209ZM248 353.5Q230.5 384.8 239.3 418T277.3 467.8 340.8 475.6 391.6 436.5 399.4 373 361.3 323.2 298.8 315.4 248 353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bowling\"\n      ]\n    },\n    {\n      \"uid\": \"5cbdd1a90ade954da4456b86be35ca77\",\n      \"css\": \"box\",\n      \"code\": 983252,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M640.6 585.9V585.9Q640.6 541 609.4 509.8T534.2 478.5 459 509.8 427.7 585.9V585.9Q427.7 628.9 459 660.2T534.2 691.4 609.4 660.2 640.6 585.9ZM712.9 585.9Q712.9 658.2 660.2 710.9T533.2 763.7Q484.4 763.7 442.4 737.3T377 668Q353.5 710.9 311.5 737.3T220.7 763.7Q146.5 763.7 94.7 711.9T41 587.9V587.9 291Q41 277.3 51.8 267.6T77.1 257.8 102.5 267.6 113.3 291V291 443.4Q160.2 406.3 220.7 406.3 269.5 406.3 311.5 432.6T377 502Q400.4 459 442.4 432.6T533.2 406.3Q607.4 406.3 660.2 459T712.9 585.9V585.9ZM326.2 585.9V585.9Q326.2 541 294.9 509.8T219.7 478.5 144.5 509.8 113.3 585.9V585.9Q113.3 628.9 144.5 660.2T219.7 691.4 294.9 660.2 326.2 585.9ZM951.2 707V707Q959 716.8 959 728.5 959 746.1 943.4 755.9 933.6 763.7 923.8 763.7 906.3 763.7 896.5 750L816.4 644.5 738.3 750Q726.6 763.7 709 763.7 699.2 763.7 686.5 754.9T673.8 726.6Q673.8 716.8 679.7 707V707L771.5 585.9 679.7 462.9V462.9Q673.8 453.1 673.8 441.4 673.8 425.8 686.5 415T713.9 406.3 738.3 419.9V419.9L816.4 525.4 896.5 419.9Q904.3 408.2 918 406.3T945.3 414.1 959 443.4Q959 455.1 951.2 462.9L861.3 585.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"box\"\n      ]\n    },\n    {\n      \"uid\": \"3f9db264e6ef882e510b7c3eaa47287b\",\n      \"css\": \"box-cutter\",\n      \"code\": 983253,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M300.8 496.1Q281.3 515.6 277.3 544.9L507.8 642.6 861.3 289.1Q884.8 265.6 884.8 231.4T861.3 171.9L800.8 113.3Q777.3 87.9 743.2 87.9T683.6 113.3ZM209 666V906.3L451.2 689.5 242.2 605.5ZM712.9 201.2Q724.6 189.5 742.2 189.5T772.5 201.2 785.2 230.5 772.5 260.7 742.2 273.4 712.9 260.7 701.2 230.5 712.9 201.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"box-cutter\"\n      ]\n    },\n    {\n      \"uid\": \"8e496ab1e6acca1d2bdb0c149655eac4\",\n      \"css\": \"briefcase\",\n      \"code\": 983254,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase\"\n      ]\n    },\n    {\n      \"uid\": \"f298a73c2b575bfbae4160e2a168ae0b\",\n      \"css\": \"briefcase-check\",\n      \"code\": 983255,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM437.5 728.5L712.9 455.1 654.3 396.5 437.5 611.3 349.6 525.4 291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-check\"\n      ]\n    },\n    {\n      \"uid\": \"9d7b89db6f7a93958b8d3a116628414d\",\n      \"css\": \"briefcase-download\",\n      \"code\": 983256,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM500 791L709 584H584V416H416V584H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-download\"\n      ]\n    },\n    {\n      \"uid\": \"52b94ef32eb8e96f69a5e8a5b92ce542\",\n      \"css\": \"briefcase-upload\",\n      \"code\": 983257,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM500 375L291 584H416V750H584V584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-upload\"\n      ]\n    },\n    {\n      \"uid\": \"d787923137be2fd1c5d1317f78ee8fac\",\n      \"css\": \"brightness-1\",\n      \"code\": 983258,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-1\"\n      ]\n    },\n    {\n      \"uid\": \"cb1ecd872a9c1cf17c1539811558f3cd\",\n      \"css\": \"brightness-2\",\n      \"code\": 983259,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84Q304.7 84 209 138.7 302.7 195.3 359.4 291T416 500 359.4 709 209 861.3Q304.7 916 416 916 500 916 576.2 884.8T710.9 794.9 801.8 659.2 834 500 801.8 340.8 710.9 205.1 576.2 115.2 416 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-2\"\n      ]\n    },\n    {\n      \"uid\": \"77075be4ae6a5823158cc39dfdd75efb\",\n      \"css\": \"brightness-3\",\n      \"code\": 983260,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q310.5 84 250 101.6 378.9 142.6 460 252T541 500 460 748 250 898.4Q310.5 916 375 916 457 916 534.2 884.8T669.9 794.9 759.8 659.2 791 500 759.8 340.8 669.9 205.1 534.2 115.2 375 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-3\"\n      ]\n    },\n    {\n      \"uid\": \"654296fd7118d62096fbf4d3863357ad\",\n      \"css\": \"brightness-4\",\n      \"code\": 983261,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q445.3 750 396.5 726.6 460.9 697.3 501 635.7T541 500 501 364.3 396.5 273.4Q445.3 250 500 250 568.4 250 626 283.2T716.8 374 750 500 716.8 626 626 716.8 500 750ZM834 361.3V166H638.7L500 29.3 361.3 166H166V361.3L29.3 500 166 638.7V834H361.3L500 970.7 638.7 834H834V638.7L970.7 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-4\"\n      ]\n    },\n    {\n      \"uid\": \"169c5ed10d15ed0e3f9861ad384b1b77\",\n      \"css\": \"brightness-5\",\n      \"code\": 983262,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q431.6 750 374 716.8T283.2 626 250 500 283.2 374 374 283.2 500 250 626 283.2 716.8 374 750 500 716.8 626 626 716.8 500 750ZM834 638.7L970.7 500 834 361.3V166H638.7L500 29.3 361.3 166H166V361.3L29.3 500 166 638.7V834H361.3L500 970.7 638.7 834H834V638.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-5\"\n      ]\n    },\n    {\n      \"uid\": \"605cd7065ef3a3b4656148ee95373ed4\",\n      \"css\": \"brightness-6\",\n      \"code\": 983263,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750V250Q568.4 250 626 283.2T716.8 374 750 500 716.8 626 626 716.8 500 750ZM834 638.7L970.7 500 834 361.3V166H638.7L500 29.3 361.3 166H166V361.3L29.3 500 166 638.7V834H361.3L500 970.7 638.7 834H834V638.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-6\"\n      ]\n    },\n    {\n      \"uid\": \"c8d1d68a86510fed8948d590b72e22a3\",\n      \"css\": \"brightness-7\",\n      \"code\": 983264,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q431.6 334 382.8 382.8T334 500 382.8 617.2 500 666 617.2 617.2 666 500 617.2 382.8 500 334ZM500 750Q431.6 750 374 716.8T283.2 626 250 500 283.2 374 374 283.2 500 250 626 283.2 716.8 374 750 500 716.8 626 626 716.8 500 750ZM834 361.3V166H638.7L500 29.3 361.3 166H166V361.3L29.3 500 166 638.7V834H361.3L500 970.7 638.7 834H834V638.7L970.7 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-7\"\n      ]\n    },\n    {\n      \"uid\": \"f371e2e45616f0f54adaa8f60917d640\",\n      \"css\": \"brightness-auto\",\n      \"code\": 983265,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M595.7 666L566.4 584H433.6L404.3 666H324.2L459 291H541L675.8 666H595.7ZM834 361.3V166H638.7L500 29.3 361.3 166H166V361.3L29.3 500 166 638.7V834H361.3L500 970.7 638.7 834H834V638.7L970.7 500ZM451.2 527.3H548.8L500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-auto\"\n      ]\n    },\n    {\n      \"uid\": \"d59647d5f27c6095381d63915fd77056\",\n      \"css\": \"broom\",\n      \"code\": 983266,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 113.3L865.2 171.9 627 410.2Q660.2 459 664.1 511.7T640.6 601.6L377 337.9Q414.1 310.5 466.8 314.5T568.4 351.6ZM248 732.4Q185.5 669.9 147.5 597.7T97.7 455.1L300.8 367.2 611.3 677.7 523.4 880.9Q453.1 871.1 380.9 832T248 732.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"broom\"\n      ]\n    },\n    {\n      \"uid\": \"db19051c93cb01dea9612e2f59845c18\",\n      \"css\": \"brush\",\n      \"code\": 983267,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 193.4L806.6 136.7Q794.9 125 777.3 125T748 136.7L375 509.8 490.2 625 863.3 252Q875 240.2 875 222.7T863.3 193.4ZM291 584Q240.2 584 203.1 620.1T166 709Q166 746.1 138.7 769.5 113.3 791 84 791 111.3 830.1 157.2 852.5T250 875Q318.4 875 367.2 826.2T416 709Q416 656.3 379.9 620.1T291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brush\"\n      ]\n    },\n    {\n      \"uid\": \"07cb07a59185c9913a7a0647e65b75ee\",\n      \"css\": \"bug\",\n      \"code\": 983268,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500H416V416H584V500ZM584 666H416V584H584V666ZM834 334H716.8Q687.5 283.2 640.6 252L709 183.6 650.4 125 558.6 214.8Q529.3 209 500 209T441.4 214.8L349.6 125 291 183.6 359.4 252Q312.5 283.2 283.2 334H166V416H253.9Q250 441.4 250 459V500H166V584H250V625Q250 642.6 253.9 666H166V750H283.2Q316.4 806.6 374 840.8T500 875 626 840.8 716.8 750H834V666H746.1Q750 642.6 750 625V584H834V500H750V459Q750 441.4 746.1 416H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"uid\": \"9faa1460ef397ea0ef876f4dff08f5a7\",\n      \"css\": \"bulletin-board\",\n      \"code\": 983269,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M502 103.5L396.5 209H605.5ZM166 291V834H834V291H166ZM500 0L709 209H834Q867.2 209 891.6 233.4T916 291V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V291Q84 257.8 108.4 233.4T166 209H291ZM291 750V584H500V750H291ZM584 709V416H750V709H584ZM250 500V375H459V500H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bulletin-board\"\n      ]\n    },\n    {\n      \"uid\": \"6dc3705049b0c310dc0c7ba22b1faeb7\",\n      \"css\": \"bullhorn\",\n      \"code\": 983270,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334H166Q132.8 334 108.4 358.4T84 416V584Q84 617.2 108.4 641.6T166 666H209V834Q209 851.6 220.7 863.3T250 875H334Q351.6 875 363.3 863.3T375 834V666H500L709 834V166ZM896.5 500Q896.5 552.7 868.2 598.6T791 666V334Q839.8 357.4 868.2 402.3T896.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bullhorn\"\n      ]\n    },\n    {\n      \"uid\": \"43b5216d4c4b47cc141ca7361c1f95c4\",\n      \"css\": \"bus\",\n      \"code\": 983271,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H250V250H750V459ZM687.5 709Q662.1 709 643.6 690.4T625 645.5 643.6 601.6 687.5 584 731.4 601.6 750 645.5 731.4 690.4 687.5 709ZM312.5 709Q287.1 709 268.6 690.4T250 645.5 268.6 601.6 312.5 584 356.4 601.6 375 645.5 356.4 690.4 312.5 709ZM166 666Q166 720.7 209 759.8V834Q209 851.6 220.7 863.3T250 875H291Q308.6 875 321.3 863.3T334 834V791H666V834Q666 851.6 678.7 863.3T709 875H750Q767.6 875 779.3 863.3T791 834V759.8Q834 720.7 834 666V250Q834 150.4 736.3 111.3 662.1 84 500 84T263.7 111.3Q166 150.4 166 250V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus\"\n      ]\n    },\n    {\n      \"uid\": \"0a1c9e2512a8d0ae2f8b2925be3b3418\",\n      \"css\": \"cached\",\n      \"code\": 983272,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 334L625 500H750Q750 568.4 716.8 626T626 716.8 500 750Q437.5 750 382.8 720.7L322.3 781.3Q404.3 834 500 834 589.8 834 667 789.1T789.1 667 834 500H959ZM250 500Q250 431.6 283.2 374T374 283.2 500 250Q562.5 250 617.2 279.3L677.7 218.8Q595.7 166 500 166 410.2 166 333 210.9T210.9 333 166 500H41L209 666 375 500H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cached\"\n      ]\n    },\n    {\n      \"uid\": \"a08ddf441d37051b9a8c37a88550fb81\",\n      \"css\": \"cake\",\n      \"code\": 983273,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 21.5Q496.1 29.3 518.6 71.3T541 145.5 524.4 193.4 478.5 209 435.5 199.2Q416 187.5 416 156.3 416 138.7 425.8 121.1 429.7 111.3 443.4 87.9 470.7 48.8 478.5 21.5ZM771.5 375Q849.6 375 904.3 429.7T959 562.5Q959 611.3 936.5 652.3T875 718.8V959H125V718.8Q85.9 693.4 63.5 652.3T41 562.5Q41 484.4 95.7 429.7T228.5 375H416V250H541V375H771.5ZM500 666Q543 666 573.2 635.7T603.5 562.5H666Q666 605.5 697.3 635.7T771.5 666 844.7 635.7 875 562.5 844.7 489.3 771.5 459H228.5Q185.5 459 155.3 489.3T125 562.5 155.3 635.7 228.5 666 302.7 635.7 334 562.5H396.5Q396.5 605.5 426.8 635.7T500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cake\"\n      ]\n    },\n    {\n      \"uid\": \"8189c651e102d683504bed1369002355\",\n      \"css\": \"cake-layered\",\n      \"code\": 983274,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 875V709Q875 673.8 850.6 649.4T791 625H750V500Q750 464.8 725.6 440.4T666 416H541V334H459V416H334Q298.8 416 274.4 440.4T250 500V625H209Q173.8 625 149.4 649.4T125 709V875H41V959H959V875H875ZM500 291Q535.2 291 559.6 266.6T584 209Q584 183.6 570.3 166L500 41 427.7 166Q416 185.5 416 209 416 242.2 440.4 266.6T500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cake-layered\"\n      ]\n    },\n    {\n      \"uid\": \"b10d33e159d0497c2e08829820ec2e69\",\n      \"css\": \"cake-variant\",\n      \"code\": 983275,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q535.2 250 559.6 225.6T584 166Q584 142.6 570.3 123L500 0 429.7 123Q416 142.6 416 166 416 201.2 440.4 225.6T500 250ZM691.4 666L646.5 621.1 601.6 666Q560.5 707 500 707T398.4 666L353.5 621.1 308.6 666Q265.6 709 207 709 162.1 709 125 683.6V875Q125 892.6 136.7 904.3T166 916H834Q851.6 916 863.3 904.3T875 875V683.6Q837.9 709 793 709 734.4 709 691.4 666ZM750 375H541V291H459V375H250Q197.3 375 161.1 411.1T125 500V564.5Q125 597.7 149.4 622.1T208 646.5 263.7 623L353.5 533.2 441.4 623Q464.8 644.5 500 644.5T556.6 623L646.5 533.2 736.3 623Q757.8 646.5 792 646.5T850.6 622.1 875 564.5V500Q875 447.3 838.9 411.1T750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cake-variant\"\n      ]\n    },\n    {\n      \"uid\": \"e3d92ceeb34ff030d9a490191ae00083\",\n      \"css\": \"calculator\",\n      \"code\": 983276,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709Q742.2 84 766.6 108.4T791 166V834Q791 867.2 766.6 891.6T709 916H291Q257.8 916 233.4 891.6T209 834V166Q209 132.8 233.4 108.4T291 84ZM291 166V334H709V166H291ZM291 416V500H375V416H291ZM459 416V500H541V416H459ZM625 416V500H709V416H625ZM291 584V666H375V584H291ZM459 584V666H541V584H459ZM625 584V666H709V584H625ZM291 750V834H375V750H291ZM459 750V834H541V750H459ZM625 750V834H709V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calculator\"\n      ]\n    },\n    {\n      \"uid\": \"671ecc6c461b7de1bda07c6926490791\",\n      \"css\": \"calendar\",\n      \"code\": 983277,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V334H791V791ZM666 41V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H750V41H666ZM709 500H500V709H709V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar\"\n      ]\n    },\n    {\n      \"uid\": \"292fe2c1adb79eededae2ee28a4f006b\",\n      \"css\": \"calendar-blank\",\n      \"code\": 983278,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V334H791V791ZM666 41V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H750V41H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-blank\"\n      ]\n    },\n    {\n      \"uid\": \"80c84722c8eb5369848273013925eae9\",\n      \"css\": \"calendar-check\",\n      \"code\": 983279,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V334H791V791ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM689.5 460.9L644.5 416 441.4 619.1 353.5 531.3 308.6 576.2 441.4 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-check\"\n      ]\n    },\n    {\n      \"uid\": \"1877b15980d7b0e0e9bbc3416f49e157\",\n      \"css\": \"calendar-multiple\",\n      \"code\": 983281,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709V334H291V709H875ZM875 125Q910.2 125 934.6 149.4T959 209V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V209Q209 173.8 233.4 149.4T291 125H334V41H416V125H750V41H834V125H875ZM125 875H709V959H125Q89.8 959 65.4 934.6T41 875V375H125V875ZM791 625H625V459H791V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"0f77799724a1108fcf7ae82e7623c4fb\",\n      \"css\": \"calendar-multiple-check\",\n      \"code\": 983282,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709V334H291V709H875ZM875 125Q910.2 125 934.6 149.4T959 209V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V209Q209 173.8 233.4 149.4T291 125H334V41H416V125H750V41H834V125H875ZM730.5 460.9L544.9 646.5 433.6 533.2 478.5 490.2 544.9 556.6 685.5 416ZM125 875H709V959H125Q89.8 959 65.4 934.6T41 875V375H125V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-multiple-check\"\n      ]\n    },\n    {\n      \"uid\": \"b39fec129f189a1ac601812aa47589c4\",\n      \"css\": \"calendar-plus\",\n      \"code\": 983283,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V334H209V791H791ZM666 41H750V125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41H334V125H666V41ZM459 396.5H541V521.5H666V603.5H541V728.5H459V603.5H334V521.5H459V396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-plus\"\n      ]\n    },\n    {\n      \"uid\": \"fd465d36d4b0fb16598ce0890423e7d8\",\n      \"css\": \"calendar-remove\",\n      \"code\": 983284,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V334H791V791ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM388.7 709L490.2 607.4 591.8 709 634.8 664.1 533.2 562.5 634.8 460.9 591.8 416 490.2 517.6 388.7 416 343.8 460.9 445.3 562.5 343.8 664.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-remove\"\n      ]\n    },\n    {\n      \"uid\": \"15b9713d671a07ceff9061d0d2f11493\",\n      \"css\": \"calendar-text\",\n      \"code\": 983285,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 584H291V666H584V584ZM791 791H209V334H791V791ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM709 416H291V500H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-text\"\n      ]\n    },\n    {\n      \"uid\": \"3d6c608c242f76af65f04050a25a8859\",\n      \"css\": \"calendar-today\",\n      \"code\": 983286,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 416H500V625H291V416ZM791 791H209V334H791V791ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-today\"\n      ]\n    },\n    {\n      \"uid\": \"7ea1d32a362d84e3ca4efd49a29dcdab\",\n      \"css\": \"call-made\",\n      \"code\": 983287,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209V291H650.4L166 775.4 224.6 834 709 349.6V625H791V209H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"call-made\"\n      ]\n    },\n    {\n      \"uid\": \"3b9ea8e81fcc87b5020671fb0ff7bee6\",\n      \"css\": \"call-merge\",\n      \"code\": 983288,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 849.6L767.6 791 625 650.4 566.4 709ZM312.5 334H459V566.4L232.4 791 291 849.6 541 599.6V334H687.5L500 146.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"call-merge\"\n      ]\n    },\n    {\n      \"uid\": \"6ea7792e581a6fc9a66dbee23ac7de5f\",\n      \"css\": \"call-missed\",\n      \"code\": 983289,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M816.4 291L500 607.4 267.6 375H459V291H125V625H209V433.6L500 724.6 875 349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"call-missed\"\n      ]\n    },\n    {\n      \"uid\": \"7e4ff493cb9d568c827230c42adba2d3\",\n      \"css\": \"call-received\",\n      \"code\": 983290,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 224.6L775.4 166 291 650.4V375H209V791H625V709H349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"call-received\"\n      ]\n    },\n    {\n      \"uid\": \"ade0eaaed52628d661e767b6ad5a162f\",\n      \"css\": \"call-split\",\n      \"code\": 983291,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 166L679.7 261.7 558.6 382.8 617.2 441.4 738.3 320.3 834 416V166H584ZM416 166H166V416L261.7 320.3 459 517.6V834H541V482.4L320.3 261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"call-split\"\n      ]\n    },\n    {\n      \"uid\": \"05e9da0bf75a127d9fb68557e83a6819\",\n      \"css\": \"camcorder\",\n      \"code\": 983292,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q234.4 84 186.5 111.3T111.3 186.5 84 291V834Q84 867.2 108.4 891.6T166 916H416Q451.2 916 475.6 891.6T500 834V291Q500 234.4 471.7 186.5T395.5 111.3 291 84ZM209 834Q191.4 834 178.7 821.3T166 792 178.7 762.7 208 750 237.3 762.7 250 792 237.3 821.3 209 834ZM291 416Q240.2 416 203.1 379.9T166 292 203.1 203.1 292 166 379.9 203.1 416 292 379.9 379.9 291 416ZM916 375V584Q916 617.2 891.6 641.6T834 666H541V584H834V375H541V291H834Q867.2 291 891.6 315.4T916 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camcorder\"\n      ]\n    },\n    {\n      \"uid\": \"f35b731d8b722c13aff5375cf87e90a1\",\n      \"css\": \"video-box\",\n      \"code\": 983293,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 666L584 533.2V666H250V334H584V466.8L750 334V666ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-box\"\n      ]\n    },\n    {\n      \"uid\": \"32ceb56ab2451c09a003e58bf3d9e577\",\n      \"css\": \"video-box-off\",\n      \"code\": 983294,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 334H281.3L584 636.7V666H250V334ZM93.8 41L41 93.8 125 177.7Q105.5 189.5 94.7 208T84 250V750Q84 785.2 108.4 809.6T166 834H781.3L863.3 916 916 863.3ZM834 166H326.2L492.2 334H584V423.8L607.4 447.3 750 334V591.8L916 757.8V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-box-off\"\n      ]\n    },\n    {\n      \"uid\": \"a253a6ed799c8b97b90686a070823f71\",\n      \"css\": \"camcorder-off\",\n      \"code\": 983295,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L392.6 367.2 99.6 74.2 44.9 125 113.3 191.4Q84 232.4 84 291V834Q84 867.2 108.4 891.6T166 916H416Q451.2 916 475.6 891.6T500 834V580.1L541 621.1V666H587.9L867.2 945.3ZM209 834Q193.4 834 179.7 820.3T166 791 179.7 762.7 209 750 237.3 762.7 250 791 237.3 820.3 209 834ZM291 416Q238.3 416 202.1 380.9T166 291Q166 279.3 175.8 253.9L334 412.1Q324.2 412.1 310.5 414.1T291 416ZM300.8 166L228.5 95.7Q259.8 84 291 84 378.9 84 439.5 144.5T500 291V367.2L416 283.2Q414.1 236.3 380.9 203.1T300.8 166ZM834 375H541V291H834Q867.2 291 891.6 315.4T916 375V584Q916 617.2 891.6 641.6T834 666H800.8L716.8 584H834V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camcorder-off\"\n      ]\n    },\n    {\n      \"uid\": \"5caf2b8a766b20d5a22b71e42a5cbda8\",\n      \"css\": \"camera\",\n      \"code\": 983296,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H291L375 84H625L709 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM500 291Q443.4 291 395.5 319.3T319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709 604.5 680.7 680.7 604.5 709 500 680.7 395.5 604.5 319.3 500 291ZM500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera\"\n      ]\n    },\n    {\n      \"uid\": \"abc8115f613d1fbe350bb4dde456a0b8\",\n      \"css\": \"camera-enhance\",\n      \"code\": 983297,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125L298.8 209H166Q132.8 209 108.4 233.4T84 291V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V291Q916 257.8 891.6 233.4T834 209H701.2L625 125H375ZM500 750Q459 750 420.9 734.4T353.5 689.5 307.6 622.1 291 542 307.6 461.9 353.5 394.5 420.9 349.6 500 334Q556.6 334 604.5 361.3T680.7 436.5 709 541 680.7 645.5 604.5 721.7 500 750ZM500 709L552.7 593.8 666 541 552.7 490.2 500 375 447.3 490.2 334 541 447.3 593.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-enhance\"\n      ]\n    },\n    {\n      \"uid\": \"b64b9dddad652931407bedce8b360a7a\",\n      \"css\": \"camera-front\",\n      \"code\": 983298,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709V521.5Q709 488.3 669.9 462.9 636.7 441.4 584 427.7 539.1 416 500 416T416 427.7Q363.3 441.4 330.1 462.9 291 488.3 291 521.5V84ZM709 0H291Q257.8 0 233.4 24.4T209 84V666Q209 701.2 233.4 725.6T291 750H709Q742.2 750 766.6 725.6T791 666V84Q791 48.8 766.6 24.4T709 0ZM500 334Q535.2 334 559.6 309.6T584 250 559.6 190.4 500 166 440.4 190.4 416 250 440.4 309.6 500 334ZM584 834V916H791V834H584ZM416 834H209V916H416V1000L541 875 416 750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-front\"\n      ]\n    },\n    {\n      \"uid\": \"0bd09c797e635555d10109bca8315d84\",\n      \"css\": \"camera-front-variant\",\n      \"code\": 983299,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 0H750Q785.2 0 809.6 24.4T834 84V916Q834 951.2 809.6 975.6T750 1000H250Q214.8 1000 190.4 975.6T166 916V84Q166 48.8 190.4 24.4T250 0ZM500 250Q552.7 250 588.9 286.1T625 375 588.9 463.9 500 500 411.1 463.9 375 375 411.1 286.1 500 250ZM459 41V125H541V41H459ZM250 166V687.5Q250 644.5 323.2 614.3T500 584 676.8 614.3 750 687.5V166H250ZM541 750H375V834H541V916L666 791 541 666V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-front-variant\"\n      ]\n    },\n    {\n      \"uid\": \"867fecbc7133720a55517d39c322586d\",\n      \"css\": \"camera-iris\",\n      \"code\": 983300,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M572.3 625L410.2 906.3Q457 916 500 916 574.2 916 641.6 891.6T763.7 822.3L611.3 558.6ZM101.6 625Q130.9 716.8 197.3 786.1T351.6 888.7L505.9 625H101.6ZM355.5 500L193.4 218.8Q140.6 273.4 112.3 346.7T84 500Q84 541 91.8 584H404.3ZM908.2 416H595.7L806.6 781.3Q859.4 724.6 887.7 652.3T916 500Q916 457 908.2 416ZM898.4 375Q869.1 283.2 802.7 213.9T648.4 111.3L494.1 375H898.4ZM392.6 437.5L589.8 93.8Q543 84 500 84 425.8 84 358.4 108.4T236.3 177.7L388.7 441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-iris\"\n      ]\n    },\n    {\n      \"uid\": \"b70eaf9fe4eca67b9918e3ce27d5de98\",\n      \"css\": \"camera-party-mode\",\n      \"code\": 983301,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709Q449.2 709 406.3 686.5T334 625H500Q552.7 625 588.9 588.9T625 500Q625 478.5 617.2 459H705.1Q709 480.5 709 500 709 556.6 680.7 604.5T604.5 680.7 500 709ZM500 291Q550.8 291 593.8 313.5T666 375H500Q447.3 375 411.1 411.1T375 500Q375 519.5 382.8 541H294.9Q291 523.4 291 500 291 443.4 319.3 395.5T395.5 319.3 500 291ZM834 166H701.2L625 84H375L298.8 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-party-mode\"\n      ]\n    },\n    {\n      \"uid\": \"8cdd7e2e7dbd57887aa85ddd35391236\",\n      \"css\": \"camera-rear\",\n      \"code\": 983302,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q464.8 250 440.4 225.6T416 167 440.4 108.4 499 84 558.6 108.4 584 167 559.6 225.6 500 250ZM709 0H291Q257.8 0 233.4 24.4T209 84V666Q209 701.2 233.4 725.6T291 750H709Q742.2 750 766.6 725.6T791 666V84Q791 48.8 766.6 24.4T709 0ZM584 834V916H791V834H584ZM416 834H209V916H416V1000L541 875 416 750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-rear\"\n      ]\n    },\n    {\n      \"uid\": \"a269c1f3482d03f43039551c4a06e05a\",\n      \"css\": \"camera-rear-variant\",\n      \"code\": 983303,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 0H750Q785.2 0 809.6 24.4T834 84V916Q834 951.2 809.6 975.6T750 1000H250Q214.8 1000 190.4 975.6T166 916V84Q166 48.8 190.4 24.4T250 0ZM500 84Q464.8 84 440.4 108.4T416 167 440.4 225.6 500 250 559.6 225.6 584 167 559.6 108.4 500 84ZM541 750H375V834H541V916L666 791 541 666V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-rear-variant\"\n      ]\n    },\n    {\n      \"uid\": \"9a490d36b96ef1bf467f1593a7039d45\",\n      \"css\": \"camera-switch\",\n      \"code\": 983304,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 646.5V541H375V646.5L228.5 500 375 353.5V459H625V353.5L771.5 500ZM834 166H701.2L625 84H375L298.8 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-switch\"\n      ]\n    },\n    {\n      \"uid\": \"c0fe5567c92edb7ff16a73e70167c637\",\n      \"css\": \"camera-timer\",\n      \"code\": 983305,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 263.7Q193.4 252 193.4 234.4T206.1 205.1 235.4 193.4 263.7 205.1L558.6 441.4Q584 464.8 584 500T559.6 559.6 500 584 441.4 558.6ZM500 834Q589.8 834 667 789.1T789.1 667 834 500Q834 431.6 807.6 371.1T736.3 263.7L794.9 205.1Q851.6 263.7 883.8 339.8T916 499 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500H166Q166 589.8 210.9 667T333 789.1 500 834ZM500 41Q535.2 41 559.6 65.4T584 125 559.6 184.6 500 209 440.4 184.6 416 125 440.4 65.4 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-timer\"\n      ]\n    },\n    {\n      \"uid\": \"dcadc6a4e8fdea7e295456d08ac5ba1b\",\n      \"css\": \"candycane\",\n      \"code\": 983306,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 416Q416 451.2 391.6 475.6T333 500 274.4 475.6 250 416V334Q250 296.9 261.7 257.8L416 414.1V416ZM500 84Q546.9 84 587.9 99.6L498 250Q472.7 250 452.1 264.6T423.8 302.7L300.8 181.6Q335.9 134.8 388.7 109.4T500 84ZM740.2 263.7L584 419.9V334Q584 310.5 572.3 291L660.2 140.6Q718.8 189.5 740.2 263.7ZM750 544.9L584 712.9V537.1L750 371.1V544.9ZM750 834Q750 867.2 725.6 891.6T667 916 608.4 891.6 584 834V830.1L750 662.1V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"candycane\"\n      ]\n    },\n    {\n      \"uid\": \"ba638fb476cf57701d16f6240143ba10\",\n      \"css\": \"car\",\n      \"code\": 983307,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 459L271.5 271.5H728.5L791 459H209ZM728.5 666Q703.1 666 684.6 648.4T666 604.5 684.6 559.6 729.5 541 773.4 559.6 791 604.5 773.4 648.4 728.5 666ZM271.5 666Q244.1 666 226.6 648.4T209 604.5 226.6 559.6 270.5 541 315.4 559.6 334 604.5 315.4 648.4 271.5 666ZM789.1 250Q781.3 232.4 765.6 220.7T728.5 209H271.5Q250 209 234.4 220.7T210.9 250L125 500V834Q125 851.6 136.7 863.3T166 875H209Q226.6 875 238.3 863.3T250 834V791H750V834Q750 851.6 761.7 863.3T791 875H834Q851.6 875 863.3 863.3T875 834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car\"\n      ]\n    },\n    {\n      \"uid\": \"30c37f5fd0280785fef3462e120e05c4\",\n      \"css\": \"car-battery\",\n      \"code\": 983308,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125V250H41V834H959V250H834V125H584V250H416V125H166ZM125 334H875V750H125V334ZM625 416V500H541V584H625V666H709V584H791V500H709V416H625ZM209 500V584H459V500H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-battery\"\n      ]\n    },\n    {\n      \"uid\": \"8fccf2f56e36488d9d4626b3f79dc057\",\n      \"css\": \"car-connected\",\n      \"code\": 983309,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 584H791L728.5 396.5H271.5ZM728.5 791Q755.9 791 773.4 773.4T791 729.5 773.4 684.6 729.5 666 684.6 684.6 666 729.5 684.6 773.4 728.5 791ZM271.5 791Q296.9 791 315.4 773.4T334 729.5 315.4 684.6 270.5 666 226.6 684.6 209 729.5 226.6 773.4 271.5 791ZM789.1 375L875 625V959Q875 976.6 863.3 988.3T834 1000H791Q773.4 1000 761.7 988.3T750 959V916H250V959Q250 976.6 238.3 988.3T209 1000H166Q148.4 1000 136.7 988.3T125 959V625L210.9 375Q218.8 357.4 234.4 345.7T271.5 334H728.5Q750 334 765.6 345.7T789.1 375ZM500 0Q566.4 0 627 25.4T736.3 97.7L675.8 156.3Q640.6 121.1 594.7 102.5T500 84 405.3 102.5 324.2 156.3L265.6 97.7Q312.5 50.8 373 25.4T500 0ZM500 166Q568.4 166 617.2 216.8L558.6 275.4Q533.2 250 500 250T441.4 275.4L382.8 216.8Q431.6 166 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-connected\"\n      ]\n    },\n    {\n      \"uid\": \"050ae77ad5c8d57241e57b8321e094d4\",\n      \"css\": \"car-wash\",\n      \"code\": 983310,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 541L271.5 353.5H728.5L791 541H209ZM728.5 750Q703.1 750 684.6 731.4T666 687.5 684.6 643.6 729.5 625 773.4 643.6 791 687.5 773.4 731.4 728.5 750ZM271.5 750Q244.1 750 226.6 731.4T209 687.5 226.6 643.6 270.5 625 315.4 643.6 334 687.5 315.4 731.4 271.5 750ZM789.1 334Q781.3 314.5 765.6 302.7T728.5 291H271.5Q250 291 234.4 302.7T210.9 334L125 584V916Q125 933.6 136.7 946.3T166 959H209Q226.6 959 238.3 946.3T250 916V875H750V916Q750 933.6 761.7 946.3T791 959H834Q851.6 959 863.3 946.3T875 916V584ZM291 209Q318.4 209 335.9 190.4T353.5 145.5 322.3 74.2Q306.6 50.8 291 33.2L275.4 52.7Q257.8 78.1 246.1 97.7 228.5 127 228.5 146.5 228.5 171.9 247.1 190.4T291 209ZM500 209Q525.4 209 543.9 190.4T562.5 146.5Q562.5 127 546.9 97.7 535.2 78.1 515.6 52.7L500 33.2 484.4 52.7Q464.8 78.1 453.1 97.7 437.5 127 437.5 146.5 437.5 171.9 456.1 190.4T500 209ZM709 209Q734.4 209 752.9 190.4T771.5 145.5 740.2 74.2Q724.6 50.8 709 33.2V33.2L691.4 52.7Q673.8 78.1 662.1 97.7 646.5 127 646.5 146.5 646.5 171.9 664.1 190.4T709 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-wash\"\n      ]\n    },\n    {\n      \"uid\": \"ed68164d9c92a0054cd1790a733a0b76\",\n      \"css\": \"carrot\",\n      \"code\": 983311,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 416L658.2 459H562.5Q554.7 459 547.9 464.8T541 479.5 547.9 494.1 562.5 500H650.4L607.4 709H521.5Q511.7 709 505.9 714.8T500 729.5 505.9 744.1 521.5 750H599.6L584 834Q584 867.2 559.6 891.6T500 916 440.4 891.6 416 834L375 625H437.5Q445.3 625 452.1 619.1T459 604.5 452.1 589.8 437.5 584H367.2L334 416Q334 378.9 359.4 348.6T429.7 304.7L371.1 220.7Q361.3 205.1 364.3 188.5T381.8 162.1 413.1 155.3 439.5 171.9L459 199.2V125Q459 107.4 470.7 95.7T500 84 529.3 95.7 541 125V220.7L603.5 148.4Q615.2 134.8 631.8 132.8T662.1 142.6 676.8 170.9 666 201.2L578.1 306.6Q619.1 322.3 642.6 351.6T666 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"carrot\"\n      ]\n    },\n    {\n      \"uid\": \"7756f2e4b61fb19c8c471c5635ee7bfa\",\n      \"css\": \"cart\",\n      \"code\": 983312,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 750Q673.8 750 649.4 774.4T625 833 649.4 891.6 708 916 766.6 891.6 791 833 766.6 774.4 709 750ZM41 84V166H125L275.4 482.4 218.8 585.9Q209 603.5 209 625 209 660.2 233.4 684.6T291 709H791V625H308.6Q304.7 625 301.8 622.1T298.8 615.2 300.8 609.4L337.9 541H648.4Q671.9 541 691.4 529.3T720.7 498L869.1 228.5Q875 216.8 875 209 875 191.4 863.3 178.7T834 166H216.8L177.7 84H41ZM291 750Q257.8 750 233.4 774.4T209 833 233.4 891.6 292 916 350.6 891.6 375 833 350.6 774.4 291 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart\"\n      ]\n    },\n    {\n      \"uid\": \"b238fdc0491e8ec82c15a983b82f20e4\",\n      \"css\": \"cart-outline\",\n      \"code\": 983313,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 750Q742.2 750 766.6 774.4T791 833 766.6 891.6 708 916 649.4 891.6 625 833 649.4 774.4 709 750ZM41 84H177.7L216.8 166H834Q851.6 166 863.3 178.7T875 209Q875 216.8 869.1 228.5L720.7 498Q710.9 517.6 691.4 529.3T648.4 541H337.9L300.8 609.4 298.8 615.2Q298.8 619.1 301.8 622.1T308.6 625H791V709H291Q257.8 709 233.4 684.6T209 625Q209 603.5 218.8 585.9L275.4 482.4 125 166H41V84ZM291 750Q326.2 750 350.6 774.4T375 833 350.6 891.6 292 916 233.4 891.6 209 833 233.4 774.4 291 750ZM666 459L783.2 250H255.9L353.5 459H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"90edbb0dfc90682c98a5ea6acef86325\",\n      \"css\": \"cart-plus\",\n      \"code\": 983314,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375H541V250H666V166H541V41H459V166H334V250H459V375ZM291 750Q257.8 750 233.4 774.4T209 833 233.4 891.6 292 916 350.6 891.6 375 833 350.6 774.4 291 750ZM709 750Q673.8 750 649.4 774.4T625 833 649.4 891.6 708 916 766.6 891.6 791 833 766.6 774.4 709 750ZM298.8 615.2L300.8 609.4 337.9 541H648.4Q671.9 541 691.4 529.3T720.7 498L880.9 207 808.6 166 648.4 459H355.5L177.7 84H41V166H125L275.4 482.4 218.8 585.9Q209 603.5 209 625 209 660.2 233.4 684.6T291 709H791V625H308.6Q304.7 625 301.8 622.1T298.8 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-plus\"\n      ]\n    },\n    {\n      \"uid\": \"fa558f40f9af4bb483cc3d0cc63b0143\",\n      \"css\": \"case-sensitive-alt\",\n      \"code\": 983315,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 584Q834 537.1 815.4 518.6T750 500H666V459Q666 435.5 663.1 427.7T642.6 418Q628.9 416 584 416V791H750Q796.9 791 815.4 772.5T834 709V584ZM500 500Q500 453.1 481.4 434.6T416 416H250Q203.1 416 184.6 434.6T166 500V791H250V666H416V791H500V500ZM416 291H584V209H416V291ZM916 375V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V375Q84 339.8 108.4 315.4T166 291H334V209L416 125H584L666 209V291H834Q867.2 291 891.6 315.4T916 375V375ZM666 709H750V584H666V709ZM250 500H416V584H250V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"case-sensitive-alt\"\n      ]\n    },\n    {\n      \"uid\": \"9dcfad90bd063f78e05017854a6b76d0\",\n      \"css\": \"cash\",\n      \"code\": 983316,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250H875V750H125V250ZM500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM291 334Q291 367.2 266.6 391.6T209 416V584Q242.2 584 266.6 608.4T291 666H709Q709 632.8 733.4 608.4T791 584V416Q757.8 416 733.4 391.6T709 334H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash\"\n      ]\n    },\n    {\n      \"uid\": \"98fd6e249401010527cd7fe14bff62a6\",\n      \"css\": \"cash-100\",\n      \"code\": 983317,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209H916V834H84V209ZM834 750V291H166V750H834ZM709 334Q709 367.2 733.4 391.6T791 416V625Q757.8 625 733.4 649.4T709 709H291Q291 673.8 266.6 649.4T209 625V416Q242.2 416 266.6 391.6T291 334H709ZM709 541V500Q709 464.8 690.4 440.4T645.5 416 601.6 440.4 584 500V541Q584 576.2 601.6 600.6T645.5 625 690.4 600.6 709 541ZM646.5 459Q654.3 459 660.2 464.8T666 478.5V562.5Q666 570.3 660.2 577.1T645.5 584 630.9 577.1 625 562.5V478.5Q625 470.7 630.9 464.8T646.5 459ZM541 541V500Q541 464.8 523.4 440.4T479.5 416 434.6 440.4 416 500V541Q416 576.2 434.6 600.6T479.5 625 523.4 600.6 541 541ZM478.5 459Q488.3 459 494.1 464.8T500 478.5V562.5Q500 570.3 494.1 577.1T479.5 584 464.8 577.1 459 562.5V478.5Q459 470.7 464.8 464.8T478.5 459ZM334 625H375V416H334L291 437.5V478.5L334 459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-100\"\n      ]\n    },\n    {\n      \"uid\": \"2761033d4dd5ad686e3590244c82ffdc\",\n      \"css\": \"cash-multiple\",\n      \"code\": 983318,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 250H959V750H209V250ZM584 375Q634.8 375 671.9 411.1T709 500 671.9 588.9 583 625 495.1 588.9 459 500 495.1 411.1 584 375ZM375 334Q375 367.2 350.6 391.6T291 416V584Q326.2 584 350.6 608.4T375 666H791Q791 632.8 815.4 608.4T875 584V416Q839.8 416 815.4 391.6T791 334H375ZM41 416H125V834H791V916H41V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"72690ba93391aa19baac2bf04d76b11a\",\n      \"css\": \"cash-usd-outline\",\n      \"code\": 983319,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V250H834V750ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM459 709H541V666H584Q601.6 666 613.3 654.3T625 625V500Q625 482.4 613.3 470.7T584 459H459V416H625V334H541V291H459V334H416Q398.4 334 386.7 345.7T375 375V500Q375 517.6 386.7 529.3T416 541H541V584H375V666H459V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-usd-outline\"\n      ]\n    },\n    {\n      \"uid\": \"964f05e323bc3f1f15cbb0fc7c7f8c3c\",\n      \"css\": \"cast\",\n      \"code\": 983320,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 416V500Q142.6 500 229.5 550.8T366.2 687.5 416 875H500Q500 750 438.5 644.5T271.5 477.5 41 416ZM41 584V666Q97.7 666 145.5 694.3T221.7 770.5 250 875H334Q334 816.4 311.5 762.7T248 668 153.3 605.5 41 584ZM41 750V875H166Q166 822.3 129.9 786.1T41 750ZM875 125H125Q89.8 125 65.4 149.4T41 209V334H125V209H875V791H584V875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cast\"\n      ]\n    },\n    {\n      \"uid\": \"622ca6271b7f08b396efa96fe337dede\",\n      \"css\": \"cast-connected\",\n      \"code\": 983321,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q89.8 125 65.4 149.4T41 209V334H125V209H875V791H584V875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM41 416V500Q142.6 500 229.5 550.8T366.2 687.5 416 875H500Q500 750 438.5 644.5T271.5 477.5 41 416ZM791 291H209V359.4Q332 400.4 424.8 492.2T556.6 709H791V291ZM41 584V666Q97.7 666 145.5 694.3T221.7 770.5 250 875H334Q334 816.4 311.5 762.7T248 668 153.3 605.5 41 584ZM41 750V875H166Q166 822.3 129.9 786.1T41 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cast-connected\"\n      ]\n    },\n    {\n      \"uid\": \"7626201e0c76d8573035fb48405d93c0\",\n      \"css\": \"castle\",\n      \"code\": 983322,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 541H166V625H250V541H334V625H416V541H500V625H584V416L709 291V41H791L959 125 791 209V291L916 416V916H459V791Q459 757.8 434.6 733.4T375 709 315.4 733.4 291 791V916H84V541ZM750 416Q732.4 416 720.7 430.7T709 466.8V541H791V466.8Q791 445.3 779.3 430.7T750 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"castle\"\n      ]\n    },\n    {\n      \"uid\": \"850f4119ed334ca2824e946d6454a061\",\n      \"css\": \"cat\",\n      \"code\": 983323,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334L445.3 337.9Q400.4 283.2 349.6 246.1 273.4 187.5 209 187.5L197.3 209Q183.6 238.3 177.7 269.5 168 314.5 173.8 361.3 179.7 418 207 474.6L201.2 484.4Q183.6 509.8 177.7 523.4 168 543 166 568.4L85.9 582 95.7 623 168 611.3 173.8 640.6 109.4 679.7 128.9 716.8 189.5 679.7Q224.6 753.9 308.6 794.9 390.6 834 500 834T691.4 794.9Q775.4 753.9 810.5 679.7L871.1 716.8 890.6 679.7 826.2 640.6 832 611.3 904.3 623 914.1 582 834 568.4Q832 543 822.3 523.4 816.4 509.8 798.8 484.4L793 474.6Q820.3 418 826.2 361.3 832 314.5 822.3 269.5 816.4 238.3 802.7 209L791 187.5Q726.6 187.5 650.4 246.1 599.6 283.2 554.7 337.9ZM375 459Q392.6 459 404.3 470.7T416 500 404.3 529.3 375 541 345.7 529.3 334 500 345.7 470.7 375 459ZM625 459Q642.6 459 654.3 470.7T666 500 654.3 529.3 625 541 595.7 529.3 584 500 595.7 470.7 625 459ZM459 584H541L511.7 640.6Q519.5 662.1 535.2 674.8T572.3 687.5Q599.6 687.5 617.2 668.9T634.8 625H656.3Q656.3 660.2 631.8 684.6T572.3 709Q550.8 709 531.3 697.3T500 666V666Q488.3 685.5 468.8 697.3T427.7 709Q392.6 709 368.2 684.6T343.8 625H365.2Q365.2 650.4 382.8 668.9T427.7 687.5Q449.2 687.5 464.8 674.8T488.3 640.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cat\"\n      ]\n    },\n    {\n      \"uid\": \"214106d7133a34311ce56066f1b75f32\",\n      \"css\": \"cellphone\",\n      \"code\": 983324,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 791H291V209H709V791ZM709 41H291Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone\"\n      ]\n    },\n    {\n      \"uid\": \"bc35e2b6ad307c07c2d0644aafa7d7e1\",\n      \"css\": \"cellphone-android\",\n      \"code\": 983325,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M718.8 750H281.3V166H718.8V750ZM584 875H416V834H584V875ZM666 41H334Q281.3 41 245.1 78.1T209 166V834Q209 884.8 245.1 921.9T334 959H666Q718.8 959 754.9 921.9T791 834V166Q791 115.2 754.9 78.1T666 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-android\"\n      ]\n    },\n    {\n      \"uid\": \"3b00ecb18bae3dded5c5606f9e8943e6\",\n      \"css\": \"cellphone-basic\",\n      \"code\": 983326,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 84Q607.4 84 595.7 95.7T584 125V250H416Q382.8 250 358.4 274.4T334 334V834Q334 867.2 358.4 891.6T416 916H625Q660.2 916 684.6 891.6T709 834V334Q709 310.5 697.3 292T666 261.7V125Q666 107.4 654.3 95.7T625 84ZM416 334H625V541H416V334ZM416 625H459V666H416V625ZM500 625H541V666H500V625ZM584 625H625V666H584V625ZM416 709H459V750H416V709ZM500 709H541V750H500V709ZM584 709H625V750H584V709ZM416 791H459V834H416V791ZM500 791H541V834H500V791ZM584 791H625V834H584V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-basic\"\n      ]\n    },\n    {\n      \"uid\": \"d445be50f6f028b822b30855d007bfff\",\n      \"css\": \"cellphone-dock\",\n      \"code\": 983327,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 625H334V209H666V625ZM666 41H334Q298.8 41 274.4 65.4T250 125V709Q250 742.2 274.4 766.6T334 791H666Q701.2 791 725.6 766.6T750 709V125Q750 89.8 725.6 65.4T666 41ZM334 959H666V875H334V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-dock\"\n      ]\n    },\n    {\n      \"uid\": \"849c2227d9a4b47d3c76d0cd48b89d3e\",\n      \"css\": \"cellphone-iphone\",\n      \"code\": 983328,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 750H291V166H666V750ZM478.5 916Q453.1 916 434.6 898.4T416 854.5 434.6 809.6 479.5 791 523.4 809.6 541 854.5 523.4 898.4 478.5 916ZM646.5 41H312.5Q269.5 41 239.3 72.3T209 146.5V853.5Q209 896.5 239.3 927.7T312.5 959H646.5Q689.5 959 719.7 927.7T750 853.5V146.5Q750 103.5 719.7 72.3T646.5 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-iphone\"\n      ]\n    },\n    {\n      \"uid\": \"df28651c2ff88bfd73205206d5e07f48\",\n      \"css\": \"cellphone-link\",\n      \"code\": 983329,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709H750V416H916V709ZM959 334H709Q691.4 334 678.7 345.7T666 375V791Q666 808.6 678.7 821.3T709 834H959Q976.6 834 988.3 821.3T1000 791V375Q1000 357.4 988.3 345.7T959 334ZM166 250H916V166H166Q132.8 166 108.4 190.4T84 250V709H0V834H584V709H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-link\"\n      ]\n    },\n    {\n      \"uid\": \"d77dc6de07c29b111faa98542486901f\",\n      \"css\": \"cellphone-link-off\",\n      \"code\": 983330,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 334H709Q691.4 334 678.7 345.7T666 375V548.8L750 632.8V416H916V709H826.2L951.2 834H959Q976.6 834 988.3 821.3T1000 791V375Q1000 357.4 988.3 345.7T959 334ZM166 261.7L613.3 709H166V261.7ZM80.1 68.4L27.3 121.1 103.5 197.3Q84 220.7 84 250V709H0V834H738.3L835.9 931.6 888.7 878.9ZM916 250V166H283.2L367.2 250H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-link-off\"\n      ]\n    },\n    {\n      \"uid\": \"3a276ec27b2f4be0c98ed34f7fb03c13\",\n      \"css\": \"cellphone-settings\",\n      \"code\": 983331,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 666H334V166H666V666ZM666 0H334Q298.8 0 274.4 24.4T250 84V750Q250 785.2 274.4 809.6T334 834H666Q701.2 834 725.6 809.6T750 750V84Q750 48.8 725.6 24.4T666 0ZM625 1000H709V916H625V1000ZM459 1000H541V916H459V1000ZM291 1000H375V916H291V1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-settings\"\n      ]\n    },\n    {\n      \"uid\": \"db00cf168c52227fff00c04475091fd3\",\n      \"css\": \"certificate\",\n      \"code\": 983332,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q132.8 125 108.4 149.4T84 209V625Q84 660.2 108.4 684.6T166 709H500V916L625 791 750 916V709H834Q867.2 709 891.6 684.6T916 625V209Q916 173.8 891.6 149.4T834 125H166ZM500 209L625 291 750 209V353.5L875 416 750 478.5V625L625 541 500 625V478.5L375 416 500 353.5V209ZM166 209H375V291H166V209ZM166 375H291V459H166V375ZM166 541H375V625H166V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"certificate\"\n      ]\n    },\n    {\n      \"uid\": \"a2c5106a792abab6886ca6d0f28ff1f1\",\n      \"css\": \"chair-school\",\n      \"code\": 983333,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 209V291H709L564.5 500H666V584H601.6L757.8 916H666L627 834H265.6L222.7 916H128.9L300.8 584H291Q277.3 584 266.6 575.2T252 554.7L119.1 160.2 158.2 146.5Q175.8 140.6 191.4 148.4T210.9 173.8L322.3 500H503.9L648.4 291H500V209H916ZM396.5 584L308.6 750H587.9L511.7 584H396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chair-school\"\n      ]\n    },\n    {\n      \"uid\": \"76236232a33926ee3431daa739f1b628\",\n      \"css\": \"chart-arc\",\n      \"code\": 983334,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M673.8 816.4L589.8 671.9Q621.1 648.4 640.6 615.2T666 541H834Q828.1 627 785.2 699.2T673.8 816.4ZM541 293V125Q630.9 130.9 705.1 175.8T824.2 294.9 875 459H707Q699.2 392.6 653.3 346.7T541 293ZM291 521.5Q291 560.5 306.6 595.7L162.1 679.7Q125 605.5 125 521.5 125 427.7 168.9 348.6T290 220.7 459 166V334Q386.7 341.8 338.9 395.5T291 521.5ZM478.5 875Q386.7 875 309.6 832T183.6 716.8L328.1 632.8Q355.5 668 394.5 688.5T478.5 709Q519.5 709 554.7 693.4L638.7 837.9Q564.5 875 478.5 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-arc\"\n      ]\n    },\n    {\n      \"uid\": \"7aae477ad045a864a882a4dc4fcce6f6\",\n      \"css\": \"chart-areaspline\",\n      \"code\": 983335,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M726.6 632.8L916 304.7V875H84V125H166V648.4L396.5 250 666 408.2 843.8 101.6 916 144.5 697.3 521.5 425.8 365.2 179.7 791H273.4L457 476.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-areaspline\"\n      ]\n    },\n    {\n      \"uid\": \"298bc9b464d2b4e5cad91cd3d419747f\",\n      \"css\": \"chart-histogram\",\n      \"code\": 983337,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H209V541H375V291H541V459H709V625H875V875H125V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-histogram\"\n      ]\n    },\n    {\n      \"uid\": \"bab282b52b5c9378f461fa64654b8bfc\",\n      \"css\": \"chart-line\",\n      \"code\": 983338,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 490.2L843.8 185.5 916 226.6 697.3 603.5 425.8 447.3 226.6 791H916V875H84V125H166V730.5L396.5 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-line\"\n      ]\n    },\n    {\n      \"uid\": \"efcbd2fcc90cfaeb6fc0aeb356342a73\",\n      \"css\": \"chart-pie\",\n      \"code\": 983339,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84V916Q353.5 906.3 267.6 848.6T132.8 699.2 84 500 132.8 300.8 267.6 151.4 459 84ZM541 84V459H916Q906.3 359.4 855.5 277.3T722.7 144.5 541 84ZM541 541V916Q638.7 906.3 720.7 855.5T854.5 722.7 916 541H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-pie\"\n      ]\n    },\n    {\n      \"uid\": \"5cffdca48dcb7208e80badcb9209d5dd\",\n      \"css\": \"check\",\n      \"code\": 983340,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 291L375 791 146.5 562.5 205.1 503.9 375 673.8 816.4 232.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check\"\n      ]\n    },\n    {\n      \"uid\": \"6a5a52a8ec34a865d999768a472a3591\",\n      \"css\": \"check-all\",\n      \"code\": 983341,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M17.6 558.6L250 791 308.6 732.4 76.2 500ZM925.8 232.4L486.3 673.8 312.5 500 252 558.6 486.3 791 986.3 291ZM750 291L691.4 232.4 425.8 498 486.3 556.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-all\"\n      ]\n    },\n    {\n      \"uid\": \"caf55b2d6db0adf0fc99e6fa25738559\",\n      \"css\": \"checkbox-blank\",\n      \"code\": 983342,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank\"\n      ]\n    },\n    {\n      \"uid\": \"d97d2298bfd09ad8f6a1ff37418f3aff\",\n      \"css\": \"checkbox-blank-circle\",\n      \"code\": 984933,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-circle\"\n      ]\n    },\n    {\n      \"uid\": \"b707eae7badd64a2808d8cedd8ba3210\",\n      \"css\": \"checkbox-blank-circle\",\n      \"code\": 983343,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-circle\"\n      ]\n    },\n    {\n      \"uid\": \"98029eb5f5dfb31a07f1267a510fdeb2\",\n      \"css\": \"checkbox-blank-circle-outline\",\n      \"code\": 984934,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d9d2fb0583a79f2bb077ef2be8351d3f\",\n      \"css\": \"checkbox-blank-circle-outline\",\n      \"code\": 984125,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"751949244439fcabbfe8ceb23e08734c\",\n      \"css\": \"checkbox-blank-circle-outline\",\n      \"code\": 983344,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3ee23a4cd7fb6ceb7c55475733cd9769\",\n      \"css\": \"checkbox-blank-outline\",\n      \"code\": 983345,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 209V791H209V209H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3e86200fe57aeb6321f292c0e80f32e1\",\n      \"css\": \"checkbox-marked\",\n      \"code\": 983346,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L209 500 267.6 441.4 416 589.8 732.4 273.4 791 334ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-marked\"\n      ]\n    },\n    {\n      \"uid\": \"0a443c7e29c316d6c33f9bc9c9fe7daa\",\n      \"css\": \"checkbox-marked-circle\",\n      \"code\": 983347,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L209 500 267.6 441.4 416 589.8 732.4 273.4 791 334ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-marked-circle\"\n      ]\n    },\n    {\n      \"uid\": \"f1c9b7613439d1df50c168ec85029933\",\n      \"css\": \"checkbox-marked-circle-outline\",\n      \"code\": 983348,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q834 589.8 789.1 667T667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166Q546.9 166 591.8 179.7L656.3 113.3Q582 84 500 84T340.8 115.2 205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500H834ZM330.1 419.9L271.5 478.5 459 666 875 250 816.4 191.4 459 548.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-marked-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4aafc9fbe253dc4541e7b53c7475d64f\",\n      \"css\": \"checkbox-marked-outline\",\n      \"code\": 983349,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H625V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V459H791V791ZM330.1 419.9L271.5 478.5 459 666 875 250 816.4 191.4 459 548.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-marked-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ca48a750d223d583c76f923e5ab5abc6\",\n      \"css\": \"checkbox-multiple-blank\",\n      \"code\": 983350,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84H834Q867.2 84 891.6 108.4T916 166V666ZM666 834V916H166Q132.8 916 108.4 891.6T84 834V291H166V834H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-blank\"\n      ]\n    },\n    {\n      \"uid\": \"aa988e803d4d6df5e26a4a0c3e424186\",\n      \"css\": \"checkbox-multiple-blank-outline\",\n      \"code\": 983351,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 666V166H334V666H834ZM916 666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84H834Q867.2 84 891.6 108.4T916 166V666ZM666 834V916H166Q132.8 916 108.4 891.6T84 834V291H166V834H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-blank-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4bfada7e51333a330f881fb55dd70a3c\",\n      \"css\": \"checkbox-multiple-marked\",\n      \"code\": 983352,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84H834Q867.2 84 891.6 108.4T916 166V666ZM666 834V916H166Q132.8 916 108.4 891.6T84 834V291H166V834H666ZM541 584L834 291 775.4 232.4 541 464.8 412.1 337.9 353.5 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-marked\"\n      ]\n    },\n    {\n      \"uid\": \"2c2f0f5d8300b014f3d37b03fc238fbc\",\n      \"css\": \"checkbox-multiple-marked-outline\",\n      \"code\": 983353,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 666V416H916V666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84H666V166H334V666H834ZM455.1 294.9L584 423.8 857.4 148.4 916 209 584 541 396.5 353.5ZM666 834V916H166Q132.8 916 108.4 891.6T84 834V291H166V834H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-marked-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e55548f8729dc6a8503cdadfda208fce\",\n      \"css\": \"checkerboard\",\n      \"code\": 983354,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84V916H916V84H84ZM834 500H666V666H834V834H666V666H500V834H334V666H166V500H334V334H166V166H334V334H500V166H666V334H834V500ZM666 334V500H500V334H666ZM500 500V666H334V500H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkerboard\"\n      ]\n    },\n    {\n      \"uid\": \"5554ddca0caf80819cee9525f642858a\",\n      \"css\": \"chemical-weapon\",\n      \"code\": 983355,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 326.2Q421.9 312.5 398.4 280.3T375 209Q375 156.3 411.1 120.1T500 84 588.9 120.1 625 209Q625 248 601.6 280.3T541 326.2V443.4Q521.5 437.5 500 437.5T459 443.4V326.2ZM761.7 878.9Q726.6 859.4 710.9 823.2T701.2 748L599.6 689.5Q632.8 658.2 642.6 617.2L744.1 675.8Q773.4 650.4 812.5 646.5T886.7 662.1Q931.6 689.5 945.3 739.3T932.6 834 856.4 891.6 761.7 878.9ZM113.3 662.1Q146.5 642.6 186.5 646.5T255.9 675.8L357.4 617.2Q367.2 660.2 400.4 689.5L298.8 748Q304.7 787.1 288.1 823.2T238.3 878.9Q193.4 904.3 142.6 891.6T66.4 834 54.7 738.3 113.3 662.1ZM584 584Q584 617.2 559.6 641.6T500 666 440.4 641.6 416 583 440.4 524.4 500 500 559.6 524.4 584 584ZM709 584L707 607.4 646.5 570.3Q642.6 539.1 626 510.7T584 462.9V392.6Q638.7 416 673.8 467.8T709 584ZM623 752Q568.4 791 499 791T377 750L437.5 714.8Q466.8 728.5 499 728.5T562.5 714.8ZM293 607.4L291 584Q291 519.5 326.2 467.8T416 392.6V462.9Q390.6 482.4 374 510.7T353.5 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chemical-weapon\"\n      ]\n    },\n    {\n      \"uid\": \"ef19fc62eda68400024f15698fcc61b8\",\n      \"css\": \"chevron-double-down\",\n      \"code\": 983356,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M691.4 232.4L750 291 500 541 250 291 308.6 232.4 500 423.8ZM691.4 482.4L750 541 500 791 250 541 308.6 482.4 500 673.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-double-down\"\n      ]\n    },\n    {\n      \"uid\": \"011c74ee3180579cf0fd8a3f09483732\",\n      \"css\": \"chevron-double-left\",\n      \"code\": 983357,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M767.6 308.6L709 250 459 500 709 750 767.6 691.4 576.2 500ZM517.6 308.6L459 250 209 500 459 750 517.6 691.4 326.2 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-double-left\"\n      ]\n    },\n    {\n      \"uid\": \"56881c6ef4211ba5b642e5582f9ce10e\",\n      \"css\": \"chevron-double-right\",\n      \"code\": 983358,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M232.4 308.6L291 250 541 500 291 750 232.4 691.4 423.8 500ZM482.4 308.6L541 250 791 500 541 750 482.4 691.4 673.8 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-double-right\"\n      ]\n    },\n    {\n      \"uid\": \"6779d53d4385efe3ebb43e82eddadc61\",\n      \"css\": \"chevron-double-up\",\n      \"code\": 983359,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M308.6 767.6L250 709 500 459 750 709 691.4 767.6 500 576.2ZM308.6 517.6L250 459 500 209 750 459 691.4 517.6 500 326.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-double-up\"\n      ]\n    },\n    {\n      \"uid\": \"44fc617064ce96a178f3c37fcbb97f39\",\n      \"css\": \"chevron-down\",\n      \"code\": 983360,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M308.6 357.4L500 548.8 691.4 357.4 750 416 500 666 250 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-down\"\n      ]\n    },\n    {\n      \"uid\": \"1c9730cfda10f2b7729910dc29ea1c8b\",\n      \"css\": \"chevron-up\",\n      \"code\": 983363,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M308.6 642.6L500 451.2 691.4 642.6 750 584 500 334 250 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-up\"\n      ]\n    },\n    {\n      \"uid\": \"fe88f2d3b4d245aaeffa15632d9adf10\",\n      \"css\": \"church\",\n      \"code\": 983364,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84H541V166H625V250H541V392.6L916 541V625L834 591.8V916H584V709Q584 673.8 559.6 649.4T500 625 440.4 649.4 416 709V916H166V591.8L84 625V541L459 392.6V250H375V166H459V84ZM250 834H334V625L291 584 250 625V834ZM666 834H750V625L709 584 666 625V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"church\"\n      ]\n    },\n    {\n      \"uid\": \"796db10c433850657f9b5a788cc12498\",\n      \"css\": \"roller-skate-off\",\n      \"code\": 983365,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L781.3 859.4Q767.6 884.8 743.2 900.4T687.5 916Q644.5 916 614.3 885.7T584 812.5Q584 781.3 599.6 756.8T640.6 718.8L587.9 666H166V246.1L46.9 125 99.6 72.3 921.9 894.5ZM791 625Q791 533.2 738.3 478.5 699.2 439.5 636.7 423.8 607.4 416 584 416H550.8L779.3 646.5Q787.1 640.6 791 630.9V625ZM484.4 312.5L476.6 250H384.8V187.5H466.8L459 125H257.8L445.3 312.5H484.4ZM271.5 709Q228.5 709 197.3 739.3T166 812.5 197.3 885.7 271.5 916 344.7 885.7 375 812.5 344.7 739.3 271.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roller-skate-off\"\n      ]\n    },\n    {\n      \"uid\": \"4e70b4e4f779e87f160bf828cbe9fd7d\",\n      \"css\": \"city\",\n      \"code\": 983366,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625H709V541H791V625ZM791 791H709V709H791V791ZM541 291H459V209H541V291ZM541 459H459V375H541V459ZM541 625H459V541H541V625ZM541 791H459V709H541V791ZM291 459H209V375H291V459ZM291 625H209V541H291V625ZM291 791H209V709H291V791ZM625 459V209L500 84 375 209V291H125V875H875V459H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"city\"\n      ]\n    },\n    {\n      \"uid\": \"b446d4274ea0dfe90a6b6eab99d7b7a3\",\n      \"css\": \"clipboard\",\n      \"code\": 983367,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard\"\n      ]\n    },\n    {\n      \"uid\": \"84483cfbe349fdf1759a3d633f573512\",\n      \"css\": \"clipboard-account\",\n      \"code\": 983368,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 791H250V732.4Q250 695.3 296.9 662.1 335.9 636.7 398.4 619.1 455.1 603.5 500 603.5T601.6 619.1Q664.1 636.7 703.1 662.1 750 695.3 750 732.4V791ZM500 291Q552.7 291 588.9 328.1T625 417 588.9 504.9 500 541 411.1 504.9 375 417 411.1 328.1 500 291ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-account\"\n      ]\n    },\n    {\n      \"uid\": \"5ebff21bfc5dd7f07141bb0a2d9e33ac\",\n      \"css\": \"clipboard-alert\",\n      \"code\": 983369,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q482.4 209 470.7 196.3T459 166 470.7 136.7 500 125 529.3 136.7 541 166 529.3 196.3 500 209ZM541 584H459V334H541V584ZM541 750H459V666H541V750ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-alert\"\n      ]\n    },\n    {\n      \"uid\": \"3fbc1a76eca0f9692226a902e2f27b4d\",\n      \"css\": \"clipboard-arrow-down\",\n      \"code\": 983370,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750L291 541H416V375H584V541H709ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"552ab95573a689858312267d9cd2a673\",\n      \"css\": \"clipboard-arrow-left\",\n      \"code\": 983371,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 625H500V750L291 541 500 334V459H666V625ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"d09fe76ba5365ab55555d6ca261f98af\",\n      \"css\": \"clipboard-outline\",\n      \"code\": 983372,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM291 291H709V209H791V791H209V209H291V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26be3b1577e6f4e4024d0ff8879ccc2d\",\n      \"css\": \"clipboard-text\",\n      \"code\": 983373,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 375H291V291H709V375ZM709 541H291V459H709V541ZM584 709H291V625H584V709ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-text\"\n      ]\n    },\n    {\n      \"uid\": \"f30da280d2c2d0615785816e0d7bfdc4\",\n      \"css\": \"clipboard-check\",\n      \"code\": 983374,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L250 541 308.6 482.4 416 589.8 691.4 316.4 750 375ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-check\"\n      ]\n    },\n    {\n      \"uid\": \"1ce9f1061a6e34a7a6dbdab5760807bc\",\n      \"css\": \"clippy\",\n      \"code\": 983375,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 646.5Q625 689.5 594.7 719.7T521.5 750 447.3 719.7 416 646.5V572.3Q416 560.5 425.8 550.8T448.2 541 469.7 550.8 478.5 572.3V646.5Q478.5 664.1 491.2 675.8T521.5 687.5 550.8 675.8 562.5 646.5V496.1Q535.2 486.3 517.6 464.8T500 416Q500 382.8 527.3 358.4T593.8 334 660.2 358.4 687.5 416Q687.5 443.4 669.9 464.8T625 496.1V646.5ZM343.8 334Q382.8 334 410.2 358.4T437.5 416Q437.5 443.4 419.9 464.8T375 496.1V718.8Q375 775.4 415 814.5T510.7 853.5 606.4 814.5 646.5 718.8V572.3Q646.5 560.5 655.3 550.8T676.8 541 699.2 550.8 709 572.3V718.8Q709 757.8 693.4 793.9T650.4 858.4 585.9 901.4 509.8 916 434.6 901.4 370.1 858.4 327.1 793.9 312.5 718.8V496.1Q285.2 486.3 267.6 464.8T250 416Q250 382.8 277.3 358.4T343.8 334ZM419.9 255.9L400.4 316.4Q375 302.7 345.7 302.7T292 313.5 252 343.8L201.2 306.6Q242.2 253.9 312.5 242.2V240.2Q312.5 175.8 358.4 129.9T468.8 84 579.1 129.9 625 240.2V242.2Q695.3 253.9 736.3 306.6L685.5 343.8Q669.9 324.2 645.5 313.5T591.8 302.7 537.1 316.4L517.6 255.9Q544.9 244.1 562.5 242.2V240.2Q562.5 201.2 535.2 173.8T468.8 146.5 402.3 173.8 375 240.2V242.2Q392.6 244.1 419.9 255.9ZM593.8 384.8Q576.2 384.8 564.5 394.5T552.7 417 564.5 438.5 593.8 447.3 623 438.5 634.8 417 623 394.5 593.8 384.8ZM343.8 384.8Q326.2 384.8 314.5 394.5T302.7 417 314.5 438.5 343.8 447.3 373 438.5 384.8 417 373 394.5 343.8 384.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clippy\"\n      ]\n    },\n    {\n      \"uid\": \"85fbdeb7f7867a49ba587ff68db73255\",\n      \"css\": \"clock-outline\",\n      \"code\": 983376,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916Q386.7 916 291 860.4T139.6 709 84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84ZM521.5 291V509.8L709 621.1 677.7 673.8 459 541V291H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e32ea3f904294fd662f986c1b35f4616\",\n      \"css\": \"clock-end\",\n      \"code\": 983377,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q421.9 41 354.5 81.1T248 187.5 209 333 248 479.5 353.5 585.9 500 625 646.5 585.9 752 479.5 791 333 752 187.5 645.5 81.1 500 41ZM500 130.9Q584 130.9 642.6 190.4T701.2 334 642.6 476.6 500 535.2Q459 535.2 421.9 519.5T356.4 475.6 313.5 410.2 298.8 334Q298.8 250 357.4 190.4T500 130.9ZM459 209V361.3L591.8 439.5 623 384.8 521.5 326.2V209H459ZM625 666V791H125V875H625V1000L791 834ZM791 834V1000H875V666H791V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-end\"\n      ]\n    },\n    {\n      \"uid\": \"86fc63fcd6b07ef1e577ef7a40ce9693\",\n      \"css\": \"clock-fast\",\n      \"code\": 983378,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166Q714.8 166 792 210.9T914.1 333 959 500 914.1 667 792 789.1 625 834 458 789.1 335.9 667 291 500 335.9 333 458 210.9 625 166ZM625 250Q556.6 250 499 283.2T408.2 374 375 500 408.2 626 499 716.8 625 750 751 716.8 841.8 626 875 500 841.8 374 751 283.2 625 250ZM584 334H646.5V490.2L742.2 587.9 699.2 632.8 584 517.6V334ZM84 750Q66.4 750 53.7 738.3T41 709 53.7 678.7 84 666H242.2Q261.7 709 291 750H84ZM125 541Q107.4 541 95.7 529.3T84 500 95.7 470.7 125 459H210.9L209 500 210.9 541H125ZM166 334Q148.4 334 136.7 321.3T125 291 136.7 261.7 166 250H291Q261.7 291 242.2 334H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-fast\"\n      ]\n    },\n    {\n      \"uid\": \"f8950824294d5eedda5df078d8d11b12\",\n      \"css\": \"clock-in\",\n      \"code\": 983379,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M91.8 33.2L33.2 91.8 199.2 257.8 125 334H334V125L257.8 199.2ZM500 334Q419.9 334 353.5 373T248 478.5 209 625 248 771.5 353.5 877 500 916 646.5 877 752 771.5 791 625 752 478.5 646.5 373 500 334ZM500 423.8Q584 423.8 642.6 482.4T701.2 625Q701.2 666 686.5 703.1T643.6 768.6 578.1 811.5 500 826.2Q416 826.2 357.4 767.6T298.8 625Q298.8 584 313.5 546.9T356.4 481.4 421.9 438.5 500 423.8ZM459 500V654.3L591.8 730.5 623 675.8 521.5 617.2V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-in\"\n      ]\n    },\n    {\n      \"uid\": \"ecd01499d2a0493913ffc716ca075115\",\n      \"css\": \"clock-out\",\n      \"code\": 983380,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 41L824.2 117.2 658.2 283.2 716.8 341.8 882.8 175.8 959 250V41H750ZM500 334Q419.9 334 353.5 373T248 478.5 209 625 248 771.5 353.5 877 500 916 646.5 877 752 771.5 791 625 752 478.5 646.5 373 500 334ZM500 423.8Q584 423.8 642.6 482.4T701.2 625Q701.2 666 686.5 703.1T643.6 768.6 578.1 811.5 500 826.2Q416 826.2 357.4 767.6T298.8 625Q298.8 584 313.5 546.9T356.4 481.4 421.9 438.5 500 423.8ZM459 500V654.3L591.8 730.5 623 675.8 521.5 617.2V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-out\"\n      ]\n    },\n    {\n      \"uid\": \"d75a65826f17f9bffc932bd3c1cb8442\",\n      \"css\": \"close\",\n      \"code\": 983382,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 267.6L732.4 209 500 441.4 267.6 209 209 267.6 441.4 500 209 732.4 267.6 791 500 558.6 732.4 791 791 732.4 558.6 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close\"\n      ]\n    },\n    {\n      \"uid\": \"c4e29ce31fd94c6e55fee299d6837c93\",\n      \"css\": \"close-box\",\n      \"code\": 983383,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H679.7 209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM650.4 709L500 558.6 349.6 709 291 650.4 441.4 500 291 349.6 349.6 291 500 441.4 650.4 291 709 349.6 558.6 500 709 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-box\"\n      ]\n    },\n    {\n      \"uid\": \"17cdda4d109e09f6030f9a32ceef6e08\",\n      \"css\": \"close-box-outline\",\n      \"code\": 983384,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM709 349.6L558.6 500 709 650.4 650.4 709 500 558.6 349.6 709 291 650.4 441.4 500 291 349.6 349.6 291 500 441.4 650.4 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"057c86b00991a15f50d81c2b3ba2f0ae\",\n      \"css\": \"close-circle\",\n      \"code\": 983385,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM650.4 291L500 441.4 349.6 291 291 349.6 441.4 500 291 650.4 349.6 709 500 558.6 650.4 709 709 650.4 558.6 500 709 349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-circle\"\n      ]\n    },\n    {\n      \"uid\": \"da6a09ab3a1db4dc1840641dce189a8d\",\n      \"css\": \"close-circle-outline\",\n      \"code\": 983386,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM607.4 334L500 441.4 392.6 334 334 392.6 441.4 500 334 607.4 392.6 666 500 558.6 607.4 666 666 607.4 558.6 500 666 392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4014a2694d674e06bfa2ad7725aaf254\",\n      \"css\": \"close-network\",\n      \"code\": 983387,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 250L500 357.4 392.6 250 334 308.6 441.4 416 334 525.4 392.6 584 500 474.6 607.4 584 666 525.4 558.6 416 666 308.6ZM709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-network\"\n      ]\n    },\n    {\n      \"uid\": \"d233b11788a29764a504c01d42a2933c\",\n      \"css\": \"close-octagon\",\n      \"code\": 983388,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M343.8 125L125 343.8V656.3L343.8 875H656.3L875 656.3V343.8L656.3 125H343.8ZM349.6 291L500 441.4 650.4 291 709 349.6 558.6 500 709 650.4 650.4 709 500 558.6 349.6 709 291 650.4 441.4 500 291 349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-octagon\"\n      ]\n    },\n    {\n      \"uid\": \"89fa7b3105c90195c682fa61c947200e\",\n      \"css\": \"close-octagon-outline\",\n      \"code\": 983389,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M343.8 125L125 343.8V656.3L343.8 875H656.3L875 656.3V343.8L656.3 125H343.8ZM378.9 209H621.1L791 378.9V621.1L621.1 791H378.9L209 621.1V378.9ZM380.9 320.3L320.3 380.9 441.4 500 320.3 619.1 380.9 679.7 500 558.6 619.1 679.7 679.7 619.1 558.6 500 679.7 380.9 619.1 320.3 500 441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-octagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"559b044f5c4fd1b16eaa5c8486f4cca2\",\n      \"css\": \"closed-caption\",\n      \"code\": 983390,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H687.5V437.5H603.5V562.5H687.5V541H750V584Q750 601.6 738.3 613.3T709 625H584Q566.4 625 553.7 613.3T541 584V416Q541 398.4 553.7 386.7T584 375H709Q726.6 375 738.3 386.7T750 416V459ZM459 459H396.5V437.5H312.5V562.5H396.5V541H459V584Q459 601.6 446.3 613.3T416 625H291Q273.4 625 261.7 613.3T250 584V416Q250 398.4 261.7 386.7T291 375H416Q433.6 375 446.3 386.7T459 416V459ZM791 166H209Q173.8 166 149.4 190.4T125 250V750Q125 785.2 149.4 809.6T209 834H791Q826.2 834 850.6 809.6T875 750V250Q875 214.8 850.6 190.4T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"closed-caption\"\n      ]\n    },\n    {\n      \"uid\": \"ce31fd2048d345535269b5dca9a3c6c4\",\n      \"css\": \"cloud\",\n      \"code\": 983391,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud\"\n      ]\n    },\n    {\n      \"uid\": \"8139c4016761b203f9505a348d87fd77\",\n      \"css\": \"cloud-check\",\n      \"code\": 983392,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L271.5 562.5 330.1 503.9 416 589.8 632.8 375 691.4 433.6ZM806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-check\"\n      ]\n    },\n    {\n      \"uid\": \"3e178becbb41165d9b98255eb1624412\",\n      \"css\": \"cloud-circle\",\n      \"code\": 983393,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 666H334Q281.3 666 245.1 629.9T209 542 245.1 453.1 334 416H339.8Q353.5 361.3 397.5 326.2T500 291Q568.4 291 617.2 339.8T666 459H687.5Q730.5 459 760.7 489.3T791 562.5 760.7 635.7 687.5 666ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-circle\"\n      ]\n    },\n    {\n      \"uid\": \"d5490fd79e9a10e6f279a29a168ddc77\",\n      \"css\": \"cloud-download\",\n      \"code\": 983394,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541L500 750 291 541H416V375H584V541H709ZM806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-download\"\n      ]\n    },\n    {\n      \"uid\": \"ce74bd812273ecb38356240cfa3310e5\",\n      \"css\": \"cloud-outline\",\n      \"code\": 983395,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H250Q181.6 750 132.8 701.2T84 583 132.8 464.8 250 416H279.3Q300.8 343.8 361.3 296.9T500 250Q562.5 250 615.2 281.3T698.2 364.3 728.5 478.5V500H791Q843.8 500 879.9 536.1T916 625 879.9 713.9 791 750ZM806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-outline\"\n      ]\n    },\n    {\n      \"uid\": \"597b267b079363ad279f576aed5ff4ce\",\n      \"css\": \"cloud-off-outline\",\n      \"code\": 983396,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M322.3 416L656.3 750H250Q181.6 750 132.8 701.2T84 583 132.8 464.8 250 416H322.3ZM125 218.8L240.2 334Q173.8 335.9 119.1 370.1T32.2 460.9 0 584 33.2 708 124 799.8 250 834H738.3L822.3 916 875 863.3 177.7 166ZM806.6 418Q785.2 308.6 699.2 237.3T500 166Q408.2 166 334 214.8L394.5 275.4Q443.4 250 500 250 562.5 250 615.2 281.3T698.2 364.3 728.5 478.5V500H791Q843.8 500 879.9 536.1T916 625Q916 660.2 898.4 689.5T851.6 734.4L912.1 794.9Q953.1 765.6 976.6 720.7T1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1bc6faed3dc1be436a622964a6dd38ca\",\n      \"css\": \"cloud-print\",\n      \"code\": 983397,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q410.2 84 335.9 129.9T222.7 252Q128.9 261.7 64.5 333T0 500Q0 568.4 33.2 626T124 716.8 250 750V916H750V750H791Q847.7 750 895.5 721.7T971.7 645.5 1000 541Q1000 459 944.3 399.4T806.6 335.9Q785.2 226.6 699.2 155.3T500 84ZM334 541H666V834H334V541ZM375 584V625H625V584H375ZM375 666V709H625V666H375ZM375 750V791H625V750H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-print\"\n      ]\n    },\n    {\n      \"uid\": \"7d3fc0b6fa6c07bc3129d1bbcd0f72cb\",\n      \"css\": \"cloud-print-outline\",\n      \"code\": 983398,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 666Q843.8 666 879.9 629.9T916 542 879.9 453.1 791 416H728.5V396.5Q728.5 334 698.2 281.3T615.2 197.3 500 166Q421.9 166 361.3 212.9T279.3 334H250Q181.6 334 132.8 382.8T84 500 132.8 617.2 250 666V459H750V666H791ZM806.6 335.9Q888.7 339.8 944.3 399.4T1000 541Q1000 597.7 971.7 645.5T895.5 721.7 791 750H750V916H250V750Q181.6 750 124 716.8T33.2 626 0 500Q0 404.3 64.5 333T222.7 252Q261.7 175.8 335.9 129.9T500 84Q613.3 84 699.2 155.3T806.6 335.9ZM334 541V834H666V541H334ZM375 750H625V791H375V750ZM625 709H375V666H625V709ZM375 584H625V625H375V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-print-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8e38976e09c6c87f7c9a13420dc519e1\",\n      \"css\": \"cloud-upload\",\n      \"code\": 983399,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 541V709H416V541H291L500 334 709 541H584ZM806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-upload\"\n      ]\n    },\n    {\n      \"uid\": \"15815e7fcbbd5bc6569748ea5a6e311c\",\n      \"css\": \"code-array\",\n      \"code\": 983400,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM250 250V750H416V666H334V334H416V250H250ZM666 666H584V750H750V250H584V334H666V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-array\"\n      ]\n    },\n    {\n      \"uid\": \"a14000e64052e529dac940c9be1dc118\",\n      \"css\": \"code-brackets\",\n      \"code\": 983402,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166V250H750V750H625V834H834V166H625ZM166 166V834H375V750H250V250H375V166H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-brackets\"\n      ]\n    },\n    {\n      \"uid\": \"f69f375101843835ad25eca21e171ec3\",\n      \"css\": \"code-equal\",\n      \"code\": 983403,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 541H459V625H250V541ZM541 541H750V625H541V541ZM541 375H750V459H541V375ZM250 375H459V459H250V375ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-equal\"\n      ]\n    },\n    {\n      \"uid\": \"7f7f477b995a9e1098e49ec0cfaffe18\",\n      \"css\": \"code-greater-than\",\n      \"code\": 983404,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M433.6 308.6L625 500 433.6 691.4 375 632.8 507.8 500 375 367.2ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-greater-than\"\n      ]\n    },\n    {\n      \"uid\": \"32f388b57bad7f30f02f15c78249d0c5\",\n      \"css\": \"code-greater-than-or-equal\",\n      \"code\": 983405,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 541H750V625H541V541ZM541 375H750V459H541V375ZM287.1 308.6L478.5 500 287.1 691.4 228.5 632.8 361.3 500 228.5 367.2ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-greater-than-or-equal\"\n      ]\n    },\n    {\n      \"uid\": \"c75aec5101ef892a0905c1af3b95d0dd\",\n      \"css\": \"code-less-than\",\n      \"code\": 983406,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M566.4 308.6L375 500 566.4 691.4 625 632.8 492.2 500 625 367.2ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-less-than\"\n      ]\n    },\n    {\n      \"uid\": \"b106ff51b17d4f966bedc83e48df52cb\",\n      \"css\": \"code-less-than-or-equal\",\n      \"code\": 983407,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 541H750V625H541V541ZM541 375H750V459H541V375ZM419.9 308.6L478.5 367.2 345.7 500 478.5 632.8 419.9 691.4 228.5 500ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-less-than-or-equal\"\n      ]\n    },\n    {\n      \"uid\": \"1fbf2ca6ea82f4a811c10d254aa66495\",\n      \"css\": \"code-not-equal\",\n      \"code\": 983408,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 625H334V709H250V625ZM459 541H750V625H459V541ZM459 375H750V459H459V375ZM250 291H334V541H250V291ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-not-equal\"\n      ]\n    },\n    {\n      \"uid\": \"72e61886bd09af972969738b9ba355bd\",\n      \"css\": \"code-not-equal-variant\",\n      \"code\": 983409,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 271.5V388.7L347.7 500 459 611.3V728.5L228.5 500ZM541 267.6L773.4 500 541 732.4V613.3L656.3 500 541 386.7V267.6ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-not-equal-variant\"\n      ]\n    },\n    {\n      \"uid\": \"b2ff29bcbbc32afb289d223e7a6ee253\",\n      \"css\": \"code-parentheses\",\n      \"code\": 983410,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M734.4 125Q781.3 195.3 807.6 293.9T834 500 807.6 705.1 734.4 875L666 832Q707 773.4 728.5 685.5T750 500 727.5 314.5 666 168ZM265.6 125L334 168Q294.9 226.6 272.5 314.5T250 500 272.5 685.5 334 832L265.6 875Q218.8 804.7 192.4 706.1T166 500 192.4 293.9 265.6 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-parentheses\"\n      ]\n    },\n    {\n      \"uid\": \"5c8a7f959f2f5be8393ba90a64b1145b\",\n      \"css\": \"code-string\",\n      \"code\": 983411,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM521.5 459H478.5Q453.1 459 434.6 440.4T416 395.5 434.6 351.6 478.5 334H521.5Q546.9 334 565.4 351.6T584 396.5H666Q666 335.9 624 293T521.5 250H478.5Q418 250 376 293T334 396.5 376 499 478.5 541H521.5Q546.9 541 565.4 559.6T584 604.5 565.4 648.4 521.5 666H478.5Q453.1 666 434.6 648.4T416 603.5H334Q334 664.1 376 707T478.5 750H521.5Q582 750 624 707T666 603.5 624 501 521.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-string\"\n      ]\n    },\n    {\n      \"uid\": \"846fe0d4d6e35652a7a4e0cae89c6ed6\",\n      \"css\": \"code-tags\",\n      \"code\": 983412,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 691.4L800.8 500 607.4 308.6 666 250 916 500 666 750ZM392.6 691.4L199.2 500 392.6 308.6 334 250 84 500 334 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-tags\"\n      ]\n    },\n    {\n      \"uid\": \"a6e4b9a4062eaed68b89dc277f72028b\",\n      \"css\": \"codepen\",\n      \"code\": 983413,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M341.8 500L287.1 537.1V462.9ZM478.5 408.2V306.6L304.7 421.9 380.9 472.7ZM695.3 421.9L521.5 306.6V408.2L619.1 472.7ZM304.7 578.1L478.5 693.4V591.8L380.9 527.3ZM521.5 591.8V693.4L695.3 578.1 619.1 527.3ZM500 447.3L421.9 500 500 552.7 578.1 500ZM916 500Q916 613.3 860.4 709T709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500ZM757.8 421.9V418L755.9 414.1 750 404.3 511.7 246.1Q500 238.3 488.3 246.1L250 404.3 246.1 410.2 242.2 421.9V582L244.1 585.9 250 595.7 488.3 753.9Q492.2 757.8 499 757.8T511.7 753.9L748 597.7 752 593.8 757.8 580.1V421.9ZM712.9 537.1V462.9L658.2 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"codepen\"\n      ]\n    },\n    {\n      \"uid\": \"d5b14a688110a7fd765f5277981b9a2d\",\n      \"css\": \"coffee\",\n      \"code\": 983414,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 875H834V791H84V875ZM834 334H750V209H834V334ZM834 125H166V541Q166 611.3 214.8 660.2T334 709H584Q652.3 709 701.2 660.2T750 541V416H834Q867.2 416 891.6 391.6T916 334V209Q916 173.8 891.6 149.4T834 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee\"\n      ]\n    },\n    {\n      \"uid\": \"259400708a8c87407827be4a34f756c7\",\n      \"css\": \"coffee-to-go\",\n      \"code\": 983415,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 791V709H709L636.7 634.8 695.3 576.2 869.1 750 695.3 923.8 636.7 865.2 709 791H125ZM709 334V209H625V334H709ZM709 125Q742.2 125 766.6 149.4T791 209V334Q791 367.2 766.6 391.6T709 416H625V459Q625 527.3 576.2 576.2T459 625H291Q222.7 625 173.8 576.2T125 459V125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee-to-go\"\n      ]\n    },\n    {\n      \"uid\": \"050f9e27d36bc9bcabc7c39b9a81b3b0\",\n      \"css\": \"currency-usd-circle-outline\",\n      \"code\": 983416,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM459 709V666H375V584H541V541H416Q398.4 541 386.7 529.3T375 500V375Q375 357.4 386.7 345.7T416 334H459V291H541V334H625V416H459V459H584Q601.6 459 613.3 470.7T625 500V625Q625 642.6 613.3 654.3T584 666H541V709H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-usd-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b6df21102b2626ec06ac6eb7c8e61018\",\n      \"css\": \"color-helper\",\n      \"code\": 983417,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 1000H1000V834H0V1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"color-helper\"\n      ]\n    },\n    {\n      \"uid\": \"364714f1416f6e1cc6dd5e5062ad125f\",\n      \"css\": \"comment\",\n      \"code\": 983418,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment\"\n      ]\n    },\n    {\n      \"uid\": \"8fe3107be865bb0148d08fa8bc8d100a\",\n      \"css\": \"comment-account\",\n      \"code\": 983419,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM666 584V541Q666 503.9 603.5 478.5 552.7 459 500 459T396.5 478.5Q334 503.9 334 541V584H666ZM500 250Q464.8 250 440.4 274.4T416 333 440.4 391.6 500 416 559.6 391.6 584 333 559.6 274.4 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-account\"\n      ]\n    },\n    {\n      \"uid\": \"3980a1073657abbd73a96733851b19e2\",\n      \"css\": \"comment-account-outline\",\n      \"code\": 983420,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM666 584H334V541Q334 503.9 396.5 478.5 447.3 459 500 459T603.5 478.5Q666 503.9 666 541V584ZM500 250Q535.2 250 559.6 274.4T584 333 559.6 391.6 500 416 440.4 391.6 416 333 440.4 274.4 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"78b214263b08e24be4da6c9ae659264b\",\n      \"css\": \"comment-alert\",\n      \"code\": 983421,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM541 416V250H459V416H541ZM541 584V500H459V584H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-alert\"\n      ]\n    },\n    {\n      \"uid\": \"8eafc9ec86d1f06f2fb8883843282812\",\n      \"css\": \"comment-alert-outline\",\n      \"code\": 983422,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM541 416H459V250H541V416ZM541 584H459V500H541V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a3c40b6adfe4f91171bd11564ac03655\",\n      \"css\": \"comment-check\",\n      \"code\": 983423,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 625L750 291 691.4 232.4 416 507.8 308.6 400.4 250 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-check\"\n      ]\n    },\n    {\n      \"uid\": \"3bcab77e963dbe5b52e8f329d20f1fdb\",\n      \"css\": \"comment-check-outline\",\n      \"code\": 983424,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM687.5 334L459 562.5 312.5 416 371.1 357.4 459 445.3 628.9 275.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d9cc71d2f6e7b80b6e7a40a28ce1b40e\",\n      \"css\": \"comment-multiple-outline\",\n      \"code\": 983425,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959Q482.4 959 470.7 946.3T459 916V791H291Q257.8 791 233.4 766.6T209 709V291Q209 257.8 233.4 233.4T291 209H875Q910.2 209 934.6 233.4T959 291V709Q959 742.2 934.6 766.6T875 791H705.1L550.8 945.3Q537.1 959 521.5 959H500ZM541 709V835.9L669.9 709H875V291H291V709H541ZM125 625H41V125Q41 89.8 65.4 65.4T125 41H791V125H125V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8579359017a8db261ae2035584985af6\",\n      \"css\": \"comment-outline\",\n      \"code\": 983426,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d6e4d91730355f1b4f8aaeb32ce023a8\",\n      \"css\": \"comment-plus-outline\",\n      \"code\": 983427,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM459 250H541V375H666V459H541V584H459V459H334V375H459V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"99acf8055487a4a3db194807b4a4bd87\",\n      \"css\": \"comment-processing\",\n      \"code\": 983428,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM709 459V375H625V459H709ZM541 459V375H459V459H541ZM375 459V375H291V459H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-processing\"\n      ]\n    },\n    {\n      \"uid\": \"7c0febfb826f94a4ce2e2cb7c7743b15\",\n      \"css\": \"comment-processing-outline\",\n      \"code\": 983429,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM709 459H625V375H709V459ZM541 459H459V375H541V459ZM375 459H291V375H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-processing-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bf4f60ba99dd9e7674e1f826268fbdc0\",\n      \"css\": \"comment-question-outline\",\n      \"code\": 983430,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 892.6 345.7 904.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84H166ZM166 166H834V666H544.9L416 794.9V666H166V166ZM507.8 228.5Q453.1 228.5 418 252T386.7 320.3H195.3 468.8Q468.8 302.7 480.5 293.9T507.8 285.2Q529.3 285.2 540 295.9T550.8 324.2 541 355.5 515.6 378.9Q484.4 396.5 471.7 412.1T459 459H541Q541 441.4 546.9 430.7T568.4 410.2Q597.7 396.5 616.2 374T634.8 324.2Q634.8 281.3 600.6 254.9T507.8 228.5ZM459 500V584H541V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-question-outline\"\n      ]\n    },\n    {\n      \"uid\": \"315d47757e0546af6c9ff2f054bee6c8\",\n      \"css\": \"comment-remove-outline\",\n      \"code\": 983431,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM392.6 250L500 357.4 607.4 250 666 308.6 558.6 416 666 525.4 607.4 584 500 474.6 392.6 584 334 525.4 441.4 416 334 308.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7872e7571c1f33142c59e2e4f5ec32c1\",\n      \"css\": \"comment-text\",\n      \"code\": 983432,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM209 209V291H791V209H209ZM209 375V459H541V375H209ZM209 541V625H625V541H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-text\"\n      ]\n    },\n    {\n      \"uid\": \"eb8fb7492c02501df28b5373f6a94729\",\n      \"css\": \"comment-text-outline\",\n      \"code\": 983433,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM250 291H750V375H250V291ZM250 459H625V541H250V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cf54fd37f1d8bf60815c2be9960dfaab\",\n      \"css\": \"compare\",\n      \"code\": 983434,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H584V209H791V750L584 500V875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM416 750H209L416 500V750ZM416 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H416V959H500V41H416V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compare\"\n      ]\n    },\n    {\n      \"uid\": \"2d47e1f8eb28e855359470353c812b06\",\n      \"css\": \"compass\",\n      \"code\": 983435,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M591.8 591.8L250 750 408.2 408.2 750 250ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 455.1Q480.5 455.1 467.8 467.8T455.1 500 467.8 532.2 500 544.9 532.2 532.2 544.9 500 532.2 467.8 500 455.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compass\"\n      ]\n    },\n    {\n      \"uid\": \"754ccbeae57cce8a971f6cd53039fa38\",\n      \"css\": \"compass-outline\",\n      \"code\": 983436,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 709L425.8 425.8 709 291 574.2 574.2ZM500 462.9Q484.4 462.9 473.6 473.6T462.9 500 473.6 526.4 500 537.1 526.4 526.4 537.1 500 526.4 473.6 500 462.9ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compass-outline\"\n      ]\n    },\n    {\n      \"uid\": \"50d3dc4fcc5096694f3cca8721ba49e7\",\n      \"css\": \"console\",\n      \"code\": 983437,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 791V291H166V791H834ZM834 125Q867.2 125 891.6 149.4T916 209V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125H834ZM541 709V625H750V709H541ZM398.4 541L232.4 375H349.6L488.3 511.7Q500 525.4 500 542T488.3 572.3L351.6 709H232.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"console\"\n      ]\n    },\n    {\n      \"uid\": \"e4aaf23d8f58303957278d28ee6c0b97\",\n      \"css\": \"card-account-mail\",\n      \"code\": 983438,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 334V291L750 375 625 291V334L750 416ZM916 125H84Q48.8 125 24.4 149.4T0 209V791Q0 826.2 24.4 850.6T84 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM334 250Q384.8 250 421.9 286.1T459 375 421.9 463.9 333 500 245.1 463.9 209 375 245.1 286.1 334 250ZM584 750H84V709Q84 669.9 128.9 638.7 168 611.3 232.4 593.8 287.1 580.1 333 580.1T435.5 593.8Q498 611.3 537.1 638.7 584 669.9 584 709V750ZM916 500H584V250H916V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-mail\"\n      ]\n    },\n    {\n      \"uid\": \"3ab8a45e612b4c871ced5b9ed82052c6\",\n      \"css\": \"content-copy\",\n      \"code\": 983439,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875H334V291H791V875ZM791 209H334Q298.8 209 274.4 233.4T250 291V875Q250 910.2 274.4 934.6T334 959H791Q826.2 959 850.6 934.6T875 875V291Q875 257.8 850.6 233.4T791 209ZM666 41H166Q132.8 41 108.4 65.4T84 125V709H166V125H666V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-copy\"\n      ]\n    },\n    {\n      \"uid\": \"0d3ffed8a9ca2ecee4041c36de1681f0\",\n      \"css\": \"content-cut\",\n      \"code\": 983440,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125L541 375 625 459 916 166V125H791ZM500 521.5Q492.2 521.5 485.4 514.6T478.5 500 485.4 485.4 500 478.5 514.6 485.4 521.5 500 514.6 514.6 500 521.5ZM250 834Q214.8 834 190.4 809.6T166 750 190.4 690.4 250 666 309.6 690.4 334 750 309.6 809.6 250 834ZM250 334Q214.8 334 190.4 309.6T166 250 190.4 190.4 250 166 309.6 190.4 334 250 309.6 309.6 250 334ZM402.3 318.4Q416 285.2 416 250 416 181.6 367.2 132.8T250 84 132.8 132.8 84 250 132.8 367.2 250 416Q285.2 416 318.4 402.3L416 500 318.4 597.7Q285.2 584 250 584 181.6 584 132.8 632.8T84 750 132.8 867.2 250 916 367.2 867.2 416 750Q416 714.8 402.3 681.6L500 584 791 875H916V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-cut\"\n      ]\n    },\n    {\n      \"uid\": \"01632dadf17091cc19ee4c758c8069d6\",\n      \"css\": \"content-duplicate\",\n      \"code\": 983441,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709H166Q132.8 709 108.4 684.6T84 625V125Q84 89.8 108.4 65.4T166 41H666V125H166V625H459V541L625 666 459 791V709ZM791 875V291H334V541H250V291Q250 257.8 274.4 233.4T334 209H791Q826.2 209 850.6 233.4T875 291V875Q875 910.2 850.6 934.6T791 959H334Q298.8 959 274.4 934.6T250 875V791H334V875H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-duplicate\"\n      ]\n    },\n    {\n      \"uid\": \"243d75225ce82d5141f41aaae8de0acf\",\n      \"css\": \"content-paste\",\n      \"code\": 983442,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834H209V166H291V291H709V166H791V834ZM500 84Q517.6 84 529.3 95.7T541 125 529.3 154.3 500 166 470.7 154.3 459 125 470.7 95.7 500 84ZM791 84H617.2Q603.5 46.9 571.3 23.4T500 0 428.7 23.4 382.8 84H209Q173.8 84 149.4 108.4T125 166V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V166Q875 132.8 850.6 108.4T791 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-paste\"\n      ]\n    },\n    {\n      \"uid\": \"cb9056a0f982a67b301a832d376c53c8\",\n      \"css\": \"content-save\",\n      \"code\": 983443,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375H209V209H625V375ZM500 791Q447.3 791 411.1 754.9T375 667 411.1 578.1 500 541 588.9 578.1 625 667 588.9 754.9 500 791ZM709 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save\"\n      ]\n    },\n    {\n      \"uid\": \"135633ac0a633af673409e9f8d10f13c\",\n      \"css\": \"content-save-all\",\n      \"code\": 983444,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291V125H291V291H709ZM584 709Q634.8 709 671.9 671.9T709 583 671.9 495.1 583 459 495.1 495.1 459 583 495.1 671.9 584 709ZM791 41L959 209V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H791ZM41 291H125V875H709V959H125Q89.8 959 65.4 934.6T41 875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-all\"\n      ]\n    },\n    {\n      \"uid\": \"e7488c98f91be8418da25e39785c976a\",\n      \"css\": \"contrast\",\n      \"code\": 983445,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M181.6 871.1Q164.1 865.2 149.4 850.6T128.9 818.4L818.4 128.9Q835.9 134.8 850.6 149.4T871.1 181.6ZM834 666V750H541V666H834ZM125 250H250V125H334V250H459V334H334V459H250V334H125V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contrast\"\n      ]\n    },\n    {\n      \"uid\": \"57d34d932d5a81d1cdf685b2f16ea30d\",\n      \"css\": \"contrast-box\",\n      \"code\": 983446,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 646.5H500V709H709V646.5ZM791 791H209L791 209V791ZM228.5 312.5H312.5V228.5H375V312.5H459V375H375V459H312.5V375H228.5V312.5ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contrast-box\"\n      ]\n    },\n    {\n      \"uid\": \"e36527c16509f089717a9ea2afac111f\",\n      \"css\": \"contrast-circle\",\n      \"code\": 983447,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q431.6 834 371.1 807.6T263.7 736.3L736.3 263.7Q781.3 310.5 807.6 371.1T834 500Q834 589.8 789.1 667T667 789.1 500 834ZM250 334H334V250H396.5V334H478.5V396.5H396.5V478.5H334V396.5H250V334ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 666H709V603.5H500V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contrast-circle\"\n      ]\n    },\n    {\n      \"uid\": \"a6f8a6d5346972e752118b37adfb38e4\",\n      \"css\": \"cookie\",\n      \"code\": 983448,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500 175.8 687.5 312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500Q875 466.8 869.1 437.5 863.3 423.8 847.7 419.9 839.8 416 834 416H750V375Q750 349.6 728.5 337.9 718.8 334 709 334H625V291Q625 265.6 603.5 255.9 593.8 250 584 250H541V166Q541 140.6 521.5 130.9 509.8 125 500 125V125ZM396.5 250Q421.9 250 440.4 268.6T459 312.5 440.4 356.4 395.5 375 351.6 356.4 334 312.5 351.6 268.6 396.5 250ZM271.5 416Q296.9 416 315.4 434.6T334 479.5 315.4 523.4 270.5 541 226.6 523.4 209 479.5 226.6 434.6 271.5 416ZM478.5 459Q505.9 459 523.4 476.6T541 520.5 523.4 565.4 479.5 584 434.6 565.4 416 520.5 434.6 476.6 478.5 459ZM687.5 541Q712.9 541 731.4 559.6T750 604.5 731.4 648.4 687.5 666V666Q662.1 666 643.6 648.4T625 603.5V603.5Q625 578.1 643.6 559.6T687.5 541ZM459 666Q484.4 666 502.9 684.6T521.5 729.5 502.9 773.4 458 791 414.1 773.4 396.5 729.5 414.1 684.6 459 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cookie\"\n      ]\n    },\n    {\n      \"uid\": \"ffcd188506d42718ab9903200ccfcb9e\",\n      \"css\": \"counter\",\n      \"code\": 983449,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM166 250V750H459V250H166ZM834 750V250H781.3Q791 269.5 789.1 296.9V296.9Q787.1 326.2 759.8 365.2L662.1 470.7H800.8V521.5L585.9 519.5 584 478.5 648.4 408.2Q712.9 337.9 716.8 332 726.6 310.5 726.6 287.1 724.6 250 687.5 250 664.1 250 652.3 265.6 644.5 275.4 642.6 291V304.7H578.1L580.1 287.1Q584 267.6 593.8 250H541V750H648.4V714.8L689.5 712.9 699.2 710.9Q710.9 705.1 716.8 697.3 726.6 685.5 726.6 669.9 728.5 642.6 710.9 632.8 701.2 628.9 687.5 628.9T664.1 632.8Q642.6 642.6 642.6 664.1H580.1L582 650.4Q585.9 634.8 593.8 621.1 605.5 603.5 625 591.8 650.4 578.1 687.5 578.1T750 591.8Q769.5 601.6 779.3 621.1 787.1 634.8 789.1 650.4V662.1 677.7Q785.2 693.4 777.3 707 765.6 726.6 744.1 734.4L765.6 750H834ZM371.1 666H308.6V425.8L234.4 449.2V396.5L365.2 349.6H371.1V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"counter\"\n      ]\n    },\n    {\n      \"uid\": \"662148ecaacac426f75d1db6e4e3a4ab\",\n      \"css\": \"cow\",\n      \"code\": 983450,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 750Q445.3 750 452.1 755.9T459 770.5 452.1 785.2 437.5 791 422.9 785.2 416 770.5 422.9 755.9 437.5 750ZM562.5 750Q570.3 750 577.1 755.9T584 770.5 577.1 785.2 562.5 791 547.9 785.2 541 770.5 547.9 755.9 562.5 750ZM416 459Q433.6 459 446.3 470.7T459 500 446.3 529.3 416 541 386.7 529.3 375 500 386.7 470.7 416 459ZM584 459Q601.6 459 613.3 470.7T625 500 613.3 529.3 584 541 553.7 529.3 541 500 553.7 470.7 584 459ZM750 750Q750 794.9 716.8 833T626 893.6 500 916 374 893.6 283.2 833 250 750Q250 695.3 300.8 650.4 250 584 250 500L255.9 449.2Q218.8 459 183.6 449.2T114.3 409.2 86.9 355.5 137.7 325.2 218.8 330.1Q236.3 334 254.9 346.7T283.2 373L308.6 339.8Q293 314.5 296.9 273.4 300.8 226.6 328.1 189.5 359.4 144.5 416 125L412.1 130.9Q398.4 154.3 392.6 183.6 382.8 228.5 402.3 269.5 449.2 250 500 250T597.7 269.5Q617.2 228.5 607.4 183.6 601.6 154.3 587.9 130.9L584 125Q640.6 144.5 671.9 189.5 699.2 226.6 703.1 273.4 707 314.5 691.4 339.8L716.8 373Q726.6 359.4 745.1 346.7T781.3 330.1Q818.4 318.4 862.3 325.2T913.1 355.5 885.7 409.2 816.4 449.2 744.1 449.2L750 500Q750 584 699.2 650.4 750 695.3 750 750ZM500 666Q431.6 666 382.8 690.4T334 750 382.8 809.6 500 834 617.2 809.6 666 750 617.2 690.4 500 666ZM500 584Q568.4 584 627 607.4 666 560.5 666 500 666 431.6 617.2 382.8T500 334 382.8 382.8 334 500Q334 560.5 373 607.4 431.6 584 500 584ZM587.9 130.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cow\"\n      ]\n    },\n    {\n      \"uid\": \"60e0db5cf180ad2441d97ff59d4d1e72\",\n      \"css\": \"credit-card-outline\",\n      \"code\": 983451,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H166V250H834V334ZM834 750H166V500H834V750ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-outline\"\n      ]\n    },\n    {\n      \"uid\": \"547f583df032d7e03c31a0fe9e877a26\",\n      \"css\": \"credit-card-multiple-outline\",\n      \"code\": 983452,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 334V250H291V334H875ZM875 666V459H291V666H875ZM875 166Q910.2 166 934.6 190.4T959 250V666Q959 701.2 934.6 725.6T875 750H291Q257.8 750 233.4 725.6T209 666V250Q209 214.8 233.4 190.4T291 166H875ZM125 834H750V916H125Q89.8 916 65.4 891.6T41 834V375H125V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"51b4d56d8a2799846c7f3793db5ccee4\",\n      \"css\": \"credit-card-scan-outline\",\n      \"code\": 983453,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166H250V84H84Q48.8 84 24.4 108.4T0 166V334H84V166ZM916 84H750V166H916V334H1000V166Q1000 132.8 975.6 108.4T916 84ZM84 666H0V834Q0 867.2 24.4 891.6T84 916H250V834H84V666ZM916 834H750V916H916Q951.2 916 975.6 891.6T1000 834V666H916V834ZM166 334V666Q166 701.2 190.4 725.6T250 750H750Q785.2 750 809.6 725.6T834 666V334Q834 298.8 809.6 274.4T750 250H250Q214.8 250 190.4 274.4T166 334ZM250 666V500H750V666H250ZM750 334V416H250V334H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-scan-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dd64737cc5f9ea57e7c2851e88d9767f\",\n      \"css\": \"crop\",\n      \"code\": 983454,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 709V41H209V209H41V291H209V709Q209 742.2 233.4 766.6T291 791H709V959H791V791H959V709H291ZM709 625H791V291Q791 257.8 766.6 233.4T709 209H375V291H709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crop\"\n      ]\n    },\n    {\n      \"uid\": \"072a7a1ccc57b279b5be19bdb0187479\",\n      \"css\": \"crop-free\",\n      \"code\": 983455,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM125 209V375H209V209H375V125H209Q173.8 125 149.4 149.4T125 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crop-free\"\n      ]\n    },\n    {\n      \"uid\": \"8ff7b864e43183bea7041fc5844a322b\",\n      \"css\": \"crop-landscape\",\n      \"code\": 983456,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H209V291H791V709ZM791 209H209Q173.8 209 149.4 233.4T125 291V709Q125 742.2 149.4 766.6T209 791H791Q826.2 791 850.6 766.6T875 709V291Q875 257.8 850.6 233.4T791 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crop-landscape\"\n      ]\n    },\n    {\n      \"uid\": \"29dd0cd2ee1ddf956b980c3e4cc9d8c2\",\n      \"css\": \"crop-portrait\",\n      \"code\": 983457,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 791H291V209H709V791ZM709 125H291Q257.8 125 233.4 149.4T209 209V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V209Q791 173.8 766.6 149.4T709 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crop-portrait\"\n      ]\n    },\n    {\n      \"uid\": \"c48a8f181c90fcc86671fa2b958c84b1\",\n      \"css\": \"crop-square\",\n      \"code\": 983458,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 750H250V250H750V750ZM750 166H250Q214.8 166 190.4 190.4T166 250V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750V250Q834 214.8 809.6 190.4T750 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crop-square\"\n      ]\n    },\n    {\n      \"uid\": \"72ee7ee4e9dcfd01cc10b031c0fb5d3d\",\n      \"css\": \"crosshairs\",\n      \"code\": 983459,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M127 541H41V459H127Q136.7 373 182.6 300.8T300.8 182.6 459 127V41H541V127Q627 136.7 699.2 182.6T817.4 300.8 873 459H959V541H873Q863.3 627 817.4 699.2T699.2 817.4 541 873V959H459V873Q373 863.3 300.8 817.4T182.6 699.2 127 541ZM500 209Q419.9 209 353.5 248T248 353.5 209 500 248 646.5 353.5 752 500 791 646.5 752 752 646.5 791 500 752 353.5 646.5 248 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crosshairs\"\n      ]\n    },\n    {\n      \"uid\": \"fc1c6b44e074104f0a0624a18d0d0b23\",\n      \"css\": \"crosshairs-gps\",\n      \"code\": 983460,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334ZM127 541H41V459H127Q136.7 373 182.6 300.8T300.8 182.6 459 127V41H541V127Q627 136.7 699.2 182.6T817.4 300.8 873 459H959V541H873Q863.3 627 817.4 699.2T699.2 817.4 541 873V959H459V873Q373 863.3 300.8 817.4T182.6 699.2 127 541ZM500 209Q419.9 209 353.5 248T248 353.5 209 500 248 646.5 353.5 752 500 791 646.5 752 752 646.5 791 500 752 353.5 646.5 248 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crosshairs-gps\"\n      ]\n    },\n    {\n      \"uid\": \"8fd3de6ed53cbc9cd85e98a3d01dd973\",\n      \"css\": \"crown\",\n      \"code\": 983461,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 666L125 209 353.5 416 500 166 646.5 416 875 209 791 666H209ZM791 791Q791 810.5 780.3 822.3T750 834H250Q230.5 834 219.7 822.3T209 791V750H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crown\"\n      ]\n    },\n    {\n      \"uid\": \"29b831f054bd7289b882f40723d3498f\",\n      \"css\": \"cube\",\n      \"code\": 983462,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L252 312.5 500 451.2 748 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube\"\n      ]\n    },\n    {\n      \"uid\": \"3d985474ce43b99e13aa08db00bbccf4\",\n      \"css\": \"cube-outline\",\n      \"code\": 983463,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L252 312.5 500 451.2 748 312.5ZM209 662.1L459 804.7V523.4L209 382.8V662.1ZM791 662.1V382.8L541 523.4V804.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fcd457d9cf63a6a11ed491843c2f3287\",\n      \"css\": \"cube-send\",\n      \"code\": 983464,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 166L375 335.9V664.1L666 834 959 664.1V335.9ZM666 263.7L824.2 353.5 666 445.3 507.8 353.5ZM0 291V375H291V291H0ZM459 421.9L625 517.6V712.9L459 617.2V421.9ZM875 421.9V617.2L709 712.9V517.6ZM84 459V541H291V459H84ZM166 625V709H291V625H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube-send\"\n      ]\n    },\n    {\n      \"uid\": \"2e6affeb8772a0925ee60183d3fc9663\",\n      \"css\": \"cube-unfolded\",\n      \"code\": 983465,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 375V166H541V375H959V666H750V875H459V666H41V375H250ZM666 666H541V791H666V666ZM334 375H459V250H334V375ZM250 584V459H125V584H250ZM750 459V584H875V459H750ZM541 459V584H666V459H541ZM334 459V584H459V459H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube-unfolded\"\n      ]\n    },\n    {\n      \"uid\": \"0367df78fe7c49ef349f758674791259\",\n      \"css\": \"cup\",\n      \"code\": 983466,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M763.7 334H236.3L218.8 166H781.3ZM125 84L209 843.8Q212.9 875 236.3 895.5T291 916H709Q740.2 916 763.7 895.5T791 843.8L875 84H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cup\"\n      ]\n    },\n    {\n      \"uid\": \"08c7ad6df6bba8caabb3796235ea42fd\",\n      \"css\": \"cup-water\",\n      \"code\": 983467,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M763.7 334H236.3L218.8 166H781.3ZM500 791Q447.3 791 411.1 754.9T375 666Q375 628.9 408.2 572.3 429.7 529.3 466.8 482.4L500 441.4 533.2 482.4Q570.3 529.3 591.8 572.3 625 628.9 625 666 625 718.8 588.9 754.9T500 791ZM125 84L209 843.8Q212.9 875 236.3 895.5T291 916H709Q740.2 916 763.7 895.5T791 843.8L875 84H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cup-water\"\n      ]\n    },\n    {\n      \"uid\": \"dfaaeac5de67e6ed212815069ffad0df\",\n      \"css\": \"currency-btc\",\n      \"code\": 983468,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 166H334V84H416V166H500V84H584V168Q654.3 175.8 702.1 228.5T750 353.5Q750 394.5 734.4 430.7T689.5 492.2Q726.6 517.6 749 558.6T771.5 646.5Q771.5 724.6 716.8 779.3T584 834V916H500V834H416V916H334V834H250L271.5 750H334V250H250V166ZM416 541V750H584Q627 750 657.2 719.7T687.5 646.5 657.2 572.3 584 541H416ZM416 250V459H562.5Q605.5 459 635.7 427.7T666 353.5 635.7 280.3 562.5 250H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-btc\"\n      ]\n    },\n    {\n      \"uid\": \"1489bb03dc0cdaa0b19e3433ebf48c41\",\n      \"css\": \"currency-eur\",\n      \"code\": 983469,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M294.9 459L291 500 294.9 541H722.7L687.5 625H320.3Q355.5 699.2 426.8 745.1T584 791Q652.3 791 711.9 761.7T812.5 679.7V796.9Q765.6 834 706.1 854.5T584 875Q462.9 875 366.2 805.7T228.5 625H84L125 541H210.9L209 500 210.9 459H84L125 375H228.5Q269.5 263.7 366.2 194.3T584 125Q660.2 125 729.5 155.3T851.6 238.3L814.5 322.3Q775.4 269.5 713.9 239.3T584 209Q498 209 426.8 254.9T320.3 375H793L757.8 459H294.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-eur\"\n      ]\n    },\n    {\n      \"uid\": \"d4ff887d996f7d5cfd1af295f6ca1678\",\n      \"css\": \"currency-gbp\",\n      \"code\": 983470,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 875V791Q353.5 740.2 384.8 634.8 400.4 584 396.5 541V541H291V459H396.5Q363.3 312.5 412.1 220.7 460.9 125 584 125 621.1 125 652.3 130.9 675.8 134.8 695.3 140.6L709 146.5V228.5Q543 173.8 492.2 265.6 457 328.1 478.5 459H666V541H478.5L480.5 568.4Q480.5 603.5 476.6 634.8 468.8 681.6 453.1 716.8 431.6 763.7 396.5 791H750V875H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-gbp\"\n      ]\n    },\n    {\n      \"uid\": \"fc5cf48f74106bc9b5ed264de6f14034\",\n      \"css\": \"currency-inr\",\n      \"code\": 983471,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 125H750L709 209H572.3Q603.5 246.1 617.2 291H750L709 375H625Q617.2 455.1 560.5 513.7T425.8 582V584H396.5L646.5 875H541L291 584V500H396.5Q451.2 500 492.2 463.9T539.1 375H291L334 291H527.3Q509.8 253.9 474.6 231.4T396.5 209H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-inr\"\n      ]\n    },\n    {\n      \"uid\": \"4aa67bf4646460c4e8470de0d3e7fb27\",\n      \"css\": \"currency-ngn\",\n      \"code\": 983472,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 375H250V125H334L476.6 375H666V125H750V375H834V459H750V541H834V625H750V875H666L523.4 625H334V875H250V625H166V541H250V459H166V375ZM334 375H380.9L334 293V375ZM334 459V541H476.6L427.7 459H334ZM666 709V625H619.1ZM523.4 459L570.3 541H666V459H523.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-ngn\"\n      ]\n    },\n    {\n      \"uid\": \"a5ff8cc09153e25c66c0cfd317d5692a\",\n      \"css\": \"currency-rub\",\n      \"code\": 983473,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 416H291V125H603.5Q681.6 125 736.3 179.7T791 312.5 736.3 445.3 603.5 500H375V584H625V666H375V875H291V666H250V584H291V500H250V416ZM603.5 209H375V416H603.5Q646.5 416 677.7 385.7T709 312.5 677.7 239.3 603.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-rub\"\n      ]\n    },\n    {\n      \"uid\": \"51c169033edf1910431daaba5a1c81e0\",\n      \"css\": \"currency-try\",\n      \"code\": 983474,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500Q791 574.2 762.7 643.6T681.6 765.6 560.5 846.7 416 875H334V531.3L209 578.1V488.3L334 443.4V369.1L209 414.1V326.2L334 281.3V125H416V250L625 175.8V263.7L416 339.8V414.1L625 337.9V425.8L416 502V791Q496.1 791 562.5 752T668.9 646.5 709 500H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-try\"\n      ]\n    },\n    {\n      \"uid\": \"741ec88b38cee82576182be286205ff4\",\n      \"css\": \"delete-variant\",\n      \"code\": 983475,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M877 125L750 845.7Q744.1 877 720.7 896.5T666 916H334Q302.7 916 279.3 896.5T250 845.7L123 125H877ZM222.7 209L334 834H666L777.3 209H222.7ZM375 750V584H541V750H375ZM541 548.8L408.2 416 541 283.2 673.8 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-variant\"\n      ]\n    },\n    {\n      \"uid\": \"231875eab4e0fbe43f2fb41065caa46c\",\n      \"css\": \"delete\",\n      \"code\": 983476,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H646.5L603.5 125H396.5L353.5 166H209V250H791V166ZM250 791Q250 826.2 274.4 850.6T334 875H666Q701.2 875 725.6 850.6T750 791V291H250V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete\"\n      ]\n    },\n    {\n      \"uid\": \"47c36fe5bcdb7fe094e06278618be479\",\n      \"css\": \"decimal-increase\",\n      \"code\": 983477,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709L791 834V750H541V666H791V584ZM375 209Q427.7 209 463.9 245.1T500 334V459Q500 509.8 463.9 546.9T375 584 286.1 546.9 250 459V334Q250 281.3 286.1 245.1T375 209ZM375 291Q357.4 291 345.7 303.7T334 334V459Q334 476.6 345.7 488.3T375 500 404.3 488.3 416 459V334Q416 316.4 404.3 303.7T375 291ZM666 209Q718.8 209 754.9 245.1T791 334V459Q791 509.8 754.9 546.9T667 584 578.1 546.9 541 459V334Q541 281.3 578.1 245.1T666 209ZM666 291Q648.4 291 636.7 303.7T625 334V459Q625 476.6 636.7 488.3T666 500 696.3 488.3 709 459V334Q709 316.4 696.3 303.7T666 291ZM166 500Q183.6 500 196.3 511.7T209 541 196.3 571.3 166 584 136.7 571.3 125 541 136.7 511.7 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decimal-increase\"\n      ]\n    },\n    {\n      \"uid\": \"122f750f6b82084ccd80cc691d31028f\",\n      \"css\": \"decimal-decrease\",\n      \"code\": 983478,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709L625 834V750H875V666H625V584ZM375 209Q427.7 209 463.9 245.1T500 334V459Q500 509.8 463.9 546.9T375 584 286.1 546.9 250 459V334Q250 281.3 286.1 245.1T375 209ZM375 291Q357.4 291 345.7 303.7T334 334V459Q334 476.6 345.7 488.3T375 500 404.3 488.3 416 459V334Q416 316.4 404.3 303.7T375 291ZM166 500Q183.6 500 196.3 511.7T209 541 196.3 571.3 166 584 136.7 571.3 125 541 136.7 511.7 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decimal-decrease\"\n      ]\n    },\n    {\n      \"uid\": \"ade1158c4b8f85890e4c4a135da178ac\",\n      \"css\": \"debug-step-over\",\n      \"code\": 983479,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584Q535.2 584 559.6 608.4T584 667 559.6 725.6 500 750 440.4 725.6 416 667 440.4 608.4 500 584ZM976.6 369.1L912.1 656.3 625 589.8 783.2 490.2Q738.3 418 663.1 376T500 334Q419.9 334 349.6 370.1T232.4 468.8 171.9 609.4L89.8 595.7Q105.5 498 164.1 418.9T310.5 294.9 500 250Q609.4 250 703.1 303.7T853.5 447.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"debug-step-over\"\n      ]\n    },\n    {\n      \"uid\": \"21cb8b46257fead0bca83d3bae3b4102\",\n      \"css\": \"debug-step-out\",\n      \"code\": 983480,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q464.8 916 440.4 891.6T416 833 440.4 774.4 500 750 559.6 774.4 584 833 559.6 891.6 500 916ZM541 666H459V250L271.5 437.5 210.9 378.9 500 89.8 789.1 378.9 728.5 437.5 541 250V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"debug-step-out\"\n      ]\n    },\n    {\n      \"uid\": \"6bf06b42e38f89c00033c30cbd038930\",\n      \"css\": \"debug-step-into\",\n      \"code\": 983481,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q464.8 916 440.4 891.6T416 833 440.4 774.4 500 750 559.6 774.4 584 833 559.6 891.6 500 916ZM541 84V541L728.5 353.5 789.1 414.1 500 701.2 210.9 414.1 271.5 353.5 459 541V84H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"debug-step-into\"\n      ]\n    },\n    {\n      \"uid\": \"3f522049ced00bd2a32b4786c8a094bf\",\n      \"css\": \"database-plus\",\n      \"code\": 983482,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541 667 518.6 789.1 458 834 375V375 503.9L791 500Q710.9 500 647.5 545.9T556.6 664.1L500 666Q410.2 666 333 643.6T210.9 583 166 500V375ZM166 584Q166 628.9 210.9 667T333 727.5 500 750H541Q541 814.5 572.3 871.1L500 875Q410.2 875 333 852.5T210.9 792 166 709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-plus\"\n      ]\n    },\n    {\n      \"uid\": \"7665bf8fe69d0db6045585b2407d82c5\",\n      \"css\": \"database-minus\",\n      \"code\": 983483,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H959V791H625V709ZM500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541 667 518.6 789.1 458 834 375V500Q834 537.1 803.7 569.3T720.7 625H541V666H500Q410.2 666 333 643.6T210.9 583 166 500V375ZM166 584Q166 628.9 210.9 667T333 727.5 500 750L541 748V873L500 875Q410.2 875 333 852.5T210.9 792 166 709V584ZM834 584V625H822.3Q834 603.5 834 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-minus\"\n      ]\n    },\n    {\n      \"uid\": \"41769313818b238105b7be008b77f449\",\n      \"css\": \"database\",\n      \"code\": 983484,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q410.2 125 333 147.5T210.9 208 166 292 210.9 376 333 436.5 500 459 667 436.5 789.1 376 834 292 789.1 208 667 147.5 500 125ZM166 375V500Q166 544.9 210.9 583T333 643.6 500 666 667 643.6 789.1 583 834 500V375Q834 419.9 789.1 458T667 518.6 500 541 333 518.6 210.9 458 166 375ZM166 584V709Q166 753.9 210.9 792T333 852.5 500 875 667 852.5 789.1 792 834 709V584Q834 628.9 789.1 667T667 727.5 500 750 333 727.5 210.9 667 166 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database\"\n      ]\n    },\n    {\n      \"uid\": \"2e5e85803c5243188d0898ce04de6dc5\",\n      \"css\": \"cursor-pointer\",\n      \"code\": 983485,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M572.3 423.8L599.6 429.7 773.4 517.6Q794.9 523.4 807.6 543T818.4 585.9V595.7L781.3 851.6Q777.3 880.9 756.8 898.4T709 916H421.9Q388.7 916 369.1 894.5L119.1 646.5 156.3 603.5Q171.9 587.9 197.3 587.9H209L375 625V187.5Q375 152.3 399.4 127.9T458 103.5 516.6 127.9 541 187.5V423.8H572.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-pointer\"\n      ]\n    },\n    {\n      \"uid\": \"7b161ddf0e367b6cbc7759e23cec0e49\",\n      \"css\": \"cursor-move\",\n      \"code\": 983486,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 250V459H750V322.3L927.7 500 750 677.7V541H541V750H677.7L500 927.7 322.3 750H459V541H250V677.7L72.3 500 250 322.3V459H459V250H322.3L500 72.3 677.7 250H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-move\"\n      ]\n    },\n    {\n      \"uid\": \"4369ac42f21f361e9e6d7fb62486712f\",\n      \"css\": \"cursor-default-outline\",\n      \"code\": 983487,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M419.9 593.8Q435.5 587.9 451.2 593.8T474.6 615.2L570.3 822.3 646.5 787.1 548.8 580.1Q543 564.5 548.8 547.9T570.3 523.4L582 521.5 677.7 502 334 212.9V662.1L408.2 601.6ZM568.4 916Q552.7 923.8 536.1 918T513.7 896.5L421.9 699.2 318.4 783.2Q306.6 791 290 791T261.7 779.3 250 750V125Q250 107.4 261.7 95.7T290 84 318.4 93.8V91.8L796.9 494.1Q810.5 505.9 812.5 522.5T803.7 551.8 779.3 566.4L648.4 593.8 738.3 789.1Q748 804.7 741.2 821.3T718.8 845.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-default-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ba212509336166580d99f53f9e2f6ab2\",\n      \"css\": \"cursor-default\",\n      \"code\": 983488,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M568.4 916Q552.7 923.8 536.1 918T513.7 896.5L421.9 699.2 318.4 783.2Q306.6 791 290 791T261.7 779.3 250 750V125Q250 107.4 261.7 95.7T290 84 318.4 93.8V91.8L796.9 494.1Q810.5 505.9 812.5 522.5T803.7 551.8 779.3 566.4L648.4 593.8 738.3 789.1Q748 804.7 741.2 821.3T718.8 845.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-default\"\n      ]\n    },\n    {\n      \"uid\": \"75bb364adeafb1868eb05db4e79be456\",\n      \"css\": \"currency-usd\",\n      \"code\": 983489,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 625H375Q375 658.2 412.1 683.6T500 709 587.9 683.6 625 625 591.8 574.2Q564.5 558.6 490.2 541 427.7 525.4 398.4 513.7 349.6 494.1 324.2 464.8 291 427.7 291 374T332 276.4 437.5 216.8V125H562.5V216.8Q627 232.4 668 276.4T709 375H625Q625 341.8 587.9 316.4T500 291 412.1 316.4 375 375 408.2 425.8Q435.5 441.4 509.8 459 572.3 474.6 601.6 486.3 650.4 505.9 675.8 535.2 709 572.3 709 626T668 723.6 562.5 783.2V875H437.5V783.2Q373 767.6 332 723.6T291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-usd\"\n      ]\n    },\n    {\n      \"uid\": \"7a790bd86f112da753b09fe823994a03\",\n      \"css\": \"delta\",\n      \"code\": 983490,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 324.2L765.6 750H234.4ZM500 166L84 834H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delta\"\n      ]\n    },\n    {\n      \"uid\": \"1feb4b595c292bbad26471b1e57a7fc7\",\n      \"css\": \"deskphone\",\n      \"code\": 983491,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM625 209V791H791V209H625ZM209 209V375H541V209H209ZM209 459V541H291V459H209ZM334 459V541H416V459H334ZM459 459V541H541V459H459ZM209 584V666H291V584H209ZM334 584V666H416V584H334ZM459 584V666H541V584H459ZM459 709V791H541V709H459ZM334 709V791H416V709H334ZM209 709V791H291V709H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"deskphone\"\n      ]\n    },\n    {\n      \"uid\": \"f803d65bcc6198f5cef69a257fb2fbc8\",\n      \"css\": \"desktop-mac\",\n      \"code\": 983492,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 584H125V166H875V584ZM875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H416L334 875V916H666V875L584 750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desktop-mac\"\n      ]\n    },\n    {\n      \"uid\": \"abe0c713eca6811ae8c171e188b097a3\",\n      \"css\": \"desktop-tower\",\n      \"code\": 983493,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666Q701.2 84 725.6 108.4T750 166V834Q750 867.2 725.6 891.6T666 916H334Q298.8 916 274.4 891.6T250 834V166Q250 132.8 274.4 108.4T334 84ZM334 166V250H666V166H334ZM666 334H334V416H666V334ZM666 750H584V834H666V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desktop-tower\"\n      ]\n    },\n    {\n      \"uid\": \"d8309376cddbf3d9dc4892cae18cc444\",\n      \"css\": \"details\",\n      \"code\": 983494,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M265.6 250H734.4L500 666ZM125 166L500 834 875 166H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"details\"\n      ]\n    },\n    {\n      \"uid\": \"4a24cfae61fe8495175cb5312c8fb308\",\n      \"css\": \"deviantart\",\n      \"code\": 983495,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 250H500L584 84H750V250L603.5 541H750V750H500L416 916H250V750L396.5 459H250V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"deviantart\"\n      ]\n    },\n    {\n      \"uid\": \"c4b9312b5e62e0ca288f1b7e1887274e\",\n      \"css\": \"diamond-stone\",\n      \"code\": 983496,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375H791L584 666ZM416 375H584L500 709ZM209 375H334L416 666ZM625 166H709L791 291H666ZM459 166H541L584 291H416ZM291 166H375L334 291H209ZM250 84L84 334 500 916 916 334 750 84H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diamond-stone\"\n      ]\n    },\n    {\n      \"uid\": \"f5596ada0e7ed8d9bfff6a761fe883f9\",\n      \"css\": \"ab-testing\",\n      \"code\": 983497,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V500H166V334H250V500H334V166Q334 132.8 309.6 108.4T250 84H166ZM166 166H250V250H166V166ZM916 646.5V584Q916 548.8 891.6 524.4T834 500H666V916H834Q867.2 916 891.6 891.6T916 834V771.5Q916 746.1 897.5 727.5T853.5 709Q878.9 707 897.5 689.5T916 646.5ZM834 834H750V750H834V834ZM834 666H750V584H834V666ZM242.2 900.4L175.8 849.6 757.8 99.6 824.2 150.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ab-testing\"\n      ]\n    },\n    {\n      \"uid\": \"637215cdd38a09b168a607e258cfb476\",\n      \"css\": \"dice-1\",\n      \"code\": 983498,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-1\"\n      ]\n    },\n    {\n      \"uid\": \"56e56890eccb92af27889b4c74de22e6\",\n      \"css\": \"dice-2\",\n      \"code\": 983499,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209ZM709 625Q673.8 625 649.4 649.4T625 708 649.4 766.6 708 791 766.6 766.6 791 708 766.6 649.4 709 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-2\"\n      ]\n    },\n    {\n      \"uid\": \"3ea79c3b24f37df540fd32c0b324dcdf\",\n      \"css\": \"dice-3\",\n      \"code\": 983500,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209ZM709 625Q673.8 625 649.4 649.4T625 708 649.4 766.6 708 791 766.6 766.6 791 708 766.6 649.4 709 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-3\"\n      ]\n    },\n    {\n      \"uid\": \"31949f0fcf0308406ee3edeb9a1788a2\",\n      \"css\": \"dice-4\",\n      \"code\": 983501,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209ZM709 625Q673.8 625 649.4 649.4T625 708 649.4 766.6 708 791 766.6 766.6 791 708 766.6 649.4 709 625ZM709 209Q673.8 209 649.4 233.4T625 292 649.4 350.6 708 375 766.6 350.6 791 292 766.6 233.4 709 209ZM291 625Q257.8 625 233.4 649.4T209 708 233.4 766.6 292 791 350.6 766.6 375 708 350.6 649.4 291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-4\"\n      ]\n    },\n    {\n      \"uid\": \"b76c33663752e526e539e784ccc61c7c\",\n      \"css\": \"dice-5\",\n      \"code\": 983502,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209ZM709 625Q673.8 625 649.4 649.4T625 708 649.4 766.6 708 791 766.6 766.6 791 708 766.6 649.4 709 625ZM709 209Q673.8 209 649.4 233.4T625 292 649.4 350.6 708 375 766.6 350.6 791 292 766.6 233.4 709 209ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM291 625Q257.8 625 233.4 649.4T209 708 233.4 766.6 292 791 350.6 766.6 375 708 350.6 649.4 291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-5\"\n      ]\n    },\n    {\n      \"uid\": \"4c841505da9ac37cfb6738e7eb3fc150\",\n      \"css\": \"dice-6\",\n      \"code\": 983503,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209ZM709 625Q673.8 625 649.4 649.4T625 708 649.4 766.6 708 791 766.6 766.6 791 708 766.6 649.4 709 625ZM709 416Q673.8 416 649.4 440.4T625 500 649.4 559.6 708 584 766.6 559.6 791 500 766.6 440.4 709 416ZM709 209Q673.8 209 649.4 233.4T625 292 649.4 350.6 708 375 766.6 350.6 791 292 766.6 233.4 709 209ZM291 416Q257.8 416 233.4 440.4T209 500 233.4 559.6 292 584 350.6 559.6 375 500 350.6 440.4 291 416ZM291 625Q257.8 625 233.4 649.4T209 708 233.4 766.6 292 791 350.6 766.6 375 708 350.6 649.4 291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-6\"\n      ]\n    },\n    {\n      \"uid\": \"d98b09080c2cf6ad2cc2500881c8850f\",\n      \"css\": \"directions\",\n      \"code\": 983504,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 603.5V500H416V625H334V459Q334 441.4 345.7 428.7T375 416H584V312.5L728.5 459ZM904.3 470.7L529.3 95.7V95.7Q517.6 84 500 84T470.7 95.7L95.7 470.7Q84 482.4 84 500T95.7 529.3L470.7 904.3Q482.4 916 500 916T529.3 904.3L904.3 529.3Q916 517.6 916 500T904.3 470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"directions\"\n      ]\n    },\n    {\n      \"uid\": \"132a98d3ac6763e6d1871b6d42e7ff6a\",\n      \"css\": \"disc-alert\",\n      \"code\": 983505,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 584Q382.8 584 358.4 559.6T334 500 358.4 440.4 417 416 475.6 440.4 500 500 475.6 559.6 416 584ZM416 166Q326.2 166 250 210.9T128.9 333 84 500 128.9 667 250 789.1 417 834 584 789.1 705.1 667 750 500 705.1 333 584 210.9 416 166ZM834 500H916V291H834V500ZM834 666H916V584H834V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"disc-alert\"\n      ]\n    },\n    {\n      \"uid\": \"fad7595037db0af4376bcbfdb32db113\",\n      \"css\": \"disqus\",\n      \"code\": 983506,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M503.9 916Q427.7 916 359.4 890.6T236.3 818.4L58.6 841.8 127 673.8Q89.8 587.9 89.8 500 89.8 386.7 145.5 291T295.9 139.6 502.9 84 710 139.6 860.4 291 916 500 860.4 709 710 860.4 503.9 916ZM728.5 498V498Q728.5 406.3 667 348.6T498 291H339.8V709H496.1Q603.5 709 666 650.4T728.5 498ZM500 605.5H453.1V394.5H500Q550.8 394.5 582 422.9T613.3 500V500Q613.3 550.8 582 578.1T500 605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"disqus\"\n      ]\n    },\n    {\n      \"uid\": \"cedf8253585f363335c0fec68df2cf98\",\n      \"css\": \"video-plus-outline\",\n      \"code\": 983507,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 334V666H209V334H625ZM666 250H166Q150.4 250 137.7 262.7T125 291V709Q125 724.6 137.7 737.3T166 750H666Q683.6 750 696.3 737.3T709 709V562.5L875 728.5V271.5L709 437.5V291Q709 275.4 696.3 262.7T666 250ZM541 541H459V625H375V541H291V459H375V375H459V459H541V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"627745fd69c5904267fa69c2013f4ac8\",\n      \"css\": \"division\",\n      \"code\": 983508,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 541H209V459H791V541ZM500 209Q535.2 209 559.6 233.4T584 292 559.6 350.6 500 375 440.4 350.6 416 292 440.4 233.4 500 209ZM500 625Q535.2 625 559.6 649.4T584 708 559.6 766.6 500 791 440.4 766.6 416 708 440.4 649.4 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"division\"\n      ]\n    },\n    {\n      \"uid\": \"389071e329c3a81e83e2555d8d1d359c\",\n      \"css\": \"division-box\",\n      \"code\": 983509,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541V459H291V541H709ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM500 291Q482.4 291 470.7 303.7T459 334 470.7 363.3 500 375 529.3 363.3 541 334 529.3 303.7 500 291ZM500 625Q482.4 625 470.7 636.7T459 666 470.7 696.3 500 709 529.3 696.3 541 666 529.3 636.7 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"division-box\"\n      ]\n    },\n    {\n      \"uid\": \"f8429e9c68697508e569c5b231c84431\",\n      \"css\": \"dns\",\n      \"code\": 983510,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 375Q257.8 375 233.4 350.6T209 292 233.4 233.4 292 209 350.6 233.4 375 292 350.6 350.6 291 375ZM834 125H166Q148.4 125 136.7 136.7T125 166V416Q125 433.6 136.7 446.3T166 459H834Q851.6 459 863.3 446.3T875 416V166Q875 148.4 863.3 136.7T834 125ZM291 791Q257.8 791 233.4 766.6T209 708 233.4 649.4 292 625 350.6 649.4 375 708 350.6 766.6 291 791ZM834 541H166Q148.4 541 136.7 553.7T125 584V834Q125 851.6 136.7 863.3T166 875H834Q851.6 875 863.3 863.3T875 834V584Q875 566.4 863.3 553.7T834 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dns\"\n      ]\n    },\n    {\n      \"uid\": \"bec6620558c4b2e63f8e8142ac55f760\",\n      \"css\": \"domain\",\n      \"code\": 983511,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 625H666V709H750V625ZM750 459H666V541H750V459ZM834 791H500V709H584V625H500V541H584V459H500V375H834V791ZM416 291H334V209H416V291ZM416 459H334V375H416V459ZM416 625H334V541H416V625ZM416 791H334V709H416V791ZM250 291H166V209H250V291ZM250 459H166V375H250V459ZM250 625H166V541H250V625ZM250 791H166V709H250V791ZM500 291V125H84V875H916V291H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"domain\"\n      ]\n    },\n    {\n      \"uid\": \"5e98a94c9e9f3c8d17c6753606df4a9b\",\n      \"css\": \"dots-horizontal\",\n      \"code\": 983512,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 500Q666 464.8 690.4 440.4T750 416 809.6 440.4 834 500 809.6 559.6 750 584 690.4 559.6 666 500ZM416 500Q416 464.8 440.4 440.4T500 416 559.6 440.4 584 500 559.6 559.6 500 584 440.4 559.6 416 500ZM166 500Q166 464.8 190.4 440.4T250 416 309.6 440.4 334 500 309.6 559.6 250 584 190.4 559.6 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dots-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"4b25b92721f5ef72df7e182243314d70\",\n      \"css\": \"dots-vertical\",\n      \"code\": 983513,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 666Q535.2 666 559.6 690.4T584 750 559.6 809.6 500 834 440.4 809.6 416 750 440.4 690.4 500 666ZM500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM500 166Q535.2 166 559.6 190.4T584 250 559.6 309.6 500 334 440.4 309.6 416 250 440.4 190.4 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dots-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"c96851d7a9404f4a9fdeb4920c0278f8\",\n      \"css\": \"download\",\n      \"code\": 983514,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834H791V750H209V834ZM791 375H625V125H375V375H209L500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download\"\n      ]\n    },\n    {\n      \"uid\": \"90031883483c8160d8bfc9015f21b0f3\",\n      \"css\": \"drag\",\n      \"code\": 983515,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 791V709H375V791H291ZM459 791V709H541V791H459ZM625 791V709H709V791H625ZM291 625V541H375V625H291ZM459 625V541H541V625H459ZM625 625V541H709V625H625ZM291 459V375H375V459H291ZM459 459V375H541V459H459ZM625 459V375H709V459H625ZM291 291V209H375V291H291ZM459 291V209H541V291H459ZM625 291V209H709V291H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drag\"\n      ]\n    },\n    {\n      \"uid\": \"40a44fead6026153f4d87a8083c3669f\",\n      \"css\": \"drag-horizontal\",\n      \"code\": 983516,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625V541H209V625H125ZM125 459V375H209V459H125ZM291 625V541H375V625H291ZM291 459V375H375V459H291ZM459 625V541H541V625H459ZM459 459V375H541V459H459ZM625 625V541H709V625H625ZM625 459V375H709V459H625ZM791 625V541H875V625H791ZM791 459V375H875V459H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drag-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"f60c9a6d6c258aa48fa4cdee70106b56\",\n      \"css\": \"drag-vertical\",\n      \"code\": 983517,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125H459V209H375V125ZM541 125H625V209H541V125ZM375 291H459V375H375V291ZM541 291H625V375H541V291ZM375 459H459V541H375V459ZM541 459H625V541H541V459ZM375 625H459V709H375V625ZM541 625H625V709H541V625ZM375 791H459V875H375V791ZM541 791H625V875H541V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drag-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"4d2ad6f72853af67f166e4e3699ce019\",\n      \"css\": \"drawing\",\n      \"code\": 983518,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 125Q400.4 125 442.4 142.6T516.6 192.4 566.4 266.6 584 353.5Q584 437.5 531.3 500H875V875H500V531.3Q437.5 584 353.5 584 291 584 239.3 552.7T156.3 468.8 125 353.5 156.3 239.3 239.3 156.3 353.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drawing\"\n      ]\n    },\n    {\n      \"uid\": \"cbc2d577d7f47f3e35936f6a1c44717c\",\n      \"css\": \"drawing-box\",\n      \"code\": 983519,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 750H500V507.8Q455.1 550.8 393.6 550.8T287.1 504.9 242.2 395.5 287.1 287.1 395.5 242.2 504.9 287.1 550.8 393.6 507.8 500H750V750ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drawing-box\"\n      ]\n    },\n    {\n      \"uid\": \"aa93393d59af5a629df04bb438619a72\",\n      \"css\": \"shield-refresh-outline\",\n      \"code\": 983520,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 875Q421.9 855.5 354.5 792T248 641.6 209 466.8V261.7L500 132.8 791 261.7V503.9Q832 509.8 871.1 529.3 875 503.9 875 459V209L500 41 125 209V459Q125 572.3 173.8 676.8T307.6 856.4 500 959Q517.6 955.1 541 945.3 509.8 906.3 500 875ZM750 603.5Q822.3 603.5 867.2 654.3L916 603.5V771.5H750L824.2 695.3Q789.1 666 750 666 707 666 676.8 696.3T646.5 770.5 676.8 844.7 750 875Q798.8 875 834 834H904.3Q884.8 880.9 843.8 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-refresh-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5669ac2f4ff870395cf1b013346f4f19\",\n      \"css\": \"calendar-refresh\",\n      \"code\": 983521,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H584Q546.9 845.7 521.5 791H209V334H791V441.4Q841.8 449.2 875 470.7V209Q875 173.8 850.6 149.4T791 125ZM750 521.5Q822.3 521.5 867.2 570.3L916 521.5V687.5H750L824.2 613.3Q789.1 584 750 584 707 584 676.8 614.3T646.5 687.5 676.8 760.7 750 791Q798.8 791 834 750H904.3Q884.8 796.9 843.8 825.2T750 853.5Q681.6 853.5 632.8 804.7T584 687.5 632.8 570.3 750 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"442a16f4f1fa2d35a5aa2a64929844a0\",\n      \"css\": \"drone\",\n      \"code\": 983522,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 459H875L834 375H572.3L666 521.5H584L447.3 375H166Q146.5 375 115.2 362.3T84 335 104.5 294.9 154.3 252Q191.4 228.5 227.5 228.5T289.1 240.2Q304.7 246.1 328.1 263.7 355.5 283.2 375 291H875Q892.6 291 904.3 303.7T916 334V459ZM447.3 271.5L584 125H666L572.3 271.5H447.3ZM750 459V396.5H822.3L791 459H750ZM125 791Q107.4 791 95.7 779.3T84 750 95.7 720.7 125 709Q193.4 709 242.2 757.8T291 875Q291 892.6 279.3 904.3T250 916 220.7 904.3 209 875Q209 839.8 184.6 815.4T125 791ZM459 875Q459 892.6 446.3 904.3T416 916 386.7 904.3 375 875Q375 806.6 341.8 749T251 658.2 125 625Q107.4 625 95.7 613.3T84 584 95.7 553.7 125 541Q214.8 541 292 585.9T414.1 708 459 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drone\"\n      ]\n    },\n    {\n      \"uid\": \"2179a62f3e8108e53fa913cb1f0918cb\",\n      \"css\": \"dropbox\",\n      \"code\": 983523,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 257.8L334 390.6 541 257.8 334 125ZM541 257.8L750 390.6 959 257.8 750 125ZM125 523.4L334 656.3 541 523.4 334 388.7ZM750 388.7L541 523.4 750 656.3 959 523.4ZM334 699.2L543 834 752 699.2 543 566.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dropbox\"\n      ]\n    },\n    {\n      \"uid\": \"6579ab19c2a1d6d113c2c9bc0991899c\",\n      \"css\": \"drupal\",\n      \"code\": 983524,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 611.3Q853.5 632.8 845.7 662.1T825.2 713.9 800.8 744.1 767.6 752Q759.8 752 742.2 738.3L712.9 709Q687.5 683.6 675.8 673.8 654.3 656.3 639.6 655.3T601.6 668Q585.9 673.8 552.7 695.3 503.9 724.6 478.5 736.3 435.5 757.8 404.3 757.8 351.6 757.8 324.2 738.3 289.1 714.8 289.1 658.2 289.1 609.4 330.1 572.3T425.8 535.2Q462.9 535.2 503.9 554.7 525.4 566.4 566.4 593.8 593.8 613.3 605.5 619.1 625 628.9 638.7 628.9T675.8 615.2Q689.5 609.4 719.7 588.9T763.7 560.5Q787.1 548.8 798.8 548.8 826.2 543 841.8 566.4 853.5 584 853.5 611.3ZM693.4 220.7Q669.9 207 627.9 186.5T564.5 154.3Q533.2 132.8 470.7 60.5 460.9 103.5 452.1 124T425.8 158.2Q369.1 197.3 320.3 220.7 257.8 253.9 210.9 310.5 125 412.1 125 548.8 125 652.3 179.7 738.3 230.5 820.3 317.4 868.2T502.9 916 687.5 870.1 822.3 744.1Q875 658.2 875 552.7 880.9 419.9 800.8 316.4 759.8 263.7 695.3 222.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drupal\"\n      ]\n    },\n    {\n      \"uid\": \"3f825c47651a32b7460c4fc09cd6eda8\",\n      \"css\": \"duck\",\n      \"code\": 983525,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 209Q328.1 209 309.6 226.6T291 270.5 309.6 315.4 354.5 334 398.4 315.4 416 270.5 398.4 226.6 353.5 209ZM416 84Q472.7 84 520.5 111.3T596.7 186.5 625 291Q625 343.8 600.6 388.7T535.2 462.9Q656.3 474.6 750 521.5 828.1 560.5 880.9 533.2 906.3 521.5 916 500V500L910.2 539.1Q900.4 587.9 886.7 632.8 865.2 695.3 835.9 742.2 798.8 802.7 752 835.9 695.3 875 625 875H375L341.8 871.1Q302.7 865.2 271.5 849.6 224.6 826.2 199.2 787.1 166 738.3 166 666 166 627 183.6 587.9 195.3 566.4 221.7 529.3T253.9 474.6Q263.7 445.3 250 416 193.4 416 154.3 394.5 123 375 103.5 343.8 91.8 320.3 85.9 293L84 271.5Q113.3 285.2 148.4 287.1T209 277.3Q214.8 195.3 274.4 139.6T416 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"duck\"\n      ]\n    },\n    {\n      \"uid\": \"2863f05361f37188ac4a53b059536da1\",\n      \"css\": \"dumbbell\",\n      \"code\": 983526,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M857.4 619.1L916 560.5 857.4 500 709 648.4 351.6 291 500 142.6 439.5 84 380.9 142.6 320.3 84 232.4 171.9 171.9 113.3 113.3 171.9 171.9 232.4 84 320.3 142.6 380.9 84 439.5 142.6 500 291 351.6 648.4 709 500 857.4 560.5 916 619.1 857.4 679.7 916 767.6 828.1 828.1 886.7 886.7 828.1 828.1 767.6 916 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dumbbell\"\n      ]\n    },\n    {\n      \"uid\": \"3761f4799b943628e45747083052cf62\",\n      \"css\": \"earth\",\n      \"code\": 983527,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M746.1 724.6Q738.3 699.2 715.8 682.6T666 666H625V541Q625 523.4 613.3 511.7T584 500H334V416H416Q433.6 416 446.3 404.3T459 375V291H541Q576.2 291 600.6 266.6T625 209V191.4Q718.8 228.5 776.4 312.5T834 500Q834 564.5 810.5 622.1T746.1 724.6ZM459 830.1Q377 820.3 310.5 773.4T205.1 655.3 166 500Q166 462.9 175.8 425.8L375 625V666Q375 701.2 399.4 725.6T459 750V830.1ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth\"\n      ]\n    },\n    {\n      \"uid\": \"6bb33802002c0a47ee26624d97fb2a71\",\n      \"css\": \"earth-off\",\n      \"code\": 983528,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 218.8L853.5 281.3Q916 380.9 916 500 916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916Q380.9 916 281.3 853.5L218.8 916 166 863.3 863.3 166ZM746.1 724.6Q787.1 679.7 810.5 622.1T834 500Q834 416 793 341.8L617.2 517.6Q625 529.3 625 541V666H666Q693.4 666 715.8 682.6T746.1 724.6ZM459 830.1V750Q427.7 750 406.3 730.5L341.8 793Q396.5 822.3 459 830.1ZM625 191.4V209Q625 242.2 600.6 266.6T541 291H459V375Q459 392.6 446.3 404.3T416 416H334V500H423.8L337.9 587.9 175.8 425.8Q166 462.9 166 500 166 607.4 228.5 695.3L169.9 753.9Q84 642.6 84 500 84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84Q642.6 84 753.9 169.9L695.3 228.5Q662.1 205.1 625 191.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-off\"\n      ]\n    },\n    {\n      \"uid\": \"c6de729a8512165bf94dbf1f13cc0764\",\n      \"css\": \"microsoft-edge\",\n      \"code\": 983529,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M453.1 640.6Q406.3 589.8 398.4 527.3 378.9 556.6 367.2 589.8 349.6 646.5 362.3 708T414.1 819.3 509.8 888.7Q576.2 912.1 658.2 880.9 726.6 855.5 789.1 800.8L802.7 785.2Q834 752 843.8 736.3 863.3 705.1 841.8 701.2 746.1 752 634.8 735.4T453.1 640.6ZM476.6 398.4Q500 398.4 497.1 392.6T476.6 377L460.9 367.2Q396.5 332 316.4 332T175.8 365.2 93.8 457Q70.3 519.5 95.7 599.6 125 722.7 221.7 809.6T441.4 912.1Q377 873 340.8 803.7T304.7 658.2Q306.6 574.2 353.5 500 402.3 419.9 476.6 398.4ZM115.2 343.8Q177.7 296.9 259.8 284.2T420.9 294.9 552.7 375Q587.9 414.1 599.6 462.9 613.3 517.6 585.9 556.6 552.7 591.8 589.8 615.2 617.2 630.9 677.7 636.7 732.4 640.6 757.8 634.8 832 619.1 875 560.5 914.1 507.8 916 434.6T880.9 298.8Q828.1 195.3 720.7 136.7 619.1 82 498 84 373 82 267.6 153.3T115.2 343.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-edge\"\n      ]\n    },\n    {\n      \"uid\": \"d56613ce37437da31783263bb75f6ec3\",\n      \"css\": \"eject\",\n      \"code\": 983530,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209L222.7 625H777.3ZM209 709H791V791H209V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eject\"\n      ]\n    },\n    {\n      \"uid\": \"4150d1eeb45778953930e030acb5c7c1\",\n      \"css\": \"elevation-decline\",\n      \"code\": 983531,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 875H125V468.8L394.5 625 550.8 533.2 875 720.7V875ZM125 373V281.3L394.5 437.5 550.8 345.7 875 533.2V625L550.8 437.5 394.5 527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elevation-decline\"\n      ]\n    },\n    {\n      \"uid\": \"7ed316531dc1c9469dc8cbfcf537bd65\",\n      \"css\": \"elevation-rise\",\n      \"code\": 983532,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 875V720.7L449.2 533.2 605.5 625 875 468.8V875H125ZM875 373L605.5 527.3 449.2 437.5 125 625V533.2L449.2 345.7 605.5 437.5 875 281.3V373Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elevation-rise\"\n      ]\n    },\n    {\n      \"uid\": \"399a37323bb5d6325a9e30aa265f373d\",\n      \"css\": \"elevator\",\n      \"code\": 983533,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84L459 250H334V416H250V250H125ZM709 416L541 250H666V84H750V250H875ZM291 500H709Q742.2 500 766.6 524.4T791 584V834Q791 867.2 766.6 891.6T709 916H291Q257.8 916 233.4 891.6T209 834V584Q209 548.8 233.4 524.4T291 500ZM291 584V834H709V584H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elevator\"\n      ]\n    },\n    {\n      \"uid\": \"9847751f8e43c26d190099e3408b67ad\",\n      \"css\": \"email\",\n      \"code\": 983534,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334L500 541 166 334V250L500 459 834 250V334ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email\"\n      ]\n    },\n    {\n      \"uid\": \"e67592cf2411a8b37257fd333033af65\",\n      \"css\": \"email-open\",\n      \"code\": 983535,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334L500 541 834 334 500 125ZM916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V334Q84 310.5 94.7 292T123 261.7L500 27.3 877 261.7Q894.5 273.4 905.3 292T916 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-open\"\n      ]\n    },\n    {\n      \"uid\": \"bcf418926fdbfce4aaf2f798fe98077d\",\n      \"css\": \"email-lock\",\n      \"code\": 983537,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 0Q896.5 0 927.7 30.3T959 103.5V125Q976.6 125 988.3 136.7T1000 166V334Q1000 351.6 988.3 363.3T959 375H750Q732.4 375 720.7 363.3T709 334V166Q709 148.4 720.7 136.7T750 125V103.5Q750 60.5 780.3 30.3T853.5 0ZM500 459L166 250V334L500 541 673.8 433.6Q709 459 750 459H916V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H625V334Q625 355.5 632.8 375ZM853.5 41Q828.1 41 809.6 59.6T791 103.5V125H916V103.5Q916 78.1 898.4 59.6T853.5 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-lock\"\n      ]\n    },\n    {\n      \"uid\": \"c1ed7ff06e36b8030a4acbfd8ed173a2\",\n      \"css\": \"emoticon-outline\",\n      \"code\": 983538,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 728.5Q572.3 728.5 629.9 688.5T712.9 584H287.1Q312.5 648.4 370.1 688.5T500 728.5ZM353.5 459Q380.9 459 398.4 440.4T416 395.5 398.4 351.6 354.5 334 309.6 351.6 291 395.5 309.6 440.4 353.5 459ZM646.5 459Q671.9 459 690.4 440.4T709 395.5 690.4 351.6 645.5 334 601.6 351.6 584 395.5 601.6 440.4 646.5 459ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f7ac4aff33877eb05dd2a29620f39a6\",\n      \"css\": \"emoticon-cool-outline\",\n      \"code\": 983539,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416Q791 457 740.2 490.2 693.4 521.5 647.5 521.5T566.4 490.2 531.3 416H468.8Q468.8 459 433.6 490.2T352.5 521.5 259.8 490.2Q209 457 209 416H177.7Q166 459 166 500 166 589.8 210.9 667T333 789.1 500 834 667 789.1 789.1 667 834 500Q834 459 822.3 416H791ZM500 166Q408.2 166 332 211.9T210.9 334H789.1Q744.1 257.8 668 211.9T500 166ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-cool-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7086978c55decf815347b602f27544fb\",\n      \"css\": \"emoticon-devil-outline\",\n      \"code\": 983540,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M62.5 87.9Q117.2 142.6 236.3 177.7 291 132.8 358.4 108.4T500 84 641.6 108.4 763.7 177.7Q882.8 142.6 937.5 87.9 935.5 187.5 845.7 267.6 916 371.1 916 500 916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500Q84 371.1 154.3 267.6 64.5 187.5 62.5 87.9ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM437.5 416Q437.5 441.4 418.9 460T375 478.5 331.1 460 312.5 416V353.5ZM687.5 416Q687.5 441.4 668.9 460T625 478.5 581.1 460 562.5 416L687.5 353.5V416ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-devil-outline\"\n      ]\n    },\n    {\n      \"uid\": \"87881d8ad84191da7ec49dae8716d09e\",\n      \"css\": \"emoticon-happy-outline\",\n      \"code\": 983541,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM416 396.5Q416 419.9 397.5 439.5T354.5 459 310.5 439.5 291 395.5 310.5 352.5 354.5 334 397.5 352.5 416 396.5ZM709 396.5Q709 419.9 689.5 439.5T645.5 459 602.5 439.5 584 395.5 602.5 352.5 645.5 334 689.5 352.5 709 396.5ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-happy-outline\"\n      ]\n    },\n    {\n      \"uid\": \"00093cec666d4780d8de263bcfa8fd62\",\n      \"css\": \"emoticon-neutral-outline\",\n      \"code\": 983542,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM353.5 459Q328.1 459 309.6 440.4T291 395.5 309.6 351.6 354.5 334 398.4 351.6 416 395.5 398.4 440.4 353.5 459ZM709 396.5Q709 421.9 690.4 440.4T645.5 459 601.6 440.4 584 395.5 601.6 351.6 645.5 334 690.4 351.6 709 396.5ZM666 584V666H334V584H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-neutral-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6b55917f629e66b7eb686716152035d4\",\n      \"css\": \"emoticon-poop\",\n      \"code\": 983543,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M472.7 84Q460.9 84 440.4 97.7T392.6 142.6Q363.3 177.7 349.6 212.9 330.1 263.7 341.8 310.5 318.4 314.5 294.9 324.2V324.2Q273.4 334 252 359.4 226.6 394.5 224.6 435.5 222.7 468.8 232.4 500 209 505.9 189.5 517.6H187.5Q177.7 521.5 164.1 531.3T146.5 546.9Q125 570.3 116.2 604.5T110.4 675.8 130.9 742.2Q152.3 785.2 177.7 810.5 218.8 851.6 291 877 343.8 894.5 421.9 908.2 585.9 935.5 718.8 880.9 808.6 843.8 861.3 779.3 892.6 740.2 901.4 703.1T904.3 625Q900.4 593.8 892.6 578.1 875 543 843.8 527.3 822.3 513.7 800.8 507.8 816.4 457 775.4 414.1 755.9 392.6 730.5 380.9 718.8 377 710.9 375V375Q728.5 339.8 720.7 304.7 710.9 265.6 675.8 244.1 650.4 228.5 599.6 220.7L597.7 218.8Q529.3 207 507.8 177.7 496.1 160.2 488.3 111.3 486.3 95.7 484.4 91.8 480.5 84 472.7 84ZM666 400.4H671.9 673.8Q718.8 406.3 747.1 443.4T769.5 528.3 728.5 606.4 648.4 632.8V632.8Q603.5 627 576.2 589.8T553.7 505.9 591.8 428.7 666 400.4ZM359.4 400.4Q400.4 402.3 430.7 433.6T464.8 510.7 439.5 592.8 365.2 632.8V632.8Q320.3 636.7 286.1 604.5T248 525.4V525.4Q244.1 476.6 273.4 440.4T347.7 400.4H359.4ZM359.4 470.7H355.5Q337.9 474.6 327.1 488.3T318.4 518.6 334 545.9 365.2 554.7 393.6 539.1 402.3 508.8 388.7 481.4 359.4 470.7ZM664.1 472.7Q648.4 472.7 636.7 484.4T624 512.7 633.8 542 663.1 555.7 694.3 544.9 708 516.6 697.3 486.3 668 472.7H664.1ZM363.3 673.8Q371.1 671.9 388.7 675.8L396.5 677.7Q451.2 689.5 507.8 689.5T619.1 677.7L627 675.8Q642.6 673.8 650.4 673.8 662.1 671.9 671.9 677.7 685.5 687.5 677.7 717.8T646.5 771.5Q589.8 830.1 507.8 830.1T369.1 771.5Q345.7 748 337.9 717.8T343.8 677.7Q353.5 673.8 363.3 673.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-poop\"\n      ]\n    },\n    {\n      \"uid\": \"fe61ed1dba8c415ce26763685c279844\",\n      \"css\": \"emoticon-sad-outline\",\n      \"code\": 983544,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM646.5 334Q669.9 334 689.5 352.5T709 395.5 689.5 439.5 645.5 459 602.5 439.5 584 395.5 602.5 352.5 646.5 334ZM416 396.5Q416 419.9 397.5 439.5T354.5 459 310.5 439.5 291 395.5 310.5 352.5 354.5 334 397.5 352.5 416 396.5ZM500 584Q554.7 584 600.6 604.5T673.8 658.2L615.2 718.8Q601.6 695.3 570.3 680.7T500 666 429.7 680.7 384.8 718.8L326.2 658.2Q353.5 625 399.4 604.5T500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-sad-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e1016dd089b496682407fce2c23d36f5\",\n      \"css\": \"emoticon-tongue\",\n      \"code\": 983545,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM302.7 459Q291 439.5 291 416 291 382.8 315.4 358.4T375 334 434.6 358.4 459 416Q459 439.5 447.3 459 435.5 439.5 417 427.7T375 416 333 427.7 302.7 459ZM666 625H625Q625 685.5 601.6 717.8T542 750 482.4 717.8 459 625H334V541H666V625ZM697.3 459Q685.5 439.5 667 427.7T625 416 583 427.7 552.7 459Q541 439.5 541 416 541 382.8 565.4 358.4T625 334 684.6 358.4 709 416Q709 439.5 697.3 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-tongue\"\n      ]\n    },\n    {\n      \"uid\": \"94d8ef704f3645cc980a5e601eb81c59\",\n      \"css\": \"engine\",\n      \"code\": 983546,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 166V250H416V334H291L209 416V541H125V416H41V750H125V625H209V750H334L416 834H750V666H834V791H959V375H834V500H750V334H500V250H625V166H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"engine\"\n      ]\n    },\n    {\n      \"uid\": \"a8b0f63dbef6ede045accdb088b2295e\",\n      \"css\": \"engine-outline\",\n      \"code\": 983547,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 416H666V750H459L375 666H291V459ZM291 166V250H416V334H291L209 416V541H125V416H41V750H125V625H209V750H334L416 834H750V666H834V791H959V375H834V500H750V334H500V250H625V166H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"engine-outline\"\n      ]\n    },\n    {\n      \"uid\": \"73425c996aa3ef3aac1bbb9ab6217f94\",\n      \"css\": \"equal\",\n      \"code\": 983548,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416H209V334H791V416ZM791 666H209V584H791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"equal\"\n      ]\n    },\n    {\n      \"uid\": \"84ce2ac9b5b0a438892196bd49520a76\",\n      \"css\": \"equal-box\",\n      \"code\": 983549,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 666V584H291V666H709ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM709 416V334H291V416H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"equal-box\"\n      ]\n    },\n    {\n      \"uid\": \"a35b5d3dbb54c6b6eb424d43aaa52e3f\",\n      \"css\": \"eraser\",\n      \"code\": 983550,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M675.8 148.4L882.8 353.5Q908.2 378.9 908.2 413.1T882.8 472.7L500 855.5Q451.2 904.3 381.8 904.3T263.7 855.5L117.2 709Q91.8 683.6 91.8 649.4T117.2 589.8L558.6 148.4Q584 123 618.2 123T675.8 148.4ZM175.8 648.4L324.2 796.9Q347.7 820.3 381.8 820.3T441.4 796.9L587.9 648.4 382.8 443.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eraser\"\n      ]\n    },\n    {\n      \"uid\": \"164ff04729701a4f96c79a384ee83eeb\",\n      \"css\": \"escalator\",\n      \"code\": 983551,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H789.1L289.1 834H166Q132.8 834 108.4 809.6T84 750 108.4 690.4 166 666H220.7L291 595.7V416Q291 398.4 303.7 386.7T334 375H375Q392.6 375 404.3 386.7T416 416V470.7L720.7 166H834Q867.2 166 891.6 190.4T916 250 891.6 309.6 834 334ZM353.5 209Q380.9 209 398.4 226.6T416 270.5 398.4 315.4 354.5 334 309.6 315.4 291 270.5 309.6 226.6 353.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"escalator\"\n      ]\n    },\n    {\n      \"uid\": \"93944e01aea03603f759c1a8252a81c3\",\n      \"css\": \"ethernet\",\n      \"code\": 983552,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 625H375V750H459V625H541V750H625V625H709V750H791V375H625V250H375V375H209V750H291V625ZM181.6 125H818.4Q859.4 125 887.7 154.3T916 224.6V818.4Q916 859.4 887.7 887.7T818.4 916H181.6Q140.6 916 112.3 887.7T84 818.4V224.6Q84 183.6 112.3 154.3T181.6 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ethernet\"\n      ]\n    },\n    {\n      \"uid\": \"3c99f0ca71a993535330042b7bda73bc\",\n      \"css\": \"ethernet-cable\",\n      \"code\": 983553,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 125V291H541V125H459ZM334 166V459H666V166H584V334H416V166H334ZM416 500V916H584V500H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ethernet-cable\"\n      ]\n    },\n    {\n      \"uid\": \"b08e3419300b15d6769591e70f33d0fe\",\n      \"css\": \"ethernet-cable-off\",\n      \"code\": 983554,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 125H541V291H459V125ZM334 166H416V334H584V166H666V459H533.2L334 257.8V166ZM834 863.3L781.3 916 584 718.8V916H416V552.7L84 218.8 136.7 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ethernet-cable-off\"\n      ]\n    },\n    {\n      \"uid\": \"168d51d5df710a53304846c11ab9dd27\",\n      \"css\": \"calendar-refresh-outline\",\n      \"code\": 983555,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H584Q546.9 845.7 521.5 791H209V375H791V441.4Q841.8 449.2 875 470.7V209Q875 173.8 850.6 149.4T791 125ZM791 291H209V209H791V291ZM750 521.5Q822.3 521.5 867.2 570.3L916 521.5V687.5H750L824.2 613.3Q789.1 584 750 584 707 584 676.8 614.3T646.5 687.5 676.8 760.7 750 791Q798.8 791 834 750H904.3Q884.8 796.9 843.8 825.2T750 853.5Q681.6 853.5 632.8 804.7T584 687.5 632.8 570.3 750 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-refresh-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a32bb289a7908de2ff6d5836c4cc685f\",\n      \"css\": \"evernote\",\n      \"code\": 983556,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M628.9 484.4Q630.9 478.5 632.8 470.7 636.7 455.1 642.6 445.3 654.3 431.6 666 431.6 685.5 431.6 714.8 466.8 730.5 484.4 740.2 502V502L691.4 494.1Q638.7 484.4 628.9 484.4ZM791 195.3Q781.3 177.7 737.3 160.2T662.1 142.6H562.5L550.8 127Q535.2 109.4 515.6 97.7 486.3 84 453.1 84 406.3 84 390.6 101.6 380.9 113.3 382.8 140.6V263.7L347.7 298.8H187.5L175.8 310.5Q162.1 324.2 154.3 339.8 142.6 365.2 142.6 392.6 142.6 441.4 154.3 498 168 576.2 197.3 627 236.3 693.4 296.9 701.2 367.2 712.9 416 699.2 451.2 689.5 468.8 668 482.4 654.3 482.4 644.5V550.8L498 574.2Q517.6 599.6 539.1 615.2 568.4 638.7 599.6 638.7 650.4 638.7 680.7 663.1T710.9 720.7V796.9L709 808.6Q705.1 824.2 697.3 832 685.5 845.7 666 845.7H578.1L564.5 830.1Q550.8 810.5 550.8 791 550.8 752 580.1 752 595.7 752 611.3 753.9V753.9 689.5H589.8Q564.5 693.4 544.9 701.2 515.6 710.9 498 730.5 478.5 753.9 478.5 789.1 478.5 857.4 519.5 890.6 552.7 916 601.6 916H693.4L709 912.1Q730.5 904.3 750 888.7 777.3 867.2 798.8 834 826.2 791 839.8 732.4 857.4 664.1 857.4 572.3 857.4 386.7 834 291 822.3 238.3 796.9 205.1ZM312.5 263.7H177.7L345.7 91.8V228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"evernote\"\n      ]\n    },\n    {\n      \"uid\": \"dcdc40bf1ec7146872e21458b50aa994\",\n      \"css\": \"exclamation\",\n      \"code\": 983557,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166H541V625H459V166ZM541 750V834H459V750H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exclamation\"\n      ]\n    },\n    {\n      \"uid\": \"117f7c5fdfa6d7197d267968138d5722\",\n      \"css\": \"exit-to-app\",\n      \"code\": 984572,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V375H209V209H791V791H209V625H125V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM419.9 648.4L478.5 709 687.5 500 478.5 291 419.9 349.6 527.3 459H125V541H527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exit-to-app\"\n      ]\n    },\n    {\n      \"uid\": \"ceb1a00366b9ff30b5a4a4be2e88994e\",\n      \"css\": \"exit-to-app\",\n      \"code\": 983558,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V375H209V209H791V791H209V625H125V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM419.9 648.4L478.5 709 687.5 500 478.5 291 419.9 349.6 527.3 459H125V541H527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exit-to-app\"\n      ]\n    },\n    {\n      \"uid\": \"3899672f594423d1dfaeff9a2cd9fca9\",\n      \"css\": \"export\",\n      \"code\": 983559,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L791 334V459H416V541H791V666ZM41 750V250Q41 214.8 65.4 190.4T125 166H625Q660.2 166 684.6 190.4T709 250V375H625V250H125V750H625V625H709V750Q709 785.2 684.6 809.6T625 834H125Q89.8 834 65.4 809.6T41 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"export\"\n      ]\n    },\n    {\n      \"uid\": \"3888e00132b0b73339be991055406207\",\n      \"css\": \"eye\",\n      \"code\": 983560,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM500 709Q443.4 709 395.5 680.7T319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709ZM500 187.5Q345.7 187.5 220.7 274.4T41 500Q95.7 638.7 220.7 725.6T500 812.5 779.3 725.6 959 500Q904.3 361.3 779.3 274.4T500 187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye\"\n      ]\n    },\n    {\n      \"uid\": \"a8bfd0943b00cc0fc323a3407129d1d3\",\n      \"css\": \"eye-off\",\n      \"code\": 983561,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M492.2 375L625 505.9V500Q625 447.3 588.9 411.1T500 375H492.2ZM314.5 408.2L378.9 472.7Q375 486.3 375 500 375 552.7 411.1 588.9T500 625Q513.7 625 527.3 621.1L591.8 685.5Q546.9 709 500 709 443.4 709 395.5 680.7T319.3 604.5 291 500Q291 453.1 314.5 408.2ZM84 177.7L177.7 273.4 197.3 291Q89.8 377 41 500 95.7 638.7 220.7 725.6T500 812.5Q595.7 812.5 681.6 777.3L822.3 916 875 863.3 136.7 125ZM500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500Q709 539.1 693.4 576.2L814.5 697.3Q912.1 617.2 959 500 904.3 361.3 779.3 274.4T500 187.5Q414.1 187.5 334 216.8L423.8 306.6Q460.9 291 500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-off\"\n      ]\n    },\n    {\n      \"uid\": \"b650c29389fc19a6403a1a0aac4345eb\",\n      \"css\": \"eyedropper\",\n      \"code\": 983562,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 488.3L716.8 576.2 658.2 517.6 337.9 839.8 146.5 916 84 853.5 160.2 662.1 482.4 341.8 423.8 283.2 511.7 193.4ZM699.2 125Q734.4 87.9 786.1 87.9T875 125 912.1 213.9 875 300.8L794.9 380.9 619.1 205.1ZM232.4 709L187.5 812.5 291 767.6 599.6 459 541 400.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eyedropper\"\n      ]\n    },\n    {\n      \"uid\": \"01b92b5a0c4e59197ff8f9f9a11f59f2\",\n      \"css\": \"eyedropper-variant\",\n      \"code\": 983563,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M289.1 791L209 710.9 544.9 375 625 455.1ZM863.3 234.4L765.6 136.7Q753.9 125 736.3 125T707 136.7L576.2 267.6 496.1 187.5 437.5 246.1 496.1 304.7 125 677.7V875H322.3L695.3 503.9 753.9 562.5 812.5 503.9 732.4 423.8 863.3 293Q875 281.3 875 263.7T863.3 234.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eyedropper-variant\"\n      ]\n    },\n    {\n      \"uid\": \"e9dc564d4b019b446105a559654c6da2\",\n      \"css\": \"facebook\",\n      \"code\": 983564,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 85.9Q386.7 85.9 291 141.6T139.6 293 84 502Q84 605.5 129.9 694.3T255.9 841.8 435.5 914.1V623H330.1V502H435.5V410.2Q435.5 334 477.5 291T591.8 248Q638.7 248 685.5 255.9V359.4H632.8Q597.7 359.4 580.1 378.9 564.5 396.5 564.5 423.8V502H681.6L662.1 623H564.5V914.1Q666 898.4 746.1 839.8T871.1 692.4 916 502Q916 388.7 860.4 293T709 141.6 500 85.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"facebook\"\n      ]\n    },\n    {\n      \"uid\": \"93a30d410e71f93c38949a5574b36585\",\n      \"css\": \"order-alphabetical-ascending\",\n      \"code\": 983565,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459ZM375 541V625L236.3 791H375V875H125V791L263.7 625H125V541H375ZM291 125H209Q173.8 125 149.4 149.4T125 209V459H209V375H291V459H375V209Q375 173.8 350.6 149.4T291 125ZM291 291H209V209H291V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-alphabetical-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"14752198732ccf8e64517aacb6e2e1a4\",\n      \"css\": \"facebook-messenger\",\n      \"code\": 983566,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q384.8 84 289.1 136.7T138.7 281.3 84 488.3Q84 576.2 118.2 653.3T214.8 787.1Q224.6 794.9 224.6 810.5L226.6 884.8Q228.5 902.3 243.2 912.1T275.4 914.1L357.4 877Q369.1 873 378.9 875 435.5 892.6 500 892.6 615.2 892.6 710.9 839.8T861.3 694.3 916 487.3 861.3 281.3 710.9 136.7 500 84ZM750 394.5L627 587.9Q613.3 611.3 585.9 616.2T537.1 603.5L439.5 531.3Q433.6 527.3 424.8 527.3T410.2 531.3L279.3 632.8Q265.6 642.6 252.9 631.8T250 605.5L373 412.1Q386.7 388.7 414.1 383.8T462.9 394.5L560.5 468.8Q576.2 478.5 589.8 468.8L720.7 367.2Q734.4 357.4 747.1 368.2T750 394.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"facebook-messenger\"\n      ]\n    },\n    {\n      \"uid\": \"d34cb513a8572cab1a634af309d52fc9\",\n      \"css\": \"factory\",\n      \"code\": 983567,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 750V834H334V750H166ZM166 584V666H584V584H166ZM416 750V834H584V750H416ZM666 584V666H834V584H666ZM666 750V834H834V750H666ZM84 916V334L291 500V334L500 500V334L709 500 750 84H875L916 500V916H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"factory\"\n      ]\n    },\n    {\n      \"uid\": \"335e8249d16a7c59be7a746494941c9f\",\n      \"css\": \"fan\",\n      \"code\": 983568,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 459Q482.4 459 470.7 470.7T459 500 470.7 529.3 500 541 529.3 529.3 541 500 529.3 470.7 500 459ZM521.5 84Q607.4 84 650.4 123 687.5 160.2 675.8 208T613.3 281.3 546.9 384.8Q578.1 396.5 597.7 421.9 673.8 380.9 749 377.9T871.1 412.1 918 521.5Q918 607.4 877 650.4 841.8 687.5 793 675.8T718.8 613.3 617.2 546.9Q603.5 576.2 578.1 597.7 619.1 673.8 622.1 748T587.9 869.1 478.5 916Q392.6 916 349.6 877 312.5 839.8 324.2 791T386.7 717.8 453.1 617.2Q421.9 603.5 402.3 578.1 326.2 619.1 252 622.1T130.9 587.9 84 478.5Q84 392.6 123 349.6 158.2 312.5 207 324.2T281.3 386.7 384.8 453.1Q396.5 421.9 421.9 402.3 380.9 326.2 377.9 252T412.1 130.9 521.5 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan\"\n      ]\n    },\n    {\n      \"uid\": \"1626c7791a89fb420a5174647d2afa99\",\n      \"css\": \"fast-forward\",\n      \"code\": 983569,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 250V750L896.5 500ZM166 750L521.5 500 166 250V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fast-forward\"\n      ]\n    },\n    {\n      \"uid\": \"1fe5a8f42c0016def862144d73fa404c\",\n      \"css\": \"fax\",\n      \"code\": 983570,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250H666V334H459V250ZM334 375V125H791V375Q843.8 375 879.9 411.1T916 500V750H791V875H334V750H291V375H334ZM416 209V375H709V209H416ZM416 625V791H709V625H416ZM791 459Q773.4 459 761.7 470.7T750 500 761.7 529.3 791 541 821.3 529.3 834 500 821.3 470.7 791 459ZM166 375H209Q226.6 375 238.3 386.7T250 416V709Q250 726.6 238.3 738.3T209 750H166Q132.8 750 108.4 725.6T84 666V459Q84 423.8 108.4 399.4T166 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fax\"\n      ]\n    },\n    {\n      \"uid\": \"f07bb07057aae52822fd283f3409e38c\",\n      \"css\": \"ferry\",\n      \"code\": 983571,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 250H750V414.1L500 334 250 414.1V250ZM164.1 791H166Q214.8 791 259.8 767.6 298.8 746.1 334 709 367.2 746.1 408.2 767.6 453.1 791 500 791T591.8 767.6Q632.8 746.1 666 709 701.2 746.1 740.2 767.6 785.2 791 834 791H835.9L914.1 513.7Q919.9 498 912.1 481.4T886.7 460.9L834 443.4V250Q834 214.8 809.6 190.4T750 166H625V41H375V166H250Q214.8 166 190.4 190.4T166 250V443.4L113.3 460.9Q95.7 464.8 87.9 481.4T85.9 513.7ZM834 875Q746.1 875 666 820.3 589.8 873 500 873T334 820.3Q253.9 875 166 875H84V959H166Q252 959 334 916 412.1 957 500 957T666 916Q748 959 834 959H916V875H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ferry\"\n      ]\n    },\n    {\n      \"uid\": \"d497c46d164fdbd9dde89bc2b885e1cb\",\n      \"css\": \"file\",\n      \"code\": 983572,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375V146.5L771.5 375H541ZM250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file\"\n      ]\n    },\n    {\n      \"uid\": \"4e07b5b0fe241033114cdbf14f3924bc\",\n      \"css\": \"file-chart\",\n      \"code\": 983573,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM291 834H375V584H291V834ZM459 834H541V500H459V834ZM625 834H709V666H625V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-chart\"\n      ]\n    },\n    {\n      \"uid\": \"bd57eeff3cd5444ead3b2a80f862e531\",\n      \"css\": \"file-check\",\n      \"code\": 983574,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM466.8 769.5L664.1 570.3 615.2 511.7 466.8 662.1 400.4 595.7 351.6 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-check\"\n      ]\n    },\n    {\n      \"uid\": \"a83c7ae27d39c45d87901b054fd522f2\",\n      \"css\": \"file-cloud\",\n      \"code\": 983575,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM654.3 625Q642.6 572.3 599.6 536.1T500 500Q455.1 500 418 522.5T361.3 584Q314.5 589.8 282.2 625T250 710 286.1 796.9 375 834H646.5Q689.5 834 719.7 802.7T750 729.5 721.7 658.2 654.3 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cloud\"\n      ]\n    },\n    {\n      \"uid\": \"c108882a4f25aac5cf014793ddd3253d\",\n      \"css\": \"file-delimited\",\n      \"code\": 983576,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM625 666L541 834H416L500 666H375V459H625V666ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-delimited\"\n      ]\n    },\n    {\n      \"uid\": \"5d88978f2454a1f4281d9087e013b976\",\n      \"css\": \"file-document\",\n      \"code\": 983577,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM625 750V666H250V750H625ZM750 584V500H250V584H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-document\"\n      ]\n    },\n    {\n      \"uid\": \"a127c0a6048b59267c183dba0bfab812\",\n      \"css\": \"text-box\",\n      \"code\": 983578,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H291V625H584V709ZM709 541H291V459H709V541ZM709 375H291V291H709V375ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box\"\n      ]\n    },\n    {\n      \"uid\": \"bbb0370596d12b04fd2384f6c6f07833\",\n      \"css\": \"file-excel\",\n      \"code\": 983579,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM658.2 834H584L500 691.4 416 834H341.8L462.9 646.5 341.8 459H416L500 599.6 584 459H658.2L537.1 646.5ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-excel\"\n      ]\n    },\n    {\n      \"uid\": \"cbf0cf06567aa7017e8f0bb65d29914e\",\n      \"css\": \"file-excel-box\",\n      \"code\": 983580,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M675.8 709H591.8L500 550.8 408.2 709H324.2L459 500 324.2 291H408.2L500 449.2 591.8 291H675.8L541 500ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-excel-box\"\n      ]\n    },\n    {\n      \"uid\": \"b0be9f59946b1b1908a4382661e9d2c9\",\n      \"css\": \"file-export\",\n      \"code\": 983581,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM373 509.8H666V804.7L578.1 714.8 460.9 834 341.8 714.8 460.9 597.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-export\"\n      ]\n    },\n    {\n      \"uid\": \"e5a57c4e223dbd334a9917f66da84f0b\",\n      \"css\": \"file-find\",\n      \"code\": 983582,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 541Q375 593.8 411.1 629.9T500 666 588.9 629.9 625 542 588.9 453.1 500 416 411.1 453.1 375 541ZM834 816.4V334L584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q777.3 916 798.8 900.4L615.2 714.8Q562.5 750 500 750 459 750 420.9 734.4T353.5 689.5 307.6 622.1 291 542 307.6 461.9 353.5 394.5 420.9 349.6 500 334Q556.6 334 604.5 361.3T680.7 436.5 709 541Q709 603.5 673.8 656.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-find\"\n      ]\n    },\n    {\n      \"uid\": \"27f5eb9c4cc68b13a8a88ba38a565845\",\n      \"css\": \"file-image\",\n      \"code\": 983583,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM250 834H625 750V500L584 666 500 584ZM334 375Q298.8 375 274.4 399.4T250 458 274.4 516.6 333 541 391.6 516.6 416 458 391.6 399.4 334 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-image\"\n      ]\n    },\n    {\n      \"uid\": \"30d10f6db174db7fda07217abae6036f\",\n      \"css\": \"file-import\",\n      \"code\": 983584,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM418 466.8L537.1 585.9 625 498V791H330.1L418 703.1 300.8 585.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-import\"\n      ]\n    },\n    {\n      \"uid\": \"a776d47a43f21f486565d60eb8e9b05c\",\n      \"css\": \"file-lock\",\n      \"code\": 983585,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM500 459Q552.7 459 588.9 495.1T625 584V625H666V791H334V625H375V584Q375 531.3 412.1 495.1T500 459ZM500 541Q482.4 541 470.7 553.7T459 584V625H541V584Q541 566.4 529.3 553.7T500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-lock\"\n      ]\n    },\n    {\n      \"uid\": \"cc0425ce01072c3a62df988c5f872994\",\n      \"css\": \"file-multiple\",\n      \"code\": 983586,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 291H853.5L625 62.5V291ZM334 0H666L916 250V750Q916 785.2 891.6 809.6T834 834H334Q298.8 834 274.4 809.6T250 750V84Q250 48.8 274.4 24.4T334 0ZM166 166V916H834V1000H166Q132.8 1000 108.4 975.6T84 916V166H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"6e89303dba282c46cd5b760563b2ff4a\",\n      \"css\": \"file-music\",\n      \"code\": 983587,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM541 541H459V750Q459 785.2 434.6 809.6T375 834 315.4 809.6 291 750 315.4 690.4 375 666Q398.4 666 416 679.7V459H541V541ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-music\"\n      ]\n    },\n    {\n      \"uid\": \"c9768968e0c8ab6ab34dbdea2f6c1a8f\",\n      \"css\": \"file-outline\",\n      \"code\": 983588,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9a23925553b5d6ab99c7e8140909570f\",\n      \"css\": \"file-pdf\",\n      \"code\": 983589,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM419.9 474.6V476.6Q402.3 558.6 334 669.9L296.9 691.4Q255.9 718.8 236.3 744.1 207 777.3 221.7 800.8T261.7 818.4 318.4 778.3 377 691.4L427.7 677.7Q492.2 662.1 554.7 656.3L597.7 673.8Q646.5 689.5 679.7 687.5 728.5 687.5 738.3 652.3T712.9 603.5Q687.5 591.8 640.6 593.8 603.5 593.8 584 599.6L560.5 582Q535.2 560.5 515.6 535.2 488.3 502 478.5 466.8L488.3 423.8Q498 375 492.2 345.7 486.3 302.7 453.1 304.7 406.3 304.7 404.3 375 404.3 421.9 419.9 474.6ZM455.1 517.6L457 521.5Q482.4 576.2 533.2 621.1L478.5 632.8Q419.9 646.5 392.6 658.2L416 613.3Q441.4 560.5 455.1 517.6ZM619.1 630.9Q636.7 627 675.8 634.8T712.9 651.4 664.1 646.5Q640.6 640.6 619.1 630.9V630.9ZM324.2 709Q308.6 742.2 285.2 769.5 263.7 791 256.8 791T259.8 773.4 285.2 738.3Q304.7 716.8 324.2 709ZM455.1 419.9L453.1 414.1Q441.4 328.1 455.1 330.1 474.6 332 455.1 414.1V419.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-pdf\"\n      ]\n    },\n    {\n      \"uid\": \"4df037ecb9bf26fe61c29cabe30dbc64\",\n      \"css\": \"file-pdf-box\",\n      \"code\": 983590,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM441.4 419.9V421.9Q423.8 503.9 353.5 615.2L318.4 636.7Q277.3 664.1 255.9 687.5 228.5 722.7 242.2 746.1T282.2 762.7 338.9 722.7 398.4 636.7L449.2 621.1Q511.7 607.4 574.2 601.6L617.2 617.2Q666 634.8 699.2 632.8 748 630.9 757.8 596.7T732.4 548.8Q707 537.1 660.2 539.1 623 539.1 603.5 544.9L582 527.3Q554.7 505.9 535.2 480.5 507.8 447.3 500 412.1L509.8 369.1Q517.6 320.3 513.7 291 505.9 250 474.6 250 427.7 252 425.8 320.3 425.8 367.2 441.4 419.9ZM474.6 462.9L476.6 466.8Q503.9 521.5 554.7 566.4L500 578.1Q439.5 591.8 412.1 603.5L435.5 558.6Q462.9 505.9 474.6 462.9ZM638.7 576.2Q658.2 572.3 696.3 580.1T732.4 596.7 683.6 591.8Q660.2 585.9 638.7 576.2V576.2ZM343.8 654.3Q330.1 687.5 304.7 714.8 283.2 736.3 276.4 736.3T280.3 717.8 306.6 681.6Q326.2 662.1 343.8 654.3ZM474.6 365.2Q470.7 347.7 468.8 318.4 464.8 273.4 474.6 275.4 494.1 277.3 476.6 361.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-pdf-box\"\n      ]\n    },\n    {\n      \"uid\": \"041b5bf2f62d91b7f610d104e1f59d7b\",\n      \"css\": \"file-powerpoint\",\n      \"code\": 983591,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M525.4 511.7H441.4V646.5H529.3Q558.6 646.5 580.1 625 595.7 607.4 595.7 579.1T580.1 533.2Q558.6 511.7 525.4 511.7ZM584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM632.8 666Q613.3 683.6 592.8 689.5T533.2 695.3H441.4V834H375V459H533.2Q572.3 459 594.7 466.8T634.8 492.2 659.2 530.3 666 580.1Q666 638.7 632.8 666ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-powerpoint\"\n      ]\n    },\n    {\n      \"uid\": \"ba3e1a5b929f07a2999b847ef254b667\",\n      \"css\": \"file-powerpoint-box\",\n      \"code\": 983592,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 558.6H511.7Q556.6 558.6 582 550.8T628.9 523.4Q666 492.2 666 427.7T628.9 328.1Q607.4 308.6 583 299.8T511.7 291H334V709H408.2V558.6ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM408.2 500V349.6H503.9Q543 349.6 565.4 373T587.9 427.7 566.4 479.5 509.8 500H408.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-powerpoint-box\"\n      ]\n    },\n    {\n      \"uid\": \"370c03c69fb9dd4d487b19d9c50496f1\",\n      \"css\": \"file-presentation-box\",\n      \"code\": 983593,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 666H209V334H791V666ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-presentation-box\"\n      ]\n    },\n    {\n      \"uid\": \"0a05bdf5c7946d5686171ee909135261\",\n      \"css\": \"file-send\",\n      \"code\": 983594,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM523.4 806.6V724.6H355.5V640.6H523.4V556.6L648.4 681.6ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-send\"\n      ]\n    },\n    {\n      \"uid\": \"09df88ce29a4b1bf77dab0724a3b4936\",\n      \"css\": \"file-video\",\n      \"code\": 983595,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM709 791V541L584 632.8V541H291V791H584V699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-video\"\n      ]\n    },\n    {\n      \"uid\": \"304768524f3f91a27789ce455ed99bfe\",\n      \"css\": \"file-word\",\n      \"code\": 983596,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM632.8 834H574.2L500 550.8 425.8 834H367.2L275.4 459H337.9L396.5 742.2 470.7 459H525.4L599.6 742.2 658.2 459H720.7ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-word\"\n      ]\n    },\n    {\n      \"uid\": \"4f61850d3ea60bd01729eb478c917dbd\",\n      \"css\": \"file-word-box\",\n      \"code\": 983597,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 709H584L500 396.5 416 709H353.5L253.9 291H324.2L388.7 603.5 470.7 291H529.3L611.3 603.5 675.8 291H746.1ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-word-box\"\n      ]\n    },\n    {\n      \"uid\": \"d9d58f115bee90a2a2d5a941e90efaf5\",\n      \"css\": \"file-code\",\n      \"code\": 983598,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM255.9 646.5L410.2 800.8 470.7 742.2 373 646.5 470.7 548.8 410.2 490.2ZM720.7 646.5L564.5 490.2 505.9 548.8 601.6 646.5 505.9 742.2 564.5 800.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-code\"\n      ]\n    },\n    {\n      \"uid\": \"c38520b7c0fef1727402a605ec23afb5\",\n      \"css\": \"film\",\n      \"code\": 983599,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 125H209V74.2Q209 60.5 218.8 50.8T242.2 41H425.8Q439.5 41 449.2 50.8T459 74.2V125H521.5Q546.9 125 565.4 143.6T584 187.5V209H916V834H584V853.5Q584 880.9 565.4 898.4T521.5 916H146.5Q119.1 916 101.6 898.4T84 853.5V187.5Q84 162.1 101.6 143.6T146.5 125ZM750 291V375H834V291H750ZM584 291V375H666V291H584ZM416 291V375H500V291H416ZM584 666V750H666V666H584ZM750 666V750H834V666H750ZM416 666V750H500V666H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"film\"\n      ]\n    },\n    {\n      \"uid\": \"0875973fb720845ac49c201499b49edf\",\n      \"css\": \"filmstrip\",\n      \"code\": 983600,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 375H666V291H750V375ZM750 541H666V459H750V541ZM750 709H666V625H750V709ZM334 375H250V291H334V375ZM334 541H250V459H334V541ZM334 709H250V625H334V709ZM750 125V209H666V125H334V209H250V125H166V875H250V791H334V875H666V791H750V875H834V125H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filmstrip\"\n      ]\n    },\n    {\n      \"uid\": \"d3961385f5e482dc369a5300e77a8268\",\n      \"css\": \"filmstrip-off\",\n      \"code\": 983601,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 875 904.3 822.3 959 666 802.7V875H334V791H250V875H166V302.7ZM750 375V291H666V375H750ZM750 541V459H666V541H750ZM750 625H701.2L283.2 209H334V125H666V209H750V125H834V757.8L750 673.8V625ZM334 541V468.8L322.3 459H250V541H334ZM334 709V625H250V709H334ZM250 125V173.8L201.2 125H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filmstrip-off\"\n      ]\n    },\n    {\n      \"uid\": \"dc25e665616740200d0c9622a7ec1476\",\n      \"css\": \"filter\",\n      \"code\": 983602,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500V828.1Q585.9 849.6 572.3 862.3T542 875 511.7 863.3L429.7 779.3Q414.1 763.7 416 744.1V500 500L175.8 193.4Q164.1 179.7 167 162.1T182.6 134.8 209 125H791Q804.7 125 817.4 134.8T833 162.1 824.2 193.4L584 500V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter\"\n      ]\n    },\n    {\n      \"uid\": \"eb910fbaebe820235d1d619e224251a8\",\n      \"css\": \"filter-outline\",\n      \"code\": 983603,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 828.1Q627 849.6 614.3 862.3T584 875 554.7 863.3L386.7 695.3Q373 681.6 375 662.1V447.3L175.8 193.4Q164.1 179.7 167 162.1T182.6 134.8 209 125H791Q804.7 125 817.4 134.8T833 162.1 824.2 193.4L625 447.3V828.1ZM293 209L459 419.9V648.4L541 732.4V418L707 209H293Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5a250825d3941fc64fab365f96107413\",\n      \"css\": \"filter-remove\",\n      \"code\": 983604,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M615.2 867.2L732.4 750 615.2 632.8 673.8 574.2 791 689.5 910.2 574.2 968.8 632.8 851.6 750 968.8 867.2 910.2 925.8 791 808.6 673.8 925.8ZM500 500V828.1Q502 849.6 489.3 862.3T459 875 429.7 863.3L345.7 779.3Q330.1 763.7 334 744.1V500H332L91.8 193.4Q82 179.7 84 162.1T98.6 134.8 125 125H709Q722.7 125 735.4 134.8T750 162.1 742.2 193.4L502 500H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-remove\"\n      ]\n    },\n    {\n      \"uid\": \"28097da0fad5533a8b8f52a74b7c546c\",\n      \"css\": \"filter-remove-outline\",\n      \"code\": 983605,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M613.3 867.2L732.4 750 613.3 632.8 673.8 574.2 791 689.5 908.2 574.2 966.8 632.8 849.6 750 966.8 867.2 908.2 925.8 791 808.6 673.8 925.8ZM541 828.1Q544.9 849.6 531.3 862.3T500 875 470.7 863.3L304.7 695.3Q289.1 681.6 291 662.1V447.3L91.8 193.4Q82 179.7 84 162.1T98.6 134.8 125 125H709Q722.7 125 735.4 134.8T750 162.1 742.2 193.4L541 447.3V828.1ZM210.9 209L375 419.9V648.4L459 732.4V418L623 209H210.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"37fdd836146ddac8412283440e9ac1f4\",\n      \"css\": \"filter-variant\",\n      \"code\": 983606,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 541H750V459H250V541ZM125 250V334H875V250H125ZM416 750H584V666H416V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-variant\"\n      ]\n    },\n    {\n      \"uid\": \"17abfd0be7baabfe481b54e7c926b047\",\n      \"css\": \"fingerprint\",\n      \"code\": 983607,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M742.2 185.5Q736.3 185.5 732.4 183.6 671.9 152.3 617.2 138.7T500 125Q375 125 267.6 183.6 261.7 187.5 252.9 185.5T240.2 175.8 238.3 159.2 248 146.5Q363.3 84 500 84 627 84 752 146.5 759.8 150.4 761.7 159.2T759.8 173.8Q753.9 185.5 742.2 185.5ZM146.5 404.3Q138.7 404.3 132.8 400.4T125 387.7 128.9 373Q191.4 283.2 285.2 236.3 384.8 185.5 501 185.5T712.9 234.4 871.1 371.1Q875 377 874 385.7T866.2 399.4 850.6 403.3 835.9 396.5Q781.3 316.4 695.3 273.4 605.5 226.6 499 226.6T304.7 273.4Q218.8 316.4 162.1 396.5 156.3 404.3 146.5 404.3ZM406.3 908.2Q398.4 908.2 392.6 902.3 363.3 873 345.7 850.6T308.6 791Q263.7 712.9 263.7 611.3 263.7 550.8 295.9 499T381.8 417 500 386.7 618.2 417 704.1 499 736.3 611.3Q736.3 619.1 729.5 625T714.8 630.9 700.2 625 693.4 611.3Q693.4 535.2 636.7 481.4T500 427.7 363.3 481.4 306.6 611.3Q306.6 703.1 343.8 771.5 363.3 804.7 380.9 828.1 394.5 845.7 421.9 873 427.7 878.9 427.7 886.7T420.9 901.4 406.3 908.2ZM705.1 830.1Q630.9 830.1 576.2 793 529.3 761.7 502.9 713.9T476.6 611.3Q476.6 601.6 482.4 595.7T497.1 589.8 511.7 595.7 517.6 611.3Q517.6 654.3 539.1 694.3T599.6 759.8Q642.6 789.1 705.1 789.1 724.6 789.1 748 785.2 757.8 783.2 764.6 788.1T772.5 801.8 768.6 817.4 755.9 826.2Q730.5 830.1 705.1 830.1ZM621.1 916H615.2Q566.4 902.3 530.3 881.8T460.9 828.1Q418 785.2 394.5 728.5T371.1 611.3Q371.1 560.5 408.2 524.4T499 488.3 589.8 524.4 627 611.3Q627 644.5 652.3 668T713.9 691.4 775.4 668 800.8 611.3Q800.8 533.2 759.8 467.8T649.4 364.3 498 326.2Q410.2 326.2 334 372.1T222.7 494.1Q199.2 544.9 199.2 611.3 199.2 687.5 226.6 761.7 228.5 769.5 225.6 777.3T213.9 788.1 197.3 787.1 187.5 775.4Q156.3 695.3 156.3 611.3 156.3 535.2 185.5 476.6 226.6 388.7 311.5 335.9T498 283.2Q591.8 283.2 670.9 327.1T795.9 446.3 841.8 611.3Q841.8 660.2 804.7 696.3T713.9 732.4 623 696.3 585.9 611.3Q585.9 576.2 560.5 552.7T499 529.3 437.5 552.7 412.1 611.3Q412.1 664.1 432.6 712.9T490.2 798.8Q519.5 828.1 550.8 845.7T627 875Q634.8 877 638.7 884.8T640.6 900.4 633.8 912.1 621.1 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fingerprint\"\n      ]\n    },\n    {\n      \"uid\": \"2c66e0ab70ad4c04eb909ad2432ca045\",\n      \"css\": \"fire\",\n      \"code\": 983608,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M730.5 466.8Q722.7 455.1 703.1 435.5L699.2 431.6Q687.5 421.9 660.2 400.4 628.9 377 615.2 363.3 570.3 318.4 560.5 251T580.1 125Q529.3 136.7 476.6 179.7 398.4 246.1 370.1 349.6T380.9 550.8Q382.8 558.6 382.8 564.5 382.8 580.1 369.1 585.9T341.8 580.1L335.9 574.2Q300.8 529.3 295.9 470.7T314.5 359.4Q263.7 402.3 236.3 468.8T214.8 603.5Q216.8 640.6 224.6 666 234.4 701.2 255.9 738.3 289.1 791 342.8 827.1T457 871.1Q527.3 880.9 589.8 865.2 658.2 849.6 705.1 804.7 761.7 752 779.3 676.8T767.6 529.3L761.7 519.5Q750 492.2 728.5 466.8H730.5ZM601.6 728.5Q580.1 748 556.6 753.9 525.4 765.6 490.2 753.9 460.9 744.1 437.5 720.7 472.7 710.9 495.1 687.5T525.4 634.8Q529.3 611.3 519.5 568.4L513.7 541Q505.9 494.1 521.5 455.1 533.2 484.4 544.9 499T582 536.1 617.2 572.3Q632.8 591.8 636.7 617.2 640.6 625 640.6 634.8 640.6 660.2 630.9 686.5T601.6 728.5V728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fire\"\n      ]\n    },\n    {\n      \"uid\": \"95b0cc4443a9183f7f6fa52ffef55d13\",\n      \"css\": \"firefox\",\n      \"code\": 983609,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M386.7 330.1ZM285.2 281.3V281.3 281.3 281.3ZM886.7 357.4Q873 326.2 848.6 294.9T802.7 252Q835.9 316.4 845.7 378.9V380.9Q826.2 334 794.9 291 777.3 263.7 736.3 216.8 679.7 152.3 652.3 111.3L638.7 87.9Q632.8 76.2 632.8 70.3H630.9V70.3Q566.4 105.5 529.3 171.9 498 224.6 488.3 279.3 445.3 281.3 406.3 300.8 398.4 304.7 400.4 314.5 402.3 318.4 406.3 320.3T414.1 320.3Q449.2 304.7 488.3 300.8H500Q529.3 300.8 560.5 308.6L572.3 312.5 593.8 322.3 611.3 332Q658.2 361.3 683.6 406.3 664.1 394.5 638.7 386.7 609.4 378.9 584 382.8 636.7 410.2 659.2 464.8T668 577.1 609.4 669.9Q558.6 709 484.4 707 459 705.1 431.6 695.3 423.8 693.4 418 691.4L412.1 687.5Q371.1 666 343.8 630.9T312.5 550.8L318.4 539.1Q324.2 527.3 337.9 515.6 355.5 500 378.9 490.2 410.2 478.5 451.2 478.5 460.9 478.5 480.5 460T502 433.6Q502 431.6 480.5 421.9 419.9 390.6 400.4 373L371.1 345.7 361.3 337.9Q345.7 287.1 359.4 236.3 306.6 259.8 259.8 312.5V312.5Q248 298.8 246.1 257.8 244.1 232.4 244.1 209 242.2 209 230.5 216.8 209 230.5 189.5 250 168 273.4 150.4 296.9 107.4 361.3 95.7 423.8L93.8 425.8Q89.8 445.3 87.9 462.9L84 496.1V513.7Q84 627 139.6 722.7T291 874 500 929.7Q601.6 929.7 689.5 884.8T835.9 760.7 912.1 584L914.1 568.4Q927.7 455.1 886.7 357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"firefox\"\n      ]\n    },\n    {\n      \"uid\": \"924915d4df494146b8a0d7903055e398\",\n      \"css\": \"fish\",\n      \"code\": 983610,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834L531.3 709Q429.7 701.2 347.7 662.1T240.2 566.4Q232.4 599.6 222.7 617.2 203.1 650.4 164.1 660.2 138.7 666 84 666 115.2 666 130.9 623 146.5 585.9 146.5 520.5T130.9 418Q115.2 375 84 375 138.7 375 164.1 380.9 203.1 390.6 222.7 423.8 232.4 441.4 240.2 476.6 259.8 431.6 314.5 397.5T443.4 345.7L375 209Q459 209 496.1 210.9 560.5 216.8 597.7 236.3 628.9 252 654.3 283.2 673.8 306.6 695.3 349.6 791 371.1 851.6 418 916 464.8 916 521.5T849.6 627Q785.2 671.9 687.5 693.4 623 779.3 589.8 804.7 566.4 824.2 543 830.1 527.3 834 500 834ZM709 459Q691.4 459 678.7 470.7T666 500 678.7 529.3 709 541 738.3 529.3 750 500 738.3 470.7 709 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fish\"\n      ]\n    },\n    {\n      \"uid\": \"032e27539b622fe08a9b0755e6c56630\",\n      \"css\": \"flag\",\n      \"code\": 983611,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M599.6 250L584 166H209V875H291V584H525.4L541 666H834V250H599.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag\"\n      ]\n    },\n    {\n      \"uid\": \"44a83ddff44898687bc6df99eb37903a\",\n      \"css\": \"flag-checkered\",\n      \"code\": 983612,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M599.6 250H834V666H541L525.4 584H291V875H209V166H584ZM584 584H666V500H750V416H666V334H584V416L541 334V250H459V334H375V250H291V334H375V416H291V500H375V416H459V500H541V416L584 500V584ZM459 416V334H541V416H459ZM584 416H666V500H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-checkered\"\n      ]\n    },\n    {\n      \"uid\": \"1b1b927f492980c95361ef5a4934400d\",\n      \"css\": \"flag-outline\",\n      \"code\": 983613,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M515.6 250L531.3 334H750V584H609.4L593.8 500H291V250H515.6ZM584 166H209V875H291V584H525.4L541 666H834V250H599.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1f3cf703c25baa83c9c9aae81899e06e\",\n      \"css\": \"flag-variant-outline\",\n      \"code\": 983614,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125Q267.6 125 279.3 136.7T291 166V203.1Q380.9 166 459 166 503.9 166 537.1 181.6 556.6 191.4 585.9 214.8 607.4 232.4 621.1 240.2 640.6 250 666 250 744.1 250 796.9 209 822.3 187.5 834 166V166 500L824.2 513.7Q812.5 529.3 796.9 541 773.4 560.5 746.1 570.3 709 584 665 584T587.9 568.4Q568.4 558.6 539.1 535.2 517.6 517.6 503.9 509.8 484.4 500 459 500 416 500 378.9 513.7 351.6 523.4 328.1 541 312.5 554.7 300.8 570.3L291 584V875H209V166Q209 148.4 220.7 136.7T250 125ZM291 302.7V478.5L316.4 462.9Q347.7 445.3 378.9 433.6 421.9 416 459 416 486.3 416 513.7 429.7 531.3 437.5 562.5 458T611.3 486.3Q638.7 500 666 500 703.1 500 724.6 488.3 740.2 482.4 746.1 468.8L750 459V312.5L724.6 322.3Q693.4 334 666 334T611.3 320.3Q593.8 312.5 562.5 292T513.7 263.7Q486.3 250 459 250 406.3 250 343.8 275.4 312.5 289.1 291 302.7V302.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"150c68d52ee16a5ea8c080e764b6524c\",\n      \"css\": \"flag-triangle\",\n      \"code\": 983615,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H375V916H291V84ZM791 375L459 607.4V142.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-triangle\"\n      ]\n    },\n    {\n      \"uid\": \"9815c5cea90b9cb48bbff892b9e8c933\",\n      \"css\": \"flag-variant\",\n      \"code\": 983616,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125Q267.6 125 279.3 136.7T291 166V203.1Q380.9 166 459 166 503.9 166 537.1 181.6 556.6 191.4 585.9 214.8 607.4 232.4 621.1 240.2 640.6 250 666 250 744.1 250 796.9 209 822.3 187.5 834 166V166 500L824.2 513.7Q812.5 529.3 796.9 541 773.4 560.5 746.1 570.3 709 584 665 584T587.9 568.4Q568.4 558.6 539.1 535.2 517.6 517.6 503.9 509.8 484.4 500 459 500 416 500 378.9 513.7 351.6 523.4 328.1 541 312.5 554.7 300.8 570.3L291 584V875H209V166Q209 148.4 220.7 136.7T250 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-variant\"\n      ]\n    },\n    {\n      \"uid\": \"4daeee43f3f536fcf1bef57c1a5d5588\",\n      \"css\": \"flash\",\n      \"code\": 983617,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84V541H416V916L709 416H541L709 84H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash\"\n      ]\n    },\n    {\n      \"uid\": \"2ff9c115c29b27fa6f9b8a295f084540\",\n      \"css\": \"flash-auto\",\n      \"code\": 983618,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M701.2 318.4L750 166 798.8 318.4H701.2ZM791 84H709L574.2 459H654.3L683.6 375H816.4L845.7 459H925.8ZM125 84V584H250V959L541 459H375L541 84H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-auto\"\n      ]\n    },\n    {\n      \"uid\": \"27ac591cfd1d6af19638ab8c07ab6831\",\n      \"css\": \"flash-off\",\n      \"code\": 983619,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 416H541L709 84H291V173.8L644.5 527.3ZM136.7 125L84 177.7 291 386.7V541H416V916L566.4 660.2 738.3 834 791 781.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-off\"\n      ]\n    },\n    {\n      \"uid\": \"3539eb1812d1dd0ca6ce2684ab3894bc\",\n      \"css\": \"flashlight\",\n      \"code\": 983620,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 416L250 209H750L625 416H375ZM750 166H250V84H750V166ZM375 916V459H625V916H375ZM500 541Q482.4 541 470.7 553.7T459 584 470.7 613.3 500 625 529.3 613.3 541 584 529.3 553.7 500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flashlight\"\n      ]\n    },\n    {\n      \"uid\": \"f6b6711182d27efd30beab1095b4f13b\",\n      \"css\": \"flashlight-off\",\n      \"code\": 983621,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 625 761.7V916H375V511.7ZM750 209L625 416H492.2L283.2 209H750ZM750 166H250V84H750V166ZM625 459V548.8L533.2 459H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flashlight-off\"\n      ]\n    },\n    {\n      \"uid\": \"bac14a67321b11e057f1adeda8b98a6b\",\n      \"css\": \"star-half\",\n      \"code\": 983622,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L382.8 359.4 84 384.8 310.5 582 242.2 875 500 718.8V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-half\"\n      ]\n    },\n    {\n      \"uid\": \"46f1a75ea6ff633446f04d158ee7e66a\",\n      \"css\": \"flip-to-back\",\n      \"code\": 983623,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H709V625H625V709ZM625 209H709V125H625V209ZM209 291H125V791Q125 826.2 149.4 850.6T209 875H709V791H209V291ZM791 709Q826.2 709 850.6 684.6T875 625H791V709ZM791 375H875V291H791V375ZM791 541H875V459H791V541ZM375 709V625H291Q291 660.2 315.4 684.6T375 709ZM541 125H459V209H541V125ZM791 125V209H875Q875 173.8 850.6 149.4T791 125ZM541 625H459V709H541V625ZM375 125Q339.8 125 315.4 149.4T291 209H375V125ZM375 459H291V541H375V459ZM375 291H291V375H375V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flip-to-back\"\n      ]\n    },\n    {\n      \"uid\": \"fbaf5ce9a57ea5ad79c266eb0e1e185a\",\n      \"css\": \"flip-to-front\",\n      \"code\": 983624,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875H375V791H291V875ZM459 875H541V791H459V875ZM791 625H375V209H791V625ZM791 125H375Q339.8 125 315.4 149.4T291 209V625Q291 660.2 315.4 684.6T375 709H791Q826.2 709 850.6 684.6T875 625V209Q875 173.8 850.6 149.4T791 125ZM625 875H709V791H625V875ZM125 375H209V291H125V375ZM209 875V791H125Q125 826.2 149.4 850.6T209 875ZM125 709H209V625H125V709ZM125 541H209V459H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flip-to-front\"\n      ]\n    },\n    {\n      \"uid\": \"e010a11305c306f02382fa6d4efdaf15\",\n      \"css\": \"floppy\",\n      \"code\": 983625,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V228.5L771.5 125H709V375Q709 392.6 696.3 404.3T666 416H334Q316.4 416 303.7 404.3T291 375V125H209ZM500 166V375H625V166H500ZM291 500H709Q726.6 500 738.3 511.7T750 541V791H250V541Q250 523.4 261.7 511.7T291 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"floppy\"\n      ]\n    },\n    {\n      \"uid\": \"a2ce41c0405d6f12c6c99c2651978f80\",\n      \"css\": \"flower\",\n      \"code\": 983626,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541Q125 642.6 175.8 729.5T312.5 866.2 500 916Q500 814.5 449.2 728.5T312.5 591.8 125 541ZM500 228.5Q543 228.5 573.2 259.8T603.5 334 573.2 407.2 500 437.5 426.8 407.2 396.5 334 426.8 259.8 500 228.5ZM232.4 427.7Q232.4 470.7 263.7 501T337.9 531.3Q369.1 531.3 396.5 513.7V521.5Q396.5 564.5 426.8 594.7T500 625 573.2 594.7 603.5 521.5V513.7Q630.9 531.3 662.1 531.3 705.1 531.3 736.3 501T767.6 427.7Q767.6 396.5 751 371.1T707 334Q734.4 320.3 751 294.9T767.6 240.2Q767.6 197.3 736.3 166T662.1 134.8Q628.9 134.8 603.5 154.3V146.5Q603.5 103.5 573.2 72.3T500 41 426.8 72.3 396.5 146.5V154.3Q371.1 134.8 337.9 134.8 294.9 134.8 263.7 166T232.4 240.2Q232.4 269.5 249 294.9T293 334Q265.6 345.7 249 371.1T232.4 427.7ZM500 916Q601.6 916 687.5 866.2T824.2 729.5 875 541Q773.4 541 686.5 591.8T549.8 728.5 500 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flower\"\n      ]\n    },\n    {\n      \"uid\": \"1a8ebf91c769dc811c623c0a7b717ab2\",\n      \"css\": \"folder\",\n      \"code\": 983627,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder\"\n      ]\n    },\n    {\n      \"uid\": \"ecdfa67728fcd89f5cbd17fdf9fe85f5\",\n      \"css\": \"folder-account\",\n      \"code\": 983628,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H459V666Q459 628.9 521.5 603.5 572.3 584 625 584T728.5 603.5Q791 628.9 791 666V709ZM625 375Q660.2 375 684.6 399.4T709 458 684.6 516.6 625 541 565.4 516.6 541 458 565.4 399.4 625 375ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-account\"\n      ]\n    },\n    {\n      \"uid\": \"9bcbcf767d0dc988268228473ec8cec7\",\n      \"css\": \"folder-download\",\n      \"code\": 983629,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834ZM802.7 541H666V375H584V541H447.3L625 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-download\"\n      ]\n    },\n    {\n      \"uid\": \"aaae14b2d6267b0cc8f205d9e25da5cb\",\n      \"css\": \"folder-google-drive\",\n      \"code\": 983630,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M572.3 375H671.9L791 584H668L562.5 394.5ZM761.7 709H531.3L589.8 603.5H802.7L814.5 623ZM478.5 709L433.6 619.1 550.8 412.1 613.3 523.4 509.8 709H478.5ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-google-drive\"\n      ]\n    },\n    {\n      \"uid\": \"bd3efe894c3ea545d912b1679effd333\",\n      \"css\": \"folder-image\",\n      \"code\": 983631,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 709L396.5 459 541 646.5 646.5 521.5 791 709H209ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-image\"\n      ]\n    },\n    {\n      \"uid\": \"2a62c58055ab9bb6bb08ac8384c4ef55\",\n      \"css\": \"folder-lock\",\n      \"code\": 983632,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834ZM791 709V541H750V500Q750 447.3 713.9 411.1T625 375 536.1 411.1 500 500V541H459V709H791ZM625 459Q642.6 459 654.3 470.7T666 500V541H584V500Q584 482.4 595.7 470.7T625 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-lock\"\n      ]\n    },\n    {\n      \"uid\": \"cf6e33d39ebf37fb80df90bc130f00af\",\n      \"css\": \"folder-lock-open\",\n      \"code\": 983633,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834ZM791 709V541H584V459Q584 441.4 595.7 428.7T625 416 654.3 428.7 666 459H750Q750 406.3 713.9 370.1T625 334 536.1 370.1 500 459V541H459V709H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-lock-open\"\n      ]\n    },\n    {\n      \"uid\": \"b8396e3edb19e5c57e9ecacc983da217\",\n      \"css\": \"folder-move\",\n      \"code\": 983634,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 750V625H416V459H584V334L791 541ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-move\"\n      ]\n    },\n    {\n      \"uid\": \"4ffbeb880dd66592fa4c7725ef65f063\",\n      \"css\": \"folder-multiple\",\n      \"code\": 983635,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166H584L500 84H250Q214.8 84 190.4 108.4T166 166V666Q166 701.2 190.4 725.6T250 750H916Q951.2 750 975.6 725.6T1000 666V250Q1000 214.8 975.6 190.4T916 166ZM84 250H0V834Q0 867.2 24.4 891.6T84 916H834V834H84V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"639210ce5e962063e2319c19ff496a6e\",\n      \"css\": \"folder-multiple-image\",\n      \"code\": 983636,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 625L478.5 375 625 562.5 728.5 437.5 875 625H291ZM916 166H584L500 84H250Q214.8 84 190.4 108.4T166 166V666Q166 701.2 190.4 725.6T250 750H916Q951.2 750 975.6 725.6T1000 666V250Q1000 214.8 975.6 190.4T916 166ZM84 250H0V834Q0 867.2 24.4 891.6T84 916H834V834H84V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-multiple-image\"\n      ]\n    },\n    {\n      \"uid\": \"e0652cd0fbb7d9a8292f3d335184dc77\",\n      \"css\": \"folder-multiple-outline\",\n      \"code\": 983637,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166Q951.2 166 975.6 190.4T1000 250V666Q1000 701.2 975.6 725.6T916 750H250Q214.8 750 190.4 725.6T166 666V166Q166 132.8 190.4 108.4T250 84H500L584 166H916ZM84 250V834H834V916H84Q48.8 916 24.4 891.6T0 834V250H84ZM250 250V666H916V250H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3d921bafa425bf593fb98abaf587597d\",\n      \"css\": \"folder-outline\",\n      \"code\": 983638,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-outline\"\n      ]\n    },\n    {\n      \"uid\": \"85d6c2eef16b2b3f1ba5b71c546b32aa\",\n      \"css\": \"folder-plus\",\n      \"code\": 983639,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166L500 250H834Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416ZM625 375V500H500V584H625V709H709V584H834V500H709V375H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-plus\"\n      ]\n    },\n    {\n      \"uid\": \"8653917d6640699b098c4f3b16caf61d\",\n      \"css\": \"folder-remove\",\n      \"code\": 983640,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166L500 250H834Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416ZM519.5 453.1L607.4 541 519.5 630.9 578.1 689.5 666 599.6 755.9 689.5 814.5 630.9 724.6 541 814.5 453.1 755.9 394.5 666 482.4 578.1 394.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-remove\"\n      ]\n    },\n    {\n      \"uid\": \"cff0585fa560c35ed25e6925a68c41fb\",\n      \"css\": \"folder-upload\",\n      \"code\": 983641,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834ZM447.3 541H584V709H666V541H802.7L625 365.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-upload\"\n      ]\n    },\n    {\n      \"uid\": \"06089762a4d387d02fb19fccc4be2ac3\",\n      \"css\": \"food\",\n      \"code\": 983642,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 875L584 334H675.8L628.9 144.5 701.2 125 753.9 334H916L853.5 875H646.5ZM209 459H416Q468.8 459 504.9 495.1T541 584H84Q84 531.3 120.1 495.1T209 459ZM541 750Q541 802.7 504.9 838.9T416 875H209Q156.3 875 120.1 838.9T84 750H541ZM125 625H334L396.5 687.5 459 625H500Q517.6 625 529.3 636.7T541 666 529.3 696.3 500 709H125Q107.4 709 95.7 696.3T84 666 95.7 636.7 125 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food\"\n      ]\n    },\n    {\n      \"uid\": \"6817e3ddef8e403f77271b86b7fa8484\",\n      \"css\": \"food-apple\",\n      \"code\": 983643,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 416Q863.3 460.9 847.7 546.9 834 623 791 712.9 752 796.9 704.1 856.4T624 916 570.3 908.2Q556.6 902.3 539.1 890.6 517.6 875 500 875T460.9 890.6Q443.4 902.3 429.7 908.2 408.2 916 376 916T295.9 856.4 209 712.9Q166 623 152.3 546.9 136.7 460.9 166 416 224.6 330.1 312.5 312.5 386.7 296.9 459 334V209Q392.6 244.1 337.9 252 293 259.8 255.9 246.1 226.6 234.4 205.1 212.9 189.5 195.3 177.7 175.8L171.9 158.2 183.6 142.6Q201.2 127 220.7 117.2 250 103.5 281.3 103.5 320.3 103.5 361.3 127 408.2 152.3 459 209V125H541V334Q613.3 296.9 687.5 312.5 775.4 330.1 834 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-apple\"\n      ]\n    },\n    {\n      \"uid\": \"d2cbbb0f3ac04d73da2a8cfaa6d489aa\",\n      \"css\": \"food-variant\",\n      \"code\": 983644,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 750Q916 818.4 867.2 867.2T750 916H625Q556.6 916 507.8 867.2T459 750V666H742.2L855.5 468.8 921.9 505.9 828.1 666H916V750ZM375 916H84Q84 791 85.9 728.5 87.9 623 97.7 535.2 109.4 412.1 150.4 209H125V125H334V209H308.6Q347.7 412.1 361.3 535.2 371.1 623 373 728.5 375 791 375 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-variant\"\n      ]\n    },\n    {\n      \"uid\": \"079e2c60202d1546fa23c9f9c42d8122\",\n      \"css\": \"football\",\n      \"code\": 983645,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 312.5Q365.2 261.7 428.7 225.6T556.6 173.8Q660.2 148.4 775.4 166 810.5 171.9 820.3 181.6T834 224.6Q851.6 341.8 826.2 443.4 810.5 507.8 774.4 571.3T686.5 686.5 571.3 774.4 443.4 826.2Q341.8 851.6 224.6 834 191.4 830.1 181.6 820.3T166 775.4Q148.4 660.2 173.8 556.6 189.5 492.2 225.6 428.7T312.5 312.5ZM304.7 658.2L341.8 695.3 392.6 646.5 443.4 695.3 480.5 658.2 431.6 607.4 500 537.1 550.8 587.9 587.9 550.8 537.1 500 607.4 431.6 658.2 480.5 695.3 443.4 646.5 392.6 695.3 341.8 658.2 304.7 607.4 353.5 556.6 304.7 519.5 341.8 568.4 392.6 500 462.9 449.2 412.1 412.1 449.2 462.9 500 392.6 568.4 341.8 519.5 304.7 556.6 353.5 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"football\"\n      ]\n    },\n    {\n      \"uid\": \"c1e5e0108c2175e4da8acc2f20f76f32\",\n      \"css\": \"football-australian\",\n      \"code\": 983646,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 312.5Q365.2 261.7 428.7 225.6T556.6 173.8Q652.3 150.4 722.7 178.7T821.3 277.3 826.2 443.4Q810.5 507.8 774.4 571.3T686.5 686.5 571.3 774.4 443.4 826.2Q347.7 849.6 277.3 821.3T178.7 722.7 173.8 556.6Q189.5 492.2 225.6 428.7T312.5 312.5ZM443.4 468.8L427.7 484.4 515.6 572.3 531.3 556.6ZM484.4 427.7L468.8 443.4 556.6 531.3 572.3 515.6ZM400.4 511.7L386.7 525.4 474.6 613.3 488.3 599.6ZM525.4 386.7L511.7 400.4 599.6 490.2 615.2 474.6ZM359.4 552.7L345.7 568.4 433.6 656.3 447.3 642.6ZM568.4 345.7L552.7 359.4 642.6 447.3 656.3 433.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"football-australian\"\n      ]\n    },\n    {\n      \"uid\": \"ff98b6628d1a9c1d6a48babb1f6c0346\",\n      \"css\": \"football-helmet\",\n      \"code\": 983647,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 500Q537.1 500 518.6 518.6T500 562.5 518.6 606.4 562.5 625 606.4 606.4 625 562.5 606.4 518.6 562.5 500ZM562.5 125Q658.2 125 740.2 169.9T869.1 291 916 459Q916 523.4 912.1 556.6 904.3 611.3 878.9 666 820.3 666 767.6 695.3 736.3 710.9 685.5 753.9 636.7 794.9 611.3 808.6 568.4 834 521.5 834 455.1 834 418 785.2 384.8 742.2 377 666H343.8L289.1 845.7Q285.2 861.3 271.5 869.1T244.1 875H125Q107.4 875 95.7 863.3T84 834 95.7 803.7 125 791V666Q107.4 666 95.7 654.3T84 625 95.7 595.7 125 584H281.3L300.8 515.6Q267.6 500 228.5 500H210.9L209 459Q209 367.2 255.9 291T384.8 169.9 562.5 125ZM209 666V791H218.8L255.9 666H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"football-helmet\"\n      ]\n    },\n    {\n      \"uid\": \"d89f24624f92b3ac219c28005ae1f5fd\",\n      \"css\": \"format-align-center\",\n      \"code\": 983648,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209H125V125ZM291 291H709V375H291V291ZM125 459H875V541H125V459ZM291 625H709V709H291V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-center\"\n      ]\n    },\n    {\n      \"uid\": \"da4ce633a936407cd6f2cc9a0e480e1a\",\n      \"css\": \"format-align-justify\",\n      \"code\": 983649,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209H125V125ZM125 291H875V375H125V291ZM125 459H875V541H125V459ZM125 625H875V709H125V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-justify\"\n      ]\n    },\n    {\n      \"uid\": \"546825e99b6176f41fbc55a3f1f1a7da\",\n      \"css\": \"format-align-left\",\n      \"code\": 983650,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209H125V125ZM125 291H625V375H125V291ZM125 459H875V541H125V459ZM125 625H625V709H125V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-left\"\n      ]\n    },\n    {\n      \"uid\": \"0d31e205ac127623e85afcdb8ddc9fb2\",\n      \"css\": \"format-align-right\",\n      \"code\": 983651,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209H125V125ZM375 291H875V375H375V291ZM125 459H875V541H125V459ZM375 625H875V709H375V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-right\"\n      ]\n    },\n    {\n      \"uid\": \"5cdf3683c40b1523689ad52f224305ff\",\n      \"css\": \"format-bold\",\n      \"code\": 983652,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 646.5H416V521.5H562.5Q587.9 521.5 606.4 539.1T625 583 606.4 627.9 562.5 646.5ZM416 271.5H541Q568.4 271.5 585.9 289.1T603.5 333 585.9 377.9 541 396.5H416V271.5ZM650.4 449.2Q679.7 427.7 699.2 396.5T718.8 334Q718.8 263.7 670.9 214.8T552.7 166H291V750H585.9Q650.4 750 695.3 704.1T740.2 591.8Q740.2 544.9 715.8 506.8T650.4 449.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-bold\"\n      ]\n    },\n    {\n      \"uid\": \"5834d32217cd253887e18bd49a23703e\",\n      \"css\": \"format-clear\",\n      \"code\": 983653,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 209V216.8L367.2 334H466.8L437.5 404.3 525.4 490.2 591.8 334H834V209H250ZM136.7 209L84 261.7 373 550.8 271.5 791H396.5L460.9 638.7 697.3 875 750 822.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-clear\"\n      ]\n    },\n    {\n      \"uid\": \"e9c512ef18313d4bac721c35e543caf2\",\n      \"css\": \"format-color-fill\",\n      \"code\": 983654,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 478.5Q781.3 492.2 769.5 503.9 746.1 535.2 730.5 562.5 709 599.6 709 625 709 660.2 733.4 684.6T792 709 850.6 684.6 875 625Q875 599.6 853.5 562.5 837.9 535.2 812.5 503.9ZM216.8 416L416 216.8 617.2 416H216.8ZM689.5 373L318.4 0 257.8 58.6 357.4 158.2 142.6 373Q125 390.6 125 417T142.6 460.9L373 689.5Q390.6 709 417 709T460.9 689.5L689.5 460.9Q709 443.4 709 417T689.5 373Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-color-fill\"\n      ]\n    },\n    {\n      \"uid\": \"afcac7f8bcd353a2ad2bef200f8efa58\",\n      \"css\": \"format-float-center\",\n      \"code\": 983655,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V541H375V291ZM125 125H875V209H125V125ZM125 625H875V709H125V625ZM125 791H709V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-float-center\"\n      ]\n    },\n    {\n      \"uid\": \"7eb7a831646e4809e6ab125408d15776\",\n      \"css\": \"format-float-left\",\n      \"code\": 983656,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291H375V541H125V291ZM125 125H875V209H125V125ZM875 291V375H459V291H875ZM875 459V541H459V459H875ZM125 625H709V709H125V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-float-left\"\n      ]\n    },\n    {\n      \"uid\": \"b84a3f7bce2f8f54159e65bedd088472\",\n      \"css\": \"format-float-none\",\n      \"code\": 983657,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291H375V541H125V291ZM125 125H875V209H125V125ZM875 459V541H459V459H875ZM125 625H709V709H125V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-float-none\"\n      ]\n    },\n    {\n      \"uid\": \"d8b4d4fd4eb649741d2082ca53e829c3\",\n      \"css\": \"format-float-right\",\n      \"code\": 983658,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 291H875V541H625V291ZM125 125H875V209H125V125ZM541 291V375H125V291H541ZM375 459V541H125V459H375ZM125 625H709V709H125V625ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-float-right\"\n      ]\n    },\n    {\n      \"uid\": \"73955bf6af5e90c55f5c02cd5f4449af\",\n      \"css\": \"format-header-1\",\n      \"code\": 983659,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM584 750V666H666V263.7L562.5 322.3V226.6L666 166H750V666H834V750H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-1\"\n      ]\n    },\n    {\n      \"uid\": \"deb8c3ee12827fa41f1dd27d8d389cbc\",\n      \"css\": \"format-header-2\",\n      \"code\": 983660,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM875 750H625Q589.8 750 565.4 725.6T541 668 564.5 609.4L767.6 392.6Q791 369.1 791 334T766.6 274.4 708 250 649.4 274.4 625 334H541Q541 263.7 589.8 214.8T708 166 826.2 214.8 875 333 826.2 451.2L625 666H875V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-2\"\n      ]\n    },\n    {\n      \"uid\": \"d3eecdd764279b4a5fd4cd5fc39a7e38\",\n      \"css\": \"format-header-3\",\n      \"code\": 983661,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM625 166H791Q826.2 166 850.6 190.4T875 250V666Q875 701.2 850.6 725.6T791 750H625Q589.8 750 565.4 725.6T541 666V625H625V666H791V500H625V416H791V250H625V291H541V250Q541 214.8 565.4 190.4T625 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-3\"\n      ]\n    },\n    {\n      \"uid\": \"ea70a8a8739007b9b7dc86c34a1fccfa\",\n      \"css\": \"format-header-4\",\n      \"code\": 983662,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM750 750V541H541V459L750 166H834V459H875V541H834V750H750ZM750 459V308.6L644.5 459H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-4\"\n      ]\n    },\n    {\n      \"uid\": \"a5bd7ae61c00c5952accf951e7ec16eb\",\n      \"css\": \"format-header-5\",\n      \"code\": 983663,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM625 166H834V250H625V416H709Q777.3 416 826.2 464.8T875 583 826.2 701.2 709 750H625Q589.8 750 565.4 725.6T541 666V625H625V666H709Q742.2 666 766.6 641.6T791 583 766.6 524.4 709 500H625Q589.8 500 565.4 475.6T541 416V250Q541 214.8 565.4 190.4T625 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-5\"\n      ]\n    },\n    {\n      \"uid\": \"a1abf988a0cfc93ceaa9170e89f3d5a2\",\n      \"css\": \"format-header-6\",\n      \"code\": 983664,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM625 166H791Q826.2 166 850.6 190.4T875 250V291H791V250H625V416H791Q826.2 416 850.6 440.4T875 500V666Q875 701.2 850.6 725.6T791 750H625Q589.8 750 565.4 725.6T541 666V250Q541 214.8 565.4 190.4T625 166ZM625 500V666H791V500H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-6\"\n      ]\n    },\n    {\n      \"uid\": \"90985136a3e2bbbc20a2a19514168b8a\",\n      \"css\": \"format-header-decrease\",\n      \"code\": 983665,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H250V416H416V166H500V750H416V500H250V750H166V166ZM851.6 308.6L701.2 459 851.6 607.4 791 666 584 459 791 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-decrease\"\n      ]\n    },\n    {\n      \"uid\": \"5d8b5557c9ed8f51583622e02bb2733f\",\n      \"css\": \"format-header-equal\",\n      \"code\": 983666,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H250V416H416V166H500V750H416V500H250V750H166V166ZM584 416V334H875V416H584ZM584 500H875V584H584V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-equal\"\n      ]\n    },\n    {\n      \"uid\": \"c620caa8ba7bf11de12dfd0df9024e4a\",\n      \"css\": \"format-header-increase\",\n      \"code\": 983667,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H250V416H416V166H500V750H416V500H250V750H166V166ZM607.4 308.6L757.8 459 607.4 607.4 666 666 875 459 666 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-increase\"\n      ]\n    },\n    {\n      \"uid\": \"bb99bb060227aa59529dc9ce69cc57b0\",\n      \"css\": \"format-header-pound\",\n      \"code\": 983668,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H209V416H375V166H459V750H375V500H209V750H125V166ZM541 334H638.7L650.4 209H734.4L720.7 334H804.7L818.4 209H900.4L888.7 334H959V416H878.9L871.1 500H959V584H861.3L849.6 709H765.6L779.3 584H695.3L681.6 709H599.6L611.3 584H541V500H621.1L628.9 416H541V334ZM712.9 416L705.1 500H787.1L794.9 416H712.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-header-pound\"\n      ]\n    },\n    {\n      \"uid\": \"9dd13bf783bf766904789f0509636453\",\n      \"css\": \"format-indent-decrease\",\n      \"code\": 983669,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H875V459H459V541ZM459 375H875V291H459V375ZM125 125V209H875V125H125ZM125 875H875V791H125V875ZM125 500L291 666V334ZM459 709H875V625H459V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-indent-decrease\"\n      ]\n    },\n    {\n      \"uid\": \"dfb65e362355edff091cd58fcb332530\",\n      \"css\": \"format-indent-increase\",\n      \"code\": 983670,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H875V459H459V541ZM459 375H875V291H459V375ZM125 125V209H875V125H125ZM459 709H875V625H459V709ZM125 334V666L291 500ZM125 875H875V791H125V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-indent-increase\"\n      ]\n    },\n    {\n      \"uid\": \"e27609a822399bd20e4f9bcbe57dc54b\",\n      \"css\": \"format-italic\",\n      \"code\": 983671,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166V291H507.8L367.2 625H250V750H584V625H492.2L632.8 291H750V166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-italic\"\n      ]\n    },\n    {\n      \"uid\": \"3e4508b82ef86070aea9e49729a3f585\",\n      \"css\": \"format-line-spacing\",\n      \"code\": 983672,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 541H916V459H416V541ZM416 791H916V709H416V791ZM416 291H916V209H416V291ZM250 291H353.5L209 146.5 62.5 291H166V709H62.5L209 853.5 353.5 709H250V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-line-spacing\"\n      ]\n    },\n    {\n      \"uid\": \"567616ab2c1ef9dacff83cf32c9850f6\",\n      \"css\": \"format-list-bulleted\",\n      \"code\": 983673,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 209H875V291H291V209ZM291 541V459H875V541H291ZM166 187.5Q193.4 187.5 210.9 206.1T228.5 250 210.9 293.9 167 312.5 122.1 293.9 103.5 250 122.1 206.1 166 187.5ZM166 437.5Q193.4 437.5 210.9 456.1T228.5 500 210.9 543.9 167 562.5 122.1 543.9 103.5 500 122.1 456.1 166 437.5ZM291 791V709H875V791H291ZM166 687.5Q193.4 687.5 210.9 706.1T228.5 750 210.9 793.9 167 812.5 122.1 793.9 103.5 750 122.1 706.1 166 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-bulleted\"\n      ]\n    },\n    {\n      \"uid\": \"20ce26d1d1994bd30a6be668ad9c7a4a\",\n      \"css\": \"format-list-bulleted-type\",\n      \"code\": 983674,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 396.5L312.5 584H103.5ZM125 166H291V334H125V166ZM209 834Q242.2 834 266.6 809.6T291 750 266.6 690.4 208 666 149.4 690.4 125 750 149.4 809.6 209 834ZM375 209V291H875V209H375ZM375 791H875V709H375V791ZM375 541H875V459H375V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-bulleted-type\"\n      ]\n    },\n    {\n      \"uid\": \"53aed6a520d1b1fe32bd8b6839180749\",\n      \"css\": \"format-list-numbered\",\n      \"code\": 983675,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 541V459H875V541H291ZM291 791V709H875V791H291ZM291 291V209H875V291H291ZM125 334V209H84V166H166V334H125ZM84 709V666H209V834H84V791H166V771.5H125V728.5H166V709H84ZM177.7 416Q189.5 416 199.2 425.8T209 448.2 199.2 468.8L130.9 541H209V584H84V544.9L166 459H84V416H177.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-numbered\"\n      ]\n    },\n    {\n      \"uid\": \"9e856792d2689ad4d9504d7694d2568e\",\n      \"css\": \"format-paint\",\n      \"code\": 983676,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 166V125Q750 107.4 738.3 95.7T709 84H209Q191.4 84 178.7 95.7T166 125V291Q166 308.6 178.7 321.3T209 334H709Q726.6 334 738.3 321.3T750 291V250H791V416H375V875Q375 892.6 386.7 904.3T416 916H500Q517.6 916 529.3 904.3T541 875V500H875V166H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-paint\"\n      ]\n    },\n    {\n      \"uid\": \"eec5d4a72fc15770f3f14b8178a6b5ac\",\n      \"css\": \"format-paragraph\",\n      \"code\": 983677,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166Q611.3 166 660.2 214.8T709 333 660.2 451.2 541 500H459V750H375V166H541ZM541 416Q576.2 416 600.6 391.6T625 333 600.6 274.4 541 250H459V416H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-paragraph\"\n      ]\n    },\n    {\n      \"uid\": \"c86da582217b7248a882b2d37d8a870d\",\n      \"css\": \"format-quote-close\",\n      \"code\": 983678,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H709L791 541V291H541V541H666ZM250 709H375L459 541V291H209V541H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-quote-close\"\n      ]\n    },\n    {\n      \"uid\": \"202fba9407d708c277922a2c43697ed5\",\n      \"css\": \"format-size\",\n      \"code\": 983679,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166V291H291V791H416V291H625V166H84ZM875 375H500V500H625V791H750V500H875V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-size\"\n      ]\n    },\n    {\n      \"uid\": \"28dfd2bed7c463b0d6839af63ffa5a00\",\n      \"css\": \"format-strikethrough\",\n      \"code\": 983680,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 584H875V500H125V584ZM209 166V291H416V416H584V291H791V166H209ZM416 791H584V666H416V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-strikethrough\"\n      ]\n    },\n    {\n      \"uid\": \"4fb4e172c3d51e93f54944398df7f747\",\n      \"css\": \"format-strikethrough-variant\",\n      \"code\": 983681,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500V584H775.4Q793 621.1 794.9 673.8 796.9 732.4 773.4 783.2 746.1 843.8 687.5 877 621.1 916 515.6 916 361.3 918 275.4 847.7 212.9 796.9 191.4 716.8 179.7 675.8 181.6 646.5L347.7 648.4Q347.7 738.3 418 771.5 457 789.1 505.9 787.1H511.7Q556.6 783.2 584 769.5 634.8 746.1 638.7 688.5T546.9 584H41V500H959ZM808.6 328.1H642.6V308.6Q638.7 287.1 628.9 269.5 615.2 244.1 587.9 230.5 556.6 210.9 505.9 210.9 419.9 210.9 388.7 253.9 373 277.3 375 312.5V314.5Q378.9 335.9 396.5 357.4 429.7 394.5 500 412.1H238.3L226.6 382.8Q212.9 345.7 209 310.5 205.1 259.8 220.7 218.8 240.2 169.9 289.1 136.7 347.7 97.7 447.3 84 513.7 74.2 566.4 80.1 617.2 84 656.3 101.6 693.4 115.2 720.7 138.7 746.1 160.2 763.7 187.5 779.3 210.9 791 238.3 798.8 259.8 802.7 283.2 806.6 300.8 807.6 315.4T808.6 328.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-strikethrough-variant\"\n      ]\n    },\n    {\n      \"uid\": \"29198f7568505835ade1ab2ab85fd1cf\",\n      \"css\": \"format-subscript\",\n      \"code\": 983682,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 308.6L474.6 500 666 691.4 607.4 750 416 558.6 224.6 750 166 691.4 357.4 500 166 308.6 224.6 250 416 441.4 607.4 250ZM910.2 877H707V834L744.1 800.8Q791 761.7 814.5 733.4T837.9 681.6Q839.8 664.1 827.1 652.3T793.9 640.6 755.9 648.4L728.5 664.1 710.9 615.2Q728.5 601.6 752 593.8 779.3 584 804.7 584 855.5 585.9 879.9 611.3T904.3 673.8 882.8 740.2 830.1 796.9L802.7 818.4V820.3H910.2V877Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-subscript\"\n      ]\n    },\n    {\n      \"uid\": \"ec15373d7e90370c778bc4e8927c7236\",\n      \"css\": \"format-superscript\",\n      \"code\": 983683,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 308.6L474.6 500 666 691.4 607.4 750 416 558.6 224.6 750 166 691.4 357.4 500 166 308.6 224.6 250 416 441.4 607.4 250ZM910.2 375H707V334L744.1 298.8Q791 259.8 814.5 231.4T837.9 179.7Q839.8 162.1 828.1 150.4T791 138.7Q773.4 138.7 755.9 146.5L728.5 162.1 710.9 113.3Q726.6 99.6 750 91.8T804.7 84Q853.5 84 878.9 109.4T904.3 173.8Q904.3 209 882.8 239.3T830.1 294.9L802.7 316.4V318.4H910.2V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-superscript\"\n      ]\n    },\n    {\n      \"uid\": \"52beed3531921fbfce29a000f4eca5e6\",\n      \"css\": \"format-text\",\n      \"code\": 983684,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 166L818.4 347.7 779.3 359.4Q742.2 287.1 718.8 267.6 705.1 255.9 683.6 252 671.9 250 646.5 250H541V687.5Q541 709 543 716.8 546.9 732.4 555.7 739.3T585.9 748Q597.7 750 625 750V791H375V750Q402.3 750 414.1 748 435.5 746.1 444.3 739.3T457 716.8Q459 709 459 687.5V250H353.5Q328.1 250 316.4 252 294.9 255.9 281.3 267.6 257.8 287.1 220.7 359.4L181.6 347.7 228.5 166H771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text\"\n      ]\n    },\n    {\n      \"uid\": \"e4b522606ec7a0fc7c3b31e17116156b\",\n      \"css\": \"format-textdirection-l-to-r\",\n      \"code\": 983685,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 750L709 584V709H209V791H709V916ZM375 416V625H459V166H541V625H625V166H709V84H375Q306.6 84 257.8 132.8T209 250 257.8 367.2 375 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-textdirection-l-to-r\"\n      ]\n    },\n    {\n      \"uid\": \"6bcfad71d79581fa64b7a277bb7018d5\",\n      \"css\": \"format-textdirection-r-to-l\",\n      \"code\": 983686,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 709V584L166 750 334 916V791H834V709H334ZM416 416V625H500V166H584V625H666V166H750V84H416Q347.7 84 298.8 132.8T250 250 298.8 367.2 416 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-textdirection-r-to-l\"\n      ]\n    },\n    {\n      \"uid\": \"5bf5dbc3983f236d2c57f2d4ebcd2659\",\n      \"css\": \"format-underline\",\n      \"code\": 983687,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 875H791V791H209V875ZM500 709Q568.4 709 626 674.8T716.8 583 750 459V125H646.5V459Q646.5 519.5 603.5 561.5T500 603.5 396.5 561.5 353.5 459V125H250V459Q250 525.4 283.2 583T374 674.8 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-underline\"\n      ]\n    },\n    {\n      \"uid\": \"4b4efef92ff1ad31d7fa0b559c3714b4\",\n      \"css\": \"format-wrap-inline\",\n      \"code\": 983688,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 291L541 709H125ZM125 125H875V209H125V125ZM875 625V709H584V625H875ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-wrap-inline\"\n      ]\n    },\n    {\n      \"uid\": \"06f8ae81caa70222614c6cfe84fdfafb\",\n      \"css\": \"format-wrap-square\",\n      \"code\": 983689,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L709 709H291ZM125 125H875V209H125V125ZM125 291H250V375H125V291ZM875 291V375H750V291H875ZM125 459H250V541H125V459ZM875 459V541H750V459H875ZM125 625H250V709H125V625ZM875 625V709H750V625H875ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-wrap-square\"\n      ]\n    },\n    {\n      \"uid\": \"cf350b56d7a6e13a7328fa2bd76bac9a\",\n      \"css\": \"format-wrap-tight\",\n      \"code\": 983690,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L709 709H291ZM125 125H875V209H125V125ZM125 291H375V375H125V291ZM875 291V375H625V291H875ZM125 459H291V541H125V459ZM875 459V541H709V459H875ZM125 625H250V709H125V625ZM875 625V709H750V625H875ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-wrap-tight\"\n      ]\n    },\n    {\n      \"uid\": \"5e4430e9aebefa85f18306e96dfb559e\",\n      \"css\": \"format-wrap-top-bottom\",\n      \"code\": 983691,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L709 709H291ZM125 125H875V209H125V125ZM125 791H875V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-wrap-top-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"c9a5800f2a05109ca9905eb25fc3272b\",\n      \"css\": \"forum\",\n      \"code\": 983692,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500V125Q709 107.4 696.3 95.7T666 84H125Q107.4 84 95.7 95.7T84 125V709L250 541H666Q683.6 541 696.3 529.3T709 500ZM875 250H791V625H250V709Q250 726.6 261.7 738.3T291 750H750L916 916V291Q916 273.4 904.3 261.7T875 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"forum\"\n      ]\n    },\n    {\n      \"uid\": \"7176ea677e7016f9362e1f67b1b3f86d\",\n      \"css\": \"forward\",\n      \"code\": 983693,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334V166L834 500 500 834V666H166V334H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"forward\"\n      ]\n    },\n    {\n      \"uid\": \"550abe521653cbb569d4154ae0fad0b3\",\n      \"css\": \"bowl\",\n      \"code\": 983694,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625Q916 705.1 877 771.5T771.5 877 625 916H375Q294.9 916 228.5 877T123 771.5 84 625V500H916V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bowl\"\n      ]\n    },\n    {\n      \"uid\": \"8697c06375ead2f0c90e7c4795cfae74\",\n      \"css\": \"fridge-outline\",\n      \"code\": 983695,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 875V916H291V875Q257.8 875 233.4 850.6T209 791V166Q209 132.8 233.4 108.4T291 84H709Q742.2 84 766.6 108.4T791 166V791Q791 826.2 766.6 850.6T709 875V916H625V875H375ZM291 166V375H709V166H291ZM291 791H709V459H291V791ZM334 500H416V625H334V500ZM334 250H416V334H334V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6c0cbb299b8d737e9dc6d4e1124a58ea\",\n      \"css\": \"fridge\",\n      \"code\": 983696,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709Q742.2 84 766.6 108.4T791 166V375H209V166Q209 132.8 233.4 108.4T291 84ZM791 791Q791 826.2 766.6 850.6T709 875V916H625V875H375V916H291V875Q257.8 875 233.4 850.6T209 791V416H791V791ZM334 209V291H416V209H334ZM334 500V625H416V500H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge\"\n      ]\n    },\n    {\n      \"uid\": \"30eb45ba213f3058d33aeec682603551\",\n      \"css\": \"fridge-top\",\n      \"code\": 983697,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 334V250H416V334H334ZM291 84H709Q742.2 84 766.6 108.4T791 166V791Q791 826.2 766.6 850.6T709 875V916H625V875H375V916H291V875Q257.8 875 233.4 850.6T209 791V166Q209 132.8 233.4 108.4T291 84ZM291 166V375H709V166H291ZM334 500V625H416V500H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-top\"\n      ]\n    },\n    {\n      \"uid\": \"180eac30554bb12b2256827ed5a7932e\",\n      \"css\": \"fridge-bottom\",\n      \"code\": 983698,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q257.8 84 233.4 108.4T209 166V791Q209 826.2 233.4 850.6T291 875V916H375V875H625V916H709V875Q742.2 875 766.6 850.6T791 791V166Q791 132.8 766.6 108.4T709 84H291ZM334 250H416V334H334V250ZM291 459H709V791H291V459ZM334 500V625H416V500H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"d3c09d1ce7cdd31676f2c324bdb9c9b2\",\n      \"css\": \"fullscreen\",\n      \"code\": 983699,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209H416V291H291V416H209V209ZM584 209H791V416H709V291H584V209ZM709 584H791V791H584V709H709V584ZM416 709V791H209V584H291V709H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fullscreen\"\n      ]\n    },\n    {\n      \"uid\": \"95a20a6402e5ebf0329dec10d021e278\",\n      \"css\": \"fullscreen-exit\",\n      \"code\": 983700,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 584H791V666H666V791H584V584ZM209 584H416V791H334V666H209V584ZM334 209H416V416H209V334H334V209ZM791 334V416H584V209H666V334H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fullscreen-exit\"\n      ]\n    },\n    {\n      \"uid\": \"fef610a51a7a939ba9fb067beb72178b\",\n      \"css\": \"function\",\n      \"code\": 983701,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M650.4 220.7Q615.2 216.8 588.9 239.3T560.5 296.9L548.8 416H666V500H541L523.4 710.9Q517.6 779.3 464.8 824.2T343.8 863.3Q302.7 859.4 269.5 838.9T214.8 785.2L277.3 722.7Q285.2 746.1 304.7 761.7T349.6 779.3Q384.8 783.2 411.1 760.7T439.5 703.1L459 500H334V416H464.8L476.6 289.1Q482.4 220.7 535.2 175.8T656.3 136.7Q697.3 140.6 730.5 161.1T785.2 214.8L722.7 277.3Q714.8 253.9 695.3 238.3T650.4 220.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"function\"\n      ]\n    },\n    {\n      \"uid\": \"7f1985c33bfd979c8d4cd04bfe0e9bab\",\n      \"css\": \"gamepad\",\n      \"code\": 983702,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 375L562.5 500 687.5 625H916V375H687.5ZM375 687.5V916H625V687.5L500 562.5ZM312.5 375H84V625H312.5L437.5 500ZM625 312.5V84H375V312.5L500 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad\"\n      ]\n    },\n    {\n      \"uid\": \"649b4285962be89edcad74f29dcb1da2\",\n      \"css\": \"gamepad-variant\",\n      \"code\": 983703,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 250H709Q775.4 250 833 283.2T924.8 374 959 500 924.8 626 833 716.8 709 750Q654.3 750 605.5 727.5T521.5 666H478.5Q443.4 705.1 394.5 727.5T291 750Q224.6 750 167 716.8T75.2 626 41 500 75.2 374 167 283.2 291 250ZM250 375V459H166V541H250V625H334V541H416V459H334V375H250ZM646.5 500Q619.1 500 601.6 518.6T584 562.5 601.6 606.4 645.5 625 690.4 606.4 709 562.5 690.4 518.6 646.5 500ZM771.5 375Q744.1 375 726.6 393.6T709 437.5 726.6 481.4 770.5 500 815.4 481.4 834 437.5 815.4 393.6 771.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-variant\"\n      ]\n    },\n    {\n      \"uid\": \"62c0aec5f6b9502fb7da36f3ef6dd113\",\n      \"css\": \"gas-station\",\n      \"code\": 983704,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416Q732.4 416 720.7 404.3T709 375 720.7 345.7 750 334 779.3 345.7 791 375 779.3 404.3 750 416ZM500 416H250V209H500V416ZM824.2 300.8V300.8L669.9 146.5 625 189.5 712.9 277.3Q683.6 289.1 665 315.4T646.5 375Q646.5 418 676.8 448.2T750 478.5Q771.5 478.5 791 470.7V771.5Q791 789.1 779.3 800.8T750 812.5 720.7 800.8 709 771.5V584Q709 548.8 684.6 524.4T625 500H584V209Q584 173.8 559.6 149.4T500 125H250Q214.8 125 190.4 149.4T166 209V875H584V562.5H646.5V771.5Q646.5 814.5 676.8 844.7T750 875 823.2 844.7 853.5 771.5V375Q853.5 332 824.2 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gas-station\"\n      ]\n    },\n    {\n      \"uid\": \"85dcc3743f9282cef9245682358cfd8d\",\n      \"css\": \"gate\",\n      \"code\": 983705,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209V416H291V250H209V416H125V334H41V834H125V750H209V834H291V750H375V834H459V750H541V834H625V750H709V834H791V750H875V834H959V334H875V416H791V250H709V416H625V209H541V416H459V209H375ZM125 500H209V666H125V500ZM291 500H375V666H291V500ZM459 500H541V666H459V500ZM625 500H709V666H625V500ZM791 500H875V666H791V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate\"\n      ]\n    },\n    {\n      \"uid\": \"42077d8a3a78c03d52fbb2da59438f4c\",\n      \"css\": \"gauge\",\n      \"code\": 983706,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500Q834 574.2 804.7 638.7T720.7 750Q677.7 709 620.1 687.5T500 666Q375 666 279.3 750 224.6 703.1 195.3 638.7T166 500Q166 410.2 210.9 333T333 210.9 500 166ZM584 246.1Q572.3 246.1 561.5 252.9T544.9 273.4L488.3 416Q464.8 419.9 448.2 434.6T421.9 468.8Q410.2 502 423.8 533.2T469.7 577.1 533.2 576.2 578.1 531.3Q585.9 509.8 582 488.3T564.5 449.2L623 302.7Q630.9 287.1 624 271.5T599.6 248Q593.8 246.1 584 246.1ZM416 250Q398.4 250 386.7 261.7T375 291 386.7 321.3 416 334 446.3 321.3 459 291 446.3 261.7 416 250ZM291 375Q273.4 375 261.7 386.7T250 416 261.7 446.3 291 459 321.3 446.3 334 416 321.3 386.7 291 375ZM709 375Q691.4 375 678.7 386.7T666 416 678.7 446.3 709 459 738.3 446.3 750 416 738.3 386.7 709 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gauge\"\n      ]\n    },\n    {\n      \"uid\": \"28948772228377e094d14649b962fb5e\",\n      \"css\": \"gavel\",\n      \"code\": 983707,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M95.7 845.7L496.1 445.3 437.5 386.7 408.2 416Q394.5 427.7 377.9 427.7T349.6 416L318.4 386.7Q306.6 373 306.6 356.4T318.4 326.2L554.7 91.8Q566.4 78.1 584 78.1T613.3 91.8L642.6 121.1Q656.3 132.8 656.3 150.4T642.6 179.7L613.3 209 673.8 267.6Q685.5 255.9 702.1 255.9T731.4 267.6 744.1 296.9 732.4 326.2L791 386.7 820.3 355.5Q832 343.8 849.6 343.8T878.9 355.5L908.2 386.7Q919.9 398.4 919.9 416T908.2 445.3L673.8 679.7Q660.2 693.4 642.6 693.4T613.3 679.7L584 650.4Q572.3 638.7 572.3 621.1T584 591.8L613.3 562.5 554.7 503.9 154.3 904.3Q142.6 916 125 916T95.7 904.3 84 875 95.7 845.7ZM834 791Q867.2 791 891.6 815.4T916 875V916H500V875Q500 839.8 524.4 815.4T584 791H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gavel\"\n      ]\n    },\n    {\n      \"uid\": \"4bac2bf65a0e5f3253a2cbe2d8641504\",\n      \"css\": \"gender-female\",\n      \"code\": 983708,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 626 200.2T716.8 292 750 416Q750 509.8 690.4 579.1T541 664.1V750H625V834H541V916H459V834H375V750H459V664.1Q369.1 648.4 309.6 579.1T250 416Q250 349.6 283.2 292T374 200.2 500 166ZM500 250Q431.6 250 382.8 298.8T334 417 382.8 535.2 500 584 617.2 535.2 666 417 617.2 298.8 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gender-female\"\n      ]\n    },\n    {\n      \"uid\": \"b7e9f7205da12eef064590d02a74e78a\",\n      \"css\": \"gender-male\",\n      \"code\": 983709,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 375Q455.1 375 519.5 421.9L732.4 209H541V125H875V459H791V267.6L578.1 478.5Q625 544.9 625 625 625 693.4 591.8 751T501 841.8 375 875 249 841.8 158.2 751 125 625 158.2 499 249 408.2 375 375ZM375 459Q306.6 459 257.8 507.8T209 625 257.8 742.2 375 791 492.2 742.2 541 625 492.2 507.8 375 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gender-male\"\n      ]\n    },\n    {\n      \"uid\": \"13a9a546892571ac3e6066442dd26029\",\n      \"css\": \"gender-male-female\",\n      \"code\": 983710,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M732.4 166H584V84H875V375H791V224.6L632.8 384.8Q666 437.5 666 500 666 574.2 619.1 631.8T500 705.1V791H584V875H500V959H416V875H334V791H416V705.1Q345.7 689.5 297.9 631.8T250 500Q250 443.4 278.3 395.5T354.5 319.3 459 291Q521.5 291 572.3 326.2ZM459 375Q406.3 375 370.1 411.1T334 500 370.1 588.9 458 625 546.9 588.9 584 500 546.9 411.1 459 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gender-male-female\"\n      ]\n    },\n    {\n      \"uid\": \"75e7a692b53b5758612371b30fd83cf6\",\n      \"css\": \"gender-transgender\",\n      \"code\": 983711,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M816.4 125H625V41H959V375H875V183.6L673.8 384.8Q709 437.5 709 500 709 574.2 661.1 631.8T541 705.1V791H625V875H541V959H459V875H375V791H459V705.1Q386.7 689.5 338.9 631.8T291 500Q291 437.5 326.2 386.7L277.3 335.9 218.8 394.5 160.2 335.9 218.8 277.3 125 183.6V334H41V41H334V125H183.6L277.3 218.8 335.9 158.2 396.5 218.8 335.9 277.3 384.8 326.2Q435.5 291 499 291T615.2 326.2ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gender-transgender\"\n      ]\n    },\n    {\n      \"uid\": \"3c432ebefa05792510888903b989c164\",\n      \"css\": \"ghost\",\n      \"code\": 983712,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q398.4 84 312.5 133.8T175.8 270.5 125 459V916L250 791 375 916 500 791 625 916 750 791 875 916V459Q875 357.4 824.2 270.5T687.5 133.8 500 84ZM375 334Q410.2 334 434.6 358.4T459 417 434.6 475.6 375 500 315.4 475.6 291 417 315.4 358.4 375 334ZM625 334Q660.2 334 684.6 358.4T709 417 684.6 475.6 625 500 565.4 475.6 541 417 565.4 358.4 625 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ghost\"\n      ]\n    },\n    {\n      \"uid\": \"86abb55718401e04da466a772a322c21\",\n      \"css\": \"gift-outline\",\n      \"code\": 983713,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V500Q66.4 500 53.7 488.3T41 459V334Q41 298.8 65.4 274.4T125 250H257.8Q250 230.5 250 209 250 156.3 286.1 120.1T375 84Q406.3 84 432.6 97.7T476.6 134.8V134.8L500 166 523.4 134.8V134.8Q541 111.3 567.4 97.7T625 84Q677.7 84 713.9 120.1T750 209Q750 230.5 742.2 250H875Q910.2 250 934.6 274.4T959 334V459Q959 476.6 946.3 488.3T916 500ZM166 834H459V500H166V834ZM834 834V500H541V834H834ZM375 166Q357.4 166 345.7 178.7T334 209 345.7 238.3 375 250 404.3 238.3 416 209 404.3 178.7 375 166ZM625 166Q607.4 166 595.7 178.7T584 209 595.7 238.3 625 250 654.3 238.3 666 209 654.3 178.7 625 166ZM125 334V416H459V334H125ZM541 334V416H875V334H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gift-outline\"\n      ]\n    },\n    {\n      \"uid\": \"35537c40049727aa8d4aa1bda23ca41e\",\n      \"css\": \"git\",\n      \"code\": 983714,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M107.4 441.4L349.6 199.2 419.9 271.5Q412.1 296.9 422.9 323.2T459 363.3V593.8Q439.5 605.5 427.7 625T416 666Q416 701.2 440.4 725.6T500 750 559.6 725.6 584 666Q584 644.5 572.3 625T541 593.8V392.6L627 478.5Q625 486.3 625 500 625 535.2 649.4 559.6T708 584 766.6 559.6 791 500 766.6 440.4 709 416Q693.4 416 687.5 419.9L580.1 312.5Q587.9 283.2 574.2 254.9T532.2 215.8 478.5 210.9L408.2 140.6 441.4 107.4Q464.8 84 500 84T558.6 107.4L892.6 441.4Q916 464.8 916 500T892.6 558.6L558.6 892.6Q535.2 916 500 916T441.4 892.6L107.4 558.6Q84 535.2 84 500T107.4 441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"git\"\n      ]\n    },\n    {\n      \"uid\": \"93f9cac15c7bb3241d8a0c6e365cebd0\",\n      \"css\": \"card-account-details-star\",\n      \"code\": 983715,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 919.9L935.5 982.4 908.2 865.2 1000 787.1 878.9 777.3 834 666 787.1 777.3 666 787.1 757.8 865.2 728.5 982.4ZM585.9 875H84Q50.8 875 25.4 849.6T0 791V209Q0 175.8 25.4 150.4T84 125H916Q949.2 125 974.6 150.4T1000 209V646.5Q929.7 584 834 584 765.6 584 708 617.2T617.2 708 584 834Q584 853.5 585.9 875ZM334 580.1Q287.1 580.1 232.4 593.8 168 611.3 128.9 638.7 84 669.9 84 709V750H584V709Q584 669.9 537.1 638.7 498 611.3 435.5 593.8 378.9 580.1 334 580.1ZM334 250Q281.3 250 245.1 287.1T209 375 245.1 462.9 333 500 421.9 462.9 459 375 421.9 287.1 334 250ZM875 416H584V459H875V416ZM916 334H584V375H916V334ZM916 250H584V291H916V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-details-star\"\n      ]\n    },\n    {\n      \"uid\": \"1a7dc38811c3940351baae5d30e2502b\",\n      \"css\": \"github\",\n      \"code\": 983716,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500Q84 636.7 163.1 745.1T369.1 896.5Q382.8 898.4 389.6 891.6T396.5 875V804.7Q324.2 820.3 283.2 785.2 261.7 769.5 255.9 748V748Q248 726.6 234.4 710.9 226.6 699.2 216.8 693.4L209 687.5Q193.4 675.8 193.4 669.9T203.1 664.1L212.9 662.1Q238.3 664.1 259.8 685.5 271.5 695.3 275.4 705.1V705.1Q300.8 746.1 341.8 750 367.2 752 398.4 740.2 402.3 703.1 423.8 683.6 337.9 673.8 294.9 636.7 234.4 585.9 234.4 478.5 234.4 414.1 277.3 367.2 269.5 349.6 269.5 328.1 265.6 293 281.3 255.9H293Q308.6 255.9 330.1 263.7 361.3 275.4 396.5 298.8 445.3 285.2 500 285.2T603.5 298.8Q654.3 265.6 691.4 257.8 710.9 253.9 718.8 255.9V255.9Q734.4 293 730.5 328.1 730.5 349.6 722.7 367.2 765.6 414.1 765.6 478.5 765.6 587.9 705.1 636.7 660.2 673.8 576.2 683.6 603.5 709 603.5 761.7V875Q603.5 884.8 610.4 891.6T632.8 896.5Q757.8 853.5 836.9 745.1T916 500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"github\"\n      ]\n    },\n    {\n      \"uid\": \"30df239f12da4e3bae78ebfd8fb341f0\",\n      \"css\": \"glass-flute\",\n      \"code\": 983717,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666Q652.3 205.1 644.5 265.6 630.9 359.4 615.2 410.2 603.5 445.3 576.2 494.1 546.9 548.8 539.1 585.9 525.4 642.6 526.4 717.8T544.9 834Q558.6 863.3 585.9 875 601.6 882.8 628.9 884.8H642.6Q658.2 886.7 664.1 896.5 666 902.3 666 916H334Q334 902.3 335.9 896.5 341.8 886.7 357.4 884.8H371.1Q398.4 882.8 414.1 875 441.4 863.3 455.1 834 472.7 793 473.6 717.8T460.9 585.9Q453.1 548.8 423.8 494.1 396.5 445.3 384.8 410.2 369.1 359.4 355.5 265.6 347.7 205.1 334 84ZM416 166Q421.9 240.2 425.8 291H574.2Q578.1 240.2 584 166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-flute\"\n      ]\n    },\n    {\n      \"uid\": \"c919fb5205b9f73ac0f6a0895f78b6f1\",\n      \"css\": \"glass-mug\",\n      \"code\": 983718,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166V291H750V166H416ZM334 84H834 875V125L834 166V834L875 875V916H291V875L334 834V775.4L175.8 701.2Q152.3 691.4 138.7 670.9T125 625V334Q125 298.8 149.4 274.4T209 250H334V166L291 125V84H334ZM209 625L334 683.6V334H209V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-mug\"\n      ]\n    },\n    {\n      \"uid\": \"5fc175e1956b53eb769315196a33e552\",\n      \"css\": \"glass-stange\",\n      \"code\": 983719,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666V916H334V84ZM416 166V291H584V166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-stange\"\n      ]\n    },\n    {\n      \"uid\": \"13fd7a3e64257900328697130000a7a1\",\n      \"css\": \"glass-tulip\",\n      \"code\": 983720,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666V84Q652.3 111.3 648.4 130.9 642.6 162.1 648.4 209 652.3 228.5 662.1 273.4 675.8 337.9 679.7 367.2 685.5 419.9 677.7 447.3 671.9 466.8 654.3 484.4 644.5 494.1 621.1 510.7T585.9 539.1Q566.4 556.6 554.7 578.1 531.3 625 528.3 704.1T544.9 830.1Q558.6 863.3 585.9 875 601.6 882.8 630.9 884.8H642.6Q658.2 886.7 664.1 896.5 666 902.3 666 916H334Q334 902.3 335.9 896.5 341.8 886.7 357.4 884.8H369.1Q398.4 882.8 414.1 875 441.4 863.3 455.1 830.1 474.6 783.2 471.7 704.1T445.3 578.1Q433.6 556.6 414.1 539.1 402.3 527.3 378.9 510.7T345.7 484.4Q328.1 466.8 322.3 447.3 314.5 419.9 320.3 367.2 324.2 337.9 337.9 273.4 347.7 228.5 351.6 209 357.4 162.1 351.6 130.9 347.7 111.3 334 84V84ZM416 166Q416 226.6 402.3 291H593.8Q584 224.6 584 166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-tulip\"\n      ]\n    },\n    {\n      \"uid\": \"2c8aadc00b3f549a68dc6e066f3b84ec\",\n      \"css\": \"bowl-outline\",\n      \"code\": 983721,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500V625Q84 705.1 123 771.5T228.5 877 375 916H625Q705.1 916 771.5 877T877 771.5 916 625V500H84ZM166 584H834V625Q834 712.9 773.4 773.4T625 834H375Q287.1 834 226.6 773.4T166 625V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bowl-outline\"\n      ]\n    },\n    {\n      \"uid\": \"02b836c552d1203e0f6b56c13d64b93b\",\n      \"css\": \"glasses\",\n      \"code\": 983722,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 416Q109.4 416 100.6 426.8T93.8 453.1L113.3 576.2Q117.2 597.7 132.8 611.3T166 625H291Q312.5 625 331.1 610.4T353.5 576.2L398.4 443.4Q400.4 433.6 394.5 424.8T375 416H125ZM291 709H166Q115.2 709 76.2 673.8T31.3 589.8L11.7 464.8Q3.9 410.2 38.1 372.1T125 334H375Q429.7 334 460.9 373 468.8 382.8 472.7 394.5 500 388.7 527.3 394.5 531.3 382.8 539.1 373 570.3 334 625 334H875Q927.7 334 961.9 372.1T988.3 462.9L968.8 591.8Q962.9 640.6 922.9 674.8T834 709H709Q660.2 709 618.2 675.8T564.5 595.7L527.3 482.4Q515.6 474.6 500 474.6T472.7 482.4L435.5 599.6Q423.8 644.5 381.8 676.8T291 709ZM625 416Q611.3 416 605.5 424.8T601.6 445.3L644.5 572.3Q650.4 593.8 668.9 609.4T709 625H834Q851.6 625 867.2 611.3T884.8 578.1L906.3 451.2Q908.2 437.5 899.4 426.8T875 416H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glasses\"\n      ]\n    },\n    {\n      \"uid\": \"0ba28f297f82d46fc4f1a469d709f000\",\n      \"css\": \"gmail\",\n      \"code\": 983723,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H750V384.8L500 541 250 384.8V750H166V250H216.8L500 427.7 783.2 250H834V750ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gmail\"\n      ]\n    },\n    {\n      \"uid\": \"dddc5c284729c3641e845308080733d1\",\n      \"css\": \"gnome\",\n      \"code\": 983724,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M767.6 84Q707 84 664.1 121.1 627 154.3 612.3 205.1T611.3 293 660.2 330.1 741.2 293 816.4 205.1 837.9 121.1Q828.1 84 767.6 84ZM500 113.3H490.2Q457 119.1 441.4 148.4 425.8 173.8 428.7 209T446.3 271.5 478.5 298.8Q503.9 300.8 525.4 252.9T543 162.1Q539.1 113.3 500 113.3ZM330.1 181.6Q322.3 181.6 314.5 185.5 277.3 199.2 277.3 242.2 277.3 277.3 300.8 311.5T344.7 341.8 373 296.9 371.1 220.7Q359.4 179.7 330.1 181.6ZM205.1 285.2Q195.3 285.2 183.6 293 154.3 312.5 162.1 349.6 169.9 382.8 196.3 408.2T240.2 425.8 257.8 382.8 243.2 317.4 205.1 285.2ZM554.7 365.2Q484.4 365.2 416 388.7 341.8 412.1 291 455.1 236.3 503.9 220.7 566.4 205.1 638.7 248 720.7T365.2 859.4Q447.3 916 531.3 916 597.7 916 660.2 864.3T736.3 740.2Q742.2 705.1 699.2 697.3 660.2 689.5 616.2 705.1T576.2 744.1Q580.1 773.4 566.4 792T529.3 812.5 480.5 794.9Q441.4 765.6 445.3 736.3 447.3 710.9 482.4 683.6 503.9 666 562.5 630.9 644.5 580.1 675.8 548.8 728.5 498 718.8 445.3 712.9 406.3 667 385.7T554.7 365.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gnome\"\n      ]\n    },\n    {\n      \"uid\": \"e08186a0ccd0a99ca8772f08cc219c10\",\n      \"css\": \"google\",\n      \"code\": 983725,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M888.7 462.9H507.8V576.2H779.3Q769.5 687.5 685.5 750 611.3 802.7 507.8 802.7 427.7 802.7 359.4 763.7T250 655.3 209 501 249 346.7 357.4 237.3 506.8 197.3 658.2 238.3Q693.4 257.8 712.9 279.3V279.3L791 197.3 773.4 179.7Q748 158.2 716.8 140.6 675.8 115.2 627 101.6 568.4 84 503.9 84 388.7 84 291 142.6 197.3 199.2 140.6 295.9T84 499 138.7 702.1 287.1 855.5Q388.7 916 509.8 916 621.1 916 709 869.1T846.7 735.4 896.5 537.1Q896.5 490.2 888.7 462.9V462.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google\"\n      ]\n    },\n    {\n      \"uid\": \"4643552c9e7c951efc7990c183bb9f4d\",\n      \"css\": \"google-cardboard\",\n      \"code\": 983726,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 250H132.8Q113.3 250 98.6 265.6T84 302.7V738.3Q84 759.8 98.6 775.4T134.8 791H334Q349.6 791 363.3 782.2T380.9 757.8L439.5 613.3Q447.3 595.7 463.9 584T500 572.3 536.1 584 560.5 613.3L619.1 757.8Q625 773.4 637.7 782.2T664.1 791H863.3Q886.7 791 901.4 775.4T916 738.3V302.7Q916 281.3 901.4 265.6T863.3 250ZM300.8 607.4Q263.7 607.4 236.3 579.1T209 511.7 235.4 444.3 300.8 416 366.2 444.3 392.6 511.7 366.2 579.1 300.8 607.4ZM699.2 607.4Q660.2 607.4 633.8 579.1T607.4 511.7 633.8 444.3 698.2 416 763.7 444.3 791 511.7 763.7 579.1 699.2 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-cardboard\"\n      ]\n    },\n    {\n      \"uid\": \"4c4dab21c3507d6db8385c8b9113cb4f\",\n      \"css\": \"google-chrome\",\n      \"code\": 983727,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834L644.5 584V584Q666 543 666 500 666 462.9 651.4 430.7T609.4 375H808.6Q834 435.5 834 500 834 589.8 789.1 667T667 789.1 500 834ZM166 500Q166 410.2 210.9 334L355.5 584Q378.9 621.1 417 643.6T500 666Q525.4 666 554.7 656.3L453.1 830.1Q373 818.4 307.6 771.5T204.1 653.3 166 500ZM625 500Q625 552.7 588.9 588.9T500 625 411.1 588.9 375 500 411.1 411.1 500 375 588.9 411.1 625 500ZM500 166Q591.8 166 668 211.9T789.1 334H500Q439.5 334 393.6 372.1T335.9 466.8L238.3 294.9Q283.2 236.3 352.5 201.2T500 166ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-chrome\"\n      ]\n    },\n    {\n      \"uid\": \"943c1f2b0beecfccc4463b63ec5f6726\",\n      \"css\": \"google-circles\",\n      \"code\": 983728,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M693.4 625H709Q769.5 625 828.1 601.6 812.5 691.4 760.7 762.7T629.9 875 459 916Q355.5 916 269.5 866.2T133.8 730.5 84 541Q84 449.2 125 370.1T237.3 239.3 398.4 171.9Q375 230.5 375 291V306.6Q300.8 332 254.9 396.5T209 541Q209 609.4 242.2 667T333 757.8 459 791Q539.1 791 603.5 745.1T693.4 625ZM709 416Q759.8 416 796.9 379.9T834 292 796.9 203.1 708 166 620.1 203.1 584 292 620.1 379.9 709 416ZM709 41Q775.4 41 833 75.2T924.8 167 959 292 924.8 417 833 507.8 708 541 583 507.8 492.2 417 459 292 492.2 167 583 75.2 709 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-circles\"\n      ]\n    },\n    {\n      \"uid\": \"d425ebe605d3c6651573f990cab8734e\",\n      \"css\": \"google-circles-communities\",\n      \"code\": 983729,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500Q589.8 500 565.4 524.4T541 583 565.4 641.6 625 666 684.6 641.6 709 583 684.6 524.4 625 500ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM584 375Q584 339.8 559.6 315.4T500 291 440.4 315.4 416 375 440.4 434.6 500 459 559.6 434.6 584 375ZM375 500Q339.8 500 315.4 524.4T291 583 315.4 641.6 375 666 434.6 641.6 459 583 434.6 524.4 375 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-circles-communities\"\n      ]\n    },\n    {\n      \"uid\": \"905e2f08bc6a79d98336ef914226c6af\",\n      \"css\": \"google-circles-extended\",\n      \"code\": 983730,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 791Q714.8 791 690.4 766.6T666 708 690.4 649.4 750 625 809.6 649.4 834 708 809.6 766.6 750 791ZM750 541Q681.6 541 632.8 589.8T584 708 632.8 826.2 750 875 867.2 826.2 916 708 867.2 589.8 750 541ZM500 462.9Q466.8 462.9 443.4 486.3T419.9 542 443.4 597.7 500 621.1 556.6 597.7 580.1 542 556.6 486.3 500 462.9ZM250 791Q214.8 791 190.4 766.6T166 708 190.4 649.4 250 625 309.6 649.4 334 708 309.6 766.6 250 791ZM250 541Q181.6 541 132.8 589.8T84 708 132.8 826.2 250 875 367.2 826.2 416 708 367.2 589.8 250 541ZM500 166Q535.2 166 559.6 190.4T584 250 559.6 309.6 500 334 440.4 309.6 416 250 440.4 190.4 500 166ZM500 416Q568.4 416 617.2 367.2T666 250 617.2 132.8 500 84 382.8 132.8 334 250 382.8 367.2 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-circles-extended\"\n      ]\n    },\n    {\n      \"uid\": \"19997fe57abe9144db2bc5c5096388f3\",\n      \"css\": \"google-circles-group\",\n      \"code\": 983731,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 416Q173.8 416 149.4 440.4T125 500 149.4 559.6 208 584 266.6 559.6 291 500 266.6 440.4 209 416ZM209 666Q138.7 666 89.8 617.2T41 500 89.8 382.8 208 334 326.2 382.8 375 500 326.2 617.2 209 666ZM437.5 459H584V334L750 500 584 666V541H437.5V459ZM209 250Q181.6 250 154.3 255.9 214.8 158.2 318.4 99.6T543.9 41 771.5 102.5 938.5 269.5 1000 500 938.5 730.5 771.5 897.5 543.9 959 318.4 900.4 154.3 744.1Q181.6 750 209 750 257.8 750 302.7 732.4 347.7 779.3 410.2 806.6T541 834Q632.8 834 709 789.1T830.1 667 875 500 830.1 333 709 210.9 541 166Q472.7 166 410.2 193.4T302.7 267.6Q257.8 250 209 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-circles-group\"\n      ]\n    },\n    {\n      \"uid\": \"fa3b4f7d10246a0cc8d8b3939ff0d4a4\",\n      \"css\": \"google-controller\",\n      \"code\": 983732,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M332 666L209 791Q185.5 812.5 156.3 812.5T105.5 791 84 740.2V728.5L125 421.9Q130.9 349.6 184.6 299.8T312.5 250H687.5Q761.7 250 815.4 299.8T875 421.9L916 728.5V740.2Q916 769.5 894.5 791T843.8 812.5 791 791L668 666H332ZM291 334V416H209V459H291V541H334V459H416V416H334V334H291ZM687.5 334Q673.8 334 665 342.8T656.3 364.3 665 386.7 687.5 396.5 710 386.7 718.8 364.3 710 342.8 687.5 334ZM615.2 406.3Q601.6 406.3 592.8 415T584 437.5 592.8 460 614.3 468.8 636.7 460 646.5 437.5 636.7 415 615.2 406.3ZM759.8 406.3Q748 406.3 738.3 415T728.5 437.5 738.3 460 760.7 468.8 782.2 460 791 437.5 782.2 415 759.8 406.3ZM687.5 478.5Q673.8 478.5 665 488.3T656.3 510.7 665 532.2 687.5 541 710 532.2 718.8 510.7 710 488.3 687.5 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-controller\"\n      ]\n    },\n    {\n      \"uid\": \"482454f7f67b0fbe6a077f87aa12c193\",\n      \"css\": \"google-controller-off\",\n      \"code\": 983733,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 531.3 666H332L209 791Q185.5 812.5 156.3 812.5T105.5 791 84 740.2V728.5L125 421.9Q130.9 357.4 173.8 310.5ZM209 416V459H291V541H334V468.8L281.3 416H209ZM687.5 250Q761.7 250 815.4 299.8T875 421.9L916 728.5V740.2Q916 759.8 906.3 777.3T878.9 802.7L326.2 250H687.5ZM687.5 334Q673.8 334 665 342.8T656.3 364.3 665 386.7 687.5 396.5 710 386.7 718.8 364.3 710 342.8 687.5 334ZM615.2 406.3Q601.6 406.3 592.8 415T584 437.5 592.8 460 614.3 468.8 636.7 460 646.5 437.5 636.7 415 615.2 406.3ZM759.8 406.3Q748 406.3 738.3 415T728.5 437.5 738.3 460 760.7 468.8 782.2 460 791 437.5 782.2 415 759.8 406.3ZM687.5 478.5Q673.8 478.5 665 488.3T656.3 510.7 665 532.2 687.5 541 710 532.2 718.8 510.7 710 488.3 687.5 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-controller-off\"\n      ]\n    },\n    {\n      \"uid\": \"f5f8d51889f8f11f5214d5519ee3b65c\",\n      \"css\": \"google-drive\",\n      \"code\": 983734,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M320.3 146.5L48.8 625 191.4 875 462.9 396.5ZM406.3 625L261.7 875H808.6L951.2 625H406.3ZM927.7 584L642.6 84H357.4L642.6 584H927.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-drive\"\n      ]\n    },\n    {\n      \"uid\": \"80fd8c0a99102de5dea512e8a0000ad9\",\n      \"css\": \"google-earth\",\n      \"code\": 983735,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 505.9Q443.4 419.9 380.9 382.8T271.5 356.4 193.4 408.2Q166 443.4 166 492.2V500Q166 550.8 181.6 599.6 183.6 607.4 185.5 607.4T189.5 599.6Q197.3 560.5 225.6 543T299.8 543.9 392.6 623Q472.7 730.5 580.1 753.9 718.8 773.4 789.1 666 810.5 623 818.4 599.6 824.2 582 812.5 595.7 783.2 634.8 734.4 646.5T619.1 623 500 505.9ZM707 339.8Q611.3 195.3 496.1 173.8 406.3 160.2 300.8 236.3 287.1 246.1 288.1 247.1T304.7 240.2Q460.9 164.1 605.5 400.4 636.7 453.1 670.9 482.4T736.3 517.6 791 515.6 834 490.2Q834 449.2 820.3 408.2 789.1 416 765.6 404.3T707 339.8ZM500 84Q669.9 84 793 207T916 500 793 793 500 916 207 793 84 500 207 207 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-earth\"\n      ]\n    },\n    {\n      \"uid\": \"70c1bfa62ff44ca33c53ff2e928cd6cf\",\n      \"css\": \"google-glass\",\n      \"code\": 983736,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM697.3 750H634.8V371.1L279.3 750H193.4L644.5 271.5Q650.4 263.7 660.2 261.7T677.7 261.7Q697.3 271.5 697.3 291V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-glass\"\n      ]\n    },\n    {\n      \"uid\": \"e4840900acf863719ac107066af91390\",\n      \"css\": \"google-nearby\",\n      \"code\": 983737,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M890.6 435.5L564.5 109.4Q537.1 84 500 84T435.5 109.4L109.4 435.5Q84 462.9 84 500T109.4 564.5L435.5 890.6Q462.9 916 500 916T564.5 890.6L890.6 564.5Q916 537.1 916 500T890.6 435.5ZM500 791L209 500 500 209 791 500ZM687.5 500L500 687.5 312.5 500 500 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-nearby\"\n      ]\n    },\n    {\n      \"uid\": \"6c9277401bb3fd7399fd44582b35f30d\",\n      \"css\": \"video-minus-outline\",\n      \"code\": 983738,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 334V666H209V334H625ZM666 250H166Q150.4 250 137.7 262.7T125 291V709Q125 724.6 137.7 737.3T166 750H666Q683.6 750 696.3 737.3T709 709V562.5L875 728.5V271.5L709 437.5V291Q709 275.4 696.3 262.7T666 250ZM541 541H291V459H541V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1545c9e6a35faa035432f943582847f4\",\n      \"css\": \"microsoft-teams\",\n      \"code\": 983739,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M798.8 365.2Q781.3 365.2 764.6 358.4T735.4 338.9 715.8 309.6 709 274.4 715.8 239.3 735.4 210 764.6 190.4 799.8 183.6 835 190.4 864.3 210 883.8 239.3 890.6 274.4 883.8 309.6 864.3 338.9 835 358.4 798.8 365.2ZM798.8 236.3Q783.2 236.3 771.5 247.1T759.8 274.4 771.5 301.8 799.8 312.5 827.1 301.8 837.9 274.4 827.1 247.1 798.8 236.3ZM916 429.7V625Q916 650.4 906.3 674.8T878.9 716.8 836.9 744.1 787.1 753.9Q771.5 753.9 754.9 751T724.6 740.2Q714.8 773.4 695.3 799.8T649.4 845.7 591.8 876 525.4 886.7Q486.3 886.7 451.2 873T388.7 835 342.8 777.3 318.4 705.1H117.2Q103.5 705.1 93.8 694.3T84 669.9V322.3Q84 308.6 93.8 297.9T117.2 287.1H416Q404.3 261.7 404.3 236.3T414.1 188.5 440.4 149.4 478.5 123 525.4 113.3 573.2 123 612.3 149.4 638.7 188.5 648.4 235.4 638.7 282.2 612.3 321.3 573.2 347.7 525.4 357.4L513.7 355.5 500 353.5V392.6H877Q894.5 392.6 905.3 403.3T916 429.7ZM525.4 166Q511.7 166 499 170.9T476.6 185.5 461.9 208 457 235.4 461.9 262.7 476.6 284.2 499 298.8 526.4 304.7 552.7 298.8 574.2 284.2 589.8 262.7 595.7 235.4 589.8 208 574.2 185.5 552.7 170.9 525.4 166ZM324.2 423.8H402.3V359.4H181.6V423.8H259.8V632.8H324.2V423.8ZM681.6 677.7V443.4H500V669.9Q500 683.6 489.3 694.3T464.8 705.1H371.1Q377 732.4 391.6 755.9T425.8 796.9 470.7 824.2 527.3 834 586.9 822.3 636.7 789.1 669.9 739.3 681.6 677.7ZM865.2 625V443.4H734.4V681.6Q744.1 691.4 757.8 697.3T787.1 703.1 817.4 696.3 841.8 679.7 858.4 655.3 865.2 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-teams\"\n      ]\n    },\n    {\n      \"uid\": \"98a36cf567768e36bae8e8f639be5c92\",\n      \"css\": \"google-play\",\n      \"code\": 983740,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 853.5V146.5Q125 127 134.8 112.3T160.2 89.8L570.3 500 160.2 910.2Q144.5 902.3 134.8 887.7T125 853.5ZM701.2 630.9L252 888.7 605.5 535.2ZM839.8 451.2Q865.2 470.7 865.2 500T841.8 548.8L746.1 603.5 640.6 500 746.1 396.5ZM252 111.3L701.2 369.1 605.5 464.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-play\"\n      ]\n    },\n    {\n      \"uid\": \"be7b2294336a5d1ce8a594ea0ed6d827\",\n      \"css\": \"google-plus\",\n      \"code\": 983741,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H875V375H791V459H709V541H791V625H875V541H959V459ZM334 459V558.6H500Q490.2 603.5 457 636.7 410.2 683.6 334 683.6T206.1 629.9 154.3 500 206.1 370.1 331.1 316.4 449.2 363.3L529.3 287.1Q449.2 209 334 209 253.9 209 186.5 248T80.1 353.5 41 500 80.1 646.5 186.5 752 334 791Q457 791 535.2 711.9T613.3 507.8Q613.3 474.6 607.4 459H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-plus\"\n      ]\n    },\n    {\n      \"uid\": \"ddc9446a3881f100808089481f18b755\",\n      \"css\": \"order-bool-ascending\",\n      \"code\": 983742,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125Q181.6 125 132.8 173.8T84 292 132.8 410.2 250 459 367.2 410.2 416 292 367.2 173.8 250 125ZM250 375Q214.8 375 190.4 350.6T166 292 190.4 233.4 250 209 309.6 233.4 334 292 309.6 350.6 250 375ZM250 541Q181.6 541 132.8 589.8T84 708 132.8 826.2 250 875 367.2 826.2 416 708 367.2 589.8 250 541ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-bool-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"2e812e4ae6a7b4f3070c01cce6befc4e\",\n      \"css\": \"google-translate\",\n      \"code\": 983743,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209H453.1L416 84H166Q132.8 84 108.4 108.4T84 166V709Q84 742.2 108.4 766.6T166 791H459L500 916H834Q867.2 916 891.6 891.6T916 834V291Q916 257.8 891.6 233.4T834 209ZM298.8 607.4Q228.5 607.4 178.7 557.6T128.9 437.5 178.7 317.4 296.9 267.6 412.1 312.5L416 314.5 365.2 363.3 361.3 361.3Q335.9 335.9 296.9 335.9T228.5 366.2 199.2 437.5 228.5 508.8 297.9 539.1 361.3 517.6Q380.9 500 386.7 476.6H294.9V412.1H459L460.9 416Q462.9 425.8 462.9 441.4 462.9 515.6 417 561.5T298.8 607.4ZM550.8 537.1Q568.4 572.3 599.6 607.4L576.2 628.9ZM582 505.9H541L527.3 460.9H693.4L689.5 478.5Q679.7 498 668 519.5 652.3 548.8 628.9 576.2 601.6 543 582 505.9ZM875 834Q875 851.6 863.3 863.3T834 875H541L625 791 591.8 675.8 628.9 638.7 742.2 750 771.5 718.8 658.2 607.4Q718.8 539.1 738.3 460.9H791V418H640.6V375H595.7V418H515.6L466.8 250H834Q851.6 250 863.3 261.7T875 291V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-translate\"\n      ]\n    },\n    {\n      \"uid\": \"e7b5d66cb4ce60373e600795f58bb8ff\",\n      \"css\": \"google-classroom\",\n      \"code\": 983744,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 84H41Q23.4 84 11.7 95.7T0 125V875Q0 892.6 11.7 904.3T41 916H959Q976.6 916 988.3 904.3T1000 875V125Q1000 107.4 988.3 95.7T959 84ZM916 834H834V791H625V834H84V166H916V834ZM429.7 404.3Q429.7 375 450.2 354.5T500 334 549.8 354.5 570.3 404.3 549.8 455.1 500 476.6 450.2 455.1 429.7 404.3ZM238.3 470.7Q238.3 447.3 253.9 431.6T292 416 330.1 431.6 345.7 469.7 330.1 507.8 292 523.4 253.9 507.8 238.3 470.7ZM654.3 470.7Q654.3 447.3 669.9 431.6T708 416 746.1 431.6 761.7 469.7 746.1 507.8 708 523.4 669.9 507.8 654.3 470.7ZM834 630.9V666H166V630.9Q166 601.6 205.1 581.1T291 560.5Q326.2 560.5 357.4 572.3 382.8 550.8 420.9 537.1T500 523.4 579.1 537.1 642.6 572.3Q673.8 560.5 709 560.5 755.9 560.5 794.9 581.1T834 630.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-classroom\"\n      ]\n    },\n    {\n      \"uid\": \"bf00b7d249c84034d43349ffe07a533c\",\n      \"css\": \"grid\",\n      \"code\": 983745,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166V334H584V166H416ZM666 166V334H834V166H666ZM666 416V584H834V416H666ZM666 666V834H834V666H666ZM584 834V666H416V834H584ZM334 834V666H166V834H334ZM334 584V416H166V584H334ZM334 334V166H166V334H334ZM416 584H584V416H416V584ZM166 84H834Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grid\"\n      ]\n    },\n    {\n      \"uid\": \"c87317494ed23fe12047c1e18dbe055d\",\n      \"css\": \"grid-off\",\n      \"code\": 983746,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 115.2L52.7 62.5 937.5 947.3 884.8 1000 800.8 916H166Q132.8 916 108.4 891.6T84 834V199.2ZM416 166V320.3L334 236.3V166H263.7L179.7 84H834Q867.2 84 891.6 108.4T916 166V820.3L834 738.3V666H763.7L679.7 584H834V416H666V570.3L584 486.3V416H513.7L429.7 334H584V166H416ZM666 166V334H834V166H666ZM666 834H718.8L666 781.3V834ZM166 334H218.8L166 281.3V334ZM416 584H468.8L416 531.3V584ZM584 834V699.2L550.8 666H416V834H584ZM334 834V666H166V834H334ZM334 584V449.2L300.8 416H166V584H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grid-off\"\n      ]\n    },\n    {\n      \"uid\": \"943fd31e052a1a185d7a271e829bf5ef\",\n      \"css\": \"group\",\n      \"code\": 983747,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 41V209H84V791H41V959H209V916H791V959H959V791H916V209H959V41H791V84H209V41H41ZM209 166H791V209H834V791H791V834H209V791H166V209H209V166ZM250 250V584H375V750H750V375H584V250H250ZM334 334H500V500H334V334ZM584 459H666V666H459V584H584V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"group\"\n      ]\n    },\n    {\n      \"uid\": \"d3f587399682eb198ed491a4a25958f6\",\n      \"css\": \"guitar-electric\",\n      \"code\": 983748,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M816.4 125H916V209H849.6L630.9 429.7 570.3 371.1ZM500 375Q515.6 375 529.3 386.7L613.3 470.7Q625 484.4 625 500L621.1 517.6 455.1 849.6Q441.4 873 416 873T378.9 849.6L302.7 695.3 148.4 621.1Q125 609.4 125 584T148.4 544.9L480.5 378.9Q486.3 375 500 375ZM388.7 492.2L361.3 521.5 478.5 638.7 507.8 611.3ZM330.1 550.8L300.8 580.1 419.9 699.2 449.2 669.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"guitar-electric\"\n      ]\n    },\n    {\n      \"uid\": \"c92d40e724a32a9397a9ae070cb144d5\",\n      \"css\": \"guitar-pick\",\n      \"code\": 983749,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 169.9Q740.2 125 658.2 103.5 642.6 99.6 599.6 91.8 546.9 84 507.8 84H492.2Q453.1 84 396.5 91.8 351.6 99.6 337.9 103.5 259.8 125 209 169.9 148.4 224.6 140.6 306.6 132.8 380.9 166 459 232.4 621.1 316.4 746.1L337.9 777.3Q384.8 845.7 410.2 871.1 455.1 916 499 916T585.9 875Q613.3 849.6 658.2 785.2L687.5 746.1Q767.6 634.8 837.9 459 869.1 380.9 859.4 306.6 849.6 224.6 791 169.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"guitar-pick\"\n      ]\n    },\n    {\n      \"uid\": \"74436f2f17ff207164d1d3fd7daf976d\",\n      \"css\": \"guitar-pick-outline\",\n      \"code\": 983750,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 169.9Q740.2 125 658.2 103.5 642.6 99.6 599.6 91.8 546.9 84 507.8 84H492.2Q453.1 84 396.5 91.8 351.6 99.6 337.9 103.5 259.8 125 209 169.9 148.4 224.6 140.6 306.6 132.8 380.9 166 459 232.4 621.1 316.4 746.1L337.9 777.3Q384.8 845.7 410.2 871.1 455.1 916 499 916T585.9 875Q613.3 849.6 658.2 785.2L687.5 746.1Q767.6 634.8 837.9 459 869.1 380.9 859.4 306.6 849.6 224.6 791 169.9ZM757.8 425.8Q689.5 595.7 617.2 695.3 613.3 699.2 606.4 710T595.7 724.6Q527.3 834 500 834V834Q482.4 834 451.2 796.9 433.6 775.4 402.3 730.5L400.4 724.6Q396.5 720.7 389.6 710T378.9 695.3Q298.8 574.2 238.3 425.8L236.3 421.9Q197.3 289.1 261.7 228.5 287.1 205.1 357.4 183.6 365.2 183.6 396.5 177.7 462.9 166 492.2 166H503.9Q535.2 166 582 173.8 619.1 179.7 636.7 183.6 709 205.1 732.4 228.5 779.3 269.5 777.3 339.8 775.4 384.8 757.8 425.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"guitar-pick-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d8daeab8ba85cc82a7c86a683de60cbb\",\n      \"css\": \"hand-pointing-right\",\n      \"code\": 983751,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 375Q892.6 375 904.3 386.7T916 416 904.3 446.3 875 459H689.5L683.6 507.8 591.8 714.8Q585.9 730.5 570.3 740.2T535.2 750H353.5Q330.1 750 310.5 730.5T291 687.5V416Q291 392.6 310.5 375L484.4 169.9 517.6 201.2Q529.3 214.8 529.3 232.4V242.2L459 375H875ZM84 750V416H209V750H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-pointing-right\"\n      ]\n    },\n    {\n      \"uid\": \"d0d72a5d67899c12681ded55a5db78c0\",\n      \"css\": \"hanger\",\n      \"code\": 983752,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q439.5 166 396.5 209T353.5 312.5H437.5Q437.5 287.1 456.1 268.6T500 250 543.9 268.6 562.5 312.5 543.9 356.4 500 375Q482.4 375 470.7 387.7T459 416V490.2L99.6 757.8Q89.8 765.6 85.9 779.3T85.9 805.7 100.6 826.2 125 834H875Q888.7 834 899.4 826.2T914.1 805.7 914.1 779.3 900.4 757.8L541 490.2V451.2Q587.9 437.5 617.2 399.4T646.5 312.5Q646.5 252 603.5 209T500 166ZM500 562.5L750 750H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hanger\"\n      ]\n    },\n    {\n      \"uid\": \"a393a5c31a6cb419132d867e23efb0a7\",\n      \"css\": \"google-hangouts\",\n      \"code\": 983753,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 459L584 541H521.5L562.5 459H500V334H625V459ZM459 459L416 541H353.5L396.5 459H334V334H459V459ZM478.5 84Q408.2 84 343.8 110.4T229.5 186.5 152.3 301.8 125 437.5 152.3 573.2 229.5 688.5 343.8 764.6 478.5 791H500V937.5Q599.6 890.6 675.8 806.6 750 726.6 792 628.9T834 436.5 786.1 259.8 657.2 130.9 478.5 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-hangouts\"\n      ]\n    },\n    {\n      \"uid\": \"50d4e59ec265eec23a3cda3f12e6685c\",\n      \"css\": \"harddisk\",\n      \"code\": 983754,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM500 166Q431.6 166 374 200.2T283.2 292 250 417 284.2 542 376 632.8 503.9 666L466.8 574.2Q459 558.6 463.9 542T482.4 517.6L519.5 496.1Q533.2 488.3 549.8 492.2T576.2 511.7L656.3 611.3Q699.2 576.2 724.6 525.4T750 416Q750 349.6 716.8 292T626 200.2 500 166ZM500 375Q517.6 375 529.3 386.7T541 416 529.3 446.3 500 459 470.7 446.3 459 416 470.7 386.7 500 375ZM291 750Q273.4 750 261.7 761.7T250 791 261.7 821.3 291 834 321.3 821.3 334 791 321.3 761.7 291 750ZM503.9 552.7L607.4 816.4 714.8 753.9 539.1 531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"harddisk\"\n      ]\n    },\n    {\n      \"uid\": \"a8aabb7844b9babb3cc07377310addea\",\n      \"css\": \"headphones\",\n      \"code\": 983755,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q398.4 41 311.5 91.8T174.8 228.5 125 416V709Q125 759.8 161.1 796.9T250 834H375V500H209V416Q209 337.9 248 270.5T353.5 164.1 500 125 646.5 164.1 752 270.5 791 416V500H625V834H750Q802.7 834 838.9 796.9T875 709V416Q875 314.5 824.2 228.5T687.5 91.8 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headphones\"\n      ]\n    },\n    {\n      \"uid\": \"8a215fe64c55bd4ad530349057c7d519\",\n      \"css\": \"headphones-box\",\n      \"code\": 983756,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M300.8 750Q279.3 750 264.6 735.4T250 699.2V500Q250 431.6 283.2 374T374 283.2 500 250 626 283.2 716.8 374 750 500V699.2Q750 720.7 735.4 735.4T699.2 750H584V584H666V500Q666 431.6 617.2 382.8T500 334 382.8 382.8 334 500V584H416V750H300.8ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headphones-box\"\n      ]\n    },\n    {\n      \"uid\": \"9eb333ae8675328dac70135a1c7e8ed5\",\n      \"css\": \"headphones-settings\",\n      \"code\": 983757,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q601.6 41 687.5 91.8T824.2 228.5 875 416V709Q875 759.8 838.9 796.9T750 834H625V500H791V416Q791 337.9 752 270.5T646.5 164.1 500 125 353.5 164.1 248 270.5 209 416V500H375V834H250Q197.3 834 161.1 796.9T125 709V416Q125 314.5 175.8 228.5T312.5 91.8 500 41ZM625 1000V916H709V1000H625ZM459 1000V916H541V1000H459ZM291 1000V916H375V1000H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headphones-settings\"\n      ]\n    },\n    {\n      \"uid\": \"dd3c563ed9a4de3ce811824e6ba5e2bc\",\n      \"css\": \"headset\",\n      \"code\": 983758,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q398.4 41 311.5 91.8T174.8 228.5 125 416V709Q125 759.8 161.1 796.9T250 834H375V500H209V416Q209 337.9 248 270.5T353.5 164.1 500 125 646.5 164.1 752 270.5 791 416V500H625V834H791V875H500V959H750Q802.7 959 838.9 921.9T875 834V416Q875 314.5 824.2 228.5T687.5 91.8 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headset\"\n      ]\n    },\n    {\n      \"uid\": \"2ee6ab329da0a1e7b28dd343fc7ef2d8\",\n      \"css\": \"headset-dock\",\n      \"code\": 983759,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 750H375V255.9Q320.3 269.5 285.2 314.5T250 416V459H334V709H250Q214.8 709 190.4 684.6T166 625V416Q166 349.6 200.2 292T292 200.2 416 166H459Q525.4 166 583 200.2T674.8 292 709 416V500H750V375H834V500Q834 535.2 809.6 559.6T750 584H709V625Q709 660.2 684.6 684.6T625 709H541V459H625V416Q625 359.4 589.8 314.5T500 255.9V750H916V834H84V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headset-dock\"\n      ]\n    },\n    {\n      \"uid\": \"7113710c43d274534a5775a6b82b293e\",\n      \"css\": \"headset-off\",\n      \"code\": 983760,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M62.5 199.2L148.4 285.2Q125 347.7 125 416V834Q125 884.8 161.1 921.9T250 959H500V875H209V834H375V511.7L625 761.7V834H697.3L800.8 937.5 853.5 884.8 115.2 146.5ZM500 41Q421.9 41 352.5 71.3T230.5 154.3L289.1 214.8Q330.1 171.9 384.8 148.4T500 125Q580.1 125 646.5 164.1T752 270.5 791 416V500H625V548.8L853.5 777.3Q875 746.1 875 709V416Q875 314.5 824.2 228.5T687.5 91.8 500 41ZM209 500V416Q209 384.8 214.8 351.6L363.3 500H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headset-off\"\n      ]\n    },\n    {\n      \"uid\": \"076d386801972ad02ffbb4103f426c0e\",\n      \"css\": \"heart\",\n      \"code\": 985296,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 888.7L439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 429.7 871.1 505.9 832 572.3 748 658.2 695.3 712.9 560.5 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart\"\n      ]\n    },\n    {\n      \"uid\": \"0f2b0726e6c36c5be09a69c97d50ecd3\",\n      \"css\": \"heart\",\n      \"code\": 983761,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 888.7L439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 429.7 871.1 505.9 832 572.3 748 658.2 695.3 712.9 560.5 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart\"\n      ]\n    },\n    {\n      \"uid\": \"54c719851f2ee7cf3836ea04729cdb4c\",\n      \"css\": \"heart-box\",\n      \"code\": 983762,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM500 709L529.3 681.6 531.3 679.7Q628.9 591.8 660.2 552.7 709 494.1 709 439.5 709 392.6 675.8 359.4T593.8 326.2Q566.4 326.2 542 337.9T500 369.1Q482.4 349.6 458 337.9T406.3 326.2Q357.4 326.2 324.2 359.4T291 439.5Q291 494.1 339.8 552.7 371.1 591.8 468.8 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-box\"\n      ]\n    },\n    {\n      \"uid\": \"510576c6ec2f871b62914e1ef29e27b6\",\n      \"css\": \"heart-box-outline\",\n      \"code\": 983763,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709L470.7 681.6 468.8 679.7Q371.1 591.8 339.8 552.7 291 494.1 291 439.5 291 392.6 324.2 359.4T406.3 326.2Q433.6 326.2 458 337.9T500 369.1Q517.6 349.6 542 337.9T593.8 326.2Q642.6 326.2 675.8 359.4T709 439.5Q709 494.1 660.2 552.7 628.9 591.8 531.3 679.7ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59029ed28b116d9125ca36bbe4ff3d4b\",\n      \"css\": \"heart-broken\",\n      \"code\": 983764,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 888.7L439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q353.5 125 392.6 138.7L541 388.7 375 597.7ZM687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 429.7 871.1 505.9 832 572.3 748 658.2 695.3 712.9 560.5 834L500 888.7 459 597.7 646.5 388.7 535.2 177.7Q603.5 125 687.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-broken\"\n      ]\n    },\n    {\n      \"uid\": \"83acdf0e58a572371812698aebb5b8bf\",\n      \"css\": \"heart-outline\",\n      \"code\": 983765,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M503.9 773.4L500 777.3 496.1 773.4Q371.1 660.2 322.3 611.3 244.1 533.2 207 476.6 166 412.1 166 353.5 166 291 208 250T312.5 209Q361.3 209 403.3 236.3T460.9 306.6H539.1Q554.7 263.7 596.7 236.3T687.5 209Q750 209 792 250T834 353.5Q834 412.1 793 476.6 755.9 533.2 677.7 611.3 628.9 660.2 503.9 773.4ZM687.5 125Q632.8 125 584 148.4T500 210.9Q464.8 171.9 416 148.4T312.5 125Q250 125 197.3 155.3T114.3 238.3 84 353.5Q84 429.7 128.9 505.9 168 572.3 252 658.2 304.7 712.9 439.5 834L500 888.7 560.5 834Q695.3 712.9 748 658.2 832 572.3 871.1 505.9 916 429.7 916 353.5 916 291 885.7 238.3T802.7 155.3 687.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6ef2e0339920de8e2f47cb62f6d8ddbd\",\n      \"css\": \"help\",\n      \"code\": 983766,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 791H541V916H416V791ZM500 84Q607.4 87.9 677.7 154.3 742.2 216.8 747.1 310.5T687.5 486.3Q669.9 507.8 625 541 584 574.2 570.3 589.8 550.8 613.3 544.9 646.5 541 666 541 709H416Q416 640.6 419.9 613.3 425.8 566.4 445.3 539.1 457 519.5 480.5 500 494.1 490.2 522.5 471.7T562.5 445.3Q611.3 398.4 621.1 344.7T598.6 252 500 209Q447.3 209 411.1 245.1T375 334H250Q250 265.6 283.2 208T374 117.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help\"\n      ]\n    },\n    {\n      \"uid\": \"a33f0a0c4591dbbf6b6d0a5e28838048\",\n      \"css\": \"help-circle\",\n      \"code\": 983767,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M627 468.8L589.8 507.8Q564.5 533.2 554.7 554.7 541 582 541 625H459V603.5Q459 535.2 507.8 486.3L558.6 433.6Q584 410.2 584 375T559.6 315.4 500 291 440.4 315.4 416 375H334Q334 306.6 382.8 257.8T500 209 617.2 257.8 666 375Q666 429.7 627 468.8ZM541 791H459V709H541V791ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-circle\"\n      ]\n    },\n    {\n      \"uid\": \"1643dbf2a5c7ccd9e3c0e52a96dad942\",\n      \"css\": \"hexagon\",\n      \"code\": 983768,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon\"\n      ]\n    },\n    {\n      \"uid\": \"b1d52abd735e3a531a338494fc84441c\",\n      \"css\": \"hexagon-outline\",\n      \"code\": 983769,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6cb294d3b00dd42113efabd293a47e9b\",\n      \"css\": \"history\",\n      \"code\": 983770,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 334H500V541L677.7 648.4 709 597.7 562.5 509.8V334ZM541 125Q439.5 125 353.5 175.8T216.8 312.5 166 500H41L207 668 375 500H250Q250 419.9 289.1 353.5T395.5 248 541 209Q599.6 209 653.3 230.5T748 293 811.5 387.7 834 500Q834 580.1 793.9 646.5T687.5 752 541 791Q482.4 791 429.7 768.6T335.9 705.1L277.3 765.6Q328.1 816.4 396.5 845.7T541 875Q642.6 875 729.5 824.2T866.2 687.5 916 500 866.2 312.5 729.5 175.8 541 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"history\"\n      ]\n    },\n    {\n      \"uid\": \"a789f4c61277fb74743290c88ed14d4c\",\n      \"css\": \"hololens\",\n      \"code\": 983771,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q533.2 334 564.5 335.9 642.6 339.8 709 349.6 798.8 363.3 851.6 386.7 916 416 916 459V527.3Q916 595.7 906.3 593.8 896.5 546.9 830.1 515.6 777.3 490.2 691.4 474.6 630.9 464.8 558.6 460.9L500 459 441.4 460.9Q369.1 464.8 308.6 474.6 222.7 490.2 169.9 515.6 105.5 546.9 93.8 593.8 84 595.7 84 527.3 82 494.1 84 459V459Q84 380.9 291 349.6 396.5 334 500 334V334ZM500 500Q593.8 500 666 509.8 726.6 517.6 771.5 533.2 808.6 544.9 832 560.5 849.6 572.3 859.4 584L865.2 593.8Q841.8 660.2 820.3 689.5 794.9 724.6 752 737.3T625 750Q572.3 750 548.8 734.4 535.2 726.6 525.4 707 519.5 697.3 514.6 692.4T500 687.5 485.4 692.4 474.6 707Q464.8 726.6 451.2 734.4 427.7 750 375 750 291 750 248 737.3T179.7 689.5Q158.2 660.2 134.8 593.8L140.6 584Q150.4 572.3 168 560.5 191.4 544.9 228.5 533.2 273.4 517.6 334 509.8 406.3 500 500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hololens\"\n      ]\n    },\n    {\n      \"uid\": \"2ae02b01eb961f996e1adf2a355920e3\",\n      \"css\": \"home\",\n      \"code\": 983772,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 834V584H584V834H791V500H916L500 125 84 500H209V834H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home\"\n      ]\n    },\n    {\n      \"uid\": \"d98cfec53c2c887aa586eaff296fd82c\",\n      \"css\": \"home-modern\",\n      \"code\": 983773,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 875V334Q250 298.8 274.4 274.4T334 250L666 125V250Q701.2 250 725.6 274.4T750 334V875H500V666H334V875H250ZM584 791H666V666H584V791ZM334 541H416V375H334V541ZM500 541H666V375H500V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-modern\"\n      ]\n    },\n    {\n      \"uid\": \"365860b04f6b2dfa71260da44d521fd2\",\n      \"css\": \"home-variant\",\n      \"code\": 983774,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L834 375V875H625V584H375V875H166V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-variant\"\n      ]\n    },\n    {\n      \"uid\": \"95b8c15e75325807df73c7d538f3722b\",\n      \"css\": \"hops\",\n      \"code\": 983775,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 500Q857.4 494.1 837.9 488.3 793 472.7 750 449.2 691.4 416 644.5 373 587.9 320.3 558.6 253.9 521.5 175.8 521.5 84L558.6 85.9Q603.5 93.8 644.5 109.4 705.1 132.8 750 173.8 806.6 222.7 837.9 296.9 875 382.8 875 500ZM125 500Q125 382.8 162.1 296.9 193.4 222.7 250 173.8 294.9 132.8 355.5 109.4 396.5 93.8 441.4 85.9L478.5 84Q478.5 232.4 386.7 339.8 322.3 416 216.8 466.8 164.1 490.2 125 500V500ZM500 271.5Q507.8 283.2 513.7 296.9 533.2 330.1 554.7 359.4 587.9 404.3 625 437.5 621.1 490.2 601.6 537.1 585.9 576.2 558.6 609.4 539.1 632.8 517.6 652.3L500 666 482.4 652.3Q460.9 632.8 441.4 609.4 414.1 576.2 398.4 537.1 378.9 490.2 375 437.5 427.7 388.7 468.8 326.2 490.2 293 500 271.5V271.5ZM865.2 552.7L853.5 595.7Q837.9 648.4 816.4 693.4 787.1 753.9 750 791L720.7 769.5Q687.5 742.2 658.2 709 619.1 664.1 597.7 617.2 632.8 554.7 656.3 462.9 753.9 539.1 865.2 552.7ZM646.5 759.8Q627 796.9 589.8 835.9 562.5 861.3 529.3 886.7L500 906.3 470.7 886.7Q437.5 861.3 410.2 835.9 373 796.9 353.5 759.8L367.2 748Q382.8 732.4 396.5 712.9 418 687.5 431.6 658.2 462.9 697.3 500 709 537.1 697.3 568.4 658.2 587.9 699.2 619.1 734.4 634.8 750 646.5 759.8V759.8ZM134.8 552.7Q246.1 539.1 343.8 462.9 367.2 554.7 402.3 617.2 371.1 683.6 308.6 744.1 275.4 775.4 250 791V791Q197.3 740.2 162.1 640.6 142.6 591.8 134.8 552.7V552.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hops\"\n      ]\n    },\n    {\n      \"uid\": \"c454dc97afe2dea93dd3f6c017f1930c\",\n      \"css\": \"hospital-box\",\n      \"code\": 983776,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H584V750H416V584H250V416H416V250H584V416H750V584ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hospital-box\"\n      ]\n    },\n    {\n      \"uid\": \"79883099d01a28b90d0c58d0eacff56f\",\n      \"css\": \"hospital-building\",\n      \"code\": 983777,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 916V291Q84 273.4 95.7 261.7T125 250H291V84H709V250H875Q892.6 250 904.3 261.7T916 291V916H584V709H416V916H84ZM375 166V416H459V334H541V416H625V166H541V250H459V166H375ZM166 834H334V709H166V834ZM166 625H334V500H166V625ZM666 834H834V709H666V834ZM666 625H834V500H666V625ZM416 625H584V500H416V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hospital-building\"\n      ]\n    },\n    {\n      \"uid\": \"5f8c4d6730f806ae1ba803c99f45ccf7\",\n      \"css\": \"hospital-marker\",\n      \"code\": 983778,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 511.7 646.5 728.5 572.3 835.9 500 916V916L455.1 863.3Q400.4 794.9 353.5 728.5 291 632.8 253.9 552.7 209 451.2 209 373T248 228.5 353.5 123 500 84ZM375 250V500H459V416H541V500H625V250H541V334H459V250H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hospital-marker\"\n      ]\n    },\n    {\n      \"uid\": \"18101b45bbb679f1391246850565a22b\",\n      \"css\": \"bed\",\n      \"code\": 983779,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H459V584H125V209H41V834H125V709H875V834H959V459Q959 388.7 910.2 339.8T791 291ZM291 541Q343.8 541 379.9 504.9T416 417 379.9 328.1 292 291 203.1 328.1 166 417 203.1 504.9 291 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed\"\n      ]\n    },\n    {\n      \"uid\": \"6000321867405309077457116c942405\",\n      \"css\": \"bowl-mix-outline\",\n      \"code\": 983780,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M650.4 500H84V625Q84 705.1 123 771.5T228.5 877 375 916H625Q705.1 916 771.5 877T877 771.5 916 625V500H650.4ZM834 625Q834 712.9 773.4 773.4T625 834H375Q287.1 834 226.6 773.4T166 625V584H834V625ZM675.8 459L845.7 183.6 916 228.5 775.4 459H675.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bowl-mix-outline\"\n      ]\n    },\n    {\n      \"uid\": \"035108e4235e536fc6a251c9b22896e4\",\n      \"css\": \"pot\",\n      \"code\": 983781,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791Q791 826.2 766.6 850.6T709 875H291Q257.8 875 233.4 850.6T209 791V500H125V416H875V500H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pot\"\n      ]\n    },\n    {\n      \"uid\": \"f1ac0035f3d020ea0024dddd74ecbd37\",\n      \"css\": \"human\",\n      \"code\": 983782,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 375H625V916H541V666H459V916H375V375H125V291H875V375ZM500 84Q535.2 84 559.6 108.4T584 167 559.6 225.6 500 250 440.4 225.6 416 167 440.4 108.4 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human\"\n      ]\n    },\n    {\n      \"uid\": \"e104fd6dcbfac46b490dbdfa9b2d98d9\",\n      \"css\": \"human-child\",\n      \"code\": 983783,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q552.7 84 588.9 120.1T625 208 588.9 296.9 500 334 411.1 296.9 375 208 411.1 120.1 500 84ZM459 916H334V666H250V375H750V666H666V916H541V750H459V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-child\"\n      ]\n    },\n    {\n      \"uid\": \"721d0357373c0c75c02208559c3b66a8\",\n      \"css\": \"human-male-female\",\n      \"code\": 983784,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 291H375Q410.2 291 434.6 315.4T459 375V603.5H396.5V916H228.5V603.5H166V375Q166 339.8 190.4 315.4T250 291ZM687.5 84Q722.7 84 747.1 108.4T771.5 167 747.1 225.6 687.5 250 627.9 225.6 603.5 167 627.9 108.4 687.5 84ZM625 916V666H500L607.4 349.6Q615.2 324.2 637.7 307.6T687.5 291 737.3 307.6 767.6 349.6L875 666H750V916H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-female\"\n      ]\n    },\n    {\n      \"uid\": \"dcb418ed3514727b85d1d1ec421d81e8\",\n      \"css\": \"image\",\n      \"code\": 983785,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 562.5L459 687.5 603.5 500 791 750H209ZM875 791V209Q875 173.8 850.6 149.4T791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image\"\n      ]\n    },\n    {\n      \"uid\": \"8a4d2b94ea0a6d2af568c22b1685a9d5\",\n      \"css\": \"image-album\",\n      \"code\": 983786,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 791L375 630.9 464.8 738.3 589.8 578.1 750 791H250ZM250 166H459V500L353.5 437.5 250 500V166ZM750 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-album\"\n      ]\n    },\n    {\n      \"uid\": \"e478584c85937d2bb652a271f6b87d0a\",\n      \"css\": \"image-area\",\n      \"code\": 983787,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209Q867.2 209 891.6 233.4T916 291V709Q916 742.2 891.6 766.6T834 791H166Q132.8 791 108.4 766.6T84 709V291Q84 257.8 108.4 233.4T166 209H834ZM209 666H791L603.5 416 459 603.5 353.5 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-area\"\n      ]\n    },\n    {\n      \"uid\": \"0178bccd0696082459d9f6e8a90b1b1e\",\n      \"css\": \"image-area-close\",\n      \"code\": 983788,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959L334 791H666ZM834 125Q867.2 125 891.6 149.4T916 209V625Q916 660.2 891.6 684.6T834 709H166Q132.8 709 108.4 684.6T84 625V209Q84 173.8 108.4 149.4T166 125H834ZM209 584H791L603.5 334 459 521.5 353.5 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-area-close\"\n      ]\n    },\n    {\n      \"uid\": \"4997b1dd88001ca9a442edcae0777af4\",\n      \"css\": \"image-broken\",\n      \"code\": 983789,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V459H791V541H709V625H625V709H541V791H459V875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM875 625V791Q875 826.2 850.6 850.6T791 875H625V791H709V709H791V625H875ZM791 353.5Q791 345.7 785.2 339.8T771.5 334H228.5Q220.7 334 214.8 339.8T209 353.5V646.5Q209 654.3 214.8 660.2T228.5 666H459V625H541V541H625V459H709V375H791V353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-broken\"\n      ]\n    },\n    {\n      \"uid\": \"0d8f3d92cfc386ca4dfb654aa801793f\",\n      \"css\": \"image-broken-variant\",\n      \"code\": 983790,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209V482.4L750 357.4 584 525.4 416 357.4 250 525.4 125 398.4V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM750 476.6L875 601.6V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V517.6L250 642.6 416 474.6 584 642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-broken-variant\"\n      ]\n    },\n    {\n      \"uid\": \"dca8be687df55e1c59c967b8fd7c0b15\",\n      \"css\": \"image-multiple-outline\",\n      \"code\": 983791,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209ZM664.1 429.7L550.8 576.2 468.8 478.5 353.5 625H812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6b12bde095189c66c34d7ccbdbc15582\",\n      \"css\": \"image-filter-black-white\",\n      \"code\": 983792,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791L500 459V791H209L500 459V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-black-white\"\n      ]\n    },\n    {\n      \"uid\": \"ab54a110f930106145fac8fbdeed3422\",\n      \"css\": \"image-filter-center-focus\",\n      \"code\": 983793,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-center-focus\"\n      ]\n    },\n    {\n      \"uid\": \"3a420d31d8ad361125d1c05a34a240db\",\n      \"css\": \"image-filter-center-focus-weak\",\n      \"code\": 983794,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM500 334Q431.6 334 382.8 382.8T334 500 382.8 617.2 500 666 617.2 617.2 666 500 617.2 382.8 500 334ZM500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-center-focus-weak\"\n      ]\n    },\n    {\n      \"uid\": \"125464f2e913cce9e80042765146e388\",\n      \"css\": \"image-filter-drama\",\n      \"code\": 983795,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H250Q181.6 750 132.8 701.2T84 583 132.8 464.8 250 416 367.2 464.8 416 584H500Q500 498 448.2 431.6T316.4 341.8Q349.6 298.8 397.5 274.4T500 250Q562.5 250 615.2 281.3T698.2 365.2 728.5 478.5V500H791Q843.8 500 879.9 536.1T916 625 879.9 713.9 791 750ZM806.6 418Q785.2 310.5 699.2 238.3T500 166Q412.1 166 337.9 211.9T222.7 335.9Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-drama\"\n      ]\n    },\n    {\n      \"uid\": \"f2bda078f63d945386869d756fd46fa4\",\n      \"css\": \"image-filter-frames\",\n      \"code\": 983796,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334H250V750H750V334ZM834 834H166V250H353.5L502 103.5 646.5 250H834V834ZM834 166H666L500 0 334 166H166Q132.8 166 108.4 190.4T84 250V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V250Q916 214.8 891.6 190.4T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-frames\"\n      ]\n    },\n    {\n      \"uid\": \"e410291c005ccb456e9bf21d36dc010a\",\n      \"css\": \"image-filter-hdr\",\n      \"code\": 984329,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 250L427.7 459 544.9 617.2 478.5 666 291 416 41 750H959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-hdr\"\n      ]\n    },\n    {\n      \"uid\": \"6143d54c53e9288b7df1aa4e38043093\",\n      \"css\": \"image-filter-hdr\",\n      \"code\": 983797,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 250L427.7 459 544.9 617.2 478.5 666 291 416 41 750H959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-hdr\"\n      ]\n    },\n    {\n      \"uid\": \"757271d24e369cd766070e0351e7a6c1\",\n      \"css\": \"image-filter-none\",\n      \"code\": 983798,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-none\"\n      ]\n    },\n    {\n      \"uid\": \"c531df63ec761d36d419de4e555b903c\",\n      \"css\": \"image-filter-tilt-shift\",\n      \"code\": 983799,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M236.3 822.3Q334 902.3 459 914.1V830.1Q369.1 820.3 294.9 763.7ZM541 830.1V914.1Q666 902.3 763.7 822.3L703.1 763.7Q630.9 818.4 541 830.1ZM763.7 705.1L822.3 763.7Q902.3 666 914.1 541H830.1Q820.3 630.9 763.7 705.1ZM625 500Q625 447.3 588.9 411.1T500 375 411.1 411.1 375 500 411.1 588.9 500 625 588.9 588.9 625 500ZM169.9 541H85.9Q97.7 666 177.7 763.7L236.3 703.1Q181.6 630.9 169.9 541ZM236.3 294.9L177.7 236.3Q97.7 334 85.9 459H169.9Q179.7 369.1 236.3 294.9ZM830.1 459H914.1Q902.3 334 822.3 236.3L763.7 294.9Q820.3 369.1 830.1 459ZM763.7 177.7Q666 97.7 541 85.9V169.9Q630.9 179.7 705.1 236.3ZM459 169.9V85.9Q334 97.7 236.3 177.7L294.9 236.3Q369.1 179.7 459 169.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-tilt-shift\"\n      ]\n    },\n    {\n      \"uid\": \"e2fc3e2a533b5f79ae2e26e9f495ff9f\",\n      \"css\": \"image-filter-vintage\",\n      \"code\": 983800,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 666Q431.6 666 382.8 617.2T334 500 382.8 382.8 500 334 617.2 382.8 666 500 617.2 617.2 500 666ZM779.3 517.6Q763.7 507.8 744.1 500 763.7 492.2 779.3 482.4 837.9 449.2 871.1 391.6T904.3 267.6Q847.7 234.4 780.3 233.4T654.3 267.6Q638.7 275.4 621.1 289.1 625 269.5 625 250 625 181.6 590.8 124T500 33.2Q443.4 66.4 409.2 124T375 250Q375 269.5 378.9 289.1 361.3 275.4 345.7 267.6 287.1 232.4 219.7 233.4T95.7 267.6Q95.7 332 128.9 390.6T220.7 482.4Q234.4 490.2 255.9 500 238.3 505.9 220.7 515.6 162.1 550.8 128.9 608.4T95.7 732.4Q152.3 765.6 219.7 765.6T345.7 732.4Q361.3 724.6 378.9 710.9 375 730.5 375 750 375 818.4 409.2 876T500 966.8Q556.6 933.6 590.8 876T625 750Q625 730.5 621.1 710.9 636.7 722.7 654.3 732.4 712.9 767.6 780.3 766.6T904.3 732.4Q904.3 666 871.1 608.4T779.3 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-vintage\"\n      ]\n    },\n    {\n      \"uid\": \"3aa63b21fe14f16454b5ebafb39fd285\",\n      \"css\": \"image-multiple\",\n      \"code\": 983801,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666V166Q916 132.8 891.6 108.4T834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666ZM459 500L543 613.3 666 459 834 666H334ZM84 250V834Q84 867.2 108.4 891.6T166 916H750V834H166V250H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ad18f6d2107bcc7bc2efc5ff69d9704f\",\n      \"css\": \"import\",\n      \"code\": 983802,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500L416 334V459H84V541H416V666ZM834 750V250Q834 214.8 809.6 190.4T750 166H250Q214.8 166 190.4 190.4T166 250V375H250V250H750V750H250V625H166V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"import\"\n      ]\n    },\n    {\n      \"uid\": \"4db33eaf8ae3faeb48d759dbb89cace3\",\n      \"css\": \"inbox-arrow-down\",\n      \"code\": 983803,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 416H584V291H416V416H334L500 584ZM791 625H625Q625 677.7 588.9 713.9T500 750 411.1 713.9 375 625H209V209H791V625ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"f07b35bc3f9c7c40256ee3dda8f62cb6\",\n      \"css\": \"information\",\n      \"code\": 983804,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H459V291H541V375ZM541 709H459V459H541V709ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"information\"\n      ]\n    },\n    {\n      \"uid\": \"88b45f609e8c3f4ad17371c84dc96367\",\n      \"css\": \"information-outline\",\n      \"code\": 983805,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375H541V291H459V375ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM459 709H541V459H459V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"information-outline\"\n      ]\n    },\n    {\n      \"uid\": \"edd36120d411ca3fc4ecb02e2961c79f\",\n      \"css\": \"instagram\",\n      \"code\": 983806,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M324.2 84H675.8Q740.2 84 795.9 116.2T883.8 204.1 916 324.2V675.8Q916 740.2 883.8 795.9T795.9 883.8 675.8 916H324.2Q259.8 916 204.1 883.8T116.2 795.9 84 675.8V324.2Q84 259.8 116.2 204.1T204.1 116.2 324.2 84ZM316.4 166Q253.9 166 210 210T166 316.4V683.6Q166 746.1 210 790T316.4 834H683.6Q746.1 834 790 790T834 683.6V316.4Q834 253.9 790 210T683.6 166H316.4ZM718.8 228.5Q740.2 228.5 755.9 244.1T771.5 281.3 755.9 318.4 718.8 334 681.6 318.4 666 281.3 681.6 244.1 718.8 228.5ZM500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"instagram\"\n      ]\n    },\n    {\n      \"uid\": \"16529ba154d680ab09a87ef4179f19f8\",\n      \"css\": \"pot-outline\",\n      \"code\": 983807,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 416V500H209V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V500H875V416H125ZM291 500H709V791H291V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pot-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1bf69fcc655c64a88654d385ccaefcb7\",\n      \"css\": \"microsoft-internet-explorer\",\n      \"code\": 983808,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125L584 127Q671.9 87.9 743.2 85T853.5 121.1Q884.8 152.3 888.7 204.1T871.1 322.3Q916 404.3 916 500L914.1 541H378.9Q390.6 613.3 436.5 661.1T541 709Q582 709 617.2 686.5T675.8 625H896.5Q855.5 736.3 758.8 805.7T541 875Q462.9 875 392.6 843.8 298.8 888.7 223.6 893.6T107.4 857.4Q58.6 806.6 76.2 710T166 500Q226.6 406.3 314.5 318.4L349.6 287.1Q253.9 343.8 173.8 423.8 191.4 339.8 244.1 271.5T375 164.1 541 125ZM541 291Q486.3 291 442.4 332T382.8 437.5H701.2Q685.5 373 641.6 332T541 291ZM835.9 169.9Q794.9 128.9 697.3 158.2 793 203.1 849.6 287.1 871.1 205.1 835.9 169.9ZM162.1 834Q187.5 859.4 237.3 856.4T351.6 824.2Q293 789.1 251 736.3T185.5 619.1Q148.4 691.4 141.6 748T162.1 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-internet-explorer\"\n      ]\n    },\n    {\n      \"uid\": \"78e865e4e39b18d1464c2c71b5d2233f\",\n      \"css\": \"invert-colors\",\n      \"code\": 983809,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 816.4V816.4Q449.2 816.4 404.3 796.9T324.2 742.2Q250 669.9 250 566.4 250 515.6 268.6 469.7T324.2 388.7L500 212.9V816.4ZM736.3 330.1L500 93.8 263.7 330.1Q201.2 394.5 178.7 480.5T178.7 652.3 263.7 800.8Q312.5 849.6 374 874T500 898.4 626 874 736.3 800.8Q798.8 738.3 821.3 652.3T821.3 480.5 736.3 330.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"invert-colors\"\n      ]\n    },\n    {\n      \"uid\": \"c81abe6b655411281fb3ba7ae7f6ca7c\",\n      \"css\": \"jeepney\",\n      \"code\": 983810,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 541V291H834V166H166V291H209V541H84Q84 572.3 99.6 593.8T146.5 623V834Q146.5 851.6 158.2 863.3T187.5 875H228.5Q246.1 875 258.8 863.3T271.5 834V791H728.5V834Q728.5 851.6 741.2 863.3T771.5 875H812.5Q830.1 875 841.8 863.3T853.5 834V623Q884.8 615.2 900.4 593.8T916 541H791ZM334 625Q306.6 625 289.1 606.4T271.5 562.5 289.1 518.6 333 500 377.9 518.6 396.5 562.5 377.9 606.4 334 625ZM666 625Q640.6 625 622.1 606.4T603.5 562.5 622.1 518.6 667 500 710.9 518.6 728.5 562.5 710.9 606.4 666 625ZM728.5 437.5Q627 416 500 416 369.1 416 271.5 437.5V291H728.5V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jeepney\"\n      ]\n    },\n    {\n      \"uid\": \"3ff204a8022c21795456a2b41dac74ac\",\n      \"css\": \"jira\",\n      \"code\": 983811,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M480.5 84Q480.5 158.2 534.2 210.9T662.1 263.7H736.3V335.9Q736.3 410.2 789.1 462.9T916 517.6V119.1Q916 103.5 906.3 93.8T880.9 84H480.5ZM281.3 283.2Q283.2 357.4 335.9 410.2T462.9 464.8H537.1V535.2Q539.1 611.3 591.8 664.1T718.8 716.8V318.4Q718.8 302.7 709 293T683.6 283.2H281.3ZM84 482.4Q84 558.6 136.7 611.3T263.7 664.1H337.9V736.3Q339.8 810.5 392.6 863.3T519.5 916V517.6Q519.5 503.9 509.8 493.2T484.4 482.4H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jira\"\n      ]\n    },\n    {\n      \"uid\": \"3935e08c34761b9fc669f3c6e5b20286\",\n      \"css\": \"jsfiddle\",\n      \"code\": 983812,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M722.7 570.3Q722.7 611.3 692.4 639.6T619.1 668Q585.9 668 548.8 642.6 527.3 625 490.2 585.9L478.5 574.2 476.6 570.3Q449.2 541 431.6 529.3 404.3 509.8 382.8 509.8 355.5 509.8 335.9 527.3T316.4 570.3 335.9 614.3 382.8 632.8Q404.3 632.8 419.9 621.1 429.7 617.2 441.4 603.5L445.3 599.6Q451.2 593.8 459 593.8T471.7 598.6 476.6 610.4 472.7 623L468.8 627Q453.1 644.5 439.5 652.3 414.1 668 382.8 668 339.8 668 310.5 639.6T281.3 570.3 311.5 501 382.8 472.7Q418 472.7 453.1 500 474.6 515.6 513.7 556.6L523.4 566.4 525.4 570.3Q552.7 599.6 572.3 613.3 597.7 632.8 619.1 632.8 646.5 632.8 666 614.3T685.5 570.3 666 527.3 619.1 509.8Q599.6 509.8 582 519.5 572.3 525.4 560.5 539.1L556.6 541Q552.7 546.9 544.9 547.9T531.3 543 525.4 530.3 531.3 517.6L533.2 515.6Q570.3 472.7 619.1 472.7 662.1 472.7 692.4 501T722.7 570.3ZM916 619.1Q916 689.5 865.2 740.2T744.1 791H261.7Q189.5 791 137.7 739.3T85.9 615.2Q85.9 572.3 106.4 533.2T162.1 470.7Q160.2 459 160.2 445.3 160.2 394.5 197.3 357.4T287.1 320.3Q318.4 320.3 345.7 334 380.9 275.4 439.5 242.2T566.4 209 693.4 243.2 786.1 335 820.3 460.9V464.8Q865.2 486.3 890.6 528.3T916 619.1ZM880.9 619.1Q880.9 576.2 857.4 542T794.9 492.2Q783.2 486.3 783.2 474.6L785.2 460.9Q785.2 402.3 755.9 352.5T676.8 273.4 565.4 244.1 450.2 278.3 369.1 367.2Q367.2 375 358.4 377.9T341.8 375Q318.4 355.5 287.1 355.5 250 355.5 222.7 381.8T195.3 445.3Q195.3 460.9 200.2 473.6T191.4 494.1Q160.2 513.7 141.6 544.9T123 615.2Q123 671.9 164.1 712.9T261.7 755.9H742.2Q800.8 755.9 840.8 715.8T880.9 619.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jsfiddle\"\n      ]\n    },\n    {\n      \"uid\": \"3fa13f38c185fec44037bfc2ccd6d2d7\",\n      \"css\": \"keg\",\n      \"code\": 983813,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 916V834H250V666H209V584H250V459H209V291H459V125H416V84H584V125H541V291H791V459H750V584H791V666H750V834H791V916H209ZM709 375Q709 357.4 696.3 345.7T666 334H584Q566.4 334 553.7 345.7T541 375 553.7 404.3 584 416H666Q683.6 416 696.3 404.3T709 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keg\"\n      ]\n    },\n    {\n      \"uid\": \"8def40ae1de6af9c8255f95aeedd50aa\",\n      \"css\": \"key\",\n      \"code\": 983814,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 584Q257.8 584 233.4 559.6T209 500 233.4 440.4 292 416 350.6 440.4 375 500 350.6 559.6 291 584ZM527.3 416Q502 343.8 437.5 296.9T291 250Q224.6 250 167 283.2T75.2 374 41 500 75.2 626 167 716.8 291 750Q373 750 437.5 703.1T527.3 584H709V750H875V584H959V416H527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key\"\n      ]\n    },\n    {\n      \"uid\": \"0776a641458b3ec84a9855316a0ba0b1\",\n      \"css\": \"key-change\",\n      \"code\": 983815,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 84Q332 84 379.9 118.2T447.3 209H916V334H750V459H625V334H447.3Q427.7 388.7 379.9 423.8T271.5 459Q193.4 459 138.7 404.3T84 271.5 138.7 138.7 271.5 84ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM271.5 541Q332 541 379.9 576.2T447.3 666H916V791H834V916H750V791H666V916H541V791H447.3Q427.7 847.7 379.9 881.8T271.5 916Q193.4 916 138.7 861.3T84 728.5 138.7 595.7 271.5 541ZM271.5 666Q244.1 666 226.6 684.6T209 729.5 226.6 773.4 270.5 791 315.4 773.4 334 729.5 315.4 684.6 271.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-change\"\n      ]\n    },\n    {\n      \"uid\": \"4b74a535a4ef5f56e82a972df1dd1636\",\n      \"css\": \"key-minus\",\n      \"code\": 983816,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 125Q332 125 379.9 160.2T447.3 250H916V375H750V500H625V375H447.3Q427.7 429.7 379.9 464.8T271.5 500Q193.4 500 138.7 445.3T84 312.5 138.7 179.7 271.5 125ZM271.5 250Q244.1 250 226.6 268.6T209 312.5 226.6 356.4 270.5 375 315.4 356.4 334 312.5 315.4 268.6 271.5 250ZM334 709H666V791H334V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-minus\"\n      ]\n    },\n    {\n      \"uid\": \"0e0651e787a04ee7524cbe5e3f34e3ad\",\n      \"css\": \"key-plus\",\n      \"code\": 983817,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 125Q332 125 379.9 160.2T447.3 250H916V375H750V500H625V375H447.3Q427.7 429.7 379.9 464.8T271.5 500Q193.4 500 138.7 445.3T84 312.5 138.7 179.7 271.5 125ZM271.5 250Q244.1 250 226.6 268.6T209 312.5 226.6 356.4 270.5 375 315.4 356.4 334 312.5 315.4 268.6 271.5 250ZM334 709H459V584H541V709H666V791H541V916H459V791H334V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-plus\"\n      ]\n    },\n    {\n      \"uid\": \"e60dba2541a5e6106779530e102b8faa\",\n      \"css\": \"key-remove\",\n      \"code\": 983818,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 125Q332 125 379.9 160.2T447.3 250H916V375H750V500H625V375H447.3Q427.7 429.7 379.9 464.8T271.5 500Q193.4 500 138.7 445.3T84 312.5 138.7 179.7 271.5 125ZM271.5 250Q244.1 250 226.6 268.6T209 312.5 226.6 356.4 270.5 375 315.4 356.4 334 312.5 315.4 268.6 271.5 250ZM607.4 584L666 642.6 558.6 750 666 857.4 607.4 916 500 808.6 392.6 916 334 857.4 441.4 750 334 642.6 392.6 584 500 691.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-remove\"\n      ]\n    },\n    {\n      \"uid\": \"c66b43591561f5f8c433b5accd2302f9\",\n      \"css\": \"key-variant\",\n      \"code\": 983819,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 750V916H750V791H625V666H500L406.3 572.3Q371.1 584 334 584 283.2 584 237.3 564.5T156.3 509.8 102.5 428.7 84 334Q84 265.6 117.2 208T208 117.2 333 84 458 117.2 549.8 208 584 334Q584 371.1 572.3 406.3ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f44759068e242b9ddbaff86f94ed5228\",\n      \"css\": \"keyboard\",\n      \"code\": 983820,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416H709V334H791V416ZM791 541H709V459H791V541ZM666 416H584V334H666V416ZM666 541H584V459H666V541ZM666 709H334V625H666V709ZM291 416H209V334H291V416ZM291 541H209V459H291V541ZM334 459H416V541H334V459ZM334 334H416V416H334V334ZM459 459H541V541H459V459ZM459 334H541V416H459V334ZM834 209H166Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard\"\n      ]\n    },\n    {\n      \"uid\": \"84913193f44486a8efb27aba6b3eb28f\",\n      \"css\": \"keyboard-backspace\",\n      \"code\": 983821,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459H285.2L433.6 308.6 375 250 125 500 375 750 433.6 691.4 285.2 541H875V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-backspace\"\n      ]\n    },\n    {\n      \"uid\": \"2a601c79d0ef422abc67bc0a8511150e\",\n      \"css\": \"keyboard-caps\",\n      \"code\": 983822,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 750H750V666H250V750ZM500 349.6L691.4 541 750 482.4 500 232.4 250 482.4 308.6 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-caps\"\n      ]\n    },\n    {\n      \"uid\": \"6db3f0218b5b882c8a741227e6a6dead\",\n      \"css\": \"keyboard-close\",\n      \"code\": 983823,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959L666 791H334ZM791 334H709V250H791V334ZM791 459H709V375H791V459ZM666 334H584V250H666V334ZM666 459H584V375H666V459ZM666 625H334V541H666V625ZM291 334H209V250H291V334ZM291 459H209V375H291V459ZM334 375H416V459H334V375ZM334 250H416V334H334V250ZM459 375H541V459H459V375ZM459 250H541V334H459V250ZM834 125H166Q132.8 125 108.4 149.4T84 209V625Q84 660.2 108.4 684.6T166 709H834Q867.2 709 891.6 684.6T916 625V209Q916 173.8 891.6 149.4T834 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-close\"\n      ]\n    },\n    {\n      \"uid\": \"0eac99ca3d658ba1d820d02a440e1d8f\",\n      \"css\": \"keyboard-off\",\n      \"code\": 983824,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 834 863.3 781.3 916 656.3 791H166Q132.8 791 108.4 766.6T84 709V291Q84 261.7 101.6 238.3ZM791 416V334H709V416H791ZM791 541V459H709V541H791ZM666 416V334H584V416H666ZM666 541V459H584V507.8L492.2 416H541V334H459V382.8L283.2 209H834Q867.2 209 891.6 233.4T916 291V709Q916 734.4 901.4 755.9T863.3 787.1L617.2 541H666ZM334 625V709H572.3L488.3 625H334ZM209 416H281.3L209 343.8V416ZM291 541V459H209V541H291ZM334 541H406.3L334 468.8V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-off\"\n      ]\n    },\n    {\n      \"uid\": \"c5ce221999739e8d8f702015c43c840f\",\n      \"css\": \"keyboard-return\",\n      \"code\": 983825,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291V459H242.2L392.6 308.6 334 250 84 500 334 750 392.6 691.4 242.2 541H875V291H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-return\"\n      ]\n    },\n    {\n      \"uid\": \"35d2762c5fe5d503ba4d95d4cc5326ae\",\n      \"css\": \"keyboard-tab\",\n      \"code\": 983826,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H916V250H834V750ZM482.4 308.6L632.8 459H41V541H632.8L482.4 691.4 541 750 791 500 541 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-tab\"\n      ]\n    },\n    {\n      \"uid\": \"e17d3ce4df587aa9b27fb5d31c6444b0\",\n      \"css\": \"keyboard-variant\",\n      \"code\": 983827,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 666H750V750H250V666ZM250 541V625H84V541H250ZM291 625V541H416V625H291ZM459 625V541H541V625H459ZM584 625V541H709V625H584ZM750 625V541H916V625H750ZM84 416H209V500H84V416ZM791 500V416H916V500H791ZM750 500H666V416H750V500ZM334 500H250V416H334V500ZM500 500H375V416H500V500ZM625 500H541V416H625V500ZM84 375V291H166V375H84ZM209 375V291H291V375H209ZM334 375V291H416V375H334ZM459 375V291H541V375H459ZM584 375V291H666V375H584ZM709 375V291H916V375H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-variant\"\n      ]\n    },\n    {\n      \"uid\": \"2480a3d09061b63a34f36856325b80cb\",\n      \"css\": \"kodi\",\n      \"code\": 983828,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M502 41Q488.3 41 474.6 54.7L369.1 160.2 349.6 181.6Q332 197.3 332 220.7 334 273.4 334 380.9V548.8 560.5Q337.9 570.3 342.8 572.3T355.5 566.4L669.9 250Q697.3 224.6 669.9 197.3L525.4 54.7Q513.7 41 502 41ZM777.3 318.4Q763.7 318.4 752 330.1L607.4 474.6Q582 500 607.4 525.4L752 669.9Q777.3 697.3 802.7 669.9 886.7 587.9 941.4 531.3L943.4 529.3Q955.1 517.6 959 507.8V494.1Q955.1 486.3 945.3 476.6L802.7 330.1Q791 318.4 777.3 318.4ZM199.2 337.9Q195.3 335.9 189.5 341.8L48.8 482.4Q41 492.2 41 502.9T48.8 521.5L189.5 662.1Q201.2 671.9 205.1 658.2 209 654.3 209 644.5V359.4Q209 351.6 207 349.6 205.1 339.8 199.2 337.9ZM503.9 593.8Q490.2 593.8 478.5 605.5L334 752Q308.6 777.3 334 802.7L474.6 941.4Q488.3 955.1 498 959H509.8Q519.5 955.1 533.2 943.4L673.8 802.7Q697.3 777.3 671.9 750L529.3 605.5Q517.6 593.8 503.9 593.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kodi\"\n      ]\n    },\n    {\n      \"uid\": \"26b0349df43fba30e07f170ba6d890a8\",\n      \"css\": \"label\",\n      \"code\": 983829,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M734.4 244.1Q722.7 226.6 705.1 217.8T666 209H209Q173.8 209 149.4 233.4T125 291V709Q125 742.2 149.4 766.6T209 791H666Q687.5 791 705.1 782.2T734.4 755.9L916 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label\"\n      ]\n    },\n    {\n      \"uid\": \"9bbfab0694f9ad72826a50d4e9a8b20d\",\n      \"css\": \"label-outline\",\n      \"code\": 983830,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 709H209V291H666L814.5 500ZM734.4 244.1Q722.7 226.6 705.1 217.8T666 209H209Q173.8 209 149.4 233.4T125 291V709Q125 742.2 149.4 766.6T209 791H666Q687.5 791 705.1 782.2T734.4 755.9L916 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f11c6535ca5125d4646ad3f73a94d9e0\",\n      \"css\": \"lan\",\n      \"code\": 983831,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84Q382.8 84 358.4 108.4T334 166V291Q334 326.2 358.4 350.6T416 375H459V459H84V541H250V625H209Q173.8 625 149.4 649.4T125 709V834Q125 867.2 149.4 891.6T209 916H375Q410.2 916 434.6 891.6T459 834V709Q459 673.8 434.6 649.4T375 625H334V541H666V625H625Q589.8 625 565.4 649.4T541 709V834Q541 867.2 565.4 891.6T625 916H791Q826.2 916 850.6 891.6T875 834V709Q875 673.8 850.6 649.4T791 625H750V541H916V459H541V375H584Q617.2 375 641.6 350.6T666 291V166Q666 132.8 641.6 108.4T584 84H416ZM416 166H584V291H416V166ZM209 709H375V834H209V709ZM625 709H791V834H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lan\"\n      ]\n    },\n    {\n      \"uid\": \"b2fb2851823b9d4468405fa2e8d7f80b\",\n      \"css\": \"lan-connect\",\n      \"code\": 983832,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41Q132.8 41 108.4 65.4T84 125V291Q84 326.2 108.4 350.6T166 375H41V459H541V375H416Q451.2 375 475.6 350.6T500 291V125Q500 89.8 475.6 65.4T416 41H166ZM166 125H416V291H166V125ZM125 541V750 834H416V750H209V541H125ZM584 541Q548.8 541 524.4 565.4T500 625V791Q500 826.2 524.4 850.6T584 875H459V959H959V875H834Q867.2 875 891.6 850.6T916 791V625Q916 589.8 891.6 565.4T834 541H584ZM584 625H834V791H584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lan-connect\"\n      ]\n    },\n    {\n      \"uid\": \"46f9156afc52f5f8b97222d63d867e77\",\n      \"css\": \"lan-disconnect\",\n      \"code\": 983833,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41Q132.8 41 108.4 65.4T84 125V291Q84 326.2 108.4 350.6T166 375H41V459H541V375H416Q451.2 375 475.6 350.6T500 291V125Q500 89.8 475.6 65.4T416 41H166ZM166 125H416V291H166V125ZM584 541Q548.8 541 524.4 565.4T500 625V791Q500 826.2 524.4 850.6T584 875H459V959H959V875H834Q867.2 875 891.6 850.6T916 791V625Q916 589.8 891.6 565.4T834 541H584ZM162.1 560.5L101.6 619.1 191.4 709 101.6 796.9 162.1 855.5 250 767.6 337.9 855.5 398.4 796.9 308.6 709 398.4 619.1 337.9 560.5 250 650.4ZM584 625H834V791H584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lan-disconnect\"\n      ]\n    },\n    {\n      \"uid\": \"7bf2160dd16c590f491b6bd212b6b5e7\",\n      \"css\": \"lan-pending\",\n      \"code\": 983834,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41Q132.8 41 108.4 65.4T84 125V291Q84 326.2 108.4 350.6T166 375H41V459H541V375H416Q451.2 375 475.6 350.6T500 291V125Q500 89.8 475.6 65.4T416 41H166ZM166 125H416V291H166V125ZM125 500V584H209V500H125ZM584 541Q548.8 541 524.4 565.4T500 625V791Q500 826.2 524.4 850.6T584 875H459V959H959V875H834Q867.2 875 891.6 850.6T916 791V625Q916 589.8 891.6 565.4T834 541H584ZM125 625V709H209V625H125ZM584 625H834V791H584V625ZM125 750V834H209V750H125ZM250 750V834H334V750H250ZM375 750V834H459V750H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lan-pending\"\n      ]\n    },\n    {\n      \"uid\": \"d97773921572b2f061c81dc6972f1ae6\",\n      \"css\": \"language-csharp\",\n      \"code\": 983835,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 666L496.1 767.6Q480.5 775.4 444.3 783.2T361.3 791Q222.7 789.1 153.3 710T84 507.8Q85.9 365.2 168 287.1T373 209Q418 209 453.1 216.8T503.9 232.4L478.5 335.9 435.5 322.3Q410.2 316.4 377 316.4 304.7 316.4 257.8 362.3T209 502Q209 585.9 253.9 634.8T377 683.6L433.6 679.7Q459 673.8 478.5 666ZM578.1 791L603.5 625H541L556.6 541H619.1L630.9 459H568.4L584 375H646.5L671.9 209H753.9L728.5 375H771.5L796.9 209H878.9L853.5 375H916L902.3 459H839.8L826.2 541H888.7L875 625H812.5L787.1 791H703.1L728.5 625H687.5L662.1 791H578.1ZM701.2 541H744.1L755.9 459H714.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-csharp\"\n      ]\n    },\n    {\n      \"uid\": \"8edd9d0d7dfe1d89346e9f57d8ce72ff\",\n      \"css\": \"language-css3\",\n      \"code\": 983836,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125L181.6 263.7H748L728.5 353.5H164.1L136.7 492.2H701.2L669.9 652.3 441.4 726.6 244.1 652.3 257.8 584H119.1L85.9 750 412.1 875 789.1 750 914.1 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-css3\"\n      ]\n    },\n    {\n      \"uid\": \"14d9de8190dabcffbf15e3310b9149a6\",\n      \"css\": \"language-html5\",\n      \"code\": 983837,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 732.4L669.9 685.5 693.4 429.7H390.6L382.8 345.7H699.2L709 263.7H291L314.5 513.7H601.6L591.8 621.1 500 646.5 408.2 621.1 402.3 550.8H318.4L330.1 685.5ZM169.9 125H830.1L771.5 800.8 500 875 228.5 800.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-html5\"\n      ]\n    },\n    {\n      \"uid\": \"3d1c272e5952cc279e6de42dc02e3e3f\",\n      \"css\": \"language-javascript\",\n      \"code\": 983838,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V875H125V125ZM322.3 752Q351.6 816.4 427.7 816.4 476.6 816.4 504.9 790T533.2 710.9V468.8H462.9V709Q462.9 734.4 453.1 744.1T425.8 753.9 396.5 742.2Q390.6 736.3 378.9 716.8ZM570.3 744.1Q587.9 777.3 620.1 796.9T699.2 816.4Q752 816.4 784.2 790T816.4 718.8Q816.4 675.8 793 650.4 771.5 628.9 722.7 607.4L705.1 599.6Q681.6 589.8 671.9 581.1T662.1 558.6 670.9 536.1 695.3 527.3Q724.6 527.3 742.2 556.6L794.9 521.5Q763.7 464.8 695.3 464.8 648.4 464.8 620.1 491.2T591.8 558.6 615.2 625Q634.8 646.5 677.7 664.1L695.3 671.9Q722.7 685.5 732.4 691.4 746.1 703.1 746.1 718.8T733.4 744.1 699.2 753.9Q654.3 753.9 628.9 710.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-javascript\"\n      ]\n    },\n    {\n      \"uid\": \"d45a580739906dfd1538eba73814523e\",\n      \"css\": \"language-php\",\n      \"code\": 983839,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 753.9Q363.3 753.9 249 719.7T67.4 627 0 500 67.4 373 249 280.3 500 246.1 751 280.3 932.6 373 1000 500 932.6 627 751 719.7 500 753.9ZM283.2 421.9Q318.4 421.9 329.1 434.6T334 478.5 310.5 523.4 255.9 537.1H220.7L242.2 421.9H283.2ZM138.7 654.3H197.3L212.9 580.1H263.7Q296.9 580.1 319.3 573.2T357.4 550.8 382.8 518.6 396.5 482.4Q406.3 433.6 381.8 406.3T306.6 378.9H191.4ZM439.5 306.6L386.7 580.1H445.3L476.6 423.8H523.4Q546.9 423.8 553.7 430.7T556.6 459L533.2 580.1H593.8L617.2 453.1Q625 414.1 606.4 396.5T537.1 378.9H484.4L500 306.6H439.5ZM750 421.9Q785.2 421.9 795.9 434.6T800.8 478.5 777.3 523.4 722.7 537.1H687.5L709 421.9H750ZM603.5 654.3H664.1L677.7 580.1H728.5Q763.7 580.1 785.2 573.2T824.2 550.8 850.6 518.6 863.3 482.4Q871.1 433.6 848.6 406.3T773.4 378.9H658.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-php\"\n      ]\n    },\n    {\n      \"uid\": \"0a69ea7e7a19eca01b1d87f5383beddf\",\n      \"css\": \"language-python\",\n      \"code\": 983840,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M796.9 312.5Q847.7 312.5 881.8 347.7T916 431.6V589.8Q916 638.7 881.8 673.8T796.9 709H500Q500 720.7 508.8 734.4T529.3 748H709V818.4Q709 867.2 673.8 902.3T589.8 937.5H410.2Q361.3 937.5 326.2 902.3T291 818.4V662.1Q291 613.3 326.2 578.1T410.2 543H628.9Q679.7 543 713.9 507.8T748 423.8V312.5H796.9ZM619.1 804.7Q605.5 804.7 597.7 813.5T589.8 841.8Q589.8 871.1 619.1 871.1 630.9 871.1 639.6 862.3T648.4 841.8Q648.4 822.3 640.6 813.5T619.1 804.7ZM203.1 728.5Q152.3 728.5 118.2 694.3T84 609.4V453.1Q84 402.3 118.2 368.2T203.1 334H500Q500 320.3 491.2 306.6T470.7 293H291V222.7Q291 173.8 326.2 138.7T410.2 103.5H589.8Q638.7 103.5 673.8 138.7T709 222.7V378.9Q709 429.7 673.8 463.9T589.8 498H371.1Q320.3 498 286.1 533.2T252 617.2V728.5H203.1ZM380.9 238.3Q394.5 238.3 402.3 228.5T410.2 201.2Q410.2 171.9 380.9 171.9T351.6 201.2Q351.6 218.8 359.4 228.5T380.9 238.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-python\"\n      ]\n    },\n    {\n      \"uid\": \"a0bea61740fc5635d6e6a718d85afbc3\",\n      \"css\": \"contactless-payment-circle\",\n      \"code\": 983841,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM351.6 601.6L294.9 576.2Q312.5 541 312.5 501T294.9 423.8L351.6 398.4Q375 449.2 375 502 375 548.8 351.6 601.6ZM480.5 664.1L425.8 636.7Q459 568.4 459 496.1T425.8 363.3L480.5 332Q521.5 402.3 521.5 495.1T480.5 664.1ZM611.3 722.7L554.7 693.4Q603.5 597.7 603.5 500T554.7 304.7L611.3 277.3Q666 388.7 666 500T611.3 722.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contactless-payment-circle\"\n      ]\n    },\n    {\n      \"uid\": \"ae5a2dc7ac95dd2a0a5ab4616d2cd5fa\",\n      \"css\": \"laptop\",\n      \"code\": 983842,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H834V666H166V250ZM834 750Q867.2 750 891.6 725.6T916 666V250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V666Q84 701.2 108.4 725.6T166 750H0V834H1000V750H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laptop\"\n      ]\n    },\n    {\n      \"uid\": \"e32770f2cee42a5c333827286985965d\",\n      \"css\": \"laptop-chromebook\",\n      \"code\": 983843,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 625H166V209H834V625ZM584 750H416V709H584V750ZM916 750V125H84V750H0V834H1000V750H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laptop-chromebook\"\n      ]\n    },\n    {\n      \"uid\": \"a4fc43786245c46bea36fe90e3767311\",\n      \"css\": \"laptop-mac\",\n      \"code\": 983844,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 791Q482.4 791 470.7 779.3T459 750 470.7 720.7 500 709 529.3 720.7 541 750 529.3 779.3 500 791ZM166 209H834V666H166V209ZM834 750Q867.2 750 891.6 725.6T916 666V209Q916 173.8 891.6 149.4T834 125H166Q132.8 125 108.4 149.4T84 209V666Q84 701.2 108.4 725.6T166 750H0Q0 785.2 24.4 809.6T84 834H916Q951.2 834 975.6 809.6T1000 750H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laptop-mac\"\n      ]\n    },\n    {\n      \"uid\": \"53823442e6d02fd80f25d53262852489\",\n      \"css\": \"laptop-windows\",\n      \"code\": 983845,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H875Q892.6 166 904.3 178.7T916 209V666Q916 683.6 904.3 696.3T875 709H916L1000 834V875H0V834L84 709H125Q107.4 709 95.7 696.3T84 666V209Q84 191.4 95.7 178.7T125 166ZM166 250V625H834V250H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laptop-windows\"\n      ]\n    },\n    {\n      \"uid\": \"0d27b56fe6bea47f865af62c4a48cc19\",\n      \"css\": \"pot-steam-outline\",\n      \"code\": 983846,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 62.5Q275.4 62.5 234.4 103.5T193.4 202.1 234.4 300.8 334 341.8H396.5Q421.9 341.8 441.4 353.5H525.4Q507.8 320.3 472.7 300.8T396.5 281.3H334Q302.7 281.3 279.3 255.9T255.9 198.2 278.3 145.5 334 125V62.5ZM535.2 84Q535.2 115.2 512.7 137.7T459 160.2V222.7Q517.6 222.7 562.5 259.8T621.1 353.5H683.6Q675.8 296.9 641.6 252T556.6 181.6Q597.7 140.6 597.7 84H535.2ZM125 416V500H209V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V500H875V416H125ZM291 500H709V791H291V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pot-steam-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ef6702f9813cd90136474d8b9e038dd2\",\n      \"css\": \"launch\",\n      \"code\": 983847,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125V209H732.4L324.2 617.2 382.8 675.8 791 267.6V416H875V125H584ZM791 791H209V209H500V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V500H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"launch\"\n      ]\n    },\n    {\n      \"uid\": \"c7c570a6a88d2bdd734d231766bbc6ed\",\n      \"css\": \"layers\",\n      \"code\": 983848,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 666L806.6 427.7 875 375 500 84 125 375 193.4 427.7ZM500 773.4L193.4 533.2 125 585.9 500 877 875 585.9 806.6 533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers\"\n      ]\n    },\n    {\n      \"uid\": \"3dd2b55c24478801c20b497e80fbe790\",\n      \"css\": \"layers-off\",\n      \"code\": 983849,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 41L84 93.8 259.8 271.5 125 375 500 666 587.9 599.6 646.5 658.2 500 773.4 193.4 533.2 125 585.9 500 877 707 716.8 863.3 875 916 822.3ZM806.6 427.7L875 375 500 84 378.9 177.7 707 505.9ZM826.2 625L875 585.9 814.5 527.3 765.6 564.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-off\"\n      ]\n    },\n    {\n      \"uid\": \"d04701d60bc2788c571ee86524a6ddab\",\n      \"css\": \"leaf\",\n      \"code\": 983850,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 334Q541 371.1 427.7 459 334 533.2 267.6 648.4 226.6 718.8 169.9 861.3L158.2 888.7 238.3 916 277.3 820.3Q312.5 834 334 834 537.1 834 687.5 650.4 796.9 517.6 867.2 308.6 902.3 203.1 916 125V125Q896.5 164.1 791 191.4 728.5 207 564.5 230.5 433.6 248 375 259.8 279.3 279.3 207 337.9 146.5 388.7 113.3 457 84 515.6 84 562.5 84 615.2 119.1 671.9 138.7 701.2 156.3 718.8V718.8Q193.4 611.3 265.6 531.3 326.2 462.9 408.2 416 474.6 378.9 552.7 357.4 609.4 341.8 664.1 335.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leaf\"\n      ]\n    },\n    {\n      \"uid\": \"fbffe13b1fcaa98d7f6d8f19050fe47a\",\n      \"css\": \"led-off\",\n      \"code\": 983851,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q431.6 250 382.8 298.8T334 416V666H250V750H375V959H459V750H541V959H625V750H750V666H666V416Q666 347.7 617.2 298.8T500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-off\"\n      ]\n    },\n    {\n      \"uid\": \"48fd1fe323b029826ce269723a69079e\",\n      \"css\": \"led-on\",\n      \"code\": 983852,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 0V166H541V0H459ZM761.7 95.7L634.8 220.7 693.4 279.3 820.3 154.3ZM238.3 95.7L179.7 154.3 304.7 279.3 363.3 220.7ZM500 250Q431.6 250 382.8 298.8T334 416V666H250V750H375V959H459V750H541V959H625V750H750V666H666V416Q666 347.7 617.2 298.8T500 250ZM84 375V459H250V375H84ZM750 375V459H916V375H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-on\"\n      ]\n    },\n    {\n      \"uid\": \"bb58dd33e4bc765941128f9de6d55101\",\n      \"css\": \"led-outline\",\n      \"code\": 983853,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q431.6 250 382.8 298.8T334 416V666H250V750H375V959H459V750H541V959H625V750H750V666H666V416Q666 347.7 617.2 298.8T500 250ZM500 334Q535.2 334 559.6 358.4T584 416V625H416V416Q416 382.8 440.4 358.4T500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1e339a44a1791cf37559570732cba3cf\",\n      \"css\": \"led-variant-off\",\n      \"code\": 983854,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q439.5 125 393.6 163.1T335.9 259.8L701.2 625H750V541H666V291Q666 222.7 617.2 173.8T500 125ZM136.7 166L84 218.8 334 468.8V541H250V625H375V875H459V625H488.3L541 677.7V875H625V761.7L781.3 916 834 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"ee94cca77dcbbba6292417e5e8f5f154\",\n      \"css\": \"led-variant-on\",\n      \"code\": 983855,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q431.6 125 382.8 173.8T334 291V541H250V625H375V875H459V625H541V875H625V625H750V541H666V291Q666 222.7 617.2 173.8T500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-variant-on\"\n      ]\n    },\n    {\n      \"uid\": \"7d1238f4174e5cfeb36cfa48d9661e09\",\n      \"css\": \"led-variant-outline\",\n      \"code\": 983856,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q431.6 125 382.8 173.8T334 291V541H250V625H375V875H459V625H541V875H625V625H750V541H666V291Q666 222.7 617.2 173.8T500 125ZM500 209Q535.2 209 559.6 233.4T584 291V500H416V291Q416 257.8 440.4 233.4T500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cdb86c62f0cda8d8e41d9243360dc542\",\n      \"css\": \"library\",\n      \"code\": 983857,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q552.7 334 588.9 296.9T625 208 588.9 120.1 500 84 411.1 120.1 375 208 411.1 296.9 500 334ZM500 480.5Q423.8 410.2 328.1 372.1T125 334V791Q232.4 791 328.1 830.1T500 939.5Q576.2 869.1 671.9 830.1T875 791V334Q767.6 334 671.9 372.1T500 480.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"library\"\n      ]\n    },\n    {\n      \"uid\": \"bb5db26be8e659eeddd8d3a15edb69da\",\n      \"css\": \"filmstrip-box\",\n      \"code\": 983858,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM291 750V666H209V750H291ZM291 541V459H209V541H291ZM291 334V250H209V334H291ZM791 750V666H709V750H791ZM791 541V459H709V541H791ZM791 334V250H709V334H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filmstrip-box\"\n      ]\n    },\n    {\n      \"uid\": \"35a78b7e59fbe2912ab97e071a5bdd21\",\n      \"css\": \"music-box-multiple\",\n      \"code\": 983859,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM750 291H625V521.5Q625 564.5 594.7 594.7T521.5 625 447.3 594.7 416 521.5 447.3 447.3 521.5 416Q554.7 416 584 437.5V209H750V291ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"dabfabf01dab2ef8c656aa95b63bd94d\",\n      \"css\": \"plus-box-multiple\",\n      \"code\": 983860,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H625V625H541V459H375V375H541V209H625V375H791V459ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"50b7051d38afe121d2908447effba95e\",\n      \"css\": \"lightbulb\",\n      \"code\": 983861,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q419.9 84 353.5 123T248 228.5 209 375Q209 447.3 242.2 510.7T334 613.3V709Q334 726.6 345.7 738.3T375 750H625Q642.6 750 654.3 738.3T666 709V613.3Q724.6 574.2 757.8 510.7T791 375Q791 294.9 752 228.5T646.5 123 500 84ZM375 875Q375 892.6 386.7 904.3T416 916H584Q601.6 916 613.3 904.3T625 875V834H375V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb\"\n      ]\n    },\n    {\n      \"uid\": \"9f8574fa62e3dd4a1229b851c01fef60\",\n      \"css\": \"lightbulb-outline\",\n      \"code\": 983862,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 447.3 757.8 510.7T666 613.3V709Q666 726.6 654.3 738.3T625 750H375Q357.4 750 345.7 738.3T334 709V613.3Q275.4 574.2 242.2 510.7T209 375Q209 294.9 248 228.5T353.5 123 500 84ZM375 875V834H625V875Q625 892.6 613.3 904.3T584 916H416Q398.4 916 386.7 904.3T375 875ZM500 166Q443.4 166 395.5 194.3T319.3 270.5 291 375Q291 437.5 326.2 489.3T416 566.4V666H584V566.4Q638.7 541 673.8 489.3T709 375Q709 318.4 680.7 270.5T604.5 194.3 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-outline\"\n      ]\n    },\n    {\n      \"uid\": \"524e511ae1549022a1564b0422c659e5\",\n      \"css\": \"link\",\n      \"code\": 983863,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M162.1 500Q162.1 447.3 200.2 409.2T291 371.1H459V291H291Q234.4 291 186.5 319.3T111.3 395.5 84 500 111.3 604.5 186.5 680.7 291 709H459V628.9H291Q238.3 628.9 200.2 590.8T162.1 500ZM334 541H666V459H334V541ZM709 291H541V371.1H709Q761.7 371.1 799.8 409.2T837.9 500 799.8 590.8 709 628.9H541V709H709Q765.6 709 813.5 680.7T888.7 604.5 916 500 888.7 395.5 813.5 319.3 709 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link\"\n      ]\n    },\n    {\n      \"uid\": \"35144313462c2661daa20ec3627c0c33\",\n      \"css\": \"link-off\",\n      \"code\": 983864,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291H541V371.1H709Q761.7 371.1 799.8 409.2T837.9 500Q837.9 544.9 810.5 579.1T742.2 625L802.7 685.5Q853.5 658.2 884.8 609.4T916 502 888.7 395.5 813.5 319.3 709 291ZM666 459H576.2L658.2 541H666V459ZM84 177.7L212.9 306.6Q154.3 330.1 119.1 382.8T84 500Q84 556.6 111.3 604.5T186.5 680.7 291 709H459V628.9H291Q238.3 628.9 200.2 590.8T162.1 502 195.3 414.1 277.3 373L363.3 459H334V541H447.3L541 636.7V709H613.3L781.3 875 834 822.3 136.7 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-off\"\n      ]\n    },\n    {\n      \"uid\": \"5b11616f1bff69cc76916564b80ab79c\",\n      \"css\": \"link-variant-off\",\n      \"code\": 983866,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 580.1 714.8 470.7 824.2Q429.7 863.3 376 877.9T268.6 877.9 175.8 824.2 122.1 731.4 122.1 624 175.8 529.3L238.3 466.8Q236.3 519.5 253.9 568.4L234.4 587.9Q197.3 625 197.3 676.8T234.4 765.6 323.2 802.7 412.1 765.6L521.5 656.3 453.1 589.8Q453.1 605.5 441.4 618.2T412.1 630.9 382.8 617.2Q349.6 585.9 334 543.9T322.3 459ZM529.3 175.8Q570.3 136.7 624 122.1T731.4 122.1 824.2 175.8 877.9 268.6 877.9 376 824.2 470.7L761.7 533.2Q763.7 480.5 746.1 431.6L765.6 412.1Q802.7 375 802.7 323.2T765.6 234.4 676.8 197.3 587.9 234.4L449.2 373 390.6 314.5ZM558.6 382.8Q570.3 369.1 587.9 369.1T617.2 382.8Q660.2 423.8 673.8 480.5T669.9 593.8L595.7 519.5Q591.8 472.7 558.6 441.4 546.9 429.7 546.9 412.1T558.6 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"0bf4ffd4bb4c7b3155dcaad81abd9ad1\",\n      \"css\": \"linkedin\",\n      \"code\": 983867,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM771.5 771.5V550.8Q771.5 494.1 731.4 454.1T634.8 414.1Q607.4 414.1 580.1 429.7T539.1 468.8V421.9H421.9V771.5H539.1V564.5Q539.1 541 555.7 524.4T596.7 507.8 637.7 524.4 654.3 564.5V771.5H771.5ZM287.1 357.4Q316.4 357.4 336.9 336.9T357.4 287.1 336.9 237.3 287.1 216.8 237.3 237.3 216.8 287.1 237.3 336.9 287.1 357.4ZM343.8 771.5V421.9H228.5V771.5H343.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"linkedin\"\n      ]\n    },\n    {\n      \"uid\": \"c75aa0f0d45217115d26da8f135ea339\",\n      \"css\": \"sort-reverse-variant\",\n      \"code\": 983868,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H625V541H125V459ZM125 750V666H875V750H125ZM125 250H375V334H125V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-reverse-variant\"\n      ]\n    },\n    {\n      \"uid\": \"42c9825ada195768a917e96c40795ac2\",\n      \"css\": \"linux\",\n      \"code\": 983869,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M609.4 347.7Q599.6 353.5 566.4 375L527.3 398.4Q503.9 416 480.5 396.5 474.6 392.6 433.6 369.1L398.4 347.7Q384.8 337.9 385.7 327.1T402.3 308.6Q502 267.6 607.4 310.5 623 316.4 623 327.1T609.4 347.7ZM910.2 650.4Q851.6 517.6 750 416 718.8 382.8 705.1 337.9 701.2 324.2 695.3 294.9L689.5 267.6Q679.7 212.9 666 185.5 621.1 87.9 505.9 84 390.6 85.9 341.8 183.6 330.1 209 322.3 238.3L302.7 335.9Q293 377 261.7 406.3 162.1 503.9 99.6 630.9 87.9 654.3 85.9 666 78.1 687.5 90.8 699.2T127 707Q162.1 699.2 179.7 693.4 193.4 689.5 199.2 692.4T209 709Q250 843.8 384.8 896.5 468.8 927.7 557.6 912.1T712.9 840.8 800.8 705.1Q802.7 695.3 806.6 693.4T820.3 693.4Q835.9 699.2 867.2 705.1L878.9 709Q894.5 710.9 904.3 704.1T916 683.6 910.2 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"linux\"\n      ]\n    },\n    {\n      \"uid\": \"cdc78c90623bda3b82788a9206aae0da\",\n      \"css\": \"lock\",\n      \"code\": 983870,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709Q535.2 709 559.6 684.6T584 625 559.6 565.4 500 541 440.4 565.4 416 625 440.4 684.6 500 709ZM750 334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V416Q166 382.8 190.4 358.4T250 334H291V250Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250V334H750ZM500 125Q447.3 125 411.1 161.1T375 250V334H625V250Q625 197.3 588.9 161.1T500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock\"\n      ]\n    },\n    {\n      \"uid\": \"7afa715de02874ada509092e479f434c\",\n      \"css\": \"lock-open\",\n      \"code\": 983871,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V416Q166 382.8 190.4 358.4T250 334H625V250Q625 197.3 588.9 161.1T500 125 411.1 161.1 375 250H291Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250V334H750ZM500 709Q535.2 709 559.6 684.6T584 625 559.6 565.4 500 541 440.4 565.4 416 625 440.4 684.6 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-open\"\n      ]\n    },\n    {\n      \"uid\": \"a3745547db3216cdd4860d77ab8aecec\",\n      \"css\": \"lock-open-outline\",\n      \"code\": 983872,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 834V416H250V834H750ZM750 334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V416Q166 382.8 190.4 358.4T250 334H625V250Q625 197.3 588.9 161.1T500 125 411.1 161.1 375 250H291Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250V334H750ZM500 709Q464.8 709 440.4 684.6T416 625 440.4 565.4 500 541 559.6 565.4 584 625 559.6 684.6 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4303a9ea3e605efe47384a43634a9678\",\n      \"css\": \"lock-outline\",\n      \"code\": 983873,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709Q464.8 709 440.4 684.6T416 625 440.4 565.4 500 541 559.6 565.4 584 625 559.6 684.6 500 709ZM750 834V416H250V834H750ZM750 334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V416Q166 382.8 190.4 358.4T250 334H291V250Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250V334H750ZM500 125Q447.3 125 411.1 161.1T375 250V334H625V250Q625 197.3 588.9 161.1T500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9eeb2f93888b02d40f62bb5ca8365fc9\",\n      \"css\": \"login\",\n      \"code\": 983874,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709V584H125V416H416V291L625 500ZM416 84H791Q826.2 84 850.6 108.4T875 166V834Q875 867.2 850.6 891.6T791 916H416Q382.8 916 358.4 891.6T334 834V750H416V834H791V166H416V250H334V166Q334 132.8 358.4 108.4T416 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"login\"\n      ]\n    },\n    {\n      \"uid\": \"b121d0bcd66c1c3104282955da158b90\",\n      \"css\": \"logout\",\n      \"code\": 983875,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 709V584H375V416H666V291L875 500ZM584 84Q617.2 84 641.6 108.4T666 166V250H584V166H209V834H584V750H666V834Q666 867.2 641.6 891.6T584 916H209Q173.8 916 149.4 891.6T125 834V166Q125 132.8 149.4 108.4T209 84H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"logout\"\n      ]\n    },\n    {\n      \"uid\": \"78f2d2f533801f59db5cb6cb2122a187\",\n      \"css\": \"looks\",\n      \"code\": 983876,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q375 250 269.5 311.5T102.5 478.5 41 709H125Q125 607.4 175.8 520.5T312.5 383.8 500 334 687.5 383.8 824.2 520.5 875 709H959Q959 584 897.5 478.5T730.5 311.5 500 250ZM500 416Q421.9 416 354.5 456.1T248 562.5 209 709H291Q291 652.3 319.3 604.5T395.5 528.3 500 500 604.5 528.3 680.7 604.5 709 709H791Q791 628.9 752 562.5T645.5 456.1 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"looks\"\n      ]\n    },\n    {\n      \"uid\": \"46f9b8d6db66c82a2b5b21f2426182ca\",\n      \"css\": \"loupe\",\n      \"code\": 983877,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916H834Q867.2 916 891.6 891.6T916 834V500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84ZM541 291H459V459H291V541H459V709H541V541H709V459H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"loupe\"\n      ]\n    },\n    {\n      \"uid\": \"84fe59a6496c2b94d704257f67d83d98\",\n      \"css\": \"lumx\",\n      \"code\": 983878,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M513.7 72.3L837.9 396.5 574.2 662.1 513.7 603.5 720.7 396.5 455.1 130.9ZM662.1 396.5L603.5 455.1 425.8 279.3 220.7 486.3 162.1 425.8 425.8 162.1ZM425.8 337.9L486.3 396.5 279.3 603.5 544.9 869.1 486.3 927.7 162.1 603.5ZM337.9 603.5L396.5 544.9 574.2 720.7 779.3 513.7 837.9 574.2 574.2 837.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lumx\"\n      ]\n    },\n    {\n      \"uid\": \"051979ad1666109208037dbf50ef4892\",\n      \"css\": \"magnet\",\n      \"code\": 983879,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291V541Q125 642.6 175.8 729.5T312.5 866.2 500 916 687.5 866.2 824.2 729.5 875 541V291H709V541Q709 597.7 680.7 645.5T604.5 721.7 500 750Q459 750 420.9 734.4T353.5 689.5 307.6 622.1 291 541V291H125ZM709 209H875V84H709V209ZM125 209H291V84H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnet\"\n      ]\n    },\n    {\n      \"uid\": \"4b0047ad5335b35ec5593fce1a115a71\",\n      \"css\": \"magnet-on\",\n      \"code\": 983880,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291V541Q125 642.6 175.8 729.5T312.5 866.2 500 916 687.5 866.2 824.2 729.5 875 541V291H709V541Q709 597.7 680.7 645.5T604.5 721.7 500 750Q459 750 420.9 734.4T353.5 689.5 307.6 622.1 291 541V291H125ZM709 209H875V84H709V209ZM125 209H291V84H125V209ZM541 62.5L375 375H459V603.5L625 291H541V62.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnet-on\"\n      ]\n    },\n    {\n      \"uid\": \"cd529f71c055cf2da4843aafc1d70c8d\",\n      \"css\": \"magnify-minus\",\n      \"code\": 983882,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 472.7 609.4 548.8L642.6 584H666L916 834 834 916 584 666V642.6L548.8 609.4Q472.7 666 375 666 294.9 666 228.5 627T123 521.5 84 375 123 228.5 228.5 123 375 84ZM209 334V416H541V334H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-minus\"\n      ]\n    },\n    {\n      \"uid\": \"78f416aa27ae999401bb8d8e144621a0\",\n      \"css\": \"magnify-plus\",\n      \"code\": 983883,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 472.7 609.4 548.8L642.6 584H666L916 834 834 916 584 666V642.6L548.8 609.4Q472.7 666 375 666 294.9 666 228.5 627T123 521.5 84 375 123 228.5 228.5 123 375 84ZM334 209V334H209V416H334V541H416V416H541V334H416V209H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-plus\"\n      ]\n    },\n    {\n      \"uid\": \"8566218faab8e7cf3492194ce0704b02\",\n      \"css\": \"plus-circle-multiple\",\n      \"code\": 983884,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 414.1 128.9 342.8T250 238.3V146.5Q138.7 187.5 69.3 284.2T0 500 69.3 715.8 250 853.5V761.7Q173.8 728.5 128.9 657.2T84 500ZM625 125Q523.4 125 436.5 174.8T299.8 311.5 250 500 299.8 688.5 436.5 825.2 625 875 813.5 825.2 950.2 688.5 1000 500 950.2 311.5 813.5 174.8 625 125ZM834 541H666V709H584V541H416V459H584V291H666V459H834V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-circle-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"98568216807e9c9aab586f87e823866e\",\n      \"css\": \"map\",\n      \"code\": 983885,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 791L375 703.1V209L625 296.9V791ZM853.5 125H847.7L625 212.9 375 125 140.6 205.1Q125 209 125 224.6V853.5Q125 863.3 130.9 869.1T143.6 875 152.3 873L375 787.1 625 875 859.4 794.9Q875 789.1 875 775.4V146.5Q875 136.7 869.1 130.9T853.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map\"\n      ]\n    },\n    {\n      \"uid\": \"ef2ec450dfde0dc078d33e500a7f1d1b\",\n      \"css\": \"map-marker\",\n      \"code\": 983886,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 478.5Q457 478.5 426.8 448.2T396.5 375 426.8 301.8 500 271.5 573.2 301.8 603.5 375 573.2 448.2 500 478.5ZM500 84Q419.9 84 353.5 123T248 228.5 209 373 253.9 552.7Q291 632.8 353.5 728.5 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q599.6 794.9 646.5 728.5 709 632.8 746.1 552.7 791 451.2 791 373T752 228.5 646.5 123 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker\"\n      ]\n    },\n    {\n      \"uid\": \"357d78cc389855e464f75c4f3243dcf6\",\n      \"css\": \"map-marker-circle\",\n      \"code\": 983887,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 521.5Q474.6 521.5 456.1 502.9T437.5 458 456.1 414.1 500 396.5 543.9 414.1 562.5 458 543.9 502.9 500 521.5ZM500 300.8Q433.6 300.8 387.7 346.7T341.8 459Q341.8 502 367.2 552.7 386.7 595.7 419.9 640.6 445.3 673.8 474.6 705.1L500 728.5 525.4 705.1Q554.7 673.8 580.1 640.6 613.3 595.7 632.8 552.7 658.2 502 658.2 459 658.2 392.6 612.3 346.7T500 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-circle\"\n      ]\n    },\n    {\n      \"uid\": \"58d91acc69b8a282bcf4e6f281a2d28d\",\n      \"css\": \"map-marker-multiple\",\n      \"code\": 983888,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 478.5Q627 478.5 657.2 448.2T687.5 375 657.2 301.8 584 271.5 509.8 301.8 478.5 375 509.8 448.2 584 478.5ZM584 84Q662.1 84 729.5 123T835.9 228.5 875 375Q875 511.7 728.5 728.5 656.3 835.9 584 916V916L537.1 863.3Q482.4 794.9 437.5 728.5 373 632.8 337.9 552.7 291 451.2 291 373T331.1 228.5 437.5 123 584 84ZM209 375Q209 490.2 312.5 664.1 369.1 755.9 453.1 861.3L459 867.2 416 916 371.1 863.3Q316.4 794.9 271.5 728.5 207 632.8 169.9 552.7 125 451.2 125 375 125 277.3 183.6 200.2T334 95.7Q275.4 148.4 242.2 220.7T209 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"34c1aca1c4991d01a4c798a851638427\",\n      \"css\": \"map-marker-off\",\n      \"code\": 983889,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M681.6 669.9L490.2 478.5 136.7 125 84 177.7 216.8 310.5Q209 341.8 209 375 209 449.2 253.9 552.7 291 632.8 353.5 728.5 400.4 794.9 455.1 863.3L500 916 543 865.2Q595.7 800.8 640.6 736.3L781.3 875 834 822.3ZM500 271.5Q543 271.5 573.2 301.8T603.5 376 570.3 451.2L720.7 603.5Q791 468.8 791 375 791 294.9 752 228.5T646.5 123 500 84Q439.5 84 384.8 107.4T289.1 171.9L423.8 304.7Q455.1 271.5 500 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-off\"\n      ]\n    },\n    {\n      \"uid\": \"3f5407200ebe35f74d28f9c328ae8084\",\n      \"css\": \"map-marker-radius\",\n      \"code\": 983890,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q568.4 84 626 117.2T716.8 207 750 329.1 710.9 482.4Q679.7 550.8 625 630.9 585.9 689.5 539.1 746.1L500 791 460.9 746.1Q414.1 689.5 375 630.9 320.3 550.8 289.1 482.4 250 394.5 250 329.1T283.2 207 374 117.2 500 84ZM500 250Q464.8 250 440.4 274.4T416 333 440.4 391.6 500 416 559.6 391.6 584 333 559.6 274.4 500 250ZM834 791Q834 837.9 789.1 876T667 936.5 500 959 333 936.5 210.9 876 166 791Q166 752 201.2 717.8T296.9 660.2L322.3 697.3Q250 728.5 250 771.5T323.2 844.7 500 875 676.8 844.7 750 771.5 677.7 697.3L703.1 660.2Q763.7 683.6 798.8 717.8T834 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-radius\"\n      ]\n    },\n    {\n      \"uid\": \"f66c35f85b0cb9b66c311cdbd3e14bde\",\n      \"css\": \"margin\",\n      \"code\": 983891,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166V375L771.5 312.5 228.5 853.5 146.5 771.5 687.5 228.5 625 166H834ZM709 834Q656.3 834 620.1 796.9T584 709V625Q584 572.3 620.1 536.1T708 500 796.9 536.1 834 625V709Q834 759.8 796.9 796.9T709 834ZM709 584Q691.4 584 678.7 595.7T666 625V709Q666 726.6 678.7 738.3T709 750 738.3 738.3 750 709V625Q750 607.4 738.3 595.7T709 584ZM291 500Q240.2 500 203.1 463.9T166 375V291Q166 240.2 203.1 203.1T292 166 379.9 203.1 416 291V375Q416 427.7 379.9 463.9T291 500ZM291 250Q273.4 250 261.7 261.7T250 291V375Q250 392.6 261.7 404.3T291 416 321.3 404.3 334 375V291Q334 273.4 321.3 261.7T291 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"margin\"\n      ]\n    },\n    {\n      \"uid\": \"3b0bf00651e86dbb05c39336b163e51c\",\n      \"css\": \"language-markdown\",\n      \"code\": 983892,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M857.4 750H142.6Q119.1 750 101.6 732.4T84 691.4V308.6Q84 285.2 101.6 267.6T142.6 250H857.4Q880.9 250 898.4 267.6T916 308.6V691.4Q916 714.8 898.4 732.4T857.4 750ZM283.2 632.8V480.5L363.3 578.1 443.4 480.5V632.8H523.4V367.2H443.4L363.3 464.8 283.2 367.2H203.1V632.8H283.2ZM820.3 500H740.2V367.2H660.2V500H580.1L701.2 636.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-markdown\"\n      ]\n    },\n    {\n      \"uid\": \"a03aaf5ee099ea3b90736e903c259aab\",\n      \"css\": \"marker-check\",\n      \"code\": 983893,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 666L209 459 267.6 398.4 416 548.8 732.4 232.4 791 291ZM791 41H209Q173.8 41 149.4 65.4T125 125V664.1Q125 685.5 134.8 703.1T162.1 732.4L500 959 837.9 732.4Q855.5 720.7 865.2 703.1T875 664.1V125Q875 89.8 850.6 65.4T791 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"marker-check\"\n      ]\n    },\n    {\n      \"uid\": \"d645f2f4cfb53fc3afe2db8a8c6f60fd\",\n      \"css\": \"glass-cocktail\",\n      \"code\": 983894,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 291L228.5 209H771.5L687.5 291H312.5ZM459 541V791H250V875H750V791H541V541L875 209V125H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-cocktail\"\n      ]\n    },\n    {\n      \"uid\": \"b550f20c1cf9f205fc8938e32a906270\",\n      \"css\": \"material-ui\",\n      \"code\": 983895,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 691.4V640.6L584 496.1V300.8L375 421.9 166 300.8V541L125 566.4 84 541V209L127 181.6 375 326.2 623 181.6 666 209V544.9L455.1 666 623 763.7 834 642.6V459L875 433.6 916 459V691.4L623 859.4ZM916 406.3L875 429.7 834 406.3V357.4L875 334 916 357.4V406.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"material-ui\"\n      ]\n    },\n    {\n      \"uid\": \"ca72f51e57563f7276d5c3825cc7fa91\",\n      \"css\": \"math-compass\",\n      \"code\": 983896,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 828.1V916L757.8 867.2 558.6 492.2Q599.6 480.5 632.8 451.2ZM625 291Q625 343.8 588.9 379.9T500 416H482.4L242.2 867.2 166 916V828.1L408.2 375Q373 335.9 376 284.2T416 199.2 500 166V84Q517.6 84 529.3 95.7T541 125V173.8Q580.1 187.5 602.5 219.7T625 291ZM541 291Q541 273.4 529.3 261.7T500 250 470.7 261.7 459 291 470.7 321.3 500 334 529.3 321.3 541 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-compass\"\n      ]\n    },\n    {\n      \"uid\": \"1fe86d5770bf95a9457043bc3b5771a6\",\n      \"css\": \"stackpath\",\n      \"code\": 983897,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 334Q150.4 334 115.2 358.4T80.1 424.8 110.4 489.3 199.2 529.3Q228.5 539.1 240.2 548.8T252 575.2 241.2 600.6 205.1 609.4Q175.8 609.4 161.1 597.7T146.5 558.6H72.3 70.3Q70.3 611.3 110.4 638.7T204.1 666 293 641.6 328.1 575.2 298.8 508.8 216.8 468.8Q181.6 457 168 448.2T154.3 424.8 167 400.4 203.1 390.6 240.2 402.3 252 433.6H324.2L326.2 431.6Q326.2 388.7 292 361.3T205.1 334ZM375 335.9V664.1H451.2V550.8H498Q556.6 550.8 590.8 521.5T625 443.4 590.8 365.2 498 335.9H375ZM718.8 335.9L603.5 664.1H675.8L791 335.9H718.8ZM853.5 335.9L742.2 664.1H812.5L929.7 335.9H853.5ZM451.2 394.5H498Q523.4 394.5 536.1 407.2T548.8 442.4 536.1 478.5 498 492.2H451.2V394.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stackpath\"\n      ]\n    },\n    {\n      \"uid\": \"15e3816d090b28aa845f4064d0623b72\",\n      \"css\": \"minus-circle-multiple\",\n      \"code\": 983898,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 414.1 129.9 342.8T250 236.3V146.5Q138.7 185.5 69.3 282.2T0 500 69.3 717.8 250 853.5V763.7Q175.8 728.5 129.9 657.2T84 500ZM625 125Q523.4 125 437.5 175.8T300.8 312.5 250 500 300.8 687.5 437.5 824.2 625 875 812.5 824.2 949.2 687.5 1000 500 949.2 312.5 812.5 175.8 625 125ZM834 541H416V459H834V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-circle-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"29734b27f969b83826b1bb67a890da53\",\n      \"css\": \"memory\",\n      \"code\": 983899,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 709H291V291H709V709ZM875 459V375H791V291Q791 257.8 766.6 233.4T709 209H625V125H541V209H459V125H375V209H291Q257.8 209 233.4 233.4T209 291V375H125V459H209V541H125V625H209V709Q209 742.2 233.4 766.6T291 791H375V875H459V791H541V875H625V791H709Q742.2 791 766.6 766.6T791 709V625H875V541H791V459H875ZM541 541H459V459H541V541ZM625 375H375V625H625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"memory\"\n      ]\n    },\n    {\n      \"uid\": \"5f3423a7effa90ab3fc33a18b6cbdede\",\n      \"css\": \"menu\",\n      \"code\": 983900,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250H875V334H125V250ZM125 459H875V541H125V459ZM125 666H875V750H125V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu\"\n      ]\n    },\n    {\n      \"uid\": \"82b55ae11022c20d06c56808acc74e84\",\n      \"css\": \"menu-down\",\n      \"code\": 983901,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 416L500 625 709 416H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-down\"\n      ]\n    },\n    {\n      \"uid\": \"4a41f7a13e33d39045610cd371b03a43\",\n      \"css\": \"menu-left\",\n      \"code\": 983902,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291L375 500 584 709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-left\"\n      ]\n    },\n    {\n      \"uid\": \"86d18243b114adfd64326424af614757\",\n      \"css\": \"menu-right\",\n      \"code\": 983903,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L625 500 416 291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-right\"\n      ]\n    },\n    {\n      \"uid\": \"11bf5482e88e2fbf71de4e7a0716e575\",\n      \"css\": \"menu-up\",\n      \"code\": 983904,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 625L500 416 709 625H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-up\"\n      ]\n    },\n    {\n      \"uid\": \"b312d25e31c2bde6085e95f792dabb0a\",\n      \"css\": \"message\",\n      \"code\": 983905,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message\"\n      ]\n    },\n    {\n      \"uid\": \"b3a6281798d397d3d752cf7963d09b33\",\n      \"css\": \"message-alert\",\n      \"code\": 983906,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 416H459V250H541V416ZM541 584H459V500H541V584ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-alert\"\n      ]\n    },\n    {\n      \"uid\": \"9ddc2d0e6be62a0259aa2be7d8fa0e80\",\n      \"css\": \"message-draw\",\n      \"code\": 983907,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H437.5L521.5 500H750V584ZM250 584V478.5L537.1 193.4Q543 187.5 551.8 187.5T566.4 193.4L638.7 267.6Q646.5 273.4 646.5 282.2T638.7 296.9L353.5 584H250ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-draw\"\n      ]\n    },\n    {\n      \"uid\": \"38b506de94890a44ad038d956820582b\",\n      \"css\": \"message-image\",\n      \"code\": 983908,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 584L353.5 396.5 459 521.5 603.5 334 791 584H209ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-image\"\n      ]\n    },\n    {\n      \"uid\": \"bfa096f446fb867db2d7014ae891ec8c\",\n      \"css\": \"message-outline\",\n      \"code\": 983909,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ac7cf24cb931e145233c272d7987af75\",\n      \"css\": \"message-processing\",\n      \"code\": 983910,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 459H625V375H709V459ZM541 459H459V375H541V459ZM375 459H291V375H375V459ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-processing\"\n      ]\n    },\n    {\n      \"uid\": \"19dc2e63456b5bce5af343e7184a50da\",\n      \"css\": \"message-reply\",\n      \"code\": 983911,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166Q916 132.8 891.6 108.4T834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H750L916 916V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-reply\"\n      ]\n    },\n    {\n      \"uid\": \"2ba4b6df34894e380c1e73e30f46b234\",\n      \"css\": \"message-reply-text\",\n      \"code\": 983912,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334H250V250H750V334ZM750 459H250V375H750V459ZM750 584H250V500H750V584ZM916 166Q916 132.8 891.6 108.4T834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H750L916 916V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-reply-text\"\n      ]\n    },\n    {\n      \"uid\": \"3d8290a8abc43c1f8e8e52166a67f2da\",\n      \"css\": \"message-text\",\n      \"code\": 983913,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM250 375H750V459H250V375ZM584 584H250V500H584V584ZM750 334H250V250H750V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-text\"\n      ]\n    },\n    {\n      \"uid\": \"c676aceab994e32edabc55ffb42f40b2\",\n      \"css\": \"message-text-outline\",\n      \"code\": 983914,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H834ZM166 166V714.8L214.8 666H834V166H166ZM250 291H750V375H250V291ZM250 459H625V541H250V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2692a9e4545f646da655f6986d12933c\",\n      \"css\": \"message-video\",\n      \"code\": 983915,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584L584 449.2V584H250V250H584V382.8L750 250V584ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-video\"\n      ]\n    },\n    {\n      \"uid\": \"8bf0b15e2056b75a4e5f2dc6c2ace9c8\",\n      \"css\": \"microphone\",\n      \"code\": 983916,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q552.7 84 588.9 120.1T625 209V459Q625 509.8 588.9 546.9T500 584 411.1 546.9 375 459V209Q375 156.3 411.1 120.1T500 84ZM791 459Q791 531.3 758.8 593.8T668.9 696.3 541 748V875H459V748Q388.7 736.3 331.1 696.3T241.2 593.8 209 459H291Q291 500 307.6 538.1T353.5 605.5 420.9 650.4 500 666Q556.6 666 604.5 638.7T680.7 563.5 709 459H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone\"\n      ]\n    },\n    {\n      \"uid\": \"f4bc6abb26cbd3f8c96c1fc985e9ec77\",\n      \"css\": \"microphone-off\",\n      \"code\": 983917,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459Q791 529.3 753.9 595.7L703.1 543Q720.7 502 720.7 459H791ZM625 464.8L375 216.8V209Q375 156.3 411.1 120.1T500 84 588.9 120.1 625 209V464.8ZM177.7 125L875 822.3 822.3 875 648.4 701.2Q599.6 730.5 541 738.3V875H459V738.3Q390.6 728.5 333 688.5T242.2 587.9 209 459H279.3Q279.3 519.5 309.6 567.4T391.6 642.6 500 669.9Q548.8 669.9 595.7 648.4L527.3 580.1 500 584Q447.3 584 411.1 546.9T375 459V427.7L125 177.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-off\"\n      ]\n    },\n    {\n      \"uid\": \"7de9cdd0a20d7f7735f6093847c73c1d\",\n      \"css\": \"microphone-outline\",\n      \"code\": 983918,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M720.7 459Q720.7 519.5 690.4 567.4T608.4 642.6 500 669.9 391.6 642.6 309.6 567.4 279.3 459H209Q209 527.3 242.2 587.9T333 688.5 459 738.3V875H541V738.3Q609.4 728.5 667 688.5T757.8 587.9 791 459H720.7ZM449.2 205.1Q449.2 183.6 463.9 168.9T500 154.3 536.1 168.9 550.8 205.1L548.8 462.9Q548.8 482.4 535.2 497.1T500 511.7 463.9 497.1 449.2 462.9V205.1ZM500 584Q552.7 584 588.9 546.9T625 459V209Q625 156.3 588.9 120.1T500 84 411.1 120.1 375 209V459Q375 509.8 411.1 546.9T500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2462fbb7f81df0ffa3a9a53511a0c47e\",\n      \"css\": \"microphone-settings\",\n      \"code\": 983919,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416H720.7Q720.7 476.6 690.4 525.4T608.4 601.6 500 628.9 391.6 601.6 309.6 525.4 279.3 416H209Q209 486.3 242.2 546.9T333 646.5 459 697.3V834H541V697.3Q609.4 685.5 667 646.5T757.8 546.9 791 416ZM625 1000H709V916H625V1000ZM459 1000H541V916H459V1000ZM500 541Q552.7 541 588.9 504.9T625 416V166Q625 115.2 588.9 78.1T500 41 411.1 78.1 375 166V416Q375 468.8 411.1 504.9T500 541ZM291 1000H375V916H291V1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-settings\"\n      ]\n    },\n    {\n      \"uid\": \"52c9604ff8161f9bf35a1252938fb558\",\n      \"css\": \"microphone-variant\",\n      \"code\": 983920,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125Q443.4 125 492.2 173.8T541 291H209Q209 222.7 257.8 173.8T375 125ZM494.1 408.2L459 750H416V791Q416 826.2 440.4 850.6T500 875 559.6 850.6 584 791V584Q584 513.7 632.8 464.8T750 416H834L791 459 834 500H750Q714.8 500 690.4 524.4T666 584V791Q666 861.3 617.2 910.2T500 959 382.8 910.2 334 791V750H291L255.9 408.2Q224.6 377 212.9 334H537.1Q525.4 377 494.1 408.2ZM375 459Q357.4 459 345.7 470.7T334 500 345.7 529.3 375 541 404.3 529.3 416 500 404.3 470.7 375 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-variant\"\n      ]\n    },\n    {\n      \"uid\": \"443d1529b5f038751e16cb5307873935\",\n      \"css\": \"microphone-variant-off\",\n      \"code\": 983921,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 666 802.7Q662.1 867.2 614.3 913.1T499 959 382.8 910.2 334 791V750H291L255.9 408.2Q234.4 386.7 222.7 357.4ZM375 125Q443.4 125 492.2 173.8T541 291H367.2L253.9 177.7Q277.3 152.3 308.6 138.7T375 125ZM494.1 408.2L492.2 416 408.2 334H537.1Q525.4 377 494.1 408.2ZM459 750H416V791Q416 826.2 440.4 850.6T500 875 559.6 850.6 584 791V718.8L472.7 609.4ZM750 416H834L791 459 834 500H750Q714.8 500 690.4 524.4T666 584V591.8L595.7 521.5Q615.2 472.7 656.3 444.3T750 416ZM334 500Q334 517.6 345.7 529.3T373 541 398.4 535.2L339.8 476.6Q334 486.3 334 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"a9cd0e65ac45aed0edd34845a453833c\",\n      \"css\": \"microsoft\",\n      \"code\": 983922,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H459V500H84V125ZM459 916H84V541H459V916ZM875 125V500H500V125H875ZM875 916H500V541H875V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft\"\n      ]\n    },\n    {\n      \"uid\": \"c88c1f3c474308c3c0038ecd7a6365a7\",\n      \"css\": \"minecraft\",\n      \"code\": 983923,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM250 250V416H416V500H334V750H416V666H584V750H666V500H584V416H750V250H584V416H416V250H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minecraft\"\n      ]\n    },\n    {\n      \"uid\": \"4dae8d34e12ee29474c244f25a6cbc1c\",\n      \"css\": \"minus-box\",\n      \"code\": 983925,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541H291V459H709V541ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-box\"\n      ]\n    },\n    {\n      \"uid\": \"1086a0b64ea7b47d7d8a727bf8d4038a\",\n      \"css\": \"minus-circle\",\n      \"code\": 983926,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541H291V459H709V541ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-circle\"\n      ]\n    },\n    {\n      \"uid\": \"200d187cf524b9581ace7c04df275104\",\n      \"css\": \"minus-circle-outline\",\n      \"code\": 983927,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM291 541H709V459H291V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"de294fda69a19848a04e532f658cd8b3\",\n      \"css\": \"minus-network\",\n      \"code\": 983928,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 459V375H334V459H666ZM709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-network\"\n      ]\n    },\n    {\n      \"uid\": \"3059881126d6f6a64593b036d3d54f85\",\n      \"css\": \"monitor\",\n      \"code\": 983929,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666H125V166H875V666ZM875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H416V834H334V916H666V834H584V750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor\"\n      ]\n    },\n    {\n      \"uid\": \"e4841ff7d34708358069b894760a1a1a\",\n      \"css\": \"monitor-multiple\",\n      \"code\": 983930,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V291H250V709H916ZM916 209Q951.2 209 975.6 233.4T1000 291V709Q1000 742.2 975.6 766.6T916 791H666V875H750V959H416V875H500V791H250Q214.8 791 190.4 766.6T166 709V291Q166 257.8 190.4 233.4T250 209H916ZM84 125V625H0V125Q0 89.8 24.4 65.4T84 41H834V125H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"83b38ec054aa97617ff617a1e2507fb2\",\n      \"css\": \"more\",\n      \"code\": 983931,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 562.5Q765.6 562.5 747.1 543.9T728.5 500 747.1 456.1 792 437.5 835.9 456.1 853.5 500 835.9 543.9 791 562.5ZM584 562.5Q556.6 562.5 539.1 543.9T521.5 500 539.1 456.1 583 437.5 627.9 456.1 646.5 500 627.9 543.9 584 562.5ZM375 562.5Q349.6 562.5 331.1 543.9T312.5 500 331.1 456.1 375 437.5 418.9 456.1 437.5 500 418.9 543.9 375 562.5ZM916 125H291Q250 125 224.6 162.1L0 500 224.6 837.9Q236.3 855.5 254.9 865.2T294.9 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"more\"\n      ]\n    },\n    {\n      \"uid\": \"49cb6ccef8a5ff4e0ecb6cdeaf48c85e\",\n      \"css\": \"motorbike\",\n      \"code\": 983932,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M726.6 416L558.6 250H375V334H525.4L607.4 416H271.5Q193.4 416 138.7 470.7T84 603.5 138.7 736.3 271.5 791Q339.8 791 391.6 747.1T455.1 636.7L543 584Q541 589.8 541 603.5 541 681.6 595.7 736.3T728.5 791 861.3 736.3 916 603.5 861.3 470.7 728.5 416H726.6ZM369.1 636.7Q357.4 668 331.1 688.5T269.5 709Q226.6 709 196.3 677.7T166 603.5 196.3 530.3 269.5 500Q304.7 500 331.1 520.5T369.1 572.3H250V634.8ZM728.5 709Q685.5 709 654.3 677.7T623 603.5 654.3 530.3 728.5 500 801.8 530.3 832 603.5 801.8 677.7 728.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"motorbike\"\n      ]\n    },\n    {\n      \"uid\": \"5fe6223c40adeb558cbca1a77e8928bc\",\n      \"css\": \"mouse\",\n      \"code\": 983933,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 44.9Q377 54.7 310.5 101.6T205.1 219.7 166 375H459V44.9ZM166 625Q166 714.8 210.9 792T333 914.1 500 959 667 914.1 789.1 792 834 625V459H166V625ZM541 44.9V375H834Q834 291 794.9 219.7T689.5 101.6 541 44.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mouse\"\n      ]\n    },\n    {\n      \"uid\": \"6e0563886b14078746fdcc9d401f6863\",\n      \"css\": \"mouse-off\",\n      \"code\": 983934,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 728.5 867.2Q683.6 910.2 625 934.6T500 959Q410.2 959 333 914.1T210.9 792 166 625V459H322.3L238.3 375H166Q166 341.8 173.8 308.6ZM459 44.9V375H451.2L242.2 164.1Q281.3 115.2 336.9 84T459 44.9ZM834 459V625Q834 681.6 814.5 738.3L533.2 459H834ZM541 44.9Q623 54.7 689.5 101.6T794.9 219.7 834 375H541V44.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mouse-off\"\n      ]\n    },\n    {\n      \"uid\": \"20cd6da0121e5705b0027d6c5a9e4bda\",\n      \"css\": \"mouse-variant\",\n      \"code\": 983935,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291H416V87.9Q488.3 101.6 536.1 159.2T584 291ZM166 291Q166 216.8 213.9 159.2T334 87.9V291H166ZM584 500Q584 574.2 536.1 631.8T416 705.1V750Q416 802.7 453.1 838.9T542 875 629.9 838.9 666 750V541Q666 472.7 714.8 423.8T834 375H916L875 416 916 459H834Q798.8 459 774.4 483.4T750 541V750Q750 806.6 721.7 854.5T645.5 930.7 541 959 436.5 930.7 361.3 854.5 334 750V705.1Q261.7 689.5 213.9 631.8T166 500V375H584V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mouse-variant\"\n      ]\n    },\n    {\n      \"uid\": \"e7f03b5bbd91b27601f6e5d825f6a057\",\n      \"css\": \"mouse-variant-off\",\n      \"code\": 983936,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 720.7 857.4Q693.4 902.3 645.5 930.7T541 959 436.5 930.7 361.3 854.5 334 750V705.1Q261.7 689.5 213.9 631.8T166 500V375H238.3ZM584 291H416V87.9Q488.3 101.6 536.1 159.2T584 291ZM334 87.9V257.8L224.6 148.4Q269.5 101.6 334 87.9ZM584 500V507.8L451.2 375H584V500ZM416 705.1V750Q416 802.7 453.1 838.9T541 875Q582 875 613.3 852.5T658.2 794.9L517.6 652.3Q474.6 691.4 416 705.1ZM666 541Q666 472.7 714.8 423.8T834 375H916L875 416 916 459H834Q798.8 459 774.4 483.4T750 541V673.8L666 591.8V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mouse-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"67ade1b01860b6fc4d122070b98de171\",\n      \"css\": \"movie\",\n      \"code\": 983937,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 166L834 334H709L625 166H541L625 334H500L416 166H334L416 334H291L209 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V166H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie\"\n      ]\n    },\n    {\n      \"uid\": \"08a0467443b6fadd36ad9e2b17ddd44c\",\n      \"css\": \"multiplication\",\n      \"code\": 983938,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 125H541V427.7L804.7 277.3 845.7 349.6 584 500 845.7 652.3 804.7 724.6 541 572.3V875H459V572.3L195.3 722.7 154.3 650.4 416 500 154.3 347.7 197.3 275.4 459 427.7V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"multiplication\"\n      ]\n    },\n    {\n      \"uid\": \"b7da0904a256203598b03929735d1aa6\",\n      \"css\": \"multiplication-box\",\n      \"code\": 983939,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM459 709H541V572.3L660.2 640.6 701.2 568.4 584 500 701.2 431.6 660.2 359.4 541 427.7V291H459V427.7L339.8 359.4 298.8 431.6 416 500 298.8 568.4 339.8 640.6 459 572.3V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"multiplication-box\"\n      ]\n    },\n    {\n      \"uid\": \"a9fcb5deedc54839fc798483dc51ae40\",\n      \"css\": \"music-box\",\n      \"code\": 983940,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375H541V603.5Q541 646.5 510.7 677.7T437.5 709 364.3 677.7 334 603.5 364.3 530.3 437.5 500Q472.7 500 500 521.5V291H666V375ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-box\"\n      ]\n    },\n    {\n      \"uid\": \"29a12af00fdc5416b2382fa719e9b27d\",\n      \"css\": \"music-box-outline\",\n      \"code\": 983941,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375H541V603.5Q541 646.5 510.7 677.7T437.5 709 364.3 677.7 334 603.5 364.3 530.3 437.5 500Q472.7 500 500 521.5V291H666V375ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cd3e28d4afc921102731517ae46da91b\",\n      \"css\": \"music-circle\",\n      \"code\": 983942,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375V291H500V521.5Q472.7 500 437.5 500 394.5 500 364.3 530.3T334 603.5 364.3 677.7 437.5 709 510.7 677.7 541 603.5V375H666ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-circle\"\n      ]\n    },\n    {\n      \"uid\": \"9d982105bc5a4a2120548357c1ce6f32\",\n      \"css\": \"music-note\",\n      \"code\": 983944,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125V564.5Q460.9 541 416 541 347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 709V291H750V125H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note\"\n      ]\n    },\n    {\n      \"uid\": \"3d50a389e1bcaaf6a6f9791d5ef6eb10\",\n      \"css\": \"music-note\",\n      \"code\": 983943,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125V564.5Q460.9 541 416 541 347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 709V291H750V125H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note\"\n      ]\n    },\n    {\n      \"uid\": \"9d54aa0beca777b487e60a5a39cee07b\",\n      \"css\": \"music-note-half\",\n      \"code\": 983945,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 125H584V564.5Q544.9 543 500 541 431.6 541 382.8 589.8T334 708 382.8 826.2 500 875 617.2 826.2 666 709V125ZM500 791Q464.8 791 440.4 766.6T416 708 440.4 649.4 500 625 559.6 649.4 584 708 559.6 766.6 500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-half\"\n      ]\n    },\n    {\n      \"uid\": \"243c1c04e16446eaaeb489c98d671971\",\n      \"css\": \"music-note-off\",\n      \"code\": 983946,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M177.7 125L125 177.7 500 552.7V564.5Q460.9 541 416 541 347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 709V636.7L822.3 875 875 822.3ZM584 291H750V125H500V341.8L584 423.8V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-off\"\n      ]\n    },\n    {\n      \"uid\": \"1f24c0181b3ab8d853d8efa0f846a787\",\n      \"css\": \"music-note-quarter\",\n      \"code\": 983947,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125V564.5Q544.9 541 500 541 431.6 541 382.8 589.8T334 708 382.8 826.2 500 875 617.2 826.2 666 709V125H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-quarter\"\n      ]\n    },\n    {\n      \"uid\": \"8a2322579b5cee245ea45c5a55c158eb\",\n      \"css\": \"music-note-sixteenth\",\n      \"code\": 983948,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 291V125H500V564.5Q460.9 541 416 541 347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 709V459H750V334H584V291H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-sixteenth\"\n      ]\n    },\n    {\n      \"uid\": \"cb1a074089dfea1e987d45cf08290a0b\",\n      \"css\": \"music-note-whole\",\n      \"code\": 983949,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625Q525.4 625 545.9 638.7T576.2 675.8 581.1 724.6 558.6 767.6 516.6 790 468.8 785.2 430.7 754.9 416 709Q416 673.8 440.4 649.4T500 625ZM500 541Q431.6 541 382.8 589.8T334 708 382.8 826.2 500 875 617.2 826.2 666 708 617.2 589.8 500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-whole\"\n      ]\n    },\n    {\n      \"uid\": \"7c7636f120641a3cc5fc45e00fcda74a\",\n      \"css\": \"nature\",\n      \"code\": 983950,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 671.9Q613.3 664.1 671.9 623T764.6 518.6 798.8 382.8Q798.8 302.7 759.8 235.4T653.3 128.9 506.8 89.8 360.4 128.9 253.9 235.4 214.8 382.8Q214.8 490.2 284.2 571.3T459 669.9V834H209V916H791V834H541V671.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nature\"\n      ]\n    },\n    {\n      \"uid\": \"2e0ed2fb592f9b312b3440034a158114\",\n      \"css\": \"nature-people\",\n      \"code\": 983951,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M187.5 459Q212.9 459 231.4 440.4T250 395.5 231.4 351.6 187.5 334 143.6 351.6 125 395.5 143.6 440.4 187.5 459ZM923.8 382.8Q923.8 302.7 884.8 235.4T778.3 128.9 631.8 89.8 485.4 128.9 378.9 235.4 339.8 382.8Q339.8 490.2 409.2 571.3T584 669.9V834H250V709H291V541Q291 523.4 279.3 511.7T250 500H125Q107.4 500 95.7 511.7T84 541V709H125V916H791V834H666V671.9Q738.3 664.1 796.9 623T889.6 518.6 923.8 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nature-people\"\n      ]\n    },\n    {\n      \"uid\": \"12f5546dc60f316d0ca21ee875b8071e\",\n      \"css\": \"navigation\",\n      \"code\": 983952,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L187.5 845.7 216.8 875 500 750 783.2 875 812.5 845.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"navigation\"\n      ]\n    },\n    {\n      \"uid\": \"43c778283d22adc1879f491418c47324\",\n      \"css\": \"needle\",\n      \"code\": 983953,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M464.8 632.8L406.3 574.2 464.8 513.7 523.4 574.2 582 513.7 523.4 455.1 582 396.5 640.6 455.1 699.2 396.5 582 279.3 287.1 574.2 406.3 691.4ZM128.9 791L257.8 662.1 169.9 574.2 582 162.1 669.9 250 728.5 191.4 669.9 130.9 728.5 72.3 906.3 250 847.7 308.6 789.1 250 728.5 308.6 818.4 396.5 406.3 808.6 316.4 720.7 128.9 910.2V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"needle\"\n      ]\n    },\n    {\n      \"uid\": \"16116ff182a34f38f0574133a98a4e2a\",\n      \"css\": \"smoke-detector\",\n      \"code\": 983954,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q568.4 750 626 716.8T716.8 626 750 500 716.8 374 626 283.2 500 250 374 283.2 283.2 374 250 500 283.2 626 374 716.8 500 750ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM334 500Q334 431.6 382.8 382.8T500 334 617.2 382.8 666 500 617.2 617.2 500 666 382.8 617.2 334 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smoke-detector\"\n      ]\n    },\n    {\n      \"uid\": \"93606e93f1d9c4973ef4a3bcf89df40b\",\n      \"css\": \"thermostat\",\n      \"code\": 983955,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M707 707L617.2 617.2Q666 568.4 666 500 666 455.1 642.6 416L732.4 326.2Q791 402.3 791 500 791 558.6 768.6 612.3T707 707ZM500 209Q597.7 209 673.8 267.6L584 357.4Q544.9 334 500 334 431.6 334 382.8 382.8T334 500 382.8 617.2L293 707Q253.9 666 231.4 612.3T209 500Q209 419.9 248 353.5T353.5 248 500 209ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermostat\"\n      ]\n    },\n    {\n      \"uid\": \"5bff122f4c2a418424cec863d0cd691e\",\n      \"css\": \"new-box\",\n      \"code\": 983956,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834ZM353.5 625V375H302.7V521.5L197.3 375H146.5V625H197.3V478.5L304.7 625H353.5ZM562.5 427.7V375H396.5V625H562.5V572.3H459V527.3H562.5V474.6H459V427.7H562.5ZM853.5 584V375H802.7V562.5H755.9V416H703.1V562.5H656.3V375H603.5V584Q603.5 601.6 616.2 613.3T646.5 625H812.5Q830.1 625 841.8 613.3T853.5 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"new-box\"\n      ]\n    },\n    {\n      \"uid\": \"dd9cfeabeb624361bbfd877bfca0522a\",\n      \"css\": \"newspaper\",\n      \"code\": 983957,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 459H166V334H834V459ZM834 625H541V541H834V625ZM834 791H541V709H834V791ZM459 791H166V541H459V791ZM847.7 195.3L777.3 125 709 195.3 638.7 125 570.3 195.3 500 125 429.7 195.3 361.3 125 291 195.3 222.7 125 152.3 195.3 84 125V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper\"\n      ]\n    },\n    {\n      \"uid\": \"27c6798c1683c812105ce0b7092cb55e\",\n      \"css\": \"nfc\",\n      \"code\": 983958,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M300.8 84Q164.1 84 148.4 85.9 121.1 85.9 103.5 103.5T85 147.5 84 499 85 850.6 103.5 894.5 148.4 912.1Q193.4 916 345.7 916 300.8 884.8 285.2 816.4 271.5 763.7 267.6 634.8 265.6 576.2 265.6 392.6 265.6 234.4 267.6 210.9L269.5 123 603.5 459V562.5L337.9 296.9 335.9 480.5Q335.9 582 337.9 627 345.7 763.7 365.2 816.4 388.7 882.8 451.2 904.3 488.3 916 544.9 916 818.4 916 851.6 914.1 878.9 914.1 896.5 895.5T915 851.6 916 502 915 151.4 896.5 107.4 851.6 87.9Q775.4 84 654.3 84 699.2 115.2 714.8 183.6 728.5 236.3 732.4 365.2 734.4 423.8 734.4 607.4 734.4 763.7 732.4 791L730.5 877 396.5 541V437.5L662.1 703.1 664.1 519.5Q664.1 418 662.1 373 654.3 236.3 634.8 183.6 611.3 117.2 548.8 95.7 513.7 84 455.1 84H300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nfc\"\n      ]\n    },\n    {\n      \"uid\": \"9eaebb2fe171aad632b7e8d8f91f6aee\",\n      \"css\": \"nfc-tap\",\n      \"code\": 983959,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM166 166H459Q492.2 166 516.6 190.4T541 250V375H459V250H166V459H250V375L375 500 250 625V541H166Q132.8 541 108.4 516.6T84 459V250Q84 214.8 108.4 190.4T166 166ZM834 834H541Q507.8 834 483.4 809.6T459 750V625H541V750H834V541H750V625L625 500 750 375V459H834Q867.2 459 891.6 483.4T916 541V750Q916 785.2 891.6 809.6T834 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nfc-tap\"\n      ]\n    },\n    {\n      \"uid\": \"b2ac789538e8e085d9f4d7220ae0168b\",\n      \"css\": \"nfc-variant\",\n      \"code\": 983960,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 250H541Q507.8 250 483.4 274.4T459 334V427.7Q439.5 439.5 427.7 458T416 500Q416 535.2 440.4 559.6T500 584 559.6 559.6 584 500Q584 476.6 572.3 458T541 427.7V334H666V666H334V334H416V250H250V750H750V250ZM834 834H166V166H834V834ZM834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nfc-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ea984f2e69f91660a9161258276925b0\",\n      \"css\": \"nodejs\",\n      \"code\": 983961,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 76.2Q482.4 76.2 466.8 85.9L158.2 263.7Q142.6 273.4 133.8 289.1T125 320.3V679.7Q125 695.3 133.8 710.9T158.2 736.3L238.3 781.3Q265.6 794.9 283.2 798.8 293 800.8 310.5 800.8 353.5 800.8 377.9 775.4T402.3 705.1V351.6Q402.3 347.7 399.4 344.7T392.6 341.8H353.5Q343.8 341.8 343.8 351.6V705.1Q343.8 728.5 323.2 740.2T271.5 736.3L185.5 687.5Q181.6 683.6 181.6 679.7V320.3Q181.6 314.5 185.5 312.5L496.1 132.8Q500 130.9 503.9 132.8L814.5 312.5Q818.4 314.5 818.4 320.3V679.7Q818.4 683.6 814.5 687.5L503.9 867.2Q500 869.1 494.1 867.2L416 818.4Q410.2 816.4 408.2 818.4H406.3Q380.9 834 361.3 839.8 347.7 843.8 363.3 853.5L466.8 914.1Q482.4 923.8 500 923.8T533.2 914.1L841.8 736.3Q857.4 726.6 866.2 710.9T875 679.7V320.3Q875 304.7 866.2 289.1T841.8 263.7L533.2 85.9Q517.6 76.2 500 76.2ZM584 334Q517.6 334 479.5 360.4T441.4 433.6 478.5 502Q509.8 521.5 579.1 528.3T671.9 546.9Q689.5 554.7 689.5 572.3 689.5 599.6 667 611.3T595.7 623Q537.1 623 513.7 607.4 494.1 593.8 490.2 560.5 488.3 552.7 480.5 552.7H439.5Q431.6 552.7 431.6 562.5 431.6 611.3 462.9 638.7 503.9 675.8 595.7 675.8 669.9 675.8 710 648.4T750 572.3 714.8 502Q685.5 482.4 609.4 472.7 560.5 466.8 539.1 461.9T510.7 450.2 503.9 431.6Q503.9 386.7 584 386.7 630.9 386.7 651.4 399.4T679.7 443.4Q681.6 451.2 689.5 451.2H728.5Q732.4 451.2 735.4 448.2T738.3 441.4Q732.4 386.7 695.3 360.4T584 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nodejs\"\n      ]\n    },\n    {\n      \"uid\": \"b8619b676a0371bb507fd7216872ab6d\",\n      \"css\": \"note\",\n      \"code\": 983962,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416V187.5L812.5 416H584ZM209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V375L625 125H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note\"\n      ]\n    },\n    {\n      \"uid\": \"a39d9bc6120675eb9bbe86f4a0e8daa9\",\n      \"css\": \"note-outline\",\n      \"code\": 983963,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416H812.5L584 187.5V416ZM209 125H625L875 375V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V500H500V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5cf5ee83dd06b355dc0039b6cc09f881\",\n      \"css\": \"note-plus\",\n      \"code\": 983964,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416H812.5L584 187.5V416ZM209 125H625L875 375V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM375 750H459V625H584V541H459V416H375V541H250V625H375V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-plus\"\n      ]\n    },\n    {\n      \"uid\": \"4045ca1b0638e824b5bad4494d4de5f8\",\n      \"css\": \"note-plus-outline\",\n      \"code\": 983965,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 416H853.5L625 187.5V416ZM166 125H666L916 375V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125ZM166 209V791H834V500H541V209H166ZM334 709V625H250V541H334V459H416V541H500V625H416V709H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fc58ffa7bc0a02b40117be353ef0bb62\",\n      \"css\": \"note-text\",\n      \"code\": 983966,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416H812.5L584 187.5V416ZM209 125H625L875 375V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 500V584H791V500H209ZM209 666V750H584V666H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-text\"\n      ]\n    },\n    {\n      \"uid\": \"111974a0bd1f4ccb33bdd02fcceaa29a\",\n      \"css\": \"notification-clear-all\",\n      \"code\": 983967,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 541H791V459H209V541ZM125 709H709V625H125V709ZM291 291V375H875V291H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"notification-clear-all\"\n      ]\n    },\n    {\n      \"uid\": \"35a77e39b4eff43dc75881353ac1df96\",\n      \"css\": \"numeric\",\n      \"code\": 983968,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 709V375H84V291H250V709H166ZM916 625Q916 660.2 891.6 684.6T834 709H666V625H834V541H750V459H834V375H666V291H834Q867.2 291 891.6 315.4T916 375V437.5Q916 462.9 898.4 481.4T853.5 500Q880.9 500 898.4 518.6T916 562.5V625ZM584 625V709H334V541Q334 507.8 358.4 483.4T416 459H500V375H334V291H500Q535.2 291 559.6 315.4T584 375V459Q584 492.2 559.6 516.6T500 541H416V625H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric\"\n      ]\n    },\n    {\n      \"uid\": \"a8207db0aa2b548ce7f364adb23b59bb\",\n      \"css\": \"numeric-0-box\",\n      \"code\": 983969,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-0-box\"\n      ]\n    },\n    {\n      \"uid\": \"74c6dd6c110ebcb11ee121d383fc4e7a\",\n      \"css\": \"numeric-0-box-multiple-outline\",\n      \"code\": 983970,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709V125H291V709H875ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM541 209H625Q660.2 209 684.6 233.4T709 291V541Q709 576.2 684.6 600.6T625 625H541Q507.8 625 483.4 600.6T459 541V291Q459 257.8 483.4 233.4T541 209ZM541 291V541H625V291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-0-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5cc07c40afbf488b4f2d0cb24fbfa3db\",\n      \"css\": \"numeric-0-box-outline\",\n      \"code\": 983971,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V209H209V791H791ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 375V625H541V375H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-0-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e8eb233ce6df79fb27e451703c77696c\",\n      \"css\": \"numeric-1-box\",\n      \"code\": 983972,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H500V375H416V291H584V709ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1-box\"\n      ]\n    },\n    {\n      \"uid\": \"0559a333437e538287c138395d2b26b9\",\n      \"css\": \"numeric-1-box-multiple-outline\",\n      \"code\": 983973,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM584 625H666V209H500V291H584V625ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9945456b0e928f7646add4977d598126\",\n      \"css\": \"numeric-1-box-outline\",\n      \"code\": 983974,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 709H584V291H416V375H500V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4fdd56304553ddd6ccc9c69519ded4b3\",\n      \"css\": \"numeric-2-box\",\n      \"code\": 983975,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 459Q625 492.2 600.6 516.6T541 541H459V625H625V709H375V541Q375 507.8 399.4 483.4T459 459H541V375H375V291H541Q576.2 291 600.6 315.4T625 375V459ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2-box\"\n      ]\n    },\n    {\n      \"uid\": \"967cdb80fbe0e59b4aadbfb34d161325\",\n      \"css\": \"numeric-2-box-multiple-outline\",\n      \"code\": 983976,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541H541V459H625Q660.2 459 684.6 434.6T709 375V291Q709 257.8 684.6 233.4T625 209H459V291H625V375H541Q507.8 375 483.4 399.4T459 459V625H709V541ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7724d066e2f60e573ecb63a822886557\",\n      \"css\": \"numeric-2-box-outline\",\n      \"code\": 983977,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625H459V541H541Q576.2 541 600.6 516.6T625 459V375Q625 339.8 600.6 315.4T541 291H375V375H541V459H459Q423.8 459 399.4 483.4T375 541V709H625V625ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"07ca6e90758ab6ac5579679d33b7be6d\",\n      \"css\": \"numeric-3-box\",\n      \"code\": 983978,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 437.5Q625 462.9 606.4 481.4T562.5 500Q587.9 500 606.4 518.6T625 562.5V625Q625 660.2 600.6 684.6T541 709H375V625H541V541H459V459H541V375H375V291H541Q576.2 291 600.6 315.4T625 375V437.5ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3-box\"\n      ]\n    },\n    {\n      \"uid\": \"c6fd908d8880b15e8d7ea24eb114c34c\",\n      \"css\": \"numeric-3-box-multiple-outline\",\n      \"code\": 983979,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541V478.5Q709 453.1 690.4 434.6T646.5 416Q671.9 416 690.4 398.4T709 353.5V291Q709 257.8 684.6 233.4T625 209H459V291H625V375H541V459H625V541H459V625H625Q660.2 625 684.6 600.6T709 541ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"452282aaeacd5e2802cb2a8634d513b8\",\n      \"css\": \"numeric-3-box-outline\",\n      \"code\": 983980,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H375V375H541V459H459V541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"378ae158fdbf678a0d2a4fba51973422\",\n      \"css\": \"numeric-4-box\",\n      \"code\": 983981,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H541V541H375V291H459V459H541V291H625V709ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4-box\"\n      ]\n    },\n    {\n      \"uid\": \"cd2c594db0d5324c54be54a5e87eb5e0\",\n      \"css\": \"numeric-4-box-outline\",\n      \"code\": 983982,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM541 709H625V291H541V459H459V291H375V541H541V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ed684d4e74c9eff08ab7b933c4c8758a\",\n      \"css\": \"numeric-5-box-multiple-outline\",\n      \"code\": 983983,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541V459Q709 423.8 684.6 399.4T625 375H541V291H709V209H459V459H625V541H459V625H625Q660.2 625 684.6 600.6T709 541ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"85c51d82f7b0989a258e05ece84ecc80\",\n      \"css\": \"numeric-5-box-outline\",\n      \"code\": 983984,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H375V541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"541d22c8b88f94ad5f6a331b1eb0e20c\",\n      \"css\": \"numeric-5-box\",\n      \"code\": 983985,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H375V625H541V541H375V291H625V375ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5-box\"\n      ]\n    },\n    {\n      \"uid\": \"f0af1bb71e06db9b80fdfe7907cd4ded\",\n      \"css\": \"numeric-4-box-multiple-outline\",\n      \"code\": 983986,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM625 625H709V209H625V375H541V209H459V459H625V625ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b09e38e0c62607df729bd3a99ce67486\",\n      \"css\": \"numeric-6-box\",\n      \"code\": 983987,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291H625V375ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM459 625H541V541H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6-box\"\n      ]\n    },\n    {\n      \"uid\": \"8c41015775b1ae4428931e5ba912e747\",\n      \"css\": \"numeric-6-box-multiple-outline\",\n      \"code\": 983988,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H625V541H541V459ZM541 625H625Q660.2 625 684.6 600.6T709 541V459Q709 423.8 684.6 399.4T625 375H541V291H709V209H541Q507.8 209 483.4 233.4T459 291V541Q459 576.2 483.4 600.6T541 625ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"25bdb616e6e1947623e06c5aacdcf099\",\n      \"css\": \"numeric-6-box-outline\",\n      \"code\": 983989,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V625H459V541ZM459 709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"39e0d35749e6d67be6b8ee678ac5a1dd\",\n      \"css\": \"numeric-7-box\",\n      \"code\": 983990,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM459 709L625 375V291H375V375H541L375 709H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7-box\"\n      ]\n    },\n    {\n      \"uid\": \"683327f7ce37aec58e3a5fcd00229393\",\n      \"css\": \"numeric-7-box-multiple-outline\",\n      \"code\": 983991,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 625L709 291V209H459V291H625L459 625H541ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9b7e93f02f386a9f090799720c525815\",\n      \"css\": \"numeric-7-box-outline\",\n      \"code\": 983992,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709L625 375V291H375V375H541L375 709H459ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"01cb9ab6a210d66dfd8a468036c894a1\",\n      \"css\": \"numeric-8-box\",\n      \"code\": 983993,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM459 709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V437.5Q375 462.9 393.6 481.4T437.5 500Q412.1 500 393.6 518.6T375 562.5V625Q375 660.2 399.4 684.6T459 709ZM459 541H541V625H459V541ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8-box\"\n      ]\n    },\n    {\n      \"uid\": \"66f46cd7d526f3f1e4f095cd5fc1d46a\",\n      \"css\": \"numeric-8-box-multiple-outline\",\n      \"code\": 983994,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H625V541H541V459ZM541 291H625V375H541V291ZM541 625H625Q660.2 625 684.6 600.6T709 541V478.5Q709 453.1 690.4 434.6T646.5 416Q671.9 416 690.4 398.4T709 353.5V291Q709 257.8 684.6 233.4T625 209H541Q507.8 209 483.4 233.4T459 291V353.5Q459 380.9 476.6 398.4T521.5 416Q494.1 416 476.6 434.6T459 478.5V541Q459 576.2 483.4 600.6T541 625ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8b13279952d954f55a33fa34a0dcfc08\",\n      \"css\": \"numeric-8-box-outline\",\n      \"code\": 983995,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V625H459V541ZM459 375H541V459H459V375ZM459 709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V437.5Q375 462.9 393.6 481.4T437.5 500Q412.1 500 393.6 518.6T375 562.5V625Q375 660.2 399.4 684.6T459 709ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3edd64ffc41d4573a4de4b817b189a37\",\n      \"css\": \"numeric-9-box\",\n      \"code\": 983996,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM541 459H459V375H541V459ZM541 291H459Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-box\"\n      ]\n    },\n    {\n      \"uid\": \"5ddaa11de9c9eaa3527272bf6eb63762\",\n      \"css\": \"numeric-9-box-multiple-outline\",\n      \"code\": 983997,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375H541V291H625V375ZM625 209H541Q507.8 209 483.4 233.4T459 291V375Q459 410.2 483.4 434.6T541 459H625V541H459V625H625Q660.2 625 684.6 600.6T709 541V291Q709 257.8 684.6 233.4T625 209ZM875 709H291V125H875V709ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f196ee30a250b211a37a7242797a67bd\",\n      \"css\": \"numeric-9-box-outline\",\n      \"code\": 983998,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H459V375H541V459ZM541 291H459Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291ZM791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"58cc4ef5d291fca35bf77d8e42829134\",\n      \"css\": \"numeric-9-plus-box\",\n      \"code\": 983999,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM791 459H709V375H625V459H541V541H625V625H709V541H791V459ZM416 291H334Q298.8 291 274.4 315.4T250 375V459Q250 492.2 274.4 516.6T334 541H416V625H250V709H416Q451.2 709 475.6 684.6T500 625V375Q500 339.8 475.6 315.4T416 291ZM334 375H416V459H334V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus-box\"\n      ]\n    },\n    {\n      \"uid\": \"b2d9217713164237d9061a67533e4c2f\",\n      \"css\": \"numeric-9-plus-box-multiple-outline\",\n      \"code\": 984000,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 375H791V291H709V375H625V459H709V541H791V459H875V709H291V125H875V375ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM459 375V334H500V375H459ZM584 500V334Q584 298.8 559.6 274.4T500 250H459Q423.8 250 399.4 274.4T375 334V375Q375 410.2 399.4 434.6T459 459H500V500H375V584H500Q535.2 584 559.6 559.6T584 500ZM125 209H41V875Q41 910.2 65.4 934.6T125 959H791V875H125V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"48ae33e41d8e4169e1e4a6d8f7301524\",\n      \"css\": \"numeric-9-plus-box-outline\",\n      \"code\": 984001,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H709V375H625V459H541V541H625V625H709V541H791V791H209V209H791V459ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM375 459V416H416V459H375ZM500 584V416Q500 382.8 475.6 358.4T416 334H375Q339.8 334 315.4 358.4T291 416V459Q291 492.2 315.4 516.6T375 541H416V584H291V666H416Q451.2 666 475.6 641.6T500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c70ff9ceed27a1535209147a12b07d5\",\n      \"css\": \"nutrition\",\n      \"code\": 984002,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 750Q916 818.4 867.2 867.2T750 916H584Q513.7 916 464.8 867.2T416 750V666H916V750ZM166 125H584Q617.2 125 641.6 149.4T666 209V584H334V791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 250V334H250V250H166ZM584 334V250H334V334H584ZM166 416V500H250V416H166ZM334 416V500H584V416H334ZM166 584V666H250V584H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nutrition\"\n      ]\n    },\n    {\n      \"uid\": \"d816f2d1e113880d1b0afa365361852b\",\n      \"css\": \"octagon\",\n      \"code\": 984003,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M656.3 125H343.8L125 343.8V656.3L343.8 875H656.3L875 656.3V343.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"octagon\"\n      ]\n    },\n    {\n      \"uid\": \"1b329bd701b2486fc359bcd931cdb143\",\n      \"css\": \"octagon-outline\",\n      \"code\": 984004,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M343.8 125L125 343.8V656.3L343.8 875H656.3L875 656.3V343.8L656.3 125H343.8ZM378.9 209H621.1L791 378.9V621.1L621.1 791H378.9L209 621.1V378.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"octagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b5668eb736cd2dc91bee37890b87025e\",\n      \"css\": \"odnoklassniki\",\n      \"code\": 984005,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M742.2 531.3Q732.4 509.8 710.9 503.9 683.6 498 654.3 521.5 617.2 550.8 554.7 562.5 523.4 568.4 500 568.4L472.7 566.4Q441.4 562.5 412.1 554.7 371.1 541 343.8 519.5T289.1 503.9Q267.6 509.8 257.8 531.3 242.2 560.5 257.8 582 269.5 599.6 312.5 627 365.2 660.2 460.9 669.9L302.7 828.1Q287.1 841.8 287.1 862.3T302.7 896.5L308.6 902.3Q322.3 916 341.8 916T377 902.3L500 779.3 625 902.3Q638.7 916 659.2 916T693.4 902.3L699.2 896.5Q712.9 882.8 712.9 862.3T699.2 828.1L541 669.9Q632.8 662.1 687.5 627 730.5 599.6 742.2 582 757.8 560.5 742.2 531.3ZM500 189.5Q543 189.5 573.2 220.7T603.5 294.9 573.2 368.2 500 398.4 426.8 368.2 396.5 294.9 426.8 220.7 500 189.5ZM500 505.9Q556.6 505.9 605.5 477.5T682.6 400.4 710.9 293.9 682.6 188.5 605.5 112.3 500 84 394.5 112.3 317.4 188.5 289.1 293.9 317.4 400.4 394.5 477.5 500 505.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"odnoklassniki\"\n      ]\n    },\n    {\n      \"uid\": \"d787b9ef1059e84ead9e70159f280e19\",\n      \"css\": \"microsoft-office\",\n      \"code\": 984006,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M830.1 232.4V765.6Q830.1 794.9 814.5 816.4T771.5 845.7L531.3 914.1 521.5 916H511.7Q498 916 486.3 912.1T462.9 902.3L306.6 814.5Q298.8 810.5 293.9 801.8T289.1 783.2Q289.1 769.5 299.8 758.8T324.2 748H527.3V255.9L375 310.5Q357.4 316.4 345.7 333T334 369.1V648.4Q334 666 326.2 680.7T302.7 703.1L230.5 742.2Q220.7 748 210.9 748 193.4 748 181.6 736.3T169.9 707V310.5Q169.9 289.1 180.7 269.5T210.9 238.3L466.8 93.8Q476.6 87.9 486.3 85.9T504.9 84H519.5L531.3 87.9 771.5 154.3Q785.2 158.2 795.9 165T814.5 182.6 826.2 206.1 830.1 232.4ZM775.4 765.6V232.4Q775.4 222.7 769.5 215.8T755.9 207L584 158.2V841.8L755.9 791Q763.7 789.1 769.5 782.2T775.4 765.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-office\"\n      ]\n    },\n    {\n      \"uid\": \"4edfcdb3f6d1fd2340b6954ed69e8391\",\n      \"css\": \"oil\",\n      \"code\": 984007,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 521.5Q927.7 533.2 937.5 546.9 962.9 578.1 978.5 603.5 1000 642.6 1000 666 1000 701.2 975.6 725.6T917 750 858.4 725.6 834 666Q834 642.6 855.5 603.5 871.1 578.1 894.5 546.9ZM250 250H416Q433.6 250 446.3 261.7T459 291 446.3 321.3 416 334H375V416H459Q480.5 416 500 427.7T531.3 459L800.8 300.8 937.5 380.9Q953.1 388.7 957 405.3T952.1 437.5 927.7 457 896.5 453.1L808.6 402.3 656.3 666Q644.5 685.5 625 697.3T584 709H209Q173.8 709 149.4 684.6T125 625V500Q125 464.8 149.4 440.4T209 416H291V334H250Q232.4 334 220.7 321.3T209 291 220.7 261.7 250 250ZM209 500V625H584L669.9 476.6 525.4 560.5 486.3 500H209ZM15.6 382.8L87.9 312.5Q99.6 300.8 116.2 300.8T145.5 312.5 158.2 341.8 146.5 371.1L74.2 443.4Q62.5 455.1 44.9 455.1T15.6 442.4 3.9 413.1 15.6 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"oil\"\n      ]\n    },\n    {\n      \"uid\": \"dbec8f275ed155dd092d54090c09e103\",\n      \"css\": \"coolant-temperature\",\n      \"code\": 984008,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 41Q453.1 41 434.6 59.6T416 103.5V603.5Q396.5 619.1 385.7 640.6T375 687.5Q375 730.5 405.3 760.7T478.5 791 552.7 760.7 584 687.5Q584 636.7 541 603.5V541H709V459H541V375H709V291H541V209H709V125H541V103.5Q541 78.1 523.4 59.6T478.5 41ZM0 625V709Q17.6 709 25.4 712.9T46.9 730.5L54.7 738.3Q107.4 791 167 791T279.3 738.3L291 724.6V630.9Q255.9 642.6 220.7 679.7L214.8 685.5Q201.2 699.2 192.4 704.1T167 709 141.6 704.1 119.1 685.5L113.3 679.7Q58.6 625 0 625ZM666 625V709Q683.6 709 692.4 712.9T714.8 730.5L720.7 738.3Q773.4 791 833 791T945.3 738.3L953.1 730.5Q966.8 716.8 974.6 712.9T1000 709V625Q941.4 625 886.7 679.7L880.9 685.5Q867.2 699.2 858.4 704.1T833 709 807.6 704.1 785.2 685.5L779.3 679.7Q726.6 625 666 625ZM334 834Q273.4 834 220.7 886.7L214.8 894.5Q201.2 908.2 192.4 912.1T167 916 141.6 912.1 119.1 894.5L113.3 886.7Q78.1 851.6 41 839.8V933.6L54.7 945.3Q107.4 1000 167 1000T279.3 945.3L285.2 939.5Q298.8 925.8 307.6 920.9T333 916 358.4 920.9 380.9 939.5L386.7 945.3Q433.6 992.2 478.5 998 486.3 1000 500 1000 558.6 1000 613.3 945.3L619.1 939.5Q632.8 925.8 641.6 920.9T667 916 692.4 920.9 714.8 939.5L720.7 945.3Q773.4 1000 833 1000T945.3 945.3L959 933.6V839.8Q921.9 851.6 886.7 886.7L880.9 894.5Q867.2 908.2 858.4 912.1T833 916 807.6 912.1 785.2 894.5L779.3 886.7Q726.6 834 667 834T554.7 886.7L546.9 894.5Q533.2 908.2 525.4 912.1T500 916Q488.3 916 478.5 913.1T449.2 890.6L445.3 886.7Q392.6 834 334 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coolant-temperature\"\n      ]\n    },\n    {\n      \"uid\": \"1db6550756bb27dfaa86cc5bdafeee00\",\n      \"css\": \"omega\",\n      \"code\": 984009,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M798.8 791H558.6V703.1Q691.4 599.6 691.4 451.2 691.4 359.4 638.7 304.7T501 250 362.3 303.7 308.6 453.1Q308.6 601.6 441.4 703.1V791H201.2V703.1H349.6Q201.2 605.5 201.2 441.4 201.2 310.5 283.2 235.4T500 160.2 716.8 234.4 798.8 441.4Q798.8 605.5 648.4 703.1H798.8V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"omega\"\n      ]\n    },\n    {\n      \"uid\": \"45a14d52bbddf05ca91c3f662d0e598a\",\n      \"css\": \"microsoft-onedrive\",\n      \"code\": 984010,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M757.8 429.7Q791 431.6 820.3 445.3T871.1 482.4 904.3 535.2 916 598.6 903.3 663.1 867.2 716.8 813.5 753.9 748 767.6H291Q248 767.6 210.9 751T145.5 706.1 100.6 639.6 84 558.6Q84 525.4 93.8 493.2T123 434.6 169.9 388.7 228.5 359.4Q244.1 353.5 258.8 352.5T289.1 349.6V349.6Q306.6 322.3 330.1 300.8T382.8 264.6 443.4 241.2 505.9 232.4Q550.8 232.4 591.8 247.1T666 288.1 723.6 350.6 757.8 429.7ZM505.9 285.2Q460.9 285.2 418.9 303.7T347.7 357.4Q363.3 363.3 377.9 369.1T406.3 382.8L570.3 482.4 685.5 435.5 705.1 429.7Q695.3 398.4 675.8 371.1T629.9 325.2 572.3 295.9 505.9 285.2ZM166 652.3L511.7 507.8 378.9 427.7Q357.4 416 335 409.2T289.1 402.3Q257.8 402.3 229.5 415T180.7 449.2 147.5 499 134.8 558.6Q134.8 584 143.6 608.4T166 652.3ZM748 714.8Q767.6 714.8 785.2 709T818.4 691.4L566.4 541 209 691.4Q228.5 703.1 249 709T291 714.8H748ZM851.6 650.4Q865.2 625 865.2 597.7T854.5 548.8 827.1 511.7 787.1 487.3 738.3 478.5Q722.7 478.5 708 482.4T679.7 492.2L652.3 503.9 627 515.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-onedrive\"\n      ]\n    },\n    {\n      \"uid\": \"7d89c5d7002c6465b8ca2f6d17c2e6b4\",\n      \"css\": \"open-in-app\",\n      \"code\": 984011,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416L334 584H459V834H541V584H666ZM791 166H209Q173.8 166 149.4 190.4T125 250V750Q125 785.2 149.4 809.6T209 834H375V750H209V334H791V750H625V834H791Q826.2 834 850.6 809.6T875 750V250Q875 214.8 850.6 190.4T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"open-in-app\"\n      ]\n    },\n    {\n      \"uid\": \"e4c140478a0b4a570055f037a5e1a20f\",\n      \"css\": \"open-in-new\",\n      \"code\": 984012,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125V209H732.4L324.2 617.2 382.8 675.8 791 267.6V416H875V125H584ZM791 791H209V209H500V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V500H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"open-in-new\"\n      ]\n    },\n    {\n      \"uid\": \"6797c254227ff3e41ffa2feb8ee3b4f6\",\n      \"css\": \"openid\",\n      \"code\": 984013,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L459 146.5V830.1Q332 816.4 249 758.8T166 625Q166 554.7 236.3 500T416 425.8V341.8Q310.5 355.5 224.6 396.5T89.8 497.1 41 625Q41 697.3 96.7 760.7T247.1 864.3 459 914.1H462.9L584 853.5V84ZM625 341.8V425.8Q697.3 439.5 752 466.8L687.5 500 959 562.5 937.5 375 853.5 416Q753.9 359.4 625 341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"openid\"\n      ]\n    },\n    {\n      \"uid\": \"969f4287a3384b4cd7533df1116cf811\",\n      \"css\": \"opera\",\n      \"code\": 984014,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M377 710.9Q345.7 673.8 327.1 621.1T306.6 507.8V492.2Q308.6 431.6 327.1 378.9T377 289.1Q431.6 224.6 503.9 224.6 558.6 224.6 603.5 261.7T674.8 362.3 701.2 500 674.8 637.7 603.5 738.3 503.9 775.4Q464.8 775.4 441.4 765.6 414.1 753.9 377 710.9ZM502 125H500Q398.4 125 312.5 175.8T175.8 312.5 125 499 172.9 683.6 302.7 819.3 482.4 875H500Q570.3 875 634.8 849.6T750 779.3Q808.6 726.6 841.8 654.3T875 500 841.8 345.7 750 220.7Q699.2 175.8 635.7 150.4T502 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"opera\"\n      ]\n    },\n    {\n      \"uid\": \"bcd1ce693ab72cb31ace90b36df5100d\",\n      \"css\": \"ornament\",\n      \"code\": 984015,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q552.7 41 588.9 78.1T625 166V209Q642.6 209 654.3 220.7T666 250V294.9Q742.2 337.9 788.1 415T834 583 789.1 750 667 871.1 500 916 333 871.1 210.9 750 166 583 211.9 415 334 294.9V250Q334 232.4 345.7 220.7T375 209V166Q375 115.2 411.1 78.1T500 41ZM500 125Q482.4 125 470.7 136.7T459 166V209H541V166Q541 148.4 529.3 136.7T500 125ZM500 334Q445.3 334 397.5 355.5T314.5 416H685.5Q650.4 377 602.5 355.5T500 334ZM263.7 666H316.4L250 601.6Q252 632.8 263.7 666ZM525.4 666L357.4 500H267.6L433.6 666H525.4ZM736.3 500H683.6L750 564.5Q748 533.2 736.3 500ZM474.6 500L642.6 666H732.4L566.4 500H474.6ZM500 834Q554.7 834 602.5 811.5T685.5 750H314.5Q349.6 789.1 397.5 811.5T500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ornament\"\n      ]\n    },\n    {\n      \"uid\": \"e6dbe3846d6d03f441452db86b1506a6\",\n      \"css\": \"ornament-variant\",\n      \"code\": 984016,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q552.7 41 588.9 78.1T625 166V209Q642.6 209 654.3 220.7T666 250V294.9Q742.2 337.9 788.1 415T834 583 789.1 750 667 871.1 500 916 333 871.1 210.9 750 166 583 211.9 415 334 294.9V250Q334 232.4 345.7 220.7T375 209V166Q375 115.2 411.1 78.1T500 41ZM500 125Q482.4 125 470.7 136.7T459 166V209H541V166Q541 148.4 529.3 136.7T500 125ZM500 334Q445.3 334 397.5 355.5T314.5 416H685.5Q650.4 377 602.5 355.5T500 334ZM500 834Q554.7 834 602.5 811.5T685.5 750H314.5Q349.6 789.1 397.5 811.5T500 834ZM500 500Q464.8 500 440.4 524.4T416 583 440.4 641.6 500 666 559.6 641.6 584 583 559.6 524.4 500 500ZM750 584Q750 543 736.3 500 707 505.9 686.5 529.3T666 584 686.5 637.7 736.3 666Q750 625 750 584ZM250 584Q250 625 263.7 666 293 660.2 313.5 637.7T334 584 313.5 529.3 263.7 500Q250 543 250 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ornament-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f43b518bca1281db0c5f2201af2d26cf\",\n      \"css\": \"inbox-arrow-up\",\n      \"code\": 984017,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 584H416V459H334L500 291 666 459H584V584ZM666 459ZM209 625V209H791V625H625Q625 677.7 588.9 713.9T500 750 411.1 713.9 375 625H209ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-arrow-up\"\n      ]\n    },\n    {\n      \"uid\": \"e5e712911347bfdd70c1f9f762c3c800\",\n      \"css\": \"owl\",\n      \"code\": 984018,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 666Q535.2 720.7 591.8 750L500 841.8 408.2 750Q464.8 720.7 500 666ZM709 466.8Q673.8 466.8 649.4 491.2T625 549.8 649.4 608.4 708 632.8 766.6 608.4 791 549.8 766.6 491.2 709 466.8ZM291 466.8Q257.8 466.8 233.4 491.2T209 549.8 233.4 608.4 292 632.8 350.6 608.4 375 549.8 350.6 491.2 291 466.8ZM709 363.3Q777.3 363.3 826.2 412.1T875 529.3 826.2 646.5 708 695.3 589.8 646.5 541 529.3 589.8 412.1 709 363.3ZM291 363.3Q361.3 363.3 410.2 412.1T459 529.3 410.2 646.5 292 695.3 173.8 646.5 125 529.3 173.8 412.1 291 363.3ZM93.8 41Q127 111.3 128.9 181.6 130.9 238.3 111.3 302.7 99.6 341.8 68.4 418L64.5 425.8Q41 476.6 41 529.3 41 597.7 75.2 654.3T167 745.1 291 779.3L318.4 777.3 500 959 681.6 777.3 709 779.3Q775.4 779.3 833 745.1T924.8 654.3 959 529.3Q959 476.6 935.5 425.8L931.6 418Q900.4 341.8 888.7 302.7 869.1 238.3 871.1 181.6 873 111.3 906.3 41 820.3 109.4 714.8 150.4 601.6 195.3 500 195.3T285.2 150.4Q179.7 109.4 93.8 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"owl\"\n      ]\n    },\n    {\n      \"uid\": \"47b6752f4a09be8bd2217b3a1eb4551c\",\n      \"css\": \"package\",\n      \"code\": 984019,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M212.9 209H787.1L748 166H248ZM855.5 218.8Q875 240.2 875 271.5V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V271.5Q125 240.2 144.5 218.8L201.2 148.4Q220.7 125 250 125H750Q779.3 125 798.8 148.4ZM250 750H500V625H250V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"package\"\n      ]\n    },\n    {\n      \"uid\": \"024d7af89a7ab3f0206b57a55053cb43\",\n      \"css\": \"package-down\",\n      \"code\": 984020,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M212.9 209L248 166H748L787.1 209H212.9ZM500 728.5L271.5 500H416V416H584V500H728.5ZM855.5 218.8L798.8 148.4Q779.3 125 750 125H250Q220.7 125 201.2 148.4L144.5 218.8Q125 240.2 125 271.5V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V271.5Q875 240.2 855.5 218.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"package-down\"\n      ]\n    },\n    {\n      \"uid\": \"c5af9e3fd4a8b48a9dd45190afe911d9\",\n      \"css\": \"package-up\",\n      \"code\": 984021,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M855.5 218.8Q875 240.2 875 271.5V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V271.5Q125 240.2 144.5 218.8L201.2 148.4Q220.7 125 250 125H750Q779.3 125 798.8 148.4ZM212.9 209H787.1L748 166H248ZM500 396.5L271.5 625H416V709H584V625H728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"package-up\"\n      ]\n    },\n    {\n      \"uid\": \"fbaab1ec67feb906279e9bdb0b7db1c1\",\n      \"css\": \"package-variant\",\n      \"code\": 984022,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 457Q68.4 447.3 63.5 430.7T68.4 400.4L130.9 291Q136.7 279.3 150.4 273.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q865.2 283.2 871.1 294.9L931.6 400.4Q939.5 414.1 935.5 430.7T916 457L875 480.5V687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V457Q103.5 468.8 84 457ZM500 173.8V173.8 451.2L748 312.5ZM209 662.1L459 804.7V523.4L209 382.8V662.1ZM791 662.1V529.3L584 650.4Q562.5 660.2 541 650.4V804.7ZM576.2 556.6L837.9 406.3 814.5 363.3 552.7 513.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"package-variant\"\n      ]\n    },\n    {\n      \"uid\": \"0b8ba7a6bf5f3115d239c51d44b366e8\",\n      \"css\": \"package-variant-closed\",\n      \"code\": 984023,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L421.9 216.8 666 359.4 748 312.5ZM252 312.5L500 451.2 582 406.3 335.9 263.7ZM209 662.1L459 804.7V523.4L209 382.8V662.1ZM791 662.1V382.8L541 523.4V804.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"package-variant-closed\"\n      ]\n    },\n    {\n      \"uid\": \"7978c6d7bb99ea7171baba9d0693a4ae\",\n      \"css\": \"palette\",\n      \"code\": 984024,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 500Q703.1 500 684.6 481.4T666 437.5 684.6 393.6 729.5 375 773.4 393.6 791 437.5 773.4 481.4 728.5 500ZM603.5 334Q578.1 334 559.6 315.4T541 270.5 559.6 226.6 604.5 209 648.4 226.6 666 270.5 648.4 315.4 603.5 334ZM396.5 334Q369.1 334 351.6 315.4T334 270.5 351.6 226.6 395.5 209 440.4 226.6 459 270.5 440.4 315.4 396.5 334ZM271.5 500Q244.1 500 226.6 481.4T209 437.5 226.6 393.6 270.5 375 315.4 393.6 334 437.5 315.4 481.4 271.5 500ZM500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500 175.8 687.5 312.5 824.2 500 875Q525.4 875 543.9 856.4T562.5 813.5 546.9 770.5 531.3 727.5 548.8 684.6 593.8 666H666Q722.7 666 770.5 638.7T846.7 563.5 875 459Q875 367.2 824.2 291T687.5 169.9 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"palette\"\n      ]\n    },\n    {\n      \"uid\": \"468995bee3ce72978c70abc590f498bf\",\n      \"css\": \"palette-advanced\",\n      \"code\": 984025,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H416V834H916V916ZM84 916V834H375V916H84ZM750 750V416H916V750H750ZM750 125H916V375H750V125ZM84 750V125H666V750H84ZM375 607.4Q427.7 607.4 463.9 570.3T500 481.4 437.5 337.9Q406.3 293 375 257.8V257.8L341.8 296.9Q304.7 345.7 283.2 386.7 250 445.3 250 482.4 250 533.2 286.1 570.3T375 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"palette-advanced\"\n      ]\n    },\n    {\n      \"uid\": \"1f8a0e5095c0da7d1f24ef684d6e95e8\",\n      \"css\": \"panda\",\n      \"code\": 984026,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q605.5 125 697.3 181.6 718.8 154.3 748 139.6T812.5 125Q873 125 916 168T959 271.5Q959 316.4 932.6 354.5T863.3 408.2Q875 455.1 875 500 875 601.6 824.2 687.5T687.5 824.2 500 875 312.5 824.2 175.8 687.5 125 500Q125 455.1 136.7 408.2 93.8 392.6 67.4 354.5T41 271.5Q41 210.9 84 168T187.5 125Q222.7 125 252 139.6T302.7 181.6Q394.5 125 500 125ZM500 209Q419.9 209 353.5 248T248 353.5 209 500 248 646.5 353.5 752 500 791 646.5 752 752 646.5 791 500 752 353.5 646.5 248 500 209ZM673.8 429.7Q685.5 470.7 672.9 505.9T630.9 548.8 573.2 532.2 534.2 466.8 536.1 390.6 578.1 347.7 635.7 363.3 673.8 429.7ZM326.2 429.7Q335.9 386.7 364.3 363.3T421.9 347.7 463.9 390.6 465.8 466.8 426.8 532.2 369.1 548.8 327.1 505.9 326.2 429.7ZM500 584Q537.1 584 562.5 603.5L521.5 646.5Q521.5 658.2 530.3 668T551.8 677.7 574.2 668 584 646.5Q584 636.7 589.8 630.9T604.5 625 619.1 630.9 625 646.5Q625 675.8 603.5 697.3T551.8 718.8 500 697.3Q478.5 718.8 448.2 718.8T396.5 697.3 375 646.5Q375 636.7 380.9 630.9T395.5 625 410.2 630.9 416 646.5Q416 658.2 425.8 668T448.2 677.7 469.7 668 478.5 646.5L437.5 603.5Q462.9 584 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"panda\"\n      ]\n    },\n    {\n      \"uid\": \"48131fa6d0163122ca58a196f2f20d55\",\n      \"css\": \"pandora\",\n      \"code\": 984027,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 834Q416 851.6 404.3 863.3T375 875H166V125H570.3Q648.4 125 712.9 163.1T814.5 265.6 851.6 406.3 814.5 546.9 712.9 649.4 570.3 687.5H416V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pandora\"\n      ]\n    },\n    {\n      \"uid\": \"ccf714d8600156027388f30cd23964ab\",\n      \"css\": \"panorama\",\n      \"code\": 984028,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 521.5L459 646.5 603.5 459 791 709H209ZM959 750V250Q959 214.8 934.6 190.4T875 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H875Q910.2 834 934.6 809.6T959 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"panorama\"\n      ]\n    },\n    {\n      \"uid\": \"f6032cc4b7be27b94fdcfcc68faf9b0a\",\n      \"css\": \"panorama-fisheye\",\n      \"code\": 984029,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"panorama-fisheye\"\n      ]\n    },\n    {\n      \"uid\": \"2d7a76f6b96de7e4bb5a47343c94782f\",\n      \"css\": \"panorama-horizontal\",\n      \"code\": 984030,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 166Q884.8 166 880.9 169.9 697.3 238.3 501 238.3T119.1 169.9Q115.2 166 105.5 166T89.8 172.9 84 193.4V806.6Q84 820.3 89.8 827.1T105.5 834 119.1 830.1Q302.7 761.7 499 761.7T880.9 830.1Q884.8 834 894.5 834T910.2 826.2 916 806.6V193.4Q916 181.6 910.2 173.8T892.6 166ZM834 273.4V726.6Q669.9 679.7 500 679.7T166 726.6V273.4Q330.1 320.3 500 321.3T834 273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"panorama-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"19e0e85716d8afac1b0918db4fe4b24c\",\n      \"css\": \"panorama-vertical\",\n      \"code\": 984031,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M273.4 834Q320.3 669.9 320.3 500T273.4 166H726.6Q679.7 330.1 679.7 500T726.6 834H273.4ZM830.1 880.9Q761.7 697.3 761.7 501T830.1 119.1Q834 115.2 834 105.5T827.1 89.8 806.6 84H193.4Q179.7 84 172.9 89.8T166 105.5 169.9 119.1Q238.3 304.7 238.3 500T169.9 880.9Q166 884.8 166 894.5T173.8 910.2 193.4 916H806.6Q820.3 916 827.1 910.2T834 894.5 830.1 880.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"panorama-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"4131a33a1690961790512173dc4f0622\",\n      \"css\": \"panorama-wide-angle\",\n      \"code\": 984032,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q339.8 166 168 197.3L130.9 203.1 119.1 240.2Q84 371.1 84 500T119.1 759.8L130.9 796.9 168 802.7Q337.9 834 499 834T832 802.7L869.1 796.9 880.9 759.8Q916 628.9 916 500T880.9 240.2L869.1 203.1 832 197.3Q662.1 166 500 166ZM500 250Q646.5 250 804.7 277.3 834 388.7 834 500T804.7 722.7Q646.5 750 500 750T195.3 722.7Q166 611.3 166 500T195.3 277.3Q353.5 250 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"panorama-wide-angle\"\n      ]\n    },\n    {\n      \"uid\": \"7c38736d049fd6d2c5e1574e213616f0\",\n      \"css\": \"paper-cut-vertical\",\n      \"code\": 984033,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M476.6 134.8L500 166 523.4 134.8V134.8Q541 111.3 567.4 97.7T625 84Q677.7 84 713.9 120.1T750 209Q750 230.5 742.2 250H834Q867.2 250 891.6 274.4T916 334V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V334Q84 298.8 108.4 274.4T166 250H257.8Q250 230.5 250 209 250 156.3 286.1 120.1T375 84Q406.3 84 432.6 97.7T476.6 134.8V134.8ZM166 334V834H459Q459 816.4 470.7 803.7T500 791 529.3 803.7 541 834H834V334H621.1L709 455.1 642.6 503.9 517.6 334H482.4L357.4 503.9 291 455.1 378.9 334H166ZM375 166Q357.4 166 345.7 178.7T334 209 345.7 238.3 375 250 404.3 238.3 416 209 404.3 178.7 375 166ZM625 166Q607.4 166 595.7 178.7T584 209 595.7 238.3 625 250 654.3 238.3 666 209 654.3 178.7 625 166ZM500 666Q517.6 666 529.3 678.7T541 709 529.3 738.3 500 750 470.7 738.3 459 709 470.7 678.7 500 666ZM500 541Q517.6 541 529.3 553.7T541 584 529.3 613.3 500 625 470.7 613.3 459 584 470.7 553.7 500 541ZM500 416Q517.6 416 529.3 428.7T541 459 529.3 488.3 500 500 470.7 488.3 459 459 470.7 428.7 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"paper-cut-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"8ee2319131d4d907ff895d64c4e5e347\",\n      \"css\": \"paperclip\",\n      \"code\": 984034,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 250V728.5Q687.5 798.8 638.7 847.7T520.5 896.5 402.3 847.7 353.5 728.5V209Q353.5 166 384.8 134.8T459 103.5 532.2 134.8 562.5 209V646.5Q562.5 664.1 550.8 675.8T521.5 687.5 491.2 675.8 478.5 646.5V250H416V646.5Q416 689.5 447.3 719.7T521.5 750 594.7 719.7 625 646.5V209Q625 138.7 576.2 89.8T458 41 339.8 89.8 291 209V728.5Q291 775.4 308.6 817.4T358.4 891.6 432.6 941.4 521.5 959Q584 959 635.7 927.7T718.8 843.8 750 728.5V250H687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"paperclip\"\n      ]\n    },\n    {\n      \"uid\": \"889ef2475e81af83fdc52f105e8f0c1f\",\n      \"css\": \"parking\",\n      \"code\": 984035,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M550.8 459H416V291H550.8Q584 291 608.4 315.4T632.8 375 608.4 434.6 550.8 459ZM541 125H250V875H416V625H541Q609.4 625 667 591.8T757.8 501 791 375 757.8 249 667 158.2 541 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"parking\"\n      ]\n    },\n    {\n      \"uid\": \"c275a7cce1fe98d88a58e20102455a8c\",\n      \"css\": \"pause\",\n      \"code\": 984036,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 791H750V209H584V791ZM250 791H416V209H250V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pause\"\n      ]\n    },\n    {\n      \"uid\": \"6149635609092b70d1ca1306b6a2db67\",\n      \"css\": \"pause-circle\",\n      \"code\": 984037,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 666H541V334H625V666ZM459 666H375V334H459V666ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pause-circle\"\n      ]\n    },\n    {\n      \"uid\": \"541e399fb6f28971190687ccae34b35f\",\n      \"css\": \"pause-octagon\",\n      \"code\": 984039,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M656.3 125L875 343.8V656.3L656.3 875H343.8L125 656.3V343.8L343.8 125H656.3ZM625 666V334H541V666H625ZM459 666V334H375V666H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pause-octagon\"\n      ]\n    },\n    {\n      \"uid\": \"349f4aefacb2d0b30f775617d007c832\",\n      \"css\": \"pause-octagon-outline\",\n      \"code\": 984040,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 666H541V334H625V666ZM459 666H375V334H459V666ZM656.3 125L875 343.8V656.3L656.3 875H343.8L125 656.3V343.8L343.8 125H656.3ZM621.1 209H378.9L209 378.9V621.1L378.9 791H621.1L791 621.1V378.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pause-octagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d607bb32196cd2649552548dde1b5fd0\",\n      \"css\": \"paw\",\n      \"code\": 984041,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M347.7 125Q384.8 119.1 418.9 154.3T463.9 245.1 457 343.8 403.3 392.6 332 363.3 286.1 272.5 293 173.8 347.7 125ZM646.5 125Q683.6 130.9 701.2 173.8T708 272.5 663.1 363.3 591.8 392.6 536.1 343.8 529.3 245.1 575.2 154.3 646.5 125ZM125 316.4Q160.2 300.8 203.1 325.2T270.5 398.4 287.1 493.2 244.1 553.7 167 544.9 100.6 471.7 83 377 125 316.4ZM875 316.4Q910.2 332 917 377T899.4 471.7 833 544.9 755.9 553.7 712.9 493.2 729.5 398.4 796.9 325.2 875 316.4ZM804.7 765.6Q806.6 794.9 788.1 823.2T740.2 865.2 671.9 871.1Q648.4 867.2 597.7 851.6 529.3 828.1 495.1 828.1T392.6 851.6Q343.8 869.1 318.4 873 279.3 878.9 249 864.3T200.2 814.5 185.5 744.1Q187.5 716.8 212.9 689.5 228.5 671.9 265.6 644.5 296.9 617.2 310.5 603.5 330.1 585.9 363.3 539.1 400.4 488.3 421.9 468.8 457 435.5 496.1 435.5T572.3 468.8Q593.8 490.2 632.8 544.9 664.1 587.9 679.7 603.5 691.4 619.1 722.7 646.5 763.7 681.6 777.3 701.2 804.7 732.4 804.7 765.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"paw\"\n      ]\n    },\n    {\n      \"uid\": \"29845e46d5b2979971ce5e2dc2a53e2c\",\n      \"css\": \"pen\",\n      \"code\": 984042,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 293Q849.6 306.6 843.8 314.5 834 326.2 834 335T841.8 355.5L861.3 375 865.2 378.9Q882.8 398.4 888.7 406.3 900.4 421.9 899.4 435.5T884.8 466.8Q877 476.6 855.5 498L683.6 669.9 625 611.3 802.7 433.6 761.7 394.5 703.1 453.1 546.9 296.9 707 136.7Q718.8 125 736.3 125T765.6 136.7L863.3 234.4Q875 246.1 875 263.7T863.3 293ZM125 718.8L523.4 320.3 679.7 476.6 281.3 875H125V718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pen\"\n      ]\n    },\n    {\n      \"uid\": \"453c8d7f435f81cc5a4738f02dfc525e\",\n      \"css\": \"pencil\",\n      \"code\": 984043,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 293Q875 281.3 875 263.7T863.3 234.4L765.6 136.7Q753.9 125 736.3 125T707 136.7L630.9 212.9 787.1 369.1ZM125 718.8V875H281.3L742.2 414.1 585.9 257.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil\"\n      ]\n    },\n    {\n      \"uid\": \"54e35d6428cad64766b6c6a7cd8c54b3\",\n      \"css\": \"pencil-box\",\n      \"code\": 984044,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM695.3 388.7Q703.1 382.8 703.1 373T695.3 357.4L642.6 304.7Q636.7 296.9 627 296.9T611.3 304.7L568.4 345.7 654.3 431.6ZM291 623V709H377L630.9 455.1 544.9 369.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-box\"\n      ]\n    },\n    {\n      \"uid\": \"0ece41d04391af92cc50fcb796930856\",\n      \"css\": \"pencil-box-outline\",\n      \"code\": 984045,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V209H209V791H791ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM695.3 388.7L654.3 431.6 568.4 345.7 611.3 304.7Q617.2 296.9 627 296.9T642.6 304.7L695.3 357.4Q703.1 363.3 703.1 373T695.3 388.7ZM291 623L544.9 369.1 630.9 455.1 377 709H291V623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"04b1cf3da509122b33e0e6d8364c0cbe\",\n      \"css\": \"pencil-lock\",\n      \"code\": 984046,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 84Q185.5 84 155.3 114.3T125 187.5V209Q107.4 209 95.7 220.7T84 250V416Q84 433.6 95.7 446.3T125 459H334Q351.6 459 363.3 446.3T375 416V250Q375 232.4 363.3 220.7T334 209V187.5Q334 144.5 302.7 114.3T228.5 84ZM228.5 125Q255.9 125 273.4 143.6T291 187.5V209H166V187.5Q166 162.1 184.6 143.6T228.5 125ZM818.4 125Q802.7 125 791 136.7L712.9 212.9 869.1 369.1 947.3 293Q959 281.3 959 263.7T947.3 234.4L849.6 136.7Q835.9 125 818.4 125ZM669.9 257.8L209 718.8V875H365.2L826.2 414.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-lock\"\n      ]\n    },\n    {\n      \"uid\": \"7ed36bb7a1088e4079702221cfd24deb\",\n      \"css\": \"pencil-off\",\n      \"code\": 984047,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M777.3 84Q759.8 84 748 95.7L671.9 171.9 828.1 328.1 904.3 252Q918 238.3 918 221.7T904.3 193.4L806.6 95.7Q794.9 84 777.3 84ZM136.7 166L84 220.7 353.5 490.2 166 677.7V834H322.3L509.8 646.5 779.3 916 834 863.3 562.5 593.8ZM627 216.8L459 384.8 615.2 541 783.2 373Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-off\"\n      ]\n    },\n    {\n      \"uid\": \"937b86d29b685d302be3fc5868bcb53c\",\n      \"css\": \"percent\",\n      \"code\": 984048,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 146.5L146.5 771.5 228.5 853.5 853.5 228.5ZM291 166Q240.2 166 203.1 203.1T166 292 203.1 379.9 292 416 379.9 379.9 416 292 379.9 203.1 291 166ZM709 584Q656.3 584 620.1 620.1T584 708 620.1 796.9 708 834 796.9 796.9 834 708 796.9 620.1 709 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"percent\"\n      ]\n    },\n    {\n      \"uid\": \"5eaf9664fa84e399e04ef0ffe69ed6b5\",\n      \"css\": \"pharmacy\",\n      \"code\": 984049,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 584H541V709H459V584H334V500H459V375H541V500H666V584ZM875 209H763.7L812.5 76.2 714.8 41 654.3 209H125V291L209 541 125 791V875H875V791L791 541 875 291V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pharmacy\"\n      ]\n    },\n    {\n      \"uid\": \"7d3f9bac756ff88aeac4ebb2cbfeeaf0\",\n      \"css\": \"phone\",\n      \"code\": 984050,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M275.4 449.2Q320.3 537.1 391.6 608.4T550.8 724.6L642.6 632.8Q660.2 615.2 685.5 623 755.9 646.5 834 646.5 851.6 646.5 863.3 658.2T875 687.5V834Q875 851.6 863.3 863.3T834 875Q693.4 875 562.5 821.3T332 668 178.7 437.5 125 166Q125 148.4 136.7 136.7T166 125H312.5Q330.1 125 341.8 136.7T353.5 166Q353.5 244.1 377 314.5 384.8 339.8 367.2 357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone\"\n      ]\n    },\n    {\n      \"uid\": \"7b3c2d54203e0c3d0ebb8c2eb5cc4982\",\n      \"css\": \"phone-bluetooth\",\n      \"code\": 984051,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 608.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5ZM750 300.8L789.1 339.8 750 378.9V300.8ZM750 121.1L789.1 160.2 750 199.2V121.1ZM613.3 396.5L709 300.8V459H728.5L847.7 339.8 757.8 250 847.7 160.2 728.5 41H709V199.2L613.3 103.5 584 132.8 699.2 250 584 367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"7f2c83bd723cb7425ff986c14fa6dde5\",\n      \"css\": \"phone-forward\",\n      \"code\": 984052,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 608.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5ZM750 459L959 250 750 41V166H584V334H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-forward\"\n      ]\n    },\n    {\n      \"uid\": \"fb50ff79c693c61ce9f1b2da865da818\",\n      \"css\": \"phone-hangup\",\n      \"code\": 984053,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q400.4 375 308.6 404.3V533.2Q308.6 560.5 285.2 572.3 226.6 601.6 173.8 648.4 162.1 660.2 144.5 660.2T115.2 648.4L11.7 544.9Q0 533.2 0 515.6T11.7 486.3Q109.4 394.5 232.4 343.8 361.3 291 500 291T767.6 343.8Q890.6 394.5 988.3 486.3 1000 498 1000 515.6T988.3 544.9L884.8 648.4Q873 660.2 855.5 660.2T826.2 648.4Q775.4 601.6 714.8 572.3 691.4 560.5 691.4 533.2V404.3Q599.6 375 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-hangup\"\n      ]\n    },\n    {\n      \"uid\": \"05288c096aafa56c3f2d368ab85092f4\",\n      \"css\": \"phone-in-talk\",\n      \"code\": 984054,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500H709Q709 443.4 680.7 395.5T604.5 319.3 500 291V375Q552.7 375 588.9 411.1T625 500ZM791 500H875Q875 398.4 824.2 311.5T687.5 174.8 500 125V209Q580.1 209 646.5 248T752 353.5 791 500ZM834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 608.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-in-talk\"\n      ]\n    },\n    {\n      \"uid\": \"30dde03784305c54c437a77c120470d9\",\n      \"css\": \"phone-incoming\",\n      \"code\": 984055,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q460.9 677.7 390.6 607.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166ZM791 459V396.5H646.5L875 166 834 125 603.5 353.5V209H541V459H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-incoming\"\n      ]\n    },\n    {\n      \"uid\": \"8d0da56cb3f2c282a03d35e8c74fdc5e\",\n      \"css\": \"phone-lock\",\n      \"code\": 984056,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M800.8 166H658.2V146.5Q658.2 117.2 678.7 95.7T728.5 74.2 779.3 95.7 800.8 146.5V166ZM834 166V146.5Q834 103.5 802.7 72.3T728.5 41 655.3 72.3 625 146.5V166Q607.4 166 595.7 178.7T584 209V375Q584 392.6 595.7 404.3T625 416H834Q851.6 416 863.3 404.3T875 375V209Q875 191.4 863.3 178.7T834 166ZM834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 608.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-lock\"\n      ]\n    },\n    {\n      \"uid\": \"3d090280c41ca1b0aa488ab71a55ed43\",\n      \"css\": \"phone-log\",\n      \"code\": 984057,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q851.6 646.5 863.3 658.2T875 687.5V834Q875 851.6 863.3 863.3T834 875Q693.4 875 562.5 821.3T332 668 178.7 437.5 125 166Q125 148.4 136.7 136.7T166 125H312.5Q330.1 125 341.8 136.7T353.5 166Q353.5 244.1 377 314.5 384.8 339.8 367.2 357.4L275.4 449.2Q320.3 537.1 391.6 608.4T550.8 724.6L642.6 632.8Q660.2 615.2 685.5 623 755.9 646.5 834 646.5ZM500 125H584V209H500V125ZM625 125H875V209H625V125ZM500 250H584V334H500V250ZM625 250H875V334H625V250ZM500 375H584V459H500V375ZM625 375H875V459H625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-log\"\n      ]\n    },\n    {\n      \"uid\": \"e931c538e6af3053c09fe9bb9b8410e8\",\n      \"css\": \"phone-missed\",\n      \"code\": 984058,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M988.3 695.3Q890.6 601.6 767.6 552.7 638.7 500 500 500T232.4 552.7Q109.4 601.6 11.7 695.3 0 707 0 724.6T11.7 753.9L115.2 857.4Q127 869.1 144.5 869.1T173.8 857.4Q224.6 810.5 285.2 779.3 308.6 769.5 308.6 742.2V613.3Q400.4 584 500 584T691.4 613.3V742.2Q691.4 769.5 714.8 779.3 775.4 810.5 826.2 857.4 837.9 869.1 855.5 869.1T884.8 857.4L988.3 753.9Q1000 742.2 1000 724.6T988.3 695.3ZM271.5 228.5L500 459 791 166 750 125 500 375 312.5 187.5H459V125H209V375H271.5V228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-missed\"\n      ]\n    },\n    {\n      \"uid\": \"7320ee28cae54ed58ae21c99739c7921\",\n      \"css\": \"phone-outgoing\",\n      \"code\": 984059,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q460.9 677.7 390.6 607.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166ZM625 125V187.5H771.5L541 416 584 459 812.5 228.5V375H875V125H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-outgoing\"\n      ]\n    },\n    {\n      \"uid\": \"e4fb6c98a123fc4b76ab32b04a136cf5\",\n      \"css\": \"phone-paused\",\n      \"code\": 984060,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416H875V125H791V416ZM834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 608.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5ZM709 125H625V416H709V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-paused\"\n      ]\n    },\n    {\n      \"uid\": \"9cb3eded6578c6970dbb31c2811cd847\",\n      \"css\": \"phone-settings\",\n      \"code\": 984061,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H875V375H791V459ZM834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 608.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5ZM709 375H625V459H709V375ZM541 375H459V459H541V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-settings\"\n      ]\n    },\n    {\n      \"uid\": \"4e9b748e8d761b0c911e03298087019a\",\n      \"css\": \"phone-voip\",\n      \"code\": 984062,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H541ZM988.3 320.3Q1000 332 1000 349.6T988.3 378.9L884.8 482.4Q873 494.1 855.5 494.1T826.2 482.4Q771.5 433.6 714.8 404.3 705.1 400.4 698.2 389.6T691.4 367.2V238.3Q599.6 209 500 209T308.6 238.3V367.2Q308.6 394.5 285.2 406.3 222.7 437.5 173.8 482.4 162.1 494.1 144.5 494.1T115.2 482.4L11.7 378.9Q0 367.2 0 349.6T11.7 320.3Q109.4 226.6 232.4 177.7 361.3 125 500 125T767.6 177.7Q890.6 226.6 988.3 320.3ZM459 416V625H416V416H459ZM500 416H625V541H541V625H500V416ZM584 500V459H541V500H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-voip\"\n      ]\n    },\n    {\n      \"uid\": \"149e3c406bab30280d90c42d2371799b\",\n      \"css\": \"pi\",\n      \"code\": 984063,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V291H250V791H334V291H584V666Q584 718.8 620.1 754.9T708 791 796.9 754.9 834 666H750Q750 683.6 738.3 696.3T709 709 678.7 696.3 666 666V291H750V209H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pi\"\n      ]\n    },\n    {\n      \"uid\": \"9664b415425e67663301e7aa4bbcc291\",\n      \"css\": \"pi-box\",\n      \"code\": 984064,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM250 291H709V375H625V584Q625 601.6 636.7 613.3T666 625 696.3 613.3 709 584H791Q791 634.8 754.9 671.9T667 709 578.1 671.9 541 584V375H416V709H334V375H250V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pi-box\"\n      ]\n    },\n    {\n      \"uid\": \"82c9063f02ccfed2b5dc0e4d86302adf\",\n      \"css\": \"pig\",\n      \"code\": 984065,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 375Q369.1 375 351.6 393.6T334 437.5 351.6 481.4 395.5 500 440.4 481.4 459 437.5 440.4 393.6 396.5 375ZM603.5 375Q578.1 375 559.6 393.6T541 437.5 559.6 481.4 604.5 500 648.4 481.4 666 437.5 648.4 393.6 603.5 375ZM500 166L529.3 168Q556.6 142.6 591.8 124T654.3 97.7Q695.3 87.9 747.1 89.8T835.9 109.4Q878.9 128.9 888.7 160.2 896.5 195.3 870.1 236.3T793 306.6Q875 410.2 875 541 875 642.6 824.2 729.5T687.5 866.2 500 916 312.5 866.2 175.8 729.5 125 541Q125 410.2 207 306.6 156.3 277.3 129.9 236.3T111.3 160.2Q121.1 128.9 164.1 109.4 201.2 91.8 252.9 89.8T345.7 97.7Q373 105.5 408.2 124T470.7 168ZM416 666Q433.6 666 446.3 678.7T459 709 446.3 738.3 416 750 386.7 738.3 375 709 386.7 678.7 416 666ZM584 666Q601.6 666 613.3 678.7T625 709 613.3 738.3 584 750 553.7 738.3 541 709 553.7 678.7 584 666ZM500 541Q445.3 541 394.5 570.3 349.6 593.8 320.3 633.8T291 709Q291 759.8 352.5 796.9T500 834 647.5 796.9 709 709Q709 673.8 679.7 633.8T605.5 570.3Q554.7 541 500 541ZM324.2 177.7Q312.5 175.8 250 177.7L191.4 181.6 240.2 218.8Q291 255.9 300.8 259.8 322.3 263.7 361.3 261.7 408.2 259.8 413.1 245.1T377 205.1Q343.8 183.6 324.2 177.7ZM675.8 177.7Q656.3 183.6 623 205.1 582 230.5 586.9 245.1T638.7 261.7Q677.7 263.7 699.2 259.8 709 255.9 759.8 218.8L808.6 181.6 750 177.7Q687.5 175.8 675.8 177.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pig\"\n      ]\n    },\n    {\n      \"uid\": \"4cd4efe7e6563dae72c7f9c036e12698\",\n      \"css\": \"pill\",\n      \"code\": 984066,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M175.8 470.7L470.7 175.8Q519.5 127 583 110.4T710.9 110.4 824.2 175.8 889.6 288.1 889.6 416 824.2 529.3L529.3 824.2Q480.5 873 416 889.6T288.1 889.6 175.8 824.2 110.4 710.9 110.4 583 175.8 470.7ZM234.4 529.3Q203.1 562.5 191.4 605.5T191.4 689.5L441.4 441.4 617.2 617.2 765.6 470.7Q814.5 421.9 814.5 352.5T765.6 234.4 647.5 185.5 529.3 234.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pill\"\n      ]\n    },\n    {\n      \"uid\": \"917449cf63c7585cdb38514ee5ed4986\",\n      \"css\": \"pin\",\n      \"code\": 984067,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 500V166H709V84H291V166H334V500L250 584V666H466.8V916H533.2V666H750V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pin\"\n      ]\n    },\n    {\n      \"uid\": \"3fbea09d3f13f243aaacbe674dd26e4a\",\n      \"css\": \"pin-off\",\n      \"code\": 984068,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 533.2 669.9V916H466.8V666H250V584L334 500V468.8ZM666 500L750 584V666H742.2L334 257.8V166H291V84H709V166H666V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pin-off\"\n      ]\n    },\n    {\n      \"uid\": \"27f9b6e5a0ddc82e3d677c3d91d172b1\",\n      \"css\": \"pine-tree\",\n      \"code\": 984069,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 875V750H125L334 541H209L416 334H291L500 125 709 334H584L791 541H666L875 750H584V875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pine-tree\"\n      ]\n    },\n    {\n      \"uid\": \"d5e3eb6ccc99cecf2ed51b275c382677\",\n      \"css\": \"pine-tree-box\",\n      \"code\": 984070,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM459 791H541V709H750L584 541H709L541 375H666L500 209 334 375H459L291 541H416L250 709H459V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pine-tree-box\"\n      ]\n    },\n    {\n      \"uid\": \"98830ea212b4e3fd81a7072d4e6206c4\",\n      \"css\": \"pinterest\",\n      \"code\": 984071,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M377 898.4Q439.5 916 500 916 582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84 340.8 115.2 205.1 205.1 115.2 340.8 84 500Q84 630.9 158.2 737.3T351.6 888.7Q341.8 810.5 351.6 765.6L400.4 560.5 392.6 543Q386.7 521.5 386.7 498 386.7 455.1 410.2 425.8T464.8 396.5Q490.2 396.5 503.9 413.1T517.6 455.1 498 539.1Q484.4 574.2 480.5 593.8 474.6 625 494.1 647.5T544.9 669.9Q599.6 669.9 637.7 616.2T675.8 478.5Q675.8 404.3 627 357.4T502 310.5Q416 310.5 363.3 365.2 314.5 418 314.5 490.2 314.5 517.6 322.3 543T345.7 585.9Q349.6 589.8 347.7 597.7L335.9 644.5Q335.9 648.4 333 650.4T324.2 648.4Q285.2 630.9 261.7 582 240.2 537.1 240.2 488.3 240.2 419.9 271.5 362.3T363.3 273.4Q427.7 236.3 513.7 236.3 584 236.3 642.6 267.6T734.4 353.5 767.6 477.5 740.2 606.4 664.1 700.2 552.7 734.4Q523.4 734.4 496.1 720.7T459 687.5L429.7 787.1Q418 832 377 898.4V898.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pinterest\"\n      ]\n    },\n    {\n      \"uid\": \"9148b65a2e291e39ff10931842bb1990\",\n      \"css\": \"contactless-payment-circle-outline\",\n      \"code\": 984072,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM351.6 601.6L294.9 576.2Q312.5 541 312.5 501T294.9 423.8L351.6 398.4Q375 449.2 375 502 375 548.8 351.6 601.6ZM480.5 664.1L425.8 636.7Q459 568.4 459 496.1T425.8 363.3L480.5 332Q521.5 402.3 521.5 495.1T480.5 664.1ZM611.3 722.7L554.7 693.4Q603.5 597.7 603.5 500T554.7 304.7L611.3 277.3Q666 388.7 666 500T611.3 722.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contactless-payment-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0663c3aa593e4586a6fdfd04645ea466\",\n      \"css\": \"pizza\",\n      \"code\": 984073,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625Q464.8 625 440.4 600.6T416 542 440.4 483.4 500 459 559.6 483.4 584 542 559.6 600.6 500 625ZM291 291Q291 257.8 315.4 233.4T375 209 434.6 233.4 459 292 434.6 350.6 375 375 315.4 350.6 291 291ZM500 84Q390.6 84 293 127.9T125 250L500 916 875 250Q804.7 171.9 707 127.9T500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pizza\"\n      ]\n    },\n    {\n      \"uid\": \"195547eed75e7d70e587f06ffa855b57\",\n      \"css\": \"play\",\n      \"code\": 984074,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 214.8V796.9L791 505.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play\"\n      ]\n    },\n    {\n      \"uid\": \"39ba65f431bd202e9be4c65e9a52220e\",\n      \"css\": \"play-box-outline\",\n      \"code\": 984075,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM416 334V666L625 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c8ca31501b75ea3c484f5567640aad1\",\n      \"css\": \"play-circle\",\n      \"code\": 984076,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 687.5V312.5L666 500ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-circle\"\n      ]\n    },\n    {\n      \"uid\": \"a3afda33914e0c2274788ce33acf0fed\",\n      \"css\": \"play-circle-outline\",\n      \"code\": 984077,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM416 687.5L666 500 416 312.5V687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"87ebc84ceafa6a5fb2ace0ff3ff95971\",\n      \"css\": \"play-pause\",\n      \"code\": 984078,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V791L459 500ZM541 791H666V209H541V791ZM750 209V791H875V209H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-pause\"\n      ]\n    },\n    {\n      \"uid\": \"bca63972387fb74bfe2de6f25867a860\",\n      \"css\": \"play-protected-content\",\n      \"code\": 984079,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209V750H459V666H166V291H709V459H791V209H84ZM375 375V584L521.5 478.5ZM877 486.3L669.9 693.4 582 603.5 523.4 662.1 669.9 810.5 935.5 544.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-protected-content\"\n      ]\n    },\n    {\n      \"uid\": \"67f55d0080829b8f4418d588b8af26b3\",\n      \"css\": \"playlist-minus\",\n      \"code\": 984080,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 666H416V584H84V666ZM500 584V666H916V584H500ZM584 250H84V334H584V250ZM584 416H84V500H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-minus\"\n      ]\n    },\n    {\n      \"uid\": \"edeee2868cfb5fb232ed9565bc8beb64\",\n      \"css\": \"playlist-play\",\n      \"code\": 984081,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 375H84V459H791V375ZM791 209H84V291H791V209ZM84 625H625V541H84V625ZM709 541V791L916 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-play\"\n      ]\n    },\n    {\n      \"uid\": \"4332a16d9a79f4acf79ef6fb09b909ab\",\n      \"css\": \"playlist-plus\",\n      \"code\": 984082,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 666H416V584H84V666ZM750 584V416H666V584H500V666H666V834H750V666H916V584H750ZM584 250H84V334H584V250ZM584 416H84V500H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-plus\"\n      ]\n    },\n    {\n      \"uid\": \"b4a30d6e3a57df6f6dcf39bb6dea9ba1\",\n      \"css\": \"playlist-remove\",\n      \"code\": 984083,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250V334H584V250H84ZM84 416V500H459V416H84ZM589.8 449.2L531.3 507.8 650.4 625 531.3 742.2 589.8 800.8 709 683.6 826.2 800.8 884.8 742.2 767.6 625 884.8 507.8 826.2 449.2 709 566.4ZM84 584V666H459V584H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-remove\"\n      ]\n    },\n    {\n      \"uid\": \"515048abb4d40390425f467588a8f738\",\n      \"css\": \"sony-playstation\",\n      \"code\": 984084,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 177.7Q468.8 191.4 584 228.5 669.9 259.8 703.1 302.7T736.3 427.7 693.4 539.1 585.9 537.1V335.9Q585.9 291 558.6 283.2 546.9 279.3 539.1 289.1T531.3 318.4V822.3L396.5 779.3V177.7ZM556.6 734.4L775.4 656.3Q794.9 650.4 796.9 641.6T784.2 627.9 746.1 624 703.1 632.8L556.6 683.6V601.6L593.8 589.8Q630.9 582 666 578.1 712.9 572.3 763.7 578.1T857.4 598.6 912.1 633.8 910.2 669.9Q900.4 683.6 877 697.3L853.5 707 556.6 812.5V734.4ZM146.5 726.6Q99.6 712.9 87.9 688.5T99.6 646.5Q127 625 173.8 611.3L369.1 541V619.1L228.5 669.9Q210.9 677.7 208 685.5T220.7 698.2 259.8 702.1 300.8 693.4L369.1 669.9V740.2L355.5 742.2Q246.1 759.8 146.5 726.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sony-playstation\"\n      ]\n    },\n    {\n      \"uid\": \"dbf0adc1cb3b0263336564a166d3fc19\",\n      \"css\": \"plus-box\",\n      \"code\": 984086,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541H541V709H459V541H291V459H459V291H541V459H709V541ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-box\"\n      ]\n    },\n    {\n      \"uid\": \"96ac428750a46bee886c87f6112aac99\",\n      \"css\": \"plus-circle\",\n      \"code\": 984087,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541H541V709H459V541H291V459H459V291H541V459H709V541ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-circle\"\n      ]\n    },\n    {\n      \"uid\": \"4764344d2158e498462f09f64e9f83c4\",\n      \"css\": \"plus-circle-multiple-outline\",\n      \"code\": 984088,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 334H584V459H459V541H584V666H666V541H791V459H666V334ZM84 500Q84 414.1 129.9 342.8T250 236.3V146.5Q138.7 185.5 69.3 282.2T0 500 69.3 717.8 250 853.5V763.7Q175.8 728.5 129.9 657.2T84 500ZM625 125Q523.4 125 437.5 175.8T300.8 312.5 250 500 300.8 687.5 437.5 824.2 625 875 812.5 824.2 949.2 687.5 1000 500 949.2 312.5 812.5 175.8 625 125ZM625 791Q546.9 791 479.5 752T373 645.5 334 500 373 354.5 479.5 248 625 209 770.5 248 877 354.5 916 500 877 645.5 770.5 752 625 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-circle-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f3ef9d9bf57e64d7b7c08222c7edb176\",\n      \"css\": \"plus-circle-outline\",\n      \"code\": 984089,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM541 291H459V459H291V541H459V709H541V541H709V459H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"28e2f287562434bf8e9134818cc4c825\",\n      \"css\": \"plus-network\",\n      \"code\": 984090,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 459V375H541V250H459V375H334V459H459V584H541V459H666ZM709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-network\"\n      ]\n    },\n    {\n      \"uid\": \"8a11b9104a5412c8d1a64ddab0c1c867\",\n      \"css\": \"plus-one\",\n      \"code\": 984091,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 334V500H584V584H416V750H334V584H166V500H334V334H416ZM603.5 253.9L791 209V750H709V308.6L603.5 330.1V253.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-one\"\n      ]\n    },\n    {\n      \"uid\": \"c767cad6c0b59bca52fdee0fff83dc6d\",\n      \"css\": \"wall-sconce-flat-variant\",\n      \"code\": 984092,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V541H209V791H791ZM781.3 445.3L853.5 371.1 794.9 312.5 720.7 386.7ZM218.8 445.3L279.3 386.7 205.1 312.5 146.5 371.1ZM541 334V209H459V334H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wall-sconce-flat-variant\"\n      ]\n    },\n    {\n      \"uid\": \"a0b59ad5ba29eda30b1bb1d4baac77d3\",\n      \"css\": \"pokeball\",\n      \"code\": 984093,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q416 166 343.8 205.1T225.6 310.5 169.9 459H337.9Q353.5 404.3 397.5 369.1T500 334 602.5 369.1 662.1 459H830.1Q820.3 377 774.4 310.5T656.3 205.1 500 166ZM500 834Q584 834 656.3 794.9T774.4 689.5 830.1 541H662.1Q646.5 595.7 602.5 630.9T500 666 397.5 630.9 337.9 541H169.9Q179.7 623 225.6 689.5T343.8 794.9 500 834ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pokeball\"\n      ]\n    },\n    {\n      \"uid\": \"8716d18ab629a36a98b02f7a93b73c16\",\n      \"css\": \"polaroid\",\n      \"code\": 984094,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125H750Q785.2 125 809.6 149.4T834 209V791Q834 826.2 809.6 850.6T750 875H250Q214.8 875 190.4 850.6T166 791V209Q166 173.8 190.4 149.4T250 125ZM250 209V709H750V209H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"polaroid\"\n      ]\n    },\n    {\n      \"uid\": \"c51fd4b450b600d38cf58f0b1772117c\",\n      \"css\": \"poll\",\n      \"code\": 984095,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 916V334H291V916H125ZM416 916V84H584V916H416ZM709 916V584H875V916H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"poll\"\n      ]\n    },\n    {\n      \"uid\": \"ee9b6b41af29f5eedb8ad15753a1c9ba\",\n      \"css\": \"poll-box\",\n      \"code\": 984096,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 709H625V541H709V709ZM541 709H459V291H541V709ZM375 709H291V416H375V709ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"poll-box\"\n      ]\n    },\n    {\n      \"uid\": \"a5df7bc0894b894249bd46be43781a1b\",\n      \"css\": \"polymer\",\n      \"code\": 984097,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H625L294.9 693.4 187.5 500 375 166H209L21.5 500 209 834H375L703.1 306.6 812.5 500 625 834H791L978.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"polymer\"\n      ]\n    },\n    {\n      \"uid\": \"f3c2e135518e89a92c52c57c8f982a07\",\n      \"css\": \"popcorn\",\n      \"code\": 984098,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 916H197.3L189.5 914.1Q179.7 910.2 171.9 900.4 162.1 884.8 158.2 861.3L84 146.5Q84 119.1 108.4 101.6T167 84 225.6 101.6 250 146.5Q250 119.1 274.4 101.6T333 84 391.6 101.6 416 146.5Q416 119.1 440.4 101.6T500 84 559.6 101.6 584 146.5V146.5Q584 119.1 608.4 101.6T667 84 725.6 101.6 750 146.5Q750 119.1 774.4 101.6T833 84 891.6 101.6 916 146.5L841.8 861.3Q835.9 896.5 818.4 910.2 810.5 916 802.7 916H291ZM744.1 205.1Q734.4 187.5 713.9 176.8T667 166 617.2 176.8 584 203.1L574.2 834H693.4ZM416 203.1Q406.3 187.5 382.8 176.8T333 166 286.1 176.8 255.9 205.1L306.6 834H425.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"popcorn\"\n      ]\n    },\n    {\n      \"uid\": \"3432c82825dc41d94c10e863c69db259\",\n      \"css\": \"pound\",\n      \"code\": 984099,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M224.6 875L255.9 709H87.9L103.5 625H269.5L314.5 375H146.5L162.1 291H328.1L357.4 125H441.4L412.1 291H662.1L691.4 125H775.4L744.1 291H912.1L896.5 375H730.5L685.5 625H853.5L837.9 709H671.9L642.6 875H558.6L587.9 709H337.9L308.6 875H224.6ZM396.5 375L353.5 625H603.5L646.5 375H396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pound\"\n      ]\n    },\n    {\n      \"uid\": \"861797aa42ad580887f1d17bce5ab23e\",\n      \"css\": \"pound-box\",\n      \"code\": 984100,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM291 750H375L388.7 666H556.6L541 750H625L638.7 666H722.7L738.3 584H654.3L683.6 416H767.6L781.3 334H699.2L712.9 250H630.9L615.2 334H449.2L462.9 250H380.9L365.2 334H281.3L267.6 416H349.6L320.3 584H238.3L222.7 666H306.6ZM433.6 416H599.6L570.3 584H404.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pound-box\"\n      ]\n    },\n    {\n      \"uid\": \"7236ffd94672732afe85be10f6beafaa\",\n      \"css\": \"power\",\n      \"code\": 984101,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M689.5 226.6L628.9 287.1Q685.5 320.3 717.8 377T750 501 716.8 626 626 716.8 500 750 374 716.8 283.2 626 250 501 282.2 377 369.1 287.1L310.5 226.6Q244.1 273.4 205.1 344.7T166 500Q166 589.8 210.9 667T333 789.1 500 834 667 789.1 789.1 667 834 500Q834 416 794.9 344.7T689.5 226.6ZM541 125H459V541H541V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power\"\n      ]\n    },\n    {\n      \"uid\": \"f00cfbc64ceb326398fc5d140c468e7d\",\n      \"css\": \"power-settings\",\n      \"code\": 984102,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 1000H709V916H625V1000ZM689.5 185.5L628.9 246.1Q685.5 279.3 717.8 335.9T750 459 716.8 583 626 674.8 500 709 374 674.8 283.2 583 250 459 282.2 335.9 369.1 244.1L310.5 185.5Q244.1 230.5 205.1 302.7T166 459Q166 548.8 210.9 625T333 746.1 500 791 667 746.1 789.1 625 834 459Q834 375 794.9 302.7T689.5 185.5ZM541 84H459V500H541V84ZM459 1000H541V916H459V1000ZM291 1000H375V916H291V1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-settings\"\n      ]\n    },\n    {\n      \"uid\": \"4273cd487c53dadf1e7414d93a0fc3d5\",\n      \"css\": \"power-socket\",\n      \"code\": 984103,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625H709V459H625V625ZM291 625H375V459H291V625ZM459 541H541V375H459V541ZM367.2 291H632.8L791 449.2V709H209V449.2ZM334 209L125 416V791H875V416L666 209H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket\"\n      ]\n    },\n    {\n      \"uid\": \"f9138f1690785b4e0415c9cae048977f\",\n      \"css\": \"presentation\",\n      \"code\": 984104,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H416Q416 89.8 440.4 65.4T500 41 559.6 65.4 584 125H916V209H875V666H634.8L709 916H625L552.7 666H447.3L375 916H291L365.2 666H125V209H84V125ZM209 209V584H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"presentation\"\n      ]\n    },\n    {\n      \"uid\": \"cefc4ba56e2632e458ac4a201ef3cf61\",\n      \"css\": \"presentation-play\",\n      \"code\": 984105,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H416Q416 89.8 440.4 65.4T500 41 559.6 65.4 584 125H916V209H875V666H634.8L709 916H625L552.7 666H447.3L375 916H291L365.2 666H125V209H84V125ZM209 209V584H791V209H209ZM494.1 494.1Q488.3 500 479.5 500T464.8 494.1 459 478.5V312.5Q459 304.7 464.8 297.9T479.5 291 494.1 298.8L552.7 355.5Q578.1 382.8 578.1 395.5T552.7 435.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"presentation-play\"\n      ]\n    },\n    {\n      \"uid\": \"90864ee2de934c11011d6a96abf42a39\",\n      \"css\": \"printer\",\n      \"code\": 984106,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 125H250V291H750V125ZM791 500Q773.4 500 761.7 488.3T750 459 761.7 428.7 791 416 821.3 428.7 834 459 821.3 488.3 791 500ZM666 791H334V584H666V791ZM791 334H209Q156.3 334 120.1 370.1T84 459V709H250V875H750V709H916V459Q916 406.3 879.9 370.1T791 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer\"\n      ]\n    },\n    {\n      \"uid\": \"ad715c61e9df226cb5e7bcc78f2104a7\",\n      \"css\": \"printer-3d\",\n      \"code\": 984107,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250Q808.6 250 821.3 238.3T834 209 821.3 178.7 791 166 761.7 178.7 750 209 761.7 238.3 791 250ZM791 84Q843.8 84 879.9 120.1T916 209V459H750V291H250V459H84V209Q84 156.3 120.1 120.1T209 84H791ZM750 759.8Q750 785.2 728.5 796.9L523.4 908.2Q513.7 916 500 916T476.6 908.2L271.5 796.9Q250 785.2 250 759.8V541Q250 517.6 271.5 505.9L476.6 404.3Q486.3 396.5 500 396.5T523.4 404.3L728.5 505.9Q750 517.6 750 541V759.8ZM500 486.3L377 541 500 607.4 623 541ZM334 736.3L459 804.7V679.7L334 613.3V736.3ZM666 736.3V613.3L541 679.7V804.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-3d\"\n      ]\n    },\n    {\n      \"uid\": \"dff3aca87f0739e7124edbc7fca7f4a6\",\n      \"css\": \"printer-alert\",\n      \"code\": 984108,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 166V334H250V166H584ZM625 541Q642.6 541 654.3 529.3T666 500 654.3 470.7 625 459 595.7 470.7 584 500 595.7 529.3 625 541ZM541 791V625H291V791H541ZM625 375Q677.7 375 713.9 411.1T750 500V709H625V875H209V709H84V500Q84 447.3 120.1 411.1T209 375H625ZM916 291V500H834V291H916ZM916 584V666H834V584H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-alert\"\n      ]\n    },\n    {\n      \"uid\": \"6e5de60a5d30afdd98fecf0a80eca506\",\n      \"css\": \"professional-hexagon\",\n      \"code\": 984109,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM209 375V625H259.8V541H291Q326.2 541 350.6 516.6T375 458 350.6 399.4 291 375H209ZM259.8 500V416H281.3Q298.8 416 310.5 428.7T322.3 459 310.5 488.3 281.3 500H259.8ZM406.3 375V625H459V541H490.2L517.6 625H572.3L539.1 525.4Q572.3 500 572.3 459 572.3 423.8 547.9 399.4T490.2 375H406.3ZM459 500V416H478.5Q496.1 416 508.8 428.7T521.5 459 508.8 488.3 478.5 500H459ZM709 375Q666 375 634.8 411.1T603.5 500 634.8 588.9 709 625 782.2 588.9 812.5 500 782.2 411.1 709 375ZM709 427.7Q732.4 427.7 749 449.2T765.6 500 749 550.8 709 572.3 668 551.8 650.4 500 668 448.2 709 427.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"professional-hexagon\"\n      ]\n    },\n    {\n      \"uid\": \"8720d17d12ccffe723bc02c8570eb145\",\n      \"css\": \"projector\",\n      \"code\": 984110,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250Q593.8 250 535.2 291H166Q132.8 291 108.4 315.4T84 375V625Q84 660.2 108.4 684.6T166 709H209V750Q209 767.6 220.7 779.3T250 791H334Q351.6 791 363.3 779.3T375 750V709H625V750Q625 767.6 636.7 779.3T666 791H750Q767.6 791 779.3 779.3T791 750V709H834Q867.2 709 891.6 684.6T916 625V375Q916 339.8 891.6 315.4T834 291H798.8Q738.3 250 666 250ZM666 312.5Q726.6 312.5 769.5 355.5T812.5 459 769.5 561.5 666 603.5 563.5 561.5 521.5 459 563.5 355.5 666 312.5ZM166 375H334V416H166V375ZM666 375Q632.8 375 608.4 399.4T584 458 608.4 516.6 667 541 725.6 516.6 750 458 725.6 399.4 666 375ZM166 459H334V500H166V459ZM166 541H334V584H166V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"projector\"\n      ]\n    },\n    {\n      \"uid\": \"65dc825af19e3ccec432a3e5de59f673\",\n      \"css\": \"projector-screen\",\n      \"code\": 984111,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q148.4 84 136.7 95.7T125 125V166Q125 183.6 136.7 196.3T166 209H209V584H459V691.4L283.2 867.2 341.8 925.8 459 808.6V916H541V808.6L658.2 925.8 716.8 867.2 541 691.4V584H791V209H834Q851.6 209 863.3 196.3T875 166V125Q875 107.4 863.3 95.7T834 84H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"projector-screen\"\n      ]\n    },\n    {\n      \"uid\": \"717b25219e93c9fbbf268160b40ad2ec\",\n      \"css\": \"pulse\",\n      \"code\": 984112,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541H242.2L419.9 199.2 470.7 572.3 603.5 402.3 742.2 541H875V625H709L611.3 527.3 414.1 781.3 373 470.7 291 625H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pulse\"\n      ]\n    },\n    {\n      \"uid\": \"2494cc9516dc5559f980e4383a0bf97f\",\n      \"css\": \"puzzle\",\n      \"code\": 984113,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 459H791V291Q791 257.8 766.6 233.4T709 209H541V146.5Q541 103.5 510.7 72.3T437.5 41 364.3 72.3 334 146.5V209H166Q132.8 209 108.4 233.4T84 291V449.2H146.5Q193.4 449.2 225.6 482.4T257.8 562.5 225.6 642.6 146.5 675.8H84V834Q84 867.2 108.4 891.6T166 916H324.2V853.5Q324.2 806.6 357.4 774.4T437.5 742.2 517.6 774.4 550.8 853.5V916H709Q742.2 916 766.6 891.6T791 834V666H853.5Q896.5 666 927.7 635.7T959 562.5 927.7 489.3 853.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle\"\n      ]\n    },\n    {\n      \"uid\": \"37533e2cb21c218f8f9e6f6a7ba9762f\",\n      \"css\": \"qrcode\",\n      \"code\": 984114,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H209V541H125V459ZM459 209H541V375H459V209ZM375 459H541V625H459V541H375V459ZM625 459H709V541H791V459H875V541H791V625H875V791H791V875H709V791H541V875H459V709H625V625H709V541H625V459ZM791 791V625H709V791H791ZM625 125H875V375H625V125ZM709 209V291H791V209H709ZM125 125H375V375H125V125ZM209 209V291H291V209H209ZM125 625H375V875H125V625ZM209 709V791H291V709H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qrcode\"\n      ]\n    },\n    {\n      \"uid\": \"b61b9f3836d4c4b893168245fc6746fa\",\n      \"css\": \"qrcode-scan\",\n      \"code\": 984115,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H416V416H166V166ZM834 166V416H584V166H834ZM584 625H666V541H584V459H666V541H750V459H834V541H750V625H834V750H750V834H666V750H541V834H459V666H584V625ZM666 625V750H750V625H666ZM166 834V584H416V834H166ZM250 250V334H334V250H250ZM666 250V334H750V250H666ZM250 666V750H334V666H250ZM166 459H250V541H166V459ZM375 459H541V625H459V541H375V459ZM459 250H541V416H459V250ZM84 84V250H0V84Q0 48.8 24.4 24.4T84 0H250V84H84ZM916 0Q951.2 0 975.6 24.4T1000 84V250H916V84H750V0H916ZM84 750V916H250V1000H84Q48.8 1000 24.4 975.6T0 916V750H84ZM916 916V750H1000V916Q1000 951.2 975.6 975.6T916 1000H750V916H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qrcode-scan\"\n      ]\n    },\n    {\n      \"uid\": \"42aaa2e432809571b846c33e1c625b3f\",\n      \"css\": \"quadcopter\",\n      \"code\": 984116,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 41Q306.6 41 361.3 95.7T416 228.5Q416 283.2 388.7 330.1L392.6 334H607.4L611.3 330.1Q584 283.2 584 228.5 584 150.4 638.7 95.7T771.5 41 904.3 95.7 959 228.5 904.3 361.3 771.5 416Q716.8 416 669.9 388.7L625 433.6V566.4L669.9 611.3Q716.8 584 771.5 584 849.6 584 904.3 638.7T959 771.5 904.3 904.3 771.5 959 638.7 904.3 584 771.5Q584 716.8 611.3 669.9L607.4 666H392.6L388.7 669.9Q416 716.8 416 771.5 416 849.6 361.3 904.3T228.5 959 95.7 904.3 41 771.5 95.7 638.7 228.5 584Q283.2 584 330.1 611.3L375 566.4V433.6L330.1 388.7Q283.2 416 228.5 416 150.4 416 95.7 361.3T41 228.5 95.7 95.7 228.5 41ZM228.5 125Q185.5 125 155.3 155.3T125 228.5 155.3 302.7 228.5 334 302.7 302.7 334 228.5 302.7 155.3 228.5 125ZM228.5 666Q185.5 666 155.3 697.3T125 771.5 155.3 844.7 228.5 875 302.7 844.7 334 771.5 302.7 697.3 228.5 666ZM771.5 125Q728.5 125 697.3 155.3T666 228.5 697.3 302.7 771.5 334 844.7 302.7 875 228.5 844.7 155.3 771.5 125ZM771.5 666Q728.5 666 697.3 697.3T666 771.5 697.3 844.7 771.5 875 844.7 844.7 875 771.5 844.7 697.3 771.5 666ZM162.1 718.8L210.9 746.1Q218.8 740.2 230.5 740.2T251 749 259.8 771.5V775.4L306.6 802.7 294.9 822.3 248 794.9Q240.2 802.7 228.5 802.7T207 793 197.3 771.5L199.2 767.6 150.4 740.2ZM150.4 259.8L199.2 232.4 197.3 228.5Q197.3 216.8 207 207T228.5 197.3 248 205.1L294.9 177.7 306.6 197.3 259.8 224.6V228.5Q259.8 242.2 251 251T230.5 259.8 210.9 253.9L162.1 281.3ZM705.1 177.7L752 205.1Q759.8 197.3 771.5 197.3T793 207 802.7 228.5L800.8 232.4 849.6 259.8 837.9 281.3 789.1 253.9Q781.3 259.8 769.5 259.8T749 251 740.2 228.5V224.6L693.4 197.3ZM693.4 802.7L740.2 771.5Q740.2 757.8 749 749T769.5 740.2 789.1 746.1L837.9 718.8 849.6 740.2 802.7 771.5Q802.7 783.2 793 793T771.5 802.7 752 794.9L705.1 822.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"quadcopter\"\n      ]\n    },\n    {\n      \"uid\": \"67299ee607ff41a4c6e84b9565a16fc6\",\n      \"css\": \"quality-high\",\n      \"code\": 984117,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 562.5H687.5V437.5H603.5V562.5ZM750 584Q750 601.6 738.3 613.3T709 625H677.7V687.5H615.2V625H584Q566.4 625 553.7 613.3T541 584V416Q541 398.4 553.7 386.7T584 375H709Q726.6 375 738.3 386.7T750 416V584ZM459 625H396.5V541H312.5V625H250V375H312.5V478.5H396.5V375H459V625ZM791 166H209Q173.8 166 149.4 190.4T125 250V750Q125 785.2 149.4 809.6T209 834H791Q826.2 834 850.6 809.6T875 750V250Q875 214.8 850.6 190.4T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"quality-high\"\n      ]\n    },\n    {\n      \"uid\": \"2e1fd9885da407424050defa0852962d\",\n      \"css\": \"book-multiple-outline\",\n      \"code\": 984118,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 84Q826.2 84 850.6 108.4T875 166V666Q875 701.2 850.6 725.6T791 750H375Q339.8 750 315.4 725.6T291 666V166Q291 132.8 315.4 108.4T375 84H791ZM791 166H666V416L562.5 322.3 459 416V166H375V666H791V166ZM125 834Q125 867.2 149.4 891.6T209 916H709V834H209V250H125V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6fbeff7b484126b8a73b9371aed71ad0\",\n      \"css\": \"radar\",\n      \"code\": 984119,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M794.9 205.1L736.3 263.7Q781.3 310.5 807.6 371.1T834 500Q834 589.8 789.1 667T667 789.1 500 834 333 789.1 210.9 667 166 500Q166 416 205.1 344.7T310.5 226.6 459 169.9V253.9Q369.1 269.5 309.6 338.9T250 500Q250 568.4 283.2 626T374 716.8 500 750 626 716.8 716.8 626 750 500Q750 449.2 730.5 403.3T675.8 324.2L617.2 382.8Q666 431.6 666 500T617.2 617.2 500 666 382.8 617.2 334 500Q334 443.4 369.1 398.4T459 339.8V427.7Q439.5 439.5 427.7 458T416 500Q416 535.2 440.4 559.6T500 584 559.6 559.6 584 500Q584 476.6 572.3 458T541 427.7V84H500Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 499 883.8 339.8 794.9 205.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radar\"\n      ]\n    },\n    {\n      \"uid\": \"973272a34fb863e42ed1392271d12c69\",\n      \"css\": \"radiator\",\n      \"code\": 984120,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M332 125L271.5 216.8 332 308.6 248 437.5 175.8 400.4 234.4 308.6 175.8 216.8 259.8 87.9ZM582 121.1L521.5 212.9 582 304.7 498 433.6 425.8 396.5 484.4 304.7 425.8 212.9 509.8 84ZM834 121.1L773.4 212.9 834 304.7 750 433.6 677.7 396.5 736.3 304.7 677.7 212.9 759.8 84ZM84 916V584Q84 548.8 108.4 524.4T166 500H834Q867.2 500 891.6 524.4T916 584V916H834V834H166V916H84ZM250 584Q232.4 584 220.7 595.7T209 625V709Q209 726.6 220.7 738.3T250 750 279.3 738.3 291 709V625Q291 607.4 279.3 595.7T250 584ZM416 584Q398.4 584 386.7 595.7T375 625V709Q375 726.6 386.7 738.3T416 750 446.3 738.3 459 709V625Q459 607.4 446.3 595.7T416 584ZM584 584Q566.4 584 553.7 595.7T541 625V709Q541 726.6 553.7 738.3T584 750 613.3 738.3 625 709V625Q625 607.4 613.3 595.7T584 584ZM750 584Q732.4 584 720.7 595.7T709 625V709Q709 726.6 720.7 738.3T750 750 779.3 738.3 791 709V625Q791 607.4 779.3 595.7T750 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radiator\"\n      ]\n    },\n    {\n      \"uid\": \"e505afe82e7f6757d2440e96d935c697\",\n      \"css\": \"radio\",\n      \"code\": 984121,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q867.2 250 891.6 274.4T916 334V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V334Q84 306.6 98.6 285.2T136.7 255.9L654.3 41 685.5 117.2 367.2 250H834ZM834 334H166V500H666V416H750V500H834V334ZM291 584Q240.2 584 203.1 620.1T166 708 203.1 796.9 292 834 379.9 796.9 416 708 379.9 620.1 291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radio\"\n      ]\n    },\n    {\n      \"uid\": \"4b902508e8ed7e5b34b9aaf5ec39fd01\",\n      \"css\": \"radio-handheld\",\n      \"code\": 984122,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q357.4 84 345.7 95.7T334 125V834Q334 867.2 358.4 891.6T416 916H625Q660.2 916 684.6 891.6T709 834V375Q709 339.8 684.6 315.4T625 291H416V125Q416 107.4 404.3 95.7T375 84ZM416 375H625V541H416V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radio-handheld\"\n      ]\n    },\n    {\n      \"uid\": \"2618c41d15ff2b52d2e595e8242aaaba\",\n      \"css\": \"radio-tower\",\n      \"code\": 984123,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500Q584 529.3 564.5 554.7L695.3 916H607.4L500 623 392.6 916H304.7L435.5 554.7Q416 529.3 416 500 416 464.8 440.4 440.4T500 416ZM500 334Q431.6 334 382.8 382.8T334 500Q334 531.3 345.7 560.5L308.6 660.2Q250 589.8 250 500 250 431.6 283.2 374T374 283.2 500 250 626 283.2 716.8 374 750 500Q750 589.8 691.4 660.2L654.3 560.5Q666 531.3 666 500 666 431.6 617.2 382.8T500 334ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 572.3 195.3 636.7T277.3 748L246.1 830.1Q169.9 773.4 127 686.5T84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500Q916 599.6 873 686.5T753.9 830.1L722.7 748Q775.4 701.2 804.7 636.7T834 500Q834 410.2 789.1 333T667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radio-tower\"\n      ]\n    },\n    {\n      \"uid\": \"34775799cea1d7722d1a19315ff94fa1\",\n      \"css\": \"radioactive\",\n      \"code\": 984124,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM500 916Q378.9 916 279.3 853.5L416 644.5Q455.1 666 500 666T584 644.5L720.7 853.5Q621.1 916 500 916ZM84 500Q84 373 153.3 268.6T337.9 115.2L431.6 347.7Q386.7 369.1 360.4 410.2T334 500H84ZM666 500Q666 451.2 639.6 410.2T568.4 347.7L662.1 115.2Q777.3 164.1 846.7 268.6T916 500H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radioactive\"\n      ]\n    },\n    {\n      \"uid\": \"13265d2259ed98e7fb2e39b3e3696486\",\n      \"css\": \"radiobox-marked\",\n      \"code\": 984126,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 291Q443.4 291 395.5 319.3T319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709 604.5 680.7 680.7 604.5 709 500 680.7 395.5 604.5 319.3 500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radiobox-marked\"\n      ]\n    },\n    {\n      \"uid\": \"ee4d118846dbd2f2f0725adca0927d3b\",\n      \"css\": \"raspberry-pi\",\n      \"code\": 984127,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H916V416H834V334ZM166 209H834Q867.2 209 891.6 233.4T916 291H791V375H209V541H334V666H791V709H916Q916 742.2 891.6 766.6T834 791H666V834H584V791H459V834H291V791H166Q132.8 791 108.4 766.6T84 709V291Q84 257.8 108.4 233.4T166 209ZM791 625H375V416H791V459H916V541H791V625ZM541 500V584H625V500H541ZM209 250V334H250V250H209ZM291 250V334H334V250H291ZM375 250V334H416V250H375ZM459 250V334H500V250H459ZM541 250V334H584V250H541ZM625 250V334H666V250H625ZM834 584H916V666H834V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"raspberry-pi\"\n      ]\n    },\n    {\n      \"uid\": \"44e936ad036ea2098f970a0a93d1341d\",\n      \"css\": \"ray-end\",\n      \"code\": 984128,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 375Q793 375 760.7 398.4T714.8 459H84V541H714.8Q728.5 578.1 760.7 601.6T834 625Q884.8 625 921.9 588.9T959 500 921.9 411.1 834 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ray-end\"\n      ]\n    },\n    {\n      \"uid\": \"af0e8c4a14e7a5672d2dc5c41025de83\",\n      \"css\": \"ray-end-arrow\",\n      \"code\": 984129,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 500L209 666V541H714.8Q728.5 578.1 760.7 601.6T834 625Q884.8 625 921.9 588.9T959 500 921.9 411.1 834 375Q793 375 760.7 398.4T714.8 459H209V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ray-end-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"8b435f0bd6736684928a22db921ff554\",\n      \"css\": \"ray-start\",\n      \"code\": 984130,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 375Q207 375 239.3 398.4T285.2 459H916V541H285.2Q271.5 578.1 239.3 601.6T166 625Q115.2 625 78.1 588.9T41 500 78.1 411.1 166 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ray-start\"\n      ]\n    },\n    {\n      \"uid\": \"33fc666ec62103c2ecbbf2e1d3d3c623\",\n      \"css\": \"ray-start-arrow\",\n      \"code\": 984131,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L791 666V541H285.2Q271.5 578.1 239.3 601.6T166 625Q115.2 625 78.1 588.9T41 500 78.1 411.1 166 375Q207 375 239.3 398.4T285.2 459H791V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ray-start-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"4512a54bf2c9ee2d6b497786c9ef0388\",\n      \"css\": \"ray-start-end\",\n      \"code\": 984132,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 375Q207 375 239.3 398.4T285.2 459H714.8Q728.5 421.9 760.7 398.4T834 375Q884.8 375 921.9 411.1T959 500 921.9 588.9 834 625Q793 625 760.7 601.6T714.8 541H285.2Q271.5 578.1 239.3 601.6T166 625Q115.2 625 78.1 588.9T41 500 78.1 411.1 166 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ray-start-end\"\n      ]\n    },\n    {\n      \"uid\": \"b52c09f5021084032ca4f69d22e39374\",\n      \"css\": \"ray-vertex\",\n      \"code\": 984133,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 459H382.8Q394.5 421.9 426.8 398.4T500 375 573.2 398.4 617.2 459H916V541H617.2Q605.5 578.1 573.2 601.6T500 625 426.8 601.6 382.8 541H84V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ray-vertex\"\n      ]\n    },\n    {\n      \"uid\": \"f8bfd6fc113652b3e483cc63eb64068b\",\n      \"css\": \"lastpass\",\n      \"code\": 984134,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500Q584 464.8 608.4 440.4T667 416 725.6 440.4 750 500 725.6 559.6 667 584 608.4 559.6 584 500ZM334 500Q334 464.8 358.4 440.4T417 416 475.6 440.4 500 500 475.6 559.6 417 584 358.4 559.6 334 500ZM84 500Q84 464.8 108.4 440.4T167 416 225.6 440.4 250 500 225.6 559.6 167 584 108.4 559.6 84 500ZM916 209H834V791H916V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lastpass\"\n      ]\n    },\n    {\n      \"uid\": \"2d4e32a773a2e09648ea3a106d60a151\",\n      \"css\": \"read\",\n      \"code\": 984135,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M900.4 482.4L959 541 562.5 937.5 351.6 724.6 410.2 666 562.5 820.3ZM166 666V125H375Q443.4 125 492.2 173.8T541 291Q541 339.8 516.6 378.9T451.2 439.5L584 666H500L378.9 459H250V666H166ZM250 375H375Q410.2 375 434.6 350.6T459 292 434.6 233.4 375 209H250V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"read\"\n      ]\n    },\n    {\n      \"uid\": \"f9419c2e0393e5507618d90a70a89527\",\n      \"css\": \"youtube-tv\",\n      \"code\": 984136,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M103.5 187.5H896.5Q921.9 187.5 940.4 205.1T959 250V728.5Q959 755.9 940.4 773.4T896.5 791H103.5Q78.1 791 59.6 773.4T41 728.5V250Q41 222.7 59.6 205.1T103.5 187.5ZM404.3 353.5V625L642.6 488.3ZM718.8 875H277.3Q267.6 875 261.7 869.1T255.9 854.5 261.7 839.8 277.3 834H722.7Q732.4 834 738.3 839.8T744.1 854.5 736.3 869.1 718.8 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"youtube-tv\"\n      ]\n    },\n    {\n      \"uid\": \"7d8beae22849a07ef3b2214eda5b9024\",\n      \"css\": \"receipt\",\n      \"code\": 984137,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 916L187.5 853.5 250 916 312.5 853.5 375 916 437.5 853.5 500 916 562.5 853.5 625 916 687.5 853.5 750 916 812.5 853.5 875 916V84L812.5 146.5 750 84 687.5 146.5 625 84 562.5 146.5 500 84 437.5 146.5 375 84 312.5 146.5 250 84 187.5 146.5 125 84V916ZM750 375H250V291H750V375ZM750 541H250V459H750V541ZM750 709H250V625H750V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"receipt\"\n      ]\n    },\n    {\n      \"uid\": \"6a3dc84089a91cfbc2374814fffca91c\",\n      \"css\": \"record\",\n      \"code\": 984138,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500Q791 578.1 752 645.5T645.5 752 500 791 354.5 752 248 645.5 209 500 248 354.5 354.5 248 500 209 645.5 248 752 354.5 791 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"record\"\n      ]\n    },\n    {\n      \"uid\": \"28f9fc4900ce3cdd5c75e31e54908f4b\",\n      \"css\": \"record-rec\",\n      \"code\": 984139,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 209Q459 209 401.4 232.4T299.8 299.8 232.4 401.4 209 521.5Q209 605.5 251 677.7T364.3 792 520.5 834 677.7 792 792 677.7 834 521.5Q834 459 809.6 401.4T741.2 299.8 639.6 232.4 521.5 209ZM291 416H375Q392.6 416 404.3 428.7T416 459V500Q416 515.6 406.3 527.3T380.9 541L429.7 625H380.9L334 541V625H291V416ZM500 416H584V459H500V500H584V541H500V584H584V625H500Q482.4 625 470.7 613.3T459 584V459Q459 441.4 470.7 428.7T500 416ZM666 416H750V459H666V584H750V625H666Q648.4 625 636.7 613.3T625 584V459Q625 441.4 636.7 428.7T666 416ZM334 459V500H375V459H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"record-rec\"\n      ]\n    },\n    {\n      \"uid\": \"3e2b158bbdd8d1a1fb628f70d855e1eb\",\n      \"css\": \"recycle\",\n      \"code\": 984140,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 642.6L804.7 822.3Q789.1 849.6 763.7 863.3T709 875H625V959L521.5 771.5 625 584V666H742.2L650.4 505.9 830.1 402.3 906.3 531.3Q921.9 556.6 922.9 586.9T908.2 642.6ZM382.8 127H591.8Q623 127 647.5 143.6T685.5 185.5L726.6 257.8 798.8 216.8 689.5 400.4 474.6 404.3 546.9 361.3 488.3 259.8 396.5 419.9 214.8 316.4 289.1 185.5Q302.7 160.2 328.1 143.6T382.8 127ZM210.9 824.2L105.5 642.6Q91.8 617.2 92.8 586.9T109.4 533.2L152.3 460.9 80.1 419.9 293 421.9 404.3 607.4 332 564.5 273.4 666H459V875H308.6Q279.3 877 252.9 863.3T210.9 824.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"recycle\"\n      ]\n    },\n    {\n      \"uid\": \"62d3b9b17f9bf3a5be68ec4250b0f292\",\n      \"css\": \"reddit\",\n      \"code\": 984141,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 642.6Q607.4 644.5 607.4 649.4T603.5 658.2Q584 677.7 546.9 685.5 523.4 689.5 500 689.5T453.1 685.5Q416 677.7 398.4 658.2 394.5 654.3 394.5 649.4T397.5 641.6 405.3 638.7 414.1 642.6Q437.5 666 501 666T587.9 642.6Q595.7 634.8 603.5 642.6ZM447.3 543Q447.3 525.4 434.6 512.7T404.3 500 374 512.7 361.3 543 374 574.2 404.3 586.9 434.6 573.2 447.3 543ZM595.7 500Q578.1 500 565.4 513.7T552.7 543.9 565.4 574.2 595.7 587.9 626 574.2 638.7 543.9 626 513.7 595.7 500ZM916 500Q916 613.3 860.4 709T709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500ZM777.3 500Q777.3 474.6 759.8 457T717.8 439.5 675.8 457Q609.4 408.2 511.7 404.3L541 273.4 630.9 293Q630.9 310.5 643.6 323.2T673.8 335.9 704.1 322.3 716.8 291 704.1 260.7 673.8 248Q662.1 248 651.4 254.9T634.8 273.4L533.2 252Q531.3 250 527.3 252.9T521.5 259.8L492.2 404.3Q394.5 408.2 326.2 457 308.6 439.5 283.2 439.5T240.2 457 222.7 500Q222.7 519.5 232.4 534.2T257.8 556.6V574.2Q257.8 619.1 290 658.2T377.9 720.7 500 744.1 622.1 720.7 710.9 659.2 744.1 574.2Q744.1 564.5 742.2 556.6 757.8 548.8 767.6 533.2T777.3 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reddit\"\n      ]\n    },\n    {\n      \"uid\": \"d6c0ab22f5677bc40955bf29b2c2534a\",\n      \"css\": \"redo\",\n      \"code\": 984142,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M767.6 441.4Q707 390.6 633.8 362.3T478.5 334Q335.9 334 221.7 418T64.5 634.8L162.1 666Q195.3 566.4 282.2 502T478.5 437.5Q599.6 437.5 693.4 515.6L541 666H916V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"redo\"\n      ]\n    },\n    {\n      \"uid\": \"2160a3a09f028ff9d7d8544e5227e04b\",\n      \"css\": \"redo-variant\",\n      \"code\": 984143,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 291Q363.3 291 301.8 328.1T203.1 426.8 166 562.5 203.1 698.2 301.8 796.9 437.5 834H584V750H437.5Q359.4 750 304.7 695.3T250 562.5 304.7 429.7 437.5 375H673.8L544.9 503.9 603.5 562.5 834 334 603.5 103.5 544.9 162.1 673.8 291H437.5ZM750 750H666V834H750V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"redo-variant\"\n      ]\n    },\n    {\n      \"uid\": \"24ea0993ba025ea5eb8b4fb37a9676da\",\n      \"css\": \"refresh\",\n      \"code\": 984144,\n      \"src\": \"custom_icons\",\n      \"selected\": true,\n      \"svg\": {\n        \"path\": \"M736.3 263.7Q689.5 218.8 628.9 192.4T500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834Q615.2 834 704.1 763.7T822.3 584H736.3Q709 656.3 644.5 703.1T500 750Q431.6 750 374 716.8T283.2 626 250 500 283.2 374 374 283.2 500 250Q550.8 250 595.7 269.5T675.8 324.2L541 459H834V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"refresh\"\n      ]\n    },\n    {\n      \"uid\": \"f7645a6a257fb6e1cdb5ccab8d471d81\",\n      \"css\": \"regex\",\n      \"code\": 984145,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 705.1Q644.5 709 625 709T584 705.1V558.6L478.5 662.1Q447.3 636.7 421.9 603.5L525.4 500H378.9Q375 478.5 375 459T378.9 416H525.4L421.9 312.5Q435.5 293 449.2 281.3V281.3Q459 269.5 478.5 253.9L584 357.4V210.9Q605.5 209 625 209T666 210.9V357.4L771.5 253.9Q802.7 279.3 828.1 312.5L724.6 416H871.1Q875 439.5 875 459T871.1 500H724.6L828.1 603.5Q814.5 623 800.8 634.8V634.8Q791 646.5 771.5 662.1L666 558.6V705.1ZM209 791Q209 757.8 233.4 733.4T292 709 350.6 733.4 375 792 350.6 850.6 292 875 233.4 850.6 209 791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"regex\"\n      ]\n    },\n    {\n      \"uid\": \"e794f4f6679adf039694bda3b7347288\",\n      \"css\": \"relative-scale\",\n      \"code\": 984146,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V250H834V750ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM500 416H416V500H500V416ZM334 416H250V500H334V416ZM666 584H584V666H666V584ZM666 416H584V500H666V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relative-scale\"\n      ]\n    },\n    {\n      \"uid\": \"ae83df9b5b18148bb66e029ee99d1901\",\n      \"css\": \"reload\",\n      \"code\": 984147,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 601.6 133.8 687.5T270.5 824.2 459 875Q533.2 875 602.5 846.7T724.6 767.6L662.1 705.1Q623 746.1 570.3 768.6T459 791Q365.2 791 291 740.2 222.7 691.4 189.5 611.3T169.9 449.2Q185.5 359.4 252 293T408.2 212.9Q490.2 197.3 570.3 230.5T697.3 332Q750 406.3 750 500H625L791 666H794.9L959 500H834Q834 398.4 783.2 312.5T646.5 175.8 459 125 270.5 175.8 133.8 312.5 84 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reload\"\n      ]\n    },\n    {\n      \"uid\": \"e154737ccc4abb5ad68f219ceb600dcf\",\n      \"css\": \"remote\",\n      \"code\": 984148,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 0Q406.3 0 322.3 35.2T175.8 134.8L234.4 193.4Q287.1 140.6 355.5 112.3T500 84 644.5 112.3 765.6 193.4L824.2 134.8Q759.8 70.3 676.8 35.2T500 0ZM293 252L351.6 310.5Q380.9 281.3 418.9 265.6T500 250 581.1 265.6 648.4 310.5L707 252Q666 210.9 612.3 188.5T500 166 387.7 188.5 293 252ZM500 625Q464.8 625 440.4 600.6T416 542 440.4 483.4 500 459 559.6 483.4 584 542 559.6 600.6 500 625ZM625 375H375Q357.4 375 345.7 386.7T334 416V916Q334 933.6 345.7 946.3T375 959H625Q642.6 959 654.3 946.3T666 916V416Q666 398.4 654.3 386.7T625 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"remote\"\n      ]\n    },\n    {\n      \"uid\": \"35f7b78027ba5a97a894e6b28173bcc7\",\n      \"css\": \"rename-box\",\n      \"code\": 984149,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 709H437.5L521.5 625H750V709ZM250 709V603.5L578.1 277.3Q584 271.5 592.8 271.5T607.4 277.3L681.6 349.6Q687.5 357.4 687.5 365.2T681.6 380.9L353.5 709H250ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rename-box\"\n      ]\n    },\n    {\n      \"uid\": \"47983c6cb670afbdf3078cac7d1f7273\",\n      \"css\": \"repeat\",\n      \"code\": 984150,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 709H291V584L125 750 291 916V791H791V541H709V709ZM291 291H709V416L875 250 709 84V209H209V459H291V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"repeat\"\n      ]\n    },\n    {\n      \"uid\": \"e6298eede63c9d684f9c7f65901e729f\",\n      \"css\": \"repeat-off\",\n      \"code\": 984151,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 656.3 791H291V916L125 750 291 584V709H572.3L291 427.7V459H209V343.8ZM709 541H791V716.8L709 632.8V541ZM709 209V84L875 250 709 416V291H367.2L283.2 209H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"repeat-off\"\n      ]\n    },\n    {\n      \"uid\": \"39692e87590364cea474454734cf60ee\",\n      \"css\": \"repeat-once\",\n      \"code\": 984152,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 625V375H500L416 416V459H478.5V625H541ZM709 709H291V584L125 750 291 916V791H791V541H709V709ZM291 291H709V416L875 250 709 84V209H209V459H291V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"repeat-once\"\n      ]\n    },\n    {\n      \"uid\": \"55c25aae9ed6a3615d280066ad831b75\",\n      \"css\": \"replay\",\n      \"code\": 984153,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209V41L291 250 500 459V291Q568.4 291 626 325.2T716.8 417 750 542 716.8 667 626 757.8 500 791 374 757.8 283.2 667 250 541H166Q166 632.8 210.9 709T333 830.1 500 875 667 830.1 789.1 709 834 542 789.1 375 667 253.9 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"replay\"\n      ]\n    },\n    {\n      \"uid\": \"1c7b57bdbec14bdf274926fe57386ff1\",\n      \"css\": \"reply\",\n      \"code\": 984154,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375V209L125 500 416 791V621.1Q574.2 621.1 685.5 672.9T875 834Q839.8 656.3 740.2 541 619.1 404.3 416 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reply\"\n      ]\n    },\n    {\n      \"uid\": \"695edb7d175c510360cdc74ea4589614\",\n      \"css\": \"reply-all\",\n      \"code\": 984155,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375V209L250 500 541 791V621.1Q699.2 621.1 810.5 672.9T1000 834Q964.8 656.3 865.2 541 744.1 404.3 541 375ZM291 334V209L0 500 291 791V666L125 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reply-all\"\n      ]\n    },\n    {\n      \"uid\": \"c5623bdf82826cf72f559f4fb8aeaa93\",\n      \"css\": \"reproduction\",\n      \"code\": 984156,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M529.3 548.8L568.4 511.7Q566.4 470.7 588.9 424.8T650.4 339.8Q710.9 277.3 780.3 260.7T886.7 280.3 906.3 385.7 828.1 515.6Q787.1 556.6 741.2 578.1T656.3 599.6L619.1 636.7Q607.4 646.5 593.8 648.4T566.4 642.6Q503.9 664.1 482.4 699.2 470.7 718.8 459 765.6T435.5 832Q404.3 878.9 316.4 878.9 267.6 878.9 238.3 869.1 193.4 853.5 164.1 812.5L267.6 830.1Q287.1 832 324.2 814.5T377 773.4Q388.7 753.9 400.4 706.1T421.9 640.6Q435.5 619.1 462.9 603.5 482.4 591.8 517.6 580.1 517.6 560.5 529.3 548.8ZM291 84Q347.7 84 395.5 111.3T471.7 186.5 500 291 471.7 395.5 395.5 471.7 291 500 186.5 471.7 111.3 395.5 84 291 111.3 186.5 186.5 111.3 291 84ZM291 166Q240.2 166 203.1 203.1T166 292 203.1 379.9 292 416 379.9 379.9 416 292 379.9 203.1 291 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reproduction\"\n      ]\n    },\n    {\n      \"uid\": \"907ca01d58c2497a713ba1d9a3d85048\",\n      \"css\": \"resize-bottom-right\",\n      \"code\": 984157,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H834V834H916V916ZM916 750H834V666H916V750ZM750 916H666V834H750V916ZM750 750H666V666H750V750ZM584 916H500V834H584V916ZM916 584H834V500H916V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"resize-bottom-right\"\n      ]\n    },\n    {\n      \"uid\": \"9e329e0b32a94b39931bfc32966b2b08\",\n      \"css\": \"responsive\",\n      \"code\": 984158,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V666H375V500Q375 464.8 399.4 440.4T459 416H666Q701.2 416 725.6 440.4T750 500V666H834V250H166ZM0 834V750H166Q132.8 750 108.4 725.6T84 666V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V666Q916 701.2 891.6 725.6T834 750H1000V834H750Q750 867.2 725.6 891.6T666 916H459Q423.8 916 399.4 891.6T375 834V834H0ZM478.5 834Q470.7 834 464.8 839.8T459 854.5 464.8 869.1 479.5 875 494.1 869.1 500 854.5 494.1 839.8 478.5 834ZM646.5 834Q636.7 834 630.9 839.8T625 854.5 630.9 869.1 645.5 875 660.2 869.1 666 854.5 660.2 839.8 646.5 834ZM541 834V875H584V834H541ZM459 500V791H666V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"responsive\"\n      ]\n    },\n    {\n      \"uid\": \"5bb8ae3f71ec190cfd01bbacd002a137\",\n      \"css\": \"rewind\",\n      \"code\": 984159,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 500L834 750V250ZM459 750V250L103.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rewind\"\n      ]\n    },\n    {\n      \"uid\": \"48f4eb49cfef623689a545b68c0daf88\",\n      \"css\": \"ribbon\",\n      \"code\": 984160,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M558.6 804.7L691.4 937.5 750 877 617.2 746.1ZM648.4 480.5H646.5L500 627 351.6 480.5Q324.2 451.2 307.6 413.1T291 334Q291 277.3 319.3 229.5T395.5 153.3 500 125 604.5 153.3 680.7 229.5 709 334Q709 375 692.4 413.1T648.4 480.5ZM705.1 541Q746.1 502 768.6 448.2T791 334Q791 253.9 752 187.5T646.5 81.1 500 41 353.5 81.1 248 187.5 209 334Q209 392.6 231.4 447.3T294.9 541V541L441.4 687.5 250 877 308.6 937.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ribbon\"\n      ]\n    },\n    {\n      \"uid\": \"3d4d0e3d6ac77c89b8f70cfad004d3ab\",\n      \"css\": \"road\",\n      \"code\": 984161,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 666H541V834H459V666ZM459 416H541V584H459V416ZM459 166H541V334H459V166ZM166 916H834V84H166V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"road\"\n      ]\n    },\n    {\n      \"uid\": \"f1bce8bd3221239ff12457c90c339a16\",\n      \"css\": \"road-variant\",\n      \"code\": 984162,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M753.9 199.2Q752 183.6 740.2 174.8T712.9 166H541L550.8 291H449.2L459 166H283.2Q267.6 166 255.9 176.8T242.2 199.2L128.9 783.2Q127 802.7 139.6 818.4T169.9 834H416L429.7 625H570.3L584 834H824.2Q843.8 834 856.4 818.4T867.2 783.2ZM433.6 541L441.4 375H550.8L558.6 541H433.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"road-variant\"\n      ]\n    },\n    {\n      \"uid\": \"fc44c8369b0272e1bc1408074ac5e664\",\n      \"css\": \"rocket\",\n      \"code\": 984163,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 916L671.9 851.6Q714.8 757.8 736.3 656.3ZM328.1 851.6L166 916 263.7 656.3Q285.2 757.8 328.1 851.6ZM500 84Q511.7 89.8 521.5 93.8 548.8 111.3 574.2 134.8 607.4 166 634.8 209 668 261.7 687.5 328.1 709 406.3 709 500 709 668 638.7 826.2 628.9 849.6 608.4 862.3T562.5 875H437.5Q412.1 875 391.6 862.3T361.3 826.2Q291 668 291 500 291 351.6 345.7 244.1 384.8 166 445.3 117.2 476.6 91.8 500 84V84ZM500 500Q535.2 500 559.6 475.6T584 417 559.6 358.4 500 334 440.4 358.4 416 417 440.4 475.6 500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rocket\"\n      ]\n    },\n    {\n      \"uid\": \"0c514a7bb601a459a607f34ad4207650\",\n      \"css\": \"rotate-3d-variant\",\n      \"code\": 984164,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q601.6 209 687.5 242.2T824.2 333 875 459Q875 509.8 844.7 555.7T761.7 636.7Q834 580.1 834 505.9 834 447.3 789.1 398.4T667 320.3 500 291V416L334 250 500 84V209ZM500 791Q398.4 791 312.5 757.8T175.8 667 125 541Q125 490.2 155.3 444.3T238.3 363.3Q166 419.9 166 494.1 166 552.7 210.9 601.6T333 679.7 500 709V584L666 750 500 916V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-3d-variant\"\n      ]\n    },\n    {\n      \"uid\": \"0baf5eef92554954975141ef87dee55a\",\n      \"css\": \"rotate-left\",\n      \"code\": 984165,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 169.9V41L351.6 230.5 541 416V253.9Q630.9 269.5 690.4 338.9T750 500 690.4 661.1 541 746.1V830.1Q623 820.3 689.5 773.4T794.9 655.3 834 500 794.9 344.7 689.5 226.6 541 169.9ZM294.9 763.7Q367.2 820.3 459 830.1V746.1Q402.3 736.3 355.5 703.1ZM253.9 541H169.9Q179.7 630.9 236.3 703.1L294.9 644.5Q261.7 595.7 253.9 541ZM296.9 355.5L238.3 296.9Q179.7 369.1 169.9 459H253.9Q261.7 402.3 296.9 355.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-left\"\n      ]\n    },\n    {\n      \"uid\": \"67e6464c3618a2183cb5a9385fb19df7\",\n      \"css\": \"rotate-left-variant\",\n      \"code\": 984166,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H291Q326.2 84 350.6 108.4T375 166V834Q375 867.2 350.6 891.6T291 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM834 625Q867.2 625 891.6 649.4T916 709V834Q916 867.2 891.6 891.6T834 916H459V625H834ZM584 166Q673.8 166 750 210.9T871.1 333 916 500L914.1 541H830.1L834 500Q834 431.6 799.8 374T708 283.2 584 250V375L416 209 584 41V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-left-variant\"\n      ]\n    },\n    {\n      \"uid\": \"baef595a59a1d8d984ec3cb2e92cdc3d\",\n      \"css\": \"rotate-right\",\n      \"code\": 984167,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M703.1 646.5L763.7 703.1Q820.3 630.9 830.1 541H746.1Q736.3 597.7 703.1 646.5ZM541 746.1V830.1Q632.8 818.4 705.1 763.7L644.5 703.1Q597.7 736.3 541 746.1ZM830.1 459Q820.3 369.1 763.7 296.9L703.1 355.5Q736.3 402.3 746.1 459H830.1ZM648.4 230.5L459 41V169.9Q377 179.7 310.5 226.6T205.1 344.7 166 500 205.1 655.3 310.5 773.4 459 830.1V746.1Q369.1 730.5 309.6 661.1T250 500 309.6 338.9 459 253.9V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-right\"\n      ]\n    },\n    {\n      \"uid\": \"9fd5303e4bcd3f7091d0f0bf8105ae36\",\n      \"css\": \"rotate-right-variant\",\n      \"code\": 984168,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166V41L584 209 416 375V250Q349.6 250 292 283.2T200.2 374 166 500L169.9 541H85.9L84 500Q84 410.2 128.9 333T250 210.9 416 166ZM709 84H834Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H709Q673.8 916 649.4 891.6T625 834V166Q625 132.8 649.4 108.4T709 84ZM166 625H541V916H166Q132.8 916 108.4 891.6T84 834V709Q84 673.8 108.4 649.4T166 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-right-variant\"\n      ]\n    },\n    {\n      \"uid\": \"7c2da53feda6c493365aa1da00d1a705\",\n      \"css\": \"router-wireless\",\n      \"code\": 984169,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M841.8 246.1L875 212.9Q832 169.9 778.3 147.5T667 125 555.7 147.5 459 212.9L492.2 246.1Q529.3 210.9 574.2 193.4T666 175.8 758.8 193.4 841.8 246.1ZM804.7 279.3Q775.4 252 740.2 236.3T667 220.7 592.8 236.3 529.3 279.3L562.5 312.5Q603.5 271.5 666 271.5T771.5 312.5ZM791 541H709V375H625V541H209Q173.8 541 149.4 565.4T125 625V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V625Q875 589.8 850.6 565.4T791 541ZM334 750H250V666H334V750ZM478.5 750H396.5V666H478.5V750ZM625 750H541V666H625V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"router-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"aafa1c35505b5c1f38994159d07b9699\",\n      \"css\": \"routes\",\n      \"code\": 984170,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 416H209L125 334 209 250H459V125L500 84 541 125V166H791L875 250 791 334H541V416H791L875 500 791 584H541V834Q576.2 834 600.6 858.4T625 916H375Q375 882.8 399.4 858.4T459 834V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"routes\"\n      ]\n    },\n    {\n      \"uid\": \"c707c9a47896cad48ac22bb9ce879666\",\n      \"css\": \"rss\",\n      \"code\": 984171,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M257.8 652.3Q294.9 652.3 321.3 678.7T347.7 742.2 321.3 806.6 257.8 834 193.4 806.6 166 742.2 193.4 678.7 257.8 652.3ZM166 185.5Q343.8 185.5 494.1 273.4 640.6 359.4 726.6 505.9 814.5 656.3 814.5 834H697.3Q697.3 689.5 626 567.4T432.6 374 166 302.7V185.5ZM166 419.9Q279.3 419.9 374 475.6T524.4 626 580.1 834H460.9Q460.9 753.9 421.9 685.5T314.5 578.1 166 539.1V419.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rss\"\n      ]\n    },\n    {\n      \"uid\": \"4158491e55a79d656ce0998796a21efe\",\n      \"css\": \"rss-box\",\n      \"code\": 984172,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM312.5 625Q287.1 625 268.6 643.6T250 687.5 268.6 731.4 312.5 750 356.4 731.4 375 687.5 356.4 643.6 312.5 625ZM250 416V500Q318.4 500 376 533.2T466.8 624 500 750H584Q584 660.2 539.1 583T417 460.9 250 416ZM250 250V334Q332 334 409.2 365.2T544.9 455.1 634.8 590.8 666 750H750Q750 613.3 682.6 499T501 317.4 250 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rss-box\"\n      ]\n    },\n    {\n      \"uid\": \"90dddbcb0bae5f532e2bf5d69bcc371d\",\n      \"css\": \"ruler\",\n      \"code\": 984173,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M58.6 765.6L130.9 691.4 191.4 750 234.4 707 175.8 648.4 234.4 587.9 337.9 691.4 382.8 648.4 279.3 544.9 337.9 486.3 396.5 544.9 441.4 500 382.8 441.4 441.4 382.8 544.9 486.3 587.9 441.4 486.3 337.9 544.9 279.3 603.5 337.9 648.4 293 587.9 234.4 648.4 175.8 750 279.3 794.9 234.4 691.4 130.9 765.6 58.6 941.4 234.4 234.4 941.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ruler\"\n      ]\n    },\n    {\n      \"uid\": \"abd1c90459e4c9f2bb0538ca6a8414c0\",\n      \"css\": \"run-fast\",\n      \"code\": 984174,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 228.5Q722.7 228.5 747.1 204.1T771.5 145.5 747.1 86.9 687.5 62.5 627.9 86.9 603.5 145.5 627.9 204.1 687.5 228.5ZM537.1 808.6L580.1 625 666 709V959H750V646.5L662.1 562.5 687.5 437.5Q730.5 486.3 791 513.7T916 541V459Q861.3 459 813.5 432.6T738.3 357.4L695.3 291Q683.6 273.4 665 261.7T625 250Q619.1 250 608.4 252T591.8 253.9L375 345.7V541H459V400.4L533.2 371.1 466.8 709 261.7 666 246.1 750ZM166 375Q148.4 375 136.7 363.3T125 334 136.7 303.7 166 291H291V375H166ZM209 209Q191.4 209 178.7 196.3T166 166 178.7 136.7 209 125H416V209H209ZM125 541Q107.4 541 95.7 529.3T84 500 95.7 470.7 125 459H291V541H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"run-fast\"\n      ]\n    },\n    {\n      \"uid\": \"673c781edb052761fdd34f044ef8ce77\",\n      \"css\": \"sale\",\n      \"code\": 984175,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M777.3 119.1L802.7 279.3 949.2 353.5 875 500 949.2 646.5 800.8 720.7 775.4 880.9 613.3 855.5 498 970.7 382.8 853.5 222.7 880.9 195.3 718.8 50.8 644.5 125 498 50.8 353.5 197.3 279.3 222.7 119.1 384.8 146.5 500 29.3 615.2 144.5ZM396.5 291Q369.1 291 351.6 309.6T334 354.5 351.6 398.4 395.5 416 440.4 398.4 459 354.5 440.4 309.6 396.5 291ZM603.5 584Q578.1 584 559.6 601.6T541 645.5 559.6 690.4 604.5 709 648.4 690.4 666 645.5 648.4 601.6 603.5 584ZM349.6 709L709 349.6 650.4 291 291 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sale\"\n      ]\n    },\n    {\n      \"uid\": \"a1d64d69d1ffe2d41a62486e2f7ac1d4\",\n      \"css\": \"satellite\",\n      \"code\": 984176,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 750L353.5 562.5 459 687.5 603.5 500 791 750H209ZM209 500V416Q265.6 416 313.5 388.7T388.7 313.5 416 209H500Q500 287.1 460.9 354.5T354.5 460.9 209 500ZM209 209H334Q334 259.8 296.9 296.9T209 334V209ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"satellite\"\n      ]\n    },\n    {\n      \"uid\": \"5f6a81ba3948f447d8738858356c0746\",\n      \"css\": \"satellite-variant\",\n      \"code\": 984177,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M484.4 41L720.7 277.3 630.9 367.2 543 277.3 484.4 337.9 582 433.6 533.2 482.4 550.8 502Q582 488.3 614.3 493.2T669.9 523.4L523.4 669.9Q498 646.5 493.2 614.3T502 550.8L482.4 533.2 433.6 582 337.9 484.4 277.3 543 367.2 630.9 277.3 720.7 41 484.4 130.9 396.5 218.8 484.4 277.3 425.8 160.2 306.6Q134.8 283.2 134.8 249T160.2 189.5L189.5 160.2Q214.8 134.8 249 134.8T306.6 160.2L425.8 277.3 484.4 218.8 396.5 130.9ZM750 584Q750 652.3 701.2 701.2T584 750V666Q617.2 666 641.6 641.6T666 584H750ZM916 584Q916 673.8 871.1 750T750 871.1 584 916V834Q650.4 834 708 799.8T799.8 708 834 584H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"satellite-variant\"\n      ]\n    },\n    {\n      \"uid\": \"9ee18f640b72238ce478408c13af53cf\",\n      \"css\": \"scale\",\n      \"code\": 984178,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M351.6 627L293 685.5 236.3 628.9Q179.7 701.2 169.9 791H250V875H84V834Q84 734.4 127 648.4T246.1 502.9 416 425.8V341.8L84 209V125H916V209L584 341.8V425.8Q677.7 443.4 753.9 502.9T873 648.4 916 834V875H750V791H830.1Q820.3 701.2 763.7 628.9L707 685.5 648.4 627 705.1 570.3Q630.9 513.7 541 502V584H459V502Q369.1 513.7 294.9 570.3ZM500 750Q535.2 750 559.6 774.4T584 833 559.6 891.6 500 916Q480.5 916 462.9 908.2L302.7 834 462.9 757.8Q480.5 750 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scale\"\n      ]\n    },\n    {\n      \"uid\": \"ce73fa7d2b3f0b8b41babd1677e418be\",\n      \"css\": \"scale-bathroom\",\n      \"code\": 984179,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84H791Q826.2 84 850.6 108.4T875 166V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V166Q125 132.8 149.4 108.4T209 84ZM500 166Q431.6 166 382.8 214.8T334 334H468.8L451.2 218.8 537.1 334H666Q666 263.7 617.2 214.8T500 166ZM209 416V834H791V416H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scale-bathroom\"\n      ]\n    },\n    {\n      \"uid\": \"466d9099f50baabdec9c65b7868d72f9\",\n      \"css\": \"school\",\n      \"code\": 984180,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L41 375 500 625 875 419.9V709H959V375ZM209 548.8V716.8L500 875 791 716.8V548.8L500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"school\"\n      ]\n    },\n    {\n      \"uid\": \"fe17dcf349856339205da73850f13c08\",\n      \"css\": \"screen-rotation\",\n      \"code\": 984181,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 896.5Q209 845.7 142.6 752T64.5 541H2Q11.7 668 81.1 773.4T260.7 939.5 500 1000L527.3 998 369.1 839.8ZM617.2 882.8L117.2 382.8 382.8 117.2 882.8 617.2ZM425.8 72.3Q408.2 54.7 381.8 54.7T337.9 72.3L72.3 337.9Q54.7 355.5 54.7 381.8T72.3 425.8L574.2 927.7Q591.8 945.3 618.2 945.3T662.1 927.7L927.7 662.1Q945.3 644.5 945.3 618.2T927.7 574.2ZM687.5 103.5Q791 154.3 857.4 248T935.5 459H998Q988.3 332 918.9 226.6T739.3 60.5 500 0L472.7 2 630.9 160.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screen-rotation\"\n      ]\n    },\n    {\n      \"uid\": \"3b4b8ebaeb79317098401cbe42de59c8\",\n      \"css\": \"screwdriver\",\n      \"code\": 984182,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 76.2Q714.8 76.2 691.4 99.6L334 459 396.5 521.5 250 666H166L84 834 166 916 334 834V750L478.5 603.5 541 666 900.4 308.6Q919.9 279.3 920.9 247.1T900.4 191.4L808.6 99.6Q785.2 76.2 750 76.2ZM750 166L834 250 541 541 459 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screwdriver\"\n      ]\n    },\n    {\n      \"uid\": \"20594d74e8ae4c49c5aeaf3da537897c\",\n      \"css\": \"script-outline\",\n      \"code\": 984183,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q642.6 834 654.3 821.3T666 791V166H334Q316.4 166 303.7 178.7T291 209V666H209V209Q209 156.3 245.1 120.1T334 84H791Q843.8 84 879.9 120.1T916 209V250H834V209Q834 191.4 821.3 178.7T791 166 761.7 178.7 750 209V791Q750 843.8 713.9 879.9T625 916H209Q156.3 916 120.1 879.9T84 791V750H541Q541 785.2 565.4 809.6T625 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"script-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f1488a1c3e8e29ee7ce103ca9954e3de\",\n      \"css\": \"screen-rotation-lock\",\n      \"code\": 984184,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M699.2 103.5Q699.2 74.2 720.7 53.7T771.5 33.2 821.3 53.7 841.8 103.5V125H699.2V103.5ZM666 375H875Q892.6 375 904.3 363.3T916 334V166Q916 148.4 904.3 136.7T875 125V103.5Q875 60.5 844.7 30.3T771.5 0 697.3 30.3 666 103.5V125Q648.4 125 636.7 136.7T625 166V334Q625 351.6 636.7 363.3T666 375ZM353.5 853.5Q250 804.7 182.6 710T103.5 500H41Q52.7 627 121.1 731.4T299.8 897.5 539.1 959L566.4 957 408.2 798.8ZM968.8 531.3L861.3 425.8 802.7 484.4 896.5 576.2 660.2 812.5 187.5 339.8 423.8 103.5 511.7 191.4 570.3 132.8 468.8 31.3Q449.2 13.7 423.8 13.7T378.9 31.3L115.2 296.9Q95.7 314.5 95.7 340.8T115.2 384.8L615.2 884.8Q634.8 904.3 660.2 904.3T703.1 884.8L968.8 621.1Q986.3 601.6 986.3 576.2T968.8 531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screen-rotation-lock\"\n      ]\n    },\n    {\n      \"uid\": \"8d235c898ce73bd8c77218909a6a33a6\",\n      \"css\": \"sd\",\n      \"code\": 984185,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334H666V166H750V334ZM625 334H541V166H625V334ZM500 334H416V166H500V334ZM750 84H416L166 334V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sd\"\n      ]\n    },\n    {\n      \"uid\": \"dc3fb15f34321bb4c0ef8c656a509a49\",\n      \"css\": \"seal\",\n      \"code\": 984186,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M849.6 806.6L681.6 750 625 916 496.1 666 375 916 318.4 750 150.4 806.6 271.5 556.6Q209 476.6 209 375 209 294.9 248 228.5T353.5 123 500 84 646.5 123 752 228.5 791 375Q791 476.6 728.5 556.6ZM291 375L404.3 431.6 396.5 556.6 500 486.3 603.5 554.7 597.7 431.6 709 375 595.7 318.4 603.5 195.3 500 263.7 396.5 193.4 402.3 318.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seal\"\n      ]\n    },\n    {\n      \"uid\": \"396983117312d5fcf056d02ba9b57f10\",\n      \"css\": \"seat-flat\",\n      \"code\": 984187,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 459V541H375V291H750Q818.4 291 867.2 339.8T916 459ZM84 584V666H334V750H666V666H916V584H84ZM296.9 503.9Q334 466.8 333 415T294.9 327.1 206.1 292 118.2 330.1 83 418.9 121.1 506.8 210 542 296.9 503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-flat\"\n      ]\n    },\n    {\n      \"uid\": \"eb2413236f2faff963c5a5bda98882c3\",\n      \"css\": \"seat-flat-angled\",\n      \"code\": 984188,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M927.7 595.7L898.4 673.8 382.8 488.3 470.7 252 826.2 380.9Q892.6 404.3 921.9 466.8T927.7 595.7ZM62.5 505.9L334 603.5V791H666V724.6L853.5 791 882.8 712.9 91.8 427.7ZM304.7 425.8Q351.6 402.3 368.2 353.5T362.3 257.8 291 194.3 195.3 200.2 131.8 271.5 137.7 367.2 209 430.7 304.7 425.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-flat-angled\"\n      ]\n    },\n    {\n      \"uid\": \"67b0fd85ee2e2162b8c71a035bf9c5aa\",\n      \"css\": \"seat-individual-suite\",\n      \"code\": 984189,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 541Q343.8 541 379.9 504.9T416 417 379.9 328.1 292 291 203.1 328.1 166 417 203.1 504.9 291 541ZM791 291H459V584H125V291H41V709H959V459Q959 388.7 910.2 339.8T791 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-individual-suite\"\n      ]\n    },\n    {\n      \"uid\": \"84e4806d562c53041c773cad781c7958\",\n      \"css\": \"seat-legroom-extra\",\n      \"code\": 984190,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 500V125H84V500Q84 556.6 111.3 604.5T186.5 680.7 291 709H541V625H291Q240.2 625 203.1 588.9T166 500ZM951.2 718.8Q939.5 695.3 915 688.5T867.2 691.4L820.3 712.9 679.7 421.9Q668 400.4 648.4 387.7T603.5 375H459V125H209V459Q209 509.8 245.1 546.9T334 584H625L767.6 875 921.9 804.7Q945.3 793 954.1 767.6T951.2 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-legroom-extra\"\n      ]\n    },\n    {\n      \"uid\": \"cb0e6059c0c3cf9945d61d0dbdd66a90\",\n      \"css\": \"seat-legroom-normal\",\n      \"code\": 984191,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 500V125H125V500Q125 556.6 153.3 604.5T229.5 680.7 334 709H584V625H334Q281.3 625 245.1 588.9T209 500ZM853.5 750H791V459Q791 423.8 766.6 399.4T709 375H500V125H250V459Q250 509.8 286.1 546.9T375 584H666V875H853.5Q880.9 875 898.4 856.4T916 812.5 898.4 768.6 853.5 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-legroom-normal\"\n      ]\n    },\n    {\n      \"uid\": \"b61ea436d6f61c8847f14a489ddc37b0\",\n      \"css\": \"seat-legroom-reduced\",\n      \"code\": 984192,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M832 800.8Q837.9 830.1 819.3 852.5T771.5 875H584V750L625 584H375Q322.3 584 286.1 546.9T250 459V125H500V375H709Q742.2 375 766.6 399.4T791 459L709 750H767.6Q791 750 809.6 763.7T832 800.8ZM209 500V125H125V500Q125 556.6 153.3 604.5T229.5 680.7 334 709H500V625H334Q281.3 625 245.1 588.9T209 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-legroom-reduced\"\n      ]\n    },\n    {\n      \"uid\": \"6f7d2deb4dd146019c1a371948ddd754\",\n      \"css\": \"seat-recline-extra\",\n      \"code\": 984193,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M222.7 234.4Q195.3 214.8 189.5 180.7T203.1 118.2 256.8 84 319.3 98.6 353.5 152.3 338.9 213.9 285.2 248 222.7 234.4ZM666 791H373Q326.2 791 291 761.7T248 685.5L166 291H84L166 699.2Q177.7 775.4 236.3 825.2T373 875H666V791ZM675.8 625H472.7L429.7 455.1Q486.3 486.3 533.2 498 589.8 513.7 644.5 505.9V416Q595.7 425.8 543 411.1T449.2 363.3L380.9 310.5Q367.2 300.8 347.7 294.9T308.6 293H306.6Q269.5 298.8 247.1 331.1T230.5 402.3L287.1 648.4Q294.9 693.4 330.1 721.7T410.2 750H695.3L853.5 875 916 812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-recline-extra\"\n      ]\n    },\n    {\n      \"uid\": \"f93bab6dc450025bb8fef505a6a29631\",\n      \"css\": \"seat-recline-normal\",\n      \"code\": 984194,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M316.4 224.6Q291 201.2 291 167T315.4 108.4 375 84 434.6 108.4 459 167 434.6 225.6 375 250 316.4 224.6ZM250 666V291H166V666Q166 722.7 194.3 770.5T270.5 846.7 375 875H625V791H375Q322.3 791 286.1 754.9T250 666ZM834 835.9L623 625H478.5V470.7Q525.4 509.8 585.9 535.2 652.3 562.5 709 562.5V470.7Q656.3 472.7 601.6 448.2T513.7 386.7L455.1 322.3Q445.3 310.5 425.8 300.8T386.7 291H384.8Q345.7 291 318.4 318.4T291 384.8V625Q291 677.7 328.1 713.9T416 750H627L773.4 896.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-recline-normal\"\n      ]\n    },\n    {\n      \"uid\": \"47fec2f32510adc071b0bcde1d1b8f2b\",\n      \"css\": \"security\",\n      \"code\": 984195,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500H791Q775.4 630.9 695.3 733.4T500 871.1V500H209V261.7L500 132.8V500ZM500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"security\"\n      ]\n    },\n    {\n      \"uid\": \"34f5972c1aa0db752df6ccf1d4c75f5e\",\n      \"css\": \"security-network\",\n      \"code\": 984196,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V722.7Q367.2 683.6 308.6 594.7T250 402.3V236.3L500 125 750 236.3V402.3Q750 505.9 691.4 594.7T541 722.7V791ZM500 209L334 279.3V416H500V209ZM500 416V666Q539.1 656.3 578.1 623T641.6 544.9 666 459V416H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"security-network\"\n      ]\n    },\n    {\n      \"uid\": \"fff1fc4af12308a9e4657114512b9672\",\n      \"css\": \"select\",\n      \"code\": 984197,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H209V209H125V166Q125 148.4 136.7 136.7T166 125ZM834 125Q851.6 125 863.3 136.7T875 166V209H791V125H834ZM625 209V125H709V209H625ZM459 209V125H541V209H459ZM291 209V125H375V209H291ZM875 834Q875 851.6 863.3 863.3T834 875H791V791H875V834ZM625 875V791H709V875H625ZM459 875V791H541V875H459ZM291 875V791H375V875H291ZM166 875Q148.4 875 136.7 863.3T125 834V791H209V875H166ZM125 625H209V709H125V625ZM875 625V709H791V625H875ZM125 459H209V541H125V459ZM875 459V541H791V459H875ZM125 291H209V375H125V291ZM875 291V375H791V291H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select\"\n      ]\n    },\n    {\n      \"uid\": \"19643d7af88cbabce4c091123bc8d704\",\n      \"css\": \"select-all\",\n      \"code\": 984198,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 375H625V625H375V375ZM291 709H709V291H291V709ZM625 209H709V125H625V209ZM625 875H709V791H625V875ZM791 709H875V625H791V709ZM791 375H875V291H791V375ZM791 875Q826.2 875 850.6 850.6T875 791H791V875ZM791 541H875V459H791V541ZM459 875H541V791H459V875ZM375 125H291V209H375V125ZM125 709H209V625H125V709ZM209 875V791H125Q125 826.2 149.4 850.6T209 875ZM791 125V209H875Q875 173.8 850.6 149.4T791 125ZM541 125H459V209H541V125ZM125 375H209V291H125V375ZM291 875H375V791H291V875ZM125 541H209V459H125V541ZM125 209H209V125Q173.8 125 149.4 149.4T125 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-all\"\n      ]\n    },\n    {\n      \"uid\": \"5cd741ed5b3c287bbbba5fe641078078\",\n      \"css\": \"select-inverse\",\n      \"code\": 984199,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H291V209H375V125H459V209H541V125H625V209H709V125H791V209H875V291H791V375H875V459H791V541H875V625H791V709H875V791H791V875H709V791H625V875H541V791H459V875H375V791H291V875H209V791H125V709H209V625H125V541H209V459H125V375H209V291H125V209H209V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-inverse\"\n      ]\n    },\n    {\n      \"uid\": \"788f4942d240ec9ab4dbed5c075248ef\",\n      \"css\": \"select-off\",\n      \"code\": 984200,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 875 904.3 822.3 959 709 843.8V875H625V791H656.3L209 343.8V375H125V291H156.3ZM834 125Q851.6 125 863.3 136.7T875 166V209H791V125H834ZM625 209V125H709V209H625ZM459 209V125H541V209H459ZM291 209V125H375V209H291ZM459 875V791H541V875H459ZM291 875V791H375V875H291ZM166 875Q148.4 875 136.7 863.3T125 834V791H209V875H166ZM125 625H209V709H125V625ZM875 625V709H791V625H875ZM125 459H209V541H125V459ZM875 459V541H791V459H875ZM875 291V375H791V291H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-off\"\n      ]\n    },\n    {\n      \"uid\": \"80acfcca63e748ad6762e88194de71d8\",\n      \"css\": \"selection\",\n      \"code\": 984201,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q84 132.8 108.4 108.4T166 84H291V166H166V291H84V166ZM916 166V291H834V166H709V84H834Q867.2 84 891.6 108.4T916 166ZM834 834V709H916V834Q916 867.2 891.6 891.6T834 916H709V834H834ZM84 834V709H166V834H291V916H166Q132.8 916 108.4 891.6T84 834ZM416 84H584V166H416V84ZM416 834H584V916H416V834ZM834 416H916V584H834V416ZM84 416H166V584H84V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection\"\n      ]\n    },\n    {\n      \"uid\": \"e3c71ed7c639bcde1a544e5fb14f8bcc\",\n      \"css\": \"send\",\n      \"code\": 984202,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 875L959 500 84 125V416L709 500 84 584V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send\"\n      ]\n    },\n    {\n      \"uid\": \"fb65883b0d55ed7541b0af1b0a1e142d\",\n      \"css\": \"server\",\n      \"code\": 984203,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41H834Q851.6 41 863.3 53.7T875 84V250Q875 267.6 863.3 279.3T834 291H166Q148.4 291 136.7 279.3T125 250V84Q125 66.4 136.7 53.7T166 41ZM166 375H834Q851.6 375 863.3 386.7T875 416V584Q875 601.6 863.3 613.3T834 625H166Q148.4 625 136.7 613.3T125 584V416Q125 398.4 136.7 386.7T166 375ZM166 709H834Q851.6 709 863.3 720.7T875 750V916Q875 933.6 863.3 946.3T834 959H166Q148.4 959 136.7 946.3T125 916V750Q125 732.4 136.7 720.7T166 709ZM375 209H416V125H375V209ZM375 541H416V459H375V541ZM375 875H416V791H375V875ZM209 125V209H291V125H209ZM209 459V541H291V459H209ZM209 791V875H291V791H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server\"\n      ]\n    },\n    {\n      \"uid\": \"cf0cd00b92bf54033fda3e041c6aadbf\",\n      \"css\": \"server-minus\",\n      \"code\": 984204,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q851.6 166 863.3 178.7T875 209V375Q875 392.6 863.3 404.3T834 416H166Q148.4 416 136.7 404.3T125 375V209Q125 191.4 136.7 178.7T166 166ZM375 334H416V250H375V334ZM209 250V334H291V250H209ZM334 666H666V750H334V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-minus\"\n      ]\n    },\n    {\n      \"uid\": \"b5a99278234876d1f5602dd6d6ba360d\",\n      \"css\": \"server-network\",\n      \"code\": 984205,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H166Q148.4 709 136.7 696.3T125 666V500Q125 482.4 136.7 470.7T166 459H834Q851.6 459 863.3 470.7T875 500V666Q875 683.6 863.3 696.3T834 709H541V791ZM166 125H834Q851.6 125 863.3 136.7T875 166V334Q875 351.6 863.3 363.3T834 375H166Q148.4 375 136.7 363.3T125 334V166Q125 148.4 136.7 136.7T166 125ZM375 291H416V209H375V291ZM375 625H416V541H375V625ZM209 209V291H291V209H209ZM209 541V625H291V541H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-network\"\n      ]\n    },\n    {\n      \"uid\": \"c817dc1b0e81ffc054d58c4f94428882\",\n      \"css\": \"server-network-off\",\n      \"code\": 984206,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791H584Q601.6 791 613.3 803.7T625 834H656.3L541 718.8V791ZM916 834V882.8L867.2 834H916ZM875 947.3L822.3 1000 738.3 916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H166Q148.4 709 136.7 696.3T125 666V500Q125 482.4 136.7 470.7T166 459H281.3L197.3 375H166Q148.4 375 136.7 363.3T125 334V302.7L41 218.8 95.7 166ZM166 125H834Q851.6 125 863.3 136.7T875 166V334Q875 351.6 863.3 363.3T834 375H408.2L291 257.8V209H242.2L160.2 125H166ZM834 459Q851.6 459 863.3 470.7T875 500V666Q875 683.6 863.3 696.3T834 709H742.2L492.2 459H834ZM375 291H416V209H375V291ZM375 625H416V593.8L375 552.7V625ZM209 541V625H291V541H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-network-off\"\n      ]\n    },\n    {\n      \"uid\": \"f6e2ddbcb51b53747badf88c6584f657\",\n      \"css\": \"server-off\",\n      \"code\": 984207,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41H834Q851.6 41 863.3 53.7T875 84V250Q875 267.6 863.3 279.3T834 291H367.2L283.2 209H291V125H209V132.8L132.8 58.6Q146.5 41 166 41ZM916 947.3L863.3 1000 822.3 959H166Q148.4 959 136.7 946.3T125 916V750Q125 732.4 136.7 720.7T166 709H572.3L488.3 625H166Q148.4 625 136.7 613.3T125 584V416Q125 398.4 136.7 386.7T166 375H238.3L154.3 289.1Q132.8 283.2 127 263.7L41 177.7 95.7 125ZM834 375Q851.6 375 863.3 386.7T875 416V584Q875 601.6 863.3 613.3T834 625H701.2L451.2 375H834ZM834 709Q851.6 709 863.3 720.7T875 750V798.8L783.2 709H834ZM375 209H416V125H375V209ZM375 541H406.3L375 511.7V541ZM375 875H416V791H375V875ZM209 459V541H291V459H209ZM209 791V875H291V791H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-off\"\n      ]\n    },\n    {\n      \"uid\": \"7df7a0df923477daf372dedea936659d\",\n      \"css\": \"server-plus\",\n      \"code\": 984208,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q851.6 166 863.3 178.7T875 209V375Q875 392.6 863.3 404.3T834 416H166Q148.4 416 136.7 404.3T125 375V209Q125 191.4 136.7 178.7T166 166ZM375 334H416V250H375V334ZM209 250V334H291V250H209ZM334 666H459V541H541V666H666V750H541V875H459V750H334V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-plus\"\n      ]\n    },\n    {\n      \"uid\": \"8485125484bf0ae2e8fb2833fdfbc709\",\n      \"css\": \"server-remove\",\n      \"code\": 984209,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q851.6 166 863.3 178.7T875 209V375Q875 392.6 863.3 404.3T834 416H166Q148.4 416 136.7 404.3T125 375V209Q125 191.4 136.7 178.7T166 166ZM375 334H416V250H375V334ZM209 250V334H291V250H209ZM441.4 709L334 599.6 392.6 541 500 650.4 607.4 541 666 599.6 558.6 709 666 816.4 607.4 875 500 767.6 392.6 875 334 816.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-remove\"\n      ]\n    },\n    {\n      \"uid\": \"34a7f0a442583e759b12a8d33c224f5d\",\n      \"css\": \"server-security\",\n      \"code\": 984210,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41H791Q808.6 41 821.3 53.7T834 84V250Q834 267.6 821.3 279.3T791 291H125Q107.4 291 95.7 279.3T84 250V84Q84 66.4 95.7 53.7T125 41ZM125 375H791Q808.6 375 821.3 386.7T834 416V445.3L728.5 398.4 459 517.6V625H125Q107.4 625 95.7 613.3T84 584V416Q84 398.4 95.7 386.7T125 375ZM125 709H459Q460.9 777.3 487.3 842.8T560.5 959H125Q107.4 959 95.7 946.3T84 916V750Q84 732.4 95.7 720.7T125 709ZM334 209H375V125H334V209ZM334 541H375V459H334V541ZM334 875H375V791H334V875ZM166 125V209H250V125H166ZM166 459V541H250V459H166ZM166 791V875H250V791H166ZM728.5 500L916 584V709Q916 794.9 863.3 867.2T728.5 959Q648.4 939.5 594.7 867.2T541 709V584ZM728.5 580.1L625 627V738.3Q625 787.1 654.3 827.1T728.5 877V580.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"server-security\"\n      ]\n    },\n    {\n      \"uid\": \"064c858c826d67a70f7d284fdadd9be5\",\n      \"css\": \"cog\",\n      \"code\": 984211,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 646.5Q439.5 646.5 396.5 603.5T353.5 500 396.5 396.5 500 353.5 603.5 396.5 646.5 500 603.5 603.5 500 646.5ZM810.5 541Q812.5 517.6 812.5 500T810.5 459L898.4 390.6Q904.3 384.8 905.3 377.9T902.3 363.3L818.4 218.8Q816.4 212.9 808.6 210T793 210.9L689.5 252Q654.3 224.6 619.1 210.9L603.5 101.6Q603.5 93.8 597.7 88.9T584 84H416Q408.2 84 402.3 88.9T396.5 101.6L380.9 210.9Q345.7 224.6 310.5 252L207 210.9Q199.2 207 191.4 210T181.6 218.8L97.7 363.3Q93.8 371.1 94.7 377.9T101.6 390.6L189.5 459Q187.5 482.4 187.5 500T189.5 541L101.6 609.4Q95.7 615.2 94.7 622.1T97.7 636.7L181.6 781.3Q183.6 787.1 191.4 790T207 789.1L310.5 748Q345.7 775.4 380.9 789.1L396.5 898.4Q396.5 906.3 402.3 911.1T416 916H584Q591.8 916 597.7 911.1T603.5 898.4L619.1 789.1Q656.3 773.4 689.5 748L793 789.1Q800.8 793 808.6 790T818.4 781.3L902.3 636.7Q906.3 628.9 905.3 622.1T898.4 609.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog\"\n      ]\n    },\n    {\n      \"uid\": \"e76406c81ec4ce8d520581f0459cf83a\",\n      \"css\": \"cog-box\",\n      \"code\": 984212,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M718.8 500Q718.8 513.7 716.8 529.3L779.3 576.2Q787.1 584 781.3 595.7L722.7 695.3Q716.8 707 705.1 703.1L632.8 673.8Q611.3 691.4 584 701.2L572.3 779.3Q572.3 785.2 568.4 788.1T558.6 791H441.4Q435.5 791 431.6 788.1T427.7 779.3L416 701.2Q390.6 691.4 367.2 673.8L294.9 703.1Q283.2 707 277.3 695.3L218.8 595.7Q212.9 584 220.7 576.2L283.2 529.3Q281.3 513.7 281.3 500T283.2 470.7L220.7 423.8Q212.9 416 218.8 404.3L277.3 304.7Q283.2 293 294.9 296.9L367.2 326.2Q390.6 306.6 416 298.8L427.7 220.7Q427.7 214.8 431.6 211.9T441.4 209H558.6Q564.5 209 568.4 211.9T572.3 220.7L584 298.8Q609.4 308.6 632.8 326.2L705.1 296.9Q716.8 293 722.7 304.7L781.3 404.3Q787.1 416 779.3 423.8L716.8 470.7Q718.8 486.3 718.8 500ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-box\"\n      ]\n    },\n    {\n      \"uid\": \"925f20ff7bd8ff1d5eb7144785fedc91\",\n      \"css\": \"shape-plus\",\n      \"code\": 984213,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H459V459H84V84ZM728.5 84Q806.6 84 861.3 138.7T916 271.5 861.3 404.3 728.5 459 595.7 404.3 541 271.5 595.7 138.7 728.5 84ZM271.5 584L459 916H84ZM791 709H916V791H791V916H709V791H584V709H709V584H791V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-plus\"\n      ]\n    },\n    {\n      \"uid\": \"6db3ec6d6445cb20997133df4b4fd028\",\n      \"css\": \"share\",\n      \"code\": 984214,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 500L584 209V375Q380.9 404.3 259.8 541 160.2 656.3 125 834 203.1 724.6 314.5 672.9T584 621.1V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share\"\n      ]\n    },\n    {\n      \"uid\": \"24dc89e0fc58e6c1e645815204d4d626\",\n      \"css\": \"share-variant\",\n      \"code\": 984215,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 669.9Q703.1 669.9 668 701.2L371.1 529.3Q375 511.7 375 500T371.1 470.7L664.1 298.8Q701.2 334 752 334T838.9 296.9 875 208 838.9 120.1 750 84 661.1 120.1 625 209Q625 220.7 628.9 238.3L335.9 408.2Q298.8 375 248 375T161.1 411.1 125 500 161.1 588.9 248 625 335.9 591.8L630.9 763.7Q628.9 777.3 628.9 791 628.9 841.8 664.1 877T750 912.1 835.9 877 871.1 792 835.9 706.1 750 669.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-variant\"\n      ]\n    },\n    {\n      \"uid\": \"262f45fe0d4cb3ac18214d06e0f4c10a\",\n      \"css\": \"shield\",\n      \"code\": 984216,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield\"\n      ]\n    },\n    {\n      \"uid\": \"90b099361af6bae6102e2eae8ede48db\",\n      \"css\": \"shield-outline\",\n      \"code\": 984217,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aad36ddcba02cbe476babe3c9abe43f6\",\n      \"css\": \"shopping\",\n      \"code\": 984218,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 541Q459 541 420.9 525.4T353.5 480.5 307.6 413.1 291 334H375Q375 384.8 411.1 421.9T500 459 588.9 421.9 625 334H709Q709 390.6 680.7 438.5T604.5 513.7 500 541ZM500 125Q552.7 125 588.9 161.1T625 250H375Q375 197.3 411.1 161.1T500 125ZM791 250H709Q709 193.4 680.7 145.5T604.5 69.3 500 41 395.5 69.3 319.3 145.5 291 250H209Q173.8 250 149.4 274.4T125 334V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V334Q875 298.8 850.6 274.4T791 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shopping\"\n      ]\n    },\n    {\n      \"uid\": \"c5701775056a8ed14298662eb5f0cac4\",\n      \"css\": \"shopping-music\",\n      \"code\": 984219,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q447.3 125 411.1 161.1T375 250H625Q625 197.3 588.9 161.1T500 125ZM791 250Q826.2 250 850.6 274.4T875 334V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V334Q125 298.8 149.4 274.4T209 250H291Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250H791ZM375 791L687.5 584 375 416V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shopping-music\"\n      ]\n    },\n    {\n      \"uid\": \"a8aa15029079b5f4c63f76dff8b891b6\",\n      \"css\": \"shredder\",\n      \"code\": 984220,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125V291H334V209H666V291H750V125H250ZM209 334Q156.3 334 120.1 370.1T84 459V709H209V584H791V709H916V459Q916 406.3 879.9 370.1T791 334H209ZM750 416Q767.6 416 779.3 428.7T791 459 779.3 488.3 750 500 720.7 488.3 709 459 720.7 428.7 750 416ZM291 666V875H375V666H291ZM459 666V834H541V666H459ZM625 666V875H709V666H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shredder\"\n      ]\n    },\n    {\n      \"uid\": \"a21263c815a24b5577823719789e7fde\",\n      \"css\": \"shuffle\",\n      \"code\": 984221,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 558.6L558.6 617.2 689.5 748 603.5 834H834V603.5L748 689.5ZM603.5 166L689.5 252 166 775.4 224.6 834 748 310.5 834 396.5V166H603.5ZM441.4 382.8L224.6 166 166 224.6 382.8 441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shuffle\"\n      ]\n    },\n    {\n      \"uid\": \"a1f9050ae2060be61b2d601efe3ffb62\",\n      \"css\": \"shuffle-disabled\",\n      \"code\": 984222,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 187.5V291H209V375H666V478.5L812.5 334ZM666 521.5V625H209V709H666V812.5L812.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shuffle-disabled\"\n      ]\n    },\n    {\n      \"uid\": \"5552e1688907a56e6c77194969c751f9\",\n      \"css\": \"shuffle-variant\",\n      \"code\": 984223,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125L927.7 312.5 709 500 927.7 687.5 709 875V750H593.8L476.6 632.8 564.5 544.9 646.5 625H709V375H646.5L271.5 750H84V625H218.8L593.8 250H709V125ZM84 250H271.5L388.7 367.2 300.8 455.1 218.8 375H84V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shuffle-variant\"\n      ]\n    },\n    {\n      \"uid\": \"460fce6e945ee2b6ad84d26b674c97f4\",\n      \"css\": \"sigma\",\n      \"code\": 984224,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 250H367.2L617.2 500 367.2 750H750V834H250V750L500 500 250 250V166H750V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sigma\"\n      ]\n    },\n    {\n      \"uid\": \"62551d604fd384b6907a187357a2e7a0\",\n      \"css\": \"sign-caution\",\n      \"code\": 984225,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H916V541H750V875H666V541H334V875H250V541H84V125ZM791 459L834 416V298.8L673.8 459H791ZM554.7 459L804.7 209H687.5L437.5 459H554.7ZM318.4 459L568.4 209H451.2L201.2 459H318.4ZM216.8 209L166 257.8V375L334 209H216.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-caution\"\n      ]\n    },\n    {\n      \"uid\": \"e1c8f280c7cc4792a23cf7d24f7e64f2\",\n      \"css\": \"signal\",\n      \"code\": 984226,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 875H250V750H125V875ZM334 875H459V584H334V875ZM541 875H666V375H541V875ZM750 875H875V125H750V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal\"\n      ]\n    },\n    {\n      \"uid\": \"7535fbfb2a9e394e55014ce111eba751\",\n      \"css\": \"silverware\",\n      \"code\": 984227,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M337.9 556.6L162.1 380.9Q113.3 332 113.3 263.7T162.1 146.5L455.1 437.5ZM619.1 480.5L558.6 541 845.7 828.1 787.1 886.7 500 599.6 212.9 886.7 154.3 828.1 560.5 421.9Q539.1 373 554.7 312.5T619.1 201.2Q677.7 142.6 752.9 132.8T874 168.9 910.2 289.1 839.8 423.8Q791 472.7 729.5 487.3T619.1 480.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silverware\"\n      ]\n    },\n    {\n      \"uid\": \"bb89ecc15e29a82801a4589d12001508\",\n      \"css\": \"silverware-fork\",\n      \"code\": 984228,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M212.9 886.7L154.3 828.1 556.6 425.8 548.8 416Q523.4 392.6 523.4 358.4T548.8 298.8L728.5 117.2 767.6 156.3 632.8 291 673.8 330.1 808.6 195.3 845.7 234.4 710.9 369.1 750 408.2 886.7 273.4 923.8 312.5 742.2 494.1Q716.8 517.6 682.6 517.6T625 494.1L615.2 484.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silverware-fork\"\n      ]\n    },\n    {\n      \"uid\": \"58eeac68da5121ee2944584fd8e7bdeb\",\n      \"css\": \"silverware-spoon\",\n      \"code\": 984229,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M619.1 480.5L212.9 886.7 154.3 828.1 560.5 421.9Q539.1 373 554.7 312.5T619.1 201.2Q677.7 142.6 752.9 132.8T874 168.9 910.2 289.1 839.8 423.8Q791 472.7 729.5 487.3T619.1 480.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silverware-spoon\"\n      ]\n    },\n    {\n      \"uid\": \"a747bdbf21cdfc21e1b803e737597038\",\n      \"css\": \"silverware-variant\",\n      \"code\": 984230,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M337.9 556.6L162.1 380.9Q113.3 332 113.3 263.7T162.1 146.5L455.1 437.5ZM558.6 541L845.7 828.1 787.1 886.7 500 599.6 212.9 886.7 154.3 828.1 556.6 425.8 548.8 416Q523.4 392.6 523.4 358.4T548.8 298.8L728.5 117.2 767.6 156.3 632.8 291 673.8 330.1 808.6 195.3 845.7 234.4 710.9 369.1 750 408.2 886.7 273.4 923.8 312.5 742.2 494.1Q716.8 517.6 682.6 517.6T625 494.1L615.2 484.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silverware-variant\"\n      ]\n    },\n    {\n      \"uid\": \"1b2693bfaa550b09ce97f1a7b65f0b75\",\n      \"css\": \"sim\",\n      \"code\": 984231,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166Q834 132.8 809.6 108.4T750 84H416L166 334V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166ZM375 791H291V709H375V791ZM709 791H625V709H709V791ZM375 625H291V459H375V625ZM541 791H459V625H541V791ZM541 541H459V459H541V541ZM709 625H625V459H709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sim\"\n      ]\n    },\n    {\n      \"uid\": \"0392bc9f97b982cf3e2bbc65ab9b7568\",\n      \"css\": \"sim-alert\",\n      \"code\": 984232,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 541H459V334H541V541ZM541 709H459V625H541V709ZM750 84H416L166 334V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sim-alert\"\n      ]\n    },\n    {\n      \"uid\": \"3949c06a6ea29934761274cf56b99b39\",\n      \"css\": \"sim-off\",\n      \"code\": 984233,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209Q791 173.8 766.6 149.4T709 125H416L318.4 222.7 791 695.3V209ZM152.3 162.1L99.6 214.8 209 324.2V791Q209 826.2 233.4 850.6T291 875H709Q728.5 875 748 863.3L826.2 943.4 880.9 888.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sim-off\"\n      ]\n    },\n    {\n      \"uid\": \"ac16d0fee40073f9d08c1fe75a8d4223\",\n      \"css\": \"sitemap\",\n      \"code\": 984234,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V334H459V459H209Q173.8 459 149.4 483.4T125 541V666H41V916H291V666H209V541H459V666H375V916H625V666H541V541H791V666H709V916H959V666H875V541Q875 507.8 850.6 483.4T791 459H541V334H625V84H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sitemap\"\n      ]\n    },\n    {\n      \"uid\": \"cd629a2a5070ba5f0141de410c674ba9\",\n      \"css\": \"skip-backward\",\n      \"code\": 984235,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209V791L541 500ZM250 209V791H166V209H250ZM541 209V791L250 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-backward\"\n      ]\n    },\n    {\n      \"uid\": \"e797e57a4ba68c2fa7dcdaaa18fe6623\",\n      \"css\": \"skip-forward\",\n      \"code\": 984236,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V791L459 500ZM750 209V791H834V209H750ZM459 209V791L750 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-forward\"\n      ]\n    },\n    {\n      \"uid\": \"3f98140044abbb4c8366e31e0d6e94c5\",\n      \"css\": \"skip-next\",\n      \"code\": 984237,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 750H750V250H666V750ZM250 750L603.5 500 250 250V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-next\"\n      ]\n    },\n    {\n      \"uid\": \"b8e5424ab78ec67d5dc615589e74364d\",\n      \"css\": \"skip-previous\",\n      \"code\": 984238,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 750V250H334V750H250ZM396.5 500L750 250V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-previous\"\n      ]\n    },\n    {\n      \"uid\": \"6b48b4d336543bfe7876dbddce4e6d89\",\n      \"css\": \"skype\",\n      \"code\": 984239,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 250Q814.5 312.5 838.9 396.5T847.7 564.5Q875 611.3 875 667T846.7 770.5 770.5 846.7 667 875 564.5 847.7Q480.5 863.3 396.5 838.9T249 751 161.1 603.5 152.3 435.5Q125 388.7 125 333T153.3 229.5 229.5 153.3 333 125 435.5 152.3Q519.5 136.7 603.5 161.1T750 250ZM502 714.8Q587.9 714.8 634.8 677.7T681.6 580.1Q681.6 482.4 566.4 457L484.4 439.5Q453.1 431.6 439.5 423.8 416 412.1 416 390.6T434.6 355.5 488.3 341.8 546.9 355.5Q560.5 363.3 578.1 380.9 587.9 394.5 595.7 398.4 605.5 406.3 617.2 406.3 636.7 406.3 649.4 395.5T662.1 367.2Q662.1 326.2 608.4 296.9T494.1 267.6Q423.8 267.6 377 296.9 320.3 332 320.3 398.4 320.3 439.5 339.8 464.8 365.2 500 427.7 513.7L539.1 543Q582 552.7 582 587.9 582 609.4 560.5 627T501 644.5 439.5 628.9Q423.8 619.1 406.3 595.7 394.5 580.1 388.7 576.2 377 566.4 360.4 566.4T332 578.1 320.3 607.4Q320.3 632.8 339.8 657.2T398.4 697.3Q441.4 714.8 502 714.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skype\"\n      ]\n    },\n    {\n      \"uid\": \"8c0f356b74d6fb62e60c67d246a44e13\",\n      \"css\": \"skype-business\",\n      \"code\": 984240,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M502 689.5Q425.8 689.5 378.9 656.3 341.8 628.9 341.8 593.8 341.8 578.1 351.6 567.4T376 556.6 400.4 564.5Q408.2 570.3 418 584 433.6 603.5 445.3 611.3 466.8 625 500 625T552.7 610.4 572.3 576.2Q572.3 546.9 535.2 537.1L435.5 511.7Q380.9 498 359.4 468.8 341.8 445.3 341.8 408.2 341.8 349.6 390.6 318.4 431.6 293 494.1 293 548.8 293 596.7 319.3T644.5 380.9Q644.5 396.5 632.8 406.3T603.5 416Q591.8 416 584 408.2 578.1 404.3 568.4 394.5 552.7 377 541 371.1 521.5 359.4 490.2 359.4T442.4 371.1 425.8 401.4 443.4 429.7Q455.1 437.5 482.4 443.4L558.6 460.9Q660.2 484.4 660.2 570.3 660.2 623 619.1 656.3T502 689.5ZM750 250Q814.5 312.5 838.9 396.5T847.7 564.5Q875 611.3 875 667T846.7 770.5 770.5 846.7 667 875 564.5 847.7Q480.5 863.3 396.5 838.9T249 751 161.1 603.5 152.3 435.5Q125 388.7 125 333T153.3 229.5 229.5 153.3 333 125 435.5 152.3Q519.5 136.7 603.5 161.1T750 250ZM334 209Q281.3 209 245.1 245.1T209 332 242.2 418Q218.8 490.2 236.3 563.5T308.6 691.4 436.5 763.7 582 757.8Q617.2 791 668 791T754.9 754.9 791 668 757.8 582Q781.3 509.8 763.7 436.5T691.4 308.6 563.5 236.3 418 242.2Q382.8 209 334 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skype-business\"\n      ]\n    },\n    {\n      \"uid\": \"c5573600f68c5e65aeb9ef9f347e12c2\",\n      \"css\": \"slack\",\n      \"code\": 984241,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 625Q250 660.2 225.6 684.6T167 709 108.4 684.6 84 625 108.4 565.4 166 541H250V625ZM291 625Q291 589.8 315.4 565.4T375 541 434.6 565.4 459 625V834Q459 867.2 434.6 891.6T375 916 315.4 891.6 291 834V625ZM375 291Q339.8 291 315.4 266.6T291 208 315.4 149.4 375 125 434.6 149.4 459 209V291H375ZM375 334Q410.2 334 434.6 358.4T459 417 434.6 475.6 375 500H166Q132.8 500 108.4 475.6T84 417 108.4 358.4 166 334H375ZM709 416Q709 382.8 733.4 358.4T792 334 850.6 358.4 875 417 850.6 475.6 791 500H709V416ZM666 416Q666 451.2 641.6 475.6T583 500 524.4 475.6 500 416V209Q500 173.8 524.4 149.4T583 125 641.6 149.4 666 209V416ZM584 750Q617.2 750 641.6 774.4T666 833 641.6 891.6 583 916 524.4 891.6 500 834V750H584ZM584 709Q548.8 709 524.4 684.6T500 625 524.4 565.4 584 541H791Q826.2 541 850.6 565.4T875 625 850.6 684.6 791 709H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slack\"\n      ]\n    },\n    {\n      \"uid\": \"c4c0ee7f76d6ecb977525e10fab89ebc\",\n      \"css\": \"sleep\",\n      \"code\": 984242,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500H709V416L849.6 250H709V166H959V250L818.4 416H959V500ZM625 666H375V584L515.6 416H375V334H625V416L484.4 584H625V666ZM291 834H41V750L183.6 584H41V500H291V584L150.4 750H291V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sleep\"\n      ]\n    },\n    {\n      \"uid\": \"39e157278214f2b13013c9bff3d83126\",\n      \"css\": \"sleep-off\",\n      \"code\": 984243,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 531.3 666H375V584L408.2 544.9ZM959 500H709V416L849.6 250H709V166H959V250L818.4 416H959V500ZM408.2 334H625V416L564.5 488.3ZM291 834H41V750L183.6 584H41V500H291V584L150.4 750H291V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sleep-off\"\n      ]\n    },\n    {\n      \"uid\": \"b54ef0d165ccd2b597f18a749b7f8fe9\",\n      \"css\": \"smoking\",\n      \"code\": 984244,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 666H709V791H84V666ZM853.5 666H916V791H853.5V666ZM750 666H812.5V791H750V666ZM785.2 322.3Q826.2 281.3 826.2 223.6T786.1 125 687.5 84V146.5Q718.8 146.5 741.2 168.9T763.7 222.7 741.2 277.3 687.5 300.8V363.3Q757.8 363.3 805.7 412.1T853.5 531.3V625H916V531.3Q916 462.9 879.9 406.3T785.2 322.3ZM668 425.8H603.5Q574.2 425.8 550.8 399.4T527.3 341.8 549.8 290 603.5 269.5V207Q546.9 207 505.9 247.1T464.8 345.7 505.9 445.3 603.5 486.3H668Q703.1 486.3 726.6 508.8T750 570.3V625H812.5V556.6Q812.5 500 769.5 462.9T668 425.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smoking\"\n      ]\n    },\n    {\n      \"uid\": \"e640fbea25d3903d0983e8cf87cc836d\",\n      \"css\": \"smoking-off\",\n      \"code\": 984245,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250L375 541H84V666H500L791 959 843.8 906.3 134.8 197.3ZM853.5 541H916V666H853.5V541ZM750 541H812.5V666H750V541ZM785.2 203.1Q826.2 162.1 826.2 103.5H763.7Q763.7 134.8 741.2 158.2T687.5 181.6V244.1Q757.8 244.1 805.7 293.9T853.5 414.1V500H916V414.1Q916 343.8 879.9 288.1T785.2 203.1ZM603.5 363.3H668Q703.1 363.3 726.6 385.7T750 447.3V500H812.5V433.6Q812.5 378.9 769.5 340.8T668 302.7H603.5Q574.2 302.7 550.8 277.3T527.3 219.7 549.8 167 603.5 146.5V84Q546.9 84 505.9 125T464.8 223.6 505.9 322.3 603.5 363.3ZM709 664.1V541H585.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smoking-off\"\n      ]\n    },\n    {\n      \"uid\": \"814378e17a81e882dedf7beed8cc56ee\",\n      \"css\": \"snapchat\",\n      \"code\": 984246,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M914.1 689.5Q908.2 675.8 886.7 660.2L867.2 650.4Q806.6 617.2 775.4 572.3 765.6 556.6 759.8 544.9 757.8 537.1 759.8 533.2T763.7 527.3L802.7 503.9Q824.2 488.3 835.9 466.8 851.6 437.5 839.8 406.3 832 384.8 813.5 373T771.5 361.3Q761.7 361.3 750 363.3H746.1Q746.1 330.1 744.1 304.7 740.2 257.8 722.7 222.7 710.9 195.3 686.5 168T630.9 123Q572.3 89.8 500 89.8T369.1 123Q337.9 140.6 313.5 168T277.3 222.7Q259.8 257.8 255.9 304.7 253.9 334 253.9 363.3H250Q238.3 361.3 228.5 361.3 205.1 361.3 186.5 373T160.2 406.3Q148.4 437.5 164.1 466.8 175.8 488.3 197.3 503.9L234.4 527.3Q236.3 529.3 239.3 533.2T240.2 544.9Q234.4 556.6 224.6 572.3 193.4 617.2 136.7 648.4L127 652.3Q111.3 662.1 103.5 668 91.8 675.8 85.9 689.5 74.2 720.7 101.6 746.1 111.3 755.9 123 761.7 150.4 777.3 173.8 783.2 181.6 785.2 184.6 788.1T190.4 798.8 198.2 813.5 213.9 828.1 240.2 839.8Q250 841.8 269.5 841.8H271.5Q310.5 843.8 334 851.6 341.8 853.5 361.3 865.2L369.1 871.1Q400.4 888.7 421.9 896.5 459 910.2 501 910.2T578.1 896.5Q599.6 888.7 632.8 869.1L638.7 865.2Q658.2 853.5 666 851.6 689.5 843.8 728.5 841.8V841.8Q767.6 841.8 787.1 828.1 796.9 822.3 804.7 810.5L808.6 798.8Q812.5 791 816.4 788.1T824.2 783.2Q849.6 777.3 877 761.7 890.6 755.9 900.4 744.1V744.1Q923.8 720.7 914.1 689.5ZM855.5 720.7Q835.9 732.4 804.7 740.2 785.2 744.1 777.3 750T767.6 767.6L765.6 777.3Q765.6 787.1 759.8 791T728.5 794.9Q681.6 796.9 650.4 806.6 636.7 812.5 609.4 829.1T564.5 851.6Q535.2 863.3 500 863.3T435.5 853.5Q418 845.7 390.6 829.1T349.6 806.6Q318.4 796.9 273.4 794.9 246.1 794.9 240.2 791T232.4 771.5 222.7 750 195.3 740.2Q166 732.4 147.5 722.7T131.8 707 142.6 697.3Q230.5 654.3 269.5 587.9 285.2 562.5 293 535.2V531.3Q294.9 523.4 293.9 518.6T286.1 507.8 242.2 476.6L224.6 464.8Q195.3 445.3 203.1 423.8V423.8Q210.9 408.2 228.5 408.2H238.3Q252 412.1 275.4 419.9L291 425.8H294.9Q300.8 425.8 302.7 423.8L304.7 416Q298.8 351.6 302.7 308.6 304.7 285.2 310.5 263.7 320.3 232.4 347.7 199.2 365.2 179.7 392.6 164.1 439.5 136.7 500 136.7 585.9 136.7 642.6 189.5L652.3 199.2Q681.6 232.4 691.4 269.5 695.3 289.1 697.3 308.6 701.2 351.6 695.3 416L697.3 421.9Q697.3 425.8 705.1 425.8H709L726.6 419.9Q748 410.2 761.7 408.2H771.5Q789.1 408.2 794.9 419.9L796.9 423.8Q804.7 445.3 775.4 464.8L755.9 478.5Q720.7 502 713.9 506.8T706.1 517.6 707 531.3V533.2Q718.8 578.1 753.9 619.1 793 666 857.4 697.3 863.3 699.2 866.2 703.1T867.2 709Q867.2 714.8 855.5 720.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snapchat\"\n      ]\n    },\n    {\n      \"uid\": \"d59a266b3d70a03906876cd4e066bace\",\n      \"css\": \"snowman\",\n      \"code\": 984247,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 709Q709 765.6 680.7 813.5T604.5 888.7 500 916Q459 916 420.9 900.4T353.5 855.5 307.6 788.1 291 709Q291 662.1 309.6 622.1T361.3 552.7Q334 509.8 334 459V441.4L210.9 369.1 201.2 363.3 95.7 390.6 84 351.6 175.8 326.2 93.8 279.3 115.2 242.2 197.3 291 173.8 197.3 212.9 187.5 242.2 293 252 296.9 363.3 361.3Q388.7 328.1 425.8 308.6 402.3 291 388.7 264.6T375 209Q375 156.3 411.1 120.1T500 84 588.9 120.1 625 209Q625 238.3 611.3 264.6T574.2 308.6Q611.3 328.1 636.7 361.3L748 296.9 757.8 293 787.1 187.5 826.2 197.3 802.7 291 884.8 242.2 906.3 279.3 824.2 326.2 916 351.6 904.3 390.6 798.8 363.3 789.1 369.1 666 441.4V459Q666 509.8 638.7 552.7 671.9 582 690.4 622.1T709 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snowman\"\n      ]\n    },\n    {\n      \"uid\": \"1383a5ce635c22220c089c5f1bc93127\",\n      \"css\": \"soccer\",\n      \"code\": 984248,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 125Q607.4 125 699.2 183.6L687.5 209H500L427.7 173.8 443.4 130.9Q472.7 125 500 125ZM396.5 140.6L382.8 183.6 275.4 236.3 224.6 248Q296.9 169.9 396.5 140.6ZM541 250H666L779.3 400.4 726.6 505.9 617.2 533.2 480.5 373ZM255.9 277.3L291 416 240.2 544.9 134.8 580.1Q125 539.1 125 500 125 384.8 191.4 287.1ZM857.4 384.8Q875 439.5 875 500 875 585.9 834 666H791L755.9 527.3 818.4 402.3ZM334 416H459L576.2 552.7 500 666 369.1 699.2 271.5 570.3ZM500 709L625 791 587.9 863.3Q539.1 875 500 875 392.6 875 302.7 818.4L349.6 746.1ZM791 709H812.5Q750 802.7 638.7 847.7L666 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"soccer\"\n      ]\n    },\n    {\n      \"uid\": \"9ed345f209dfab0cba2dea8546b13d34\",\n      \"css\": \"sofa\",\n      \"code\": 984249,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 250H375Q410.2 250 434.6 274.4T459 334V500H209V334Q209 298.8 233.4 274.4T291 250ZM625 250H709Q742.2 250 766.6 274.4T791 334V500H541V334Q541 298.8 565.4 274.4T625 250ZM41 375H84Q101.6 375 113.3 386.7T125 416V500Q125 535.2 149.4 559.6T209 584H791Q826.2 584 850.6 559.6T875 500V416Q875 398.4 886.7 386.7T916 375H959Q976.6 375 988.3 386.7T1000 416V791H875V709H125V791H0V416Q0 398.4 11.7 386.7T41 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sofa\"\n      ]\n    },\n    {\n      \"uid\": \"baaa47b0b5d1a506c65cca34745f68a9\",\n      \"css\": \"sort\",\n      \"code\": 984250,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 875L584 709H709V291H584L750 125 916 291H791V709H916ZM84 791V709H500V791H84ZM84 541V459H375V541H84ZM84 291V209H250V291H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort\"\n      ]\n    },\n    {\n      \"uid\": \"8e2cf4f2d71f48dc5ae12f6fd9a72f94\",\n      \"css\": \"sort-alphabetical-variant\",\n      \"code\": 984251,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M384.8 209L521.5 72.3 656.3 209H384.8ZM656.3 791L521.5 927.7 384.8 791H656.3ZM371.1 595.7H250L220.7 709H121.1L250 291H375L505.9 709H402.3ZM263.7 529.3H357.4L330.1 439.5 308.6 359.4V359.4L289.1 441.4ZM543 709V656.3L742.2 373V371.1H562.5V291H863.3V347.7L669.9 625V628.9H867.2V709H543Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-alphabetical-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6f6e6e0767cac72591b443c70707c691\",\n      \"css\": \"sort-ascending\",\n      \"code\": 984252,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H916L750 875 584 709H709V125H791V709ZM84 709H500V791H84V709ZM250 209V291H84V209H250ZM84 459H375V541H84V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"a300717a609c13e40dae3d177dbaacec\",\n      \"css\": \"sort-descending\",\n      \"code\": 984253,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H916L750 125 584 291H709V875H791V291ZM84 709H500V791H84V709ZM250 209V291H84V209H250ZM84 459H375V541H84V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-descending\"\n      ]\n    },\n    {\n      \"uid\": \"5fdc193de1dd9eff5b0eb0186c6b7945\",\n      \"css\": \"sort-numeric-variant\",\n      \"code\": 984254,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M324.2 291Q404.3 294.9 440.4 353.5T474.6 498Q474.6 593.8 436.5 650.4T320.3 709Q242.2 705.1 206.1 647.5T169.9 499 207 351.6 324.2 291ZM322.3 359.4Q294.9 359.4 279.3 393.6T263.7 499 279.3 605.5 324.2 640.6Q380.9 640.6 381.8 501T322.3 359.4ZM554.7 709V634.8H574.2 595.7L638.7 627Q664.1 619.1 677.7 607.4 699.2 593.8 711.9 574.2T730.5 533.2L728.5 531.3Q701.2 558.6 646.5 558.6T556.6 528.3 520.5 437.5 561.5 335 671.9 291Q750 294.9 787.1 342.8T824.2 466.8Q822.3 527.3 804.7 574.2T755.9 652.3Q726.6 677.7 686.5 691.4T597.7 709H554.7ZM669.9 359.4Q644.5 359.4 627.9 378.9T611.3 431.6Q611.3 459 626 477.5T671.9 498Q691.4 498 705.1 489.3T724.6 470.7Q730.5 464.8 730.5 445.3 730.5 412.1 716.8 386.7T669.9 359.4ZM384.8 209L521.5 72.3 656.3 209H384.8ZM656.3 791L521.5 927.7 384.8 791H656.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-numeric-variant\"\n      ]\n    },\n    {\n      \"uid\": \"29df1ae886868b95e6522a7a01ccebf7\",\n      \"css\": \"sort-variant\",\n      \"code\": 984255,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541H625V459H125V541ZM125 250V334H875V250H125ZM125 750H375V666H125V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f28a10d19ca1d8e06d0974142c38288e\",\n      \"css\": \"soundcloud\",\n      \"code\": 984256,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M482.4 369.1V709H845.7Q902.3 705.1 930.7 673.8T959 596.7 927.7 518.6 849.6 486.3Q828.1 486.3 806.6 494.1 798.8 421.9 743.2 371.1T612.3 320.3 482.4 369.1ZM445.3 412.1Q423.8 400.4 404.3 396.5V709H462.9V388.7Q455.1 396.5 445.3 412.1ZM347.7 388.7V709H384.8V390.6Q375 388.7 361.3 388.7H347.7ZM271.5 416V709H308.6V398.4Q289.1 404.3 271.5 416ZM201.2 521.5Q199.2 521.5 197.3 519.5L193.4 517.6V709H232.4V453.1Q209 482.4 201.2 521.5ZM117.2 509.8V705.1Q128.9 709 146.5 709H154.3V505.9H146.5Q130.9 505.9 117.2 509.8ZM41 607.4Q41 654.3 78.1 683.6V529.3Q41 560.5 41 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"soundcloud\"\n      ]\n    },\n    {\n      \"uid\": \"0cecabe33c0d58c216303e3276b146e9\",\n      \"css\": \"source-fork\",\n      \"code\": 984257,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q302.7 84 338.9 120.1T375 209Q375 248 352.5 280.3T294.9 326.2Q300.8 357.4 334 400.4 353.5 425.8 412.1 490.2 478.5 560.5 500 589.8 521.5 560.5 587.9 490.2 646.5 425.8 666 400.4 699.2 357.4 705.1 326.2 669.9 312.5 647.5 280.3T625 209Q625 156.3 661.1 120.1T750 84 838.9 120.1 875 209Q875 250 851.6 282.2T789.1 326.2Q783.2 365.2 750 410.2 728.5 439.5 662.1 509.8 603.5 572.3 584 599.6 550.8 640.6 544.9 673.8 580.1 687.5 602.5 719.7T625 791Q625 843.8 588.9 879.9T500 916 411.1 879.9 375 791Q375 752 397.5 719.7T455.1 673.8Q449.2 640.6 416 599.6 396.5 572.3 337.9 509.8 271.5 439.5 250 410.2 216.8 365.2 210.9 326.2 171.9 314.5 148.4 282.2T125 209Q125 156.3 161.1 120.1T250 84ZM250 166Q232.4 166 220.7 178.7T209 209 220.7 238.3 250 250 279.3 238.3 291 209 279.3 178.7 250 166ZM750 166Q732.4 166 720.7 178.7T709 209 720.7 238.3 750 250 779.3 238.3 791 209 779.3 178.7 750 166ZM500 750Q482.4 750 470.7 761.7T459 791 470.7 821.3 500 834 529.3 821.3 541 791 529.3 761.7 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-fork\"\n      ]\n    },\n    {\n      \"uid\": \"385bedce7986cd83fff70590bc37d57a\",\n      \"css\": \"source-pull\",\n      \"code\": 984258,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125Q302.7 125 338.9 161.1T375 250Q375 291 351.6 323.2T291 367.2V632.8Q328.1 644.5 351.6 676.8T375 750Q375 802.7 338.9 838.9T250 875 161.1 838.9 125 750Q125 709 148.4 676.8T209 632.8V367.2Q171.9 355.5 148.4 323.2T125 250Q125 197.3 161.1 161.1T250 125ZM250 209Q232.4 209 220.7 220.7T209 250 220.7 279.3 250 291 279.3 279.3 291 250 279.3 220.7 250 209ZM250 709Q232.4 709 220.7 720.7T209 750 220.7 779.3 250 791 279.3 779.3 291 750 279.3 720.7 250 709ZM875 750Q875 802.7 838.9 838.9T750 875 661.1 838.9 625 750Q625 709 648.4 676.8T709 632.8V291H625V427.7L447.3 250 625 72.3V209H709Q742.2 209 766.6 233.4T791 291V632.8Q828.1 644.5 851.6 676.8T875 750ZM750 709Q732.4 709 720.7 720.7T709 750 720.7 779.3 750 791 779.3 779.3 791 750 779.3 720.7 750 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-pull\"\n      ]\n    },\n    {\n      \"uid\": \"8dcb438af977734885a55ea64735b61f\",\n      \"css\": \"speaker\",\n      \"code\": 984259,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500Q447.3 500 411.1 536.1T375 625 411.1 713.9 500 750 588.9 713.9 625 625 588.9 536.1 500 500ZM500 834Q443.4 834 395.5 805.7T319.3 729.5 291 625Q291 584 307.6 545.9T353.5 478.5 420.9 432.6 500 416Q556.6 416 604.5 444.3T680.7 520.5 709 625 680.7 729.5 604.5 805.7 500 834ZM500 166Q535.2 166 559.6 190.4T584 250 559.6 309.6 500 334 440.4 309.6 416 250 440.4 190.4 500 166ZM709 84H291Q257.8 84 233.4 108.4T209 166V834Q209 867.2 233.4 891.6T291 916H709Q742.2 916 766.6 891.6T791 834V166Q791 132.8 766.6 108.4T709 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speaker\"\n      ]\n    },\n    {\n      \"uid\": \"33eef90880c294698b15ca1b403ea98f\",\n      \"css\": \"speaker-off\",\n      \"code\": 984260,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 875 904.3 822.3 959 761.7 898.4Q738.3 916 709 916H291Q257.8 916 233.4 891.6T209 834V343.8ZM500 750Q447.3 750 411.1 713.9T375 625Q375 578.1 406.3 541L347.7 482.4Q291 543 291 625 291 681.6 319.3 729.5T395.5 805.7 500 834Q582 834 642.6 777.3L584 718.8Q546.9 750 500 750ZM709 625Q709 568.4 680.7 520.5T604.5 444.3 500 416H492.2L212.9 136.7Q222.7 113.3 244.1 98.6T291 84H709Q742.2 84 766.6 108.4T791 166V716.8L709 632.8V625ZM500 166Q464.8 166 440.4 190.4T416 250 440.4 309.6 500 334 559.6 309.6 584 250 559.6 190.4 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speaker-off\"\n      ]\n    },\n    {\n      \"uid\": \"d26bb53c36a567c6d3f5a87d8ce6accf\",\n      \"css\": \"spellcheck\",\n      \"code\": 984262,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M900.4 482.4L562.5 820.3 410.2 666 351.6 724.6 562.5 937.5 959 541ZM267.6 459L353.5 228.5 439.5 459H267.6ZM519.5 666H605.5L392.6 125H314.5L101.6 666H189.5L236.3 541H470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spellcheck\"\n      ]\n    },\n    {\n      \"uid\": \"a7f2e01a9cbfc8c2c3df8277b9bf70dc\",\n      \"css\": \"spotify\",\n      \"code\": 984263,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M746.1 455.1Q650.4 398.4 502 384.8 363.3 375 261.7 406.3 248 410.2 233.4 403.3T214.8 380.9 217.8 351.6 240.2 334Q357.4 298.8 509.8 310.5 675.8 324.2 785.2 388.7 798.8 396.5 803.7 413.1T799.8 442.4 775.4 458 746.1 455.1ZM742.2 570.3Q734.4 582 721.7 585T697.3 582Q613.3 529.3 497.1 515.6T283.2 533.2Q269.5 537.1 257.8 531.3T243.2 512.7 246.1 488.3 263.7 472.7Q378.9 439.5 507.8 454.1T732.4 529.3Q742.2 533.2 746.1 546.9T742.2 570.3ZM691.4 685.5Q685.5 695.3 675.8 697.3T656.3 693.4Q509.8 603.5 289.1 654.3 279.3 656.3 270.5 650.4T258.8 634.8 261.7 616.2 277.3 603.5Q519.5 550.8 681.6 650.4 691.4 654.3 694.3 665T691.4 685.5ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spotify\"\n      ]\n    },\n    {\n      \"uid\": \"a4142c01a0bf94376a87b583ae8183c8\",\n      \"css\": \"spotlight\",\n      \"code\": 984264,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250L294.9 355.5Q250 418 250 500T294.9 644.5L84 750V250ZM250 125H750L644.5 294.9Q582 250 500 250T355.5 294.9ZM916 250V750L705.1 644.5Q750 582 750 500T705.1 355.5ZM750 875H250L355.5 705.1Q418 750 500 750T644.5 705.1ZM500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spotlight\"\n      ]\n    },\n    {\n      \"uid\": \"eccfa51315aa84b52ef860a95772890d\",\n      \"css\": \"spotlight-beam\",\n      \"code\": 984265,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 687.5L412.1 650.4 630.9 867.2 591.8 904.3ZM646.5 416L683.6 378.9 900.4 595.7 863.3 632.8ZM279.3 113.3L423.8 255.9 255.9 423.8 113.3 279.3Q89.8 255.9 89.8 220.7T113.3 162.1L162.1 113.3Q185.5 89.8 220.7 89.8T279.3 113.3ZM607.4 312.5L636.7 341.8 341.8 636.7 312.5 607.4 277.3 460.9 460.9 277.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spotlight-beam\"\n      ]\n    },\n    {\n      \"uid\": \"9cde1fbbc1904fbf20e08b007f859886\",\n      \"css\": \"book-remove-multiple-outline\",\n      \"code\": 984266,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M544.9 834H209V250H125V834Q125 867.2 149.4 891.6T209 916H576.2Q552.7 878.9 544.9 834ZM791 84H375Q339.8 84 315.4 108.4T291 166V666Q291 701.2 315.4 725.6T375 750H544.9Q552.7 705.1 576.2 666H375V166H459V416L562.5 322.3 666 416V166H791V541Q834 541 875 556.6V166Q875 132.8 850.6 108.4T791 84ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-remove-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fdb68e4942b68bd700628aa917dd1474\",\n      \"css\": \"account-switch-outline\",\n      \"code\": 984267,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375Q736.3 375 789.1 392.6 832 406.3 863.3 433.6 886.7 455.1 900.4 482.4 910.2 503.9 914.1 523.4L916 541V625H666V541L664.1 521.5Q662.1 496.1 652.3 470.7 640.6 435.5 619.1 408.2 609.4 396.5 593.8 380.9 630.9 375 666 375ZM334 459Q427.7 459 470.7 492.2 496.1 513.7 500 541H166Q169.9 513.7 195.3 492.2 240.2 459 334 459ZM334 375Q222.7 375 158.2 418 111.3 449.2 91.8 498 84 523.4 84 541V625H584V541L582 523.4Q578.1 503.9 566.4 482.4 552.7 455.1 529.3 433.6 500 406.3 455.1 392.6 404.3 375 334 375ZM375 709V791H625V709L750 834 625 959V875H375V959L250 834ZM334 125Q349.6 125 362.3 137.7T375 167 362.3 196.3 333 209 303.7 196.3 291 167 303.7 137.7 334 125ZM334 41Q281.3 41 245.1 78.1T209 167 245.1 254.9 333 291 421.9 254.9 459 167 421.9 78.1 334 41ZM666 41Q615.2 41 578.1 78.1T541 167 578.1 254.9 667 291 754.9 254.9 791 167 754.9 78.1 666 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-switch-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d2460fa5d5b7f8826b5094a1de5e0cf4\",\n      \"css\": \"stack-overflow\",\n      \"code\": 984268,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M722.7 841.8V617.2H798.8V916H125V617.2H199.2V841.8H722.7ZM281.3 595.7L296.9 523.4 664.1 599.6 648.4 673.8ZM330.1 421.9L361.3 353.5 701.2 511.7 669.9 580.1ZM423.8 255.9L472.7 197.3 759.8 437.5 712.9 494.1ZM609.4 78.1L834 378.9 773.4 423.8 550.8 123ZM275.4 767.6V691.4H648.4V767.6H275.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stack-overflow\"\n      ]\n    },\n    {\n      \"uid\": \"1d509d138f0f000b8d0be7c3540edc35\",\n      \"css\": \"stairs\",\n      \"code\": 984269,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209V375H459V541H291V709H125V834H416V666H584V500H750V334H916V209H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stairs\"\n      ]\n    },\n    {\n      \"uid\": \"1e81ecdf54f00b95429be3162f42822d\",\n      \"css\": \"star\",\n      \"code\": 984270,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 718.8L757.8 875 689.5 582 916 384.8 617.2 359.4 500 84 382.8 359.4 84 384.8 310.5 582 242.2 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star\"\n      ]\n    },\n    {\n      \"uid\": \"62e1998d0fa6f7af8d8fd5343061d2da\",\n      \"css\": \"star-circle\",\n      \"code\": 984271,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M675.8 750L500 644.5 324.2 750 371.1 548.8 214.8 414.1 419.9 398.4 500 209 580.1 396.5 785.2 414.1 628.9 548.8ZM500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-circle\"\n      ]\n    },\n    {\n      \"uid\": \"673546331ae11c877901d9a8de51c5bc\",\n      \"css\": \"star-half-full\",\n      \"code\": 984272,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 642.6V253.9L570.3 421.9 753.9 437.5 615.2 558.6 656.3 736.3ZM916 384.8L617.2 359.4 500 84 382.8 359.4 84 384.8 310.5 582 242.2 875 500 718.8 757.8 875 689.5 582Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-half-full\"\n      ]\n    },\n    {\n      \"uid\": \"0608b75ca96eea08017c95b4d1c1f67a\",\n      \"css\": \"star-off\",\n      \"code\": 984273,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 710.9 845.7 500 718.8 242.2 875 310.5 582 84 384.8 236.3 373ZM500 84L617.2 359.4 916 384.8 689.5 582 699.2 623 398.4 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-off\"\n      ]\n    },\n    {\n      \"uid\": \"09a91d15e8b2701b243724d1ee5f994f\",\n      \"css\": \"star-outline\",\n      \"code\": 984274,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 640.6L343.8 736.3 384.8 556.6 246.1 437.5 429.7 421.9 500 253.9 570.3 421.9 753.9 437.5 615.2 556.6 656.3 736.3ZM916 384.8L617.2 359.4 500 84 382.8 359.4 84 384.8 310.5 582 242.2 875 500 718.8 757.8 875 689.5 582Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"225369994826ddbc06e4f0722e7ded78\",\n      \"css\": \"steam\",\n      \"code\": 984275,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916Q357.4 916 247.1 831.1T97.7 613.3L257.8 679.7Q265.6 720.7 298.8 747.1T373 773.4Q421.9 773.4 457 739.3T492.2 656.3V650.4L632.8 548.8H636.7Q701.2 548.8 747.1 502.9T793 392.6 747.1 282.2 636.7 236.3 525.4 282.2 478.5 392.6V394.5L380.9 539.1H373Q337.9 539.1 306.6 558.6L84 466.8Q91.8 361.3 149.4 273.4T299.8 134.8 500 84ZM345.7 714.8Q369.1 726.6 394.5 715.8T430.7 680.7 430.7 630.9 396.5 595.7L341.8 574.2Q375 560.5 408.2 574.2T455.1 622.1 455.1 690.4 407.2 738.3 340.8 738.3 294.9 695.3ZM742.2 392.6Q742.2 435.5 710.9 466.8T636.7 498 562.5 466.8 531.3 392.6 562.5 318.4 636.7 287.1 710.9 318.4 742.2 392.6ZM558.6 392.6Q558.6 425.8 581.1 448.2T636.7 470.7 692.4 448.2 714.8 392.6 692.4 336.9 636.7 314.5 581.1 336.9 558.6 392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"steam\"\n      ]\n    },\n    {\n      \"uid\": \"17108e0cc6346d74e4faaa622678e61e\",\n      \"css\": \"steering\",\n      \"code\": 984276,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 830.1Q654.3 816.4 735.4 735.4T830.1 541H705.1Q691.4 603.5 647.5 647.5T541 705.1V830.1ZM416 334H584L709 459H830.1Q814.5 335.9 719.7 251T500 166 280.3 251 169.9 459H291ZM459 830.1V705.1Q396.5 691.4 352.5 647.5T294.9 541H169.9Q183.6 652.3 264.6 733.4T459 830.1ZM500 84Q669.9 84 793 207T916 500 793 793 500 916 207 793 84 500 207 207 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"steering\"\n      ]\n    },\n    {\n      \"uid\": \"80fd562855333abc61d35cc3966e31e3\",\n      \"css\": \"step-backward\",\n      \"code\": 984277,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H666V209H791ZM584 209V791L125 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"step-backward\"\n      ]\n    },\n    {\n      \"uid\": \"c5c5d12771bfeaa68406e13ce387ae46\",\n      \"css\": \"step-backward-2\",\n      \"code\": 984278,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 209H584V791H709V209ZM500 209L41 500 500 791V209ZM916 209H791V791H916V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"step-backward-2\"\n      ]\n    },\n    {\n      \"uid\": \"03586646dea07642c275392d1b53a3e2\",\n      \"css\": \"step-forward\",\n      \"code\": 984279,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209V791H334V209H209ZM416 209V791L875 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"step-forward\"\n      ]\n    },\n    {\n      \"uid\": \"b172c2c9c0f523935957beb0ce64878d\",\n      \"css\": \"step-forward-2\",\n      \"code\": 984280,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 209H416V791H291V209ZM500 209L959 500 500 791V209ZM84 209H209V791H84V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"step-forward-2\"\n      ]\n    },\n    {\n      \"uid\": \"9b6b22b380caa20b2b2647b050e62c8e\",\n      \"css\": \"stethoscope\",\n      \"code\": 984281,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 334Q808.6 334 821.3 345.7T834 375 821.3 404.3 791 416 761.7 404.3 750 375 761.7 345.7 791 334ZM84 84V459Q84 550.8 144.5 621.1T296.9 705.1Q316.4 798.8 390.6 857.4T562.5 916Q636.7 916 698.2 879.9T796.9 781.3 834 646.5V492.2Q871.1 478.5 893.6 446.3T916 375Q916 322.3 879.9 286.1T792 250 703.1 286.1 666 375Q666 414.1 689.5 446.3T750 492.2V642.6Q750 720.7 695.3 775.4T562.5 830.1Q500 830.1 451.2 794.9T384.8 705.1Q470.7 685.5 527.3 616.2T584 459V84H416V209H500V459Q500 527.3 451.2 576.2T333 625 214.8 576.2 166 459V209H250V84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stethoscope\"\n      ]\n    },\n    {\n      \"uid\": \"53c0ff76d0f5d0d3a10b8070e40b6b66\",\n      \"css\": \"stocking\",\n      \"code\": 984282,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 84Q742.2 84 766.6 108.4T791 166V291Q791 326.2 766.6 350.6T709 375V709Q709 734.4 694.3 755.9T656.3 785.2L396.5 906.3Q365.2 921.9 332 910.2T285.2 867.2L250 791Q234.4 759.8 246.1 727.5T289.1 681.6L416 621.1V375Q382.8 375 358.4 350.6T334 291V166Q334 132.8 358.4 108.4T416 84H709ZM416 166V291H709V166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stocking\"\n      ]\n    },\n    {\n      \"uid\": \"bf3c1b0794804b6cd96100f83d4b5759\",\n      \"css\": \"stop\",\n      \"code\": 984283,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 750H250V250H750V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stop\"\n      ]\n    },\n    {\n      \"uid\": \"0263513c63391d09aedcc8d7a9c7a3bb\",\n      \"css\": \"store\",\n      \"code\": 984284,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750H250V584H500V750ZM875 584V500L834 291H166L125 500V584H166V834H584V584H750V834H834V584H875ZM834 166H166V250H834V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"store\"\n      ]\n    },\n    {\n      \"uid\": \"ad0620587c2c8a1eb66fca63170a3049\",\n      \"css\": \"store-24-hour\",\n      \"code\": 984285,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 500H625V416H541V291H584V375H625V291H666V500ZM459 416H375V459H459V500H334V375H416V334H334V291H459V416ZM791 291V166H209V291H84V834H416V666H584V834H916V291H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"store-24-hour\"\n      ]\n    },\n    {\n      \"uid\": \"40636e6612f659a6c18bd0cbebf9309f\",\n      \"css\": \"stove\",\n      \"code\": 984286,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 584H334L459 709H375ZM166 166H209V125Q209 107.4 220.7 95.7T250 84H416Q433.6 84 446.3 95.7T459 125V166H541V125Q541 107.4 553.7 95.7T584 84H750Q767.6 84 779.3 95.7T791 125V166H834Q867.2 166 891.6 190.4T916 250V791Q916 826.2 891.6 850.6T834 875V916H709V875H291V916H166V875Q132.8 875 108.4 850.6T84 791V250Q84 214.8 108.4 190.4T166 166ZM750 291Q767.6 291 779.3 303.7T791 334 779.3 363.3 750 375 720.7 363.3 709 334 720.7 303.7 750 291ZM584 291Q601.6 291 613.3 303.7T625 334 613.3 363.3 584 375 553.7 363.3 541 334 553.7 303.7 584 291ZM834 250H166V416H834V250ZM166 791H834V500H166V791ZM250 291Q267.6 291 279.3 303.7T291 334 279.3 363.3 250 375 220.7 363.3 209 334 220.7 303.7 250 291ZM541 584H625L750 709H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stove\"\n      ]\n    },\n    {\n      \"uid\": \"fe8377a8e39e71a0dd40c6822020dd40\",\n      \"css\": \"subway-variant\",\n      \"code\": 984287,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H541V250H750V459ZM687.5 709Q662.1 709 643.6 690.4T625 645.5 643.6 601.6 687.5 584 731.4 601.6 750 645.5 731.4 690.4 687.5 709ZM459 459H250V250H459V459ZM312.5 709Q287.1 709 268.6 690.4T250 645.5 268.6 601.6 312.5 584 356.4 601.6 375 645.5 356.4 690.4 312.5 709ZM500 84Q337.9 84 263.7 111.3 166 150.4 166 250V646.5Q166 707 209 749T312.5 791L250 853.5V875H750V853.5L687.5 791Q748 791 791 749T834 646.5V250Q834 150.4 736.3 111.3 662.1 84 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subway-variant\"\n      ]\n    },\n    {\n      \"uid\": \"999ec3986739f8bdadf3a60ebd26038e\",\n      \"css\": \"sunglasses\",\n      \"code\": 984288,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 709H166Q115.2 709 76.2 673.8T31.3 589.8L11.7 464.8Q3.9 410.2 38.1 372.1T125 334H375Q429.7 334 460.9 373 468.8 382.8 472.7 394.5 500 388.7 527.3 394.5 531.3 382.8 539.1 373 570.3 334 625 334H875Q927.7 334 961.9 372.1T988.3 462.9L968.8 591.8Q962.9 640.6 922.9 674.8T834 709H709Q660.2 709 618.2 675.8T564.5 595.7L527.3 482.4Q515.6 474.6 500 474.6T472.7 482.4L435.5 599.6Q423.8 644.5 381.8 676.8T291 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sunglasses\"\n      ]\n    },\n    {\n      \"uid\": \"81465c2128b18e846f82c540d7d8ace4\",\n      \"css\": \"swap-horizontal\",\n      \"code\": 984289,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 375L709 209V334H416V416H709V541ZM291 459L125 625 291 791V666H584V584H291V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"4852cf75c6a45d3aa005e7929340b789\",\n      \"css\": \"swap-vertical\",\n      \"code\": 984290,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125L209 291H334V584H416V291H541ZM666 709V416H584V709H459L625 875 791 709H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"821be40d4ee1334e1d9a4edd2ca1f3d5\",\n      \"css\": \"swim\",\n      \"code\": 984291,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 750Q175.8 709 222.7 693.4 298.8 666 361.3 666 392.6 666 429.7 679.7 453.1 687.5 500 708T570.3 736.3Q607.4 750 638.7 750T709 736.3Q732.4 728.5 778.3 708T847.7 679.7Q886.7 666 916 666V791Q886.7 791 847.7 804.7 824.2 812.5 778.3 833T709 861.3Q669.9 875 638.7 875T570.3 861.3Q546.9 853.5 500 833T429.7 804.7Q392.6 791 361.3 791 298.8 791 222.7 818.4 175.8 834 84 875V750ZM361.3 541Q316.4 541 263.7 554.7L468.8 412.1 425.8 359.4Q416 347.7 416 334 416 310.5 435.5 298.8L673.8 132.8 720.7 199.2 519.5 341.8 738.3 601.6Q679.7 625 638.7 625 607.4 625 570.3 611.3 546.9 603.5 500 583T429.7 554.7Q392.6 541 361.3 541ZM750 291Q785.2 291 809.6 315.4T834 375 809.6 434.6 750 459 690.4 434.6 666 375 690.4 315.4 750 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swim\"\n      ]\n    },\n    {\n      \"uid\": \"a5d18b57993d7aea851a21ba152f9f57\",\n      \"css\": \"switch\",\n      \"code\": 984292,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 750H584Q601.6 750 613.3 761.7T625 791H916V875H625Q625 892.6 613.3 904.3T584 916H416Q398.4 916 386.7 904.3T375 875H84V791H375Q375 773.4 386.7 761.7T416 750H459V666H334Q316.4 666 303.7 654.3T291 625V125Q291 107.4 303.7 95.7T334 84H666Q683.6 84 696.3 95.7T709 125V625Q709 642.6 696.3 654.3T666 666H541V750ZM541 250H584V166H541V250ZM375 166V250H459V166H375ZM375 334V416H459V334H375ZM375 500V584H459V500H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"switch\"\n      ]\n    },\n    {\n      \"uid\": \"5eacc8b0c069faa0a4b09eb75e3e4e88\",\n      \"css\": \"sword\",\n      \"code\": 984293,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M289.1 209H209L584 584 625 544.9ZM832 796.9L796.9 832Q785.2 843.8 767.6 843.8T738.3 832L607.4 701.2 496.1 812.5 437.5 753.9 496.1 695.3 125 322.3V125H322.3L695.3 496.1 753.9 437.5 812.5 496.1 701.2 607.4 832 738.3Q843.8 750 843.8 767.6T832 796.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sword\"\n      ]\n    },\n    {\n      \"uid\": \"d2289e29bc23d22810abb095d6fc4aad\",\n      \"css\": \"sync\",\n      \"code\": 984294,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q431.6 750 374 716.8T283.2 626 250 500Q250 437.5 279.3 382.8L218.8 322.3Q166 404.3 166 500 166 589.8 210.9 667T333 789.1 500 834V959L666 791 500 625V750ZM500 166V41L334 209 500 375V250Q568.4 250 626 283.2T716.8 374 750 500Q750 562.5 720.7 617.2L781.3 677.7Q834 595.7 834 500 834 410.2 789.1 333T667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sync\"\n      ]\n    },\n    {\n      \"uid\": \"1100ffdb4dbace12640b96c403dbea53\",\n      \"css\": \"sync-alert\",\n      \"code\": 984295,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V291H459V541ZM875 166H625V416L718.8 324.2Q752 357.4 771.5 403.3T791 500Q791 580.1 745.1 644.5T625 736.3V822.3Q734.4 794.9 804.7 705.1T875 500Q875 431.6 848.6 371.1T777.3 265.6ZM459 709H541V625H459V709ZM125 500Q125 568.4 151.4 628.9T222.7 734.4L125 834H375V584L281.3 675.8Q248 642.6 228.5 596.7T209 500Q209 419.9 254.9 355.5T375 263.7V177.7Q265.6 205.1 195.3 294.9T125 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sync-alert\"\n      ]\n    },\n    {\n      \"uid\": \"1493082f19a49a83da1c919fa24ef27d\",\n      \"css\": \"sync-off\",\n      \"code\": 984296,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H584V416L675.8 324.2Q710.9 357.4 730.5 403.3T750 500Q750 560.5 720.7 615.2L783.2 675.8Q834 595.7 834 500 834 431.6 807.6 371.1T734.4 265.6ZM119.1 224.6L216.8 324.2Q166 404.3 166 500 166 568.4 192.4 628.9T265.6 734.4L166 834H416V584L324.2 675.8Q289.1 642.6 269.5 596.7T250 500Q250 439.5 279.3 384.8L615.2 720.7Q593.8 732.4 584 736.3V822.3Q632.8 808.6 675.8 783.2L773.4 880.9 826.2 828.1 171.9 171.9ZM416 263.7V177.7Q367.2 189.5 324.2 216.8L384.8 279.3 394.5 273.4Q408.2 267.6 416 263.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sync-off\"\n      ]\n    },\n    {\n      \"uid\": \"3c27f2122ea4253ee04ddeb77fbdd909\",\n      \"css\": \"tab\",\n      \"code\": 984297,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V209H541V375H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tab\"\n      ]\n    },\n    {\n      \"uid\": \"647170444123f8d78bff56696f8e48bf\",\n      \"css\": \"tab-unselected\",\n      \"code\": 984298,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 375H125V291H41V375ZM41 541H125V459H41V541ZM41 209H125V125Q89.8 125 65.4 149.4T41 209ZM375 875H459V791H375V875ZM41 709H125V625H41V709ZM125 875V791H41Q41 826.2 65.4 850.6T125 875ZM875 125H541V375H959V209Q959 173.8 934.6 149.4T875 125ZM875 709H959V625H875V709ZM375 209H459V125H375V209ZM209 875H291V791H209V875ZM209 209H291V125H209V209ZM875 875Q910.2 875 934.6 850.6T959 791H875V875ZM875 541H959V459H875V541ZM541 875H625V791H541V875ZM709 875H791V791H709V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tab-unselected\"\n      ]\n    },\n    {\n      \"uid\": \"396868fb24fd7ecd00ba60127914f7e7\",\n      \"css\": \"table\",\n      \"code\": 984299,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166H791Q826.2 166 850.6 190.4T875 250V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V250Q125 214.8 149.4 190.4T209 166ZM209 334V500H459V334H209ZM541 334V500H791V334H541ZM209 584V750H459V584H209ZM541 584V750H791V584H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table\"\n      ]\n    },\n    {\n      \"uid\": \"3a31e159b5bdbf68038df90fe1bb6d96\",\n      \"css\": \"table-column-plus-after\",\n      \"code\": 984300,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84Q492.2 84 516.6 108.4T541 166V834Q541 867.2 516.6 891.6T459 916H84V84H459ZM166 416V584H459V416H166ZM166 666V834H459V666H166ZM166 166V334H459V166H166ZM625 459H750V334H834V459H959V541H834V666H750V541H625V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-column-plus-after\"\n      ]\n    },\n    {\n      \"uid\": \"aa770073fb72af17535f85bddf110bd4\",\n      \"css\": \"table-column-plus-before\",\n      \"code\": 984301,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84Q507.8 84 483.4 108.4T459 166V834Q459 867.2 483.4 891.6T541 916H916V84H541ZM834 416V584H541V416H834ZM834 666V834H541V666H834ZM834 166V334H541V166H834ZM375 459H250V334H166V459H41V541H166V666H250V541H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-column-plus-before\"\n      ]\n    },\n    {\n      \"uid\": \"613af9509b50248062d965129dc2df11\",\n      \"css\": \"table-column-remove\",\n      \"code\": 984302,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H459Q492.2 84 516.6 108.4T541 166V834Q541 867.2 516.6 891.6T459 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM166 416V584H459V416H166ZM166 666V834H459V666H166ZM166 166V334H459V166H166ZM732.4 500L625 392.6 683.6 334 791 441.4 900.4 334 959 392.6 849.6 500 959 607.4 900.4 666 791 558.6 683.6 666 625 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-column-remove\"\n      ]\n    },\n    {\n      \"uid\": \"30a6462ff30c1c9cefcb7cd28acf77a8\",\n      \"css\": \"table-column-width\",\n      \"code\": 984303,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334H791Q826.2 334 850.6 358.4T875 416V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V416Q125 382.8 149.4 358.4T209 334ZM209 500V625H459V500H209ZM541 500V625H791V500H541ZM209 709V834H459V709H209ZM541 709V834H791V709H541ZM459 84H875V250H791V166H541V250H459V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-column-width\"\n      ]\n    },\n    {\n      \"uid\": \"4006d9cd1ce8683e36df621cfd9fbc1d\",\n      \"css\": \"table-edit\",\n      \"code\": 984304,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 556.6L863.3 597.7 777.3 511.7 818.4 470.7Q826.2 464.8 835 464.8T851.6 470.7L904.3 523.4Q910.2 531.3 910.2 540T904.3 556.6ZM500 789.1L752 537.1 837.9 623 585.9 875H500V789.1ZM166 84H750Q785.2 84 809.6 108.4T834 166V339.8L673.8 500H500V673.8L423.8 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM166 250V416H416V250H166ZM500 250V416H750V250H500ZM166 500V666H416V500H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-edit\"\n      ]\n    },\n    {\n      \"uid\": \"c17080ee52390af8a597ac37bfced9a9\",\n      \"css\": \"table-large\",\n      \"code\": 984305,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H834Q867.2 125 891.6 149.4T916 209V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V209Q84 173.8 108.4 149.4T166 125ZM166 291V416H334V291H166ZM416 291V416H584V291H416ZM834 416V291H666V416H834ZM166 500V625H334V500H166ZM166 834H334V709H166V834ZM416 500V625H584V500H416ZM416 834H584V709H416V834ZM834 834V709H666V834H834ZM834 500H666V625H834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-large\"\n      ]\n    },\n    {\n      \"uid\": \"ad4439b073cdb55ac8ee956e4e230ec8\",\n      \"css\": \"table-row-height\",\n      \"code\": 984306,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209H625Q660.2 209 684.6 233.4T709 291V709Q709 742.2 684.6 766.6T625 791H125Q89.8 791 65.4 766.6T41 709V291Q41 257.8 65.4 233.4T125 209ZM125 375V500H334V375H125ZM416 375V500H625V375H416ZM125 584V709H334V584H125ZM416 584V709H625V584H416ZM959 584V291H791V375H875V500H791V584H959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-row-height\"\n      ]\n    },\n    {\n      \"uid\": \"b2d1e56582869e779986ed8a337bbb65\",\n      \"css\": \"table-row-plus-after\",\n      \"code\": 984307,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 416Q916 451.2 891.6 475.6T834 500H166Q132.8 500 108.4 475.6T84 416V125H166V209H334V125H416V209H584V125H666V209H834V125H916V416ZM166 416H334V291H166V416ZM416 416H584V291H416V416ZM834 416V291H666V416H834ZM459 584H541V709H666V791H541V916H459V791H334V709H459V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-row-plus-after\"\n      ]\n    },\n    {\n      \"uid\": \"bcaa5ca8e1d656e06240502ee4469c21\",\n      \"css\": \"table-row-plus-before\",\n      \"code\": 984308,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 584Q916 548.8 891.6 524.4T834 500H166Q132.8 500 108.4 524.4T84 584V875H166V791H334V875H416V791H584V875H666V791H834V875H916V584ZM166 584H334V709H166V584ZM416 584H584V709H416V584ZM834 584V709H666V584H834ZM459 416H541V291H666V209H541V84H459V209H334V291H459V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-row-plus-before\"\n      ]\n    },\n    {\n      \"uid\": \"f4a90119cd78dc8ee8b9e8268957ffa4\",\n      \"css\": \"table-row-remove\",\n      \"code\": 984309,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M392.6 541L500 650.4 607.4 541 666 599.6 558.6 709 666 816.4 607.4 875 500 767.6 392.6 875 334 816.4 441.4 709 334 599.6ZM916 375Q916 410.2 891.6 434.6T834 459H166Q132.8 459 108.4 434.6T84 375V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V375ZM166 375H334V250H166V375ZM416 375H584V250H416V375ZM666 375H834V250H666V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-row-remove\"\n      ]\n    },\n    {\n      \"uid\": \"7889749ed0761097bff4c0f8ff8cedea\",\n      \"css\": \"tablet\",\n      \"code\": 984310,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H209V250H791V750ZM875 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H875Q910.2 834 934.6 809.6T959 750V250Q959 214.8 934.6 190.4T875 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tablet\"\n      ]\n    },\n    {\n      \"uid\": \"b40971d960c0e683bc9fcc8e04949af1\",\n      \"css\": \"tablet-android\",\n      \"code\": 984311,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M802.7 791H197.3V125H802.7V791ZM584 916H416V875H584V916ZM750 0H250Q197.3 0 161.1 36.1T125 125V875Q125 927.7 161.1 963.9T250 1000H750Q802.7 1000 838.9 963.9T875 875V125Q875 72.3 838.9 36.1T750 0Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tablet-android\"\n      ]\n    },\n    {\n      \"uid\": \"a4e6cb0e4c1935aee786498a9bacc617\",\n      \"css\": \"tablet-ipad\",\n      \"code\": 984312,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H166V125H791V791ZM478.5 959Q453.1 959 434.6 940.4T416 895.5 434.6 851.6 479.5 834 523.4 851.6 541 895.5 523.4 940.4 478.5 959ZM771.5 0H187.5Q144.5 0 114.3 30.3T84 103.5V896.5Q84 939.5 114.3 969.7T187.5 1000H771.5Q814.5 1000 844.7 969.7T875 896.5V103.5Q875 60.5 844.7 30.3T771.5 0Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tablet-ipad\"\n      ]\n    },\n    {\n      \"uid\": \"cd67d79b9b03a5fad687473b8b86539c\",\n      \"css\": \"tag\",\n      \"code\": 984313,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 291Q203.1 291 184.6 273.4T166 229.5 184.6 184.6 229.5 166 273.4 184.6 291 229.5 273.4 273.4 228.5 291ZM892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 494.1 107.4 517.6L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag\"\n      ]\n    },\n    {\n      \"uid\": \"7b8301f8c4ed0106791459e9ffbf44a0\",\n      \"css\": \"tag-faces\",\n      \"code\": 984314,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 750Q556.6 750 499 716.8T408.2 626 375 500 408.2 374 499 283.2 625 250 751 283.2 841.8 374 875 500 841.8 626 751 716.8 625 750ZM166 541Q148.4 541 136.7 529.3T125 500 136.7 470.7 166 459 196.3 470.7 209 500 196.3 529.3 166 541ZM916 125H318.4Q275.4 125 250 158.2L0 500 250 841.8Q275.4 875 318.4 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM541 459Q558.6 459 571.3 446.3T584 416 571.3 386.7 541 375 511.7 386.7 500 416 511.7 446.3 541 459ZM625 666Q681.6 666 725.6 630.9T783.2 541H466.8Q480.5 595.7 524.4 630.9T625 666ZM709 459Q726.6 459 738.3 446.3T750 416 738.3 386.7 709 375 678.7 386.7 666 416 678.7 446.3 709 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-faces\"\n      ]\n    },\n    {\n      \"uid\": \"5b4991fdc98f17ad563a650f4675136e\",\n      \"css\": \"tag-multiple\",\n      \"code\": 984315,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 375Q255.9 375 273.4 356.4T291 312.5 273.4 268.6 229.5 250 184.6 268.6 166 312.5 184.6 356.4 228.5 375ZM724.6 482.4Q750 507.8 750 542T724.6 599.6L517.6 808.6Q492.2 834 458 834T398.4 808.6L107.4 517.6Q84 492.2 84 459V250Q84 214.8 108.4 190.4T166 166H375Q410.2 166 433.6 191.4ZM564.5 238.3L605.5 195.3 892.6 482.4Q916 505.9 916 541T892.6 599.6L668 824.2 627 783.2 865.2 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"7605c82c602f3bfc0abbc8b470cda5c1\",\n      \"css\": \"tag-text-outline\",\n      \"code\": 984317,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L482.4 892.6Q507.8 916 541 916T599.6 892.6L892.6 599.6Q916 574.2 916 541T892.6 482.4ZM541 834L166 459V166H459L834 541ZM271.5 209Q294.9 209 314.5 227.5T334 270.5 314.5 314.5 270.5 334 227.5 314.5 209 270.5 227.5 227.5 271.5 209ZM419.9 371.1L478.5 312.5 709 541 650.4 599.6ZM316.4 474.6L375 416 541 584 482.4 642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"166adba3fcfce7ed55943667192dfa1f\",\n      \"css\": \"target\",\n      \"code\": 984318,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84V169.9Q345.7 183.6 264.6 264.6T169.9 459H84V541H169.9Q183.6 654.3 264.6 735.4T459 830.1V916H541V830.1Q654.3 816.4 735.4 735.4T830.1 541H916V459H830.1Q816.4 345.7 735.4 264.6T541 169.9V84H459ZM459 253.9V334H541V253.9Q619.1 265.6 676.8 323.2T746.1 459H666V541H746.1Q734.4 619.1 676.8 676.8T541 746.1V666H459V746.1Q380.9 734.4 323.2 676.8T253.9 541H334V459H253.9Q265.6 380.9 323.2 323.2T459 253.9ZM500 459Q482.4 459 470.7 470.7T459 500 470.7 529.3 500 541 529.3 529.3 541 500 529.3 470.7 500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"target\"\n      ]\n    },\n    {\n      \"uid\": \"649b8a85a442f452ccd4834c28243f3d\",\n      \"css\": \"taxi\",\n      \"code\": 984319,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 459L271.5 271.5H728.5L791 459H209ZM728.5 666Q703.1 666 684.6 648.4T666 604.5 684.6 559.6 729.5 541 773.4 559.6 791 604.5 773.4 648.4 728.5 666ZM271.5 666Q244.1 666 226.6 648.4T209 604.5 226.6 559.6 270.5 541 315.4 559.6 334 604.5 315.4 648.4 271.5 666ZM789.1 250Q781.3 232.4 765.6 220.7T728.5 209H625V125H375V209H271.5Q250 209 234.4 220.7T210.9 250L125 500V834Q125 851.6 136.7 863.3T166 875H209Q226.6 875 238.3 863.3T250 834V791H750V834Q750 851.6 761.7 863.3T791 875H834Q851.6 875 863.3 863.3T875 834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"taxi\"\n      ]\n    },\n    {\n      \"uid\": \"43e1509a4a0e2f4cc39a683d8e9f09f9\",\n      \"css\": \"teamviewer\",\n      \"code\": 984320,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M418 382.8L386.7 459H615.2L584 382.8 814.5 500 584 617.2 615.2 541H386.7L418 617.2 187.5 500ZM867.2 916H132.8Q111.3 916 97.7 902.3T84 867.2V132.8Q84 111.3 97.7 97.7T132.8 84H867.2Q888.7 84 902.3 97.7T916 132.8V867.2Q916 888.7 902.3 902.3T867.2 916ZM498 156.3Q404.3 158.2 326.2 204.1T202.1 329.1 156.3 500 201.2 670.9 324.2 795.9 494.1 843.8H500Q593.8 841.8 671.9 795.9T795.9 671.9 843.8 501 800.8 330.1 679.7 205.1 511.7 156.3H498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"teamviewer\"\n      ]\n    },\n    {\n      \"uid\": \"01b6e800a9e2f78143fd02195422d0a5\",\n      \"css\": \"telegram\",\n      \"code\": 984321,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 777.3L419.9 601.6 738.3 312.5Q750 302.7 741.2 299.8T716.8 304.7L322.3 554.7 152.3 500Q123 492.2 125 475.6T160.2 445.3L826.2 189.5Q849.6 177.7 865.2 193.4T873 244.1L759.8 777.3Q753.9 804.7 737.3 812.5T697.3 806.6L525.4 679.7 441.4 759.8Q433.6 769.5 426.8 773.4T408.2 777.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"telegram\"\n      ]\n    },\n    {\n      \"uid\": \"13e23b1fda2cc4fe995651bf40d08a34\",\n      \"css\": \"television\",\n      \"code\": 984322,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709H125V209H875V709ZM875 125H125Q89.8 125 65.4 149.4T41 209V709Q41 742.2 65.4 766.6T125 791H334V875H666V791H875Q910.2 791 934.6 766.6T959 709V209Q959 173.8 934.6 149.4T875 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television\"\n      ]\n    },\n    {\n      \"uid\": \"f6a0a1b7e3fee690536fed84fbf67daf\",\n      \"css\": \"television-guide\",\n      \"code\": 984323,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709V209H125V709H875ZM875 125Q910.2 125 934.6 149.4T959 209V709Q959 742.2 934.6 766.6T875 791H666V875H334V791H125Q89.8 791 65.4 766.6T41 709V209Q41 173.8 65.4 149.4T125 125H875ZM209 291H459V459H209V291ZM209 541H459V625H209V541ZM541 291H791V375H541V291ZM541 459H791V625H541V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-guide\"\n      ]\n    },\n    {\n      \"uid\": \"6682a021171419bc7f3ca701f5f0f41c\",\n      \"css\": \"temperature-celsius\",\n      \"code\": 984324,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 209Q783.2 209 861.3 261.7L814.5 382.8Q759.8 334 687.5 334 609.4 334 554.7 388.7T500 521.5 554.7 654.3 687.5 709Q752 709 800.8 669.9L849.6 789.1Q775.4 834 689.5 834T531.3 792 417 677.7 375 521.5Q375 459 398.4 401.4T465.8 299.8 567.4 232.4 687.5 209ZM250 125Q302.7 125 338.9 161.1T375 250 338.9 338.9 250 375 161.1 338.9 125 250 161.1 161.1 250 125ZM250 209Q232.4 209 220.7 220.7T209 250 220.7 279.3 250 291 279.3 279.3 291 250 279.3 220.7 250 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"temperature-celsius\"\n      ]\n    },\n    {\n      \"uid\": \"f1b09835d045374d0eb1ae428a5dd12e\",\n      \"css\": \"temperature-fahrenheit\",\n      \"code\": 984325,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 834V209H834V334H584V459H791V584H584V834H459ZM250 125Q302.7 125 338.9 161.1T375 250 338.9 338.9 250 375 161.1 338.9 125 250 161.1 161.1 250 125ZM250 209Q232.4 209 220.7 220.7T209 250 220.7 279.3 250 291 279.3 279.3 291 250 279.3 220.7 250 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"temperature-fahrenheit\"\n      ]\n    },\n    {\n      \"uid\": \"736e2c357b44ae94e2cab8c6d403b26f\",\n      \"css\": \"temperature-kelvin\",\n      \"code\": 984326,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 209H416V459L625 209H791L578.1 449.2 791 834H640.6L490.2 548.8 416 630.9V834H291V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"temperature-kelvin\"\n      ]\n    },\n    {\n      \"uid\": \"78d557b9e68c9aae8fbfe30f9e5769a7\",\n      \"css\": \"tennis-ball\",\n      \"code\": 984327,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q576.2 84 645.5 109.4T771.5 183.6Q703.1 242.2 664.1 324.2T625 500 664.1 675.8 771.5 816.4Q714.8 865.2 645.5 890.6T500 916 354.5 890.6 228.5 816.4Q296.9 757.8 335.9 675.8T375 500 335.9 324.2 228.5 183.6Q285.2 134.8 354.5 109.4T500 84ZM916 500Q916 642.6 828.1 755.9 771.5 709 740.2 642.6T709 500 740.2 357.4 828.1 244.1Q916 357.4 916 500ZM84 500Q84 357.4 171.9 244.1 228.5 291 259.8 357.4T291 500 259.8 642.6 171.9 755.9Q84 642.6 84 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tennis-ball\"\n      ]\n    },\n    {\n      \"uid\": \"df894b31b2bbdaef4b17315c08862f5f\",\n      \"css\": \"tent\",\n      \"code\": 984328,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250Q166 324.2 209 375 156.3 375 120.1 338.9T84 250 120.1 161.1 209 125Q166 175.8 166 250ZM84 875V791H199.2L500 199.2 800.8 791H916V875H84ZM500 382.8L291 791H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tent\"\n      ]\n    },\n    {\n      \"uid\": \"db8a5475eadbb4b09b94adde8f05a6e0\",\n      \"css\": \"text-to-speech\",\n      \"code\": 984330,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 291Q367.2 291 391.6 315.4T416 375V584Q416 617.2 391.6 641.6T333 666 274.4 641.6 250 584V375Q250 339.8 274.4 315.4T334 291ZM584 584Q584 675.8 524.4 745.1T375 830.1V916H291V830.1Q203.1 814.5 143.6 745.1T84 584H166Q166 652.3 214.8 701.2T333 750 451.2 701.2 500 584H584ZM892.6 392.6L714.8 568.4 757.8 416H584Q548.8 416 524.4 391.6T500 334V166Q500 132.8 524.4 108.4T584 84H834Q867.2 84 891.6 108.4T916 166V334Q916 369.1 892.6 392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-to-speech\"\n      ]\n    },\n    {\n      \"uid\": \"4f8489b354fa50cb188723fc19ab7d02\",\n      \"css\": \"text-to-speech-off\",\n      \"code\": 984331,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 556.6 693.4Q531.3 748 483.4 784.2T375 830.1V916H291V830.1Q203.1 814.5 143.6 745.1T84 584H166Q166 652.3 214.8 701.2T334 750Q388.7 750 433.6 715.8T494.1 628.9L416 552.7V584Q416 617.2 391.6 641.6T333 666 274.4 641.6 250 584V386.7ZM892.6 392.6L714.8 568.4 757.8 416H584Q548.8 416 524.4 391.6T500 334V166Q500 132.8 524.4 108.4T584 84H834Q867.2 84 891.6 108.4T916 166V334Q916 369.1 892.6 392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-to-speech-off\"\n      ]\n    },\n    {\n      \"uid\": \"b062db79e58a94e0528d4df606de16e0\",\n      \"css\": \"texture\",\n      \"code\": 984332,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M386.7 875H505.9L875 505.9V386.7ZM791 875Q826.2 875 850.6 850.6T875 791V709L709 875H791ZM209 125Q173.8 125 149.4 149.4T125 209V291L291 125H209ZM494.1 125L125 494.1V613.3L613.3 125H494.1ZM812.5 128.9L128.9 812.5Q134.8 834 150.4 849.6T187.5 871.1L873 187.5Q865.2 166 849.6 150.4T812.5 128.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"texture\"\n      ]\n    },\n    {\n      \"uid\": \"2063e42dcd19da7e2553256a9db6711b\",\n      \"css\": \"theater\",\n      \"code\": 984333,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 625H250Q285.2 625 309.6 649.4T334 709V791H375V709Q375 673.8 399.4 649.4T459 625H541Q576.2 625 600.6 649.4T625 709V791H666V709Q666 673.8 690.4 649.4T750 625H834Q867.2 625 891.6 649.4T916 709V791H959V916H41V791H84V709Q84 673.8 108.4 649.4T166 625ZM459 291L625 416 459 541V291ZM166 84H834Q867.2 84 891.6 108.4T916 166V564.5Q878.9 541 834 541V166H166V541Q121.1 541 84 564.5V166Q84 132.8 108.4 108.4T166 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"theater\"\n      ]\n    },\n    {\n      \"uid\": \"4c852197fd03ab1d66c04423e23666ef\",\n      \"css\": \"theme-light-dark\",\n      \"code\": 984334,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q255.9 119.1 221.7 180.7T187.5 312.5 221.7 444.3 314.5 541Q250 541 197.3 510.7T114.3 427.7 84 312.5 114.3 197.3 197.3 114.3 312.5 84ZM794.9 146.5L853.5 205.1 205.1 853.5 146.5 794.9ZM537.1 248L474.6 209 416 250 433.6 179.7 375 134.8 447.3 130.9 472.7 60.5 500 128.9 572.3 130.9 515.6 177.7ZM400.4 398.4L351.6 367.2 304.7 400.4 318.4 343.8 273.4 310.5 330.1 306.6 349.6 252 369.1 304.7 425.8 306.6 382.8 343.8ZM791 562.5Q791 625 760.7 677.7T677.7 760.7 562.5 791Q486.3 791 425.8 748L748 425.8Q791 486.3 791 562.5ZM607.4 835.9L724.6 789.1 712.9 927.7ZM789.1 724.6L835.9 609.4 927.7 714.8ZM835.9 517.6L789.1 402.3 927.7 412.1ZM400.4 789.1L517.6 835.9 412.1 927.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"theme-light-dark\"\n      ]\n    },\n    {\n      \"uid\": \"85ad0e3f33c1a6038b99092fd059cf06\",\n      \"css\": \"thermometer\",\n      \"code\": 984335,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541V209Q625 156.3 588.9 120.1T500 84 411.1 120.1 375 209V541Q320.3 582 300.8 646.5T302.7 774.4 378.9 877 500 916 621.1 877 697.3 774.4 699.2 646.5 625 541ZM500 166Q517.6 166 529.3 178.7T541 209V334H459V209Q459 191.4 470.7 178.7T500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer\"\n      ]\n    },\n    {\n      \"uid\": \"8d4204329f8256f7a6c28b18947f28cb\",\n      \"css\": \"thermometer-lines\",\n      \"code\": 984336,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125H875V209H709V125ZM709 291H875V375H709V291ZM709 459H875V541H740.2L709 503.9V459ZM875 625V709H791Q791 666 779.3 625H875ZM291 125V209H125V125H291ZM291 291V375H125V291H291ZM291 459V503.9L259.8 541H125V459H291ZM125 625H220.7Q209 666 209 709H125V625ZM625 541V209Q625 156.3 588.9 120.1T500 84 411.1 120.1 375 209V541Q330.1 576.2 308.6 627T293 732.4 333 833 418 900.4 524.4 915 625 875 691.4 790 707 683.6 666 584Q648.4 558.6 625 541ZM500 166Q517.6 166 529.3 178.7T541 209V334H459V209Q459 191.4 470.7 178.7T500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-lines\"\n      ]\n    },\n    {\n      \"uid\": \"a407665a34dcd13e9deb39c5ae3b032d\",\n      \"css\": \"thumb-down\",\n      \"code\": 984337,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625H959V125H791V625ZM625 125H250Q224.6 125 204.1 138.7T173.8 175.8L46.9 468.8Q41 484.4 41 500V584Q41 617.2 65.4 641.6T125 666H388.7L347.7 857.4V869.1Q347.7 896.5 365.2 914.1L410.2 959 683.6 683.6Q709 660.2 709 625V209Q709 173.8 684.6 149.4T625 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thumb-down\"\n      ]\n    },\n    {\n      \"uid\": \"b78fd65a6ccc97bda9db13156505a770\",\n      \"css\": \"thumb-down-outline\",\n      \"code\": 984338,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V125H959V625H791ZM625 125Q660.2 125 684.6 149.4T709 209V625Q709 660.2 683.6 683.6L410.2 959 365.2 914.1Q347.7 896.5 347.7 869.1V857.4L388.7 666H125Q89.8 666 65.4 641.6T41 584V500Q41 484.4 46.9 468.8L173.8 175.8Q183.6 152.3 204.1 138.7T250 125H625ZM625 209H248L125 500V584H490.2L443.4 804.7 625 623V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thumb-down-outline\"\n      ]\n    },\n    {\n      \"uid\": \"83cac562981310f247cc31d371e60e3f\",\n      \"css\": \"thumb-up\",\n      \"code\": 984339,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 416Q959 382.8 934.6 358.4T875 334H611.3L652.3 142.6V128.9Q652.3 103.5 634.8 85.9L589.8 41 316.4 316.4Q291 339.8 291 375V791Q291 826.2 315.4 850.6T375 875H750Q775.4 875 795.9 861.3T826.2 824.2L953.1 531.3Q959 515.6 959 500V416ZM41 875H209V375H41V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thumb-up\"\n      ]\n    },\n    {\n      \"uid\": \"199d8b58397d5f5895e62d4829c7b19f\",\n      \"css\": \"thumb-up-outline\",\n      \"code\": 984340,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 375V875H41V375H209ZM375 875Q339.8 875 315.4 850.6T291 791V375Q291 339.8 316.4 316.4L589.8 41 634.8 85.9Q652.3 103.5 652.3 128.9V142.6L611.3 334H875Q910.2 334 934.6 358.4T959 416V500Q959 515.6 953.1 531.3L826.2 824.2Q816.4 847.7 795.9 861.3T750 875H375ZM375 791H752L875 500V416H507.8L556.6 195.3 375 377V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thumb-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c5589e6070b7050af40748c01779a33\",\n      \"css\": \"thumbs-up-down\",\n      \"code\": 984341,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M937.5 416H656.3Q636.7 416 621.1 426.8T599.6 455.1L503.9 675.8Q500 685.5 500 697.3V750Q500 767.6 511.7 779.3T541 791H757.8L728.5 923.8V933.6Q728.5 953.1 742.2 966.8L775.4 1000 982.4 794.9Q1000 775.4 1000 750V478.5Q1000 453.1 981.4 434.6T937.5 416ZM500 250Q500 232.4 488.3 220.7T459 209H242.2L271.5 76.2V66.4Q271.5 46.9 257.8 33.2L224.6 0 17.6 205.1Q0 224.6 0 250V521.5Q0 546.9 18.6 565.4T62.5 584H343.8Q363.3 584 378.9 573.2T400.4 544.9L496.1 324.2Q500 314.5 500 302.7V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thumbs-up-down\"\n      ]\n    },\n    {\n      \"uid\": \"0dddf9c364ee53b69cddc0cfca8e9bd3\",\n      \"css\": \"ticket\",\n      \"code\": 984342,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M648.4 699.2L500 603.5 351.6 699.2 396.5 529.3 257.8 416 435.5 406.3 500 242.2 564.5 406.3 742.2 416 603.5 529.3ZM834 500Q834 464.8 858.4 440.4T916 416V250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V416Q117.2 416 141.6 440.4T166 500 141.6 559.6 84 584V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V584Q882.8 584 858.4 559.6T834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket\"\n      ]\n    },\n    {\n      \"uid\": \"8f72f85540d7aa5c33ecb1c683a6aa5c\",\n      \"css\": \"ticket-account\",\n      \"code\": 984343,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q834 535.2 858.4 559.6T916 584V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V584Q117.2 584 141.6 559.6T166 500 141.6 440.4 84 416V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V416Q882.8 416 858.4 440.4T834 500ZM687.5 677.7Q687.5 634.8 617.2 607.4 558.6 584 500 584T382.8 607.4Q312.5 634.8 312.5 677.7V709H687.5V677.7ZM500 509.8Q539.1 509.8 566.4 482.4T593.8 416 566.4 349.6 500 322.3 433.6 349.6 406.3 416 433.6 482.4 500 509.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket-account\"\n      ]\n    },\n    {\n      \"uid\": \"6b8021bd5c51088df9c7df5b7c044137\",\n      \"css\": \"ticket-confirmation\",\n      \"code\": 984344,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 353.5H459V271.5H541V353.5ZM541 541H459V459H541V541ZM541 728.5H459V646.5H541V728.5ZM916 416V250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V416Q117.2 416 141.6 440.4T166 500 141.6 559.6 84 584V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V584Q882.8 584 858.4 559.6T834 500 858.4 440.4 916 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket-confirmation\"\n      ]\n    },\n    {\n      \"uid\": \"834baa245fcf189b7a1f2a3b879ef65c\",\n      \"css\": \"tie\",\n      \"code\": 984345,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84L416 250 291 709 500 916 709 709 584 250 750 84H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tie\"\n      ]\n    },\n    {\n      \"uid\": \"0abb2c5232f4deeb69c360f420f41fa0\",\n      \"css\": \"timelapse\",\n      \"code\": 984346,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM675.8 324.2Q640.6 287.1 594.7 268.6T500 250V500L324.2 675.8Q371.1 724.6 435.5 741.2T564.5 741.2 676.8 676.8 741.2 564.5 741.2 435.5 675.8 324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timelapse\"\n      ]\n    },\n    {\n      \"uid\": \"01ef99b84e727fa4db6dfe80e4dcd4e4\",\n      \"css\": \"timer-outline\",\n      \"code\": 984347,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q419.9 834 353.5 793.9T248 687.5 209 542 248 395.5 353.5 289.1 500 250 646.5 289.1 752 395.5 791 542 752 687.5 646.5 793.9 500 834ZM793 308.6L851.6 248Q822.3 214.8 793 189.5L734.4 250Q630.9 166 500 166 398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916 688.5 866.2 825.2 730.5 875 541Q875 410.2 793 308.6ZM459 584H541V334H459V584ZM625 41H375V125H625V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6dbcde6745a39e623a626dfa052be6e\",\n      \"css\": \"timer-10\",\n      \"code\": 984348,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 550.8Q537.1 587.9 532.2 614.3T517.6 657.2 494.1 680.7 459 687.5 423.8 680.7 399.4 656.3 383.8 614.3 378.9 550.8V447.3Q378.9 408.2 383.8 382.8T399.4 341.8 423.8 319.3 458 312.5 493.2 319.3 517.6 341.8 532.2 383.8 537.1 445.3V550.8ZM576.2 293Q556.6 269.5 525.4 257.8T459 246.1 391.6 257.8 339.8 293.9 308.6 360.4 296.9 459V539.1Q296.9 599.6 308.6 640.6T341.8 707 394.5 743.2 459 753.9 524.4 742.2 577.1 705.1 608.4 638.7 619.1 539.1V459Q619.1 400.4 607.4 359.4T576.2 293ZM990.2 599.6Q982.4 580.1 963.9 567.4T920.9 545.9 867.2 529.3Q847.7 527.3 830.1 520.5T805.7 508.8 794.9 496.1 791 480.5 794.9 463.9 807.6 449.2 827.1 439.5 853.5 435.5 879.9 440.4 899.4 453.1 912.1 471.7 916 490.2H998Q998 466.8 987.3 445.3T959 409.2 914.1 384.8 854.5 375 795.9 383.8 752 406.3 723.6 440.4 712.9 484.4 722.7 525.4 748 554.7 789.1 576.2Q810.5 584 843.8 591.8 867.2 597.7 881.8 602.5T905.3 614.3 917 627.9 919.9 646.5Q919.9 666 903.3 677.7T853.5 689.5Q839.8 689.5 828.1 686.5T804.7 675.8 787.1 657.2 781.3 630.9H701.2Q701.2 652.3 711.9 673.8T741.2 712.9 788.1 740.2 852.5 750 914.1 742.2 959 720.7 989.3 687.5 1000 641.6 990.2 599.6ZM0 322.3V392.6L125 349.6V750H209V250H197.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-10\"\n      ]\n    },\n    {\n      \"uid\": \"9b9609defaead5a25d8553c664bf6eed\",\n      \"css\": \"timer-3\",\n      \"code\": 984349,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 599.6Q861.3 582 842.8 568.4T799.8 545.9 744.1 529.3Q728.5 527.3 709 521.5 693.4 513.7 685.5 508.8T673.8 497.1 669.9 481.4 673.8 463.9 685.5 449.2 705.1 439.5 731.4 435.5 757.8 440.4 777.3 452.1 790 471.7 794.9 490.2H877Q877 466.8 866.2 445.3T836.9 409.2 792 384.8 732.4 375 672.9 383.8 629.9 406.3 602.5 440.4 591.8 483.4 600.6 523.4 626 553.7 668 576.2Q687.5 584 720.7 591.8 746.1 597.7 760.7 603.5T783.2 615.2 794.9 628.9 798.8 646.5Q798.8 666 782.2 677.7T734.4 689.5Q718.8 689.5 706.1 686.5T683.6 676.8 667 658.2 658.2 630.9H580.1Q580.1 654.3 590.8 674.8T620.1 711.9 667 739.3 731.4 750 793 742.2 837.9 720.7 868.2 686.5 878.9 641.6 869.1 599.6ZM484.4 541Q472.7 523.4 457 512.7T419.9 494.1Q439.5 484.4 453.1 471.7T476.6 444.3 490.2 416 494.1 386.7Q494.1 351.6 483.4 325.2T451.2 281.3 400.4 254.9 337.9 246.1Q306.6 246.1 275.4 255.9T222.7 285.2 190.4 328.1 179.7 380.9H261.7Q261.7 365.2 266.6 352.5T283.2 331.1 307.6 317.4 337.9 312.5Q377 312.5 394.5 332T412.1 386.7Q412.1 404.3 407.2 418T391.6 441.4 366.2 457 328.1 462.9H279.3V527.3H330.1Q349.6 527.3 367.2 532.2T396.5 546.9 414.1 572.3 419.9 607.4Q419.9 646.5 398.4 667T337.9 687.5Q318.4 687.5 303.7 682.6T279.3 668 263.7 644.5 257.8 613.3H173.8Q173.8 646.5 187.5 673.8T225.6 718.8 275.4 744.1Q306.6 753.9 337.9 753.9 371.1 753.9 402.3 744.1T456.1 715.8 490.2 669.9 502 607.4Q502 589.8 497.1 571.3T484.4 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-3\"\n      ]\n    },\n    {\n      \"uid\": \"2e74ba80a54a5d903fd3804d8be16d6e\",\n      \"css\": \"timer-off-outline\",\n      \"code\": 984350,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q419.9 834 353.5 793.9T248 687.5 209 541 248 396.5L646.5 793Q580.1 834 500 834ZM125 166L72.3 218.8 187.5 334Q125 427.7 125 541 125 642.6 175.8 729.5T312.5 866.2 500 916Q613.3 916 709 853.5L812.5 959 865.2 906.3 543 584ZM459 392.6L541 476.6V334H459V392.6ZM625 41H375V125H625V41ZM793 189.5L734.4 248Q630.9 166 500 166 386.7 166 293 228.5L353.5 289.1Q421.9 250 501 250T646.5 289.1 752 395.5 791 541 752 687.5L812.5 748Q875 654.3 875 541 875 410.2 793 308.6L851.6 248Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b1a2c5307b5b304e00de7893e17b370c\",\n      \"css\": \"timer-sand\",\n      \"code\": 984351,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750V334L584 500 750 666V916H250V666L416 500 250 334V84ZM666 687.5L500 521.5 334 687.5V834H666V687.5ZM500 478.5L666 312.5V166H334V312.5ZM416 250H584V281.3L500 365.2 416 281.3V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-sand\"\n      ]\n    },\n    {\n      \"uid\": \"60b2dfcf47ca1e5b23620a2c6da4f5db\",\n      \"css\": \"timetable\",\n      \"code\": 984352,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500H646.5V617.2L748 675.8 716.8 730.5 584 654.3V500ZM166 84H750Q785.2 84 809.6 108.4T834 166V419.9Q873 460.9 894.5 513.7T916 625Q916 705.1 877 771.5T771.5 877 625 916Q566.4 916 513.7 894.5T419.9 834H166Q132.8 834 108.4 809.6T84 750V166Q84 132.8 108.4 108.4T166 84ZM166 625V750H361.3Q334 691.4 334 625H166ZM166 334H416V209H166V334ZM750 334V209H500V334H750ZM166 541H345.7Q367.2 468.8 419.9 416H166V541ZM625 423.8Q584 423.8 546.9 438.5T481.4 481.4 438.5 546.9 423.8 625Q423.8 709 482.4 767.6T625 826.2Q666 826.2 703.1 811.5T768.6 768.6 811.5 703.1 826.2 625Q826.2 541 767.6 482.4T625 423.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timetable\"\n      ]\n    },\n    {\n      \"uid\": \"904751110eb266bfa3f653a8d78880c6\",\n      \"css\": \"toggle-switch\",\n      \"code\": 984353,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291H291Q234.4 291 186.5 319.3T111.3 395.5 84 500 111.3 604.5 186.5 680.7 291 709H709Q765.6 709 813.5 680.7T888.7 604.5 916 500 888.7 395.5 813.5 319.3 709 291ZM709 625Q656.3 625 620.1 588.9T584 500 620.1 411.1 708 375 796.9 411.1 834 500 796.9 588.9 709 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toggle-switch\"\n      ]\n    },\n    {\n      \"uid\": \"ad34bb1a67b96387f312d738ce5f5df5\",\n      \"css\": \"toggle-switch-off\",\n      \"code\": 984354,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291H291Q234.4 291 186.5 319.3T111.3 395.5 84 500 111.3 604.5 186.5 680.7 291 709H709Q765.6 709 813.5 680.7T888.7 604.5 916 500 888.7 395.5 813.5 319.3 709 291ZM291 625Q240.2 625 203.1 588.9T166 500 203.1 411.1 292 375 379.9 411.1 416 500 379.9 588.9 291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toggle-switch-off\"\n      ]\n    },\n    {\n      \"uid\": \"338d797b60af24a8c615c7c388bb4f25\",\n      \"css\": \"tooltip\",\n      \"code\": 984355,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip\"\n      ]\n    },\n    {\n      \"uid\": \"befb7db4115ba1923efe4d1c471d7ce2\",\n      \"css\": \"tooltip-edit\",\n      \"code\": 984356,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334L500 916 666 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM378.9 625H291V537.1L548.8 279.3 634.8 367.2ZM701.2 300.8L660.2 341.8 574.2 257.8 615.2 214.8Q621.1 209 630.9 209T648.4 214.8L701.2 267.6Q709 273.4 709 283.2T701.2 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-edit\"\n      ]\n    },\n    {\n      \"uid\": \"570a7f2fde4204407dca91562d5d865a\",\n      \"css\": \"tooltip-image\",\n      \"code\": 984357,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM791 625V291L625 459 541 375 291 625H791ZM291 209Q257.8 209 233.4 233.4T209 292 233.4 350.6 292 375 350.6 350.6 375 292 350.6 233.4 291 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-image\"\n      ]\n    },\n    {\n      \"uid\": \"81a387f5546828c20ec9442f26aec854\",\n      \"css\": \"tooltip-outline\",\n      \"code\": 984358,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM166 166V666H367.2L500 798.8 632.8 666H834V166H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-outline\"\n      ]\n    },\n    {\n      \"uid\": \"91f13279e03eb3499b2064131eb16ac1\",\n      \"css\": \"tooltip-plus-outline\",\n      \"code\": 984359,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM166 166V666H367.2L500 798.8 632.8 666H834V166H166ZM459 250H541V375H666V459H541V584H459V459H334V375H459V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a3f0b980fb179457593d8126cfab2714\",\n      \"css\": \"tooltip-text\",\n      \"code\": 984360,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM209 209V291H791V209H209ZM209 375V459H625V375H209ZM209 541V625H709V541H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-text\"\n      ]\n    },\n    {\n      \"uid\": \"f906c458e43419acc31a5996269d3e14\",\n      \"css\": \"tooth-outline\",\n      \"code\": 984361,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q232.4 84 181.6 121.1 136.7 154.3 110.4 211.9T84 334 109.4 474.6 166 584Q177.7 593.8 189.5 628.9 197.3 650.4 214.8 705.1 246.1 806.6 265.6 847.7 298.8 916 334 916 386.7 916 416 886.7 439.5 861.3 449.2 814.5 455.1 785.2 459 726.6 462.9 673.8 468.8 654.3 478.5 625 500 625T531.3 654.3Q537.1 673.8 541 726.6 544.9 785.2 550.8 814.5 560.5 861.3 584 886.7 613.3 916 666 916 701.2 916 734.4 847.7 753.9 806.6 785.2 705.1 802.7 650.4 810.5 628.9 822.3 593.8 834 584 865.2 550.8 890.6 474.6T916 334 889.6 211.9 818.4 121.1Q767.6 84 709 84 662.1 84 628.9 91.8 609.4 95.7 580.1 107.4 558.6 117.2 546.9 119.1 525.4 125 500 125T453.1 119.1Q441.4 117.2 419.9 107.4 390.6 95.7 371.1 91.8 337.9 84 291 84ZM291 166Q320.3 166 347.7 173.8 365.2 177.7 396.5 187.5T443.4 201.2Q472.7 209 500 209T556.6 201.2Q572.3 197.3 603.5 187.5T652.3 173.8Q679.7 166 709 166 759.8 166 796.9 217.8T834 334Q834 388.7 810.5 451.2T757.8 544.9Q746.1 556.6 728.5 605.5 716.8 634.8 695.3 703.1 675.8 769.5 668 793 654.3 830.1 646.5 830.1T631.8 800.8 625 732.4Q625 654.3 599.6 605.5 568.4 541 500 541T400.4 605.5Q375 654.3 375 732.4 375 771.5 368.2 800.8T353.5 830.1 332 793Q324.2 769.5 304.7 703.1 283.2 634.8 271.5 605.5 253.9 556.6 242.2 544.9 212.9 513.7 189.5 451.2T166 334Q166 269.5 203.1 217.8T291 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooth-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f86b130e01ae49ccac1d667416b7bc6a\",\n      \"css\": \"cloud-refresh\",\n      \"code\": 984362,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q613.3 166 699.2 238.3T806.6 418Q888.7 423.8 944.3 483.4T1000 625Q1000 681.6 971.7 729.5T895.5 805.7 791 834H250Q181.6 834 124 799.8T33.2 708 0 584Q0 486.3 64.5 416T222.7 335.9Q261.7 257.8 335.9 211.9T500 166ZM709 541V375L666 416Q636.7 378.9 593.8 356.4T500 334Q443.4 334 395.5 361.3T319.3 436.5 291 541 319.3 645.5 395.5 721.7 500 750Q562.5 750 614.3 715.8T691.4 625H593.8Q556.6 666 502 666T411.1 629.9 375 542 411.1 453.1 500 416Q533.2 416 561.5 432.6T607.4 476.6L541 541H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"b629836aa1a1930d26c4ce13e3215075\",\n      \"css\": \"traffic-light\",\n      \"code\": 984363,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q464.8 375 440.4 350.6T416 292 440.4 233.4 500 209 559.6 233.4 584 292 559.6 350.6 500 375ZM500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584ZM500 791Q464.8 791 440.4 766.6T416 708 440.4 649.4 500 625 559.6 649.4 584 708 559.6 766.6 500 791ZM834 416H709V369.1Q763.7 355.5 798.8 310.5T834 209H709V166Q709 148.4 696.3 136.7T666 125H334Q316.4 125 303.7 136.7T291 166V209H166Q166 265.6 201.2 310.5T291 369.1V416H166Q166 474.6 201.2 518.6T291 578.1V625H166Q166 681.6 201.2 726.6T291 785.2V834Q291 851.6 303.7 863.3T334 875H666Q683.6 875 696.3 863.3T709 834V785.2Q763.7 771.5 798.8 726.6T834 625H709V578.1Q763.7 562.5 798.8 518.6T834 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"traffic-light\"\n      ]\n    },\n    {\n      \"uid\": \"1adbd5c1e70d50c5704ce10e56bf8f4f\",\n      \"css\": \"train\",\n      \"code\": 984364,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q347.7 84 271.5 111.3 166 150.4 166 250V646.5Q166 707 209 749T312.5 791L250 853.5V875H343.8L425.8 791H584L666 875H750V853.5L687.5 791Q748 791 791 749T834 646.5V250Q834 150.4 736.3 111.3 662.1 84 500 84ZM312.5 709Q287.1 709 268.6 690.4T250 645.5 268.6 601.6 312.5 584 356.4 601.6 375 645.5 356.4 690.4 312.5 709ZM459 416H250V250H459V416ZM541 416V250H750V416H541ZM687.5 709Q662.1 709 643.6 690.4T625 645.5 643.6 601.6 687.5 584 731.4 601.6 750 645.5 731.4 690.4 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"train\"\n      ]\n    },\n    {\n      \"uid\": \"5d8c2926b186327e5d997b3f6d48b388\",\n      \"css\": \"tram\",\n      \"code\": 984365,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 705.1V353.5Q791 273.4 718.8 238.3 662.1 210.9 541 209L572.3 146.5H709V84H291V146.5H490.2L459 209Q343.8 212.9 285.2 240.2 209 275.4 209 353.5V705.1Q209 750 240.2 785.2T316.4 830.1L250 896.5V916H343.8L425.8 834H584L666 916H750V896.5L687.5 834H683.6Q734.4 834 762.7 797.9T791 705.1ZM500 771.5Q474.6 771.5 456.1 752.9T437.5 708 456.1 664.1 500 646.5 543.9 664.1 562.5 708 543.9 752.9 500 771.5ZM709 584H291V375H709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tram\"\n      ]\n    },\n    {\n      \"uid\": \"febe7ce44572fa2334d4550f87b4ecd8\",\n      \"css\": \"transcribe\",\n      \"code\": 984366,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209Q867.2 209 891.6 233.4T916 291V709Q916 742.2 891.6 766.6T834 791H166Q132.8 791 108.4 766.6T84 709V291Q84 257.8 108.4 233.4T166 209H834ZM750 709V625H521.5L437.5 709H750ZM250 709H353.5L638.7 421.9Q646.5 416 646.5 407.2T638.7 392.6L566.4 318.4Q560.5 312.5 551.8 312.5T537.1 318.4L250 605.5V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transcribe\"\n      ]\n    },\n    {\n      \"uid\": \"3be83443cefd459e41fb99df399dce7c\",\n      \"css\": \"transcribe-close\",\n      \"code\": 984367,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959L334 791H666ZM834 125Q867.2 125 891.6 149.4T916 209V625Q916 660.2 891.6 684.6T834 709H166Q132.8 709 108.4 684.6T84 625V209Q84 173.8 108.4 149.4T166 125H834ZM750 625V541H521.5L437.5 625H750ZM250 625H353.5L638.7 337.9Q646.5 332 646.5 323.2T638.7 308.6L566.4 236.3Q560.5 228.5 551.8 228.5T537.1 236.3L250 521.5V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transcribe-close\"\n      ]\n    },\n    {\n      \"uid\": \"7a21f7946a8b88593d28f5a917d088cc\",\n      \"css\": \"transfer-right\",\n      \"code\": 984368,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 334H209V666H125V334ZM291 334H375V666H291V334ZM459 334H541V666H459V334ZM625 802.7V197.3L927.7 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transfer-right\"\n      ]\n    },\n    {\n      \"uid\": \"4b22a1f95e551db675e5f7cab51fdf24\",\n      \"css\": \"tree\",\n      \"code\": 984369,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 875V697.3Q427.7 709 396.5 709 318.4 709 263.7 654.3T209 519.5 265.6 386.7Q250 351.6 250 312.5 250 234.4 304.7 179.7T437.5 125Q486.3 125 527.3 147.5T593.8 209H603.5Q650.4 209 692.4 226.6T766.6 276.4 816.4 350.6 834 437.5 816.4 524.4 766.6 598.6 692.4 648.4 603.5 666Q572.3 666 541 658.2V875H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tree\"\n      ]\n    },\n    {\n      \"uid\": \"6349d1c9e1f725c2eb59185d48d23095\",\n      \"css\": \"trello\",\n      \"code\": 984370,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 84H187.5Q144.5 84 114.3 114.3T84 187.5V812.5Q84 855.5 114.3 885.7T187.5 916H812.5Q855.5 916 885.7 885.7T916 812.5V187.5Q916 144.5 885.7 114.3T812.5 84ZM445.3 716.8Q445.3 738.3 430.7 752.9T396.5 767.6H242.2Q220.7 767.6 206.1 752T191.4 716.8V242.2Q191.4 220.7 206.1 206.1T242.2 191.4H396.5Q416 191.4 430.7 206.1T445.3 242.2V716.8ZM808.6 507.8Q808.6 529.3 793.9 543.9T757.8 558.6H603.5Q584 558.6 569.3 543.9T554.7 507.8V242.2Q554.7 220.7 569.3 206.1T603.5 191.4H757.8Q779.3 191.4 793.9 206.1T808.6 242.2V507.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trello\"\n      ]\n    },\n    {\n      \"uid\": \"4feb036704da81bdb52dc19279b7a187\",\n      \"css\": \"trending-down\",\n      \"code\": 984371,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 750L761.7 654.3 558.6 451.2 392.6 617.2 84 308.6 142.6 250 392.6 500 558.6 334 820.3 595.7 916 500V750H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trending-down\"\n      ]\n    },\n    {\n      \"uid\": \"e78db4d036e17021a9e05246fe6b5326\",\n      \"css\": \"trending-neutral\",\n      \"code\": 984372,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500L750 334V459H125V541H750V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trending-neutral\"\n      ]\n    },\n    {\n      \"uid\": \"34ac03867d9109489fa0add9da5f18a3\",\n      \"css\": \"trending-up\",\n      \"code\": 984373,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250L761.7 345.7 558.6 548.8 392.6 382.8 84 691.4 142.6 750 392.6 500 558.6 666 820.3 404.3 916 500V250H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trending-up\"\n      ]\n    },\n    {\n      \"uid\": \"9c8f0605fd916664fb7caa49bad0fb70\",\n      \"css\": \"triangle\",\n      \"code\": 984374,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 875H959L500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"triangle\"\n      ]\n    },\n    {\n      \"uid\": \"3f9dc9d894786a4773bee2ad82302b46\",\n      \"css\": \"triangle-outline\",\n      \"code\": 984375,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L41 875H959ZM500 250L814.5 791H185.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"triangle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5a912e3862d580e2950a77df76ac813a\",\n      \"css\": \"trophy\",\n      \"code\": 984376,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84Q720.7 84 693.4 110.4T666 166H334Q334 136.7 306.6 110.4T250 84H84V459Q84 490.2 109.4 515.6T166 541H257.8Q289.1 691.4 459 709V794.9Q416 800.8 386.7 822.3 363.3 837.9 349.6 863.3 339.8 880.9 335.9 900.4L334 916H666L664.1 900.4Q660.2 880.9 650.4 863.3 636.7 837.9 613.3 822.3 584 800.8 541 794.9V709Q710.9 691.4 742.2 541H834Q865.2 541 890.6 515.6T916 459V84H750ZM250 459H166V166H250V459ZM834 459H750V166H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trophy\"\n      ]\n    },\n    {\n      \"uid\": \"5574de5eb83176ae9d5ad3f18253be54\",\n      \"css\": \"trophy-award\",\n      \"code\": 984377,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M632.8 445.3L691.4 666 500 507.8 308.6 666 367.2 449.2 191.4 304.7 416 291 500 84 584 291 808.6 304.7ZM584 791H541V666L500 625 459 666V791H416Q382.8 791 358.4 815.4T334 875V916H666V875Q666 839.8 641.6 815.4T584 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trophy-award\"\n      ]\n    },\n    {\n      \"uid\": \"ca5cc4dec367dfd40f27b1bcdd94e736\",\n      \"css\": \"trophy-outline\",\n      \"code\": 984378,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84Q720.7 84 693.4 110.4T666 166H334Q334 136.7 306.6 110.4T250 84H84V459Q84 490.2 109.4 515.6T166 541H257.8Q289.1 691.4 459 709V794.9Q416 800.8 386.7 822.3 363.3 837.9 349.6 863.3 339.8 880.9 335.9 900.4L334 916H666L664.1 900.4Q660.2 880.9 650.4 863.3 636.7 837.9 613.3 822.3 584 800.8 541 794.9V709Q710.9 691.4 742.2 541H834Q865.2 541 890.6 515.6T916 459V84H750ZM250 459H166V166H250V459ZM666 478.5Q666 548.8 636.7 582 597.7 625 500 625T363.3 582Q334 548.8 334 478.5V250H666V478.5ZM834 459H750V166H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trophy-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a67f96aec60993ae07696075cd296987\",\n      \"css\": \"trophy-variant\",\n      \"code\": 984379,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166V84H291V166H84V459Q84 492.2 108.4 516.6T166 541H294.9Q308.6 603.5 352.5 647.5T459 705.1V794.9Q416 800.8 386.7 822.3 363.3 837.9 349.6 863.3 339.8 880.9 335.9 900.4L334 916H666L664.1 900.4Q660.2 880.9 650.4 863.3 636.7 837.9 613.3 822.3 584 800.8 541 794.9V705.1Q603.5 691.4 647.5 647.5T705.1 541H834Q867.2 541 891.6 516.6T916 459V166H709ZM166 459V250H291V459H166ZM834 459H709V250H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trophy-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6deef1a678afc682c540a22ae1b3d6cf\",\n      \"css\": \"trophy-variant-outline\",\n      \"code\": 984380,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166V84H291V166H84V459Q84 492.2 108.4 516.6T166 541H294.9Q308.6 603.5 352.5 647.5T459 705.1V794.9Q416 800.8 386.7 822.3 363.3 837.9 349.6 863.3 339.8 880.9 335.9 900.4L334 916H666L664.1 900.4Q660.2 880.9 650.4 863.3 636.7 837.9 613.3 822.3 584 800.8 541 794.9V705.1Q603.5 691.4 647.5 647.5T705.1 541H834Q867.2 541 891.6 516.6T916 459V166H709ZM166 459V250H291V459H166ZM625 500Q625 550.8 587.9 587.9T500 625 412.1 587.9 375 500V166H625V500ZM834 459H709V250H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trophy-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3d2ba4460ac565cfc8ad5bc9042c3980\",\n      \"css\": \"truck\",\n      \"code\": 984381,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 771.5Q724.6 771.5 706.1 752.9T687.5 708 706.1 664.1 750 646.5 793.9 664.1 812.5 708 793.9 752.9 750 771.5ZM812.5 396.5L894.5 500H709V396.5H812.5ZM250 771.5Q224.6 771.5 206.1 752.9T187.5 708 206.1 664.1 250 646.5 293.9 664.1 312.5 708 293.9 752.9 250 771.5ZM834 334H709V166H125Q89.8 166 65.4 190.4T41 250V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck\"\n      ]\n    },\n    {\n      \"uid\": \"0a59df52f97bd3a4edf62e48695ee061\",\n      \"css\": \"truck-delivery\",\n      \"code\": 984382,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V500L834 334H709V166H125ZM416 250L584 416 416 584V459H166V375H416V250ZM709 396.5H812.5L894.5 500H709V396.5ZM250 646.5Q275.4 646.5 293.9 664.1T312.5 708 293.9 752.9 250 771.5 206.1 752.9 187.5 708 206.1 664.1 250 646.5ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-delivery\"\n      ]\n    },\n    {\n      \"uid\": \"684ff8e7134aa3e40c91712d9e74b9df\",\n      \"css\": \"tshirt-crew-outline\",\n      \"code\": 984383,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 875H334Q316.4 875 303.7 863.3T291 834V502L238.3 546.9Q224.6 558.6 208 558.6T179.7 546.9L60.5 429.7Q48.8 416 48.8 399.4T60.5 369.1L306.6 125H375Q375 160.2 411.1 184.6T500 209 588.9 184.6 625 125H693.4L939.5 369.1Q951.2 382.8 951.2 399.4T939.5 429.7L820.3 546.9Q808.6 558.6 792 558.6T761.7 546.9L709 502V834Q709 851.6 696.3 863.3T666 875ZM851.6 398.4L671.9 220.7Q652.3 242.2 625 257.8 568.4 291 500 291 447.3 291 402.3 272.5T328.1 220.7L148.4 398.4 209 459 334 375H375V791H625V375H666L791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tshirt-crew-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9823b6081e01804b1e7be1f9638e09ca\",\n      \"css\": \"tshirt-v-outline\",\n      \"code\": 984384,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 875H334Q316.4 875 303.7 863.3T291 834V502L238.3 546.9Q224.6 558.6 208 558.6T179.7 546.9L60.5 429.7Q48.8 416 48.8 399.4T60.5 369.1L306.6 125H375Q375 164.1 406.3 210.9 441.4 265.6 500 302.7 558.6 265.6 593.8 210.9 625 164.1 625 125H693.4L939.5 369.1Q951.2 382.8 951.2 399.4T939.5 429.7L820.3 546.9Q808.6 558.6 792 558.6T761.7 546.9L709 502V834Q709 851.6 696.3 863.3T666 875ZM851.6 398.4L671.9 220.7Q632.8 281.3 599.6 314.5 558.6 357.4 500 384.8 441.4 357.4 400.4 314.5 367.2 281.3 328.1 220.7L148.4 398.4 209 459 334 375H375V791H625V375H666L791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tshirt-v-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2f62751d6fea1e3831185ed445b85b17\",\n      \"css\": \"file-refresh-outline\",\n      \"code\": 984385,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q818.4 603.5 867.2 652.3L916 603.5V771.5H750L824.2 697.3Q793 666 750 666T676.8 697.3 646.5 771.5 676.8 844.7 750 875Q802.7 875 834 834H904.3Q886.7 880.9 844.7 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM584 84L834 334V507.8Q800.8 500 771.5 500H750V375H541V166H250V834H507.8Q517.6 877 541 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-refresh-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ee0f30ab1b1860f475ae0dcc6333bf4e\",\n      \"css\": \"folder-refresh-outline\",\n      \"code\": 984386,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q818.4 603.5 867.2 652.3L916 603.5V771.5H750L824.2 697.3Q793 666 750 666T676.8 697.3 646.5 771.5 676.8 844.7 750 875Q802.7 875 834 834H904.3Q886.7 880.9 844.7 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM834 334H166V750H500V771.5Q500 800.8 507.8 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334V541Q877 517.6 834 507.8V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-refresh-outline\"\n      ]\n    },\n    {\n      \"uid\": \"25c55695eff426d5375a583e042091b0\",\n      \"css\": \"twitch\",\n      \"code\": 984387,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M484.4 248H544.9V425.8H484.4V248ZM648.4 248H709V425.8H648.4V248ZM291 84L142.6 232.4V767.6H320.3V916L470.7 767.6H589.8L857.4 500V84H291ZM796.9 470.7L679.7 589.8H560.5L455.1 693.4V589.8H320.3V142.6H796.9V470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"twitch\"\n      ]\n    },\n    {\n      \"uid\": \"f8d58e1770dbdd38c32950e978d8c9cf\",\n      \"css\": \"twitter\",\n      \"code\": 984388,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M935.5 250Q888.7 271.5 834 279.3 890.6 244.1 912.1 179.7 859.4 210.9 798.8 222.7 746.1 166 666 166 593.8 166 541 218.8T488.3 345.7Q488.3 365.2 494.1 386.7 384.8 380.9 288.1 331.1T125 199.2Q101.6 240.2 101.6 288.1T123 375 179.7 437.5Q138.7 437.5 99.6 416V418Q99.6 482.4 140.6 531.3T242.2 593.8Q220.7 599.6 195.3 599.6 179.7 599.6 162.1 595.7 179.7 650.4 225.6 684.6T328.1 720.7Q232.4 796.9 107.4 796.9 85.9 796.9 64.5 794.9 189.5 875 337.9 875 494.1 875 615.2 794.9 726.6 724.6 789.1 603.5 847.7 488.3 847.7 367.2L845.7 343.8Q898.4 306.6 935.5 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"twitter\"\n      ]\n    },\n    {\n      \"uid\": \"9d4c0c0f915428134b0e744c975b9ae9\",\n      \"css\": \"order-numeric-ascending\",\n      \"code\": 984389,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875H125V791H291V750H209Q173.8 750 149.4 725.6T125 666V625Q125 589.8 149.4 565.4T209 541H291Q326.2 541 350.6 565.4T375 625V791Q375 826.2 350.6 850.6T291 875ZM291 625H209V666H291V625ZM209 125H291Q326.2 125 350.6 149.4T375 209V375Q375 410.2 350.6 434.6T291 459H209Q173.8 459 149.4 434.6T125 375V209Q125 173.8 149.4 149.4T209 125ZM209 375H291V209H209V375ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-numeric-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"be07f939d68aeb452f314b9420b3b415\",\n      \"css\": \"order-numeric-descending\",\n      \"code\": 984390,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 459H125V375H291V334H209Q173.8 334 149.4 309.6T125 250V209Q125 173.8 149.4 149.4T209 125H291Q326.2 125 350.6 149.4T375 209V375Q375 410.2 350.6 434.6T291 459ZM291 209H209V250H291V209ZM209 541H291Q326.2 541 350.6 565.4T375 625V791Q375 826.2 350.6 850.6T291 875H209Q173.8 875 149.4 850.6T125 791V625Q125 589.8 149.4 565.4T209 541ZM209 791H291V625H209V791ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-numeric-descending\"\n      ]\n    },\n    {\n      \"uid\": \"e1f1433f8e7b3fb65d7d48ae86f4571b\",\n      \"css\": \"twitter-retweet\",\n      \"code\": 984391,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 240.2L427.7 416H291V666H562.5L646.5 750H291Q257.8 750 233.4 725.6T209 666V416H72.3ZM750 759.8L572.3 584H709V334H437.5L353.5 250H709Q742.2 250 766.6 274.4T791 334V584H927.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"twitter-retweet\"\n      ]\n    },\n    {\n      \"uid\": \"917546211bf29fbadef15462f82875c4\",\n      \"css\": \"ubuntu\",\n      \"code\": 984392,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM597.7 322.3Q615.2 332 635.7 327.1T666 304.7 670.9 266.6 647.5 235.4 609.4 230.5 579.1 253.9 574.2 292 597.7 322.3ZM494.1 646.5Q460.9 646.5 433.6 632.8L398.4 695.3Q447.3 716.8 494.1 716.8 523.4 716.8 552.7 709 558.6 675.8 586.9 659.2T648.4 654.3Q707 597.7 712.9 513.7H640.6Q636.7 568.4 594.7 607.4T494.1 646.5ZM494.1 353.5Q552.7 353.5 594.7 391.6T640.6 486.3H712.9Q707 402.3 648.4 345.7 615.2 357.4 586.9 340.8T552.7 291Q523.4 283.2 494.1 283.2 443.4 283.2 398.4 304.7L433.6 367.2Q460.9 353.5 494.1 353.5ZM349.6 500Q349.6 462.9 366.2 431.6T410.2 380.9L375 318.4Q304.7 365.2 285.2 445.3 310.5 466.8 310.5 500T285.2 554.7Q304.7 634.8 375 681.6L410.2 619.1Q382.8 599.6 366.2 568.4T349.6 500ZM597.7 677.7Q580.1 687.5 574.2 708T579.1 746.1 609.4 769.5 647.5 764.6 670.9 733.4 666 695.3 635.7 672.9 597.7 677.7ZM240.2 449.2Q218.8 449.2 204.1 463.9T189.5 500 204.1 536.1 240.2 550.8 275.4 536.1 289.1 500 275.4 463.9 240.2 449.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ubuntu\"\n      ]\n    },\n    {\n      \"uid\": \"e32772b5f01b45349bd09c7758154069\",\n      \"css\": \"umbraco\",\n      \"code\": 984393,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M357.4 357.4L298.8 349.6Q252 576.2 316.4 646.5 335.9 666 380.9 677.7 414.1 687.5 459 689.5L496.1 691.4 533.2 689.5Q578.1 687.5 613.3 677.7 660.2 666 677.7 646.5 742.2 576.2 697.3 349.6L636.7 357.4 648.4 416Q658.2 484.4 652.3 531.3 646.5 597.7 611.3 611.3 589.8 621.1 539.1 625 515.6 627 496.1 627V627 627L453.1 625Q406.3 621.1 382.8 611.3 335.9 591.8 341.8 472.7 345.7 414.1 357.4 357.4V357.4ZM500 125Q601.6 125 687.5 175.8T824.2 312.5 875 500 824.2 687.5 687.5 824.2 500 875 312.5 824.2 175.8 687.5 125 500 175.8 312.5 312.5 175.8 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"umbraco\"\n      ]\n    },\n    {\n      \"uid\": \"5556250c25ec93a0fce972c67887c5a5\",\n      \"css\": \"umbrella\",\n      \"code\": 984394,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q601.6 84 687.5 133.8T824.2 270.5 875 459H541V791Q541 843.8 504.9 879.9T417 916 328.1 879.9 291 791V750H375V791Q375 808.6 386.7 821.3T416 834 446.3 821.3 459 791V459H125Q125 357.4 175.8 270.5T312.5 133.8 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"umbrella\"\n      ]\n    },\n    {\n      \"uid\": \"5569c28addb94ee913e1cf671a2f08bc\",\n      \"css\": \"umbrella-outline\",\n      \"code\": 984395,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q402.3 166 325.2 223.6T220.7 375H779.3Q752 283.2 673.8 224.6T500 166ZM500 84Q601.6 84 687.5 133.8T824.2 270.5 875 459H541V791Q541 843.8 504.9 879.9T417 916 328.1 879.9 291 791V750H375V791Q375 808.6 386.7 821.3T416 834 446.3 821.3 459 791V459H125Q125 357.4 175.8 270.5T312.5 133.8 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"umbrella-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bf584140d500d9e6491081c4a62f82ef\",\n      \"css\": \"undo\",\n      \"code\": 984396,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 334Q439.5 334 366.2 362.3T232.4 441.4L84 291V666H459L306.6 515.6Q400.4 437.5 521.5 437.5 630.9 437.5 717.8 502T837.9 666L935.5 634.8Q892.6 502 778.3 418T521.5 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"undo\"\n      ]\n    },\n    {\n      \"uid\": \"483db20371f7404f43385149708923ea\",\n      \"css\": \"undo-variant\",\n      \"code\": 984397,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 291Q636.7 291 698.2 328.1T796.9 426.8 834 562.5 796.9 698.2 698.2 796.9 562.5 834H416V750H562.5Q640.6 750 695.3 695.3T750 562.5 695.3 429.7 562.5 375H326.2L455.1 503.9 396.5 562.5 166 334 396.5 103.5 455.1 162.1 326.2 291H562.5ZM250 750H334V834H250V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"undo-variant\"\n      ]\n    },\n    {\n      \"uid\": \"0f9820185d26b4dade534b96f1ce3c8c\",\n      \"css\": \"unfold-less-horizontal\",\n      \"code\": 984398,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M691.4 224.6L632.8 166 500 298.8 367.2 166 308.6 224.6 500 416ZM308.6 775.4L367.2 834 500 701.2 632.8 834 691.4 775.4 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unfold-less-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"913fd230ad7c18a6e3a31bad68aa1939\",\n      \"css\": \"unfold-more-horizontal\",\n      \"code\": 984399,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 757.8L367.2 625 308.6 683.6 500 875 691.4 683.6 632.8 625ZM500 242.2L632.8 375 691.4 316.4 500 125 308.6 316.4 367.2 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unfold-more-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"a943ae390519c671767af927d1e69135\",\n      \"css\": \"ungroup\",\n      \"code\": 984400,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H250V125H541V84H709V250H666V375H750V334H916V500H875V750H916V916H750V875H500V916H334V750H375V666H250V709H84V541H125V250H84V84ZM750 500V459H666V541H709V709H541V666H459V750H500V791H750V750H791V500H750ZM541 250V209H250V250H209V541H250V584H375V500H334V334H500V375H584V250H541ZM500 500H459V584H541V541H584V459H500V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ungroup\"\n      ]\n    },\n    {\n      \"uid\": \"833c05cbba6d4949a67cc05a1bf4fb9d\",\n      \"css\": \"untappd\",\n      \"code\": 984401,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M599.6 166Q605.5 171.9 611.3 175.8 623 187.5 623 195.3 623 199.2 618.2 201.2T612.3 205.1 611.3 211.9V216.8L607.4 218.8Q603.5 220.7 599.6 224.6L587.9 250Q500 425.8 488.3 443.4 486.3 451.2 480.5 490.2 476.6 523.4 473.6 528.3T366.2 681.6 255.9 835.9Q242.2 853.5 206.1 846.7T137.7 816.4 90.8 762.7 87.9 714.8Q296.9 414.1 304.7 406.3 306.6 402.3 334 388.7 371.1 369.1 377 363.3 390.6 345.7 529.3 201.2L544.9 183.6Q546.9 181.6 548.8 175.8V171.9Q550.8 169.9 554.7 168.9T559.6 167 560.5 160.2 563.5 153.3 577.1 155.3 599.6 166ZM451.2 185.5L488.3 224.6 427.7 289.1 394.5 224.6Q392.6 218.8 386.7 216.8L384.8 214.8Q382.8 214.8 383.8 210T382.8 204.1 376 201.2 371.1 196.3 377 183.6 396.5 164.1L408.2 158.2Q423.8 150.4 431.6 154.3 433.6 154.3 434.6 160.2T436.5 167 442.4 169.9 447.3 173.8V175.8Q449.2 181.6 451.2 185.5ZM914.1 714.8Q923.8 734.4 905.3 766.6T854.5 820.3 788.1 845.7 742.2 834L632.8 679.7Q527.3 531.3 524.4 526.4T515.6 485.4 507.8 441.4L505.9 439.5 572.3 310.5Q607.4 347.7 619.1 363.3 627 369.1 662.1 386.7 691.4 402.3 695.3 406.3L804.7 558.6Q910.2 707 914.1 714.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"untappd\"\n      ]\n    },\n    {\n      \"uid\": \"6ddaab107ada130401ac6cd4ff3fc5aa\",\n      \"css\": \"upload\",\n      \"code\": 984402,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 666V416H209L500 125 791 416H625V666H375ZM209 834V750H791V834H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload\"\n      ]\n    },\n    {\n      \"uid\": \"7452ed0e79d3027656dc7e8000b6c663\",\n      \"css\": \"usb\",\n      \"code\": 984403,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 291V459H666V541H541V209H625L500 41 375 209H459V541H334V455.1Q355.5 443.4 369.1 421.9T382.8 375Q382.8 337.9 356.4 310.5T292 283.2 226.6 309.6 199.2 375Q199.2 400.4 212.9 421.9T250 455.1V541Q250 576.2 274.4 600.6T334 625H459V752Q435.5 763.7 421.9 785.2T408.2 834Q408.2 871.1 435.5 898.4T500 925.8 564.5 898.4 591.8 834Q591.8 806.6 578.1 785.2T541 752V625H666Q701.2 625 725.6 600.6T750 541V459H791V291H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"usb\"\n      ]\n    },\n    {\n      \"uid\": \"9f8d22ce73dc563d4f89f621d82045dc\",\n      \"css\": \"vector-arrange-above\",\n      \"code\": 984404,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H584Q617.2 666 641.6 641.6T666 584V125Q666 89.8 641.6 65.4T584 41H125ZM125 125H584V584H125V125ZM750 291V375H834V834H375V750H291V834Q291 867.2 315.4 891.6T375 916H834Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-arrange-above\"\n      ]\n    },\n    {\n      \"uid\": \"819846ee33481acfe00b1f3a47e40136\",\n      \"css\": \"vector-arrange-below\",\n      \"code\": 984405,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 916Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H375Q339.8 291 315.4 315.4T291 375V834Q291 867.2 315.4 891.6T375 916H834ZM834 834H375V375H834V834ZM209 666V584H125V125H584V209H666V125Q666 89.8 641.6 65.4T584 41H125Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-arrange-below\"\n      ]\n    },\n    {\n      \"uid\": \"6901b259be24191cc3b597a473536de9\",\n      \"css\": \"vector-circle\",\n      \"code\": 984406,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V169.9Q304.7 195.3 250 249T168 375H84V625H169.9Q195.3 697.3 250 751T375 832V916H625V830.1Q697.3 804.7 751 750T832 625H916V375H830.1Q804.7 304.7 751 250T625 168V84H375ZM459 166H541V250H459V166ZM375 259.8V334H625V259.8Q701.2 298.8 740.2 375H666V625H740.2Q701.2 701.2 625 740.2V666H375V740.2Q298.8 701.2 259.8 625H334V375H259.8Q298.8 298.8 375 259.8ZM166 459H250V541H166V459ZM750 459H834V541H750V459ZM459 750H541V834H459V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-circle\"\n      ]\n    },\n    {\n      \"uid\": \"de6a21150ab40ff58677fdf48f220346\",\n      \"css\": \"vector-circle-variant\",\n      \"code\": 984407,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 375H832Q793 263.7 695.3 194.3T478.5 125Q377 125 291 175.8T154.3 312.5 103.5 500 154.3 688.5 291 825.2 478.5 875Q597.7 875 695.3 806.6T834 625H916V375ZM834 459V541H750V459H834ZM742.2 625Q707 701.2 635.7 746.1T478.5 791Q400.4 791 333 752T226.6 646.5 187.5 501 226.6 354.5 333 248 478.5 209Q562.5 209 634.8 253.9T742.2 375H666V625H742.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-circle-variant\"\n      ]\n    },\n    {\n      \"uid\": \"d4182bd7b48377d58d04d9d7a742826e\",\n      \"css\": \"vector-combine\",\n      \"code\": 984408,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H291V834Q291 867.2 315.4 891.6T375 916H834Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H666V125Q666 89.8 641.6 65.4T584 41H125ZM125 125H584V291H375Q339.8 291 315.4 315.4T291 375V584H125V125ZM375 375H584V584H375V375ZM666 375H834V834H375V666H584Q617.2 666 641.6 641.6T666 584V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-combine\"\n      ]\n    },\n    {\n      \"uid\": \"f8b92cef834074e4c1594e49a12987ca\",\n      \"css\": \"vector-curve\",\n      \"code\": 984409,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84Q796.9 84 815.4 101.6T834 145.5 815.4 190.4 771.5 209Q755.9 209 744.1 201.2L589.8 355.5 603.5 375Q748 291 916 291L959 293V377L916 375Q755.9 375 625 460.9 625 529.3 577.1 577.1T460.9 625Q375 755.9 375 916L377 959H293L291 916Q291 748 375 603.5L355.5 589.8 201.2 744.1Q209 755.9 209 771.5 209 796.9 190.4 815.4T145.5 834 101.6 815.4 84 770.5 101.6 726.6 146.5 709Q160.2 709 173.8 714.8L326.2 560.5Q291 515.6 291 459 291 388.7 339.8 339.8T459 291Q515.6 291 560.5 326.2L714.8 173.8Q709 160.2 709 146.5 709 119.1 726.6 101.6T771.5 84ZM459 375Q423.8 375 399.4 399.4T375 458 399.4 516.6 458 541 516.6 516.6 541 458 516.6 399.4 459 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-curve\"\n      ]\n    },\n    {\n      \"uid\": \"e839d92c984b25114f833ce06e765a71\",\n      \"css\": \"vector-difference\",\n      \"code\": 984410,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H209V584H125V125H584V209H666V125Q666 89.8 641.6 65.4T584 41H125ZM375 291Q339.8 291 315.4 315.4T291 375V459H375V375H459V291H375ZM541 291V375H584V416H666V291H541ZM750 291V375H834V834H375V750H291V834Q291 867.2 315.4 891.6T375 916H834Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H750ZM584 500V584H500V666H584Q617.2 666 641.6 641.6T666 584V500H584ZM291 541V666H416V584H375V541H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-difference\"\n      ]\n    },\n    {\n      \"uid\": \"9696e6500160bb564a9b61f48286e339\",\n      \"css\": \"vector-difference-ab\",\n      \"code\": 984411,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V209H125V125H209V41H125ZM291 41V125H416V41H291ZM500 41V125H584V209H666V125Q666 89.8 641.6 65.4T584 41H500ZM41 291V416H125V291H41ZM584 291V584H291V834Q291 867.2 315.4 891.6T375 916H834Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H584ZM666 375H834V834H375V666H584Q617.2 666 641.6 641.6T666 584V375ZM41 500V584Q41 617.2 65.4 641.6T125 666H209V584H125V500H41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-difference-ab\"\n      ]\n    },\n    {\n      \"uid\": \"b8e59efee545cdfbaf1fee5441100b48\",\n      \"css\": \"vector-difference-ba\",\n      \"code\": 984412,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 916Q867.2 916 891.6 891.6T916 834V750H834V834H750V916H834ZM666 916V834H541V916H666ZM459 916V834H375V750H291V834Q291 867.2 315.4 891.6T375 916H459ZM916 666V541H834V666H916ZM375 666V375H666V125Q666 89.8 641.6 65.4T584 41H125Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H375ZM291 584H125V125H584V291H375Q339.8 291 315.4 315.4T291 375V584ZM916 459V375Q916 339.8 891.6 315.4T834 291H750V375H834V459H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-difference-ba\"\n      ]\n    },\n    {\n      \"uid\": \"a03c23b0fd8493a1cbf296484aad4c7f\",\n      \"css\": \"vector-intersection\",\n      \"code\": 984413,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M130.9 41Q93.8 41 67.4 67.4T41 130.9V209H125V125H209V41H130.9ZM291 41V125H416V41H291ZM500 41V125H584V209H666V130.9Q666 93.8 640.6 67.4T578.1 41H500ZM41 291V416H125V291H41ZM375 291Q339.8 291 315.4 315.4T291 375V666H578.1Q615.2 666 640.6 640.6T666 578.1V291H375ZM750 291V375H834V459H916V375Q916 339.8 891.6 315.4T834 291H750ZM375 375H584V584H375V375ZM41 500V578.1Q41 615.2 67.4 640.6T130.9 666H209V584H125V500H41ZM834 541V666H916V541H834ZM291 750V834Q291 867.2 315.4 891.6T375 916H459V834H375V750H291ZM834 750V834H750V916H834Q867.2 916 891.6 891.6T916 834V750H834ZM541 834V916H666V834H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-intersection\"\n      ]\n    },\n    {\n      \"uid\": \"4c882c9a991d51c3d4875b91e5caca1c\",\n      \"css\": \"vector-line\",\n      \"code\": 984414,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125V316.4L316.4 625H125V875H375V683.6L683.6 375H875V125H625ZM709 209H791V291H709V209ZM209 709H291V791H209V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-line\"\n      ]\n    },\n    {\n      \"uid\": \"29c75989954e3cbd5120b9ff32d309ba\",\n      \"css\": \"vector-point\",\n      \"code\": 984415,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834L291 916 500 459 709 916ZM334 84H666V209H916V291H666V416H334V291H84V209H334V84ZM416 166V334H584V166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-point\"\n      ]\n    },\n    {\n      \"uid\": \"f2d9d7b48fbefad5d907ad80d9403add\",\n      \"css\": \"vector-polygon\",\n      \"code\": 984416,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84V334H177.7L232.4 666H166V916H416V835.9H625V916H875V666H798.8L834 375H916V125H666V271.5L617.2 334H400.4L334 242.2V84H84ZM166 166H250V250H166V166ZM750 209H834V291H750V209ZM263.7 334H296.9L375 441.4V584H625V455.1L689.5 375H750L714.8 666H625V752H416V666H316.4ZM459 416H541V500H459V416ZM250 750H334V834H250V750ZM709 750H791V834H709V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-polygon\"\n      ]\n    },\n    {\n      \"uid\": \"379a3ef425e5d60541f7b08a4abc3aeb\",\n      \"css\": \"vector-polyline\",\n      \"code\": 984417,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V375H207L289.1 625H250V875H500V683.6L724.6 459H916V209H666V398.4L441.4 625H377L294.9 375H334V125H84ZM166 209H250V291H166V209ZM750 291H834V375H750V291ZM334 709H416V791H334V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-polyline\"\n      ]\n    },\n    {\n      \"uid\": \"cc0f5198824b0729859072bd58c86a75\",\n      \"css\": \"vector-selection\",\n      \"code\": 984418,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41H209V125H125V209H41V125Q41 89.8 65.4 65.4T125 41ZM584 41Q617.2 41 641.6 65.4T666 125V209H584V125H500V41H584ZM834 291Q867.2 291 891.6 315.4T916 375V459H834V375H750V291H834ZM916 834Q916 867.2 891.6 891.6T834 916H750V834H834V750H916V834ZM834 541H916V666H834V541ZM541 375V291H666V416H584V375H541ZM541 916V834H666V916H541ZM375 916Q339.8 916 315.4 891.6T291 834V750H375V834H459V916H375ZM291 666V541H375V584H416V666H291ZM291 125V41H416V125H291ZM125 666Q89.8 666 65.4 641.6T41 584V500H125V584H209V666H125ZM41 291H125V416H41V291ZM375 291H459V375H375V459H291V375Q291 339.8 315.4 315.4T375 291ZM666 584Q666 617.2 641.6 641.6T584 666H500V584H584V500H666V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-selection\"\n      ]\n    },\n    {\n      \"uid\": \"b16f012d858a9f5a386988812d5a128e\",\n      \"css\": \"vector-triangle\",\n      \"code\": 984419,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125V375H406.3L242.2 666H84V916H334V834H666V916H916V666H757.8L593.8 375H625V125H375ZM459 209H541V291H459V209ZM500 377L666 673.8V750H334V673.8ZM166 750H250V834H166V750ZM750 750H834V834H750V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-triangle\"\n      ]\n    },\n    {\n      \"uid\": \"f1ab93e5939b7c6e1588d7538d4534dc\",\n      \"css\": \"vector-union\",\n      \"code\": 984420,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H291V834Q291 867.2 315.4 891.6T375 916H834Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H666V125Q666 89.8 641.6 65.4T584 41H125ZM125 125H584V375H834V834H375V584H125V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-union\"\n      ]\n    },\n    {\n      \"uid\": \"b7d8695866c16f0d239a31f2a188d409\",\n      \"css\": \"shield-check\",\n      \"code\": 984421,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L250 541 308.6 482.4 416 589.8 691.4 316.4 750 375ZM500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-check\"\n      ]\n    },\n    {\n      \"uid\": \"826944345edd14dee986802ecb2f17ae\",\n      \"css\": \"vibrate\",\n      \"code\": 984422,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 791H334V209H666V791ZM687.5 125H312.5Q287.1 125 268.6 143.6T250 187.5V812.5Q250 837.9 268.6 856.4T312.5 875H687.5Q712.9 875 731.4 856.4T750 812.5V187.5Q750 162.1 731.4 143.6T687.5 125ZM791 709H875V291H791V709ZM916 375V625H1000V375H916ZM125 709H209V291H125V709ZM0 625H84V375H0V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vibrate\"\n      ]\n    },\n    {\n      \"uid\": \"41c99a5e714b152927e3e52bdfe2509f\",\n      \"css\": \"video\",\n      \"code\": 984423,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 437.5V291Q709 273.4 696.3 261.7T666 250H166Q148.4 250 136.7 261.7T125 291V709Q125 726.6 136.7 738.3T166 750H666Q683.6 750 696.3 738.3T709 709V562.5L875 728.5V271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video\"\n      ]\n    },\n    {\n      \"uid\": \"91d7c473910925071412792caa64d042\",\n      \"css\": \"video-off\",\n      \"code\": 984424,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 84L84 136.7 197.3 250H166Q148.4 250 136.7 261.7T125 291V709Q125 726.6 136.7 738.3T166 750H666Q677.7 750 689.5 742.2L822.3 875 875 822.3ZM875 271.5L709 437.5V291Q709 273.4 696.3 261.7T666 250H408.2L875 716.8V271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-off\"\n      ]\n    },\n    {\n      \"uid\": \"259df1f745b68fb94d03d4d6506e6f04\",\n      \"css\": \"video-switch\",\n      \"code\": 984425,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 646.5V541H291V646.5L146.5 500 291 353.5V459H541V353.5L687.5 500ZM750 396.5V250Q750 232.4 738.3 220.7T709 209H125Q107.4 209 95.7 220.7T84 250V750Q84 767.6 95.7 779.3T125 791H709Q726.6 791 738.3 779.3T750 750V603.5L916 771.5V228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-switch\"\n      ]\n    },\n    {\n      \"uid\": \"bc7c98c61bd416c38488139000b005cb\",\n      \"css\": \"view-agenda\",\n      \"code\": 984426,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q105.5 125 94.7 136.7T84 166V416Q84 435.5 94.7 447.3T125 459H875Q894.5 459 905.3 447.3T916 416V166Q916 148.4 905.3 136.7T875 125ZM875 541H125Q105.5 541 94.7 552.7T84 584V834Q84 851.6 94.7 863.3T125 875H875Q894.5 875 905.3 863.3T916 834V584Q916 564.5 905.3 552.7T875 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-agenda\"\n      ]\n    },\n    {\n      \"uid\": \"919fdd83d657ab55af5b5f67737450fa\",\n      \"css\": \"view-array\",\n      \"code\": 984427,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 750H709V209H334V750ZM750 209V750H875V209H750ZM166 750H291V209H166V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-array\"\n      ]\n    },\n    {\n      \"uid\": \"c32369969bf4c314743a0a7a5c59d764\",\n      \"css\": \"view-carousel\",\n      \"code\": 984428,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 250V709H916V250H750ZM84 709H250V250H84V709ZM291 791H709V166H291V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-carousel\"\n      ]\n    },\n    {\n      \"uid\": \"1ec2bb8e79389496ce779f44e6437328\",\n      \"css\": \"view-column\",\n      \"code\": 984429,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209V750H875V209H666ZM166 750H375V209H166V750ZM416 750H625V209H416V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-column\"\n      ]\n    },\n    {\n      \"uid\": \"dc5171cf97dbdf6fe8b5e3f4265581c6\",\n      \"css\": \"view-dashboard\",\n      \"code\": 984430,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125V375H875V125H541ZM541 875H875V459H541V875ZM125 875H459V625H125V875ZM125 541H459V125H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-dashboard\"\n      ]\n    },\n    {\n      \"uid\": \"6d288292f58ae92b34e926f927c95520\",\n      \"css\": \"view-day\",\n      \"code\": 984431,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V250H875V125H84ZM834 334H125Q107.4 334 95.7 345.7T84 375V625Q84 642.6 95.7 654.3T125 666H834Q851.6 666 863.3 654.3T875 625V375Q875 357.4 863.3 345.7T834 334ZM84 875H875V750H84V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-day\"\n      ]\n    },\n    {\n      \"uid\": \"1ac0c3f5dccac73aa244ae3a92d05220\",\n      \"css\": \"view-grid\",\n      \"code\": 984432,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H459V125H125V459ZM125 875H459V541H125V875ZM541 875H875V541H541V875ZM541 125V459H875V125H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-grid\"\n      ]\n    },\n    {\n      \"uid\": \"407954dd8204e5812173d4ff58f59f25\",\n      \"css\": \"view-headline\",\n      \"code\": 984433,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V291H875V209H166ZM166 459H875V375H166V459ZM166 791H875V709H166V791ZM166 625H875V541H166V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-headline\"\n      ]\n    },\n    {\n      \"uid\": \"f6e20c16f5ad0dfda1b7c2e52d59e3df\",\n      \"css\": \"view-list\",\n      \"code\": 984434,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209V375H875V209H375ZM375 791H875V625H375V791ZM375 584H875V416H375V584ZM166 375H334V209H166V375ZM166 791H334V625H166V791ZM166 584H334V416H166V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-list\"\n      ]\n    },\n    {\n      \"uid\": \"2b9d1463ae3f59554a5a7e8fb0f57fcf\",\n      \"css\": \"view-module\",\n      \"code\": 984435,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209V459H875V209H666ZM416 459H625V209H416V459ZM666 750H875V500H666V750ZM416 750H625V500H416V750ZM166 750H375V500H166V750ZM166 459H375V209H166V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-module\"\n      ]\n    },\n    {\n      \"uid\": \"2a920acc53ab3ff96bbb82b5c015c062\",\n      \"css\": \"view-quilt\",\n      \"code\": 984436,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 209V459H875V209H416ZM666 750H875V500H666V750ZM166 750H375V209H166V750ZM416 750H625V500H416V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-quilt\"\n      ]\n    },\n    {\n      \"uid\": \"560fc3021b979aa66e4dbadd9ed51b2a\",\n      \"css\": \"view-stream\",\n      \"code\": 984437,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V459H875V209H166ZM166 750H875V500H166V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-stream\"\n      ]\n    },\n    {\n      \"uid\": \"4b691fb72203e8d5d11a17688b81dc6d\",\n      \"css\": \"view-week\",\n      \"code\": 984438,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 209H416Q398.4 209 386.7 220.7T375 250V750Q375 767.6 386.7 779.3T416 791H541Q558.6 791 571.3 779.3T584 750V250Q584 232.4 571.3 220.7T541 209ZM834 209H709Q691.4 209 678.7 220.7T666 250V750Q666 767.6 678.7 779.3T709 791H834Q851.6 791 863.3 779.3T875 750V250Q875 232.4 863.3 220.7T834 209ZM250 209H125Q107.4 209 95.7 220.7T84 250V750Q84 767.6 95.7 779.3T125 791H250Q267.6 791 279.3 779.3T291 750V250Q291 232.4 279.3 220.7T250 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-week\"\n      ]\n    },\n    {\n      \"uid\": \"fe5c4101b70f3a2262e6fe28501dd546\",\n      \"css\": \"vimeo\",\n      \"code\": 984439,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 308.6Q910.2 431.6 746.1 642.6 578.1 865.2 459 865.2 386.7 865.2 335.9 728.5L267.6 482.4Q230.5 347.7 187.5 347.7 179.7 347.7 123 386.7L84 335.9Q125 300.8 205.1 228.5V226.6Q287.1 156.3 328.1 152.3 425.8 142.6 449.2 285.2 472.7 439.5 482.4 476.6 507.8 603.5 543 603.5 570.3 603.5 623 521.5T679.7 396.5Q685.5 324.2 623 324.2 591.8 324.2 560.5 337.9 623 136.7 794.9 142.6 923.8 146.5 916 308.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vimeo\"\n      ]\n    },\n    {\n      \"uid\": \"724dc92159aab464dec4c5f9c649294e\",\n      \"css\": \"buffet\",\n      \"code\": 984440,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 584Q392.6 584 404.3 595.7T416 625 404.3 654.3 375 666 345.7 654.3 334 625 345.7 595.7 375 584ZM625 584Q642.6 584 654.3 595.7T666 625 654.3 654.3 625 666 595.7 654.3 584 625 595.7 595.7 625 584ZM125 916L166 791H125Q107.4 791 95.7 779.3T84 750V500Q84 482.4 95.7 470.7T125 459H875Q892.6 459 904.3 470.7T916 500V750Q916 767.6 904.3 779.3T875 791H834L875 916H791L750 791H250L209 916H125ZM541 541V709H834V541H541ZM166 541V709H459V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"buffet\"\n      ]\n    },\n    {\n      \"uid\": \"44b184abc1b37a1ed73c2a0662f7f345\",\n      \"css\": \"vk\",\n      \"code\": 984441,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M627 84H373Q252 84 193.4 105.5 130.9 130.9 105.5 193.4 84 252 84 373V627Q84 748 105.5 806.6 130.9 869.1 193.4 894.5 252 916 373 916H627Q748 916 806.6 894.5 869.1 869.1 894.5 806.6 916 748 916 627V373Q916 252 894.5 193.4 869.1 130.9 806.6 105.5 748 84 627 84ZM755.9 677.7H695.3Q683.6 677.7 675.8 671.9T652.3 648.4L625 617.2Q584 578.1 564.5 578.1 554.7 578.1 551.8 582T548.8 599.6V654.3Q548.8 666 540 671.9T503.9 677.7Q455.1 677.7 405.3 648.4T318.4 566.4Q269.5 498 242.2 431.6 222.7 384.8 222.7 366.2T244.1 347.7H304.7Q316.4 347.7 322.3 352.5T332 371.1Q353.5 433.6 384.8 483.4T431.6 533.2Q439.5 533.2 441.4 528.3T443.4 509.8V419.9Q443.4 396.5 427.7 377 419.9 367.2 419.9 361.3T423.8 351.6 435.5 347.7H531.3Q548.8 347.7 548.8 369.1V490.2Q548.8 507.8 557.6 507.8T585.9 488.3Q613.3 459 638.7 408.2 652.3 384.8 660.2 365.2V365.2Q668 347.7 687.5 347.7H748Q773.4 347.7 765.6 371.1 759.8 398.4 691.4 500 683.6 509.8 685.5 509.8 679.7 519.5 678.7 524.4T685.5 537.1Q687.5 541 703.1 556.6L726.6 580.1Q771.5 632.8 777.3 652.3 785.2 677.7 755.9 677.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vk\"\n      ]\n    },\n    {\n      \"uid\": \"4b2b59b5a38d0d0cb09bafb4749e3162\",\n      \"css\": \"credit-card-wireless-off\",\n      \"code\": 984442,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q357.4 84 246.1 169.9L304.7 228.5Q369.1 181.6 447.3 169.9T601.6 181.6 736.3 263.7L794.9 205.1Q734.4 144.5 658.2 114.3T500 84ZM136.7 166L84 218.8 322.3 459H250Q214.8 459 190.4 483.4T166 541V875Q166 910.2 190.4 934.6T250 959H750Q779.3 959 802.7 939.5L822.3 959 875 904.3ZM500 250Q425.8 250 365.2 289.1L425.8 349.6Q474.6 328.1 527.3 335.9T617.2 380.9L675.8 322.3Q640.6 287.1 594.7 268.6T500 250ZM533.2 459L658.2 584H750V673.8L834 757.8V541Q834 507.8 809.6 483.4T750 459H533.2ZM250 584H447.3L572.3 709H250V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-wireless-off\"\n      ]\n    },\n    {\n      \"uid\": \"a749c1decb3a8cc53fc44e47cc157b74\",\n      \"css\": \"credit-card-wireless-off-outline\",\n      \"code\": 984443,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q357.4 84 246.1 169.9L304.7 228.5Q369.1 181.6 447.3 169.9T601.6 181.6 736.3 263.7L794.9 205.1Q734.4 144.5 658.2 114.3T500 84ZM136.7 166L84 218.8 322.3 459H250Q214.8 459 190.4 483.4T166 541V875Q166 910.2 190.4 934.6T250 959H750Q781.3 959 802.7 939.5L822.3 959 875 904.3ZM500 250Q425.8 250 365.2 289.1L425.8 349.6Q474.6 328.1 527.3 335.9T617.2 380.9L675.8 322.3Q640.6 287.1 594.7 268.6T500 250ZM533.2 459L617.2 541H750V625H701.2L834 757.8V541Q834 507.8 809.6 483.4T750 459H533.2ZM250 541H406.3L488.3 625H250V541ZM250 709H572.3L738.3 875H250V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-wireless-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"833962f0cd9e79ca56321977e6eaa9b7\",\n      \"css\": \"vlc\",\n      \"code\": 984444,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q470.7 41 459 72.3L412.1 203.1Q435.5 228.5 500 228.5T587.9 203.1L541 72.3Q537.1 58.6 525.4 49.8T500 41ZM351.6 371.1L291 537.1Q343.8 603.5 500 603.5T709 537.1L648.4 371.1Q609.4 416 500 416T351.6 371.1ZM226.6 625Q201.2 625 177.7 642.6T146.5 685.5L85.9 898.4Q78.1 923.8 91.8 941.4T130.9 959H869.1Q894.5 959 908.2 941.4T914.1 898.4L853.5 685.5Q845.7 660.2 822.3 642.6T773.4 625H740.2L753.9 666Q763.7 693.4 753.9 707 693.4 791 500 791T246.1 707Q236.3 693.4 246.1 666L259.8 625H226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vlc\"\n      ]\n    },\n    {\n      \"uid\": \"6e71f7e7831fdd28ede399c80e5e9288\",\n      \"css\": \"voicemail\",\n      \"code\": 984445,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 625Q710.9 625 668 582T625 478.5 668 376 771.5 334 874 376 916 478.5 874 582 771.5 625ZM228.5 625Q168 625 126 582T84 478.5 126 376 228.5 334 332 376 375 478.5 332 582 228.5 625ZM771.5 250Q724.6 250 682.6 267.6T608.4 317.4 558.6 391.6 541 478.5Q541 562.5 593.8 625H406.3Q459 562.5 459 478.5 459 433.6 441.4 391.6T391.6 317.4 317.4 267.6 228.5 250Q166 250 114.3 281.3T31.3 364.3 0 478.5 31.3 593.8 114.3 677.7 228.5 709H771.5Q816.4 709 858.4 691.4T932.6 641.6 982.4 567.4 1000 478.5Q1000 416 968.8 364.3T885.7 281.3 771.5 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"voicemail\"\n      ]\n    },\n    {\n      \"uid\": \"2bc5a673206daac2ee88fdad3a1dfaab\",\n      \"css\": \"volume-high\",\n      \"code\": 984446,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 134.8V220.7Q673.8 248 732.4 325.2T791 500 732.4 674.8 584 779.3V865.2Q666 845.7 732.4 793T836.9 664.1 875 500 836.9 335.9 732.4 207 584 134.8ZM687.5 500Q687.5 445.3 659.2 400.4T584 332V666Q630.9 644.5 659.2 599.6T687.5 500ZM125 375V625H291L500 834V166L291 375H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-high\"\n      ]\n    },\n    {\n      \"uid\": \"324eafa12f46bd453ed5d6a70673600c\",\n      \"css\": \"volume-low\",\n      \"code\": 984447,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 375V625H459L666 834V166L459 375H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-low\"\n      ]\n    },\n    {\n      \"uid\": \"77ce9ab914d089654b795e34540fc712\",\n      \"css\": \"volume-medium\",\n      \"code\": 984448,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 375V625H375L584 834V166L375 375H209ZM771.5 500Q771.5 445.3 743.2 400.4T666 332V666Q714.8 644.5 743.2 599.6T771.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-medium\"\n      ]\n    },\n    {\n      \"uid\": \"28fea9d76ece45f447f74a7fcfafbc34\",\n      \"css\": \"volume-off\",\n      \"code\": 984449,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166L412.1 253.9 500 341.8V166ZM177.7 125L125 177.7 322.3 375H125V625H291L500 834V552.7L677.7 730.5Q630.9 765.6 584 779.3V865.2Q668 845.7 736.3 789.1L822.3 875 875 822.3 500 447.3ZM791 500Q791 556.6 769.5 609.4L832 673.8Q875 591.8 875 502T836.9 335.9 732.4 207 584 134.8V220.7Q673.8 248 732.4 325.2T791 500ZM687.5 500Q687.5 445.3 659.2 400.4T584 332V423.8L685.5 525.4Q687.5 517.6 687.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-off\"\n      ]\n    },\n    {\n      \"uid\": \"97a0092e9a483845f9c7e60cd65147fa\",\n      \"css\": \"vpn\",\n      \"code\": 984450,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209H625L500 334ZM437.5 611.3Q416 634.8 416 668T440.4 725.6 500 750 559.6 725.6 584 666 558.6 607.4L617.2 548.8Q666 597.7 666 667T617.2 785.2 500 834 382.8 785.2 334 668 378.9 552.7V550.8L673.8 257.8Q722.7 209 792 209T910.2 257.8 959 375 910.2 492.2 792 541 673.8 492.2L732.4 433.6Q755.9 459 791 459T850.6 434.6 875 375 850.6 315.4 791 291 732.4 316.4ZM267.6 316.4Q244.1 291 209 291T149.4 315.4 125 375 149.4 434.6 209 459 267.6 433.6L326.2 492.2Q277.3 541 208 541T89.8 492.2 41 375 89.8 257.8 208 209 326.2 257.8V257.8L441.4 373 382.8 431.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vpn\"\n      ]\n    },\n    {\n      \"uid\": \"95d74b70aa432028860594d8143b543b\",\n      \"css\": \"walk\",\n      \"code\": 984451,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M587.9 416H791V341.8H640.6L556.6 203.1Q548.8 187.5 532.2 177.7T496.1 168Q486.3 168 476.6 171.9L250 242.2V459H324.2V304.7L412.1 277.3 250 916H324.2L445.3 578.1 541 709V916H617.2V650.4L513.7 460.9 543 341.8ZM584 158.2Q615.2 158.2 636.7 136.7T658.2 84 636.7 30.3 584 7.8 530.3 30.3 507.8 84 530.3 136.7 584 158.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"walk\"\n      ]\n    },\n    {\n      \"uid\": \"cb1306cc8929f9af9fdee922970b92a6\",\n      \"css\": \"wallet\",\n      \"code\": 984452,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 750V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V250H500Q464.8 250 440.4 274.4T416 334V666Q416 701.2 440.4 725.6T500 750H875ZM500 666H916V334H500V666ZM666 562.5Q640.6 562.5 622.1 543.9T603.5 500 622.1 456.1 667 437.5 710.9 456.1 728.5 500 710.9 543.9 666 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet\"\n      ]\n    },\n    {\n      \"uid\": \"2eb645872fd51e6eff9f07036ec21ae6\",\n      \"css\": \"wallet-giftcard\",\n      \"code\": 984453,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 584H166V334H378.9L291 451.2 359.4 500 500 308.6 640.6 500 709 451.2 621.1 334H834V584ZM834 791H166V709H834V791ZM375 166Q392.6 166 404.3 178.7T416 209 404.3 238.3 375 250 345.7 238.3 334 209 345.7 178.7 375 166ZM625 166Q642.6 166 654.3 178.7T666 209 654.3 238.3 625 250 595.7 238.3 584 209 595.7 178.7 625 166ZM834 250H742.2Q750 228.5 750 209 750 156.3 713.9 120.1T625 84Q593.8 84 566.4 98.6T521.5 138.7L500 166 478.5 138.7Q460.9 113.3 433.6 98.6T375 84Q322.3 84 286.1 120.1T250 209Q250 228.5 257.8 250H166Q132.8 250 108.4 274.4T84 334V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet-giftcard\"\n      ]\n    },\n    {\n      \"uid\": \"c1e50369429395900041094f7b066723\",\n      \"css\": \"wallet-membership\",\n      \"code\": 984454,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 416H166V166H834V416ZM834 625H166V541H834V625ZM834 84H166Q132.8 84 108.4 108.4T84 166V625Q84 660.2 108.4 684.6T166 709H334V916L500 834 666 916V709H834Q867.2 709 891.6 684.6T916 625V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet-membership\"\n      ]\n    },\n    {\n      \"uid\": \"a2f532fe3c10f41bab58889963b538f4\",\n      \"css\": \"wallet-travel\",\n      \"code\": 984455,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 584H166V334H291V416H375V334H625V416H709V334H834V584ZM834 791H166V709H834V791ZM375 166H625V250H375V166ZM834 250H709V166Q709 132.8 684.6 108.4T625 84H375Q339.8 84 315.4 108.4T291 166V250H166Q132.8 250 108.4 274.4T84 334V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V334Q916 298.8 891.6 274.4T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet-travel\"\n      ]\n    },\n    {\n      \"uid\": \"cdb01d077f2db33b918bd46a6bd59d80\",\n      \"css\": \"wan\",\n      \"code\": 984456,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q410.2 84 333 128.9T210.9 250 166 416Q166 500 204.1 571.3T309.6 689.5 459 748V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625Q625 816.4 613.3 803.7T584 791H541V748Q623 736.3 690.4 689.5T795.9 571.3 834 416Q834 326.2 789.1 250T667 128.9 500 84ZM500 166Q509.8 183.6 517.6 203.1 539.1 246.1 552.7 291H447.3Q460.9 246.1 482.4 203.1ZM406.3 185.5Q382.8 228.5 363.3 291H283.2Q330.1 214.8 406.3 185.5ZM593.8 185.5Q671.9 214.8 716.8 291H636.7Q617.2 228.5 593.8 185.5ZM253.9 375H345.7Q343.8 398.4 343.8 416T345.7 459H253.9Q250 437.5 250 417T253.9 375ZM429.7 375H570.3Q572.3 398.4 572.3 416T570.3 459H429.7Q427.7 433.6 427.7 416T429.7 375ZM654.3 375H746.1Q750 396.5 750 417T746.1 459H654.3Q656.3 433.6 656.3 416T654.3 375ZM283.2 541H363.3Q382.8 605.5 406.3 648.4 328.1 617.2 283.2 541ZM447.3 541H552.7Q539.1 585.9 517.6 630.9L500 666 482.4 630.9Q460.9 585.9 447.3 541ZM636.7 541H716.8Q669.9 617.2 593.8 648.4 617.2 603.5 636.7 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wan\"\n      ]\n    },\n    {\n      \"uid\": \"eb77bddfec9a45308accb70de6fece3d\",\n      \"css\": \"watch\",\n      \"code\": 984457,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 500Q250 431.6 283.2 374T374 283.2 500 250 626 283.2 716.8 374 750 500 716.8 626 626 716.8 500 750 374 716.8 283.2 626 250 500ZM834 500Q834 421.9 799.8 353.5T707 238.3L666 0H334L293 238.3Q234.4 285.2 200.2 353.5T166 500 200.2 646.5 293 761.7L334 1000H666L707 761.7Q765.6 714.8 799.8 646.5T834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch\"\n      ]\n    },\n    {\n      \"uid\": \"ebf48311d5dd481c27f613ce81ed6fca\",\n      \"css\": \"watch-export\",\n      \"code\": 984458,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 459H791L687.5 353.5 746.1 294.9 951.2 500 746.1 705.1 687.5 646.5 791 541H584V459ZM500 750Q431.6 750 374 716.8T283.2 626 250 500 283.2 374 374 283.2 500 250Q585.9 250 654.3 304.7L712.9 244.1 707 238.3 666 0H334L293 238.3Q234.4 285.2 200.2 353.5T166 500 200.2 646.5 293 761.7L334 1000H666L707 761.7 712.9 755.9 654.3 695.3Q585.9 750 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-export\"\n      ]\n    },\n    {\n      \"uid\": \"eba51bec34eddafcfb9893b05ce7585e\",\n      \"css\": \"watch-import\",\n      \"code\": 984459,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 459H291L187.5 353.5 246.1 294.9 451.2 500 246.1 705.1 187.5 646.5 291 541H84V459ZM500 750Q568.4 750 626 716.8T716.8 626 750 500 716.8 374 626 283.2 500 250Q414.1 250 345.7 304.7L287.1 244.1 293 238.3 334 0H666L707 238.3Q765.6 285.2 799.8 353.5T834 500 799.8 646.5 707 761.7L666 1000H334L293 761.7 287.1 755.9 345.7 695.3Q414.1 750 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-import\"\n      ]\n    },\n    {\n      \"uid\": \"c937c469bea2a298323c532b9c6f1682\",\n      \"css\": \"water\",\n      \"code\": 984460,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q431.6 834 374 799.8T283.2 708 250 584Q250 525.4 289.1 443.4 320.3 377 375 296.9 414.1 240.2 460.9 181.6L500 134.8 539.1 181.6Q585.9 240.2 625 296.9 679.7 377 710.9 443.4 750 525.4 750 584 750 650.4 716.8 708T626 799.8 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water\"\n      ]\n    },\n    {\n      \"uid\": \"c0e853e5f5a6a578ef68854cd71d059e\",\n      \"css\": \"water-off\",\n      \"code\": 984461,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M712.9 712.9L521.5 521.5 218.8 218.8 166 273.4 304.7 412.1Q250 515.6 250 583T283.2 708 374 799.8 500 834Q593.8 834 664.1 771.5L775.4 880.9 828.1 828.1ZM750 584Q750 525.4 710.9 443.4 679.7 377 625 294.9 585.9 238.3 539.1 179.7L500 132.8 464.8 175.8Q421.9 228.5 386.7 279.3L744.1 638.7Q750 611.3 750 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-off\"\n      ]\n    },\n    {\n      \"uid\": \"9ac9ac5109187cf8dba24ae11ca3af98\",\n      \"css\": \"water-percent\",\n      \"code\": 984462,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 134.8L460.9 181.6Q414.1 240.2 375 296.9 320.3 377 289.1 443.4 250 525.4 250 584 250 650.4 283.2 708T374 799.8 500 834 626 799.8 716.8 708 750 584Q750 478.5 625 296.9 562.5 205.1 500 134.8V134.8ZM603.5 416L646.5 459 396.5 709 353.5 666ZM406.3 416Q427.7 416 443.4 431.6T459 468.8 443.4 505.9 406.3 521.5 369.1 505.9 353.5 468.8 369.1 431.6 406.3 416ZM593.8 603.5Q615.2 603.5 630.9 619.1T646.5 656.3 630.9 693.4 593.8 709 556.6 693.4 541 656.3 556.6 619.1 593.8 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-percent\"\n      ]\n    },\n    {\n      \"uid\": \"99baa2bdb5a8d64f3c9ce7ab456b8e0a\",\n      \"css\": \"water-pump\",\n      \"code\": 984463,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 603.5Q802.7 617.2 812.5 628.9 837.9 660.2 853.5 687.5 875 724.6 875 750 875 785.2 850.6 809.6T792 834 733.4 809.6 709 750 750 656.3Q771.5 627 791 603.5V603.5ZM209 750V375Q173.8 375 149.4 350.6T125 292 149.4 233.4 209 209V166Q209 132.8 233.4 108.4T291 84H375Q410.2 84 434.6 108.4T459 166V209H791Q826.2 209 850.6 233.4T875 291V459Q892.6 459 904.3 470.7T916 500 904.3 529.3 875 541H709Q691.4 541 678.7 529.3T666 500 678.7 470.7 709 459V375H459V750H500Q535.2 750 559.6 774.4T584 834V916H84V834Q84 798.8 108.4 774.4T166 750H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-pump\"\n      ]\n    },\n    {\n      \"uid\": \"6c527ca608c46dfc96aa54e1bd40eb77\",\n      \"css\": \"weather-cloudy\",\n      \"code\": 984464,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 791Q193.4 791 145.5 763.7T69.3 688.5 41 584 69.3 479.5 145.5 403.3 250 375Q281.3 300.8 348.6 254.9T500 209Q570.3 209 630.9 242.2T728.5 333 771.5 459H791Q861.3 459 910.2 507.8T959 625 910.2 742.2 791 791H250ZM791 541H709V500Q709 443.4 680.7 395.5T604.5 319.3 500 291Q421.9 291 364.3 340.8T294.9 466.8Q271.5 459 250 459 197.3 459 161.1 495.1T125 583 161.1 671.9 250 709H791Q826.2 709 850.6 684.6T875 625 850.6 565.4 791 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-cloudy\"\n      ]\n    },\n    {\n      \"uid\": \"1efc441339f921eef66b88efcf3d92c3\",\n      \"css\": \"weather-fog\",\n      \"code\": 984465,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625H541Q558.6 625 571.3 636.7T584 666 571.3 696.3 541 709H125Q107.4 709 95.7 696.3T84 666 95.7 636.7 125 625ZM666 625H875Q892.6 625 904.3 636.7T916 666 904.3 696.3 875 709H666Q648.4 709 636.7 696.3T625 666 636.7 636.7 666 625ZM41 500Q41 443.4 69.3 395.5T145.5 319.3 250 291Q281.3 216.8 348.6 170.9T500 125Q570.3 125 630.9 158.2T728.5 249 771.5 377L791 375Q859.4 375 908.2 423.8T959 541H875Q875 507.8 850.6 483.4T791 459H709V416Q709 359.4 680.7 311.5T604.5 236.3 500 209Q421.9 209 364.3 258.8T294.9 382.8Q271.5 375 250 375 197.3 375 161.1 411.1T125 500Q125 521.5 132.8 541H44.9ZM125 791H209Q226.6 791 238.3 803.7T250 834 238.3 863.3 209 875H125Q107.4 875 95.7 863.3T84 834 95.7 803.7 125 791ZM334 791H875Q892.6 791 904.3 803.7T916 834 904.3 863.3 875 875H334Q316.4 875 303.7 863.3T291 834 303.7 803.7 334 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-fog\"\n      ]\n    },\n    {\n      \"uid\": \"b5582fa14c0b76b0c49ed68c016f13b2\",\n      \"css\": \"weather-hail\",\n      \"code\": 984466,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 584Q267.6 584 279.3 595.7T291 625 279.3 654.3 250 666Q193.4 666 145.5 638.7T69.3 563.5 41 459 69.3 354.5 145.5 278.3 250 250Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 117.2T728.5 208 771.5 334H791Q861.3 334 910.2 382.8T959 500 910.2 617.2 791 666H750Q732.4 666 720.7 654.3T709 625 720.7 595.7 750 584H791Q826.2 584 850.6 559.6T875 500 850.6 440.4 791 416H709V375Q709 318.4 680.7 270.5T604.5 194.3 500 166Q421.9 166 364.3 215.8T294.9 341.8Q271.5 334 250 334 197.3 334 161.1 370.1T125 458 161.1 546.9 250 584ZM416 750Q451.2 750 475.6 774.4T500 833 475.6 891.6 417 916 358.4 891.6 334 833 358.4 774.4 416 750ZM603.5 666Q630.9 666 648.4 684.6T666 729.5 648.4 773.4 604.5 791 559.6 773.4 541 729.5 559.6 684.6 603.5 666ZM437.5 500Q462.9 500 481.4 518.6T500 562.5 481.4 606.4 437.5 625 393.6 606.4 375 562.5 393.6 518.6 437.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-hail\"\n      ]\n    },\n    {\n      \"uid\": \"0d028b709107b185341d4a3f829c3ad7\",\n      \"css\": \"weather-lightning\",\n      \"code\": 984467,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 666Q193.4 666 145.5 638.7T69.3 563.5 41 459 69.3 354.5 145.5 278.3 250 250Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 117.2T728.5 208 771.5 334H791Q861.3 334 910.2 382.8T959 500 910.2 617.2 791 666H750Q732.4 666 720.7 654.3T709 625 720.7 595.7 750 584H791Q826.2 584 850.6 559.6T875 500 850.6 440.4 791 416H709V375Q709 318.4 680.7 270.5T604.5 194.3 500 166Q421.9 166 364.3 215.8T294.9 341.8Q271.5 334 250 334 197.3 334 161.1 370.1T125 458 161.1 546.9 250 584H291Q308.6 584 321.3 595.7T334 625 321.3 654.3 291 666H250ZM500 459H625L541 625H625L468.8 916 500 709H396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-lightning\"\n      ]\n    },\n    {\n      \"uid\": \"b68f6531b28615c12644a8a691723183\",\n      \"css\": \"weather-night\",\n      \"code\": 984468,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 169.9L634.8 252 671.9 378.9 562.5 302.7 453.1 378.9 490.2 252 384.8 169.9 517.6 166 562.5 41 607.4 166ZM884.8 459L816.4 509.8 841.8 593.8 771.5 544.9 699.2 593.8 724.6 509.8 656.3 459 742.2 457 771.5 375 798.8 457ZM791 664.1Q806.6 662.1 823.2 675.8T844.7 708 839.8 742.2Q818.4 773.4 794.9 794.9 714.8 875 607.4 903.3T392.6 903.3 205.1 794.9 97.7 607.4 97.7 392.6 205.1 205.1Q230.5 179.7 257.8 160.2 273.4 150.4 293 156.3T325.2 177.7 335.9 210.9Q328.1 300.8 358.4 388.7T456.1 543.9 611.3 642.6 791 664.1ZM722.7 748Q632.8 744.1 547.9 707T396.5 603.5 293 453.1 252 279.3Q193.4 343.8 174.8 426.8T179.7 591.8 264.6 735.4 408.2 820.3 574.2 825.2 722.7 748Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-night\"\n      ]\n    },\n    {\n      \"uid\": \"2229d072e09fb9312be17400d91627aa\",\n      \"css\": \"weather-partly-cloudy\",\n      \"code\": 984469,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M531.3 228.5Q603.5 259.8 640.6 330.1T664.1 476.6Q703.1 511.7 726.6 561.5T750 666V673.8Q769.5 666 791 666 843.8 666 879.9 703.1T916 792 879.9 879.9 791 916H250Q181.6 916 132.8 867.2T84 750 132.8 632.8 250 584H261.7Q220.7 533.2 210.9 468.8T228.5 343.8Q253.9 287.1 303.7 252T414.1 210 531.3 228.5ZM498 304.7Q441.4 279.3 384.8 300.8T304.7 377Q291 408.2 292 442.4T308.6 505.9Q343.8 464.8 393.6 440.4T500 416Q543 416 584 431.6 582 390.6 558.6 356.4T498 304.7ZM564.5 152.3Q531.3 136.7 494.1 130.9L599.6 76.2 636.7 195.3Q603.5 169.9 564.5 152.3ZM253.9 185.5Q222.7 207 199.2 234.4L205.1 117.2 328.1 146.5Q289.1 158.2 253.9 185.5ZM750 404.3Q744.1 365.2 732.4 334L832 396.5 746.1 488.3Q753.9 449.2 750 404.3ZM127 470.7Q130.9 507.8 142.6 541L44.9 478.5 128.9 386.7Q123 429.7 127 470.7ZM791 750H666V666Q666 597.7 617.2 548.8T500 500 382.8 548.8 334 666H250Q214.8 666 190.4 690.4T166 750 190.4 809.6 250 834H791Q808.6 834 821.3 821.3T834 791 821.3 761.7 791 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-partly-cloudy\"\n      ]\n    },\n    {\n      \"uid\": \"06a7d7f451f5e56fd84e4b7d435980ef\",\n      \"css\": \"weather-pouring\",\n      \"code\": 984470,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 500Q390.6 503.9 399.4 519.5T404.3 550.8L349.6 752Q345.7 769.5 331.1 777.3T299.8 781.3 274.4 762.7 271.5 730.5L324.2 529.3Q328.1 513.7 342.8 504.9T375 500ZM541 500Q558.6 503.9 567.4 519.5T570.3 550.8L484.4 873Q480.5 890.6 465.8 898.4T434.6 902.3 409.2 882.8 404.3 851.6L490.2 529.3Q496.1 513.7 510.7 504.9T541 500ZM709 500Q724.6 503.9 733.4 519.5T738.3 550.8L683.6 752Q679.7 769.5 665 777.3T632.8 781.3 607.4 762.7 603.5 730.5L658.2 529.3Q662.1 513.7 676.8 504.9T709 500ZM709 416V375Q709 318.4 680.7 270.5T604.5 194.3 500 166Q421.9 166 364.3 215.8T294.9 341.8Q271.5 334 250 334 197.3 334 161.1 370.1T125 459Q125 492.2 141.6 521.5T187.5 566.4V566.4Q203.1 574.2 207 591.8T202.1 624 177.7 642.6 146.5 638.7V638.7Q97.7 611.3 69.3 563.5T41 459 69.3 354.5 145.5 278.3 250 250Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 117.2T728.5 208 771.5 334H791Q861.3 334 910.2 382.8T959 500Q959 546.9 936.5 585T875 644.5V644.5Q859.4 652.3 842.8 648.4T817.4 628.9 813.5 596.7 834 572.3V572.3Q851.6 560.5 863.3 542T875 500Q875 464.8 850.6 440.4T791 416H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-pouring\"\n      ]\n    },\n    {\n      \"uid\": \"8830d4327a1acd249357d8c90e96dc53\",\n      \"css\": \"weather-rainy\",\n      \"code\": 984471,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 584Q267.6 584 279.3 596.7T291 626 279.3 655.3 250 668Q193.4 668 145.5 639.6T69.3 563.5 41 459 69.3 354.5 145.5 279.3 250 252Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 118.2T728.5 209 771.5 335.9L791 334Q861.3 334 910.2 382.8T959 501 910.2 619.1 791 668H750Q732.4 668 720.7 655.3T709 626 720.7 596.7 750 584H791Q826.2 584 850.6 559.6T875 501 850.6 442.4 791 418H709V377Q709 320.3 680.7 272.5T604.5 196.3 500 168Q421.9 168 364.3 217.8T294.9 341.8Q273.4 334 250 334 197.3 334 161.1 371.1T125 460 161.1 547.9 250 584ZM500 589.8Q509.8 603.5 523.4 623 584 707 584 750 584 785.2 559.6 809.6T500 834 440.4 809.6 416 750Q416 707 476.6 623ZM500 459L478.5 482.4 457 509.8Q429.7 543 408.2 576.2 373 625 357.4 660.2 334 709 334 750 334 818.4 382.8 867.2T500 916 617.2 867.2 666 750Q666 709 642.6 660.2 627 625 591.8 574.2T521.5 482.4V482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-rainy\"\n      ]\n    },\n    {\n      \"uid\": \"3339a935497c4813264654a367df8270\",\n      \"css\": \"weather-snowy\",\n      \"code\": 984472,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 584Q267.6 584 279.3 595.7T291 625 279.3 654.3 250 666Q193.4 666 145.5 638.7T69.3 563.5 41 459 69.3 354.5 145.5 278.3 250 250Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 117.2T728.5 208 771.5 334H791Q861.3 334 910.2 382.8T959 500 910.2 617.2 791 666H750Q732.4 666 720.7 654.3T709 625 720.7 595.7 750 584H791Q826.2 584 850.6 559.6T875 500 850.6 440.4 791 416H709V375Q709 318.4 680.7 270.5T604.5 194.3 500 166Q421.9 166 364.3 215.8T294.9 341.8Q271.5 334 250 334 197.3 334 161.1 370.1T125 458 161.1 546.9 250 584ZM328.1 752L419.9 728.5 351.6 662.1Q339.8 650.4 339.8 632.8T352.5 602.5 382.8 589.8 412.1 601.6L478.5 669.9 502 578.1Q507.8 562.5 522.5 553.7T553.7 548.8 579.1 568.4 584 599.6L558.6 691.4 650.4 666Q666 662.1 681.6 670.9T701.2 696.3 696.3 727.5 671.9 748L580.1 771.5 648.4 837.9Q660.2 849.6 660.2 867.2T647.5 897.5 617.2 910.2 587.9 898.4L521.5 830.1 498 921.9Q492.2 937.5 477.5 946.3T446.3 951.2 420.9 931.6 416 900.4L441.4 808.6 349.6 834Q334 837.9 318.4 829.1T298.8 803.7 303.7 772.5 328.1 752Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-snowy\"\n      ]\n    },\n    {\n      \"uid\": \"67552c6552c9fbd804b70d68575a321d\",\n      \"css\": \"weather-sunny\",\n      \"code\": 984473,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM500 84L599.6 226.6Q550.8 209 500 209T400.4 226.6ZM138.7 291L312.5 277.3Q273.4 310.5 248 353.5T212.9 449.2ZM140.6 709L212.9 550.8Q222.7 601.6 248 645.5T312.5 724.6ZM861.3 291L787.1 449.2Q777.3 398.4 752 353.5T687.5 277.3ZM859.4 709L687.5 722.7Q726.6 689.5 752 645.5T787.1 550.8ZM500 916L400.4 773.4Q449.2 791 499 791T599.6 773.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-sunny\"\n      ]\n    },\n    {\n      \"uid\": \"89fda9fdff4b1f4958a7f2365a51da75\",\n      \"css\": \"weather-sunset\",\n      \"code\": 984474,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 500H291Q291 443.4 319.3 395.5T395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500H875Q892.6 500 904.3 511.7T916 541 904.3 571.3 875 584H125Q107.4 584 95.7 571.3T84 541 95.7 511.7 125 500ZM209 666H791Q808.6 666 821.3 678.7T834 709 821.3 738.3 791 750H209Q191.4 750 178.7 738.3T166 709 178.7 678.7 209 666ZM709 834Q726.6 834 738.3 845.7T750 875 738.3 904.3 709 916H291Q273.4 916 261.7 904.3T250 875 261.7 845.7 291 834H709ZM625 500Q625 447.3 588.9 411.1T500 375 411.1 411.1 375 500H625ZM500 84L599.6 226.6Q550.8 209 500 209T400.4 226.6ZM138.7 291L312.5 277.3Q273.4 310.5 248 353.5T212.9 449.2ZM861.3 291L787.1 449.2Q777.3 398.4 752 353.5T687.5 277.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-sunset\"\n      ]\n    },\n    {\n      \"uid\": \"0876335ac518619ee98188113da2ae56\",\n      \"css\": \"weather-sunset-down\",\n      \"code\": 984475,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 500H291Q291 443.4 319.3 395.5T395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500H875Q892.6 500 904.3 511.7T916 541 904.3 571.3 875 584H125Q107.4 584 95.7 571.3T84 541 95.7 511.7 125 500ZM625 500Q625 447.3 588.9 411.1T500 375 411.1 411.1 375 500H625ZM500 84L599.6 226.6Q550.8 209 500 209T400.4 226.6ZM138.7 291L312.5 277.3Q273.4 310.5 248 353.5T212.9 449.2ZM861.3 291L787.1 449.2Q777.3 398.4 752 353.5T687.5 277.3ZM529.3 863.3L658.2 732.4Q671.9 720.7 671.9 703.1T659.2 673.8 629.9 662.1 599.6 673.8L500 775.4 400.4 673.8Q386.7 662.1 370.1 662.1T340.8 673.8 328.1 703.1 341.8 732.4L470.7 863.3Q484.4 875 500 875T529.3 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-sunset-down\"\n      ]\n    },\n    {\n      \"uid\": \"85e0998123de230ad665981f819d04e3\",\n      \"css\": \"weather-sunset-up\",\n      \"code\": 984476,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 500H291Q291 443.4 319.3 395.5T395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500H875Q892.6 500 904.3 511.7T916 541 904.3 571.3 875 584H125Q107.4 584 95.7 571.3T84 541 95.7 511.7 125 500ZM625 500Q625 447.3 588.9 411.1T500 375 411.1 411.1 375 500H625ZM500 84L599.6 226.6Q550.8 209 500 209T400.4 226.6ZM138.7 291L312.5 277.3Q273.4 310.5 248 353.5T212.9 449.2ZM861.3 291L787.1 449.2Q777.3 398.4 752 353.5T687.5 277.3ZM529.3 679.7L658.2 808.6Q671.9 820.3 671.9 837.9T659.2 867.2 629.9 878.9 599.6 867.2L500 767.6 400.4 867.2Q386.7 878.9 370.1 878.9T340.8 867.2 328.1 837.9 341.8 808.6L470.7 679.7Q484.4 666 500 666T529.3 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-sunset-up\"\n      ]\n    },\n    {\n      \"uid\": \"e2af1f93d1a1aee11c72856a6e80f3bf\",\n      \"css\": \"weather-windy\",\n      \"code\": 984477,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 416Q148.4 416 136.7 404.3T125 375 136.7 345.7 166 334H500Q535.2 334 559.6 309.6T584 250 559.6 190.4 500 166 441.4 191.4Q429.7 203.1 412.1 203.1T381.8 191.4 369.1 162.1 382.8 132.8Q431.6 84 500 84T617.2 132.8 666 250 617.2 367.2 500 416H166ZM791 500Q808.6 500 821.3 488.3T834 459 821.3 428.7 791 416 761.7 428.7 732.4 441.4 703.1 428.7 691.4 399.4 703.1 369.1Q740.2 334 792 334T879.9 370.1 916 458 879.9 546.9 791 584H209Q191.4 584 178.7 571.3T166 541 178.7 511.7 209 500H791ZM750 750H166Q148.4 750 136.7 738.3T125 709 136.7 678.7 166 666H750Q802.7 666 838.9 703.1T875 792 838.9 879.9 751 916 662.1 880.9Q650.4 867.2 650.4 850.6T662.1 821.3 691.4 808.6 720.7 821.3 750 834 779.3 821.3 791 791 779.3 761.7 750 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-windy\"\n      ]\n    },\n    {\n      \"uid\": \"725341ce2f5344988203e761a8a81153\",\n      \"css\": \"weather-windy-variant\",\n      \"code\": 984478,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 250L279.3 252Q298.8 177.7 360.4 130.9T500 84Q544.9 84 586.9 101.6T661.1 151.4 710.9 225.6 728.5 312.5L726.6 351.6Q755.9 334 791 334 843.8 334 879.9 370.1T916 458 879.9 546.9 791 584H250Q181.6 584 132.8 535.2T84 417 132.8 298.8 250 250ZM250 334Q214.8 334 190.4 358.4T166 417 190.4 475.6 250 500H791Q808.6 500 821.3 488.3T834 459 821.3 428.7 791 416H646.5V312.5Q646.5 252 603.5 209T500 166 396.5 209 353.5 312.5V334H250ZM750 750H166Q148.4 750 136.7 738.3T125 709 136.7 678.7 166 666H750Q802.7 666 838.9 703.1T875 792 838.9 879.9 751 916 662.1 880.9Q650.4 867.2 650.4 850.6T662.1 821.3 691.4 808.6 720.7 821.3 750 834 779.3 821.3 791 791 779.3 761.7 750 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-windy-variant\"\n      ]\n    },\n    {\n      \"uid\": \"b045adeaa0c87dedd39d83d331c74531\",\n      \"css\": \"web\",\n      \"code\": 984479,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M681.6 584Q687.5 535.2 687.5 500T681.6 416H822.3Q834 460.9 834 500T822.3 584H681.6ZM607.4 814.5Q644.5 746.1 666 666H789.1Q757.8 718.8 711.9 756.8T607.4 814.5ZM597.7 584H402.3Q396.5 539.1 396.5 500T402.3 416H597.7Q603.5 464.8 603.5 500T597.7 584ZM500 832Q445.3 752 419.9 666H580.1Q554.7 752 500 832ZM334 334H210.9Q242.2 281.3 288.1 243.2T392.6 185.5Q357.4 250 334 334ZM210.9 666H334Q357.4 750 392.6 814.5 334 794.9 288.1 756.8T210.9 666ZM177.7 584Q166 539.1 166 500T177.7 416H318.4Q312.5 464.8 312.5 500T318.4 584H177.7ZM500 168Q554.7 248 580.1 334H419.9Q445.3 248 500 168ZM789.1 334H666Q644.5 253.9 607.4 185.5 666 205.1 711.9 243.2T789.1 334ZM500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"web\"\n      ]\n    },\n    {\n      \"uid\": \"047b170c9a96d5ea79bf12c3431d523b\",\n      \"css\": \"webcam\",\n      \"code\": 984480,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q580.1 84 646.5 123T752 228.5 791 375 752 521.5 646.5 627 500 666 353.5 627 248 521.5 209 375 248 228.5 353.5 123 500 84ZM500 166Q443.4 166 395.5 194.3T319.3 270.5 291 375 319.3 479.5 395.5 555.7 500 584 604.5 555.7 680.7 479.5 709 375 680.7 270.5 604.5 194.3 500 166ZM500 250Q552.7 250 588.9 286.1T625 375 588.9 463.9 500 500 411.1 463.9 375 375 411.1 286.1 500 250ZM250 916Q214.8 916 190.4 891.6T166 834Q166 808.6 179.7 791L253.9 658.2Q304.7 701.2 368.2 725.6T500 750 631.8 725.6 746.1 658.2L820.3 791Q834 808.6 834 834 834 867.2 809.6 891.6T750 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"webcam\"\n      ]\n    },\n    {\n      \"uid\": \"3de130bad24256d71b23e15a83b662db\",\n      \"css\": \"weight\",\n      \"code\": 984481,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q568.4 125 617.2 173.8T666 291Q666 337.9 644.5 375H750Q779.3 375 801.8 393.6T832 439.5L906.3 738.3Q916 785.2 916 791 916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791Q84 785.2 93.8 738.3L168 439.5Q175.8 412.1 198.2 393.6T250 375H355.5Q334 337.9 334 291 334 222.7 382.8 173.8T500 125ZM500 209Q464.8 209 440.4 233.4T416 292 440.4 350.6 500 375 559.6 350.6 584 292 559.6 233.4 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weight\"\n      ]\n    },\n    {\n      \"uid\": \"b833d050501d1cdaf0c03f8043c7af66\",\n      \"css\": \"weight-kilogram\",\n      \"code\": 984482,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q568.4 125 617.2 173.8T666 291Q666 337.9 644.5 375H750Q779.3 375 801.8 393.6T832 439.5L906.3 738.3Q916 785.2 916 791 916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791Q84 785.2 93.8 738.3L168 439.5Q175.8 412.1 198.2 393.6T250 375H355.5Q334 337.9 334 291 334 222.7 382.8 173.8T500 125ZM500 209Q464.8 209 440.4 233.4T416 292 440.4 350.6 500 375 559.6 350.6 584 292 559.6 233.4 500 209ZM250 459V791H334V687.5L375 728.5V791H459V709L375 625 459 541V459H375V521.5L334 562.5V459H250ZM625 459Q589.8 459 565.4 483.4T541 541V709Q541 742.2 565.4 766.6T625 791H750V584H666V709H625V541H750V459H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weight-kilogram\"\n      ]\n    },\n    {\n      \"uid\": \"0067b7b7b3deeb6ac13db7e93dc33952\",\n      \"css\": \"whatsapp\",\n      \"code\": 984483,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M502 84Q390.6 84 294.9 139.6T143.6 290 87.9 496.1 144.5 703.1L85.9 916 304.7 859.4Q396.5 910.2 502 910.2 613.3 910.2 708 854.5T858.4 704.1 914.1 496.1Q914.1 414.1 882.8 338.9T793.9 205.1 660.2 115.2 502 84ZM502 152.3Q570.3 152.3 632.8 178.7T744.1 253.9 819.3 365.2 845.7 496.1Q845.7 589.8 798.8 668.9T672.9 793.9 500 839.8 326.2 791L314.5 785.2 185.5 818.4 218.8 691.4 210.9 679.7Q158.2 595.7 158.2 496.1 158.2 402.3 205.1 324.2T330.1 199.2 502 152.3ZM355.5 304.7Q339.8 304.7 328.1 318.4L326.2 320.3Q291 357.4 291 404.3T332 507.8L335.9 515.6Q416 627 509.8 666 537.1 679.7 567.4 688.5T634.8 693.4Q650.4 689.5 673.8 674.8T703.1 643.6 710.9 613.3 710 595.7 693.4 584L654.3 564.5Q627 550.8 619.1 548.8T606.4 546.9 595.7 554.7Q587.9 566.4 564.5 593.8 554.7 603.5 541 597.7L535.2 593.8Q490.2 576.2 459 546.9T400.4 474.6Q394.5 462.9 404.3 453.1T419.9 436.5 429.7 421.9L431.6 418Q435.5 410.2 429.7 400.4L398.4 324.2Q392.6 312.5 388.7 309.6T377 306.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"whatsapp\"\n      ]\n    },\n    {\n      \"uid\": \"2b8f6cb35534aef28b80a78f06b96fea\",\n      \"css\": \"wheelchair-accessibility\",\n      \"code\": 984484,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M767.6 466.8L595.7 474.6 691.4 367.2Q707 343.8 699.2 312.5 691.4 287.1 679.7 279.3L455.1 146.5Q441.4 136.7 424.8 138.7T396.5 150.4L283.2 253.9Q267.6 269.5 265.6 290T277.3 325.2 312.5 340.8 349.6 330.1L433.6 253.9 511.7 300.8 337.9 478.5 334 484.4Q332 488.3 330.1 488.3 287.1 503.9 271.5 517.6L334 580.1Q375 562.5 396.5 562.5 455.1 562.5 498 605.5T541 709Q541 748 525.4 771.5L587.9 834Q625 777.3 625 709 625 628.9 580.1 570.3L716.8 558.6 709 757.8Q705.1 779.3 718.8 793.9T753.9 812.5H757.8Q777.3 812.5 791 798.8T808.6 767.6L816.4 521.5Q816.4 496.1 804.7 482.4 787.1 466.8 767.6 466.8ZM750 228.5Q785.2 228.5 809.6 204.1T834 145.5 809.6 86.9 750 62.5 690.4 86.9 666 145.5 690.4 204.1 750 228.5ZM521.5 900.4Q464.8 937.5 396.5 937.5 334 937.5 281.3 906.3T197.3 822.3 166 709Q166 638.7 205.1 584L267.6 646.5Q250 687.5 250 709 250 767.6 293 810.5T396.5 853.5Q435.5 853.5 459 837.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wheelchair-accessibility\"\n      ]\n    },\n    {\n      \"uid\": \"4a5b318d92417aefc2de909e04343766\",\n      \"css\": \"white-balance-auto\",\n      \"code\": 984485,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M429.7 666L400.4 584H267.6L238.3 666H158.2L291 291H375L507.8 666H429.7ZM916 291L867.2 554.7 804.7 291H738.3L675.8 554.7 625 291H593.8Q546.9 234.4 478.5 200.2T334 166Q242.2 166 166 210.9T44.9 333 0 500 44.9 667 166 789.1 334 834Q429.7 834 509.8 783.2T630.9 648.4L634.8 666H709L771.5 412.1 834 666H906.3L992.2 291H916ZM285.2 527.3H380.9L334 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"white-balance-auto\"\n      ]\n    },\n    {\n      \"uid\": \"1d7ba01ab713201669ddcd27ff4d1d7a\",\n      \"css\": \"white-balance-incandescent\",\n      \"code\": 984486,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M718.8 755.9L793 832 851.6 771.5 777.3 697.3ZM834 521.5H959V437.5H834V521.5ZM625 263.7V62.5H375V263.7Q318.4 296.9 284.2 353.5T250 478.5 283.2 604.5 374 695.3 500 728.5 626 695.3 716.8 604.5 750 478.5 715.8 353.5 625 263.7ZM166 437.5H41V521.5H166V437.5ZM459 935.5H541V812.5H459V935.5ZM148.4 771.5L207 832 281.3 755.9 222.7 697.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"white-balance-incandescent\"\n      ]\n    },\n    {\n      \"uid\": \"9db54277d769c9c232c6b4dcfbbff5ea\",\n      \"css\": \"white-balance-iridescent\",\n      \"code\": 984487,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M207 832L281.3 755.9 222.7 697.3 148.4 771.5ZM148.4 185.5L222.7 261.7 281.3 201.2 207 127ZM851.6 771.5L777.3 697.3 718.8 755.9 793 832ZM541 935.5V812.5H459V935.5H541ZM793 127L718.8 201.2 777.3 261.7 851.6 185.5ZM459 146.5H541V23.4H459V146.5ZM209 603.5H791V353.5H209V603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"white-balance-iridescent\"\n      ]\n    },\n    {\n      \"uid\": \"0be590ace7a860a05629a73dc605add2\",\n      \"css\": \"white-balance-sunny\",\n      \"code\": 984488,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M148.4 773.4L207 832 281.3 755.9 222.7 697.3ZM459 935.5H541V812.5H459V935.5ZM500 228.5Q431.6 228.5 374 262.7T283.2 354.5 250 479.5 283.2 604.5 374 695.3 500 728.5 626 695.3 716.8 604.5 750 479.5 716.8 354.5 626 262.7 500 228.5ZM834 521.5H959V437.5H834V521.5ZM718.8 755.9L793 832 851.6 773.4 777.3 697.3ZM851.6 185.5L793 127 718.8 201.2 777.3 261.7ZM541 23.4H459V146.5H541V23.4ZM166 437.5H41V521.5H166V437.5ZM281.3 201.2L207 127 148.4 185.5 222.7 261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"white-balance-sunny\"\n      ]\n    },\n    {\n      \"uid\": \"14c09dc69e3413652d286ce7273c4046\",\n      \"css\": \"wifi\",\n      \"code\": 984489,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 875L650.4 675.8Q584 625 500 625T349.6 675.8ZM500 125Q375 125 260.7 164.1T50.8 275.4L125 375Q205.1 314.5 300.8 282.2T500 250 699.2 282.2 875 375L949.2 275.4Q853.5 203.1 739.3 164.1T500 125ZM500 375Q418 375 340.8 401.4T199.2 474.6L275.4 574.2Q375 500 500 500T724.6 574.2L800.8 474.6Q736.3 427.7 659.2 401.4T500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi\"\n      ]\n    },\n    {\n      \"uid\": \"b797c2999f80a95414ffa27b2609b795\",\n      \"css\": \"wifi-off\",\n      \"code\": 984490,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M95.7 125L41 177.7 103.5 238.3Q76.2 255.9 50.8 275.4L125 375Q156.3 351.6 193.4 330.1L287.1 423.8Q238.3 445.3 199.2 474.6L275.4 574.2Q324.2 539.1 382.8 519.5L490.2 625Q412.1 628.9 349.6 675.8L500 875 601.6 738.3 738.3 875 791 822.3ZM500 125Q369.1 125 246.1 169.9L345.7 269.5Q421.9 250 500 250 603.5 250 699.2 282.2T875 375L949.2 275.4Q853.5 203.1 739.3 164.1T500 125ZM500 375Q468.8 375 453.1 377L585.9 509.8Q662.1 527.3 724.6 574.2L800.8 474.6Q736.3 427.7 660.2 401.4T500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-off\"\n      ]\n    },\n    {\n      \"uid\": \"66e4fabfcebbbc1d86bfeaaa39ff330a\",\n      \"css\": \"nintendo-wii\",\n      \"code\": 984491,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M744.1 705.1H666V449.2H744.1V705.1ZM750 357.4Q750 377 736.3 390.6T704.1 404.3 671.9 390.6 658.2 357.4 671.9 324.2 704.1 310.5 736.3 324.2 750 357.4ZM908.2 705.1H830.1V449.2H908.2V705.1ZM916 357.4Q916 377 902.3 390.6T870.1 404.3 837.9 390.6 824.2 357.4 837.9 324.2 870.1 310.5 902.3 324.2 916 357.4ZM537.1 335.9H621.1L527.3 662.1Q519.5 681.6 509.8 693.4 492.2 710.9 470.7 710.9 439.5 710.9 419.9 677.7 410.2 662.1 408.2 646.5L351.6 443.4 291 662.1Q283.2 681.6 271.5 693.4 255.9 710.9 234.4 710.9 203.1 710.9 183.6 677.7 173.8 662.1 171.9 646.5L84 335.9H166L238.3 611.3 296.9 386.7Q304.7 351.6 330.1 337.9 341.8 332 351.6 332L363.3 334Q377 337.9 386.7 347.7 402.3 363.3 408.2 386.7L464.8 611.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nintendo-wii\"\n      ]\n    },\n    {\n      \"uid\": \"fda6a3b9792ba21c218465e0948f3998\",\n      \"css\": \"wikipedia\",\n      \"code\": 984492,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M623 789.1L517.6 539.1 470.7 627Q414.1 736.3 388.7 789.1H369.1Q332 703.1 257.8 535.2L181.6 361.3Q169.9 332 138.7 301.8T84 271.5V252H294.9V271.5Q271.5 271.5 251 284.2T238.3 314.5Q253.9 349.6 332 529.3L400.4 691.4Q429.7 636.7 500 503.9 490.2 486.3 452.1 399.4T404.3 296.9Q388.7 271.5 332 271.5V252H517.6V269.5Q496.1 271.5 484.4 279.3T478.5 304.7Q492.2 330.1 513.7 377L541 439.5Q578.1 367.2 603.5 308.6 611.3 289.1 599.6 280.3T554.7 271.5V252H714.8V269.5Q691.4 271.5 670.9 282.2T638.7 310.5L562.5 470.7Q568.4 486.3 634.8 634.8L652.3 675.8 812.5 306.6Q804.7 287.1 781.3 277.3 765.6 271.5 750 271.5V252L916 253.9V271.5Q865.2 271.5 843.8 322.3 816.4 384.8 679.7 701.2L642.6 789.1H623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wikipedia\"\n      ]\n    },\n    {\n      \"uid\": \"5d5ddbf35ca120d30e8862fa71bf5d64\",\n      \"css\": \"window-close\",\n      \"code\": 984493,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M560.5 500L791 730.5V791H730.5L500 560.5 269.5 791H209V730.5L439.5 500 209 269.5V209H269.5L500 439.5 730.5 209H791V269.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-close\"\n      ]\n    },\n    {\n      \"uid\": \"55238ffe759874e9d6b270f125af54c3\",\n      \"css\": \"window-closed\",\n      \"code\": 984494,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 459H416V375H584V459H750V166H250V459ZM750 541H250V834H750V541ZM250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-closed\"\n      ]\n    },\n    {\n      \"uid\": \"f3af0af0db06a8512c8471943034d00e\",\n      \"css\": \"window-maximize\",\n      \"code\": 984495,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834V834H166V166ZM250 334V750H750V334H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-maximize\"\n      ]\n    },\n    {\n      \"uid\": \"2b1edc3c4c022e08439a3d4fd85aca14\",\n      \"css\": \"window-minimize\",\n      \"code\": 984496,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 584H166V416H834V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-minimize\"\n      ]\n    },\n    {\n      \"uid\": \"c8eaddf48107642b3f51ac9a6d939d42\",\n      \"css\": \"window-open\",\n      \"code\": 984497,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 334H416V250H584V334H750V166H250V334ZM750 416H250V625H750V416ZM250 834H750V709H250V834ZM250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-open\"\n      ]\n    },\n    {\n      \"uid\": \"70499246beb7938384766a04ba48d67d\",\n      \"css\": \"window-restore\",\n      \"code\": 984498,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166H834V666H666V834H166V334ZM666 334V584H750V250H416V334H666ZM250 500V750H584V500H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-restore\"\n      ]\n    },\n    {\n      \"uid\": \"b6d50f06b2f5bb1329974bc1b236c39e\",\n      \"css\": \"microsoft-windows\",\n      \"code\": 984499,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 500V281.3L375 226.6V496.1ZM834 125V490.2L416 496.1V216.8ZM125 541L375 544.9V830.1L125 781.3V541ZM834 552.7V916L416 837.9V544.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-windows\"\n      ]\n    },\n    {\n      \"uid\": \"d779fdb4638d047f030d871e71b8456f\",\n      \"css\": \"wordpress\",\n      \"code\": 984500,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M142.6 500Q142.6 425.8 173.8 353.5L343.8 822.3Q253.9 777.3 198.2 691.4T142.6 500ZM742.2 482.4Q742.2 509.8 718.8 580.1L677.7 716.8 548.8 334 589.8 330.1Q599.6 328.1 602.5 320.3T601.6 305.7 587.9 298.8L554.7 302.7Q515.6 304.7 492.2 304.7L398.4 298.8Q388.7 298.8 384.8 305.7T383.8 320.3 396.5 330.1L433.6 334 490.2 484.4 412.1 718.8 281.3 334 322.3 330.1Q332 328.1 335 320.3T333 305.7 320.3 298.8L285.2 302.7Q248 304.7 224.6 304.7H201.2Q250 228.5 329.1 185.5T500 142.6Q568.4 142.6 630.9 167T742.2 236.3H736.3Q710.9 236.3 693.4 254.9T675.8 298.8Q675.8 318.4 685.5 337.9 691.4 351.6 707 377L710.9 382.8Q742.2 433.6 742.2 482.4ZM505.9 531.3L617.2 832 619.1 837.9Q562.5 857.4 500 857.4 447.3 857.4 398.4 843.8ZM814.5 328.1Q857.4 408.2 857.4 500 857.4 597.7 808.6 679.7T679.7 808.6L789.1 494.1Q816.4 425.8 816.4 365.2ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 898.4Q607.4 898.4 699.2 844.7T844.7 699.2 898.4 500 844.7 300.8 699.2 155.3 500 101.6 300.8 155.3 155.3 300.8 101.6 500 155.3 699.2 300.8 844.7 500 898.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wordpress\"\n      ]\n    },\n    {\n      \"uid\": \"cb9f9aef98e00b97231e340f475e3e8d\",\n      \"css\": \"account-hard-hat\",\n      \"code\": 984501,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625Q410.2 625 333 647.5T210.9 708 166 791V875H834V791Q834 746.1 789.1 708T667 647.5 500 625ZM334 375Q334 443.4 382.8 492.2T500 541 617.2 492.2 666 375H334ZM478.5 84Q470.7 84 464.8 89.8T459 103.5V228.5H416V125L402.3 132.8Q384.8 142.6 369.1 158.2 349.6 179.7 337.9 205.1 322.3 240.2 322.3 281.3L314.5 285.2Q304.7 289.1 298.8 298.8 291 312.5 291 334H709Q707 304.7 691.4 289.1 683.6 283.2 677.7 281.3V281.3Q677.7 205.1 630.9 158.2 607.4 134.8 584 125V125 228.5H541V103.5Q541 95.7 536.1 89.8T521.5 84H478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-hard-hat\"\n      ]\n    },\n    {\n      \"uid\": \"df612156ebac8be28bec18f89516bba1\",\n      \"css\": \"wrap\",\n      \"code\": 984502,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209H125V291H875V209ZM125 791H416V709H125V791ZM125 541H750Q787.1 541 806.6 558.6 834 580.1 834 625T806.6 691.4Q787.1 709 750 709H666V625L500 750 666 875V791H750Q839.8 791 877.9 752T916 625 878.9 498 750 459H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wrap\"\n      ]\n    },\n    {\n      \"uid\": \"65f714f51f852645ac888ed32bc3d2fd\",\n      \"css\": \"wrench\",\n      \"code\": 984503,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M945.3 791L566.4 412.1Q595.7 339.8 579.1 261.7T502.9 124 357.4 49.8 195.3 70.3L375 250 250 375 66.4 195.3Q29.3 271.5 43.9 356.4T121.1 503.9Q179.7 562.5 257.8 579.1T408.2 566.4L787.1 945.3Q800.8 959 817.4 959T845.7 945.3L941.4 849.6Q957 837.9 958 819.3T945.3 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wrench\"\n      ]\n    },\n    {\n      \"uid\": \"81e0a4b27deec5d9685b287702f71661\",\n      \"css\": \"contacts-outline\",\n      \"code\": 984504,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 750H166V250H834V750ZM166 0H834V84H166V0ZM166 916H834V1000H166V916ZM500 500Q543 500 573.2 469.7T603.5 396.5 573.2 322.3 500 291 426.8 322.3 396.5 396.5 426.8 469.7 500 500ZM500 353.5Q517.6 353.5 529.3 366.2T541 395.5 529.3 424.8 500 437.5 470.7 424.8 459 395.5 470.7 366.2 500 353.5ZM709 666Q709 627 669.9 595.7 638.7 570.3 585.9 554.7 539.1 541 500 541T414.1 554.7Q361.3 570.3 330.1 595.7 291 627 291 666V709H709V666ZM367.2 646.5Q386.7 628.9 425.8 616.2T500 603.5 574.2 616.2 632.8 646.5H367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contacts-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8d4ba77be5daec1ee13a3bf7941089cb\",\n      \"css\": \"microsoft-xbox\",\n      \"code\": 984505,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M267.6 154.3Q273.4 150.4 275.4 148.4 377 84 500 84 617.2 84 714.8 142.6L716.8 144.5Q732.4 154.3 738.3 162.1 716.8 138.7 675.8 144.5 640.6 150.4 595.7 173.8 564.5 191.4 529.3 216.8L500 238.3Q402.3 164.1 339.8 146.5 294.9 134.8 269.5 154.3H267.6ZM806.6 216.8Q800.8 212.9 800.8 210.9 779.3 189.5 750 191.4 722.7 199.2 689.5 218.8 630.9 252 574.2 304.7L603.5 334Q636.7 369.1 666 404.3 707 455.1 734.4 498 785.2 582 802.7 636.7 824.2 707 808.6 781.3 859.4 722.7 887.7 651.4T916 500 887.7 346.7 806.6 216.8ZM656.3 539.1Q597.7 474.6 535.2 414.1L500 378.9 455.1 423.8Q398.4 482.4 359.4 523.4 306.6 578.1 263.7 638.7 197.3 730.5 193.4 781.3L191.4 769.5Q187.5 753.9 187.5 732.4 187.5 703.1 195.3 669.9 205.1 627 224.6 578.1 250 515.6 320.3 423.8 378.9 343.8 423.8 302.7L394.5 275.4Q359.4 244.1 326.2 222.7L324.2 220.7Q277.3 195.3 242.2 193.4 224.6 193.4 209 205.1 201.2 209 195.3 214.8V214.8Q142.6 271.5 113.3 344.7T84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916Q589.8 916 669.9 879.9T808.6 781.3L804.7 763.7Q796.9 740.2 785.2 716.8 767.6 681.6 744.1 646.5 720.7 615.2 656.3 539.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox\"\n      ]\n    },\n    {\n      \"uid\": \"37b964ed2ae22cf952f4802ccc69c8bb\",\n      \"css\": \"microsoft-xbox-controller\",\n      \"code\": 984506,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M365.2 656.3Q332 656.3 302.7 675.8 285.2 689.5 252 722.7 226.6 748 212.9 759.8 189.5 779.3 166 791 121.1 791 97.7 746.1 72.3 693.4 89.8 593.8 109.4 478.5 187.5 312.5H197.3L216.8 277.3 248 261.7Q287.1 244.1 320.3 242.2 363.3 236.3 388.7 259.8H611.3Q646.5 228.5 718.8 250 753.9 259.8 783.2 277.3L802.7 312.5H812.5Q890.6 478.5 910.2 593.8 927.7 693.4 902.3 746.1 878.9 791 834 791 810.5 779.3 787.1 759.8 773.4 748 748 722.7 714.8 689.5 697.3 675.8 668 656.3 634.8 656.3H365.2ZM500 291Q482.4 291 470.7 303.7T459 334 470.7 363.3 500 375 529.3 363.3 541 334 529.3 303.7 500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller\"\n      ]\n    },\n    {\n      \"uid\": \"35accc9973ccf639ec03edc1417a32bf\",\n      \"css\": \"microsoft-xbox-controller-off\",\n      \"code\": 984507,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 521.5 656.3H365.2Q332 656.3 302.7 675.8 285.2 689.5 252 722.7 226.6 748 212.9 759.8 189.5 779.3 166 791 121.1 791 97.7 746.1 72.3 695.3 87.9 597.7 107.4 482.4 183.6 320.3ZM388.7 259.8H611.3Q646.5 228.5 718.8 250 753.9 259.8 783.2 277.3L802.7 312.5H812.5Q880.9 459 904.3 568.4 925.8 662.1 910.2 720.7 898.4 771.5 861.3 787.1L318.4 242.2Q363.3 236.3 388.7 259.8ZM500 291Q482.4 291 470.7 303.7T459 334 470.7 363.3 500 375 529.3 363.3 541 334 529.3 303.7 500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-off\"\n      ]\n    },\n    {\n      \"uid\": \"94f3f5f3d5c43f3245ea3d0d381960d1\",\n      \"css\": \"table-furniture\",\n      \"code\": 984508,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291H916V416H834L875 791H771.5L748 584H252L228.5 791H125L166 416H84V291ZM728.5 416H271.5L261.7 500H738.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-furniture\"\n      ]\n    },\n    {\n      \"uid\": \"a1988a623fe53cf94bde96b2aadd20b3\",\n      \"css\": \"sort-alphabetical-ascending\",\n      \"code\": 984509,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H916L750 875 584 709H709V125H791V709ZM459 541V625L320.3 791H459V875H209V791L347.7 625H209V541H459ZM375 125H291Q257.8 125 233.4 149.4T209 209V459H291V375H375V459H459V209Q459 173.8 434.6 149.4T375 125ZM375 291H291V209H375V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-alphabetical-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"45c7f80f6e4d53fa259074171d1084f1\",\n      \"css\": \"xing\",\n      \"code\": 984510,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M199.2 125Q168 125 146.5 146.5T125 199.2V800.8Q125 832 146.5 853.5T199.2 875H800.8Q832 875 853.5 853.5T875 800.8V199.2Q875 168 853.5 146.5T800.8 125H199.2ZM669.9 209H753.9Q763.7 209 766.6 213.9T765.6 226.6L580.1 556.6 697.3 773.4Q701.2 781.3 698.2 786.1T687.5 791H603.5Q587.9 791 580.1 775.4L460.9 556.6 646.5 224.6Q656.3 209 669.9 209ZM294.9 324.2H378.9Q394.5 324.2 402.3 339.8L460.9 439.5 369.1 601.6Q361.3 617.2 345.7 617.2H261.7Q255.9 617.2 252 611.3T252 597.7L341.8 439.5 283.2 341.8Q281.3 334 284.2 329.1T294.9 324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"xing\"\n      ]\n    },\n    {\n      \"uid\": \"0e1ff7cae8f6e9ca71ad70dde2a2aa45\",\n      \"css\": \"sort-alphabetical-descending\",\n      \"code\": 984511,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H916L750 125 584 291H709V875H791V291ZM459 541V625L320.3 791H459V875H209V791L347.7 625H209V541H459ZM375 125H291Q257.8 125 233.4 149.4T209 209V459H291V375H375V459H459V209Q459 173.8 434.6 149.4T375 125ZM375 291H291V209H375V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-alphabetical-descending\"\n      ]\n    },\n    {\n      \"uid\": \"b0398ec8ed740166eb18a233bd35c3b5\",\n      \"css\": \"xml\",\n      \"code\": 984512,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 125L619.1 142.6 462.9 875 380.9 857.4ZM816.4 500L666 349.6V232.4L933.6 500 666 767.6V648.4ZM66.4 500L334 232.4V349.6L183.6 500 334 648.4V767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"xml\"\n      ]\n    },\n    {\n      \"uid\": \"f206358d9c115cbc63a82f4b12c7d32f\",\n      \"css\": \"yeast\",\n      \"code\": 984513,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584Q818.4 584 867.2 632.8T916 750 867.2 867.2 750 916 632.8 867.2 584 750L587.9 714.8Q584 664.1 564.5 646.5 552.7 634.8 531.3 630.9 468.8 666 395.5 666T259.8 629.9 161.1 531.3 125 395.5 161.1 259.8 259.8 161.1 395.5 125 531.3 161.1 629.9 259.8 666 395.5 630.9 531.3Q634.8 552.7 646.5 564.5 664.1 584 714.8 587.9ZM312.5 416Q337.9 416 356.4 434.6T375 479.5 356.4 523.4 312.5 541 268.6 523.4 250 479.5 268.6 434.6 312.5 416ZM396.5 209Q318.4 209 263.7 263.7T209 396.5 263.7 529.3 396.5 584 529.3 529.3 584 396.5 529.3 263.7 396.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"yeast\"\n      ]\n    },\n    {\n      \"uid\": \"10ddbc05df375b423bf5205ab49cdb81\",\n      \"css\": \"database-refresh\",\n      \"code\": 984514,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541Q570.3 541 630.9 529.3 568.4 584 548.8 664.1L500 666Q410.2 666 333 643.6T210.9 583 166 500V375ZM834 375V459H787.1Q834 419.9 834 375ZM166 584Q166 628.9 210.9 667T333 727.5 500 750L541 748Q546.9 812.5 582 869.1L500 875Q410.2 875 333 852.5T210.9 792 166 709V584ZM791 562.5Q861.3 562.5 910.2 611.3L959 562.5V728.5H791L865.2 656.3Q835.9 625 792 625T717.8 655.3 687.5 728.5 717.8 802.7 791 834Q843.8 834 875 791H945.3Q927.7 837.9 885.7 867.2T791 896.5Q722.7 896.5 673.8 847.7T625 729.5 673.8 611.3 791 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"edd898552d001e07322627600142f43d\",\n      \"css\": \"youtube\",\n      \"code\": 984515,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 625L632.8 500 416 375V625ZM898.4 298.8Q906.3 328.1 910.2 377T914.1 464.8L916 500Q916 634.8 898.4 701.2 882.8 757.8 826.2 773.4 796.9 781.3 716.8 785.2 638.7 789.1 566.4 789.1L500 791Q240.2 791 173.8 773.4 117.2 757.8 101.6 701.2 93.8 671.9 89.8 623T85.9 535.2L84 500Q84 365.2 101.6 298.8 117.2 242.2 173.8 226.6 203.1 218.8 283.2 214.8 361.3 210.9 433.6 210.9L500 209Q759.8 209 826.2 226.6 882.8 242.2 898.4 298.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"youtube\"\n      ]\n    },\n    {\n      \"uid\": \"137655528b7322e3c35d7b329cd1120d\",\n      \"css\": \"zip-box\",\n      \"code\": 984516,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H500V625H416V541H500V625H584V709ZM584 375H500V459H584V541H500V459H416V375H500V291H416V209H500V291H584V375ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zip-box\"\n      ]\n    },\n    {\n      \"uid\": \"53ccafd2f4ab339e990713e2d9bbc231\",\n      \"css\": \"surround-sound\",\n      \"code\": 984517,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM324.2 675.8L263.7 736.3Q216.8 687.5 191.4 626T166 500 191.4 374 263.7 263.7L322.3 322.3Q287.1 359.4 268.6 405.3T250 500 268.6 594.7 324.2 675.8ZM500 666Q431.6 666 382.8 617.2T334 500 382.8 382.8 500 334 617.2 382.8 666 500 617.2 617.2 500 666ZM736.3 736.3L677.7 677.7Q712.9 640.6 731.4 594.7T750 500 731.4 405.3 675.8 324.2L736.3 263.7Q783.2 312.5 808.6 374T834 500 808.6 626 736.3 736.3ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"surround-sound\"\n      ]\n    },\n    {\n      \"uid\": \"824f869059b6deb0314e9587a41a46c9\",\n      \"css\": \"vector-rectangle\",\n      \"code\": 984518,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166H334V250H666V166H916V416H834V584H916V834H666V750H334V834H84V584H166V416H84V166ZM666 416V334H334V416H250V584H334V666H666V584H750V416H666ZM166 250V334H250V250H166ZM750 250V334H834V250H750ZM166 666V750H250V666H166ZM750 666V750H834V666H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-rectangle\"\n      ]\n    },\n    {\n      \"uid\": \"27f80d2e8d959a21e2824d1594ba0de0\",\n      \"css\": \"playlist-check\",\n      \"code\": 984519,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416H84V500H584V416ZM584 250H84V334H584V250ZM84 666H416V584H84V666ZM896.5 478.5L959 541 666 834 478.5 646.5 541 584 666 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-check\"\n      ]\n    },\n    {\n      \"uid\": \"fad968313bd0b5140d403b999040e3d1\",\n      \"css\": \"format-line-style\",\n      \"code\": 984520,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 666H334V584H125V666ZM396.5 666H603.5V584H396.5V666ZM666 666H875V584H666V666ZM125 834H209V750H125V834ZM291 834H375V750H291V834ZM459 834H541V750H459V834ZM625 834H709V750H625V834ZM791 834H875V750H791V834ZM125 500H459V416H125V500ZM541 500H875V416H541V500ZM125 166V334H875V166H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-line-style\"\n      ]\n    },\n    {\n      \"uid\": \"09798d74d9f8a938553d764602f1be59\",\n      \"css\": \"format-line-weight\",\n      \"code\": 984521,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 709H875V625H125V709ZM125 834H875V791H125V834ZM125 541H875V416H125V541ZM125 166V334H875V166H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-line-weight\"\n      ]\n    },\n    {\n      \"uid\": \"a427f409dc0e9634dce01476185f919d\",\n      \"css\": \"translate\",\n      \"code\": 984522,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 627L429.7 523.4 431.6 521.5Q539.1 402.3 585.9 250H709V166H416V84H334V166H41V250H507.8Q462.9 375 375 472.7 318.4 410.2 279.3 334H195.3Q242.2 437.5 320.3 523.4L107.4 732.4 166 791 375 584 503.9 712.9ZM771.5 416H687.5L500 916H584L630.9 791H828.1L875 916H959ZM662.1 709L728.5 527.3 796.9 709H662.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"translate\"\n      ]\n    },\n    {\n      \"uid\": \"761d4bf94e0bcb77f8f847d95ebf4021\",\n      \"css\": \"account-voice\",\n      \"code\": 984523,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q443.4 209 492.2 257.8T541 375 492.2 492.2 375 541 257.8 492.2 209 375 257.8 257.8 375 209ZM375 625Q437.5 625 511.7 644.5 595.7 664.1 646.5 699.2 709 740.2 709 791V875H41V791Q41 740.2 103.5 699.2 154.3 664.1 238.3 644.5 312.5 625 375 625ZM699.2 222.7Q761.7 293 761.7 377.9T699.2 525.4L628.9 455.1Q654.3 419.9 654.3 375T628.9 293ZM835.9 84Q916 166 944.3 271.5T944.3 481.4 835.9 666L767.6 599.6Q826.2 533.2 845.7 453.1T845.7 293 767.6 150.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-voice\"\n      ]\n    },\n    {\n      \"uid\": \"1210d39458f8997bcf2d8aaaeebe2e87\",\n      \"css\": \"opacity\",\n      \"code\": 984524,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M736.3 334L500 97.7 263.7 334Q216.8 380.9 191.4 442.4T166 568.4 191.4 695.3 264.6 805.7 374 877.9 500 902.3 626 877.9 735.4 805.7 808.6 695.3 834 568.4 808.6 442.4 736.3 334ZM250 584Q250 523.4 268.6 480.5T324.2 400.4L500 218.8 675.8 402.3Q714.8 439.5 730.5 478.5 750 523.4 750 584H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"opacity\"\n      ]\n    },\n    {\n      \"uid\": \"29f4d473beeb3a54ad2554fa54711061\",\n      \"css\": \"near-me\",\n      \"code\": 984525,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125L125 439.5V478.5L410.2 589.8 521.5 875H560.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"near-me\"\n      ]\n    },\n    {\n      \"uid\": \"91141403717c5595b17f255213f2a2c9\",\n      \"css\": \"clock-alert-outline\",\n      \"code\": 984526,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916Q638.7 916 750 834V720.7Q703.1 773.4 637.7 803.7T500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166Q603.5 166 687.5 223.6T808.6 375H898.4Q857.4 246.1 748 165T500 84ZM459 291V541L677.7 673.8 709 621.1 521.5 509.8V291H459ZM834 459V750H916V459H834ZM834 834V916H916V834H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c8798dfb4f5012ff70eaadb2405f55bb\",\n      \"css\": \"human-pregnant\",\n      \"code\": 984527,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 166Q375 132.8 399.4 108.4T458 84 516.6 108.4 541 167 516.6 225.6 458 250 399.4 225.6 375 166ZM666 541Q666 500 643.6 465.8T584 416Q584 365.2 546.9 328.1T458 291 370.1 328.1 334 416V709H416V916H541V709H666V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-pregnant\"\n      ]\n    },\n    {\n      \"uid\": \"2a6e2d112a44fdcbfbc6a5690dee5dd6\",\n      \"css\": \"sticker-circle-outline\",\n      \"code\": 984528,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M505.9 769.5L761.7 511.7Q650.4 537.1 585.9 602.5T505.9 769.5ZM865.2 416H877Q888.7 416 899.4 423.8T914.1 443.4 916 466.8 904.3 488.3L488.3 904.3Q474.6 916 459 916L443.4 914.1Q431.6 910.2 423.8 899.4T416 877Q406.3 664.1 527.3 543 603.5 466.8 722.7 435.5 794.9 416 865.2 416ZM500 84Q638.7 84 749 167T898.4 378.9L834 375H808.6Q771.5 281.3 687.5 223.6T500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 603.5 223.6 687.5T375 808.6Q373 855.5 378.9 898.4 250 859.4 167 749T84 500Q84 386.7 139.6 291T291 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9961ed9912a505e374f10cd00e24fbe1\",\n      \"css\": \"scale-balance\",\n      \"code\": 984529,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q460.9 125 428.7 147.5T382.8 209H125V291H207L84 584Q68.4 644.5 108.4 676.8T229.5 709 351.6 676.8 375 584L252 291H382.8Q404.3 345.7 459 367.2V834H84V916H916V834H541V367.2Q597.7 347.7 617.2 291H748L625 584Q611.3 644.5 650.4 676.8T770.5 709 892.6 676.8 916 584L793 291H875V209H617.2Q603.5 169.9 571.3 147.5T500 125ZM500 209Q517.6 209 529.3 220.7T541 250 529.3 279.3 500 291 470.7 279.3 459 250 470.7 220.7 500 209ZM228.5 427.7L291 584H166ZM771.5 427.7L834 584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scale-balance\"\n      ]\n    },\n    {\n      \"uid\": \"e647ef52bbfb876d1a5dd8497698c335\",\n      \"css\": \"card-account-details\",\n      \"code\": 984530,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H916Q949.2 125 974.6 150.4T1000 209V791Q1000 824.2 974.6 849.6T916 875H84Q50.8 875 25.4 849.6T0 791V209Q0 175.8 25.4 150.4T84 125ZM584 250V291H916V250H584ZM584 334V375H916V334H584ZM584 416V459H875V416H584ZM334 580.1Q287.1 580.1 232.4 593.8 168 611.3 128.9 638.7 84 669.9 84 709V750H584V709Q584 669.9 537.1 638.7 498 611.3 435.5 593.8 378.9 580.1 334 580.1ZM334 250Q281.3 250 245.1 286.1T209 375 245.1 463.9 333 500 421.9 463.9 459 375 421.9 286.1 334 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-details\"\n      ]\n    },\n    {\n      \"uid\": \"8cc42295496ffb7ab43ce3cd4e622ee3\",\n      \"css\": \"account-multiple-minus\",\n      \"code\": 984531,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709V791H291V709L293 691.4Q296.9 669.9 308.6 650.4 322.3 621.1 345.7 599.6 375 574.2 419.9 558.6 470.7 541 541 541 652.3 541 716.8 584 763.7 615.2 783.2 666 791 689.5 791 709V709ZM666 334Q666 281.3 629.9 245.1T542 209 453.1 245.1 416 333 453.1 421.9 542 459 629.9 421.9 666 334ZM800.8 544.9Q834 576.2 853.5 619.1T875 709V791H1000V709L996.1 685.5Q990.2 658.2 974.6 634.8 953.1 599.6 916 578.1 869.1 550.8 800.8 544.9ZM750 209Q730.5 209 712.9 214.8 750 267.6 750 333T712.9 453.1Q730.5 459 750 459 802.7 459 838.9 421.9T875 333 838.9 245.1 750 209ZM334 416H0V500H334V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-minus\"\n      ]\n    },\n    {\n      \"uid\": \"e7e88c8086907188d197da433e1f8e72\",\n      \"css\": \"airplane-landing\",\n      \"code\": 984532,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M103.5 791H896.5V875H103.5V791ZM404.3 552.7L584 601.6 806.6 660.2Q830.1 666 852.5 653.3T881.8 616.2 876 569.3 837.9 539.1L617.2 480.5 502 103.5 421.9 84V427.7L214.8 373 175.8 275.4 115.2 259.8V474.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airplane-landing\"\n      ]\n    },\n    {\n      \"uid\": \"0658456a98a9fa778f99429db3d5e4bd\",\n      \"css\": \"airplane-takeoff\",\n      \"code\": 984533,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M103.5 791H896.5V875H103.5V791ZM919.9 402.3Q912.1 377 889.6 364.3T843.8 357.4L621.1 416 334 148.4 253.9 169.9 425.8 468.8 218.8 523.4 136.7 460.9 76.2 476.6 185.5 664.1 875 478.5Q900.4 470.7 913.1 448.2T919.9 402.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airplane-takeoff\"\n      ]\n    },\n    {\n      \"uid\": \"867b4a8dd197e12c4d2e6cb60dce95f9\",\n      \"css\": \"alert-circle-outline\",\n      \"code\": 984534,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 625H541V709H459V625ZM459 291H541V541H459V291ZM500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"37fb85d50af1276f5e7b096143846ab5\",\n      \"css\": \"altimeter\",\n      \"code\": 984535,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125V209H709V125H291ZM375 291V375H625V291H375ZM84 332V668L252 500ZM918 332L750 500 918 668V332ZM291 459V541H709V459H291ZM375 625V709H625V625H375ZM291 791V875H709V791H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"altimeter\"\n      ]\n    },\n    {\n      \"uid\": \"082e696cfb7b58e1b9cc46dca76a8f47\",\n      \"css\": \"animation\",\n      \"code\": 984536,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V584H166V166H584V84H166ZM334 250Q298.8 250 274.4 274.4T250 334V750H334V334H750V250H334ZM500 416Q464.8 416 440.4 440.4T416 500V834Q416 867.2 440.4 891.6T500 916H834Q867.2 916 891.6 891.6T916 834V500Q916 464.8 891.6 440.4T834 416H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"animation\"\n      ]\n    },\n    {\n      \"uid\": \"b77999b66f06dba3926b8331de70e367\",\n      \"css\": \"book-minus\",\n      \"code\": 984537,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916ZM750 750V666H500V750H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-minus\"\n      ]\n    },\n    {\n      \"uid\": \"573468782df398465d94a2daf88a205e\",\n      \"css\": \"book-open-page-variant\",\n      \"code\": 984538,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 84L584 271.5V728.5L791 541V84ZM271.5 209Q125 209 41 271.5V880.9Q41 888.7 47.9 895.5T62.5 902.3L72.3 900.4Q115.2 878.9 169.9 866.2T271.5 853.5Q418 853.5 500 916 541 890.6 608.4 872.1T728.5 853.5Q843.8 853.5 927.7 898.4 929.7 900.4 935.5 900.4H937.5Q945.3 900.4 952.1 893.6T959 878.9V271.5Q925.8 246.1 875 228.5V791Q808.6 771.5 728.5 771.5 675.8 771.5 608.4 789.1T500 834V271.5Q418 209 271.5 209V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-open-page-variant\"\n      ]\n    },\n    {\n      \"uid\": \"1a8e805c4b2e4fb6a11cee8a70f70f2b\",\n      \"css\": \"book-plus\",\n      \"code\": 984539,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916ZM584 834H666V750H750V666H666V584H584V666H500V750H584V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-plus\"\n      ]\n    },\n    {\n      \"uid\": \"99ffbe30756ca7f39c9ccec75682ae1d\",\n      \"css\": \"boombox\",\n      \"code\": 984540,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 209L209 291V334H125Q107.4 334 95.7 345.7T84 375V709Q84 726.6 95.7 738.3T125 750H875Q892.6 750 904.3 738.3T916 709V375Q916 357.4 904.3 345.7T875 334H791V291L709 209H291ZM291 291H709V334H291V291ZM459 375H541Q550.8 375 556.6 380.9T562.5 395.5 556.6 410.2 541 416H459Q449.2 416 443.4 410.2T437.5 395.5 443.4 380.9 459 375ZM312.5 437.5Q365.2 437.5 401.4 473.6T437.5 562.5 401.4 651.4 312.5 687.5 223.6 651.4 187.5 562.5 223.6 473.6 312.5 437.5ZM687.5 437.5Q740.2 437.5 776.4 473.6T812.5 562.5 776.4 651.4 687.5 687.5 598.6 651.4 562.5 562.5 598.6 473.6 687.5 437.5ZM312.5 500Q287.1 500 268.6 518.6T250 562.5 268.6 606.4 312.5 625 356.4 606.4 375 562.5 356.4 518.6 312.5 500ZM687.5 500Q662.1 500 643.6 518.6T625 562.5 643.6 606.4 687.5 625 731.4 606.4 750 562.5 731.4 518.6 687.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boombox\"\n      ]\n    },\n    {\n      \"uid\": \"0a9b104e29bda6bef15aa1f81cd8ccc5\",\n      \"css\": \"bullseye\",\n      \"code\": 984541,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM500 250Q431.6 250 374 283.2T283.2 374 250 500 283.2 626 374 716.8 500 750 626 716.8 716.8 626 750 500 716.8 374 626 283.2 500 250ZM500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bullseye\"\n      ]\n    },\n    {\n      \"uid\": \"44bbf3f0b8c0d6dcf2601d01215208a7\",\n      \"css\": \"comment-remove\",\n      \"code\": 984542,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM392.6 250L334 308.6 441.4 416 334 525.4 392.6 584 500 474.6 607.4 584 666 525.4 558.6 416 666 308.6 607.4 250 500 357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-remove\"\n      ]\n    },\n    {\n      \"uid\": \"d6e0d1e06d3a92d1621450efced96d1e\",\n      \"css\": \"camera-off\",\n      \"code\": 984543,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M50.8 185.5L103.5 132.8 834 863.3 781.3 916 697.3 834H166Q132.8 834 108.4 809.6T84 750V250Q84 238.3 87.9 224.6ZM291 166L375 84H625L709 166H834Q867.2 166 891.6 190.4T916 250V750Q916 787.1 888.7 812.5L679.7 603.5Q709 556.6 709 500T680.7 395.5 604.5 319.3 500 291 396.5 320.3L242.2 166H291ZM291 500Q291 556.6 319.3 604.5T395.5 680.7 500 709Q533.2 709 562.5 699.2L488.3 625Q443.4 621.1 411.1 588.9T375 511.7L300.8 437.5Q291 466.8 291 500ZM500 375Q552.7 375 588.9 411.1T625 500Q625 521.5 617.2 541L459 382.8Q478.5 375 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-off\"\n      ]\n    },\n    {\n      \"uid\": \"537562989ceb1b1c1bd9a244a737052a\",\n      \"css\": \"check-circle\",\n      \"code\": 984544,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM416 709L209 500 267.6 441.4 416 589.8 732.4 273.4 791 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-circle\"\n      ]\n    },\n    {\n      \"uid\": \"513ea1b07891a159813e615d3dfdde29\",\n      \"css\": \"candle\",\n      \"code\": 984546,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 84Q488.3 84 457 121.1 431.6 156.3 414.1 206.1T396.5 291Q396.5 343.8 432.6 379.9T520.5 416 609.4 379.9 646.5 291Q646.5 255.9 628.9 206.1T584 121.1Q552.7 84 521.5 84ZM521.5 271.5Q539.1 271.5 550.8 283.2T562.5 312.5 550.8 341.8 521.5 353.5 491.2 341.8 478.5 312.5 491.2 283.2 521.5 271.5ZM416 459Q398.4 459 386.7 470.7T375 500V834H291Q273.4 834 261.7 821.3T250 791V750Q250 732.4 238.3 720.7T209 709 178.7 720.7 166 750V791Q166 843.8 203.1 879.9T291 916H791Q808.6 916 821.3 904.3T834 875 821.3 845.7 791 834H666V500Q666 482.4 654.3 470.7T625 459H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"candle\"\n      ]\n    },\n    {\n      \"uid\": \"93c7e7709ac3b4d749653b050fd34312\",\n      \"css\": \"chart-bubble\",\n      \"code\": 984547,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M300.8 466.8Q355.5 466.8 394.5 505.9T433.6 600.6 394.5 694.3 299.8 732.4 205.1 694.3 166 600.6 205.1 505.9 300.8 466.8ZM617.2 666Q650.4 666 674.8 690.4T699.2 750 674.8 809.6 616.2 834 557.6 809.6 533.2 750 557.6 690.4 617.2 666ZM632.8 166Q716.8 166 775.4 224.6T834 366.2 775.4 507.8 633.8 566.4 492.2 507.8 433.6 366.2 492.2 224.6 632.8 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-bubble\"\n      ]\n    },\n    {\n      \"uid\": \"d57cef8eaf09a294e82d20179d9aa208\",\n      \"css\": \"credit-card-off-outline\",\n      \"code\": 984548,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M39.1 175.8L91.8 123 834 863.3 781.3 916 697.3 834H166Q132.8 834 108.4 809.6T84 750V250Q84 236.3 87.9 224.6ZM834 334V250H326.2L242.2 166H834Q867.2 166 891.6 190.4T916 250V750Q916 787.1 888.7 812.5L826.2 750H834V500H576.2L408.2 334H834ZM166 334H197.3L166 302.7V334ZM166 500V750H613.3L363.3 500H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"054b5af38403de8f649989e22af82884\",\n      \"css\": \"cup-off\",\n      \"code\": 984549,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 875 904.3 822.3 959 761.7 898.4Q738.3 916 709 916H291Q259.8 916 236.3 895.5T209 843.8L146.5 283.2ZM763.7 334L781.3 166H242.2L158.2 84H875L804.7 728.5 408.2 334H763.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cup-off\"\n      ]\n    },\n    {\n      \"uid\": \"48a15ec8b7890bd4f657f3ff8986423a\",\n      \"css\": \"copyright\",\n      \"code\": 984550,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M419.9 453.1Q423.8 433.6 431.6 418T455.1 391.6 494.1 380.9Q509.8 380.9 520.5 385.7T541 400.4 556.6 422.9 562.5 449.2H636.7Q636.7 419.9 626 395.5T595.7 353.5 551.8 326.2 494.1 316.4Q453.1 316.4 423.8 331.1T373 370.1 342.8 427.7 334 494.1V505.9Q334 541 342.8 573.2T373 629.9 423.8 668 494.1 681.6Q521.5 681.6 547.9 672.9T592.8 647.5 624 606.4 636.7 560.5H562.5Q562.5 570.3 556.6 582T541 602.5 520.5 615.2 494.1 619.1Q470.7 619.1 455.1 609.4T431.6 584 419.9 546.9 416 505.9V494.1Q416 474.6 419.9 453.1ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"copyright\"\n      ]\n    },\n    {\n      \"uid\": \"7c35474810b5cae31aba7e548cba874c\",\n      \"css\": \"cursor-text\",\n      \"code\": 984551,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 808.6 553.7 821.3T584 834H666V916H562.5Q543 916 521.5 903.3T500 875Q500 890.6 478.5 903.3T437.5 916H334V834H416Q433.6 834 446.3 821.3T459 791V209Q459 191.4 446.3 178.7T416 166H334V84H437.5Q457 84 478.5 96.7T500 125Q500 109.4 521.5 96.7T562.5 84H666V166H584Q566.4 166 553.7 178.7T541 209V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-text\"\n      ]\n    },\n    {\n      \"uid\": \"7ba7065d06955fb60dcf61c7a4313bd5\",\n      \"css\": \"delete-forever\",\n      \"code\": 984552,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 791Q250 826.2 274.4 850.6T334 875H666Q701.2 875 725.6 850.6T750 791V291H250V791ZM351.6 494.1L412.1 435.5 500 525.4 587.9 435.5 646.5 494.1 558.6 584 646.5 671.9 587.9 730.5 500 642.6 412.1 730.5 353.5 671.9 441.4 584ZM646.5 166L603.5 125H396.5L353.5 166H209V250H791V166H646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-forever\"\n      ]\n    },\n    {\n      \"uid\": \"019b723db95c2df7ed8e597b424c5c86\",\n      \"css\": \"delete-sweep\",\n      \"code\": 984553,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 666H791V750H625V666ZM625 334H916V416H625V334ZM625 500H875V584H625V500ZM125 750Q125 785.2 149.4 809.6T209 834H459Q492.2 834 516.6 809.6T541 750V334H125V750ZM584 209H459L416 166H250L209 209H84V291H584V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-sweep\"\n      ]\n    },\n    {\n      \"uid\": \"3a1e441a4f652a376a227de5cb9bfac9\",\n      \"css\": \"dice-d20-outline\",\n      \"code\": 984554,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9ZM623 343.8Q666 343.8 697.3 376T728.5 451.2V562.5Q728.5 605.5 697.3 636.7T622.1 668 546.9 636.7 515.6 562.5V451.2Q515.6 408.2 546.9 376T623 343.8ZM621.1 404.3Q603.5 404.3 590.8 417T578.1 449.2V564.5Q578.1 582 590.8 594.7T622.1 607.4 653.3 594.7 666 564.5V449.2Q666 429.7 653.3 417T621.1 404.3ZM476.6 615.2V664.1H263.7V621.1L300.8 584Q341.8 539.1 369.1 505.9 406.3 459 406.3 439.5 406.3 408.2 384.8 398.4 375 392.6 363.3 394.5L353.5 396.5Q339.8 400.4 332 410.2 320.3 423.8 318.4 445.3L255.9 449.2 257.8 431.6Q261.7 412.1 269.5 396.5 283.2 373 304.7 361.3 330.1 343.8 367.2 343.8 431.6 343.8 455.1 382.8 468.8 404.3 468.8 436.5T435.5 515.6Q410.2 546.9 373 584L339.8 615.2H476.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d20-outline\"\n      ]\n    },\n    {\n      \"uid\": \"635fe7affdcda501b6b9a8351e38fe68\",\n      \"css\": \"dice-d4-outline\",\n      \"code\": 984555,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M560.5 630.9H595.7V681.6H560.5V750H496.1V681.6H367.2L365.2 642.6 496.1 433.6H560.5V630.9ZM427.7 630.9H496.1V519.5ZM916 875H84Q58.6 875 46.9 853.5T48.8 812.5L464.8 125Q474.6 105.5 500 105.5T535.2 125L953.1 812.5Q964.8 832 953.1 853.5T916 875ZM158.2 791H843.8L500 226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d4-outline\"\n      ]\n    },\n    {\n      \"uid\": \"de609002e1902b286937a7c15cc4a56a\",\n      \"css\": \"dice-d8-outline\",\n      \"code\": 984556,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 166L834 500 500 834 166 500ZM500 343.8Q541 343.8 570.3 370.1T599.6 431.6Q599.6 476.6 560.5 502 582 515.6 594.7 535.2T607.4 580.1Q607.4 617.2 576.2 643.6T500 669.9 423.8 643.6 392.6 580.1Q392.6 554.7 405.3 535.2T439.5 502Q400.4 476.6 400.4 431.6 400.4 396.5 429.7 370.1T500 343.8ZM500 527.3Q480.5 527.3 467.8 541T455.1 573.2 467.8 605.5 500 619.1 532.2 605.5 544.9 573.2 532.2 541 500 527.3ZM500 396.5Q484.4 396.5 473.6 408.2T462.9 437.5 473.6 466.8 500 478.5 526.4 466.8 537.1 437.5 526.4 408.2 500 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d8-outline\"\n      ]\n    },\n    {\n      \"uid\": \"07ef38886a096655fecf3a2efe6260a8\",\n      \"css\": \"dice-d6-outline\",\n      \"code\": 984557,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209ZM558.6 396.5Q521.5 396.5 498 410.2 478.5 419.9 466.8 437.5 457 451.2 455.1 466.8L453.1 480.5 460.9 472.7Q470.7 464.8 482.4 460.9 502 453.1 521.5 453.1 550.8 453.1 574.2 474.6 605.5 503.9 606.4 558.6T570.3 644.5Q550.8 662.1 531.3 666L509.8 669.9Q482.4 669.9 459 662.1 427.7 652.3 410.2 623 386.7 587.9 386.7 527.3 388.7 439.5 431.6 392.6 462.9 359.4 513.7 349.6 539.1 345.7 558.6 347.7V396.5ZM498 503.9Q484.4 502 473.6 508.8T457 523.4L451.2 533.2V562.5Q451.2 585.9 465.8 601.6T500 617.2 531.3 601.6 543 562.5 530.3 521.5 498 503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d6-outline\"\n      ]\n    },\n    {\n      \"uid\": \"941561591a768f16f8c5b7ef9a0ff36c\",\n      \"css\": \"disc\",\n      \"code\": 984558,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"disc\"\n      ]\n    },\n    {\n      \"uid\": \"8baf01140017ac36727ff1eaabb56ae0\",\n      \"css\": \"email-open-outline\",\n      \"code\": 984559,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M877 261.7L500 27.3 123 261.7Q105.5 273.4 94.7 292T84 334V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 310.5 905.3 292T877 261.7ZM834 750H166V416L500 625 834 416V750ZM500 541L166 334 500 125 834 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f24171c16f2f2494c1fd02cfe4f3dc58\",\n      \"css\": \"email-variant\",\n      \"code\": 984560,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 541L84 281.3V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V281.3ZM916 750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V378.9L166 431.6V750H834V431.6L916 378.9V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-variant\"\n      ]\n    },\n    {\n      \"uid\": \"07c4b0f366c1b455ae002e52414cf681\",\n      \"css\": \"ev-station\",\n      \"code\": 984561,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 300.8V300.8L669.9 146.5 625 189.5 712.9 277.3Q683.6 289.1 665 315.4T646.5 375Q646.5 418 676.8 448.2T750 478.5Q771.5 478.5 791 470.7V771.5Q791 789.1 779.3 800.8T750 812.5 720.7 800.8 709 771.5V584Q709 548.8 684.6 524.4T625 500H584V209Q584 173.8 559.6 149.4T500 125H250Q214.8 125 190.4 149.4T166 209V875H584V562.5H646.5V771.5Q646.5 814.5 676.8 844.7T750 875 823.2 844.7 853.5 771.5V375Q853.5 332 824.2 300.8ZM750 416Q732.4 416 720.7 404.3T709 375 720.7 345.7 750 334 779.3 345.7 791 375 779.3 404.3 750 416ZM334 750V562.5H250L416 250V459H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ev-station\"\n      ]\n    },\n    {\n      \"uid\": \"da67b6b4a31d73329dbf199cc97144fb\",\n      \"css\": \"food-fork-drink\",\n      \"code\": 984562,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125Q107.4 125 95.7 136.7T84 166V396.5Q84 447.3 112.3 489.3T187.5 550.8V812.5Q187.5 837.9 206.1 856.4T250 875 293.9 856.4 312.5 812.5V550.8Q359.4 531.3 387.7 489.3T416 396.5V166Q416 148.4 404.3 136.7T375 125 345.7 136.7 334 166V334Q334 341.8 327.1 347.7T312.5 353.5 297.9 347.7 291 334V166Q291 148.4 279.3 136.7T250 125 220.7 136.7 209 166V334Q209 341.8 202.1 347.7T187.5 353.5 172.9 347.7 166 334V166Q166 148.4 154.3 136.7T125 125ZM828.1 125Q824.2 125 814.5 130.9L666 218.8V375H500V459H541L584 875H834L875 459H916V375H750V263.7L853.5 201.2Q869.1 193.4 873 177.7T869.1 146.5Q853.5 121.1 828.1 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-fork-drink\"\n      ]\n    },\n    {\n      \"uid\": \"264e6ea3d0a6158014a65e69e89efba4\",\n      \"css\": \"food-off\",\n      \"code\": 984563,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 875 904.3 822.3 959 738.3 875H646.5L632.8 771.5 541 675.8Q537.1 691.4 525.4 700.2T500 709H125Q107.4 709 95.7 696.3T84 666 95.7 636.7 125 625H334L396.5 687.5 459 625H488.3L447.3 584H84Q84 531.3 120.1 495.1T209 459H322.3ZM584 334H675.8L628.9 144.5 701.2 125 753.9 334H916L863.3 789.1 605.5 529.3ZM541 750Q541 802.7 504.9 838.9T416 875H209Q156.3 875 120.1 838.9T84 750H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-off\"\n      ]\n    },\n    {\n      \"uid\": \"8998b43a4fe276b8fd8e88e76cde7f0a\",\n      \"css\": \"format-title\",\n      \"code\": 984564,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166V291H437.5V791H562.5V291H791V166H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-title\"\n      ]\n    },\n    {\n      \"uid\": \"0cb8835863ac223ae1750d784cef6892\",\n      \"css\": \"google-maps\",\n      \"code\": 984565,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M761.7 250Q793 316.4 788.1 391.6T748 533.2Q720.7 580.1 654.3 664.1 621.1 707 603.5 728.5 564.5 783.2 546.9 824.2 543 832 535.2 851.6L521.5 892.6Q517.6 904.3 513.7 910.2T500 916V916Q490.2 916 482.4 906.3 480.5 900.4 476.6 886.7V886.7Q457 828.1 439.5 798.8 419.9 761.7 378.9 705.1ZM380.9 351.6L242.2 513.7Q257.8 546.9 283.2 584 298.8 605.5 334 648.4L341.8 660.2Q357.4 677.7 367.2 691.4L541 486.3H539.1Q494.1 502 450.2 481.4T386.7 416Q382.8 406.3 380.9 392.6 377 369.1 380.9 351.6V351.6ZM273.4 193.4V193.4Q224.6 255.9 214.8 338.9T234.4 498L400.4 300.8ZM591.8 97.7L459 257.8 460.9 255.9Q502 242.2 543.9 257.8T607.4 312.5Q617.2 332 619.1 349.6 623 373 619.1 392.6V392.6L753.9 234.4Q726.6 185.5 685.5 151.4T593.8 99.6ZM412.1 287.1L574.2 93.8V93.8Q537.1 84 500 84 439.5 84 382.8 108.4T285.2 179.7V179.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-maps\"\n      ]\n    },\n    {\n      \"uid\": \"61d69197939e9237d846410aa06f0abc\",\n      \"css\": \"heart-pulse\",\n      \"code\": 984566,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 166Q250 166 197.3 197.3T114.3 281.3 84 396.5Q84 423.8 91.8 459H261.7L314.5 318.4Q322.3 300.8 337.9 294.9T369.1 294.9 392.6 318.4L478.5 541 503.9 482.4Q507.8 472.7 518.6 465.8T541 459H908.2Q916 423.8 916 396.5 916 334 885.7 281.3T802.7 197.3 687.5 166Q630.9 166 581.1 192.4T500 263.7Q468.8 218.8 418.9 192.4T312.5 166V166ZM125 521.5Q107.4 521.5 95.7 533.2T84 562.5 95.7 591.8 125 603.5H226.6L459 834Q482.4 853.5 491.2 858.4T508.8 858.4 541 834L773.4 603.5H875Q892.6 603.5 904.3 591.8T916 562.5 904.3 533.2 875 521.5H558.6L519.5 617.2Q511.7 636.7 495.1 643.6T462.9 642.6 439.5 617.2L353.5 396.5 314.5 492.2Q308.6 505.9 298.8 513.7T275.4 521.5H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-pulse\"\n      ]\n    },\n    {\n      \"uid\": \"c53abaacc5a78092d08169af8cf5ecc8\",\n      \"css\": \"highway\",\n      \"code\": 984567,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84L334 334H459V84H416ZM541 84V334H666L584 84H541ZM84 375V416H166V459H250V416H750L752 459H834V416H916V375H84ZM291 459L138.7 916H459V459H291ZM541 459V916H861.3L709 459H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"highway\"\n      ]\n    },\n    {\n      \"uid\": \"047c10e2e678133d59c08775d64eea8a\",\n      \"css\": \"home-map-marker\",\n      \"code\": 984568,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM500 320.3Q566.4 320.3 612.3 367.2T658.2 478.5Q658.2 556.6 580.1 662.1 539.1 712.9 500 750L474.6 724.6Q445.3 693.4 419.9 662.1 386.7 615.2 367.2 574.2 341.8 521.5 341.8 478.5 341.8 414.1 387.7 367.2T500 320.3ZM500 416Q474.6 416 456.1 434.6T437.5 479.5 456.1 523.4 500 541 543.9 523.4 562.5 479.5 543.9 434.6 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-map-marker\"\n      ]\n    },\n    {\n      \"uid\": \"41113352158049a4a7561795859812d2\",\n      \"css\": \"incognito\",\n      \"code\": 984569,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M710.9 541Q652.3 541 608.4 578.1T550.8 669.9Q500 648.4 449.2 669.9 435.5 615.2 390.6 578.1T289.1 541Q220.7 541 172.9 589.8T125 708 172.9 826.2 287.1 875 400.4 831.1 451.2 720.7Q468.8 709 488.3 707 519.5 703.1 548.8 722.7 554.7 787.1 600.6 831.1T712.9 875 827.1 826.2 875 708 827.1 589.8 710.9 541ZM289.1 828.1Q240.2 828.1 206.1 793T171.9 708 206.1 624 289.1 589.8 372.1 624 406.3 708 372.1 793 289.1 828.1ZM710.9 828.1Q662.1 828.1 627.9 793T593.8 708 627.9 624 710.9 589.8 793.9 624 828.1 708 793.9 793 710.9 828.1ZM916 437.5H84V500H916V437.5ZM646.5 109.4Q640.6 93.8 625 86.9T591.8 85.9L500 117.2 404.3 85.9Q388.7 80.1 373 87.9T351.6 111.3L250 375H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"incognito\"\n      ]\n    },\n    {\n      \"uid\": \"eb39b089d0dc772ae9ac8dc572ec6929\",\n      \"css\": \"kettle\",\n      \"code\": 984570,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 125Q423.8 125 342.8 158.2T213.9 249 166 375V375Q166 451.2 226.6 513.7 166 591.8 166 687.5V834Q166 867.2 190.4 891.6T250 916H791Q826.2 916 850.6 891.6T875 834V687.5Q875 609.4 834 541L916 459 791 334 705.1 419.9Q621.1 375 521.5 375 408.2 375 314.5 433.6 291 406.3 291 375 291 318.4 358.4 279.3T521.5 240.2V240.2Q613.3 240.2 679.7 277.3L763.7 193.4Q714.8 160.2 652.3 142.6T521.5 125ZM521.5 459Q537.1 459 562.5 462.9 464.8 476.6 399.4 552.7T334 728.5V834H250V728.5Q250 656.3 286.1 593.8T384.8 495.1 521.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle\"\n      ]\n    },\n    {\n      \"uid\": \"d214b00415bb4b577c745fece2303981\",\n      \"css\": \"lock-plus\",\n      \"code\": 984571,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334H709V250Q709 193.4 680.7 145.5T604.5 69.3 500 41 395.5 69.3 319.3 145.5 291 250V334H250Q214.8 334 190.4 358.4T166 416V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V416Q834 382.8 809.6 358.4T750 334ZM371.1 250Q371.1 197.3 409.2 159.2T500 121.1 590.8 159.2 628.9 250V334H371.1V250ZM666 666H541V791H459V666H334V584H459V459H541V584H666V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-plus\"\n      ]\n    },\n    {\n      \"uid\": \"90e8ca4d57b7f017c8a63b1dc2917046\",\n      \"css\": \"music-note-bluetooth\",\n      \"code\": 984574,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 410.2L796.9 291H777.3V449.2L681.6 353.5 652.3 382.8 767.6 500 652.3 617.2 681.6 646.5 777.3 550.8V709H796.9L916 589.8 826.2 500ZM818.4 371.1L857.4 410.2 818.4 449.2V371.1ZM857.4 589.8L818.4 628.9V550.8ZM402.3 125V564.5Q361.3 541 318.4 541 250 541 201.2 589.8T152.3 708 201.2 826.2 318.4 875 435.5 826.2 484.4 709V291H652.3V125H402.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"ddfd68f2f539e5b005be8f67fa690ec6\",\n      \"css\": \"music-note-bluetooth-off\",\n      \"code\": 984575,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 410.2L796.9 291H777.3V449.2L681.6 353.5 652.3 382.8 767.6 500 652.3 617.2 681.6 646.5 777.3 550.8V709H796.9L916 589.8 826.2 500ZM818.4 371.1L857.4 410.2 818.4 449.2V371.1ZM857.4 589.8L818.4 628.9V550.8ZM82 125L29.3 177.7 404.3 552.7V564.5Q363.3 541 320.3 541 252 541 203.1 589.8T154.3 708 203.1 826.2 320.3 875 437.5 826.2 486.3 709V636.7L726.6 875 779.3 822.3ZM486.3 291H654.3V125H404.3V341.8L486.3 423.8V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-bluetooth-off\"\n      ]\n    },\n    {\n      \"uid\": \"b8d7509e57576c85e21cedd5bd050c65\",\n      \"css\": \"page-first\",\n      \"code\": 984576,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M767.6 691.4L576.2 500 767.6 308.6 709 250 459 500 709 750ZM250 250H334V750H250V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-first\"\n      ]\n    },\n    {\n      \"uid\": \"24a3eda9735dfde7bfad68a9c3cec530\",\n      \"css\": \"page-last\",\n      \"code\": 984577,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M232.4 308.6L423.8 500 232.4 691.4 291 750 541 500 291 250ZM666 250H750V750H666V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-last\"\n      ]\n    },\n    {\n      \"uid\": \"fa7f0a392445b260a50f0fa516c70d36\",\n      \"css\": \"phone-classic\",\n      \"code\": 984578,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q361.3 125 232.4 177.7 109.4 226.6 11.7 320.3 0 332 0 349.6T11.7 378.9L115.2 482.4Q127 494.1 144.5 494.1T173.8 482.4Q222.7 437.5 285.2 406.3 308.6 394.5 308.6 367.2V238.3Q400.4 209 500 209T691.4 238.3V367.2Q691.4 378.9 698.2 389.6T714.8 404.3Q771.5 433.6 826.2 482.4 837.9 494.1 855.5 494.1T884.8 482.4L988.3 378.9Q1000 367.2 1000 349.6T988.3 320.3Q890.6 226.6 767.6 177.7 638.7 125 500 125ZM375 291V416L335.9 451.2Q289.1 494.1 250 537.1 195.3 595.7 164.1 644.5 125 707 125 750V916H875V750Q875 707 835.9 644.5 804.7 595.7 750 537.1 710.9 494.1 664.1 451.2L625 416V291H541V375H459V291H375ZM500 500Q568.4 500 617.2 548.8T666 667 617.2 785.2 500 834 382.8 785.2 334 667 382.8 548.8 500 500ZM500 562.5Q457 562.5 426.8 592.8T396.5 666 426.8 740.2 500 771.5 573.2 740.2 603.5 666 573.2 592.8 500 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-classic\"\n      ]\n    },\n    {\n      \"uid\": \"15d1aa36534063e4ef5e49ea13a277df\",\n      \"css\": \"priority-high\",\n      \"code\": 984579,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 791H916V709H584V791ZM584 562.5H916V478.5H584V562.5ZM584 334H916V250H584V334ZM84 521.5Q84 447.3 120.1 384.8T218.8 286.1 353.5 250H375V166L500 291 375 416V334H353.5Q275.4 334 220.7 388.7T166 521.5 220.7 654.3 353.5 709H500V791H353.5Q281.3 791 218.8 754.9T120.1 656.3 84 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"priority-high\"\n      ]\n    },\n    {\n      \"uid\": \"c41829a09833d048235dff944fd91569\",\n      \"css\": \"priority-low\",\n      \"code\": 984580,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 209H916V291H584V209ZM584 437.5H916V521.5H584V437.5ZM584 666H916V750H584V666ZM84 478.5Q84 552.7 120.1 615.2T218.8 713.9 353.5 750H375V834L500 709 375 584V666H353.5Q275.4 666 220.7 611.3T166 478.5 220.7 345.7 353.5 291H500V209H353.5Q281.3 209 218.8 245.1T120.1 343.8 84 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"priority-low\"\n      ]\n    },\n    {\n      \"uid\": \"c3963910f6ef230fcd94eb6f7780ff31\",\n      \"css\": \"qqchat\",\n      \"code\": 984581,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M132.8 564.5Q150.4 521.5 173.8 492.2T214.8 455.1Q214.8 410.2 232.4 384.8V382.8Q230.5 367.2 238.3 351.6 244.1 236.3 312.5 162.1 384.8 84 500 84T687.5 162.1Q755.9 236.3 761.7 351.6 769.5 367.2 767.6 382.8V384.8Q785.2 410.2 785.2 455.1 804.7 462.9 827.1 492.2T867.2 564.5Q890.6 619.1 894.5 665T878.9 720.7Q865.2 726.6 846.7 712.9T808.6 671.9Q794.9 732.4 738.3 779.3 767.6 791 784.2 806.6T800.8 841.8Q800.8 873 757.8 894.5T654.3 916Q599.6 916 558.6 898.4T507.8 853.5H492.2Q482.4 880.9 441.4 898.4T345.7 916Q285.2 916 242.2 894.5T199.2 841.8Q199.2 822.3 215.8 806.6T261.7 779.3Q205.1 732.4 191.4 671.9 171.9 699.2 153.3 712.9T121.1 720.7Q101.6 710.9 105.5 665T132.8 564.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qqchat\"\n      ]\n    },\n    {\n      \"uid\": \"0ea480cfc608ccb8a0ed3bd70901b33f\",\n      \"css\": \"pool\",\n      \"code\": 984582,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 625L85.9 623Q154.3 593.8 189.5 580.1 246.1 558.6 291 548.8V209Q291 156.3 328.1 120.1T416 84Q457 84 489.3 106.4T535.2 166H416Q398.4 166 386.7 178.7T375 209V250H584V209Q584 156.3 620.1 120.1T709 84Q748 84 780.3 106.4T826.2 166H709Q691.4 166 678.7 178.7T666 209V623Q703.1 617.2 779.3 582 824.2 562.5 847.7 554.7 886.7 541 916 541V625Q886.7 625 847.7 638.7 824.2 646.5 778.3 667T709 695.3Q669.9 709 638.7 709T570.3 695.3Q546.9 687.5 500 667T429.7 638.7Q392.6 625 361.3 625 298.8 625 222.7 650.4 175.8 666 84 709V625ZM584 334H375V416H584V334ZM584 500H375V541Q402.3 544.9 437.5 556.6 457 564.5 500 582 554.7 607.4 584 617.2V500ZM84 791Q175.8 750 222.7 734.4 298.8 709 361.3 709 392.6 709 429.7 720.7 453.1 728.5 500 750T570.3 779.3Q607.4 791 638.7 791T709 779.3Q732.4 771.5 778.3 750T847.7 720.7Q886.7 709 916 709V791Q886.7 791 847.7 804.7 824.2 812.5 778.3 833T709 861.3Q669.9 875 638.7 875T570.3 861.3Q546.9 853.5 500 833T429.7 804.7Q392.6 791 361.3 791 298.8 791 222.7 818.4 175.8 834 84 875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pool\"\n      ]\n    },\n    {\n      \"uid\": \"2fe8a6575b194b0759b26ac5a6d49105\",\n      \"css\": \"rounded-corner\",\n      \"code\": 984583,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H875V875H791V791ZM791 709H875V625H791V709ZM125 541H209V459H125V541ZM125 709H209V625H125V709ZM125 375H209V291H125V375ZM125 209H209V125H125V209ZM291 209H375V125H291V209ZM625 875H709V791H625V875ZM459 875H541V791H459V875ZM625 875H709V791H625V875ZM291 875H375V791H291V875ZM125 875H209V791H125V875ZM875 334Q875 277.3 846.7 229.5T770.5 153.3 666 125H459V209H666Q718.8 209 754.9 245.1T791 334V541H875V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rounded-corner\"\n      ]\n    },\n    {\n      \"uid\": \"34b8d655657a3152561a4dd0bb7edf03\",\n      \"css\": \"rowing\",\n      \"code\": 984584,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 603.5L166 791 228.5 853.5 375 709H459ZM625 41Q589.8 41 565.4 65.4T541 125 565.4 184.6 625 209 684.6 184.6 709 125 684.6 65.4 625 41ZM875 875L750 1000 625 875V812.5L330.1 517.6Q306.6 521.5 291 521.5V429.7Q343.8 431.6 398.4 407.2T486.3 345.7L544.9 281.3Q554.7 267.6 574.2 258.8T613.3 250H615.2Q654.3 250 681.6 277.3T709 343.8V584Q709 636.7 669.9 673.8L521.5 525.4V429.7Q478.5 464.8 425.8 488.3L687.5 750H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rowing\"\n      ]\n    },\n    {\n      \"uid\": \"57ce62a6ee8582916d7f46c38e7d11ab\",\n      \"css\": \"saxophone\",\n      \"code\": 984585,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q148.4 84 136.7 95.7T125 125 136.7 154.3 166 166Q218.8 166 254.9 203.1T291 291V646.5Q291 718.8 328.1 781.3T426.8 879.9 562.5 916 698.2 879.9 796.9 781.3 834 646.5V541Q851.6 541 863.3 529.3T875 500 863.3 470.7 834 459H584Q566.4 459 553.7 470.7T541 500 553.7 529.3 584 541V625Q584 642.6 571.3 654.3T541 666 511.7 654.3 500 625V459Q517.6 459 529.3 446.3T541 416 529.3 386.7 500 375V334Q517.6 334 529.3 321.3T541 291 529.3 261.7 500 250V228.5Q500 168 457 126T353.5 84H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"saxophone\"\n      ]\n    },\n    {\n      \"uid\": \"aae6f7db7d831273a663766c04f8ef34\",\n      \"css\": \"signal-variant\",\n      \"code\": 984586,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V166H169.9Q351.6 166 505.9 257.8 656.3 343.8 742.2 494.1 834 648.4 834 830.1V834H750V830.1Q750 671.9 671.9 539.1T462.9 328.1Q326.2 250 166 250ZM166 416V334Q302.7 334 417 401.4T598.6 583 666 834H584Q584 750 551.8 673.8T460.9 539.1 326.2 448.2 166 416ZM166 584V500Q257.8 500 334 544.9T455.1 666 500 834H416Q416 765.6 382.8 708T292 617.2 166 584ZM166 666Q236.3 666 285.2 714.8T334 834H166V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-variant\"\n      ]\n    },\n    {\n      \"uid\": \"d34e6a305cfefdb972c46e8cfd9d32ba\",\n      \"css\": \"stack-exchange\",\n      \"code\": 984587,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M162.1 447.3H834V584H162.1V447.3ZM162.1 267.6H834V406.3H162.1V267.6ZM728.5 84H271.5Q226.6 84 194.3 116.2T162.1 193.4V228.5H834V193.4Q834 148.4 802.7 116.2T728.5 84ZM162.1 625V660.2Q162.1 705.1 194.3 738.3T271.5 771.5H556.6V916L699.2 771.5H728.5Q773.4 771.5 805.7 738.3T837.9 660.2V625H162.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stack-exchange\"\n      ]\n    },\n    {\n      \"uid\": \"c62ed4f4b43523840dcb163b84a129b5\",\n      \"css\": \"subdirectory-arrow-left\",\n      \"code\": 984588,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375L517.6 433.6 367.2 584H750V166H834V666H367.2L517.6 816.4 459 875 209 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subdirectory-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"e11ba9703fb9a33e2d507e20df4a2009\",\n      \"css\": \"subdirectory-arrow-right\",\n      \"code\": 984589,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625L541 875 482.4 816.4 632.8 666H166V166H250V584H632.8L482.4 433.6 541 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subdirectory-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"371b68389a8b19b91d8d41cb9f81a7ce\",\n      \"css\": \"form-textbox\",\n      \"code\": 984590,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291H916V709H709V791Q709 808.6 720.7 821.3T750 834H834V916H728.5Q710.9 916 688.5 903.3T666 875Q666 890.6 644.5 903.3T603.5 916H500V834H584Q601.6 834 613.3 821.3T625 791V209Q625 191.4 613.3 178.7T584 166H500V84H603.5Q623 84 644.5 96.7T666 125Q666 109.4 688.5 96.7T728.5 84H834V166H750Q732.4 166 720.7 178.7T709 209V291ZM84 291H541V375H166V625H541V709H84V291ZM834 625V375H709V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"form-textbox\"\n      ]\n    },\n    {\n      \"uid\": \"89e6f88ae4f09dac0fbd00a8f9ca2340\",\n      \"css\": \"violin\",\n      \"code\": 984591,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84Q441.4 84 428.7 95.7T416 125V375Q416 382.8 422.9 389.6T437.5 396.5H500Q507.8 396.5 514.6 402.3T521.5 417 514.6 431.6 500 437.5H437.5Q414.1 437.5 394.5 418T375 375V214.8Q320.3 228.5 285.2 272.5T250 375V437.5Q293 437.5 323.2 467.8T353.5 541 323.2 615.2 250 646.5V709Q250 765.6 278.3 813.5T354.5 888.7 459 916H541Q597.7 916 645.5 888.7T721.7 813.5 750 709V646.5Q707 646.5 676.8 615.2T646.5 541 676.8 467.8 750 437.5V375Q750 304.7 701.2 256.8T584 209V125Q584 107.4 571.3 95.7T541 84H459ZM447.3 687.5H552.7L531.3 834H468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"violin\"\n      ]\n    },\n    {\n      \"uid\": \"47ea9ce1ba22e29bd1c41f162d5b94c5\",\n      \"css\": \"microsoft-visual-studio\",\n      \"code\": 984592,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 353.5L509.8 513.7 709 666V353.5ZM195.3 767.6L84 695.3V320.3L209 279.3 386.7 418 750 84 916 187.5V834L709 916 388.7 611.3ZM209 584L285.2 511.7 209 437.5V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-visual-studio\"\n      ]\n    },\n    {\n      \"uid\": \"79a76e26f6606f943789cd033a04e080\",\n      \"css\": \"wechat\",\n      \"code\": 984593,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 166Q310.5 166 239.3 200.2T126 292 84 416Q84 474.6 114.3 525.4T199.2 611.3L166 709 271.5 646.5Q330.1 666 392.6 666 375 625 375 584 375 515.6 414.1 458T520.5 367.2 666 334H689.5Q658.2 259.8 577.1 212.9T396.5 166ZM271.5 271.5Q289.1 271.5 300.8 283.2T312.5 312.5 300.8 341.8 271.5 353.5 241.2 341.8 228.5 312.5 241.2 283.2 271.5 271.5ZM478.5 271.5Q496.1 271.5 508.8 283.2T521.5 312.5 508.8 341.8 478.5 353.5 449.2 341.8 437.5 312.5 449.2 283.2 478.5 271.5ZM666 375Q599.6 375 542 403.3T450.2 479.5 416 584 450.2 688.5 542 763.7 666 791Q709 791 746.1 781.3L834 834 806.6 755.9Q857.4 726.6 886.7 680.7T916 581.1 882.8 479.5 792 403.3 666 375ZM584 478.5Q601.6 478.5 613.3 491.2T625 521.5 613.3 550.8 584 562.5 553.7 550.8 541 521.5 553.7 491.2 584 478.5ZM750 478.5Q767.6 478.5 779.3 491.2T791 521.5 779.3 550.8 750 562.5 720.7 550.8 709 521.5 720.7 491.2 750 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wechat\"\n      ]\n    },\n    {\n      \"uid\": \"5bf8b3fb1cc17a0d56bb4f081870bec4\",\n      \"css\": \"watermark\",\n      \"code\": 984594,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H500V541H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watermark\"\n      ]\n    },\n    {\n      \"uid\": \"d7b1cc056edb4289aa0f6db51f750c81\",\n      \"css\": \"file-hidden\",\n      \"code\": 984595,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H584V459H459V291H541V375ZM771.5 375L681.6 287.1 734.4 234.4 834 334V416H750V459H625V375H771.5ZM541 146.5V84H500V166H541V250H459V166H375V84H334V166H250V209H166V166Q166 132.8 190.4 108.4T250 84H584L681.6 181.6 628.9 234.4ZM834 834Q834 867.2 809.6 891.6T750 916H666V834H750V791H834V834ZM750 625H834V750H750V625ZM500 916V834H625V916H500ZM334 916V834H459V916H334ZM250 916Q214.8 916 190.4 891.6T166 834V750H250V834H291V916H250ZM166 584H250V709H166V584ZM166 416H250V541H166V416ZM750 459H834V584H750V459ZM166 250H250V375H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-hidden\"\n      ]\n    },\n    {\n      \"uid\": \"9b5ba7f4239ba367297faa71ee3da4c9\",\n      \"css\": \"application\",\n      \"code\": 984596,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166Q826.2 166 850.6 190.4T875 250V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V250Q125 214.8 149.4 190.4T209 166H791ZM791 750V334H209V750H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"application\"\n      ]\n    },\n    {\n      \"uid\": \"f94d002348b4573fae7346e8f0d1215e\",\n      \"css\": \"arrow-collapse\",\n      \"code\": 984597,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 128.9L625 316.4V166H541V459H834V375H683.6L871.1 187.5ZM166 541V625H316.4L128.9 812.5 187.5 871.1 375 683.6V834H459V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse\"\n      ]\n    },\n    {\n      \"uid\": \"69afe6a22d0e0c592b1f53486b3c4df9\",\n      \"css\": \"arrow-expand\",\n      \"code\": 984598,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 875V791H267.6L455.1 603.5 396.5 544.9 209 732.4V584H125V875H416ZM603.5 455.1L791 267.6V416H875V125H584V209H732.4L544.9 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand\"\n      ]\n    },\n    {\n      \"uid\": \"c7b5296f587eaf6c51723ab85216ebd0\",\n      \"css\": \"bowl-mix\",\n      \"code\": 984599,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M675.8 459L845.7 187.5 916 228.5 775.4 459H675.8ZM650.4 500H84V625Q84 705.1 123 771.5T228.5 877 375 916H625Q705.1 916 771.5 877T877 771.5 916 625V500H650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bowl-mix\"\n      ]\n    },\n    {\n      \"uid\": \"5d24495a01c0174a1ccb7968f59fc33d\",\n      \"css\": \"bridge\",\n      \"code\": 984600,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 584V455.1Q246.1 433.6 209 404.3V584H291ZM209 750H125V666H41V584H125V291H209V351.6Q265.6 402.3 340.8 430.7T500 459 659.2 430.7 791 351.6V291H875V584H959V666H875V750H791V666H209V750ZM709 455.1V584H791V404.3Q753.9 433.6 709 455.1ZM666 584V470.7Q628.9 486.3 584 494.1V584H666ZM541 584V498L500 500 459 498V584H541ZM416 584V494.1Q371.1 486.3 334 470.7V584H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bridge\"\n      ]\n    },\n    {\n      \"uid\": \"25fdee5598c31081af115e4ad44a4317\",\n      \"css\": \"buffer\",\n      \"code\": 984601,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M525.4 119.1L712.9 207 863.3 277.3Q875 283.2 875 290T863.3 300.8L525.4 459Q500 470.7 474.6 459L136.7 300.8Q125 296.9 125 290T134.8 277.3L476.6 119.1Q486.3 115.2 501 115.2T525.4 119.1ZM500 880.9Q494.1 880.9 482.4 877L474.6 873 134.8 716.8Q125 710.9 125 704.1T136.7 693.4L195.3 664.1Q222.7 652.3 250 666L472.7 769.5Q500 781.3 527.3 769.5L750 664.1Q777.3 652.3 804.7 664.1L863.3 691.4Q867.2 693.4 871.1 697.3T875 705.1 871.1 711.9 861.3 718.8Q765.6 763.7 576.2 851.6L527.3 873Q511.7 880.9 500 880.9ZM500 673.8Q492.2 673.8 472.7 666L136.7 509.8Q125 503.9 125 497.1T136.7 484.4L195.3 457Q222.7 445.3 250 459L474.6 562.5Q500 574.2 525.4 562.5L752 457Q777.3 445.3 804.7 457L863.3 484.4 871.1 488.3Q880.9 496.1 871.1 505.9L863.3 509.8Q728.5 572.3 525.4 666 509.8 673.8 500 673.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"buffer\"\n      ]\n    },\n    {\n      \"uid\": \"1ed601f23c781f326ea8008405e3439f\",\n      \"css\": \"chip\",\n      \"code\": 984602,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 166H750V209H875V291H750V375H875V459H750V541H875V625H750V709H875V791H750V834H250V791H125V709H250V625H125V541H250V459H125V375H250V291H125V209H250V166ZM459 625V750H500V625H459ZM541 625V750H584V625H541ZM625 625V750H666V625H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chip\"\n      ]\n    },\n    {\n      \"uid\": \"e96d513a82e5bfd98338a982223108fd\",\n      \"css\": \"content-save-settings\",\n      \"code\": 984603,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 334V166H209V334H625ZM500 750Q552.7 750 588.9 713.9T625 625 588.9 536.1 500 500 411.1 536.1 375 625 411.1 713.9 500 750ZM709 84L875 250V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V166Q125 132.8 149.4 108.4T209 84H709ZM459 916H541V1000H459V916ZM291 916H375V1000H291V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-settings\"\n      ]\n    },\n    {\n      \"uid\": \"1678fee3e1a37e06b3f6235d02b51a7a\",\n      \"css\": \"dialpad\",\n      \"code\": 984604,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 791Q464.8 791 440.4 815.4T416 875 440.4 934.6 500 959 559.6 934.6 584 875 559.6 815.4 500 791ZM250 41Q214.8 41 190.4 65.4T166 125 190.4 184.6 250 209 309.6 184.6 334 125 309.6 65.4 250 41ZM250 291Q214.8 291 190.4 315.4T166 375 190.4 434.6 250 459 309.6 434.6 334 375 309.6 315.4 250 291ZM250 541Q214.8 541 190.4 565.4T166 625 190.4 684.6 250 709 309.6 684.6 334 625 309.6 565.4 250 541ZM750 209Q785.2 209 809.6 184.6T834 125 809.6 65.4 750 41 690.4 65.4 666 125 690.4 184.6 750 209ZM500 541Q464.8 541 440.4 565.4T416 625 440.4 684.6 500 709 559.6 684.6 584 625 559.6 565.4 500 541ZM750 541Q714.8 541 690.4 565.4T666 625 690.4 684.6 750 709 809.6 684.6 834 625 809.6 565.4 750 541ZM750 291Q714.8 291 690.4 315.4T666 375 690.4 434.6 750 459 809.6 434.6 834 375 809.6 315.4 750 291ZM500 291Q464.8 291 440.4 315.4T416 375 440.4 434.6 500 459 559.6 434.6 584 375 559.6 315.4 500 291ZM500 41Q464.8 41 440.4 65.4T416 125 440.4 184.6 500 209 559.6 184.6 584 125 559.6 65.4 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dialpad\"\n      ]\n    },\n    {\n      \"uid\": \"be1dddfa63c94cdebc689d403fa405af\",\n      \"css\": \"book-alphabet\",\n      \"code\": 984605,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M242.2 84Q210.9 85.9 188.5 110.4T166 166V834Q166 865.2 191.4 890.6T250 916H750Q783.2 916 808.6 890.6T834 834V166Q834 132.8 809.6 108.4T750 84H500V375L396.5 312.5 291 375V84H242.2ZM500 541H541Q558.6 541 571.3 553.7T584 584V750H541V666H500V750H459V584Q459 566.4 470.7 553.7T500 541ZM500 584V625H541V584H500ZM625 625H750V666L666 791H750V834H625V791L709 666H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-alphabet\"\n      ]\n    },\n    {\n      \"uid\": \"811c25a5f09f024c94bd25431799a47d\",\n      \"css\": \"format-horizontal-align-center\",\n      \"code\": 984606,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 666V541H959V459H791V334L625 500ZM209 334V459H41V541H209V666L375 500ZM459 834H541V166H459V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-horizontal-align-center\"\n      ]\n    },\n    {\n      \"uid\": \"84fbb582a0f401df90afc7ff31e8a7d5\",\n      \"css\": \"format-horizontal-align-left\",\n      \"code\": 984607,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 666V541H875V459H459V334L291 500ZM125 834H209V166H125V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-horizontal-align-left\"\n      ]\n    },\n    {\n      \"uid\": \"069a6631cde3d381803bf63bd16f7ff7\",\n      \"css\": \"format-horizontal-align-right\",\n      \"code\": 984608,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 334V459H125V541H541V666L709 500ZM791 834H875V166H791V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-horizontal-align-right\"\n      ]\n    },\n    {\n      \"uid\": \"acdbb4fbdc0af1f08ff502027ee9c02e\",\n      \"css\": \"format-vertical-align-bottom\",\n      \"code\": 984609,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 541H541V125H459V541H334L500 709ZM166 791V875H834V791H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-vertical-align-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"53b74b3dce10d4387694bf7213b955c1\",\n      \"css\": \"format-vertical-align-center\",\n      \"code\": 984610,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 791H459V959H541V791H666L500 625ZM666 209H541V41H459V209H334L500 375ZM166 459V541H834V459H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-vertical-align-center\"\n      ]\n    },\n    {\n      \"uid\": \"aa433f1ade084f44eebf29e4bd9d9135\",\n      \"css\": \"format-vertical-align-top\",\n      \"code\": 984611,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 459H459V875H541V459H666L500 291ZM166 125V209H834V125H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-vertical-align-top\"\n      ]\n    },\n    {\n      \"uid\": \"07e99a82c9d7ce794440a0d9a2736a81\",\n      \"css\": \"y-combinator\",\n      \"code\": 984612,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H916V916H84V84ZM468.8 728.5H531.3V544.9L666 291H603.5L500 486.3 396.5 291H334L468.8 544.9V728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"y-combinator\"\n      ]\n    },\n    {\n      \"uid\": \"1f49623645e4c4b4307a09d10c3c7d34\",\n      \"css\": \"help-circle-outline\",\n      \"code\": 984613,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 750H541V666H459V750ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 250Q431.6 250 382.8 298.8T334 416H416Q416 382.8 440.4 358.4T500 334 559.6 358.4 584 416Q584 441.4 568.4 460.9 558.6 472.7 531.3 492.2 496.1 519.5 482.4 541 459 574.2 459 625H541Q541 593.8 560.5 568.4 572.3 552.7 603.5 525.4T646.5 480.5Q666 453.1 666 416 666 347.7 617.2 298.8T500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"daf0e01a45d9360a4b6012609cf47251\",\n      \"css\": \"code-json\",\n      \"code\": 984614,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H291V209H209V416Q209 451.2 184.6 475.6T125 500Q160.2 500 184.6 524.4T209 584V791H291V875H209Q171.9 865.2 150.4 845.7 125 824.2 125 791V625Q125 589.8 100.6 565.4T41 541H0V459H41Q76.2 459 100.6 434.6T125 375V209Q125 173.8 149.4 149.4T209 125ZM791 125Q826.2 125 850.6 149.4T875 209V375Q875 410.2 899.4 434.6T959 459H1000V541H959Q923.8 541 899.4 565.4T875 625V791Q875 826.2 850.6 850.6T791 875H709V791H791V584Q791 548.8 815.4 524.4T875 500Q839.8 500 815.4 475.6T791 416V209H709V125H791ZM500 625Q517.6 625 529.3 636.7T541 666 529.3 696.3 500 709 470.7 696.3 459 666 470.7 636.7 500 625ZM334 625Q351.6 625 363.3 636.7T375 666 363.3 696.3 334 709 303.7 696.3 291 666 303.7 636.7 334 625ZM666 625Q683.6 625 696.3 636.7T709 666 696.3 696.3 666 709 636.7 696.3 625 666 636.7 636.7 666 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-json\"\n      ]\n    },\n    {\n      \"uid\": \"9f6886a4f297e0c9278eb9f3d7775af1\",\n      \"css\": \"lambda\",\n      \"code\": 984615,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 834L423.8 330.1 388.7 250H334V166H416Q429.7 166 440.4 173.8T455.1 193.4L693.4 750H750V834H666Q654.3 834 643.6 826.2T627 806.6L472.7 443.4 337.9 834H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lambda\"\n      ]\n    },\n    {\n      \"uid\": \"571ca2cafa1c307499268a104a80c0f3\",\n      \"css\": \"matrix\",\n      \"code\": 984616,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H250V166H166V834H250V916H84V84ZM834 166H750V84H916V916H750V834H834V166ZM375 209H416V416H459V459H334V416H375V250L334 271.5V228.5ZM625 541H666V750H709V791H584V750H625V584L584 603.5V562.5ZM375 541Q410.2 541 434.6 578.1T459 667 434.6 754.9 375 791 315.4 754.9 291 667 315.4 578.1 375 541ZM375 584Q357.4 584 345.7 608.4T334 667 345.7 725.6 375 750 404.3 725.6 416 667 404.3 608.4 375 584ZM625 209Q660.2 209 684.6 245.1T709 333 684.6 421.9 625 459 565.4 421.9 541 333 565.4 245.1 625 209ZM625 250Q607.4 250 595.7 274.4T584 333 595.7 391.6 625 416 654.3 391.6 666 333 654.3 274.4 625 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"matrix\"\n      ]\n    },\n    {\n      \"uid\": \"4a8243a9f5d17908afc37a9c6cc1d890\",\n      \"css\": \"meteor\",\n      \"code\": 984617,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M117.2 125L820.3 783.2 822.3 789.1Q826.2 796.9 825.2 804.7T816.4 820.3Q804.7 832 789.1 830.1 781.3 828.1 775.4 824.2ZM326.2 191.4L871.1 693.4 875 699.2Q877 705.1 876 712.9T867.2 729.5 850.6 739.3 834 736.3L828.1 732.4ZM179.7 334L724.6 834 726.6 839.8Q730.5 847.7 729.5 855.5T720.7 871.1 704.1 879.9 687.5 878.9L681.6 875ZM502 248L882.8 599.6 886.7 607.4Q888.7 617.2 880.9 625T861.3 630.9L853.5 627ZM226.6 496.1L607.4 847.7 611.3 855.5Q613.3 865.2 605.5 873T587.9 878.9Q582 877 578.1 875V875 875ZM681.6 330.1L855.5 488.3 857.4 492.2Q857.4 498 853.5 502.9T841.8 502ZM314.5 669.9L488.3 830.1 490.2 834Q492.2 837.9 487.3 842.8T474.6 841.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"meteor\"\n      ]\n    },\n    {\n      \"uid\": \"adc495020351b7bb7ab5eb64bca27186\",\n      \"css\": \"close-circle-multiple\",\n      \"code\": 984618,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 414.1 129.9 342.8T250 236.3V146.5Q138.7 185.5 69.3 282.2T0 500 69.3 717.8 250 853.5V763.7Q175.8 728.5 129.9 657.2T84 500ZM625 125Q523.4 125 437.5 175.8T300.8 312.5 250 500 300.8 687.5 437.5 824.2 625 875 812.5 824.2 949.2 687.5 1000 500 949.2 312.5 812.5 175.8 625 125ZM834 650.4L775.4 709 625 558.6 474.6 709 416 650.4 566.4 500 416 349.6 474.6 291 625 441.4 775.4 291 834 349.6 683.6 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-circle-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"1d032a4f25252316376c541c6c6b5578\",\n      \"css\": \"sigma-lower\",\n      \"code\": 984619,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500Q791 589.8 749 667T635.7 789.1 479.5 834 322.3 789.1 208 667 166 500 208 333 322.3 210.9 478.5 166H834V250H685.5Q734.4 296.9 762.7 362.3T791 500ZM478.5 250Q416 250 364.3 283.2T281.3 374 250 500 281.3 626 364.3 716.8 478.5 750 593.8 716.8 677.7 626 709 500 677.7 374 593.8 283.2 478.5 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sigma-lower\"\n      ]\n    },\n    {\n      \"uid\": \"280904cd592ce4ec471b1d394c3855ac\",\n      \"css\": \"source-branch\",\n      \"code\": 984620,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q273.4 750 261.7 761.7T250 791 261.7 821.3 291 834 321.3 821.3 334 791 321.3 761.7 291 750ZM291 166Q273.4 166 261.7 178.7T250 209 261.7 238.3 291 250 321.3 238.3 334 209 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 261.7T666 291 678.7 321.3 709 334 738.3 321.3 750 291 738.3 261.7 709 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch\"\n      ]\n    },\n    {\n      \"uid\": \"ee7a8e2e3c6a6215d3c7280cd4612cea\",\n      \"css\": \"source-merge\",\n      \"code\": 984621,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125Q343.8 125 379.9 161.1T416 250Q416 289.1 393.6 321.3T335.9 367.2Q349.6 503.9 459 570.3 531.3 613.3 632.8 623 646.5 587.9 678.7 564.5T750 541Q802.7 541 838.9 578.1T875 667 838.9 754.9 750 791Q709 791 676.8 767.6T630.9 709Q548.8 705.1 488.3 681.6 437.5 664.1 398.4 628.9 371.1 605.5 334 558.6V632.8Q371.1 644.5 393.6 676.8T416 750Q416 802.7 379.9 838.9T292 875 203.1 838.9 166 750Q166 709 189.5 676.8T250 632.8V367.2Q212.9 355.5 189.5 323.2T166 250Q166 197.3 203.1 161.1T291 125ZM291 209Q273.4 209 261.7 220.7T250 250 261.7 279.3 291 291 321.3 279.3 334 250 321.3 220.7 291 209ZM291 709Q273.4 709 261.7 720.7T250 750 261.7 779.3 291 791 321.3 779.3 334 750 321.3 720.7 291 709ZM750 625Q732.4 625 720.7 636.7T709 666 720.7 696.3 750 709 779.3 696.3 791 666 779.3 636.7 750 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-merge\"\n      ]\n    },\n    {\n      \"uid\": \"4c484c84b3913a5cb336df27fecb8caf\",\n      \"css\": \"tune\",\n      \"code\": 984622,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 709V791H375V709H125ZM125 209V291H541V209H125ZM541 875V791H875V709H541V625H459V875H541ZM291 375V459H125V541H291V625H375V375H291ZM875 541V459H459V541H875ZM625 375H709V291H875V209H709V125H625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tune\"\n      ]\n    },\n    {\n      \"uid\": \"90375ea6fd17ab4916b94591ae8abc9c\",\n      \"css\": \"webhook\",\n      \"code\": 984623,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M435.5 791Q390.6 855.5 312.5 870.1T169.9 839.8 92.8 716.8 125 572.3Q152.3 535.2 191.4 513.7T273.4 490.2L275.4 550.8Q248 552.7 221.7 567.4T177.7 607.4Q146.5 652.3 155.3 705.1T207 788.1 302.7 807.6 386.7 752Q404.3 726.6 408.2 693.4V650.4L642.6 648.4 644.5 644.5Q662.1 615.2 693.4 606.4T752 614.3 788.1 662.1 780.3 722.7 732.4 760.7 673.8 753.9 638.7 710.9H468.8Q460.9 753.9 435.5 791ZM738.3 494.1Q818.4 503.9 867.2 565.4T906.3 705.1 834 832 693.4 871.1Q646.5 865.2 609.4 840.8T548.8 779.3L601.6 748Q617.2 773.4 642.6 789.1T697.3 808.6Q752 814.5 794.9 782.2T844.7 698.2 817.4 604.5 728.5 556.6Q695.3 552.7 666 564.5L630.9 582 523.4 382.8H513.7Q480.5 382.8 458 358.4T436.5 301.8 461.9 247.1 518.6 226.6 574.2 252 595.7 308.6Q593.8 335.9 576.2 355.5L656.3 502Q695.3 488.3 738.3 494.1ZM343.8 380.9Q312.5 306.6 341.8 233.4T443.4 129.9 588.9 129.9 693.4 232.4Q710.9 275.4 708 320.3T683.6 402.3L632.8 373Q646.5 347.7 647.5 317.4T636.7 259.8Q615.2 209 565.4 188.5T467.8 188.5 400.4 258.8 402.3 357.4Q419.9 398.4 457 421.9L472.7 429.7 345.7 638.7 349.6 646.5Q365.2 673.8 355.5 705.1T317.4 752 257.8 757.8 210.9 718.8 205.1 658.2 242.2 611.3Q267.6 597.7 294.9 603.5L390.6 447.3Q359.4 418 343.8 380.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"webhook\"\n      ]\n    },\n    {\n      \"uid\": \"b8a71f20d751efc86af8560ae1cac287\",\n      \"css\": \"account-settings\",\n      \"code\": 984624,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 617.2 214.8T666 333 617.2 451.2 500 500 382.8 451.2 334 333 382.8 214.8 500 166ZM500 584Q589.8 584 667 606.4T789.1 667 834 750V834H166V750Q166 705.1 210.9 667T333 606.4 500 584ZM291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-settings\"\n      ]\n    },\n    {\n      \"uid\": \"c1cf7990618a099c2fd6d1910dddca2f\",\n      \"css\": \"account-details\",\n      \"code\": 984625,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375Q459 427.7 421.9 463.9T333 500 245.1 463.9 209 375 245.1 286.1 333 250 421.9 286.1 459 375ZM584 834H84V750Q84 705.1 117.2 667T208 606.4 333 584 458 606.4 549.8 667 584 750V834ZM916 500V584H541V500H916ZM916 334V416H541V334H916ZM916 166V250H541V166H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-details\"\n      ]\n    },\n    {\n      \"uid\": \"f2f91e5539ffb0da756a571adc9b2088\",\n      \"css\": \"apple-keyboard-caps\",\n      \"code\": 984626,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584V334H714.8L500 117.2 285.2 334H375V584H625ZM500 0L916 416H709V666H291V416H84ZM291 750H709V1000H291V750ZM625 834H375V916H625V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-keyboard-caps\"\n      ]\n    },\n    {\n      \"uid\": \"0cb64152a6cdc6cc53a20fae47961eb4\",\n      \"css\": \"apple-keyboard-command\",\n      \"code\": 984627,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q318.4 84 367.2 132.8T416 250V334H584V250Q584 181.6 632.8 132.8T750 84 867.2 132.8 916 250 867.2 367.2 750 416H666V584H750Q818.4 584 867.2 632.8T916 750 867.2 867.2 750 916 632.8 867.2 584 750V666H416V750Q416 818.4 367.2 867.2T250 916 132.8 867.2 84 750 132.8 632.8 250 584H334V416H250Q181.6 416 132.8 367.2T84 250 132.8 132.8 250 84ZM666 750Q666 785.2 690.4 809.6T750 834 809.6 809.6 834 750 809.6 690.4 750 666H666V750ZM584 416H416V584H584V416ZM250 666Q214.8 666 190.4 690.4T166 750 190.4 809.6 250 834 309.6 809.6 334 750V666H250ZM334 250Q334 214.8 309.6 190.4T250 166 190.4 190.4 166 250 190.4 309.6 250 334H334V250ZM750 334Q785.2 334 809.6 309.6T834 250 809.6 190.4 750 166 690.4 190.4 666 250V334H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-keyboard-command\"\n      ]\n    },\n    {\n      \"uid\": \"ffa7359bac617f686153e5a1aef1cd2a\",\n      \"css\": \"apple-keyboard-control\",\n      \"code\": 984628,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 490.2L765.6 548.8 500 285.2 234.4 548.8 175.8 490.2 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-keyboard-control\"\n      ]\n    },\n    {\n      \"uid\": \"8af8557861154c2bc0b557a249ce6c4d\",\n      \"css\": \"apple-keyboard-option\",\n      \"code\": 984629,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H378.9L673.8 750H875V834H619.1L326.2 250H125V166ZM584 166H875V250H584V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-keyboard-option\"\n      ]\n    },\n    {\n      \"uid\": \"8c796b667a58e9956bc05deadf257256\",\n      \"css\": \"apple-keyboard-shift\",\n      \"code\": 984630,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 750V500H714.8L500 285.2 285.2 500H375V750H625ZM500 166L916 584H709V834H291V584H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apple-keyboard-shift\"\n      ]\n    },\n    {\n      \"uid\": \"9c9924c6e54c56a0e3a12bdd75d73cf3\",\n      \"css\": \"box-shadow\",\n      \"code\": 984631,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H750V750H125V125ZM791 791H875V875H791V791ZM791 666H875V750H791V666ZM791 541H875V625H791V541ZM791 416H875V500H791V416ZM791 291H875V375H791V291ZM666 791H750V875H666V791ZM541 791H625V875H541V791ZM416 791H500V875H416V791ZM291 791H375V875H291V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"box-shadow\"\n      ]\n    },\n    {\n      \"uid\": \"395d29371c414791c246b42b4f4ba818\",\n      \"css\": \"cards\",\n      \"code\": 984632,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M894.5 181.6L837.9 158.2V533.2L939.5 289.1Q953.1 257.8 939.5 225.6T894.5 181.6ZM82 335.9L289.1 834Q298.8 857.4 319.3 871.1T363.3 886.7Q380.9 886.7 396.5 878.9L705.1 752Q726.6 742.2 740.2 721.7T755.9 677.7Q755.9 662.1 750 644.5L541 146.5Q533.2 123 511.7 108.4T466.8 93.8Q451.2 93.8 433.6 99.6L127 226.6Q95.7 240.2 82 272.5T82 335.9ZM755.9 177.7Q755.9 142.6 731.4 118.2T671.9 93.8H611.3L755.9 441.4V177.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards\"\n      ]\n    },\n    {\n      \"uid\": \"981c2794d45414dec33d5e50b8d5b793\",\n      \"css\": \"cards-outline\",\n      \"code\": 984633,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M466.8 93.8Q451.2 93.8 433.6 99.6L127 226.6Q95.7 240.2 82 272.5T82 335.9L289.1 834Q298.8 857.4 319.3 871.1T363.3 884.8Q382.8 884.8 396.5 878.9L705.1 752Q726.6 742.2 740.2 721.7T755.9 677.7Q755.9 662.1 750 644.5L541 146.5Q533.2 123 511.7 108.4T466.8 93.8ZM611.3 93.8L755.9 441.4V177.7Q755.9 142.6 731.4 118.2T671.9 93.8H611.3ZM837.9 158.2V533.2L939.5 289.1Q953.1 257.8 939.5 226.6T894.5 181.6ZM466.8 175.8L673.8 675.8 365.2 804.7 158.2 304.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a28044062cf76beb7466d362d4f341a1\",\n      \"css\": \"cards-playing-outline\",\n      \"code\": 984634,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M466.8 93.8Q490.2 93.8 511.7 108.4T541 146.5L750 644.5Q755.9 662.1 755.9 677.7 753.9 701.2 740.2 721.7T705.1 752L396.5 878.9Q382.8 884.8 363.3 884.8 339.8 884.8 319.3 871.1T289.1 834L82 335.9Q68.4 304.7 82 272.5T127 226.6L433.6 99.6Q451.2 93.8 466.8 93.8ZM611.3 93.8H671.9Q707 93.8 731.4 118.2T755.9 177.7V441.4ZM837.9 158.2L894.5 181.6Q925.8 195.3 939.5 226.6T939.5 289.1L837.9 533.2V158.2ZM466.8 175.8L158.2 304.7 365.2 804.7 673.8 675.8ZM361.3 355.5L494.1 457 476.6 623 341.8 523.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-playing-outline\"\n      ]\n    },\n    {\n      \"uid\": \"363f9b9bcc237b32d80ea9a6f009bcc2\",\n      \"css\": \"checkbox-multiple-blank-circle\",\n      \"code\": 984635,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84Q492.2 84 416 128.9T294.9 250 250 417 294.9 584 416 705.1 583 750 750 705.1 871.1 584 916 417 871.1 250 750 128.9 584 84ZM205.1 242.2Q148.4 289.1 116.2 357.4T84 500Q84 589.8 128.9 667T250 789.1 416 834Q455.1 834 494.1 824.2 384.8 798.8 298.8 720.7 238.3 687.5 202.1 627.9T166 500Q166 484.4 169.9 462.9 166 435.5 166 416 166 326.2 205.1 242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-blank-circle\"\n      ]\n    },\n    {\n      \"uid\": \"a20bdd8a9dde7af29ee24832fb194485\",\n      \"css\": \"checkbox-multiple-blank-circle-outline\",\n      \"code\": 984636,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84Q492.2 84 416 128.9T294.9 250 250 417 294.9 584 416 705.1 583 750 750 705.1 871.1 584 916 417 871.1 250 750 128.9 584 84ZM584 166Q650.4 166 708 200.2T799.8 292 834 417 799.8 542 709 632.8 584 666 458 632.8 367.2 542 334 417 367.2 292 458 200.2 584 166ZM205.1 242.2Q148.4 289.1 116.2 357.4T84 500Q84 589.8 128.9 667T250 789.1 416 834Q455.1 834 494.1 824.2 384.8 798.8 298.8 720.7 238.3 687.5 202.1 627.9T166 500Q166 484.4 169.9 462.9 166 435.5 166 416 166 326.2 205.1 242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-blank-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6d29bc8247fa32cc9947732a616323ae\",\n      \"css\": \"checkbox-multiple-marked-circle\",\n      \"code\": 984637,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84Q492.2 84 416 128.9T294.9 250 250 417 294.9 584 416 705.1 583 750 750 705.1 871.1 584 916 417 871.1 250 750 128.9 584 84ZM205.1 242.2Q148.4 289.1 116.2 357.4T84 500Q84 589.8 128.9 667T250 789.1 416 834Q455.1 834 494.1 824.2 384.8 798.8 298.8 720.7 238.3 687.5 202.1 627.9T166 500Q166 484.4 169.9 462.9 166 435.5 166 416 166 326.2 205.1 242.2ZM753.9 253.9L812.5 312.5 541 584 382.8 425.8 443.4 367.2 541 464.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-marked-circle\"\n      ]\n    },\n    {\n      \"uid\": \"2fd9e5db02d03069d7ab5c6210808318\",\n      \"css\": \"checkbox-multiple-marked-circle-outline\",\n      \"code\": 984638,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84Q492.2 84 416 128.9T294.9 250 250 417 294.9 584 416 705.1 583 750 750 705.1 871.1 584 916 416H834Q834 484.4 799.8 542T709 632.8 584 666 458 632.8 367.2 542 334 417 367.2 292 458 200.2 584 166Q609.4 166 636.7 171.9L703.1 105.5Q646.5 84 584 84ZM857.4 148.4L584 423.8 484.4 324.2 425.8 382.8 584 541 916 209ZM205.1 242.2Q148.4 289.1 116.2 357.4T84 500Q84 589.8 128.9 667T250 789.1 416 834Q455.1 834 494.1 824.2 384.8 798.8 298.8 720.7 238.3 687.5 202.1 627.9T166 500Q166 484.4 169.9 462.9 166 435.5 166 416 166 326.2 205.1 242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-multiple-marked-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"49b738eb19534e678982d2fc302fc267\",\n      \"css\": \"cloud-sync\",\n      \"code\": 984639,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 591.8Q707 584 791 500ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L886.7 865.2Q877 873 791 959ZM541 728.5Q541 656.3 578.1 593.8T676.8 495.1 813.5 459 959 500Q929.7 464.8 890.6 443.4T806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H562.5Q541 783.2 541 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-sync\"\n      ]\n    },\n    {\n      \"uid\": \"b0e1959031099a03c14e5a4f3b3a9b23\",\n      \"css\": \"collage\",\n      \"code\": 984640,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H459V125H209ZM541 125V459H875V209Q875 173.8 850.6 149.4T791 125H541ZM541 541V875H791Q826.2 875 850.6 850.6T875 791V541H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"collage\"\n      ]\n    },\n    {\n      \"uid\": \"b1559f3014f60c509f1a2919ceae7f9d\",\n      \"css\": \"directions-fork\",\n      \"code\": 984641,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166V521.5L250 396.5 375 541Q392.6 560.5 404.3 582 412.1 597.7 416 613.3V625 875H584V584L580.1 556.6Q574.2 525.4 560.5 500 539.1 459 500 416L375 273.4 478.5 166H125ZM750 166L564.5 353.5 605.5 400.4Q630.9 431.6 644.5 459 656.3 480.5 662.1 505.9L875 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"directions-fork\"\n      ]\n    },\n    {\n      \"uid\": \"df6166133446e49cfd9a521834bbcd43\",\n      \"css\": \"eraser-variant\",\n      \"code\": 984642,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M630.9 125Q595.7 125 572.3 150.4L107.4 613.3Q84 638.7 84 672.9T107.4 732.4L209 834H529.3L892.6 468.8Q916 445.3 916 411.1T892.6 351.6L689.5 150.4Q666 125 630.9 125ZM709 750L625 834H916V750H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eraser-variant\"\n      ]\n    },\n    {\n      \"uid\": \"5dfebbb6848dadc51a4b2f1e96d6bfe5\",\n      \"css\": \"face\",\n      \"code\": 984643,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 490.2Q353.5 490.2 337.9 504.9T322.3 541 337.9 578.1 375 593.8 412.1 578.1 427.7 541 412.1 504.9 375 490.2ZM625 490.2Q603.5 490.2 587.9 504.9T572.3 541 587.9 578.1 625 593.8 662.1 578.1 677.7 541 662.1 504.9 625 490.2ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500Q166 476.6 168 464.8 242.2 431.6 298.8 373T386.7 240.2Q443.4 322.3 533.2 369.1T726.6 416Q773.4 416 820.3 406.3 834 453.1 834 500 834 589.8 789.1 667T667 789.1 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face\"\n      ]\n    },\n    {\n      \"uid\": \"8be795a597389ad1649958665b2c31aa\",\n      \"css\": \"face-profile\",\n      \"code\": 984644,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 349.6Q603.5 416 726.6 416 773.4 416 820.3 406.3 834 453.1 834 500 834 589.8 789.1 667T667 789.1 499 834 330.1 787.1 209 662.1L281.3 584V541Q281.3 519.5 296.9 504.9T334 490.2 370.1 504.9 384.8 541V584H500V349.6ZM666 490.2Q644.5 490.2 629.9 504.9T615.2 541 629.9 578.1 666 593.8 703.1 578.1 718.8 541 703.1 504.9 666 490.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-profile\"\n      ]\n    },\n    {\n      \"uid\": \"45e3a1db161129f4392645235997ef97\",\n      \"css\": \"file-tree\",\n      \"code\": 984645,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H375V291H125V125ZM625 416H875V584H625V416ZM625 709H875V875H625V709ZM541 541H291V750H541V834H209V375H291V459H541V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-tree\"\n      ]\n    },\n    {\n      \"uid\": \"7c1f379e8f007ee184e47f10e6e096e6\",\n      \"css\": \"format-annotation-plus\",\n      \"code\": 984646,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 291H437.5L666 875H566.4L521.5 750H261.7L216.8 875H125ZM294.9 666H496.1L396.5 404.3ZM916 209V291H791V416H709V291H584V209H709V84H791V209H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-annotation-plus\"\n      ]\n    },\n    {\n      \"uid\": \"47df5edef326f41b20f8cac9e3dece9f\",\n      \"css\": \"gas-cylinder\",\n      \"code\": 984647,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375V584 834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V375Q334 316.4 369.1 272.5T459 212.9V166H375V84H625V166H541V212.9Q595.7 228.5 630.9 272.5T666 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gas-cylinder\"\n      ]\n    },\n    {\n      \"uid\": \"ffc4627fdc7b37ad4c8d25c65e8de54f\",\n      \"css\": \"grease-pencil\",\n      \"code\": 984648,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M775.4 62.5Q740.2 62.5 716.8 87.9L447.3 355.5 623 531.3 892.6 261.7Q916 238.3 916 203.1T892.6 144.5L835.9 87.9Q810.5 62.5 775.4 62.5ZM408.2 396.5L134.8 669.9 164.1 699.2Q146.5 712.9 115.2 746.1L99.6 761.7Q74.2 787.1 74.2 821.3T98.6 879.9 158.2 904.3 216.8 881.8 281.3 816.4L310.5 843.8 584 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grease-pencil\"\n      ]\n    },\n    {\n      \"uid\": \"6408e8092d1af49b6b6ab92c81ad6ef7\",\n      \"css\": \"human-female\",\n      \"code\": 984649,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q535.2 84 559.6 108.4T584 167 559.6 225.6 500 250 440.4 225.6 416 167 440.4 108.4 500 84ZM437.5 916V666H312.5L419.9 349.6Q427.7 324.2 450.2 307.6T500 291 549.8 307.6 580.1 349.6L687.5 666H562.5V916H437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-female\"\n      ]\n    },\n    {\n      \"uid\": \"61ffb4fec62f5e05a42758ab0dc85c86\",\n      \"css\": \"human-greeting\",\n      \"code\": 984650,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M62.5 166V228.5Q62.5 357.4 125 464.8T291 636.7V834H916V750Q916 699.2 855.5 658.2 802.7 623 718.8 601.6 644.5 584 584 584H572.3Q476.6 584 392.6 534.2T258.8 403.3 209 228.5V166H62.5ZM584 166Q513.7 166 464.8 214.8T416 333 464.8 451.2 583 500 701.2 451.2 750 333 701.2 214.8 584 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-greeting\"\n      ]\n    },\n    {\n      \"uid\": \"f720bc8a171fc25c6c1cef831e11833d\",\n      \"css\": \"human-handsdown\",\n      \"code\": 984651,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q464.8 41 440.4 65.4T416 125 440.4 184.6 500 209 559.6 184.6 584 125 559.6 65.4 500 41ZM416 250Q400.4 250 388.7 261.7L166 482.4 226.6 541 375 392.6V916H459V625H541V916H625V392.6L773.4 541 834 482.4 613.3 261.7Q599.6 250 584 250H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-handsdown\"\n      ]\n    },\n    {\n      \"uid\": \"511252ee131a820c5b14c07a78d17267\",\n      \"css\": \"human-handsup\",\n      \"code\": 984652,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 41Q209 127 253.9 198.2T375 304.7V916H459V625H541V916H625V304.7Q701.2 269.5 746.1 198.2T791 41H709Q709 97.7 680.7 145.5T604.5 221.7 500 250 395.5 221.7 319.3 145.5 291 41H209ZM500 41Q464.8 41 440.4 65.4T416 125 440.4 184.6 500 209 559.6 184.6 584 125 559.6 65.4 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-handsup\"\n      ]\n    },\n    {\n      \"uid\": \"229a33abbcf14450293a0fcfd0ebcd5d\",\n      \"css\": \"human-male\",\n      \"code\": 984653,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q535.2 84 559.6 108.4T584 167 559.6 225.6 500 250 440.4 225.6 416 167 440.4 108.4 500 84ZM437.5 291H562.5Q597.7 291 622.1 315.4T646.5 375V603.5H584V916H416V603.5H353.5V375Q353.5 339.8 377.9 315.4T437.5 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male\"\n      ]\n    },\n    {\n      \"uid\": \"141a2e7f281de6a660a943e1753e51d3\",\n      \"css\": \"information-variant\",\n      \"code\": 984654,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 166Q537.1 166 518.6 184.6T500 229.5 518.6 273.4 562.5 291 606.4 273.4 625 229.5 606.4 184.6 562.5 166ZM546.9 365.2Q525.4 367.2 476.6 396.5 443.4 418 400.4 449.2L363.3 476.6Q357.4 480.5 357.4 482.4T359.4 490.2L365.2 498Q369.1 503.9 370.1 504.9T377 502L421.9 472.7Q449.2 455.1 458 461.9T460.9 498Q459 515.6 443.4 574.2 412.1 691.4 398.4 767.6 388.7 837.9 437.5 834 466.8 830.1 507.8 804.7L605.5 736.3Q611.3 734.4 610.4 730.5T605.5 720.7L601.6 714.8Q595.7 709 591.8 712.9L580.1 720.7Q550.8 740.2 537.1 748 511.7 757.8 507.8 746.1T517.6 677.7Q525.4 644.5 548.8 556.6L580.1 443.4Q585.9 408.2 582 392.6 578.1 363.3 546.9 365.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"information-variant\"\n      ]\n    },\n    {\n      \"uid\": \"141012fe5cb3eca6d76b12fac10cce93\",\n      \"css\": \"lead-pencil\",\n      \"code\": 984655,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M701.2 113.3Q675.8 113.3 656.3 132.8L568.4 220.7 789.1 441.4 877 353.5Q896.5 335.9 896.5 309.6T877 265.6L746.1 132.8Q726.6 113.3 701.2 113.3ZM539.1 250L201.2 587.9 308.6 599.6 316.4 695.3 410.2 701.2 423.8 808.6 759.8 470.7ZM177.7 627L103.5 906.3 382.8 830.1 373 740.2 277.3 734.4 269.5 636.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lead-pencil\"\n      ]\n    },\n    {\n      \"uid\": \"ddda2d047c11c9e7b2531c0d05ee9418\",\n      \"css\": \"map-marker-minus\",\n      \"code\": 984656,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 478.5Q418 478.5 448.2 448.2T478.5 375 448.2 301.8 375 271.5 301.8 301.8 271.5 375 301.8 448.2 375 478.5ZM375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 511.7 521.5 728.5 447.3 835.9 375 916V916L330.1 863.3Q275.4 794.9 228.5 728.5 166 632.8 128.9 552.7 84 451.2 84 373T123 228.5 228.5 123 375 84ZM625 709H959V791H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-minus\"\n      ]\n    },\n    {\n      \"uid\": \"935e032fd27cbf60d647cb6c2ec99ed8\",\n      \"css\": \"map-marker-plus\",\n      \"code\": 984657,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 478.5Q418 478.5 448.2 448.2T478.5 375 448.2 301.8 375 271.5 301.8 301.8 271.5 375 301.8 448.2 375 478.5ZM375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 511.7 521.5 728.5 447.3 835.9 375 916V916L330.1 863.3Q275.4 794.9 228.5 728.5 166 632.8 128.9 552.7 84 451.2 84 373T123 228.5 228.5 123 375 84ZM625 709H750V584H834V709H959V791H834V916H750V791H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-plus\"\n      ]\n    },\n    {\n      \"uid\": \"f7a4c8f092ffee6671eb0c63307ce370\",\n      \"css\": \"marker\",\n      \"code\": 984658,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 48.8Q736.3 48.8 710.9 72.3L468.8 314.5 705.1 550.8 947.3 308.6Q970.7 283.2 970.7 249T947.3 189.5L828.1 72.3Q804.7 48.8 771.5 48.8ZM429.7 353.5L181.6 601.6Q156.3 627 156.3 661.1T181.6 720.7L27.3 875H263.7L298.8 839.8Q324.2 863.3 358.4 863.3T416 837.9L664.1 589.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"marker\"\n      ]\n    },\n    {\n      \"uid\": \"3f56e874a72d6762a86cd79e4673595d\",\n      \"css\": \"message-plus\",\n      \"code\": 984659,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H834ZM459 250V375H334V459H459V584H541V459H666V375H541V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-plus\"\n      ]\n    },\n    {\n      \"uid\": \"e1d9fde0bb92982d13aff2c02de13ab2\",\n      \"css\": \"microscope\",\n      \"code\": 984660,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M394.5 261.7L460.9 375Q378.9 382.8 325.2 442.4T271.5 584Q271.5 640.6 298.8 688.5T374 763.7 478.5 791Q543 791 594.7 756.8T669.9 666H562.5V584H896.5V666H802.7Q775.4 765.6 699.2 834H812.5V916H146.5V834H257.8Q205.1 787.1 175.8 721.7T146.5 584Q146.5 470.7 215.8 380.9T394.5 261.7ZM531.3 85.9L562.5 140.6 597.7 119.1 744.1 373 599.6 455.1 453.1 203.1 490.2 181.6 459 127Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microscope\"\n      ]\n    },\n    {\n      \"uid\": \"40d9a9b6b3a893137a148ea8d7befe33\",\n      \"css\": \"move-resize\",\n      \"code\": 984661,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 41V84H416V209H375V250H500V209H459V84H500V41H375ZM375 291Q339.8 291 315.4 315.4T291 375V875Q291 910.2 315.4 934.6T375 959H875Q910.2 959 934.6 934.6T959 875V375Q959 339.8 934.6 315.4T875 291H375ZM41 375V500H84V459H209V500H250V375H209V416H84V375H41ZM375 375H875V875H375V375ZM584 416V459H625V666H459V625H416V750H459V709H625V791H584V834H709V791H666V709H791V750H834V625H791V666H666V459H709V416H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"move-resize\"\n      ]\n    },\n    {\n      \"uid\": \"e67ecc0cafe192a7fca749b39e5d5054\",\n      \"css\": \"move-resize-variant\",\n      \"code\": 984662,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M78.1 19.5L19.5 78.1 232.4 291H84V375H375V84H291V232.4ZM459 291V375H875V625H959V375Q959 339.8 934.6 315.4T875 291H459ZM291 459V875Q291 910.2 315.4 934.6T375 959H625V875H375V459H291ZM662.1 601.6L601.6 662.1 816.4 875H709V959H959V709H875V816.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"move-resize-variant\"\n      ]\n    },\n    {\n      \"uid\": \"c24d4966dcbba17a2d721e64a258ab11\",\n      \"css\": \"paw-off\",\n      \"code\": 984663,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 177.7L136.7 125 896.5 884.8 843.8 937.5 759.8 853.5Q752 859.4 742.2 865.2 710.9 878.9 671.9 871.1 648.4 867.2 597.7 851.6 529.3 828.1 495.1 828.1T392.6 851.6Q343.8 869.1 318.4 873 279.3 878.9 249 864.3T200.2 814.5 185.5 744.1Q187.5 716.8 212.9 689.5 228.5 671.9 265.6 644.5 296.9 617.2 310.5 603.5 330.1 585.9 365.2 537.1 386.7 505.9 398.4 492.2ZM347.7 125Q384.8 119.1 418.9 154.3T463.9 244.1 459 341.8L293 175.8Q310.5 130.9 347.7 125ZM646.5 125Q683.6 130.9 701.2 173.8T708 272.5 663.1 363.3 591.8 392.6 536.1 343.8 529.3 245.1 575.2 154.3 646.5 125ZM125 316.4Q160.2 300.8 203.1 325.2T270.5 398.4 287.1 493.2 244.1 553.7 167 544.9 100.6 471.7 83 377 125 316.4ZM875 316.4Q910.2 332 917 377T899.4 471.7 833 544.9 755.9 553.7 712.9 493.2 729.5 398.4 796.9 325.2 875 316.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"paw-off\"\n      ]\n    },\n    {\n      \"uid\": \"6cb319ef01856cc14c735e32cc7e296b\",\n      \"css\": \"phone-minus\",\n      \"code\": 984664,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 609.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166ZM541 250V334H875V250H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-minus\"\n      ]\n    },\n    {\n      \"uid\": \"d15445b9a13af68cf900f0b68516bd81\",\n      \"css\": \"phone-plus\",\n      \"code\": 984665,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 391.6 609.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166ZM666 125V250H541V334H666V459H750V334H875V250H750V125H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-plus\"\n      ]\n    },\n    {\n      \"uid\": \"1c1498edb9fabd399ab0a2fc141352a7\",\n      \"css\": \"pot-steam\",\n      \"code\": 984666,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791Q791 826.2 766.6 850.6T709 875H291Q257.8 875 233.4 850.6T209 791V500H125V416H875V500H791V791ZM334 62.5Q275.4 62.5 234.4 103.5T193.4 202.1 234.4 300.8 334 341.8H396.5Q421.9 341.8 441.4 353.5H525.4Q507.8 320.3 472.7 300.8T396.5 281.3H334Q302.7 281.3 279.3 255.9T255.9 198.2 278.3 145.5 334 125V62.5ZM535.2 84Q535.2 115.2 512.7 137.7T459 160.2V222.7Q517.6 222.7 562.5 259.8T621.1 353.5H683.6Q675.8 296.9 641.6 252T556.6 181.6Q597.7 140.6 597.7 84H535.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pot-steam\"\n      ]\n    },\n    {\n      \"uid\": \"85137aa8c3a01852542829ad7b67703b\",\n      \"css\": \"pot-mix\",\n      \"code\": 984667,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 375L750 128.9 820.3 169.9 705.1 375H607.4ZM584 416H125V500H209V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V500H875V416H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pot-mix\"\n      ]\n    },\n    {\n      \"uid\": \"5b6e6beabfae47b5f636457f65f278b1\",\n      \"css\": \"serial-port\",\n      \"code\": 984668,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125H709V209H791V334H666V584H334V334H209V209H291V125ZM709 375H791V584H709V375ZM459 625H541V916H459V625ZM209 375H291V584H209V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"serial-port\"\n      ]\n    },\n    {\n      \"uid\": \"e8e2ced2d5ee4bf604be70fd04a430eb\",\n      \"css\": \"shape-circle-plus\",\n      \"code\": 984669,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 791Q525.4 791 583 757.8T674.8 667 709 541H791Q791 632.8 746.1 709T625 830.1 458 875 291 830.1 169.9 709 125 542 169.9 375 291 253.9 459 209V291Q390.6 291 333 325.2T242.2 417 209 542 242.2 667 333 757.8 459 791ZM791 209H916V291H791V416H709V291H584V209H709V84H791V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-circle-plus\"\n      ]\n    },\n    {\n      \"uid\": \"fc53e88df6e8106cdf8f3bb18ad906fe\",\n      \"css\": \"shape-polygon-plus\",\n      \"code\": 984670,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 654.3V541H791V709L416 875 125 584 291 209H459V291H345.7L224.6 566.4 433.6 775.4ZM916 209V291H791V416H709V291H584V209H709V84H791V209H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-polygon-plus\"\n      ]\n    },\n    {\n      \"uid\": \"a8e8905884f1fe1a2f28b5660f6058e8\",\n      \"css\": \"shape-rectangle-plus\",\n      \"code\": 984671,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250H916V334H791V459H709V334H584V250H709V125H791V250ZM709 709V584H791V791H125V250H459V334H209V709H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-rectangle-plus\"\n      ]\n    },\n    {\n      \"uid\": \"70be300eea01e35de3a1c8e96e2435a4\",\n      \"css\": \"shape-square-plus\",\n      \"code\": 984672,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209H916V291H791V416H709V291H584V209H709V84H791V209ZM709 791V541H791V875H125V209H459V291H209V791H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-square-plus\"\n      ]\n    },\n    {\n      \"uid\": \"c8566fea9d17bc2d57b1d5b73cf95841\",\n      \"css\": \"skip-next-circle\",\n      \"code\": 984673,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM334 334L541 500 334 666V334ZM584 334H666V666H584V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-next-circle\"\n      ]\n    },\n    {\n      \"uid\": \"36f9c31470447d28eae3b6d5c662342f\",\n      \"css\": \"skip-next-circle-outline\",\n      \"code\": 984674,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM334 334V666L541 500ZM584 334V666H666V334H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-next-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e2881e22156264df281a21194248bf58\",\n      \"css\": \"skip-previous-circle\",\n      \"code\": 984675,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM334 334H416V666H334V334ZM666 334V666L459 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-previous-circle\"\n      ]\n    },\n    {\n      \"uid\": \"d3dc25fd1d16795aede0e7a3d27888d5\",\n      \"css\": \"skip-previous-circle-outline\",\n      \"code\": 984676,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM666 334V666L459 500ZM416 334V666H334V334H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-previous-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e3380481ab096a6481de57d01139e539\",\n      \"css\": \"spray\",\n      \"code\": 984677,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166H500V250H416V166ZM291 125H375V209H291V125ZM291 250H375V334H291V250ZM250 334V416H166V334H250ZM250 209V291H166V209H250ZM250 84V166H166V84H250ZM541 916Q507.8 916 483.4 891.6T459 834V416Q459 382.8 483.4 358.4T541 334V291H584V166H709V291H750V334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H541ZM541 416V834H750V416H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spray\"\n      ]\n    },\n    {\n      \"uid\": \"889d4b5b099872f173ac55fec856c739\",\n      \"css\": \"stop-circle\",\n      \"code\": 984678,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM375 375H625V625H375V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stop-circle\"\n      ]\n    },\n    {\n      \"uid\": \"2b4fbd9b33289597c8470676011d3bcc\",\n      \"css\": \"stop-circle-outline\",\n      \"code\": 984679,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM375 375V625H625V375H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stop-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ff17c55b537a6cc5a9238bde56e3034d\",\n      \"css\": \"test-tube\",\n      \"code\": 984680,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84V166H334V750Q334 818.4 382.8 867.2T500 916 617.2 867.2 666 750V166H709V84H291ZM459 666Q439.5 666 427.7 655.3T416 625 427.7 594.7 458 584 488.3 594.7 500 625 488.3 655.3 459 666ZM541 500Q523.4 500 511.7 488.3T500 458 511.7 427.7 542 416 572.3 427.7 584 458 572.3 488.3 541 500ZM584 291H416V166H584V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"test-tube\"\n      ]\n    },\n    {\n      \"uid\": \"4e02712aaff221595c3941f7815377d5\",\n      \"css\": \"text-shadow\",\n      \"code\": 984681,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H666V250H459V750H334V250H125V125ZM500 291H584V375H500V291ZM625 291H709V375H625V291ZM750 291H834V375H750V291ZM500 416H584V500H500V416ZM500 541H584V625H500V541ZM500 666H584V750H500V666ZM500 791H584V875H500V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-shadow\"\n      ]\n    },\n    {\n      \"uid\": \"f162c92d6ca8a5298a3d3998b317c13a\",\n      \"css\": \"tune-vertical\",\n      \"code\": 984682,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125H209V375H291V125ZM791 125H709V541H791V125ZM125 541H209V875H291V541H375V459H125V541ZM625 291H541V125H459V291H375V375H625V291ZM459 875H541V459H459V875ZM625 625V709H709V875H791V709H875V625H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tune-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"065fc52a64e6bfc071dd15b4b5020e62\",\n      \"css\": \"cart-off\",\n      \"code\": 984683,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M947.3 947.3L52.7 52.7 0 105.5 183.6 289.1 275.4 482.4 218.8 585.9Q209 603.5 209 625 209 660.2 233.4 684.6T291 709H601.6L660.2 765.6Q625 791 625 834 625 867.2 649.4 891.6T709 916Q752 916 775.4 880.9L894.5 1000ZM308.6 625Q304.7 625 301.8 622.1T298.8 615.2L300.8 609.4 337.9 541H435.5L519.5 625H308.6ZM648.4 541Q671.9 541 691.4 529.3T720.7 498L869.1 228.5Q875 218.8 875 209 875 191.4 863.3 178.7T834 166H273.4ZM291 750Q257.8 750 233.4 774.4T209 833 233.4 891.6 292 916 350.6 891.6 375 833 350.6 774.4 291 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-off\"\n      ]\n    },\n    {\n      \"uid\": \"83731cc6474ac635486cb45ec29e64df\",\n      \"css\": \"chart-gantt\",\n      \"code\": 984684,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209H416V84H500V916H416V750H250V625H416V541H166V416H416V334H84V209ZM584 209H709V334H584V209ZM584 416H791V541H584V416ZM584 625H916V750H584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-gantt\"\n      ]\n    },\n    {\n      \"uid\": \"8df11e128d288a34bdea633d8d73e28b\",\n      \"css\": \"chart-scatter-plot-hexbin\",\n      \"code\": 984685,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H166V834H916V916H84V84ZM584 603.5L500 750H330.1L246.1 603.5 330.1 459H500ZM585.9 271.5L502 416H334L250 271.5 334 125H502ZM884.8 437.5L800.8 584H632.8L548.8 437.5 632.8 291H800.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-scatter-plot-hexbin\"\n      ]\n    },\n    {\n      \"uid\": \"f1fcb73636998d5e763e23c5037ebb0c\",\n      \"css\": \"chart-timeline\",\n      \"code\": 984686,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H166V834H916V916H84V84ZM291 416H709V541H291V416ZM459 625H875V750H459V625ZM250 166H916V334H834V250H334V334H250V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-timeline\"\n      ]\n    },\n    {\n      \"uid\": \"87413b80e9c7d2db7f8cb7356b0ba496\",\n      \"css\": \"discord\",\n      \"code\": 984687,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 1000L697.3 791 724.6 875H187.5Q144.5 875 114.3 844.7T84 771.5V146.5Q84 103.5 114.3 72.3T187.5 41H812.5Q855.5 41 885.7 72.3T916 146.5V1000ZM500 283.2Q451.2 283.2 400.4 294.9 365.2 304.7 334 318.4L310.5 332Q335.9 306.6 384.8 287.1L427.7 271.5 419.9 263.7Q377 263.7 328.1 289.1 302.7 300.8 287.1 314.5V314.5Q253.9 380.9 238.3 453.1 224.6 503.9 220.7 552.7L218.8 591.8Q255.9 638.7 314.5 656.3 343.8 664.1 365.2 662.1L394.5 625Q371.1 619.1 349.6 605.5 334 593.8 320.3 580.1L308.6 568.4 334 582Q365.2 597.7 400.4 607.4 449.2 621.1 500 621.1T599.6 607.4Q634.8 597.7 666 582L691.4 568.4 679.7 580.1Q666 593.8 650.4 605.5 628.9 619.1 605.5 625L634.8 662.1 660.2 660.2Q689.5 656.3 716.8 644.5 753.9 627 781.3 591.8L779.3 552.7Q775.4 503.9 761.7 453.1 746.1 380.9 712.9 314.5L693.4 300.8Q669.9 287.1 644.5 277.3 611.3 263.7 580.1 263.7L572.3 271.5 615.2 287.1Q664.1 306.6 689.5 332L666 318.4Q634.8 304.7 599.6 294.9 548.8 283.2 500 283.2ZM414.1 441.4Q433.6 441.4 448.2 457T462.9 494.1 448.2 531.3 414.1 546.9 379.9 531.3 365.2 494.1 378.9 457 414.1 441.4ZM587.9 441.4Q607.4 441.4 622.1 457T636.7 494.1 622.1 531.3 587.9 546.9 553.7 531.3 539.1 494.1 552.7 457 587.9 441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"discord\"\n      ]\n    },\n    {\n      \"uid\": \"682803cda20b5315f443b903f9108b94\",\n      \"css\": \"file-restore\",\n      \"code\": 984688,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM500 750Q437.5 750 385.7 715.8T308.6 625H380.9Q400.4 654.3 431.6 670.9T500 687.5Q560.5 687.5 603.5 644.5T646.5 541 603.5 438.5 500 396.5Q459 396.5 424.8 418T371.1 474.6L437.5 541H271.5V375L324.2 429.7Q353.5 384.8 399.4 359.4T501 334 604.5 361.3 680.7 436.5 709 541 680.7 645.5 604.5 721.7 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-restore\"\n      ]\n    },\n    {\n      \"uid\": \"899628141f612cf2fc7328d062543cf7\",\n      \"css\": \"language-c\",\n      \"code\": 984689,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 666L662.1 767.6Q644.5 775.4 608.4 783.2T525.4 791Q388.7 789.1 318.4 710.9T248 507.8Q250 365.2 332 287.1T537.1 209Q582 209 617.2 216.8T668 232.4L642.6 335.9 599.6 322.3Q574.2 316.4 541 316.4 468.8 316.4 421.9 361.3T373 502Q373 585.9 418 634.8T543 683.6L597.7 679.7Q623 673.8 644.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-c\"\n      ]\n    },\n    {\n      \"uid\": \"1a71cdbea02262caaaed99f3ae87aa91\",\n      \"css\": \"language-cpp\",\n      \"code\": 984690,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 666L455.1 767.6Q439.5 775.4 403.3 783.2T318.4 791Q181.6 789.1 111.3 710T41 507.8Q44.9 365.2 127 287.1T330.1 209Q377 209 411.1 216.8T460.9 232.4L437.5 335.9 392.6 322.3Q369.1 316.4 335.9 316.4 263.7 316.4 215.8 362.3T166 502Q166 585.9 210.9 634.8T335.9 683.6L392.6 679.7Q416 673.8 437.5 666ZM459 459H541V375H625V459H709V541H625V625H541V541H459V459ZM750 459H834V375H916V459H1000V541H916V625H834V541H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-cpp\"\n      ]\n    },\n    {\n      \"uid\": \"5b5b65cc02821277dd95a2d38bb0e5fb\",\n      \"css\": \"language-xaml\",\n      \"code\": 984691,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M705.1 330.1L804.7 500 707 669.9 679.7 625 742.2 521.5Q753.9 500 742.2 480.5L679.7 375ZM705.1 273.4Q703.1 273.4 701.2 275.4L648.4 369.1Q644.5 373 648.4 378.9L716.8 496.1Q718.8 500 716.8 505.9L648.4 621.1Q646.5 625 648.4 630.9L701.2 722.7Q703.1 726.6 705.1 726.6T709 724.6L834 509.8Q837.9 500 834 492.2L709 275.4Q709 273.4 705.1 273.4ZM912.1 486.3L718.8 148.4Q709 134.8 693.4 134.8H302.7Q287.1 134.8 279.3 148.4L84 486.3Q76.2 500 84 513.7L279.3 851.6Q287.1 865.2 302.7 865.2H693.4Q709 865.2 718.8 851.6L912.1 513.7Q921.9 500 912.1 486.3ZM304.7 164.1H671.9L490.2 486.3H289.1L453.1 201.2Q455.1 199.2 453.1 196.3T449.2 193.4H341.8Q337.9 193.4 334 199.2L168 486.3H119.1ZM257.8 519.5L406.3 775.4H353.5L195.3 500 353.5 224.6H406.3L253.9 486.3Q250 500 255.9 513.7ZM304.7 835.9L119.1 513.7H168L334 800.8Q337.9 806.6 341.8 806.6H449.2Q451.2 806.6 453.1 803.7T453.1 798.8L289.1 513.7H490.2L673.8 835.9H304.7ZM699.2 822.3L515.6 500 699.2 175.8 886.7 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-xaml\"\n      ]\n    },\n    {\n      \"uid\": \"08a630244097fd5d05006f68437e0d24\",\n      \"css\": \"creation\",\n      \"code\": 984692,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 41L738.3 156.3 625 209 738.3 261.7 791 375 843.8 261.7 959 209 843.8 156.3ZM375 166L271.5 396.5 41 500 271.5 603.5 375 834 478.5 603.5 709 500 478.5 396.5ZM791 625L738.3 738.3 625 791 738.3 843.8 791 959 843.8 843.8 959 791 843.8 738.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"creation\"\n      ]\n    },\n    {\n      \"uid\": \"a650a0d58a034dd920a176dd006d9e4e\",\n      \"css\": \"bandcamp\",\n      \"code\": 984693,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 250L646.5 750H84L353.5 250H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bandcamp\"\n      ]\n    },\n    {\n      \"uid\": \"4a8c9d2b2a45098ba1c7fe9738d2bfe3\",\n      \"css\": \"credit-card-plus-outline\",\n      \"code\": 984694,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 750H1000V834H875V959H791V834H666V750H791V625H875V750ZM791 334V250H125V334H791ZM791 500H125V750H584V834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H791Q826.2 166 850.6 190.4T875 250V541H791V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"63a2d5674b6490498286e968695591a0\",\n      \"css\": \"pot-mix-outline\",\n      \"code\": 984695,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 375L750 128.9 820.3 169.9 705.1 375H607.4ZM679.7 416H875V500H791V791Q791 826.2 766.6 850.6T709 875H291Q257.8 875 233.4 850.6T209 791V500H125V416H679.7ZM709 500H291V791H709V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pot-mix-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9bcd6d7074ebd22a0fd0ed1bc8713ad9\",\n      \"css\": \"bow-tie\",\n      \"code\": 984696,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584L875 709V291L625 416V584ZM375 584L125 709V291L375 416V584ZM416 416H584V584H416V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bow-tie\"\n      ]\n    },\n    {\n      \"uid\": \"64cea5f1ea61be1633fc74717cd75402\",\n      \"css\": \"calendar-range\",\n      \"code\": 984697,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 416H291V500H375V416ZM541 416H459V500H541V416ZM709 416H625V500H709V416ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V334H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-range\"\n      ]\n    },\n    {\n      \"uid\": \"a4f02499d481d4f78c09579c97542243\",\n      \"css\": \"currency-usd-off\",\n      \"code\": 984698,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 177.7L177.7 125 875 822.3 822.3 875 669.9 722.7Q627 767.6 562.5 783.2V875H437.5V783.2Q373 767.6 332 723.6T291 625H375Q375 658.2 412.1 683.6T500 709Q535.2 709 564.5 696.3T611.3 664.1L486.3 539.1Q425.8 525.4 396.5 511.7 347.7 492.2 322.3 462.9 291 427.7 291 375 291 355.5 294.9 347.7ZM437.5 216.8V125H562.5V216.8Q627 232.4 668 276.4T709 375H625Q625 341.8 587.9 316.4T500 291Q478.5 291 457 296.9L392.6 232.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-usd-off\"\n      ]\n    },\n    {\n      \"uid\": \"8539c3a9e2af18a9275f772910fc9726\",\n      \"css\": \"flash-red-eye\",\n      \"code\": 984699,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209Q648.4 209 636.7 220.7T625 250 636.7 279.3 666 291 696.3 279.3 709 250 696.3 220.7 666 209ZM666 84Q582 84 514.6 129.9T416 250Q447.3 324.2 514.6 370.1T666 416 818.4 370.1 916 250Q886.7 175.8 818.4 129.9T666 84ZM666 146.5Q709 146.5 740.2 176.8T771.5 250 740.2 323.2 666 353.5 592.8 323.2 562.5 250 592.8 176.8 666 146.5ZM125 84V584H250V959L541 459H375L421.9 353.5Q377 304.7 353.5 250 375 197.3 414.1 154.3T503.9 84H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-red-eye\"\n      ]\n    },\n    {\n      \"uid\": \"4badb3880f39c6f9768185ca1c1b7800\",\n      \"css\": \"oar\",\n      \"code\": 984700,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M843.8 632.8Q765.6 556.6 699.2 511.7 591.8 441.4 531.3 468.8L187.5 125 125 187.5 470.7 533.2Q443.4 591.8 515.6 697.3 558.6 755.9 638.7 835.9 689.5 886.7 734.4 875 765.6 867.2 816.4 814.5 919.9 712.9 843.8 632.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"oar\"\n      ]\n    },\n    {\n      \"uid\": \"4403114980d7ccc49793b77bf1022f63\",\n      \"css\": \"piano\",\n      \"code\": 984701,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H834Q867.2 125 891.6 149.4T916 209V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125ZM166 209V791H334V541H281.3V209H166ZM375 791H625V541H572.3V209H427.7V541H375V791ZM666 791H834V209H718.8V541H666V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"piano\"\n      ]\n    },\n    {\n      \"uid\": \"d283f40d38ee06242315d0b474547f80\",\n      \"css\": \"weather-lightning-rainy\",\n      \"code\": 984702,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M187.5 566.4Q203.1 574.2 207 591.8T202.1 624 177.7 642.6 146.5 638.7V638.7Q97.7 611.3 69.3 563.5T41 459 69.3 354.5 145.5 278.3 250 250Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 117.2T728.5 208 771.5 334H791Q861.3 334 910.2 382.8T959 500 910.2 617.2 791 666Q773.4 666 761.7 654.3T750 625 761.7 595.7 791 584Q826.2 584 850.6 559.6T875 500 850.6 440.4 791 416H709V375Q709 318.4 680.7 270.5T604.5 194.3 500 166Q421.9 166 364.3 215.8T294.9 341.8Q271.5 334 250 334 197.3 334 161.1 370.1T125 459Q125 492.2 141.6 521.5T187.5 566.4V566.4ZM396.5 459H521.5L437.5 625H521.5L365.2 916 396.5 709H291ZM728.5 777.3Q728.5 818.4 701.2 846.7T634.8 875 568.4 846.7 541 778.3 587.9 666Q611.3 630.9 634.8 603.5V603.5L660.2 634.8Q687.5 671.9 705.1 705.1 728.5 750 728.5 777.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-lightning-rainy\"\n      ]\n    },\n    {\n      \"uid\": \"7c83282d80ab903d68d77987f443d6e8\",\n      \"css\": \"weather-snowy-rainy\",\n      \"code\": 984703,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 777.3Q771.5 818.4 744.1 846.7T677.7 875 611.3 846.7 584 778.3 630.9 666Q654.3 630.9 677.7 603.5V603.5L701.2 634.8Q728.5 671.9 746.1 705.1 771.5 750 771.5 777.3ZM166 722.7Q162.1 707 170.9 691.4T197.3 671.9L291 646.5 222.7 578.1Q209 564.5 209 546.9T221.7 516.6 252.9 503.9 283.2 517.6L351.6 585.9 377 492.2Q380.9 474.6 396.5 465.8T428.7 460.9 454.1 480.5 459 513.7L433.6 607.4 527.3 584Q544.9 578.1 560.5 586.9T581.1 613.3 577.1 645.5 550.8 664.1L457 689.5 525.4 757.8Q537.1 771.5 537.1 789.1T524.4 819.3 494.1 832 464.8 820.3L396.5 750 371.1 843.8Q365.2 861.3 350.6 870.1T318.4 875 292 855.5 287.1 822.3L312.5 728.5 218.8 753.9Q201.2 757.8 186.5 749T166 722.7ZM41 459Q41 402.3 69.3 354.5T145.5 278.3 250 250Q281.3 175.8 348.6 129.9T500 84Q570.3 84 630.9 117.2T728.5 208 771.5 334H791Q861.3 334 910.2 382.8T959 500 910.2 617.2 791 666Q773.4 666 761.7 654.3T750 625 761.7 595.7 791 584Q826.2 584 850.6 559.6T875 500 850.6 440.4 791 416H709V375Q709 318.4 680.7 270.5T604.5 194.3 500 166Q421.9 166 364.3 215.8T294.9 341.8Q271.5 334 250 334 197.3 334 161.1 370.1T125 459 162.1 548.8Q173.8 560.5 173.8 577.1T162.1 605.5 132.8 617.2 103.5 605.5Q41 544.9 41 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-snowy-rainy\"\n      ]\n    },\n    {\n      \"uid\": \"48e181339331387e90240e639851141d\",\n      \"css\": \"yin-yang\",\n      \"code\": 984704,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834Q431.6 834 382.8 785.2T334 667 382.8 548.8 500 500 617.2 451.2 666 333 617.2 214.8 500 166ZM500 271.5Q525.4 271.5 543.9 289.1T562.5 333 543.9 377.9 500 396.5 456.1 377.9 437.5 333 456.1 289.1 500 271.5ZM500 603.5Q474.6 603.5 456.1 622.1T437.5 667 456.1 710.9 500 728.5 543.9 710.9 562.5 667 543.9 622.1 500 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"yin-yang\"\n      ]\n    },\n    {\n      \"uid\": \"352767e28aa6a366f6d91801ec9567f8\",\n      \"css\": \"tower-beach\",\n      \"code\": 984705,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166V334H750V416H734.4L875 959H789.1L765.6 867.2 500 714.8 234.4 867.2 210.9 959H125L265.6 416H250V334H291V166H250V125L750 41V166H709ZM302.7 601.6L263.7 755.9 416 666ZM648.4 416H351.6L324.2 517.6 500 619.1 675.8 517.6ZM736.3 755.9L697.3 601.6 584 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tower-beach\"\n      ]\n    },\n    {\n      \"uid\": \"b7ea1efb05718723d745c62feb2356de\",\n      \"css\": \"tower-fire\",\n      \"code\": 984706,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166V334H750V416H734.4L875 959H789.1L765.6 867.2 500 714.8 234.4 867.2 210.9 959H125L265.6 416H250V334H291V166H250V125L500 41 750 125V166H709ZM302.7 601.6L263.7 755.9 416 666ZM648.4 416H351.6L324.2 517.6 500 619.1 675.8 517.6ZM736.3 755.9L697.3 601.6 584 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tower-fire\"\n      ]\n    },\n    {\n      \"uid\": \"f45371b42d451ec4c6d5c22aabc516c0\",\n      \"css\": \"delete-circle\",\n      \"code\": 984707,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM709 291H603.5L562.5 250H437.5L396.5 291H291V375H709V291ZM375 750H625Q642.6 750 654.3 738.3T666 709V416H334V709Q334 726.6 345.7 738.3T375 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-circle\"\n      ]\n    },\n    {\n      \"uid\": \"8b8edd687ff8215a714644c7cc8ba2fb\",\n      \"css\": \"dna\",\n      \"code\": 984708,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H250V166Q250 210.9 269.5 248T329.1 325.2 462.9 425.8L386.7 474.6Q314.5 425.8 271.5 382.8 166 283.2 166 166V84ZM750 84H834V166Q834 283.2 728.5 382.8 689.5 421.9 630.9 462.9 595.7 488.3 523.4 535.2V535.2Q451.2 582 416 605.5 361.3 642.6 328.1 675.8 289.1 714.8 269.5 752T250 834V916H166V834Q166 716.8 271.5 617.2 310.5 578.1 369.1 537.1 404.3 511.7 476.6 464.8V464.8Q548.8 418 584 394.5 638.7 357.4 671.9 324.2 710.9 285.2 730.5 248T750 166V84ZM613.3 525.4Q685.5 574.2 728.5 617.2 834 716.8 834 834V916H750V834Q750 789.1 730.5 752T670.9 674.8 537.1 574.2ZM291 125H709V166L705.1 187.5H294.9L291 166V125ZM320.3 250H679.7Q662.1 275.4 642.6 294.9L621.1 312.5H377L357.4 294.9Q337.9 275.4 320.3 250ZM378.9 687.5H623L642.6 705.1Q662.1 724.6 679.7 750H320.3Q337.9 724.6 357.4 705.1ZM294.9 812.5H705.1L709 834V875H291V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dna\"\n      ]\n    },\n    {\n      \"uid\": \"2947cf3d932124a8279f87f2cbc3a936\",\n      \"css\": \"hamburger\",\n      \"code\": 984709,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 666H916V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V666ZM250 166H750Q820.3 166 868.2 214.8T916 334V416H84V334Q84 263.7 131.8 214.8T250 166ZM166 459H625L709 541 791 459H834Q867.2 459 891.6 483.4T916 542 891.6 600.6 834 625H166Q132.8 625 108.4 600.6T84 542 108.4 483.4 166 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hamburger\"\n      ]\n    },\n    {\n      \"uid\": \"f7365bb19cb14e266b00f2e4930d1067\",\n      \"css\": \"gondola\",\n      \"code\": 984710,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416H541V316.4L921.9 252 912.1 191.4 683.6 228.5Q687.5 218.8 687.5 209 687.5 181.6 668.9 164.1T625 146.5 581.1 164.1 562.5 206.1 576.2 248L541 252V209H459V267.6L433.6 271.5Q437.5 259.8 437.5 250 437.5 224.6 418.9 206.1T375 187.5 331.1 206.1 312.5 250Q312.5 271.5 326.2 289.1L78.1 330.1 87.9 392.6 459 330.1V416H250Q214.8 416 190.4 440.4T166 500V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750V500Q834 464.8 809.6 440.4T750 416ZM250 500H343.8V666H250V500ZM406.3 666V500H593.8V666H406.3ZM750 666H656.3V500H750V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gondola\"\n      ]\n    },\n    {\n      \"uid\": \"e1fee42025e75792569a331d1605c3d0\",\n      \"css\": \"inbox\",\n      \"code\": 984711,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625H625Q625 677.7 588.9 713.9T500 750 411.1 713.9 375 625H209V209H791V625ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox\"\n      ]\n    },\n    {\n      \"uid\": \"890067f884ec98704e7f3d08f5bd34cf\",\n      \"css\": \"reorder-horizontal\",\n      \"code\": 984712,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625H875V541H125V625ZM125 791H875V709H125V791ZM125 459H875V375H125V459ZM125 209V291H875V209H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reorder-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"9240f102bde429388b126cd986975711\",\n      \"css\": \"reorder-vertical\",\n      \"code\": 984713,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125V875H459V125H375ZM209 125V875H291V125H209ZM541 125V875H625V125H541ZM791 125H709V875H791V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reorder-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"bc48a393df9c56108253f20198e8c5e3\",\n      \"css\": \"shield-home\",\n      \"code\": 984714,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V666H666V459H750L500 250 250 459H334V666H459V541ZM500 41L875 209V459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-home\"\n      ]\n    },\n    {\n      \"uid\": \"cf70eae23f573b980f4ea9d9b1a2609b\",\n      \"css\": \"tag-heart\",\n      \"code\": 984715,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM228.5 291Q203.1 291 184.6 273.4T166 229.5 184.6 184.6 229.5 166 273.4 184.6 291 229.5 273.4 273.4 228.5 291ZM718.8 636.7L541 814.5 363.3 636.7Q334 605.5 334 562.5T364.3 489.3 437.5 459 511.7 488.3L541 519.5 572.3 488.3Q601.6 459 645.5 459T719.7 489.3 750 562.5 718.8 636.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-heart\"\n      ]\n    },\n    {\n      \"uid\": \"1e8375aa44ca227bec14202afe69aba7\",\n      \"css\": \"skull\",\n      \"code\": 984716,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q398.4 84 312.5 133.8T175.8 270.5 125 459Q125 552.7 169.9 634.8T291 769.5V916H375V791H459V916H541V791H625V916H709V769.5Q785.2 716.8 830.1 633.8T875 459Q875 357.4 824.2 270.5T687.5 133.8 500 84ZM334 459Q367.2 459 391.6 483.4T416 542 391.6 600.6 333 625 274.4 600.6 250 542 274.4 483.4 334 459ZM666 459Q701.2 459 725.6 483.4T750 542 725.6 600.6 667 625 608.4 600.6 584 542 608.4 483.4 666 459ZM500 584L562.5 709H437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skull\"\n      ]\n    },\n    {\n      \"uid\": \"7fad641f8d5e5755710239a873e18c72\",\n      \"css\": \"solid\",\n      \"code\": 984717,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 0H1000V1000H0V0Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"solid\"\n      ]\n    },\n    {\n      \"uid\": \"a41bbeec0148e149b282af67185496e0\",\n      \"css\": \"alarm-snooze\",\n      \"code\": 984718,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M328.1 140.6L275.4 78.1 84 238.3 136.7 300.8ZM916 238.3L724.6 78.1 671.9 140.6 863.3 302.7ZM500 166Q398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916 687.5 866.2 824.2 729.5 875 541 824.2 353.5 687.5 216.8 500 166ZM500 834Q419.9 834 353.5 793.9T248 687.5 209 542 248 395.5 353.5 289.1 500 250 646.5 289.1 752 395.5 791 542 752 687.5 646.5 793.9 500 834ZM375 459H525.4L375 632.8V709H625V625H474.6L625 449.2V375H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-snooze\"\n      ]\n    },\n    {\n      \"uid\": \"b2fb87d5a8bfd1da5d16760c18738f0e\",\n      \"css\": \"baby-carriage\",\n      \"code\": 984719,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V416H875Q875 326.2 830.1 250T709 128.9 541 84ZM804.7 662.1Q875 572.3 875 459H267.6L228.5 375H84V459H175.8L216.8 544.9Q257.8 632.8 263.7 642.6 228.5 660.2 208 695.3T187.5 771.5Q187.5 832 230.5 874T334 916Q388.7 916 429.7 880.9T476.6 791H564.5Q572.3 845.7 613.3 880.9T709 916Q769.5 916 811.5 874T853.5 771.5Q853.5 705.1 804.7 662.1ZM334 834Q306.6 834 289.1 815.4T271.5 770.5 289.1 726.6 333 709 377.9 726.6 396.5 770.5 377.9 815.4 334 834ZM709 834Q681.6 834 664.1 815.4T646.5 770.5 664.1 726.6 708 709 752.9 726.6 771.5 770.5 752.9 815.4 709 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-carriage\"\n      ]\n    },\n    {\n      \"uid\": \"3bcda14e4c7f51f475c295d816d781f9\",\n      \"css\": \"beaker-outline\",\n      \"code\": 984720,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209Q839.8 209 815.4 233.4T791 291V791Q791 826.2 766.6 850.6T709 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 209V291H500V334H291V375H416V416H291V459H416V500H291V541H500V584H291V625H416V666H291V791H709V209H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cc1fe6b94695109600936b5f6ea97cd6\",\n      \"css\": \"bomb\",\n      \"code\": 984721,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M468.8 250Q468.8 193.4 508.8 154.3T604.5 115.2 700.2 154.3 740.2 250Q740.2 263.7 749 272.5T770.5 281.3 793 272.5 802.7 250V218.8H865.2V250Q865.2 289.1 837.9 316.4T771.5 343.8 705.1 316.4 677.7 250Q677.7 220.7 656.3 199.2T604.5 177.7 552.7 199.2 531.3 250H584V304.7Q673.8 330.1 732.4 408.2T791 584Q791 662.1 752 729.5T646.5 835.9 500 875 353.5 835.9 248 729.5 209 584Q209 486.3 267.6 408.2T416 304.7V250H468.8ZM916 250H1000V291H916V250ZM791 166V84H834V166H791ZM871.1 181.6L929.7 123 960.9 152.3 900.4 212.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bomb\"\n      ]\n    },\n    {\n      \"uid\": \"24a067210b7fda5c2fbd7b2d44fc6cbb\",\n      \"css\": \"calendar-question\",\n      \"code\": 984722,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 41V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H750V41H666V125H334V41H250ZM209 334H791V791H209V334ZM507.8 375Q453.1 375 419.9 400.4T388.7 472.7V474.6H468.8Q468.8 455.1 480.5 445.3T509.8 435.5 539.1 447.3 550.8 479.5 541 513.7 515.6 537.1Q482.4 558.6 470.7 575.2T459 625H541Q541 605.5 546.9 593.8T568.4 572.3Q597.7 556.6 615.2 532.2T632.8 478.5Q632.8 431.6 599.6 403.3T507.8 375ZM459 666V750H541V666H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-question\"\n      ]\n    },\n    {\n      \"uid\": \"c33999af4c08bba06da95d4594f6f45f\",\n      \"css\": \"camera-burst\",\n      \"code\": 984723,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 209H125V791H41V209ZM209 209H291V791H209V209ZM916 209H416Q398.4 209 386.7 220.7T375 250V750Q375 767.6 386.7 779.3T416 791H916Q933.6 791 946.3 779.3T959 750V250Q959 232.4 946.3 220.7T916 209ZM459 709L562.5 576.2 636.7 666 742.2 533.2 875 709H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-burst\"\n      ]\n    },\n    {\n      \"uid\": \"a7d217ff93f347069c6b1d392a8dfc14\",\n      \"css\": \"code-tags-check\",\n      \"code\": 984724,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M275.4 142.6L84 334 275.4 525.4 334 466.8 201.2 334 334 201.2ZM517.6 142.6L459 201.2 591.8 334 459 466.8 517.6 525.4 709 334ZM900.4 482.4L562.5 820.3 410.2 666 351.6 724.6 562.5 937.5 959 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-tags-check\"\n      ]\n    },\n    {\n      \"uid\": \"42abe16060d356b7b579b6d2626a75d9\",\n      \"css\": \"circle-multiple-outline\",\n      \"code\": 984725,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166Q714.8 166 792 210.9T914.1 333 959 500 914.1 667 792 789.1 625 834 458 789.1 335.9 667 291 500 335.9 333 458 210.9 625 166ZM625 750Q693.4 750 751 716.8T841.8 626 875 500 841.8 374 751 283.2 625 250 499 283.2 408.2 374 375 500 408.2 626 499 716.8 625 750ZM125 500Q125 580.1 171.9 644.5T291 736.3V822.3Q183.6 794.9 112.3 705.1T41 500 112.3 294.9 291 177.7V263.7Q218.8 291 171.9 355.5T125 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"af34391aa00fb3a9d0f9cc37be981661\",\n      \"css\": \"crop-rotate\",\n      \"code\": 984726,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M310.5 896.5Q207 845.7 140.6 752T62.5 541H0Q9.8 668 79.1 773.4T258.8 939.5 498 1000Q515.6 1000 525.4 998L367.2 839.8ZM502 0Q484.4 0 474.6 2L632.8 160.2 689.5 103.5Q793 154.3 859.4 248T937.5 459H1000Q990.2 332 920.9 226.6T741.2 60.5 502 0ZM666 584H750V334Q750 298.8 725.6 274.4T666 250H416V334H666V584ZM334 666V166H250V250H166V334H250V666Q250 701.2 274.4 725.6T334 750H666V834H750V750H834V666H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crop-rotate\"\n      ]\n    },\n    {\n      \"uid\": \"f2465db3a09193d5e2fae44a11262623\",\n      \"css\": \"developer-board\",\n      \"code\": 984727,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 375V291H834V209Q834 173.8 809.6 149.4T750 125H166Q132.8 125 108.4 149.4T84 209V791Q84 826.2 108.4 850.6T166 875H750Q785.2 875 809.6 850.6T834 791V709H916V625H834V541H916V459H834V375H916ZM750 791H166V209H750V791ZM250 541H459V709H250V541ZM500 291H666V416H500V291ZM250 291H459V500H250V291ZM500 459H666V709H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"developer-board\"\n      ]\n    },\n    {\n      \"uid\": \"1b09dd3d5c846c2bf08f99eca5d47514\",\n      \"css\": \"do-not-disturb\",\n      \"code\": 984728,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM709 541H291V459H709V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"do-not-disturb\"\n      ]\n    },\n    {\n      \"uid\": \"00bab85568cf5ee91855ef21fb887ab9\",\n      \"css\": \"do-not-disturb-off\",\n      \"code\": 984729,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 459V541H648.4L841.8 736.3Q916 630.9 916 500 916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84Q369.1 84 263.7 158.2L564.5 459H709ZM93.8 93.8L41 148.4 158.2 263.7Q84 369.1 84 500 84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916Q630.9 916 736.3 841.8L851.6 959 906.3 906.3ZM291 541V459H351.6L435.5 541H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"do-not-disturb-off\"\n      ]\n    },\n    {\n      \"uid\": \"9ee2dd6c5eadbe9876edf9a44bdd0d84\",\n      \"css\": \"douban\",\n      \"code\": 984730,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H166V166H834V250ZM834 750V834H166V750H304.7L261.7 584H209V334H791V584H738.3L695.3 750H834ZM291 500H709V416H291V500ZM392.6 750H607.4L652.3 584H347.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"douban\"\n      ]\n    },\n    {\n      \"uid\": \"b23d73e6a5b94155acf84475ebf2aa2d\",\n      \"css\": \"emoticon-dead-outline\",\n      \"code\": 984731,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916Q582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM673.8 324.2L630.9 367.2 585.9 324.2 541 367.2 585.9 412.1 541 455.1 585.9 500 630.9 455.1 673.8 500 718.8 455.1 673.8 412.1 718.8 367.2ZM326.2 500L369.1 455.1 414.1 500 459 455.1 414.1 412.1 459 367.2 414.1 324.2 369.1 367.2 326.2 324.2 281.3 367.2 326.2 412.1 281.3 455.1ZM500 584Q427.7 584 370.1 624T287.1 728.5H712.9Q687.5 664.1 629.9 624T500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-dead-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b34e0e13e8d5fc1fba06a1571291686c\",\n      \"css\": \"emoticon-excited-outline\",\n      \"code\": 984732,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916Q582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM541 414.1L585.9 459 630.9 414.1 673.8 459 718.8 414.1 630.9 326.2ZM369.1 414.1L414.1 459 459 414.1 369.1 326.2 281.3 414.1 326.2 459ZM500 728.5Q572.3 728.5 629.9 688.5T712.9 584H287.1Q312.5 648.4 370.1 688.5T500 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-excited-outline\"\n      ]\n    },\n    {\n      \"uid\": \"abefe790f30bdbe86508e0785a974a0b\",\n      \"css\": \"folder-star\",\n      \"code\": 984733,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM748 709L625 636.7 502 709 535.2 570.3 427.7 476.6 568.4 464.8 625 334 681.6 464.8 822.3 476.6 714.8 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-star\"\n      ]\n    },\n    {\n      \"uid\": \"49bd394b5ca1f79d77fb85a7a09d1d06\",\n      \"css\": \"format-color-text\",\n      \"code\": 984734,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M400.4 500L500 236.3 599.6 500H400.4ZM459 125L228.5 709H322.3L369.1 584H630.9L677.7 709H771.5L541 125H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-color-text\"\n      ]\n    },\n    {\n      \"uid\": \"e32817236678aaf96cd30798aa1aabdd\",\n      \"css\": \"format-section\",\n      \"code\": 984735,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M652.3 183.6Q591.8 146.5 519.5 148.4 468.8 148.4 435.5 170.9T402.3 232.4 441.4 296.9Q466.8 314.5 541 339.8 630.9 369.1 671.9 402.3 724.6 447.3 724.6 515.6 724.6 556.6 704.1 591.8T650.4 650.4Q691.4 689.5 691.4 748 691.4 830.1 625 877 566.4 916 478.5 916 386.7 919.9 306.6 869.1L334 806.6Q400.4 851.6 480.5 851.6 535.2 851.6 570.3 827.1T605.5 761.7 576.2 695.3 468.8 644.5Q371.1 609.4 328.1 576.2 275.4 533.2 275.4 466.8 277.3 425.8 299.8 390.6T357.4 335.9Q316.4 298.8 316.4 242.2 316.4 169.9 375 127T521.5 84Q605.5 84 675.8 121.1ZM472.7 558.6Q541 580.1 599.6 613.3 621.1 597.7 631.8 575.2T642.6 527.3Q642.6 457 541 421.9 470.7 398.4 404.3 365.2 380.9 378.9 367.2 403.3T353.5 457 380.9 511.7 472.7 558.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-section\"\n      ]\n    },\n    {\n      \"uid\": \"aa8e9b21ea8b8c5c1235a4619ed1cbfa\",\n      \"css\": \"gradient\",\n      \"code\": 984736,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375H541V459H459V375ZM375 459H459V541H375V459ZM541 459H625V541H541V459ZM625 375H709V459H625V375ZM291 375H375V459H291V375ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM375 750H291V666H375V750ZM541 750H459V666H541V750ZM709 750H625V666H709V750ZM791 459H709V541H791V625H709V541H625V625H541V541H459V625H375V541H291V625H209V541H291V459H209V209H791V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gradient\"\n      ]\n    },\n    {\n      \"uid\": \"23bd1c23559da126a4f614110a15ee65\",\n      \"css\": \"home-outline\",\n      \"code\": 984737,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 236.3L709 423.8V750H625V500H375V750H291V423.8ZM500 125L84 500H209V834H459V584H541V834H791V500H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eb5733d47d0db882e1cd50dff446d99e\",\n      \"css\": \"message-bulleted\",\n      \"code\": 984738,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM334 584H250V500H334V584ZM334 459H250V375H334V459ZM334 334H250V250H334V334ZM625 584H416V500H625V584ZM750 459H416V375H750V459ZM750 334H416V250H750V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-bulleted\"\n      ]\n    },\n    {\n      \"uid\": \"3432287f88bb0e5750f616aec9f4a195\",\n      \"css\": \"message-bulleted-off\",\n      \"code\": 984739,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M52.7 72.3L0 125 84 209V916L250 750H625L863.3 988.3 916 935.5ZM334 584H250V500H334V584ZM250 459V375L334 459H250ZM834 84H169.9L416 330.1V250H750V334H419.9L460.9 375H750V459H544.9L835.9 750Q869.1 748 892.6 724.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-bulleted-off\"\n      ]\n    },\n    {\n      \"uid\": \"b078fd4725f12bf912007e48fdb219a3\",\n      \"css\": \"nuke\",\n      \"code\": 984740,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M585.9 500H416V459H228.5Q168 459 126 416T84 312.5 126 209 228.5 166Q293 166 337.9 214.8 349.6 158.2 395.5 121.1T500 84 604.5 121.1 662.1 214.8Q707 166 771.5 166 832 166 874 209T916 312.5 874 416 771.5 459H585.9V500ZM416 705.1V656.3H209V574.2H791V656.3H585.9V705.1L834 794.9Q851.6 800.8 863.3 817.4T875 853.5Q875 880.9 856.4 898.4T812.5 916H187.5Q162.1 916 143.6 898.4T125 853.5Q125 834 136.7 817.4T166 794.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nuke\"\n      ]\n    },\n    {\n      \"uid\": \"34c9cced2e4e4e4cf21bc662dc91c5ba\",\n      \"css\": \"power-plug\",\n      \"code\": 984741,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 291V125H584V291H416V125H334V291Q302.7 291 276.4 317.4T250 375V603.5L396.5 750V875H603.5V750L750 603.5V375Q750 343.8 723.6 317.4T666 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-plug\"\n      ]\n    },\n    {\n      \"uid\": \"35008c40c2290374974a089f6fa67c24\",\n      \"css\": \"power-plug-off\",\n      \"code\": 984742,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L638.7 716.8 603.5 750V875H396.5V750L250 603.5V375Q250 357.4 259.8 339.8L46.9 125 99.6 72.3 921.9 894.5ZM750 603.5V375Q750 343.8 723.6 317.4T666 291V125H584V291H425.8L744.1 611.3ZM416 125H334V199.2L416 283.2V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-plug-off\"\n      ]\n    },\n    {\n      \"uid\": \"6dbd486022f736118515ffcf668a94dd\",\n      \"css\": \"publish\",\n      \"code\": 984743,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166V250H791V166H209ZM209 584H375V834H625V584H791L500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"publish\"\n      ]\n    },\n    {\n      \"uid\": \"9f6596828205fdf38933c1b1263a73d4\",\n      \"css\": \"credit-card-marker\",\n      \"code\": 984744,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 736.3 614.3 770.5 599.6 804.7 615.2 822.3 649.4 808.6 683.6 771.5 699.2ZM605.5 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V470.7Q878.9 439.5 834 425.8V334H166V459H640.6Q595.7 490.2 568.4 540T541 646.5Q541 724.6 605.5 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-marker\"\n      ]\n    },\n    {\n      \"uid\": \"9e33f45c045a4254c3828e5f06ce5518\",\n      \"css\": \"robot\",\n      \"code\": 984745,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q535.2 84 559.6 108.4T584 166Q584 189.5 572.3 209T541 238.3V291H584Q662.1 291 729.5 331.1T835.9 437.5 875 584H916Q933.6 584 946.3 595.7T959 625V750Q959 767.6 946.3 779.3T916 791H875V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V791H84Q66.4 791 53.7 779.3T41 750V625Q41 607.4 53.7 595.7T84 584H125Q125 503.9 164.1 437.5T270.5 331.1 416 291H459V238.3Q439.5 228.5 427.7 209T416 166Q416 132.8 440.4 108.4T500 84ZM312.5 541Q269.5 541 239.3 572.3T209 646.5 239.3 719.7 312.5 750 385.7 719.7 416 646.5 385.7 572.3 312.5 541ZM687.5 541Q644.5 541 614.3 572.3T584 646.5 614.3 719.7 687.5 750 760.7 719.7 791 646.5 760.7 572.3 687.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robot\"\n      ]\n    },\n    {\n      \"uid\": \"e1341de9ebf0ef993bfb0cb53daa7a44\",\n      \"css\": \"format-rotate-90\",\n      \"code\": 984746,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M306.6 267.6L35.2 537.1 306.6 806.6 576.2 537.1ZM154.3 537.1L306.6 384.8 459 537.1 306.6 689.5ZM806.6 277.3Q753.9 222.7 684.6 194.3T541 166V31.3L365.2 209 541 384.8V250Q599.6 250 652.3 271.5T748 335.9Q804.7 390.6 824.2 465.8T824.2 616.2 748 748Q705.1 789.1 652.3 811.5T540 834 423.8 808.6L361.3 869.1Q445.3 916 541 916 615.2 916 684.6 888.7T806.6 806.6Q878.9 734.4 904.3 637.7T904.3 444.3 806.6 277.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-rotate-90\"\n      ]\n    },\n    {\n      \"uid\": \"80dd735ed03dc150459d75c437fbcb7f\",\n      \"css\": \"scanner\",\n      \"code\": 984747,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M175.8 445.3L824.2 209 853.5 287.1 267.6 500H791Q826.2 500 850.6 524.4T875 584V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V521.5Q125 496.1 139.6 473.6T175.8 445.3ZM709 709H791V625H709V709ZM209 709H625V625H209V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scanner\"\n      ]\n    },\n    {\n      \"uid\": \"4fe0d932cd04ec55075ada85bb60c4ec\",\n      \"css\": \"subway\",\n      \"code\": 984748,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 625Q371.1 625 383.8 636.7T396.5 666 383.8 696.3 353.5 709 324.2 696.3 312.5 666 324.2 636.7 353.5 625ZM291 375H709V584H291V375ZM646.5 625Q664.1 625 675.8 636.7T687.5 666 675.8 696.3 646.5 709 616.2 696.3 603.5 666 616.2 636.7 646.5 625ZM750 662.1V375Q750 300.8 677.7 271.5 621.1 250 500 250 384.8 250 328.1 271.5 250 300.8 250 375V662.1Q250 707 282.2 739.3T359.4 771.5L312.5 818.4V834H382.8L445.3 771.5H562.5L625 834H687.5V818.4L640.6 771.5Q685.5 771.5 717.8 739.3T750 662.1ZM742.2 117.2Q824.2 148.4 870.1 214.8T916 369.1V916H84V369.1Q84 281.3 129.9 214.8T257.8 117.2Q308.6 95.7 378.9 89.8 427.7 84 500 84T621.1 89.8Q691.4 95.7 742.2 117.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subway\"\n      ]\n    },\n    {\n      \"uid\": \"c51302f07e133c16f5c0dc8336008975\",\n      \"css\": \"timer-sand-empty\",\n      \"code\": 984749,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84V334L416 500 250 666V916H750V666L584 500 750 334V84H250ZM666 687.5V834H334V687.5L500 521.5ZM500 478.5L334 312.5V166H666V312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-sand-empty\"\n      ]\n    },\n    {\n      \"uid\": \"f9795e3e476eec369200e11c1bba6af1\",\n      \"css\": \"transit-transfer\",\n      \"code\": 984750,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 646.5H916V709H687.5V781.3L584 677.7 687.5 572.3V646.5ZM812.5 822.3V750L916 853.5 812.5 959V884.8H584V822.3H812.5ZM396.5 228.5Q361.3 228.5 336.9 204.1T312.5 145.5 336.9 86.9 395.5 62.5 454.1 86.9 478.5 145.5 454.1 204.1 396.5 228.5ZM240.2 371.1L166 402.3V541H84V345.7L302.7 255.9Q318.4 250 334 250 355.5 250 374 260.7T404.3 289.1L443.4 355.5Q472.7 402.3 520.5 430.7T625 459V541Q556.6 541 498 512.7T398.4 433.6L373 558.6 459 644.5V959H375V709L285.2 625 212.9 959H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transit-transfer\"\n      ]\n    },\n    {\n      \"uid\": \"c1ae35908b1260e32e730c612149ce37\",\n      \"css\": \"unity\",\n      \"code\": 984751,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M421.9 709H312.5L107.4 500 312.5 291H421.9L476.6 197.3 757.8 125 835.9 406.3 781.3 500 835.9 593.8 757.8 875 476.6 802.7ZM427.7 697.3L640.6 755.9 517.6 541H271.5ZM712.9 712.9L771.5 500 712.9 287.1 589.8 500ZM427.7 302.7L271.5 459H517.6L640.6 244.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unity\"\n      ]\n    },\n    {\n      \"uid\": \"48a20e894d6f09cb67c330676bf42bb2\",\n      \"css\": \"update\",\n      \"code\": 984752,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 421.9H591.8L707 304.7Q650.4 248 575.2 227.5T425.8 225.6 294.9 299.8 218.8 429.7 218.8 578.1 294.9 708 425.8 783.2 575.2 783.2 707 709Q791 623 791 503.9H875Q875 570.3 847.7 638.7 818.4 714.8 765.6 765.6 693.4 837.9 596.7 862.3T403.3 862.3 235.4 766.6 138.7 599.6 137.7 408.2 234.4 242.2 402.3 146.5 593.8 146.5 761.7 242.2L875 125V421.9ZM521.5 334V509.8L666 597.7 636.7 648.4 459 541V334H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"update\"\n      ]\n    },\n    {\n      \"uid\": \"43f5a3f9286489627df9eb617d0f415a\",\n      \"css\": \"watch-vibrate\",\n      \"code\": 984753,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 709V291H209V709H125ZM791 709V291H875V709H791ZM916 375H1000V625H916V375ZM0 625V375H84V625H0ZM748 498Q748 556.6 722.7 608.4T654.3 695.3L623 873H375L343.8 695.3Q300.8 660.2 275.4 608.4T250 498 275.4 388.7 343.8 302.7L375 125H623L654.3 302.7Q697.3 337.9 722.7 388.7T748 498ZM312.5 498Q312.5 576.2 367.2 630.9T499 685.5 630.9 630.9 685.5 499 630.9 367.2 499 312.5 367.2 367.2 312.5 498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-vibrate\"\n      ]\n    },\n    {\n      \"uid\": \"d07fa555d09ded693481cd5f05a92069\",\n      \"css\": \"angular\",\n      \"code\": 984754,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L869.1 236.3 812.5 722.7 500 896.5 187.5 722.7 130.9 236.3ZM500 191.4L269.5 709H355.5L402.3 591.8H597.7L644.5 709H728.5ZM568.4 521.5H433.6L500 359.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"angular\"\n      ]\n    },\n    {\n      \"uid\": \"52a7d3b46a844b40549b056ae4a16433\",\n      \"css\": \"dolby\",\n      \"code\": 984755,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209V791H916V209H84ZM250 709H166V291H250Q308.6 293 357.4 322.3T433.6 398.4 460.9 500 433.6 601.6 357.4 677.7 250 709ZM834 709H750Q691.4 707 642.6 677.7T566.4 601.6 539.1 500 566.4 398.4 642.6 322.3 750 291H834V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dolby\"\n      ]\n    },\n    {\n      \"uid\": \"0028b5135370390448609d3e381efe23\",\n      \"css\": \"emby\",\n      \"code\": 984756,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84L250 291 291 334 84 541 291 750 334 709 541 916 750 709 709 666 916 459 709 250 666 291ZM416 353.5L666 500 416 646.5V353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emby\"\n      ]\n    },\n    {\n      \"uid\": \"be945a3e8f8f77129ee8962b5105509c\",\n      \"css\": \"lamp\",\n      \"code\": 984757,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666L834 584H166ZM459 625H541V834H750V916H250V834H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lamp\"\n      ]\n    },\n    {\n      \"uid\": \"81383043be25c99a198d47ea546b121b\",\n      \"css\": \"menu-down-outline\",\n      \"code\": 984758,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 375V437.5L500 687.5 250 437.5V375H750ZM500 570.3L611.3 459H388.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-down-outline\"\n      ]\n    },\n    {\n      \"uid\": \"79b8d2dd059fcc90a132756834d91423\",\n      \"css\": \"menu-up-outline\",\n      \"code\": 984759,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 666V603.5L500 353.5 250 603.5V666H750ZM500 472.7L611.3 584H388.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3f6ae69026ee24a2f39bbdff9d7ffd07\",\n      \"css\": \"note-multiple\",\n      \"code\": 984760,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375H896.5L666 146.5V375ZM291 84H709L959 334V750Q959 785.2 934.6 809.6T875 834H291Q257.8 834 233.4 809.6T209 750V166Q209 132.8 233.4 108.4T291 84ZM125 250V916H875V1000H125Q89.8 1000 65.4 975.6T41 916V250H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"b245fb67b05167acb5bb46ca260cffe4\",\n      \"css\": \"note-multiple-outline\",\n      \"code\": 984761,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250V916H875V1000H125Q89.8 1000 65.4 975.6T41 916V250H125ZM666 375H896.5L666 146.5V375ZM291 84H709L959 334V750Q959 785.2 934.6 809.6T875 834H291Q257.8 834 233.4 809.6T209 750V166Q209 132.8 233.4 108.4T291 84ZM291 166V750H875V459H584V166H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9204c2c6cc5610928a72e68c57407ba3\",\n      \"css\": \"plex\",\n      \"code\": 984762,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84H166ZM357.4 250H502L646.5 500 502 750H357.4L500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plex\"\n      ]\n    },\n    {\n      \"uid\": \"ff660c0cfde09443f18a4c9a70d6a6d6\",\n      \"css\": \"shield-airplane\",\n      \"code\": 984763,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM500 236.3Q515.6 236.3 527.3 248T539.1 275.4V421.9L750 552.7V605.5L539.1 539.1V683.6L591.8 724.6V763.7L500 736.3 408.2 763.7V724.6L460.9 683.6V539.1L250 605.5V552.7L460.9 421.9V275.4Q460.9 259.8 472.7 248T500 236.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-airplane\"\n      ]\n    },\n    {\n      \"uid\": \"42c5524b9a052be7dfaa9c00611dc207\",\n      \"css\": \"account-edit\",\n      \"code\": 984764,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 556.6L863.3 597.7 777.3 511.7 818.4 470.7Q826.2 464.8 835 464.8T851.6 470.7L904.3 523.4Q910.2 531.3 910.2 540T904.3 556.6ZM500 789.1L752 537.1 837.9 623 585.9 875H500V789.1ZM500 584Q410.2 584 333 606.4T210.9 667 166 750V834H416V753.9L584 587.9Q544.9 584 500 584ZM500 166Q431.6 166 382.8 214.8T334 333 382.8 451.2 500 500 617.2 451.2 666 333 617.2 214.8 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-edit\"\n      ]\n    },\n    {\n      \"uid\": \"c78f1952116f0ef45f1f6dff18023996\",\n      \"css\": \"alert-decagram\",\n      \"code\": 984765,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L857.4 384.8 871.1 230.5 720.7 197.3 642.6 64.5 500 125 357.4 64.5 279.3 197.3 128.9 230.5 142.6 382.8 41 500 142.6 615.2 128.9 769.5 279.3 804.7 357.4 935.5 500 875 642.6 935.5 720.7 802.7 871.1 769.5 857.4 615.2ZM541 709H459V625H541V709ZM541 541H459V291H541V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-decagram\"\n      ]\n    },\n    {\n      \"uid\": \"f059e8c6d5b3ec1cf049be0e63c236f0\",\n      \"css\": \"all-inclusive\",\n      \"code\": 984766,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M775.4 275.4Q730.5 275.4 689.5 292T617.2 339.8L324.2 599.6Q283.2 640.6 224.6 640.6T125 599.6 84 500 125 400.4 224.6 359.4 326.2 402.3L373 443.4 437.5 388.7 384.8 341.8Q351.6 310.5 310.5 293T224.6 275.4Q164.1 275.4 112.3 305.7T30.3 387.7 0 500 30.3 612.3 112.3 694.3 224.6 724.6Q269.5 724.6 310.5 708T382.8 660.2L675.8 400.4Q716.8 359.4 775.4 359.4T875 400.4 916 500 875 599.6 775.4 640.6 673.8 597.7L625 556.6 562.5 611.3 615.2 658.2Q681.6 724.6 775.4 724.6 835.9 724.6 887.7 694.3T969.7 612.3 1000 500 969.7 387.7 887.7 305.7 775.4 275.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"all-inclusive\"\n      ]\n    },\n    {\n      \"uid\": \"35615eabf293f9f26f93f66ce1146e39\",\n      \"css\": \"angularjs\",\n      \"code\": 984767,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L869.1 236.3 812.5 722.7 500 896.5 187.5 722.7 130.9 236.3ZM500 187.5L209 291 253.9 675.8 500 812.5 746.1 675.8 791 291ZM500 238.3L691.4 666H619.1L580.1 572.3H418L380.9 666H308.6ZM556.6 511.7L500 377 443.4 511.7H556.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"angularjs\"\n      ]\n    },\n    {\n      \"uid\": \"83ab9b29bb1522a9bf36f7dc4507bf4a\",\n      \"css\": \"arrow-down-box\",\n      \"code\": 984768,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM459 250V603.5L312.5 459 253.9 517.6 500 763.7 746.1 517.6 687.5 459 541 603.5V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-box\"\n      ]\n    },\n    {\n      \"uid\": \"125a0afea687dab17d53b1ef6a47ba87\",\n      \"css\": \"arrow-left-box\",\n      \"code\": 984769,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM750 459H396.5L541 312.5 482.4 253.9 236.3 500 482.4 746.1 541 687.5 396.5 541H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-box\"\n      ]\n    },\n    {\n      \"uid\": \"5f4c5ed05b2f91f04cc9bbf80c9c86e2\",\n      \"css\": \"arrow-right-box\",\n      \"code\": 984770,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 875Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209ZM250 541H603.5L459 687.5 517.6 746.1 763.7 500 517.6 253.9 459 312.5 603.5 459H250V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-box\"\n      ]\n    },\n    {\n      \"uid\": \"c5f8042f2085c7d341a9bc174ea07bb5\",\n      \"css\": \"arrow-up-box\",\n      \"code\": 984771,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791ZM541 750V396.5L687.5 541 746.1 482.4 500 236.3 253.9 482.4 312.5 541 459 396.5V750H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-box\"\n      ]\n    },\n    {\n      \"uid\": \"341f8978c7e185a0d1258a4a7b4229a3\",\n      \"css\": \"asterisk\",\n      \"code\": 984772,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584L550.8 412.1 818.4 218.8 902.3 363.3 601.6 500 902.3 636.7 818.4 781.3 550.8 587.9 584 916H416L449.2 587.9 181.6 781.3 97.7 636.7 398.4 500 97.7 363.3 181.6 218.8 449.2 412.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"asterisk\"\n      ]\n    },\n    {\n      \"uid\": \"477f9c2549d372a2ce7174f5929488b1\",\n      \"css\": \"bomb-off\",\n      \"code\": 984773,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 115.2Q548.8 115.2 508.8 154.3T468.8 250H416V304.7Q375 316.4 335.9 341.8L742.2 746.1Q791 673.8 791 584 791 486.3 732.4 408.2T584 304.7V250H531.3Q531.3 220.7 552.7 199.2T604.5 177.7 656.3 199.2 677.7 250Q677.7 289.1 705.1 316.4T770.5 343.8 835.9 316.4 863.3 250V218.8H802.7V250Q802.7 263.7 793 272.5T770.5 281.3 749 272.5 740.2 250Q740.2 193.4 700.2 154.3T603.5 115.2ZM142.6 265.6L84 324.2 230.5 470.7Q209 525.4 209 584 209 662.1 248 729.5T353.5 835.9 500 875Q556.6 875 611.3 851.6L759.8 1000 818.4 941.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bomb-off\"\n      ]\n    },\n    {\n      \"uid\": \"a4ae88b191f041a0613f0d8354aac74b\",\n      \"css\": \"bootstrap\",\n      \"code\": 984774,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M492.2 478.5H404.3V341.8H507.8Q546.9 341.8 568.4 358.4T589.8 409.2 564.5 460.9 492.2 478.5ZM505.9 525.4H404.3V677.7H511.7Q611.3 677.7 611.3 601.6T505.9 525.4ZM916 220.7V779.3Q916 835.9 876 876T779.3 916H220.7Q164.1 916 124 876T84 779.3V220.7Q84 164.1 124 124T220.7 84H779.3Q835.9 84 876 124T916 220.7ZM666 603.5Q666 560.5 639.6 532.2T570.3 498V496.1Q601.6 490.2 623 462.9T644.5 400.4Q644.5 353.5 610.4 323.2T521.5 293H351.6V724.6H519.5Q587.9 724.6 627 692.4T666 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bootstrap\"\n      ]\n    },\n    {\n      \"uid\": \"853bf5d52f78677e026eaa0c1ee43049\",\n      \"css\": \"cards-variant\",\n      \"code\": 984775,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84H791Q808.6 84 821.3 95.7T834 125V541Q834 558.6 821.3 571.3T791 584H209Q191.4 584 178.7 571.3T166 541V125Q166 107.4 178.7 95.7T209 84ZM250 166V500H750V166H250ZM834 709Q834 726.6 821.3 738.3T791 750H209Q191.4 750 178.7 738.3T166 709V666H834V709ZM834 875Q834 892.6 821.3 904.3T791 916H209Q191.4 916 178.7 904.3T166 875V834H834V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f1483875fde291d2c5d8cd5a66d08a00\",\n      \"css\": \"clipboard-flow\",\n      \"code\": 984776,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM625 791L459 625H584V334H666V625H791ZM416 666H334V375H209L375 209 541 375H416V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-flow\"\n      ]\n    },\n    {\n      \"uid\": \"2caf1a43f58b11b1e60a45e8e5ea9364\",\n      \"css\": \"close-outline\",\n      \"code\": 984777,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 697.3L324.2 500 125 302.7 302.7 125 500 324.2 697.3 125 875 302.7 675.8 500 875 697.3 697.3 875 500 675.8 302.7 875ZM500 558.6L697.3 755.9 755.9 697.3 558.6 500 755.9 302.7 697.3 244.1 500 441.4 302.7 244.1 244.1 302.7 441.4 500 244.1 697.3 302.7 755.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a609aaf5f876bbf051e230a428b5daa0\",\n      \"css\": \"coffee-outline\",\n      \"code\": 984778,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 875V791H834V875H84ZM834 334V209H750V334H834ZM834 125Q867.2 125 891.6 149.4T916 209V334Q916 367.2 891.6 391.6T834 416H750V541Q750 611.3 701.2 660.2T584 709H334Q263.7 709 214.8 660.2T166 541V125H834ZM666 209H250V541Q250 576.2 274.4 600.6T334 625H584Q617.2 625 641.6 600.6T666 541V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3b82a34bc81649b111b5476148754dff\",\n      \"css\": \"contacts\",\n      \"code\": 984779,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 0H166V84H834V0ZM166 1000H834V916H166V1000ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM500 281.3Q539.1 281.3 566.4 308.6T593.8 375 566.4 441.4 500 468.8 433.6 441.4 406.3 375 433.6 308.6 500 281.3ZM709 709H291V646.5Q291 613.3 330.1 587.9 363.3 566.4 416 552.7 460.9 541 500 541T584 552.7Q636.7 566.4 669.9 587.9 709 613.3 709 646.5V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contacts\"\n      ]\n    },\n    {\n      \"uid\": \"d7d55c3d376ff5a88429c2cef26f00b3\",\n      \"css\": \"delete-empty\",\n      \"code\": 984780,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M849.6 371.1L806.6 443.4 300.8 152.3 343.8 80.1 470.7 152.3 527.3 136.7 707 242.2 722.7 298.8ZM250 791V291H460.9L750 459V791Q750 826.2 725.6 850.6T666 875H334Q298.8 875 274.4 850.6T250 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-empty\"\n      ]\n    },\n    {\n      \"uid\": \"fe231cff6d829238e3e532c1ec197529\",\n      \"css\": \"earth-box\",\n      \"code\": 984781,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM658.2 209H791V716.8Q783.2 691.4 755.9 674.8T699.2 658.2H658.2V533.2Q658.2 515.6 646.5 503.9T617.2 492.2H367.2V408.2H449.2Q466.8 408.2 479.5 395.5T492.2 367.2V283.2H574.2Q607.4 283.2 630.9 261.7T658.2 209ZM209 429.7L408.2 617.2V658.2Q408.2 693.4 432.6 717.8T492.2 742.2V791H209V429.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-box\"\n      ]\n    },\n    {\n      \"uid\": \"a466df0343fee67a16baa609c9830b0a\",\n      \"css\": \"earth-box-off\",\n      \"code\": 984782,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 177.7L875 261.7V791Q875 826.2 850.6 850.6T791 875H261.7L177.7 959 125 904.3 904.3 125ZM209 125H798.8L716.8 209H658.2Q654.3 240.2 630.9 261.7T574.2 283.2H492.2V367.2Q492.2 382.8 479.5 395.5T449.2 408.2H367.2V492.2H431.6L355.5 568.4 209 429.7V716.8L125 798.8V209Q125 173.8 149.4 149.4T209 125ZM492.2 791V742.2Q451.2 742.2 425.8 710.9L343.8 791H492.2ZM658.2 533.2V658.2H699.2Q728.5 658.2 755.9 674.8T791 716.8V343.8L638.7 498Q658.2 509.8 658.2 533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-box-off\"\n      ]\n    },\n    {\n      \"uid\": \"cef8c8c2b6ad691fb8ad93cf832a629f\",\n      \"css\": \"email-alert\",\n      \"code\": 984783,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375V291L416 459 166 291V375L416 541ZM666 209Q701.2 209 725.6 233.4T750 291V666Q750 701.2 725.6 725.6T666 750H166Q132.8 750 108.4 725.6T84 666V291Q84 257.8 108.4 233.4T166 209H666ZM834 500V291H916V500H834ZM834 666V584H916V666H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-alert\"\n      ]\n    },\n    {\n      \"uid\": \"9cd1495199d49a26eb44495503209979\",\n      \"css\": \"eye-outline\",\n      \"code\": 984784,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM500 187.5Q654.3 187.5 779.3 274.4T959 500Q904.3 638.7 779.3 725.6T500 812.5 220.7 725.6 41 500Q95.7 361.3 220.7 274.4T500 187.5ZM132.8 500Q183.6 605.5 283.2 667T500 728.5 716.8 667 867.2 500Q816.4 394.5 716.8 333T500 271.5 283.2 333 132.8 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5051a904ccd3acd844c3f96bc77864b1\",\n      \"css\": \"eye-off-outline\",\n      \"code\": 984785,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 652.3 789.1Q578.1 812.5 500 812.5 345.7 812.5 220.7 725.6T41 500Q84 388.7 173.8 310.5ZM500 375Q552.7 375 588.9 411.1T625 500Q625 521.5 617.2 541L459 382.8Q478.5 375 500 375ZM500 187.5Q654.3 187.5 779.3 274.4T959 500Q906.3 632.8 791 716.8L732.4 656.3Q820.3 595.7 867.2 500 816.4 394.5 716.8 333T500 271.5Q433.6 271.5 369.1 291L304.7 228.5Q398.4 187.5 500 187.5ZM132.8 500Q183.6 605.5 283.2 667T500 728.5Q544.9 728.5 584 720.7L488.3 625Q443.4 621.1 411.1 588.9T375 511.7L232.4 369.1Q169.9 423.8 132.8 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2f6eaca4d9cb8283a5c538a01cec3182\",\n      \"css\": \"fast-forward-outline\",\n      \"code\": 984786,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 412.1L750 500 625 587.9V412.1ZM250 412.1L375 500 250 587.9V412.1ZM541 250V750L896.5 500ZM166 250V750L521.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fast-forward-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9f584d4bb7d2684ecf3e0cc05b8eeae2\",\n      \"css\": \"feather\",\n      \"code\": 984787,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 84H880.9Q835.9 87.9 789.1 99.6 720.7 117.2 656.3 148.4 574.2 185.5 503.9 246.1 418 314.5 347.7 412.1 281.3 502 224.6 601.6 179.7 681.6 142.6 763.7 117.2 822.3 97.7 875L84 916 164.1 875Q209 796.9 239.3 754.9T314.5 666Q402.3 693.4 472.7 677.7 558.6 660.2 625 584 568.4 566.4 505.9 566.4 464.8 566.4 377 576.2 459 519.5 523.4 502.9T666 500L709 416Q650.4 406.3 606.4 406.3T509.8 418Q578.1 369.1 623 351.6 679.7 330.1 750 334L800.8 252Q753.9 250 714.8 253.9 681.6 259.8 621.1 273.4 671.9 228.5 722.7 206.1T839.8 179.7L865.2 138.7Q896.5 93.8 916 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"feather\"\n      ]\n    },\n    {\n      \"uid\": \"6a2b5edf4075896696a49b706aaff769\",\n      \"css\": \"find-replace\",\n      \"code\": 984788,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250Q500 250 538.1 265.6T605.5 310.5L500 416H750V166L664.1 252Q625 210.9 571.3 188.5T459 166Q386.7 166 324.2 199.2T220.7 290 169.9 416H253.9Q269.5 345.7 326.2 297.9T459 250ZM693.4 630.9Q736.3 572.3 746.1 500H662.1Q648.4 572.3 590.8 619.1T459 666Q416 666 377.9 650.4T310.5 605.5L416 500H166V750L252 664.1Q293 705.1 345.7 727.5T459 750Q556.6 750 630.9 693.4L834 896.5 896.5 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"find-replace\"\n      ]\n    },\n    {\n      \"uid\": \"11a8c9e66e342b12aad04e91e5a8edfa\",\n      \"css\": \"flash-outline\",\n      \"code\": 984789,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709L562.5 375H709L416 916V584H291V84ZM375 166V500H500V611.3L584 459H425.8L574.2 166H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-outline\"\n      ]\n    },\n    {\n      \"uid\": \"041038cea4881114c714690313f91db7\",\n      \"css\": \"format-font\",\n      \"code\": 984790,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 334H834V834H875V875H709V834H750V709H584L521.5 834H584V875H416V834H459ZM750 375L603.5 666H750V375ZM209 125H416Q451.2 125 475.6 149.4T500 209V666H375V459H250V666H125V209Q125 173.8 149.4 149.4T209 125ZM250 209V375H375V209H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-font\"\n      ]\n    },\n    {\n      \"uid\": \"f4c225d529664a6114283d95c2788845\",\n      \"css\": \"format-page-break\",\n      \"code\": 984791,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 834H250V750H166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V750H750V834ZM584 84H250Q214.8 84 190.4 108.4T166 166V500H250V166H584V334H750V500H834V334ZM459 666H334V584H459V666ZM666 666H541V584H666V666ZM125 584H250V666H125V584ZM875 666H750V584H875V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-page-break\"\n      ]\n    },\n    {\n      \"uid\": \"91d3798da4db4392d4acfb13c5673193\",\n      \"css\": \"format-pilcrow\",\n      \"code\": 984792,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 459Q347.7 459 298.8 410.2T250 292 298.8 173.8 416 125H750V209H666V875H584V209H500V875H416V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-pilcrow\"\n      ]\n    },\n    {\n      \"uid\": \"86645009685596afaf03404ad51a6847\",\n      \"css\": \"garage\",\n      \"code\": 984793,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834H709V459H291V834H209V375L500 209 791 375V834ZM334 500H666V584H334V500ZM334 625H666V709H334V625ZM666 750V834H334V750H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"garage\"\n      ]\n    },\n    {\n      \"uid\": \"1a2b5d34de39acfb53617e4024175e84\",\n      \"css\": \"garage-open\",\n      \"code\": 984794,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834H709V459H291V834H209V375L500 209 791 375V834ZM334 500H666V584H334V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"garage-open\"\n      ]\n    },\n    {\n      \"uid\": \"437b7eba5e2ba752f60cfcb4e97b628c\",\n      \"css\": \"card-account-details-star-outline\",\n      \"code\": 984795,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 919.9L935.5 982.4 908.2 865.2 1000 787.1 878.9 777.3 834 666 787.1 777.3 666 787.1 757.8 865.2 728.5 982.4ZM585.9 875H84Q48.8 873 25.4 849.6T0 791V209Q2 173.8 25.4 150.4T84 125H916Q951.2 127 974.6 150.4T1000 209V646.5Q964.8 615.2 916 597.7V209H84V791H585.9Q584 814.5 584 834T585.9 875ZM584 709H166V656.3Q166 625 205.1 597.7 238.3 576.2 291 564.5 335.9 552.7 375 552.7T459 564.5Q511.7 576.2 544.9 597.7 584 625 584 656.3V709ZM584 459H750V500H584V459ZM375 291Q332 291 301.8 322.3T271.5 396.5 301.8 469.7 375 500 448.2 469.7 478.5 396.5 448.2 322.3 375 291ZM584 375H834V416H584V375ZM584 291H834V334H584V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-details-star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f260db021c75dd8ae91794f260e1433f\",\n      \"css\": \"google-keep\",\n      \"code\": 984796,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V722.7L722.7 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM709 709V843.8L843.8 709H709ZM416 791H584V750H625V541Q664.1 511.7 686.5 468.8T709 375Q709 318.4 680.7 270.5T604.5 194.3 500 166 395.5 194.3 319.3 270.5 291 375Q291 425.8 313.5 468.8T375 541V750H416V791ZM584 709H416V625H584V709ZM500 209Q568.4 209 617.2 257.8T666 375Q666 421.9 643.6 460T584 519.5V584H416V519.5Q378.9 498 356.4 460T334 375Q334 306.6 382.8 257.8T500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-keep\"\n      ]\n    },\n    {\n      \"uid\": \"f13c09c3f42bf8ad0d125e2675ead5a9\",\n      \"css\": \"google-photos\",\n      \"code\": 984797,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 541Q451.2 541 475.6 565.4T500 625V916Q500 927.7 488.3 927.7 484.4 927.7 478.5 921.9L291 736.3V541H416ZM521.5 78.1L709 263.7V459H584Q548.8 459 524.4 434.6T500 375V84Q500 72.3 511.7 72.3 515.6 72.3 521.5 78.1ZM916 500Q927.7 500 927.7 511.7 927.7 515.6 921.9 521.5L736.3 709H541V584Q541 548.8 565.4 524.4T625 500H916ZM263.7 291H459V416Q459 451.2 434.6 475.6T375 500H84Q72.3 500 72.3 488.3 72.3 484.4 78.1 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-photos\"\n      ]\n    },\n    {\n      \"uid\": \"74a16e1dd5cad13e3bf535997c464f24\",\n      \"css\": \"heart-half-full\",\n      \"code\": 984798,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 209Q640.6 209 600.6 234.4T541 300.8V738.3Q697.3 597.7 753.9 529.3 834 431.6 834 353.5 834 291 792 250T687.5 209ZM687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 429.7 871.1 505.9 832 572.3 748 658.2 695.3 712.9 560.5 834L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-half-full\"\n      ]\n    },\n    {\n      \"uid\": \"a0c5c4d53bdb4e0a8e9a6c9554747655\",\n      \"css\": \"heart-half\",\n      \"code\": 984799,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 300.8V738.3 851.6L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q365.2 125 418 149.4T505.9 214.8 541 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-half\"\n      ]\n    },\n    {\n      \"uid\": \"a9bfa86a7842b57fab5ceae5927b34b1\",\n      \"css\": \"heart-half-outline\",\n      \"code\": 984800,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 353.5Q166 431.6 246.1 529.3 302.7 597.7 459 738.3V300.8Q439.5 259.8 399.4 234.4T312.5 209Q250 209 208 250T166 353.5ZM541 300.8V738.3 851.6L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q365.2 125 418 149.4T505.9 214.8 541 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-half-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c1e5102f5313c1730420bd1c0d776644\",\n      \"css\": \"hexagon-multiple\",\n      \"code\": 984801,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M427.7 84Q439.5 84 445.3 93.8L537.1 259.8 541 271.5 537.1 283.2 445.3 447.3Q439.5 459 427.7 459H240.2Q226.6 459 220.7 447.3L128.9 283.2 125 271.5 128.9 259.8 220.7 93.8Q226.6 84 240.2 84H427.7ZM427.7 541Q439.5 541 445.3 552.7L537.1 716.8 541 728.5 537.1 740.2 445.3 906.3Q439.5 916 427.7 916H240.2Q226.6 916 220.7 906.3L128.9 740.2 125 728.5 128.9 716.8 220.7 552.7Q226.6 541 240.2 541H427.7ZM812.5 312.5Q824.2 312.5 830.1 324.2L923.8 488.3 927.7 500 923.8 511.7 830.1 675.8Q824.2 687.5 812.5 687.5H625Q613.3 687.5 607.4 675.8L513.7 511.7 509.8 500 513.7 488.3 607.4 324.2Q613.3 312.5 625 312.5H812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"bb22bf1636de8dd55299576b190039e0\",\n      \"css\": \"hook\",\n      \"code\": 984802,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 250Q750 306.6 714.8 351.6T625 410.2V709Q625 750 609.4 788.1T564.5 855.5 497.1 900.4 416 916Q359.4 916 311.5 888.7T236.3 813.5 209 709V500L416 709H291Q291 759.8 328.1 796.9T417 834 504.9 796.9 541 709V410.2Q486.3 396.5 451.2 351.6T416 248Q416 179.7 464.8 131.8T583 84 701.2 132.8 750 250ZM584 334Q617.2 334 641.6 309.6T666 250 641.6 190.4 583 166 524.4 190.4 500 250 524.4 309.6 584 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hook\"\n      ]\n    },\n    {\n      \"uid\": \"7846325418fd23846403313c63510d1c\",\n      \"css\": \"hook-off\",\n      \"code\": 984803,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 410.2V466.8L625 548.8V410.2Q691.4 394.5 726.6 335T744.1 208 668 105.5 542 87.9 439.5 165 421.9 291Q433.6 335.9 465.8 368.2T541 410.2ZM584 166Q617.2 166 641.6 190.4T666 250 641.6 309.6 583 334 524.4 309.6 500 250 524.4 190.4 584 166ZM781.3 916L619.1 755.9Q605.5 810.5 567.4 850.6T475.6 906.3 367.2 908.2Q298.8 892.6 253.9 835.9T209 709V500L416 709H291Q291 759.8 328.1 796.9T417 834 504.9 796.9 541 709V677.7L84 218.8 136.7 166 834 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hook-off\"\n      ]\n    },\n    {\n      \"uid\": \"a443c38fba899ea1e61c38757493bebc\",\n      \"css\": \"infinity\",\n      \"code\": 984804,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M775.4 275.4Q835.9 275.4 887.7 305.7T969.7 387.7 1000 500 969.7 612.3 887.7 694.3 775.4 724.6Q681.6 724.6 615.2 658.2L500 556.6 382.8 660.2Q351.6 691.4 310.5 708T224.6 724.6Q164.1 724.6 112.3 694.3T30.3 612.3 0 500 30.3 387.7 112.3 305.7 224.6 275.4Q269.5 275.4 310.5 293T384.8 341.8L500 443.4 617.2 339.8Q648.4 308.6 689.5 292T775.4 275.4ZM324.2 599.6L437.5 500 326.2 402.3Q283.2 359.4 224.6 359.4T125 400.4 84 500 125 599.6 224.6 640.6 324.2 599.6ZM675.8 400.4L562.5 500 673.8 597.7Q716.8 640.6 775.4 640.6T875 599.6 916 500 875 400.4 775.4 359.4 675.8 400.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"infinity\"\n      ]\n    },\n    {\n      \"uid\": \"bbd164456319b2556a33c883f0dda946\",\n      \"css\": \"language-swift\",\n      \"code\": 984805,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M712.9 822.3Q636.7 865.2 540 867.2T343.8 826.2Q261.7 791 195.3 733.4T84 603.5Q121.1 634.8 179.7 662.1 283.2 710.9 382.8 710T558.6 662.1Q390.6 533.2 209 298.8 195.3 285.2 171.9 250L162.1 236.3Q271.5 316.4 386.7 412.1 427.7 447.3 429.7 444.3T396.5 394.5Q324.2 289.1 263.7 195.3 390.6 322.3 537.1 433.6 609.4 488.3 656.3 517.6L671.9 525.4Q677.7 509.8 681.6 494.1 707 406.3 682.6 309.6T595.7 127Q689.5 183.6 755.9 269.5T847.7 452.1 849.6 636.7Q847.7 646.5 847.7 652.3 875 685.5 890.6 722.7 906.3 753.9 912.1 787.1 918 814.5 917 835.9T912.1 867.2 904.3 871.1Q849.6 763.7 712.9 822.3V822.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-swift\"\n      ]\n    },\n    {\n      \"uid\": \"2459b415d327772a01755e0bba438774\",\n      \"css\": \"language-typescript\",\n      \"code\": 984806,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V875H125V125ZM570.3 744.1Q587.9 777.3 620.1 796.9T699.2 816.4Q752 816.4 784.2 790T816.4 718.8Q816.4 675.8 793 650.4 771.5 628.9 722.7 607.4L705.1 599.6Q681.6 589.8 671.9 581.1T662.1 558.6 670.9 536.1 695.3 527.3Q724.6 527.3 742.2 556.6L794.9 521.5Q763.7 464.8 695.3 464.8 648.4 464.8 620.1 491.2T591.8 558.6 615.2 625Q634.8 646.5 677.7 664.1L695.3 671.9Q722.7 685.5 732.4 691.4 746.1 703.1 746.1 718.8T733.4 744.1 699.2 753.9Q654.3 753.9 628.9 710.9ZM541 468.8H334V531.3H396.5V834H468.8V531.3H541V468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-typescript\"\n      ]\n    },\n    {\n      \"uid\": \"13f061a57310cd4d2b57dbfac6f73aa2\",\n      \"css\": \"laptop-off\",\n      \"code\": 984807,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 834 863.3 781.3 916 697.3 834H0V750H166Q132.8 750 108.4 725.6T84 666V250Q84 238.3 87.9 224.6ZM166 666H531.3L166 302.7V666ZM834 666V250H326.2L242.2 166H834Q867.2 166 891.6 190.4T916 250V666Q916 701.2 891.6 725.6T834 750H1000V834H908.2L742.2 666H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laptop-off\"\n      ]\n    },\n    {\n      \"uid\": \"f1df412e49451510bda63f1f25ab04aa\",\n      \"css\": \"lightbulb-on\",\n      \"code\": 984808,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q568.4 250 626 283.2T716.8 374 750 500 715.8 626 625 716.8V791Q625 808.6 613.3 821.3T584 834H416Q398.4 834 386.7 821.3T375 791V716.8Q318.4 683.6 284.2 626T250 500 283.2 374 374 283.2 500 250ZM584 875V916Q584 933.6 571.3 946.3T541 959H459Q441.4 959 428.7 946.3T416 916V875H584ZM834 459H959V541H834V459ZM41 459H166V541H41V459ZM541 41V166H459V41H541ZM205.1 146.5L293 234.4 234.4 293 146.5 205.1ZM707 234.4L794.9 146.5 853.5 205.1 765.6 293Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-on\"\n      ]\n    },\n    {\n      \"uid\": \"447114a2de1a681ce671c0c148f2e68a\",\n      \"css\": \"lightbulb-on-outline\",\n      \"code\": 984809,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 459H959V541H834V459ZM41 459H166V541H41V459ZM541 41V166H459V41H541ZM205.1 146.5L293 234.4 234.4 293 146.5 205.1ZM707 234.4L794.9 146.5 853.5 205.1 765.6 293ZM500 250Q568.4 250 626 283.2T716.8 374 750 500 715.8 626 625 716.8V791Q625 808.6 613.3 821.3T584 834H416Q398.4 834 386.7 821.3T375 791V716.8Q318.4 683.6 284.2 626T250 500 283.2 374 374 283.2 500 250ZM584 875V916Q584 933.6 571.3 946.3T541 959H459Q441.4 959 428.7 946.3T416 916V875H584ZM459 750H541V662.1Q595.7 646.5 630.9 602.5T666 500Q666 431.6 617.2 382.8T500 334 382.8 382.8 334 500Q334 558.6 369.1 602.5T459 662.1V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-on-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0fa86864836b8b2431c30bc1668b5b27\",\n      \"css\": \"lock-pattern\",\n      \"code\": 984810,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125Q361.3 125 410.2 173.8T459 291Q459 349.6 423.8 394.5T334 453.1V546.9Q355.5 552.7 377 564.5L564.5 377Q541 337.9 541 291 541 222.7 589.8 173.8T708 125 826.2 173.8 875 292 826.2 410.2 709 459Q662.1 459 625 435.5L435.5 625Q459 662.1 459 709 459 777.3 410.2 826.2T292 875 173.8 826.2 125 709Q125 650.4 160.2 605.5T250 546.9V453.1Q195.3 439.5 160.2 394.5T125 291Q125 222.7 173.8 173.8T291 125ZM709 541Q777.3 541 826.2 589.8T875 708 826.2 826.2 708 875 589.8 826.2 541 708 589.8 589.8 709 541ZM709 625Q673.8 625 649.4 649.4T625 708 649.4 766.6 708 791 766.6 766.6 791 708 766.6 649.4 709 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-pattern\"\n      ]\n    },\n    {\n      \"uid\": \"6f32ffc9b733fe478c2c3d0dc2c1e1bf\",\n      \"css\": \"folder-zip\",\n      \"code\": 984811,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM750 500H666V584H750V666H666V750H584V666H666V584H584V500H666V416H584V334H666V416H750V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-zip\"\n      ]\n    },\n    {\n      \"uid\": \"6af8f6bcfa1425fc025915fe532e0217\",\n      \"css\": \"magnify-minus-outline\",\n      \"code\": 984812,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 584H613.3L601.6 572.3Q666 496.1 666 396.5 666 322.3 629.9 259.8T531.3 161.1 395.5 125 259.8 161.1 161.1 259.8 125 395.5 161.1 531.3 259.8 629.9 396.5 666Q496.1 666 572.3 601.6L584 613.3V646.5L791 853.5 853.5 791ZM396.5 584Q318.4 584 263.7 529.3T209 396.5 263.7 263.7 396.5 209 529.3 263.7 584 396.5 529.3 529.3 396.5 584ZM291 375H500V416H291V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"583a980b06585a206b71f7721f660ea8\",\n      \"css\": \"magnify-plus-outline\",\n      \"code\": 59418,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 584L853.5 791 791 853.5 584 646.5V613.3L572.3 601.6Q496.1 666 396.5 666 322.3 666 259.8 629.9T161.1 531.3 125 395.5 161.1 259.8 259.8 161.1 395.5 125 531.3 161.1 629.9 259.8 666 396.5Q666 496.1 601.6 572.3L613.3 584H646.5ZM396.5 584Q474.6 584 529.3 529.3T584 396.5 529.3 263.7 396.5 209 263.7 263.7 209 396.5 263.7 529.3 396.5 584ZM500 416H416V500H375V416H291V375H375V291H416V375H500V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"af308920608ef3effa35eb533904fe54\",\n      \"css\": \"mailbox\",\n      \"code\": 984814,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166H291Q234.4 166 186.5 194.3T111.3 270.5 84 375V834H834Q867.2 834 891.6 809.6T916 750V375Q916 318.4 888.7 270.5T813.5 194.3 709 166ZM416 750H166V375Q166 322.3 203.1 286.1T292 250 379.9 286.1 416 375V750ZM791 625H709V541H541V459H791V625ZM375 459H209V375H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox\"\n      ]\n    },\n    {\n      \"uid\": \"d242bb446ff11b48e2bdbe13f9341d07\",\n      \"css\": \"medical-bag\",\n      \"code\": 984815,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 125L334 209V291H209Q173.8 291 151.4 316.4T125 375L84 791Q80.1 826.2 101.6 850.6T166 875H834Q877 875 898.4 850.6T916 791L875 375Q871.1 341.8 847.7 316.4T791 291H666V209L584 125H416ZM416 209H584V291H416V209ZM459 416H541V541H666V625H541V750H459V625H334V541H459V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"medical-bag\"\n      ]\n    },\n    {\n      \"uid\": \"db0dbb57481f2201c730bc4c326aca20\",\n      \"css\": \"message-settings\",\n      \"code\": 984816,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM459 1000H541V916H459V1000ZM291 1000H375V916H291V1000ZM625 1000H709V916H625V1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-settings\"\n      ]\n    },\n    {\n      \"uid\": \"ad552ff00de71130ede32439234f7a19\",\n      \"css\": \"message-cog\",\n      \"code\": 984817,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 416Q562.5 443.4 543.9 460.9T500 478.5 456.1 460.9 437.5 417 456.1 372.1 500 353.5 543.9 372.1 562.5 416ZM916 166V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166ZM699.2 470.7L654.3 437.5Q654.3 427.7 655.3 417T654.3 396.5L699.2 361.3Q705.1 355.5 701.2 347.7L658.2 275.4Q656.3 269.5 646.5 271.5L593.8 291Q576.2 277.3 558.6 271.5L550.8 216.8Q550.8 209 541 209H459Q449.2 209 447.3 216.8L439.5 271.5Q421.9 279.3 404.3 291L351.6 271.5Q343.8 267.6 339.8 275.4L298.8 347.7Q293 355.5 300.8 361.3L343.8 396.5Q341.8 416 343.8 437.5L300.8 470.7Q293 476.6 298.8 484.4L339.8 556.6Q343.8 564.5 351.6 562.5L404.3 541Q421.9 554.7 439.5 562.5L447.3 617.2Q449.2 625 459 625H541Q550.8 625 552.7 617.2L560.5 560.5Q574.2 554.7 595.7 541L646.5 562.5Q658.2 562.5 660.2 556.6L701.2 484.4Q705.1 476.6 699.2 470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-cog\"\n      ]\n    },\n    {\n      \"uid\": \"0e822fc347ebb6ccc92df885ca76c638\",\n      \"css\": \"minus-box-outline\",\n      \"code\": 984818,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V209H209V791H791ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM709 459V541H291V459H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ebef5e12f5bdb6f1d6677dc85c2a7e20\",\n      \"css\": \"network\",\n      \"code\": 984819,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network\"\n      ]\n    },\n    {\n      \"uid\": \"6b77c14847a1c405f3afc21cfef272da\",\n      \"css\": \"download-network\",\n      \"code\": 984820,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709ZM500 603.5L687.5 416H541V250H459V416H312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-network\"\n      ]\n    },\n    {\n      \"uid\": \"db2f42a0e04afc85563d546ef4e26687\",\n      \"css\": \"help-network\",\n      \"code\": 984821,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709ZM507.8 209Q453.1 209 419.9 233.4T388.7 306.6V308.6H468.8Q468.8 289.1 480.5 279.3T509.8 269.5 539.1 281.3 550.8 312.5 541 346.7 515.6 371.1Q482.4 392.6 470.7 409.2T459 459H541Q541 437.5 546.9 426.8T568.4 406.3Q597.7 390.6 615.2 366.2T632.8 312.5Q632.8 265.6 599.6 237.3T507.8 209ZM459 500V584H541V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-network\"\n      ]\n    },\n    {\n      \"uid\": \"53d2938d3947a0b16f93c9c9ac837670\",\n      \"css\": \"upload-network\",\n      \"code\": 984822,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709ZM500 228.5L312.5 416H459V584H541V416H687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-network\"\n      ]\n    },\n    {\n      \"uid\": \"8bcf200f9adc6948b8fa1eb73d74faf2\",\n      \"css\": \"npm\",\n      \"code\": 984823,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 416V584H250V459H291V584H334V416H166ZM375 416V625H459V584H541V416H375ZM500 459V541H459V459H500ZM584 416V584H666V459H709V584H750V459H791V584H834V416H584ZM125 375H875V625H500V666H334V625H125V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"npm\"\n      ]\n    },\n    {\n      \"uid\": \"f410c5fee63c08c7c802f5d4c49131a2\",\n      \"css\": \"nut\",\n      \"code\": 984824,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 291Q443.4 291 395.5 319.3T319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709 604.5 680.7 680.7 604.5 709 500 680.7 395.5 604.5 319.3 500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nut\"\n      ]\n    },\n    {\n      \"uid\": \"0882299dd9b7dac91073d0c72484004f\",\n      \"css\": \"octagram\",\n      \"code\": 984825,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M91.8 669.9L162.1 500 91.8 330.1 261.7 261.7 330.1 91.8 500 162.1 669.9 91.8 738.3 261.7 908.2 330.1 837.9 500 908.2 669.9 738.3 738.3 669.9 908.2 500 837.9 330.1 908.2 261.7 738.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"octagram\"\n      ]\n    },\n    {\n      \"uid\": \"015b05a11d903b852d23ddd313e810d1\",\n      \"css\": \"page-layout-body\",\n      \"code\": 984826,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM250 334V666H750V334H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-layout-body\"\n      ]\n    },\n    {\n      \"uid\": \"8839ab91414c35cd9c243cc0b4bb6632\",\n      \"css\": \"page-layout-footer\",\n      \"code\": 984827,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM250 666V834H750V666H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-layout-footer\"\n      ]\n    },\n    {\n      \"uid\": \"b0928dcbc3366572e2f63c3b1e9c9f0e\",\n      \"css\": \"page-layout-header\",\n      \"code\": 984828,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM250 166V334H750V166H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-layout-header\"\n      ]\n    },\n    {\n      \"uid\": \"4b94e03c16ef791a11846781b7b9b8ac\",\n      \"css\": \"page-layout-sidebar-left\",\n      \"code\": 984829,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM250 334V666H416V334H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-layout-sidebar-left\"\n      ]\n    },\n    {\n      \"uid\": \"21f34300ad26878250b4312a0ac7dc32\",\n      \"css\": \"page-layout-sidebar-right\",\n      \"code\": 984830,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM584 334V666H750V334H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-layout-sidebar-right\"\n      ]\n    },\n    {\n      \"uid\": \"8a7e3a6a311e110c5d5e98942ef8ea18\",\n      \"css\": \"pencil-circle\",\n      \"code\": 984831,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM628.9 294.9Q638.7 294.9 646.5 300.8L699.2 353.5Q705.1 361.3 705.1 371.1T699.2 386.7L656.3 427.7 572.3 343.8 613.3 300.8Q619.1 294.9 628.9 294.9ZM546.9 367.2L632.8 453.1 380.9 705.1H294.9V619.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-circle\"\n      ]\n    },\n    {\n      \"uid\": \"4dbd09e0d32f8f12e19e8f5faba75bf0\",\n      \"css\": \"pentagon-outline\",\n      \"code\": 984832,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209L816.4 437.5 695.3 808.6H304.7L183.6 437.5ZM500 103.5L84 408.2 242.2 896.5H753.9L916 408.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pentagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"024c9dbdb5ed57d4ac77096c745f43b9\",\n      \"css\": \"pentagon\",\n      \"code\": 984833,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L84 408.2 242.2 896.5H757.8L916 408.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pentagon\"\n      ]\n    },\n    {\n      \"uid\": \"5116882517bf3cffc2a4290c0aca1558\",\n      \"css\": \"pillar\",\n      \"code\": 984834,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 209H750Q767.6 209 779.3 220.7T791 250 779.3 279.3 750 291H250Q232.4 291 220.7 279.3T209 250 220.7 220.7 250 209ZM875 84V166H125V84H875ZM625 334H709V916H625V334ZM291 334H375V916H291V334ZM459 334H541V916H459V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pillar\"\n      ]\n    },\n    {\n      \"uid\": \"b47012cbf91b1c6cbad1a4511f4ba2e1\",\n      \"css\": \"pistol\",\n      \"code\": 984835,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 209H959V375H916V416H666Q648.4 416 636.7 428.7T625 459V500Q625 535.2 600.6 559.6T541 584H400.4Q375 584 363.3 607.4L261.7 810.5Q250 834 224.6 834H84L72.3 832Q58.6 828.1 50.8 816.4 39.1 802.7 39.1 779.3 39.1 750 56.6 705.1 78.1 654.3 125 584L142.6 556.6Q160.2 525.4 166 500 175.8 462.9 160.2 443.4 140.6 416 84 416V209H125L146.5 166H271.5ZM584 500V459Q584 441.4 571.3 428.7T541 416H500L490.2 429.7Q482.4 445.3 482.4 459 482.4 482.4 500 500 464.8 500 440.4 475.6T416 416Q398.4 416 386.7 428.7T375 459V500Q375 517.6 386.7 529.3T416 541H541Q558.6 541 571.3 529.3T584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pistol\"\n      ]\n    },\n    {\n      \"uid\": \"f79b0df4b6b37fe94677f9c14d45ec69\",\n      \"css\": \"plus-box-outline\",\n      \"code\": 984836,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V209H209V791H791ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM459 291H541V459H709V541H541V709H459V541H291V459H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7969ae7d23129d3e729b98aece0a0661\",\n      \"css\": \"plus-outline\",\n      \"code\": 984837,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 375H375V166H625V375H834V625H625V834H375V625H166V375ZM459 541V750H541V541H750V459H541V250H459V459H250V541H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3789542be05b5eaa7322bfc9096f0070\",\n      \"css\": \"prescription\",\n      \"code\": 984838,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166V416 584H250V416H334L558.6 642.6 410.2 791 468.8 849.6 617.2 701.2 767.6 849.6 826.2 791 675.8 642.6 826.2 492.2 767.6 433.6 617.2 584 451.2 416H459Q509.8 416 546.9 379.9T584 292 546.9 203.1 459 166H166ZM250 250H459Q476.6 250 488.3 261.7T500 291 488.3 321.3 459 334H250V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"prescription\"\n      ]\n    },\n    {\n      \"uid\": \"bc409c0f5f6d625948d63ed505f2c33c\",\n      \"css\": \"printer-settings\",\n      \"code\": 984839,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84V250H250V84H750ZM791 459Q808.6 459 821.3 446.3T834 416 821.3 386.7 791 375 761.7 386.7 750 416 761.7 446.3 791 459ZM666 750V541H334V750H666ZM791 291Q843.8 291 879.9 328.1T916 416V666H750V834H250V666H84V416Q84 365.2 120.1 328.1T209 291H791ZM625 1000V916H709V1000H625ZM459 1000V916H541V1000H459ZM291 1000V916H375V1000H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-settings\"\n      ]\n    },\n    {\n      \"uid\": \"e244abbeca54d534c5e9d50d0075d973\",\n      \"css\": \"react\",\n      \"code\": 984840,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 421.9Q533.2 421.9 555.7 444.3T578.1 499 554.7 553.7 500 576.2 445.3 553.7 421.9 499 444.3 444.3 500 421.9ZM306.6 834Q328.1 845.7 368.2 827.1T457 761.7Q423.8 724.6 394.5 683.6 341.8 677.7 294.9 668 279.3 734.4 283.2 778.3T306.6 834ZM335.9 593.8L324.2 572.3Q314.5 597.7 312.5 609.4L349.6 615.2ZM609.4 562.5L642.6 500 609.4 437.5 570.3 377Q548.8 375 500 375T429.7 377L390.6 437.5 357.4 500 390.6 562.5 429.7 623Q451.2 625 500 625T570.3 623ZM500 283.2V283.2Q484.4 300.8 474.6 312.5H525.4Q515.6 300.8 500 283.2V283.2ZM500 716.8V716.8Q515.6 699.2 525.4 687.5H474.6Q484.4 699.2 500 716.8V716.8ZM693.4 166Q671.9 154.3 631.8 172.9T543 238.3Q576.2 275.4 605.5 316.4 658.2 322.3 705.1 332 720.7 265.6 716.8 221.7T693.4 166ZM664.1 406.3L675.8 427.7Q685.5 402.3 687.5 390.6L650.4 384.8ZM724.6 111.3Q767.6 136.7 777.3 203.1 787.1 261.7 765.6 345.7 849.6 371.1 896.5 408.2 947.3 449.2 947.3 500T896.5 591.8Q849.6 628.9 765.6 654.3 787.1 738.3 777.3 796.9 767.6 863.3 723.6 888.7T619.1 888.7Q562.5 867.2 500 806.6 437.5 867.2 380.9 888.7 320.3 914.1 276.4 888.7T222.7 796.9Q212.9 738.3 234.4 654.3 150.4 628.9 103.5 591.8 52.7 550.8 52.7 500T103.5 408.2Q150.4 371.1 234.4 345.7 212.9 261.7 222.7 203.1 232.4 136.7 276.4 111.3T380.9 111.3Q437.5 132.8 500 193.4 562.5 132.8 619.1 111.3 679.7 85.9 724.6 111.3ZM710.9 500Q734.4 548.8 748 593.8 812.5 574.2 848.6 548.8T884.8 500 848.6 451.2 748 406.3Q734.4 451.2 710.9 500ZM289.1 500Q265.6 451.2 252 406.3 187.5 425.8 151.4 451.2T115.2 500 151.4 548.8 252 593.8Q265.6 548.8 289.1 500ZM664.1 593.8Q656.3 605.5 650.4 615.2L687.5 609.4Q685.5 597.7 675.8 572.3ZM543 761.7Q591.8 808.6 631.8 827.1T692.4 834 716.8 778.3 705.1 668Q658.2 677.7 605.5 683.6 576.2 724.6 543 761.7ZM335.9 406.3Q343.8 394.5 349.6 384.8L312.5 390.6Q314.5 402.3 324.2 427.7ZM457 238.3Q408.2 191.4 368.2 172.9T307.6 166 283.2 221.7 294.9 332Q341.8 322.3 394.5 316.4 423.8 275.4 457 238.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"react\"\n      ]\n    },\n    {\n      \"uid\": \"1aa14525d0a24414d21606f319d6aaf8\",\n      \"css\": \"restart\",\n      \"code\": 984841,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q566.4 166 627 191.4T732.4 261.7Q796.9 326.2 819.3 412.1T819.3 584 732.4 732.4Q679.7 791 603.5 816.4 531.3 839.8 455.1 830.1L474.6 746.1Q529.3 752 582 733.4T675.8 675.8Q722.7 627 739.3 563.5T739.3 434.6 675.8 320.3Q640.6 287.1 593.8 268.6T500 250V441.4L291 232.4 500 25.4V166ZM261.7 732.4Q181.6 652.3 168.9 540T212.9 330.1L275.4 392.6Q240.2 460.9 252.9 540T324.2 675.8Q355.5 707 400.4 724.6L375 808.6Q312.5 783.2 261.7 732.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"restart\"\n      ]\n    },\n    {\n      \"uid\": \"e789834c4fcf60eba5e30312dae1f47c\",\n      \"css\": \"rewind-outline\",\n      \"code\": 984842,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 412.1L291 500 416 587.9V412.1ZM791 412.1L666 500 791 587.9V412.1ZM500 250V750L146.5 500ZM875 250V750L521.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rewind-outline\"\n      ]\n    },\n    {\n      \"uid\": \"770696da1c8200ffe6846fa76e6a027b\",\n      \"css\": \"rhombus\",\n      \"code\": 984843,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rhombus\"\n      ]\n    },\n    {\n      \"uid\": \"fa701463fb953a0d05fa3d98b91a9d50\",\n      \"css\": \"rhombus-outline\",\n      \"code\": 984844,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 166L834 500 500 834 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rhombus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c552d9428611e0711e7a5cecdee54ed8\",\n      \"css\": \"robot-vacuum\",\n      \"code\": 984845,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1L736.3 263.7Q687.5 216.8 627 191.4T500 166 372.1 191.4 263.7 263.7L205.1 205.1Q263.7 146.5 340.8 115.2T500 84ZM152.3 271.5L212.9 330.1Q166 410.2 166 500T210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 787.1 330.1L847.7 271.5Q916 375 916 500 916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500Q84 375 152.3 271.5ZM500 250Q568.4 250 626 283.2T716.8 374 750 500Q750 548.8 730.5 595.7T675.8 675.8L617.2 617.2Q568.4 666 500 666T382.8 617.2L324.2 675.8Q289.1 642.6 269.5 595.7T250 500Q250 431.6 283.2 374T374 283.2 500 250ZM500 334Q482.4 334 470.7 345.7T459 375 470.7 404.3 500 416 529.3 404.3 541 375 529.3 345.7 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robot-vacuum\"\n      ]\n    },\n    {\n      \"uid\": \"4aa04a57681a9ab2af79ff9bbc33d6eb\",\n      \"css\": \"run\",\n      \"code\": 984846,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 228.5Q595.7 228.5 621.1 204.1T646.5 145.5 622.1 86.9 562.5 62.5 502.9 86.9 478.5 145.5 502.9 204.1 562.5 228.5ZM412.1 806.6L453.1 625 541 709V959H625V646.5L537.1 562.5 562.5 437.5Q603.5 486.3 664.1 513.7T791 541V459Q732.4 459 685.5 430.7T611.3 357.4L570.3 291Q543 250 500 250 494.1 250 483.4 252T466.8 253.9L250 345.7V541H334V398.4L408.2 369.1 341.8 709 136.7 666 121.1 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"run\"\n      ]\n    },\n    {\n      \"uid\": \"4e88c5eae68a814b692ac6605a5617ef\",\n      \"css\": \"search-web\",\n      \"code\": 984847,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 584L853.5 791 791 853.5 584 646.5V613.3L572.3 601.6Q496.1 666 396.5 666 322.3 666 259.8 629.9T161.1 531.3 125 395.5 161.1 259.8 259.8 161.1 395.5 125 531.3 161.1 629.9 259.8 666 396.5Q666 496.1 601.6 572.3L613.3 584H646.5ZM396.5 187.5L373 189.5Q349.6 240.2 335.9 291H455.1Q441.4 240.2 418 189.5 412.1 187.5 396.5 187.5ZM576.2 291Q537.1 224.6 464.8 199.2 486.3 246.1 498 291H576.2ZM214.8 291H294.9Q306.6 246.1 326.2 199.2 253.9 224.6 214.8 291ZM187.5 396.5Q187.5 427.7 197.3 459H287.1L281.3 396.5 287.1 334H197.3Q187.5 363.3 187.5 396.5ZM593.8 459Q603.5 427.7 603.5 395.5T593.8 334H505.9Q509.8 365.2 509.8 396.5T505.9 459H593.8ZM328.1 334L322.3 396.5 328.1 459H462.9Q468.8 427.7 468.8 396.5T462.9 334H328.1ZM396.5 603.5H418Q441.4 552.7 455.1 500H335.9Q349.6 552.7 373 603.5H396.5ZM576.2 500H498Q486.3 546.9 464.8 591.8 537.1 568.4 576.2 500ZM214.8 500Q253.9 568.4 326.2 591.8 306.6 546.9 294.9 500H214.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"search-web\"\n      ]\n    },\n    {\n      \"uid\": \"dc7d3e3b4c35389ec1e79ca93fa4c08d\",\n      \"css\": \"shovel\",\n      \"code\": 984848,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M628.9 76.2L511.7 193.4Q486.3 216.8 486.3 252T511.7 310.5L570.3 369.1 380.9 560.5 263.7 441.4 203.1 500Q111.3 591.8 97.7 683.6 85.9 750 115.2 808.6 128.9 837.9 146.5 853.5L162.1 867.2Q185.5 882.8 210.9 892.6 246.1 906.3 285.2 904.3 334 902.3 382.8 880.9 441.4 853.5 500 794.9L558.6 736.3 441.4 619.1 630.9 431.6 689.5 488.3Q712.9 513.7 748 513.7T806.6 488.3L925.8 371.1ZM748 427.7L689.5 371.1 570.3 252 630.9 193.4 806.6 369.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shovel\"\n      ]\n    },\n    {\n      \"uid\": \"95b73e2be1ef7f0369b253c1d4575cb6\",\n      \"css\": \"shovel-off\",\n      \"code\": 984849,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M628.9 76.2L511.7 193.4Q486.3 218.8 486.3 252.9T511.7 310.5L570.3 371.1 541 400.4 601.6 460.9 632.8 429.7 689.5 488.3Q714.8 513.7 749 513.7T808.6 488.3L925.8 369.1ZM748 427.7L570.3 252 628.9 193.4 806.6 369.1ZM863.3 843.8L804.7 902.3 478.5 578.1 437.5 619.1 554.7 736.3 500 794.9Q408.2 886.7 316.4 902.3 250 912.1 191.4 884.8 162.1 871.1 146.5 853.5L132.8 837.9Q117.2 814.5 107.4 789.1 93.8 753.9 93.8 714.8 95.7 666 119.1 617.2 146.5 558.6 203.1 500L263.7 441.4 380.9 560.5 421.9 517.6 97.7 195.3 156.3 136.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shovel-off\"\n      ]\n    },\n    {\n      \"uid\": \"e08c00df8a4fad94469c3c05032a0953\",\n      \"css\": \"signal-2g\",\n      \"code\": 984850,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 812.5H84V562.5Q84 509.8 120.1 473.6T209 437.5H334V312.5H84V187.5H334Q384.8 187.5 421.9 223.6T459 312.5V437.5Q459 490.2 421.9 526.4T334 562.5H209V687.5H459V812.5ZM916 437.5H728.5V562.5H791V687.5H666V312.5H916V187.5H666Q615.2 187.5 578.1 223.6T541 312.5V687.5Q541 740.2 578.1 776.4T666 812.5H791Q843.8 812.5 879.9 776.4T916 687.5V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-2g\"\n      ]\n    },\n    {\n      \"uid\": \"435e1537cf33cf8cd2c1cc165cdb78c4\",\n      \"css\": \"signal-3g\",\n      \"code\": 984851,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 687.5V593.8Q459 554.7 431.6 527.3T365.2 500Q404.3 500 431.6 472.7T459 406.3V312.5Q459 259.8 421.9 223.6T334 187.5H84V312.5H334V437.5H209V562.5H334V687.5H84V812.5H334Q384.8 812.5 421.9 776.4T459 687.5ZM916 687.5V437.5H728.5V562.5H791V687.5H666V312.5H916V187.5H666Q615.2 187.5 578.1 223.6T541 312.5V687.5Q541 740.2 578.1 776.4T666 812.5H791Q843.8 812.5 879.9 776.4T916 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-3g\"\n      ]\n    },\n    {\n      \"uid\": \"950d027b4bb68530e3be0b9bd273f0dc\",\n      \"css\": \"signal-4g\",\n      \"code\": 984852,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 687.5V437.5H728.5V562.5H791V687.5H666V312.5H916V187.5H666Q615.2 187.5 578.1 223.6T541 312.5V687.5Q541 740.2 578.1 776.4T666 812.5H791Q843.8 812.5 879.9 776.4T916 687.5ZM334 812.5H459V187.5H334V437.5H209V187.5H84V562.5H334V812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-4g\"\n      ]\n    },\n    {\n      \"uid\": \"b8d42adb61b444751cea51faf7653bdf\",\n      \"css\": \"signal-hspa\",\n      \"code\": 984853,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 437.5H562.5V187.5H687.5V812.5H562.5V562.5H437.5V812.5H312.5V187.5H437.5V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-hspa\"\n      ]\n    },\n    {\n      \"uid\": \"1f65173267a6128b57bc24b2ee844ab5\",\n      \"css\": \"signal-hspa-plus\",\n      \"code\": 984854,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 334V459H916V584H791V709H666V584H541V459H666V334H791ZM209 437.5H334V187.5H459V812.5H334V562.5H209V812.5H84V187.5H209V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-hspa-plus\"\n      ]\n    },\n    {\n      \"uid\": \"ad4babd039c74dc4c2faba0ce631919e\",\n      \"css\": \"snowflake\",\n      \"code\": 984855,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 582L769.5 607.4 685.5 560.5V439.5L769.5 392.6 867.2 418 888.7 337.9 814.5 318.4 834 244.1 752 222.7 726.6 320.3 644.5 367.2 541 306.6V212.9L613.3 142.6 554.7 84 500 136.7 445.3 84 386.7 142.6 459 212.9V306.6L353.5 367.2 271.5 320.3 246.1 222.7 166 244.1 185.5 318.4 113.3 337.9 134.8 418 230.5 392.6 314.5 439.5V560.5L230.5 607.4 134.8 582 113.3 662.1 185.5 681.6 166 755.9 248 777.3 273.4 679.7 355.5 632.8 459 693.4V787.1L386.7 857.4 445.3 916 500 863.3 554.7 916 613.3 857.4 541 787.1V693.4L646.5 632.8 728.5 679.7 755.9 775.4 834 755.9 814.5 681.6 886.7 662.1ZM396.5 439.5L500 378.9 603.5 439.5V560.5L500 621.1 396.5 560.5V439.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snowflake\"\n      ]\n    },\n    {\n      \"uid\": \"4368d8aff17f9bcb6117887b5f097511\",\n      \"css\": \"source-commit\",\n      \"code\": 984856,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500Q709 574.2 661.1 631.8T541 705.1V875H459V705.1Q386.7 689.5 338.9 631.8T291 500 338.9 368.2 459 294.9V125H541V294.9Q613.3 310.5 661.1 368.2T709 500ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit\"\n      ]\n    },\n    {\n      \"uid\": \"74385bca8338ab89c6034464109e8fca\",\n      \"css\": \"source-commit-end\",\n      \"code\": 984857,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500Q709 556.6 680.7 604.5T604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500Q291 425.8 338.9 368.2T459 294.9V125H541V294.9Q613.3 310.5 661.1 368.2T709 500ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit-end\"\n      ]\n    },\n    {\n      \"uid\": \"8d5fa86f733f16ada584ea981c8ddc91\",\n      \"css\": \"source-commit-end-local\",\n      \"code\": 984858,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM459 209V125H541V209H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit-end-local\"\n      ]\n    },\n    {\n      \"uid\": \"0c4bafbf06c699b16058f42dcad75e3a\",\n      \"css\": \"source-commit-local\",\n      \"code\": 984859,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM459 209V125H541V209H459ZM459 875V791H541V875H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit-local\"\n      ]\n    },\n    {\n      \"uid\": \"d2c103e1970860338f6ebbc00591d43c\",\n      \"css\": \"source-commit-next-local\",\n      \"code\": 984860,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500Q709 556.6 680.7 604.5T604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500Q291 425.8 338.9 368.2T459 294.9V125H541V294.9Q613.3 310.5 661.1 368.2T709 500ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM459 875V791H541V875H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit-next-local\"\n      ]\n    },\n    {\n      \"uid\": \"81bc51af0f4d7f6e2d54f022f249adf6\",\n      \"css\": \"source-commit-start\",\n      \"code\": 984861,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500Q709 574.2 661.1 631.8T541 705.1V875H459V705.1Q386.7 689.5 338.9 631.8T291 500Q291 443.4 319.3 395.5T395.5 319.3 500 291ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit-start\"\n      ]\n    },\n    {\n      \"uid\": \"0201e9e79a900b5d70517269fabe52a2\",\n      \"css\": \"source-commit-start-next-local\",\n      \"code\": 984862,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291Q556.6 291 604.5 319.3T680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709 395.5 680.7 319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM459 875V791H541V875H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-commit-start-next-local\"\n      ]\n    },\n    {\n      \"uid\": \"7fff6138407ba9af684770eb64d3db97\",\n      \"css\": \"speaker-wireless\",\n      \"code\": 984863,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 794.9L777.3 736.3Q824.2 689.5 849.6 628.9T875 500 849.6 371.1 777.3 263.7L835.9 205.1Q894.5 263.7 926.8 339.8T959 500 926.8 660.2 835.9 794.9ZM718.8 675.8L660.2 617.2Q709 568.4 709 500T660.2 382.8L718.8 324.2Q753.9 357.4 772.5 403.3T791 500 772.5 596.7 718.8 675.8ZM166 125H500Q535.2 125 559.6 149.4T584 209V791Q584 826.2 559.6 850.6T500 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125ZM334 209Q298.8 209 274.4 233.4T250 292 274.4 350.6 333 375 391.6 350.6 416 292 391.6 233.4 334 209ZM334 459Q263.7 459 214.8 507.8T166 625 214.8 742.2 333 791 451.2 742.2 500 625 451.2 507.8 334 459ZM334 541Q367.2 541 391.6 565.4T416 625 391.6 684.6 333 709 274.4 684.6 250 625 274.4 565.4 334 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speaker-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"bff5a62ed08f0a798f900c96a3eb4bb2\",\n      \"css\": \"stadium-variant\",\n      \"code\": 984864,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H291L416 209 291 291V347.7Q388.7 334 500 334T709 347.7V125H791L916 209 791 291V363.3Q851.6 377 883.8 396.5T916 437.5Q916 464.8 860.4 489.3T709 527.3 500 541 291 527.3 139.6 489.3 84 437.5Q84 416 116.2 396.5T209 363.3V125ZM500 396.5Q388.7 396.5 343.8 404.3 291 412.1 291 437.5T343.8 470.7Q388.7 478.5 500 478.5T656.3 470.7Q709 462.9 709 437.5T656.3 404.3Q611.3 396.5 500 396.5ZM500 615.2Q617.2 615.2 719.7 595.7T892.6 543L834 875H625V791Q625 757.8 600.6 733.4T541 709H459Q423.8 709 399.4 733.4T375 791V875H166L107.4 543Q177.7 576.2 280.3 595.7T500 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stadium-variant\"\n      ]\n    },\n    {\n      \"uid\": \"3975a2ecaeb62ab0ba5c13f37d785606\",\n      \"css\": \"svg\",\n      \"code\": 984865,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M212.9 445.3H369.1L259.8 335.9Q228.5 335.9 206.1 313.5T183.6 259.8 206.1 206.1 259.8 183.6 313.5 206.1 335.9 259.8L445.3 369.1V212.9Q423.8 191.4 423.8 160.2T446.3 106.4 500 84 553.7 106.4 576.2 160.2 554.7 212.9V369.1L664.1 259.8Q664.1 226.6 686.5 205.1T740.2 183.6 793.9 206.1 816.4 259.8 793.9 313.5 740.2 335.9L630.9 445.3H787.1Q808.6 423.8 839.8 423.8T893.6 446.3 916 500 893.6 553.7 839.8 576.2 787.1 554.7H630.9L740.2 664.1Q773.4 664.1 794.9 686.5T816.4 740.2 793.9 793.9 740.2 816.4 686.5 794.9 664.1 740.2L554.7 630.9V787.1Q576.2 808.6 576.2 839.8T553.7 893.6 500 916 446.3 893.6 423.8 839.8 445.3 787.1V630.9L335.9 740.2Q335.9 771.5 313.5 793.9T259.8 816.4 206.1 793.9 183.6 740.2 205.1 686.5 259.8 664.1L369.1 554.7H212.9Q191.4 576.2 160.2 576.2T106.4 553.7 84 500 106.4 446.3 160.2 423.8 212.9 445.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"svg\"\n      ]\n    },\n    {\n      \"uid\": \"8780efd062a85654610797502b08fac6\",\n      \"css\": \"tag-plus\",\n      \"code\": 984866,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L125 533.2Q181.6 500 250 500T376 533.2 466.8 624 500 750 466.8 875L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM228.5 291Q203.1 291 184.6 273.4T166 229.5 184.6 184.6 229.5 166 273.4 184.6 291 229.5 273.4 273.4 228.5 291ZM416 791H291V916H209V791H84V709H209V584H291V709H416V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-plus\"\n      ]\n    },\n    {\n      \"uid\": \"2a45d3d3549e524cc55ac8886a89cbaf\",\n      \"css\": \"tag-remove\",\n      \"code\": 984867,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L125 533.2Q181.6 500 250 500T376 533.2 466.8 624 500 750 466.8 875L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM228.5 291Q203.1 291 184.6 273.4T166 229.5 184.6 184.6 229.5 166 273.4 184.6 291 229.5 273.4 273.4 228.5 291ZM337.9 898.4L250 808.6 162.1 898.4 101.6 837.9 191.4 750 101.6 662.1 162.1 603.5 250 691.4 337.9 603.5 396.5 662.1 308.6 750 396.5 837.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-remove\"\n      ]\n    },\n    {\n      \"uid\": \"af83fe445271af8271554eeab3a05407\",\n      \"css\": \"ticket-percent\",\n      \"code\": 984868,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V416Q117.2 416 141.6 440.4T166 500 141.6 559.6 84 584V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V584Q882.8 584 858.4 559.6T834 500 858.4 440.4 916 416V250Q916 214.8 891.6 190.4T834 166H166ZM646.5 291L709 353.5 353.5 709 291 646.5ZM367.2 293Q398.4 293 419.9 314.5T441.4 367.2 419.9 419.9 367.2 441.4 314.5 419.9 293 367.2 314.5 314.5 367.2 293ZM632.8 558.6Q664.1 558.6 685.5 580.1T707 632.8 685.5 685.5 632.8 707 580.1 685.5 558.6 632.8 580.1 580.1 632.8 558.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket-percent\"\n      ]\n    },\n    {\n      \"uid\": \"f44ad5808fd90ea948791b2a5e98df6a\",\n      \"css\": \"tilde\",\n      \"code\": 984869,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 625Q84 611.3 85.9 599.6 89.8 566.4 99.6 537.1 113.3 494.1 136.7 462.9 168 423.8 210.9 400.4 263.7 375 334 375 392.6 375 441.4 400.4 468.8 416 513.7 455.1 550.8 488.3 572.3 500 607.4 521.5 646.5 521.5 720.7 521.5 763.7 482.4 794.9 455.1 806.6 412.1 812.5 390.6 812.5 375H916L914.1 400.4Q910.2 433.6 900.4 462.9 886.7 505.9 863.3 537.1 832 576.2 789.1 599.6 736.3 625 666 625 601.6 625 543 595.7 509.8 576.2 455.1 533.2 421.9 505.9 404.3 496.1 377 478.5 353.5 478.5 296.9 478.5 257.8 502 226.6 519.5 209 552.7 195.3 574.2 189.5 601.6L187.5 625H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tilde\"\n      ]\n    },\n    {\n      \"uid\": \"8fe68c0036c15a39da898359f0533a17\",\n      \"css\": \"treasure-chest\",\n      \"code\": 984870,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166H791Q843.8 166 879.9 203.1T916 291V459H625V416H375V459H84V291Q84 240.2 120.1 203.1T209 166ZM459 459H541V541H459V459ZM84 500H375V541L459 625H541L625 541V500H916V834H84V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"treasure-chest\"\n      ]\n    },\n    {\n      \"uid\": \"b6607188d0c1644675852543bedea8fe\",\n      \"css\": \"truck-trailer\",\n      \"code\": 984871,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H416Q416 759.8 379.9 796.9T292 834 203.1 796.9 166 709H84V250Q84 214.8 108.4 190.4T166 166H709Q742.2 166 766.6 190.4T791 250V625H916ZM291 666Q273.4 666 261.7 678.7T250 709 261.7 738.3 291 750 321.3 738.3 334 709 321.3 678.7 291 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-trailer\"\n      ]\n    },\n    {\n      \"uid\": \"573bdbf3177ddb9633c9fb2e81ff5a8a\",\n      \"css\": \"view-parallel\",\n      \"code\": 984872,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125V875H625V125H791ZM584 125V875H416V125H584ZM375 125V875H209V125H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-parallel\"\n      ]\n    },\n    {\n      \"uid\": \"7941e7f547d5d72b96ce65d09567c093\",\n      \"css\": \"view-sequential\",\n      \"code\": 984873,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209H875V375H125V209ZM125 416H875V584H125V416ZM125 625H875V791H125V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-sequential\"\n      ]\n    },\n    {\n      \"uid\": \"bad222d90d1819b23c42b956cff509bf\",\n      \"css\": \"washing-machine\",\n      \"code\": 984874,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 464.8Q666 513.7 666 583T617.2 701.2 500 750 382.8 701.2ZM250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM291 166Q273.4 166 261.7 178.7T250 209 261.7 238.3 291 250 321.3 238.3 334 209 321.3 178.7 291 166ZM416 166Q398.4 166 386.7 178.7T375 209 386.7 238.3 416 250 446.3 238.3 459 209 446.3 178.7 416 166ZM500 334Q451.2 334 404.3 352.5T322.3 406.3 268.6 487.3 250 584Q250 650.4 283.2 708T374 799.8 500 834 626 799.8 716.8 708 750 584Q750 533.2 731.4 487.3T677.7 406.3 595.7 352.5 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"washing-machine\"\n      ]\n    },\n    {\n      \"uid\": \"511149b0c60b86c57fe043a9c352abfe\",\n      \"css\": \"webpack\",\n      \"code\": 984875,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M851.6 724.6L515.6 916V767.6L724.6 650.4ZM875 703.1V304.7L752 375V632.8ZM148.4 724.6L484.4 914.1V767.6L275.4 650.4ZM125 703.1V304.7L248 375V632.8ZM138.7 279.3L484.4 84V226.6L261.7 349.6ZM861.3 279.3L515.6 84V226.6L738.3 349.6ZM484.4 732.4L277.3 619.1V392.6L484.4 513.7V732.4ZM515.6 732.4L722.7 619.1V392.6L515.6 513.7V732.4ZM291 367.2L500 252 709 367.2 500 486.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"webpack\"\n      ]\n    },\n    {\n      \"uid\": \"fcd912587d44df52a999b89dc213c674\",\n      \"css\": \"widgets\",\n      \"code\": 984876,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H459V306.6L693.4 70.3 929.7 306.6 693.4 541H875V875H541V541H693.4L459 306.6V459H125V125ZM125 541H459V875H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"widgets\"\n      ]\n    },\n    {\n      \"uid\": \"1a2701828d9bd5392a3af7e0e5b554fc\",\n      \"css\": \"nintendo-wiiu\",\n      \"code\": 984877,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 664.1Q84 734.4 127 773.4T242.2 812.5H773.4Q834 812.5 875 775.4T916 679.7V291Q916 253.9 892.6 222.7T837.9 191.4H714.8V511.7Q714.8 597.7 648.4 648.4 587.9 695.3 502 695.3T357.4 650.4Q291 601.6 291 517.6V187.5H197.3Q150.4 187.5 117.2 214.8T84 285.2V664.1ZM388.7 468.8Q388.7 533.2 423.8 570.3 455.1 601.6 500 602.5T578.1 574.2 611.3 498V187.5H388.7V468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nintendo-wiiu\"\n      ]\n    },\n    {\n      \"uid\": \"83bd3e30f55bf258825a78aed0eb67ee\",\n      \"css\": \"arrow-down-bold\",\n      \"code\": 984878,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 166H625V500H826.2L500 826.2 173.8 500H375V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold\"\n      ]\n    },\n    {\n      \"uid\": \"2e6a3ca228dd065cbee12d414816a607\",\n      \"css\": \"arrow-down-bold-box\",\n      \"code\": 984879,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM500 709L709 500H584V334H416V500H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold-box\"\n      ]\n    },\n    {\n      \"uid\": \"d1377a502696a80e127698253f7f60f5\",\n      \"css\": \"arrow-down-bold-box-outline\",\n      \"code\": 984880,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709L291 500H416V334H584V500H709ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bedc8de7438f7884bf7256f61833e047\",\n      \"css\": \"arrow-left-bold\",\n      \"code\": 984881,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 375V625H500V826.2L173.8 500 500 173.8V375H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold\"\n      ]\n    },\n    {\n      \"uid\": \"8e12005aa760999805522697641be28d\",\n      \"css\": \"arrow-left-bold-box\",\n      \"code\": 984882,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM291 500L500 709V584H666V416H500V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold-box\"\n      ]\n    },\n    {\n      \"uid\": \"5ae72db040d41716fd3e93b57ec315c9\",\n      \"css\": \"arrow-left-bold-box-outline\",\n      \"code\": 984883,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 500L500 291V416H666V584H500V709ZM875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM791 209H209V791H791V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8fb05f9e728ebca8f18605a7fa551db6\",\n      \"css\": \"arrow-right-bold\",\n      \"code\": 984884,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 625V375H500V173.8L826.2 500 500 826.2V625H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold\"\n      ]\n    },\n    {\n      \"uid\": \"32628ada80cc2607686a8af01e827cb5\",\n      \"css\": \"arrow-right-bold-box\",\n      \"code\": 984885,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791ZM709 500L500 291V416H334V584H500V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold-box\"\n      ]\n    },\n    {\n      \"uid\": \"05d84197f9c8cfd631dc009e89e63dfa\",\n      \"css\": \"arrow-right-bold-box-outline\",\n      \"code\": 984886,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500L500 709V584H334V416H500V291ZM125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791ZM209 791H791V209H209V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"01e2d0005379153b0eb13061391f1e3b\",\n      \"css\": \"arrow-up-bold\",\n      \"code\": 984887,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834H375V500H173.8L500 173.8 826.2 500H625V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold\"\n      ]\n    },\n    {\n      \"uid\": \"0c8bdbde90d7ef2ddfc243ffd566de09\",\n      \"css\": \"arrow-up-bold-box\",\n      \"code\": 984888,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875ZM500 291L291 500H416V666H584V500H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold-box\"\n      ]\n    },\n    {\n      \"uid\": \"f784b20a01c544a402df6a8d58de7dc0\",\n      \"css\": \"arrow-up-bold-box-outline\",\n      \"code\": 984889,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L709 500H584V666H416V500H291ZM791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875ZM791 791V209H209V791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"150f3fab4099cb4f3d367a3941798c3d\",\n      \"css\": \"file-account\",\n      \"code\": 984891,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM584 834V791Q584 753.9 521.5 728.5 468.8 709 417 709T312.5 728.5Q250 753.9 250 791V834H584ZM416 500Q382.8 500 358.4 524.4T334 583 358.4 641.6 417 666 475.6 641.6 500 583 475.6 524.4 416 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-account\"\n      ]\n    },\n    {\n      \"uid\": \"7df8d5cff67ef79eb52e648efc8915e1\",\n      \"css\": \"gesture-double-tap\",\n      \"code\": 984892,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM459 209Q527.3 209 576.2 257.8T625 375Q625 421.9 602.5 460T541 519.5V468.8Q584 431.6 584 377T546.9 286.1 458 250 370.1 286.1 334 377 375 468.8V519.5Q335.9 498 313.5 460T291 375Q291 306.6 339.8 257.8T459 209ZM459 125Q525.4 125 583 158.2T674.8 249 709 375Q709 427.7 688.5 473.6T630.9 554.7L589.8 537.1Q625 507.8 645.5 465.8T666 375Q666 318.4 638.7 270.5T563.5 194.3 459 166 354.5 194.3 278.3 270.5 250 375Q250 437.5 284.2 489.3T375 566.4V611.3Q300.8 584 254.9 519.5T209 375Q209 306.6 242.2 249T333 158.2 459 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-double-tap\"\n      ]\n    },\n    {\n      \"uid\": \"58bda249b294a0c4993f45d3905a688f\",\n      \"css\": \"gesture-swipe-down\",\n      \"code\": 984893,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM41 375L166 500 291 375H209V125H125V375H41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe-down\"\n      ]\n    },\n    {\n      \"uid\": \"8a6e1bf7ed0b44d6a09185a3eac9c3bd\",\n      \"css\": \"gesture-swipe-left\",\n      \"code\": 984894,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM125 166L250 291V209H500V125H250V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe-left\"\n      ]\n    },\n    {\n      \"uid\": \"1b251d67a764cd2a9ff5b655b742d00a\",\n      \"css\": \"gesture-swipe-right\",\n      \"code\": 984895,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM500 166L375 41V125H125V209H375V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe-right\"\n      ]\n    },\n    {\n      \"uid\": \"615042b0560a58b6c4f7d40917230015\",\n      \"css\": \"gesture-swipe-up\",\n      \"code\": 984896,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM291 250L166 125 41 250H125V500H209V250H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe-up\"\n      ]\n    },\n    {\n      \"uid\": \"73fb6e7dd1ff459e4375182f4f274cd3\",\n      \"css\": \"gesture-tap\",\n      \"code\": 984897,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM459 209Q527.3 209 576.2 257.8T625 375Q625 421.9 602.5 460T541 519.5V468.8Q584 431.6 584 377T546.9 286.1 458 250 370.1 286.1 334 377 375 468.8V519.5Q335.9 498 313.5 460T291 375Q291 306.6 339.8 257.8T459 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-tap\"\n      ]\n    },\n    {\n      \"uid\": \"5a9bd8a4be9c1009690401af05de7f87\",\n      \"css\": \"gesture-two-double-tap\",\n      \"code\": 984898,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 630.9V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V291Q500 273.4 511.7 261.7T541 250 571.3 261.7 584 291V500L755.9 576.2Q771.5 584 781.3 598.6T791 630.9ZM541 125Q611.3 125 660.2 173.8T709 291Q709 337.9 686.5 376T625 435.5V384.8Q666 347.7 666 293.9T629.9 203.1 541 166Q500 166 466.8 191.4T421.9 255.9Q382.8 267.6 358.4 300.8T334 375Q334 431.6 375 468.8V519.5Q335.9 498 313.5 460T291 374 318.4 285.2 388.7 222.7Q410.2 179.7 451.2 152.3T541 125ZM541 41Q609.4 41 667 75.2T757.8 167 791 291Q791 355.5 761.7 410.2T681.6 498L636.7 476.6Q687.5 451.2 718.8 401.4T750 293 721.7 186.5 645.5 111.3 541 84 434.6 113.3 359.4 191.4Q308.6 218.8 279.3 267.6T250 375Q250 437.5 284.2 489.3T375 566.4V611.3Q300.8 584 254.9 519.5T209 375Q209 308.6 241.2 252T328.1 162.1Q361.3 107.4 418 74.2T541 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-two-double-tap\"\n      ]\n    },\n    {\n      \"uid\": \"2dd3e10567f9d45516ea7a6865807d8b\",\n      \"css\": \"gesture-two-tap\",\n      \"code\": 984899,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 630.9V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V291Q500 273.4 511.7 261.7T541 250 571.3 261.7 584 291V500L755.9 576.2Q771.5 584 781.3 598.6T791 630.9ZM625 435.5V384.8 384.8Q638.7 373 648.4 355.5 666 326.2 666 291 666 240.2 629.9 203.1T543.9 166 457 201.2L451.2 207Q441.4 214.8 435.5 224.6T425.8 246.1L421.9 255.9Q382.8 267.6 358.4 300.8T334 376 359.4 451.2Q363.3 457 373 466.8L375 468.8V519.5Q335.9 498 313.5 460T291 374 318.4 285.2 388.7 222.7Q410.2 179.7 451.2 152.3T541 125Q611.3 125 660.2 173.8T709 291Q709 337.9 686.5 376T625 435.5V435.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-two-tap\"\n      ]\n    },\n    {\n      \"uid\": \"dbdd0977d38e7551fcc843b9f04bec03\",\n      \"css\": \"humble-bundle\",\n      \"code\": 984900,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M705.1 755.9Q664.1 755.9 664.1 650.4 666 568.4 691.4 421.9 710.9 318.4 742.2 193.4L767.6 87.9H646.5L619.1 189.5Q585.9 310.5 564.5 419.9H460.9Q464.8 357.4 462.9 312.5 460.9 179.7 414.1 127 375 82 312.5 93.8 261.7 103.5 216.8 144.5 162.1 191.4 123 270.5T84 416H138.7L146.5 390.6Q158.2 357.4 173.8 330.1 193.4 293 220.7 271.5 253.9 244.1 294.9 244.1T334 349.6Q334 431.6 306.6 578.1 287.1 681.6 257.8 806.6L230.5 912.1H351.6L369.1 857.4Q390.6 791 408.2 720.7 431.6 623 445.3 533.2H544.9Q537.1 605.5 539.1 695.3 541 826.2 587.9 878.9 627 919.9 689.5 906.3 740.2 894.5 785.2 853.5 839.8 806.6 878.9 718.8 916 636.7 916 584H859.4Q859.4 587.9 851.6 611.3 841.8 644.5 826.2 671.9 804.7 707 777.3 728.5 744.1 755.9 705.1 755.9V755.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"humble-bundle\"\n      ]\n    },\n    {\n      \"uid\": \"0bea1cddf56779649edb09f99f25791a\",\n      \"css\": \"kickstarter\",\n      \"code\": 984901,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 425.8L728.5 500 804.7 574.2Q843.8 613.3 856.4 665T856.4 768.6 804.7 857.4Q746.1 916 662.1 916T519.5 857.4L492.2 830.1Q464.8 871.1 420.9 893.6T326.2 916Q242.2 916 183.6 857.4T125 716.8V283.2Q125 201.2 183.6 142.6T326.2 84Q377 84 419.9 106.4T492.2 169.9L519.5 142.6Q578.1 84 662.1 84T804.7 142.6Q843.8 179.7 856.4 231.4T856.4 335 804.7 425.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kickstarter\"\n      ]\n    },\n    {\n      \"uid\": \"99a07c26bbf1f47740085980ebc4a3fa\",\n      \"css\": \"netflix\",\n      \"code\": 984902,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 84H437.5L560.5 451.2 562.5 84H728.5V916Q650.4 902.3 558.6 898.4L437.5 541 435.5 900.4Q347.7 904.3 271.5 916V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"netflix\"\n      ]\n    },\n    {\n      \"uid\": \"4cf0cbe778e1225ed2016e3bc3c87c0e\",\n      \"css\": \"microsoft-onenote\",\n      \"code\": 984903,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M882.8 134.8Q896.5 134.8 906.3 145.5T916 169.9V830.1Q916 843.8 906.3 854.5T882.8 865.2H326.2Q312.5 865.2 301.8 854.5T291 830.1V709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H291V169.9Q291 156.3 301.8 145.5T326.2 134.8H882.8ZM242.2 464.8L339.8 636.7H402.3V363.3H341.8V539.1L248 363.3H181.6V636.7H242.2V464.8ZM865.2 812.5V709H759.8V812.5H865.2ZM865.2 656.3V552.7H759.8V656.3H865.2ZM865.2 500V396.5H759.8V500H865.2ZM865.2 343.8V187.5H343.8V291H464.8Q478.5 291 489.3 301.8T500 326.2V673.8Q500 687.5 489.3 698.2T464.8 709H343.8V812.5H709V343.8H865.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-onenote\"\n      ]\n    },\n    {\n      \"uid\": \"ee5b411d759a05780f4a2b7b103f7911\",\n      \"css\": \"wall-sconce-round\",\n      \"code\": 984904,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791V666H459V791H541ZM794.9 687.5L853.5 628.9 781.3 554.7 720.7 613.3ZM205.1 687.5L279.3 613.3 218.8 554.7 146.5 628.9ZM834 500Q834 410.2 789.1 333T666 210.9 500 166 334 210.9 210.9 333 166 500H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wall-sconce-round\"\n      ]\n    },\n    {\n      \"uid\": \"5fd7bbe22272befb7443cf346448940b\",\n      \"css\": \"folder-refresh\",\n      \"code\": 984905,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q818.4 603.5 867.2 652.3L916 603.5V771.5H750L824.2 697.3Q793 666 750 666T676.8 697.3 646.5 771.5 676.8 844.7 750 875Q802.7 875 834 834H904.3Q886.7 880.9 844.7 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM416 166L500 250H834Q867.2 250 891.6 274.4T916 334V541Q849.6 500 771.5 500 697.3 500 634.8 536.1T536.1 634.8 500 771.5Q500 800.8 507.8 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"3de2b1f695b6cb97dd7e90cddd92a746\",\n      \"css\": \"vector-radius\",\n      \"code\": 984906,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166H166V84H416V166Q500 166 576.2 198.2T710.9 289.1 801.8 423.8 834 584H916V834H834V916H750V834H666V584H750Q750 492.2 705.1 416T584 294.9 416 250V334H166V250H84V166ZM750 666V750H834V666H750ZM250 166V250H334V166H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-radius\"\n      ]\n    },\n    {\n      \"uid\": \"a959193390b3bc768236cecb5fa4b2ab\",\n      \"css\": \"microsoft-xbox-controller-battery-alert\",\n      \"code\": 984907,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791V291H625V791H875ZM902.3 209Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209H902.3ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334ZM709 375H791V584H709V375ZM709 625H791V709H709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-alert\"\n      ]\n    },\n    {\n      \"uid\": \"86864a60ddc127375f852f87cab2861c\",\n      \"css\": \"microsoft-xbox-controller-battery-empty\",\n      \"code\": 984908,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791V291H625V791H875ZM902.3 209Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209H902.3ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-empty\"\n      ]\n    },\n    {\n      \"uid\": \"f530be06bdbea85a3d28f278dc1e1a56\",\n      \"css\": \"microsoft-xbox-controller-battery-full\",\n      \"code\": 984909,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M902.3 209Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209H902.3ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-full\"\n      ]\n    },\n    {\n      \"uid\": \"ce7672912c4493f78e3b9880411d7523\",\n      \"css\": \"microsoft-xbox-controller-battery-low\",\n      \"code\": 984910,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666V291H625V666H875ZM902.3 209Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209H902.3ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-low\"\n      ]\n    },\n    {\n      \"uid\": \"7627347a1af4fcb000016fc08e9f9346\",\n      \"css\": \"microsoft-xbox-controller-battery-medium\",\n      \"code\": 984911,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 500V291H625V500H875ZM902.3 209Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209H902.3ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-medium\"\n      ]\n    },\n    {\n      \"uid\": \"45579439167233a39ae8137337d9af85\",\n      \"css\": \"microsoft-xbox-controller-battery-unknown\",\n      \"code\": 984912,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M902.3 209Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209H902.3ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334ZM757.8 334Q703.1 334 669.9 358.4T638.7 431.6V433.6H718.8Q718.8 414.1 730.5 404.3T759.8 394.5 789.1 406.3 800.8 437.5 791 471.7 765.6 496.1Q732.4 517.6 720.7 534.2T709 584H791Q791 562.5 796.9 551.8T818.4 531.3Q847.7 515.6 865.2 491.2T882.8 437.5Q882.8 390.6 849.6 362.3T757.8 334ZM709 625V709H791V625H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-unknown\"\n      ]\n    },\n    {\n      \"uid\": \"1aff7abce8ea4ef8cb2280554f8ce3a0\",\n      \"css\": \"clipboard-plus\",\n      \"code\": 984913,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM541 500H666V584H541V709H459V584H334V500H459V375H541V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-plus\"\n      ]\n    },\n    {\n      \"uid\": \"eabd4b23038afc19c83dec03394e1352\",\n      \"css\": \"file-plus\",\n      \"code\": 984914,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM459 625V500H375V625H250V709H375V834H459V709H584V625H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-plus\"\n      ]\n    },\n    {\n      \"uid\": \"1f495dd35596fc0ac38dcdb6debce832\",\n      \"css\": \"format-align-bottom\",\n      \"code\": 984915,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375L646.5 271.5 705.1 330.1 500 535.2 294.9 330.1 353.5 271.5 459 375V125H541V375ZM125 625H875V709H125V625ZM125 791H541V875H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"b0db96da52d091a89f70b0e3d845d917\",\n      \"css\": \"format-align-middle\",\n      \"code\": 984916,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 250L625 166 683.6 226.6 500 410.2 316.4 226.6 375 166 459 250V84H541V250ZM125 459H875V541H125V459ZM541 750V916H459V750L375 834 316.4 773.4 500 589.8 683.6 773.4 625 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-middle\"\n      ]\n    },\n    {\n      \"uid\": \"93c170f57c29e837490dd8fcaf090dea\",\n      \"css\": \"format-align-top\",\n      \"code\": 984917,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 625L646.5 728.5 705.1 669.9 500 464.8 294.9 669.9 353.5 728.5 459 625V875H541V625ZM125 125H875V209H125V125ZM125 291H541V375H125V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-align-top\"\n      ]\n    },\n    {\n      \"uid\": \"854e309cb60c2c78ea28a5fcaf8dd6de\",\n      \"css\": \"format-list-checks\",\n      \"code\": 984918,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209H375V459H125V209ZM209 291V375H291V291H209ZM459 291H875V375H459V291ZM459 625H875V709H459V625ZM209 834L62.5 687.5 121.1 628.9 209 714.8 400.4 525.4 459 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-checks\"\n      ]\n    },\n    {\n      \"uid\": \"55c9bdd45bf85bb9332e4f494848b054\",\n      \"css\": \"format-quote-open\",\n      \"code\": 984919,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291L334 459H459V709H209V459L291 291H416ZM750 291L666 459H791V709H541V459L625 291H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-quote-open\"\n      ]\n    },\n    {\n      \"uid\": \"947aa01c8615523ab5efc3ebd1c986a4\",\n      \"css\": \"grid-large\",\n      \"code\": 984920,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM166 166V459H459V166H166ZM166 834H459V541H166V834ZM834 834V541H541V834H834ZM834 166H541V459H834V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grid-large\"\n      ]\n    },\n    {\n      \"uid\": \"ad31db91cddcbd0d5bbf12a08280de5d\",\n      \"css\": \"heart-off\",\n      \"code\": 984921,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 834 863.3 781.3 916 632.8 767.6 500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 296.9 109.4 246.1ZM312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 429.7 869.1 507.8 830.1 576.2 742.2 666L218.8 144.5Q263.7 125 312.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-off\"\n      ]\n    },\n    {\n      \"uid\": \"d2d377973081351ab3636441aa85a99d\",\n      \"css\": \"music\",\n      \"code\": 984922,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125V646.5Q875 707 832 749T728.5 791 626 749 584 646.5 626 543 728.5 500Q761.7 500 791 513.7V269.5L375 357.4V728.5Q375 789.1 332 832T228.5 875 126 832 84 728.5 126 626 228.5 584Q261.7 584 291 597.7V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music\"\n      ]\n    },\n    {\n      \"uid\": \"bd0b44005102714957d385831a5c6c3c\",\n      \"css\": \"music-off\",\n      \"code\": 984923,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 375 511.7V728.5Q375 789.1 332 832T228.5 875 126 832 84 728.5 126 626 228.5 584Q261.7 584 291 597.7V427.7ZM875 125V646.5Q875 709 828.1 752L623 546.9Q666 500 728.5 500 761.7 500 791 513.7V269.5L423.8 347.7 318.4 244.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-off\"\n      ]\n    },\n    {\n      \"uid\": \"e3aa94f0ae64884b1ef96b3b1e44ff8f\",\n      \"css\": \"tab-plus\",\n      \"code\": 984924,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125H125ZM125 209H541V375H875V791H125V209ZM416 416V541H291V625H416V750H500V625H625V541H500V416H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tab-plus\"\n      ]\n    },\n    {\n      \"uid\": \"a5391ae4657669ac86bbebc6f19e9413\",\n      \"css\": \"volume-plus\",\n      \"code\": 984925,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375H291L500 166V834L291 625H125V375ZM584 459H709V334H791V459H916V541H791V666H709V541H584V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-plus\"\n      ]\n    },\n    {\n      \"uid\": \"75adcc7c3557cefa346451dba7476061\",\n      \"css\": \"volume-minus\",\n      \"code\": 984926,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375H291L500 166V834L291 625H125V375ZM584 459H916V541H584V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-minus\"\n      ]\n    },\n    {\n      \"uid\": \"297f79351e83cc9434605e9925602836\",\n      \"css\": \"volume-mute\",\n      \"code\": 984927,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375H291L500 166V834L291 625H125V375ZM691.4 500L584 392.6 642.6 334 750 441.4 857.4 334 916 392.6 808.6 500 916 607.4 857.4 666 750 558.6 642.6 666 584 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-mute\"\n      ]\n    },\n    {\n      \"uid\": \"fc8839dcaac73b9767fb9d8a09d703ab\",\n      \"css\": \"unfold-less-vertical\",\n      \"code\": 984928,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M224.6 308.6L416 500 224.6 691.4 166 632.8 298.8 500 166 367.2ZM775.4 691.4L584 500 775.4 308.6 834 367.2 701.2 500 834 632.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unfold-less-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"604fae857d6ae0c086ce89c18a281167\",\n      \"css\": \"unfold-more-vertical\",\n      \"code\": 984929,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M757.8 500L625 367.2 683.6 308.6 875 500 683.6 691.4 625 632.8ZM242.2 500L375 632.8 316.4 691.4 125 500 316.4 308.6 375 367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unfold-more-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"63f9279a6a1daa301bbf070dd656aac7\",\n      \"css\": \"taco\",\n      \"code\": 984930,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H209Q138.7 750 89.8 701.2T41 584Q41 492.2 85.9 416T208 294.9 375 250Q439.5 250 500 273.4 560.5 250 625 250 714.8 250 792 294.9T914.1 416 959 584Q959 652.3 910.2 701.2T791 750ZM125 584Q125 617.2 149.4 641.6T208 666 266.6 641.6 291 584Q291 509.8 321.3 445.3T402.3 335.9L375 334Q326.2 334 279.3 352.5T197.3 406.3 143.6 487.3 125 584ZM791 666Q826.2 666 850.6 641.6T875 584Q875 533.2 856.4 487.3T802.7 406.3 720.7 352.5 625 334 529.3 352.5 447.3 406.3 393.6 487.3 375 584Q375 628.9 351.6 666H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"taco\"\n      ]\n    },\n    {\n      \"uid\": \"d241c1748c9034dcb77d6bf61bfba249\",\n      \"css\": \"square-outline\",\n      \"code\": 984931,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V875H125V125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-outline\"\n      ]\n    },\n    {\n      \"uid\": \"343db0256b6f2f22e6176080900d54d6\",\n      \"css\": \"square\",\n      \"code\": 984932,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125V875H875V125H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square\"\n      ]\n    },\n    {\n      \"uid\": \"8c5c9d399253854742ad4470a5b2b3b3\",\n      \"css\": \"alert-octagram\",\n      \"code\": 984935,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M91.8 669.9L162.1 500 91.8 330.1 261.7 261.7 330.1 91.8 500 162.1 669.9 91.8 738.3 261.7 908.2 330.1 837.9 500 908.2 669.9 738.3 738.3 669.9 908.2 500 837.9 330.1 908.2 261.7 738.3ZM541 709V625H459V709H541ZM541 541V291H459V541H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-octagram\"\n      ]\n    },\n    {\n      \"uid\": \"cbd5230b4babb43496cf596a338d1890\",\n      \"css\": \"atom\",\n      \"code\": 984936,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 459Q517.6 459 529.3 470.7T541 500 529.3 529.3 500 541 470.7 529.3 459 500 470.7 470.7 500 459ZM175.8 175.8Q220.7 130.9 308.6 147.5T500 232.4Q603.5 164.1 691.4 147.5T824.2 175.8 852.5 308.6 767.6 500Q835.9 603.5 852.5 691.4T824.2 824.2 691.4 852.5 500 767.6Q396.5 835.9 308.6 852.5T175.8 824.2 147.5 691.4 232.4 500Q164.1 396.5 147.5 308.6T175.8 175.8ZM648.4 351.6Q683.6 388.7 718.8 431.6 761.7 363.3 774.4 310.5T764.6 235.4 689.5 225.6 568.4 281.3Q611.3 316.4 648.4 351.6ZM351.6 648.4Q316.4 611.3 281.3 568.4 238.3 636.7 225.6 689.5T235.4 764.6 310.5 774.4 431.6 718.8Q388.7 683.6 351.6 648.4ZM234.4 234.4Q212.9 257.8 225.6 310.5T281.3 431.6Q316.4 388.7 352.5 352.5T431.6 281.3Q363.3 238.3 310.5 225.6T234.4 234.4ZM412.1 587.9Q453.1 628.9 500 668 546.9 628.9 587.9 587.9T668 500Q628.9 453.1 587.9 412.1T500 332Q453.1 371.1 412.1 412.1T332 500Q371.1 546.9 412.1 587.9ZM765.6 765.6Q787.1 742.2 774.4 689.5T718.8 568.4Q683.6 611.3 647.5 647.5T568.4 718.8Q636.7 761.7 689.5 774.4T765.6 765.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"atom\"\n      ]\n    },\n    {\n      \"uid\": \"0663c4f1b05fd01602976cb9bd6dcbf8\",\n      \"css\": \"ceiling-light\",\n      \"code\": 984937,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 375H459V166H541V375H666L834 709H166ZM584 750Q584 785.2 559.6 809.6T500 834 440.4 809.6 416 750H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ceiling-light\"\n      ]\n    },\n    {\n      \"uid\": \"be2ef3d2c2ff9266be7b52a6ac37187f\",\n      \"css\": \"chart-bar-stacked\",\n      \"code\": 984938,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 875H84V125H166V791H250V709H416V791H500V666H666V791H750V709H916V875ZM750 584H916V666H750V584ZM500 250H666V375H500V250ZM666 625H500V416H666V625ZM250 416H416V500H250V416ZM416 666H250V541H416V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-bar-stacked\"\n      ]\n    },\n    {\n      \"uid\": \"c8d12f8d5addcdb130bade2eb50d8a80\",\n      \"css\": \"chart-line-stacked\",\n      \"code\": 984939,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M726.6 632.8L916 283.2V875H84V125H166V791H273.4L457 476.6ZM916 125V144.5L709 459 416 250 250 500V125H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-line-stacked\"\n      ]\n    },\n    {\n      \"uid\": \"a63d41c72978285bae33279b29aadc3a\",\n      \"css\": \"decagram\",\n      \"code\": 984940,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L857.4 384.8 871.1 230.5 720.7 197.3 642.6 64.5 500 125 357.4 64.5 279.3 197.3 128.9 230.5 142.6 382.8 41 500 142.6 615.2 128.9 769.5 279.3 804.7 357.4 935.5 500 875 642.6 935.5 720.7 802.7 871.1 769.5 857.4 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decagram\"\n      ]\n    },\n    {\n      \"uid\": \"847e055ff6f645f013196f29dfafe9fc\",\n      \"css\": \"decagram-outline\",\n      \"code\": 984941,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L857.4 615.2 871.1 769.5 720.7 802.7 642.6 935.5 500 875 357.4 935.5 279.3 804.7 128.9 769.5 142.6 615.2 41 500 142.6 382.8 128.9 230.5 279.3 197.3 357.4 64.5 500 125 642.6 64.5 720.7 197.3 871.1 230.5 857.4 384.8ZM847.7 500L771.5 412.1 781.3 294.9 666 271.5 607.4 169.9 500 216.8 392.6 169.9 334 271.5 218.8 294.9 228.5 412.1 152.3 500 228.5 587.9 218.8 705.1 334 728.5 392.6 830.1 500 783.2 607.4 830.1 666 728.5 781.3 703.1 771.5 587.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decagram-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9b9e905544e8b98d216615e364b9d916\",\n      \"css\": \"dice-multiple\",\n      \"code\": 984942,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 125H466.8Q447.3 125 431.6 139.6T416 175.8V334H666V584H824.2Q845.7 584 860.4 568.4T875 533.2V175.8Q875 154.3 860.4 139.6T824.2 125ZM517.6 277.3Q498 277.3 482.4 262.7T466.8 226.6 482.4 190.4 518.6 175.8 554.7 190.4 570.3 226.6 554.7 262.7 517.6 277.3ZM773.4 533.2Q752 533.2 737.3 518.6T721.7 482.4 736.3 445.3 772.5 429.7 808.6 444.3 824.2 480.5 809.6 516.6 773.4 533.2ZM773.4 277.3Q752 277.3 737.3 262.7T721.7 226.6 736.3 190.4 772.5 175.8 808.6 190.4 824.2 226.6 809.6 262.7 773.4 277.3ZM175.8 416H533.2Q552.7 416 568.4 431.6T584 466.8V824.2Q584 845.7 568.4 860.4T533.2 875H175.8Q154.3 875 139.6 860.4T125 824.2V466.8Q125 447.3 139.6 431.6T175.8 416ZM353.5 595.7Q334 595.7 318.4 610.4T302.7 645.5 318.4 681.6 354.5 697.3 389.6 681.6 404.3 645.5 389.6 610.4 353.5 595.7ZM226.6 466.8Q205.1 466.8 190.4 482.4T175.8 518.6 190.4 553.7 226.6 568.4 262.7 553.7 277.3 517.6V517.6Q277.3 498 262.7 482.4T226.6 466.8ZM480.5 722.7Q460.9 722.7 445.3 737.3T429.7 772.5 445.3 808.6 481.4 824.2 516.6 809.6 531.3 773.4V773.4Q531.3 752 516.6 737.3T482.4 722.7H480.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"33a5d767bbc44ccf5ac402d83fb74fc2\",\n      \"css\": \"dice-d10-outline\",\n      \"code\": 984943,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 666H375V425.8L300.8 449.2V396.5L431.6 349.6H437.5V666ZM585.9 341.8Q630.9 341.8 662.1 373T693.4 449.2V558.6Q693.4 603.5 662.1 634.8T585.9 666 509.8 634.8 478.5 558.6V449.2Q478.5 404.3 509.8 373T585.9 341.8ZM585.9 402.3Q568.4 402.3 554.7 415T541 445.3V562.5Q541 580.1 554.7 592.8T585.9 605.5 617.2 592.8 630.9 562.5V445.3Q630.9 427.7 617.2 415T585.9 402.3ZM500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 166L834 500 500 834 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d10-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f836fa3e81cde1999eab7f3755c2d669\",\n      \"css\": \"folder-open\",\n      \"code\": 984944,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H791Q826.2 250 850.6 274.4T875 334H166V750L255.9 416H966.8L873 771.5Q865.2 798.8 842.8 816.4T791 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-open\"\n      ]\n    },\n    {\n      \"uid\": \"50ee5a6a3f88c3e0e6e614520b8f2420\",\n      \"css\": \"guitar-acoustic\",\n      \"code\": 984945,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M816.4 125H916V209H849.6L673.8 384.8Q650.4 349.6 615.2 326.2ZM500 334Q568.4 334 617.2 382.8T666 500Q666 556.6 631.8 601.6T541 662.1V666Q541 722.7 513.7 770.5T438.5 846.7 334 875Q291 875 252.9 859.4T185.5 814.5 140.6 747.1 125 667 140.6 586.9 185.5 519.5 252.9 474.6 334 459H337.9Q353.5 402.3 398.4 368.2T500 334ZM500 437.5Q474.6 437.5 456.1 456.1T437.5 500 456.1 543.9 500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5ZM289.1 593.8L259.8 623 377 740.2 406.3 710.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"guitar-acoustic\"\n      ]\n    },\n    {\n      \"uid\": \"800ba8ef58141c98f718970c04fef86b\",\n      \"css\": \"loading\",\n      \"code\": 984946,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166V84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500H166Q166 410.2 210.9 333T333 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"loading\"\n      ]\n    },\n    {\n      \"uid\": \"d1fe8a50db9b6e8f28390f241cb39e86\",\n      \"css\": \"lock-reset\",\n      \"code\": 984947,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M525.4 84Q638.7 84 735.4 139.6T887.7 291 943.4 500 887.7 709 735.4 860.4 525.4 916Q418 916 326.2 865.2T177.7 726.6L244.1 673.8Q289.1 748 363.3 791T527.3 834 693.4 789.1 814.5 667 859.4 500 814.5 333 693.4 210.9 527.3 166Q443.4 166 371.1 205.1T252.9 310.5 195.3 459H310.5L156.3 613.3 0 459H111.3Q123 353.5 180.7 268.6T329.1 133.8 525.4 84ZM650.4 425.8Q666 427.7 676.8 438.5T687.5 464.8V656.3Q687.5 671.9 675.8 683.6T648.4 695.3H418Q402.3 695.3 391.6 683.6T380.9 656.3V464.8Q380.9 449.2 391.6 438.5T418 425.8V384.8Q418 335.9 452.1 302.7T534.2 269.5 616.2 302.7 650.4 384.8V425.8ZM533.2 328.1Q509.8 328.1 493.2 344.7T476.6 384.8V425.8H591.8V384.8Q591.8 361.3 574.2 344.7T533.2 328.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-reset\"\n      ]\n    },\n    {\n      \"uid\": \"924510f58f40b5e705fc378df96db3e0\",\n      \"css\": \"ninja\",\n      \"code\": 984948,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M322.3 541Q322.3 519.5 339.8 503.9 386.7 513.7 427.7 541 427.7 562.5 412.1 578.1T375 593.8 337.9 578.1 322.3 541ZM572.3 541Q613.3 513.7 660.2 503.9 677.7 519.5 677.7 542T662.1 579.1 625 593.8 587.9 579.1 572.3 541V541ZM500 375Q324.2 373 169.9 459L166 500Q166 578.1 201.2 648.4 349.6 625 500 625T798.8 648.4Q834 578.1 834 500L830.1 459Q675.8 373 500 375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ninja\"\n      ]\n    },\n    {\n      \"uid\": \"9252f4193eb8d61ccd16a1dfb0d61aa4\",\n      \"css\": \"octagram-outline\",\n      \"code\": 984949,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M91.8 669.9L162.1 500 91.8 330.1 261.7 261.7 330.1 91.8 500 162.1 669.9 91.8 738.3 261.7 908.2 330.1 837.9 500 908.2 669.9 738.3 738.3 669.9 908.2 500 837.9 330.1 908.2 261.7 738.3ZM201.2 375L252 500 201.2 625 324.2 675.8 375 798.8 500 748 625 798.8 675.8 675.8 798.8 625 748 500 798.8 375 675.8 324.2 625 201.2 500 252 375 201.2 324.2 324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"octagram-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0082dc272c6823733115b3112da8a094\",\n      \"css\": \"pencil-circle-outline\",\n      \"code\": 984950,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 623L544.9 369.1 630.9 455.1 377 709H291V623ZM500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM695.3 388.7L654.3 431.6 568.4 345.7 611.3 304.7Q617.2 296.9 627 296.9T642.6 304.7L695.3 357.4Q703.1 363.3 703.1 373T695.3 388.7ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"58c92a4ceeb232ed2eb2db794b7e4713\",\n      \"css\": \"selection-off\",\n      \"code\": 984951,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M21.5 156.3L74.2 103.5 896.5 925.8 843.8 978.5 781.3 916H709V843.8L156.3 291H84V218.8ZM166 84H291V166H242.2L160.2 84H166ZM916 166V291H834V166H709V84H834Q867.2 84 891.6 108.4T916 166ZM834 709H916V839.8L834 757.8V709ZM84 834V709H166V834H291V916H166Q132.8 916 108.4 891.6T84 834ZM416 84H584V166H416V84ZM416 834H584V916H416V834ZM834 416H916V584H834V416ZM84 416H166V584H84V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-off\"\n      ]\n    },\n    {\n      \"uid\": \"4246d6fda3c7a6f889a62707765dddf5\",\n      \"css\": \"set-all\",\n      \"code\": 984952,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q439.5 209 500 236.3 560.5 209 625 209 705.1 209 771.5 248T877 353.5 916 500 877 646.5 771.5 752 625 791Q560.5 791 500 763.7 439.5 791 375 791 294.9 791 228.5 752T123 646.5 84 500 123 353.5 228.5 248 375 209ZM353.5 500Q353.5 556.6 377 608.4T439.5 697.3L482.4 679.7Q441.4 646.5 418.9 599.6T396.5 500 418.9 400.4 482.4 320.3L439.5 302.7Q400.4 339.8 377 391.6T353.5 500ZM646.5 500Q646.5 443.4 623 391.6T560.5 302.7L517.6 320.3Q558.6 353.5 581.1 400.4T603.5 500 581.1 599.6 517.6 679.7L560.5 697.3Q599.6 660.2 623 608.4T646.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-all\"\n      ]\n    },\n    {\n      \"uid\": \"e81057df771d917454719b37bbddc026\",\n      \"css\": \"set-center\",\n      \"code\": 984953,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q294.9 209 228.5 248T123 353.5 84 500 123 646.5 228.5 752 375 791Q439.5 791 500 763.7 560.5 791 625 791 705.1 791 771.5 752T877 646.5 916 500 877 353.5 771.5 248 625 209Q560.5 209 500 236.3 439.5 209 375 209ZM375 291Q396.5 291 416 294.9 377 335.9 355.5 389.6T334 500 355.5 610.4 416 703.1Q394.5 709 375 709 318.4 709 270.5 680.7T194.3 604.5 166 500 194.3 395.5 270.5 319.3 375 291ZM625 291Q681.6 291 729.5 319.3T805.7 395.5 834 500 805.7 604.5 729.5 680.7 625 709Q603.5 709 584 705.1 623 664.1 644.5 610.4T666 500 644.5 389.6 584 296.9Q605.5 291 625 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-center\"\n      ]\n    },\n    {\n      \"uid\": \"24e7b0750c437ea565583344a39943d5\",\n      \"css\": \"set-center-right\",\n      \"code\": 984954,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 791Q560.5 791 500 763.7 439.5 791 375 791 294.9 791 228.5 752T123 646.5 84 500 123 353.5 228.5 248 375 209Q439.5 209 500 236.3 560.5 209 625 209 705.1 209 771.5 248T877 353.5 916 500 877 646.5 771.5 752 625 791ZM375 709L416 703.1Q377 664.1 355.5 610.4T334 500 355.5 389.6 416 294.9L375 291Q318.4 291 270.5 319.3T194.3 395.5 166 500 194.3 604.5 270.5 680.7 375 709ZM646.5 500Q646.5 443.4 623 391.6T560.5 302.7L517.6 320.3Q558.6 353.5 581.1 400.4T603.5 500 581.1 599.6 517.6 679.7L560.5 697.3Q599.6 660.2 623 608.4T646.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-center-right\"\n      ]\n    },\n    {\n      \"uid\": \"24eb446bf78e14b378f5ce156fb5c605\",\n      \"css\": \"set-left\",\n      \"code\": 984955,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q294.9 209 228.5 248T123 353.5 84 500 123 646.5 228.5 752 375 791Q439.5 791 500 763.7 560.5 791 625 791 705.1 791 771.5 752T877 646.5 916 500 877 353.5 771.5 248 625 209Q560.5 209 500 236.3 439.5 209 375 209ZM625 291Q681.6 291 729.5 319.3T805.7 395.5 834 500 805.7 604.5 729.5 680.7 625 709Q603.5 709 584 705.1 623 664.1 644.5 610.4T666 500 644.5 389.6 584 296.9Q605.5 291 625 291ZM500 334Q539.1 363.3 561.5 407.2T584 500 561.5 592.8 500 666Q460.9 636.7 438.5 592.8T416 500 438.5 407.2 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-left\"\n      ]\n    },\n    {\n      \"uid\": \"c21f08a347568ba8fc9282ecc7247a2c\",\n      \"css\": \"set-left-center\",\n      \"code\": 984956,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q439.5 209 500 236.3 560.5 209 625 209 705.1 209 771.5 248T877 353.5 916 500 877 646.5 771.5 752 625 791Q560.5 791 500 763.7 439.5 791 375 791 294.9 791 228.5 752T123 646.5 84 500 123 353.5 228.5 248 375 209ZM625 291L584 296.9Q623 335.9 644.5 389.6T666 500 644.5 610.4 584 705.1L625 709Q681.6 709 729.5 680.7T805.7 604.5 834 500 805.7 395.5 729.5 319.3 625 291ZM353.5 500Q353.5 556.6 377 608.4T439.5 697.3L482.4 679.7Q441.4 646.5 418.9 599.6T396.5 500 418.9 400.4 482.4 320.3L439.5 302.7Q400.4 339.8 377 391.6T353.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-left-center\"\n      ]\n    },\n    {\n      \"uid\": \"03de0d531f422651da063a4b4ef4c9af\",\n      \"css\": \"set-left-right\",\n      \"code\": 984957,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q439.5 209 500 236.3 560.5 209 625 209 705.1 209 771.5 248T877 353.5 916 500 877 646.5 771.5 752 625 791Q560.5 791 500 763.7 439.5 791 375 791 294.9 791 228.5 752T123 646.5 84 500 123 353.5 228.5 248 375 209ZM375 500Q375 568.4 409.2 626T500 716.8Q556.6 683.6 590.8 626T625 500 590.8 374 500 283.2Q443.4 316.4 409.2 374T375 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-left-right\"\n      ]\n    },\n    {\n      \"uid\": \"b1f33b23f00ae599d8bd0842c5402d6c\",\n      \"css\": \"set-none\",\n      \"code\": 984958,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q294.9 209 228.5 248T123 353.5 84 500 123 646.5 228.5 752 375 791Q439.5 791 500 763.7 560.5 791 625 791 705.1 791 771.5 752T877 646.5 916 500 877 353.5 771.5 248 625 209Q560.5 209 500 236.3 439.5 209 375 209ZM375 291Q396.5 291 416 294.9 377 335.9 355.5 389.6T334 500 355.5 610.4 416 703.1Q394.5 709 375 709 318.4 709 270.5 680.7T194.3 604.5 166 500 194.3 395.5 270.5 319.3 375 291ZM625 291Q681.6 291 729.5 319.3T805.7 395.5 834 500 805.7 604.5 729.5 680.7 625 709Q603.5 709 584 705.1 623 664.1 644.5 610.4T666 500 644.5 389.6 584 296.9Q605.5 291 625 291ZM500 334Q539.1 363.3 561.5 407.2T584 500 561.5 592.8 500 666Q460.9 636.7 438.5 592.8T416 500 438.5 407.2 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-none\"\n      ]\n    },\n    {\n      \"uid\": \"26abf9ebb5e2e2d4dab4499499f2f70a\",\n      \"css\": \"set-right\",\n      \"code\": 984959,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 791Q560.5 791 500 763.7 439.5 791 375 791 294.9 791 228.5 752T123 646.5 84 500 123 353.5 228.5 248 375 209Q439.5 209 500 236.3 560.5 209 625 209 705.1 209 771.5 248T877 353.5 916 500 877 646.5 771.5 752 625 791ZM375 709L416 703.1Q377 664.1 355.5 610.4T334 500 355.5 389.6 416 294.9L375 291Q318.4 291 270.5 319.3T194.3 395.5 166 500 194.3 604.5 270.5 680.7 375 709ZM500 666Q539.1 636.7 561.5 592.8T584 500 561.5 407.2 500 334Q460.9 363.3 438.5 407.2T416 500 438.5 592.8 500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-right\"\n      ]\n    },\n    {\n      \"uid\": \"fa0d5540045a339fb187db2c5af449fa\",\n      \"css\": \"shield-half-full\",\n      \"code\": 984960,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-half-full\"\n      ]\n    },\n    {\n      \"uid\": \"3596b93fba4d1bf068cd587d75fab775\",\n      \"css\": \"sign-direction\",\n      \"code\": 984961,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 500H146.5L250 396.5 146.5 291H459V125L500 84 541 125V291H750L853.5 396.5 750 500H541V834Q576.2 834 600.6 858.4T625 916H375Q375 882.8 399.4 858.4T459 834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-direction\"\n      ]\n    },\n    {\n      \"uid\": \"5b4546ae586f0fa0af90616c9a30384c\",\n      \"css\": \"sign-text\",\n      \"code\": 984962,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 125L500 84 541 125V209H834Q851.6 209 863.3 220.7T875 250V666Q875 683.6 863.3 696.3T834 709H541V834Q576.2 834 600.6 858.4T625 916H375Q375 882.8 399.4 858.4T459 834V709H166Q148.4 709 136.7 696.3T125 666V250Q125 232.4 136.7 220.7T166 209H459V125ZM250 334V416H750V334H250ZM250 500V584H541V500H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-text\"\n      ]\n    },\n    {\n      \"uid\": \"0184ff9a9ab63f86cc2b080a46607511\",\n      \"css\": \"signal-off\",\n      \"code\": 984963,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 125V673.8L875 798.8V125H750ZM177.7 209L125 261.7 447.3 584H334V875H459V593.8L541 677.7V875H666V802.7L822.3 959 875 904.3ZM541 375V466.8L666 591.8V375H541ZM125 750V875H250V750H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-off\"\n      ]\n    },\n    {\n      \"uid\": \"3ea372b45945a6272f021d12c771eb70\",\n      \"css\": \"square-root\",\n      \"code\": 984964,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M490.2 701.2L607.4 584 490.2 464.8 548.8 406.3 666 525.4 785.2 406.3 843.8 464.8 724.6 584 843.8 701.2 785.2 759.8 666 642.6 548.8 759.8ZM84 459H209L304.7 683.6 416 250H916V334H480.5L361.3 791H259.8L154.3 541H84V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-root\"\n      ]\n    },\n    {\n      \"uid\": \"572209673ebd563334f241d3b2ec07f3\",\n      \"css\": \"sticker-emoji\",\n      \"code\": 984965,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 84Q168 84 126 126T84 228.5V771.5Q84 832 126 874T228.5 916H666L916 666V228.5Q916 168 874 126T771.5 84H228.5ZM240.2 166H759.8Q791 166 812.5 187.5T834 240.2V625H771.5Q710.9 625 668 668T625 771.5V834H240.2Q209 834 187.5 812.5T166 759.8V240.2Q166 209 187.5 187.5T240.2 166ZM601.6 281.3Q591.8 281.3 582 285.2 552.7 293 538.1 319.3T531.3 375Q533.2 384.8 539.1 392.6L673.8 357.4Q673.8 345.7 671.9 335.9 666 312.5 646.5 296.9T601.6 281.3ZM339.8 353.5Q326.2 353.5 320.3 355.5 291 365.2 276.4 390.6T269.5 445.3Q271.5 451.2 277.3 462.9L279.3 464.8 412.1 427.7Q412.1 418 410.2 408.2 404.3 382.8 384.8 368.2T339.8 353.5ZM697.3 468.8L316.4 574.2Q357.4 621.1 418 639.6T539.1 641.6 642.6 578.1 697.3 468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-emoji\"\n      ]\n    },\n    {\n      \"uid\": \"889bd147bff8fee9791d3cb600264ad6\",\n      \"css\": \"summit\",\n      \"code\": 984966,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125H709L916 209 709 291V423.8L916 875H84L334 541 478.5 738.3 625 423.8V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"summit\"\n      ]\n    },\n    {\n      \"uid\": \"446616f4dea9160247cf78bb85ede54f\",\n      \"css\": \"sword-cross\",\n      \"code\": 984967,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M257.8 101.6L753.9 597.7 841.8 509.8 900.4 568.4 798.8 669.9 931.6 802.7Q943.4 816.4 943.4 833T931.6 861.3L900.4 892.6Q888.7 904.3 872.1 904.3T841.8 892.6L709 759.8 607.4 863.3 548.8 804.7 636.7 714.8 140.6 218.8V101.6H257.8ZM662.1 416L859.4 218.8V101.6H742.2L544.9 298.8ZM455.1 625L337.9 505.9 246.1 597.7 158.2 509.8 99.6 568.4 201.2 669.9 68.4 804.7Q56.6 816.4 56.6 833T68.4 863.3L99.6 892.6Q111.3 904.3 127.9 904.3T158.2 892.6L291 759.8 392.6 863.3 451.2 804.7 363.3 714.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sword-cross\"\n      ]\n    },\n    {\n      \"uid\": \"a8dc9b4a37e662811c1e9d0f66dafd93\",\n      \"css\": \"truck-fast\",\n      \"code\": 984968,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 562.5L93.8 500H312.5L287.1 437.5H84L52.7 375H377L351.6 312.5H46.9L9.8 250H166Q166 214.8 190.4 190.4T250 166H750V334H875L1000 500V709H916Q916 759.8 879.9 796.9T792 834 703.1 796.9 666 709H500Q500 759.8 463.9 796.9T375 834 286.1 796.9 250 709H166V562.5H125ZM791 771.5Q818.4 771.5 835.9 752.9T853.5 708 835.9 664.1 792 646.5 747.1 664.1 728.5 708 747.1 752.9 791 771.5ZM853.5 396.5H750V500H935.5ZM375 771.5Q400.4 771.5 418.9 752.9T437.5 708 418.9 664.1 375 646.5 331.1 664.1 312.5 708 331.1 752.9 375 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-fast\"\n      ]\n    },\n    {\n      \"uid\": \"dd3e07501d9e94582936f0907b7d6ce3\",\n      \"css\": \"microsoft-yammer\",\n      \"code\": 984969,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 517.6 915 539.1T912.1 582 907.2 625 898.4 662.1Q896.5 669.9 890.6 674.8T877 679.7Q873 679.7 861.3 675.8L789.1 656.3Q781.3 689.5 767.6 723.6T735.4 791 695.3 854.5 650.4 908.2L642.6 914.1Q638.7 916 631.8 916T619.1 910.2L419.9 712.9H119.1Q103.5 712.9 93.8 702.1T84 677.7V322.3Q84 308.6 93.8 297.9T119.1 287.1H419.9L617.2 89.8Q625 84 631.8 84T642.6 85.9 650.4 91.8Q660.2 101.6 669.9 113.3L687.5 136.7Q759.8 230.5 789.1 345.7L861.3 324.2Q871.1 322.3 877.9 322.3T890.6 327.1 898.4 339.8Q904.3 357.4 906.3 377L912.1 419.9 916 460.9V500ZM408.2 390.6Q408.2 377 400.4 368.2T381.8 359.4 363.3 364.3 351.6 377L298.8 478.5 246.1 377Q240.2 367.2 232.4 363.3T212.9 359.4 192.4 368.2 183.6 387.7 187.5 406.3L261.7 541V609.4Q261.7 625 272.5 632.8T295.9 640.6 314.5 636.7 323.2 626 328.1 611.3 330.1 595.7L328.1 543Q328.1 539.1 330.1 535.2L406.3 406.3Q410.2 398.4 410.2 390.6H408.2ZM632.8 150.4L492.2 291Q500 296.9 504.9 304.7T509.8 322.3V419.9L738.3 359.4Q722.7 298.8 696.3 249T632.8 150.4ZM738.3 642.6L509.8 582V677.7Q509.8 687.5 504.9 695.3T492.2 709L632.8 849.6Q669.9 804.7 697.3 752T738.3 642.6V642.6ZM853.5 619.1Q857.4 589.8 860.4 560.5T863.3 501 860.4 441.4 853.5 382.8L509.8 474.6V525.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-yammer\"\n      ]\n    },\n    {\n      \"uid\": \"db64fe50ceba599237666af4433595d9\",\n      \"css\": \"cast-off\",\n      \"code\": 984970,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M66.4 52.7L9.8 115.2 58.6 158.2Q41 181.6 41 209V334H125V218.8L757.8 791H584V875H849.6L929.7 947.3 986.3 884.8ZM271.5 125L363.3 209H875V671.9L959 748V209Q959 173.8 934.6 149.4T875 125H271.5ZM41 416V500Q142.6 500 229.5 550.8T366.2 687.5 416 875H500Q500 750 438.5 644.5T271.5 477.5 41 416ZM41 584V666Q97.7 666 145.5 694.3T221.7 770.5 250 875H334Q334 816.4 311.5 762.7T248 668 153.3 605.5 41 584ZM41 750V875H166Q166 822.3 129.9 786.1T41 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cast-off\"\n      ]\n    },\n    {\n      \"uid\": \"4bbc1d2041434050cea17b726550a040\",\n      \"css\": \"help-box\",\n      \"code\": 984971,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 750H541V666H459V750ZM500 250Q431.6 250 382.8 298.8T334 416H416Q416 382.8 440.4 358.4T500 334 559.6 358.4 584 416Q584 441.4 568.4 460.9 558.6 472.7 531.3 492.2 496.1 519.5 482.4 541 459 574.2 459 625H541Q541 593.8 560.5 568.4 572.3 552.7 603.5 525.4T646.5 480.5Q666 453.1 666 416 666 347.7 617.2 298.8T500 250ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-box\"\n      ]\n    },\n    {\n      \"uid\": \"0faabff3a022c148dc4edc36d1d41cd1\",\n      \"css\": \"timer-sand-full\",\n      \"code\": 984972,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84V334L416 500 250 666V916H750V666L584 500 750 334V84H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-sand-full\"\n      ]\n    },\n    {\n      \"uid\": \"678ee997ed8ea67272c6d1f30da36832\",\n      \"css\": \"waves\",\n      \"code\": 984973,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500H916V584H834Q748 584 666 541 587.9 582 500 582T334 541Q252 584 166 584H84V500H166Q253.9 500 334 445.3 410.2 498 500 498T666 445.3Q746.1 500 834 500ZM834 250H916V334H834Q748 334 666 291 587.9 332 500 332T334 291Q252 334 166 334H84V250H166Q253.9 250 334 195.3 410.2 248 500 248T666 195.3Q746.1 250 834 250ZM834 750H916V834H834Q748 834 666 791 587.9 832 500 832T334 791Q252 834 166 834H84V750H166Q253.9 750 334 695.3 410.2 748 500 748T666 695.3Q746.1 750 834 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"waves\"\n      ]\n    },\n    {\n      \"uid\": \"97e7cfc90a298d1f6e3b7243bb834551\",\n      \"css\": \"alarm-bell\",\n      \"code\": 984974,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 777.3V916H209V777.3Q304.7 834 417 834T625 777.3ZM916 166Q916 132.8 891.6 108.4T834 84Q814.5 84 795.9 92.8T765.6 119.1Q744.1 146.5 751 180.7T785.2 234.4Q806.6 250 834 250H843.8Q896.5 388.7 859.4 532.2T709 771.5Q683.6 791 666 800.8V875H709V822.3Q806.6 752 861.3 644.5T916 416Q916 320.3 882.8 234.4 916 209 916 166ZM750 416Q750 507.8 705.1 584T584 705.1 417 750 250 705.1 128.9 584 84 417 128.9 250 250 128.9 417 84 584 128.9 705.1 250 750 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-bell\"\n      ]\n    },\n    {\n      \"uid\": \"6d2aedd9307a8542b36ad32e42589833\",\n      \"css\": \"alarm-light\",\n      \"code\": 984975,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 287.1L162.1 199.2 220.7 140.6 308.6 228.5ZM541 41V166H459V41H541ZM837.9 199.2L750 287.1 691.4 228.5 779.3 140.6ZM187.5 437.5V521.5H62.5V437.5H187.5ZM812.5 437.5H937.5V521.5H812.5V437.5ZM250 834H750Q785.2 834 809.6 858.4T834 916H166Q166 882.8 190.4 858.4T250 834ZM500 209Q548.8 209 595.7 227.5T677.7 281.3 731.4 362.3 750 459V791H250V459Q250 408.2 268.6 362.3T322.3 281.3 404.3 227.5 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-light\"\n      ]\n    },\n    {\n      \"uid\": \"70dcfeb77771143b503bf63bb624b462\",\n      \"css\": \"video-switch-outline\",\n      \"code\": 984976,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 541H500V625L625 500 500 375V459H334V375L209 500 334 625V541ZM750 396.5V250Q750 232.4 737.3 220.7T709 209H125Q109.4 209 96.7 220.7T84 250V750Q84 765.6 96.7 778.3T125 791H709Q724.6 791 737.3 778.3T750 750V603.5L916 771.5V228.5ZM666 709H166V291H666V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-switch-outline\"\n      ]\n    },\n    {\n      \"uid\": \"75aa0b23cec37c9459650d848ca7d033\",\n      \"css\": \"check-decagram\",\n      \"code\": 984977,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L857.4 384.8 871.1 230.5 720.7 197.3 642.6 64.5 500 125 357.4 64.5 279.3 197.3 128.9 230.5 142.6 382.8 41 500 142.6 615.2 128.9 769.5 279.3 804.7 357.4 935.5 500 875 642.6 935.5 720.7 802.7 871.1 769.5 857.4 615.2ZM416 709L250 541 308.6 482.4 416 589.8 691.4 316.4 750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-decagram\"\n      ]\n    },\n    {\n      \"uid\": \"596faac34c69bf7a2368fcea467b70f2\",\n      \"css\": \"arrow-collapse-down\",\n      \"code\": 984978,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M830.1 503.9L500 834 169.9 503.9 228.5 445.3 459 673.8V84H541V673.8L771.5 443.4ZM500 834H84V916H916V834H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-down\"\n      ]\n    },\n    {\n      \"uid\": \"00efa42e4fd6711ed1e637cea02712ce\",\n      \"css\": \"arrow-collapse-left\",\n      \"code\": 984979,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M496.1 830.1L166 500 496.1 169.9 554.7 228.5 326.2 459H916V541H326.2L556.6 771.5ZM166 500V84H84V916H166V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-left\"\n      ]\n    },\n    {\n      \"uid\": \"52b694f0c322fba514322084b85aaeb1\",\n      \"css\": \"arrow-collapse-right\",\n      \"code\": 984980,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M503.9 169.9L834 500 503.9 830.1 445.3 771.5 673.8 541H84V459H673.8L445.3 228.5ZM834 500V916H916V84H834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-right\"\n      ]\n    },\n    {\n      \"uid\": \"4e1f6f8ac6f6fef2958ada2bca7143a4\",\n      \"css\": \"arrow-collapse-up\",\n      \"code\": 984981,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M169.9 496.1L500 166 830.1 496.1 771.5 554.7 541 326.2V916H459V326.2L228.5 554.7ZM500 166H916V84H84V166H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-up\"\n      ]\n    },\n    {\n      \"uid\": \"75626fa9793939008116f5e1a6a8c902\",\n      \"css\": \"arrow-expand-down\",\n      \"code\": 984982,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166V84H84V166H459V757.8L228.5 527.3 169.9 585.9 500 916 830.1 585.9 771.5 527.3 541 757.8V166H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-down\"\n      ]\n    },\n    {\n      \"uid\": \"51a3ac5fa3c7a1708da5d74b951abc89\",\n      \"css\": \"arrow-expand-left\",\n      \"code\": 984983,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 916H916V84H834V459H242.2L472.7 228.5 414.1 169.9 84 500 414.1 830.1 472.7 771.5 242.2 541H834V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-left\"\n      ]\n    },\n    {\n      \"uid\": \"e4d07f65073659fb24224dbbdaa6d63a\",\n      \"css\": \"arrow-expand-right\",\n      \"code\": 984984,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H84V916H166V541H757.8L527.3 771.5 585.9 830.1 916 500 585.9 169.9 527.3 228.5 757.8 459H166V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-right\"\n      ]\n    },\n    {\n      \"uid\": \"0879ad6dbf730c31a42db72dd90888c9\",\n      \"css\": \"arrow-expand-up\",\n      \"code\": 984985,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 834V916H916V834H541V242.2L771.5 472.7 830.1 414.1 500 84 169.9 414.1 228.5 472.7 459 242.2V834H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-up\"\n      ]\n    },\n    {\n      \"uid\": \"38ebaa0e3885472c76cdf915a6926998\",\n      \"css\": \"book-lock\",\n      \"code\": 984986,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H500V375L396.5 312.5 291 375V84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM750 834H416V666H459V625Q459 572.3 495.1 536.1T583 500 671.9 536.1 709 625V666H750V834ZM625 625V666H541V625Q541 607.4 553.7 595.7T584 584 613.3 595.7 625 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-lock\"\n      ]\n    },\n    {\n      \"uid\": \"be5db2d2fb48907f818445c627becabd\",\n      \"css\": \"book-lock-open\",\n      \"code\": 984987,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H500V375L396.5 312.5 291 375V84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM750 834H416V666H459V584Q459 531.3 495.1 495.1T583 459 671.9 495.1 709 584H625Q625 566.4 613.3 553.7T584 541 553.7 553.7 541 584V666H750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-lock-open\"\n      ]\n    },\n    {\n      \"uid\": \"c92d5cee434601cfb53cd831159f34bd\",\n      \"css\": \"bus-articulated-end\",\n      \"code\": 984988,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M896.5 250L834 312.5 896.5 375 834 437.5 896.5 500 834 562.5 896.5 625H521.5Q521.5 677.7 484.4 713.9T395.5 750 307.6 713.9 271.5 625H103.5V334Q103.5 298.8 127.9 274.4T187.5 250H896.5ZM771.5 312.5H625V416H771.5V312.5ZM562.5 312.5H396.5V416H562.5V312.5ZM334 312.5H166V416H334V312.5ZM396.5 562.5Q369.1 562.5 351.6 581.1T334 625 351.6 668.9 395.5 687.5 440.4 668.9 459 625 440.4 581.1 396.5 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-articulated-end\"\n      ]\n    },\n    {\n      \"uid\": \"53cc0d87b6c38dd50284a105b7734290\",\n      \"css\": \"bus-articulated-front\",\n      \"code\": 984989,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 250L103.5 312.5 41 375 103.5 437.5 41 500 103.5 562.5 41 625H125Q125 677.7 161.1 713.9T250 750 338.9 713.9 375 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V334Q959 298.8 934.6 274.4T875 250H41ZM166 312.5H271.5V416H166V312.5ZM334 312.5H500V416H334V312.5ZM562.5 312.5H728.5V416H562.5V312.5ZM791 312.5H896.5V541L791 459V312.5ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-articulated-front\"\n      ]\n    },\n    {\n      \"uid\": \"6631700cfd35459a7c7de70c8280ac48\",\n      \"css\": \"bus-double-decker\",\n      \"code\": 984990,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V584Q959 548.8 934.6 524.4T875 500H791V396.5H959V250Q959 214.8 934.6 190.4T875 166H125ZM103.5 228.5H271.5V334H103.5V228.5ZM334 228.5H500V334H334V228.5ZM562.5 228.5H728.5V334H562.5V228.5ZM791 228.5H896.5V334H791V228.5ZM562.5 396.5H728.5V500H562.5V396.5ZM103.5 396.5H271.5V500H103.5V396.5ZM334 396.5H500V500H334V396.5ZM250 646.5Q275.4 646.5 293.9 664.1T312.5 708 293.9 752.9 250 771.5 206.1 752.9 187.5 708 206.1 664.1 250 646.5ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-double-decker\"\n      ]\n    },\n    {\n      \"uid\": \"40c7a94e1cb6bbca63f476783401ec7b\",\n      \"css\": \"bus-school\",\n      \"code\": 984991,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250Q89.8 250 65.4 274.4T41 334V625H125Q125 677.7 161.1 713.9T250 750 338.9 713.9 375 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V500Q959 464.8 934.6 440.4T875 416H791V334Q791 298.8 766.6 274.4T709 250H125ZM562.5 312.5H728.5V416H562.5V312.5ZM103.5 312.5H271.5V416H103.5V312.5ZM334 312.5H500V416H334V312.5ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-school\"\n      ]\n    },\n    {\n      \"uid\": \"17e49ac1c001a9b3dca2e825dadd6e93\",\n      \"css\": \"bus-side\",\n      \"code\": 984992,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250Q89.8 250 65.4 274.4T41 334V625H125Q125 677.7 161.1 713.9T250 750 338.9 713.9 375 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V334Q959 298.8 934.6 274.4T875 250H125ZM103.5 312.5H271.5V416H103.5V312.5ZM334 312.5H500V416H334V312.5ZM562.5 312.5H728.5V416H562.5V312.5ZM791 312.5H896.5V541L791 459V312.5ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-side\"\n      ]\n    },\n    {\n      \"uid\": \"fe141aa7723cb343e464b9f3019e2f75\",\n      \"css\": \"camera-gopro\",\n      \"code\": 984993,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209H625Q589.8 209 565.4 233.4T541 291V500Q541 535.2 565.4 559.6T625 584H834Q867.2 584 891.6 559.6T916 500V291Q916 257.8 891.6 233.4T834 209ZM728.5 521.5Q677.7 521.5 640.6 484.4T603.5 395.5 640.6 307.6 729.5 271.5 817.4 307.6 853.5 395.5 817.4 484.4 728.5 521.5ZM728.5 459Q703.1 459 684.6 440.4T666 395.5 684.6 351.6 729.5 334 773.4 351.6 791 395.5 773.4 440.4 728.5 459ZM500 625V209H166Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V625H500ZM416 500H166V291H416V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-gopro\"\n      ]\n    },\n    {\n      \"uid\": \"7874a40d3e699760efb35a8416bd523b\",\n      \"css\": \"camera-metering-center\",\n      \"code\": 984994,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM166 250V750H834V250H166ZM500 437.5Q525.4 437.5 543.9 456.1T562.5 500 543.9 543.9 500 562.5 456.1 543.9 437.5 500 456.1 456.1 500 437.5ZM500 312.5Q566.4 312.5 617.2 353.5T683.6 459H617.2Q605.5 421.9 573.2 398.4T500 375 426.8 398.4 382.8 459H316.4Q332 394.5 382.8 353.5T500 312.5ZM500 687.5Q433.6 687.5 382.8 646.5T316.4 541H382.8Q394.5 578.1 426.8 601.6T500 625 573.2 601.6 617.2 541H683.6Q668 605.5 617.2 646.5T500 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-metering-center\"\n      ]\n    },\n    {\n      \"uid\": \"d9b7c348695d2d3aa17683c0b0673414\",\n      \"css\": \"camera-metering-matrix\",\n      \"code\": 984995,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM166 250V750H834V250H166ZM228.5 312.5H459V382.8Q431.6 390.6 411.1 411.1T382.8 459H228.5V312.5ZM771.5 312.5V459H617.2Q609.4 431.6 588.9 411.1T541 382.8V312.5H771.5ZM771.5 687.5H541V617.2Q568.4 609.4 588.9 588.9T617.2 541H771.5V687.5ZM228.5 687.5V541H382.8Q390.6 568.4 411.1 588.9T459 617.2V687.5H228.5ZM500 437.5Q525.4 437.5 543.9 456.1T562.5 500 543.9 543.9 500 562.5 456.1 543.9 437.5 500 456.1 456.1 500 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-metering-matrix\"\n      ]\n    },\n    {\n      \"uid\": \"5f0a523b47c196253fdf6cb1383ea5a8\",\n      \"css\": \"camera-metering-partial\",\n      \"code\": 984996,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM166 250V750H834V250H166ZM500 312.5Q566.4 312.5 617.2 353.5T683.6 459H617.2Q605.5 421.9 573.2 398.4T500 375 426.8 398.4 382.8 459H316.4Q332 394.5 382.8 353.5T500 312.5ZM500 687.5Q433.6 687.5 382.8 646.5T316.4 541H382.8Q394.5 578.1 426.8 601.6T500 625 573.2 601.6 617.2 541H683.6Q668 605.5 617.2 646.5T500 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-metering-partial\"\n      ]\n    },\n    {\n      \"uid\": \"977eebcd0f22d216dcb155a5a79979e4\",\n      \"css\": \"camera-metering-spot\",\n      \"code\": 984997,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM166 250V750H834V250H166ZM500 437.5Q525.4 437.5 543.9 456.1T562.5 500 543.9 543.9 500 562.5 456.1 543.9 437.5 500 456.1 456.1 500 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-metering-spot\"\n      ]\n    },\n    {\n      \"uid\": \"7cbe0012a4e3a09cca1662919eeb521b\",\n      \"css\": \"cannabis\",\n      \"code\": 984998,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 916V722.7Q437.5 787.1 334 826.2L341.8 804.7Q353.5 781.3 367.2 757.8 388.7 728.5 414.1 707 306.6 728.5 166 666L197.3 652.3Q236.3 636.7 277.3 627 334 617.2 386.7 623 252 541 173.8 337.9L205.1 347.7Q242.2 363.3 279.3 382.8 330.1 412.1 371.1 447.3 421.9 492.2 455.1 546.9 402.3 419.9 445.3 238.3 466.8 148.4 500 84V84Q568.4 236.3 574.2 369.1 578.1 466.8 546.9 544.9 605.5 447.3 720.7 382.8 779.3 351.6 826.2 337.9V337.9Q748 541 613.3 623 666 617.2 722.7 627 763.7 636.7 802.7 652.3L834 666Q693.4 728.5 585.9 707 623 736.3 648.4 783.2 660.2 806.6 666 826.2V826.2Q562.5 787.1 521.5 722.7V916H478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cannabis\"\n      ]\n    },\n    {\n      \"uid\": \"523fa85e211d914cd457e7f8dba84650\",\n      \"css\": \"car-convertible\",\n      \"code\": 984999,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250L625 281.3 728.5 416H562.5V353.5H500V416H125Q89.8 416 65.4 440.4T41 500V625H125Q125 677.7 161.1 713.9T250 750 338.9 713.9 375 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V500Q959 464.8 934.6 440.4T875 416H791ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-convertible\"\n      ]\n    },\n    {\n      \"uid\": \"29783ed1b6879e4ca5b74d28d40f068f\",\n      \"css\": \"car-estate\",\n      \"code\": 985000,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250H666L791 416H875Q910.2 416 934.6 440.4T959 500V625H875Q875 677.7 838.9 713.9T750 750 661.1 713.9 625 625H375Q375 677.7 338.9 713.9T250 750 161.1 713.9 125 625H41V334Q41 298.8 65.4 274.4T125 250ZM103.5 312.5V416H437.5V312.5H103.5ZM500 312.5V416H714.8L634.8 312.5H500ZM250 562.5Q224.6 562.5 206.1 581.1T187.5 625 206.1 668.9 250 687.5 293.9 668.9 312.5 625 293.9 581.1 250 562.5ZM750 562.5Q724.6 562.5 706.1 581.1T687.5 625 706.1 668.9 750 687.5 793.9 668.9 812.5 625 793.9 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-estate\"\n      ]\n    },\n    {\n      \"uid\": \"d88727370406a188432f83eaea791872\",\n      \"css\": \"car-hatchback\",\n      \"code\": 985001,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250H250L41 500V625H125Q125 677.7 161.1 713.9T250 750 338.9 713.9 375 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V500Q959 464.8 934.6 440.4T875 416H791ZM271.5 312.5H437.5V416H187.5ZM500 312.5H646.5L726.6 416H500V312.5ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-hatchback\"\n      ]\n    },\n    {\n      \"uid\": \"7ab26c48ab0c8d7eb168449c097fc424\",\n      \"css\": \"car-pickup\",\n      \"code\": 985002,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250H437.5V416H41V625H125Q125 677.7 161.1 713.9T250 750 338.9 713.9 375 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V500Q959 464.8 934.6 440.4T875 416H791ZM500 312.5H646.5L726.6 416H500V312.5ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-pickup\"\n      ]\n    },\n    {\n      \"uid\": \"fe5fe5c8590d203af34855756b62c559\",\n      \"css\": \"car-side\",\n      \"code\": 985003,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250L791 416H875Q910.2 416 934.6 440.4T959 500V625H875Q875 677.7 838.9 713.9T750 750 661.1 713.9 625 625H375Q375 677.7 338.9 713.9T250 750 161.1 713.9 125 625H41V500Q41 464.8 65.4 440.4T125 416L250 250H666ZM437.5 312.5H281.3L203.1 416H437.5V312.5ZM500 312.5V416H714.8L634.8 312.5H500ZM250 562.5Q224.6 562.5 206.1 581.1T187.5 625 206.1 668.9 250 687.5 293.9 668.9 312.5 625 293.9 581.1 250 562.5ZM750 562.5Q724.6 562.5 706.1 581.1T687.5 625 706.1 668.9 750 687.5 793.9 668.9 812.5 625 793.9 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-side\"\n      ]\n    },\n    {\n      \"uid\": \"3c8566d796b2b2636addd493d34efd70\",\n      \"css\": \"car-sports\",\n      \"code\": 985004,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 353.5H291L166 459H125Q89.8 459 65.4 483.4T41 541V666H132.8Q146.5 705.1 178.7 727.5T250 750 321.3 727.5 367.2 666H632.8Q646.5 705.1 678.7 727.5T750 750 821.3 727.5 867.2 666H959V625Q959 597.7 937.5 580.1 925.8 568.4 890.6 550.8ZM218.8 500L312.5 416H478.5L646.5 500H218.8ZM250 562.5Q275.4 562.5 293.9 581.1T312.5 625 293.9 668.9 250 687.5 206.1 668.9 187.5 625 206.1 581.1 250 562.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-sports\"\n      ]\n    },\n    {\n      \"uid\": \"2ac7800ff17635e0f6e5d9080dcce292\",\n      \"css\": \"caravan\",\n      \"code\": 985005,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291Q173.8 291 149.4 315.4T125 375V625Q125 660.2 149.4 684.6T209 709H291Q291 759.8 328.1 796.9T417 834 504.9 796.9 541 709H875V625H791V375Q791 339.8 766.6 315.4T709 291H209ZM209 375H416V500H209V375ZM541 375H709V500H541V375ZM416 666Q433.6 666 446.3 678.7T459 709 446.3 738.3 416 750 386.7 738.3 375 709 386.7 678.7 416 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"caravan\"\n      ]\n    },\n    {\n      \"uid\": \"10d73d75c43ab1437e86c56f7f8af9c9\",\n      \"css\": \"cctv\",\n      \"code\": 985006,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M755.9 205.1Q732.4 203.1 709 216.8L347.7 425.8Q318.4 443.4 309.6 476.6T318.4 539.1L380.9 646.5Q396.5 677.7 429.7 686.5T494.1 677.7L568.4 634.8Q585.9 664.1 617.2 677.7V752Q617.2 785.2 641.6 809.6T701.2 834H916V752H701.2V677.7Q728.5 666 746.1 639.6T763.7 584 748 531.3L853.5 468.8Q884.8 451.2 893.6 418T884.8 355.5L822.3 248Q800.8 210.9 755.9 205.1ZM259.8 548.8L84 578.1 228.5 830.1 341.8 693.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cctv\"\n      ]\n    },\n    {\n      \"uid\": \"70e15e099e0ee30e9d2c08cea147d69c\",\n      \"css\": \"chart-donut\",\n      \"code\": 985007,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 85.9V210.9Q611.3 222.7 668.9 262.7T758.8 365.2 791 500Q791 554.7 771.5 605.5L880.9 669.9Q916 587.9 916 500 916 394.5 866.2 302.7T731.4 153.3 541 85.9ZM500 791Q419.9 791 353.5 752T248 646.5 209 500Q209 427.7 241.2 365.2T331.1 262.7 459 210.9V85.9Q353.5 95.7 267.6 153.3T132.8 302.7 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916Q601.6 916 689.5 871.1T835.9 746.1L726.6 681.6Q685.5 734.4 627 762.7T500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-donut\"\n      ]\n    },\n    {\n      \"uid\": \"b0fc9431d9f517569c9cee0550cffc65\",\n      \"css\": \"chart-donut-variant\",\n      \"code\": 985008,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 85.9Q646.5 95.7 731.4 153.3T866.2 302.7 916 500Q916 587.9 880.9 669.9L771.5 605.5Q791 554.7 791 500 791 427.7 758.8 365.2T668.9 262.7 541 210.9V85.9ZM500 791Q568.4 791 627 762.7T726.6 681.6L835.9 746.1Q777.3 826.2 689.5 871.1T500 916Q386.7 916 291 860.4T139.6 709 84 500Q84 394.5 132.8 302.7T267.6 153.3 459 85.9V210.9Q388.7 222.7 331.1 262.7T241.2 365.2 209 500Q209 580.1 248 646.5T353.5 752 500 791ZM500 250Q568.4 250 626 283.2T716.8 374 750 500Q750 591.8 690.4 662.1T541 746.1V617.2Q578.1 605.5 601.6 573.2T625 500Q625 447.3 588.9 411.1T500 375L476.6 377 412.1 265.6Q453.1 250 500 250ZM250 500Q250 443.4 274.4 393.6T341.8 306.6L404.3 418Q375 453.1 375 500 375 541 398.4 573.2T459 617.2V746.1Q369.1 732.4 309.6 662.1T250 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-donut-variant\"\n      ]\n    },\n    {\n      \"uid\": \"41430892f5c3d6a5d7986b5b8828d977\",\n      \"css\": \"chart-line-variant\",\n      \"code\": 985009,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 771.5L396.5 521.5 562.5 687.5 916 289.1 857.4 228.5 562.5 562.5 396.5 396.5 84 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-line-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6eee2fce29b599be2b195fe80e82812d\",\n      \"css\": \"chili-hot\",\n      \"code\": 985010,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 375L789.1 343.8Q808.6 353.5 821.3 373T834 416V906.3L798.8 896.5Q755.9 880.9 716.8 857.4 660.2 824.2 617.2 777.3 564.5 720.7 535.2 648.4 500 562.5 500 459V416Q500 394.5 510.7 375T541 345.7L601.6 375 666 334ZM584 84Q630.9 84 666 115.2T709 193.4Q740.2 203.1 763.7 224.6T800.8 275.4L740.2 312.5 666 271.5 601.6 312.5 531.3 277.3Q543 248 567.4 226.6T623 193.4Q617.2 181.6 606.4 173.8T584 166V84ZM416 416Q416 554.7 451.2 654.3 480.5 734.4 535.2 794.9 568.4 830.1 634.8 880.9L666 906.3 632.8 896.5Q589.8 880.9 548.8 857.4 494.1 824.2 451.2 777.3 396.5 720.7 367.2 648.4 334 562.5 334 459V416Q334 394.5 344.7 375T373 345.7L429.7 373Q416 392.6 416 416ZM435.5 312.5L365.2 277.3Q377 248 400.4 226.6T455.1 193.4Q451.2 181.6 440.4 173.8T416 166V84Q464.8 84 500 115.2V166Q513.7 166 524.4 173.8T539.1 193.4Q505.9 205.1 482.4 230.5 455.1 259.8 435.5 312.5ZM250 416Q250 554.7 285.2 654.3 314.5 734.4 369.1 794.9 400.4 830.1 468.8 880.9L500 906.3 464.8 896.5Q421.9 880.9 382.8 857.4 326.2 824.2 283.2 777.3 230.5 720.7 201.2 648.4 166 562.5 166 459V416Q166 394.5 177.7 375T207 345.7L261.7 373Q250 392.6 250 416ZM267.6 312.5L199.2 277.3Q210.9 248 234.4 226.6T289.1 193.4Q285.2 181.6 274.4 173.8T250 166V84Q296.9 84 334 115.2V166Q345.7 166 356.4 173.8T373 193.4Q339.8 205.1 316.4 230.5 289.1 259.8 267.6 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chili-hot\"\n      ]\n    },\n    {\n      \"uid\": \"35dd219fff914cf0ca2aeceeaed2de0a\",\n      \"css\": \"chili-medium\",\n      \"code\": 985011,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M656.3 375L707 343.8Q726.6 353.5 738.3 373T750 416V906.3L714.8 896.5Q671.9 880.9 632.8 857.4 576.2 824.2 533.2 777.3 480.5 720.7 451.2 648.4 416 562.5 416 459V416Q416 394.5 427.7 375T457 345.7L517.6 375 584 334ZM500 84Q546.9 84 583 115.2T625 193.4Q656.3 203.1 680.7 224.6T716.8 275.4L656.3 312.5 584 271.5 517.6 312.5 449.2 277.3Q460.9 248 484.4 226.6T539.1 193.4Q535.2 181.6 524.4 173.8T500 166V84ZM334 416Q334 554.7 369.1 654.3 396.5 734.4 451.2 794.9 484.4 830.1 550.8 880.9L584 906.3 548.8 896.5Q505.9 880.9 466.8 857.4 410.2 824.2 367.2 777.3 314.5 720.7 285.2 648.4 250 562.5 250 459V416Q250 394.5 260.7 375T291 345.7L345.7 373Q334 392.6 334 416ZM351.6 312.5L281.3 277.3Q293 248 317.4 226.6T373 193.4Q367.2 181.6 356.4 173.8T334 166V84Q380.9 84 416 115.2V166Q429.7 166 440.4 173.8T455.1 193.4Q423.8 205.1 398.4 230.5 373 259.8 351.6 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chili-medium\"\n      ]\n    },\n    {\n      \"uid\": \"fe88f99b4b1d49bca0e9e1185210cad3\",\n      \"css\": \"chili-mild\",\n      \"code\": 985012,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M572.3 375L623 343.8Q642.6 353.5 654.3 373T666 416V906.3L632.8 896.5Q589.8 880.9 548.8 857.4 494.1 824.2 451.2 777.3 396.5 720.7 367.2 648.4 334 562.5 334 459V416Q334 394.5 344.7 375T373 345.7L435.5 375 500 334ZM416 84Q464.8 84 500 115.2T541 193.4Q572.3 203.1 596.7 224.6T634.8 275.4L572.3 312.5 500 271.5 435.5 312.5 365.2 277.3Q377 248 400.4 226.6T455.1 193.4Q451.2 181.6 440.4 173.8T416 166V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chili-mild\"\n      ]\n    },\n    {\n      \"uid\": \"8f9fa181ef1a95c79d1efe52b63fdac0\",\n      \"css\": \"cloud-braces\",\n      \"code\": 985013,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 834Q181.6 834 124 799.8T33.2 708 0 584Q0 486.3 64.5 416T222.7 335.9Q261.7 257.8 335.9 211.9T500 166Q613.3 166 699.2 237.3T806.6 416Q888.7 421.9 944.3 482.4T1000 625Q1000 681.6 971.7 729.5T895.5 805.7 791 834H250ZM771.5 500H750Q732.4 500 720.7 488.3T709 459V416Q709 382.8 684.6 358.4T625 334H562.5V416H625V459Q625 492.2 649.4 516.6T709 541Q673.8 541 649.4 565.4T625 625V666H562.5V750H625Q660.2 750 684.6 725.6T709 666V625Q709 607.4 720.7 595.7T750 584H771.5V500ZM228.5 500V584H250Q267.6 584 279.3 595.7T291 625V666Q291 701.2 315.4 725.6T375 750H437.5V666H375V625Q375 589.8 350.6 565.4T291 541Q326.2 541 350.6 516.6T375 459V416H437.5V334H375Q339.8 334 315.4 358.4T291 416V459Q291 476.6 279.3 488.3T250 500H228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-braces\"\n      ]\n    },\n    {\n      \"uid\": \"064e83f858311a3cd087577e2fccc346\",\n      \"css\": \"cloud-tags\",\n      \"code\": 985014,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 834Q181.6 834 124 799.8T33.2 708 0 584Q0 486.3 64.5 416T222.7 335.9Q261.7 257.8 335.9 211.9T500 166Q613.3 166 699.2 237.3T806.6 416Q888.7 421.9 944.3 482.4T1000 625Q1000 681.6 971.7 729.5T895.5 805.7 791 834H250ZM378.9 349.6L187.5 541 378.9 732.4 437.5 673.8 304.7 541 437.5 408.2ZM621.1 349.6L562.5 408.2 695.3 541 562.5 673.8 621.1 732.4 812.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-tags\"\n      ]\n    },\n    {\n      \"uid\": \"2da57dbd0efd052f3be9b225f0b94c13\",\n      \"css\": \"console-line\",\n      \"code\": 985015,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791V666H875V791H541ZM353.5 541L103.5 291H279.3L486.3 498Q503.9 515.6 503.9 542T486.3 585.9L281.3 791H103.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"console-line\"\n      ]\n    },\n    {\n      \"uid\": \"8868d95809f3dc4bfc9eded111ce4df1\",\n      \"css\": \"corn\",\n      \"code\": 985016,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 500H367.2Q416 531.3 459 570.3V500ZM291 459Q296.9 353.5 326.2 267.6T400.4 132.8 500 84 600.6 133.8 674.8 270.5 709 462.9Q810.5 416 916 416 841.8 449.2 793 529.3 763.7 578.1 724.6 685.5 695.3 763.7 677.7 798.8 648.4 855.5 609.4 882.8 564.5 916 502 916T396.5 884.8Q359.4 857.4 330.1 802.7 314.5 767.6 285.2 691.4 244.1 582 212.9 533.2 162.1 451.2 84 416 187.5 416 291 459ZM459 459V375H343.8L334 459H459ZM459 334V250H377Q363.3 285.2 351.6 334H459ZM459 209V136.7Q425.8 158.2 396.5 209H459ZM500 125V209H541V250H500V334H584V375H500V459H625V500H500V584H584V625H509.8Q546.9 669.9 569.3 715.8T595.7 800.8Q628.9 748 647.5 666T666 488.3 642.6 308.6 581.1 174.8 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"corn\"\n      ]\n    },\n    {\n      \"uid\": \"be5fa4a3ffef2ba60f22562db5e05f1e\",\n      \"css\": \"folder-zip-outline\",\n      \"code\": 985017,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM834 750H666V666H584V750H166V334H584V416H666V334H834V750ZM666 500V416H750V500H666ZM584 500H666V584H584V500ZM750 666H666V584H750V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-zip-outline\"\n      ]\n    },\n    {\n      \"uid\": \"460153e54cdc0e16f3e1e56fbaf3d7fb\",\n      \"css\": \"currency-cny\",\n      \"code\": 985020,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 875V666H250V584H459V570.3L423.8 500H250V416H382.8L240.2 125H334L500 466.8 666 125H759.8L617.2 416H750V500H576.2L541 570.3V584H750V666H541V875H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-cny\"\n      ]\n    },\n    {\n      \"uid\": \"3fda79fcbb1b559af45e7aa3376099f9\",\n      \"css\": \"currency-cny\",\n      \"code\": 985018,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 875V666H250V584H459V570.3L423.8 500H250V416H382.8L240.2 125H334L500 466.8 666 125H759.8L617.2 416H750V500H576.2L541 570.3V584H750V666H541V875H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-cny\"\n      ]\n    },\n    {\n      \"uid\": \"b698c3eb93db0f0e1f7dfe7c1d4dffff\",\n      \"css\": \"currency-eth\",\n      \"code\": 985019,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 209H750V291H250V209ZM291 459H709V541H291V459ZM228.5 709H771.5V791H228.5V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-eth\"\n      ]\n    },\n    {\n      \"uid\": \"d9da241c753bfc514a865a7e44891bce\",\n      \"css\": \"currency-krw\",\n      \"code\": 985021,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H166L222.7 375H388.7L445.3 125H554.7L611.3 375H777.3L834 125H916L861.3 375H916V459H841.8L824.2 541H916V625H804.7L750 875H638.7L584 625H416L361.3 875H250L195.3 625H84V541H175.8L158.2 459H84V375H138.7ZM546.9 459H453.1L435.5 541H564.5ZM304.7 750L334 625H277.3ZM371.1 459H240.2L259.8 541H351.6ZM695.3 750L722.7 625H666ZM759.8 459H628.9L648.4 541H740.2ZM500 250L472.7 375H527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-krw\"\n      ]\n    },\n    {\n      \"uid\": \"bb490b6fad22aeec4cc7dd1d4301ba3f\",\n      \"css\": \"currency-sign\",\n      \"code\": 985022,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 363.3 834 252L916 169.9 830.1 80.1 748 164.1Q636.7 84 500 84T252 166L169.9 84 80.1 169.9 164.1 252Q84 363.3 84 500T166 748L84 830.1 171.9 918 255.9 835.9Q365.2 916 502 916T750 835.9L834 918 919.9 830.1 837.9 748Q916 638.7 916 500ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-sign\"\n      ]\n    },\n    {\n      \"uid\": \"d578b436ec6968fbd9f187bfde066fcf\",\n      \"css\": \"currency-twd\",\n      \"code\": 985023,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H875V541H625V791H875V875H625Q589.8 875 565.4 850.6T541 791V541H431.6L238.3 875 166 834 335.9 541H125V459ZM209 125H791V209H209V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-twd\"\n      ]\n    },\n    {\n      \"uid\": \"6d75f1a7a79a94d3230e20d4f0dab31a\",\n      \"css\": \"desktop-classic\",\n      \"code\": 985024,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V500Q166 535.2 190.4 559.6T250 584H750Q785.2 584 809.6 559.6T834 500V166Q834 132.8 809.6 108.4T750 84H250ZM250 166H750V500H250V166ZM166 625Q132.8 625 108.4 649.4T84 709V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V709Q916 673.8 891.6 649.4T834 625H166ZM334 709H834V834H334V709ZM375 740.2V802.7H541V740.2H375ZM625 740.2V802.7H791V740.2H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desktop-classic\"\n      ]\n    },\n    {\n      \"uid\": \"9888f0d0fbcb4d90bfa49db846fa0366\",\n      \"css\": \"dip-switch\",\n      \"code\": 985025,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H291Q308.6 166 321.3 178.7T334 209V791Q334 808.6 321.3 821.3T291 834H125Q107.4 834 95.7 821.3T84 791V209Q84 191.4 95.7 178.7T125 166ZM416 166H584Q601.6 166 613.3 178.7T625 209V791Q625 808.6 613.3 821.3T584 834H416Q398.4 834 386.7 821.3T375 791V209Q375 191.4 386.7 178.7T416 166ZM709 166H875Q892.6 166 904.3 178.7T916 209V791Q916 808.6 904.3 821.3T875 834H709Q691.4 834 678.7 821.3T666 791V209Q666 191.4 678.7 178.7T709 166ZM166 750H250V541H166V750ZM459 459H541V250H459V459ZM750 750H834V541H750V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dip-switch\"\n      ]\n    },\n    {\n      \"uid\": \"0e06e1bb9bfe66562e0c3bdc4b0ab4fa\",\n      \"css\": \"donkey\",\n      \"code\": 985026,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M888.7 431.6L886.7 427.7 750 291V250Q750 242.2 744.1 235.4T729.5 228.5 712.9 236.3L560.5 375H291Q269.5 375 251 384.8T220.7 414.1L109.4 525.4Q99.6 539.1 101.6 555.7T119.1 584Q128.9 591.8 142.6 591.8T166 584L209 544.9V791H334V625H541V791H666V576.2Q666 541 691.4 517.6L750 459 834 500Q843.8 505.9 853.5 505.9 873 503.9 886.7 490.2T899.4 459 888.7 431.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"donkey\"\n      ]\n    },\n    {\n      \"uid\": \"ea0607f948b7d01015b38358989a9839\",\n      \"css\": \"dots-horizontal-circle\",\n      \"code\": 985027,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 437.5Q474.6 437.5 456.1 456.1T437.5 500 456.1 543.9 500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5ZM271.5 437.5Q244.1 437.5 226.6 456.1T209 500 226.6 543.9 270.5 562.5 315.4 543.9 334 500 315.4 456.1 271.5 437.5ZM728.5 437.5Q703.1 437.5 684.6 456.1T666 500 684.6 543.9 729.5 562.5 773.4 543.9 791 500 773.4 456.1 728.5 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dots-horizontal-circle\"\n      ]\n    },\n    {\n      \"uid\": \"47588f15d3b6da6dd6d3a3dea56b36e4\",\n      \"css\": \"dots-vertical-circle\",\n      \"code\": 985028,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500ZM437.5 500Q437.5 525.4 456.1 543.9T500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5 456.1 456.1 437.5 500ZM437.5 728.5Q437.5 755.9 456.1 773.4T500 791 543.9 773.4 562.5 729.5 543.9 684.6 500 666 456.1 684.6 437.5 728.5ZM437.5 271.5Q437.5 296.9 456.1 315.4T500 334 543.9 315.4 562.5 270.5 543.9 226.6 500 209 456.1 226.6 437.5 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dots-vertical-circle\"\n      ]\n    },\n    {\n      \"uid\": \"ac2dace5ca354927ea93e247e6a7bc29\",\n      \"css\": \"ear-hearing\",\n      \"code\": 985029,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 834Q691.4 834 675.8 826.2 652.3 814.5 636.7 793T605.5 728.5 562.5 652.3Q544.9 632.8 505.9 603.5V603.5Q472.7 576.2 455.1 560.5 429.7 533.2 408.2 498 375 437.5 375 375 375 287.1 435.5 226.6T583 166 730.5 226.6 791 375H875Q875 294.9 835.9 227.5T730.5 122.1 583 84 435.5 122.1 330.1 227.5 291 376 335.9 537.1Q361.3 584 396.5 619.1 418 640.6 455.1 668 486.3 693.4 498 705.1 517.6 726.6 525.4 753.9 544.9 810.5 571.3 845.7T640.6 902.3Q671.9 916 709 916 777.3 916 826.2 867.2T875 750H791Q791 785.2 766.6 809.6T709 834ZM318.4 109.4L259.8 50.8Q195.3 113.3 160.2 197.3T125 375 160.2 552.7 259.8 699.2L318.4 640.6Q265.6 587.9 237.3 519.5T209 375 237.3 230.5 318.4 109.4ZM478.5 375Q478.5 418 509.8 448.2T584 478.5 657.2 448.2 687.5 375 657.2 301.8 584 271.5 509.8 301.8 478.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ear-hearing\"\n      ]\n    },\n    {\n      \"uid\": \"7305bbaf7cdce574280bbb09d5e7b258\",\n      \"css\": \"elephant\",\n      \"code\": 985030,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 646.5Q812.5 654.3 806.6 660.2T792 666 777.3 660.2 771.5 646.5V353.5Q771.5 294.9 718.8 252T603.5 209H250Q181.6 209 132.8 257.8T84 375V791H250V625H459V791H625V603.5Q625 595.7 630.9 589.8T645.5 584 660.2 589.8 666 603.5V666Q666 718.8 703.1 754.9T792 791 879.9 754.9 916 666V584H812.5V646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elephant\"\n      ]\n    },\n    {\n      \"uid\": \"23686d35e8a5eabb3e58e31dffab206f\",\n      \"css\": \"storefront\",\n      \"code\": 985031,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M210.9 125Q183.6 125 160.2 142.6T130.9 187.5L87.9 371.1Q72.3 437.5 111.3 488.3L127 502Q166 541 217.8 541T310.5 502Q351.6 541 406.3 541T500 502Q541 541 594.7 541T689.5 502Q728.5 541 783.2 541T875 502L886.7 490.2Q927.7 439.5 912.1 371.1L869.1 187.5Q861.3 160.2 838.9 142.6T789.1 125H210.9ZM787.1 207L832 390.6Q837.9 418 821.3 438.5T783.2 459 748 444.3 732.4 410.2L707 209ZM210.9 209H293L267.6 410.2Q259.8 459 218.8 459 193.4 459 179.7 439.5 162.1 418 168 390.6ZM377 209H459V404.3Q459 425.8 443.4 442.4T405.3 459 368.2 441.4 353.5 402.3V396.5ZM541 209H623L646.5 396.5Q650.4 421.9 634.8 440.4T591.8 459Q572.3 459 556.6 442.4T541 404.3V209ZM125 584V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V585.9Q839.8 623 791 625 732.4 627 689.5 585.9 650.4 625 595.7 625T500 585.9Q460.9 625 406.3 625T310.5 585.9Q271.5 625 218.8 625 168 625 125 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"storefront\"\n      ]\n    },\n    {\n      \"uid\": \"d39d1450d6135294d23fbb5e84985939\",\n      \"css\": \"food-croissant\",\n      \"code\": 985032,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 791L791 709 916 625V791ZM625 625L791 375 916 541 750 666ZM209 709L84 791V625ZM375 625L250 666 84 541 209 375ZM584 250L750 334 541 625H459L250 334 416 250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-croissant\"\n      ]\n    },\n    {\n      \"uid\": \"21af9839006186fae4631943ab148fd0\",\n      \"css\": \"forklift\",\n      \"code\": 985033,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 166V459H166Q132.8 459 108.4 483.4T84 541V709Q84 759.8 120.1 796.9T208 834 296.9 796.9 334 709H416Q416 759.8 453.1 796.9T542 834 629.9 796.9 666 709V541L500 166H250ZM709 209V791H916V728.5H771.5V209H709ZM312.5 228.5H466.8L603.5 541H312.5V228.5ZM209 646.5Q234.4 646.5 252.9 664.1T271.5 708 252.9 752.9 208 771.5 164.1 752.9 146.5 708 164.1 664.1 209 646.5ZM541 646.5Q568.4 646.5 585.9 664.1T603.5 708 585.9 752.9 542 771.5 497.1 752.9 478.5 708 497.1 664.1 541 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"forklift\"\n      ]\n    },\n    {\n      \"uid\": \"940347dcbdf4210b1e30de85b99e0f2a\",\n      \"css\": \"fuel\",\n      \"code\": 985034,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84H250Q267.6 84 279.3 95.7L367.2 181.6 400.4 150.4Q425.8 125 459 125H709Q742.2 125 767.6 150.4L808.6 191.4Q834 216.8 834 250V791Q834 826.2 809.6 850.6T750 875H334Q298.8 875 274.4 850.6T250 791V334Q250 300.8 275.4 275.4L306.6 242.2 232.4 166H125V84ZM459 209V291H709V209H459ZM474.6 459L392.6 375H334V433.6L416 517.6V650.4L334 732.4V791H392.6L474.6 709H607.4L691.4 791H750V732.4L666 650.4V517.6L750 433.6V375H691.4L607.4 459H474.6ZM500 541H584V625H500V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fuel\"\n      ]\n    },\n    {\n      \"uid\": \"db7ea5cb89de7481cdbaa1f6e7bf5a35\",\n      \"css\": \"gesture\",\n      \"code\": 985035,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M191.4 287.1Q248 230.5 261.7 236.3T269.5 263.7Q263.7 275.4 250 298.8L242.2 312.5Q130.9 474.6 130.9 562.5 130.9 644.5 187.5 687.5 210.9 705.1 240.2 710T297.9 706.1 359.4 664.1Q380.9 644.5 423.8 591.8V589.8Q478.5 525.4 507.8 496.1 558.6 447.3 593.8 447.3 636.7 447.3 652.3 470.7 662.1 482.4 666 515.6V521.5Q593.8 533.2 539.1 576.2 492.2 611.3 466.8 662.1 443.4 707 443.4 746.1 443.4 798.8 482.4 836.9T576.2 875Q617.2 875 654.3 853.5 701.2 826.2 730.5 775.4 765.6 712.9 773.4 619.1H875V515.6H771.5Q765.6 449.2 732.4 402.3 685.5 341.8 603.5 341.8 543 341.8 478.5 384.8 433.6 416 398.4 459 382.8 478.5 345.7 523.4 312.5 562.5 302.7 572.3L298.8 578.1Q271.5 607.4 256.8 607.4T236.3 584 241.2 529.3 279.3 447.3Q300.8 408.2 318.4 380.9 347.7 337.9 357.4 316.4 373 283.2 373 244.1 373 183.6 334 150.4 304.7 125 268.6 125T195.3 146.5Q171.9 160.2 154.3 177.7 127 205.1 119.1 216.8ZM578.1 773.4Q568.4 773.4 557.6 764.6T546.9 742.2Q546.9 716.8 574.2 685.5 607.4 642.6 666 627 658.2 703.1 628.9 742.2 605.5 773.4 578.1 773.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture\"\n      ]\n    },\n    {\n      \"uid\": \"1b3ebdf9128b5982fa8058a98d92baaf\",\n      \"css\": \"google-analytics\",\n      \"code\": 985036,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M660.2 183.6V808.6Q660.2 857.4 689.5 886.7T759.8 916 828.1 890.6Q859.4 861.3 859.4 808.6V187.5Q859.4 140.6 830.1 112.3T760.7 84 690.4 113.3 660.2 183.6ZM400.4 500V808.6Q400.4 857.4 429.7 886.7T499 916 568.4 890.6Q599.6 861.3 599.6 808.6V503.9Q599.6 459 570.3 429.7T501 400.4 430.7 429.7 400.4 500ZM240.2 718.8Q281.3 718.8 310.5 747.1T339.8 816.4 310.5 886.7 240.2 916 169.9 886.7 140.6 816.4 169.9 747.1 240.2 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-analytics\"\n      ]\n    },\n    {\n      \"uid\": \"79a6fce29cb46ac14949324cf67cf23d\",\n      \"css\": \"google-assistant\",\n      \"code\": 985037,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q224.6 84 167 117.2T75.2 208 41 334Q41 382.8 60.5 428.7T115.2 509.8 196.3 564.5 292 584 387.7 564.5 468.8 509.8 522.5 428.7 541 334Q541 265.6 507.8 208T417 117.2 291 84ZM896.5 250Q869.1 250 851.6 268.6T834 312.5 851.6 356.4 895.5 375 940.4 356.4 959 312.5 940.4 268.6 896.5 250ZM709 334Q656.3 334 620.1 370.1T584 458 620.1 546.9 708 584 796.9 546.9 834 458 796.9 370.1 709 334ZM709 625Q648.4 625 605.5 668T562.5 771.5 605.5 874 709 916 811.5 874 853.5 771.5 811.5 668 709 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-assistant\"\n      ]\n    },\n    {\n      \"uid\": \"614ecd854557739c5d3efa931cb309dc\",\n      \"css\": \"headphones-off\",\n      \"code\": 985038,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q601.6 41 687.5 91.8T824.2 228.5 875 416V709Q875 746.1 853.5 777.3L625 548.8V500H791V416Q791 337.9 752 270.5T646.5 164.1 500 125Q439.5 125 384.8 148.4T289.1 214.8L230.5 154.3Q283.2 101.6 352.5 71.3T500 41ZM115.2 146.5L853.5 884.8 800.8 937.5 697.3 834H625V761.7L375 511.7V834H250Q197.3 834 161.1 796.9T125 709V416Q125 347.7 148.4 285.2L62.5 199.2ZM214.8 351.6Q209 384.8 209 416V500H363.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headphones-off\"\n      ]\n    },\n    {\n      \"uid\": \"dfda616cba33f22ea60a5e9504cc2212\",\n      \"css\": \"high-definition\",\n      \"code\": 985039,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H291V459H375V291H459V709H375V541H291V709H209V291ZM541 291H666Q718.8 291 754.9 328.1T791 416V584Q791 634.8 754.9 671.9T666 709H541V291ZM666 625Q683.6 625 696.3 613.3T709 584V416Q709 398.4 696.3 386.7T666 375H625V625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"high-definition\"\n      ]\n    },\n    {\n      \"uid\": \"543ffe305a060fa1992b9b0f97a9a953\",\n      \"css\": \"home-assistant\",\n      \"code\": 985040,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 541H834V875H541V736.3L658.2 619.1 687.5 625Q724.6 625 750 599.6T775.4 538.1 750 475.6 687.5 449.2 625 475.6 599.6 537.1L603.5 566.4 541 630.9V402.3Q562.5 390.6 575.2 370.1T587.9 324.2Q587.9 289.1 562.5 263.7T500 238.3 437.5 263.7 412.1 324.2Q412.1 349.6 424.8 370.1T459 402.3V630.9L396.5 566.4 400.4 537.1Q400.4 502 375 475.6T312.5 449.2 250 475.6 224.6 538.1 250 599.6 312.5 625L341.8 619.1 459 736.3V875H166V541H93.8 70.3Q58.6 539.1 59.6 531.3T95.7 488.3L459 125Q486.3 97.7 500 97.7T541 125L709 291V250H791V375L908.2 490.2Q941.4 525.4 941.4 532.2T933.6 540 908.2 541ZM312.5 500Q328.1 500 338.9 510.7T349.6 537.1 338.9 563.5 312.5 574.2 286.1 563.5 275.4 537.1 286.1 510.7 312.5 500ZM687.5 500Q703.1 500 713.9 510.7T724.6 537.1 713.9 563.5 687.5 574.2 661.1 563.5 650.4 537.1 661.1 510.7 687.5 500ZM500 287.1Q515.6 287.1 526.4 297.9T537.1 324.2 526.4 351.6 500 363.3 473.6 351.6 462.9 324.2 473.6 297.9 500 287.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-assistant\"\n      ]\n    },\n    {\n      \"uid\": \"e75e9b45a4116eed998294640b9ef73e\",\n      \"css\": \"home-automation\",\n      \"code\": 985041,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM500 353.5Q572.3 353.5 636.7 380.9T750 455.1L699.2 505.9Q662.1 466.8 610.4 445.3T500 423.8 389.6 445.3 300.8 505.9L250 455.1Q298.8 408.2 363.3 380.9T500 353.5ZM500 492.2Q587.9 492.2 650.4 554.7L599.6 603.5Q558.6 562.5 500 562.5T400.4 603.5L349.6 554.7Q412.1 492.2 500 492.2ZM500 632.8Q529.3 632.8 549.8 652.3T570.3 701.2 549.8 751 500 771.5 450.2 751 429.7 701.2 450.2 652.3 500 632.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-automation\"\n      ]\n    },\n    {\n      \"uid\": \"8a55891e979592a1b7d49eb36f4f0760\",\n      \"css\": \"home-circle\",\n      \"code\": 985042,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M794.9 205.1Q736.3 144.5 660.2 113.3T500 82 339.8 113.3 205.1 204.1 114.3 339.8 82 500 113.3 660.2 204.1 794.9 339.8 885.7 500 918 660.2 886.7 794.9 795.9 885.7 660.2 918 500 886.7 339.8 794.9 205.1ZM709 500V750H562.5V541H437.5V750H291V500H209L500 209 812.5 500H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-circle\"\n      ]\n    },\n    {\n      \"uid\": \"b0f2396c23ad1e8b44601559081e35a6\",\n      \"css\": \"language-go\",\n      \"code\": 985043,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M109.4 429.7V427.7L119.1 416 123 414.1H283.2L285.2 416 277.3 427.7 273.4 429.7H109.4ZM43 470.7L41 468.8 50.8 457 56.6 455.1H259.8L261.7 459 257.8 468.8 253.9 470.7H43ZM150.4 511.7V509.8L156.3 498 160.2 496.1H250L252 498V509.8L248 511.7H150.4ZM615.2 421.9L541 441.4V441.4Q535.2 443.4 533.2 442.4T527.3 437.5Q517.6 425.8 505.9 419.9 466.8 400.4 425.8 427.7 378.9 459 380.9 511.7 380.9 539.1 397.5 559.6T439.5 584Q484.4 587.9 517.6 552.7L529.3 537.1H443.4Q429.7 537.1 433.6 523.4L457 474.6Q460.9 466.8 468.8 466.8H611.3Q621.1 439.5 642.6 408.2 689.5 347.7 767.6 334 841.8 320.3 896.5 357.4T959 457Q970.7 544.9 906.3 609.4 863.3 652.3 798.8 666L763.7 669.9Q699.2 668 654.3 630.9 621.1 601.6 611.3 562.5L591.8 591.8Q543 658.2 464.8 666 396.5 677.7 344.7 638.7T287.1 539.1Q279.3 466.8 326.2 405.3T451.2 330.1Q517.6 318.4 568.4 351.6 603.5 375 621.1 414.1 623 419.9 615.2 421.9ZM871.1 488.3L869.1 474.6Q863.3 441.4 836.9 424.8T777.3 414.1Q712.9 429.7 699.2 492.2 693.4 517.6 705.1 542T740.2 576.2Q777.3 591.8 814.5 574.2 867.2 546.9 871.1 488.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-go\"\n      ]\n    },\n    {\n      \"uid\": \"08fdb468162791f4300c09be578bb587\",\n      \"css\": \"language-r\",\n      \"code\": 985044,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 179.7Q386.7 179.7 291 216.8T139.6 318.4 84 459Q84 525.4 128.9 584T252 681.6 425.8 732.4V820.3H568.4V732.4Q621.1 726.6 668 712.9L726.6 820.3H886.7L789.1 658.2Q849.6 619.1 882.8 567.4T916 459Q916 382.8 860.4 318.4T709 216.8 500 179.7V179.7ZM564.5 287.1Q701.2 287.1 781.3 334 867.2 382.8 867.2 478.5 867.2 582 767.6 630.9 759.8 627 757.8 625 742.2 619.1 718.8 611.3V611.3L738.3 607.4Q759.8 601.6 779.3 589.8 806.6 576.2 822.3 550.8 841.8 519.5 841.8 477.5T822.3 406.3Q804.7 382.8 777.3 369.1 755.9 359.4 732.4 353.5L712.9 351.6H425.8V650.4Q345.7 627 296.9 581.1T248 481.4 290 383.8 405.3 313.5 564.5 287.1ZM570.3 453.1H656.3L666 455.1Q677.7 457 686.5 465.8T695.3 492.2Q695.3 517.6 675.8 527.3 666 533.2 656.3 533.2H570.3V453.1ZM568.4 636.7H607.4Q615.2 636.7 625 646.5 630.9 650.4 640.6 664.1 609.4 669.9 568.4 669.9V636.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-r\"\n      ]\n    },\n    {\n      \"uid\": \"1332dffdb4859a6e9074a847fb2445bf\",\n      \"css\": \"lava-lamp\",\n      \"code\": 985045,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 125L334 666H666L584 125H416ZM478.5 240.2Q492.2 240.2 501 249T509.8 270.5 501 293 479.5 302.7 457 293 447.3 270.5 457 249 478.5 240.2ZM521.5 353.5Q539.1 353.5 550.8 366.2T562.5 396.5 550.8 425.8 521.5 437.5 491.2 425.8 478.5 396.5 491.2 366.2 521.5 353.5ZM478.5 500Q505.9 500 523.4 518.6T541 562.5 523.4 606.4 479.5 625 434.6 606.4 416 562.5 434.6 518.6 478.5 500ZM334 709L416 791 334 875H666L584 791 666 709H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lava-lamp\"\n      ]\n    },\n    {\n      \"uid\": \"c0a076c0bff25ee60d7ea41eb3e850e1\",\n      \"css\": \"led-strip\",\n      \"code\": 985046,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M117.2 351.6L617.2 853.5 648.4 824.2 707 882.8 765.6 824.2 707 765.6 765.6 707 824.2 765.6 882.8 707 824.2 648.4 853.5 617.2 351.6 117.2ZM234.4 351.6L351.6 234.4 736.3 617.2 617.2 736.3ZM293 351.6L351.6 412.1 412.1 351.6 351.6 293ZM382.8 441.4L441.4 500 500 441.4 441.4 382.8ZM470.7 529.3L529.3 587.9 587.9 529.3 529.3 470.7ZM558.6 617.2L617.2 675.8 675.8 617.2 617.2 558.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-strip\"\n      ]\n    },\n    {\n      \"uid\": \"ff861cb2a79a4d4fb94821d4da09d5dd\",\n      \"css\": \"locker\",\n      \"code\": 985047,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666Q701.2 84 725.6 108.4T750 166V834Q750 867.2 725.6 891.6T666 916H334Q298.8 916 274.4 891.6T250 834V166Q250 132.8 274.4 108.4T334 84ZM334 166V834H666V166H334ZM416 541H500V709H416V541ZM416 250H584V312.5H416V250ZM416 375H584V437.5H416V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"locker\"\n      ]\n    },\n    {\n      \"uid\": \"759fc0d849b6c49b99a77ec2b4b5c769\",\n      \"css\": \"locker-multiple\",\n      \"code\": 985048,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84H875Q910.2 84 934.6 108.4T959 166V834Q959 867.2 934.6 891.6T875 916H125Q89.8 916 65.4 891.6T41 834V166Q41 132.8 65.4 108.4T125 84ZM541 166V834H875V166H541ZM125 166V834H459V166H125ZM209 541H291V709H209V541ZM209 250H375V312.5H209V250ZM209 375H375V437.5H209V375ZM625 541H709V709H625V541ZM625 250H791V312.5H625V250ZM625 375H791V437.5H625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"locker-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"edf3951384186f6b3581652d05d83e43\",\n      \"css\": \"map-marker-outline\",\n      \"code\": 985049,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 271.5Q543 271.5 573.2 301.8T603.5 375 573.2 448.2 500 478.5 426.8 448.2 396.5 375 426.8 301.8 500 271.5ZM500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 511.7 646.5 728.5 572.3 835.9 500 916V916L455.1 863.3Q400.4 794.9 353.5 728.5 291 632.8 253.9 552.7 209 451.2 209 373T248 228.5 353.5 123 500 84ZM500 166Q443.4 166 395.5 194.3T319.3 270.5 291 375Q291 408.2 298.8 435.5 312.5 488.3 353.5 560.5 404.3 652.3 500 779.3 595.7 652.3 646.5 560.5 687.5 488.3 701.2 435.5 709 408.2 709 375 709 318.4 680.7 270.5T604.5 194.3 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9565e88e9cf59b18785ecab3682d8cf4\",\n      \"css\": \"metronome\",\n      \"code\": 985050,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 72.3L357.4 111.3 169.9 814.5Q166 826.2 166 834 166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834Q834 826.2 830.1 814.5L773.4 601.6 709 666 716.8 709H558.6L677.7 589.8 619.1 531.3 441.4 709H283.2L429.7 166H570.3L632.8 392.6 699.2 324.2 642.6 111.3ZM468.8 209V615.2L531.3 552.7V209H468.8ZM824.2 324.2L707 443.4 677.7 414.1 619.1 472.7 736.3 589.8 794.9 531.3 765.6 502 882.8 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"metronome\"\n      ]\n    },\n    {\n      \"uid\": \"fc2b49ce7a9e8e91cbebcc4a31db9dc2\",\n      \"css\": \"metronome-tick\",\n      \"code\": 985051,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 72.3L357.4 111.3 168 820.3 166 834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834L832 820.3 642.6 111.3ZM429.7 166H570.3L716.8 709H541V500H459V709H283.2ZM459 209V375H416V459H584V375H541V209H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"metronome-tick\"\n      ]\n    },\n    {\n      \"uid\": \"bd97068766d54acc4168c69a79da3282\",\n      \"css\": \"micro-sd\",\n      \"code\": 985052,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84Q298.8 84 274.4 108.4T250 166V459L166 541V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84H334ZM375 166H459V334H375V166ZM500 166H584V334H500V166ZM625 166H709V334H625V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"micro-sd\"\n      ]\n    },\n    {\n      \"uid\": \"52f4b911c83851e93da0968cfa931fad\",\n      \"css\": \"mixer\",\n      \"code\": 985053,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M236.3 164.1L474.6 486.3Q484.4 498 474.6 511.7L228.5 841.8Q205.1 867.2 170.9 868.2T111.3 846.7 83 790 101.6 728.5L273.4 498 101.6 269.5Q82 242.2 84 209T111.3 152.3L117.2 148.4Q146.5 127 180.7 131.8T236.3 164.1ZM763.7 164.1Q785.2 136.7 819.3 131.8T882.8 148.4L888.7 152.3Q914.1 175.8 916 209T898.4 269.5L726.6 498 898.4 728.5Q919.9 755.9 917 790T888.7 846.7 829.1 868.2 771.5 841.8L525.4 511.7Q515.6 498 525.4 486.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mixer\"\n      ]\n    },\n    {\n      \"uid\": \"f23b1cfd5819be2bedd3f0a7932301f2\",\n      \"css\": \"movie-roll\",\n      \"code\": 985054,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q457 166 426.8 197.3T396.5 271.5 426.8 344.7 500 375 573.2 344.7 603.5 271.5 573.2 197.3 500 166ZM183.6 396.5Q169.9 437.5 189.5 476.6T250 528.3 329.1 521.5 380.9 460.9 375 381.8 314.5 330.1 235.4 335.9 183.6 396.5ZM816.4 396.5Q802.7 355.5 764.6 335.9T685.5 330.1 625 381.8 619.1 460.9 670.9 521.5 750 528.3 810.5 476.6 816.4 396.5ZM304.7 769.5Q339.8 794.9 382.8 788.1T450.2 746.1 467.8 668.9 426.8 601.6 349.6 583 281.3 624 262.7 701.2 304.7 769.5ZM695.3 769.5Q730.5 744.1 737.3 701.2T718.8 623 651.4 582 574.2 601.6 532.2 668.9 549.8 746.1 617.2 788.1 695.3 769.5ZM500 437.5Q474.6 437.5 456.1 456.1T437.5 500 456.1 543.9 500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-roll\"\n      ]\n    },\n    {\n      \"uid\": \"6da0e0172311b38d9779a592e14ac3f8\",\n      \"css\": \"mushroom\",\n      \"code\": 985055,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500Q916 535.2 891.6 559.6T834 584H166Q132.8 584 108.4 559.6T84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84ZM500 334Q535.2 334 559.6 309.6T584 250 559.6 190.4 500 166 440.4 190.4 416 250 440.4 309.6 500 334ZM709 500Q742.2 500 766.6 475.6T791 417 766.6 358.4 708 334 649.4 358.4 625 417 649.4 475.6 709 500ZM291 500Q326.2 500 350.6 475.6T375 417 350.6 358.4 292 334 233.4 358.4 209 417 233.4 475.6 291 500ZM625 625L677.7 810.5 681.6 834Q681.6 867.2 657.2 891.6T597.7 916H402.3Q367.2 916 342.8 891.6T318.4 834L322.3 810.5 375 625H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mushroom\"\n      ]\n    },\n    {\n      \"uid\": \"beedcbe2b2ec73da6e6c965951a12dab\",\n      \"css\": \"mushroom-outline\",\n      \"code\": 985056,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 500H834Q834 384.8 762.7 294.9T584 177.7Q578.1 209 554.7 229.5T500 250 445.3 229.5 416 177.7Q308.6 205.1 237.3 294.9T166 500ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500Q916 535.2 891.6 559.6T834 584H166Q132.8 584 108.4 559.6T84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84ZM562.5 709H437.5L402.3 834H597.7ZM625 625L666 771.5 677.7 810.5 681.6 834Q681.6 867.2 657.2 891.6T597.7 916H402.3L382.8 914.1Q347.7 906.3 330.1 876T322.3 812.5L375 625H625ZM666 291Q701.2 291 725.6 315.4T750 375 725.6 434.6 667 459 608.4 434.6 584 375 608.4 315.4 666 291ZM334 291Q367.2 291 391.6 315.4T416 375 391.6 434.6 333 459 274.4 434.6 250 375 274.4 315.4 334 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mushroom-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1bbf7811d21767e626062cd3ecbed1e3\",\n      \"css\": \"nintendo-switch\",\n      \"code\": 985057,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M418 849.6H296.9Q238.3 849.6 194.3 805.7T150.4 703.1V296.9Q150.4 238.3 193.4 194.3T296.9 150.4H418V849.6ZM296.9 84Q238.3 84 189.5 112.3T112.3 189.5 84 296.9V703.1Q84 761.7 112.3 810.5T189.5 887.7 296.9 916H486.3V84H296.9ZM212.9 334Q212.9 365.2 236.3 388.7T292 412.1 346.7 388.7 369.1 333 346.7 278.3 292 255.9 236.3 278.3 212.9 334ZM734.4 459Q767.6 459 793 483.4T818.4 542 793 600.6 733.4 625 673.8 600.6 648.4 542 673.8 483.4 734.4 459ZM703.1 916Q761.7 916 810.5 887.7T887.7 810.5 916 703.1V296.9Q916 238.3 887.7 189.5T810.5 112.3 703.1 84H568.4V916H703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nintendo-switch\"\n      ]\n    },\n    {\n      \"uid\": \"971f85b8e1aa801852fa960ff91b4e71\",\n      \"css\": \"null\",\n      \"code\": 985058,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q615.2 84 705.1 169.9L775.4 80.1 841.8 130.9 757.8 236.3Q834 351.6 834 500 834 613.3 789.1 709T667 860.4 500 916Q384.8 916 294.9 830.1L224.6 919.9 158.2 869.1 242.2 763.7Q166 648.4 166 500 166 386.7 210.9 291T333 139.6 500 84ZM500 166Q431.6 166 374 210.9T283.2 333 250 500Q250 607.4 296.9 693.4L652.3 236.3Q585.9 166 500 166ZM500 834Q568.4 834 626 789.1T716.8 667 750 500Q750 392.6 703.1 306.6L347.7 763.7Q414.1 834 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"null\"\n      ]\n    },\n    {\n      \"uid\": \"52e73d9759333dace404981776250b8c\",\n      \"css\": \"passport\",\n      \"code\": 985059,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84H250ZM500 209Q556.6 209 604.5 236.3T680.7 311.5 709 416 680.7 520.5 604.5 596.7 500 625Q459 625 420.9 609.4T353.5 564.5 307.6 497.1 291 417 307.6 336.9 353.5 269.5 420.9 224.6 500 209ZM500 250Q472.7 293 460.9 334H539.1Q527.3 291 500 250ZM445.3 259.8Q384.8 279.3 355.5 334H416Q429.7 291 445.3 259.8ZM554.7 259.8Q572.3 291 584 334H644.5Q615.2 281.3 554.7 259.8ZM337.9 375Q334 396.5 334 417T337.9 459H408.2Q406.3 433.6 406.3 416T408.2 375H337.9ZM451.2 375Q447.3 396.5 447.3 416T451.2 459H548.8Q552.7 431.6 552.7 417T548.8 375H451.2ZM591.8 375Q593.8 398.4 593.8 416T591.8 459H662.1Q666 437.5 666 417T662.1 375H591.8ZM355.5 500Q384.8 552.7 445.3 574.2 429.7 543 416 500H355.5ZM460.9 500Q472.7 541 500 584 527.3 543 539.1 500H460.9ZM584 500Q572.3 541 554.7 574.2 615.2 552.7 644.5 500H584ZM291 709H709V791H291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"passport\"\n      ]\n    },\n    {\n      \"uid\": \"9ebee178769844e6c4b3ba0706497682\",\n      \"css\": \"molecule-co2\",\n      \"code\": 985060,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291Q173.8 291 149.4 315.4T125 375V625Q125 660.2 149.4 684.6T209 709H334V625H209V375H334V291H209ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375ZM666 437.5V500H791V562.5H728.5Q703.1 562.5 684.6 581.1T666 625V750H853.5V687.5H728.5V625H791Q818.4 625 835.9 606.4T853.5 562.5V500Q853.5 474.6 835.9 456.1T791 437.5H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"molecule-co2\"\n      ]\n    },\n    {\n      \"uid\": \"2330a520e3d73a783a145546ea82fbd9\",\n      \"css\": \"pipe\",\n      \"code\": 985061,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 584H834V666H584V541H666V459H584V250Q584 214.8 559.6 190.4T500 166H166V84H84V416H166V334H416V459H334V541H416V750Q416 785.2 440.4 809.6T500 834H834V916H916V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pipe\"\n      ]\n    },\n    {\n      \"uid\": \"0b93c8b0e144f9c76ddeeceb550ecd7b\",\n      \"css\": \"pipe-disconnected\",\n      \"code\": 985062,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375V459H334V375H416V334H166V416H84V84H166V166H500Q535.2 166 559.6 190.4T584 250V375H666ZM416 625V750Q416 785.2 440.4 809.6T500 834H834V916H916V584H834V666H584V625H666V541H334V625H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pipe-disconnected\"\n      ]\n    },\n    {\n      \"uid\": \"a3f4d143b1d9f5fbecc577c7341c0daa\",\n      \"css\": \"power-socket-eu\",\n      \"code\": 985063,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 437.5Q337.9 437.5 356.4 456.1T375 500 356.4 543.9 312.5 562.5 268.6 543.9 250 500 268.6 456.1 312.5 437.5ZM687.5 437.5Q712.9 437.5 731.4 456.1T750 500 731.4 543.9 687.5 562.5 643.6 543.9 625 500 643.6 456.1 687.5 437.5ZM175.8 84H824.2Q861.3 84 888.7 111.3T916 175.8V824.2Q916 863.3 889.6 889.6T824.2 916H175.8Q138.7 916 111.3 888.7T84 824.2V175.8Q84 136.7 110.4 110.4T175.8 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-eu\"\n      ]\n    },\n    {\n      \"uid\": \"bb99e9f73ffc76de01804514e4b4cde4\",\n      \"css\": \"power-socket-uk\",\n      \"code\": 985064,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84H166ZM166 166H834V834H166V166ZM459 291V459H541V291H459ZM250 615.2V709H396.5V615.2H250ZM603.5 615.2V709H750V615.2H603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-uk\"\n      ]\n    },\n    {\n      \"uid\": \"b26851db20bb59a02874fe4850b5da35\",\n      \"css\": \"power-socket-us\",\n      \"code\": 985065,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 291H416V500H334V291ZM175.8 84H824.2Q861.3 84 888.7 111.3T916 175.8V824.2Q916 863.3 889.6 889.6T824.2 916H175.8Q138.7 916 111.3 888.7T84 824.2V175.8Q84 136.7 110.4 110.4T175.8 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM584 312.5H666V478.5H584V312.5ZM437.5 677.7Q437.5 650.4 456.1 632.8T500 615.2 543.9 632.8 562.5 677.7V709H437.5V677.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-us\"\n      ]\n    },\n    {\n      \"uid\": \"74af2f73c3232a5a624909efe1d92a16\",\n      \"css\": \"rice\",\n      \"code\": 985066,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 459H820.3Q798.8 380.9 757.8 334L900.4 107.4 830.1 62.5 695.3 275.4Q669.9 255.9 646.5 246.1L683.6 95.7 603.5 74.2 570.3 216.8 560.5 214.8Q521.5 209 500 209 386.7 209 296.9 279.3T179.7 459H84Q84 584 152.3 687.5T334 841.8V916H666V841.8Q779.3 791 847.7 687.5T916 459ZM500 291Q580.1 291 643.6 337.9T732.4 459H267.6Q293 384.8 356.4 337.9T500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rice\"\n      ]\n    },\n    {\n      \"uid\": \"f537b7d9b1a998825ecc28bfc46b8f80\",\n      \"css\": \"ring\",\n      \"code\": 985067,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416L334 183.6 400.4 84H599.6L666 183.6ZM646.5 283.2L595.7 353.5Q666 382.8 708 444.3T750 584Q750 650.4 716.8 708T626 799.8 500 834 374 799.8 283.2 708 250 584Q250 505.9 292 444.3T404.3 353.5L353.5 283.2Q269.5 324.2 217.8 404.3T166 584Q166 673.8 210.9 750T333 871.1 500 916 667 871.1 789.1 750 834 584Q834 484.4 782.2 404.3T646.5 283.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ring\"\n      ]\n    },\n    {\n      \"uid\": \"d86e702f7e8701b04b7b55247b677dd4\",\n      \"css\": \"sass\",\n      \"code\": 985068,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM416 638.7Q425.8 669.9 416 701.2L412.1 712.9Q404.3 728.5 392.6 742.2 375 759.8 352.5 767.6T318.4 768.6 313.5 738.3 339.8 694.3 388.7 654.3ZM761.7 261.7Q752 224.6 712.9 205.1T617.2 184.6 503.9 205.1Q378.9 248 306.6 318.4 263.7 357.4 246.1 398.4 232.4 429.7 236.3 451.2 242.2 490.2 283.2 527.3 304.7 548.8 357.4 585.9 388.7 607.4 398.4 615.2V617.2Q367.2 632.8 337.9 650.4 285.2 687.5 270.5 719.7T265.6 781.3Q275.4 804.7 291 810.5 332 822.3 371.1 804.7T433.6 752Q453.1 722.7 457 683.6 459 648.4 447.3 625 478.5 617.2 511.7 621.1 560.5 627 582 654.3 599.6 673.8 596.7 694.3T574.2 728.5Q566.4 732.4 567.4 735.4T576.2 736.3 595.7 724.6Q613.3 709 613.3 685.5 615.2 650.4 583 621.1T498 591.8Q453.1 593.8 431.6 601.6L429.7 597.7Q414.1 582 378.9 554.7 337.9 523.4 322.3 505.9 296.9 476.6 298.8 445.3 302.7 359.4 464.8 277.3 525.4 248 584 238.3 632.8 230.5 668.9 240.2T714.8 271.5Q726.6 298.8 706.1 337.9T640.6 406.3Q589.8 437.5 525.4 445.3 494.1 449.2 466.8 439.5 451.2 433.6 441.4 423.8L439.5 421.9Q433.6 416 430.7 418T431.6 429.7V429.7Q433.6 439.5 447.3 450.2T478.5 468.8Q502 476.6 539.1 474.6 587.9 470.7 636.7 453.1 697.3 429.7 736.3 372.1T761.7 261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sass\"\n      ]\n    },\n    {\n      \"uid\": \"1f40a7f7608bb364b6f41a153d2267c0\",\n      \"css\": \"send-lock\",\n      \"code\": 985069,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 750V728.5Q959 685.5 927.7 655.3T853.5 625 780.3 655.3 750 728.5V750Q732.4 750 720.7 761.7T709 791V959Q709 976.6 720.7 988.3T750 1000H959Q976.6 1000 988.3 988.3T1000 959V791Q1000 773.4 988.3 761.7T959 750ZM916 750H791V728.5Q791 703.1 809.6 684.6T854.5 666 898.4 684.6 916 728.5V750ZM959 500L84 875V584L709 500 84 416V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-lock\"\n      ]\n    },\n    {\n      \"uid\": \"01d47adf8b85d94ea2918c8c2afb0352\",\n      \"css\": \"soy-sauce\",\n      \"code\": 985070,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M580.1 312.5Q580.1 287.1 589.8 253.9L591.8 250H617.2L654.3 146.5H687.5V84H312.5V146.5H345.7L382.8 250H408.2Q419.9 269.5 419.9 312.5 419.9 326.2 406.3 355.5 396.5 375 369.1 423.8 314.5 519.5 291 572.3 250 666 250 732.4V816.4Q250 859.4 322.3 885.7T500 912.1 677.7 885.7 750 816.4V732.4Q750 666 709 572.3 685.5 519.5 630.9 423.8 603.5 375 593.8 355.5 580.1 326.2 580.1 312.5ZM500 625Q464.8 625 440.4 600.6T416 542 440.4 483.4 500 459 559.6 483.4 584 542 559.6 600.6 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"soy-sauce\"\n      ]\n    },\n    {\n      \"uid\": \"e66d13ceeedfd05d5ddcec5b38f5f043\",\n      \"css\": \"standard-definition\",\n      \"code\": 985071,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291H666Q718.8 291 754.9 328.1T791 416V584Q791 634.8 754.9 671.9T666 709H541V291ZM666 625Q683.6 625 696.3 613.3T709 584V416Q709 398.4 696.3 386.7T666 375H625V625H666ZM291 291H459V375H291V459H375Q410.2 459 434.6 483.4T459 541V625Q459 660.2 434.6 684.6T375 709H209V625H375V541H291Q257.8 541 233.4 516.6T209 459V375Q209 339.8 233.4 315.4T291 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"standard-definition\"\n      ]\n    },\n    {\n      \"uid\": \"fb6f2940fe3ce17f4a47cda7ced09611\",\n      \"css\": \"surround-sound-2-0\",\n      \"code\": 985072,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291H791Q826.2 291 850.6 315.4T875 375V625Q875 660.2 850.6 684.6T791 709H709Q673.8 709 649.4 684.6T625 625V375Q625 339.8 649.4 315.4T709 291ZM709 375V625H791V375H709ZM375 709H125V625L291 375H125V291H291Q326.2 291 350.6 315.4T375 375Q375 400.4 361.3 421.9L224.6 625H375V709ZM500 709Q482.4 709 470.7 696.3T459 666 470.7 636.7 500 625 529.3 636.7 541 666 529.3 696.3 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"surround-sound-2-0\"\n      ]\n    },\n    {\n      \"uid\": \"677b96b2f7c19b3f932623e0bbebc1e8\",\n      \"css\": \"surround-sound-3-1\",\n      \"code\": 985073,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709Q523.4 709 511.7 696.3T500 666 511.7 636.7 541 625 571.3 636.7 584 666 571.3 696.3 541 709ZM791 291V625H834V709H666V625H709V375H666L709 291H791ZM166 291H334Q367.2 291 391.6 315.4T416 375V625Q416 660.2 391.6 684.6T334 709H166V625H334V541H209V459H334V375H166V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"surround-sound-3-1\"\n      ]\n    },\n    {\n      \"uid\": \"0ad0198fa33d8ccd7a3028bfee25f52f\",\n      \"css\": \"surround-sound-5-1\",\n      \"code\": 985074,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709Q523.4 709 511.7 696.3T500 666 511.7 636.7 541 625 571.3 636.7 584 666 571.3 696.3 541 709ZM791 291V625H834V709H666V625H709V375H666L709 291H791ZM250 541Q214.8 541 190.4 516.6T166 459V291H416V375H250V459H334Q367.2 459 391.6 483.4T416 541V625Q416 660.2 391.6 684.6T334 709H166V625H334V541H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"surround-sound-5-1\"\n      ]\n    },\n    {\n      \"uid\": \"f61154ef14408ce5179c37d17b0cfd1f\",\n      \"css\": \"surround-sound-7-1\",\n      \"code\": 985075,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709Q482.4 709 470.7 696.3T459 666 470.7 636.7 500 625 529.3 636.7 541 666 529.3 696.3 500 709ZM750 291V625H791V709H625V625H666V375H625L666 291H750ZM459 291L334 709H250L349.6 375H209V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"surround-sound-7-1\"\n      ]\n    },\n    {\n      \"uid\": \"a74856596fbf93930453dea6269f6a83\",\n      \"css\": \"television-classic\",\n      \"code\": 985076,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M339.8 125L281.3 183.6 388.7 291H166Q132.8 291 108.4 315.4T84 375V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V375Q916 339.8 891.6 315.4T834 291H611.3L718.8 183.6 660.2 125 500 285.2ZM166 375H709V791H166V375ZM812.5 375Q830.1 375 841.8 386.7T853.5 416 841.8 446.3 812.5 459 783.2 446.3 771.5 416 783.2 386.7 812.5 375ZM812.5 500Q830.1 500 841.8 511.7T853.5 541 841.8 571.3 812.5 584 783.2 571.3 771.5 541 783.2 511.7 812.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-classic\"\n      ]\n    },\n    {\n      \"uid\": \"d36c4c06f95a3548f42257612aba14a6\",\n      \"css\": \"form-textbox-password\",\n      \"code\": 985077,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291H916V709H709V791Q709 808.6 720.7 821.3T750 834H834V916H728.5Q710.9 916 688.5 903.3T666 875Q666 890.6 644.5 903.3T603.5 916H500V834H584Q601.6 834 613.3 821.3T625 791V209Q625 191.4 613.3 178.7T584 166H500V84H603.5Q623 84 644.5 96.7T666 125Q666 109.4 688.5 96.7T728.5 84H834V166H750Q732.4 166 720.7 178.7T709 209V291ZM84 291H541V375H166V625H541V709H84V291ZM834 625V375H709V625H834ZM353.5 500Q353.5 474.6 335.9 456.1T292 437.5 247.1 456.1 228.5 500 247.1 543.9 292 562.5 335.9 543.9 353.5 500ZM541 453.1Q523.4 435.5 497.1 437.5T453.1 458 437.5 502.9 457 545.9 499 562.5 541 546.9V453.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"form-textbox-password\"\n      ]\n    },\n    {\n      \"uid\": \"272d300461592707724a10007bee853b\",\n      \"css\": \"thought-bubble\",\n      \"code\": 985078,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 791Q171.9 791 190.4 809.6T209 854.5 190.4 898.4 145.5 916 101.6 898.4 84 854.5 101.6 809.6 146.5 791ZM353.5 666Q396.5 666 427.7 697.3T459 771.5 427.7 844.7 353.5 875 280.3 844.7 250 771.5 280.3 697.3 353.5 666ZM603.5 625Q566.4 625 534.2 610.4T478.5 568.4Q457 595.7 423.8 610.4T353.5 625Q293 625 247.1 585.9T189.5 488.3Q142.6 470.7 113.3 428.7T84 334Q84 263.7 132.8 214.8T250 166Q261.7 166 281.3 169.9 332 125 396.5 125 433.6 125 465.8 139.6T521.5 181.6Q543 154.3 576.2 139.6T646.5 125Q707 125 752.9 164.1T810.5 261.7Q857.4 279.3 886.7 321.3T916 416Q916 486.3 867.2 535.2T750 584L718.8 580.1Q668 625 603.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thought-bubble\"\n      ]\n    },\n    {\n      \"uid\": \"bf9c54953a6671b3228fb15f101f9ade\",\n      \"css\": \"thought-bubble-outline\",\n      \"code\": 985079,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 791Q171.9 791 190.4 809.6T209 854.5 190.4 898.4 145.5 916 101.6 898.4 84 854.5 101.6 809.6 146.5 791ZM353.5 666Q396.5 666 427.7 697.3T459 771.5 427.7 844.7 353.5 875 280.3 844.7 250 771.5 280.3 697.3 353.5 666ZM603.5 625Q566.4 625 534.2 610.4T478.5 568.4Q457 595.7 423.8 610.4T353.5 625Q293 625 247.1 585.9T189.5 488.3Q142.6 470.7 113.3 428.7T84 334Q84 263.7 132.8 214.8T250 166L281.3 169.9Q332 125 396.5 125 433.6 125 465.8 139.6T521.5 181.6Q543 154.3 576.2 139.6T646.5 125Q707 125 752.9 164.1T810.5 261.7Q857.4 279.3 886.7 321.3T916 416Q916 486.3 867.2 535.2T750 584L718.8 580.1Q668 625 603.5 625ZM250 250Q214.8 250 190.4 274.4T166 333 190.4 391.6 250 416Q269.5 416 289.1 408.2 271.5 429.7 271.5 459 271.5 492.2 295.9 516.6T356.4 541 416 513.7V513.7L478.5 443.4 541 513.7Q568.4 541 603.5 541 634.8 541 658.2 521.5T687.5 470.7Q710.9 500 750 500 785.2 500 809.6 475.6T834 417 809.6 358.4 750 334Q730.5 334 710.9 341.8 728.5 320.3 728.5 291 728.5 257.8 704.1 233.4T644.5 209 584 236.3L519.5 306.6 459 236.3Q433.6 209 396.5 209 365.2 209 341.8 228.5T312.5 279.3Q289.1 250 250 250ZM353.5 728.5Q335.9 728.5 324.2 741.2T312.5 771.5 324.2 800.8 353.5 812.5 383.8 800.8 396.5 771.5 383.8 741.2 353.5 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thought-bubble-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aff9faca1e8ca39b9321fa7538df943c\",\n      \"css\": \"trackpad\",\n      \"code\": 985080,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H834Q867.2 125 891.6 149.4T916 209V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125ZM166 209V541H834V209H166ZM166 791H459V625H166V791ZM834 791V625H541V791H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trackpad\"\n      ]\n    },\n    {\n      \"uid\": \"8b12f812da522a801ecd1a6cdb39da4f\",\n      \"css\": \"ultra-high-definition\",\n      \"code\": 985081,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V459H541V291H625V709H541V541H459V709H375V291ZM709 291H834Q884.8 291 921.9 328.1T959 416V584Q959 634.8 921.9 671.9T834 709H709V291ZM834 625Q851.6 625 863.3 613.3T875 584V416Q875 398.4 863.3 386.7T834 375H791V625H834ZM291 584Q291 634.8 254.9 671.9T167 709 78.1 671.9 41 584V291H125V584Q125 601.6 136.7 613.3T166 625 196.3 613.3 209 584V291H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ultra-high-definition\"\n      ]\n    },\n    {\n      \"uid\": \"f194a0ca87718521569b541a9c700305\",\n      \"css\": \"van-passenger\",\n      \"code\": 985082,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291Q89.8 291 65.4 315.4T41 375V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V541Q959 507.8 934.6 483.4T875 459L750 291H125ZM125 353.5H291V459H125V353.5ZM375 353.5H541V459H375V353.5ZM625 353.5H728.5L810.5 459H625V353.5ZM250 646.5Q275.4 646.5 293.9 664.1T312.5 708 293.9 752.9 250 771.5 206.1 752.9 187.5 708 206.1 664.1 250 646.5ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"van-passenger\"\n      ]\n    },\n    {\n      \"uid\": \"71e1a37a0926b3049eb941d9452e7ff7\",\n      \"css\": \"van-utility\",\n      \"code\": 985083,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291Q89.8 291 65.4 315.4T41 375V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V541Q959 507.8 934.6 483.4T875 459L750 291H125ZM625 353.5H728.5L810.5 459H625V353.5ZM250 646.5Q275.4 646.5 293.9 664.1T312.5 708 293.9 752.9 250 771.5 206.1 752.9 187.5 708 206.1 664.1 250 646.5ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"van-utility\"\n      ]\n    },\n    {\n      \"uid\": \"9192a3d95ad70033ac05cb0acce4cf56\",\n      \"css\": \"vanish\",\n      \"code\": 985084,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 541V459H875V541H666ZM617.2 324.2L736.3 205.1 794.9 263.7 675.8 382.8ZM459 666H541V875H459V666ZM459 125H541V334H459V125ZM205.1 736.3L324.2 617.2 382.8 675.8 263.7 794.9ZM205.1 263.7L263.7 205.1 382.8 324.2 324.2 382.8ZM334 541H125V459H334V541ZM794.9 736.3L736.3 794.9 617.2 675.8 675.8 617.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vanish\"\n      ]\n    },\n    {\n      \"uid\": \"e4d65f0a78d23615d6ed2920ed7f3873\",\n      \"css\": \"video-3d\",\n      \"code\": 985085,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H375Q410.2 291 434.6 315.4T459 375V625Q459 660.2 434.6 684.6T375 709H209V625H375V541H250V459H375V375H209V291ZM541 291H666Q718.8 291 754.9 328.1T791 416V584Q791 634.8 754.9 671.9T666 709H541V291ZM666 625Q683.6 625 696.3 613.3T709 584V416Q709 398.4 696.3 386.7T666 375H625V625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-3d\"\n      ]\n    },\n    {\n      \"uid\": \"b446449b1b0dece491e044ad4fbd7ddd\",\n      \"css\": \"wall\",\n      \"code\": 985086,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 666H500V875H125V666ZM84 416H334V625H84V416ZM375 416H625V625H375V416ZM666 416H916V625H666V416ZM541 666H875V875H541V666ZM125 166H459V375H125V166ZM500 166H875V375H500V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wall\"\n      ]\n    },\n    {\n      \"uid\": \"c70cd9eed9ebde278b8b38931e9e909d\",\n      \"css\": \"xmpp\",\n      \"code\": 985087,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 642.6Q425.8 566.4 380.9 464.8 334 357.4 334 250L84 166Q84 330.1 195.3 478.5 289.1 603.5 439.5 693.4 361.3 750 291 750V791Q330.1 791 384.8 774.4T500 726.6Q560.5 757.8 615.2 774.4T709 791V750Q638.7 750 560.5 693.4 710.9 603.5 804.7 478.5 916 330.1 916 166L666 250Q666 357.4 619.1 464.8 574.2 566.4 500 642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"xmpp\"\n      ]\n    },\n    {\n      \"uid\": \"2e68241d8185bd5e934286b1e741f87f\",\n      \"css\": \"account-multiple-plus-outline\",\n      \"code\": 985088,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459Q593.8 459 629.9 421.9T666 333 629.9 245.1 542 209 453.1 245.1 416 333 453.1 421.9 541 459ZM541 291Q554.7 291 565.4 298.8T581.1 317.4 583 340.8 571.3 362.3 549.8 374 525.4 372.1 506.8 356.4 500 334Q500 316.4 511.7 303.7T541 291ZM712.9 453.1Q750 398.4 750 333T712.9 214.8Q730.5 209 750 209 802.7 209 838.9 245.1T875 333 838.9 421.9 750 459Q730.5 459 712.9 453.1ZM541 541Q470.7 541 419.9 558.6 375 574.2 345.7 599.6 322.3 621.1 308.6 650.4 296.9 669.9 293 691.4L291 709V791H791V709L789.1 691.4Q785.2 669.9 775.4 650.4 761.7 621.1 738.3 599.6 707 574.2 664.1 558.6 611.3 541 541 541ZM375 709Q375 695.3 384.8 681.6 398.4 658.2 429.7 644.5 472.7 625 541 625 634.8 625 679.7 660.2 705.1 679.7 709 709H375ZM1000 709V791H875V709Q873 662.1 853.5 619.1T800.8 544.9Q869.1 550.8 916 578.1 953.1 599.6 974.6 634.8 990.2 658.2 996.1 685.5ZM334 500H209V625H125V500H0V416H125V291H209V416H334V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2904878d35ec671665bc5e5d64e7f898\",\n      \"css\": \"account-plus-outline\",\n      \"code\": 985089,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166Q556.6 166 507.8 214.8T459 333 507.8 451.2 625 500 742.2 451.2 791 333 742.2 214.8 625 166ZM625 246.1Q662.1 246.1 687.5 271.5T712.9 333 687.5 394.5 625 419.9 562.5 394.5 537.1 333 562.5 271.5 625 246.1ZM166 291V416H41V500H166V625H250V500H375V416H250V291H166ZM625 541Q562.5 541 488.3 560.5 404.3 582 353.5 615.2 291 656.3 291 709V834H959V709Q959 656.3 896.5 615.2 845.7 582 761.7 560.5 687.5 541 625 541ZM625 621.1Q683.6 621.1 746.1 636.7 800.8 652.3 839.8 673.8T878.9 709V753.9H371.1V709Q371.1 695.3 410.2 673.8T503.9 636.7Q566.4 621.1 625 621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"90b866085a11996bacb273e7fced3575\",\n      \"css\": \"credit-card-wireless\",\n      \"code\": 985090,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 205.1L263.7 263.7Q328.1 199.2 414.1 176.8T585.9 176.8 736.3 263.7L794.9 205.1Q714.8 125 607.4 96.7T392.6 96.7 205.1 205.1ZM324.2 322.3L382.8 380.9Q431.6 332 500 332T617.2 380.9L675.8 322.3Q628.9 275.4 564.5 258.8T435.5 258.8 324.2 322.3ZM750 459H250Q214.8 459 190.4 483.4T166 541V875Q166 910.2 190.4 934.6T250 959H750Q785.2 959 809.6 934.6T834 875V541Q834 507.8 809.6 483.4T750 459ZM750 709H250V584H750V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"3bbd5032314b8b7717800e83ee69806f\",\n      \"css\": \"account-music\",\n      \"code\": 985091,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 584Q515.6 584 591.8 601.6 541 656.3 541 728.5 541 785.2 574.2 834H125V750Q125 675.8 240.2 629.9T459 584ZM459 500Q392.6 500 341.8 451.2T291 334 340.8 215.8 459 166 576.2 216.8 625 335 576.2 451.2 459 500ZM771.5 416H834 916V500H834V728.5Q834 771.5 802.7 802.7T728.5 834 655.3 802.7 625 728.5 655.3 655.3 728.5 625Q752 625 771.5 632.8V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-music\"\n      ]\n    },\n    {\n      \"uid\": \"b858617a8bd27d9165d6d022b688aed1\",\n      \"css\": \"atlassian\",\n      \"code\": 985092,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M330.1 468.8Q324.2 460.9 314.5 459T298.8 462.9L289.1 472.7 85.9 880.9Q82 890.6 85 900.4T95.7 914.1Q99.6 916 107.4 916H392.6Q408.2 916 414.1 904.3 443.4 841.8 443.4 761.7T413.1 603.5 330.1 468.8ZM480.5 95.7Q402.3 216.8 394.5 358.4T449.2 628.9L585.9 904.3Q593.8 916 607.4 916H892.6Q902.3 916 909.2 909.2T916 893.6 914.1 880.9L521.5 95.7Q517.6 87.9 508.8 85T492.2 85.9 480.5 95.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"atlassian\"\n      ]\n    },\n    {\n      \"uid\": \"22425023db70aedc8bc5a5d1bd3d5d94\",\n      \"css\": \"microsoft-azure\",\n      \"code\": 985093,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M543 175.8L273.4 752 84 750 294.9 384.8ZM572.3 222.7L916 824.2H281.3L668 753.9 464.8 513.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-azure\"\n      ]\n    },\n    {\n      \"uid\": \"13da14b712823fb0dd2fa0cc027cfb2b\",\n      \"css\": \"basketball\",\n      \"code\": 985094,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M97.7 609.4Q134.8 595.7 175.8 595.7 259.8 595.7 322.3 648.4L191.4 779.3Q125 705.1 97.7 609.4ZM648.4 408.2Q771.5 500 914.1 453.1 916 470.7 916 500 916 562.5 886.7 642.6T814.5 771.5L550.8 507.8ZM365.2 693.4Q431.6 789.1 392.6 902.3 300.8 877 236.3 822.3ZM507.8 550.8L771.5 814.5Q634.8 933.6 453.1 914.1 466.8 873 466.8 824.2 466.8 785.2 449.2 733.4T408.2 648.4ZM367.2 603.5Q310.5 552.7 233.4 538.1T85.9 546.9Q84 529.3 84 500 84 437.5 113.3 357.4T185.5 228.5L462.9 507.8ZM648.4 322.3Q564.5 218.8 609.4 97.7 650.4 107.4 698.2 135.7T779.3 191.4ZM902.3 390.6Q865.2 404.3 824.2 404.3 755.9 404.3 693.4 363.3L822.3 236.3Q877 304.7 902.3 390.6ZM507.8 462.9L228.5 185.5Q365.2 66.4 546.9 85.9 533.2 127 533.2 173.8T554.7 278.3 603.5 367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basketball\"\n      ]\n    },\n    {\n      \"uid\": \"000eca2ea4269fcb5bb4dc94f418e9b2\",\n      \"css\": \"battery-charging-wireless\",\n      \"code\": 985095,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"dc7e237d267cea0688c902093b4c7b8b\",\n      \"css\": \"battery-charging-wireless-10\",\n      \"code\": 985096,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 771.5H166V250H500V771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-10\"\n      ]\n    },\n    {\n      \"uid\": \"ef411f0929b49f760752f61a20b9af2b\",\n      \"css\": \"battery-charging-wireless-20\",\n      \"code\": 985097,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 709H166V250H500V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-20\"\n      ]\n    },\n    {\n      \"uid\": \"17cd4a51885363f38bd470c1e4779f94\",\n      \"css\": \"battery-charging-wireless-30\",\n      \"code\": 985098,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 666H166V250H500V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-30\"\n      ]\n    },\n    {\n      \"uid\": \"99d7ce79430df0c56b7acf4e8720cc9b\",\n      \"css\": \"battery-charging-wireless-40\",\n      \"code\": 985099,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 603.5H166V250H500V603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-40\"\n      ]\n    },\n    {\n      \"uid\": \"c6552a282bb7550676a04bf4eb7d7823\",\n      \"css\": \"battery-charging-wireless-50\",\n      \"code\": 985100,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 541H166V250H500V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-50\"\n      ]\n    },\n    {\n      \"uid\": \"65923f51e04f96aba526f2bc074304b4\",\n      \"css\": \"battery-charging-wireless-60\",\n      \"code\": 985101,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 482.4H166V250H500V482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-60\"\n      ]\n    },\n    {\n      \"uid\": \"c5b8f9eae37aa2e7c77cc2b24ee20d98\",\n      \"css\": \"battery-charging-wireless-70\",\n      \"code\": 985102,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 416H166V250H500V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-70\"\n      ]\n    },\n    {\n      \"uid\": \"d5d80be46276ac10ee96a53d4903e1d8\",\n      \"css\": \"battery-charging-wireless-80\",\n      \"code\": 985103,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 375H166V250H500V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-80\"\n      ]\n    },\n    {\n      \"uid\": \"161d5d506300e00e31384de1244a7a97\",\n      \"css\": \"battery-charging-wireless-90\",\n      \"code\": 985104,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 312.5H166V250H500V312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-90\"\n      ]\n    },\n    {\n      \"uid\": \"a4ffd798e0ad0f674973a4971b71d206\",\n      \"css\": \"battery-charging-wireless-alert\",\n      \"code\": 985105,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM375 750H291V666H375V750ZM375 584H291V375H375V584ZM835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-alert\"\n      ]\n    },\n    {\n      \"uid\": \"76cfcc9e313a1acf8764e1cde8fe627f\",\n      \"css\": \"battery-charging-wireless-outline\",\n      \"code\": 985106,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1L777.3 263.7Q841.8 328.1 864.3 414.1T864.3 585.9 777.3 736.3L835.9 794.9Q916 714.8 944.3 607.4T944.3 392.6 835.9 205.1ZM718.8 324.2L660.2 382.8Q709 431.6 709 500T660.2 617.2L718.8 675.8Q765.6 628.9 783.2 564.5T783.2 435.5 718.8 324.2ZM541 166H459V84H209V166H125Q107.4 166 95.7 178.7T84 209V875Q84 892.6 95.7 904.3T125 916H541Q558.6 916 571.3 904.3T584 875V209Q584 191.4 571.3 178.7T541 166ZM500 834H166V250H500V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-wireless-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ac25a64aeb76e03afca6d1c3d6fa317e\",\n      \"css\": \"bitcoin\",\n      \"code\": 985107,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M593.8 439.5Q585.9 470.7 543 470.7 519.5 470.7 478.5 459H474.6L498 367.2 511.7 371.1Q550.8 380.9 568.4 390.6 601.6 410.2 593.8 439.5ZM462.9 505.9L439.5 605.5 447.3 607.4Q494.1 621.1 521.5 621.1 570.3 621.1 579.1 586.9T546.9 531.3Q523.4 517.6 474.6 507.8ZM904.3 601.6Q877 710.9 799.8 790T616.2 900.4 399.4 904.3 210 799.8 99.6 616.2 95.7 399.4 200.2 210 383.8 99.6 600.6 95.7 790 200.2 900.4 383.8 904.3 601.6ZM591.8 335.9L611.3 259.8 564.5 250 546.9 322.3 509.8 314.5 529.3 240.2 482.4 228.5 464.8 304.7 373 281.3 359.4 330.1 377 334 392.6 337.9Q416 343.8 414.1 365.2L363.3 570.3Q357.4 584 341.8 582L308.6 572.3 287.1 625 378.9 648.4 359.4 724.6 404.3 736.3 423.8 660.2 460.9 669.9 441.4 744.1 486.3 755.9 505.9 679.7Q570.3 693.4 605.5 681.6 650.4 668 666 619.1 695.3 543 625 507.8 675.8 494.1 683.6 439.5 689.5 402.3 662.1 375 640.6 351.6 591.8 335.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bitcoin\"\n      ]\n    },\n    {\n      \"uid\": \"de134844cc5302f7743d563a7cf696b0\",\n      \"css\": \"briefcase-outline\",\n      \"code\": 985108,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q869.1 250 892.6 275.4T916 334V791Q916 824.2 892.6 849.6T834 875H166Q130.9 875 107.4 849.6T84 791V334Q84 300.8 107.4 275.4T166 250H334V166Q334 130.9 357.4 107.4T416 84H584Q619.1 84 642.6 107.4T666 166V250H834ZM166 334V791H834V334H166ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-outline\"\n      ]\n    },\n    {\n      \"uid\": \"66d5c806a2b8d879196d05b10ea5618a\",\n      \"css\": \"cellphone-wireless\",\n      \"code\": 985109,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 205.1Q894.5 263.7 926.8 339.8T959 500 926.8 660.2 835.9 794.9L777.3 736.3Q824.2 689.5 849.6 628.9T875 500 849.6 371.1 777.3 263.7ZM718.8 324.2Q753.9 357.4 772.5 403.3T791 500 772.5 596.7 718.8 675.8L660.2 617.2Q709 568.4 709 500T660.2 382.8ZM541 416Q576.2 416 600.6 440.4T625 500 600.6 559.6 542 584 483.4 559.6 459 500 483.4 440.4 541 416ZM478.5 41Q521.5 41 552.7 72.3T584 146.5V334H500V166H125V791H500V666H584V853.5Q584 896.5 552.7 927.7T478.5 959H146.5Q103.5 959 72.3 927.7T41 853.5V146.5Q41 103.5 72.3 72.3T146.5 41H478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"d0aa5d7c8a27dace2f937ec4fcad9ddc\",\n      \"css\": \"clover\",\n      \"code\": 985110,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 466.8Q500 464.8 502 464.8 621.1 355.5 656.3 314.5 709 252 709 195.3 709 148.4 674.8 116.2T593.8 84Q537.1 84 500 125 462.9 84 404.3 84 357.4 84 324.2 117.2T291 197.3Q291 252 343.8 314.5 378.9 355.5 498 464.8ZM466.8 500Q464.8 500 464.8 498 355.5 378.9 314.5 343.8 252 291 195.3 291 148.4 291 116.2 325.2T84 406.3Q84 462.9 125 500 84 537.1 84 595.7 84 642.6 117.2 675.8T197.3 709Q252 709 314.5 656.3 355.5 621.1 464.8 502ZM535.2 500V500Q644.5 621.1 685.5 656.3 748 709 804.7 709 851.6 709 883.8 674.8T916 593.8Q916 537.1 875 500 916 462.9 916 404.3 916 357.4 882.8 324.2T802.7 291Q748 291 685.5 343.8 644.5 378.9 535.2 500V500ZM500 533.2Q500 535.2 498 535.2 378.9 644.5 343.8 685.5 291 748 291 804.7 291 851.6 325.2 883.8T406.3 916Q462.9 916 500 875 537.1 916 595.7 916 642.6 916 675.8 882.8T709 802.7Q709 748 656.3 685.5 621.1 644.5 502 535.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clover\"\n      ]\n    },\n    {\n      \"uid\": \"d18b3cbdaa3c85b734035f695d9b21d8\",\n      \"css\": \"comment-question\",\n      \"code\": 985111,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM507.8 228.5Q453.1 228.5 418 252T386.7 320.3H468.8Q468.8 302.7 480.5 293.9T507.8 285.2Q529.3 285.2 540 295.9T550.8 324.2 541 355.5 515.6 378.9Q484.4 396.5 471.7 412.1T459 459H541Q541 441.4 546.9 430.7T568.4 410.2Q597.7 396.5 616.2 374T634.8 324.2Q634.8 281.3 600.6 254.9T507.8 228.5ZM459 500V584H541V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-question\"\n      ]\n    },\n    {\n      \"uid\": \"2d26a0691a6419907d872e549e8c9bc9\",\n      \"css\": \"delete-restore\",\n      \"code\": 985113,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 584H666L500 416 334 584H416V750H584V584ZM250 291H750V791Q750 826.2 725.6 850.6T666 875H334Q298.8 875 274.4 850.6T250 791V291ZM791 166V250H209V166H353.5L396.5 125H603.5L646.5 166H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-restore\"\n      ]\n    },\n    {\n      \"uid\": \"83b219826daf649916408804f0a2138c\",\n      \"css\": \"door\",\n      \"code\": 985114,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 125Q298.8 125 274.4 149.4T250 209V875H750V209Q750 173.8 725.6 149.4T666 125H334ZM334 209H666V791H334V209ZM541 459V541H625V459H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"door\"\n      ]\n    },\n    {\n      \"uid\": \"4c7d3038d8f473fc06bc6a6b95bcfc67\",\n      \"css\": \"door-closed\",\n      \"code\": 985115,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 459H750V541H666V459ZM500 125H791Q826.2 125 850.6 149.4T875 209V791H916V875H84V791H416V209Q416 173.8 440.4 149.4T500 125ZM500 209V791H791V209H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"door-closed\"\n      ]\n    },\n    {\n      \"uid\": \"0807b62e38678407fa8af5d8603ea1e4\",\n      \"css\": \"door-open\",\n      \"code\": 985116,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q464.8 125 440.4 149.4T416 209H125V791H84V875H916V791H875V209Q875 173.8 850.6 149.4T791 125H500ZM500 209H791V791H500V209ZM209 459H291V541H209V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"door-open\"\n      ]\n    },\n    {\n      \"uid\": \"86d697f28e25b563f2252d6eebba2d92\",\n      \"css\": \"fan-off\",\n      \"code\": 985117,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 84Q433.6 84 398.4 152.3 363.3 216.8 386.7 310.5L625 548.8Q695.3 564.5 719.7 614.3T793 675.8 877 650.4Q918 607.4 918 521.5 918 449.2 871.1 412.1T749 377.9 597.7 421.9Q578.1 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84ZM136.7 166L84 218.8 185.5 322.3Q142.6 322.3 115.2 359.4 84 402.3 84 478.5 84 550.8 130.9 587.9T252 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 548.8 916 585.9 872.1T623 757.8L781.3 916 834 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-off\"\n      ]\n    },\n    {\n      \"uid\": \"d062edbb6d27a27caf5ebe92c4f22add\",\n      \"css\": \"file-percent\",\n      \"code\": 985118,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM306.6 834L625 513.7 568.4 459 250 777.3ZM541 375H771.5L541 146.5V375ZM312.5 459Q287.1 459 268.6 476.6T250 520.5 268.6 565.4 312.5 584 356.4 565.4 375 520.5 356.4 476.6 312.5 459ZM562.5 709Q537.1 709 518.6 726.6T500 770.5 518.6 815.4 562.5 834 606.4 815.4 625 770.5 606.4 726.6 562.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-percent\"\n      ]\n    },\n    {\n      \"uid\": \"1c39bac4a520175395e25365a609e24b\",\n      \"css\": \"finance\",\n      \"code\": 985119,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 687.5L125 810.5V459H250V687.5ZM459 611.3L392.6 554.7 334 609.4V291H459V611.3ZM666 541L541 666V125H666V541ZM783.2 533.2L709 459H916V666L841.8 591.8 541 890.6 396.5 763.7 240.2 916H125L394.5 652.3 541 777.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"finance\"\n      ]\n    },\n    {\n      \"uid\": \"1e6806618a20e3ab519d0060e7f4f629\",\n      \"css\": \"flash-circle\",\n      \"code\": 985120,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 834L681.6 427.7H541V166L334 572.3H478.5V834ZM500 84Q669.9 84 793 207T916 500 793 793 500 916 207 793 84 500 207 207 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-circle\"\n      ]\n    },\n    {\n      \"uid\": \"9125f985d3f1a3f0dafb459a18825962\",\n      \"css\": \"floor-plan\",\n      \"code\": 985121,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 209V416H375V209H209V541H375V500H416V709H375V584H209V791H500V709H541V791H791V709H875V875H125V125H875V625H791V416H541V625H500V375H791V209H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"floor-plan\"\n      ]\n    },\n    {\n      \"uid\": \"bd0312ebaad686e7a6edba61f8245c78\",\n      \"css\": \"forum-outline\",\n      \"code\": 985122,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166V459H214.8L166 507.8V166H625ZM666 84H125Q107.4 84 95.7 95.7T84 125V709L250 541H666Q683.6 541 696.3 529.3T709 500V125Q709 107.4 696.3 95.7T666 84ZM875 250H791V625H250V709Q250 726.6 261.7 738.3T291 750H750L916 916V291Q916 273.4 904.3 261.7T875 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"forum-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fb5ad1ac98c133b193603e9a7a9f7edb\",\n      \"css\": \"golf\",\n      \"code\": 985123,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 750Q837.9 750 856.4 768.6T875 812.5 856.4 856.4 812.5 875 768.6 856.4 750 812.5 768.6 768.6 812.5 750ZM709 246.1L459 375V752Q548.8 755.9 607.4 779.3T666 835 592.8 891.6 416 916 239.3 891.6 166 834Q166 810.5 200.2 791T291 761.7V834H375V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"golf\"\n      ]\n    },\n    {\n      \"uid\": \"a23e73c66e02e0a1188dca7e38775319\",\n      \"css\": \"google-home\",\n      \"code\": 985124,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M335.9 324.2Q300.8 324.2 294.9 318.4L277.3 572.3Q308.6 591.8 362.3 604.5T515.6 611.3 722.7 568.4L689.5 175.8Q632.8 230.5 527.3 277.3 431.6 318.4 363.3 324.2H335.9ZM332 222.7Q289.1 259.8 295.9 273.4T357.4 281.3Q425.8 275.4 511.7 238.3 572.3 212.9 614.3 183.6T671.9 134.8 683.6 106.4 644.5 97.7Q574.2 97.7 468.8 142.6 378.9 181.6 332 222.7ZM722.7 91.8Q726.6 99.6 726.6 109.4L775.4 709Q775.4 816.4 701.2 877.9T501 939.5 299.8 876 224.6 705.1L253.9 269.5Q253.9 253.9 267.6 234.4T293 203.1L306.6 191.4Q367.2 140.6 453.1 103.5 511.7 78.1 567.4 65.4T667 57.6 722.7 91.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-home\"\n      ]\n    },\n    {\n      \"uid\": \"b74e692ad89fb05ceea685e9145cc0c4\",\n      \"css\": \"guy-fawkes-mask\",\n      \"code\": 985125,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541Q875 642.6 824.2 729.5T687.5 866.2 500 916 312.5 866.2 175.8 729.5 125 541L127 185.5Q298.8 84 500 84T875 181.6V541ZM541 830.1Q611.3 820.3 668.9 779.3T758.8 675.8 791 541V232.4Q654.3 166 500 166T205.1 236.3L209 541Q209 613.3 242.2 675.8T332 779.3 459 830.1V750H541V830.1ZM459 666H334L250 541 375 584H416L459 541H541L584 584H625L750 541 666 666H541L500 625ZM250 377Q291 335.9 353.5 335.9T459 377Q416 416 353.5 416T250 377ZM541 377Q584 335.9 645.5 335.9T750 377Q707 416 645.5 416T541 377Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"guy-fawkes-mask\"\n      ]\n    },\n    {\n      \"uid\": \"e8b172e2da643a089393b01fa62f58ed\",\n      \"css\": \"home-account\",\n      \"code\": 985126,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM500 365.2Q539.1 365.2 566.4 392.6T593.8 459 566.4 525.4 500 552.7 433.6 525.4 406.3 459 433.6 392.6 500 365.2ZM500 625Q558.6 625 617.2 648.4 687.5 675.8 687.5 718.8V750H312.5V718.8Q312.5 675.8 382.8 648.4 441.4 625 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-account\"\n      ]\n    },\n    {\n      \"uid\": \"19e2a04977b238b8f0996f5ac04d2b27\",\n      \"css\": \"home-heart\",\n      \"code\": 985127,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500L500 125 916 500H791V834H209V500H84ZM500 750L529.3 722.7H531.3Q628.9 632.8 660.2 595.7 709 535.2 709 482.4 709 433.6 675.8 400.4T593.8 367.2Q566.4 367.2 542 378.9T500 412.1Q482.4 390.6 458 378.9T406.3 367.2Q357.4 367.2 324.2 400.4T291 482.4Q291 535.2 339.8 595.7 371.1 632.8 468.8 722.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-heart\"\n      ]\n    },\n    {\n      \"uid\": \"2903e83e8690443d075c1967576c8251\",\n      \"css\": \"hot-tub\",\n      \"code\": 985128,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 166Q326.2 166 350.6 190.4T375 250 350.6 309.6 292 334 233.4 309.6 209 250 233.4 190.4 291 166ZM464.8 500H916V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V500H209V468.8Q209 429.7 236.3 402.3T302.7 375V375Q324.2 375 342.8 383.8T373 406.3L429.7 470.7Q443.4 486.3 464.8 500ZM291 834V584H209V834H291ZM459 834V584H375V834H459ZM625 834V584H541V834H625ZM791 834V584H709V834H791ZM777.3 244.1Q808.6 275.4 823.2 315.4T832 398.4L828.1 416H750L753.9 392.6Q763.7 339.8 726.6 300.8L722.7 298.8Q691.4 265.6 676.8 225.6T668 142.6L671.9 125H750L746.1 150.4Q736.3 201.2 773.4 242.2ZM611.3 244.1Q642.6 275.4 657.2 315.4T664.1 398.4L662.1 416H584L587.9 392.6Q597.7 339.8 558.6 300.8L556.6 298.8Q523.4 265.6 509.8 225.6T502 142.6L503.9 125H584L580.1 150.4Q570.3 201.2 607.4 242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hot-tub\"\n      ]\n    },\n    {\n      \"uid\": \"a54b0110de3878c858b11451e935ae4e\",\n      \"css\": \"hulu\",\n      \"code\": 985129,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 533.2V916H613.3V580.1Q613.3 556.6 596.7 541T558.6 525.4H437.5Q416 525.4 399.4 541T382.8 580.1V916H187.5V84H386.7V349.6Q412.1 341.8 425.8 341.8H625Q703.1 341.8 757.8 398.4T812.5 533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hulu\"\n      ]\n    },\n    {\n      \"uid\": \"4d1a676f876e1b62e10d6dd111b1b736\",\n      \"css\": \"ice-cream\",\n      \"code\": 985130,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 252Q720.7 164.1 655.3 102.5T500 41 344.7 102.5 271.5 252Q226.6 259.8 196.3 293.9T166 375Q166 427.7 203.1 463.9T291 500L500 916 709 500Q759.8 500 796.9 463.9T834 375Q834 328.1 803.7 293.9T728.5 252ZM500 730.5L371.1 470.7 378.9 464.8Q433.6 500 500 500T621.1 464.8L628.9 470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ice-cream\"\n      ]\n    },\n    {\n      \"uid\": \"3d3bee5eea233bccc3c30947dfe392ba\",\n      \"css\": \"image-off\",\n      \"code\": 985131,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 716.8L283.2 125H791Q826.2 125 850.6 149.4T875 209V716.8ZM863.3 916L820.3 875H209Q173.8 875 149.4 850.6T125 791V179.7L84 136.7 136.7 84 916 863.3ZM699.2 750L537.1 587.9 459 687.5 353.5 562.5 209 750H699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-off\"\n      ]\n    },\n    {\n      \"uid\": \"0950e22f498517d900013b3d36cee63a\",\n      \"css\": \"karate\",\n      \"code\": 985132,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 52.7Q761.7 35.2 728.5 43.9T677.7 83 668.9 146.5 708 197.3 771.5 206.1 822.3 167 831.1 103.5 791 52.7ZM886.7 388.7L779.3 574.2 707 533.2 779.3 408.2 714.8 353.5 584 580.1V916H500V558.6L103.5 328.1 144.5 255.9 468.8 443.4 570.3 271.5 302.7 173.8 334 95.7 627 203.1Q656.3 214.8 671.9 222.7L707 244.1Q728.5 255.9 748 273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"karate\"\n      ]\n    },\n    {\n      \"uid\": \"aad42f3c45c3d4ad9eb826a0b6f11c8d\",\n      \"css\": \"ladybug\",\n      \"code\": 985133,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q546.9 209 589.8 220.7L658.2 101.6Q666 87.9 682.6 83T714.8 86.9 734.4 112.3 728.5 144.5L666 252Q744.1 298.8 789.1 375H210.9Q255.9 298.8 334 252L271.5 144.5Q261.7 128.9 265.6 112.3T285.2 86.9 317.4 83 341.8 101.6L410.2 220.7Q453.1 209 500 209ZM834 541Q834 627 793.9 700.2T684.6 819.3 531.3 873V437.5H816.4Q834 488.3 834 541ZM166 541Q166 488.3 183.6 437.5H468.8V873Q384.8 865.2 315.4 819.3T206.1 700.2 166 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ladybug\"\n      ]\n    },\n    {\n      \"uid\": \"6e61596543d29cb6aec84ecbe2dc3c53\",\n      \"css\": \"notebook\",\n      \"code\": 985134,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291V209H209V166Q209 132.8 233.4 108.4T291 84H541V375L646.5 312.5 750 375V84H791Q824.2 84 849.6 109.4T875 166V834Q875 865.2 849.6 890.6T791 916H291Q259.8 916 234.4 890.6T209 834V791H125V709H209V541H125V459H209V291H125ZM291 459H209V541H291V459ZM291 291V209H209V291H291ZM291 791V709H209V791H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"notebook\"\n      ]\n    },\n    {\n      \"uid\": \"a69b073ac16e51208445d6f734bb1c83\",\n      \"css\": \"phone-return\",\n      \"code\": 985135,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250V459H812.5V312.5H578.1L679.7 414.1 634.8 459 459 281.3 634.8 103.5 679.7 148.4 578.1 250H875ZM367.2 357.4Q384.8 339.8 377 316.4 353.5 242.2 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 677.7 392.6 607.4T277.3 449.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-return\"\n      ]\n    },\n    {\n      \"uid\": \"ce10956c02ede96acc5a272129ba1beb\",\n      \"css\": \"poker-chip\",\n      \"code\": 985136,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500Q959 625 897.5 730.5T730.5 897.5 500 959 269.5 897.5 102.5 730.5 41 500 102.5 269.5 269.5 102.5 500 41 730.5 102.5 897.5 269.5 959 500ZM541 169.9Q607.4 177.7 666 210.9T765.6 298.8L837.9 255.9Q785.2 183.6 708 137.7T541 84V169.9ZM162.1 255.9L234.4 298.8Q275.4 244.1 334 210.9T459 169.9V84Q369.1 91.8 292 137.7T162.1 255.9ZM121.1 669.9L193.4 628.9Q166 566.4 166 500T193.4 371.1L121.1 330.1Q84 410.2 84 500T121.1 669.9ZM459 830.1Q392.6 822.3 334 789.1T234.4 701.2L162.1 744.1Q214.8 816.4 292 862.3T459 916V830.1ZM837.9 744.1L765.6 701.2Q724.6 755.9 666 789.1T541 830.1V914.1Q630.9 904.3 708 860.4T837.9 744.1ZM878.9 669.9Q916 589.8 916 500T878.9 330.1L806.6 371.1Q834 433.6 834 500T806.6 628.9ZM625 500L500 291 375 500 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"poker-chip\"\n      ]\n    },\n    {\n      \"uid\": \"616f44d974b08fcb92ea43607af77d79\",\n      \"css\": \"shape\",\n      \"code\": 985137,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 562.5V896.5H125V562.5H459ZM500 84L728.5 459H271.5ZM728.5 541Q806.6 541 861.3 595.7T916 728.5 861.3 861.3 728.5 916 595.7 861.3 541 728.5 595.7 595.7 728.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape\"\n      ]\n    },\n    {\n      \"uid\": \"643f911ba96c3c03912a5293773a8a0e\",\n      \"css\": \"shape-outline\",\n      \"code\": 985138,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 562.5V896.5H125V562.5H459ZM375 646.5H209V812.5H375V646.5ZM500 84L728.5 459H271.5ZM500 244.1L419.9 375H580.1ZM728.5 541Q806.6 541 861.3 595.7T916 728.5 861.3 861.3 728.5 916 595.7 861.3 541 728.5 595.7 595.7 728.5 541ZM728.5 625Q685.5 625 655.3 655.3T625 728.5 655.3 802.7 728.5 834 802.7 802.7 834 728.5 802.7 655.3 728.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-outline\"\n      ]\n    },\n    {\n      \"uid\": \"edc94aff64ce40a220caf106fe612d5c\",\n      \"css\": \"ship-wheel\",\n      \"code\": 985139,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 459L168 462.9Q175.8 392.6 210.9 333T302.7 232.4L255.9 160.2Q246.1 144.5 251 127.9T271.5 102.5 302.7 98.6 328.1 119.1L367.2 193.4Q431.6 166 500 166T632.8 193.4L671.9 119.1Q681.6 103.5 697.3 98.6T728.5 102.5 749 127.9 744.1 160.2L697.3 232.4Q753.9 273.4 789.1 333T832 462.9L916 459Q933.6 459 946.3 470.7T959 500 946.3 529.3 916 541L832 537.1Q824.2 607.4 789.1 667T697.3 767.6L744.1 839.8Q753.9 855.5 749 872.1T728.5 897.5 697.3 901.4 671.9 880.9L632.8 806.6Q568.4 834 500 834T367.2 806.6L328.1 880.9Q318.4 896.5 302.7 901.4T271.5 897.5 251 872.1 255.9 839.8L302.7 767.6Q246.1 726.6 210.9 667T168 537.1L84 541Q66.4 541 53.7 529.3T41 500 53.7 470.7 84 459ZM377 472.7Q386.7 435.5 416 408.2L347.7 302.7Q308.6 332 284.2 375T252 466.8ZM500 375Q519.5 375 537.1 380.9L595.7 269.5Q548.8 250 500 250T404.3 269.5L462.9 380.9Q480.5 375 500 375ZM623 472.7L748 466.8Q740.2 418 715.8 375T652.3 302.7L584 408.2Q613.3 435.5 623 472.7ZM623 527.3Q613.3 564.5 584 591.8L652.3 697.3Q691.4 668 715.8 625T748 533.2ZM500 625Q480.5 625 462.9 619.1L404.3 730.5Q451.2 750 500 750T595.7 730.5L537.1 619.1Q519.5 625 500 625ZM377 527.3L252 533.2Q259.8 582 284.2 625T347.7 697.3L416 591.8Q386.7 564.5 377 527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ship-wheel\"\n      ]\n    },\n    {\n      \"uid\": \"d77b426af69d3c33e979ea1b482391a0\",\n      \"css\": \"soccer-field\",\n      \"code\": 985140,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166H166ZM166 250H459V337.9Q402.3 353.5 368.2 398.4T334 500 368.2 601.6 459 662.1V750H166V666H291V334H166V250ZM541 250H834V334H709V666H834V750H541V662.1Q597.7 646.5 631.8 601.6T666 500 631.8 398.4 541 337.9V250ZM166 416H209V584H166V416ZM791 416H834V584H791V416ZM541 427.7Q560.5 439.5 572.3 459T584 500 572.3 541 541 572.3V427.7ZM459 427.7V572.3Q439.5 560.5 427.7 541T416 500 427.7 459 459 427.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"soccer-field\"\n      ]\n    },\n    {\n      \"uid\": \"293d689c65aa21d95b4de552cd28fb0b\",\n      \"css\": \"table-column\",\n      \"code\": 985141,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84H666Q701.2 84 725.6 108.4T750 166V834Q750 867.2 725.6 891.6T666 916H334Q298.8 916 274.4 891.6T250 834V166Q250 132.8 274.4 108.4T334 84ZM334 416V584H666V416H334ZM334 666V834H666V666H334ZM334 166V334H666V166H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-column\"\n      ]\n    },\n    {\n      \"uid\": \"a1820c3e3fc594a7b26a5d71fda2bc00\",\n      \"css\": \"table-of-contents\",\n      \"code\": 985142,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375H709V291H125V375ZM125 541H709V459H125V541ZM125 709H709V625H125V709ZM791 709H875V625H791V709ZM791 291V375H875V291H791ZM791 541H875V459H791V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-of-contents\"\n      ]\n    },\n    {\n      \"uid\": \"8fa0d7384ec01b9cae6135588b577910\",\n      \"css\": \"table-row\",\n      \"code\": 985143,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 584Q916 617.2 891.6 641.6T834 666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334H834Q867.2 334 891.6 358.4T916 416V584ZM166 584H334V416H166V584ZM416 584H584V416H416V584ZM666 584H834V416H666V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-row\"\n      ]\n    },\n    {\n      \"uid\": \"064e14e4903f2a829b055450aecfb9d4\",\n      \"css\": \"table-settings\",\n      \"code\": 985144,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916ZM209 166H791Q826.2 166 850.6 190.4T875 250V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V250Q125 214.8 149.4 190.4T209 166ZM209 334V500H459V334H209ZM541 334V500H791V334H541ZM209 584V750H459V584H209ZM541 584V750H791V584H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-settings\"\n      ]\n    },\n    {\n      \"uid\": \"ec0de7d117bfb54ec817dda41659ff94\",\n      \"css\": \"television-box\",\n      \"code\": 985145,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM666 666L791 334H687.5L625 521.5 562.5 334H209V416H334V666H416V416H490.2L584 666H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-box\"\n      ]\n    },\n    {\n      \"uid\": \"0f6ec81a30374b00916bc49187005cbf\",\n      \"css\": \"television-classic-off\",\n      \"code\": 985146,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 875 904.3 822.3 959 738.3 875H166Q132.8 875 108.4 850.6T84 791V375Q84 343.8 104.5 320.3T156.3 291ZM339.8 125L500 285.2 660.2 125 718.8 183.6 611.3 291H834Q867.2 291 891.6 315.4T916 375V791Q916 812.5 906.3 830.1L709 632.8V375H451.2L367.2 291H388.7L281.3 183.6ZM166 375V791H656.3L238.3 375H166ZM812.5 375Q794.9 375 783.2 386.7T771.5 416 783.2 446.3 812.5 459 841.8 446.3 853.5 416 841.8 386.7 812.5 375ZM812.5 500Q794.9 500 783.2 511.7T771.5 541 783.2 571.3 812.5 584 841.8 571.3 853.5 541 841.8 511.7 812.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-classic-off\"\n      ]\n    },\n    {\n      \"uid\": \"068062ab7bd4d3b8e269a9fd1525ea6e\",\n      \"css\": \"television-off\",\n      \"code\": 985147,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M21.5 115.2L74.2 62.5 875 863.3 822.3 916 697.3 791H666V875H334V791H125Q89.8 791 65.4 766.6T41 709V209Q41 177.7 60.5 156.3ZM875 709V209H326.2L242.2 125H875Q910.2 125 934.6 149.4T959 209V709Q959 734.4 943.4 755.9T904.3 787.1L826.2 709H875ZM125 709H613.3L125 218.8V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-off\"\n      ]\n    },\n    {\n      \"uid\": \"7fca4d14427e994c9a0474c70ba3792b\",\n      \"css\": \"tow-truck\",\n      \"code\": 985148,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 416H849.6L710.9 250H625V416ZM728.5 771.5Q753.9 771.5 772.5 752.9T791 709 772.5 665 728.5 646.5 684.6 665 666 709 684.6 752.9 728.5 771.5ZM250 771.5Q277.3 771.5 294.9 752.9T312.5 709 294.9 665 250 646.5 205.1 665 187.5 709 205.1 752.9 250 771.5ZM750 166L959 416V709H853.5Q853.5 759.8 816.4 796.9T728.5 834 640.6 796.9 603.5 709H375Q375 759.8 337.9 796.9T250 834 162.1 796.9 125 709H41V541H382.8L125 337.9V459H41V209H84L541 460.9V166H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tow-truck\"\n      ]\n    },\n    {\n      \"uid\": \"92873265f25606dc971524e39d8663cf\",\n      \"css\": \"upload-multiple\",\n      \"code\": 985149,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 584V334H209L500 41 791 334H625V584H375ZM209 750V666H791V750H209ZM791 834H209V916H791V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"119764f7554127389d612df90a8a6f6b\",\n      \"css\": \"video-4k-box\",\n      \"code\": 985150,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 562.5H459V625H396.5V562.5H271.5V375H334V500H396.5V375H459V500H500V562.5ZM750 625H675.8L599.6 533.2V625H541V375H603.5V466.8L675.8 375H750L658.2 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-4k-box\"\n      ]\n    },\n    {\n      \"uid\": \"b90e740a01cd302f9c86393b761017c2\",\n      \"css\": \"video-input-antenna\",\n      \"code\": 985151,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q419.9 209 353.5 248T248 353.5 209 500H291Q291 443.4 319.3 395.5T395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500H791Q791 419.9 752 353.5T646.5 248 500 209ZM541 595.7Q570.3 582 586.9 556.6T603.5 500Q603.5 457 573.2 426.8T500 396.5 426.8 426.8 396.5 500Q396.5 531.3 413.1 557.6T459 595.7V732.4L316.4 875 375 933.6 500 808.6 625 933.6 683.6 875 541 732.4V595.7ZM500 41Q375 41 269.5 102.5T102.5 269.5 41 500H125Q125 398.4 175.8 312.5T312.5 175.8 500 125 687.5 175.8 824.2 312.5 875 500H959Q959 375 897.5 269.5T730.5 102.5 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-input-antenna\"\n      ]\n    },\n    {\n      \"uid\": \"c411281209b7f6fe3e61c9c558367223\",\n      \"css\": \"video-input-component\",\n      \"code\": 985152,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84Q209 66.4 196.3 53.7T166 41 136.7 53.7 125 84V250H41V500H291V250H209V84ZM375 666Q375 707 398.4 739.3T459 783.2V959H541V783.2Q578.1 771.5 601.6 739.3T625 666V584H375V666ZM41 666Q41 707 64.5 739.3T125 783.2V959H209V783.2Q246.1 771.5 268.6 739.3T291 666V584H41V666ZM875 250V84Q875 66.4 863.3 53.7T834 41 803.7 53.7 791 84V250H709V500H959V250H875ZM541 84Q541 66.4 529.3 53.7T500 41 470.7 53.7 459 84V250H375V500H625V250H541V84ZM709 666Q709 707 731.4 739.3T791 783.2V959H875V783.2Q912.1 771.5 935.5 739.3T959 666V584H709V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-input-component\"\n      ]\n    },\n    {\n      \"uid\": \"4915172dd34f2f78987dff354aa2858e\",\n      \"css\": \"video-input-hdmi\",\n      \"code\": 985153,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 291V166Q750 132.8 725.6 108.4T666 84H334Q298.8 84 274.4 108.4T250 166V291H209V541L334 791V916H666V791L791 541V291H750ZM334 166H666V291H584V209H541V291H459V209H416V291H334V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-input-hdmi\"\n      ]\n    },\n    {\n      \"uid\": \"3944225433a35ac3367551e4aa446f23\",\n      \"css\": \"video-input-svideo\",\n      \"code\": 985154,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 478.5Q334 453.1 315.4 434.6T270.5 416 226.6 434.6 209 479.5 226.6 523.4 270.5 541 315.4 523.4 334 478.5ZM625 271.5Q625 244.1 606.4 226.6T562.5 209H437.5Q412.1 209 393.6 226.6T375 270.5 393.6 315.4 437.5 334H562.5Q587.9 334 606.4 315.4T625 271.5ZM353.5 625Q328.1 625 309.6 643.6T291 687.5 309.6 731.4 354.5 750 398.4 731.4 416 687.5 398.4 643.6 353.5 625ZM500 41Q375 41 269.5 102.5T102.5 269.5 41 500 102.5 730.5 269.5 897.5 500 959 730.5 897.5 897.5 730.5 959 500 897.5 269.5 730.5 102.5 500 41ZM500 875Q398.4 875 312.5 824.2T175.8 687.5 125 500 175.8 312.5 312.5 175.8 500 125 687.5 175.8 824.2 312.5 875 500 824.2 687.5 687.5 824.2 500 875ZM728.5 416Q703.1 416 684.6 434.6T666 479.5 684.6 523.4 729.5 541 773.4 523.4 791 479.5 773.4 434.6 728.5 416ZM646.5 625Q619.1 625 601.6 643.6T584 687.5 601.6 731.4 645.5 750 690.4 731.4 709 687.5 690.4 643.6 646.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-input-svideo\"\n      ]\n    },\n    {\n      \"uid\": \"7a707fde922e8a53e4ba005d4ce33fd0\",\n      \"css\": \"view-dashboard-variant\",\n      \"code\": 985155,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209V791H334V209H84ZM375 209V416H625V209H375ZM666 209V584H916V209H666ZM375 459V791H625V459H375ZM666 625V791H916V625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-dashboard-variant\"\n      ]\n    },\n    {\n      \"uid\": \"b002b0ea9c88d0d8ed796dfdd52d37d5\",\n      \"css\": \"vuejs\",\n      \"code\": 985156,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H228.5L500 625 771.5 125H916L500 875ZM271.5 125H396.5L500 316.4 603.5 125H728.5L500 544.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vuejs\"\n      ]\n    },\n    {\n      \"uid\": \"0e34ae6a1ef06991a059f1fc5678a055\",\n      \"css\": \"xamarin\",\n      \"code\": 985157,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M947.3 460.9Q959 478.5 959 500T947.3 539.1L753.9 875Q742.2 894.5 722.7 905.3T681.6 916H318.4Q296.9 916 277.3 905.3T246.1 875L52.7 539.1Q41 521.5 41 500T52.7 460.9L246.1 125Q257.8 105.5 277.3 94.7T318.4 84H681.6Q703.1 84 722.7 94.7T753.9 125ZM500 500V496.1L392.6 294.9 384.8 291H318.4L312.5 294.9V304.7L416 500 312.5 695.3V705.1L318.4 709H384.8L392.6 705.1 500 503.9V500L502 503.9 607.4 705.1 615.2 709H681.6L687.5 705.1V695.3L584 500 687.5 304.7V294.9L681.6 291H615.2L607.4 294.9 502 496.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"xamarin\"\n      ]\n    },\n    {\n      \"uid\": \"ed00bfdc3265eedefca20449c96b20df\",\n      \"css\": \"xamarin-outline\",\n      \"code\": 985158,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500L502 496.1 607.4 294.9 615.2 291H681.6L687.5 294.9V304.7L584 500 687.5 695.3V705.1L681.6 709H615.2L607.4 705.1 502 503.9 500 500V503.9L392.6 705.1 384.8 709H318.4L312.5 705.1V695.3L416 500 312.5 304.7V294.9L318.4 291H384.8L392.6 294.9 500 496.1V500ZM947.3 460.9Q959 478.5 959 500T947.3 539.1L753.9 875Q742.2 894.5 722.7 905.3T681.6 916H318.4Q296.9 916 277.3 905.3T246.1 875L52.7 539.1Q41 521.5 41 500T52.7 460.9L246.1 125Q257.8 105.5 277.3 94.7T318.4 84H681.6Q703.1 84 722.7 94.7T753.9 125ZM867.2 468.8L707 199.2Q697.3 183.6 681.6 174.8T648.4 166H351.6Q334 166 318.4 174.8T293 199.2L132.8 468.8Q125 484.4 125 500T132.8 531.3L293 800.8Q302.7 816.4 318.4 825.2T351.6 834H648.4Q666 834 681.6 825.2T707 800.8L867.2 531.3Q875 515.6 875 500T867.2 468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"xamarin-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b7d58432e6d8ee5f9e1b0f05561d2288\",\n      \"css\": \"youtube-studio\",\n      \"code\": 985159,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 625L625 500 416 375V625ZM810.5 541L898.4 609.4Q912.1 619.1 902.3 636.7L818.4 781.3Q810.5 794.9 793 789.1L689.5 748Q648.4 777.3 619.1 789.1L603.5 898.4Q599.6 916 584 916H416Q400.4 916 396.5 898.4L380.9 789.1Q345.7 773.4 310.5 748L207 789.1Q189.5 794.9 181.6 781.3L97.7 636.7Q87.9 619.1 101.6 609.4L189.5 541Q187.5 531.3 187.5 500T189.5 459L101.6 390.6Q87.9 380.9 97.7 363.3L181.6 218.8Q189.5 205.1 207 210.9L310.5 252Q351.6 222.7 380.9 210.9L396.5 101.6Q400.4 84 416 84H584Q599.6 84 603.5 101.6L619.1 210.9Q654.3 226.6 689.5 252L793 210.9Q810.5 205.1 818.4 218.8L902.3 363.3Q912.1 380.9 898.4 390.6L810.5 459Q812.5 468.8 812.5 500T810.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"youtube-studio\"\n      ]\n    },\n    {\n      \"uid\": \"51efddc927bc6799efebfe99385a4688\",\n      \"css\": \"youtube-gaming\",\n      \"code\": 985160,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V334L709 209 500 334 291 209 84 334V541L500 791ZM375 459H291V541H250V459H166V416H250V334H291V416H375V459ZM625 541Q607.4 541 595.7 529.3T584 500 595.7 470.7 625 459 654.3 470.7 666 500 654.3 529.3 625 541ZM750 459Q732.4 459 720.7 446.3T709 417 720.7 387.7 750 375 779.3 387.7 791 417 779.3 446.3 750 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"youtube-gaming\"\n      ]\n    },\n    {\n      \"uid\": \"becf89e1f2ca06b7b5a6dfdc54ec7763\",\n      \"css\": \"account-group\",\n      \"code\": 985161,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 228.5Q560.5 228.5 603.5 271.5T646.5 375 603.5 478.5 500 521.5 396.5 478.5 353.5 375 396.5 271.5 500 228.5ZM209 334Q242.2 334 271.5 351.6 267.6 394.5 280.3 437.5T318.4 515.6Q302.7 546.9 273.4 565.4T209 584Q156.3 584 120.1 546.9T84 458 120.1 370.1 209 334ZM791 334Q843.8 334 879.9 370.1T916 458 879.9 546.9 791 584Q755.9 584 726.6 565.4T681.6 515.6Q707 480.5 719.7 437.5T728.5 351.6Q757.8 334 791 334ZM228.5 759.8Q228.5 718.8 265.6 682.6T364.3 625 500 603.5 635.7 625 734.4 682.6 771.5 759.8V834H228.5V759.8ZM0 834V771.5Q0 728.5 52.7 694.3T185.5 650.4Q146.5 695.3 146.5 759.8V834H0ZM1000 834H853.5V759.8Q853.5 695.3 814.5 650.4 894.5 660.2 947.3 694.3T1000 771.5V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-group\"\n      ]\n    },\n    {\n      \"uid\": \"a1acf95830dc9495155b4143d16cf81f\",\n      \"css\": \"camera-switch-outline\",\n      \"code\": 985162,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H699.2L625 84H375L300.8 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM412.1 166H587.9L662.1 250H834V750H166V250H337.9ZM625 459H375V353.5L228.5 500 375 646.5V541H625V646.5L771.5 500 625 353.5V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-switch-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a829162e68c71d2c09d2e4d985432c80\",\n      \"css\": \"airport\",\n      \"code\": 985163,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M623 246.1Q619.1 230.5 604.5 222.7T574.2 218.8L433.6 255.9 248 84 197.3 97.7 306.6 289.1 173.8 324.2 123 283.2 84 294.9 152.3 414.1 595.7 296.9Q611.3 291 619.1 276.4T623 246.1ZM875 416L834 500H625L584 416 625 375H709V291H750V375H834ZM916 834V916H84V834H625V541H834V834H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airport\"\n      ]\n    },\n    {\n      \"uid\": \"ff35d8f919ef28c4caf54063f9847eb4\",\n      \"css\": \"arrow-collapse-horizontal\",\n      \"code\": 985164,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 834V166H627V834H541ZM416 834V166H502V834H416ZM209 334L377 500 209 666V541H84V459H209V334ZM834 666L666 500 834 334V459H959V541H834V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"f87739547234c5fa1aff37f95fe634a0\",\n      \"css\": \"arrow-collapse-vertical\",\n      \"code\": 985165,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 500H834V584H166V500ZM166 375H834V459H166V375ZM666 166L500 334 334 166H459V41H541V166H666ZM334 791L500 625 666 791H541V916H459V791H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-collapse-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"3605a47028acc9afcd8778d02b9a0f31\",\n      \"css\": \"arrow-expand-horizontal\",\n      \"code\": 985166,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 459H625V334L791 500 625 666V541H375V666L209 500 375 334V459ZM84 834V166H166V834H84ZM834 834V166H916V834H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"fc24a30415d9042fc9fe9b54d0e290ef\",\n      \"css\": \"arrow-expand-vertical\",\n      \"code\": 985167,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375V625H666L500 791 334 625H459V375H334L500 209 666 375H541ZM166 84H834V166H166V84ZM166 834H834V916H166V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-expand-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"1bec787fe3ccc69a0975fc76015b4ec2\",\n      \"css\": \"augmented-reality\",\n      \"code\": 985168,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM291 375H416Q435.5 375 447.3 387.7T459 416V625H396.5V562.5H312.5V625H250V416Q250 400.4 261.7 387.7T291 375ZM541 375H687.5Q714.8 375 732.4 392.6T750 437.5V478.5Q750 498 739.3 513.7T712.9 537.1L750 625H687.5L652.3 541H603.5V625H541V375ZM312.5 437.5V500H396.5V437.5H312.5ZM603.5 437.5V478.5H687.5V437.5H603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"augmented-reality\"\n      ]\n    },\n    {\n      \"uid\": \"df13e7a541d2c30c93bce68a71f0d392\",\n      \"css\": \"badminton\",\n      \"code\": 985169,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M511.7 84Q482.4 84 461.9 106.4T441.4 158.2Q443.4 173.8 449.2 187.5L460.9 214.8Q462.9 218.8 460.9 222.7T454.1 228.5 443.4 224.6L425.8 201.2Q404.3 171.9 369.1 171.9 337.9 171.9 316.4 192.4T293.9 241.2 310.5 291L328.1 312.5Q334 322.3 327.1 327.1T314.5 328.1L291 310.5Q269.5 293 241.2 293.9T192.4 316.4 171.9 369.1Q171.9 404.3 201.2 425.8L224.6 443.4Q228.5 447.3 228.5 451.2T223.6 459 212.9 460.9L187.5 449.2Q171.9 443.4 158.2 441.4 128.9 441.4 106.4 461.9T84 513.7Q84 535.2 95.7 554.7T127 582L601.6 793 793 601.6 582 127Q574.2 107.4 554.7 94.7T511.7 84ZM546.9 253.9Q560.5 253.9 571.3 260.7T587.9 279.3L714.8 564.5 548.8 400.4 511.7 312.5Q502 293 513.7 273.4T546.9 253.9ZM410.2 369.1Q427.7 369.1 439.5 380.9L640.6 582Q652.3 593.8 653.3 610.4T641.6 639.6 611.3 652.3 582 640.6L380.9 439.5Q369.1 427.7 369.1 410.2T380.9 380.9 410.2 369.1ZM296.9 507.8Q304.7 507.8 312.5 511.7L400.4 550.8 564.5 714.8 279.3 587.9Q259.8 578.1 255.9 558.6T263.7 522.5 296.9 507.8ZM845.7 668L668 845.7 703.1 880.9Q726.6 904.3 758.8 913.1T823.2 913.1 879.9 879.9 913.1 823.2 913.1 758.8 880.9 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badminton\"\n      ]\n    },\n    {\n      \"uid\": \"272f675aa473ec137809d6dc087113fa\",\n      \"css\": \"baseball\",\n      \"code\": 985170,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q423.8 84 354.5 109.4T228.5 183.6Q255.9 205.1 283.2 240.2L328.1 212.9 371.1 287.1 328.1 310.5Q365.2 380.9 373 459H416V541H373Q365.2 619.1 328.1 689.5L371.1 712.9 328.1 787.1 283.2 759.8Q255.9 794.9 228.5 816.4 285.2 865.2 354.5 890.6T500 916 645.5 890.6 771.5 816.4Q746.1 796.9 716.8 759.8L671.9 787.1 628.9 712.9 671.9 689.5Q634.8 619.1 627 541H584V459H627Q634.8 380.9 671.9 310.5L628.9 287.1 671.9 212.9 716.8 240.2Q746.1 203.1 771.5 183.6 714.8 134.8 645.5 109.4T500 84ZM171.9 244.1Q84 357.4 84 500T171.9 755.9Q189.5 742.2 210.9 716.8L185.5 703.1 226.6 630.9 255.9 648.4Q281.3 597.7 289.1 541H250V459H289.1Q281.3 402.3 255.9 351.6L226.6 369.1 185.5 296.9 210.9 283.2Q189.5 257.8 171.9 244.1ZM828.1 244.1Q810.5 257.8 789.1 283.2L814.5 296.9 773.4 369.1 744.1 351.6Q718.8 402.3 710.9 459H750V541H710.9Q718.8 597.7 744.1 648.4L773.4 630.9 814.5 703.1 789.1 716.8Q810.5 742.2 828.1 755.9 916 642.6 916 500T828.1 244.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baseball\"\n      ]\n    },\n    {\n      \"uid\": \"9844885caa3351194806177e1cf54e15\",\n      \"css\": \"baseball-bat\",\n      \"code\": 985171,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84Q818.4 84 804.7 95.7L408.2 492.2 300.8 638.7 166 775.4 154.3 761.7Q140.6 750 124 750T95.7 761.7 84 791 95.7 820.3L179.7 904.3Q191.4 918 208 918T237.3 906.3 250 877 238.3 845.7L224.6 834 359.4 699.2 507.8 591.8 904.3 195.3Q916 183.6 916 166T904.3 136.7L863.3 95.7Q849.6 84 834 84ZM771.5 541Q728.5 541 697.3 572.3T666 646.5 697.3 719.7 771.5 750 844.7 719.7 875 646.5 844.7 572.3 771.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baseball-bat\"\n      ]\n    },\n    {\n      \"uid\": \"940f2c10d0a965eef4cc24e463616942\",\n      \"css\": \"bottle-wine\",\n      \"code\": 985172,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 916Q398.4 916 386.7 904.3T375 875V459Q375 398.4 400.4 348.6T459 291V103.5Q459 95.7 464.8 89.8T478.5 84H521.5Q529.3 84 535.2 89.8T541 103.5V291Q574.2 298.8 599.6 348.6T625 459V875Q625 892.6 613.3 904.3T584 916H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-wine\"\n      ]\n    },\n    {\n      \"uid\": \"339702e0873b0d10c166314190d50142\",\n      \"css\": \"check-outline\",\n      \"code\": 985173,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 91.8L1000 267.6 351.6 916 0 564.5 175.8 388.7 351.6 564.5ZM824.2 209L351.6 681.6 175.8 507.8 117.2 564.5 351.6 798.8 882.8 267.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"289df83c6d2b167c5f19d032b7950d9e\",\n      \"css\": \"checkbox-intermediate\",\n      \"code\": 985174,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM709 709H291V291H709V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-intermediate\"\n      ]\n    },\n    {\n      \"uid\": \"f54e8267d6c5eefe29f5b6b76c7b71a3\",\n      \"css\": \"chess-king\",\n      \"code\": 985175,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 916H209V834H791V916ZM709 416Q664.1 416 625 438.5T564.5 500H541V291H666V209H541V84H459V209H334V291H459V500H435.5Q400.4 439.5 334 421.9T208 438.5 129.9 540 146.5 666Q169.9 705.1 208 727.5T291 750H709Q777.3 750 826.2 701.2T875 583 826.2 464.8 709 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chess-king\"\n      ]\n    },\n    {\n      \"uid\": \"631bf15f1107f94aefb8a5e1c6fb7966\",\n      \"css\": \"chess-knight\",\n      \"code\": 985176,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 916H209V834H791V916ZM541 84V84Q502 84 467.8 101.6T412.1 152.3L291 334 375 416 460.9 359.4Q474.6 349.6 492.2 353.5T519.5 371.1L521.5 375Q529.3 392.6 526.4 413.1T509.8 449.2L308.6 648.4Q291 666 292 690.4T309.6 732.4 351.6 750H709V250Q709 181.6 660.2 132.8T541 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chess-knight\"\n      ]\n    },\n    {\n      \"uid\": \"d96f748ab5302c38cbba1e32559b4d20\",\n      \"css\": \"chess-pawn\",\n      \"code\": 985177,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 916H209V834H791V916ZM666 750H334L423.8 416H334V334H447.3L449.2 322.3Q404.3 302.7 384.8 256.8T383.8 163.1 450.2 93.8 545.9 91.8 614.3 158.2 616.2 252.9 550.8 322.3L552.7 334H666V416H576.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chess-pawn\"\n      ]\n    },\n    {\n      \"uid\": \"ac52040ac46695428f082d03e741a45c\",\n      \"css\": \"chess-queen\",\n      \"code\": 985178,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 125Q785.2 125 809.6 149.4T834 209Q834 232.4 820.3 252.9T785.2 283.2L709 548.8V750H291V548.8L214.8 283.2Q193.4 273.4 179.7 252.9T166 209Q166 173.8 190.4 149.4T250 125 309.6 149.4 334 207 312.5 261.7L429.7 388.7 451.2 234.4Q416 209 416 166 416 132.8 440.4 108.4T500 84 559.6 108.4 584 166Q584 209 548.8 234.4L570.3 388.7 685.5 261.7Q666 238.3 666 209 666 173.8 690.4 149.4T750 125ZM209 834H791V916H209V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chess-queen\"\n      ]\n    },\n    {\n      \"uid\": \"9239d82ce250e49b0511250539b9a986\",\n      \"css\": \"chess-rook\",\n      \"code\": 985179,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834H791V916H209V834ZM709 84V209H625V84H541V209H459V84H375V209H291V84H209V334H291V750H709V334H791V84H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chess-rook\"\n      ]\n    },\n    {\n      \"uid\": \"e4cf81afcccea52b2be67a9117139205\",\n      \"css\": \"chess-bishop\",\n      \"code\": 985180,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 916H209V834H791V916ZM714.8 343.8Q783.2 431.6 791 541 791 597.7 752 645.5T646.5 721.7 500 750 353.5 721.7 248 645.5 209 541Q209 490.2 239.3 422.9T318.4 302.7Q375 242.2 435.5 218.8 416 197.3 416 166 416 132.8 440.4 108.4T500 84 559.6 108.4 584 166Q584 197.3 564.5 218.8 619.1 240.2 660.2 281.3L470.7 470.7 529.3 529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chess-bishop\"\n      ]\n    },\n    {\n      \"uid\": \"09630fa9a9f7105e2f2bd51ff1aa4875\",\n      \"css\": \"clipboard-pulse\",\n      \"code\": 985181,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM209 560.5H298.8L437.5 294.9 476.6 585.9 580.1 453.1 689.5 560.5H791V625H662.1L585.9 550.8 431.6 746.1 400.4 505.9 337.9 625H209V560.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-pulse\"\n      ]\n    },\n    {\n      \"uid\": \"781417636c529ceeae701ed01e720e16\",\n      \"css\": \"clipboard-pulse-outline\",\n      \"code\": 985182,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM209 625H337.9L400.4 505.9 431.6 746.1 585.9 550.8 662.1 625H791V791H209V625ZM791 560.5H689.5L580.1 453.1 476.6 585.9 437.5 294.9 298.8 560.5H209V209H291V250H709V209H791V560.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-pulse-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cc8aebbb69881c9da3566aa1d4424446\",\n      \"css\": \"comment-multiple\",\n      \"code\": 985183,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959Q482.4 959 470.7 946.3T459 916V791H291Q257.8 791 233.4 766.6T209 709V291Q209 257.8 233.4 233.4T291 209H875Q910.2 209 934.6 233.4T959 291V709Q959 742.2 934.6 766.6T875 791H705.1L550.8 945.3Q537.1 959 521.5 959H500ZM125 625H41V125Q41 89.8 65.4 65.4T125 41H791V125H125V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"c0ac9b70e9709b917f54e7d43601bc38\",\n      \"css\": \"comment-text-multiple\",\n      \"code\": 985184,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625H41V125Q41 89.8 65.4 65.4T125 41H791V125H125V625ZM500 959Q482.4 959 470.7 946.3T459 916V791H291Q257.8 791 233.4 766.6T209 709V291Q209 257.8 233.4 233.4T291 209H875Q910.2 209 934.6 233.4T959 291V709Q959 742.2 934.6 766.6T875 791H705.1L550.8 945.3Q537.1 959 521.5 959H500ZM375 375V459H791V375H375ZM375 541V625H709V541H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-text-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ce4515e8b6195d64aaa59dbeb4146a6d\",\n      \"css\": \"comment-text-multiple-outline\",\n      \"code\": 985185,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959Q482.4 959 470.7 946.3T459 916V791H291Q257.8 791 233.4 766.6T209 709V291Q209 257.8 233.4 233.4T291 209H875Q910.2 209 934.6 233.4T959 291V709Q959 742.2 934.6 766.6T875 791H705.1L550.8 945.3Q537.1 959 521.5 959H500ZM541 709V835.9L669.9 709H875V291H291V709H541ZM125 625H41V125Q41 89.8 65.4 65.4T125 41H791V125H125V625ZM375 375H791V459H375V375ZM375 541H709V625H375V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-text-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a74ffb4ec7e3952a13d654745ab360a3\",\n      \"css\": \"crane\",\n      \"code\": 985186,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250V209Q834 191.4 821.3 178.7T791 166H375V125H250V166H209V250H250V625H209V541H125V625H84V709H125V875H209V709H416V875H500V709H541V625H500V541H416V625H375V250H709V443.4Q693.4 447.3 683.6 460.9T673.8 490.2Q673.8 519.5 699.2 533.2V584H726.6Q736.3 584 744.1 590.8T752 608.4 744.1 627 723.6 634.8 704.1 624 687.5 610.4 668.9 612.3 657.2 627.9 658.2 648.4Q669.9 666 687.5 675.8T726.6 685.5Q757.8 685.5 780.3 663.1T802.7 609.4Q802.7 584 788.1 564.5T752 537.1V533.2Q777.3 519.5 777.3 490.2T750 445.3V250H834ZM334 568.4L291 611.3V550.8L334 509.8V568.4ZM334 445.3L291 488.3V429.7L334 386.7V445.3ZM291 363.3V304.7L334 261.7V320.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crane\"\n      ]\n    },\n    {\n      \"uid\": \"90b24768cb74e536925c5682b996c834\",\n      \"css\": \"curling\",\n      \"code\": 985187,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 125V209Q502 209 541 210.9 589.8 214.8 613.3 224.6 642.6 238.3 677.7 291H209V375H818.4L787.1 314.5Q752 246.1 722.7 209 689.5 168 646.5 150.4 609.4 132.8 556.6 127 521.5 125 437.5 125H416ZM250 459Q179.7 459 131.8 506.8T84 625V750Q84 820.3 131.8 868.2T250 916H750Q820.3 916 868.2 868.2T916 750V625Q916 554.7 868.2 506.8T750 459H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"curling\"\n      ]\n    },\n    {\n      \"uid\": \"273546a950510eb1b1f3a03ee41b140b\",\n      \"css\": \"currency-bdt\",\n      \"code\": 985188,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M753.9 437.5V375H400.4V187.5Q400.4 162.1 381.8 143.6T336.9 125 293 143.6 275.4 187.5 293 231.4 337.9 250V375H212.9V437.5H337.9V695.3Q337.9 769.5 389.6 822.3T514.6 874 638.7 821.3 687.5 695.3Q687.5 646.5 665 601.6T603.5 525.4Q589.8 513.7 575.2 506.8T544.9 500Q523.4 500 504.9 511.7T474.6 542 462.9 584Q462.9 617.2 487.3 641.6T546.9 666Q585.9 666 611.3 632.8 625 662.1 625 695.3 627 742.2 594.7 776.4T514.6 811.5 432.6 778.3 400.4 695.3V437.5H753.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-bdt\"\n      ]\n    },\n    {\n      \"uid\": \"c7ced7dfdeefdb518b6229f16ac3b827\",\n      \"css\": \"currency-kzt\",\n      \"code\": 985189,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791V209H209V125ZM209 250H791V334H541V875H459V334H209V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-kzt\"\n      ]\n    },\n    {\n      \"uid\": \"2661a02e909f85985247780f26abd2fa\",\n      \"css\": \"database-search\",\n      \"code\": 985190,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M779.3 513.7Q722.7 459 645.5 459T513.7 513.7 459 646.5 513.7 779.3Q560.5 824.2 625 832T746.1 804.7L875 933.6 933.6 875 804.7 746.1Q839.8 689.5 832 625T779.3 513.7ZM718.8 718.8Q689.5 750 646.5 750T572.3 719.7 541 646.5 572.3 572.3 646.5 541 719.7 572.3 750 646.5 718.8 718.8ZM455.1 837.9Q412.1 794.9 392.6 740.2 293 724.6 229.5 680.7T166 584V709Q166 753.9 210.9 792T333 852.5 500 875V875Q474.6 857.4 455.1 837.9ZM166 375V500Q166 552.7 223.6 594.7T375 654.3V646.5Q375 587.9 398.4 533.2 296.9 517.6 231.4 473.6T166 375ZM500 125Q410.2 125 333 147.5T210.9 208 166 291Q166 353.5 248 401.4T451.2 459H455.1Q492.2 418 542 396.5T647.5 375 755.9 398.4Q787.1 382.8 808.6 354.5T834 291Q834 246.1 789.1 208T667 147.5 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-search\"\n      ]\n    },\n    {\n      \"uid\": \"096099d2460d59b83d1b96bf562bd10c\",\n      \"css\": \"dice-d12-outline\",\n      \"code\": 985191,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L62.5 402.3 228.5 916H771.5L937.5 402.3ZM709 834H291L160.2 433.6 500 185.5 839.8 433.6ZM709 656.3V709H486.3V662.1L523.4 623Q568.4 578.1 595.7 543 634.8 494.1 634.8 472.7T623 439.5Q615.2 429.7 601.6 427.7H591.8Q570.3 427.7 555.7 443.4T541 480.5H476.6Q478.5 435.5 512.7 404.3T593.8 375Q660.2 375 685.5 416 699.2 437.5 699.2 470.7 699.2 517.6 632.8 591.8 599.6 628.9 566.4 656.3V656.3H709ZM437.5 709H371.1V453.1L291 478.5V423.8L429.7 375H437.5V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d12-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8defe162fc9de62708987ce4c21c008b\",\n      \"css\": \"docker\",\n      \"code\": 985192,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 427.7V425.8Q882.8 408.2 839.8 408.2 824.2 408.2 804.7 412.1 800.8 375 773.4 345.7 759.8 332 746.1 324.2L734.4 316.4 726.6 328.1Q709 351.6 705.1 377 693.4 427.7 718.8 468.8 705.1 476.6 683.6 480.5 668 484.4 658.2 484.4H109.4Q97.7 484.4 90.8 492.2T84 509.8Q84 585.9 107.4 650.4 134.8 724.6 191.4 759.8 253.9 798.8 375 798.8 425.8 798.8 476.6 789.1 546.9 777.3 609.4 742.2 660.2 710.9 699.2 666 750 609.4 787.1 513.7H794.9Q853.5 513.7 888.7 478.5 904.3 464.8 914.1 443.4L916 433.6ZM160.2 468.8H234.4Q240.2 468.8 240.2 460.9V396.5Q240.2 388.7 234.4 388.7H160.2Q154.3 388.7 154.3 396.5V460.9Q154.3 468.8 160.2 468.8ZM261.7 468.8H335.9Q341.8 468.8 341.8 460.9V396.5Q341.8 388.7 335.9 388.7H261.7Q255.9 388.7 255.9 396.5V460.9Q255.9 468.8 261.7 468.8ZM365.2 468.8H437.5Q445.3 468.8 445.3 460.9V396.5Q445.3 388.7 437.5 388.7H365.2Q357.4 388.7 357.4 396.5V460.9Q357.4 468.8 365.2 468.8ZM466.8 468.8H539.1Q546.9 468.8 546.9 460.9V396.5Q546.9 388.7 539.1 388.7H466.8Q460.9 388.7 460.9 396.5V460.9Q460.9 468.8 466.8 468.8ZM261.7 375H335.9Q337.9 375 339.8 373T341.8 367.2V302.7Q341.8 294.9 335.9 294.9H261.7Q255.9 294.9 255.9 302.7V367.2Q255.9 375 261.7 375ZM365.2 375H437.5Q445.3 375 445.3 367.2V302.7Q445.3 294.9 437.5 294.9H365.2Q357.4 294.9 357.4 302.7V367.2Q357.4 375 365.2 375ZM466.8 375H539.1Q546.9 375 546.9 367.2V302.7Q546.9 294.9 539.1 294.9H466.8Q460.9 294.9 460.9 302.7V367.2Q460.9 375 466.8 375ZM466.8 279.3H539.1Q546.9 279.3 546.9 273.4V209Q546.9 201.2 539.1 201.2H466.8Q460.9 201.2 460.9 209V273.4Q460.9 279.3 466.8 279.3ZM568.4 468.8H642.6Q648.4 468.8 648.4 460.9V396.5Q648.4 388.7 642.6 388.7H568.4Q562.5 388.7 562.5 396.5V460.9Q562.5 468.8 568.4 468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"docker\"\n      ]\n    },\n    {\n      \"uid\": \"669b8574c4a155132b56e47ec6c18a60\",\n      \"css\": \"doorbell-video\",\n      \"code\": 985193,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 625Q584 660.2 559.6 684.6T500 709 440.4 684.6 416 625 440.4 565.4 500 541 559.6 565.4 584 625ZM750 166V834Q750 867.2 725.6 891.6T666 916H334Q298.8 916 274.4 891.6T250 834V166Q250 132.8 274.4 108.4T334 84H666Q701.2 84 725.6 108.4T750 166ZM437.5 291Q437.5 318.4 456.1 335.9T500 353.5 543.9 335.9 562.5 292 543.9 247.1 500 228.5 456.1 247.1 437.5 291ZM666 416H334V834H666V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"doorbell-video\"\n      ]\n    },\n    {\n      \"uid\": \"da38fb9f6e6f8c92f9571f4bca8f037a\",\n      \"css\": \"ethereum\",\n      \"code\": 985194,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 72.3L240.2 509.8 500 666 759.8 509.8ZM240.2 562.5L500 927.7 759.8 562.5 500 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ethereum\"\n      ]\n    },\n    {\n      \"uid\": \"e9b9306209b6566ec8cf7b4f9ef383b0\",\n      \"css\": \"eye-plus\",\n      \"code\": 985195,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 187.5Q345.7 187.5 220.7 274.4T41 500Q95.7 638.7 220.7 725.6T500 812.5Q529.3 812.5 544.9 810.5 541 789.1 541 771.5 541 736.3 550.8 701.2 523.4 709 500 709 443.4 709 395.5 680.7T319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500Q709 517.6 705.1 537.1 746.1 521.5 791 521.5 867.2 521.5 929.7 562.5 947.3 529.3 959 500 904.3 361.3 779.3 274.4T500 187.5ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM750 603.5V728.5H625V812.5H750V937.5H834V812.5H959V728.5H834V603.5H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-plus\"\n      ]\n    },\n    {\n      \"uid\": \"118f835b3b1a2d0cc19cc1feda36e9bd\",\n      \"css\": \"eye-plus-outline\",\n      \"code\": 985196,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 187.5Q345.7 187.5 220.7 274.4T41 500Q95.7 638.7 220.7 725.6T500 812.5Q529.3 812.5 544.9 810.5 541 789.1 541 769.5T544.9 726.6Q515.6 728.5 500 728.5 382.8 728.5 283.2 667T132.8 500Q183.6 394.5 283.2 333T500 271.5 716.8 333 867.2 500L851.6 529.3Q894.5 539.1 929.7 562.5 947.3 529.3 959 500 904.3 361.3 779.3 274.4T500 187.5ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM750 603.5V728.5H625V812.5H750V937.5H834V812.5H959V728.5H834V603.5H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b82943c2323457f1a8565b88fac4a8bd\",\n      \"css\": \"eye-settings\",\n      \"code\": 985197,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM500 709Q443.4 709 395.5 680.7T319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709ZM500 187.5Q347.7 187.5 222.7 273.4T41 500Q89.8 625 193.4 706.1T426.8 806.6 679.7 777.3Q775.4 740.2 847.7 668T959 500Q902.3 359.4 777.3 273.4T500 187.5ZM291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-settings\"\n      ]\n    },\n    {\n      \"uid\": \"5c6cf39f5dcb16f613d98bb5b330eb09\",\n      \"css\": \"eye-settings-outline\",\n      \"code\": 985198,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM500 187.5Q652.3 187.5 777.3 273.4T959 500Q910.2 625 806.6 706.1T573.2 806.6 320.3 777.3Q224.6 740.2 152.3 668T41 500Q97.7 359.4 222.7 273.4T500 187.5ZM132.8 500Q181.6 599.6 272.5 660.2T471.7 728.5 679.7 687.5Q742.2 658.2 790 609.4T867.2 500Q818.4 400.4 727.5 339.8T528.3 271.5 320.3 312.5Q257.8 341.8 210 390.6T132.8 500ZM375 916H291V1000H375V916ZM541 916H459V1000H541V916ZM709 916H625V1000H709V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dcaa2d3e190f506d05c2216d2725bb3a\",\n      \"css\": \"file-question\",\n      \"code\": 985199,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM500 459Q552.7 459 588.9 495.1T625 584Q625 609.4 609.4 632.8 599.6 644.5 576.2 665T544.9 697.3Q531.3 716.8 531.3 740.2H468.8Q468.8 701.2 486.3 675.8 498 660.2 523.4 640.6 543 625 550.8 617.2 562.5 601.6 562.5 584 562.5 556.6 543.9 539.1T500 521.5 456.1 539.1 437.5 584H375Q375 531.3 411.1 495.1T500 459ZM468.8 771.5H531.3V834H468.8V771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-question\"\n      ]\n    },\n    {\n      \"uid\": \"5e16a824579283ec53fc07e8d2cafd23\",\n      \"css\": \"folder-network\",\n      \"code\": 985200,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625V209Q125 173.8 149.4 149.4T209 125H459L541 209H791Q826.2 209 850.6 233.4T875 291V625Q875 660.2 850.6 684.6T791 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H209Q173.8 709 149.4 684.6T125 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-network\"\n      ]\n    },\n    {\n      \"uid\": \"af745b64c55080676b4c639d8e8a79ca\",\n      \"css\": \"function-variant\",\n      \"code\": 985201,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M517.6 220.7Q482.4 216.8 456.1 239.3T427.7 296.9L416 416H533.2V500H408.2L390.6 710.9Q384.8 779.3 332 824.2T210.9 863.3Q169.9 859.4 136.7 838.9T84 785.2L146.5 722.7Q156.3 755.9 186.5 771.5T250 775.4Q273.4 769.5 290 749T308.6 703.1L326.2 500H201.2V416H334L343.8 289.1Q349.6 220.7 402.3 175.8T525.4 136.7Q564.5 140.6 598.6 161.1T652.3 214.8L589.8 277.3Q582 253.9 562.5 238.3T517.6 220.7ZM916 568.4L857.4 509.8 740.2 627 623 509.8 562.5 568.4 681.6 687.5 562.5 804.7 623 863.3 740.2 746.1 857.4 863.3 916 804.7 798.8 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"function-variant\"\n      ]\n    },\n    {\n      \"uid\": \"0d3c4784f7f313afab36722d35f2d2bf\",\n      \"css\": \"garage-alert\",\n      \"code\": 985202,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 834H625V459H209V834H125V375L416 209 709 375V834ZM250 500H584V584H250V500ZM250 625H584V709H250V625ZM791 625V416H875V625H791ZM791 791V709H875V791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"garage-alert\"\n      ]\n    },\n    {\n      \"uid\": \"7453f476d505399dcf300ccf35bb82eb\",\n      \"css\": \"gauge-empty\",\n      \"code\": 985203,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 574.2 195.3 638.7T279.3 750Q322.3 709 379.9 687.5T500 666Q625 666 720.7 750 775.4 703.1 804.7 638.7T834 500Q834 410.2 789.1 333T667 210.9 500 166ZM584 250Q601.6 250 613.3 261.7T625 291 613.3 321.3 584 334 553.7 321.3 541 291 553.7 261.7 584 250ZM416 250Q433.6 250 446.3 261.7T459 291 446.3 321.3 416 334 386.7 321.3 375 291 386.7 261.7 416 250ZM287.1 373Q293 373 302.7 375L449.2 435.5Q466.8 421.9 489.3 418T531.3 423.8Q562.5 435.5 576.2 467.8T577.1 531.3 532.2 576.2 468.8 576.2Q447.3 568.4 433.6 550.8T416 511.7L271.5 453.1Q255.9 447.3 249 430.7T248 398.4Q253.9 386.7 264.6 379.9T287.1 373V373ZM709 375Q726.6 375 738.3 386.7T750 416 738.3 446.3 709 459 678.7 446.3 666 416 678.7 386.7 709 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gauge-empty\"\n      ]\n    },\n    {\n      \"uid\": \"8a25fae68fbab7948a4eafb0af0363c9\",\n      \"css\": \"gauge-full\",\n      \"code\": 985204,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500Q834 574.2 804.7 638.7T720.7 750Q677.7 709 620.1 687.5T500 666Q375 666 279.3 750 224.6 703.1 195.3 638.7T166 500Q166 410.2 210.9 333T333 210.9 500 166ZM416 250Q398.4 250 386.7 261.7T375 291 386.7 321.3 416 334 446.3 321.3 459 291 446.3 261.7 416 250ZM584 250Q566.4 250 553.7 261.7T541 291 553.7 321.3 584 334 613.3 321.3 625 291 613.3 261.7 584 250ZM712.9 373Q707 373 697.3 375L550.8 435.5Q533.2 421.9 510.7 418T468.8 423.8Q437.5 435.5 423.8 467.8T422.9 531.3 467.8 576.2 531.3 576.2Q552.7 568.4 566.4 550.8T584 511.7L728.5 453.1Q744.1 447.3 751 430.7T752 398.4Q746.1 386.7 735.4 379.9T712.9 373ZM291 375Q273.4 375 261.7 386.7T250 416 261.7 446.3 291 459 321.3 446.3 334 416 321.3 386.7 291 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gauge-full\"\n      ]\n    },\n    {\n      \"uid\": \"92a2e829fcad1873df4b1611caca3ccc\",\n      \"css\": \"gauge-low\",\n      \"code\": 985205,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 574.2 195.3 638.7T279.3 750Q322.3 709 379.9 687.5T500 666Q625 666 720.7 750 775.4 703.1 804.7 638.7T834 500Q834 410.2 789.1 333T667 210.9 500 166ZM416 246.1Q427.7 246.1 438.5 252.9T455.1 273.4L511.7 416Q535.2 419.9 551.8 434.6T578.1 468.8Q589.8 502 576.2 533.2T530.3 577.1 466.8 576.2 421.9 531.3Q414.1 509.8 418 488.3T435.5 449.2L377 302.7Q369.1 287.1 376 271.5T400.4 248Q406.3 246.1 416 246.1V246.1ZM584 250Q601.6 250 613.3 261.7T625 291 613.3 321.3 584 334 553.7 321.3 541 291 553.7 261.7 584 250ZM709 375Q726.6 375 738.3 386.7T750 416 738.3 446.3 709 459 678.7 446.3 666 416 678.7 386.7 709 375ZM291 375Q308.6 375 321.3 386.7T334 416 321.3 446.3 291 459 261.7 446.3 250 416 261.7 386.7 291 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gauge-low\"\n      ]\n    },\n    {\n      \"uid\": \"0f06957409b5acffc41c2c2ae9501f45\",\n      \"css\": \"glass-wine\",\n      \"code\": 985206,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 886.7L611.3 882.8Q587.9 880.9 568.4 866.2T541 828.1Q507.8 703.1 541 578.1 615.2 562.5 662.1 505.9T709 375Q709 337.9 687.5 261.7 671.9 209 646.5 140.6L625 84H375L353.5 140.6Q328.1 209 312.5 261.7 291 337.9 291 375 291 449.2 337.9 506.8T459 580.1Q492.2 705.1 459 830.1 451.2 851.6 432.6 866.2T390.6 882.8L349.6 888.7Q341.8 890.6 337.9 897.5T334 916H666Q666 898.4 656.3 890.6 650.4 886.7 646.5 886.7V886.7ZM392.6 291L435.5 166H564.5L607.4 291H392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-wine\"\n      ]\n    },\n    {\n      \"uid\": \"397b4593e13342a18bc3bfd5220e824b\",\n      \"css\": \"graphql\",\n      \"code\": 985207,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 224.6L482.4 220.7 250 621.1Q265.6 634.8 269.5 654.3H730.5Q734.4 634.8 750 621.1L517.6 220.7ZM275.4 689.5L453.1 794.9Q472.7 775.4 500 775.4T546.9 794.9L724.6 689.5H275.4ZM500 916Q470.7 916 450.2 895.5T429.7 845.7L433.6 824.2 253.9 716.8Q234.4 742.2 203.1 742.2T151.4 721.7 130.9 671.9Q130.9 646.5 146.5 627.9T183.6 603.5V390.6Q158.2 386.7 140.6 367.2T123 319.3 143.6 270.5 193.4 250Q226.6 250 248 277.3L431.6 171.9 429.7 154.3Q429.7 125 450.2 104.5T500 84 549.8 104.5 570.3 154.3L568.4 171.9 752 277.3Q773.4 250 806.6 250 835.9 250 856.4 270.5T877 319.3 859.4 367.2 816.4 390.6V603.5Q837.9 609.4 853.5 627.9T869.1 671.9Q869.1 701.2 848.6 721.7T796.9 742.2 746.1 716.8L566.4 824.2 570.3 845.7Q570.3 875 549.8 895.5T500 916ZM449.2 203.1L261.7 310.5 263.7 320.3Q263.7 341.8 251 359.4T218.8 384.8L220.7 603.5ZM550.8 203.1L779.3 603.5 781.3 384.8Q761.7 377 749 359.4T736.3 320.3L738.3 310.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"graphql\"\n      ]\n    },\n    {\n      \"uid\": \"1e357308dd10e3d7fae8fb579f2dc2ad\",\n      \"css\": \"high-definition-box\",\n      \"code\": 985208,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM459 625H396.5V541H312.5V625H250V375H312.5V478.5H396.5V375H459V625ZM541 375H709Q726.6 375 738.3 386.7T750 416V584Q750 601.6 738.3 613.3T709 625H541V375ZM603.5 562.5H687.5V437.5H603.5V562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"high-definition-box\"\n      ]\n    },\n    {\n      \"uid\": \"d88f7c277eb194d9a76f84f68878e8ff\",\n      \"css\": \"hockey-puck\",\n      \"code\": 985209,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q386.7 209 291 228.5T139.6 281.3 84 354.5 139.6 427.7 291 480.5 500 500 709 480.5 860.4 427.7 916 354.5 860.4 281.3 709 228.5 500 209ZM84 490.2V687.5Q84 726.6 139.6 760.7T291 814.5 500 834 709 814.5 860.4 760.7 916 687.5V490.2Q877 517.6 822.3 535.2 687.5 584 500 584T177.7 535.2Q123 517.6 84 490.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hockey-puck\"\n      ]\n    },\n    {\n      \"uid\": \"8b3e4b0bb9baaad2de9c078b1be92f88\",\n      \"css\": \"hockey-sticks\",\n      \"code\": 985210,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M316.4 125L210.9 191.4 377 453.1 451.2 335.9ZM685.5 125L312.5 709H84V875H353.5L789.1 191.4ZM623 607.4L548.8 724.6 646.5 875H916V709H687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hockey-sticks\"\n      ]\n    },\n    {\n      \"uid\": \"f28bdaa61e2a8c5bf8b4dabf878fc89c\",\n      \"css\": \"home-alert\",\n      \"code\": 985211,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM541 750H459V666H541V750ZM541 584H459V375H541V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-alert\"\n      ]\n    },\n    {\n      \"uid\": \"13d9222dae0d88e973041c1ac18a575a\",\n      \"css\": \"image-plus\",\n      \"code\": 985212,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H587.9Q584 853.5 584 834 584 791 597.7 750H209L353.5 562.5 459 687.5 603.5 500 697.3 623Q759.8 584 834 584 853.5 584 875 587.9V209Q875 173.8 850.6 149.4T791 125H209ZM791 666V791H666V875H791V1000H875V875H1000V791H875V666H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-plus\"\n      ]\n    },\n    {\n      \"uid\": \"7fa8527c3f5811f2ee4a40dd37a6de4a\",\n      \"css\": \"jquery\",\n      \"code\": 985213,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M953.1 433.6Q910.2 470.7 855.5 479.5T748 469.7 659.2 408.2 614.3 309.6 624 202.1 685.5 115.2L707 99.6Q654.3 156.3 651.4 235.4T699.2 375 828.1 446.3 972.7 416ZM878.9 603.5Q814.5 658.2 732.4 672.9T572.3 659.2 439.5 565.4 371.1 418.9 384.8 258.8 476.6 125L515.6 97.7Q466.8 154.3 448.2 226.6T445.3 373 510.7 505.9 629.9 592.8 774.4 616.2 912.1 572.3ZM832 806.6Q740.2 884.8 626 904.3T401.4 883.8 214.8 752.9 119.1 546.9 138.7 322.3 269.5 136.7L316.4 103.5Q244.1 181.6 216.8 284.2T210.9 491.2 302.7 679.7 472.7 803.7 677.7 835 873 767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jquery\"\n      ]\n    },\n    {\n      \"uid\": \"0deac9a59b3b904e1fb9d0ab14da68bf\",\n      \"css\": \"lifebuoy\",\n      \"code\": 985214,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 642.6Q853.5 574.2 853.5 500T824.2 357.4L710.9 410.2Q728.5 453.1 728.5 500T710.9 589.8ZM642.6 175.8Q574.2 146.5 500 146.5T357.4 175.8L410.2 289.1Q453.1 271.5 500 271.5T591.8 289.1ZM175.8 357.4Q146.5 425.8 146.5 500T175.8 642.6L289.1 589.8Q271.5 546.9 271.5 500T289.1 408.2ZM357.4 824.2Q425.8 853.5 500 853.5T642.6 824.2L591.8 710.9Q546.9 728.5 500 728.5T410.2 710.9ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 334Q431.6 334 382.8 382.8T334 500 382.8 617.2 500 666 617.2 617.2 666 500 617.2 382.8 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lifebuoy\"\n      ]\n    },\n    {\n      \"uid\": \"8fd1f9ea238f7bc7c51759790bef0fe0\",\n      \"css\": \"mixed-reality\",\n      \"code\": 985215,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM343.8 625H406.3L447.3 482.4V625H509.8V375H416L375 517.6 334 375H240.2V625H302.7V482.4ZM562.5 375V625H625V541H673.8L709 625H771.5L732.4 537.1Q750 529.3 760.7 513.7T771.5 478.5V437.5Q771.5 410.2 752.9 392.6T709 375H562.5ZM625 437.5H709V478.5H625V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mixed-reality\"\n      ]\n    },\n    {\n      \"uid\": \"7263083eb99c950bb203acc5c8d6f100\",\n      \"css\": \"nativescript\",\n      \"code\": 985216,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 125H687.5Q765.6 125 820.3 179.7T875 312.5V687.5Q875 765.6 820.3 820.3T687.5 875H312.5Q234.4 875 179.7 820.3T125 687.5V312.5Q125 234.4 179.7 179.7T312.5 125ZM250 562.5V687.5Q250 712.9 268.6 731.4T312.5 750H375V437.5L625 750H687.5Q712.9 750 731.4 731.4T750 687.5V562.5Q750 537.1 768.6 518.6T812.5 500Q787.1 500 768.6 481.4T750 437.5V312.5Q750 287.1 731.4 268.6T687.5 250H625V562.5L375 250H312.5Q287.1 250 268.6 268.6T250 312.5V437.5Q250 462.9 231.4 481.4T187.5 500Q212.9 500 231.4 518.6T250 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nativescript\"\n      ]\n    },\n    {\n      \"uid\": \"f53a2029e039de92b6bf9749dc6935f0\",\n      \"css\": \"onepassword\",\n      \"code\": 985217,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q375 41 269.5 102.5T102.5 269.5 41 500 102.5 730.5 269.5 897.5 500 959 730.5 897.5 897.5 730.5 959 500 897.5 269.5 730.5 102.5 500 41ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM541 562.5Q541 582 552.7 598.6T584 621.1V750H416V496.1Q441.4 488.3 452.1 464.8T454.1 415 416 378.9V250H584V503.9Q564.5 509.8 552.7 526.4T541 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"onepassword\"\n      ]\n    },\n    {\n      \"uid\": \"6a0dcf68c4dbec680d69d67775f9dad4\",\n      \"css\": \"patreon\",\n      \"code\": 985218,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 99.6Q699.2 99.6 767.6 140.6T876 251 916 401.4 876 550.8 767.6 659.2 617.2 699.2 466.8 659.2 357.4 550.8 316.4 401.4 357.4 251 467.8 140.6 617.2 99.6ZM84 900.4H228.5V99.6H84V900.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"patreon\"\n      ]\n    },\n    {\n      \"uid\": \"4c216acc1c19cc3a676421733001ac5c\",\n      \"css\": \"close-circle-multiple-outline\",\n      \"code\": 985219,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M773.4 412.1L712.9 353.5 625 441.4 537.1 353.5 478.5 412.1 566.4 500 478.5 587.9 537.1 648.4 625 558.6 712.9 648.4 773.4 587.9 683.6 500ZM84 500Q84 414.1 129.9 342.8T250 236.3V146.5Q138.7 185.5 69.3 282.2T0 500 69.3 717.8 250 853.5V763.7Q175.8 728.5 129.9 657.2T84 500ZM625 125Q523.4 125 437.5 175.8T300.8 312.5 250 500 300.8 687.5 437.5 824.2 625 875 812.5 824.2 949.2 687.5 1000 500 949.2 312.5 812.5 175.8 625 125ZM625 791Q546.9 791 479.5 752T373 645.5 334 500 373 354.5 479.5 248 625 209 770.5 248 877 354.5 916 500 877 645.5 770.5 752 625 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-circle-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d04748b67da099fefe8bbd4fab23011b\",\n      \"css\": \"peace\",\n      \"code\": 985220,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM459 599.6V830.1Q367.2 818.4 294.9 763.7ZM541 599.6L705.1 763.7Q632.8 818.4 541 830.1V599.6ZM166 500Q166 418 204.1 345.7T309.6 226.6 459 169.9V482.4L236.3 705.1Q166 615.2 166 500ZM763.7 705.1L541 482.4V169.9Q623 179.7 690.4 226.6T795.9 345.7 834 500Q834 615.2 763.7 705.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"peace\"\n      ]\n    },\n    {\n      \"uid\": \"39b402f281b2301feb115ecf8aba4823\",\n      \"css\": \"phone-rotate-landscape\",\n      \"code\": 985221,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 41H125Q89.8 41 65.4 65.4T41 125V666Q41 701.2 65.4 725.6T125 750H375Q410.2 750 434.6 725.6T459 666V125Q459 89.8 434.6 65.4T375 41ZM375 625H125V125H375V625ZM875 541H541V625H875V875H375V834H250V875Q250 910.2 274.4 934.6T334 959H875Q910.2 959 934.6 934.6T959 875V625Q959 589.8 934.6 565.4T875 541ZM959 416L791 334 871.1 294.9Q834 209 755.9 156.3T584 103.5V41Q685.5 41 771.5 91.8T908.2 228.5 959 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-rotate-landscape\"\n      ]\n    },\n    {\n      \"uid\": \"96740bc402d1d7b2e50b6899f71f12e0\",\n      \"css\": \"phone-rotate-portrait\",\n      \"code\": 985222,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 41H125Q89.8 41 65.4 65.4T41 125V666Q41 701.2 65.4 725.6T125 750H166V625H125V125H375V459H459V125Q459 89.8 434.6 65.4T375 41ZM959 875V625Q959 589.8 934.6 565.4T875 541H334Q298.8 541 274.4 565.4T250 625V875Q250 910.2 274.4 934.6T334 959H875Q910.2 959 934.6 934.6T959 875ZM375 875V625H875V875H375ZM959 416H896.5Q896.5 322.3 843.8 244.1T705.1 128.9L666 209 584 41Q685.5 41 771.5 91.8T908.2 228.5 959 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-rotate-portrait\"\n      ]\n    },\n    {\n      \"uid\": \"c8bd8748a460c21a59f1ea43eece1738\",\n      \"css\": \"pier\",\n      \"code\": 985223,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750Q748 750 666 695.3 591.8 748 500 748T334 695.3Q252 750 166 750H84V834H166Q242.2 834 334 791 412.1 832 500 832T666 791Q757.8 834 834 834H916V750H834ZM834 541H791V705.1Q742.2 697.3 709 675.8V541H500V709Q460.9 709 416 695.3V541H209V705.1Q195.3 709 166 709H125V541H84V459H125V375H209V459H416V375H500V459H709V375H791V459H834V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pier\"\n      ]\n    },\n    {\n      \"uid\": \"5613416ffd349e5c17679057460c5ea6\",\n      \"css\": \"pier-crane\",\n      \"code\": 985224,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834Q746.1 834 666 777.3 589.8 832 500 832T334 777.3Q253.9 834 166 834H84V916H166Q252 916 334 875 412.1 916 500 916T666 875Q748 916 834 916H916V834H834ZM834 166V125Q834 107.4 821.3 95.7T791 84H375V41H250V84H209V166H250V541H209V459H125V541H84V625H125V791H166Q185.5 791 209 789.1V625H416V777.3Q457 789.1 500 789.1V625H541V541H500V459H416V541H375V166H709V359.4Q693.4 365.2 683.6 377.9T673.8 406.3Q673.8 435.5 699.2 451.2V500H726.6Q736.3 500 744.1 507.8T752 526.4 744.1 543.9 723.6 550.8 703.1 539.1Q697.3 529.3 687.5 526.4T668.9 529.3 657.2 544.9 658.2 564.5Q669.9 582 687.5 592.8T726.6 603.5Q757.8 603.5 780.3 581.1T802.7 525.4Q802.7 502 788.1 481.4T752 453.1V451.2Q777.3 435.5 777.3 406.3T750 363.3V166H834ZM334 486.3L291 527.3V468.8L334 425.8V486.3ZM334 363.3L291 404.3V345.7L334 304.7V363.3ZM291 279.3V220.7L334 179.7V238.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pier-crane\"\n      ]\n    },\n    {\n      \"uid\": \"0bd5a8a2f3987c3867b109d96b2b5a2e\",\n      \"css\": \"pipe-leak\",\n      \"code\": 985225,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209V541H166V459H416L500 375 416 291H166V209H84ZM834 209V291H500L584 375 500 459H834V541H916V209H834ZM500 541Q488.3 554.7 478.5 566.4 453.1 597.7 437.5 625 416 662.1 416 687.5 416 722.7 440.4 747.1T500 771.5 559.6 747.1 584 687.5Q584 662.1 562.5 625 546.9 597.7 521.5 566.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pipe-leak\"\n      ]\n    },\n    {\n      \"uid\": \"2638c5677aef1d9b252a144cfc0600e2\",\n      \"css\": \"piston\",\n      \"code\": 985226,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 673.8Q572.3 683.6 593.8 709H625V875H591.8Q570.3 898.4 541 908.2 505.9 921.9 469.7 912.1T408.2 875H375V709H406.3Q427.7 683.6 459 673.8V500H541V673.8ZM500 834Q517.6 834 529.3 821.3T541 791 529.3 761.7 500 750 470.7 761.7 459 791 470.7 821.3 500 834ZM709 166H625V209H709V459H291V209H375V166H291V84H709V166ZM500 375Q517.6 375 529.3 363.3T541 334 529.3 303.7 500 291 470.7 303.7 459 334 470.7 363.3 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"piston\"\n      ]\n    },\n    {\n      \"uid\": \"9676e35de62dd7575df24a6c0961c36b\",\n      \"css\": \"play-network\",\n      \"code\": 985227,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM416 584V250L625 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-network\"\n      ]\n    },\n    {\n      \"uid\": \"bb2576bee91051e62bab153f1e493fd1\",\n      \"css\": \"reminder\",\n      \"code\": 985228,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M302.7 125Q341.8 125 375 148.4V125Q375 89.8 399.4 65.4T458 41 516.6 65.4 541 125V148.4Q576.2 125 615.2 125 666 125 703.1 161.1T740.2 248 707 335 625 375H541V416H593.8L613.3 421.9 804.7 517.6Q855.5 537.1 855.5 593.8L853.5 599.6V605.5L812.5 886.7Q808.6 916 785.2 937.5T732.4 959H416Q382.8 959 357.4 933.6L84 660.2 127 615.2Q146.5 597.7 171.9 597.7H185.5L375 638.7V375H291Q244.1 371.1 210.9 335T177.7 248 213.9 161.1 302.7 125ZM375 250Q375 220.7 353.5 199.2T301.8 177.7 250 199.2 228.5 249 247.1 297.9 291 322.3V322.3H375V250ZM625 322.3V322.3Q652.3 318.4 669.9 297.9T687.5 249 666 199.2 614.3 177.7 562.5 199.2 541 250V322.3H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reminder\"\n      ]\n    },\n    {\n      \"uid\": \"6233e582067173b2fd74c3b7c9683fdf\",\n      \"css\": \"room-service\",\n      \"code\": 985229,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q535.2 209 559.6 233.4T584 291Q584 306.6 578.1 320.3 662.1 337.9 729.5 387.7T835.9 509.8 875 666H125Q125 582 164.1 509.8T270.5 387.7 421.9 320.3Q416 306.6 416 291 416 257.8 440.4 233.4T500 209ZM916 791H84V709H916V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"room-service\"\n      ]\n    },\n    {\n      \"uid\": \"0e8f73c2924ce1db210dc7980c661200\",\n      \"css\": \"salesforce\",\n      \"code\": 985230,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M765.6 265.6Q738.3 265.6 687.5 281.3L685.5 283.2Q664.1 244.1 626 221.7T543 199.2Q476.6 199.2 425.8 248 400.4 216.8 363.3 197.3T285.2 177.7Q210.9 177.7 157.2 229.5T103.5 353.5Q103.5 377 119.1 425.8L121.1 429.7Q85.9 449.2 63.5 484.4T41 562.5Q41 625 85.9 670.9T193.4 716.8Q216.8 716.8 226.6 712.9 238.3 761.7 281.3 792T378.9 822.3 474.6 793.9 531.3 720.7Q572.3 738.3 593.8 738.3 634.8 738.3 669.9 717.8T724.6 664.1Q736.3 666 761.7 666 843.8 666 901.4 608.4T959 466.8Q960.9 412.1 935.5 365.2T865.2 292 765.6 265.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"salesforce\"\n      ]\n    },\n    {\n      \"uid\": \"f7701087fa2ef010d8c9720d920474b4\",\n      \"css\": \"shield-account\",\n      \"code\": 985231,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM500 209Q552.7 209 588.9 245.1T625 333 588.9 421.9 500 459 411.1 421.9 375 333 411.1 245.1 500 209ZM712.9 709Q675.8 765.6 621.1 807.6T500 871.1Q433.6 849.6 378.9 807.6T287.1 709Q263.7 675.8 250 644.5 250 611.3 284.2 582T375 536.1 500 519.5Q603.5 519.5 676.8 555.7T750 644.5Q736.3 675.8 712.9 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-account\"\n      ]\n    },\n    {\n      \"uid\": \"6071356a3ec21b869ac22b1af1d58ab1\",\n      \"css\": \"teach\",\n      \"code\": 985232,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 709Q867.2 709 891.6 684.6T916 625V166Q916 132.8 891.6 108.4T834 84H394.5Q416 123 416 166H834V625H459V709H834ZM625 291V375H375V916H291V666H209V916H125V584H62.5V375Q62.5 339.8 86.9 315.4T146.5 291H625ZM334 166Q334 201.2 309.6 225.6T250 250 190.4 225.6 166 167 190.4 108.4 250 84 309.6 108.4 334 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"teach\"\n      ]\n    },\n    {\n      \"uid\": \"1a129b7c0539e0f65b26d0f0790113e1\",\n      \"css\": \"thermostat-box\",\n      \"code\": 985233,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM500 209Q597.7 209 673.8 267.6L584 357.4Q544.9 334 500 334 431.6 334 382.8 382.8T334 500 382.8 617.2L293 707Q253.9 666 231.4 612.3T209 500Q209 419.9 248 353.5T353.5 248 500 209ZM732.4 326.2Q791 402.3 791 500 791 558.6 768.6 612.3T707 707L617.2 617.2Q666 568.4 666 500 666 455.1 642.6 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermostat-box\"\n      ]\n    },\n    {\n      \"uid\": \"d3b31eb91224c246b35930448a1613e3\",\n      \"css\": \"tractor\",\n      \"code\": 985234,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166V468.8Q152.3 488.3 118.2 537.1T84 646.5Q84 724.6 138.7 779.3T271.5 834Q341.8 834 395.5 786.1T457 666H632.8Q625 687.5 625 709 625 759.8 661.1 796.9T750 834 838.9 796.9 875 709Q875 687.5 867.2 666H916V541Q916 507.8 891.6 483.4T834 459H627L568.4 166H209ZM291 250H500L541 459V584H447.3Q429.7 533.2 387.7 500T291 459V250ZM271.5 552.7Q310.5 552.7 337.9 580.1T365.2 646.5 337.9 712.9 271.5 740.2 205.1 712.9 177.7 646.5 205.1 580.1 271.5 552.7ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tractor\"\n      ]\n    },\n    {\n      \"uid\": \"4dfe104a8d641a7014785989aff02541\",\n      \"css\": \"vector-ellipse\",\n      \"code\": 985235,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 375V625H847.7Q818.4 691.4 759.8 741.2T625 814.5V916H375V814.5Q263.7 779.3 194.3 693.4T125 500Q125 410.2 175.8 333T312.5 210.9 500 166Q617.2 166 710.9 223.6T847.7 375H959ZM709 625V375H752Q714.8 318.4 647.5 284.2T500 250 353.5 283.2 248 374 209 500Q209 574.2 254.9 634.8T375 726.6V666H625V726.6Q707 693.4 752 625H709ZM791 541H875V459H791V541ZM459 834H541V750H459V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-ellipse\"\n      ]\n    },\n    {\n      \"uid\": \"e232df3048674fc8e90d07007de18e89\",\n      \"css\": \"virtual-reality\",\n      \"code\": 985236,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM250 375H312.5L353.5 517.6 396.5 375H459L384.8 625H322.3ZM541 375H687.5Q714.8 375 732.4 392.6T750 437.5V478.5Q750 498 739.3 513.7T712.9 537.1L750 625H687.5L652.3 541H603.5V625H541V375ZM603.5 437.5V478.5H687.5V437.5H603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"virtual-reality\"\n      ]\n    },\n    {\n      \"uid\": \"1cb9aec34f4bda8344e225b05ca99076\",\n      \"css\": \"watch-export-variant\",\n      \"code\": 985237,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 459H791L687.5 353.5 746.1 294.9 951.2 500 746.1 705.1 687.5 646.5 791 541H584V459ZM334 0H666L701.2 209H709Q724.6 209 740.2 214.8L664.1 291H291V709H664.1L740.2 785.2Q724.6 791 709 791H701.2L666 1000H334L298.8 791H291Q257.8 791 233.4 766.6T209 709V291Q209 257.8 233.4 233.4T291 209H298.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-export-variant\"\n      ]\n    },\n    {\n      \"uid\": \"e7dfec4922cfd01373c69b9e706dd8a3\",\n      \"css\": \"watch-import-variant\",\n      \"code\": 985238,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 459H250L146.5 353.5 205.1 294.9 410.2 500 205.1 705.1 146.5 646.5 250 541H41V459ZM334 0H666L701.2 209H709Q742.2 209 766.6 233.4T791 291V709Q791 742.2 766.6 766.6T709 791H701.2L666 1000H334L298.8 791H291Q259.8 791 234.4 767.6L294.9 709H709V291H294.9L234.4 232.4Q259.8 209 291 209H298.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-import-variant\"\n      ]\n    },\n    {\n      \"uid\": \"e4558bf933bc1079f66e56df429f3a09\",\n      \"css\": \"watch-variant\",\n      \"code\": 985239,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 0L298.8 209H291Q257.8 209 233.4 233.4T209 291V709Q209 742.2 233.4 766.6T291 791H298.8L334 1000H666L701.2 791H709Q742.2 791 766.6 766.6T791 709V291Q791 257.8 766.6 233.4T709 209H701.2L666 0H334ZM291 291H709V709H291V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-variant\"\n      ]\n    },\n    {\n      \"uid\": \"73523f79f34d8205b559a824c776eb15\",\n      \"css\": \"weather-hurricane\",\n      \"code\": 985240,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 283.2Q683.6 316.4 716.8 375T750 500Q750 617.2 697.3 703.1 654.3 777.3 574.2 826.2 509.8 867.2 425.8 890.6 365.2 906.3 302.7 914.1L250 916Q328.1 857.4 388.7 779.3L392.6 773.4Q400.4 757.8 395.5 741.2T375 716.8Q316.4 683.6 283.2 625T250 500Q250 382.8 302.7 296.9 345.7 222.7 425.8 173.8 490.2 132.8 574.2 109.4 634.8 93.8 697.3 85.9L750 84Q671.9 142.6 611.3 220.7L607.4 226.6Q599.6 242.2 604.5 258.8T625 283.2ZM500 584Q535.2 584 559.6 559.6T584 500 559.6 440.4 500 416 440.4 440.4 416 500 440.4 559.6 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-hurricane\"\n      ]\n    },\n    {\n      \"uid\": \"8c510cc958215e70a3c2db315e8076a9\",\n      \"css\": \"account-heart\",\n      \"code\": 985241,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584Q562.5 584 488.3 601.6 404.3 623 353.5 656.3 291 697.3 291 750V834H959V750Q959 697.3 896.5 656.3 845.7 623 761.7 601.6 687.5 584 625 584ZM625 500Q693.4 500 742.2 451.2T791 333 742.2 214.8 625 166 507.8 214.8 459 333 507.8 451.2 625 500ZM209 625L183.6 603.5 164.1 585.9Q97.7 523.4 76.2 496.1 41 451.2 41 413.1T68.4 347.7 132.8 320.3Q156.3 320.3 175.8 329.1T209 353.5Q220.7 337.9 241.2 329.1T283.2 320.3Q322.3 320.3 348.6 346.7T375 412.1 341.8 496.1Q318.4 523.4 252 585.9L232.4 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-heart\"\n      ]\n    },\n    {\n      \"uid\": \"96bf57de1387fd6c100fa11c12c18014\",\n      \"css\": \"alien\",\n      \"code\": 985242,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q601.6 125 687.5 169.9T824.2 291 875 456.1 804.7 648.4Q742.2 740.2 652.3 807.6T500 875 347.7 807.6 195.3 648.4Q125 544.9 125 456.1T175.8 291 312.5 169.9 500 125ZM429.7 455.1Q398.4 404.3 348.6 384.8T260.7 388.7 217.8 465.8 245.1 570.3 327.1 640.6 415 636.7 457 559.6 429.7 455.1ZM570.3 455.1Q539.1 505.9 543 559.6T585 636.7 672.9 640.6 754.9 570.3 782.2 465.8 739.3 388.7 651.4 384.8 570.3 455.1ZM500 740.2Q447.3 740.2 416 724.6 400.4 716.8 396.5 709V709Q396.5 712.9 404.3 730.5 416 755.9 435.5 769.5 462.9 791 500 791T564.5 769.5Q584 753.9 595.7 730.5L603.5 709 595.7 716.8Q584 726.6 564.5 732.4 537.1 740.2 500 740.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alien\"\n      ]\n    },\n    {\n      \"uid\": \"2980160720e9bf915adc869192ee7b87\",\n      \"css\": \"anvil\",\n      \"code\": 985243,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209V416Q484.4 484.4 414.1 564.5 365.2 617.2 250 666V791H875V666Q779.3 627 742.2 572.3 709 525.4 724.6 475.6T793 387.7 916 334V209H375ZM84 250Q134.8 386.7 291 416V250H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"anvil\"\n      ]\n    },\n    {\n      \"uid\": \"50ffe4006cab91235501571353599079\",\n      \"css\": \"battery-charging-10\",\n      \"code\": 985244,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M960.9 459H835.9V166L627 584H752V916ZM500 750H166L168 250H502ZM529.3 166H460.9V84H210.9V166H140.6Q117.2 166 101.6 182.6T85.9 222.7V861.3Q85.9 884.8 101.6 900.4T140.6 916H529.3Q552.7 916 569.3 900.4T585.9 861.3V222.7Q585.9 199.2 569.3 182.6T529.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-10\"\n      ]\n    },\n    {\n      \"uid\": \"bf44559c949b4b64113821ebaabeccdb\",\n      \"css\": \"battery-charging-70\",\n      \"code\": 985246,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416H166V250H500V416ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM959 459H834V166L625 584H750V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-70\"\n      ]\n    },\n    {\n      \"uid\": \"bca87c4c8ef85a2da88bef17dccbb38d\",\n      \"css\": \"battery-charging-outline\",\n      \"code\": 985247,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M960.9 459H835.9V166L627 584H752V916ZM500 834H166L168 250H502ZM529.3 166H460.9V84H210.9V166H140.6Q117.2 166 101.6 182.6T85.9 222.7V861.3Q85.9 884.8 101.6 900.4T140.6 916H529.3Q552.7 916 569.3 900.4T585.9 861.3V222.7Q585.9 199.2 569.3 182.6T529.3 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d042184f4c99910a8a412641a5c42fde\",\n      \"css\": \"bed-empty\",\n      \"code\": 985248,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H209V584H125V209H41V834H125V709H875V834H959V459Q959 388.7 910.2 339.8T791 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-empty\"\n      ]\n    },\n    {\n      \"uid\": \"f8048f1fdc5a2d0cf01ecac4249037d2\",\n      \"css\": \"border-all-variant\",\n      \"code\": 985249,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 875V125H875V875H125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-all-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6368e36f55b501bf207dd92a5d3ca232\",\n      \"css\": \"border-bottom-variant\",\n      \"code\": 985250,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 625H125V709H209V625ZM125 875H875V791H125V875ZM209 459H125V541H209V459ZM791 375H875V291H791V375ZM791 209H875V125H791V209ZM209 291H125V375H209V291ZM791 709H875V625H791V709ZM791 541H875V459H791V541ZM709 125H625V209H709V125ZM541 125H459V209H541V125ZM209 125H125V209H209V125ZM375 125H291V209H375V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-bottom-variant\"\n      ]\n    },\n    {\n      \"uid\": \"478e00878b1536f470d158a30303a46e\",\n      \"css\": \"border-left-variant\",\n      \"code\": 985251,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209H709V125H625V209ZM791 875H875V791H791V875ZM791 541H875V459H791V541ZM791 209H875V125H791V209ZM791 709H875V625H791V709ZM625 875H709V791H625V875ZM791 375H875V291H791V375ZM125 875H209V125H125V875ZM291 209H375V125H291V209ZM291 875H375V791H291V875ZM459 209H541V125H459V209ZM459 875H541V791H459V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-left-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6cbf18a3398d621731eac6c9d8c6e025\",\n      \"css\": \"border-none-variant\",\n      \"code\": 985252,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209H709V125H625V209ZM625 875H709V791H625V875ZM459 209H541V125H459V209ZM791 209H875V125H791V209ZM791 375H875V291H791V375ZM791 875H875V791H791V875ZM791 541H875V459H791V541ZM791 709H875V625H791V709ZM125 209H209V125H125V209ZM125 375H209V291H125V375ZM125 541H209V459H125V541ZM125 709H209V625H125V709ZM125 875H209V791H125V875ZM459 875H541V791H459V875ZM291 875H375V791H291V875ZM291 209H375V125H291V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-none-variant\"\n      ]\n    },\n    {\n      \"uid\": \"a191226f73a5b19dc94cee96258d31e3\",\n      \"css\": \"border-right-variant\",\n      \"code\": 985253,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 209H541V125H459V209ZM625 209H709V125H625V209ZM625 875H709V791H625V875ZM791 875H875V125H791V875ZM125 375H209V291H125V375ZM125 709H209V625H125V709ZM125 541H209V459H125V541ZM459 875H541V791H459V875ZM125 875H209V791H125V875ZM291 209H375V125H291V209ZM125 209H209V125H125V209ZM291 875H375V791H291V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-right-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ae4dbc40d458d503724a941033bcfa87\",\n      \"css\": \"border-top-variant\",\n      \"code\": 985254,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875H875V791H791V875ZM625 875H709V791H625V875ZM791 709H875V625H791V709ZM125 209H875V125H125V209ZM791 541H875V459H791V541ZM791 375H875V291H791V375ZM125 375H209V291H125V375ZM125 541H209V459H125V541ZM125 875H209V791H125V875ZM125 709H209V625H125V709ZM459 875H541V791H459V875ZM291 875H375V791H291V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"border-top-variant\"\n      ]\n    },\n    {\n      \"uid\": \"1e25ad84e7dd22d7693f2267ada2b361\",\n      \"css\": \"calendar-edit\",\n      \"code\": 985255,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H416V791H209V334H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM904.3 556.6L863.3 597.7 777.3 513.7 818.4 472.7Q824.2 466.8 834 466.8T851.6 472.7L904.3 525.4Q910.2 533.2 910.2 542T904.3 556.6ZM500 789.1L752 537.1 837.9 619.1 585.9 875H500V789.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-edit\"\n      ]\n    },\n    {\n      \"uid\": \"f79b4dc1ee8d760c43bce760148dff17\",\n      \"css\": \"clipboard-check-outline\",\n      \"code\": 985256,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM291 291H709V209H791V791H209V209H291V291ZM312.5 562.5L375 500 459 584 646.5 396.5 709 459 459 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3685b58991a3bdf2e298c05a93dea692\",\n      \"css\": \"console-network\",\n      \"code\": 985257,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709ZM291 291L459 459 291 625H410.2L546.9 488.3Q558.6 476.6 558.6 459T546.9 429.7L410.2 291H291ZM709 541H584V625H709V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"console-network\"\n      ]\n    },\n    {\n      \"uid\": \"9ab2010722320e8dd2fb98a2299f7493\",\n      \"css\": \"file-compare\",\n      \"code\": 985258,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 750H250V666H416V750ZM416 584H250V500H416V584ZM416 41V84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H416V959H500V41H416ZM834 334V834Q834 867.2 809.6 891.6T750 916H584V834H750V459H584V375H771.5L584 187.5V84ZM666 584H584V500H666V584ZM666 750H584V666H666V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-compare\"\n      ]\n    },\n    {\n      \"uid\": \"4f84574ec039374b3e1d470b0b9b15c2\",\n      \"css\": \"fire-truck\",\n      \"code\": 985259,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M710.9 84Q697.3 84 687.5 89.8L232.4 353.5H398.4L728.5 160.2Q744.1 152.3 748 135.7T744.1 103.5Q732.4 84 710.9 84ZM666 334V416H125Q89.8 416 65.4 440.4T41 500H84V625H41V791H125Q125 843.8 161.1 879.9T250 916 338.9 879.9 375 791H625Q625 843.8 661.1 879.9T750 916 838.9 879.9 875 791H959V521.5L812.5 334H666ZM750 396.5H791L896.5 521.5V562.5H750V396.5ZM166 500H291V625H166V500ZM375 500H500V625H375V500ZM584 500H666V625H584V500ZM250 728.5Q275.4 728.5 293.9 747.1T312.5 792 293.9 835.9 250 853.5 206.1 835.9 187.5 792 206.1 747.1 250 728.5ZM750 728.5Q775.4 728.5 793.9 747.1T812.5 792 793.9 835.9 750 853.5 706.1 835.9 687.5 792 706.1 747.1 750 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fire-truck\"\n      ]\n    },\n    {\n      \"uid\": \"8b6ff9b2556b2d7d97b0d20fc707f235\",\n      \"css\": \"folder-key\",\n      \"code\": 985260,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM459 416Q498 416 530.3 439.5T576.2 500H791V584H750V666H666V584H576.2Q562.5 621.1 530.3 643.6T459 666Q406.3 666 370.1 629.9T334 542 370.1 453.1 459 416ZM459 500Q441.4 500 428.7 511.7T416 541 428.7 571.3 459 584 488.3 571.3 500 541 488.3 511.7 459 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-key\"\n      ]\n    },\n    {\n      \"uid\": \"6c74f7ce6a335123dd237da1e3d69f18\",\n      \"css\": \"folder-key-network\",\n      \"code\": 985261,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 209Q214.8 209 190.4 233.4T166 291V625Q166 660.2 190.4 684.6T250 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625Q625 816.4 613.3 803.7T584 791H541V709H750Q785.2 709 809.6 684.6T834 625V375Q834 339.8 809.6 315.4T750 291H500L416 209H250ZM375 375Q416 375 448.2 398.4T492.2 459H709V541H666V625H584V541H492.2Q480.5 578.1 448.2 601.6T375 625Q322.3 625 286.1 588.9T250 500 286.1 411.1 375 375ZM375 459Q357.4 459 345.7 470.7T334 500 345.7 529.3 375 541 404.3 529.3 416 500 404.3 470.7 375 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-key-network\"\n      ]\n    },\n    {\n      \"uid\": \"c0f6ba1e3c2b1ca12629b622b6de391e\",\n      \"css\": \"expansion-card\",\n      \"code\": 985262,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291V353.5H125V709H187.5V291H84ZM250 291V291 666H291V709H584V666H916V291H250ZM728.5 375Q771.5 375 802.7 405.3T834 478.5 802.7 552.7 728.5 584 655.3 552.7 625 478.5 655.3 405.3 728.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"expansion-card\"\n      ]\n    },\n    {\n      \"uid\": \"312b31224e167061d2431667ba4668e0\",\n      \"css\": \"home-currency-usd\",\n      \"code\": 985263,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L916 500H791V834H209V500H84ZM384.8 373Q353.5 402.3 353.5 448.2T402.3 523.4Q429.7 541 488.3 560.5H490.2Q552.7 580.1 562.5 593.8 562.5 613.3 533.2 621.1 519.5 625 500 625V625Q468.8 625 453.1 616.2T437.5 584H353.5Q353.5 656.3 410.2 687.5 431.6 699.2 459 705.1V750H541V705.1Q589.8 695.3 618.2 666T646.5 592.8 603.5 519.5Q576.2 500 515.6 481.4T437.5 449.2V447.3Q437.5 437.5 443.4 431.6 457 416 500 416V416Q562.5 416 562.5 447.3H646.5Q646.5 404.3 618.2 375T541 337.9V291H459V335.9Q412.1 345.7 384.8 373Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-currency-usd\"\n      ]\n    },\n    {\n      \"uid\": \"05a19ff92c66cbe1daaab68eaefe66fa\",\n      \"css\": \"inbox-multiple\",\n      \"code\": 985264,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 334V209H209V334H375Q375 384.8 411.1 421.9T500 459 588.9 421.9 625 334H791ZM791 125Q826.2 125 850.6 149.4T875 209V500Q875 535.2 850.6 559.6T791 584H209Q173.8 584 149.4 559.6T125 500V209Q125 173.8 149.4 149.4T209 125H791ZM125 625H375Q375 677.7 411.1 713.9T500 750 588.9 713.9 625 625H875V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ebcbae497afbbbe333352139a7c8b2d0\",\n      \"css\": \"language-lua\",\n      \"code\": 985265,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 209Q367.2 209 301.8 235.4T186.5 311.5 110.4 426.8 84 562.5 110.4 698.2 186.5 813.5 301.8 889.6 437.5 916 573.2 889.6 688.5 813.5 764.6 698.2 791 562.5 764.6 426.8 688.5 311.5 573.2 235.4 437.5 209ZM562.5 541Q519.5 541 489.3 510.7T459 437.5 489.3 364.3 562.5 334 635.7 364.3 666 437.5 635.7 510.7 562.5 541ZM812.5 84Q769.5 84 739.3 114.3T709 187.5 739.3 260.7 812.5 291 885.7 260.7 916 187.5 885.7 114.3 812.5 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-lua\"\n      ]\n    },\n    {\n      \"uid\": \"8a80e4c034d8a3f9e9b4a6fc45de3cd9\",\n      \"css\": \"lock-smart\",\n      \"code\": 985266,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q431.6 84 374 117.2T283.2 208 250 334V666Q250 734.4 283.2 792T374 882.8 500 916 626 882.8 716.8 792 750 666V334Q750 265.6 716.8 208T626 117.2 500 84ZM334 250H416V334H334V250ZM459 250H541V334H459V250ZM584 250H666V334H584V250ZM334 375H416V459H334V375ZM459 375H541V459H459V375ZM584 375H666V459H584V375ZM334 500H416V584H334V500ZM459 500H541V584H459V500ZM584 500H666V584H584V500ZM500 666Q535.2 666 559.6 690.4T584 750 559.6 809.6 500 834 440.4 809.6 416 750 440.4 690.4 500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-smart\"\n      ]\n    },\n    {\n      \"uid\": \"1141ae0e611bed8f7107b9abb7c4c9e8\",\n      \"css\": \"microphone-minus\",\n      \"code\": 985267,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q427.7 84 463.9 120.1T500 209V459Q500 509.8 463.9 546.9T375 584 286.1 546.9 250 459V209Q250 156.3 286.1 120.1T375 84ZM666 459Q666 568.4 594.7 649.4T416 748V875H334V748Q226.6 730.5 155.3 649.4T84 459H166Q166 515.6 194.3 563.5T270.5 638.7 375 666 479.5 638.7 555.7 563.5 584 459H666ZM625 209H959V291H625V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-minus\"\n      ]\n    },\n    {\n      \"uid\": \"112775a1f7030afe8d526504b08ee535\",\n      \"css\": \"microphone-plus\",\n      \"code\": 985268,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q427.7 84 463.9 120.1T500 209V459Q500 509.8 463.9 546.9T375 584 286.1 546.9 250 459V209Q250 156.3 286.1 120.1T375 84ZM666 459Q666 568.4 594.7 649.4T416 748V875H334V748Q226.6 730.5 155.3 649.4T84 459H166Q166 515.6 194.3 563.5T270.5 638.7 375 666 479.5 638.7 555.7 563.5 584 459H666ZM625 209H750V84H834V209H959V291H834V416H750V291H625V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microphone-plus\"\n      ]\n    },\n    {\n      \"uid\": \"6a7e2659f1173ee94ada0b612b22cc79\",\n      \"css\": \"palette-swatch\",\n      \"code\": 985269,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M105.5 818.4L162.1 841.8V466.8L60.5 710.9Q46.9 742.2 60.5 774.4T105.5 818.4ZM918 664.1L710.9 166Q701.2 142.6 680.7 128.9T636.7 115.2Q617.2 115.2 603.5 121.1L294.9 248Q273.4 257.8 259.8 278.3T244.1 322.3Q244.1 337.9 250 355.5L459 853.5Q466.8 878.9 488.3 892.6T533.2 906.3Q550.8 906.3 566.4 900.4L873 773.4Q904.3 759.8 918 727.5T918 664.1ZM328.1 365.2Q310.5 365.2 298.8 352.5T287.1 322.3 298.8 293 328.1 281.3 357.4 293.9 369.1 323.2 357.4 352.5 328.1 365.2ZM244.1 822.3Q244.1 857.4 268.6 881.8T328.1 906.3H388.7L244.1 558.6V822.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"palette-swatch\"\n      ]\n    },\n    {\n      \"uid\": \"43aa9ee87c34d0500904f8d6869d418a\",\n      \"css\": \"periodic-table\",\n      \"code\": 985270,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166V250H166V166H84ZM834 166V250H916V166H834ZM84 291V375H166V291H84ZM209 291V375H291V291H209ZM584 291V375H666V291H584ZM709 291V375H791V291H709ZM834 291V375H916V291H834ZM84 416V500H166V416H84ZM209 416V500H291V416H209ZM334 416V500H416V416H334ZM459 416V500H541V416H459ZM584 416V500H666V416H584ZM709 416V500H791V416H709ZM834 416V500H916V416H834ZM84 541V625H166V541H84ZM209 541V625H291V541H209ZM334 541V625H416V541H334ZM459 541V625H541V541H459ZM584 541V625H666V541H584ZM709 541V625H791V541H709ZM834 541V625H916V541H834ZM209 709V791H291V709H209ZM334 709V791H416V709H334ZM459 709V791H541V709H459ZM584 709V791H666V709H584ZM709 709V791H791V709H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"periodic-table\"\n      ]\n    },\n    {\n      \"uid\": \"6ff5f2f036906b39eb6c544ef6dc962c\",\n      \"css\": \"pickaxe\",\n      \"code\": 985271,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 443.4L146.5 912.1 87.9 853.5 556.6 382.8ZM802.7 322.3L828.1 296.9 794.9 263.7 820.3 238.3 761.7 179.7 736.3 205.1 703.1 171.9 677.7 197.3Q568.4 107.4 435.5 56.6L402.3 130.9Q509.8 189.5 603.5 271.5L584 291 709 416 728.5 396.5Q810.5 490.2 869.1 597.7L943.4 564.5Q892.6 431.6 802.7 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pickaxe\"\n      ]\n    },\n    {\n      \"uid\": \"4d955618bf886a6b40274c86a50a96c0\",\n      \"css\": \"qrcode-edit\",\n      \"code\": 985272,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209H291V291H209V209ZM41 41H459V459H41V41ZM125 125V375H375V125H125ZM209 709H291V791H209V709ZM41 541H459V959H41V541ZM125 625V875H375V625H125ZM541 541H709V625H791V541H959V625H791V709H959V959H791V875H625V959H541V875H625V791H541V541ZM875 875V791H791V875H875ZM791 709H709V625H625V791H791V709ZM945.3 138.7L904.3 181.6 818.4 97.7 861.3 56.6Q867.2 48.8 876 48.8T892.6 56.6L945.3 107.4Q953.1 113.3 953.1 123T945.3 138.7ZM541 373L794.9 119.1 880.9 205.1 627 459H541V373Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qrcode-edit\"\n      ]\n    },\n    {\n      \"uid\": \"4c23b2975130e26dcae6d4eab7e7ba6b\",\n      \"css\": \"remote-desktop\",\n      \"code\": 985273,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H416V834H334V916H666V834H584V750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84H125ZM125 166H875V666H125V166ZM625 209L478.5 353.5 625 500 683.6 441.4 595.7 353.5 683.6 267.6ZM375 334L316.4 392.6 404.3 478.5 316.4 566.4 375 625 521.5 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"remote-desktop\"\n      ]\n    },\n    {\n      \"uid\": \"b42d1fe8dd10db01ba28405e7ed931b0\",\n      \"css\": \"sausage\",\n      \"code\": 985274,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 125H396.5L332 220.7Q369.1 238.3 392.6 274.4T416 355.5 433.6 442.4 483.4 516.6 557.6 566.4 644.5 584 725.6 607.4 779.3 668L875 603.5V853.5L779.3 789.1Q761.7 828.1 725.6 851.6T646.5 875Q503.9 875 384.8 804.7T195.3 615.2 125 353.5Q125 310.5 148.4 274.4T210.9 220.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sausage\"\n      ]\n    },\n    {\n      \"uid\": \"924180b48776c6c5ba6eabea9ea26721\",\n      \"css\": \"signal-cellular-1\",\n      \"code\": 985276,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 228.5V771.5H728.5V228.5H812.5ZM521.5 437.5V771.5H437.5V437.5H521.5ZM875 166H666V834H875V166ZM584 375H375V834H584V375ZM291 584H84V834H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-cellular-1\"\n      ]\n    },\n    {\n      \"uid\": \"611e303e41bfd89a3ccc79c328df344c\",\n      \"css\": \"signal-cellular-2\",\n      \"code\": 985277,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 228.5V771.5H728.5V228.5H812.5ZM875 166H666V834H875V166ZM584 375H375V834H584V375ZM291 584H84V834H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-cellular-2\"\n      ]\n    },\n    {\n      \"uid\": \"a3b02c7acc8fd851b263a94fded5448f\",\n      \"css\": \"signal-cellular-3\",\n      \"code\": 985278,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 166H666V834H875V166ZM584 375H375V834H584V375ZM291 584H84V834H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-cellular-3\"\n      ]\n    },\n    {\n      \"uid\": \"93f247779eb1eb54af6964d2c6b78f93\",\n      \"css\": \"signal-cellular-outline\",\n      \"code\": 985279,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 228.5V771.5H728.5V228.5H812.5ZM521.5 437.5V771.5H437.5V437.5H521.5ZM228.5 646.5V771.5H146.5V646.5H228.5ZM875 166H666V834H875V166ZM584 375H375V834H584V375ZM291 584H84V834H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-cellular-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ef120d8f669469fe687a59698cdfc7f8\",\n      \"css\": \"ssh\",\n      \"code\": 985280,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M187.5 375Q169.9 375 158.2 387.7T146.5 416V490.2Q146.5 505.9 158.2 518.6T187.5 531.3H291V562.5H146.5V625H312.5Q330.1 625 341.8 612.3T353.5 584V509.8Q353.5 494.1 341.8 481.4T312.5 468.8H209V437.5H353.5V375H187.5ZM437.5 375Q419.9 375 408.2 387.7T396.5 416V490.2Q396.5 505.9 408.2 518.6T437.5 531.3H541V562.5H396.5V625H562.5Q580.1 625 591.8 612.3T603.5 584V509.8Q603.5 494.1 591.8 481.4T562.5 468.8H459V437.5H603.5V375H437.5ZM646.5 375V625H709V521.5H791V625H853.5V375H791V459H709V375H646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ssh\"\n      ]\n    },\n    {\n      \"uid\": \"84848d4183fabc601b2891fd67bffa05\",\n      \"css\": \"swap-horizontal-variant\",\n      \"code\": 985281,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250L334 416V291H666Q701.2 291 725.6 315.4T750 375 725.6 434.6 666 459H334Q263.7 459 214.8 507.8T166 625 214.8 742.2 334 791H666V916L834 750 666 584V709H334Q298.8 709 274.4 684.6T250 625 274.4 565.4 334 541H666Q736.3 541 785.2 492.2T834 375 785.2 257.8 666 209H334V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-horizontal-variant\"\n      ]\n    },\n    {\n      \"uid\": \"a0a741e3bbd0bc9f350eff338f3b2fe3\",\n      \"css\": \"swap-vertical-variant\",\n      \"code\": 985282,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 166L584 334H709V666Q709 701.2 684.6 725.6T625 750 565.4 725.6 541 666V334Q541 263.7 492.2 214.8T375 166 257.8 214.8 209 334V666H84L250 834 416 666H291V334Q291 298.8 315.4 274.4T375 250 434.6 274.4 459 334V666Q459 736.3 507.8 785.2T625 834 742.2 785.2 791 666V334H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-vertical-variant\"\n      ]\n    },\n    {\n      \"uid\": \"c739a994587820a88a4c956811b26cb9\",\n      \"css\": \"tooth\",\n      \"code\": 985283,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q232.4 84 181.6 121.1 136.7 154.3 110.4 211.9T84 334 109.4 474.6 166 584Q177.7 593.8 189.5 628.9 197.3 650.4 214.8 705.1 246.1 806.6 265.6 847.7 298.8 916 334 916 386.7 916 416 886.7 439.5 861.3 449.2 814.5 455.1 785.2 459 726.6 462.9 673.8 468.8 654.3 478.5 625 500 625T531.3 654.3Q537.1 673.8 541 726.6 544.9 785.2 550.8 814.5 560.5 861.3 584 886.7 613.3 916 666 916 701.2 916 734.4 847.7 753.9 806.6 785.2 705.1 802.7 650.4 810.5 628.9 822.3 593.8 834 584 865.2 550.8 890.6 474.6T916 334 889.6 211.9 818.4 121.1Q767.6 84 709 84 662.1 84 628.9 91.8 609.4 95.7 580.1 107.4 558.6 117.2 546.9 119.1 525.4 125 500 125T453.1 119.1Q441.4 117.2 419.9 107.4 390.6 95.7 371.1 91.8 337.9 84 291 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooth\"\n      ]\n    },\n    {\n      \"uid\": \"0c00947e493632a748eb1d3628cf8888\",\n      \"css\": \"train-variant\",\n      \"code\": 985284,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416H250V209H750V416ZM500 709Q464.8 709 440.4 684.6T416 625 440.4 565.4 500 541 559.6 565.4 584 625 559.6 684.6 500 709ZM166 646.5Q166 707 209 749T312.5 791L250 853.5V875H750V853.5L687.5 791Q748 791 791 749T834 646.5V209Q834 107.4 736.3 70.3 662.1 41 500 41T263.7 70.3Q166 107.4 166 209V646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"train-variant\"\n      ]\n    },\n    {\n      \"uid\": \"507db0514b4016402d6016610f16846a\",\n      \"css\": \"account-multiple-check\",\n      \"code\": 985285,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709V791H291V709L293 691.4Q296.9 669.9 308.6 650.4 322.3 621.1 345.7 599.6 375 574.2 419.9 558.6 470.7 541 541 541 652.3 541 716.8 584 763.7 615.2 783.2 666 791 689.5 791 709V709ZM666 334Q666 281.3 629.9 245.1T542 209 453.1 245.1 416 333 453.1 421.9 542 459 629.9 421.9 666 334ZM800.8 544.9Q834 576.2 853.5 619.1T875 709V791H1000V709L996.1 685.5Q990.2 658.2 974.6 634.8 953.1 599.6 916 578.1 869.1 550.8 800.8 544.9ZM750 209Q730.5 209 712.9 214.8 750 267.6 750 333T712.9 453.1Q730.5 459 750 459 802.7 459 838.9 421.9T875 333 838.9 245.1 750 209ZM306.6 371.1L353.5 429.7 156.3 628.9 41 503.9 89.8 455.1 156.3 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-check\"\n      ]\n    },\n    {\n      \"uid\": \"40ee9fad7c6667ce7f0877e5b901be18\",\n      \"css\": \"amazon-alexa\",\n      \"code\": 985286,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM435.5 912.1V830.1Q435.5 808.6 422.9 790T388.7 761.7Q312.5 728.5 263.7 658.2T214.8 500Q214.8 423.8 252.9 358.4T356.4 253.9 500 214.8 643.6 253.9 747.1 358.4 785.2 500Q785.2 591.8 740.2 676.8T616.2 823.2 435.5 912.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"amazon-alexa\"\n      ]\n    },\n    {\n      \"uid\": \"85c6ae6f3a71dd62734b418d82619fb1\",\n      \"css\": \"arch\",\n      \"code\": 985287,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q492.2 103.5 478.5 138.7 431.6 252 398.4 322.3 453.1 377 505.9 416 429.7 384.8 386.7 347.7 300.8 525.4 84 916 187.5 857.4 261.7 824.2 343.8 789.1 414.1 775.4 406.3 746.1 406.3 718.8V714.8Q408.2 650.4 437.5 608.4T505.9 569.3 571.3 620.1 595.7 730.5Q595.7 755.9 591.8 775.4 658.2 789.1 740.2 824.2 814.5 857.4 916 916L845.7 787.1 828.1 771.5Q763.7 718.8 701.2 687.5 771.5 705.1 816.4 732.4 679.7 476.6 617.2 347.7 576.2 261.7 521.5 134.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arch\"\n      ]\n    },\n    {\n      \"uid\": \"dc1ee1f35dc9dcca9d9d36cb8196267e\",\n      \"css\": \"axe\",\n      \"code\": 985288,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L916 334Q916 455.1 853.5 525.4 794.9 593.8 666 625L541 416 375 250ZM171.9 826.2L87.9 763.7 382.8 375 459 451.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axe\"\n      ]\n    },\n    {\n      \"uid\": \"c12afc1f9b06f8057670a4a162aba0fc\",\n      \"css\": \"bullseye-arrow\",\n      \"code\": 985289,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500Q916 427.7 890.6 359.4L824.2 425.8Q834 462.9 834 500 834 589.8 789.1 667T667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166Q537.1 166 574.2 175.8L642.6 107.4Q572.3 84 500 84ZM791 84L625 250V312.5L519.5 418Q511.7 416 500 416 464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500Q584 488.3 582 480.5L687.5 375H750L916 209H791V84ZM500 250Q431.6 250 374 283.2T283.2 374 250 500 283.2 626 374 716.8 500 750 626 716.8 716.8 626 750 500H666Q666 568.4 617.2 617.2T500 666 382.8 617.2 334 500 382.8 382.8 500 334V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bullseye-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"df5bd8a97518f897212f89651643dc6c\",\n      \"css\": \"bus-clock\",\n      \"code\": 985290,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 166V343.8L806.6 414.1 775.4 464.8 625 375V166H687.5ZM666 541Q752 541 813.5 480.5T875 334 813.5 186.5 666 125 519.5 186.5 459 334 519.5 480.5 666 541ZM562.5 791Q589.8 791 607.4 772.5T625 728.5 607.4 684.6 562.5 666 517.6 684.6 500 728.5 517.6 772.5 562.5 791ZM125 541H462.9Q375 457 375 334H125V541ZM187.5 791Q214.8 791 232.4 772.5T250 728.5 232.4 684.6 187.5 666 142.6 684.6 125 728.5 142.6 772.5 187.5 791ZM666 41Q789.1 41 874 126T959 334Q959 443.4 886.7 524.4T709 621.1V750Q709 802.7 666 841.8V916Q666 931.6 654.3 945.3T625 959H584Q566.4 959 553.7 946.3T541 916V875H209V916Q209 933.6 196.3 946.3T166 959H125Q107.4 959 95.7 945.3T84 916V841.8Q41 802.7 41 750V334Q41 234.4 126 200.2T375 166H400.4L425.8 168Q513.7 41 666 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-clock\"\n      ]\n    },\n    {\n      \"uid\": \"fe46c6cd3e7d0d959707055ce2ee5ab2\",\n      \"css\": \"camera-account\",\n      \"code\": 985291,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209H291L375 125H625L709 209H834Q867.2 209 891.6 233.4T916 291V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V291Q84 257.8 108.4 233.4T166 209ZM666 709V666Q666 628.9 603.5 603.5 552.7 584 500 584T396.5 603.5Q334 628.9 334 666V709H666ZM500 375Q464.8 375 440.4 399.4T416 458 440.4 516.6 500 541 559.6 516.6 584 458 559.6 399.4 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-account\"\n      ]\n    },\n    {\n      \"uid\": \"8698d3446e18c328a04490b4005cc7c7\",\n      \"css\": \"camera-image\",\n      \"code\": 985292,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209H291L375 125H625L709 209H834Q867.2 209 891.6 233.4T916 291V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V291Q84 257.8 108.4 233.4T166 209ZM544.9 394.5L460.9 507.8 525.4 593.8 488.3 621.1 386.7 484.4 250 666H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-image\"\n      ]\n    },\n    {\n      \"uid\": \"3767677c87a0ffc26df073d2910d9a03\",\n      \"css\": \"car-limousine\",\n      \"code\": 985293,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 250L103.5 312.5 41 375 103.5 437.5 41 500 103.5 562.5 41 625H625Q625 677.7 661.1 713.9T750 750 838.9 713.9 875 625H959V500Q959 464.8 934.6 440.4T875 416H791L666 250H41ZM193.4 312.5H437.5V416H171.9L130.9 375ZM500 312.5H646.5L726.6 416H500V312.5ZM750 562.5Q775.4 562.5 793.9 581.1T812.5 625 793.9 668.9 750 687.5 706.1 668.9 687.5 625 706.1 581.1 750 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-limousine\"\n      ]\n    },\n    {\n      \"uid\": \"6891577501c76630ebb10339b8d7e340\",\n      \"css\": \"cards-club\",\n      \"code\": 985294,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q546.9 84 587.9 108.4T654.3 172.9 679.7 257.8Q677.7 326.2 634.8 375 613.3 400.4 585.9 416 611.3 404.3 652.3 398.4L687.5 396.5Q765.6 396.5 820.3 447.3T875 575.2 821.3 701.2 687.5 750L668 748Q642.6 746.1 617.2 738.3 578.1 726.6 541 709V722.7Q541 742.2 546.9 765.6 554.7 796.9 572.3 832 591.8 873 625 916H375Q435.5 837.9 453.1 765.6 460.9 728.5 459 709V709Q421.9 726.6 382.8 738.3 357.4 746.1 332 748L312.5 750Q232.4 750 178.7 701.2T125 575.2 179.7 447.3 312.5 396.5L347.7 398.4Q388.7 404.3 414.1 416 386.7 400.4 365.2 375 322.3 326.2 320.3 257.8 320.3 212.9 345.7 172.9T412.1 108.4 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-club\"\n      ]\n    },\n    {\n      \"uid\": \"226cfab9f1875f92bca53ac9e3184bac\",\n      \"css\": \"cards-diamond\",\n      \"code\": 985295,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500L500 916 209 500 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-diamond\"\n      ]\n    },\n    {\n      \"uid\": \"3ead8a19a56f20b18b7123e6f81cf884\",\n      \"css\": \"cards-spade\",\n      \"code\": 985297,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q468.8 136.7 421.9 191.4 392.6 224.6 335 283.2T252 373Q210.9 421.9 191.4 468.8 166 523.4 166 584 166 625 190.4 663.1T253.9 725.6 334 750 396.5 744.1Q429.7 736.3 459 709V722.7Q459 742.2 453.1 765.6 445.3 796.9 429.7 832 408.2 873 375 916H625Q572.3 837.9 552.7 765.6 541 728.5 541 709V709Q570.3 736.3 603.5 744.1 625 750 666 750T746.1 725.6 809.6 663.1 834 584Q834 523.4 808.6 468.8 789.1 421.9 748 373 722.7 341.8 665 283.2T578.1 191.4Q531.3 136.7 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-spade\"\n      ]\n    },\n    {\n      \"uid\": \"d6e763caec7830d1ec4beb2fca13e47e\",\n      \"css\": \"cellphone-text\",\n      \"code\": 985298,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 791V209H291V791H709ZM709 41Q742.2 41 766.6 65.4T791 125V875Q791 910.2 766.6 934.6T709 959H291Q257.8 959 233.4 934.6T209 875V125Q209 89.8 233.4 65.4T291 41H709ZM375 291H625V375H375V291ZM375 459H541V541H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-text\"\n      ]\n    },\n    {\n      \"uid\": \"8af9d05ba5c8e50dca01d80a52807072\",\n      \"css\": \"cellphone-message\",\n      \"code\": 985299,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709V291H166V709H459ZM459 125Q492.2 125 516.6 149.4T541 209V791Q541 826.2 516.6 850.6T459 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125H459ZM687.5 125H896.5Q921.9 125 940.4 143.6T959 187.5V312.5Q959 337.9 940.4 356.4T896.5 375H750L625 500V187.5Q625 162.1 643.6 143.6T687.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-message\"\n      ]\n    },\n    {\n      \"uid\": \"c656276d3c28e2bbc22572145a772966\",\n      \"css\": \"chart-multiline\",\n      \"code\": 985300,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 289.1L857.4 228.5 738.3 363.3Q673.8 289.1 586.9 249T400.4 209Q312.5 209 228.5 242.2 150.4 273.4 84 334L142.6 392.6Q197.3 343.8 262.7 317.4T400.4 291Q484.4 291 556.6 327.1T681.6 425.8L562.5 562.5 396.5 396.5 84 709 146.5 771.5 396.5 521.5 562.5 687.5 730.5 498Q779.3 584 791 687.5H875Q861.3 544.9 789.1 431.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-multiline\"\n      ]\n    },\n    {\n      \"uid\": \"c7afd3e7e2e7f18635be685ae067bcc0\",\n      \"css\": \"circle-edit-outline\",\n      \"code\": 985301,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500H834Q834 589.8 789.1 667T667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166V84ZM783.2 125Q771.5 125 761.7 132.8L710.9 183.6 816.4 287.1 867.2 238.3Q875 228.5 875 216.8T867.2 197.3L802.7 132.8Q793 125 783.2 125ZM681.6 212.9L375 521.5V625H478.5L787.1 318.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c308710e199b783df0942bea6c106205\",\n      \"css\": \"cogs\",\n      \"code\": 985302,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M662.1 769.5Q705.1 769.5 734.4 739.3T763.7 667 734.4 594.7 662.1 564.5 589.8 594.7 560.5 667 589.8 739.3 662.1 769.5ZM878.9 695.3L941.4 744.1Q951.2 752 943.4 761.7L886.7 863.3Q878.9 873 867.2 869.1L794.9 839.8Q773.4 857.4 746.1 869.1L734.4 945.3Q734.4 951.2 730.5 955.1T720.7 959H603.5Q591.8 959 589.8 945.3L578.1 869.1Q552.7 857.4 529.3 839.8L457 869.1Q451.2 871.1 446.3 869.1T439.5 863.3L380.9 761.7Q375 752 384.8 744.1L445.3 695.3 443.4 666 445.3 638.7 384.8 589.8Q375 582 380.9 570.3L439.5 470.7Q441.4 464.8 446.3 462.9T457 462.9L529.3 494.1Q554.7 474.6 578.1 464.8L589.8 386.7Q591.8 375 603.5 375H720.7Q726.6 375 730.5 378.9T734.4 386.7L746.1 464.8Q771.5 474.6 794.9 494.1L867.2 462.9Q878.9 459 886.7 470.7L943.4 570.3Q951.2 582 941.4 589.8L878.9 638.7 880.9 666ZM279.3 335.9Q306.6 335.9 325.2 317.4T343.8 271.5 325.2 224.6 279.3 205.1 232.4 224.6 212.9 271.5 232.4 317.4 279.3 335.9ZM418 289.1L459 320.3Q462.9 326.2 459 332L421.9 396.5Q418 404.3 410.2 400.4L363.3 382.8 334 400.4 326.2 451.2Q324.2 459 316.4 459H242.2Q232.4 459 232.4 451.2L224.6 400.4 193.4 382.8 146.5 400.4Q138.7 404.3 134.8 396.5L97.7 332Q93.8 326.2 99.6 320.3L138.7 289.1V271.5 252L99.6 220.7Q93.8 216.8 97.7 209L134.8 144.5Q138.7 136.7 146.5 140.6L193.4 158.2 224.6 140.6 232.4 91.8Q232.4 84 242.2 84H316.4Q324.2 84 326.2 91.8L334 140.6 363.3 158.2 410.2 140.6Q418 136.7 421.9 144.5L459 209Q462.9 216.8 459 220.7L418 252 419.9 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cogs\"\n      ]\n    },\n    {\n      \"uid\": \"71d6b412d055a0a48185d90de6bdfc68\",\n      \"css\": \"credit-card-settings-outline\",\n      \"code\": 985303,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H166V250H834V334ZM834 750H166V500H834V750ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cd33e40c5f79ba694f3704b2b084b097\",\n      \"css\": \"death-star\",\n      \"code\": 985304,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M85.9 541H914.1Q904.3 646.5 846.7 731.4T697.3 866.2 500 916 302.7 866.2 153.3 731.4 85.9 541ZM914.1 459H85.9Q95.7 353.5 153.3 268.6T302.7 133.8 500 84 697.3 133.8 846.7 268.6 914.1 459ZM500 281.3Q500 238.3 469.7 208T396.5 177.7 322.3 208 291 281.3 322.3 354.5 396.5 384.8 469.7 354.5 500 281.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"death-star\"\n      ]\n    },\n    {\n      \"uid\": \"4efcbca9dd0eb945f210d66c1d2299b3\",\n      \"css\": \"death-star-variant\",\n      \"code\": 985305,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M85.9 541H914.1Q910.2 584 898.4 625H584V709H709V791H625V875H521.5V916H500Q394.5 916 302.7 866.2T153.3 731.4 85.9 541ZM914.1 459H85.9Q95.7 353.5 153.3 268.6T302.7 133.8 500 84Q599.6 84 687.5 128.9V209H771.5V291H834V375H898.4Q910.2 416 914.1 459ZM500 281.3Q500 238.3 469.7 208T396.5 177.7 322.3 208 291 281.3 322.3 354.5 396.5 384.8 469.7 354.5 500 281.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"death-star-variant\"\n      ]\n    },\n    {\n      \"uid\": \"decc5eca8d48657b784c94bf8c92dde9\",\n      \"css\": \"debian\",\n      \"code\": 985306,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 439.5L761.7 455.1Q769.5 433.6 769.5 386.7V357.4L765.6 355.5Q763.7 300.8 722.7 244.1 683.6 191.4 636.7 169.9 599.6 152.3 548.8 149.4T470.7 160.2Q472.7 158.2 482.4 155.3T490.2 150.4Q457 152.3 435.5 166 419.9 175.8 402.3 181.6 396.5 187.5 412.1 183.6L419.9 181.6 412.1 187.5Q406.3 189.5 393.6 190.4T373 193.4Q359.4 201.2 341.8 218.8 343.8 220.7 351.6 216.8L355.5 214.8 349.6 222.7Q326.2 220.7 283.2 261.7 246.1 298.8 230.5 324.2L238.3 326.2Q232.4 339.8 219.7 363.3T207 398.4L203.1 429.7Q197.3 480.5 197.3 503.9 197.3 543 209 558.6L207 580.1 216.8 599.6H210.9Q218.8 625 224.6 631.8T238.3 638.7 250 644.5Q259.8 654.3 269.5 679.7V679.7Q259.8 675.8 253.9 666 252 671.9 258.8 685.5T275.4 710.9L271.5 716.8Q275.4 726.6 285.2 734.4L289.1 738.3Q267.6 726.6 312.5 785.2L318.4 793 322.3 785.2Q320.3 798.8 343.8 828.1H357.4Q361.3 835.9 373 845.7T392.6 857.4L384.8 867.2Q398.4 871.1 407.2 877.9T433.6 890.6L425.8 878.9 441.4 894.5Q459 912.1 476.6 918.9T514.6 929.7 550.8 937.5Q484.4 937.5 460.9 927.7 378.9 906.3 306.6 839.8T193.4 683.6Q150.4 587.9 156.3 490.2 154.3 474.6 156.3 437.5 156.3 396.5 154.3 390.6V386.7Q173.8 320.3 195.3 277.3V277.3 277.3Q201.2 283.2 210.9 267.6L216.8 253.9Q224.6 230.5 230.5 220.7H236.3Q238.3 203.1 289.1 158.2 306.6 142.6 312.5 136.7V142.6Q341.8 115.2 425.8 80.1L449.2 70.3Q445.3 76.2 449.2 76.2L464.8 72.3Q482.4 68.4 492.2 68.4L470.7 80.1Q484.4 76.2 497.1 79.1T523.4 80.1Q502 82 503.9 85.9 517.6 87.9 534.2 84T566.4 85.9L564.5 78.1 595.7 87.9Q627 95.7 654.3 111.3 660.2 111.3 666 109.4 679.7 105.5 693.4 111.3L695.3 115.2Q697.3 123 718.8 136.7 722.7 134.8 710.9 123L709 121.1Q752 144.5 789.1 187.5 828.1 232.4 841.8 281.3 834 267.6 833 269.5T834 283.2 834 294.9Q845.7 328.1 851.6 357.4L849.6 355.5Q834 294.9 814.5 269.5 814.5 275.4 807.6 274.4T799.8 277.3 802.7 296.9Q806.6 302.7 808.6 298.8T811.5 295.9 818.4 306.6Q818.4 314.5 822.3 332L824.2 345.7Q822.3 345.7 818.4 337.9T812.5 334Q818.4 359.4 826.2 365.2H823.2T820.3 375Q822.3 390.6 824.2 393.6T830.1 394.5H834L828.1 408.2Q818.4 433.6 822.3 453.1L814.5 429.7V449.2Q816.4 464.8 808.6 482.4 814.5 464.8 814.5 452.1T808.6 447.3Q810.5 466.8 794.9 498 783.2 519.5 785.2 531.3L775.4 517.6Q763.7 537.1 764.6 543.9T759.8 562.5Q761.7 558.6 760.7 555.7T763.7 546.9Q761.7 546.9 747.1 561.5T724.6 582Q677.7 619.1 622.1 627T509.8 613.3V613.3Q509.8 609.4 503.9 605.5 451.2 564.5 431.6 531.3 408.2 488.3 416 421.9 419.9 418 427.7 400.4 439.5 369.1 451.2 361.3 462.9 337.9 490.2 321.3T547.9 303.7 607.4 318.4Q630.9 330.1 648.4 351.6 621.1 328.1 583 322.3T509.8 333 455.1 385.7 437.5 460.9L439.5 459Q441.4 459 443.4 453.1 441.4 503.9 472.7 543T548.8 597.7 634.8 593.8V595.7Q656.3 589.8 669.9 578.1 677.7 570.3 685.5 564.5L681.6 570.3Q673.8 578.1 680.7 577.1T728.5 539.1L738.3 531.3Q740.2 523.4 739.3 517.6T744.1 502L755.9 496.1 761.7 482.4Q771.5 459 771.5 439.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"debian\"\n      ]\n    },\n    {\n      \"uid\": \"d165d1520a934d8148e068f8679ad89b\",\n      \"css\": \"fedora\",\n      \"code\": 985307,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M183.6 916Q142.6 916 113.3 886.7T84 816.4V500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916H183.6ZM621.1 183.6Q539.1 183.6 482.4 241.2T425.8 378.9V482.4H345.7Q326.2 482.4 313.5 496.1T300.8 529.3 313.5 561.5 345.7 574.2H408.2Q414.1 574.2 419.9 580.1T425.8 591.8V679.7Q425.8 722.7 394.5 752.9T320.3 783.2Q310.5 783.2 304.7 782.2T291 781.3Q273.4 781.3 259.8 793.9T246.1 825.2 256.8 855.5 283.2 871.1V871.1Q300.8 875 320.3 875 402.3 875 460 817.4T517.6 679.7V574.2H595.7Q615.2 574.2 628.9 561.5T642.6 529.3 628.9 496.1 595.7 482.4H533.2Q527.3 482.4 522.5 477.5T517.6 466.8V378.9Q517.6 335.9 547.9 305.7T621.1 275.4Q630.9 275.4 637.7 276.4T650.4 277.3Q668 277.3 681.6 263.7T695.3 232.4 684.6 202.1 658.2 187.5V187.5Q640.6 183.6 621.1 183.6ZM283.2 529.3Q283.2 521.5 285.2 513.7L263.7 492.2Q248 496.1 238.3 502L287.1 552.7Q283.2 541 283.2 529.3ZM273.4 771.5H269.5 273.4ZM234.4 826.2Q234.4 812.5 240.2 798.8L125 683.6Q125 703.1 130.9 724.6L234.4 828.1V826.2ZM244.1 859.4Q238.3 851.6 236.3 841.8L134.8 742.2Q148.4 781.3 176.8 812.5T244.1 859.4ZM658.2 529.3Q658.2 537.1 656.3 544.9L679.7 566.4Q693.4 562.5 705.1 556.6L654.3 505.9Q658.2 517.6 658.2 529.3ZM669.9 287.1L671.9 289.1ZM709 232.4Q709 244.1 701.2 257.8L816.4 375Q816.4 351.6 810.5 334L709 228.5V232.4ZM697.3 199.2Q703.1 207 705.1 216.8L806.6 316.4Q793 277.3 764.6 246.1T697.3 199.2ZM669.9 568.4L654.3 552.7Q648.4 564.5 638.7 574.2V574.2Q652.3 572.3 669.9 568.4ZM759.8 517.6L695.3 453.1 675.8 468.8 740.2 533.2Q752 525.4 759.8 517.6ZM734.4 539.1L666 472.7Q658.2 476.6 640.6 480.5L712.9 552.7ZM781.3 492.2L714.8 425.8Q709 437.5 701.2 445.3L765.6 511.7ZM798.8 462.9L724.6 388.7Q722.7 404.3 718.8 416L785.2 484.4Q793 474.6 798.8 462.9ZM816.4 386.7L697.3 265.6Q689.5 277.3 677.7 283.2L812.5 416Q816.4 404.3 816.4 386.7ZM810.5 427.7L710.9 328.1Q724.6 351.6 724.6 377L802.7 453.1Q806.6 439.5 810.5 427.7ZM201.2 523.4Q187.5 535.2 181.6 541L248 605.5Q255.9 597.7 267.6 589.8ZM228.5 505.9Q214.8 513.7 209 519.5L273.4 585.9Q287.1 580.1 300.8 576.2ZM302.7 484.4Q289.1 484.4 271.5 490.2L287.1 505.9Q293 492.2 302.7 484.4V484.4ZM128.9 640.6Q125 660.2 125 671.9L244.1 791Q253.9 781.3 263.7 775.4ZM156.3 574.2Q148.4 584 142.6 595.7L216.8 669.9Q218.8 654.3 224.6 642.6ZM138.7 603.5Q134.8 619.1 130.9 630.9L228.5 730.5Q216.8 705.1 216.8 681.6ZM175.8 546.9Q166 560.5 160.2 566.4L226.6 632.8Q232.4 621.1 242.2 611.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fedora\"\n      ]\n    },\n    {\n      \"uid\": \"99dbd88f593900f664625c2ee5ff48f3\",\n      \"css\": \"file-undo\",\n      \"code\": 985308,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM505.9 595.7Q410.2 595.7 337.9 660.2L250 572.3V791H470.7L380.9 703.1Q435.5 658.2 505.9 658.2 570.3 658.2 621.1 695.3T691.4 791L750 773.4Q724.6 695.3 657.2 645.5T505.9 595.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-undo\"\n      ]\n    },\n    {\n      \"uid\": \"67db1110d9e17fa82979945692d7ec48\",\n      \"css\": \"floor-lamp\",\n      \"code\": 985309,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 84L709 375H291L375 84H625ZM459 416H541V834H666V916H334V834H459V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"floor-lamp\"\n      ]\n    },\n    {\n      \"uid\": \"48628e5040b1b620c2e29e465f623ec5\",\n      \"css\": \"folder-edit\",\n      \"code\": 985310,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H459V753.9L875 337.9V334Q875 298.8 850.6 274.4T791 250H459L375 166H125ZM877 462.9Q867.2 462.9 861.3 470.7L818.4 511.7 904.3 597.7 945.3 556.6Q953.1 548.8 953.1 540T945.3 523.4L892.6 470.7Q884.8 462.9 877 462.9ZM794.9 537.1L541 789.1V875H627L880.9 623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-edit\"\n      ]\n    },\n    {\n      \"uid\": \"2e6a6794bd2503d04260aa1a13da8b3b\",\n      \"css\": \"format-columns\",\n      \"code\": 985311,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H459V209H125V125ZM541 125H875V209H541V125ZM125 291H459V375H125V291ZM541 291H875V375H541V291ZM125 459H459V541H125V459ZM541 459H875V541H541V459ZM125 625H459V709H125V625ZM541 625H875V709H541V625ZM125 791H459V875H125V791ZM541 791H875V875H541V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-columns\"\n      ]\n    },\n    {\n      \"uid\": \"c9523428bd8520631249adf13be47ae0\",\n      \"css\": \"freebsd\",\n      \"code\": 985312,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M111.3 84Q134.8 82 195.3 107.4 244.1 127 255.9 132.8 173.8 183.6 121.1 265.6 48.8 127 84 93.8 93.8 84 111.3 84ZM869.1 87.9Q894.5 85.9 908.2 97.7 927.7 117.2 906.3 181.6 888.7 230.5 853.5 293 822.3 345.7 806.6 361.3T755.9 364.3 687.5 318.4 641.6 249 644.5 197.3Q654.3 187.5 693.4 164.1 738.3 136.7 781.3 117.2 835.9 91.8 869.1 87.9ZM500 107.4Q578.1 107.4 652.3 136.7 619.1 158.2 611.3 166 582 197.3 593.8 249T654.3 349.6Q685.5 380.9 719.7 398.4T783.2 416Q818.4 416 839.8 392.6 849.6 384.8 871.1 349.6 904.3 425.8 904.3 509.8 904.3 621.1 849.6 713.9T702.1 861.3 500 916 297.9 861.3 150.4 713.9 95.7 510.7 150.4 307.6 297.9 161.1 500 107.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"freebsd\"\n      ]\n    },\n    {\n      \"uid\": \"020bc8091f875c43934294b2a17b8549\",\n      \"css\": \"gate-and\",\n      \"code\": 985313,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166V834H584Q673.8 834 750 789.1T871.1 667 916 500 871.1 333 750 210.9 584 166H84ZM166 250H584Q650.4 250 708 283.2T799.8 374 834 500 799.8 626 708 716.8 584 750H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-and\"\n      ]\n    },\n    {\n      \"uid\": \"f276b23637cbddb3be53125d409b575d\",\n      \"css\": \"gate-nand\",\n      \"code\": 985314,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166V834H416Q523.4 834 611.3 771.5T732.4 607.4Q767.6 625 791 625 843.8 625 879.9 588.9T916 500 879.9 411.1 791 375Q761.7 375 732.4 392.6 699.2 291 611.3 228.5T416 166H84ZM166 250H416Q466.8 250 512.7 268.6T593.8 322.3 647.5 404.3 666 500 647.5 595.7 593.8 677.7 512.7 731.4 416 750H166V250ZM791 459Q806.6 459 820.3 471.7T834 500 820.3 528.3 790 541 761.7 529.3 750 501 762.7 471.7 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-nand\"\n      ]\n    },\n    {\n      \"uid\": \"63ff8335fbcbaa9acde07a6168ef2c63\",\n      \"css\": \"gate-nor\",\n      \"code\": 985315,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q146.5 293 167 396.5T167 603.5 84 834H209Q341.8 834 462.9 763.7 574.2 701.2 691.4 570.3 709 595.7 735.4 610.4T791 625Q843.8 625 879.9 588.9T916 500 879.9 411.1 791 375Q761.7 375 735.4 389.6T691.4 429.7Q574.2 298.8 462.9 236.3 341.8 166 209 166H84ZM209 250Q324.2 250 431.6 314.5 531.3 375 636.7 500 531.3 625 431.6 685.5 324.2 750 209 750 302.7 500 209 250ZM791 459Q806.6 459 820.3 471.7T834 500 820.3 528.3 790 541 761.7 529.3 750 501 762.7 471.7 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-nor\"\n      ]\n    },\n    {\n      \"uid\": \"b63188748eb764503b713e1b7f51cca7\",\n      \"css\": \"gate-not\",\n      \"code\": 985316,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166V834L675.8 541Q687.5 578.1 719.7 601.6T791 625Q843.8 625 879.9 588.9T916 500 879.9 411.1 791 375Q752 375 719.7 398.4T675.8 459ZM166 304.7L570.3 500 166 695.3V304.7ZM791 459Q806.6 459 820.3 471.7T834 500 820.3 528.3 790 541 761.7 529.3 750 501 762.7 471.7 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-not\"\n      ]\n    },\n    {\n      \"uid\": \"edf8e2afa4556688cc218c2d62b1304f\",\n      \"css\": \"gate-or\",\n      \"code\": 985317,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q146.5 293 167 396.5T167 603.5 84 834H334Q433.6 834 548.8 783.2 656.3 738.3 754.9 662.1T916 500Q853.5 414.1 754.9 337.9T548.8 216.8Q433.6 166 334 166H84ZM209 250H334Q437.5 250 576.2 328.1 703.1 398.4 804.7 500 703.1 601.6 576.2 671.9 437.5 750 334 750H209Q252 621.1 252 500T209 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-or\"\n      ]\n    },\n    {\n      \"uid\": \"9308ec623e80a1b7f440832af5a67c16\",\n      \"css\": \"gate-xnor\",\n      \"code\": 985318,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q146.5 293 167 396.5T167 603.5 84 834H166Q230.5 707 251 603.5T252 396.5 169.9 166H84ZM250 166Q314.5 293 334 396.5T334 603.5 250 834H375Q464.8 834 556.6 752 621.1 693.4 695.3 584 732.4 625 791 625 843.8 625 879.9 588.9T916 500 879.9 411.1 791 375Q732.4 375 695.3 416 613.3 300.8 554.7 248 464.8 166 375 166H250ZM375 250Q441.4 250 507.8 316.4 546.9 353.5 609.4 447.3 634.8 484.4 646.5 500 634.8 515.6 609.4 552.7 546.9 646.5 507.8 683.6 441.4 750 375 750 474.6 500 375 250ZM791 459Q806.6 459 820.3 471.7T834 500 820.3 528.3 790 541 761.7 529.3 750 501 762.7 471.7 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-xnor\"\n      ]\n    },\n    {\n      \"uid\": \"dae9981ccb07ad2f06349274e0530697\",\n      \"css\": \"gate-xor\",\n      \"code\": 985319,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q146.5 293 167 396.5T167 603.5 84 834H166Q230.5 707 251 603.5T252 396.5 169.9 166H84ZM250 166Q314.5 293 334 396.5T334 603.5 250 834H375Q525.4 834 662.1 744.1 785.2 666 916 500 785.2 334 662.1 255.9 525.4 166 375 166H250ZM375 250Q490.2 250 597.7 314.5 697.3 375 804.7 500 693.4 627 595.7 685.5 490.2 750 375 750 468.8 500 375 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-xor\"\n      ]\n    },\n    {\n      \"uid\": \"8c0e3957210caea1498fdca29bc29b33\",\n      \"css\": \"gentoo\",\n      \"code\": 985320,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M427.7 84Q404.3 84 384.8 87.9 312.5 99.6 250 144.5 195.3 181.6 159.2 234.4T118.2 333 150.4 419.9Q168 439.5 201.2 459 220.7 472.7 263.7 492.2L294.9 509.8Q214.8 576.2 173.8 619.1 140.6 654.3 121.1 688.5T101.6 748V752Q101.6 798.8 115.2 824.2V826.2Q138.7 871.1 185.5 897.5T298.8 914.1Q390.6 902.3 517.6 830.1 625 767.6 730.5 681.6 787.1 634.8 832 587.9 873 544.9 886.7 521.5 896.5 502 898.4 472.7T892.6 419.9Q882.8 380.9 826.2 318.4T693.4 199.2Q611.3 138.7 539.1 105.5 488.3 84 427.7 84ZM472.7 205.1Q488.3 205.1 500 209 541 218.8 582 253.9 627 294.9 621.1 330.1 615.2 380.9 576.2 403.3T482.4 418Q459 414.1 431.6 398.4 402.3 380.9 384.8 355.5 363.3 324.2 365.2 287.1 369.1 244.1 404.3 222.7 433.6 205.1 472.7 205.1ZM470.7 277.3Q453.1 277.3 447.3 287.1 421.9 324.2 455.1 351.6 457 343.8 475.6 344.7T512.7 352.5 531.3 367.2Q558.6 345.7 552.7 325.2T520.5 291 470.7 277.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gentoo\"\n      ]\n    },\n    {\n      \"uid\": \"302ce7712038acb33308ac2be6401865\",\n      \"css\": \"globe-model\",\n      \"code\": 985321,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M722.7 109.4L664.1 169.9Q705.1 210.9 727.5 263.7T750 375Q750 455.1 710.9 521.5T604.5 627 459 666Q400.4 666 346.7 644.5T252 582L193.4 640.6Q238.3 685.5 295.9 712.9T416 748V834H250V916H666V834H500V748Q593.8 736.3 669.9 684.6T790 550.8 834 375Q834 300.8 804.7 231.4T722.7 109.4ZM459 146.5Q412.1 146.5 370.1 164.1T295.9 213.9 246.1 288.1 228.5 375 246.1 461.9 295.9 536.1 370.1 585.9 459 603.5Q521.5 603.5 573.2 573.2T656.3 490.2 687.5 375Q687.5 330.1 669.9 288.1T620.1 213.9 545.9 164.1 459 146.5ZM459 228.5Q519.5 228.5 561.5 271.5T603.5 375 561.5 478.5 459 521.5 355.5 478.5 312.5 375 355.5 271.5 459 228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"globe-model\"\n      ]\n    },\n    {\n      \"uid\": \"2793746ac62e2ed655c127343261ef83\",\n      \"css\": \"hammer\",\n      \"code\": 985322,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 818.4L560.5 341.8 529.3 312.5 589.8 252 500 162.1Q537.1 125 588.9 125T677.7 162.1L828.1 312.5 769.5 371.1H886.7L916 400.4 769.5 550.8 738.3 521.5V400.4L677.7 460.9 648.4 429.7 171.9 906.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hammer\"\n      ]\n    },\n    {\n      \"uid\": \"389d1dcbf19e73408480ca90ae4eb7a0\",\n      \"css\": \"home-lock\",\n      \"code\": 985323,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM500 375Q552.7 375 588.9 411.1T625 500V541H666V709H334V541H375V500Q375 447.3 411.1 411.1T500 375ZM500 459Q482.4 459 470.7 470.7T459 500V541H541V500Q541 484.4 529.3 471.7T500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-lock\"\n      ]\n    },\n    {\n      \"uid\": \"392d62b372f2ca848e56e93b7e38b28a\",\n      \"css\": \"home-lock-open\",\n      \"code\": 985324,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM500 334Q552.7 334 588.9 370.1T625 459H541Q541 441.4 529.3 428.7T500 416 470.7 428.7 459 459V541H666V709H334V541H375V459Q375 406.3 411.1 370.1T500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-lock-open\"\n      ]\n    },\n    {\n      \"uid\": \"e8e9726b803e9265c63b8e3cba4d64e4\",\n      \"css\": \"linux-mint\",\n      \"code\": 985325,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 134.8V283.2H146.5Q177.7 283.2 189.5 304.7 199.2 320.3 199.2 355.5V619.1Q199.2 685.5 235.4 742.2T332 832 466.8 865.2H830.1Q865.2 865.2 890.6 844.7T916 791V382.8Q916 316.4 880.9 259.8T784.2 169.9 650.4 136.7ZM275.4 226.6H349.6V601.6Q349.6 638.7 371.1 665T423.8 691.4H671.9Q710.9 691.4 737.3 668.9T763.7 613.3V414.1Q763.7 396.5 751 382.8T718.8 369.1 686.5 382.8 673.8 414.1V585.9H595.7V414.1Q595.7 396.5 583 382.8T551.8 369.1 519.5 382.8 505.9 414.1V585.9H429.7V414.1Q429.7 363.3 464.8 327.1T549.8 291 634.8 326.2Q669.9 291 719.7 291T805.7 328.1 841.8 414.1V627Q835.9 681.6 796.9 720.7V720.7Q750 767.6 687.5 767.6H410.2Q361.3 763.7 320.3 722.7 275.4 677.7 275.4 617.2V226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"linux-mint\"\n      ]\n    },\n    {\n      \"uid\": \"bdb48a1b6b41e317c2000a92f91b0a16\",\n      \"css\": \"lock-alert\",\n      \"code\": 985326,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291Q250 222.7 298.8 173.8T417 125 535.2 173.8 584 291V375H625Q660.2 375 684.6 399.4T709 459V791Q709 826.2 684.6 850.6T625 875H209Q173.8 875 149.4 850.6T125 791V459Q125 423.8 149.4 399.4T209 375H250V291ZM500 375V291Q500 257.8 475.6 233.4T417 209 358.4 233.4 334 291V375H500ZM791 375H875V584H791V375ZM791 666H875V750H791V666ZM416 541Q382.8 541 358.4 565.4T334 625 358.4 684.6 417 709 475.6 684.6 500 625 475.6 565.4 416 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-alert\"\n      ]\n    },\n    {\n      \"uid\": \"e98448ac7099e4116d75d5832c52018b\",\n      \"css\": \"lock-question\",\n      \"code\": 985327,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q443.4 41 395.5 69.3T319.3 145.5 291 250V334H250Q214.8 334 190.4 358.4T166 416V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V416Q834 382.8 809.6 358.4T750 334H709V250Q709 193.4 680.7 145.5T604.5 69.3 500 41ZM500 121.1Q552.7 121.1 590.8 159.2T628.9 250V334H371.1V250Q371.1 197.3 409.2 159.2T500 121.1ZM507.8 437.5Q566.4 437.5 600.6 463.9T634.8 533.2Q634.8 560.5 616.2 583T568.4 619.1Q552.7 628.9 546.9 639.6T541 666H459Q459 636.7 471.7 621.1T515.6 585.9Q531.3 578.1 541 564.5T550.8 533.2 540 504.9 507.8 494.1Q492.2 494.1 480.5 502.9T468.8 529.3H386.7Q382.8 484.4 418 460.9T507.8 437.5ZM459 709H541V791H459V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-question\"\n      ]\n    },\n    {\n      \"uid\": \"df717ee69877a74bcc1b73f02fda1348\",\n      \"css\": \"map-marker-distance\",\n      \"code\": 985328,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 337.9Q242.2 337.9 222.7 318.4T203.1 270.5 222.7 222.7 270.5 203.1 318.4 222.7 337.9 271.5V271.5Q337.9 298.8 318.4 318.4T271.5 337.9ZM271.5 84Q193.4 84 138.7 138.7T84 271.5Q84 359.4 177.7 498 224.6 566.4 271.5 619.1V619.1L300.8 584Q335.9 541 365.2 498 406.3 437.5 429.7 384.8 459 318.4 459 271.5 459 193.4 404.3 138.7T271.5 84ZM728.5 337.9Q701.2 337.9 681.6 318.4T662.1 270.5 681.6 222.7 729.5 203.1 777.3 222.7 796.9 270.5 777.3 318.4 728.5 337.9ZM728.5 84Q650.4 84 595.7 138.7T541 271.5Q541 359.4 634.8 498 681.6 566.4 728.5 619.1V619.1L757.8 584Q793 541 822.3 498 863.3 437.5 886.7 384.8 916 318.4 916 271.5 916 193.4 861.3 138.7T728.5 84ZM728.5 666Q689.5 666 657.2 689.5T611.3 750H388.7Q371.1 701.2 324.2 678.7T228.5 673.8 157.2 738.3 152.3 834 216.8 904.3 312.5 910.2Q367.2 890.6 388.7 834H611.3Q628.9 882.8 675.8 905.3T771.5 910.2 842.8 845.7 847.7 750Q834 712.9 801.8 689.5T728.5 666V666ZM728.5 853.5Q703.1 853.5 684.6 835.9T666 792 684.6 747.1 729.5 728.5 773.4 747.1 791 792 773.4 835.9 728.5 853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-distance\"\n      ]\n    },\n    {\n      \"uid\": \"a50c978928a6d4289443fe7026308f1e\",\n      \"css\": \"midi\",\n      \"code\": 985329,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M839.8 343.8H916V656.3H839.8V343.8ZM541 343.8H767.6Q785.2 343.8 794.9 356.4T804.7 386.7V617.2Q804.7 638.7 794.9 647.5T765.6 656.3H541V459H619.1V580.1H728.5V414.1H541V343.8ZM429.7 343.8H505.9V656.3H429.7V343.8ZM84 343.8H355.5Q373 343.8 382.8 356.4T392.6 386.7V656.3H316.4V423.8H271.5V656.3H203.1V423.8H160.2V656.3H84V343.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"midi\"\n      ]\n    },\n    {\n      \"uid\": \"e17cdda87b0d92f7dcf25a3e932f7cc0\",\n      \"css\": \"midi-port\",\n      \"code\": 985330,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM841.8 500Q841.8 380.9 768.6 289.1T584 169.9V250H416V169.9Q304.7 197.3 231.4 289.1T158.2 500Q158.2 568.4 184.6 630.9T258.8 741.2 369.1 815.4 500 841.8 630.9 815.4 741.2 741.2 815.4 630.9 841.8 500ZM291 443.4Q314.5 443.4 331.1 460T347.7 500 331.1 540 291 556.6 251 540 234.4 500 251 460 291 443.4ZM709 443.4Q732.4 443.4 749 460T765.6 500 749 540 709 556.6 668.9 540 652.3 500 668.9 460 709 443.4ZM347.7 593.8Q371.1 593.8 388.7 611.3T406.3 652.3 388.7 692.4 347.7 709 307.6 692.4 291 652.3 307.6 611.3 347.7 593.8ZM652.3 593.8Q675.8 593.8 692.4 611.3T709 652.3 692.4 692.4 652.3 709 611.3 692.4 593.8 652.3 611.3 611.3 652.3 593.8ZM500 652.3Q523.4 652.3 540 668.9T556.6 709 540 749 500 765.6 460 749 443.4 709 460 668.9 500 652.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"midi-port\"\n      ]\n    },\n    {\n      \"uid\": \"f2cb8414a78b07f2be8679209098e988\",\n      \"css\": \"nas\",\n      \"code\": 985331,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM187.5 291Q205.1 291 216.8 303.7T228.5 334 216.8 363.3 187.5 375 158.2 363.3 146.5 334 158.2 303.7 187.5 291ZM291 291H834V709H291V291ZM334 334V666H459V334H334ZM500 334V666H625V334H500ZM666 334V666H791V334H666ZM375 375H416V416H375V375ZM541 375H584V416H541V375ZM709 375H750V416H709V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nas\"\n      ]\n    },\n    {\n      \"uid\": \"192cbb0ae92a4a5259581a07576585fe\",\n      \"css\": \"network-strength-1\",\n      \"code\": 985332,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 875H875V41ZM791 242.2V791H459V576.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-1\"\n      ]\n    },\n    {\n      \"uid\": \"730069b7a6fb6e8e976d12031e74bfe0\",\n      \"css\": \"network-strength-1-alert\",\n      \"code\": 985333,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 41L41 875H709V791H459V576.2L791 242.2V291H875V41ZM791 375V709H875V375H791ZM791 791V875H875V791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-1-alert\"\n      ]\n    },\n    {\n      \"uid\": \"912b444ce5910741695099efcd0b1501\",\n      \"css\": \"network-strength-2\",\n      \"code\": 985334,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 875H875V41ZM791 242.2V791H541V492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-2\"\n      ]\n    },\n    {\n      \"uid\": \"6e459886ed3900c8d5e768de84d32417\",\n      \"css\": \"network-strength-2-alert\",\n      \"code\": 985335,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 41L41 875H709V791H541V492.2L791 242.2V291H875V41ZM791 375V709H875V375H791ZM791 791V875H875V791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-2-alert\"\n      ]\n    },\n    {\n      \"uid\": \"d8333273e9160b5740410de5a78a0b27\",\n      \"css\": \"network-strength-3\",\n      \"code\": 985336,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 875H875V41ZM791 242.2V791H666V367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-3\"\n      ]\n    },\n    {\n      \"uid\": \"d53b835d9fc00317b0366053dd9ed050\",\n      \"css\": \"network-strength-3-alert\",\n      \"code\": 985337,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 41L41 875H709V791H666V367.2L791 242.2V291H875V41ZM791 375V709H875V375H791ZM791 791V875H875V791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-3-alert\"\n      ]\n    },\n    {\n      \"uid\": \"6d5f9d89a1b5ca1e02f241545799d850\",\n      \"css\": \"network-strength-4\",\n      \"code\": 985338,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 875H875V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-4\"\n      ]\n    },\n    {\n      \"uid\": \"5cdf670daffed9b928f53042f4be79d8\",\n      \"css\": \"network-strength-4-alert\",\n      \"code\": 985339,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H875V375H791V709ZM791 875H875V791H791V875ZM41 875H709V291H875V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-4-alert\"\n      ]\n    },\n    {\n      \"uid\": \"2788fde9f2649f57d6505c42306cba44\",\n      \"css\": \"network-strength-off\",\n      \"code\": 985340,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 41L517.6 400.4 875 757.8V41ZM199.2 187.5L146.5 240.2 410.2 505.9 41 875H781.3L863.3 959 916 906.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-off\"\n      ]\n    },\n    {\n      \"uid\": \"7f20fdeecce4b444817f0e0d112badbd\",\n      \"css\": \"network-strength-off-outline\",\n      \"code\": 985341,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 41L517.6 400.4 576.2 460.9 791 242.2V673.8L875 757.8V41ZM199.2 187.5L146.5 240.2 410.2 505.9 41 875H781.3L863.3 959 916 906.3ZM472.7 566.4L697.3 791H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eb330d51cfdba822ec794e5fd1b470c7\",\n      \"css\": \"network-strength-outline\",\n      \"code\": 985342,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 875H875V41ZM791 242.2V791H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-strength-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1634bd661ff825b8d91ad64e08b2526d\",\n      \"css\": \"play-speed\",\n      \"code\": 985343,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 85.9V168Q630.9 179.7 702.1 233.4T807.6 369.1 832 541Q816.4 654.3 735.4 735.4T541 830.1V914.1Q654.3 902.3 744.1 836.9T879.9 670.9 914.1 459Q906.3 361.3 854.5 279.3T720.7 145.5 541 84V85.9ZM236.3 822.3Q334 902.3 459 916V834Q369.1 822.3 294.9 765.6ZM294.9 238.3Q367.2 181.6 459 169.9V85.9Q332 97.7 236.3 177.7ZM236.3 294.9L177.7 236.3Q97.7 332 85.9 459H168Q181.6 367.2 236.3 294.9ZM169.9 541H85.9Q97.7 666 177.7 763.7L236.3 705.1Q179.7 630.9 169.9 541ZM416 687.5L666 500 416 312.5V687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-speed\"\n      ]\n    },\n    {\n      \"uid\": \"d33d472e91c559f3f7134b66a4bc0ddf\",\n      \"css\": \"playlist-edit\",\n      \"code\": 985344,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250V334H584V250H84ZM84 416V500H584V416H84ZM835.9 421.9Q826.2 421.9 818.4 429.7L777.3 470.7 863.3 556.6 904.3 513.7Q910.2 507.8 910.2 498T904.3 482.4L851.6 429.7Q843.8 421.9 835.9 421.9ZM752 494.1L500 748V834H585.9L837.9 580.1ZM84 584V666H416V584H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-edit\"\n      ]\n    },\n    {\n      \"uid\": \"3545dc71de12cfaa40e90b758610c5d9\",\n      \"css\": \"power-cycle\",\n      \"code\": 985345,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500 175.8 687.5 312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791ZM541 709H459V291H541V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-cycle\"\n      ]\n    },\n    {\n      \"uid\": \"f02891e0e37e143ae3973de2534ea884\",\n      \"css\": \"power-off\",\n      \"code\": 985346,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500 175.8 687.5 312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-off\"\n      ]\n    },\n    {\n      \"uid\": \"b6e92e7e5441f5fa50ebe788b26cd43e\",\n      \"css\": \"power-on\",\n      \"code\": 985347,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 125H541V875H459V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-on\"\n      ]\n    },\n    {\n      \"uid\": \"32c2e0569aa5a5a8400ea9ed0d23b7a6\",\n      \"css\": \"power-sleep\",\n      \"code\": 985348,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M781.3 750Q712.9 826.2 617.2 856.4T423.8 866.2 250 777.3 144.5 613.3 135.7 419.9 224.6 248Q271.5 195.3 335 163.1T468.8 125Q402.3 201.2 381.8 298.8T392.6 491.2 500 654.3Q550.8 701.2 615.2 725.6T750 750H781.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-sleep\"\n      ]\n    },\n    {\n      \"uid\": \"9414dd81e707db95eed88916fc170974\",\n      \"css\": \"power-socket-au\",\n      \"code\": 985349,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M175.8 84Q136.7 84 110.4 110.4T84 175.8V824.2Q84 861.3 111.3 888.7T175.8 916H824.2Q863.3 916 889.6 889.6T916 824.2V175.8Q916 138.7 888.7 111.3T824.2 84H175.8ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM343.8 314.5L261.7 459 334 500 416 355.5ZM656.3 314.5L584 355.5 666 500 738.3 459ZM459 584V750H541V584H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-au\"\n      ]\n    },\n    {\n      \"uid\": \"28687eb16ee07bcf845a87d019d56222\",\n      \"css\": \"power-standby\",\n      \"code\": 985350,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125H459V541H541V125ZM742.2 214.8L683.6 275.4Q734.4 316.4 762.7 375T791 500Q791 580.1 752 646.5T646.5 752 500 791 353.5 752 248 646.5 209 500Q209 435.5 237.3 376T316.4 273.4L257.8 214.8Q179.7 281.3 146.5 376T130.9 568.4 213.9 744.1 374 854.5 567.4 870.1 742.2 787.1Q806.6 732.4 840.8 657.2T875 500 840.8 342.8 742.2 214.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-standby\"\n      ]\n    },\n    {\n      \"uid\": \"38780263d48051410fa092e36bf42502\",\n      \"css\": \"rabbit\",\n      \"code\": 985351,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M752 875L638.7 677.7Q638.7 625 610.4 591.8T539.1 558.6Q511.7 558.6 488.3 573.2T453.1 611.3Q474.6 599.6 500 599.6 541 599.6 569.3 627.9T597.7 697.3 569.3 767.6 500 796.9H636.7V875H283.2Q265.6 875 254.9 863.3T244.1 835 255.9 806.6L275.4 787.1Q259.8 779.3 238.3 761.7 230.5 777.3 215.8 787.1T183.6 796.9Q160.2 796.9 142.6 779.3T125 737.3 142.6 695.3 183.6 677.7L203.1 681.6V599.6Q203.1 517.6 260.7 459T400.4 400.4H402.3Q429.7 402.3 476.6 408.2T537.1 412.1Q558.6 406.3 558.6 380.9T564.5 337.9Q570.3 324.2 582 306.6 533.2 283.2 480.5 283.2 462.9 283.2 452.1 271.5T441.4 245.1 449.2 219.7 468.8 205.1L441.4 203.1Q423.8 203.1 412.1 192.4T400.4 165 412.1 136.7 441.4 125H480.5Q544.9 125 599.6 157.2T685.5 244.1H697.3Q740.2 244.1 777.3 269.5L794.9 285.2Q851.6 334 869.1 380.9 877 406.3 875 421.9V421.9Q875 460.9 846.7 489.3T777.3 517.6L755.9 515.6V519.5Q755.9 587.9 705.1 636.7L843.8 875H752ZM755.9 322.3Q740.2 322.3 728.5 334T716.8 362.3 728.5 389.6 756.8 400.4 785.2 389.6 796.9 362.3 785.2 334 755.9 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rabbit\"\n      ]\n    },\n    {\n      \"uid\": \"a25c425feca584990caf3a35e5976bed\",\n      \"css\": \"robot-vacuum-variant\",\n      \"code\": 985352,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V291H209V209H791V291H875V209Q875 173.8 850.6 149.4T791 125H209ZM334 291V375H666V291H334ZM125 375V500Q125 601.6 175.8 687.5T312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500V375H791V500Q791 580.1 752 646.5T646.5 752 500 791 353.5 752 248 646.5 209 500V375H125ZM500 500Q457 500 426.8 530.3T396.5 603.5 426.8 677.7 500 709 573.2 677.7 603.5 603.5 573.2 530.3 500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robot-vacuum-variant\"\n      ]\n    },\n    {\n      \"uid\": \"95b4ace2de962a5d174b766f69e482ac\",\n      \"css\": \"satellite-uplink\",\n      \"code\": 985353,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M494.1 84L472.7 164.1Q609.4 189.5 709 289.1T835.9 527.3L916 505.9Q884.8 345.7 769.5 230.5T494.1 84ZM451.2 244.1L429.7 326.2Q523.4 339.8 591.8 407.2T673.8 570.3L755.9 548.8Q734.4 431.6 650.4 347.7T451.2 244.1ZM154.3 404.3Q125 470.7 125 541 125 603.5 146.5 660.2T209 761.7V916H334V849.6Q392.6 875 459 875 529.3 875 595.7 845.7ZM408.2 406.3L386.7 488.3Q437.5 488.3 474.6 525.4T511.7 613.3L593.8 591.8Q585.9 519.5 533.2 466.8T408.2 406.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"satellite-uplink\"\n      ]\n    },\n    {\n      \"uid\": \"48e1b00767deb6c78302d13c8d6f230b\",\n      \"css\": \"scanner-off\",\n      \"code\": 985354,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 697.3 834H209Q173.8 834 149.4 809.6T125 750V521.5Q125 496.1 139.6 473.6T175.8 445.3L273.4 410.2ZM267.6 500H363.3L337.9 474.6ZM209 625V709H572.3L488.3 625H209ZM824.2 209L853.5 287.1 494.1 418 429.7 353.5ZM791 500Q826.2 500 850.6 524.4T875 584V750Q875 769.5 865.2 789.1L791 716.8V625H701.2L576.2 500H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scanner-off\"\n      ]\n    },\n    {\n      \"uid\": \"5ed139258d0108fbc480388217b1af38\",\n      \"css\": \"book-minus-multiple-outline\",\n      \"code\": 985355,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834V250H125V834Q125 867.2 149.4 891.6T209 916H541V834H209ZM791 84H375Q339.8 84 315.4 108.4T291 166V666Q291 701.2 315.4 725.6T375 750H541V666H375V166H459V416L562.5 322.3 666 416V166H791V666H875V166Q875 132.8 850.6 108.4T791 84ZM959 834H625V750H959V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-minus-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9f74dafd129254f20c49032f11a01b9c\",\n      \"css\": \"square-edit-outline\",\n      \"code\": 985356,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V500H791V791H209V209H500V125H209ZM740.2 166Q728.5 166 720.7 175.8L669.9 224.6 773.4 330.1 824.2 279.3Q834 271.5 834 259.8T824.2 240.2L759.8 175.8Q752 166 740.2 166ZM640.6 255.9L334 562.5V666H437.5L744.1 359.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f25c89d438db17b8e602cd84b33bfdbb\",\n      \"css\": \"sort-numeric-ascending-variant\",\n      \"code\": 985357,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M324.2 291Q404.3 294.9 440.4 353.5T474.6 498Q474.6 593.8 436.5 650.4T320.3 709Q242.2 705.1 206.1 647.5T169.9 499 207 351.6 324.2 291ZM322.3 359.4Q294.9 359.4 279.3 393.6T263.7 499 279.3 605.5 324.2 640.6Q380.9 640.6 381.8 501T322.3 359.4ZM554.7 709V634.8H574.2 595.7L638.7 627Q664.1 619.1 677.7 607.4 699.2 593.8 711.9 574.2T730.5 533.2L728.5 531.3Q701.2 558.6 646.5 558.6T556.6 528.3 520.5 437.5 561.5 335 671.9 291Q750 294.9 787.1 342.8T824.2 466.8Q822.3 527.3 804.7 574.2T755.9 652.3Q726.6 677.7 686.5 691.4T597.7 709H554.7ZM669.9 359.4Q644.5 359.4 627.9 378.9T611.3 431.6Q611.3 459 626 477.5T671.9 498Q691.4 498 705.1 489.3T724.6 470.7Q730.5 464.8 730.5 445.3 730.5 412.1 716.8 386.7T669.9 359.4ZM384.8 209L521.5 72.3 656.3 209H384.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-numeric-ascending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"cf2237e6007ddb1fecd8948551c66b0c\",\n      \"css\": \"steering-off\",\n      \"code\": 985358,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 718.8 853.5Q621.1 916 500 916 330.1 916 207 793T84 500Q84 378.9 146.5 281.3ZM541 830.1Q603.5 822.3 658.2 793L562.5 699.2 541 705.1V830.1ZM169.9 459H291L306.6 443.4 207 343.8Q177.7 396.5 169.9 459ZM830.1 541H705.1Q697.3 576.2 679.7 603.5L412.1 337.9 416 334H584L709 459H830.1Q814.5 335.9 719.7 251T500 166Q390.6 166 306.6 228.5L246.1 169.9Q357.4 84 500 84 669.9 84 793 207T916 500Q916 642.6 830.1 753.9L771.5 695.3Q820.3 627 830.1 541ZM459 830.1V705.1Q396.5 691.4 352.5 647.5T294.9 541H169.9Q183.6 652.3 264.6 733.4T459 830.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"steering-off\"\n      ]\n    },\n    {\n      \"uid\": \"3042ae88decbacf3a4db1bbb477d19a9\",\n      \"css\": \"table-search\",\n      \"code\": 985359,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 746.1Q845.7 679.7 828.1 603.5T745.1 486.3 603.5 462.9 486.3 545.9 462.9 687.5 544.9 804.7Q591.8 832 645.5 832T746.1 804.7L875 933.6 933.6 875ZM720.7 718.8Q689.5 750 646.5 750T573.2 719.7 543 646.5 573.2 572.3 646.5 541 719.7 572.3 750 646.5 718.8 718.8H720.7ZM791 166H209Q173.8 166 149.4 190.4T125 250V750Q125 785.2 149.4 809.6T209 834H451.2Q414.1 796.9 396.5 750H209V584H382.8Q392.6 537.1 416 500H209V334H459V451.2Q496.1 414.1 541 396.5V334H791V416Q816.4 431.6 837.9 453.1T875 500V250Q875 214.8 850.6 190.4T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-search\"\n      ]\n    },\n    {\n      \"uid\": \"29096ee6622d61b65283d5db2ca8f4ec\",\n      \"css\": \"tag-minus\",\n      \"code\": 985360,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L125 533.2Q181.6 500 250 500T376 533.2 466.8 624 500 750 466.8 875L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM228.5 291Q203.1 291 184.6 273.4T166 229.5 184.6 184.6 229.5 166 273.4 184.6 291 229.5 273.4 273.4 228.5 291ZM416 791H84V709H416V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-minus\"\n      ]\n    },\n    {\n      \"uid\": \"40c2274f4dc753d11215a63ac1b44887\",\n      \"css\": \"test-tube-empty\",\n      \"code\": 985361,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709V166H666V750Q666 818.4 617.2 867.2T500 916 382.8 867.2 334 750V166H291V84ZM584 166H416V750Q416 785.2 440.4 809.6T500 834 559.6 809.6 584 750V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"test-tube-empty\"\n      ]\n    },\n    {\n      \"uid\": \"9dcc3d0e88a183d3594fa39ab7e98a21\",\n      \"css\": \"test-tube-off\",\n      \"code\": 985362,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 660.2 796.9Q644.5 849.6 600.6 882.8T500 916Q431.6 916 382.8 867.2T334 750V468.8ZM291 84H709V166H666V591.8L568.4 492.2Q584 480.5 584 460T572.3 427.7 540 416 507.8 431.6L334 257.8V166H291V84ZM459 666Q474.6 666 485.4 658.2T500 634.8L449.2 584Q433.6 587.9 424.8 598.6T416 627 427.7 655.3 459 666ZM584 291V166H416V291H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"test-tube-off\"\n      ]\n    },\n    {\n      \"uid\": \"e5da0375e372f0a878468e3927cb0325\",\n      \"css\": \"ticket-outline\",\n      \"code\": 985363,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V416Q117.2 416 141.6 440.4T166 500 141.6 559.6 84 584V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V584Q882.8 584 858.4 559.6T834 500 858.4 440.4 916 416V250Q916 214.8 891.6 190.4T834 166H166ZM166 250H834V355.5Q794.9 378.9 772.5 417T750 500 772.5 583 834 644.5V750H166V644.5Q205.1 621.1 227.5 583T250 500 227.5 417 166 355.5V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6d18a6f549cf5920b9d54d2f23fb4178\",\n      \"css\": \"track-light\",\n      \"code\": 985364,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 41V125H375V267.6L171.9 181.6 60.5 451.2 291 546.9 498 701.2 574.2 732.4 734.4 347.7 656.3 316.4 459 287.1V125H584V41H250ZM908.2 261.7L812.5 302.7 843.8 378.9 939.5 339.8ZM824.2 564.5L791 642.6 908.2 689.5 939.5 613.3ZM673.8 789.1L597.7 820.3 636.7 916 714.8 884.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"track-light\"\n      ]\n    },\n    {\n      \"uid\": \"120098355ffd3ef01ded778ac261f482\",\n      \"css\": \"transition\",\n      \"code\": 985365,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 84Q705.1 84 771.5 123T877 228.5 916 377 873 528.3 759.8 634.8Q716.8 716.8 634.8 759.8 597.7 830.1 528.3 873T377 916 228.5 877 123 771.5 84 623 127 471.7 240.2 365.2Q283.2 283.2 365.2 240.2 402.3 169.9 471.7 127T625 84ZM500 791Q419.9 791 353.5 752T248 646.5 209 500Q166 554.7 166 625 166 681.6 194.3 729.5T270.5 805.7 375 834Q445.3 834 500 791ZM625 666Q544.9 666 478.5 627T373 521.5 334 375V375Q291 429.7 291 500 291 556.6 319.3 604.5T395.5 680.7 500 709Q570.3 709 625 666V666ZM625 166Q554.7 166 500 209V209Q580.1 209 646.5 248T752 353.5 791 500V500Q834 445.3 834 375 834 318.4 805.7 270.5T729.5 194.3 625 166ZM416 375Q416 431.6 444.3 479.5T520.5 555.7 625 584Q662.1 584 695.3 570.3 709 537.1 709 500 709 443.4 680.7 395.5T604.5 319.3 500 291Q462.9 291 429.7 304.7 416 337.9 416 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transition\"\n      ]\n    },\n    {\n      \"uid\": \"c64e57dfe4b02a840bea563f23258460\",\n      \"css\": \"transition-masked\",\n      \"code\": 985366,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 84Q746.1 84 831.1 168.9T916 375Q916 470.7 857.4 548.8T707 654.3L709 640.6V625Q709 488.3 610.4 389.6T375 291H359.4L345.7 293Q373 201.2 451.2 142.6T625 84ZM375 334Q455.1 334 521.5 373T627 478.5 666 625 627 771.5 521.5 877 375 916 228.5 877 123 771.5 84 625 123 478.5 228.5 373 375 334ZM375 416Q334 416 295.9 432.6T228.5 478.5 182.6 545.9 166 625Q166 681.6 194.3 729.5T270.5 805.7 375 834 479.5 805.7 555.7 729.5 584 625 555.7 520.5 479.5 444.3 375 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transition-masked\"\n      ]\n    },\n    {\n      \"uid\": \"653cdbedb20158470bb929695023ddab\",\n      \"css\": \"tumble-dryer\",\n      \"code\": 985367,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM291 166Q273.4 166 261.7 178.7T250 209 261.7 238.3 291 250 321.3 238.3 334 209 321.3 178.7 291 166ZM416 166Q398.4 166 386.7 178.7T375 209 386.7 238.3 416 250 446.3 238.3 459 209 446.3 178.7 416 166ZM500 334Q451.2 334 404.3 352.5T322.3 406.3 268.6 487.3 250 584Q250 650.4 283.2 708T374 799.8 500 834 626 799.8 716.8 708 750 584Q750 533.2 731.4 487.3T677.7 406.3 595.7 352.5 500 334ZM337.9 437.5H416Q410.2 478.5 416 505.9T441.4 554.7Q511.7 623 496.1 728.5H416Q423.8 687.5 418 660.2T392.6 613.3Q322.3 544.9 337.9 437.5ZM503.9 437.5H584Q576.2 478.5 582 505.9T607.4 554.7Q677.7 623 662.1 728.5H584Q589.8 687.5 584 660.2T558.6 613.3Q488.3 544.9 503.9 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tumble-dryer\"\n      ]\n    },\n    {\n      \"uid\": \"031fc91677d81593ce98d0a21f528dd2\",\n      \"css\": \"file-refresh\",\n      \"code\": 985368,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q818.4 603.5 867.2 652.3L916 603.5V771.5H750L824.2 697.3Q793 666 750 666T676.8 697.3 646.5 771.5 676.8 844.7 750 875Q802.7 875 834 834H904.3Q886.7 880.9 844.7 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM541 375H771.5L541 146.5V375ZM250 84H584L834 334V507.8Q800.8 500 771.5 500 697.3 500 634.8 536.1T536.1 634.8 500 771.5Q500 849.6 541 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"b4b4a32b8a958ccf9e2e703e83aac635\",\n      \"css\": \"video-account\",\n      \"code\": 985369,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 437.5L875 271.5V728.5L709 562.5V709Q709 726.6 696.3 738.3T666 750H166Q148.4 750 136.7 738.3T125 709V291Q125 273.4 136.7 261.7T166 250H666Q683.6 250 696.3 261.7T709 291V437.5ZM584 666V625Q584 587.9 521.5 562.5 468.8 541 417 541T312.5 562.5Q250 587.9 250 625V666H584ZM416 334Q382.8 334 358.4 358.4T334 417 358.4 475.6 417 500 475.6 475.6 500 417 475.6 358.4 416 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-account\"\n      ]\n    },\n    {\n      \"uid\": \"1ff0482b052480a838f9f53e62049adb\",\n      \"css\": \"video-image\",\n      \"code\": 985370,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 437.5L875 271.5V728.5L709 562.5V709Q709 726.6 696.3 738.3T666 750H166Q148.4 750 136.7 738.3T125 709V291Q125 273.4 136.7 261.7T166 250H666Q683.6 250 696.3 261.7T709 291V437.5ZM455.1 398.4L382.8 492.2 437.5 564.5 406.3 587.9 322.3 472.7 209 625H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-image\"\n      ]\n    },\n    {\n      \"uid\": \"66b5e8a2c57a464f7b28d5412f8cb628\",\n      \"css\": \"video-stabilization\",\n      \"code\": 985371,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166ZM166 250V750H834V250H166ZM300.8 273.4L785.2 404.3 699.2 726.6 214.8 595.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-stabilization\"\n      ]\n    },\n    {\n      \"uid\": \"c9d8726d341539179ae5112ae7473f6a\",\n      \"css\": \"wall-sconce\",\n      \"code\": 985372,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166L291 541H791L625 166H459ZM166 584V916H250V791H584V584H500V709H250V584H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wall-sconce\"\n      ]\n    },\n    {\n      \"uid\": \"e26ab6a48303dd1e40e56ce9e5baf182\",\n      \"css\": \"wall-sconce-flat\",\n      \"code\": 985373,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209V459H791V209H209ZM218.8 554.7L146.5 628.9 205.1 687.5 279.3 613.3ZM781.3 554.7L720.7 613.3 794.9 687.5 853.5 628.9ZM459 666V791H541V666H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wall-sconce-flat\"\n      ]\n    },\n    {\n      \"uid\": \"48a907811fab07f37b1be061cf244595\",\n      \"css\": \"wall-sconce-round-variant\",\n      \"code\": 985374,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 209V334H541V209H459ZM205.1 312.5L146.5 371.1 218.8 445.3 279.3 386.7ZM794.9 312.5L720.7 386.7 781.3 445.3 853.5 371.1ZM166 500Q166 589.8 210.9 667T334 789.1 500 834 666 789.1 789.1 667 834 500H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wall-sconce-round-variant\"\n      ]\n    },\n    {\n      \"uid\": \"252ef001cc4d3c6dbceb0a35b020f1e7\",\n      \"css\": \"wifi-strength-1\",\n      \"code\": 985375,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 986.3 291Q880.9 210.9 755.9 168T500 125ZM500 209Q695.3 209 863.3 310.5L650.4 576.2Q580.1 541 500 541T349.6 574.2L136.7 310.5Q304.7 209 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-1\"\n      ]\n    },\n    {\n      \"uid\": \"02e53ffff6e4b39dcc95060626be34e3\",\n      \"css\": \"wifi-strength-1-alert\",\n      \"code\": 985376,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 791 533.2V400.4L650.4 576.2Q580.1 541 500 541T349.6 574.2L136.7 310.5Q304.7 209 500 209T863.3 310.5L843.8 334H951.2L986.3 291Q880.9 210.9 755.9 168T500 125ZM875 416V750H959V416H875ZM875 834V916H959V834H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-1-alert\"\n      ]\n    },\n    {\n      \"uid\": \"af96e86dafd84bc7e474f1bcae27e135\",\n      \"css\": \"wifi-strength-1-lock\",\n      \"code\": 985377,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q630.9 125 755.9 168T986.3 291L898.4 400.4 853.5 396.5Q818.4 396.5 785.2 408.2L863.3 310.5Q693.4 209 499 209T136.7 310.5L349.6 574.2Q419.9 541 498 541T648.4 574.2L646.5 603.5V714.8L500 896.5 15.6 291Q119.1 210.9 244.1 168T500 125ZM959 666Q974.6 666 987.3 679.7T1000 709V875Q1000 890.6 987.3 903.3T959 916H750Q734.4 916 721.7 903.3T709 875V709Q709 693.4 721.7 679.7T750 666V603.5Q750 560.5 780.3 530.3T854.5 500 928.7 530.3 959 603.5V666ZM916 666V603.5Q916 580.1 897.5 560.5T854.5 541 810.5 560.5 791 603.5V666H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-1-lock\"\n      ]\n    },\n    {\n      \"uid\": \"2c82e8f9e6727ef51eb3491d5c41cdf4\",\n      \"css\": \"wifi-strength-2\",\n      \"code\": 985378,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 986.3 291Q880.9 210.9 755.9 168T500 125ZM500 209Q695.3 209 863.3 310.5L728.5 476.6Q623 416 501 416T271.5 476.6L136.7 310.5Q304.7 209 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-2\"\n      ]\n    },\n    {\n      \"uid\": \"5a7e0ccf4f2ddcaab3794483ec26127e\",\n      \"css\": \"wifi-strength-2-alert\",\n      \"code\": 985379,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 791 533.2V400.4L728.5 476.6Q623 416 501 416T271.5 476.6L136.7 310.5Q304.7 209 500 209T863.3 310.5L843.8 334H951.2L986.3 291Q880.9 210.9 755.9 168T500 125ZM875 416V750H959V416H875ZM875 834V916H959V834H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-2-alert\"\n      ]\n    },\n    {\n      \"uid\": \"f18be8a91a34dd725bb27f0d53bad4f4\",\n      \"css\": \"wifi-strength-2-lock\",\n      \"code\": 985380,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 646.5 714.8V603.5Q646.5 564.5 661.1 527.3T701.2 462.9Q603.5 416 500 416 378.9 416 271.5 476.6L136.7 310.5Q304.7 209 499 209T863.3 310.5L785.2 408.2Q818.4 396.5 853.5 396.5 877 396.5 898.4 400.4L986.3 291Q880.9 210.9 755.9 168T500 125ZM853.5 500Q810.5 500 780.3 530.3T750 603.5V666Q734.4 666 721.7 679.7T709 709V875Q709 890.6 721.7 903.3T750 916H959Q974.6 916 987.3 903.3T1000 875V709Q1000 693.4 987.3 679.7T959 666V603.5Q959 560.5 928.7 530.3T853.5 500ZM853.5 541Q878.9 541 897.5 560.5T916 603.5V666H791V603.5Q791 580.1 810.5 560.5T853.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-2-lock\"\n      ]\n    },\n    {\n      \"uid\": \"991acde9377f3b14263c3442ff2bd4d4\",\n      \"css\": \"wifi-strength-3\",\n      \"code\": 985381,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 986.3 291Q880.9 210.9 755.9 168T500 125ZM500 209Q695.3 209 863.3 310.5L781.3 412.1Q648.4 334 500 334T216.8 410.2L136.7 310.5Q304.7 209 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-3\"\n      ]\n    },\n    {\n      \"uid\": \"e1065774e5f5168705025eec1532d8a9\",\n      \"css\": \"wifi-strength-3-alert\",\n      \"code\": 985382,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 791 533.2V400.4L781.3 412.1Q648.4 334 500 334T216.8 410.2L136.7 310.5Q304.7 209 500 209T863.3 310.5L843.8 334H951.2L986.3 291Q880.9 210.9 755.9 168T500 125ZM875 416V750H959V416H875ZM875 834V916H959V834H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-3-alert\"\n      ]\n    },\n    {\n      \"uid\": \"7db4c912aa534e5175f86da061a580f5\",\n      \"css\": \"wifi-strength-3-lock\",\n      \"code\": 985383,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 646.5 714.8V603.5Q646.5 539.1 682.6 486.3T779.3 410.2Q648.4 334 500 334T216.8 410.2L136.7 310.5Q304.7 209 499 209T863.3 310.5L785.2 408.2Q818.4 396.5 853.5 396.5 877 396.5 898.4 400.4L986.3 291Q880.9 210.9 755.9 168T500 125ZM853.5 500Q810.5 500 780.3 530.3T750 603.5V666Q734.4 666 721.7 679.7T709 709V875Q709 890.6 721.7 903.3T750 916H959Q974.6 916 987.3 903.3T1000 875V709Q1000 693.4 987.3 679.7T959 666V603.5Q959 560.5 928.7 530.3T853.5 500ZM853.5 541Q878.9 541 897.5 560.5T916 603.5V666H791V603.5Q791 580.1 810.5 560.5T853.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-3-lock\"\n      ]\n    },\n    {\n      \"uid\": \"e2071676baad497aafcc73b21b22c690\",\n      \"css\": \"wifi-strength-4\",\n      \"code\": 985384,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 986.3 291Q880.9 210.9 755.9 168T500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-4\"\n      ]\n    },\n    {\n      \"uid\": \"2a8f6e44bbf0692e2e5bcb30e660dbdf\",\n      \"css\": \"wifi-strength-4-alert\",\n      \"code\": 985385,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 791 533.2V334H951.2L986.3 291Q880.9 210.9 755.9 168T500 125ZM875 416V750H959V416H875ZM875 834V916H959V834H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-4-alert\"\n      ]\n    },\n    {\n      \"uid\": \"1de17d68ce09867814ae2f2d72765600\",\n      \"css\": \"wifi-strength-4-lock\",\n      \"code\": 985386,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 646.5 714.8V603.5Q646.5 546.9 673.8 499T749 423.8 853.5 396.5Q877 396.5 898.4 400.4L986.3 291Q880.9 210.9 755.9 168T500 125ZM853.5 500Q810.5 500 780.3 530.3T750 603.5V666Q734.4 666 721.7 679.7T709 709V875Q709 890.6 721.7 903.3T750 916H959Q974.6 916 987.3 903.3T1000 875V709Q1000 693.4 987.3 679.7T959 666V603.5Q959 560.5 928.7 530.3T853.5 500ZM853.5 541Q878.9 541 897.5 560.5T916 603.5V666H791V603.5Q791 580.1 810.5 560.5T853.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-4-lock\"\n      ]\n    },\n    {\n      \"uid\": \"3dbafcd439677edf7febe53f6244a887\",\n      \"css\": \"wifi-strength-alert-outline\",\n      \"code\": 985387,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291V291L500 896.5 791 533.2V400.4L500 761.7 136.7 310.5Q304.7 209 500 209T863.3 310.5L843.8 334H951.2L986.3 291Q880.9 210.9 755.9 168T500 125ZM875 416V750H959V416H875ZM875 834V916H959V834H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5291571bf7ef183ee51089453c90e3a5\",\n      \"css\": \"wifi-strength-lock-outline\",\n      \"code\": 985388,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291L500 896.5 646.5 714.8V603.5Q646.5 587.9 648.4 578.1L500 761.7 136.7 310.5Q304.7 209 499 209T863.3 310.5L785.2 408.2Q818.4 396.5 853.5 396.5 877 396.5 898.4 400.4L919.9 373Q964.8 316.4 986.3 291 880.9 210.9 755.9 168T500 125ZM853.5 500Q810.5 500 780.3 530.3T750 603.5V666Q734.4 666 721.7 679.7T709 709V875Q709 890.6 721.7 903.3T750 916H959Q974.6 916 987.3 903.3T1000 875V709Q1000 693.4 987.3 679.7T959 666V603.5Q959 560.5 928.7 530.3T853.5 500ZM853.5 541Q878.9 541 897.5 560.5T916 603.5V666H791V603.5Q791 580.1 810.5 560.5T853.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bf2e4cafa79a6a705e78c6251f57e552\",\n      \"css\": \"wifi-strength-off\",\n      \"code\": 985389,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 60.5L84 113.3 168 199.2Q82 238.3 15.6 291L500 896.5 662.1 693.4 800.8 832 853.5 779.3ZM500 125Q412.1 125 328.1 146.5L757.8 576.2Q804.7 515.6 904.3 392.6L986.3 291Q880.9 210.9 755.9 168T500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-off\"\n      ]\n    },\n    {\n      \"uid\": \"04e77adaee550e38c0dc8194bd7ae5d0\",\n      \"css\": \"wifi-strength-off-outline\",\n      \"code\": 985390,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 60.5L84 113.3 168 199.2Q82 238.3 15.6 291L500 896.5 662.1 693.4 800.8 832 853.5 779.3ZM500 125Q412.1 125 328.1 146.5L398.4 216.8Q451.2 209 500 209 695.3 209 863.3 310.5L699.2 515.6 757.8 574.2 822.3 494.1Q935.5 351.6 986.3 291 880.9 210.9 755.9 168T500 125ZM232.4 261.7L603.5 632.8 500 761.7 136.7 310.5Q181.6 283.2 232.4 261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"00d50dc47edbe74fc6033d750bae090a\",\n      \"css\": \"wifi-strength-outline\",\n      \"code\": 985391,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q369.1 125 244.1 168T15.6 291V291L500 896.5 986.3 291Q880.9 210.9 755.9 168T500 125ZM500 209Q695.3 209 863.3 310.5L500 761.7 136.7 310.5Q304.7 209 500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-strength-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3343556f8f5d0bbf2da43acabf349683\",\n      \"css\": \"pin-off-outline\",\n      \"code\": 985392,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 257.8V166H291V84H709V166H666V500L750 584V666H742.2L584 507.8V166H416V341.8ZM834 863.3L779.3 916 533.2 669.9V916H466.8V666H250V584L334 500V470.7L84 220.7 136.7 166ZM367.2 584H441.4L404.3 544.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pin-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ae4afa7a68c379a8fb8ffe8aec535b3b\",\n      \"css\": \"pin-outline\",\n      \"code\": 985393,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 500V166H709V84H291V166H334V500L250 584V666H466.8V916H533.2V666H750V584ZM367.2 584L416 533.2V166H584V533.2L632.8 584H367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pin-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ef233545df0a0744e07c82d6b55cc09c\",\n      \"css\": \"share-outline\",\n      \"code\": 985394,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 209V375Q380.9 404.3 259.8 541 160.2 656.3 125 834 203.1 724.6 314.5 672.9T584 621.1V791L875 500ZM666 410.2L757.8 500 666 589.8V537.1H584Q466.8 537.1 347.7 576.2 447.3 478.5 595.7 459L666 447.3V410.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26fb32f4f123c04965c4b8e6fcf9c3d6\",\n      \"css\": \"trackpad-lock\",\n      \"code\": 985395,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V709Q41 742.2 65.4 766.6T125 791H584V709H500V541H695.3Q748 500 812.5 500 843.8 500 875 511.7V125Q875 89.8 850.6 65.4T791 41H125ZM125 125H791V459H125V125ZM125 541H416V709H125V541ZM812.5 584Q769.5 584 739.3 614.3T709 687.5V709Q691.4 709 678.7 720.7T666 750V916Q666 933.6 678.7 946.3T709 959H916Q933.6 959 946.3 946.3T959 916V750Q959 732.4 946.3 720.7T916 709V687.5Q916 644.5 885.7 614.3T812.5 584ZM812.5 625Q837.9 625 856.4 643.6T875 687.5V709H750V687.5Q750 662.1 768.6 643.6T812.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trackpad-lock\"\n      ]\n    },\n    {\n      \"uid\": \"e36a47f2d683db256e049671f697c590\",\n      \"css\": \"account-box-multiple\",\n      \"code\": 985396,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM834 84Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84H834ZM709 291Q709 240.2 671.9 203.1T583 166 495.1 203.1 459 292 495.1 379.9 583 416 671.9 379.9 709 291ZM334 625V666H834V625Q834 585.9 787.1 554.7 748 527.3 685.5 511.7 628.9 496.1 583 496.1T482.4 511.7Q418 527.3 378.9 554.7 334 585.9 334 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"d4932b2752dc423491073c7c8373dadb\",\n      \"css\": \"adobe\",\n      \"code\": 985398,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 125H916V820.3ZM392.6 125H84V820.3ZM500 382.8L695.3 820.3H562.5L507.8 679.7H365.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"adobe\"\n      ]\n    },\n    {\n      \"uid\": \"1da3f2d9542cefb1f00567fe601c6746\",\n      \"css\": \"angle-acute\",\n      \"code\": 985399,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 791H169.9L591.8 185.5 658.2 232.4 470.7 505.9Q521.5 531.3 552.7 581.1T584 689.5Q584 701.2 582 709H834V791ZM330.1 709H498Q500 701.2 500 689.5 500 650.4 478.5 619.1T421.9 574.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"angle-acute\"\n      ]\n    },\n    {\n      \"uid\": \"5505b9f25e0c7b3f605fd07a7746918a\",\n      \"css\": \"angle-obtuse\",\n      \"code\": 985400,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791H388.7L169.9 222.7 248 193.4 373 521.5Q408.2 507.8 445.3 507.8V507.8Q529.3 507.8 588.9 566.4T648.4 709H875V791ZM445.3 709H566.4Q564.5 658.2 530.3 624T445.3 589.8Q423.8 589.8 402.3 597.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"angle-obtuse\"\n      ]\n    },\n    {\n      \"uid\": \"b8f92567801e4559aee0a1cceafaef78\",\n      \"css\": \"angle-right\",\n      \"code\": 985401,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166H291V459H541V709H834V791H209V166ZM291 709H459V541H291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"angle-right\"\n      ]\n    },\n    {\n      \"uid\": \"5d0ab21267a7776425de7a8af579fb89\",\n      \"css\": \"animation-play\",\n      \"code\": 985402,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H584V166H166V584H84V166Q84 132.8 108.4 108.4T166 84ZM334 250H750V334H334V750H250V334Q250 298.8 274.4 274.4T334 250ZM500 416H834Q867.2 416 891.6 440.4T916 500V834Q916 867.2 891.6 891.6T834 916H500Q464.8 916 440.4 891.6T416 834V500Q416 464.8 440.4 440.4T500 416ZM584 500V834L834 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"animation-play\"\n      ]\n    },\n    {\n      \"uid\": \"8fbdc1865789a3fe6430382b00d42568\",\n      \"css\": \"arrow-split-horizontal\",\n      \"code\": 985403,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 750H459V625H84V541H916V625H541V750H666L500 916ZM500 84L334 250H459V375H84V459H916V375H541V250H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-split-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"8ec644833b82aebb0484775aedaa0e04\",\n      \"css\": \"arrow-split-vertical\",\n      \"code\": 985404,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 666V541H625V916H541V84H625V459H750V334L916 500ZM84 500L250 666V541H375V916H459V84H375V459H250V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-split-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"a433526e6fc2acd87afef040ebc76965\",\n      \"css\": \"audio-video\",\n      \"code\": 985405,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 291H166Q132.8 291 108.4 315.4T84 375V625Q84 660.2 108.4 684.6T166 709H209V750Q209 769.5 219.7 780.3T250 791H334Q351.6 791 363.3 780.3T375 750V709H625V750Q625 769.5 636.7 780.3T666 791H750Q769.5 791 780.3 780.3T791 750V709H834Q867.2 709 891.6 684.6T916 625V375Q916 339.8 891.6 315.4T834 291ZM584 500H166V416H584V500ZM750 541Q714.8 541 690.4 516.6T666 458 690.4 399.4 750 375 809.6 399.4 834 458 809.6 516.6 750 541ZM250 625H166V584H250V625ZM416 625H334V584H416V625ZM584 625H500V584H584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"audio-video\"\n      ]\n    },\n    {\n      \"uid\": \"352d104b20159387141c3fb40f9d0658\",\n      \"css\": \"battery-10-bluetooth\",\n      \"code\": 985406,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V750H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-10-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"ced86fee19dae6ad4df978243735b157\",\n      \"css\": \"battery-20-bluetooth\",\n      \"code\": 985407,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V709H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-20-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"3fc74e177816e32b573d69b13ff1fe93\",\n      \"css\": \"battery-30-bluetooth\",\n      \"code\": 985408,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V625H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-30-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"64deface922045fc58ef3491b590338b\",\n      \"css\": \"battery-40-bluetooth\",\n      \"code\": 985409,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V584H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-40-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"ecfb0df7277e225f2006b395eea110db\",\n      \"css\": \"battery-50-bluetooth\",\n      \"code\": 985410,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V541H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-50-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"5ed920a46b69931f5d54a8ebe7f84c03\",\n      \"css\": \"battery-60-bluetooth\",\n      \"code\": 985411,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V500H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-60-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"cf52dc5dd37938f5f4193f0683224b15\",\n      \"css\": \"battery-70-bluetooth\",\n      \"code\": 985412,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V416H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-70-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"b36b845a0143564622fc6bebc8d70729\",\n      \"css\": \"battery-80-bluetooth\",\n      \"code\": 985413,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V375H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-80-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"c587c5fd6d95ccc7a5de8bc9dcb6f35b\",\n      \"css\": \"battery-90-bluetooth\",\n      \"code\": 985414,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM166 250H500V334H166V250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-90-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"87e66f674a9648954c0fd62134c9156c\",\n      \"css\": \"battery-alert-bluetooth\",\n      \"code\": 985415,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM291 375H375V584H291V375ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8ZM291 666H375V750H291V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-alert-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"6d15f3d5b3116f3a462ae569cdd81390\",\n      \"css\": \"battery-bluetooth\",\n      \"code\": 985416,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"20e0cb2022b2a459980fce977c28fe79\",\n      \"css\": \"battery-bluetooth-variant\",\n      \"code\": 985417,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166H625V84H375ZM492.2 334H513.7L632.8 451.2 543 541 632.8 630.9 513.7 750H492.2V591.8L398.4 687.5 367.2 658.2 484.4 541 367.2 425.8 398.4 396.5 492.2 492.2V334ZM535.2 412.1V492.2L574.2 451.2ZM535.2 591.8V669.9L574.2 630.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-bluetooth-variant\"\n      ]\n    },\n    {\n      \"uid\": \"2db5514da6933e6261d178decc75206f\",\n      \"css\": \"battery-unknown-bluetooth\",\n      \"code\": 985418,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166H459V84H209ZM334 250Q402.3 250 451.2 298.8T500 416Q500 470.7 460.9 509.8L423.8 548.8Q404.3 568.4 394.5 582 382.8 601.6 378.9 625H293Q300.8 568.4 339.8 527.3L392.6 474.6Q416 451.2 416 417T391.6 358.4 333 334 274.4 358.4 250 416H166Q166 347.7 214.8 298.8T334 250ZM791 334V492.2L695.3 396.5 666 425.8 783.2 541 666 658.2 695.3 687.5 791 591.8V750H812.5L931.6 630.9 841.8 541 931.6 451.2 812.5 334H791ZM834 412.1L873 451.2 834 492.2V412.1ZM834 591.8L873 630.9 834 669.9V591.8ZM291 709H375V791H291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-unknown-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"cfe9ed5bcb5b5a73356c5f9561a78820\",\n      \"css\": \"buddhism\",\n      \"code\": 985419,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84V125Q351.6 136.7 267.6 205.1L234.4 173.8 175.8 232.4 209 263.7Q138.7 349.6 125 459H84V541H125Q138.7 648.4 209 732.4L175.8 763.7 234.4 822.3 265.6 791Q351.6 861.3 459 875V916H541V875Q648.4 861.3 732.4 791L765.6 822.3 824.2 763.7 791 732.4Q861.3 650.4 875 541H916V459H875Q861.3 349.6 791 265.6L824.2 232.4 765.6 173.8 734.4 205.1Q650.4 138.7 541 125V84H459ZM459 209V334L416 353.5 326.2 263.7Q386.7 218.8 459 209ZM541 209Q615.2 220.7 675.8 263.7L584 353.5 541 334V209ZM267.6 324.2L353.5 416 334 459H209Q218.8 388.7 265.6 322.3ZM732.4 324.2Q779.3 382.8 791 459H666L646.5 416 734.4 324.2H732.4ZM500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM209 541H334L357.4 584 265.6 673.8Q220.7 615.2 209 541V541ZM666 541H791Q779.3 615.2 734.4 673.8L646.5 584ZM416 646.5L459 666V791Q384.8 779.3 324.2 732.4ZM584 646.5L673.8 732.4Q607.4 783.2 541 791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"buddhism\"\n      ]\n    },\n    {\n      \"uid\": \"bc4032fe815c1835517bc8eaa8f60455\",\n      \"css\": \"calendar-search\",\n      \"code\": 985420,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM791 334H209V791H396.5Q414.1 837.9 451.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41H334V125H666V41H750V125H791Q826.2 125 850.6 149.4T875 209V543Q845.7 494.1 791 459V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-search\"\n      ]\n    },\n    {\n      \"uid\": \"372f4c5e4503acca813eab1928dfc0da\",\n      \"css\": \"cellphone-erase\",\n      \"code\": 985421,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 341.8L416 300.8 250 466.8 84 300.8 41 341.8 209 507.8 41 675.8 84 716.8 250 550.8 416 716.8 459 675.8 291 507.8ZM709 41H291Q257.8 41 233.4 65.4T209 125V250H291V166H709V834H291V750H209V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-erase\"\n      ]\n    },\n    {\n      \"uid\": \"778b4c0b3316eb175a0816f7b2ea7400\",\n      \"css\": \"cellphone-key\",\n      \"code\": 985422,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 41Q257.8 41 233.4 65.4T209 125V291H291V166H709V834H291V709H209V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41H291ZM250 375Q197.3 375 161.1 411.1T125 500 161.1 588.9 250 625Q291 625 323.2 601.6T367.2 541H459V625H541V541H584V459H367.2Q355.5 421.9 323.2 398.4T250 375ZM250 459Q267.6 459 279.3 470.7T291 500 279.3 529.3 250 541 220.7 529.3 209 500 220.7 470.7 250 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-key\"\n      ]\n    },\n    {\n      \"uid\": \"e2401c370368a25f67389abafb2c41e2\",\n      \"css\": \"cellphone-lock\",\n      \"code\": 985423,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 41H291Q257.8 41 233.4 65.4T209 125V250H291V166H709V834H291V750H209V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41ZM367.2 459V396.5Q367.2 353.5 331.1 322.3T250 291 168.9 322.3 132.8 396.5V459Q115.2 459 99.6 474.6T84 507.8V654.3Q84 675.8 98.6 692.4T132.8 709H363.3Q384.8 709 400.4 693.4T416 658.2V511.7Q416 490.2 401.4 474.6T367.2 459ZM312.5 459H187.5V396.5Q187.5 371.1 206.1 356.4T250 341.8 293.9 356.4 312.5 396.5V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-lock\"\n      ]\n    },\n    {\n      \"uid\": \"602bb2945b7db7a13c264e03c0363581\",\n      \"css\": \"cellphone-off\",\n      \"code\": 985424,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M99.6 72.3L46.9 125 209 287.1V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V871.1L869.1 947.3 921.9 894.5ZM709 791H291V371.1L709 787.1V791ZM709 209V574.2L791 658.2V125Q791 89.8 766.6 65.4T709 41H291Q269.5 41 249 52.7T218.8 84L343.8 209H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-off\"\n      ]\n    },\n    {\n      \"uid\": \"0b5d1b1764dbe0b57803d5cfba63726e\",\n      \"css\": \"cellphone-cog\",\n      \"code\": 985425,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 521.5L410.2 519.5V500L408.2 478.5 455.1 445.3Q459 441.4 457 431.6L414.1 359.4Q410.2 353.5 400.4 355.5L347.7 377Q332 363.3 310.5 355.5L302.7 300.8Q302.7 291 293 291H209Q197.3 291 197.3 300.8L187.5 355.5Q175.8 361.3 152.3 375L99.6 353.5Q89.8 351.6 85.9 359.4L43 431.6Q39.1 439.5 44.9 445.3L91.8 478.5Q89.8 490.2 89.8 500L91.8 521.5 44.9 554.7Q39.1 558.6 43 568.4L85.9 640.6Q87.9 646.5 99.6 646.5L152.3 625Q169.9 636.7 189.5 644.5L197.3 699.2Q197.3 709 209 709H293Q302.7 709 304.7 699.2L312.5 644.5Q326.2 638.7 347.7 625L402.3 646.5Q410.2 648.4 414.1 640.6L459 568.4Q460.9 560.5 455.1 554.7ZM250 572.3Q218.8 572.3 197.3 551.8T175.8 500 197.3 448.2 250 427.7 302.7 448.2 324.2 500 302.7 551.8 250 572.3ZM709 41H291Q257.8 41 233.4 65.4T209 125V250H291V166H709V834H291V750H209V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-cog\"\n      ]\n    },\n    {\n      \"uid\": \"4f3b918657683a6883bb36ee8862c15c\",\n      \"css\": \"cellphone-sound\",\n      \"code\": 985426,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M794.9 363.3Q851.6 418 851.6 496.1T794.9 632.8L837.9 675.8Q888.7 627 906.3 563.5T906.3 434.6 837.9 320.3ZM750 408.2L709 449.2Q724.6 472.7 724.6 498T709 544.9L750 587.9Q787.1 550.8 787.1 500T750 408.2ZM584 41H166Q132.8 41 108.4 65.4T84 125V875Q84 910.2 108.4 934.6T166 959H584Q617.2 959 641.6 934.6T666 875V125Q666 89.8 641.6 65.4T584 41ZM584 834H166V166H584V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-sound\"\n      ]\n    },\n    {\n      \"uid\": \"a8de23881b6c31a1985df122f8cc34bc\",\n      \"css\": \"christianity\",\n      \"code\": 985427,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 84H562.5V334H791V459H562.5V916H437.5V459H209V334H437.5V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"christianity\"\n      ]\n    },\n    {\n      \"uid\": \"6d41d2ec91cea1b8026a3388fb003891\",\n      \"css\": \"clock\",\n      \"code\": 985428,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM675.8 675.8L459 541V291H521.5V507.8L709 621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock\"\n      ]\n    },\n    {\n      \"uid\": \"77e78c7b673e5b2f483ae823566dceed\",\n      \"css\": \"clock-alert\",\n      \"code\": 985429,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q638.7 84 748 165T898.4 375H750V834Q638.7 916 500 916 418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM675.8 675.8L709 621.1 521.5 507.8V291H459V541ZM834 459H916V750H834V459ZM834 834H916V916H834V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-alert\"\n      ]\n    },\n    {\n      \"uid\": \"bee0d4fff60a132a8ab1a7a6cabe3e4e\",\n      \"css\": \"cloud-search\",\n      \"code\": 985430,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM806.6 334Q888.7 339.8 944.3 399.4T1000 541Q1000 591.8 977.5 635.7T916 709V687.5Q916 613.3 879.9 551.8T781.3 453.1 645.5 416 509.8 453.1 411.1 551.8 375 687.5Q375 718.8 382.8 750H250Q181.6 750 124 716.8T33.2 626 0 500Q0 404.3 64.5 333T222.7 252Q261.7 175.8 336.9 129.9T500 84Q613.3 84 699.2 155.3T806.6 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-search\"\n      ]\n    },\n    {\n      \"uid\": \"3d4feb467120f73f606db0aae4701706\",\n      \"css\": \"cloud-search-outline\",\n      \"code\": 985431,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM916 541Q916 490.2 879.9 453.1T791 416H728.5V396.5Q728.5 334 698.2 281.3T615.2 197.3 500 166Q421.9 166 361.3 212.9T279.3 334H250Q181.6 334 132.8 382.8T84 500 132.8 617.2 250 666H375V687.5Q375 718.8 382.8 750H250Q181.6 750 124 716.8T33.2 626 0 500Q0 404.3 64.5 333T222.7 252Q261.7 175.8 335.9 129.9T500 84Q613.3 84 699.2 155.3T806.6 335.9Q888.7 339.8 944.3 399.4T1000 541Q1000 591.8 977.5 635.7T916 709V687.5Q916 642.6 902.3 599.6 916 574.2 916 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b5342f757b3b22165e994663e8aba5dc\",\n      \"css\": \"cordova\",\n      \"code\": 985432,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M841.8 898.4H705.1L714.8 783.2H648.4L638.7 898.4H361.3L351.6 783.2H285.2L294.9 898.4H158.2L84 406.3 273.4 101.6H726.6L916 406.3ZM689.5 253.9H568.4L576.2 310.5H423.8L431.6 253.9H310.5L234.4 406.3 273.4 709H726.6L765.6 406.3ZM623 607.4Q615.2 607.4 609.4 586.9T603.5 537.1 609.4 487.3 623 466.8 636.7 487.3 642.6 537.1 636.7 586.9 623 607.4ZM384.8 613.3Q377 613.3 371.1 592.8T365.2 543 371.1 493.2 384.8 472.7 397.5 493.2 402.3 543 397.5 592.8 384.8 613.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cordova\"\n      ]\n    },\n    {\n      \"uid\": \"745df9d5691440c769a3032758522d29\",\n      \"css\": \"cryengine\",\n      \"code\": 985433,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 517.6ZM959 521.5V521.5Q959 533.2 931.6 560.5 900.4 593.8 855.5 623 800.8 658.2 742.2 675.8 658.2 705.1 566.4 701.2 464.8 697.3 404.3 654.3 332 605.5 332 511.7 332 443.4 380.9 393.6T500 343.8 619.1 393.6 668 513.7Q668 546.9 655.3 578.1T619.1 632.8Q660.2 632.8 705.1 619.1 781.3 597.7 841.8 546.9 857.4 533.2 861.3 523.4L863.3 521.5V517.6Q863.3 507.8 843.8 480.5 818.4 447.3 781.3 416 734.4 375 677.7 347.7 607.4 312.5 529.3 296.9 625 300.8 710.9 330.1 785.2 355.5 845.7 394.5 896.5 427.7 929.7 464.8 959 498 959 517.6V521.5ZM500 416Q460.9 416 432.6 444.3T404.3 512.7 432.6 580.1 500 607.4 567.4 580.1 595.7 512.7 567.4 444.3 500 416ZM138.7 513.7V517.6 517.6Q140.6 535.2 164.1 562.5 197.3 599.6 252 632.8 326.2 675.8 427.7 703.1 308.6 693.4 212.9 654.3 136.7 621.1 85.9 576.2 44.9 539.1 43 517.6V513.7Q43 500 72.3 468.8 105.5 433.6 156.3 400.4 216.8 359.4 285.2 334 369.1 304.7 455.1 298.8 365.2 318.4 285.2 371.1 222.7 410.2 175.8 459 138.7 500 138.7 513.7V513.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cryengine\"\n      ]\n    },\n    {\n      \"uid\": \"c5a1c208e853f77292d7816fa9d5034f\",\n      \"css\": \"cupcake\",\n      \"code\": 985434,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 62.5Q543 62.5 573.2 92.8T603.5 166 573.2 240.2 500 271.5 426.8 240.2 396.5 166 426.8 92.8 500 62.5ZM662.1 209Q705.1 209 745.1 232.4T809.6 294.9 834 375Q873 375 895.5 399.4T918 458 895.5 516.6 834 541H166Q127 541 104.5 516.6T82 458 104.5 399.4 166 375Q166 334 190.4 294.9T254.9 232.4 337.9 209Q353.5 263.7 397.5 298.8T500 334 602.5 298.8 662.1 209ZM209 625H334L375 916H291ZM416 625H584L541 916H459ZM666 625H791L709 916H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cupcake\"\n      ]\n    },\n    {\n      \"uid\": \"cd1e5511f93b6cb2b4deddf6e8a56831\",\n      \"css\": \"sine-wave\",\n      \"code\": 985435,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 875Q628.9 875 584 822.3 546.9 777.3 515.6 689.5 496.1 634.8 460.9 511.7V511.7Q419.9 369.1 396.5 308.6 353.5 209 312.5 209 250 209 210.9 283.2 185.5 337.9 173.8 423.8 166 470.7 166 500H84Q84 453.1 91.8 396.5 109.4 287.1 152.3 218.8 210.9 125 312.5 125 371.1 125 416 177.7 453.1 222.7 486.3 312.5 505.9 367.2 541 488.3V492.2Q580.1 630.9 603.5 689.5 646.5 791 687.5 791 752 791 789.1 716.8 816.4 662.1 828.1 576.2 834 531.3 834 500H918Q918 546.9 908.2 603.5 890.6 712.9 847.7 781.3 789.1 875 687.5 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sine-wave\"\n      ]\n    },\n    {\n      \"uid\": \"349c5452d73dfb9fb0c4046c28d91cfb\",\n      \"css\": \"current-dc\",\n      \"code\": 985436,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 375V459H916V375H84ZM84 541V625H291V541H84ZM375 541V625H625V541H375ZM709 541V625H916V541H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"current-dc\"\n      ]\n    },\n    {\n      \"uid\": \"e778d49b8b595fe89133c6077be99287\",\n      \"css\": \"database-import\",\n      \"code\": 985437,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q394.5 125 310.5 154.3T189.5 232.4L408.2 451.2Q457 459 500 459 589.8 459 667 436.5T789.1 376 834 292 789.1 208 667 147.5 500 125ZM164.1 294.9L103.5 353.5 209 459H0V541H209L103.5 646.5 164.1 705.1 369.1 500ZM834 375Q834 419.9 789.1 458T667 518.6 500 541Q460.9 541 419.9 537.1L318.4 638.7Q402.3 666 500 666 589.8 666 667 643.6T789.1 583 834 500V375ZM834 584Q834 628.9 789.1 667T667 727.5 500 750Q431.6 750 369.1 736.3T257.8 697.3L189.5 767.6Q224.6 816.4 309.6 845.7T500 875Q589.8 875 667 852.5T789.1 792 834 709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-import\"\n      ]\n    },\n    {\n      \"uid\": \"020aa5718bd6d69fa5b519c12c0a3c3b\",\n      \"css\": \"database-export\",\n      \"code\": 985438,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q410.2 125 333 147.5T210.9 208 166 292 210.9 376 333 436.5 500 459Q529.3 459 562.5 455.1V396.5H683.6L640.6 353.5 787.1 209Q742.2 169.9 666 147.5T500 125ZM789.1 294.9L728.5 353.5 834 459H625V541H834L728.5 646.5 789.1 705.1 994.1 500ZM166 375V500Q166 544.9 210.9 583T333 643.6 500 666Q566.4 666 634.8 650.4L681.6 603.5H562.5V539.1Q529.3 541 500 541 410.2 541 333 518.6T210.9 458 166 375ZM166 584V709Q166 753.9 210.9 792T333 852.5 500 875 666 852.5 787.1 791L709 712.9Q615.2 750 500 750 410.2 750 333 727.5T210.9 667 166 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-export\"\n      ]\n    },\n    {\n      \"uid\": \"b79d95dab2a5c3c842ed7ac117ed52d0\",\n      \"css\": \"desk-lamp\",\n      \"code\": 985439,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M451.2 84L382.8 187.5 429.7 218.8 296.9 416H291Q257.8 416 233.4 440.4T209 500Q209 529.3 227.5 551.8T273.4 582L443.4 834H291V916H709V834H541L355.5 552.7Q375 529.3 375 500 375 480.5 367.2 462.9L500 265.6Q492.2 318.4 520.5 371.1T601.6 459L787.1 181.6Q734.4 146.5 674.8 140.6T568.4 162.1ZM763.7 291L695.3 396.5Q716.8 410.2 742.2 405.3T781.3 378.9 790 332 763.7 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desk-lamp\"\n      ]\n    },\n    {\n      \"uid\": \"b4304d3ca89dad985722f2698f343701\",\n      \"css\": \"disc-player\",\n      \"code\": 985440,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 431.6Q636.7 431.6 659.2 409.2T681.6 354.5 659.2 298.8 604.5 275.4 548.8 298.8 525.4 354.5 548.8 409.2 603.5 431.6ZM603.5 41Q689.5 41 760.7 83T874 197.3 916 353.5Q916 419.9 889.6 479.5T816.4 584H392.6Q345.7 539.1 318.4 479.5T291 353.5Q291 269.5 333 197.3T447.3 83 603.5 41ZM250 875V916H166V875H84V625H916V875H834V916H750V875H250ZM166 750V791H541V750H166ZM625 709V791H709V709H625ZM791 709Q773.4 709 761.7 720.7T750 750 761.7 779.3 791 791 821.3 779.3 834 750 821.3 720.7 791 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"disc-player\"\n      ]\n    },\n    {\n      \"uid\": \"8322e97b7230eaf9c4026eccf871dba6\",\n      \"css\": \"email-search\",\n      \"code\": 985441,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H791Q826.2 166 850.6 190.4T875 250V451.2Q810.5 388.7 720.7 377L791 334V250L459 459 125 250V334L443.4 531.3Q416 585.9 416 646.5 416 699.2 435.5 747.1T492.2 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166ZM687.5 459Q765.6 459 820.3 513.7T875 646.5Q875 701.2 845.7 746.1L974.6 875 916 933.6 787.1 804.7Q740.2 834 687.5 834 609.4 834 554.7 779.3T500 646.5 554.7 513.7 687.5 459ZM687.5 541Q644.5 541 614.3 572.3T584 646.5 614.3 719.7 687.5 750 760.7 719.7 791 646.5 760.7 572.3 687.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-search\"\n      ]\n    },\n    {\n      \"uid\": \"350a04a44239b85d3f172eaf825a038d\",\n      \"css\": \"email-search-outline\",\n      \"code\": 985442,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 459Q765.6 459 820.3 513.7T875 646.5Q875 701.2 845.7 746.1L974.6 875 916 933.6 787.1 804.7Q740.2 834 687.5 834 609.4 834 554.7 779.3T500 646.5 554.7 513.7 687.5 459ZM687.5 541Q644.5 541 614.3 572.3T584 646.5 614.3 719.7 687.5 750 760.7 719.7 791 646.5 760.7 572.3 687.5 541ZM437.5 750H125V334L443.4 531.3Q474.6 460.9 541 418T687.5 375Q710.9 375 720.7 377L791 334V396.5Q835.9 414.1 875 451.2V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H492.2Q457 796.9 437.5 750ZM791 250L459 459 125 250H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bff948bb1db269753625c0cde686eaaa\",\n      \"css\": \"exponent\",\n      \"code\": 985443,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M640.6 125L740.2 365.2Q728.5 418 709 445.3 693.4 468.8 673.8 468.8V531.3Q699.2 531.3 721.7 518.6T759.8 482.4Q802.7 414.1 863.3 261.7 894.5 187.5 916 125V125H849.6L779.3 293 709 125H640.6ZM142.6 357.4L84 416 283.2 617.2 84 816.4 142.6 875 341.8 675.8 541 875 599.6 816.4 400.4 617.2 599.6 416 541 357.4 341.8 556.6 142.6 357.4V357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exponent\"\n      ]\n    },\n    {\n      \"uid\": \"0e650dbdc7dd94b1aebd3f0f298d0f4b\",\n      \"css\": \"exponent-box\",\n      \"code\": 985444,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM574.2 250H640.6L687.5 357.4 732.4 250H800.8L759.8 353.5Q712.9 466.8 685.5 513.7 673.8 531.3 652.3 542T603.5 552.7V490.2Q628.9 490.2 646.5 462.9 650.4 459 656.3 445.3V443.4ZM267.6 400.4L382.8 515.6 500 400.4 558.6 459 443.4 574.2 558.6 691.4 500 750 382.8 632.8 267.6 750 209 691.4 324.2 574.2 209 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exponent-box\"\n      ]\n    },\n    {\n      \"uid\": \"3b6d01346183f603987ab3a53336d487\",\n      \"css\": \"file-download\",\n      \"code\": 985445,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM500 791L334 625H437.5V500H562.5V625H666ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-download\"\n      ]\n    },\n    {\n      \"uid\": \"de67e583832e318cab6d9765104989dd\",\n      \"css\": \"file-download-outline\",\n      \"code\": 985446,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM500 791L334 625H437.5V500H562.5V625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-download-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9445a13eee0bbf46270eb26d61d818ea\",\n      \"css\": \"firebase\",\n      \"code\": 985447,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 779.3L529.3 947.3Q498 962.9 466.8 947.3L166 779.3 710.9 230.5 724.6 226.6Q744.1 226.6 746.1 244.1ZM388.7 238.3L199.2 554.7 279.3 56.6Q281.3 39.1 300.8 39.1 312.5 39.1 316.4 48.8L406.3 214.8ZM576.2 291L179.7 691.4 480.5 179.7Q486.3 166 499 166T517.6 179.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"firebase\"\n      ]\n    },\n    {\n      \"uid\": \"3b81c046916df77e5bb42db74903dcea\",\n      \"css\": \"folder-search\",\n      \"code\": 985448,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 500Q765.6 500 820.3 554.7T875 687.5Q875 742.2 845.7 787.1L974.6 916 916 974.6 787.1 845.7Q740.2 875 687.5 875 609.4 875 554.7 820.3T500 687.5 554.7 554.7 687.5 500ZM687.5 584Q644.5 584 614.3 614.3T584 687.5 614.3 760.7 687.5 791 760.7 760.7 791 687.5 760.7 614.3 687.5 584ZM375 166L459 250H791Q826.2 250 850.6 274.4T875 334V492.2Q837.9 457 789.1 436.5T687.5 416Q613.3 416 551.8 453.1T453.1 551.8 416 687.5Q416 767.6 459 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-search\"\n      ]\n    },\n    {\n      \"uid\": \"8c7ba24c80ccd3d27495dcbc15bb16d8\",\n      \"css\": \"folder-search-outline\",\n      \"code\": 985449,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 500Q765.6 500 820.3 554.7T875 687.5Q875 742.2 845.7 787.1L974.6 916 916 974.6 787.1 845.7Q740.2 875 687.5 875 609.4 875 554.7 820.3T500 687.5 554.7 554.7 687.5 500ZM687.5 584Q644.5 584 614.3 614.3T584 687.5 614.3 760.7 687.5 791 760.7 760.7 791 687.5 760.7 614.3 687.5 584ZM791 334H125V750H423.8Q433.6 793 459 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H375L459 250H791Q826.2 250 850.6 274.4T875 334V492.2Q837.9 457 791 437.5V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"09fe800633da0ebb87f3d075629cbaa5\",\n      \"css\": \"format-list-checkbox\",\n      \"code\": 985450,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791V709H334V791H875ZM875 541V459H334V541H875ZM334 291H875V209H334V291ZM166 209V291H250V209H166ZM125 209Q125 191.4 136.7 178.7T166 166H250Q267.6 166 279.3 178.7T291 209V291Q291 308.6 279.3 321.3T250 334H166Q148.4 334 136.7 321.3T125 291V209ZM166 459V541H250V459H166ZM125 459Q125 441.4 136.7 428.7T166 416H250Q267.6 416 279.3 428.7T291 459V541Q291 558.6 279.3 571.3T250 584H166Q148.4 584 136.7 571.3T125 541V459ZM166 709V791H250V709H166ZM125 709Q125 691.4 136.7 678.7T166 666H250Q267.6 666 279.3 678.7T291 709V791Q291 808.6 279.3 821.3T250 834H166Q148.4 834 136.7 821.3T125 791V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-checkbox\"\n      ]\n    },\n    {\n      \"uid\": \"a4338bdc02f5e9e297ada5ebf3013d08\",\n      \"css\": \"fountain\",\n      \"code\": 985451,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q250 84 197.3 114.3T114.3 197.3 84 312.5V334H166V312.5Q166 252 209 209T312.5 166Q359.4 166 395.5 192.4T449.2 259.8Q423.8 250 396.5 250 353.5 250 317.4 272.5T263.7 334L335.9 375Q343.8 357.4 359.4 345.7T396.5 334Q421.9 334 440.4 351.6T459 396.5V459H541V396.5Q541 369.1 559.6 351.6T603.5 334Q625 334 640.6 345.7T664.1 375L736.3 334Q718.8 294.9 682.6 272.5T603.5 250Q576.2 250 550.8 259.8 568.4 218.8 604.5 192.4T687.5 166Q748 166 791 209T834 312.5V334H916V312.5Q916 267.6 898.4 225.6T848.6 151.4 774.4 101.6 687.5 84Q630.9 84 581.1 110.4T500 181.6Q468.8 136.7 418.9 110.4T312.5 84ZM250 500V584H308.6Q341.8 658.2 416 689.5V791H84L142.6 878.9Q154.3 896.5 171.9 906.3T210.9 916H789.1Q810.5 916 828.1 906.3T857.4 878.9L916 791H584V689.5Q658.2 658.2 691.4 584H750V500H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fountain\"\n      ]\n    },\n    {\n      \"uid\": \"fea4a8dc7e60489f096bbf3194e63a30\",\n      \"css\": \"google-fit\",\n      \"code\": 985452,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166Q765.6 166 813.5 194.3T888.7 270.5 916 375Q916 418 900.4 456.1T855.5 523.4L500 877 144.5 523.4Q115.2 494.1 99.6 456.1T84 375Q84 318.4 111.3 270.5T186.5 194.3 291 166Q334 166 372.1 182.6T439.5 226.6L500 289.1 560.5 226.6Q589.8 199.2 627.9 182.6T709 166ZM650.4 316.4L382.8 584 500 701.2 767.6 433.6Q791 410.2 791 375T766.6 315.4 708 291 650.4 316.4ZM349.6 316.4Q326.2 291 292 291T233.4 315.4 209 375 232.4 433.6L293 494.1 412.1 377Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-fit\"\n      ]\n    },\n    {\n      \"uid\": \"eac759c73c12889b7fea1dd6a3bba7b8\",\n      \"css\": \"greater-than\",\n      \"code\": 985453,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 171.9L187.5 244.1 625 500 187.5 755.9 228.5 828.1 791 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"greater-than\"\n      ]\n    },\n    {\n      \"uid\": \"ba53ba0eb6a2f07afa9db1e72a6a857e\",\n      \"css\": \"greater-than-or-equal\",\n      \"code\": 985454,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 93.8L834 421.9 271.5 750 228.5 677.7 668 421.9 228.5 166ZM834 834V916H209V834H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"greater-than-or-equal\"\n      ]\n    },\n    {\n      \"uid\": \"87b01cef317229fb95865c567deb6ccb\",\n      \"css\": \"hard-hat\",\n      \"code\": 985455,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M412.1 505.9L375 269.5Q500 228.5 625 269.5L587.9 505.9Q585.9 521.5 574.2 531.3T546.9 541H453.1Q437.5 541 425.8 531.3T412.1 505.9ZM916 666V666Q916 642.6 902.3 622.1T867.2 589.8Q851.6 517.6 810.5 457T709 353.5L634.8 556.6Q630.9 568.4 620.1 576.2T595.7 584H404.3Q390.6 584 379.9 576.2T365.2 556.6L291 353.5Q230.5 396.5 189.5 457T132.8 589.8Q111.3 601.6 97.7 622.1T84 666L351.6 744.1Q377 750 398.4 750H601.6Q623 750 646.5 744.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hard-hat\"\n      ]\n    },\n    {\n      \"uid\": \"0db8d0dbfb89fc9fa933bd6311daaf47\",\n      \"css\": \"headphones-bluetooth\",\n      \"code\": 985456,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 250Q265.6 250 208 283.2T117.2 374 84 500V699.2Q84 720.7 98.6 735.4T132.8 750H250V584H166V500Q166 431.6 214.8 382.8T333 334 451.2 382.8 500 500V584H416V750H533.2Q554.7 750 569.3 735.4T584 699.2V500Q584 431.6 549.8 374T458 283.2 334 250ZM791 291V449.2L695.3 353.5 666 382.8 783.2 500 666 617.2 695.3 646.5 791 550.8V709H812.5L931.6 589.8 841.8 500 931.6 410.2 812.5 291H791ZM834 371.1L873 410.2 834 449.2V371.1ZM834 550.8L873 589.8 834 628.9V550.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"headphones-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"8b946f271a9f99db5a7946c4ac6025bd\",\n      \"css\": \"heart-circle\",\n      \"code\": 985457,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM406.3 326.2Q433.6 326.2 458 337.9T500 369.1Q517.6 349.6 542 337.9T593.8 326.2Q642.6 326.2 675.8 359.4T709 439.5Q709 494.1 660.2 552.7 628.9 591.8 531.3 679.7L500 709 468.8 679.7Q371.1 591.8 339.8 552.7 291 494.1 291 439.5 291 392.6 324.2 359.4T406.3 326.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-circle\"\n      ]\n    },\n    {\n      \"uid\": \"f890c15faa68fcf0ea9edab783075732\",\n      \"css\": \"heart-circle-outline\",\n      \"code\": 985458,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM406.3 326.2Q357.4 326.2 324.2 359.4T291 439.5Q291 494.1 339.8 552.7 371.1 591.8 468.8 679.7L500 709 531.3 679.7Q628.9 591.8 660.2 552.7 709 494.1 709 439.5 709 392.6 675.8 359.4T593.8 326.2Q566.4 326.2 542 337.9T500 369.1Q482.4 349.6 458 337.9T406.3 326.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6151e49415d262c07c77d42f1649a2c3\",\n      \"css\": \"hinduism\",\n      \"code\": 985459,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 84L562.5 146.5 625 209 687.5 146.5ZM459 125Q443.4 214.8 482.4 273.4 515.6 326.2 582 342.8T717.8 335 834 250L750 187.5Q724.6 224.6 673.8 246.1 615.2 269.5 562.5 248 496.1 220.7 459 125ZM375 291Q322.3 291 250 322.3 212.9 337.9 187.5 353.5L250 459Q281.3 427.7 333 414.1T416 416Q455.1 435.5 439.5 464.8T377 506.8 291 500V646.5Q349.6 617.2 400.4 625 443.4 634.8 460.9 666T459 728.5Q414.1 794.9 353.5 796.9 300.8 798.8 244.1 752 195.3 710.9 160.2 650.4T125 541Q85.9 658.2 125 750 158.2 828.1 236.3 875 304.7 916 375 916 476.6 916 517.6 849.6 564.5 771.5 521.5 625H584Q560.5 693.4 585.9 757.8 607.4 820.3 660.2 851.6T767.6 861.3Q830.1 837.9 875 750 892.6 716.8 896.5 660.2 900.4 597.7 884.8 541 867.2 476.6 828.1 439.5 781.3 396.5 709 396.5 654.3 396.5 617.2 429.7 595.7 449.2 566.4 500 546.9 533.2 537.1 544.9 519.5 566.4 496.1 572.3T437.5 562.5Q505.9 494.1 513.7 427.7 521.5 369.1 480.5 330.1T375 291ZM791 500Q826.2 535.2 822.3 585.9 818.4 628.9 788.1 668.9T718.8 725.6 654.3 720.7Q625 695.3 625 625 625 582 650.4 541T710.9 486.3Q752 470.7 791 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hinduism\"\n      ]\n    },\n    {\n      \"uid\": \"e7de494531514138a1fea595341e8b56\",\n      \"css\": \"home-minus\",\n      \"code\": 985460,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM666 541V625H334V541H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-minus\"\n      ]\n    },\n    {\n      \"uid\": \"c5d2a481d4935192e302763182540927\",\n      \"css\": \"home-plus\",\n      \"code\": 985461,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM459 416H541V541H666V625H541V750H459V625H334V541H459V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-plus\"\n      ]\n    },\n    {\n      \"uid\": \"d5d202071e43927aad715717ae6b7e1c\",\n      \"css\": \"image-search\",\n      \"code\": 985463,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 84Q724.6 84 779.3 138.7T834 271.5Q834 326.2 804.7 371.1L933.6 500 875 558.6 744.1 429.7Q699.2 459 646.5 459 568.4 459 513.7 404.3T459 271.5 513.7 138.7 646.5 84ZM646.5 166Q603.5 166 572.3 197.3T541 271.5 572.3 344.7 646.5 375 719.7 344.7 750 271.5 719.7 197.3 646.5 166ZM312.5 603.5L166 791H750L562.5 541 416 728.5ZM834 834Q834 867.2 809.6 891.6T750 916H166Q132.8 916 108.4 891.6T84 834V250Q84 214.8 108.4 190.4T166 166H396.5Q375 216.8 375 271.5 375 343.8 411.1 406.3T509.8 504.9 646.5 541Q687.5 541 726.6 529.3L834 634.8V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-search\"\n      ]\n    },\n    {\n      \"uid\": \"299c98fed82cbf3d29ca4c38851db703\",\n      \"css\": \"image-search-outline\",\n      \"code\": 985464,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 375Q689.5 375 719.7 344.7T750 271.5 719.7 197.3 645.5 166 571.3 196.3 541 270.5 572.3 344.7 646.5 375ZM804.7 371.1L933.6 500 875 558.6 744.1 429.7Q697.3 459 644.5 459 566.4 459 512.7 404.3T459 271.5 513.7 138.7 646.5 84 779.3 137.7 834 271.5Q834 324.2 804.7 371.1ZM687.5 750H228.5L343.8 603.5 425.8 701.2 539.1 554.7ZM750 541L834 625V834Q834 867.2 808.6 891.6T750 916H166Q134.8 916 109.4 890.6T84 834V250Q84 216.8 108.4 191.4T166 166H396.5Q377 207 375 250H166V834H750V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ae1ace349b6fcf6153867e830496f411\",\n      \"css\": \"islam\",\n      \"code\": 985465,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M511.7 84H500Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 502.9 916 654.3 888.7Q707 865.2 771.5 812.5 660.2 843.8 554.7 804.7 457 769.5 395.5 686.5T334 500 395.5 313.5 554.7 195.3Q660.2 156.3 771.5 187.5 718.8 136.7 652.3 109.4T511.7 84ZM699.2 257.8L636.7 404.3 482.4 416 603.5 521.5 566.4 666 699.2 584 834 666 791 521.5 916 416 761.7 404.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"islam\"\n      ]\n    },\n    {\n      \"uid\": \"d5abf3a759f30a07982ae638f341e6f7\",\n      \"css\": \"judaism\",\n      \"code\": 985466,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L378.9 291H136.7L261.7 500 136.7 709H378.9L500 916 621.1 709H863.3L738.3 500 863.3 291H621.1ZM500 209L550.8 291H449.2ZM341.8 353.5L294.9 437.5 246.1 353.5H341.8ZM416 353.5H584L666 500 584 646.5H416L334 500ZM750 353.5L699.2 437.5 654.3 353.5H750ZM294.9 562.5L341.8 646.5H250ZM705.1 562.5L753.9 646.5H658.2ZM554.7 709L500 791 449.2 709H554.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"judaism\"\n      ]\n    },\n    {\n      \"uid\": \"be28e20f9ab3bc5d4909e6469aa584e4\",\n      \"css\": \"keyboard-outline\",\n      \"code\": 985467,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM166 291H834V709H166V291ZM209 334V416H291V334H209ZM334 334V416H416V334H334ZM459 334V416H541V334H459ZM584 334V416H666V334H584ZM709 334V416H791V334H709ZM209 459V541H291V459H209ZM334 459V541H416V459H334ZM459 459V541H541V459H459ZM584 459V541H666V459H584ZM709 459V541H791V459H709ZM334 584V666H666V584H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4a458426212ebb65b758939a39414f30\",\n      \"css\": \"less-than\",\n      \"code\": 985468,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 171.9L812.5 244.1 373 500 812.5 755.9 771.5 828.1 209 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"less-than\"\n      ]\n    },\n    {\n      \"uid\": \"5e75c7fd7970241e3f4340a799648ee2\",\n      \"css\": \"less-than-or-equal\",\n      \"code\": 985469,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 93.8L209 421.9 771.5 750 812.5 677.7 373 421.9 812.5 166ZM209 834V916H834V834H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"less-than-or-equal\"\n      ]\n    },\n    {\n      \"uid\": \"a6a6c8b040db5e9fd24468586dc15e61\",\n      \"css\": \"light-switch\",\n      \"code\": 985470,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 41Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41H291ZM291 125H709V875H291V125ZM375 250V750H625V250H375ZM416 291H584V459H416V291ZM416 541H584V709H416V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"light-switch\"\n      ]\n    },\n    {\n      \"uid\": \"a7913af28a1e96825d9230e231a7b884\",\n      \"css\": \"lock-clock\",\n      \"code\": 985471,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 84Q275.4 84 220.7 138.7T166 271.5V291Q132.8 291 108.4 315.4T84 375V750Q84 785.2 108.4 809.6T166 834H363.3Q408.2 873 465.8 894.5T584 916Q673.8 916 750 871.1T871.1 750 916 583 871.1 416 750 294.9 584 250Q562.5 250 541 253.9 533.2 181.6 479.5 132.8T353.5 84ZM353.5 166Q396.5 166 427.7 197.3T459 271.5V291H250V271.5Q250 228.5 280.3 197.3T353.5 166ZM584 334Q632.8 334 678.7 352.5T759.8 406.3 814.5 487.3 834 584Q834 650.4 799.8 708T708 799.8 583 834 458 799.8 367.2 708 334 583 367.2 458 458 367.2 584 334ZM541 416V625L693.4 716.8 726.6 662.1 603.5 589.8V416H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-clock\"\n      ]\n    },\n    {\n      \"uid\": \"2c6ce1f3502ef061cd07acc2c19dcedb\",\n      \"css\": \"magnify-close\",\n      \"code\": 985472,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 472.7 609.4 548.8L642.6 584H666L916 834 834 916 584 666V642.6L548.8 609.4Q472.7 666 375 666 294.9 666 228.5 627T123 521.5 84 375 123 228.5 228.5 123 375 84ZM462.9 226.6L375 316.4 287.1 226.6 226.6 287.1 316.4 375 226.6 462.9 287.1 523.4 375 433.6 462.9 523.4 523.4 462.9 433.6 375 523.4 287.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-close\"\n      ]\n    },\n    {\n      \"uid\": \"4c1ffd2165c76b99fca8424efc100761\",\n      \"css\": \"map-minus\",\n      \"code\": 985473,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125L140.6 205.1Q125 209 125 224.6V853.5Q125 863.3 130.9 869.1T146.5 875Q150.4 875 152.3 873L375 787.1 541 845.7V761.7L375 705.1V209L625 294.9V666H875V146.5Q875 136.7 869.1 130.9T853.5 125H847.7L625 212.9ZM625 750V834H959V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-minus\"\n      ]\n    },\n    {\n      \"uid\": \"69fb86a18874bb0c289981240d3bcf96\",\n      \"css\": \"map-outline\",\n      \"code\": 985474,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 125L847.7 127 625 212.9 375 125 140.6 205.1Q125 209 125 224.6V853.5Q125 863.3 130.9 869.1T146.5 875L152.3 873 375 787.1 625 875 859.4 794.9Q875 791 875 775.4V146.5Q875 136.7 869.1 130.9T853.5 125ZM416 228.5L584 287.1V771.5L416 712.9V228.5ZM209 269.5L334 226.6V714.8L209 763.7V269.5ZM791 730.5L666 773.4V285.2L791 238.3V730.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-outline\"\n      ]\n    },\n    {\n      \"uid\": \"88ee81f755cf96903c25a342db29031b\",\n      \"css\": \"map-plus\",\n      \"code\": 985475,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125L140.6 205.1Q125 209 125 224.6V853.5Q125 863.3 130.9 869.1T146.5 875Q150.4 875 152.3 873L375 787.1 548.8 847.7Q541 818.4 541 791 541 773.4 543 761.7L375 705.1V209L625 294.9V607.4Q697.3 541 791 541 834 541 875 556.6V146.5Q875 136.7 869.1 130.9T853.5 125H847.7L625 212.9ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-plus\"\n      ]\n    },\n    {\n      \"uid\": \"808d0f6acf39054faa2e5273d514db75\",\n      \"css\": \"map-search\",\n      \"code\": 985476,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM584 253.9L334 166V662.1L375 675.8V687.5Q375 726.6 386.7 763.7L334 746.1 111.3 832 103.5 834Q95.7 834 89.8 827.1T84 812.5V181.6Q84 168 97.7 162.1L334 84 584 169.9 806.6 84H812.5Q820.3 84 827.1 89.8T834 103.5V492.2Q796.9 457 748 436.5T646.5 416Q615.2 416 584 423.8V253.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-search\"\n      ]\n    },\n    {\n      \"uid\": \"2cecbe52e42b12fcf405cdc848713d87\",\n      \"css\": \"map-search-outline\",\n      \"code\": 985477,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM812.5 84Q820.3 84 827.1 89.8T834 103.5V492.2Q794.9 457 750 437.5V195.3L625 244.1V416Q580.1 421.9 541 437.5V244.1L375 185.5V687.5Q375 726.6 386.7 763.7L334 746.1 111.3 832 103.5 834Q95.7 834 89.8 827.1T84 812.5V181.6Q84 168 97.7 162.1L334 84 584 169.9 806.6 84H812.5ZM166 226.6V720.7L291 673.8V185.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a159e5965e81e46c0674b99683d82a96\",\n      \"css\": \"material-design\",\n      \"code\": 985478,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 500Q875 373 791 265.6V734.4Q875 630.9 875 500ZM734.4 791H265.6Q304.7 824.2 375 849.6T500 875 624 849.6 734.4 791ZM459 709L291 375V709H459ZM709 375L541 709H709V375ZM500 605.5L656.3 291H343.8ZM734.4 209Q630.9 125 500 125T265.6 209H734.4ZM209 734.4V265.6Q125 373 125 502T209 734.4ZM959 500Q959 691.4 825.2 825.2T501 959 175.8 825.2 41 501 175.8 175.8 501 41 825.2 175.8 959 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"material-design\"\n      ]\n    },\n    {\n      \"uid\": \"2f099fb437d8e53ca42510eadad864b7\",\n      \"css\": \"medal\",\n      \"code\": 985479,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166V166L408.2 347.7Q334 373 282.2 431.6T213.9 565.4 222.7 715.8 305.7 842.8 439.5 911.1 590.8 902.3 717.8 819.3 786.1 685.5 777.3 533.2Q755.9 468.8 706.1 418.9T591.8 347.7L834 166V84ZM623 812.5L500 740.2 377 812.5 410.2 673.8 302.7 580.1 443.4 568.4 500 437.5 556.6 568.4 697.3 580.1 589.8 673.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"medal\"\n      ]\n    },\n    {\n      \"uid\": \"0a621246a2f95b7f7243e660d638f7ae\",\n      \"css\": \"microsoft-dynamics-365\",\n      \"code\": 985480,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84L718.8 353.5 562.5 478.5 250 334V84ZM250 375L396.5 468.8 250 916 750 375V625L250 916V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-dynamics-365\"\n      ]\n    },\n    {\n      \"uid\": \"0c3a9594a12b158dcdf5ef003df66195\",\n      \"css\": \"monitor-cellphone\",\n      \"code\": 985481,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H750Q732.4 459 720.7 470.7T709 500V875Q709 892.6 720.7 904.3T750 916H959Q976.6 916 988.3 904.3T1000 875V500Q1000 482.4 988.3 470.7T959 459ZM959 834H750V541H959V834ZM834 84H84Q48.8 84 24.4 108.4T0 166V666Q0 701.2 24.4 725.6T84 750H375V834H291V916H625V834H541V750H625V666H84V166H834V375H916V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-cellphone\"\n      ]\n    },\n    {\n      \"uid\": \"10f2dd7bcaaa73bb12a9ee876c8486c6\",\n      \"css\": \"monitor-cellphone-star\",\n      \"code\": 985482,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 459H750Q732.4 459 720.7 470.7T709 500V875Q709 892.6 720.7 904.3T750 916H959Q976.6 916 988.3 904.3T1000 875V500Q1000 482.4 988.3 470.7T959 459ZM959 834H750V541H959V834ZM834 84H84Q48.8 84 24.4 108.4T0 166V666Q0 701.2 24.4 725.6T84 750H375V834H291V916H625V834H541V750H625V666H84V166H834V375H916V166Q916 132.8 891.6 108.4T834 84ZM498 375L459 250 418 375H291L394.5 449.2 355.5 570.3 459 494.1 560.5 570.3 521.5 449.2 625 375H498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-cellphone-star\"\n      ]\n    },\n    {\n      \"uid\": \"717e44a8330bccb9517f2a566769489a\",\n      \"css\": \"mouse-bluetooth\",\n      \"code\": 985483,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 291H853.5L972.7 410.2 882.8 500 972.7 589.8 853.5 709H834V550.8L738.3 646.5 709 617.2 824.2 500 709 382.8 738.3 353.5 834 449.2V291ZM875 371.1V449.2L914.1 410.2ZM875 550.8V628.9L914.1 589.8ZM625 375V416H375V85.9Q445.3 95.7 502 136.7T591.8 240.2 625 375ZM41 416V375Q41 302.7 74.2 240.2T165 136.7 291 85.9V416H41ZM625 625Q625 705.1 585.9 771.5T479.5 877 333 916 187.5 877 81.1 771.5 41 625V500H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mouse-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"24da4dd20983f0fdac2c809741316d75\",\n      \"css\": \"muffin\",\n      \"code\": 985484,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209L658.2 189.5Q646.5 166 630.9 146.5 607.4 119.1 578.1 103.5 543 84 500 84 421.9 84 369.1 146.5 343.8 177.7 334 209V209Q293 209 253.9 232.4T190.4 294.9 166 375Q127 375 104.5 399.4T82 458 104.5 516.6 166 541H834Q873 541 895.5 516.6T918 458 895.5 399.4 834 375Q834 334 809.6 294.9T746.1 232.4 666 209ZM209 625L291 916H375L334 625H209ZM416 625L459 916H541L584 625H416ZM666 625L625 916H709L791 625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"muffin\"\n      ]\n    },\n    {\n      \"uid\": \"2413b729db2424ef4f1d8116ef311b9f\",\n      \"css\": \"not-equal\",\n      \"code\": 985485,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 416H375V334H875V416ZM875 666H375V584H875V666ZM166 209H250V666H166V209ZM250 750V834H166V750H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"not-equal\"\n      ]\n    },\n    {\n      \"uid\": \"dba7b6bf6e4fbfd89923196a3456fd4a\",\n      \"css\": \"not-equal-variant\",\n      \"code\": 985486,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M585.9 191.4L664.1 224.6 617.2 334H791V416H582L509.8 584H791V666H474.6L414.1 808.6 335.9 775.4 382.8 666H209V584H419.9L490.2 416H209V334H525.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"not-equal-variant\"\n      ]\n    },\n    {\n      \"uid\": \"54e47ffeb949395a128f1f7da9465f11\",\n      \"css\": \"order-bool-ascending-variant\",\n      \"code\": 985487,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 541Q132.8 541 108.4 565.4T84 625V791Q84 826.2 108.4 850.6T166 875H334Q367.2 875 391.6 850.6T416 791V625Q416 589.8 391.6 565.4T334 541H166ZM341.8 603.5L386.7 648.4 218.8 812.5 113.3 707 158.2 662.1 220.7 724.6ZM166 125Q132.8 125 108.4 149.4T84 209V375Q84 410.2 108.4 434.6T166 459H334Q367.2 459 391.6 434.6T416 375V209Q416 173.8 391.6 149.4T334 125H166ZM166 209H334V375H166V209ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-bool-ascending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"0580d7adf5228fd55f0844bb12aa2f76\",\n      \"css\": \"order-bool-descending-variant\",\n      \"code\": 985488,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q132.8 125 108.4 149.4T84 209V375Q84 410.2 108.4 434.6T166 459H334Q367.2 459 391.6 434.6T416 375V209Q416 173.8 391.6 149.4T334 125H166ZM341.8 187.5L386.7 230.5 218.8 396.5 113.3 289.1 158.2 246.1 220.7 308.6ZM166 541Q132.8 541 108.4 565.4T84 625V791Q84 826.2 108.4 850.6T166 875H334Q367.2 875 391.6 850.6T416 791V625Q416 589.8 391.6 565.4T334 541H166ZM166 625H334V791H166V625ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-bool-descending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"9c56c843317ff09cf647134ba7459fb8\",\n      \"css\": \"office-building\",\n      \"code\": 985489,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125V875H459V728.5H541V875H791V125H209ZM291 209H375V291H291V209ZM459 209H541V291H459V209ZM625 209H709V291H625V209ZM291 375H375V459H291V375ZM459 375H541V459H459V375ZM625 375H709V459H625V375ZM291 541H375V625H291V541ZM459 541H541V625H459V541ZM625 541H709V625H625V541ZM291 709H375V791H291V709ZM625 709H709V791H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"office-building\"\n      ]\n    },\n    {\n      \"uid\": \"39294fc6f74e6539f8177eff69687012\",\n      \"css\": \"plus-minus\",\n      \"code\": 985490,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166V375H250V459H459V666H541V459H750V375H541V166H459ZM250 750V834H750V750H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-minus\"\n      ]\n    },\n    {\n      \"uid\": \"4b05e24f0763eb13871d371cbf639ceb\",\n      \"css\": \"plus-minus-box\",\n      \"code\": 985491,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM459 250H541V375H666V459H541V584H459V459H334V375H459V250ZM334 666H666V750H334V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-minus-box\"\n      ]\n    },\n    {\n      \"uid\": \"6b06750e4604fcba214f1ed2cdee1693\",\n      \"css\": \"podcast\",\n      \"code\": 985492,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 759.8V896.5H291V759.8Q291 716.8 352.5 686.5T500 656.3 647.5 686.5 709 759.8ZM500 228.5Q574.2 228.5 635.7 265.6T734.4 364.3 771.5 502 730.5 642.6L666 585.9Q687.5 544.9 687.5 500 687.5 421.9 632.8 367.2T500 312.5 367.2 367.2 312.5 500Q312.5 544.9 334 585.9L269.5 642.6Q228.5 578.1 228.5 502T265.6 364.3 364.3 265.6 500 228.5ZM500 62.5Q619.1 62.5 719.7 121.1T878.9 280.3 937.5 500Q937.5 640.6 855.5 753.9L793 699.2Q853.5 609.4 853.5 500 853.5 429.7 827.1 364.3T751 249 635.7 172.9 500 146.5 364.3 172.9 249 249 172.9 364.3 146.5 500Q146.5 609.4 207 699.2L144.5 753.9Q62.5 640.6 62.5 500 62.5 380.9 121.1 280.3T280.3 121.1 500 62.5ZM500 396.5Q543 396.5 573.2 426.8T603.5 500 573.2 573.2 500 603.5 426.8 573.2 396.5 500 426.8 426.8 500 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"podcast\"\n      ]\n    },\n    {\n      \"uid\": \"e2c98f3bfad674cfc4be188564d06c3d\",\n      \"css\": \"progress-check\",\n      \"code\": 985493,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V85.9 168Q630.9 179.7 702.1 233.4T807.6 369.1 832 541Q816.4 654.3 735.4 735.4T541 830.1V914.1Q654.3 902.3 744.1 836.9T879.9 670.9 914.1 459Q906.3 361.3 854.5 279.3T720.7 145.5 541 84ZM459 85.9Q332 97.7 236.3 177.7L294.9 238.3Q367.2 181.6 459 169.9V85.9ZM177.7 236.3Q97.7 332 85.9 459H168Q181.6 367.2 236.3 294.9ZM646.5 353.5L443.4 556.6 353.5 468.8 310.5 513.7 443.4 646.5 689.5 398.4ZM85.9 541Q97.7 666 177.7 763.7L236.3 705.1Q179.7 630.9 169.9 541H85.9ZM294.9 765.6L236.3 822.3Q334 902.3 459 916V834Q369.1 822.3 294.9 765.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-check\"\n      ]\n    },\n    {\n      \"uid\": \"d5fcc213ae45790208beb0048784a7a7\",\n      \"css\": \"progress-clock\",\n      \"code\": 985494,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V85.9 168Q630.9 179.7 702.1 233.4T807.6 369.1 832 541Q816.4 654.3 735.4 735.4T541 830.1V914.1Q654.3 902.3 744.1 836.9T879.9 670.9 914.1 459Q906.3 361.3 854.5 279.3T720.7 145.5 541 84ZM459 85.9Q332 97.7 236.3 177.7L294.9 238.3Q367.2 181.6 459 169.9V85.9ZM177.7 236.3Q97.7 332 85.9 459H168Q181.6 367.2 236.3 294.9ZM85.9 541Q97.7 666 177.7 763.7L236.3 705.1Q179.7 630.9 169.9 541H85.9ZM294.9 765.6L236.3 822.3Q334 902.3 459 916V834Q369.1 822.3 294.9 765.6ZM521.5 291V509.8L709 621.1 677.7 673.8 459 541V291H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-clock\"\n      ]\n    },\n    {\n      \"uid\": \"79fac174de2a7a6028ef138e9829f7c7\",\n      \"css\": \"progress-download\",\n      \"code\": 985495,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84Q638.7 93.8 720.7 145.5T854.5 279.3 914.1 459Q925.8 570.3 879.9 670.9T744.1 836.9 541 914.1V830.1Q654.3 816.4 735.4 735.4T832 541Q841.8 451.2 807.6 369.1T702.1 233.4 541 168V84ZM459 85.9V169.9Q367.2 181.6 294.9 238.3L236.3 177.7Q332 97.7 459 85.9ZM177.7 236.3L236.3 294.9Q181.6 367.2 168 459H85.9Q97.7 332 177.7 236.3ZM85.9 541H169.9Q179.7 630.9 236.3 705.1L177.7 763.7Q97.7 666 85.9 541ZM294.9 765.6Q369.1 822.3 459 834V916Q334 902.3 236.3 822.3ZM500 687.5L312.5 500H459V334H541V500H687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-download\"\n      ]\n    },\n    {\n      \"uid\": \"0b4e75ad82b6f012ec9ea9eff1c5d39a\",\n      \"css\": \"progress-upload\",\n      \"code\": 985496,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84Q638.7 93.8 720.7 145.5T854.5 279.3 914.1 459Q925.8 570.3 879.9 670.9T744.1 836.9 541 914.1V830.1Q654.3 816.4 735.4 735.4T832 541Q841.8 451.2 807.6 369.1T702.1 233.4 541 168V84ZM459 85.9V169.9Q367.2 181.6 294.9 238.3L236.3 177.7Q332 97.7 459 85.9ZM177.7 236.3L236.3 294.9Q181.6 367.2 168 459H85.9Q97.7 332 177.7 236.3ZM85.9 541H169.9Q179.7 630.9 236.3 705.1L177.7 763.7Q97.7 666 85.9 541ZM294.9 765.6Q369.1 822.3 459 834V916Q334 902.3 236.3 822.3ZM500 312.5L312.5 500H459V666H541V500H687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-upload\"\n      ]\n    },\n    {\n      \"uid\": \"d1649458db6d173cca0bacf260908322\",\n      \"css\": \"qi\",\n      \"code\": 985497,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M503.9 273.4V609.4Q503.9 613.3 502 615.2T498 617.2Q425.8 617.2 374 565.4T322.3 441.4 374 318.4 498 267.6Q500 267.6 502 269.5T503.9 273.4ZM503.9 744.1V845.7Q502 888.7 531.3 921.9T603.5 959Q615.2 959 617.2 947.3V185.5Q615.2 173.8 603.5 169.9 531.3 140.6 454.1 153.3T316.4 213.9 226.6 335 209 485.4 268.6 623 390.6 712.9Q439.5 732.4 492.2 732.4 496.1 732.4 500 736.3T503.9 744.1ZM673.8 228.5V654.3Q673.8 666 675.8 668.9T685.5 666V666Q746.1 615.2 772.5 542T786.1 392.6 722.7 255.9Q705.1 232.4 685.5 218.8 677.7 212.9 675.8 216.8T673.8 230.5V228.5ZM617.2 101.6Q617.2 78.1 633.8 60.5T674.8 43 715.8 60.5 732.4 101.6 715.8 142.6 673.8 160.2V160.2Q650.4 160.2 633.8 142.6T617.2 101.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qi\"\n      ]\n    },\n    {\n      \"uid\": \"4985beb103e5b5e13581011f465a7e54\",\n      \"css\": \"record-player\",\n      \"code\": 985498,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 728.5Q209 738.3 202.1 744.1T187.5 750H146.5Q136.7 750 130.9 744.1T125 728.5V709H84Q66.4 709 53.7 696.3T41 666V541Q41 523.4 53.7 511.7T84 500H791V416H291L250 459V375Q250 357.4 261.7 345.7T291 334H791V291H875V334Q892.6 334 904.3 345.7T916 375V416H875V500H916Q933.6 500 946.3 511.7T959 541V666Q959 683.6 946.3 696.3T916 709H875V728.5Q875 738.3 869.1 744.1T853.5 750H812.5Q804.7 750 797.9 744.1T791 728.5V709H209V728.5ZM125 584V625H209V584H125ZM250 584V625H334V584H250ZM853.5 562.5Q835.9 562.5 824.2 574.2T812.5 603.5 824.2 633.8 853.5 646.5 883.8 633.8 896.5 603.5 883.8 574.2 853.5 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"record-player\"\n      ]\n    },\n    {\n      \"uid\": \"49fb7357b4a81fc2e5e856ab9241f239\",\n      \"css\": \"restore\",\n      \"code\": 985499,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q439.5 125 353.5 175.8T216.8 312.5 166 500H41L203.1 662.1 207 668 375 500H250Q250 419.9 289.1 353.5T395.5 248 541 209Q599.6 209 653.3 230.5T748 293 811.5 387.7 834 500Q834 580.1 793.9 646.5T687.5 752 541 791Q482.4 791 429.7 768.6T335.9 705.1L277.3 765.6Q328.1 816.4 396.5 845.7T541 875Q642.6 875 729.5 824.2T866.2 687.5 916 500 866.2 312.5 729.5 175.8 541 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"restore\"\n      ]\n    },\n    {\n      \"uid\": \"57eb1c3d0d7922f48a5bf9d867fc681a\",\n      \"css\": \"shield-off-outline\",\n      \"code\": 985500,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L125 261.7V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q615.2 929.7 707 843.8L800.8 937.5 853.5 884.8 95.7 125ZM500 875Q423.8 853.5 356.4 791T249 642.6 209 466.8V343.8L650.4 785.2Q580.1 853.5 500 875ZM875 209V459Q875 599.6 800.8 724.6L740.2 664.1Q791 568.4 791 466.8V261.7L500 132.8 298.8 222.7 236.3 158.2 500 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0bbd4f83dc564e879c1c1fed257366bb\",\n      \"css\": \"shield-lock\",\n      \"code\": 985501,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM500 291Q544.9 291 581.1 322.3T617.2 396.5V459Q636.7 459 651.4 474.6T666 511.7V658.2Q666 677.7 650.4 693.4T613.3 709H382.8Q363.3 709 348.6 692.4T334 654.3V507.8Q334 490.2 349.6 474.6T382.8 459V396.5Q382.8 353.5 418.9 322.3T500 291ZM500 341.8Q474.6 341.8 456.1 356.4T437.5 396.5V459H562.5V396.5Q562.5 371.1 543.9 356.4T500 341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-lock\"\n      ]\n    },\n    {\n      \"uid\": \"8c81908f4346557c8aaeb4cf65d42a59\",\n      \"css\": \"shield-off\",\n      \"code\": 985502,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 853.5 884.8 800.8 937.5 709 843.8Q615.2 929.7 500 959 394.5 931.6 308.6 857.4T173.8 677.7 125 459V261.7ZM500 41L875 209V459Q875 599.6 800.8 724.6L236.3 158.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-off\"\n      ]\n    },\n    {\n      \"uid\": \"292ddedda2cd3f95d27b36bc773e84f8\",\n      \"css\": \"set-top-box\",\n      \"code\": 985503,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 646.5Q209 654.3 202.1 660.2T187.5 666H146.5Q136.7 666 130.9 660.2T125 646.5V625H84Q66.4 625 53.7 613.3T41 584V459Q41 441.4 53.7 428.7T84 416H916Q933.6 416 946.3 428.7T959 459V584Q959 601.6 946.3 613.3T916 625H875V646.5Q875 654.3 869.1 660.2T853.5 666H812.5Q804.7 666 797.9 660.2T791 646.5V625H209V646.5ZM125 500V541H209V500H125ZM250 500V541H334V500H250ZM853.5 478.5Q835.9 478.5 824.2 491.2T812.5 521.5 824.2 550.8 853.5 562.5 883.8 550.8 896.5 521.5 883.8 491.2 853.5 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-top-box\"\n      ]\n    },\n    {\n      \"uid\": \"ba58d189520d765acdfa945c49165092\",\n      \"css\": \"shower\",\n      \"code\": 985504,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 584V625Q875 683.6 844.7 732.4T763.7 808.6L791 916H709L687.5 834H312.5L291 916H209L236.3 808.6Q185.5 781.3 155.3 732.4T125 625V584H84V500H834V209Q834 191.4 821.3 178.7T793 166 765.6 175.8 750 199.2Q791 234.4 791 291H541Q541 240.2 578.1 203.1T666 166H673.8Q687.5 128.9 719.7 106.4T791 84Q843.8 84 879.9 120.1T916 209V584H875ZM791 584H209V625Q209 677.7 245.1 713.9T334 750H666Q718.8 750 754.9 713.9T791 625V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shower\"\n      ]\n    },\n    {\n      \"uid\": \"15e3bef702f3f7366d3556b053752e54\",\n      \"css\": \"shower-head\",\n      \"code\": 985505,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834Q851.6 834 863.3 845.7T875 875 863.3 904.3 834 916 803.7 904.3 791 875 803.7 845.7 834 834ZM666 834Q683.6 834 696.3 845.7T709 875 696.3 904.3 666 916 636.7 904.3 625 875 636.7 845.7 666 834ZM500 834Q517.6 834 529.3 845.7T541 875 529.3 904.3 500 916 470.7 904.3 459 875 470.7 845.7 500 834ZM334 834Q351.6 834 363.3 845.7T375 875 363.3 904.3 334 916 303.7 904.3 291 875 303.7 845.7 334 834ZM166 834Q183.6 834 196.3 845.7T209 875 196.3 904.3 166 916 136.7 904.3 125 875 136.7 845.7 166 834ZM250 709Q267.6 709 279.3 720.7T291 750 279.3 779.3 250 791V791Q232.4 791 220.7 779.3T209 750 220.7 720.7 250 709V709ZM416 709Q433.6 709 446.3 720.7T459 750 446.3 779.3 416 791 386.7 779.3 375 750 386.7 720.7 416 709ZM584 709Q601.6 709 613.3 720.7T625 750 613.3 779.3 584 791 553.7 779.3 541 750 553.7 720.7 584 709ZM750 709Q767.6 709 779.3 720.7T791 750 779.3 779.3 750 791 720.7 779.3 709 750 720.7 720.7 750 709ZM334 584Q351.6 584 363.3 595.7T375 625 363.3 654.3 334 666 303.7 654.3 291 625 303.7 595.7 334 584ZM500 584Q517.6 584 529.3 595.7T541 625 529.3 654.3 500 666 470.7 654.3 459 625 470.7 595.7 500 584ZM666 584Q683.6 584 696.3 595.7T709 625 696.3 654.3 666 666 636.7 654.3 625 625 636.7 595.7 666 584ZM791 500H209V416H791V500ZM746.1 375H253.9Q265.6 296.9 323.2 240.2T459 169.9V84H541V169.9Q619.1 183.6 676.8 240.2T746.1 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shower-head\"\n      ]\n    },\n    {\n      \"uid\": \"19ece87e52bcd855a94326d49b729e59\",\n      \"css\": \"speaker-bluetooth\",\n      \"code\": 985506,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q132.8 125 108.4 149.4T84 209V791Q84 826.2 108.4 850.6T166 875H500Q535.2 875 559.6 850.6T584 791V209Q584 173.8 559.6 149.4T500 125H166ZM334 209Q367.2 209 391.6 233.4T416 292 391.6 350.6 333 375 274.4 350.6 250 292 274.4 233.4 334 209ZM791 291V449.2L695.3 353.5 666 382.8 783.2 500 666 617.2 695.3 646.5 791 550.8V709H812.5L931.6 589.8 841.8 500 931.6 410.2 812.5 291H791ZM834 371.1L873 410.2 834 449.2V371.1ZM334 459Q402.3 459 451.2 507.8T500 625 451.2 742.2 333 791 214.8 742.2 166 625 214.8 507.8 334 459ZM334 541Q298.8 541 274.4 565.4T250 625 274.4 684.6 333 709 391.6 684.6 416 625 391.6 565.4 334 541ZM834 550.8L873 589.8 834 628.9V550.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speaker-bluetooth\"\n      ]\n    },\n    {\n      \"uid\": \"4eb8601e38e3d878c8b861623f4056c6\",\n      \"css\": \"square-root-box\",\n      \"code\": 985507,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM468.8 250H791V334H531.3L416 750H334L259.8 500H209V416H322.3L375 595.7ZM584 441.4L658.2 515.6 732.4 441.4 791 500 716.8 574.2 791 650.4 732.4 709 658.2 632.8 584 709 525.4 650.4 599.6 574.2 525.4 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-root-box\"\n      ]\n    },\n    {\n      \"uid\": \"a8b892032080310c1d0b660fc919a67d\",\n      \"css\": \"star-circle-outline\",\n      \"code\": 985508,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M357.4 718.8L396.5 556.6 271.5 449.2 435.5 433.6 500 283.2 564.5 435.5 728.5 449.2 603.5 556.6 642.6 718.8 500 632.8ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"31ffbdbdc6e7c87d18134778e7cf1ab9\",\n      \"css\": \"star-face\",\n      \"code\": 985509,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L351.6 335.9 84 406.3 257.8 619.1 242.2 896.5 500 794.9 757.8 896.5 742.2 619.1 916 406.3 648.4 335.9ZM390.6 437.5Q410.2 437.5 423.8 451.2T437.5 484.4 423.8 517.6 390.6 531.3 357.4 517.6 343.8 484.4 357.4 451.2 390.6 437.5ZM609.4 437.5Q628.9 437.5 642.6 451.2T656.3 484.4 642.6 517.6 609.4 531.3 576.2 517.6 562.5 484.4 576.2 451.2 609.4 437.5ZM375 625H625Q609.4 662.1 575.2 685.5T500 709 424.8 685.5 375 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-face\"\n      ]\n    },\n    {\n      \"uid\": \"11a664024bf66c74fbe2b46b72037bfd\",\n      \"css\": \"table-merge-cells\",\n      \"code\": 985510,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 416H125V166H459V250H209V416ZM791 750H541V834H875V584H791V750ZM209 750V584H125V834H459V750H209ZM875 166H541V250H791V416H875V166ZM334 541V625L459 500 334 375V459H125V541H334ZM666 459V375L541 500 666 625V541H875V459H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-merge-cells\"\n      ]\n    },\n    {\n      \"uid\": \"6f1be357f2bb26dc2cf76e1dcb9bd824\",\n      \"css\": \"tablet-cellphone\",\n      \"code\": 985511,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H834Q867.2 166 891.6 190.4T916 250V334H750V250H209V750H584V834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166ZM709 416H959Q976.6 416 988.3 428.7T1000 459V875Q1000 892.6 988.3 904.3T959 916H709Q691.4 916 678.7 904.3T666 875V459Q666 441.4 678.7 428.7T709 416ZM750 500V791H916V500H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tablet-cellphone\"\n      ]\n    },\n    {\n      \"uid\": \"407376372606e995bca1ccfd7755951a\",\n      \"css\": \"text-short\",\n      \"code\": 985513,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 375H834V459H166V375ZM166 541H584V625H166V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-short\"\n      ]\n    },\n    {\n      \"uid\": \"c4077706cc6106453c77f6651cdcd814\",\n      \"css\": \"text-subject\",\n      \"code\": 985514,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209H834V291H166V209ZM166 375H834V459H166V375ZM166 541H834V625H166V541ZM166 709H584V791H166V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-subject\"\n      ]\n    },\n    {\n      \"uid\": \"15102bc0e9486dc61a7166cea895ce5d\",\n      \"css\": \"toilet\",\n      \"code\": 985515,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916H709V812.5Q785.2 759.8 830.1 677.7T875 500V166Q875 132.8 850.6 108.4T791 84H625Q589.8 84 565.4 108.4T541 166V500H125Q125 599.6 187.5 681.6 253.9 767.6 375 812.5V916ZM220.7 584H779.3Q761.7 642.6 720.7 690.4T625 763.7V834H459V763.7Q416 757.8 364.3 728.5T273.4 662.1Q232.4 621.1 220.7 584ZM625 166H791V500H625V166ZM666 209V334H750V209H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toilet\"\n      ]\n    },\n    {\n      \"uid\": \"d2eb643e3421142f1707a9880c0d4546\",\n      \"css\": \"toolbox\",\n      \"code\": 985516,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209V250H625V209H375ZM916 750Q916 783.2 891.6 808.6T834 834H166Q132.8 834 108.4 808.6T84 750V584H291V625H375V584H625V625H709V584H916V750ZM187.5 300.8Q209 250 263.7 250H291V209Q291 173.8 315.4 149.4T375 125H625Q660.2 125 684.6 149.4T709 209V250H736.3Q791 250 812.5 300.8L898.4 500H709V459H625V500H375V459H291V500H101.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toolbox\"\n      ]\n    },\n    {\n      \"uid\": \"cf2ca62012befb34043c3be61e47fd83\",\n      \"css\": \"toolbox-outline\",\n      \"code\": 985517,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750V584H709V625H625V584H375V625H291V584H166V750H834ZM263.7 334L191.4 500H291V459H375V500H625V459H709V500H808.6L736.3 334H263.7ZM375 209V250H625V209H375ZM910.2 525.4Q916 541 916 558.6V750Q916 783.2 891.6 808.6T834 834H166Q132.8 834 108.4 808.6T84 750V558.6Q84 541 89.8 525.4L187.5 300.8Q209 250 263.7 250H291V209Q291 173.8 315.4 149.4T375 125H625Q660.2 125 684.6 149.4T709 209V250H736.3Q791 250 812.5 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toolbox-outline\"\n      ]\n    },\n    {\n      \"uid\": \"565e499fb36b9d07a60d54ae5b1d0a1c\",\n      \"css\": \"tournament\",\n      \"code\": 985518,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84V166H291V334H84V416H291Q326.2 416 350.6 391.6T375 334V291H584V709H375V666Q375 632.8 350.6 608.4T291 584H84V666H291V834H84V916H291Q326.2 916 350.6 891.6T375 834V791H584Q617.2 791 641.6 766.6T666 709V541H916V459H666V291Q666 257.8 641.6 233.4T584 209H375V166Q375 132.8 350.6 108.4T291 84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tournament\"\n      ]\n    },\n    {\n      \"uid\": \"25063719b9f52df252825ad141eda296\",\n      \"css\": \"two-factor-authentication\",\n      \"code\": 985519,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291V375H250V459H166Q132.8 459 108.4 483.4T84 541V709H334V625H166V541H250Q285.2 541 309.6 516.6T334 459V375Q334 339.8 309.6 315.4T250 291H84ZM375 291V709H459V541H584V459H459V375H625V291H375ZM750 291Q714.8 291 690.4 315.4T666 375V709H750V584H834V709H916V375Q916 339.8 891.6 315.4T834 291H750ZM750 375H834V500H750V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"two-factor-authentication\"\n      ]\n    },\n    {\n      \"uid\": \"66e201292befe58897546a8337d55ab3\",\n      \"css\": \"umbrella-closed\",\n      \"code\": 985520,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q474.6 84 462.9 107.4L271.5 625H459V791Q459 810.5 447.3 822.3T417 834 386.7 822.3 375 791V750H291V791Q291 845.7 327.1 880.9T417 916 505.9 880.9 541 791V625H728.5L537.1 107.4Q525.4 84 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"umbrella-closed\"\n      ]\n    },\n    {\n      \"uid\": \"3f276e313b74fa37b80e48eb8985aae5\",\n      \"css\": \"unreal\",\n      \"code\": 985521,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84 340.8 115.2 205.1 205.1 115.2 340.8 84 500ZM218.8 781.3Q162.1 724.6 131.8 652.3T101.6 500 131.8 347.7 218.8 218.8 347.7 131.8 500 101.6 652.3 131.8 781.3 218.8 868.2 347.7 898.4 500 868.2 652.3 781.3 781.3 652.3 868.2 500 898.4 347.7 868.2 218.8 781.3ZM263.7 396.5Q236.3 427.7 218.8 462.9 205.1 490.2 199.2 519.5 195.3 539.1 195.3 556.6L197.3 570.3 205.1 554.7Q216.8 533.2 230.5 513.7 250 484.4 275.4 459 310.5 423.8 335.9 423.8 345.7 423.8 351.6 429.7T357.4 443.4V636.7Q357.4 660.2 334 660.2 324.2 660.2 314.5 656.3V656.3Q349.6 707 433.6 734.4 474.6 748 507.8 750L568.4 687.5H570.3L625 734.4Q669.9 709 707 664.1 734.4 632.8 755.9 595.7L773.4 566.4Q718.8 625 683.6 623 668 623 662.1 615.2L660.2 490.2Q660.2 371.1 662.1 371.1 673.8 351.6 705.1 310.5L734.4 273.4Q689.5 283.2 648.4 304.7 617.2 322.3 593.8 341.8L576.2 361.3Q564.5 353.5 543 349.6H525.4Q537.1 357.4 546.9 373T556.6 404.3V611.3L535.2 625Q511.7 640.6 494.1 640.6T464.8 625L459 617.2V361.3Q453.1 367.2 444.3 366.2T430.7 355.5 425.8 325.2 439.5 285.2Q449.2 271.5 464.8 257.8L478.5 248Q423.8 263.7 377 293 324.2 328.1 263.7 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unreal\"\n      ]\n    },\n    {\n      \"uid\": \"95f60b00b2d822379432d6e2acd0b48c\",\n      \"css\": \"video-minus\",\n      \"code\": 985522,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 437.5V291Q709 273.4 696.3 261.7T666 250H166Q148.4 250 136.7 261.7T125 291V709Q125 726.6 136.7 738.3T166 750H666Q683.6 750 696.3 738.3T709 709V562.5L875 728.5V271.5ZM584 541H250V459H584V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-minus\"\n      ]\n    },\n    {\n      \"uid\": \"1e190f5ba12bc24494497ae8c19b0410\",\n      \"css\": \"video-plus\",\n      \"code\": 985523,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 437.5V291Q709 273.4 696.3 261.7T666 250H166Q148.4 250 136.7 261.7T125 291V709Q125 726.6 136.7 738.3T166 750H666Q683.6 750 696.3 738.3T709 709V562.5L875 728.5V271.5ZM584 541H459V666H375V541H250V459H375V334H459V459H584V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-plus\"\n      ]\n    },\n    {\n      \"uid\": \"122c26d853f7fbf8ae880e45af528c16\",\n      \"css\": \"volleyball\",\n      \"code\": 985524,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM566.4 847.7Q720.7 697.3 771.5 490.2 732.4 482.4 687.5 478.5 658.2 591.8 593.8 686.5T437.5 849.6Q470.7 853.5 500 853.5 533.2 853.5 566.4 847.7ZM384.8 835.9Q478.5 773.4 546.9 681.6T644.5 478.5Q595.7 482.4 552.7 492.2 519.5 587.9 453.1 665T296.9 791Q335.9 818.4 384.8 835.9ZM853.5 515.6Q835.9 507.8 810.5 500 767.6 679.7 648.4 822.3 736.3 781.3 793 699.2T853.5 515.6ZM148.4 460.9Q146.5 472.7 146.5 500 146.5 576.2 176.8 644.5T261.7 761.7Q294.9 746.1 330.1 720.7 212.9 609.4 148.4 460.9ZM222.7 281.3Q183.6 330.1 164.1 386.7 224.6 566.4 363.3 695.3 396.5 668 423.8 636.7 345.7 564.5 293.9 473.6T222.7 281.3ZM335.9 187.5Q293 209 257.8 242.2 273.4 347.7 323.2 439.5T449.2 603.5Q468.8 574.2 492.2 529.3 423.8 460.9 382.8 373T335.9 187.5ZM832 377Q752 353.5 666 353.5 548.8 353.5 441.4 396.5 464.8 435.5 492.2 466.8 578.1 437.5 666 437.5 763.7 437.5 853.5 470.7 847.7 419.9 832 377ZM730.5 232.4Q709 228.5 666 228.5 525.4 228.5 392.6 281.3 404.3 318.4 421.9 359.4 539.1 312.5 666 312.5 738.3 312.5 808.6 328.1 777.3 271.5 730.5 232.4ZM666 187.5Q585.9 146.5 500 146.5 437.5 146.5 375 168 377 205.1 382.8 240.2 519.5 187.5 666 187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volleyball\"\n      ]\n    },\n    {\n      \"uid\": \"1c16991c174782b5a64bbbcfcd68f357\",\n      \"css\": \"weight-pound\",\n      \"code\": 985525,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q568.4 125 617.2 173.8T666 291Q666 337.9 644.5 375H750Q779.3 375 801.8 393.6T832 439.5L906.3 738.3Q916 785.2 916 791 916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791Q84 785.2 93.8 738.3L168 439.5Q175.8 412.1 198.2 393.6T250 375H355.5Q334 337.9 334 291 334 222.7 382.8 173.8T500 125ZM500 209Q464.8 209 440.4 233.4T416 292 440.4 350.6 500 375 559.6 350.6 584 292 559.6 233.4 500 209ZM250 459V791H459V709H334V459H250ZM541 459V791H666Q701.2 791 725.6 766.6T750 709V687.5Q750 650.4 720.7 625 750 599.6 750 562.5V541Q750 507.8 725.6 483.4T666 459H541ZM625 541H666V584H625V541ZM625 666H666V709H625V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weight-pound\"\n      ]\n    },\n    {\n      \"uid\": \"4c3356dd428754892706aff0181f6f63\",\n      \"css\": \"whistle\",\n      \"code\": 985526,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 375Q281.3 375 218.8 411.1T120.1 509.8 84 645.5 120.1 781.3 218.8 879.9 354.5 916 490.2 879.9 588.9 781.3 625 646.5V580.1L916 500V375H459V459H375V375H353.5ZM459 84V291H375V84H459ZM263.7 302.7Q222.7 312.5 185.5 334L89.8 203.1 156.3 154.3ZM744.1 203.1L679.7 291H576.2L675.8 154.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"whistle\"\n      ]\n    },\n    {\n      \"uid\": \"5fd2aa4309588dd876e2e5dec17fb455\",\n      \"css\": \"arrow-bottom-left-bold-outline\",\n      \"code\": 985527,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M765.6 824.2H175.8V234.4L353.5 412.1 587.9 175.8 824.2 412.1 587.9 648.4ZM263.7 736.3H558.6L470.7 648.4 707 412.1 587.9 293 351.6 529.3 263.7 441.4V736.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-bottom-left-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c95164fb76e431b92b4d84bdf5ab22d\",\n      \"css\": \"arrow-bottom-left-thick\",\n      \"code\": 985528,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 236.3L763.7 353.5 498 621.1H703.1V763.7H236.3V296.9H380.9V502Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-bottom-left-thick\"\n      ]\n    },\n    {\n      \"uid\": \"e6e34c2432d967177b5d9f559e645de0\",\n      \"css\": \"arrow-bottom-right-bold-outline\",\n      \"code\": 985529,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M412.1 648.4L175.8 412.1 412.1 175.8 648.4 412.1 824.2 234.4V824.2H234.4ZM736.3 441.4L648.4 529.3 412.1 293 293 412.1 529.3 648.4 441.4 736.3H736.3V441.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-bottom-right-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"73a4cc9fd0ee23a7321cd24d222a1244\",\n      \"css\": \"arrow-bottom-right-thick\",\n      \"code\": 985530,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M621.1 502V296.9H763.7V763.7H296.9V621.1H502L236.3 353.5 353.5 236.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-bottom-right-thick\"\n      ]\n    },\n    {\n      \"uid\": \"66341e12a265fcab45be7c90127a94cb\",\n      \"css\": \"arrow-decision\",\n      \"code\": 985531,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 209H334L500 41 666 209H541V392.6Q496.1 421.9 459 462.9V209ZM916 459L750 291V416Q675.8 414.1 611.3 447.3T505.9 540 459 673.8Q410.2 691.4 387.7 738.3T381.8 834 445.3 905.3 541 910.2 612.3 845.7 617.2 750Q609.4 722.7 588.9 703.1T541 673.8Q550.8 599.6 599.6 554.7 634.8 521.5 689.5 507.8 722.7 498 748 498V623ZM443.4 482.4Q357.4 416 250 416V291L84 459 250 625V500Q337.9 502 402.3 558.6 418 517.6 443.4 482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-decision\"\n      ]\n    },\n    {\n      \"uid\": \"10c7e4bb625d0582fb2a4ff2c9afa5a3\",\n      \"css\": \"arrow-decision-auto\",\n      \"code\": 985532,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209H375L541 41 709 209H584V392.6Q537.1 421.9 500 462.9V209ZM433.6 625H353.5L324.2 541H191.4L162.1 625H84L216.8 250H300.8ZM306.6 486.3L257.8 334 210.9 486.3H306.6ZM959 459L791 291V416Q716.8 414.1 652.3 447.3T546.9 540 500 673.8Q451.2 691.4 428.7 738.3T423.8 834 488.3 905.3 584 910.2 655.3 845.7 660.2 750Q650.4 722.7 629.9 703.1T584 673.8Q591.8 599.6 640.6 554.7 677.7 521.5 732.4 507.8 763.7 498 789.1 498V623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-decision-auto\"\n      ]\n    },\n    {\n      \"uid\": \"04a926e5f7d250b48a239a3bb75b9594\",\n      \"css\": \"arrow-decision-auto-outline\",\n      \"code\": 985533,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V500Q738.3 500 687.5 523.4 597.7 568.4 585.9 675.8 634.8 691.4 657.2 738.3T662.1 834 597.7 905.3 502 910.2 430.7 846.7 425.8 752Q433.6 724.6 454.1 704.1T502 675.8Q507.8 601.6 548.8 541T654.3 447.3 791 416V291L959 459ZM584 791Q584 773.4 571.3 761.7T541 750 511.7 761.7 500 791 511.7 821.3 541 834 571.3 821.3 584 791ZM500 462.9Q537.1 421.9 584 392.6V209H709L541 41 375 209H500V462.9ZM300.8 250H216.8L84 625H162.1L191.4 541H324.2L353.5 625H433.6ZM210.9 486.3L257.8 334 306.6 486.3H210.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-decision-auto-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3aca7d3d746cb6d9d75e51a461a8a080\",\n      \"css\": \"arrow-decision-outline\",\n      \"code\": 985534,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M402.3 558.6Q337.9 502 250 500V625L84 459 250 291V416Q357.4 416 443.4 482.4 418 517.6 402.3 558.6ZM750 625V500Q695.3 500 646.5 523.4 554.7 568.4 543 675.8 591.8 691.4 614.3 738.3T620.1 834 556.6 905.3 460.9 910.2 389.6 846.7 384.8 752Q392.6 724.6 413.1 704.1T460.9 675.8Q466.8 601.6 506.8 541T611.3 447.3 750 416V291L916 459ZM541 791Q541 773.4 529.3 761.7T500 750 470.7 761.7 459 791 470.7 821.3 500 834 529.3 821.3 541 791ZM459 462.9Q496.1 421.9 541 392.6V209H666L500 41 334 209H459V462.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-decision-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8d511530fef5970696497f9e32bbf111\",\n      \"css\": \"arrow-down-bold-outline\",\n      \"code\": 985535,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 459L500 875 84 459H334V125H666V459H916ZM500 750L709 541H584V209H416V541H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6351498c73384491fe907f3a3dd7e058\",\n      \"css\": \"arrow-left-bold-outline\",\n      \"code\": 985536,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 916L125 500 541 84V334H875V666H541V916ZM250 500L459 709V584H791V416H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"abb9114eb25a223f02ea4a54369135b6\",\n      \"css\": \"arrow-left-right-bold-outline\",\n      \"code\": 985537,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 666V916L1000 500 584 84V334H416V84L0 500 416 916V666H584ZM334 584V709L125 500 334 291V416H666V291L875 500 666 709V584H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-right-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b0711ccf6fe9473015eae0bf89793f67\",\n      \"css\": \"arrow-right-bold-outline\",\n      \"code\": 985538,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 666H125V334H459V84L875 500 459 916V666ZM541 291V416H209V584H541V709L750 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f005b4625290073b01e48b90ab6714f0\",\n      \"css\": \"arrow-top-left-bold-outline\",\n      \"code\": 985539,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M587.9 351.6L824.2 587.9 587.9 824.2 351.6 587.9 175.8 765.6V175.8H765.6ZM263.7 558.6L351.6 470.7 587.9 707 707 587.9 470.7 353.5 558.6 263.7H263.7V558.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-left-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3a4928f1271e0d50cc2378e1c06b62ef\",\n      \"css\": \"arrow-top-left-thick\",\n      \"code\": 985540,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M380.9 498V703.1H236.3V236.3H703.1V380.9H498L763.7 646.5 646.5 763.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-left-thick\"\n      ]\n    },\n    {\n      \"uid\": \"d55b390abc89e23f1e771c5c11df1f0c\",\n      \"css\": \"arrow-top-right-bold-outline\",\n      \"code\": 985541,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M234.4 175.8H824.2V765.6L648.4 587.9 412.1 824.2 175.8 587.9 412.1 351.6ZM736.3 263.7H441.4L529.3 351.6 293 587.9 412.1 707 648.4 470.7 736.3 558.6V263.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-right-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2539ed903078d8a1ec87dd990d2d7141\",\n      \"css\": \"arrow-top-right-thick\",\n      \"code\": 985542,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 763.7L236.3 646.5 502 380.9H296.9V236.3H763.7V703.1H621.1V498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-right-thick\"\n      ]\n    },\n    {\n      \"uid\": \"330452d7bc98a68b8d45b1edede44020\",\n      \"css\": \"arrow-up-bold-outline\",\n      \"code\": 985543,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 541V875H334V541H84L500 125 916 541H666ZM291 459H416V791H584V459H709L500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9ed522bb9e383d95b6beebf024ef1576\",\n      \"css\": \"arrow-up-down-bold-outline\",\n      \"code\": 985544,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 416H916L500 0 84 416H334V584H84L500 1000 916 584H666V416ZM584 666H709L500 875 291 666H416V334H291L500 125 709 334H584V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-down-bold-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4d39bbd0c5bf1d60f118a690f8b83aac\",\n      \"css\": \"ballot\",\n      \"code\": 985545,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 396.5H750V312.5H541V396.5ZM541 687.5H750V603.5H541V687.5ZM791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875ZM250 459H459V250H250V459ZM291 291H416V416H291V291ZM250 750H459V541H250V750ZM291 584H416V709H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ballot\"\n      ]\n    },\n    {\n      \"uid\": \"5cdc6fa5c4f50951d167f81069e1c6a6\",\n      \"css\": \"ballot-outline\",\n      \"code\": 985546,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 312.5H750V396.5H541V312.5ZM541 603.5H750V687.5H541V603.5ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM791 791V209H209V791H791ZM459 250V459H250V250H459ZM416 416V291H291V416H416ZM459 541V750H250V541H459ZM416 709V584H291V709H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ballot-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0233a092222c60a4dc40d647f5b9e13f\",\n      \"css\": \"betamax\",\n      \"code\": 985547,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM334 375Q402.3 375 451.2 423.8T500 542 451.2 660.2 333 709 214.8 660.2 166 542 214.8 423.8 334 375ZM541 375H834V709H541V375ZM334 459Q298.8 459 274.4 483.4T250 542 274.4 600.6 333 625 391.6 600.6 416 542 391.6 483.4 334 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"betamax\"\n      ]\n    },\n    {\n      \"uid\": \"728d1cf4b346279fa4f7aea73d6754b4\",\n      \"css\": \"bookmark-minus\",\n      \"code\": 985548,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125H291Q257.8 125 233.4 149.4T209 209V875L500 750 791 875V209Q791 173.8 766.6 149.4T709 125ZM625 459H375V375H625V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-minus\"\n      ]\n    },\n    {\n      \"uid\": \"caea9bcc7eebba66b55bf09fda724587\",\n      \"css\": \"bookmark-minus-outline\",\n      \"code\": 985549,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 459V375H625V459H375ZM791 209V875L500 750 209 875V209Q209 173.8 233.4 149.4T291 125H709Q742.2 125 766.6 149.4T791 209ZM709 209H291V750L500 658.2 709 750V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e86a8d814b1fa60fba7f06dea01a9ccf\",\n      \"css\": \"bookmark-off\",\n      \"code\": 985550,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 863.3L781.3 916 699.2 835.9 500 750 209 875V343.8L84 218.8 136.7 166ZM791 714.8V209Q791 173.8 766.6 149.4T709 125H291Q255.9 125 228.5 154.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-off\"\n      ]\n    },\n    {\n      \"uid\": \"5ab8ae5f6917b7278a2d6652f32e7742\",\n      \"css\": \"bookmark-off-outline\",\n      \"code\": 985551,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 166L84 218.8 209 343.8V875L500 750 699.2 835.9 781.3 916 834 863.3ZM291 750V427.7L541 677.7 500 658.2ZM291 214.8L228.5 152.3Q255.9 125 291 125H709Q742.2 125 766.6 149.4T791 209V714.8L709 630.9V209H291V214.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ca3d406843d599cf0d8f32db21e569ca\",\n      \"css\": \"braille\",\n      \"code\": 985552,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 334Q291 316.4 303.7 303.7T334 291 363.3 303.7 375 334V519.5L425.8 525.4 630.9 617.2Q648.4 623 657.2 638.7T666 671.9V853.5Q666 878.9 647.5 897.5T603.5 916H334Q308.6 916 291 898.4L87.9 724.6 119.1 691.4Q130.9 677.7 148.4 677.7H158.2L291 750V334ZM812.5 84Q787.1 84 768.6 101.6T750 145.5 768.6 190.4 812.5 209 856.4 190.4 875 145.5 856.4 101.6 812.5 84ZM812.5 291Q787.1 291 768.6 309.6T750 354.5 768.6 398.4 812.5 416 856.4 398.4 875 354.5 856.4 309.6 812.5 291ZM603.5 291Q578.1 291 559.6 309.6T541 354.5 559.6 398.4 604.5 416 648.4 398.4 666 354.5 648.4 309.6 603.5 291ZM812.5 500Q787.1 500 768.6 518.6T750 562.5 768.6 606.4 812.5 625 856.4 606.4 875 562.5 856.4 518.6 812.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"braille\"\n      ]\n    },\n    {\n      \"uid\": \"82a6a1fe434727c5af00df644c3c510d\",\n      \"css\": \"brain\",\n      \"code\": 985553,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M888.7 537.1Q890.6 585.9 870.1 629.9T810.5 703.1L841.8 763.7Q857.4 794.9 844.7 825.2T800.8 867.2L767.6 877Q757.8 880.9 744.1 880.9 710.9 880.9 689.5 853.5L601.6 750Q544.9 740.2 500 705.1 468.8 712.9 437.5 712.9 380.9 712.9 334 681.6 300.8 691.4 265.6 689.5 216.8 691.4 170.9 670.9T97.7 610.4 68.4 521.5Q64.5 474.6 84 433.6 64.5 384.8 80.1 335.9 103.5 275.4 162.1 242.2 179.7 189.5 225.6 158.2T328.1 130.9Q378.9 84 447.3 79.1T570.3 115.2Q597.7 107.4 625 107.4 668 107.4 706.1 125T771.5 175.8Q834 193.4 876 244.1T919.9 361.3Q923.8 433.6 884.8 492.2 888.7 515.6 888.7 537.1ZM679.7 478.5Q699.2 480.5 710.9 493.2T722.7 523.4 710.9 552.7 681.6 564.5H654.3Q634.8 623 587.9 660.2L619.1 669.9Q750 668 791 605.5 812.5 572.3 808.6 535.2V533.2Q806.6 490.2 773.4 459T695.3 429.7Q679.7 429.7 667 418T654.3 388.7 667 359.4 695.3 347.7Q775.4 349.6 835.9 400.4 837.9 382.8 837.9 363.3 835.9 320.3 812.5 294.9 783.2 265.6 718.8 257.8 701.2 216.8 668 199.2 640.6 183.6 607.4 189.5 578.1 195.3 556.6 210.9T535.2 242.2V242.2Q535.2 248 539.1 259.8T544.9 273.4Q562.5 273.4 575.2 285.2T587.9 314.5 575.2 344.7 544.9 357.4V357.4Q511.7 355.5 486.3 334 457 353.5 419.9 357.4V357.4Q402.3 357.4 388.7 346.7T374 319.3 383.8 289.1 412.1 273.4Q423.8 271.5 433.6 267.6 451.2 257.8 451.2 242.2V242.2Q451.2 199.2 478.5 166 416 150.4 357.4 220.7 298.8 210.9 271.5 225.6T226.6 300.8Q193.4 316.4 181.6 330.1 164.1 345.7 158.2 375 226.6 361.3 291 384.8 306.6 390.6 314.5 406.3T316.4 438.5 294.9 461.9 261.7 462.9Q214.8 443.4 166 460.9 158.2 468.8 154.3 484.4V515.6T165 557.6 195.3 589.8Q228.5 607.4 265.6 607.4 257.8 591.8 251 574.2T252 540 276.4 517.6 309.6 519.5 332 544.9Q343.8 580.1 373 603.5T441.4 630.9Q484.4 628.9 519.5 604.5T574.2 541Q580.1 502 611.3 488.3 632.8 478.5 679.7 478.5ZM763.7 791L738.3 736.3 709 742.2 750 794.9ZM570.3 431.6Q570.3 416 559.6 403.3T531.3 388.7Q486.3 386.7 451.2 416 414.1 455.1 416 507.8 416 525.4 428.7 537.1T459 548.8 488.3 537.1 500 507.8 509.8 476.6Q517.6 470.7 527.3 470.7 544.9 470.7 557.6 460T570.3 431.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brain\"\n      ]\n    },\n    {\n      \"uid\": \"da1ce67ce0e7fa395a4b61a5da0a3f1e\",\n      \"css\": \"calendar-heart\",\n      \"code\": 985554,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834V375H209V834H791ZM666 84H750V166H791Q826.2 166 850.6 190.4T875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166H250V84H334V166H666V84ZM500 757.8L476.6 734.4H474.6Q396.5 664.1 373 632.8 334 585.9 334 544.9T360.4 477.5 425.8 451.2Q470.7 451.2 500 486.3 529.3 451.2 574.2 451.2 613.3 451.2 639.6 477.5T666 544.9 627 632.8Q603.5 664.1 525.4 734.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-heart\"\n      ]\n    },\n    {\n      \"uid\": \"ea1da7e513d8d780862520031cf15c9a\",\n      \"css\": \"calendar-star\",\n      \"code\": 985555,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834H209V375H791V834ZM666 84V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166H750V84H666ZM453.1 541H302.7L423.8 628.9 378.9 773.4 500 685.5 621.1 773.4 574.2 630.9 697.3 541H546.9L500 398.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-star\"\n      ]\n    },\n    {\n      \"uid\": \"8e0ebfc3d03a49dd38bb9dcfee1782e2\",\n      \"css\": \"cassette\",\n      \"code\": 985556,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H250L291 709H709L750 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM271.5 416Q296.9 416 315.4 434.6T334 479.5 315.4 523.4 270.5 541 226.6 523.4 209 479.5 226.6 434.6 271.5 416ZM375 416H625V541H375V416ZM728.5 416Q755.9 416 773.4 434.6T791 479.5 773.4 523.4 729.5 541 684.6 523.4 666 479.5 684.6 434.6 728.5 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cassette\"\n      ]\n    },\n    {\n      \"uid\": \"0c16b94d7c38a65516cde4518141c272\",\n      \"css\": \"cellphone-arrow-down\",\n      \"code\": 985557,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 41H291Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41ZM709 791H291V209H709V791ZM666 541H541V334H459V541H334L500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"0415605ac0d058d6bdbb0125226a48fe\",\n      \"css\": \"chevron-down-box\",\n      \"code\": 985558,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 654.3L250 404.3 308.6 345.7 500 537.1 691.4 345.7 750 404.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-down-box\"\n      ]\n    },\n    {\n      \"uid\": \"bc274a90bf60efb319c6017f55b74188\",\n      \"css\": \"chevron-down-box-outline\",\n      \"code\": 985559,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM308.6 345.7L500 537.1 691.4 345.7 750 404.3 500 654.3 250 404.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-down-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"50b3fcb9a8b12502e4b6c9d619ba8981\",\n      \"css\": \"chevron-left-box\",\n      \"code\": 985560,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM654.3 691.4L595.7 750 345.7 500 595.7 250 654.3 308.6 462.9 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-left-box\"\n      ]\n    },\n    {\n      \"uid\": \"cbfaa40dfa0808a0cce9757e6510c97f\",\n      \"css\": \"chevron-left-box-outline\",\n      \"code\": 985561,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM654.3 308.6L462.9 500 654.3 691.4 595.7 750 345.7 500 595.7 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-left-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4e916ea3d157fd0f798ef3d69a2eadf5\",\n      \"css\": \"chevron-right-box\",\n      \"code\": 985562,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM404.3 750L345.7 691.4 537.1 500 345.7 308.6 404.3 250 654.3 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-right-box\"\n      ]\n    },\n    {\n      \"uid\": \"11d79f4071e81b0518e816dccd66b9c1\",\n      \"css\": \"chevron-right-box-outline\",\n      \"code\": 985563,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM345.7 691.4L537.1 500 345.7 308.6 404.3 250 654.3 500 404.3 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-right-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b7383eea6c008d257a9a5e942446b23b\",\n      \"css\": \"chevron-up-box\",\n      \"code\": 985564,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM691.4 654.3L500 462.9 308.6 654.3 250 595.7 500 345.7 750 595.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-up-box\"\n      ]\n    },\n    {\n      \"uid\": \"c2441163e940c4824459ad064d714578\",\n      \"css\": \"chevron-up-box-outline\",\n      \"code\": 985565,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM691.4 654.3L500 462.9 308.6 654.3 250 595.7 500 345.7 750 595.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-up-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e13ee8e95ab1310e5206a877c1359676\",\n      \"css\": \"circle-medium\",\n      \"code\": 985566,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q431.6 334 382.8 382.8T334 500 382.8 617.2 500 666 617.2 617.2 666 500 617.2 382.8 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-medium\"\n      ]\n    },\n    {\n      \"uid\": \"2642c686b2e15a542fc8c6f79a712da6\",\n      \"css\": \"circle-small\",\n      \"code\": 985567,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-small\"\n      ]\n    },\n    {\n      \"uid\": \"35d3443e000c9f1bc6a0948d775c7482\",\n      \"css\": \"cloud-alert\",\n      \"code\": 985568,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834H250Q181.6 834 125 799.8T34.2 708 0 584Q0 486.3 64.5 416T222.7 334Q261.7 257.8 336.9 211.9T500 166Q613.3 166 699.2 237.3T806.6 418Q888.7 423.8 944.3 483.4T1000 625Q1000 681.6 971.7 729.5T895.5 805.7 791 834ZM459 625V709H541V625H459ZM459 541H541V334H459V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-alert\"\n      ]\n    },\n    {\n      \"uid\": \"58230794b7fa6aa472f6b38b009f7089\",\n      \"css\": \"comment-arrow-left\",\n      \"code\": 985569,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 894.5 344.7 905.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM666 459H478.5L554.7 533.2 500 584 334 416 500 250 550.8 300.8 478.5 375H666V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"6866b77aa5f799bdd3e09761a155a9b2\",\n      \"css\": \"comment-arrow-left-outline\",\n      \"code\": 985570,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 894.5 344.7 905.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H544.9L416 794.9V666H166V166H834V666ZM666 459V375H478.5L554.7 300.8 500 250 334 416 500 584 550.8 533.2 478.5 459H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-arrow-left-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2805976f73eeb4a8359ae9467b0d320f\",\n      \"css\": \"comment-arrow-right\",\n      \"code\": 985571,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 894.5 344.7 905.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM500 584L449.2 533.2 525.4 459H334V375H521.5L445.3 300.8 500 250 666 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"d6b6a9a0676be3c855020e1c414d45ec\",\n      \"css\": \"comment-arrow-right-outline\",\n      \"code\": 985572,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 894.5 344.7 905.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H544.9L416 794.9V666H166V166H834V666ZM334 375V459H521.5L445.3 533.2 500 584 666 416 500 250 449.2 300.8 521.5 375H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-arrow-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bb0a7ade5f41cb5f2c97a4942d70350a\",\n      \"css\": \"comment-plus\",\n      \"code\": 985573,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM459 250V375H334V459H459V584H541V459H666V375H541V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-plus\"\n      ]\n    },\n    {\n      \"uid\": \"bfa657e48bbfd86b1f9716b96a9b33e0\",\n      \"css\": \"currency-php\",\n      \"code\": 985574,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V250H125V334H209V416H125V500H209V916H291V666H541Q627 666 698.2 621.1T804.7 500H916V416H830.1Q837.9 375 830.1 334H916V250H804.7Q769.5 173.8 698.2 128.9T541 84H209ZM291 166H541Q589.8 166 634.8 188.5T709 250H291V166ZM541 584H291V500H709Q679.7 539.1 634.8 561.5T541 584ZM750 375Q750 394.5 746.1 416H291V334H746.1Q750 355.5 750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-php\"\n      ]\n    },\n    {\n      \"uid\": \"e26539e579b530b1071f626d11862d70\",\n      \"css\": \"delete-outline\",\n      \"code\": 985575,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 791Q250 826.2 274.4 850.6T334 875H666Q701.2 875 725.6 850.6T750 791V291H250V791ZM334 375H666V791H334V375ZM646.5 166L603.5 125H396.5L353.5 166H209V250H791V166H646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e0d4af7cddb8347a92dcb9fd9b841ad3\",\n      \"css\": \"desktop-mac-dashboard\",\n      \"code\": 985576,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 584V166H125V584H875ZM875 84Q910.2 84 934.6 108.4T959 166V666Q959 701.2 934.6 725.6T875 750H584L666 875V916H334V875L416 750H125Q89.8 750 65.4 725.6T41 666V166Q41 132.8 65.4 108.4T125 84H875ZM166 209H625V416H166V209ZM666 209H834V291H666V209ZM834 334V541H666V334H834ZM166 459H375V541H166V459ZM416 459H625V541H416V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desktop-mac-dashboard\"\n      ]\n    },\n    {\n      \"uid\": \"26f4a89002d9932c3bb549ce204e1cdb\",\n      \"css\": \"download-multiple\",\n      \"code\": 985577,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 41V291H209L500 584 791 291H625V41H375ZM209 666V750H791V666H209ZM209 834V916H791V834H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"576ca5517c0f80caad14e7be5ee6334e\",\n      \"css\": \"eight-track\",\n      \"code\": 985578,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84L209 209V666L250 834Q259.8 869.1 279.3 892.6 300.8 916 334 916H666Q701.2 916 725.6 891.6T750 834L791 666V209L709 84H625V125H541V84H291ZM291 250H709V666H291V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eight-track\"\n      ]\n    },\n    {\n      \"uid\": \"80bd47cd54f43db4871bb4e83704a47d\",\n      \"css\": \"email-plus\",\n      \"code\": 985579,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H587.9Q584 812.5 584 791 584 724.6 617.2 667T708 575.2 834 541Q853.5 541 875 544.9V250Q875 214.8 850.6 190.4T791 166H125ZM125 250L459 459 791 250V334L459 541 125 334V250ZM791 625V750H666V834H791V959H875V834H1000V750H875V625H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-plus\"\n      ]\n    },\n    {\n      \"uid\": \"582e6348bd52c202061ae58f28cbde85\",\n      \"css\": \"email-plus-outline\",\n      \"code\": 985580,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V750H666V834H791V959H875V834H1000V750H875V625H791ZM584 750H125V334L459 541 791 334V541H875V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H584V750ZM791 250L459 459 125 250H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"035f525475392eaef80aed06b68e3a04\",\n      \"css\": \"text-box-outline\",\n      \"code\": 985581,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM209 209H791V791H209V209ZM291 291V375H709V291H291ZM291 459V541H709V459H291ZM291 625V709H584V625H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a8da1ba1d6ced5ccedf033b26d66928a\",\n      \"css\": \"file-document-outline\",\n      \"code\": 985582,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250ZM250 166H541V375H750V834H250V166ZM334 500V584H666V500H334ZM334 666V750H541V666H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-document-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ee12e601aa694f0588d4902af1c3478\",\n      \"css\": \"floppy-variant\",\n      \"code\": 985583,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125V875H875V125H125ZM500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM500 625Q517.6 625 529.3 636.7T541 666V791Q541 808.6 529.3 821.3T500 834 470.7 821.3 459 791V666Q459 648.4 470.7 636.7T500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"floppy-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ea551f2a0eccb20f954530699b1cc039\",\n      \"css\": \"flower-outline\",\n      \"code\": 985584,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M361.3 544.9Q306.6 544.9 267.6 506.8T228.5 414.1Q228.5 369.1 257.8 334 228.5 296.9 228.5 252 228.5 199.2 267.6 161.1T361.3 123H378.9Q394.5 85.9 426.8 63.5T500 41 573.2 63.5 621.1 123H638.7Q693.4 123 732.4 161.1T771.5 252Q771.5 296.9 742.2 334 771.5 371.1 771.5 414.1 771.5 466.8 732.4 505.9T638.7 544.9L621.1 543Q605.5 580.1 573.2 602.5T500 625 426.8 602.5 378.9 543ZM500 541Q519.5 541 533.2 528.3T546.9 496.1L543 451.2Q521.5 459 500 459T459 451.2L453.1 496.1Q453.1 515.6 466.8 528.3T500 541ZM638.7 460.9Q658.2 460.9 672.9 447.3T687.5 414.1Q687.5 400.4 679.7 388.7T660.2 371.1L623 353.5Q615.2 398.4 578.1 429.7L613.3 453.1Q625 460.9 638.7 460.9ZM611.3 212.9L578.1 236.3Q615.2 267.6 623 312.5L658.2 294.9Q671.9 289.1 679.7 277.3T687.5 252Q687.5 232.4 672.9 218.8T638.7 205.1Q625 205.1 611.3 212.9ZM500 125Q480.5 125 466.8 138.7T453.1 169.9L459 216.8Q478.5 209 500 209T543 216.8L546.9 169.9Q546.9 152.3 533.2 138.7T500 125ZM361.3 205.1Q341.8 205.1 327.1 218.8T312.5 252Q312.5 265.6 320.3 277.3T339.8 294.9L377 312.5Q384.8 267.6 421.9 236.3L386.7 212.9Q375 205.1 361.3 205.1ZM339.8 371.1Q328.1 377 320.3 388.7T312.5 414.1Q312.5 433.6 327.1 447.3T361.3 460.9Q377 460.9 388.7 453.1L421.9 429.7Q384.8 400.4 377 353.5ZM500 916Q398.4 916 312.5 866.2T175.8 729.5 125 541Q226.6 541 312.5 591.8T449.2 728.5 500 916Q500 814.5 550.8 728.5T687.5 591.8 875 541Q875 642.6 824.2 729.5T687.5 866.2 500 916ZM601.6 814.5Q660.2 793 706.1 748T773.4 642.6Q714.8 666 668.9 710.9T601.6 814.5ZM226.6 642.6Q248 703.1 293.9 748T398.4 814.5Q377 755.9 332 710.9T226.6 642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flower-outline\"\n      ]\n    },\n    {\n      \"uid\": \"df7be8fc3dc07a90139061858ce757f4\",\n      \"css\": \"flower-tulip\",\n      \"code\": 985585,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541Q125 642.6 175.8 729.5T312.5 866.2 500 916Q500 814.5 449.2 728.5T312.5 591.8 125 541ZM500 916Q601.6 916 687.5 866.2T824.2 729.5 875 541Q773.4 541 687.5 591.8T550.8 728.5 500 916ZM750 125V334Q750 382.8 731.4 428.7T677.7 509.8 595.7 564.5 500 584 404.3 564.5 322.3 509.8 268.6 428.7 250 334V125Q298.8 125 339.8 140.6 375 156.3 400.4 183.6L500 84 599.6 183.6Q625 156.3 660.2 140.6 701.2 125 750 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flower-tulip\"\n      ]\n    },\n    {\n      \"uid\": \"0b013ffd4d1101c71269961a0279ef33\",\n      \"css\": \"flower-tulip-outline\",\n      \"code\": 985586,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541Q125 642.6 175.8 729.5T312.5 866.2 500 916Q500 814.5 449.2 728.5T312.5 591.8 125 541ZM226.6 642.6Q287.1 666 332 710.9T398.4 814.5Q337.9 793 293 748T226.6 642.6ZM500 916Q601.6 916 687.5 866.2T824.2 729.5 875 541Q773.4 541 687.5 591.8T550.8 728.5 500 916ZM601.6 814.5Q623 755.9 668 710T773.4 642.6Q752 703.1 706.1 748T601.6 814.5ZM500 584Q548.8 584 595.7 564.5T677.7 509.8 731.4 428.7 750 334V125Q701.2 125 660.2 140.6 625 156.3 599.6 183.6L500 84 400.4 183.6Q375 156.3 339.8 140.6 298.8 125 250 125V334Q250 382.8 268.6 428.7T322.3 509.8 404.3 564.5 500 584ZM334 234.4L398.4 302.7 500 201.2 601.6 302.7 666 234.4V334Q666 402.3 617.2 451.2T500 500 382.8 451.2 334 334V234.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flower-tulip-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b67c2024a64fc232a5b144d5b2d6f5cf\",\n      \"css\": \"format-font-size-decrease\",\n      \"code\": 985587,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M212.9 584L312.5 320.3 412.1 584H212.9ZM271.5 209L41 791H134.8L181.6 666H443.4L490.2 791H584L353.5 209H271.5ZM750 709L959 498 900.4 437.5 791 544.9V291H709V544.9L599.6 437.5 541 498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-font-size-decrease\"\n      ]\n    },\n    {\n      \"uid\": \"6e2433564b869effef8922e0ed2e244d\",\n      \"css\": \"format-font-size-increase\",\n      \"code\": 985588,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M212.9 584L312.5 320.3 412.1 584H212.9ZM271.5 209L41 791H134.8L181.6 666H443.4L490.2 791H584L353.5 209H271.5ZM750 291L541 502 599.6 562.5 709 455.1V709H791V455.1L900.4 562.5 959 502Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-font-size-increase\"\n      ]\n    },\n    {\n      \"uid\": \"270974386108ae6dbd489e69638be7d3\",\n      \"css\": \"ghost-off\",\n      \"code\": 985589,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 136.7L136.7 84 916 863.3 863.3 916 744.1 796.9 625 916 500 791 375 916 250 791 125 916V459Q125 341.8 191.4 244.1ZM500 84Q601.6 84 687.5 133.8T824.2 270.5 875 459V716.8L654.3 494.1Q677.7 486.3 693.4 464.8T709 416Q709 382.8 684.6 358.4T625 334Q597.7 334 577.1 348.6T546.9 386.7L300.8 140.6Q390.6 84 500 84ZM291 416Q291 451.2 315.4 475.6T373 500 427.7 480.5L310.5 363.3Q291 386.7 291 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ghost-off\"\n      ]\n    },\n    {\n      \"uid\": \"738e8929ea386ee57128f16680f52036\",\n      \"css\": \"google-lens\",\n      \"code\": 985590,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q818.4 84 867.2 132.8T916 250V500H834V250Q834 214.8 809.6 190.4T750 166H250Q214.8 166 190.4 190.4T166 250V750Q166 785.2 190.4 809.6T250 834H500V916H250Q181.6 916 132.8 867.2T84 750V250Q84 181.6 132.8 132.8T250 84ZM500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334ZM750 666Q785.2 666 809.6 690.4T834 750 809.6 809.6 750 834 690.4 809.6 666 750 690.4 690.4 750 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-lens\"\n      ]\n    },\n    {\n      \"uid\": \"f9720e7c17e6fa25aafc92d2b33d650c\",\n      \"css\": \"google-spreadsheet\",\n      \"code\": 985591,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459V375H459V209H375V375H209V459H375V791H459V459H791ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-spreadsheet\"\n      ]\n    },\n    {\n      \"uid\": \"fc78e563f97f2eb0b66e2705951fbeb9\",\n      \"css\": \"image-move\",\n      \"code\": 985592,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125H791V0L1000 209 791 416V291H625V125ZM875 498V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H502Q500 138.7 500 166 500 257.8 544.9 334T666 455.1 834 500Q861.3 500 875 498ZM791 750L603.5 500 459 687.5 353.5 562.5 209 750H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-move\"\n      ]\n    },\n    {\n      \"uid\": \"8711728c3c16755cb74f7a5a277ff9e5\",\n      \"css\": \"keyboard-settings\",\n      \"code\": 985593,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416H709V334H791V416ZM791 541H709V459H791V541ZM666 416H584V334H666V416ZM666 541H584V459H666V541ZM666 709H334V625H666V709ZM291 416H209V334H291V416ZM291 541H209V459H291V541ZM334 459H416V541H334V459ZM334 334H416V416H334V334ZM459 459H541V541H459V459ZM459 334H541V416H459V334ZM834 209H166Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209ZM291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-settings\"\n      ]\n    },\n    {\n      \"uid\": \"7d74974d32911dbb2ac2d786f4f999da\",\n      \"css\": \"keyboard-settings-outline\",\n      \"code\": 985594,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916ZM166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM166 291H834V709H166V291ZM209 334V416H291V334H209ZM334 334V416H416V334H334ZM459 334V416H541V334H459ZM584 334V416H666V334H584ZM709 334V416H791V334H709ZM209 459V541H291V459H209ZM334 459V541H416V459H334ZM459 459V541H541V459H459ZM584 459V541H666V459H584ZM709 459V541H791V459H709ZM334 584V666H666V584H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5fa7976cf4f6ded235a605f87e0dd70d\",\n      \"css\": \"knife\",\n      \"code\": 985595,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M859.4 84Q898.4 148.4 877 252 859.4 337.9 800.8 451.2 752 539.1 679.7 640.6 627 712.9 568.4 783.2L519.5 839.8 400.4 720.7 205.1 916 115.2 828.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"knife\"\n      ]\n    },\n    {\n      \"uid\": \"3207a0eb58650312b7e06364539eabbf\",\n      \"css\": \"knife-military\",\n      \"code\": 985596,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 84L724.6 156.3 435.5 445.3 584 591.8 871.1 304.7Q900.4 275.4 912.1 218.8 919.9 177.7 919.9 127ZM347.7 416L289.1 474.6 347.7 533.2 111.3 769.5 257.8 916 494.1 681.6 552.7 740.2 613.3 681.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"knife-military\"\n      ]\n    },\n    {\n      \"uid\": \"34949aea73c1d07c50a2ad64ac595f73\",\n      \"css\": \"layers-off-outline\",\n      \"code\": 985597,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 189.5L451.2 226.6 392.6 166 500 84 875 375 720.7 496.1 660.2 435.5 738.3 375ZM875 585.9L837.9 615.2 779.3 554.7 806.6 533.2ZM142.6 35.2L921.9 816.4 863.3 875 707 716.8 500 877 125 585.9 193.4 533.2 500 773.4 646.5 658.2 587.9 599.6 500 666 125 375 259.8 271.5 84 93.8ZM500 560.5L527.3 539.1 318.4 330.1 261.7 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"17805adf6582bc49010e7be2b9359060\",\n      \"css\": \"layers-outline\",\n      \"code\": 985598,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 773.4L806.6 533.2 875 585.9 500 877 125 585.9 193.4 533.2ZM500 666L125 375 500 84 875 375ZM500 189.5L261.7 375 500 560.5 738.3 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1640bf33d1b68c1b6b3beb5d13c72d5b\",\n      \"css\": \"lighthouse\",\n      \"code\": 985599,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 416V334H375V166H334V125L500 41 666 125V166H625V334H666V416H613.3L351.6 568.4 375 416H334ZM541 334V166H459V334H541ZM291 959L293 949.2 673.8 728.5 695.3 869.1 541 959H291ZM335.9 673.8L638.7 500 660.2 640.6 310.5 841.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lighthouse\"\n      ]\n    },\n    {\n      \"uid\": \"8a096e437c7948ec6ff88744056b0bbe\",\n      \"css\": \"lighthouse-on\",\n      \"code\": 985600,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 416V84L416 209V291ZM334 416V334H541V166H334V125L500 41 666 125V166H625V334H666V416H613.3L351.6 568.4 375 416H334ZM291 959L293 949.2 673.8 728.5 695.3 869.1 541 959H291ZM335.9 673.8L638.7 500 660.2 640.6 310.5 841.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lighthouse-on\"\n      ]\n    },\n    {\n      \"uid\": \"e8ef8057d189b7dd2fbd05eeb517efa5\",\n      \"css\": \"map-legend\",\n      \"code\": 985601,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125L140.6 205.1Q125 209 125 224.6V853.5Q125 863.3 130.9 869.1T146.5 875L152.3 873 375 787.1 625 875 859.4 794.9Q875 791 875 775.4V146.5Q875 136.7 869.1 130.9T853.5 125L847.7 127 625 212.9ZM334 226.6V714.8L209 763.7V269.5ZM416 228.5L584 287.1V771.5L416 712.9V228.5ZM791 238.3V730.5L666 773.4V285.2ZM310.5 261.7L232.4 291V380.9L310.5 351.6V261.7ZM310.5 377L232.4 404.3V494.1L310.5 466.8V377ZM310.5 492.2L232.4 519.5V609.4L310.5 582V492.2ZM310.5 605.5L232.4 634.8V724.6L310.5 695.3V605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-legend\"\n      ]\n    },\n    {\n      \"uid\": \"3013dfb42345f8860b5a8ef4ccb36d2c\",\n      \"css\": \"menu-left-outline\",\n      \"code\": 985602,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 750H562.5L312.5 500 562.5 250H625V750ZM429.7 500L541 611.3V388.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-left-outline\"\n      ]\n    },\n    {\n      \"uid\": \"717b3e44cb5e02306ab2bda7f4109c31\",\n      \"css\": \"menu-right-outline\",\n      \"code\": 985603,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 250H437.5L687.5 500 437.5 750H375V250ZM570.3 500L459 388.7V611.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6ddc17e33b8cd5e7770d9efb7da0b9cb\",\n      \"css\": \"message-alert-outline\",\n      \"code\": 985604,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 416H459V250H541V416ZM541 500H459V584H541V500ZM916 166V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166ZM834 166H166V716.8L216.8 666H834V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f17072c4d369663e3acca9a57503df05\",\n      \"css\": \"mini-sd\",\n      \"code\": 985605,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 166Q214.8 166 190.4 190.4T166 250V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750V500L750 416V250Q750 214.8 725.6 190.4T666 166H250ZM291 250H375V416H291V250ZM416 250H500V416H416V250ZM541 250H625V416H541V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mini-sd\"\n      ]\n    },\n    {\n      \"uid\": \"0d9294a89115b239c4258475202f4828\",\n      \"css\": \"minidisc\",\n      \"code\": 985606,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM500 209Q595.7 209 673.8 266.6T779.3 416H666Q648.4 416 636.7 428.7T625 459V541Q625 558.6 636.7 571.3T666 584H779.3Q752 675.8 673.8 733.4T500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minidisc\"\n      ]\n    },\n    {\n      \"uid\": \"548f20c5dec442509783e1e40ebda1e6\",\n      \"css\": \"monitor-dashboard\",\n      \"code\": 985607,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666V166H125V666H875ZM875 84Q910.2 84 934.6 108.4T959 166V666Q959 701.2 934.6 725.6T875 750H584V834H666V916H334V834H416V750H125Q89.8 750 65.4 725.6T41 666V166Q41 132.8 65.4 108.4T125 84H875ZM209 250H584V459H209V250ZM625 250H791V334H625V250ZM791 375V584H625V375H791ZM209 500H375V584H209V500ZM416 500H584V584H416V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-dashboard\"\n      ]\n    },\n    {\n      \"uid\": \"a68ba043609044c71de8ed2707b5c2c6\",\n      \"css\": \"pirate\",\n      \"code\": 985608,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M341.8 503.9Q332 509.8 327.1 521.5T324.2 541Q324.2 562.5 341.8 577.1T378.9 591.8 414.1 577.1 429.7 541Q392.6 517.6 341.8 503.9ZM916 459L959 291 931.6 289.1Q898.4 283.2 859.4 267.6 804.7 246.1 750 209 703.1 175.8 648.4 117.2 609.4 76.2 587.9 62.5 552.7 41 500 41T412.1 62.5Q390.6 76.2 351.6 117.2 296.9 175.8 250 209 195.3 246.1 140.6 267.6 101.6 283.2 68.4 289.1L41 291 84 459H87.9Q84 470.7 84 500 84 607.4 134.8 700.2T271.5 849.6L250 886.7Q324.2 935.5 404.3 953.1 472.7 968.8 541 960.9 595.7 955.1 650.4 937.5 689.5 923.8 722.7 904.3L750 886.7 728.5 849.6Q814.5 793 865.2 700.2T916 500V459ZM470.7 187.5L412.1 128.9 441.4 99.6 500 158.2 558.6 99.6 587.9 128.9 529.3 187.5 587.9 246.1 558.6 275.4 500 216.8 441.4 275.4 412.1 246.1ZM386.7 353.5Q457 334 500 334 556.6 334 660.2 369.1 716.8 388.7 814.5 429.7L824.2 433.6Q830.1 445.3 830.1 470.7V470.7ZM566.4 794.9Q517.6 824.2 474.6 830.1 459 816.4 459 795.9T473.6 761.7 511.7 746.1 550.8 757.8Q558.6 761.7 562.5 772.5T566.4 794.9ZM834 558.6Q818.4 623 779.3 679.7T687.5 775.4L625 666H375L312.5 775.4Q246.1 730.5 206.1 658.2T166 500Q166 478.5 175.8 437.5L250 404.3 544.9 482.4V584Q544.9 599.6 557.6 612.3T587.9 625H669.9Q687.5 625 700.2 613.3T712.9 584V525.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pirate\"\n      ]\n    },\n    {\n      \"uid\": \"2aa121a18dec39e6c25b89ae8a787901\",\n      \"css\": \"pokemon-go\",\n      \"code\": 985609,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 460.9 744.1 533.2L500 925.8 255.9 533.2Q209 460.9 209 375 209 294.9 248 228.5T353.5 123 500 84ZM500 146.5Q416 146.5 352.5 199.2T275.4 334H382.8Q394.5 296.9 426.8 273.4T500 250 573.2 273.4 617.2 334H724.6Q710.9 252 647.5 199.2T500 146.5ZM500 500Q459 500 426.8 476.6T382.8 416H275.4Q283.2 460.9 306.6 496.1V500Q337.9 546.9 389.6 575.2T500 603.5 610.4 575.2 693.4 500V496.1Q716.8 460.9 724.6 416H617.2Q605.5 453.1 573.2 476.6T500 500ZM500 312.5Q474.6 312.5 456.1 331.1T437.5 375 456.1 418.9 500 437.5 543.9 418.9 562.5 375 543.9 331.1 500 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pokemon-go\"\n      ]\n    },\n    {\n      \"uid\": \"400b4fe25d9210e2b11aed06e6f606f1\",\n      \"css\": \"powershell\",\n      \"code\": 985610,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M910.2 166Q925.8 166 933.6 177.7T937.5 203.1L806.6 796.9Q802.7 812.5 789.1 823.2T761.7 834H89.8Q74.2 834 66.4 822.3T62.5 796.9L193.4 203.1Q197.3 187.5 210.9 176.8T238.3 166H910.2ZM660.2 666H492.2Q478.5 666 468.8 676.8T459 702.1 468.8 726.6 492.2 736.3H660.2Q673.8 736.3 684.6 726.6T695.3 702.1 684.6 676.8 660.2 666ZM240.2 677.7Q228.5 687.5 225.6 702.1T231.4 729.5 255.9 745.1 283.2 738.3L593.8 519.5Q605.5 509.8 605.5 496.1T599.6 470.7L394.5 252Q384.8 240.2 369.1 239.3T341.8 249 330.1 275.4 339.8 300.8L513.7 486.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"powershell\"\n      ]\n    },\n    {\n      \"uid\": \"3276a49c24309499189c9b397dd739d3\",\n      \"css\": \"printer-wireless\",\n      \"code\": 985611,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 164.1L263.7 222.7Q328.1 158.2 414.1 135.7T585.9 135.7 736.3 222.7L794.9 164.1Q714.8 82 607.4 54.7T392.6 54.7 205.1 164.1ZM324.2 281.3L382.8 339.8Q431.6 291 500 291T617.2 339.8L675.8 281.3Q628.9 232.4 564.5 215.8T435.5 215.8 324.2 281.3ZM791 584Q773.4 584 761.7 571.3T750 541 761.7 511.7 791 500 821.3 511.7 834 541 821.3 571.3 791 584ZM666 834H334V625H666V834ZM791 416H209Q156.3 416 120.1 453.1T84 541V750H250V916H750V750H916V541Q916 490.2 879.9 453.1T791 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"0f9539a2729fc1ef7e22ed8fe52e33be\",\n      \"css\": \"quality-low\",\n      \"code\": 985612,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 562.5H687.5V437.5H603.5V562.5ZM750 584Q750 601.6 738.3 613.3T709 625H677.7V687.5H615.2V625H584Q564.5 625 552.7 613.3T541 584V416Q541 398.4 552.7 386.7T584 375H709Q726.6 375 738.3 386.7T750 416V584ZM791 166H209Q173.8 166 149.4 190.4T125 250V750Q125 785.2 149.4 809.6T209 834H791Q826.2 834 850.6 809.6T875 750V250Q875 214.8 850.6 190.4T791 166ZM459 562.5V625H250V375H312.5V562.5H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"quality-low\"\n      ]\n    },\n    {\n      \"uid\": \"932b56b584d9ea92e22e789277a9bb4d\",\n      \"css\": \"quality-medium\",\n      \"code\": 985613,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V250Q125 214.8 149.4 190.4T209 166H791Q826.2 166 850.6 190.4T875 250ZM500 416Q500 400.4 487.3 387.7T459 375H271.5Q255.9 375 242.2 387.7T228.5 416V625H291V437.5H334V584H396.5V437.5H437.5V625H500V416ZM603.5 375Q585.9 375 574.2 386.7T562.5 416V584Q562.5 601.6 574.2 613.3T603.5 625H646.5V687.5H697.3V625H728.5Q746.1 625 758.8 613.3T771.5 584V416Q771.5 398.4 758.8 386.7T728.5 375H603.5ZM625 437.5H709V562.5H625V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"quality-medium\"\n      ]\n    },\n    {\n      \"uid\": \"736a29acbc122a10bea4fed89fa60e5b\",\n      \"css\": \"reflect-horizontal\",\n      \"code\": 985614,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 834H584Q566.4 834 553.7 821.3T541 791V207Q541 193.4 549.8 181.6T572.3 166 599.6 168 619.1 185.5L953.1 771.5Q966.8 791 954.1 812.5T916 834ZM84 834Q58.6 834 45.9 812.5T46.9 771.5L380.9 185.5Q386.7 173.8 400.4 168T427.7 166 450.2 181.6 459 207V791Q459 808.6 446.3 821.3T416 834H84ZM375 750V363.3L154.3 750H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reflect-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"24ba133643fd1454f7ff8566bddd72f7\",\n      \"css\": \"reflect-vertical\",\n      \"code\": 985615,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 959H250Q222.7 959 212.9 935.5 207 923.8 208 912.1T216.8 892.6L466.8 556.6Q478.5 541 500 541T533.2 556.6L783.2 892.6Q791 900.4 792 912.1T787.1 935.5Q777.3 959 750 959ZM750 41Q777.3 41 787.1 64.5 793 76.2 792 87.9T783.2 107.4L533.2 443.4Q521.5 459 500 459T466.8 443.4L216.8 107.4Q209 99.6 208 87.9T212.9 64.5Q222.7 41 250 41H750ZM334 125L500 347.7 666 125H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reflect-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"c5ff0e051412dd61145e3e94d2979ae1\",\n      \"css\": \"rhombus-medium\",\n      \"code\": 985616,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 269.5Q480.5 269.5 466.8 283.2L283.2 466.8Q269.5 480.5 269.5 500T283.2 533.2L466.8 716.8Q480.5 730.5 500 730.5T533.2 716.8L716.8 533.2Q730.5 519.5 730.5 500T716.8 466.8L533.2 283.2Q519.5 269.5 500 269.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rhombus-medium\"\n      ]\n    },\n    {\n      \"uid\": \"fb478406e1bbec16b2fb6fe48cc649e6\",\n      \"css\": \"rhombus-split\",\n      \"code\": 985617,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L304.7 244.1 500 441.4 695.3 244.1 558.6 107.4Q533.2 84 500 84ZM244.1 304.7L107.4 441.4Q84 464.8 84 500T107.4 558.6L244.1 695.3 441.4 500ZM755.9 304.7L558.6 500 755.9 695.3 892.6 558.6Q916 535.2 916 500T892.6 441.4ZM500 558.6L304.7 755.9 441.4 892.6Q464.8 916 500 916T558.6 892.6L695.3 755.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rhombus-split\"\n      ]\n    },\n    {\n      \"uid\": \"73d3102f392ff718366adc2865f8124a\",\n      \"css\": \"shield-account-outline\",\n      \"code\": 985618,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM500 132.8L791 261.7V466.8Q791 572.3 736.3 673.8 689.5 638.7 611.3 619.1 548.8 603.5 500 603.5T388.7 619.1Q310.5 638.7 263.7 673.8 209 572.3 209 466.8V261.7ZM500 250Q439.5 250 396.5 293T353.5 396.5 396.5 499 500 541 603.5 499 646.5 396.5 603.5 293 500 250ZM500 334Q525.4 334 543.9 351.6T562.5 395.5 543.9 440.4 500 459 456.1 440.4 437.5 395.5 456.1 351.6 500 334ZM500 687.5Q548.8 687.5 604.5 704.1T689.5 744.1Q605.5 847.7 500 875 394.5 847.7 310.5 744.1 339.8 720.7 395.5 704.1T500 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c931d066380a7ba988b2588aa129fd1\",\n      \"css\": \"square-medium\",\n      \"code\": 985619,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 334H334V666H666V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-medium\"\n      ]\n    },\n    {\n      \"uid\": \"78d2933e0346bc81c14563f77c77b9b6\",\n      \"css\": \"square-medium-outline\",\n      \"code\": 985620,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416V584H416V416H584ZM666 334H334V666H666V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-medium-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b502cc1084d1369aabf35da48321c18c\",\n      \"css\": \"square-small\",\n      \"code\": 985621,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 584V416H584V584H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-small\"\n      ]\n    },\n    {\n      \"uid\": \"aaa6e9448240538e20fc2b87c6534608\",\n      \"css\": \"subtitles\",\n      \"code\": 985622,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM166 500H334V584H166V500ZM584 750H166V666H584V750ZM834 750H666V666H834V750ZM834 584H416V500H834V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subtitles\"\n      ]\n    },\n    {\n      \"uid\": \"f446efd0f70a5abeb4f6baa34a3f8625\",\n      \"css\": \"subtitles-outline\",\n      \"code\": 985623,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834ZM834 750V250H166V750H834ZM250 416H334V500H250V416ZM250 584H584V666H250V584ZM666 584H750V666H666V584ZM416 416H750V500H416V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subtitles-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c973ce5819087b5de8045cabb2cd0ec\",\n      \"css\": \"table-border\",\n      \"code\": 985624,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 791Q875 808.6 863.3 821.3T834 834H791V750H875V791ZM625 834V750H709V834H625ZM459 834V750H541V834H459ZM291 834V750H375V834H291ZM166 834Q148.4 834 136.7 821.3T125 791V750H209V834H166ZM791 166H209Q173.8 166 149.4 190.4T125 250V334H875V250Q875 214.8 850.6 190.4T791 166ZM209 584H125V666H209V584ZM209 416H125V500H209V416ZM875 416H791V500H875V416ZM875 584H791V666H875V584ZM459 666V584H541V666H459ZM459 500V416H541V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-border\"\n      ]\n    },\n    {\n      \"uid\": \"8b1156a9175c87f49cd233d23c736194\",\n      \"css\": \"toggle-switch-off-outline\",\n      \"code\": 985625,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 416Q326.2 416 350.6 440.4T375 500 350.6 559.6 292 584 233.4 559.6 209 500 233.4 440.4 291 416ZM709 291Q765.6 291 813.5 319.3T888.7 395.5 916 500 888.7 604.5 813.5 680.7 709 709H291Q234.4 709 186.5 680.7T111.3 604.5 84 500 111.3 395.5 186.5 319.3 291 291H709ZM291 375Q240.2 375 203.1 411.1T166 500 203.1 588.9 291 625H709Q759.8 625 796.9 588.9T834 500 796.9 411.1 709 375H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toggle-switch-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dfd339d709cecb2e5d1e895ee377e1b2\",\n      \"css\": \"toggle-switch-outline\",\n      \"code\": 985626,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 416Q742.2 416 766.6 440.4T791 500 766.6 559.6 708 584 649.4 559.6 625 500 649.4 440.4 709 416ZM709 291Q765.6 291 813.5 319.3T888.7 395.5 916 500 888.7 604.5 813.5 680.7 709 709H291Q234.4 709 186.5 680.7T111.3 604.5 84 500 111.3 395.5 186.5 319.3 291 291H709ZM291 375Q240.2 375 203.1 411.1T166 500 203.1 588.9 291 625H709Q759.8 625 796.9 588.9T834 500 796.9 411.1 709 375H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toggle-switch-outline\"\n      ]\n    },\n    {\n      \"uid\": \"85aa9da97319ddb268310ee10f5b8452\",\n      \"css\": \"vhs\",\n      \"code\": 985627,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250Q132.8 250 108.4 274.4T84 334V666Q84 701.2 108.4 725.6T166 750H834Q867.2 750 891.6 725.6T916 666V334Q916 298.8 891.6 274.4T834 250H166ZM189.5 416H291V584H189.5Q166 544.9 166 500T189.5 416ZM375 416H625V584H375V416ZM709 416H810.5Q834 455.1 834 500T810.5 584H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vhs\"\n      ]\n    },\n    {\n      \"uid\": \"38e7d66649638c1c95783ccbf4670707\",\n      \"css\": \"video-vintage\",\n      \"code\": 985628,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5V459Q750 441.4 738.3 428.7T709 416H666Q712.9 382.8 735.4 333T752.9 227.5 714.8 126 630.9 57.6 525.4 40 423.8 78.1Q380.9 107.4 357.4 156.3 310.5 125 254.9 124T150.4 149.4 72.3 223.6 41 327.1 65.4 431.6 140.6 509.8L144.5 513.7Q158.2 521.5 166 523.4V875Q166 892.6 178.7 904.3T209 916H709Q726.6 916 738.3 904.3T750 875V728.5L916 896.5V437.5ZM541 166Q576.2 166 600.6 190.4T625 250 600.6 309.6 542 334 483.4 309.6 459 250 483.4 190.4 541 166ZM250 250Q285.2 250 309.6 274.4T334 333 309.6 391.6 250 416 190.4 391.6 166 333 190.4 274.4 250 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-vintage\"\n      ]\n    },\n    {\n      \"uid\": \"8d748b1b1971a302bfa5d980dbd40592\",\n      \"css\": \"view-dashboard-outline\",\n      \"code\": 985629,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V291H625V209H791ZM375 209V459H209V209H375ZM791 541V791H625V541H791ZM375 709V791H209V709H375ZM875 125H541V375H875V125ZM459 125H125V541H459V125ZM875 459H541V875H875V459ZM459 625H125V875H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-dashboard-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8feec2075af4fe2650f7e764cbf84ab3\",\n      \"css\": \"microsoft-visual-studio-code\",\n      \"code\": 985630,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 685.5V308.6L459 498ZM91.8 382.8Q84 373 83 359.4T91.8 335.9L142.6 289.1Q148.4 283.2 162.1 282.2T185.5 289.1L328.1 398.4 658.2 95.7Q669.9 84 686.5 82T720.7 89.8L886.7 169.9Q916 187.5 916 218.8V781.3Q916 793 909.2 804.7T892.6 822.3L709 910.2Q699.2 914.1 683.6 911.1T662.1 900.4L326.2 597.7 185.5 705.1Q173.8 712.9 161.1 711.9T142.6 705.1L91.8 660.2Q82 648.4 83 633.8T93.8 609.4L218.8 498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-visual-studio-code\"\n      ]\n    },\n    {\n      \"uid\": \"196db8acfeb3e73abc44f5be957c1cc4\",\n      \"css\": \"vote\",\n      \"code\": 985631,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 541H720.7L638.7 625H718.8L791 709H209L283.2 625H367.2L285.2 541H250L125 666V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V666ZM709 332L502 537.1 353.5 390.6 560.5 183.6ZM531.3 95.7L265.6 361.3Q253.9 373 253.9 390.6T265.6 419.9L472.7 625Q484.4 638.7 502 638.7T531.3 625L796.9 361.3Q808.6 349.6 808.6 332T796.9 302.7L589.8 95.7Q578.1 84 560.5 84T531.3 95.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vote\"\n      ]\n    },\n    {\n      \"uid\": \"ca94869066fe7bd50b34144a6c6cdce4\",\n      \"css\": \"vote-outline\",\n      \"code\": 985632,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 541L875 666V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V666L250 541H285.2L367.2 625H283.2L209 709H791L718.8 625H638.7L720.7 541H750ZM791 834V791H209V834H791ZM472.7 625L265.6 419.9Q253.9 408.2 253.9 390.6T265.6 361.3L531.3 95.7Q543 84 560.5 84T589.8 95.7L796.9 302.7Q808.6 314.5 808.6 332T796.9 361.3L531.3 625Q519.5 638.7 502 638.7T472.7 625ZM560.5 183.6L353.5 390.6 502 537.1 709 332Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vote-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ed7a3260621d3b9b6204aa03e92531b4\",\n      \"css\": \"microsoft-windows-classic\",\n      \"code\": 985633,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M111.3 220.7V246.1L82 257.8V232.4ZM111.3 468.8V494.1L82 505.9V482.4ZM111.3 718.8V746.1L82 757.8V732.4ZM107.4 304.7V326.2L84 337.9V314.5ZM107.4 386.7V408.2L84 419.9V398.4ZM107.4 554.7V576.2L84 587.9V564.5ZM107.4 638.7V662.1L84 671.9V650.4ZM187.5 234.4V265.6L146.5 281.3V250ZM187.5 486.3V515.6L146.5 531.3V502ZM187.5 738.3V767.6L146.5 783.2V753.9ZM185.5 322.3V349.6L152.3 361.3V334ZM185.5 406.3V431.6L152.3 445.3V416ZM185.5 572.3V599.6L152.3 611.3V584ZM185.5 656.3V683.6L152.3 697.3V669.9ZM263.7 253.9V289.1L210.9 310.5V275.4ZM263.7 503.9V539.1L210.9 560.5V525.4ZM263.7 753.9V789.1L210.9 810.5V773.4ZM259.8 341.8V373L216.8 388.7V359.4ZM259.8 423.8V455.1L216.8 472.7V441.4ZM259.8 591.8V623L216.8 640.6V609.4ZM259.8 671.9V705.1L216.8 720.7V689.5ZM345.7 252V298.8L279.3 324.2V277.3ZM345.7 502V548.8L279.3 574.2V529.3ZM345.7 752V798.8L279.3 824.2V777.3ZM341.8 337.9V380.9L287.1 404.3V361.3ZM341.8 421.9V464.8L287.1 486.3V443.4ZM341.8 589.8V632.8L287.1 654.3V611.3ZM341.8 669.9V712.9L287.1 734.4V693.4ZM431.6 244.1V304.7L359.4 334V273.4ZM431.6 494.1V554.7L359.4 584V523.4ZM431.6 744.1V804.7L359.4 834V773.4ZM427.7 335.9V386.7L365.2 412.1V359.4ZM427.7 416V466.8L365.2 490.2V439.5ZM427.7 585.9V638.7L365.2 662.1V611.3ZM427.7 666V718.8L365.2 744.1V691.4ZM519.5 212.9V296.9L441.4 328.1V250Q484.4 226.6 519.5 212.9ZM519.5 304.7V377L441.4 410.2V337.9ZM519.5 386.7V460.9L441.4 492.2V419.9ZM519.5 468.8V541L441.4 574.2V500ZM519.5 550.8V625L441.4 658.2V584ZM519.5 632.8V707L441.4 740.2V666ZM519.5 714.8V793Q474.6 810.5 441.4 826.2V748ZM918 216.8V800.8Q843.8 752 732.4 752 640.6 752 527.3 789.1V710.9Q587.9 687.5 660.2 677.7V486.3Q599.6 494.1 527.3 529.3V474.6Q587.9 447.3 660.2 435.5V250Q601.6 259.8 527.3 291V209Q627 166 724.6 166 830.1 166 918 216.8ZM839.8 267.6Q794.9 242.2 726.6 242.2L710.9 244.1V431.6H726.6Q787.1 431.6 839.8 449.2V267.6ZM839.8 503.9Q789.1 482.4 726.6 482.4H710.9V673.8H726.6Q791 673.8 839.8 689.5V503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-windows-classic\"\n      ]\n    },\n    {\n      \"uid\": \"a43e9e9df08ccff8b76ab68f9d7c0540\",\n      \"css\": \"microsoft-xbox-controller-battery-charging\",\n      \"code\": 985634,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209H902.3Q925.8 209 942.4 224.6T959 263.7V820.3Q959 841.8 942.4 858.4T902.3 875H597.7Q574.2 875 557.6 858.4T541 820.3V697.3H322.3Q291 697.3 261.7 718.8 242.2 730.5 209 763.7 185.5 789.1 171.9 800.8 148.4 822.3 125 834 78.1 834 56.6 787.1 31.3 734.4 46.9 636.7 68.4 519.5 146.5 353.5H156.3L173.8 320.3 207 302.7Q246.1 287.1 277.3 283.2 322.3 279.3 347.7 300.8H541V263.7Q541 240.2 557.6 224.6T597.7 209H666V125H834V209ZM875 291H625V791H875V291ZM646.5 584L771.5 312.5V500H853.5L728.5 771.5V584H646.5ZM459 334Q441.4 334 428.7 345.7T416 375 428.7 404.3 459 416 488.3 404.3 500 375 488.3 345.7 459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-battery-charging\"\n      ]\n    },\n    {\n      \"uid\": \"809fd774a1f88e5c4ca6fc76faf2f811\",\n      \"css\": \"zip-disk\",\n      \"code\": 985635,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125L125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209L709 125V209Q709 226.6 696.3 238.3T666 250H416Q398.4 250 386.7 238.3T375 209V125H291ZM334 416H666Q683.6 416 696.3 428.7T709 459V791H291V459Q291 441.4 303.7 428.7T334 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zip-disk\"\n      ]\n    },\n    {\n      \"uid\": \"70bad789cf51ad47ed68456c414aadc0\",\n      \"css\": \"aspect-ratio\",\n      \"code\": 985636,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500H709V625H584V709H791V500ZM291 375H416V291H209V500H291V375ZM875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V209H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"aspect-ratio\"\n      ]\n    },\n    {\n      \"uid\": \"cf0eb5e4767a4054748fa4e39dd05ad2\",\n      \"css\": \"babel\",\n      \"code\": 985637,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M630.9 84Q544.9 91.8 412.1 142.6 375 169.9 326.2 197.3V201.2Q328.1 201.2 334 199.2H335.9Q341.8 197.3 341.8 203.1L345.7 199.2H349.6V203.1Q349.6 205.1 291 248L294.9 253.9 285.2 252Q285.2 253.9 277.3 255.9V257.8L283.2 265.6Q279.3 265.6 275.4 263.7 255.9 265.6 236.3 291L240.2 296.9Q255.9 281.3 259.8 281.3V289.1L252 293 257.8 302.7Q277.3 283.2 300.8 267.6 314.5 269.5 314.5 273.4H320.3Q382.8 226.6 445.3 205.1L447.3 210.9Q433.6 228.5 429.7 228.5 431.6 234.4 435.5 238.3 435.5 250 377 382.8 244.1 693.4 156.3 839.8 156.3 841.8 160.2 847.7 183.6 841.8 187.5 837.9H191.4V841.8H197.3L203.1 837.9Q203.1 841.8 209 841.8V845.7Q209 855.5 199.2 871.1 191.4 880.9 181.6 914.1V916H185.5Q224.6 873 240.2 837.9 347.7 806.6 400.4 777.3 455.1 773.4 484.4 750L482.4 746.1 468.8 750H466.8V748Q507.8 742.2 521.5 728.5 607.4 664.1 640.6 642.6 765.6 550.8 759.8 466.8 757.8 457 705.1 398.4 703.1 386.7 742.2 365.2L814.5 300.8Q837.9 271.5 843.8 201.2L841.8 189.5Q837.9 140.6 771.5 111.3 732.4 85.9 630.9 84ZM718.8 119.1Q798.8 123 800.8 148.4L798.8 154.3ZM666 164.1Q722.7 164.1 724.6 195.3H728.5V181.6L734.4 179.7Q755.9 189.5 757.8 209 757.8 220.7 746.1 236.3 740.2 238.3 738.3 228.5H732.4V246.1Q697.3 300.8 679.7 302.7 664.1 322.3 660.2 322.3 648.4 337.9 597.7 369.1 578.1 371.1 472.7 418 468.8 416 460.9 416V412.1Q459 396.5 474.6 371.1 480.5 328.1 492.2 320.3L552.7 185.5Q552.7 171.9 591.8 166L601.6 164.1V173.8Q640.6 166 649.4 165T666 164.1ZM791 179.7H793Q800.8 179.7 808.6 205.1V209Q804.7 210.9 793 183.6ZM451.2 265.6H453.1L455.1 273.4Q449.2 273.4 443.4 285.2V279.3Q451.2 269.5 451.2 265.6ZM277.3 269.5L279.3 271.5Q277.3 271.5 273.4 273.4L271.5 275.4H267.6L265.6 271.5ZM425.8 322.3L427.7 334H423.8V322.3H425.8ZM419.9 341.8Q418 353.5 412.1 355.5H408.2Q414.1 345.7 414.1 341.8H419.9ZM408.2 369.1V373L402.3 380.9H398.4L396.5 378.9Q404.3 378.9 404.3 369.1H408.2ZM396.5 396.5L394.5 408.2H390.6V396.5H396.5ZM689.5 404.3L701.2 412.1Q703.1 418 697.3 418 689.5 414.1 685.5 414.1V406.3ZM459 435.5V441.4H449.2L447.3 437.5ZM646.5 455.1Q658.2 460.9 658.2 464.8V466.8Q646.5 468.8 636.7 455.1H646.5ZM736.3 462.9Q744.1 466.8 746.1 470.7L748 492.2Q744.1 502 738.3 502ZM589.8 466.8Q634.8 464.8 656.3 486.3L658.2 498Q640.6 552.7 615.2 564.5L541 623Q460.9 675.8 455.1 675.8 326.2 746.1 293 750H289.1Q294.9 734.4 406.3 513.7 455.1 509.8 560.5 468.8ZM484.4 482.4V486.3H472.7V484.4ZM302.7 658.2Q296.9 687.5 291 687.5V685.5Q289.1 669.9 302.7 658.2ZM548.8 669.9V675.8Q550.8 677.7 525.4 697.3 453.1 732.4 439.5 744.1 361.3 771.5 361.3 779.3 291 806.6 271.5 818.4 265.6 820.3 255.9 814.5 253.9 800.8 267.6 791 283.2 791 291 794.9 310.5 787.1 335.9 781.3V775.4L318.4 777.3Q322.3 773.4 369.1 753.9L377 752 378.9 755.9Q355.5 757.8 353.5 769.5 353.5 773.4 359.4 773.4L361.3 771.5 375 761.7Q404.3 755.9 548.8 669.9ZM285.2 695.3L287.1 697.3Q287.1 703.1 281.3 705.1V701.2Q279.3 697.3 285.2 695.3ZM416 728.5Q421.9 726.6 421.9 732.4 410.2 734.4 382.8 750H380.9L378.9 744.1Q400.4 742.2 416 728.5V728.5ZM289.1 771.5V773.4Q287.1 773.4 281.3 777.3H275.4Q275.4 773.4 281.3 771.5H289.1ZM222.7 804.7L228.5 806.6Q224.6 830.1 212.9 834 205.1 828.1 195.3 828.1V820.3Q195.3 816.4 200.2 815.4T207 822.3Q220.7 804.7 222.7 804.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"babel\"\n      ]\n    },\n    {\n      \"uid\": \"2ff3c5fb624d42de1419dfbc1420280f\",\n      \"css\": \"balloon\",\n      \"code\": 985638,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M548.8 531.3L584 584H521.5Q511.7 746.1 478.5 919.9L437.5 914.1Q468.8 746.1 478.5 584H416L451.2 531.3Q408.2 511.7 369.1 462.9 334 416 312.5 357.4T291 250Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250Q709 298.8 687.5 357.4T630.9 462.9Q591.8 511.7 548.8 531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"balloon\"\n      ]\n    },\n    {\n      \"uid\": \"3f04745fa0ebb114978b0a203be2b370\",\n      \"css\": \"bank-transfer\",\n      \"code\": 985639,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584V459H750V375L916 521.5 750 666V584H625ZM584 320.3V375H84V320.3L334 166ZM291 416H375V625H291V416ZM125 416H209V625H125V416ZM541 416V521.5L459 595.7V416H541ZM378.9 666L353.5 687.5 425.8 750H84V666H378.9ZM709 625V750H584V834L416 687.5 584 541V625H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-transfer\"\n      ]\n    },\n    {\n      \"uid\": \"d216634a09040094b6f9a78abcbcf0f7\",\n      \"css\": \"bank-transfer-in\",\n      \"code\": 985640,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 625V500H209V416L375 562.5 209 709V625H84ZM916 363.3V416H416V363.3L666 209ZM416 709H916V791H416V709ZM625 459H709V666H625V459ZM459 459H541V666H459V459ZM791 459H875V666H791V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-transfer-in\"\n      ]\n    },\n    {\n      \"uid\": \"029d1f433f663c86f6b74377d2a59927\",\n      \"css\": \"bank-transfer-out\",\n      \"code\": 985641,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V500H750V416L916 562.5 750 709V625H625ZM584 363.3V416H84V363.3L334 209ZM84 709H584V791H84V709ZM291 459H375V666H291V459ZM125 459H209V666H125V459ZM459 459H541V666H459V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-transfer-out\"\n      ]\n    },\n    {\n      \"uid\": \"9db035a89dfef1ea312d7f7858dc7e51\",\n      \"css\": \"briefcase-minus\",\n      \"code\": 985642,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H584V709H916ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V564.5Q845.7 500 750 500 681.6 500 624 533.2T533.2 624 500 750 533.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-minus\"\n      ]\n    },\n    {\n      \"uid\": \"4747d813c968f2e5545eca37adf21c50\",\n      \"css\": \"briefcase-plus\",\n      \"code\": 985643,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V564.5Q845.7 500 750 500 681.6 500 624 533.2T533.2 624 500 750 533.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-plus\"\n      ]\n    },\n    {\n      \"uid\": \"9f338813efac476a3c77d3de07b323ca\",\n      \"css\": \"briefcase-remove\",\n      \"code\": 985644,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V564.5Q845.7 500 750 500 681.6 500 624 533.2T533.2 624 500 750 533.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-remove\"\n      ]\n    },\n    {\n      \"uid\": \"54e2bff8d4736e50370bd746567759ff\",\n      \"css\": \"briefcase-search\",\n      \"code\": 985645,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 500Q765.6 500 820.3 554.7T875 687.5Q875 742.2 845.7 787.1L974.6 916 916 974.6 787.1 845.7Q740.2 875 687.5 875 609.4 875 554.7 820.3T500 687.5 554.7 554.7 687.5 500ZM687.5 584Q644.5 584 614.3 614.3T584 687.5 614.3 760.7 687.5 791 760.7 760.7 791 687.5 760.7 614.3 687.5 584ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V543Q880.9 484.4 819.3 450.2T685.5 416 551.8 453.1 453.1 551.8 416 687.5Q416 740.2 436.5 789.1T492.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-search\"\n      ]\n    },\n    {\n      \"uid\": \"7082b1e994a0776f9416df5a423866c3\",\n      \"css\": \"bug-check\",\n      \"code\": 985646,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 291H632.8Q603.5 238.3 556.6 209L625 142.6 566.4 84 476.6 173.8Q445.3 166 416 166T357.4 173.8L267.6 84 209 142.6 275.4 209Q230.5 238.3 201.2 291H84V375H169.9Q166 396.5 166 416V459H84V541H166V584Q166 603.5 169.9 625H84V709H201.2Q246.1 787.1 330.1 818.4T500 818.4V791Q500 712.9 545.9 647.5T666 556.6V541H750V459H666V416Q666 396.5 662.1 375H750V291ZM500 625H334V541H500V625ZM500 459H334V375H500V459ZM740.2 923.8L625 798.8 673.8 750 740.2 816.4 888.7 666 937.5 724.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bug-check\"\n      ]\n    },\n    {\n      \"uid\": \"d374faea2fc82bccb7125bec1ce7fc0b\",\n      \"css\": \"bug-check-outline\",\n      \"code\": 985647,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 291H632.8Q603.5 238.3 556.6 209L625 142.6 566.4 84 476.6 173.8Q445.3 166 416 166T357.4 173.8L267.6 84 209 142.6 275.4 209Q230.5 238.3 201.2 291H84V375H169.9Q166 396.5 166 416V459H84V541H166V584Q166 603.5 169.9 625H84V709H201.2Q246.1 787.1 330.1 818.4T500 818.4V791Q500 757.8 509.8 720.7 468.8 750 416 750 347.7 750 298.8 701.2T250 584V416Q250 347.7 298.8 298.8T417 250 535.2 298.8 584 416V584Q584 599.6 582 607.4 619.1 574.2 666 556.6V541H750V459H666V416Q666 396.5 662.1 375H750V291ZM888.7 666L740.2 816.4 673.8 750 625 798.8 740.2 923.8 937.5 724.6ZM500 375V459H334V375H500ZM500 541V625H334V541H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bug-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"83108099f255e1e5f4def92ea571a3c7\",\n      \"css\": \"bug-outline\",\n      \"code\": 985648,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H716.8Q687.5 281.3 640.6 250L709 183.6 650.4 125 558.6 214.8Q529.3 209 500 209T441.4 214.8L349.6 125 291 183.6 359.4 250Q314.5 279.3 283.2 334H166V416H253.9Q250 437.5 250 459V500H166V584H250V625Q250 646.5 253.9 666H166V750H283.2Q318.4 808.6 376 841.8T500 875 625 841.8 716.8 750H834V666H746.1Q750 646.5 750 625V584H834V500H750V459Q750 437.5 746.1 416H834V334ZM666 625Q666 693.4 617.2 742.2T500 791 382.8 742.2 334 625V459Q334 388.7 382.8 339.8T500 291 617.2 339.8 666 459V625ZM584 416V500H416V416H584ZM416 584H584V666H416V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bug-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8b011beed1f5e488b0318b8cfdbef871\",\n      \"css\": \"calendar-alert\",\n      \"code\": 985649,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 41V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H750V41H666V125H334V41H250ZM209 334H791V791H209V291 334ZM459 375V584H541V375H459ZM459 666V750H541V666H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-alert\"\n      ]\n    },\n    {\n      \"uid\": \"b7cfedd89907e550095ae991af8745ea\",\n      \"css\": \"calendar-multiselect\",\n      \"code\": 985650,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V334H209V791H791ZM666 41H750V125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41H334V125H666V41ZM291 416H375V500H291V416ZM625 416H709V500H625V416ZM459 584H541V666H459V584ZM625 584H709V666H625V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-multiselect\"\n      ]\n    },\n    {\n      \"uid\": \"a71903ef1ea8bc7f584ed88421a49e2a\",\n      \"css\": \"calendar-week\",\n      \"code\": 985651,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 41H334V125H666V41H750V125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41ZM209 334V791H791V334H209ZM291 416H709V500H291V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-week\"\n      ]\n    },\n    {\n      \"uid\": \"d0f2b354b3fec4debf3dae13f7c7f193\",\n      \"css\": \"calendar-week-begin\",\n      \"code\": 985652,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V334H791V791ZM666 41V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H750V41H666ZM375 416H291V709H375V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-week-begin\"\n      ]\n    },\n    {\n      \"uid\": \"4b3464a96b1fe4a783810214c9f6192b\",\n      \"css\": \"cellphone-screenshot\",\n      \"code\": 985653,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 41Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41H291ZM291 166H709V834H291V166ZM375 250V416H437.5V312.5H541V250H375ZM562.5 584V687.5H459V750H625V584H562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-screenshot\"\n      ]\n    },\n    {\n      \"uid\": \"0fc66355914e2661e675bb0b106d5c4b\",\n      \"css\": \"city-variant\",\n      \"code\": 985654,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 375V291Q791 257.8 766.6 233.4T709 209H666V84H584V209H541Q507.8 209 483.4 233.4T459 291V375Q423.8 375 399.4 399.4T375 459V500H209Q173.8 500 149.4 524.4T125 584V916H250V834H334V916H500V834H584V916H666V834H750V916H875V459Q875 423.8 850.6 399.4T791 375ZM334 750H250V666H334V750ZM584 750H500V666H584V750ZM584 584H500V500H584V584ZM541 375V291H709V375H541ZM750 750H666V666H750V750ZM750 584H666V500H750V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"city-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f9b2346dc5cc83f6ea7e0aa2e23ad1d3\",\n      \"css\": \"city-variant-outline\",\n      \"code\": 985655,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 959H541V875H625V959ZM791 875H709V959H791V875ZM625 709H541V791H625V709ZM291 875H209V959H291V875ZM291 709H209V791H291V709ZM791 709H709V791H791V709ZM625 541H541V625H625V541ZM791 541H709V625H791V541ZM875 375Q910.2 375 934.6 399.4T959 459V959H875V459H459V959H375V625H125V959H41V625Q41 589.8 65.4 565.4T125 541H375V459Q375 423.8 399.4 399.4T459 375V291Q459 257.8 483.4 233.4T541 209H625V41H709V209H791Q826.2 209 850.6 233.4T875 291V375ZM791 375V291H541V375H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"city-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"62038080f9b169d470759de5ff92fbee\",\n      \"css\": \"clipboard-text-outline\",\n      \"code\": 985656,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q599.6 76.2 552.7 54.7T459 50.8Q404.3 68.4 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM291 291H709V209H791V791H209V209H291V291ZM709 459H291V375H709V459ZM625 625H291V541H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"05fb1ceb1b412f8149035369f91bb5f4\",\n      \"css\": \"cloud-question\",\n      \"code\": 985657,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418ZM541 709H459V625H541V709ZM617.2 492.2Q599.6 515.6 570.3 531.3 552.7 541 546.9 553.7T541 584H459Q459 550.8 471.7 533.2T515.6 496.1Q531.3 486.3 541 471.7T550.8 437.5 540 406.3 507.8 394.5Q492.2 394.5 480.5 404.3T468.8 433.6H386.7Q382.8 384.8 418 359.4T509.8 334 600.6 362.3 634.8 437.5Q634.8 466.8 617.2 492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-question\"\n      ]\n    },\n    {\n      \"uid\": \"511fd536a739babb9408587cad7c2c07\",\n      \"css\": \"comment-eye\",\n      \"code\": 985658,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500V666Q834 701.2 809.6 725.6T750 750H580.1L425.8 904.3Q412.1 916 396.5 916H375Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V250Q84 214.8 108.4 190.4T166 166H396.5Q361.3 207 339.8 259.8L326.2 291 339.8 322.3Q378.9 421.9 467.8 481.4T666 541Q753.9 541 834 500ZM666 250Q683.6 250 696.3 261.7T709 291 696.3 321.3 666 334 636.7 321.3 625 291 636.7 261.7 666 250ZM666 125Q750 125 818.4 170.9T916 291Q886.7 365.2 818.4 412.1T666 459 514.6 412.1 416 291Q447.3 216.8 514.6 170.9T666 125ZM666 187.5Q623 187.5 592.8 217.8T562.5 291 592.8 365.2 666 396.5 740.2 365.2 771.5 291 740.2 217.8 666 187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-eye\"\n      ]\n    },\n    {\n      \"uid\": \"53944cb544083e48d7b3039e419b4106\",\n      \"css\": \"comment-eye-outline\",\n      \"code\": 985659,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250Q683.6 250 696.3 261.7T709 291 696.3 321.3 666 334 636.7 321.3 625 291 636.7 261.7 666 250ZM666 125Q750 125 818.4 170.9T916 291Q886.7 365.2 818.4 412.1T666 459 514.6 412.1 416 291Q447.3 216.8 514.6 170.9T666 125ZM666 187.5Q623 187.5 592.8 217.8T562.5 291 592.8 365.2 666 396.5 740.2 365.2 771.5 291 740.2 217.8 666 187.5ZM750 531.3V666H544.9L416 794.9V666H166V250H343.8Q365.2 203.1 396.5 166H166Q132.8 166 108.4 190.4T84 250V666Q84 701.2 108.4 725.6T166 750H334V875Q334 892.6 345.7 904.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H750Q785.2 750 809.6 725.6T834 666V500Q794.9 521.5 750 531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-eye-outline\"\n      ]\n    },\n    {\n      \"uid\": \"63377a6a1cda1f8140c74f30a55c753c\",\n      \"css\": \"comment-search\",\n      \"code\": 985660,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 84Q724.6 84 779.3 138.7T834 271.5Q834 326.2 804.7 371.1L933.6 500 875 558.6 746.1 429.7Q701.2 459 646.5 459 568.4 459 513.7 404.3T459 271.5 513.7 138.7 646.5 84ZM646.5 166Q603.5 166 572.3 197.3T541 271.5 572.3 344.7 646.5 375 719.7 344.7 750 271.5 719.7 197.3 646.5 166ZM166 166H396.5Q375 220.7 375 271.5 375 343.8 411.1 406.3T509.8 504.9 646.5 541Q687.5 541 726.6 529.3L834 634.8V666Q834 701.2 809.6 725.6T750 750H580.1L425.8 904.3Q412.1 916 396.5 916H375Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V250Q84 214.8 108.4 190.4T166 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-search\"\n      ]\n    },\n    {\n      \"uid\": \"684cbdf72211e0ad03eb3cef8895c839\",\n      \"css\": \"comment-search-outline\",\n      \"code\": 985661,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H396.5Q378.9 207 377 250H166V666H416V794.9L544.9 666H750V550.8L834 634.8V666Q834 701.2 809.6 725.6T750 750H580.1L425.8 904.3Q412.1 916 396.5 916H375Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V250Q84 214.8 108.4 190.4T166 166ZM646.5 84Q724.6 84 779.3 138.7T834 271.5Q834 326.2 804.7 371.1L933.6 500 875 558.6 746.1 429.7Q701.2 459 646.5 459 568.4 459 513.7 404.3T459 271.5 513.7 138.7 646.5 84ZM646.5 166Q603.5 166 572.3 197.3T541 271.5 572.3 344.7 646.5 375 719.7 344.7 750 271.5 719.7 197.3 646.5 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"879c590a864e07f0ecb06004d9409978\",\n      \"css\": \"contain\",\n      \"code\": 985662,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H334V209H166V791H334V875H84V125ZM291 709V625H375V709H291ZM459 709V625H541V709H459ZM625 709V625H709V709H625ZM916 125V875H666V791H834V209H666V125H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contain\"\n      ]\n    },\n    {\n      \"uid\": \"5b0fa33d229959d419750a17e3a57293\",\n      \"css\": \"contain-end\",\n      \"code\": 985663,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 709V625H375V709H291ZM459 709V625H541V709H459ZM625 709V625H709V709H625ZM916 125V875H666V791H834V209H666V125H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contain-end\"\n      ]\n    },\n    {\n      \"uid\": \"a247c5ca61813a8b935311298407257b\",\n      \"css\": \"contain-start\",\n      \"code\": 985664,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H334V209H166V791H334V875H84V125ZM291 709V625H375V709H291ZM459 709V625H541V709H459ZM625 709V625H709V709H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contain-start\"\n      ]\n    },\n    {\n      \"uid\": \"f88c767c83733cd2d261198af4b5167f\",\n      \"css\": \"dlna\",\n      \"code\": 985665,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M890.6 523.4H535.2Q507.8 523.4 482.4 535.2T441.4 566.4V566.4Q425.8 587.9 402.3 600.6T349.6 613.3Q304.7 613.3 271.5 580.1T238.3 500 271.5 420.9 349.6 388.7Q378.9 388.7 402.3 400.4T441.4 435.5V433.6Q457 455.1 482.4 466.8T535.2 478.5H886.7Q896.5 478.5 904.3 472.7 916 464.8 916 445.3 902.3 357.4 842.8 286.1T694.3 173.8 502 132.8Q408.2 132.8 324.2 168T181.6 263.7Q166 287.1 193.4 289.1H421.9Q449.2 289.1 474.6 277.3T515.6 246.1V246.1Q531.3 224.6 555.7 211.9T607.4 199.2Q654.3 199.2 687.5 232.4T720.7 312.5 687.5 392.6 607.4 425.8Q580.1 425.8 555.7 413.1T515.6 377V378.9Q500 359.4 474.6 346.7T421.9 334H171.9 173.8L162.1 335.9Q150.4 337.9 138.7 343.8 123 351.6 113.3 365.2 99.6 384.8 91.8 423.8T84 500Q84 578.1 113.3 636.7 125 656.3 150.4 664.1 162.1 666 173.8 666V666H171.9 421.9Q449.2 666 474.6 654.3T515.6 623V623Q531.3 601.6 555.7 588.9T607.4 576.2Q654.3 576.2 687.5 608.4T720.7 687.5 687.5 767.6 607.4 800.8Q580.1 800.8 555.7 788.1T515.6 753.9V755.9Q500 734.4 474.6 722.7T421.9 710.9H193.4Q168 714.8 179.7 734.4 238.3 796.9 322.3 832T502 867.2Q605.5 867.2 695.3 826.2T843.8 713.9 916 554.7Q916 539.1 908.2 531.3T890.6 523.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dlna\"\n      ]\n    },\n    {\n      \"uid\": \"f3c02b03bf8dcc3e1565a4335440796e\",\n      \"css\": \"doctor\",\n      \"code\": 985666,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M619.1 677.7Q714.8 695.3 774.4 738.3T834 834V916H166V834Q166 781.3 225.6 738.3T380.9 677.7L500 875ZM334 334H666V416Q666 486.3 617.2 535.2T500 584 382.8 535.2 334 416V334ZM334 291L349.6 121.1Q351.6 105.5 363.3 94.7T392.6 84H607.4Q625 84 636.7 94.7T650.4 121.1L666 291H334ZM500 125H459V166H416V209H459V250H500V209H541V166H500V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"doctor\"\n      ]\n    },\n    {\n      \"uid\": \"9aacf8f587a7c420afa970f3e49472ea\",\n      \"css\": \"dog\",\n      \"code\": 985667,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 166Q664.1 166 611.3 191.4 558.6 166 500 166T388.7 191.4Q335.9 166 250 166 193.4 166 140.6 255.9 97.7 328.1 68.4 437.5 41 533.2 41 584 41 609.4 78.1 630.9T171.9 662.1Q193.4 732.4 278.3 780.3T478.5 834V654.3Q416 615.2 416 584 416 556.6 459 546.9 478.5 541 500 541L521.5 543Q546.9 546.9 562.5 554.7 584 564.5 584 584 584 615.2 521.5 654.3V834Q636.7 828.1 721.7 780.3T828.1 662.1Q884.8 652.3 921.9 630.9T959 584Q959 533.2 931.6 437.5 902.3 328.1 859.4 255.9 806.6 166 750 166ZM173.8 578.1Q146.5 572.3 125 562.5 130.9 507.8 154.3 433.6 177.7 367.2 206.1 312.5T252 250Q273.4 250 304.7 253.9H306.6Q250 318.4 210.9 423.8 185.5 496.1 173.8 578.1ZM375 500Q357.4 500 345.7 488.3T334 459 345.7 428.7 375 416 404.3 428.7 416 459 404.3 488.3 375 500ZM625 500Q607.4 500 595.7 488.3T584 459 595.7 428.7 625 416 654.3 428.7 666 459 654.3 488.3 625 500ZM826.2 578.1Q814.5 496.1 789.1 423.8 750 318.4 693.4 253.9H695.3Q726.6 250 748 250 765.6 257.8 793.9 312.5T845.7 433.6Q869.1 507.8 875 562.5 855.5 572.3 826.2 578.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dog\"\n      ]\n    },\n    {\n      \"uid\": \"f4cfd55beb9c30131999b96175da62e7\",\n      \"css\": \"dog-side\",\n      \"code\": 985668,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125L625 291 750 416 791 375 834 416 916 334 791 209V125ZM125 291L84 334 209 459V584L166 625V875H250V750L334 625H625V875H709V459L584 334 541 375H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dog-side\"\n      ]\n    },\n    {\n      \"uid\": \"c5d23550d612fb6b742b5edaa703e761\",\n      \"css\": \"ear-hearing-off\",\n      \"code\": 985669,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 834 863.3 781.3 916 537.1 673.8Q511.7 695.3 500 709 482.4 728.5 474.6 753.9 455.1 810.5 428.7 845.7T359.4 902.3Q328.1 916 291 916 222.7 916 173.8 867.2T125 750H209Q209 785.2 233.4 809.6T291 834Q308.6 834 324.2 826.2 347.7 814.5 363.3 793T394.5 728.5Q406.3 689.5 431.6 660.2 449.2 638.7 478.5 615.2L210.9 345.7Q209 355.5 209 375H125Q125 324.2 140.6 277.3ZM591.8 498Q625 437.5 625 375 625 287.1 564.5 226.6T416 166Q343.8 166 287.1 210.9L226.6 150.4Q308.6 84 416 84 498 84 564.5 122.1T669.9 227.5 709 376 664.1 537.1L644.5 568.4 584 507.8ZM681.6 109.4L740.2 50.8Q804.7 113.3 839.8 197.3T875 375Q875 460.9 843.8 540T757.8 681.6L699.2 623Q742.2 572.3 766.6 508.8T791 375Q791 298.8 762.7 230.5T681.6 109.4ZM521.5 375Q521.5 404.3 505.9 429.7L361.3 287.1Q386.7 271.5 416 271.5 459 271.5 490.2 301.8T521.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ear-hearing-off\"\n      ]\n    },\n    {\n      \"uid\": \"e7c515834acc6eafd92e01dbe7bae5d7\",\n      \"css\": \"engine-off\",\n      \"code\": 985670,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M158.2 103.5L896.5 841.8 843.8 896.5 750 802.7V834H416L334 750H209V625H125V750H41V416H125V541H209V416L287.1 339.8 103.5 156.3ZM834 375V500H750V334H500V250H625V166H326.2L951.2 791H959V375H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"engine-off\"\n      ]\n    },\n    {\n      \"uid\": \"4943b94598ce0b0472a15408dcae5da7\",\n      \"css\": \"engine-off-outline\",\n      \"code\": 985671,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M103.5 156.3L287.1 339.8 209 416V541H125V416H41V750H125V625H209V750H334L416 834H750V802.7L884.8 937.5 937.5 884.8 158.2 103.5ZM666 750H459L375 666H291V459L334 416H363.3L666 718.8V750ZM959 375V791H951.2L666 507.8V416H576.2L326.2 166H625V250H500V334H750V500H834V375H959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"engine-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a8e62a03f8f10a191b83b645f15708f0\",\n      \"css\": \"exit-run\",\n      \"code\": 985672,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M556.6 339.8Q527.3 339.8 506.8 319.3T486.3 269.5 506.8 219.7 556.6 199.2 606.4 219.7 627 269.5 606.4 319.3 556.6 339.8ZM429.7 830.1L181.6 781.3 195.3 710.9 369.1 746.1 425.8 460.9 361.3 484.4V603.5H291V439.5L474.6 361.3 502 357.4Q539.1 357.4 562.5 392.6L597.7 449.2Q619.1 488.3 660.2 510.7T750 533.2V603.5Q693.4 603.5 642.6 580.1T556.6 517.6L535.2 623 609.4 693.4V959H539.1V746.1L464.8 675.8ZM875 959H791V125H250V671.9L166 654.3V41H875V959ZM250 959H166V824.2L250 841.8V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exit-run\"\n      ]\n    },\n    {\n      \"uid\": \"60e88eabc94cc3ec9b5f86a3ecae287a\",\n      \"css\": \"feature-search\",\n      \"code\": 985673,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834Q834 867.2 809.6 891.6T750 916H166Q132.8 916 108.4 891.6T84 834V250Q84 214.8 108.4 190.4T166 166H396.5Q375 222.7 375 271.5 375 343.8 411.1 406.3T509.8 504.9 646.5 541Q699.2 541 732.4 525.4L834 625V834ZM804.7 371.1Q834 320.3 834 271.5 834 193.4 779.3 138.7T646.5 84 513.7 138.7 459 271.5 513.7 404.3 646.5 459Q695.3 459 746.1 429.7L875 558.6 933.6 500ZM646.5 375Q601.6 375 571.3 344.7T541 270.5 571.3 196.3 645.5 166 719.7 196.3 750 270.5 719.7 344.7 646.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"feature-search\"\n      ]\n    },\n    {\n      \"uid\": \"1cfb43fde56d28c9f72cd4d5bfab06d1\",\n      \"css\": \"feature-search-outline\",\n      \"code\": 985674,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 84Q568.4 84 513.7 138.7T459 271.5 513.7 404.3 646.5 459Q695.3 459 746.1 429.7L875 558.6 933.6 500 804.7 371.1Q834 320.3 834 271.5 834 193.4 779.3 138.7T646.5 84ZM166 166Q132.8 166 108.4 190.4T84 250V834Q84 867.2 108.4 891.6T166 916H750Q785.2 916 809.6 891.6T834 834V625L750 541V834H166V250H377Q378.9 210.9 396.5 166H166ZM646.5 166Q689.5 166 719.7 196.3T750 270.5 719.7 344.7 645.5 375 571.3 344.7 541 270.5 571.3 196.3 646.5 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"feature-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"993fce9b94ac1f52435591f1c6df8bf9\",\n      \"css\": \"file-alert\",\n      \"code\": 985675,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM416 750H334V666H416V750ZM416 584H334V375H416V584ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-alert\"\n      ]\n    },\n    {\n      \"uid\": \"5d04d0363a4b057a19ac82efd09eff1f\",\n      \"css\": \"file-alert-outline\",\n      \"code\": 985676,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 750H334V666H416V750ZM416 584H334V375H416V584ZM584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fcbf56c5fa48366c1baf9adb2d92fe23\",\n      \"css\": \"file-upload\",\n      \"code\": 985677,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM562.5 666V791H437.5V666H334L500 500 666 666H562.5ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-upload\"\n      ]\n    },\n    {\n      \"uid\": \"0f078aede1e5312ff84957fece4e74c7\",\n      \"css\": \"hand\",\n      \"code\": 985679,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M273.4 791H607.4V916H273.4V791ZM822.3 482.4Q810.5 470.7 791 470.7H783.2L648.4 541V492.2L669.9 121.1Q671.9 103.5 660.2 90.8T630.9 77.1 600.6 87.9 587.9 115.2L576.2 310.5H566.4L523.4 316.4V84Q523.4 66.4 510.7 53.7T481.4 41 452.1 53.7 439.5 84V349.6L404.3 365.2 377 138.7Q375 121.1 361.3 110.4T330.1 101.6 301.8 117.2 293 148.4L326.2 400.4 310.5 408.2Q304.7 410.2 294.9 416V416L248 253.9Q244.1 236.3 228.5 227.5T196.3 222.7 171.9 243.2 168 277.3L279.3 666Q285.2 685.5 301.8 697.3T335.9 709H607.4Q632.8 709 648.4 689.5L853.5 515.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand\"\n      ]\n    },\n    {\n      \"uid\": \"95a1799f10e348182dccf1fa6e8a1999\",\n      \"css\": \"hand-okay\",\n      \"code\": 985680,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M554.7 802.7L789.1 566.4 878.9 656.3 642.6 890.6ZM687.5 462.9L558.6 335.9Q550.8 328.1 541 324.2L494.1 144.5Q490.2 127 475.6 118.2T444.3 114.3 418.9 133.8 414.1 164.1L459 334 361.3 132.8Q353.5 117.2 337.9 111.3T306.6 113.3 285.2 136.7 287.1 168L357.4 316.4 216.8 177.7Q203.1 164.1 186.5 164.1T157.2 176.8 144.5 207 158.2 236.3L312.5 390.6 238.3 419.9 158.2 474.6 140.6 498Q123 525.4 121.1 537.1T136.7 599.6L156.3 650.4Q166 673.8 193.4 673.8 210.9 673.8 222.7 662.1T234.4 632.8Q234.4 628.9 232.4 623V621.1 621.1L209 548.8 259.8 507.8 341.8 513.7Q380.9 548.8 390.6 578.1 398.4 603.5 386.7 623 378.9 636.7 363.3 648.4L347.7 656.3 203.1 699.2 197.3 705.1Q183.6 716.8 183.6 736.3L185.5 781.3 453.1 759.8Q476.6 761.7 496.1 744.1L687.5 552.7Q705.1 535.2 705.1 507.8T687.5 462.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-okay\"\n      ]\n    },\n    {\n      \"uid\": \"58698be827739c7aaf33509c27c29552\",\n      \"css\": \"hand-peace\",\n      \"code\": 985681,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 791H625V916H291V791ZM673.8 500V500L541 431.6Q531.3 431.6 525.4 437.5L511.7 451.2 537.1 550.8 496.1 560.5 447.3 353.5 384.8 382.8 429.7 560.5 388.7 570.3 345.7 400.4 326.2 408.2Q310.5 414.1 300.8 429.7T291 464.8V646.5Q291 669.9 310.5 689.5T353.5 709H625Q648.4 709 666 689.5L687.5 673.8 697.3 664.1Q709 650.4 709 640.6V570.3L707 558.6Q705.1 541 697.3 529.3 689.5 509.8 673.8 500ZM705.1 41Q689.5 39.1 674.8 48.8T656.3 74.2L611.3 332 601.6 330.1Q593.8 326.2 585.9 326.2L568.4 328.1 517.6 74.2Q513.7 58.6 499 48.8T467.8 42 441.4 59.6 435.5 91.8L486.3 337.9 500 402.3Q519.5 388.7 541 388.7H554.7L679.7 457 738.3 91.8Q742.2 74.2 732.4 59.6T705.1 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-peace\"\n      ]\n    },\n    {\n      \"uid\": \"32016a31b69362c8eb99f417bd2e708b\",\n      \"css\": \"hand-peace-variant\",\n      \"code\": 985682,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 791H625V916H291V791ZM705.1 41Q689.5 39.1 674.8 48.8T656.3 74.2L615.2 314.5 584 310.5 564.5 312.5 517.6 74.2Q513.7 58.6 499 48.8T467.8 42 441.4 59.6 435.5 91.8L486.3 337.9 326.2 408.2Q310.5 414.1 300.8 429.7T291 464.8V646.5Q291 669.9 310.5 689.5T353.5 709H625Q648.4 709 666 689.5L687.5 673.8 697.3 664.1Q709 650.4 709 640.6V541L707 529.3Q705.1 511.7 697.3 500 687.5 480.5 671.9 470.7L738.3 91.8Q742.2 74.2 732.4 59.6T705.1 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-peace-variant\"\n      ]\n    },\n    {\n      \"uid\": \"7d6e4d7f3558e18c20a40b33129867fd\",\n      \"css\": \"hand-pointing-down\",\n      \"code\": 985683,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M412.1 875V459L279.3 529.3H271.5Q252 529.3 238.3 517.6L209 484.4 412.1 310.5Q429.7 291 455.1 291H724.6Q750 291 768.6 310.5T787.1 353.5V535.2Q787.1 554.7 777.3 570.3T752 591.8L546.9 683.6 496.1 689.5V875Q496.1 892.6 483.4 904.3T454.1 916 424.8 904.3 412.1 875ZM787.1 209H455.1V84H787.1V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-pointing-down\"\n      ]\n    },\n    {\n      \"uid\": \"14494035609658ba06f3a9a7d879c90b\",\n      \"css\": \"hand-pointing-left\",\n      \"code\": 985684,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375H541L470.7 242.2V232.4Q470.7 214.8 482.4 201.2L515.6 169.9 689.5 375Q709 392.6 709 416V687.5Q709 710.9 689.5 730.5T646.5 750H464.8Q445.3 750 429.7 740.2T408.2 714.8L316.4 507.8 310.5 459H125Q107.4 459 95.7 446.3T84 416 95.7 386.7 125 375ZM791 750V416H916V750H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-pointing-left\"\n      ]\n    },\n    {\n      \"uid\": \"03a7d5bce84499347a9da98372a36000\",\n      \"css\": \"hand-pointing-up\",\n      \"code\": 985685,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125V541L716.8 470.7H726.6Q744.1 470.7 755.9 482.4L787.1 515.6 584 689.5Q566.4 709 541 709H271.5Q246.1 709 227.5 689.5T209 646.5V464.8Q209 445.3 218.8 429.7T244.1 408.2L449.2 316.4 500 310.5V125Q500 107.4 511.7 95.7T541 84 571.3 95.7 584 125ZM209 791H541V916H209V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-pointing-up\"\n      ]\n    },\n    {\n      \"uid\": \"f8e5f06776c10850e2a05481af539199\",\n      \"css\": \"heart-multiple\",\n      \"code\": 985686,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 834L552.7 824.2Q388.7 671.9 328.1 611.3 232.4 513.7 191.4 445.3 146.5 369.1 146.5 294.9 146.5 232.4 176.8 179.7T258.8 96.7 375 66.4Q427.7 66.4 477.5 89.8T562.5 154.3Q597.7 113.3 647.5 89.8T750 66.4Q814.5 66.4 866.2 96.7T948.2 179.7 978.5 294.9Q978.5 371.1 931.6 449.2 890.6 519.5 793 617.2 730.5 679.7 562.5 834ZM500 878.9Q330.1 726.6 263.7 660.2 162.1 556.6 115.2 476.6 62.5 384.8 62.5 291V267.6Q21.5 330.1 21.5 400.4 21.5 476.6 68.4 554.7 109.4 625 207 720.7 271.5 785.2 437.5 933.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"c21d48d9c1719e54a6ac6898a1f65bdb\",\n      \"css\": \"heart-multiple-outline\",\n      \"code\": 985687,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 878.9L437.5 933.6Q271.5 785.2 207 720.7 109.4 625 68.4 554.7 21.5 476.6 21.5 400.4 21.5 330.1 62.5 267.6V291Q62.5 384.8 115.2 476.6 162.1 556.6 263.7 660.2 330.1 726.6 500 878.9ZM566.4 709Q574.2 701.2 591.8 685.5 707 580.1 752 535.2 824.2 462.9 859.4 408.2 898.4 345.7 900.4 291 900.4 228.5 858.4 187.5T753.9 146.5Q705.1 146.5 662.1 173.8T603.5 246.1H525.4Q505.9 201.2 463.9 173.8T375 146.5Q312.5 146.5 270.5 187.5T228.5 291Q228.5 349.6 269.5 414.1 306.6 470.7 384.8 546.9 433.6 597.7 558.6 709L562.5 712.9ZM750 62.5Q814.5 62.5 866.2 92.8T948.2 175.8 978.5 291Q978.5 365.2 931.6 443.4 890.6 511.7 793 609.4 730.5 671.9 562.5 824.2 396.5 677.7 332 613.3 234.4 515.6 193.4 445.3 146.5 367.2 146.5 291 146.5 228.5 176.8 175.8T258.8 92.8 375 62.5Q427.7 62.5 477.5 85.9T562.5 150.4Q597.7 109.4 647.5 85.9T750 62.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7a96c1503f7ebc2e223b15424dd6f87b\",\n      \"css\": \"horseshoe\",\n      \"code\": 985688,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H834V41H666V166L687.5 216.8Q712.9 277.3 728.5 339.8 750 425.8 750 500 750 630.9 687.5 709 621.1 791 500 791T312.5 709Q250 630.9 250 500 250 425.8 271.5 339.8 287.1 277.3 312.5 216.8L334 166V41H166V166H209L189.5 197.3Q166 236.3 146.5 281.3 119.1 345.7 103.5 412.1 84 498 84 584 84 683.6 144.5 773.4 203.1 857.4 299.8 908.2T500 959 700.2 908.2 855.5 773.4Q916 683.6 916 584 916 427.7 853.5 281.3 822.3 209 791 166V166ZM166 541Q148.4 541 136.7 530.3T125 500 136.7 469.7 167 459 197.3 469.7 209 500 197.3 530.3 166 541ZM250 791Q230.5 791 219.7 780.3T209 750 219.7 719.7 250 709 280.3 719.7 291 750 280.3 780.3 250 791ZM500 916Q480.5 916 469.7 905.3T459 875 469.7 844.7 500 834 530.3 844.7 541 875 530.3 905.3 500 916ZM750 791Q730.5 791 719.7 780.3T709 750 719.7 719.7 750 709 780.3 719.7 791 750 780.3 780.3 750 791ZM834 541Q814.5 541 802.7 530.3T791 500 802.7 469.7 833 459 863.3 469.7 875 500 863.3 530.3 834 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"horseshoe\"\n      ]\n    },\n    {\n      \"uid\": \"4ddb96ad9ea9adc154a19b278613e50f\",\n      \"css\": \"human-female-boy\",\n      \"code\": 985689,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 916V666H125L232.4 349.6Q242.2 324.2 263.7 307.6T312.5 291 362.3 307.6 392.6 349.6L500 666H375V916H250ZM603.5 500Q603.5 464.8 627.9 440.4T687.5 416 747.1 440.4 771.5 500 747.1 559.6 687.5 584 627.9 559.6 603.5 500ZM562.5 625H812.5V791H750V916H625V791H562.5V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-female-boy\"\n      ]\n    },\n    {\n      \"uid\": \"d003ba13cf6ffdd55dd16405cf4baea5\",\n      \"css\": \"human-female-female\",\n      \"code\": 985690,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 916V666H125L232.4 349.6Q242.2 324.2 263.7 307.6T312.5 291 362.3 307.6 392.6 349.6L500 666 607.4 349.6Q617.2 324.2 638.7 307.6T687.5 291 737.3 307.6 767.6 349.6L875 666H750V916H625V666H375V916H250ZM687.5 84Q722.7 84 747.1 108.4T771.5 167 747.1 225.6 687.5 250 627.9 225.6 603.5 167 627.9 108.4 687.5 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-female-female\"\n      ]\n    },\n    {\n      \"uid\": \"b28c8cb02c13007f5793bbda72b164e7\",\n      \"css\": \"human-female-girl\",\n      \"code\": 985691,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 916V666H125L232.4 349.6Q242.2 324.2 263.7 307.6T312.5 291 362.3 307.6 392.6 349.6L500 666H375V916H250ZM603.5 500Q603.5 464.8 627.9 440.4T687.5 416 747.1 440.4 771.5 500 747.1 559.6 687.5 584 627.9 559.6 603.5 500ZM625 625H750L812.5 791H750V916H625V791H562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-female-girl\"\n      ]\n    },\n    {\n      \"uid\": \"f8911321dbc49f67fec56d55bca96278\",\n      \"css\": \"human-male-boy\",\n      \"code\": 985692,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 291H375Q410.2 291 434.6 315.4T459 375V603.5H396.5V916H228.5V603.5H166V375Q166 339.8 190.4 315.4T250 291ZM603.5 500Q603.5 464.8 627.9 440.4T687.5 416 747.1 440.4 771.5 500 747.1 559.6 687.5 584 627.9 559.6 603.5 500ZM562.5 625H812.5V791H750V916H625V791H562.5V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-boy\"\n      ]\n    },\n    {\n      \"uid\": \"7c27f3a26b41f261f638d3ef17491b83\",\n      \"css\": \"human-male-girl\",\n      \"code\": 985693,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 291H375Q410.2 291 434.6 315.4T459 375V603.5H396.5V916H228.5V603.5H166V375Q166 339.8 190.4 315.4T250 291ZM603.5 500Q603.5 464.8 627.9 440.4T687.5 416 747.1 440.4 771.5 500 747.1 559.6 687.5 584 627.9 559.6 603.5 500ZM625 625H750L812.5 791H750V916H625V791H562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-girl\"\n      ]\n    },\n    {\n      \"uid\": \"9f26302e28afb33d4b0ee9b6f8ab23d7\",\n      \"css\": \"human-male-male\",\n      \"code\": 985694,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 84Q347.7 84 372.1 108.4T396.5 167 372.1 225.6 312.5 250 252.9 225.6 228.5 167 252.9 108.4 312.5 84ZM250 291H375Q410.2 291 434.6 315.4T459 375V603.5H396.5V916H228.5V603.5H166V375Q166 339.8 190.4 315.4T250 291ZM687.5 84Q722.7 84 747.1 108.4T771.5 167 747.1 225.6 687.5 250 627.9 225.6 603.5 167 627.9 108.4 687.5 84ZM625 291H750Q785.2 291 809.6 315.4T834 375V603.5H771.5V916H603.5V603.5H541V375Q541 339.8 565.4 315.4T625 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-male\"\n      ]\n    },\n    {\n      \"uid\": \"98e5f013b4b535354fdaac00605e5f4d\",\n      \"css\": \"ip\",\n      \"code\": 985695,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 459H584V375H666V459ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM416 291H334V709H416V291ZM500 709H584V541H666Q701.2 541 725.6 516.6T750 459V375Q750 339.8 725.6 315.4T666 291H500V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ip\"\n      ]\n    },\n    {\n      \"uid\": \"676d9880b4d8549a3bad611cd32accf7\",\n      \"css\": \"ip-network\",\n      \"code\": 985696,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375H541V291H625V375ZM916 834V916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H709Q742.2 125 766.6 149.4T791 209V625Q791 660.2 766.6 684.6T709 709H541V791H584Q601.6 791 613.3 803.7T625 834H916ZM375 209H291V625H375V209ZM459 625H541V459H625Q660.2 459 684.6 434.6T709 375V291Q709 257.8 684.6 233.4T625 209H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ip-network\"\n      ]\n    },\n    {\n      \"uid\": \"995c05990afca2aa98088fb202c0f9f0\",\n      \"css\": \"litecoin\",\n      \"code\": 985697,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M523.4 664.1L548.8 574.2 617.2 548.8 677.7 318.4 607.4 345.7 677.7 84H334L224.6 490.2 154.3 513.7 91.8 746.1 166 718.8 111.3 916H839.8L908.2 664.1H523.4ZM808.6 875H166L226.6 652.3 154.3 679.7 191.4 546.9 259.8 523.4 363.3 125H625L546.9 416 617.2 386.7 584 517.6 513.7 541 466.8 705.1H853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"litecoin\"\n      ]\n    },\n    {\n      \"uid\": \"2c698c7e834f576980798c14ad50842c\",\n      \"css\": \"magnify-minus-cursor\",\n      \"code\": 985698,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166Q537.1 166 604.5 206.1T710.9 312.5 750 459Q750 554.7 691.4 632.8L726.6 666H750L959 875 875 959 666 750V724.6L632.8 691.4Q570.3 738.3 493.2 747.1T343.8 726.6 224.6 633.8 168.9 493.2 189.5 344.7 283.2 224.6Q361.3 166 459 166ZM291 416V500H625V416H291ZM41 41V334L334 41H41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-minus-cursor\"\n      ]\n    },\n    {\n      \"uid\": \"0d3d484333026e798f66a329b35d393e\",\n      \"css\": \"magnify-plus-cursor\",\n      \"code\": 985699,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166Q537.1 166 604.5 206.1T710.9 312.5 750 459Q750 554.7 691.4 632.8L726.6 666H750L959 875 875 959 666 750V724.6L632.8 691.4Q570.3 738.3 493.2 747.1T343.8 726.6 224.6 633.8 168.9 493.2 189.5 344.7 283.2 224.6Q361.3 166 459 166ZM416 291V416H291V500H416V625H500V500H625V416H500V291H416ZM41 41V334L334 41H41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-plus-cursor\"\n      ]\n    },\n    {\n      \"uid\": \"60836c7ad74e3003d7726f319e1075e4\",\n      \"css\": \"menu-swap\",\n      \"code\": 985700,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250L291 459H709ZM291 541L500 750 709 541H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-swap\"\n      ]\n    },\n    {\n      \"uid\": \"f5478bedd2409c5c8098eb753191635f\",\n      \"css\": \"menu-swap-outline\",\n      \"code\": 985701,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 146.5L250 396.5V459H750V396.5ZM500 263.7L611.3 375H388.7ZM250 541V603.5L500 853.5 750 603.5V541H250ZM388.7 625H611.3L500 736.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-swap-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4478abee030e07176c4ee906f803afe7\",\n      \"css\": \"puzzle-outline\",\n      \"code\": 985702,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 562.5Q916 617.2 880.9 658.2T791 707V834Q791 867.2 766.6 891.6T709 916H550.8V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q845.7 425.8 880.9 466.8T916 562.5ZM709 625H771.5Q796.9 625 815.4 606.4T834 562.5 815.4 518.6 771.5 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T437.5 709 548.8 743.2 619.1 834H709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"833f83f96b28cb7131afcc04991bf5d1\",\n      \"css\": \"registered-trademark\",\n      \"code\": 985703,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM509.8 552.7H451.2V687.5H375V320.3H511.7Q576.2 320.3 611.3 349.6T646.5 431.6Q646.5 468.8 629.9 494.1T580.1 533.2L660.2 683.6V687.5H578.1ZM451.2 492.2H511.7Q539.1 492.2 554.7 477.5T570.3 437.5 555.7 397.5 511.7 382.8H451.2V492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"registered-trademark\"\n      ]\n    },\n    {\n      \"uid\": \"a0418f52aa74db1214350c7ce578c513\",\n      \"css\": \"resize\",\n      \"code\": 985704,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M441.4 500L607.4 334H459V250H750V541H666V392.6L500 558.6V666H834V166H334V500H441.4ZM916 84V750H500V916H84V500H250V84H916ZM416 584H166V834H416V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"resize\"\n      ]\n    },\n    {\n      \"uid\": \"b986d4ea7430ddbe550f5d207f4da85c\",\n      \"css\": \"router-wireless-settings\",\n      \"code\": 985705,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M841.8 205.1Q804.7 169.9 758.8 151.4T666 132.8 574.2 151.4 492.2 205.1L459 169.9Q502 127 555.7 105.5T667 84 778.3 105.5 875 169.9ZM804.7 238.3L771.5 271.5Q728.5 228.5 666 228.5T562.5 271.5L529.3 238.3Q556.6 209 592.8 194.3T667 179.7 740.2 194.3 804.7 238.3ZM791 500Q826.2 500 850.6 524.4T875 584V750Q875 785.2 850.6 809.6T791 834H209Q173.8 834 149.4 809.6T125 750V584Q125 548.8 149.4 524.4T209 500H625V334H709V500H791ZM334 709V625H250V709H334ZM478.5 709V625H396.5V709H478.5ZM625 709V625H541V709H625ZM291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"router-wireless-settings\"\n      ]\n    },\n    {\n      \"uid\": \"ecf0163e4e832aa38756ef8566c3a6ad\",\n      \"css\": \"safe\",\n      \"code\": 985706,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V709Q84 742.2 108.4 766.6T166 791V834H250V791H709V834H791V791Q826.2 791 850.6 766.6T875 709V666H916V584H875V375H916V291H875V250Q875 214.8 850.6 190.4T791 166H166ZM166 250H791V709H166V250ZM562.5 312.5Q494.1 312.5 445.3 361.3T396.5 479.5 445.3 597.7 562.5 646.5 679.7 597.7 728.5 479.5 679.7 361.3 562.5 312.5ZM209 375V584H291V375H209ZM562.5 396.5Q597.7 396.5 622.1 420.9T646.5 479.5 622.1 538.1 562.5 562.5 502.9 538.1 478.5 479.5 502.9 420.9 562.5 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"safe\"\n      ]\n    },\n    {\n      \"uid\": \"5e0821b7a01470d10f9e68ee1b777733\",\n      \"css\": \"scissors-cutting\",\n      \"code\": 985707,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 875H291V791H459V875ZM646.5 791H709V875H541V791H550.8L492.2 537.1 386.7 562.5Q382.8 584 367.2 617.2 337.9 664.1 286.1 675.8T187.5 659.2 128.9 579.1 145.5 480.5 225.6 420.9 324.2 437.5Q343.8 447.3 363.3 474.6L466.8 449.2 441.4 345.7Q425.8 341.8 392.6 324.2 347.7 296.9 335 244.1T349.6 145.5 429.7 87.9 529.3 104.5 587.9 184.6 570.3 283.2Q560.5 302.7 533.2 320.3ZM291 492.2Q269.5 476.6 243.2 483.4T201.2 511.7 192.4 560.5 220.7 601.6 269.5 609.4 310.5 580.1 318.4 530.3 291 492.2ZM517.6 250Q531.3 228.5 524.4 201.2T496.1 158.2 447.3 149.4 405.3 178.7 397.5 228.5 427.7 269.5 477.5 277.3 517.6 250ZM533.2 470.7Q517.6 462.9 511.7 476.6T518.6 497.1 537.1 492.2Q543 486.3 542 480.5T533.2 470.7ZM875 353.5L603.5 416 625 507.8 937.5 433.6 959 404.3ZM959 791H791V875H959V791ZM209 791H41V875H209V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scissors-cutting\"\n      ]\n    },\n    {\n      \"uid\": \"a7cb6e083cf4baa499d81f41ff58e470\",\n      \"css\": \"select-drag\",\n      \"code\": 985708,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709H709V541H791V709H959V791H791V959H709V791H541V709ZM459 709V791H375V709H459ZM291 709V791H209V709H291ZM791 375V459H709V375H791ZM791 209V291H709V209H791ZM625 209V291H541V209H625ZM459 209V291H375V209H459ZM291 209V291H209V209H291ZM291 541V625H209V541H291ZM291 375V459H209V375H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-drag\"\n      ]\n    },\n    {\n      \"uid\": \"5364ff3fac7bb6dcc1e257b354f71c41\",\n      \"css\": \"selection-drag\",\n      \"code\": 985709,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H709V584H791V709H916V791H791V916H709V791H584V709ZM500 709V791H375V709H500ZM291 709V791H125V625H209V709H291ZM125 541V416H209V541H125ZM125 334V166H291V250H209V334H125ZM375 166H500V250H375V166ZM625 166H791V334H709V250H625V166ZM791 416V500H709V416H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-drag\"\n      ]\n    },\n    {\n      \"uid\": \"3afda2113a3bba96c9575b34ebcfd5cb\",\n      \"css\": \"settings-helper\",\n      \"code\": 985710,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"settings-helper\"\n      ]\n    },\n    {\n      \"uid\": \"c1a4e3bed4b57a5c9c48abbab7c30722\",\n      \"css\": \"signal-5g\",\n      \"code\": 985711,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 687.5V437.5H728.5V562.5H791V687.5H666V312.5H916V187.5H666Q615.2 187.5 578.1 223.6T541 312.5V687.5Q541 740.2 578.1 776.4T666 812.5H791Q843.8 812.5 879.9 776.4T916 687.5ZM416 187.5H125V562.5H291V687.5H125V812.5H353.5Q380.9 812.5 398.4 793.9T416 750V500Q416 474.6 398.4 456.1T353.5 437.5H250V312.5H416V187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-5g\"\n      ]\n    },\n    {\n      \"uid\": \"52b9d8eb21e463226e1ade5240e8e50f\",\n      \"css\": \"silverware-fork-knife\",\n      \"code\": 985712,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375H375V84H291V375H209V84H125V375Q125 441.4 169.9 489.3T281.3 541V916H384.8V541Q451.2 537.1 496.1 489.3T541 375V84H459V375ZM666 250V584H771.5V916H875V84Q820.3 84 769.5 109.4 724.6 134.8 695.3 173.8T666 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silverware-fork-knife\"\n      ]\n    },\n    {\n      \"uid\": \"2a01cfd186d39f4eb601f423492d864c\",\n      \"css\": \"smog\",\n      \"code\": 985713,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q441.4 84 395.5 121.1T337.9 214.8Q293 166 228.5 166 168 166 126 209T84 312.5V312.5Q84 373 126 416T228.5 459H279.3V500H447.3V459H552.7V500H720.7V459H771.5Q832 459 874 416T916 312.5V312.5Q916 252 874 209T771.5 166V166Q707 166 662.1 214.8 650.4 158.2 604.5 121.1T500 84ZM300.8 584L267.6 916H459L425.8 584H300.8ZM574.2 584L541 916H732.4L699.2 584H574.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smog\"\n      ]\n    },\n    {\n      \"uid\": \"ab96bf1861821daf4fa3f2fcdc12a84c\",\n      \"css\": \"solar-power\",\n      \"code\": 985714,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M476.6 84V230.5L625 156.3ZM435.5 334L334 435.5 490.2 488.3ZM84 476.6L156.3 625 230.5 476.6H84ZM416 84H84V416Q119.1 427.7 156.3 427.7 230.5 427.7 293 391.6T391.6 293 427.7 156.3Q427.7 119.1 416 84ZM709 916V666H584L791 291V541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"solar-power\"\n      ]\n    },\n    {\n      \"uid\": \"c4d71df298d45365dba736d07e0c6e5a\",\n      \"css\": \"star-box\",\n      \"code\": 985715,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM648.4 709L609.4 539.1 742.2 423.8 568.4 410.2 500 250 431.6 410.2 257.8 425.8 390.6 539.1 351.6 709 500 619.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-box\"\n      ]\n    },\n    {\n      \"uid\": \"f3fea22a2faafc5931505f5e10a997ad\",\n      \"css\": \"star-box-outline\",\n      \"code\": 985716,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M648.4 709L500 619.1 351.6 709 390.6 539.1 257.8 425.8 431.6 410.2 500 250 568.4 410.2 742.2 423.8 609.4 539.1ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3af280f5a7d55f7eb7eedac56f5e425b\",\n      \"css\": \"table-plus\",\n      \"code\": 985717,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-plus\"\n      ]\n    },\n    {\n      \"uid\": \"1114a251efa7e1739251949abce69828\",\n      \"css\": \"table-remove\",\n      \"code\": 985718,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 601.6 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 898.4 644.5 837.9 732.4 750ZM166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-remove\"\n      ]\n    },\n    {\n      \"uid\": \"604956f057d55d109fd1dc487392a5d2\",\n      \"css\": \"target-variant\",\n      \"code\": 985719,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 460.9H835.9V166H543V84H460.9V166H166V460.9H84V543H166V835.9H460.9V919.9H543V835.9H835.9V543H919.9V460.9ZM752 752H543V669.9H460.9V752H250V543H334V460.9H250V250H460.9V334H543V250H752V460.9H669.9V543H752V752ZM543 502Q543 519.5 531.3 531.3T502 543 472.7 531.3 460.9 502 472.7 472.7 502 460.9 531.3 472.7 543 502Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"target-variant\"\n      ]\n    },\n    {\n      \"uid\": \"7ae3b129e441a14c914c7328f912bd51\",\n      \"css\": \"trademark\",\n      \"code\": 985720,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 351.6H287.1V666H203.1V351.6H84V291H408.2V351.6ZM562.5 291L664.1 562.5 767.6 291H875V666H791V562.5L800.8 384.8 693.4 666H636.7L529.3 384.8 537.1 562.5V666H455.1V291H562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trademark\"\n      ]\n    },\n    {\n      \"uid\": \"c262a8d941b12910a5efcb7ac74b6eae\",\n      \"css\": \"trash-can\",\n      \"code\": 985721,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125V166H166V250H209V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V250H834V166H625V125H375ZM375 334H459V709H375V334ZM541 334H625V709H541V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trash-can\"\n      ]\n    },\n    {\n      \"uid\": \"31e9bfac84bd5e0c339fc79cc5b2fd04\",\n      \"css\": \"tshirt-crew\",\n      \"code\": 985723,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 875H334Q316.4 875 303.7 863.3T291 834V502L238.3 544.9Q224.6 556.6 208 556.6T179.7 544.9L60.5 429.7Q48.8 416 48.8 399.4T60.5 369.1L306.6 125H375Q375 160.2 411.1 184.6T500 209 588.9 184.6 625 125H693.4L939.5 369.1Q951.2 382.8 951.2 399.4T939.5 429.7L820.3 546.9Q808.6 558.6 792 558.6T761.7 546.9L709 505.9V834Q709 851.6 696.3 863.3T666 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tshirt-crew\"\n      ]\n    },\n    {\n      \"uid\": \"54a1f8135cadb74a9da9cf419a7b5f45\",\n      \"css\": \"tshirt-v\",\n      \"code\": 985724,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 875H334Q316.4 875 303.7 863.3T291 834V502L238.3 544.9Q224.6 556.6 208 556.6T179.7 544.9L60.5 429.7Q48.8 416 48.8 399.4T60.5 369.1L306.6 125H375Q384.8 181.6 417 228.5T500 302.7Q550.8 275.4 583 228.5T625 125H693.4L939.5 369.1Q951.2 382.8 951.2 399.4T939.5 429.7L820.3 546.9Q808.6 558.6 792 558.6T761.7 546.9L709 505.9V834Q709 851.6 696.3 863.3T666 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tshirt-v\"\n      ]\n    },\n    {\n      \"uid\": \"59e465d06ce1127f8d3f22b89a3a39d9\",\n      \"css\": \"zodiac-aquarius\",\n      \"code\": 985725,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 517.6L500 392.6 375 517.6 250 392.6 154.3 488.3 95.7 429.7 250 275.4 375 400.4 500 275.4 625 400.4 750 275.4 904.3 429.7 845.7 488.3 750 392.6ZM750 642.6L845.7 738.3 904.3 679.7 750 525.4 625 650.4 500 525.4 375 650.4 250 525.4 95.7 679.7 154.3 738.3 250 642.6 375 767.6 500 642.6 625 767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-aquarius\"\n      ]\n    },\n    {\n      \"uid\": \"b1d297097f1f5f34eb6853b59b12e2fd\",\n      \"css\": \"zodiac-aries\",\n      \"code\": 985726,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 84Q597.7 84 541 117.2 521.5 128.9 500 148.4 478.5 128.9 459 117.2 402.3 84 334 84T208 117.2 117.2 208 84 334Q84 382.8 102.5 428.7T156.3 509.8 237.3 564.5 334 584V500Q263.7 500 214.8 451.2T166 333 214.8 214.8 332 166 447.3 212.9L459 222.7V916H541V222.7L552.7 212.9Q601.6 164.1 670.9 166T788.1 218.8 834 337.9 782.2 453.1 666 500V584Q716.8 584 762.7 564.5T843.8 509.8 897.5 428.7 916 334Q916 265.6 882.8 208T792 117.2 666 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-aries\"\n      ]\n    },\n    {\n      \"uid\": \"843fca45393dc961d1a330baa56cc5c4\",\n      \"css\": \"zodiac-cancer\",\n      \"code\": 985727,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q386.7 166 291 210.9T139.6 333 84 500Q84 566.4 128.9 614.3T240.2 666H250Q318.4 666 367.2 617.2T416 500 367.2 382.8 250 334H240.2Q293 283.2 360.4 257.8T500 232.4Q611.3 232.4 709 291L759.8 240.2Q640.6 164.1 500 166ZM250 416Q285.2 416 309.6 440.4T334 500 308.6 559.6 250 584 193.4 562.5 166 507.8V492.2Q169.9 459 193.4 437.5T250 416ZM759.8 334H750Q681.6 334 632.8 382.8T584 500 632.8 617.2 750 666H759.8Q707 716.8 639.6 742.2T500 767.6Q388.7 767.6 291 709L240.2 759.8Q357.4 834 500 834 613.3 834 709 789.1T860.4 667 916 500Q916 433.6 871.1 385.7T759.8 334ZM750 584Q714.8 584 690.4 559.6T666 500 691.4 440.4 750 416 806.6 437.5 834 492.2V507.8Q830.1 541 806.6 562.5T750 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-cancer\"\n      ]\n    },\n    {\n      \"uid\": \"978f9791a96f4a93c784a54098b9494d\",\n      \"css\": \"zodiac-capricorn\",\n      \"code\": 985728,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541Q580.1 541 541 564.5V250Q541 197.3 504.9 161.1T416 125Q369.1 125 334 158.2 296.9 125 250 125V209Q267.6 209 279.3 220.7T291 250V666H375V250Q375 232.4 386.7 220.7T416 209 446.3 220.7 459 250V709Q459 742.2 434.6 766.6T375 791V875Q410.2 875 443.4 860.4T500 818.4Q544.9 869.1 614.3 874T735.4 834 792 719.7 752 599.6Q728.5 572.3 695.3 556.6T625 541ZM625 791Q589.8 791 565.4 766.6T541 708 565.4 649.4 625 625 684.6 649.4 709 708 684.6 766.6 625 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-capricorn\"\n      ]\n    },\n    {\n      \"uid\": \"51a074565de7f241e67a1c49802af707\",\n      \"css\": \"zodiac-gemini\",\n      \"code\": 985729,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 220.7Q835.9 199.2 914.1 166L882.8 89.8Q697.3 166 499 166T117.2 89.8L85.9 166Q164.1 199.2 250 220.7V779.3Q164.1 800.8 85.9 834L117.2 910.2Q300.8 834 500 834T882.8 910.2L914.1 834Q835.9 800.8 750 779.3V220.7ZM334 761.7V236.3Q418 250 500 250T666 236.3V763.7Q500 736.3 334 763.7V761.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-gemini\"\n      ]\n    },\n    {\n      \"uid\": \"6f26e2dc2c267ee97283e15653d59e78\",\n      \"css\": \"zodiac-leo\",\n      \"code\": 985730,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 709Q834 759.8 796.9 796.9T709 832 622.1 794.9 584 709Q593.8 609.4 625 511.7 658.2 404.3 666 291 664.1 207 603.5 146.5T459 84Q373 85.9 312.5 146.5T250 291Q259.8 382.8 291 478.5L300.8 507.8Q234.4 488.3 172.9 519.5T90.8 616.2 101.6 743.2 199.2 826.2 327.1 815.4 408.2 716.8Q416 693.4 416 666 406.3 550.8 371.1 455.1 343.8 373 334 291 335.9 240.2 372.1 205.1T459 166Q509.8 169.9 544.9 205.1T584 291Q574.2 390.6 541 488.3 507.8 595.7 500 709 502 793 562.5 853.5T709 916Q765.6 916 813.5 888.7T888.7 813.5 916 709H834ZM250 750Q214.8 750 190.4 725.6T166 667 190.4 608.4 250 584 309.6 608.4 334 667 309.6 725.6 250 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-leo\"\n      ]\n    },\n    {\n      \"uid\": \"7251ef44f202721cb03081426205f6bf\",\n      \"css\": \"zodiac-libra\",\n      \"code\": 985731,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 666V750H541V662.1Q603.5 652.3 649.4 612.3T715.8 514.6 725.6 395.5 674.8 288.1 577.1 221.7 458 211.9 350.6 262.7 284.2 360.4 275.4 478.5Q287.1 548.8 337.9 599.6T459 662.1V750H166V666H289.1Q240.2 623 213.9 563.5T187.5 437.5Q187.5 353.5 229.5 281.3T343.8 167 500 125 656.3 167 770.5 281.3 812.5 437.5Q812.5 503.9 786.1 563.5T710.9 666H834ZM834 791H166V875H834V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-libra\"\n      ]\n    },\n    {\n      \"uid\": \"a823a19d6af5c3b84800db2487095a5c\",\n      \"css\": \"zodiac-pisces\",\n      \"code\": 985732,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 459H750Q757.8 283.2 826.2 117.2L750 85.9Q675.8 265.6 666 459H334Q324.2 265.6 250 85.9L171.9 117.2Q242.2 281.3 250 459H166V541H250Q242.2 716.8 173.8 882.8L250 914.1Q324.2 734.4 334 541H666Q675.8 734.4 750 914.1L828.1 882.8Q757.8 718.8 750 541H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-pisces\"\n      ]\n    },\n    {\n      \"uid\": \"9c459ac9b1d18d0a4ec08a3513058d01\",\n      \"css\": \"zodiac-sagittarius\",\n      \"code\": 985733,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 84V500H834V224.6L433.6 625 529.3 720.7 470.7 779.3 375 683.6 154.3 904.3 95.7 845.7 316.4 625 220.7 529.3 279.3 470.7 375 566.4 775.4 166H500V84H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-sagittarius\"\n      ]\n    },\n    {\n      \"uid\": \"e151e43914195d427aecbf7302451d51\",\n      \"css\": \"zodiac-scorpio\",\n      \"code\": 985734,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M738.3 636.7L679.7 695.3 732.4 750H666Q632.8 750 608.4 725.6T584 666V250Q584 197.3 546.9 161.1T459 125Q412.1 125 375 158.2 339.8 125 292 125T209 158.2Q171.9 125 125 125V209Q142.6 209 154.3 220.7T166 250V666H250V250Q250 232.4 261.7 220.7T291 209 321.3 220.7 334 250V666H416V250Q416 232.4 428.7 220.7T459 209 488.3 220.7 500 250V666Q500 736.3 548.8 785.2T666 834H732.4L679.7 886.7 738.3 945.3 892.6 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-scorpio\"\n      ]\n    },\n    {\n      \"uid\": \"e446e6d0182128d94b9491e2c7661d86\",\n      \"css\": \"zodiac-taurus\",\n      \"code\": 985735,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M650.4 375Q714.8 335.9 752.9 268.6T791 125H709Q709 181.6 680.7 229.5T604.5 305.7 500 334 395.5 305.7 319.3 229.5 291 125H209Q209 201.2 247.1 268.6T349.6 375Q283.2 416 245.1 484.4T208 629.9 250 775.4 358.4 880.9 503.9 917 649.4 875 754.9 766.6 792 621.1 750 476.6Q712.9 412.1 650.4 375ZM500 834Q443.4 834 395.5 805.7T319.3 729.5 291 625Q291 584 307.6 545.9T353.5 478.5 420.9 432.6 500 416Q556.6 416 604.5 444.3T680.7 520.5 709 625 680.7 729.5 604.5 805.7 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-taurus\"\n      ]\n    },\n    {\n      \"uid\": \"de07b1527a8156a6927c92cd0a09d6c8\",\n      \"css\": \"zodiac-virgo\",\n      \"code\": 985736,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 796.9Q810.5 759.8 826.2 687.5 834 646.5 834 584 834 513.7 785.2 464.8T666 416Q623 416 584 439.5V250Q584 197.3 546.9 161.1T459 125Q412.1 125 375 158.2 339.8 125 292 125T209 158.2Q171.9 125 125 125V209Q142.6 209 154.3 220.7T166 250V666H250V250Q250 232.4 261.7 220.7T291 209 321.3 220.7 334 250V666H416V250Q416 232.4 428.7 220.7T459 209 488.3 220.7 500 250V584Q500 646.5 507.8 687.5 521.5 759.8 562.5 796.9 511.7 824.2 459 834V916Q517.6 916 666 837.9 814.5 916 875 916V834Q820.3 824.2 771.5 796.9ZM666 500Q701.2 500 725.6 524.4T750 584Q750 673.8 731.4 711.9T667 750 602.5 711.9 584 584Q584 548.8 608.4 524.4T666 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zodiac-virgo\"\n      ]\n    },\n    {\n      \"uid\": \"ccffa3544e61d223eee7ccf55a395f77\",\n      \"css\": \"account-child\",\n      \"code\": 985737,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q552.7 84 588.9 120.1T625 208 588.9 296.9 500 334 411.1 296.9 375 208 411.1 120.1 500 84ZM500 375Q601.6 375 686.5 418.9T771.5 525.4V765.6Q771.5 835.9 662.1 882.8V791Q662.1 732.4 554.7 707 519.5 699.2 500 699.2 445.3 699.2 397.5 720.7T339.8 775.4Q423.8 808.6 500 808.6L541 804.7V914.1L500 916Q416 916 337.9 882.8 228.5 835.9 228.5 765.6V525.4Q228.5 462.9 313.5 418.9T500 375ZM500 459Q464.8 459 440.4 483.4T416 542 440.4 600.6 500 625 559.6 600.6 584 542 559.6 483.4 500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-child\"\n      ]\n    },\n    {\n      \"uid\": \"9d89e2b78b664784904797e570d7a90a\",\n      \"css\": \"account-child-circle\",\n      \"code\": 985738,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500Q525.4 500 543.9 518.6T562.5 562.5 543.9 606.4 500 625 456.1 606.4 437.5 562.5 456.1 518.6 500 500ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 666Q546.9 666 585.9 686.5T625 736.3V808.6Q709 771.5 709 716.8V533.2Q709 484.4 643.6 450.2T500 416 356.4 450.2 291 533.2V716.8Q291 767.6 358.4 800.8T500 834L541 830.1V746.1L500 750Q435.5 750 377 724.6 384.8 701.2 421.9 683.6T500 666ZM500 166Q457 166 426.8 197.3T396.5 271.5 426.8 344.7 500 375 573.2 344.7 603.5 271.5 573.2 197.3 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-child-circle\"\n      ]\n    },\n    {\n      \"uid\": \"00b56737c600a5b38d0990f97f62eeea\",\n      \"css\": \"account-supervisor\",\n      \"code\": 985739,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 500Q730.5 500 760.7 469.7T791 396.5 760.7 322.3 687.5 291 614.3 322.3 584 396.5 614.3 469.7 687.5 500ZM375 459Q427.7 459 463.9 421.9T500 333 463.9 245.1 375 209 286.1 245.1 250 333 286.1 421.9 375 459ZM687.5 584Q644.5 584 593.8 595.7 537.1 611.3 500 634.8 459 662.1 459 697.3V791H916V697.3Q916 662.1 875 634.8 837.9 611.3 781.3 595.7 730.5 584 687.5 584ZM375 541Q320.3 541 255.9 558.6 183.6 576.2 136.7 607.4 84 642.6 84 687.5V791H375V697.3Q375 662.1 392.6 630.9 418 584 474.6 552.7 418 541 375 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-supervisor\"\n      ]\n    },\n    {\n      \"uid\": \"53d9e53c82fb254a48c300cf2e9025eb\",\n      \"css\": \"account-supervisor-circle\",\n      \"code\": 985740,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM650.4 347.7Q683.6 347.7 707 371.1T730.5 427.7 707 484.4 650.4 507.8 593.8 484.4 569.3 427.7 592.8 371.1 650.4 347.7ZM400.4 281.3Q441.4 281.3 469.7 310.5T498 379.9 469.7 449.2 400.4 478.5 330.1 449.2 300.8 379.9 330.1 310.5 400.4 281.3ZM400.4 662.1V818.4Q324.2 794.9 268.6 740.2T185.5 611.3Q214.8 580.1 287.1 558.6 347.7 541 400.4 541 435.5 541 478.5 550.8 400.4 591.8 400.4 662.1ZM500 834Q476.6 834 466.8 832V662.1Q466.8 623 535.2 595.7 593.8 574.2 650.4 574.2 687.5 574.2 732.4 585.9 783.2 599.6 810.5 621.1 773.4 714.8 688.5 774.4T500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-supervisor-circle\"\n      ]\n    },\n    {\n      \"uid\": \"37ea7c8ec4a2b9d75d05d43e16917b66\",\n      \"css\": \"ampersand\",\n      \"code\": 985741,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M183.6 687.5Q183.6 632.8 215.8 581.1T341.8 466.8Q293 408.2 271.5 363.3 250 326.2 250 279.3 250 187.5 304.7 132.8 353.5 84 455.1 84 535.2 84 590.8 132.8T646.5 253.9Q646.5 302.7 621.1 345.7T533.2 433.6L474.6 478.5 654.3 695.3Q691.4 621.1 691.4 533.2H783.2Q783.2 679.7 716.8 771.5L834 908.2H709L654.3 845.7Q611.3 882.8 558.6 900.4 496.1 919.9 445.3 919.9 330.1 919.9 253.9 857.4 183.6 787.1 183.6 687.5ZM445.3 834Q527.3 834 595.7 771.5L400.4 533.2 382.8 544.9Q291 613.3 291 687.5 291 755.9 334 791 382.8 834 445.3 834ZM353.5 279.3Q353.5 334 419.9 412.1L488.3 367.2Q525.4 341.8 538.1 316.4T550.8 257.8Q550.8 218.8 521.5 195.3 496.1 169.9 449.2 169.9T377.9 200.2 353.5 279.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ampersand\"\n      ]\n    },\n    {\n      \"uid\": \"e909cf637bc6e3e37793e8b1d84dacf3\",\n      \"css\": \"android-auto\",\n      \"code\": 985742,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M949.2 746.1Q959 759.8 959 779.3 959 802.7 940.4 818.4T898.4 834H794.9L517.6 334H482.4L205.1 834H99.6Q70.3 834 50.8 807.6T48.8 750L449.2 70.3Q468.8 41 501 41T548.8 70.3ZM199.2 929.7L500 390.6 800.8 929.7 771.5 959 500 847.7 226.6 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"android-auto\"\n      ]\n    },\n    {\n      \"uid\": \"050f8a4916c2ad0279da72459d428c62\",\n      \"css\": \"animation-outline\",\n      \"code\": 985743,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V584H166V166H584V84H166ZM334 250Q298.8 250 274.4 274.4T250 334V750H334V334H750V250H334ZM834 500V834H500V500H834ZM834 416H500Q464.8 416 440.4 440.4T416 500V834Q416 867.2 440.4 891.6T500 916H834Q867.2 916 891.6 891.6T916 834V500Q916 464.8 891.6 440.4T834 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"animation-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d2eeeb1a1309d6bb4eeb0c9978c72344\",\n      \"css\": \"animation-play-outline\",\n      \"code\": 985744,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V584H166V166H584V84H166ZM334 250Q298.8 250 274.4 274.4T250 334V750H334V334H750V250H334ZM834 500V834H500V500H834ZM834 416H500Q464.8 416 440.4 440.4T416 500V834Q416 867.2 440.4 891.6T500 916H834Q867.2 916 891.6 891.6T916 834V500Q916 464.8 891.6 440.4T834 416ZM584 541V791L750 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"animation-play-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9de55fd05ce6e9dd4a6e244f357f7a52\",\n      \"css\": \"bell-off-outline\",\n      \"code\": 985745,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 242.2 322.3Q209 386.7 209 459V709L125 791V834H753.9L869.1 947.3ZM291 750V459Q291 419.9 306.6 384.8L671.9 750H291ZM416 875H584Q584 910.2 559.6 934.6T500 959 440.4 934.6 416 875ZM345.7 212.9Q375 193.4 416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V658.2L709 574.2V459Q709 402.3 680.7 354.5T604.5 278.3 500 250Q451.2 250 406.3 273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2c1650c35be6562e0f33e4acfdc9fe7c\",\n      \"css\": \"bell-plus-outline\",\n      \"code\": 985746,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H513.7Q500 793 500 750H291V459Q291 402.3 319.3 354.5T395.5 278.3 500 250 604.5 278.3 680.7 354.5 709 459V503.9Q728.5 500 750 500T791 503.9V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM709 584V709H584V791H709V916H791V791H916V709H791V584H709ZM416 875Q416 910.2 440.4 934.6T500 959Q521.5 959 539.1 949.2T568.4 921.9Q548.8 900.4 533.2 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fd35663a95c6b99cba904d4378cab341\",\n      \"css\": \"bell-sleep-outline\",\n      \"code\": 985747,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 875H584Q584 910.2 559.6 934.6T500 959 440.4 934.6 416 875ZM875 791V834H125V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V709ZM709 459Q709 402.3 680.7 354.5T604.5 278.3 500 250 395.5 278.3 319.3 354.5 291 459V750H709V459ZM375 375V459H509.8L375 570.3V666H625V584H490.2L625 470.7V375H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-sleep-outline\"\n      ]\n    },\n    {\n      \"uid\": \"afd94abdec0a03bc943d7390060694ad\",\n      \"css\": \"book-minus-multiple\",\n      \"code\": 985748,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834V250H125V834Q125 867.2 149.4 891.6T209 916H541V834H209ZM791 84H584V291L500 228.5 416 291V84H375Q339.8 84 315.4 108.4T291 166V666Q291 701.2 315.4 725.6T375 750H541V666H875V166Q875 132.8 850.6 108.4T791 84ZM959 834H625V750H959V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-minus-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"07fb40f99beafc28fbea02834d1f3078\",\n      \"css\": \"book-plus-multiple\",\n      \"code\": 985749,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M544.9 834H209V250H125V834Q125 867.2 149.4 891.6T209 916H576.2Q552.7 878.9 544.9 834ZM791 84H584V291L500 228.5 416 291V84H375Q339.8 84 315.4 108.4T291 166V666Q291 701.2 315.4 725.6T375 750H544.9Q554.7 695.3 585.9 649.4T665 576.2 767.6 543 875 556.6V166Q875 132.8 850.6 108.4T791 84ZM834 625V750H959V834H834V959H750V834H625V750H750V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-plus-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ed47331e48a234a0c51969e7815f92bf\",\n      \"css\": \"book-remove-multiple\",\n      \"code\": 985750,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M544.9 834H209V250H125V834Q125 867.2 149.4 891.6T209 916H576.2Q552.7 878.9 544.9 834ZM791 84H584V291L500 228.5 416 291V84H375Q339.8 84 315.4 108.4T291 166V666Q291 701.2 315.4 725.6T375 750H544.9Q554.7 695.3 585.9 649.4T665 576.2 767.6 543 875 556.6V166Q875 132.8 850.6 108.4T791 84ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-remove-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"f519b68cc2f8b8dc6850bfac4c0c4b30\",\n      \"css\": \"book-remove\",\n      \"code\": 985751,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916ZM683.6 826.2L742.2 767.6 683.6 709 742.2 650.4 683.6 589.8 625 650.4 566.4 589.8 507.8 650.4 566.4 709 507.8 767.6 566.4 826.2 625 767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-remove\"\n      ]\n    },\n    {\n      \"uid\": \"44d291a46b5dad81ecf5f099a3e05a81\",\n      \"css\": \"briefcase-edit\",\n      \"code\": 985752,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334L451.2 791V875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84H584ZM584 250V166H416V250H584ZM877 505.9Q867.2 505.9 861.3 511.7L818.4 554.7 904.3 638.7 945.3 597.7Q953.1 591.8 953.1 582T945.3 566.4L892.6 511.7Q884.8 505.9 877 505.9ZM794.9 578.1L541 830.1V916H627L880.9 664.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-edit\"\n      ]\n    },\n    {\n      \"uid\": \"a17d67137b41f662fb3b692b2ce7f8ff\",\n      \"css\": \"bus-alert\",\n      \"code\": 985753,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 41Q746.1 41 812.5 81.1T918.9 187.5 959 334Q959 406.3 925.8 468.8T835 571.3 709 623V750Q709 802.7 664.1 841.8V916Q664.1 933.6 653.3 946.3T625 959H584Q564.5 959 551.8 946.3T539.1 916V875H210.9V916Q210.9 933.6 198.2 946.3T166 959H125Q107.4 959 96.7 946.3T85.9 916V841.8Q41 802.7 41 750V334Q41 234.4 127 200.2T375 166L425.8 168Q466.8 109.4 530.3 75.2T666 41ZM666 125Q609.4 125 561.5 153.3T486.3 229.5 459 334 486.3 438.5 561.5 513.7 666 541 770.5 513.7 846.7 438.5 875 334 846.7 229.5 770.5 153.3 666 125ZM625 416H709V500H625V416ZM625 166H709V375H625V166ZM125 541H462.9Q421.9 500 398.4 446.3T375 334H125V541ZM187.5 666Q162.1 666 143.6 684.6T125 729.5 143.6 773.4 188.5 791 232.4 773.4 250 729.5 231.4 684.6 187.5 666ZM562.5 666Q535.2 666 517.6 684.6T500 729.5 518.6 773.4 562.5 791 606.4 773.4 625 729.5 606.4 684.6 562.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-alert\"\n      ]\n    },\n    {\n      \"uid\": \"69a02c6d2af966eafd9ed12a1707b580\",\n      \"css\": \"calculator-variant\",\n      \"code\": 985754,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84H166Q132.8 84 108.4 108.4T84 166V375Q84 410.2 108.4 434.6T166 459H375Q410.2 459 434.6 434.6T459 375V166Q459 132.8 434.6 108.4T375 84ZM375 291H166V250H375V291ZM834 541H625Q589.8 541 565.4 565.4T541 625V834Q541 867.2 565.4 891.6T625 916H834Q867.2 916 891.6 891.6T916 834V625Q916 589.8 891.6 565.4T834 541ZM834 791H625V750H834V791ZM834 709H625V666H834V709ZM834 84H625Q589.8 84 565.4 108.4T541 166V375Q541 410.2 565.4 434.6T625 459H834Q867.2 459 891.6 434.6T916 375V166Q916 132.8 891.6 108.4T834 84ZM834 291H750V375H709V291H625V250H709V166H750V250H834V291ZM375 541H166Q132.8 541 108.4 565.4T84 625V834Q84 867.2 108.4 891.6T166 916H375Q410.2 916 434.6 891.6T459 834V625Q459 589.8 434.6 565.4T375 541ZM359.4 787.1L330.1 818.4 271.5 757.8 212.9 818.4 181.6 787.1 242.2 728.5 181.6 669.9 212.9 640.6 271.5 699.2 330.1 640.6 359.4 669.9 300.8 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calculator-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ed84cf2d70746eff423772312343d2ac\",\n      \"css\": \"caps-lock\",\n      \"code\": 985755,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M414.1 570.3L500 345.7 584 572.3ZM464.8 250L267.6 750H347.7L388.7 642.6H611.3L652.3 750H732.4L535.2 250H464.8ZM834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM834 834H166V166H834V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"caps-lock\"\n      ]\n    },\n    {\n      \"uid\": \"0a7a99b18157e1d5dd84fb000824e96b\",\n      \"css\": \"cash-refund\",\n      \"code\": 985756,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H875V959H125V459ZM500 625Q535.2 625 559.6 649.4T584 708 559.6 766.6 500 791 440.4 766.6 416 708 440.4 649.4 500 625ZM291 541Q291 576.2 266.6 600.6T209 625V791Q242.2 791 266.6 815.4T291 875H709Q709 839.8 733.4 815.4T791 791V625Q757.8 625 733.4 600.6T709 541H291ZM709 209V416H646.5V271.5H412.1L511.7 373 468.8 416 291 240.2 468.8 62.5 511.7 107.4 412.1 209H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-refund\"\n      ]\n    },\n    {\n      \"uid\": \"3b1d3ab259acb050b3de16ca7d2e39de\",\n      \"css\": \"checkbook\",\n      \"code\": 985757,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 584H791V625H209V584ZM875 709V334H125V709H875ZM41 209H959V791H41V209ZM209 416H500V500H209V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbook\"\n      ]\n    },\n    {\n      \"uid\": \"799e596f266deeb8ba204dc2fcb30445\",\n      \"css\": \"circle-slice-1\",\n      \"code\": 985758,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q558.6 209 612.3 231.4T707 293L500 500V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-1\"\n      ]\n    },\n    {\n      \"uid\": \"fd3f780399977fed63c6256adfab894a\",\n      \"css\": \"circle-slice-2\",\n      \"code\": 985759,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q580.1 209 646.5 248T752 353.5 791 500H500V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-2\"\n      ]\n    },\n    {\n      \"uid\": \"e7a20facd64f803cfcbe22c2686618d5\",\n      \"css\": \"circle-slice-3\",\n      \"code\": 985760,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q580.1 209 646.5 248T752 353.5 791 500Q791 558.6 768.6 612.3T707 707L500 500V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-3\"\n      ]\n    },\n    {\n      \"uid\": \"ed3a1d09ac460f8dec3c3120a1ce8066\",\n      \"css\": \"circle-slice-4\",\n      \"code\": 985761,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q580.1 209 646.5 248T752 353.5 791 500 752 646.5 646.5 752 500 791V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-4\"\n      ]\n    },\n    {\n      \"uid\": \"5ed119d9f16cdd0fb93862deea9f84f4\",\n      \"css\": \"circle-slice-5\",\n      \"code\": 985762,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q580.1 209 646.5 248T752 353.5 791 500 752 646.5 646.5 752 500 791Q441.4 791 387.7 768.6T293 707L500 500V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-5\"\n      ]\n    },\n    {\n      \"uid\": \"4668b0f0ec5e427de5b74a59171a8cb4\",\n      \"css\": \"circle-slice-6\",\n      \"code\": 985763,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q580.1 209 646.5 248T752 353.5 791 500 752 646.5 646.5 752 500 791 353.5 752 248 646.5 209 500H500V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-6\"\n      ]\n    },\n    {\n      \"uid\": \"3918486312344e24aae0c85042791fe6\",\n      \"css\": \"circle-slice-7\",\n      \"code\": 985764,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 209Q580.1 209 646.5 248T752 353.5 791 500 752 646.5 646.5 752 500 791 353.5 752 248 646.5 209 500Q209 441.4 231.4 387.7T293 293L500 500V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-7\"\n      ]\n    },\n    {\n      \"uid\": \"9a587d56a2c846a9bfffa672466e5fe9\",\n      \"css\": \"circle-slice-8\",\n      \"code\": 985765,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q580.1 209 646.5 248T752 353.5 791 500 752 646.5 646.5 752 500 791 353.5 752 248 646.5 209 500 248 353.5 353.5 248 500 209ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-slice-8\"\n      ]\n    },\n    {\n      \"uid\": \"72f2f64d1b7013fa3b63d88d224f4514\",\n      \"css\": \"collapse-all\",\n      \"code\": 985766,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 166H166V584H84V166Q84 132.8 108.4 108.4T166 84H584V166ZM750 250H334Q298.8 250 274.4 274.4T250 334V750H334V334H750V250ZM916 500V834Q916 867.2 891.6 891.6T834 916H500Q464.8 916 440.4 891.6T416 834V500Q416 464.8 440.4 440.4T500 416H834Q867.2 416 891.6 440.4T916 500ZM834 625H500V709H834V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"collapse-all\"\n      ]\n    },\n    {\n      \"uid\": \"424df7288ea43ca6d189fdfd4d8f41f2\",\n      \"css\": \"collapse-all-outline\",\n      \"code\": 985767,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V584H166V166H584V84H166ZM334 250Q298.8 250 274.4 274.4T250 334V750H334V334H750V250H334ZM834 500V834H500V500H834ZM834 416H500Q464.8 416 440.4 440.4T416 500V834Q416 867.2 440.4 891.6T500 916H834Q867.2 916 891.6 891.6T916 834V500Q916 464.8 891.6 440.4T834 416ZM791 709H541V625H791V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"collapse-all-outline\"\n      ]\n    },\n    {\n      \"uid\": \"be6dc1eee98106e953e60af1dc619938\",\n      \"css\": \"credit-card-refund-outline\",\n      \"code\": 985768,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H250Q214.8 459 190.4 483.4T166 541V875Q166 910.2 190.4 934.6T250 959H750Q785.2 959 809.6 934.6T834 875V541Q834 507.8 809.6 483.4T750 459ZM750 875H250V709H750V875ZM750 625H250V541H750V625ZM709 209V416H646.5V271.5H412.1L511.7 373 468.8 416 291 240.2 468.8 62.5 511.7 107.4 412.1 209H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-refund-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bb2f7d327310cd2dc674a0ab5242b4d0\",\n      \"css\": \"database-check\",\n      \"code\": 985769,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 923.8L625 798.8 673.8 750 740.2 816.4 888.7 666 937.5 724.6ZM500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541 667 518.6 789.1 458 834 375V500Q834 527.3 818.4 550.8 783.2 541 750 541 681.6 541 624 575.2T533.2 666H500Q410.2 666 333 643.6T210.9 583 166 500V375ZM166 584Q166 628.9 210.9 667T334 727.5 503.9 750L500 791Q500 834 513.7 875H500Q410.2 875 333 852.5T210.9 792 166 709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-check\"\n      ]\n    },\n    {\n      \"uid\": \"8cc301d4fe9da2c9e48bfa6964fe6806\",\n      \"css\": \"database-lock\",\n      \"code\": 985770,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 125Q548.8 125 625 147.5T746.1 208 791 292 746.1 376 625 436.5 458 459 291 436.5 169.9 376 125 292 169.9 208 291 147.5 459 125ZM791 502Q732.4 507.8 688.5 546.9T630.9 642.6Q550.8 666 459 666T291 643.6 169.9 583 125 500V375Q125 419.9 169.9 458T291 518.6 458 541 625 518.6 746.1 458 791 375V502ZM584 738.3V863.3Q523.4 875 459 875 367.2 875 291 852.5T169.9 792 125 709V584Q125 628.9 169.9 667T291 727.5 459 750Q523.4 750 584 738.3ZM812.5 584Q855.5 584 885.7 614.3T916 687.5V709Q933.6 709 946.3 720.7T959 750V916Q959 933.6 946.3 946.3T916 959H709Q691.4 959 678.7 946.3T666 916V750Q666 732.4 678.7 720.7T709 709V687.5Q709 644.5 739.3 614.3T812.5 584ZM812.5 625Q787.1 625 768.6 643.6T750 687.5V709H875V687.5Q875 662.1 856.4 643.6T812.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-lock\"\n      ]\n    },\n    {\n      \"uid\": \"e8d9ba15f34fe797085487f724f93772\",\n      \"css\": \"desktop-tower-monitor\",\n      \"code\": 985771,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 750H709Q691.4 750 678.7 738.3T666 709V291Q666 273.4 678.7 261.7T709 250H916Q933.6 250 946.3 261.7T959 291V709Q959 726.6 946.3 738.3T916 750ZM916 334H709V375H916V334ZM916 416H709V459H916V416ZM375 625V709H416V750H209V709H250V625H84Q66.4 625 53.7 613.3T41 584V291Q41 273.4 53.7 261.7T84 250H541Q558.6 250 571.3 261.7T584 291V584Q584 601.6 571.3 613.3T541 625H375ZM500 334H125V541H500V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desktop-tower-monitor\"\n      ]\n    },\n    {\n      \"uid\": \"3444e41b1fcd1b01266d69e302ee3fe8\",\n      \"css\": \"dishwasher\",\n      \"code\": 985772,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM416 166Q433.6 166 446.3 178.7T459 209 446.3 238.3 416 250 386.7 238.3 375 209 386.7 178.7 416 166ZM291 166Q308.6 166 321.3 178.7T334 209 321.3 238.3 291 250 261.7 238.3 250 209 261.7 178.7 291 166ZM750 834H250V334H750V834ZM611.3 638.7Q613.3 683.6 580.1 716.8T500 750 419.9 716.8 389.6 638.7 416 554.7Q439.5 503.9 472.7 459L500 416Q611.3 578.1 611.3 638.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dishwasher\"\n      ]\n    },\n    {\n      \"uid\": \"98560e57e720644d6780573a33085019\",\n      \"css\": \"dog-service\",\n      \"code\": 985773,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 334L709 459V875H625V625H334L250 750V875H166V625L209 584V459L84 334 125 291 209 375H291V500Q291 517.6 303.7 529.3T334 541H500Q517.6 541 529.3 529.3T541 500V375ZM791 209V125L625 291 750 416 791 375 834 416 916 334ZM478.5 396.5L187.5 103.5Q179.7 95.7 167 95.7T146.5 103.5V103.5Q136.7 113.3 136.7 125T146.5 146.5L437.5 437.5Q445.3 445.3 458 445.3T478.5 437.5V437.5Q488.3 429.7 488.3 417T478.5 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dog-service\"\n      ]\n    },\n    {\n      \"uid\": \"4c3ba8a6d6a8ee6ac547ebd4e5898cdf\",\n      \"css\": \"dot-net\",\n      \"code\": 985774,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 625Q101.6 625 113.3 636.7T125 666 113.3 696.3 84 709 53.7 696.3 41 666 53.7 636.7 84 625ZM875 709H791V375H709V291H959V375H875V709ZM666 291V375H584V459H666V541H584V625H666V709H500V291H666ZM459 291V709H375L250 459V709H166V291H250L375 541V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dot-net\"\n      ]\n    },\n    {\n      \"uid\": \"e0946e5f19864dd7a37ae6fe675bd07b\",\n      \"css\": \"egg\",\n      \"code\": 985775,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 603.5Q812.5 689.5 770.5 760.7T656.3 874 500 916 343.8 874 229.5 760.7 187.5 603.5Q187.5 513.7 230.5 392.6 275.4 263.7 341.8 179.7 419.9 84 500 84T658.2 179.7Q724.6 263.7 769.5 392.6 812.5 513.7 812.5 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"egg\"\n      ]\n    },\n    {\n      \"uid\": \"e88c1a56ba2ede41f80736d8dc28df16\",\n      \"css\": \"egg-easter\",\n      \"code\": 985776,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M287.1 265.6Q332 181.6 382.8 136.7 441.4 84 500 84T617.2 136.7Q668 181.6 712.9 265.6 656.3 279.3 625 324.2 587.9 271.5 524.4 261.7T408.2 291Q388.7 304.7 375 324.2 343.8 279.3 287.1 265.6ZM625 752L500 627 375 752 250 627 197.3 679.7Q218.8 763.7 276.4 822.3T414.1 904.3 577.1 906.3 720.7 824.2 802.7 679.7L750 627ZM375 664.1L500 539.1 625 664.1 750 539.1 812.5 601.6Q804.7 455.1 742.2 324.2 705.1 326.2 680.7 353.5T656.3 416H593.8Q593.8 377 566.4 349.6T500 322.3 433.6 349.6 406.3 416H343.8Q343.8 380.9 319.3 353.5T257.8 324.2Q195.3 455.1 187.5 601.6L250 539.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"egg-easter\"\n      ]\n    },\n    {\n      \"uid\": \"ea44472fcc56e3fbdf37794023a34e68\",\n      \"css\": \"email-check\",\n      \"code\": 985777,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 556.6Q834 541 791 541 724.6 541 667 575.2T575.2 667 541 791Q541 810.5 544.9 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H791Q826.2 166 850.6 190.4T875 250V556.6ZM978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM125 250V334L459 541 791 334V250L459 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-check\"\n      ]\n    },\n    {\n      \"uid\": \"88569d0048da8deab3394dd9c4e8f488\",\n      \"css\": \"email-check-outline\",\n      \"code\": 985778,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM541 750H125V334L459 541 791 334V541H875V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H541V750ZM791 250L459 459 125 250H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1a7648204b94e6cebafb31b545f62e5c\",\n      \"css\": \"et\",\n      \"code\": 985779,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 365.2L904.3 300.8Q890.6 310.5 871.1 320.3 843.8 334 823.2 334T728.5 314.5L724.6 312.5Q640.6 291 608.4 291T539.1 306.6Q529.3 246.1 483.4 206.1T375 166Q285.2 166 216.8 212.9 152.3 255.9 118.2 331.1T84 498 128.9 658.2Q171.9 722.7 248 756.8T416 791Q548.8 791 638.7 724.6L625 886.7 709 894.5 750 406.3Q796.9 416 824.2 416 867.2 416 914.1 392.6 941.4 378.9 959 365.2ZM375 250Q410.2 250 434.6 274.4T459 333 434.6 391.6 375 416H175.8Q195.3 339.8 244.1 296.9 296.9 250 375 250ZM416 709Q308.6 709 240.2 656.3 166 599.6 166 500H375Q423.8 500 461.9 476.6T521.5 412.1V412.1Q535.2 402.3 556.6 390.6 587.9 375 607.4 375T668 384.8L652.3 578.1Q627 640.6 563.5 674.8T416 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"et\"\n      ]\n    },\n    {\n      \"uid\": \"4e2f43e44dce982e4effd9763af87e7f\",\n      \"css\": \"expand-all\",\n      \"code\": 985780,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334H334V750H250V334Q250 298.8 274.4 274.4T334 250H750V334ZM584 84H166Q132.8 84 108.4 108.4T84 166V584H166V166H584V84ZM916 500V834Q916 867.2 891.6 891.6T834 916H500Q464.8 916 440.4 891.6T416 834V500Q416 464.8 440.4 440.4T500 416H834Q867.2 416 891.6 440.4T916 500ZM834 625H709V500H625V625H500V709H625V834H709V709H834V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"expand-all\"\n      ]\n    },\n    {\n      \"uid\": \"7558f33a3cfc5f6f8d90467d6660560f\",\n      \"css\": \"expand-all-outline\",\n      \"code\": 985781,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V584H166V166H584V84H166ZM334 250Q298.8 250 274.4 274.4T250 334V750H334V334H750V250H334ZM834 500V834H500V500H834ZM834 416H500Q464.8 416 440.4 440.4T416 500V834Q416 867.2 440.4 891.6T500 916H834Q867.2 916 891.6 891.6T916 834V500Q916 464.8 891.6 440.4T834 416ZM791 709H709V791H625V709H541V625H625V541H709V625H791V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"expand-all-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6c7dc95fad4bad8e7939498e3a046a80\",\n      \"css\": \"file-cabinet\",\n      \"code\": 985782,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 334H416V250H584V334ZM834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H750Q785.2 84 809.6 108.4T834 166ZM750 541H250V834H750V541ZM750 166H250V459H750V166ZM584 625H416V709H584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cabinet\"\n      ]\n    },\n    {\n      \"uid\": \"17bb6e2d91caa61aef250133af1b60b9\",\n      \"css\": \"text-box-multiple\",\n      \"code\": 985783,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 625H375V541H666V625ZM791 459H375V375H791V459ZM791 291H375V209H791V291ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"06ec348dfec5c62e0715820883eb142e\",\n      \"css\": \"text-box-multiple-outline\",\n      \"code\": 985784,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 625H375V541H666V625ZM791 459H375V375H791V459ZM791 291H375V209H791V291ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM291 125V709H875V125H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b3b99eeb855ca5402053f4eeddb08cdc\",\n      \"css\": \"file-move\",\n      \"code\": 985785,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H750V584L959 771.5 750 959V834H584V709ZM541 375H771.5L541 146.5V375ZM250 84H584L834 334V513.7Q793 500 750 500 681.6 500 624 533.2T533.2 624 500 750Q500 845.7 564.5 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-move\"\n      ]\n    },\n    {\n      \"uid\": \"0642e545a9d21fc234e6529079829af9\",\n      \"css\": \"folder-clock\",\n      \"code\": 985786,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H427.7Q468.8 892.6 532.2 925.8T666 959Q746.1 959 812.5 918.9T918.9 812.5 959 666Q959 609.4 937.5 556.6T875 462.9V334Q875 298.8 850.6 274.4T791 250H459L375 166H125ZM666 459Q722.7 459 770.5 486.3T846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875 561.5 846.7 486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459ZM625 500V709L775.4 798.8 806.6 748 687.5 677.7V500H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-clock\"\n      ]\n    },\n    {\n      \"uid\": \"aaf4835a4b479142d6035741f8844131\",\n      \"css\": \"folder-clock-outline\",\n      \"code\": 985787,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500H687.5V677.7L806.6 748 775.4 798.8 625 709V500ZM791 334H125V750H386.7Q375 709 375 666 375 587.9 414.1 520.5T520.5 414.1 666 375Q732.4 375 791 402.3V334ZM125 834Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H375L459 250H791Q826.2 250 850.6 274.4T875 334V462.9Q914.1 502 936.5 554.7T959 666Q959 746.1 918.9 812.5T812.5 918.9 666 959Q593.8 959 530.3 924.8T427.7 834H125ZM666 459Q609.4 459 561.5 486.3T486.3 561.5 459 666 486.3 770.5 561.5 846.7 666 875 770.5 846.7 846.7 770.5 875 666 846.7 561.5 770.5 486.3 666 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"770ba09dc9bc7e05132824394bb99b57\",\n      \"css\": \"format-annotation-minus\",\n      \"code\": 985788,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 291H353.5L125 875H216.8L261.7 750H521.5L566.4 875H666ZM294.9 666L396.5 404.3 496.1 666H294.9ZM916 291H584V209H916V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-annotation-minus\"\n      ]\n    },\n    {\n      \"uid\": \"d14c1601e8fc5edcfd32a26bf139d317\",\n      \"css\": \"gesture-pinch\",\n      \"code\": 985789,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375Q541 357.4 553.7 345.7T584 334 613.3 345.7 625 375V560.5L675.8 566.4 880.9 658.2Q898.4 666 907.2 680.7T916 714.8V896.5Q916 921.9 897.5 939.5T853.5 959H584Q558.6 959 541 939.5L337.9 765.6 369.1 732.4Q380.9 720.7 398.4 720.7H408.2L541 791V375ZM584 209Q627 209 666 231.4T726.6 291Q761.7 351.6 744.1 418T666 519.5V468.8Q709 431.6 709 375 709 322.3 671.9 286.1T583 250 495.1 286.1 459 375Q459 431.6 500 468.8V519.5Q460.9 496.1 438.5 458T416 375Q416 306.6 464.8 257.8T584 209ZM166 375L291 500H209V625H125V500H41ZM166 291L41 166H125V41H209V166H291ZM375 584Q419.9 584 459 605.5V656.3Q421.9 625 372.1 625T286.1 661.1 250 750Q250 781.3 263.7 807.6T300.8 851.6L388.7 916H375Q306.6 916 257.8 867.2T209 750 257.8 632.8 375 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-pinch\"\n      ]\n    },\n    {\n      \"uid\": \"9832ce12502c35ed397107bd3876461f\",\n      \"css\": \"gesture-spread\",\n      \"code\": 985790,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41L291 166H209V291H125V166H41ZM166 625L41 500H125V375H209V500H291ZM541 375Q541 357.4 553.7 345.7T584 334 613.3 345.7 625 375V560.5L675.8 566.4 880.9 658.2Q898.4 666 907.2 680.7T916 714.8V896.5Q916 921.9 897.5 939.5T853.5 959H584Q558.6 959 541 939.5L337.9 765.6 369.1 732.4Q380.9 720.7 398.4 720.7H408.2L541 791V375ZM584 209Q627 209 666 231.4T726.6 291Q761.7 351.6 744.1 418T666 519.5V468.8Q709 431.6 709 375 709 322.3 671.9 286.1T583 250 495.1 286.1 459 375Q459 431.6 500 468.8V519.5Q460.9 496.1 438.5 458T416 375Q416 306.6 464.8 257.8T584 209ZM375 584Q419.9 584 459 605.5V656.3Q421.9 625 372.1 625T286.1 661.1 250 750Q250 781.3 263.7 807.6T300.8 851.6L388.7 916H375Q306.6 916 257.8 867.2T209 750 257.8 632.8 375 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-spread\"\n      ]\n    },\n    {\n      \"uid\": \"d091ffe36682beac1056c20691c111a9\",\n      \"css\": \"gesture-swipe-horizontal\",\n      \"code\": 985791,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 41L125 166 250 291V209H375V291L500 166 375 41V125H250V41ZM459 334Q441.4 334 428.7 345.7T416 375V791L283.2 720.7H273.4Q255.9 720.7 244.1 732.4L212.9 765.6 416 939.5Q433.6 959 459 959H728.5Q755.9 959 773.4 940.4T791 896.5V714.8Q791 695.3 782.2 680.7T755.9 658.2L550.8 566.4 500 560.5V375Q500 357.4 488.3 345.7T459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"24af6f81d0137409cc825721fd41cbe5\",\n      \"css\": \"gesture-swipe-vertical\",\n      \"code\": 985792,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125L41 250H125V375H41L166 500 291 375H209V250H291ZM459 334Q441.4 334 428.7 345.7T416 375V791L283.2 720.7H273.4Q255.9 720.7 244.1 732.4L212.9 765.6 416 939.5Q433.6 959 459 959H728.5Q755.9 959 773.4 940.4T791 896.5V714.8Q791 695.3 782.2 680.7T755.9 658.2L550.8 566.4 500 560.5V375Q500 357.4 488.3 345.7T459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"c6eb7f3a7f9ea6962386b6392db0835a\",\n      \"css\": \"hail\",\n      \"code\": 985793,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 666H291V916H166V666ZM791 99.6Q787.1 191.4 744.1 257.8T625 349.6V916H541V666H459V916H375V419.9Q355.5 425.8 349.6 433.6 291 480.5 291 562.5V584H209V562.5Q209 439.5 296.9 363.3 382.8 291 500 291 585.9 291 644.5 248 709 195.3 709 103.5V84H791V99.6ZM500 84Q535.2 84 559.6 108.4T584 167 559.6 225.6 500 250 440.4 225.6 416 167 440.4 108.4 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hail\"\n      ]\n    },\n    {\n      \"uid\": \"5bd26ffe8290e111641f88c07654ccc4\",\n      \"css\": \"helicopter\",\n      \"code\": 985794,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H709V209H125V125ZM959 250V437.5L615.2 507.8Q625 535.2 625 562.5 625 605.5 602.5 640.6T541 693.4V791H666V875H166Q115.2 875 78.1 838.9T41 750V709H125V750Q125 767.6 136.7 779.3T166 791H209V697.3Q152.3 677.7 118.2 629.9T84 521.5Q84 443.4 138.7 388.7T271.5 334H375V250H459V334H875V250H959ZM459 791V709H291V791H459ZM312.5 416Q269.5 416 239.3 440.4T209 500 239.3 559.6 312.5 584 385.7 559.6 416 500 385.7 440.4 312.5 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"helicopter\"\n      ]\n    },\n    {\n      \"uid\": \"9646b0feb288ca334815111456aaefdf\",\n      \"css\": \"hexagon-slice-1\",\n      \"code\": 985795,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9ZM500 500V220.7L748 361.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-slice-1\"\n      ]\n    },\n    {\n      \"uid\": \"b0ece06390310e7f2983fb1ba918e117\",\n      \"css\": \"hexagon-slice-2\",\n      \"code\": 985796,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 640.6L500 500V220.7L750 361.3V640.6ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-slice-2\"\n      ]\n    },\n    {\n      \"uid\": \"447e52b995c51cfb64ed5afef4777181\",\n      \"css\": \"hexagon-slice-3\",\n      \"code\": 985797,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 220.7L750 361.3V638.7L500 779.3V220.7ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-slice-3\"\n      ]\n    },\n    {\n      \"uid\": \"e0b69c9d0a0c867b0719ea0567c98bc7\",\n      \"css\": \"hexagon-slice-4\",\n      \"code\": 985798,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 220.7L750 361.3V638.7L500 779.3 252 638.7 500 500V220.7ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-slice-4\"\n      ]\n    },\n    {\n      \"uid\": \"8209129760e049da14e80a62158b834f\",\n      \"css\": \"hexagon-slice-5\",\n      \"code\": 985799,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 220.7L750 361.3V638.7L500 779.3 250 638.7V361.3L500 500V220.7ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-slice-5\"\n      ]\n    },\n    {\n      \"uid\": \"3db7cdcd89b7474b1210563b44b42cf0\",\n      \"css\": \"hexagon-slice-6\",\n      \"code\": 985800,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 220.7L750 361.3V638.7L500 779.3 250 638.7V361.3ZM875 687.5Q875 712.9 853.5 724.6L523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5ZM500 173.8L209 337.9V662.1L500 826.2 791 662.1V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-slice-6\"\n      ]\n    },\n    {\n      \"uid\": \"74e983c1fcedc6f7350129f657b5d54b\",\n      \"css\": \"hexagram\",\n      \"code\": 985801,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 318.4L859.4 291 709 500 861.3 707 603.5 679.7 502 916 396.5 681.6 140.6 709 291 500 138.7 293 396.5 320.3 498 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagram\"\n      ]\n    },\n    {\n      \"uid\": \"a1c9585069b16d7177e59f6259bd8d80\",\n      \"css\": \"hexagram-outline\",\n      \"code\": 985802,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L554.7 408.2 687.5 392.6 603.5 500 683.6 603.5 550.8 587.9 500 709 445.3 591.8 312.5 607.4 396.5 500 316.4 396.5 449.2 412.1ZM500 84L396.5 320.3 136.7 291 291 500 142.6 709 400.4 679.7 500 916 603.5 679.7 863.3 705.1 709 500 857.4 291 599.6 320.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagram-outline\"\n      ]\n    },\n    {\n      \"uid\": \"80b4aef5c2589bf576b683e570071e42\",\n      \"css\": \"label-off\",\n      \"code\": 985803,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 177.7L136.7 125 834 822.3 781.3 875 693.4 787.1Q679.7 791 666 791H209Q173.8 791 149.4 766.6T125 709V291Q125 261.7 144.5 238.3ZM734.4 244.1L916 500 791 675.8 326.2 209H666Q687.5 209 705.1 217.8T734.4 244.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-off\"\n      ]\n    },\n    {\n      \"uid\": \"d5b09fb3d3aaeedae0d678c6bfb22e45\",\n      \"css\": \"label-off-outline\",\n      \"code\": 985804,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 177.7L136.7 125 834 822.3 781.3 875 693.4 787.1Q679.7 791 666 791H209Q173.8 791 149.4 766.6T125 709V291Q125 261.7 144.5 238.3ZM209 709H613.3L209 302.7V709ZM814.5 500L666 291H408.2L326.2 209H666Q687.5 209 705.1 217.8T734.4 244.1L916 500 791 675.8 732.4 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"737255a9e88d5211e47884b26ad2f84a\",\n      \"css\": \"label-variant\",\n      \"code\": 985805,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 791L347.7 500 146.5 209H603.5Q646.5 209 671.9 244.1L853.5 500 671.9 755.9Q646.5 791 603.5 791H146.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-variant\"\n      ]\n    },\n    {\n      \"uid\": \"d60ea4c3696c72608260b6150f38f747\",\n      \"css\": \"label-variant-outline\",\n      \"code\": 985806,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 709H625L771.5 500 625 291H271.5L416 500ZM625 791H125L312.5 500 125 209H625Q668 209 693.4 244.1L875 500 693.4 755.9Q668 791 625 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9904b89373a6b390312fec5eb0a14c52\",\n      \"css\": \"language-ruby-on-rails\",\n      \"code\": 985807,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 695.3Q830.1 695.3 835.9 693.4 851.6 689.5 863.3 679.7 878.9 668 888.7 650.4 900.4 627 900.4 595.7T886.7 541Q875 521.5 855.5 509.8 841.8 500 826.2 494.1L812.5 492.2H654.3V791H732.4V720.7L804.7 791H916ZM791 636.7H728.5V570.3H791L800.8 578.1Q808.6 587.9 808.6 603.5 810.5 615.2 806.6 623T796.9 634.8ZM886.7 341.8V349.6Q728.5 304.7 617.2 367.2 517.6 421.9 470.7 544.9 427.7 656.3 441.4 779.3H179.7Q191.4 687.5 246.1 584 308.6 466.8 396.5 388.7 498 296.9 613.3 279.3 748 259.8 886.7 341.8ZM853.5 287.1Q794.9 261.7 767.6 253.9L771.5 199.2 857.4 232.4ZM771.5 363.3Q814.5 363.3 857.4 375L853.5 425.8 779.3 416ZM580.1 242.2L562.5 191.4 650.4 183.6 666 238.3ZM632.8 396.5Q671.9 377 716.8 367.2L732.4 416 658.2 445.3ZM492.2 271.5Q441.4 294.9 416 312.5L382.8 257.8 459 216.8ZM595.7 419.9L628.9 470.7 584 525.4 537.1 482.4Q554.7 447.3 595.7 419.9ZM482.4 625Q488.3 582 507.8 529.3L558.6 570.3 544.9 650.4ZM330.1 386.7Q304.7 412.1 271.5 455.1L216.8 408.2 279.3 341.8ZM199.2 570.3Q187.5 593.8 169.9 640.6L158.2 666 84 636.7 121.1 541ZM478.5 679.7L554.7 705.1 566.4 787.1 482.4 767.6V753.9Q478.5 714.8 478.5 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-ruby-on-rails\"\n      ]\n    },\n    {\n      \"uid\": \"8eadbee2c59c4c41cf8a507395febc20\",\n      \"css\": \"laravel\",\n      \"code\": 985808,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 271.5V275.4 455.1Q904.3 462.9 898.4 464.8L748 552.7V722.7Q748 730.5 742.2 734.4L425.8 916H416L414.1 914.1 101.6 734.4Q95.7 730.5 95.7 722.7V183.6L97.7 179.7 257.8 85.9Q265.6 82 271.5 85.9L429.7 175.8 433.6 179.7 435.5 521.5 564.5 447.3 566.4 271.5 568.4 267.6 728.5 173.8Q734.4 169.9 742.2 173.8L900.4 265.6ZM878.9 447.3V298.8L748 373V521.5ZM722.7 716.8V566.4L435.5 730.5V880.9ZM121.1 209V716.8L408.2 880.9V730.5L257.8 646.5V644.5L253.9 642.6 252 283.2ZM265.6 111.3L134.8 187.5 265.6 261.7 396.5 187.5ZM408.2 537.1V209L277.3 283.2V611.3ZM734.4 199.2L603.5 275.4 734.4 349.6 865.2 275.4ZM722.7 373L591.8 298.8V447.3L722.7 521.5V373ZM421.9 709L709 544.9 578.1 468.8 291 634.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laravel\"\n      ]\n    },\n    {\n      \"uid\": \"f510aa24a2289d1916036bd9ee90c9fd\",\n      \"css\": \"mastodon\",\n      \"code\": 985809,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M873 584Q863.3 628.9 802.7 669.9T666 718.8H664.1Q556.6 732.4 499 729.5T380.9 716.8L334 707V732.4Q341.8 794.9 394.5 816.4 425.8 830.1 502 834 548.8 834 601.6 824.2 627 820.3 644.5 814.5V814.5L648.4 882.8 630.9 890.6Q607.4 898.4 580.1 906.3 543 914.1 500 916 408.2 921.9 306.6 896.5 195.3 865.2 150.4 748 115.2 660.2 111.3 500V357.4Q111.3 294.9 128.9 244.1 144.5 203.1 169.9 171.9 189.5 150.4 210.9 134.8L228.5 123Q316.4 84 498 84H502Q683.6 84 771.5 123L789.1 134.8Q810.5 150.4 830.1 171.9 855.5 203.1 871.1 244.1 888.7 294.9 888.7 357.4L886.7 435.5Q882.8 525.4 873 584ZM750 371.1Q750 306.6 714.8 265.6T621.1 224.6Q554.7 224.6 521.5 275.4L500 312.5 478.5 275.4Q443.4 224.6 377 224.6 320.3 224.6 285.2 265.6T250 371.1V589.8H337.9V377Q337.9 310.5 394.5 310.5 457 310.5 457 390.6V505.9H543V390.6Q543 310.5 605.5 310.5 662.1 310.5 662.1 377V589.8H750V371.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mastodon\"\n      ]\n    },\n    {\n      \"uid\": \"da4e54200191e32bba226355f2dfb6cf\",\n      \"css\": \"sort-numeric-descending-variant\",\n      \"code\": 985810,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M324.2 291Q404.3 294.9 440.4 353.5T474.6 498Q474.6 593.8 436.5 650.4T320.3 709Q242.2 705.1 206.1 647.5T169.9 499 207 351.6 324.2 291ZM322.3 359.4Q294.9 359.4 279.3 393.6T263.7 499 279.3 605.5 324.2 640.6Q380.9 640.6 381.8 501T322.3 359.4ZM554.7 709V634.8H574.2 595.7L638.7 627Q664.1 619.1 677.7 607.4 699.2 593.8 711.9 574.2T730.5 533.2L728.5 531.3Q701.2 558.6 646.5 558.6T556.6 528.3 520.5 437.5 561.5 335 671.9 291Q750 294.9 787.1 342.8T824.2 466.8Q822.3 527.3 804.7 574.2T755.9 652.3Q726.6 677.7 686.5 691.4T597.7 709H554.7ZM669.9 359.4Q644.5 359.4 627.9 378.9T611.3 431.6Q611.3 459 626 477.5T671.9 498Q691.4 498 705.1 489.3T724.6 470.7Q730.5 464.8 730.5 445.3 730.5 412.1 716.8 386.7T669.9 359.4ZM656.3 791L521.5 927.7 384.8 791H656.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-numeric-descending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"73feac949f4f1ebfed5c314828e43022\",\n      \"css\": \"minus-circle-multiple-outline\",\n      \"code\": 985811,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 459V541H791V459H459ZM84 500Q84 414.1 129.9 342.8T250 236.3V146.5Q138.7 185.5 69.3 282.2T0 500 69.3 717.8 250 853.5V763.7Q175.8 728.5 129.9 657.2T84 500ZM625 125Q523.4 125 437.5 175.8T300.8 312.5 250 500 300.8 687.5 437.5 824.2 625 875 812.5 824.2 949.2 687.5 1000 500 949.2 312.5 812.5 175.8 625 125ZM625 791Q546.9 791 479.5 752T373 645.5 334 500 373 354.5 479.5 248 625 209 770.5 248 877 354.5 916 500 877 645.5 770.5 752 625 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-circle-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26e96cb169ea2c2003f8207e289555ae\",\n      \"css\": \"music-circle-outline\",\n      \"code\": 985812,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375H541V603.5Q541 646.5 510.7 677.7T437.5 709 364.3 677.7 334 603.5 364.3 530.3 437.5 500Q472.7 500 500 521.5V291H666V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"862333a8b8580692c5f45daad2fd6aa4\",\n      \"css\": \"pinwheel\",\n      \"code\": 985813,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500Q500 439.5 531.3 386.7T615.2 302.7 729.5 271.5 843.8 302.7 927.7 386.7 959 500H500ZM500 500Q500 560.5 468.8 613.3T384.8 697.3 270.5 728.5 156.3 697.3 72.3 613.3 41 500H500ZM500 500Q439.5 500 386.7 468.8T302.7 384.8 271.5 270.5 302.7 156.3 386.7 72.3 500 41V500ZM500 500Q560.5 500 613.3 531.3T697.3 615.2 728.5 729.5 697.3 843.8 613.3 927.7 500 959V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pinwheel\"\n      ]\n    },\n    {\n      \"uid\": \"e11eca4ca961cdfc31647470a7dd4085\",\n      \"css\": \"pinwheel-outline\",\n      \"code\": 985814,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959H459V685.5Q423.8 714.8 380.9 732.4T291 750Q224.6 750 167 715.8T75.2 624 41 500V459H314.5Q285.2 423.8 267.6 380.9T250 291Q250 224.6 284.2 167T376 75.2 500 41H541V314.5Q576.2 285.2 619.1 267.6T709 250Q775.4 250 833 284.2T924.8 376 959 500V541H685.5Q714.8 576.2 732.4 619.1T750 709Q750 775.4 715.8 833T624 924.8 500 959ZM541 546.9V869.1Q595.7 855.5 630.9 810.5T666 709 630.9 607.4 541 546.9ZM130.9 541Q144.5 595.7 189.5 630.9T291 666 392.6 630.9 453.1 541H130.9ZM546.9 459H869.1Q855.5 404.3 809.6 369.1T708 334 607.4 369.1 546.9 459ZM459 130.9Q404.3 144.5 369.1 190.4T334 292 369.1 392.6 459 453.1V130.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pinwheel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a332be7a153e0bda0c9fe422ed5cd039\",\n      \"css\": \"radiator-disabled\",\n      \"code\": 985815,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500H166Q132.8 500 108.4 524.4T84 584V916H166V834H834V916H916V584Q916 548.8 891.6 524.4T834 500ZM291 709Q291 726.6 279.3 738.3T250 750 220.7 738.3 209 709V625Q209 607.4 220.7 595.7T250 584 279.3 595.7 291 625V709ZM459 709Q459 726.6 446.3 738.3T416 750 386.7 738.3 375 709V625Q375 607.4 386.7 595.7T416 584 446.3 595.7 459 625V709ZM625 709Q625 726.6 613.3 738.3T584 750 553.7 738.3 541 709V625Q541 607.4 553.7 595.7T584 584 613.3 595.7 625 625V709ZM791 709Q791 726.6 779.3 738.3T750 750 720.7 738.3 709 709V625Q709 607.4 720.7 595.7T750 584 779.3 595.7 791 625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radiator-disabled\"\n      ]\n    },\n    {\n      \"uid\": \"b9072ae4644f27c44c4cd7fb654a660a\",\n      \"css\": \"radiator-off\",\n      \"code\": 985816,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 84L84 136.7 199.2 252 234.4 308.6 175.8 400.4 248 437.5 300.8 353.5 447.3 500H166Q132.8 500 108.4 524.4T84 584V916H166V834H781.3L834 886.7V916H916V863.3ZM291 709Q291 726.6 279.3 738.3T250 750 220.7 738.3 209 709V625Q209 607.4 220.7 595.7T250 584 279.3 595.7 291 625V709ZM459 709Q459 726.6 446.3 738.3T416 750 386.7 738.3 375 709V625Q375 607.4 386.7 595.7T416 584 446.3 595.7 459 625V709ZM625 709Q625 726.6 613.3 738.3T584 750 553.7 738.3 541 709V625Q541 613.3 548.8 601.6L625 677.7V709ZM677.7 396.5L736.3 304.7 677.7 212.9 759.8 84 834 121.1 773.4 212.9 834 304.7 750 433.6ZM916 584V757.8L791 632.8V625Q791 607.4 779.3 595.7T750 584H744.1L658.2 500H834Q867.2 500 891.6 524.4T916 584ZM484.4 304.7L425.8 212.9 509.8 84 582 121.1 521.5 212.9 582 304.7 535.2 375 476.6 318.4ZM312.5 154.3L253.9 95.7 259.8 87.9 332 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radiator-off\"\n      ]\n    },\n    {\n      \"uid\": \"9313386c7a070b9c7569663a18a8bc44\",\n      \"css\": \"select-compare\",\n      \"code\": 985817,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 959H459V41H541V959ZM375 791H209V209H375V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H375V791ZM791 291V375H875V291H791ZM791 209H875Q875 173.8 850.6 149.4T791 125V209ZM875 625H791V709H875V625ZM791 459V541H875V459H791ZM709 125H625V209H709V125ZM791 875Q826.2 875 850.6 850.6T875 791H791V875ZM709 791H625V875H709V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-compare\"\n      ]\n    },\n    {\n      \"uid\": \"e4d4807fcdd5fc40a37f1592e990194a\",\n      \"css\": \"shield-plus\",\n      \"code\": 985818,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834V957H709V834H584V750H709V625H791V750H916V834H791ZM500 41L875 209V459Q875 513.7 863.3 568.4 810.5 541 750 541 681.6 541 624 575.2T533.2 667 500 791Q500 877 550.8 943.4L500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-plus\"\n      ]\n    },\n    {\n      \"uid\": \"eb5a69ea355caf5dfe655cf4b1184ad1\",\n      \"css\": \"shield-plus-outline\",\n      \"code\": 985819,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834V957H709V834H584V750H709V625H791V750H916V834H791ZM875 459Q875 513.7 863.3 568.4 826.2 550.8 783.2 543 791 503.9 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875L513.7 871.1Q523.4 908.2 550.8 943.4L500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"67e84f5c3363a3c265114a8a5bcfd8fc\",\n      \"css\": \"shield-remove\",\n      \"code\": 985820,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M810.5 791L896.5 878.9 837.9 937.5 752 849.6 662.1 939.5 603.5 878.9 691.4 791 603.5 703.1 662.1 644.5 750 732.4 837.9 644.5 898.4 705.1ZM500 41L875 209V459Q875 513.7 863.3 568.4 810.5 541 750 541 681.6 541 624 575.2T533.2 667 500 791Q500 877 550.8 943.4L500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-remove\"\n      ]\n    },\n    {\n      \"uid\": \"465523a052f71c1bc224d4011e22469d\",\n      \"css\": \"shield-remove-outline\",\n      \"code\": 985821,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M810.5 791L896.5 878.9 837.9 937.5 752 849.6 662.1 939.5 603.5 878.9 691.4 791 603.5 703.1 662.1 644.5 750 732.4 837.9 644.5 898.4 705.1ZM875 459Q875 513.7 863.3 568.4 826.2 550.8 783.2 543 791 503.9 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875L513.7 871.1Q523.4 908.2 550.8 943.4L500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d5ffb486891ec8fb56509d4c44276d69\",\n      \"css\": \"book-plus-multiple-outline\",\n      \"code\": 985822,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M544.9 834H209V250H125V834Q125 867.2 149.4 891.6T209 916H576.2Q552.7 878.9 544.9 834ZM791 84H375Q339.8 84 315.4 108.4T291 166V666Q291 701.2 315.4 725.6T375 750H544.9Q552.7 705.1 576.2 666H375V166H459V416L562.5 322.3 666 416V166H791V541Q834 541 875 556.6V166Q875 132.8 850.6 108.4T791 84ZM834 625V750H959V834H834V959H750V834H625V750H750V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-plus-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"05cde9f2e4a22ecc9786afccdef1b086\",\n      \"css\": \"sina-weibo\",\n      \"code\": 985823,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 578.1Q443.4 578.1 466.8 601.6T490.2 659.2 466.8 716.8 409.2 740.2 351.6 716.8 328.1 659.2 351.6 601.6 408.2 578.1ZM603.5 138.7H632.8Q709 138.7 774.4 176.8T877.9 280.3 916 421.9L914.1 457 865.2 441.4V421.9Q865.2 359.4 834 305.7T749 220.7 632.8 189.5H617.2ZM638.7 259.8Q703.1 261.7 749 308.6T794.9 419.9L744.1 404.3Q738.3 369.1 712.9 343.8T652.3 312.5ZM84 642.6Q82 605.5 99.6 560.5 128.9 486.3 207 416 255.9 371.1 296.9 341.8 332 318.4 361.3 304.7 380.9 296.9 396.5 294.9H427.7Q451.2 296.9 464.8 306.6 486.3 320.3 486.3 347.7 488.3 382.8 460.9 435.5H462.9Q511.7 384.8 611.3 375 669.9 369.1 685.5 410.2 699.2 439.5 687.5 488.3 748 517.6 781.3 559.6T814.5 648.4Q814.5 707 765.6 755.9T632.8 833 449.2 861.3H437.5Q330.1 861.3 242.2 826.2T113.3 732.4Q84 693.4 84 648.4V642.6ZM408.2 496.1Q343.8 496.1 287.1 518.6T198.2 578.1 166 659.2 198.2 740.2 287.1 799.8 409.2 822.3 531.3 799.8 620.1 740.2 652.3 659.2 620.1 578.1 531.3 518.6 408.2 496.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sina-weibo\"\n      ]\n    },\n    {\n      \"uid\": \"496aa393f0fb16ab4463e01cfe8b7d97\",\n      \"css\": \"spray-bottle\",\n      \"code\": 985824,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291H625Q666 332 666 375V916H334V625Q334 609.4 345.7 584ZM666 166L625 250H500V209L416 291H375L416 209V166H375V84H603.5Q630.9 84 648.4 101.6T666 146.5V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spray-bottle\"\n      ]\n    },\n    {\n      \"uid\": \"ddd1da9db348b51837256a40eb927306\",\n      \"css\": \"squeegee\",\n      \"code\": 985825,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 84V209H84V84H916ZM84 334H291L375 416H416V834Q416 867.2 440.4 891.6T500 916 559.6 891.6 584 834V416H625L709 334H916V250H84V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"squeegee\"\n      ]\n    },\n    {\n      \"uid\": \"5c79b34f7edc00b44b9f5729b7e9c91a\",\n      \"css\": \"star-four-points\",\n      \"code\": 985826,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L375 375 41 500 375 625 500 959 625 625 959 500 625 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-four-points\"\n      ]\n    },\n    {\n      \"uid\": \"b4e90ccf115aba797ce58cff11c350b2\",\n      \"css\": \"star-four-points-outline\",\n      \"code\": 985827,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 279.3L560.5 439.5 720.7 500 560.5 560.5 500 720.7 439.5 560.5 279.3 500 439.5 439.5ZM500 41L375 375 41 500 375 625 500 959 625 625 959 500 625 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-four-points-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2b465cb2aff8ac000587f2bb9b455042\",\n      \"css\": \"star-three-points\",\n      \"code\": 985828,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 107.4L375 517.6 84 830.1 500 732.4 916 834 625 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-three-points\"\n      ]\n    },\n    {\n      \"uid\": \"19772fa67329a229173713c0982200e2\",\n      \"css\": \"star-three-points-outline\",\n      \"code\": 985829,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 396.5L550.8 562.5 666 687.5 500 650.4 330.1 687.5 445.3 562.5ZM500 107.4L375 517.6 84 830.1 500 732.4 916 834 625 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-three-points-outline\"\n      ]\n    },\n    {\n      \"uid\": \"897f8f0702fb8423ae189642c2a78031\",\n      \"css\": \"symfony\",\n      \"code\": 985830,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM681.6 238.3V238.3Q714.8 236.3 736.3 250T757.8 285.2Q759.8 296.9 751 309.6T726.6 323.2 702.1 316.4 693.4 294.9Q691.4 291 699.2 275.4L703.1 263.7Q703.1 255.9 695.3 253.9T681.6 252Q640.6 253.9 617.2 304.7 603.5 335.9 589.8 408.2L584 443.4Q630.9 451.2 658.2 433.6 666 427.7 666 422.9T660.2 408.2 656.3 392.6Q658.2 380.9 666 375T684.6 369.1 702.1 378.9 709 400.4Q709 423.8 681.6 441.4 652.3 462.9 603.5 462.9 593.8 462.9 580.1 460.9 556.6 576.2 543 621.1 519.5 687.5 482.4 732.4 427.7 796.9 361.3 800.8 330.1 800.8 310.5 787.1T291 752 304.7 717.8 333 705.1 358.4 714.8 370.1 740.2 357.4 761.7L355.5 763.7Q347.7 769.5 347.7 773.4T350.6 780.3 361.3 783.2Q377 783.2 396.5 769.5H398.4Q425.8 746.1 443.4 697.3 457 658.2 473.6 568.4T503.9 431.6Q496.1 425.8 479.5 411.1T453.1 390.6Q437.5 378.9 419.9 375 384.8 365.2 367.2 386.7 357.4 400.4 359.4 415T371.1 439.5Q408.2 480.5 419.9 502T427.7 546.9Q421.9 587.9 380.9 609.4T289.1 615.2Q248 601.6 230.5 574.2 216.8 550.8 224.6 529.3 232.4 500 263.7 509.8 275.4 513.7 280.3 526.4T281.3 552.7L271.5 574.2Q265.6 589.8 296.9 599.6 316.4 605.5 334 597.7T355.5 572.3Q363.3 550.8 343.8 533.2 312.5 498 300.8 472.7 285.2 443.4 293.9 415T324.2 371.1Q369.1 337.9 421.9 353.5 443.4 359.4 460.9 373 472.7 380.9 490.2 398.4L509.8 414.1Q535.2 341.8 576.2 294.9 623 240.2 681.6 238.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"symfony\"\n      ]\n    },\n    {\n      \"uid\": \"9f52deb1347c8dad8439ec7bd0c02fa1\",\n      \"css\": \"variable\",\n      \"code\": 985831,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M849.6 125Q894.5 209 911.1 304.7T916 500Q910.2 599.6 877 695.3T785.2 875L720.7 834Q824.2 677.7 834 500 855.5 322.3 779.3 166ZM214.8 125L279.3 166Q175.8 322.3 166 500 144.5 677.7 220.7 834L150.4 875Q60.5 701.2 84 500 89.8 400.4 123 304.7T214.8 125ZM503.9 445.3L599.6 310.5H705.1L548.8 519.5 638.7 724.6H544.9L488.3 584 386.7 722.7H281.3L443.4 507.8 355.5 310.5H449.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"variable\"\n      ]\n    },\n    {\n      \"uid\": \"227d871d2507bd2e42b1a8ccd9ae8f3b\",\n      \"css\": \"vector-bezier\",\n      \"code\": 985832,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 166Q287.1 166 268.6 184.6T250 229.5 268.6 273.4 312.5 291Q332 291 348.6 280.3T371.1 250H541Q584 209 625 209H371.1Q365.2 189.5 348.6 177.7T312.5 166ZM791 209Q679.7 209 609.4 248 550.8 283.2 513.7 349.6 492.2 388.7 462.9 476.6 437.5 554.7 418 589.8 388.7 646.5 345.7 673.8 291 709 209 709V791Q320.3 791 390.6 752 449.2 716.8 486.3 650.4 507.8 611.3 537.1 523.4 562.5 445.3 582 410.2 611.3 353.5 654.3 326.2 709 291 791 291V209ZM687.5 709Q668 709 651.4 719.7T628.9 750H459Q416 791 375 791H628.9Q634.8 810.5 651.4 822.3T687.5 834Q712.9 834 731.4 815.4T750 770.5 731.4 726.6 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-bezier\"\n      ]\n    },\n    {\n      \"uid\": \"1455691c8ec7a020fa7d6d63094e7afb\",\n      \"css\": \"wiper\",\n      \"code\": 985833,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q418 166 343.8 187.5 283.2 207 226.6 240.2 183.6 267.6 146.5 300.8 119.1 326.2 99.6 353.5L84 375 375 666 390.6 644.5Q410.2 619.1 433.6 603.5L445.3 687.5Q433.6 697.3 424.8 714.8T416 750Q416 785.2 440.4 809.6T500 834 559.6 809.6 584 750Q584 722.7 569.3 701.2T529.3 669.9L511.7 584Q558.6 587.9 597.7 628.9 615.2 648.4 625 666V666L916 375 900.4 353.5Q880.9 326.2 853.5 300.8 816.4 267.6 773.4 240.2 716.8 207 656.3 187.5 582 166 500 166ZM628.9 544.9Q568.4 500 500 500L459 253.9Q470.7 250 500 250 603.5 250 691.4 291 755.9 322.3 804.7 371.1ZM371.1 544.9L195.3 371.1Q222.7 339.8 267.6 314.5 316.4 285.2 375 267.6L416 517.6Q382.8 533.2 371.1 544.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wiper\"\n      ]\n    },\n    {\n      \"uid\": \"cf72754c4a65491003b8abc4380f1ec1\",\n      \"css\": \"z-wave\",\n      \"code\": 985834,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M679.7 441.4Q615.2 441.4 560.5 472.7T473.6 558.6 441.4 677.7 473.6 796.9 560.5 883.8 679.7 916 798.8 883.8 884.8 796.9 916 677.7 884.8 558.6 798.8 472.7 679.7 441.4ZM750 794.9H548.8L658.2 625H554.7L599.6 550.8H798.8L693.4 720.7H798.8ZM679.7 164.1V84Q517.6 84 378.9 164.1 244.1 244.1 164.1 378.9 84 517.6 84 679.7H164.1Q164.1 539.1 233.4 420.9T420.9 233.4 679.7 164.1ZM679.7 322.3V242.2Q560.5 242.2 460 300.8T300.8 460 242.2 679.7H322.3Q322.3 582 370.1 500T500 370.1 679.7 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"z-wave\"\n      ]\n    },\n    {\n      \"uid\": \"8870eb498916d849a5cc6e734c326c41\",\n      \"css\": \"zend\",\n      \"code\": 985835,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M470.7 408.2Q470.7 400.4 472.7 390.6 474.6 369.1 484.4 349.6 498 324.2 519.5 310.5 546.9 291 587.9 291H937.5L935.5 310.5Q931.6 332 923.8 349.6 910.2 375 888.7 390.6 861.3 408.2 820.3 408.2H470.7ZM470.7 558.6Q470.7 548.8 472.7 541 474.6 517.6 484.4 500 498 474.6 519.5 459 546.9 441.4 587.9 441.4H763.7L761.7 459Q757.8 482.4 748 500 736.3 525.4 712.9 541 685.5 558.6 646.5 558.6H470.7ZM470.7 709Q470.7 699.2 472.7 689.5 474.6 668 484.4 650.4 498 625 519.5 609.4 546.9 591.8 587.9 591.8H646.5L644.5 609.4Q640.6 630.9 630.9 650.4 619.1 675.8 595.7 689.5 568.4 709 529.3 709H470.7ZM435.5 617.2V709H66.4L304.7 382.8H99.6V291H486.3L248 617.2H435.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zend\"\n      ]\n    },\n    {\n      \"uid\": \"1b8a634ecf714d24a69234454dfa362a\",\n      \"css\": \"account-minus-outline\",\n      \"code\": 985836,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166Q556.6 166 507.8 214.8T459 333 507.8 451.2 625 500 742.2 451.2 791 333 742.2 214.8 625 166ZM625 246.1Q662.1 246.1 687.5 271.5T712.9 333 687.5 394.5 625 419.9 562.5 394.5 537.1 333 562.5 271.5 625 246.1ZM41 416V500H375V416H41ZM625 541Q562.5 541 488.3 560.5 404.3 582 353.5 615.2 291 656.3 291 709V834H959V709Q959 656.3 896.5 615.2 845.7 582 761.7 560.5 687.5 541 625 541ZM625 621.1Q683.6 621.1 746.1 636.7 800.8 652.3 839.8 673.8T878.9 709V753.9H371.1V709Q371.1 695.3 410.2 673.8T503.9 636.7Q566.4 621.1 625 621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d884b4f538d8a63f3e2554c9e5272a8e\",\n      \"css\": \"account-remove-outline\",\n      \"code\": 985837,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M60.5 369.1L119.1 310.5 209 400.4 296.9 310.5 355.5 369.1 267.6 459 355.5 546.9 296.9 605.5 209 517.6 119.1 605.5 60.5 546.9 150.4 459ZM625 166Q693.4 166 742.2 214.8T791 333 742.2 451.2 625 500 507.8 451.2 459 333 507.8 214.8 625 166ZM625 246.1Q587.9 246.1 562.5 271.5T537.1 333 562.5 394.5 625 419.9 687.5 394.5 712.9 333 687.5 271.5 625 246.1ZM625 541Q687.5 541 761.7 560.5 845.7 582 896.5 615.2 959 656.3 959 709V834H291V709Q291 656.3 353.5 615.2 404.3 582 488.3 560.5 562.5 541 625 541ZM625 621.1Q566.4 621.1 503.9 636.7 449.2 652.3 410.2 673.8T371.1 709V753.9H878.9V709Q878.9 695.3 839.8 673.8T746.1 636.7Q683.6 621.1 625 621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0b753a7467126c0ad946521e406a721b\",\n      \"css\": \"alpha-a\",\n      \"code\": 985838,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V709H459V541H541V709H625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-a\"\n      ]\n    },\n    {\n      \"uid\": \"0ac31c2f167728da5584a2bd7212dacd\",\n      \"css\": \"alpha-b\",\n      \"code\": 985839,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 437.5V375Q625 339.8 600.6 315.4T541 291H375V709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5ZM541 625H459V541H541V625ZM541 459H459V375H541V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-b\"\n      ]\n    },\n    {\n      \"uid\": \"3670812b07e93c9c1dea839996bfc3c6\",\n      \"css\": \"alpha-c\",\n      \"code\": 985840,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V584H541V625H459V375H541V416H625V375Q625 339.8 600.6 315.4T541 291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-c\"\n      ]\n    },\n    {\n      \"uid\": \"ce45578c8b3d9f2e4dbddb83fa2d1bd0\",\n      \"css\": \"alpha-d\",\n      \"code\": 985841,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-d\"\n      ]\n    },\n    {\n      \"uid\": \"b1abec5a2100e8b2cafe417a865f2c93\",\n      \"css\": \"alpha-e\",\n      \"code\": 985842,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H625V625H459V541H625V459H459V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-e\"\n      ]\n    },\n    {\n      \"uid\": \"0332359cd961c0584bdac8757b990cd3\",\n      \"css\": \"alpha-f\",\n      \"code\": 985843,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H584V459H459V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-f\"\n      ]\n    },\n    {\n      \"uid\": \"b9a7288b17b1f74ffca9ca0183bda164\",\n      \"css\": \"alpha-g\",\n      \"code\": 985844,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V459H541V625H459V375H625V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-g\"\n      ]\n    },\n    {\n      \"uid\": \"fc5d0216791ac473e6677f4e188cfb05\",\n      \"css\": \"alpha-h\",\n      \"code\": 985845,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H541V709H625V291H541V459H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-h\"\n      ]\n    },\n    {\n      \"uid\": \"d1e242448c45b724fbc473876c31138e\",\n      \"css\": \"alpha-i\",\n      \"code\": 987272,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291V375H541V625H584V709H416V625H459V375H416V291H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-i\"\n      ]\n    },\n    {\n      \"uid\": \"53aeccc515d87cd83bee31d3c0517e22\",\n      \"css\": \"alpha-i\",\n      \"code\": 985846,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291V375H541V625H584V709H416V625H459V375H416V291H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-i\"\n      ]\n    },\n    {\n      \"uid\": \"56a717d86e99c1acf38c7f1425af4147\",\n      \"css\": \"alpha-j\",\n      \"code\": 985847,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291V625H459V584H375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-j\"\n      ]\n    },\n    {\n      \"uid\": \"fb4f4540b206bc9b6ea6fcb28b7d3023\",\n      \"css\": \"alpha-k\",\n      \"code\": 985848,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V570.3L541 709H625L500 500 625 291H541L459 429.7V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-k\"\n      ]\n    },\n    {\n      \"uid\": \"a194b1e6616ab5f2f38207c7435b6871\",\n      \"css\": \"alpha-l\",\n      \"code\": 988070,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H625V625H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-l\"\n      ]\n    },\n    {\n      \"uid\": \"b8596544df0e9e39bf369ddb0c9611de\",\n      \"css\": \"alpha-l\",\n      \"code\": 985849,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H625V625H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-l\"\n      ]\n    },\n    {\n      \"uid\": \"79e635005280bb4f8fe20472fbcd80c3\",\n      \"css\": \"alpha-m\",\n      \"code\": 985850,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291Q339.8 291 315.4 315.4T291 375V709H375V375H459V666H541V375H625V709H709V375Q709 339.8 684.6 315.4T625 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-m\"\n      ]\n    },\n    {\n      \"uid\": \"460724b6ea089dcdff0fd05dad24207b\",\n      \"css\": \"alpha-n\",\n      \"code\": 985851,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V500L541 709H625V291H541V500L459 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-n\"\n      ]\n    },\n    {\n      \"uid\": \"e88e8697d7d4852bbe15f1e69a5eab81\",\n      \"css\": \"alpha-o\",\n      \"code\": 985913,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o\"\n      ]\n    },\n    {\n      \"uid\": \"96416d05d119e5979a46865976797e3e\",\n      \"css\": \"alpha-o\",\n      \"code\": 985852,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o\"\n      ]\n    },\n    {\n      \"uid\": \"4fb659014885847d1c695753de66d0ae\",\n      \"css\": \"alpha-p\",\n      \"code\": 985853,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H541Q576.2 541 600.6 516.6T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-p\"\n      ]\n    },\n    {\n      \"uid\": \"010da06f890b312e358498ff01d521b8\",\n      \"css\": \"alpha-q\",\n      \"code\": 985854,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709V791H541V709Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-q\"\n      ]\n    },\n    {\n      \"uid\": \"1bc3ebdbc7c7775d76151b76aebeb675\",\n      \"css\": \"alpha-r\",\n      \"code\": 985855,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H492.2L541 709H625L574.2 535.2Q597.7 525.4 611.3 504.9T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-r\"\n      ]\n    },\n    {\n      \"uid\": \"c350c458da21d11bc4a6af3b42faf20b\",\n      \"css\": \"alpha-s\",\n      \"code\": 985856,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-s\"\n      ]\n    },\n    {\n      \"uid\": \"1361458e356059bb7dd9de45e565aba4\",\n      \"css\": \"alpha-t\",\n      \"code\": 985857,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H459V709H541V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-t\"\n      ]\n    },\n    {\n      \"uid\": \"ef725acd677fe8a23275eead11615dce\",\n      \"css\": \"alpha-u\",\n      \"code\": 985858,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V291H541V625H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-u\"\n      ]\n    },\n    {\n      \"uid\": \"5ef1c420ddbffa04d3fcf2c3dcd1f6ed\",\n      \"css\": \"alpha-v\",\n      \"code\": 987276,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 709H541L625 291H541L500 500 459 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-v\"\n      ]\n    },\n    {\n      \"uid\": \"73afce6a6d1d13d23fc6597770ab45d5\",\n      \"css\": \"alpha-v\",\n      \"code\": 985859,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 709H541L625 291H541L500 500 459 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-v\"\n      ]\n    },\n    {\n      \"uid\": \"a5af2eff42225f5cb622b8e81e38a32c\",\n      \"css\": \"alpha-w\",\n      \"code\": 985860,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 709Q339.8 709 315.4 684.6T291 625V291H375V625H459V334H541V625H625V291H709V625Q709 660.2 684.6 684.6T625 709H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-w\"\n      ]\n    },\n    {\n      \"uid\": \"07b04ad52175a95bae93357e94530cca\",\n      \"css\": \"alpha-x\",\n      \"code\": 987281,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 500 375 709H459L500 603.5 541 709H625L541 500 625 291H541L500 396.5 459 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-x\"\n      ]\n    },\n    {\n      \"uid\": \"e2237d63b5575d7795583934d63dcfe3\",\n      \"css\": \"alpha-x\",\n      \"code\": 985861,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 500 375 709H459L500 603.5 541 709H625L541 500 625 291H541L500 396.5 459 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-x\"\n      ]\n    },\n    {\n      \"uid\": \"83e54f6b7d51b68d71519d1e3e85132d\",\n      \"css\": \"alpha-y\",\n      \"code\": 985862,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 541V709H541V541L625 291H541L500 416 459 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-y\"\n      ]\n    },\n    {\n      \"uid\": \"429a94be02b5ae3fcd9a7e34644601a9\",\n      \"css\": \"alpha-z\",\n      \"code\": 985863,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H541L375 625V709H625V625H459L625 375V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-z\"\n      ]\n    },\n    {\n      \"uid\": \"99190e339eb18c3925e35d255deb0471\",\n      \"css\": \"alpha-a-box\",\n      \"code\": 985864,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM459 291Q423.8 291 399.4 315.4T375 375V709H459V541H541V709H625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-a-box\"\n      ]\n    },\n    {\n      \"uid\": \"ea1732ab574f3bb01c53b25e4d94805c\",\n      \"css\": \"alpha-b-box\",\n      \"code\": 985865,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM625 437.5V375Q625 339.8 600.6 315.4T541 291H375V709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5ZM541 625H459V541H541V625ZM541 459H459V375H541V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-b-box\"\n      ]\n    },\n    {\n      \"uid\": \"81275b9469f6725bfa9a2be95ce98a42\",\n      \"css\": \"alpha-c-box\",\n      \"code\": 985866,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V584H541V625H459V375H541V416H625V375Q625 339.8 600.6 315.4T541 291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-c-box\"\n      ]\n    },\n    {\n      \"uid\": \"ac51587f5ea43176523357e4d4dd2b6d\",\n      \"css\": \"alpha-d-box\",\n      \"code\": 985867,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V625H459V375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-d-box\"\n      ]\n    },\n    {\n      \"uid\": \"63ef7492ee60a61c23ca59c4f013d6b0\",\n      \"css\": \"alpha-e-box\",\n      \"code\": 985868,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H625V625H459V541H625V459H459V375H625V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-e-box\"\n      ]\n    },\n    {\n      \"uid\": \"f96e577644f0ada4a919332ed7e03aa6\",\n      \"css\": \"alpha-f-box\",\n      \"code\": 985869,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H584V459H459V375H625V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-f-box\"\n      ]\n    },\n    {\n      \"uid\": \"9c60caf22dabd14ae7e4e7b39065d91d\",\n      \"css\": \"alpha-g-box\",\n      \"code\": 985870,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V459H541V625H459V375H625V291H459ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-g-box\"\n      ]\n    },\n    {\n      \"uid\": \"62a86d2e89de4781ed5ce03c9a9ca2c6\",\n      \"css\": \"alpha-h-box\",\n      \"code\": 985871,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H541V709H625V291H541V459H459V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-h-box\"\n      ]\n    },\n    {\n      \"uid\": \"d2830337ecb01440bb43afb9dfb17f9d\",\n      \"css\": \"alpha-i-box\",\n      \"code\": 985872,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291H416V375H459V625H416V709H584V625H541V375H584V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-i-box\"\n      ]\n    },\n    {\n      \"uid\": \"3df88a4e52d9b6b30923972c04611a3e\",\n      \"css\": \"alpha-j-box\",\n      \"code\": 985873,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291V625H459V584H375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V291H541ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-j-box\"\n      ]\n    },\n    {\n      \"uid\": \"47e90ed3c6247fcae03828fd3b2ec07c\",\n      \"css\": \"alpha-k-box\",\n      \"code\": 985874,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V570.3L541 709H625L500 500 625 291H541L459 429.7V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-k-box\"\n      ]\n    },\n    {\n      \"uid\": \"d1bdfc371a5988ea732c25edf1f0312f\",\n      \"css\": \"alpha-l-box\",\n      \"code\": 985875,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H625V625H459V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-l-box\"\n      ]\n    },\n    {\n      \"uid\": \"b4a51212f094a0ccec85819f352fa45a\",\n      \"css\": \"alpha-m-box\",\n      \"code\": 985876,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291Q339.8 291 315.4 315.4T291 375V709H375V375H459V666H541V375H625V709H709V375Q709 339.8 684.6 315.4T625 291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-m-box\"\n      ]\n    },\n    {\n      \"uid\": \"0200fca577282509f47aaabbc9acd319\",\n      \"css\": \"alpha-n-box\",\n      \"code\": 985877,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V500L541 709H625V291H541V500L459 291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-n-box\"\n      ]\n    },\n    {\n      \"uid\": \"79639f4dbe1e7bc5abe721a84e90fa26\",\n      \"css\": \"alpha-o-box\",\n      \"code\": 985878,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o-box\"\n      ]\n    },\n    {\n      \"uid\": \"cea237ce9e19ad73525a26caad0be6e7\",\n      \"css\": \"alpha-p-box\",\n      \"code\": 985879,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H541Q576.2 541 600.6 516.6T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V459H459V375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-p-box\"\n      ]\n    },\n    {\n      \"uid\": \"ac685e41659747273cdc71d72ee43108\",\n      \"css\": \"alpha-q-box\",\n      \"code\": 985880,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709V791H541V709Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375ZM209 166H791Q826.2 166 850.6 190.4T875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-q-box\"\n      ]\n    },\n    {\n      \"uid\": \"2ed173d653ec21a1e3533c3aa4868dee\",\n      \"css\": \"alpha-r-box\",\n      \"code\": 985881,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H492.2L541 709H625L574.2 535.2Q597.7 525.4 611.3 504.9T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V459H459V375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-r-box\"\n      ]\n    },\n    {\n      \"uid\": \"bee08a10e2782386afdcb30bde80fa03\",\n      \"css\": \"alpha-s-box\",\n      \"code\": 985882,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-s-box\"\n      ]\n    },\n    {\n      \"uid\": \"0bae9dc55136b29be8929a6bd1d7921b\",\n      \"css\": \"alpha-t-box\",\n      \"code\": 985883,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H459V709H541V375H625V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-t-box\"\n      ]\n    },\n    {\n      \"uid\": \"14e080b1629581317a4e9f02dafe8d9a\",\n      \"css\": \"alpha-u-box\",\n      \"code\": 985884,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V291H541V625H459V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-u-box\"\n      ]\n    },\n    {\n      \"uid\": \"d7f9c6b704e37a22e367c1010b465bcc\",\n      \"css\": \"alpha-v-box\",\n      \"code\": 985885,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 709H541L625 291H541L500 500 459 291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-v-box\"\n      ]\n    },\n    {\n      \"uid\": \"6798979cb799d82d4d309ad2d1839872\",\n      \"css\": \"alpha-w-box\",\n      \"code\": 985886,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 709H625Q660.2 709 684.6 684.6T709 625V291H625V625H541V334H459V625H375V291H291V625Q291 660.2 315.4 684.6T375 709ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-w-box\"\n      ]\n    },\n    {\n      \"uid\": \"cdc0fe6195f2a60244be42757da62ef0\",\n      \"css\": \"alpha-x-box\",\n      \"code\": 985887,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 500 375 709H459L500 603.5 541 709H625L541 500 625 291H541L500 396.5 459 291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-x-box\"\n      ]\n    },\n    {\n      \"uid\": \"3c6b824286fd70cff6e39d806ec035e8\",\n      \"css\": \"alpha-y-box\",\n      \"code\": 985888,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 541V709H541V541L625 291H541L500 416 459 291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-y-box\"\n      ]\n    },\n    {\n      \"uid\": \"d2d93d3a133fbb7e97e3359d1311e916\",\n      \"css\": \"alpha-z-box\",\n      \"code\": 985889,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H541L375 625V709H625V625H459L625 375V291H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-z-box\"\n      ]\n    },\n    {\n      \"uid\": \"533f5a6cfc9ab5684ccdc49cfd481a84\",\n      \"css\": \"bulldozer\",\n      \"code\": 985890,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q148.4 166 136.7 178.7T125 209V416Q111.3 416 99.6 424.8T84 449.2V582H95.7Q107.4 562.5 126 551.8T166 541H541Q564.5 541 583 551.8T613.3 582H668L666 459Q666 441.4 654.3 428.7T625 416H541V334Q541 316.4 529.3 303.7T500 291 470.7 303.7 459 334V416H375V209Q375 191.4 363.3 178.7T334 166H166ZM209 250H291V459H209V250ZM709 459V791H916V750L791 709 750 459H709ZM166 625Q132.8 625 108.4 649.4T84 708 108.4 766.6 166 791H541Q576.2 791 600.6 766.6T625 708 600.6 649.4 541 625H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bulldozer\"\n      ]\n    },\n    {\n      \"uid\": \"7db2753b70d76f982be6337e0ea2350a\",\n      \"css\": \"bullhorn-outline\",\n      \"code\": 985891,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334H166Q132.8 334 108.4 358.4T84 416V584Q84 617.2 108.4 641.6T166 666H209V834Q209 851.6 220.7 863.3T250 875H334Q351.6 875 363.3 863.3T375 834V666H500L709 834V166ZM625 650.4L541 584H166V416H541L625 349.6V650.4ZM896.5 500Q896.5 552.7 868.2 598.6T791 666V334Q839.8 357.4 868.2 402.3T896.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bullhorn-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e7f3b772cb92b3ba21f21b1615b21501\",\n      \"css\": \"calendar-export\",\n      \"code\": 985892,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916L666 750H541V500H459V750H334ZM791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H334V834H209V375H791V834H666V916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-export\"\n      ]\n    },\n    {\n      \"uid\": \"d1ab493198056ddb95573bbc451bd358\",\n      \"css\": \"calendar-import\",\n      \"code\": 985893,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500L334 666H459V916H541V666H666ZM791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H375V834H209V375H791V834H625V916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-import\"\n      ]\n    },\n    {\n      \"uid\": \"f76b6b1609261b6e4868bed90559ef6e\",\n      \"css\": \"chevron-down-circle\",\n      \"code\": 985894,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM250 416L500 666 750 416 691.4 357.4 500 550.8 308.6 357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-down-circle\"\n      ]\n    },\n    {\n      \"uid\": \"f676530c1773d70f1746b53a9ccddf49\",\n      \"css\": \"chevron-down-circle-outline\",\n      \"code\": 985895,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM250 416L500 666 750 416 691.4 357.4 500 550.8 308.6 357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-down-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8662f7199af563a485244308243bd8b7\",\n      \"css\": \"chevron-left-circle\",\n      \"code\": 985896,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM642.6 691.4L449.2 500 642.6 308.6 584 250 334 500 584 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-left-circle\"\n      ]\n    },\n    {\n      \"uid\": \"e5a39d316de332fd4bffd61c3f81356d\",\n      \"css\": \"chevron-left-circle-outline\",\n      \"code\": 985897,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM642.6 691.4L449.2 500 642.6 308.6 584 250 334 500 584 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-left-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1f3482f8be23dfa5f9b05fe681a917cc\",\n      \"css\": \"chevron-right-circle\",\n      \"code\": 985898,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM416 750L666 500 416 250 357.4 308.6 550.8 500 357.4 691.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-right-circle\"\n      ]\n    },\n    {\n      \"uid\": \"afe0379ab8143f608c4345300a9a0b75\",\n      \"css\": \"chevron-right-circle-outline\",\n      \"code\": 985899,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM357.4 691.4L550.8 500 357.4 308.6 416 250 666 500 416 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-right-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fa2f46adda1843ca9f19428fc6ecc4f7\",\n      \"css\": \"chevron-up-circle\",\n      \"code\": 985900,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM308.6 642.6L500 449.2 691.4 642.6 750 584 500 334 250 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-up-circle\"\n      ]\n    },\n    {\n      \"uid\": \"5dc63ef34f8ba1b735aa2fe5790e4610\",\n      \"css\": \"chevron-up-circle-outline\",\n      \"code\": 985901,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500ZM308.6 642.6L500 449.2 691.4 642.6 750 584 500 334 250 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-up-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a42d0dd5d6bb425773da07a825466b63\",\n      \"css\": \"content-save-settings-outline\",\n      \"code\": 985902,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916ZM709 84H209Q173.8 84 149.4 108.4T125 166V750Q125 785.2 149.4 809.6T209 834H791Q826.2 834 850.6 809.6T875 750V250ZM791 750H209V166H673.8L791 285.2V750ZM500 459Q447.3 459 411.1 495.1T375 583 411.1 671.9 500 709 588.9 671.9 625 583 588.9 495.1 500 459ZM250 209H625V375H250V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d1aabaa985fdfb1c68f2bdf156a92d60\",\n      \"css\": \"crystal-ball\",\n      \"code\": 985903,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M390.6 349.6L478.5 388.7 568.4 349.6 527.3 437.5 568.4 525.4 478.5 486.3 390.6 525.4 431.6 437.5ZM687.5 103.5L732.4 224.6 853.5 271.5 732.4 316.4 687.5 437.5 642.6 316.4 521.5 271.5 642.6 224.6ZM250 791H291V750Q291 732.4 303.7 720.7T334 709H343.8Q271.5 668 229.5 595.7T187.5 438.5 229.5 281.3 343.8 167 500 125Q564.5 125 623 150.4L607.4 191.4 548.8 212.9Q525.4 209 500 209 455.1 209 413.1 226.6T338.9 276.4 289.1 350.6 271.5 437.5Q271.5 500 301.8 552.7T384.8 635.7 500 666Q589.8 666 656.3 604.5T728.5 453.1L767.6 349.6 796.9 339.8Q812.5 386.7 812.5 437.5 812.5 523.4 770.5 595.7T656.3 709H666Q683.6 709 696.3 720.7T709 750V791H750Q785.2 791 809.6 815.4T834 875V916H166V875Q166 839.8 190.4 815.4T250 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crystal-ball\"\n      ]\n    },\n    {\n      \"uid\": \"fd3bd73fb84b731ca0be58aa2c1c9cfd\",\n      \"css\": \"ember\",\n      \"code\": 985904,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 591.8L865.2 627Q800.8 666 746.1 689.5 666 724.6 613.3 724.6 539.1 726.6 513.7 687.5 502 668 505.9 648.4L550.8 630.9Q605.5 605.5 652.3 576.2 720.7 533.2 765.6 486.3 822.3 425.8 839.8 361.3 859.4 283.2 826.2 199.2 787.1 144.5 738.3 122.1T621.1 101.6Q544.9 101.6 480.5 148.4 402.3 205.1 351.6 316.4 330.1 367.2 316.4 427.7 308.6 462.9 300.8 521.5L279.3 523.4Q252 525.4 230.5 521.5 199.2 517.6 179.7 502 154.3 480.5 132.8 488.3 121.1 492.2 115.2 502L99.6 525.4Q84 554.7 82 576.2 82 607.4 115.2 619.1 158.2 636.7 232.4 650.4L296.9 658.2V658.2Q306.6 707 332 752 365.2 814.5 423.8 857.4 468.8 892.6 539.1 898.4 593.8 904.3 664.1 892.6 712.9 882.8 763.7 865.2L804.7 849.6ZM484.4 513.7Q486.3 441.4 509.8 380.9 529.3 328.1 562.5 293 591.8 261.7 623 252.9T673.8 261.7Q697.3 283.2 698.2 320.3T677.7 396.5 615.2 463.9 541 503.9Q517.6 513.7 498 515.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ember\"\n      ]\n    },\n    {\n      \"uid\": \"32f398a164e754dde973fa2d9f53e7df\",\n      \"css\": \"facebook-workplace\",\n      \"code\": 985905,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M820.3 671.9Q791 705.1 759.8 705.1T710.9 685.5Q699.2 671.9 685.5 638.7L619.1 474.6 550.8 642.6Q539.1 671.9 529.3 683.6 511.7 705.1 481.4 705.1T431.6 685.5Q421.9 673.8 410.2 644.5L296.9 363.3H390.6L480.5 589.8 548.8 419.9Q560.5 392.6 570.3 380.9 589.8 359.4 619.1 359.4T666 380.9Q677.7 392.6 689.5 419.9L763.7 603.5Q791 562.5 802.7 512.7T807.6 412.1 776.4 316.4 713.9 238.3 627.9 187.5 529.3 169.9Q423.8 168 335 232.4T212.9 398.4 212.9 602.5 334 768.6 529.3 830.1Q576.2 830.1 619.1 818.4V906.3Q574.2 916 529.3 916 394.5 916 284.2 836.9T131.8 628.9 131.8 371.1 283.2 163.1 529.3 84Q628.9 84 712.9 132.8T846.7 265.6 896.5 449.2Q896.5 572.3 820.3 671.9V671.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"facebook-workplace\"\n      ]\n    },\n    {\n      \"uid\": \"e80759955b0ea7882fb62a3d2903c7f8\",\n      \"css\": \"file-replace\",\n      \"code\": 985906,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500H812.5L584 271.5V500ZM334 209H625L875 459V875Q875 910.2 850.6 934.6T791 959H334Q298.8 959 274.4 934.6T250 875V750H459V834L625 709 459 584V666H250V291Q250 257.8 274.4 233.4T334 209ZM562.5 125H166V666H250V750H166Q132.8 750 108.4 725.6T84 666V125Q84 89.8 108.4 65.4T166 41H478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-replace\"\n      ]\n    },\n    {\n      \"uid\": \"0e122edf7276aea6737c46b17584310a\",\n      \"css\": \"file-replace-outline\",\n      \"code\": 985907,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125L500 41H166Q132.8 41 108.4 65.4T84 125V625Q84 660.2 108.4 684.6T166 709H459V791L625 666 459 541V625H166V125H584ZM875 416V875Q875 910.2 850.6 934.6T791 959H334Q298.8 959 274.4 934.6T250 875V791H334V875H791V500H584V291H334V541H250V291Q250 257.8 274.4 233.4T334 209H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-replace-outline\"\n      ]\n    },\n    {\n      \"uid\": \"71a4a1ed8658dfacb5554e5cf08514f0\",\n      \"css\": \"format-letter-case\",\n      \"code\": 985908,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 750Q830.1 732.4 828.1 712.9 785.2 755.9 726.6 755.9 675.8 755.9 641.6 727.5T607.4 652.3Q607.4 597.7 649.4 567.4T767.6 537.1H826.2V509.8Q826.2 478.5 807.6 460.9T752 443.4Q720.7 443.4 698.2 459T675.8 496.1H615.2Q615.2 468.8 632.8 444.3T685.5 405.3 755.9 390.6Q816.4 390.6 850.6 420.9T886.7 503.9V666Q886.7 716.8 898.4 744.1V750H835.9ZM736.3 703.1Q763.7 703.1 789.1 689.5T826.2 656.3V589.8H779.3Q668 589.8 668 648.4 668 673.8 687.5 688.5T736.3 703.1ZM226.6 570.3H396.5L312.5 345.7ZM277.3 250H347.7L544.9 750H464.8L423.8 642.6H201.2L160.2 750H80.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-letter-case\"\n      ]\n    },\n    {\n      \"uid\": \"bead8a886e8523802d525f0a4ca7d87a\",\n      \"css\": \"format-letter-case-lower\",\n      \"code\": 985909,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 750Q830.1 732.4 828.1 712.9 785.2 755.9 726.6 755.9 675.8 755.9 641.6 727.5T607.4 652.3Q607.4 597.7 649.4 567.4T767.6 537.1H826.2V509.8Q826.2 478.5 807.6 460.9T752 443.4Q720.7 443.4 698.2 459T675.8 496.1H615.2Q615.2 468.8 632.8 444.3T685.5 405.3 755.9 390.6Q816.4 390.6 850.6 420.9T886.7 503.9V666Q886.7 716.8 898.4 744.1V750H835.9ZM736.3 703.1Q763.7 703.1 789.1 689.5T826.2 656.3V589.8H779.3Q668 589.8 668 648.4 668 673.8 687.5 688.5T736.3 703.1ZM226.6 570.3H396.5L312.5 345.7ZM277.3 250H347.7L544.9 750H464.8L423.8 642.6H201.2L160.2 750H80.1ZM916 834V916H603.5V834H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-letter-case-lower\"\n      ]\n    },\n    {\n      \"uid\": \"6e7a8b9905ab61a84bae40241732c13e\",\n      \"css\": \"format-letter-case-upper\",\n      \"code\": 985910,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 750Q830.1 732.4 828.1 712.9 785.2 755.9 726.6 755.9 675.8 755.9 641.6 727.5T607.4 652.3Q607.4 597.7 649.4 567.4T767.6 537.1H826.2V509.8Q826.2 478.5 807.6 460.9T752 443.4Q720.7 443.4 698.2 459T675.8 496.1H615.2Q615.2 468.8 632.8 444.3T685.5 405.3 755.9 390.6Q816.4 390.6 850.6 420.9T886.7 503.9V666Q886.7 716.8 898.4 744.1V750H835.9ZM736.3 703.1Q763.7 703.1 789.1 689.5T826.2 656.3V589.8H779.3Q668 589.8 668 648.4 668 673.8 687.5 688.5T736.3 703.1ZM226.6 570.3H396.5L312.5 345.7ZM277.3 250H347.7L544.9 750H464.8L423.8 642.6H201.2L160.2 750H80.1ZM84 834H541V916H84V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-letter-case-upper\"\n      ]\n    },\n    {\n      \"uid\": \"a55fa76367f3dfc4427a1c6e33e94607\",\n      \"css\": \"language-java\",\n      \"code\": 985911,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 253.9Q666 259.8 644.5 267.6 595.7 285.2 562.5 308.6 515.6 341.8 503.9 378.9 492.2 427.7 539.1 482.4 556.6 502 554.7 525.4 552.7 541 541 556.6L529.3 570.3 552.7 552.7Q580.1 533.2 589.8 511.7 603.5 480.5 584 451.2L578.1 443.4Q552.7 408.2 548.8 390.6 544.9 365.2 572.3 335.9 603.5 302.7 687.5 253.9ZM502 302.7Q548.8 265.6 574.2 228.5 595.7 197.3 603.5 168 607.4 144.5 603.5 123 599.6 107.4 591.8 93.8L584 84Q599.6 144.5 564.5 193.4 544.9 224.6 483.4 272.5T402.3 347.7Q377 388.7 408.2 439.5 429.7 476.6 500 541 492.2 525.4 470.7 494.1 447.3 457 439.5 439.5 427.7 406.3 439.5 377 453.1 341.8 502 302.7ZM390.6 728.5Q343.8 740.2 350.6 757.8T403.3 787.1 507.8 796.9Q574.2 793 630.9 767.6 607.4 757.8 585.9 746.1 500 765.6 414.1 752 378.9 748 380.9 738.3 382.8 732.4 390.6 728.5V728.5ZM611.3 658.2Q502 681.6 388.7 668 355.5 666 359.4 650.4 361.3 642.6 371.1 636.7V636.7Q320.3 654.3 326.2 670.9T381.8 697.3 500 703.1Q576.2 699.2 646.5 679.7 628.9 671.9 611.3 658.2ZM753.9 794.9Q755.9 798.8 758.8 803.7T756.8 816.4 728.5 830.1Q681.6 843.8 582 850.6T392.6 853.5Q293 847.7 253.9 832 234.4 822.3 257.8 810.5 275.4 800.8 296.9 796.9 310.5 793 326.2 793 310.5 783.2 261.7 795.9T196.3 829.1 234.4 857.4Q351.6 877 468.8 877 570.3 877 652.3 861.3 726.6 847.7 756.8 829.1T753.9 794.9ZM640.6 593.8Q656.3 582 679.7 572.3L638.7 578.1Q591.8 585.9 552.7 589.8 453.1 599.6 351.6 591.8 308.6 585.9 322.3 572.3 332 564.5 371.1 552.7L406.3 541Q337.9 541 275.4 572.3 244.1 587.9 272.5 598.6T368.2 613.3 505.9 613.3Q585.9 607.4 640.6 593.8ZM677.7 693.4Q675.8 697.3 673.8 697.3 748 679.7 781.3 644.5 810.5 617.2 806.6 586.9T772.5 542 707 539.1Q697.3 543 693.4 548.8 703.1 546.9 710.9 544.9 730.5 541 749 552.7T771.5 586.9 755.9 634.8Q732.4 666 677.7 693.4ZM683.6 886.7Q496.1 918 302.7 892.6L312.5 896.5Q324.2 900.4 345.7 904.3 377 910.2 419.9 914.1 554.7 921.9 668 906.3 802.7 886.7 806.6 837.9 808.6 837.9 798.8 846.7T765.6 863.3Q734.4 877 683.6 886.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-java\"\n      ]\n    },\n    {\n      \"uid\": \"9a0c3a00bf0c3bfe7791a00843eb47f6\",\n      \"css\": \"circle-multiple\",\n      \"code\": 985912,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166Q714.8 166 792 210.9T914.1 333 959 500 914.1 667 792 789.1 625 834 458 789.1 335.9 667 291 500 335.9 333 458 210.9 625 166ZM125 500Q125 580.1 170.9 644.5T291 736.3V822.3Q181.6 793 112.3 703.1T43 500 112.3 296.9 291 177.7V263.7Q216.8 291 170.9 355.5T125 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"1eda4da08f17a35071bee617717962a5\",\n      \"css\": \"numeric-1\",\n      \"code\": 985914,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291V375H500V709H584V291H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1\"\n      ]\n    },\n    {\n      \"uid\": \"63d9462ef04c1f3b61f8a4aa6c214f5a\",\n      \"css\": \"numeric-2\",\n      \"code\": 985915,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H541V459H459Q423.8 459 399.4 483.4T375 541V709H625V625H459V541H541Q576.2 541 600.6 516.6T625 459V375Q625 339.8 600.6 315.4T541 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2\"\n      ]\n    },\n    {\n      \"uid\": \"d38af7c3ecd563539f580b57460246cf\",\n      \"css\": \"numeric-3\",\n      \"code\": 985916,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H375V375H541V459H459V541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3\"\n      ]\n    },\n    {\n      \"uid\": \"0619b15df1c3f40597428ad6aed799c8\",\n      \"css\": \"numeric-4\",\n      \"code\": 985917,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V541H541V709H625V291H541V459H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4\"\n      ]\n    },\n    {\n      \"uid\": \"9068067ab166a123937a683e7c6795f4\",\n      \"css\": \"numeric-5\",\n      \"code\": 985918,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5\"\n      ]\n    },\n    {\n      \"uid\": \"fcb4386812c7e1f2f1147a58dad4f057\",\n      \"css\": \"numeric-6\",\n      \"code\": 985919,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459ZM459 541H541V625H459V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6\"\n      ]\n    },\n    {\n      \"uid\": \"87922ae4aa1ceeecaabc076768c3ebfd\",\n      \"css\": \"numeric-7\",\n      \"code\": 985920,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709L625 375V291H375V375H541L375 709H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7\"\n      ]\n    },\n    {\n      \"uid\": \"a931eedca6fc9a0820e03b674091150f\",\n      \"css\": \"numeric-8\",\n      \"code\": 985921,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V625H459V541ZM459 375H541V459H459V375ZM459 709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V437.5Q375 462.9 393.6 481.4T437.5 500Q412.1 500 393.6 518.6T375 562.5V625Q375 660.2 399.4 684.6T459 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8\"\n      ]\n    },\n    {\n      \"uid\": \"d710df2f6c62b0f03405425d63e3c14c\",\n      \"css\": \"numeric-9\",\n      \"code\": 985922,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541ZM541 459H459V375H541V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9\"\n      ]\n    },\n    {\n      \"uid\": \"cb132d7905d6a0758dc80275a70723f2\",\n      \"css\": \"origin\",\n      \"code\": 985923,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 87.9Q500 93.8 496.1 99.6 466.8 144.5 460.9 179.7L459 189.5 500 187.5Q584 187.5 656.3 229.5T770.5 343.8 812.5 500Q812.5 599.6 755.9 681.6 666 832 513.7 916 505.9 918 502 912.1T503.9 900.4Q527.3 867.2 537.1 826.2L539.1 810.5 500 812.5Q416 812.5 343.8 770.5T229.5 656.3 187.5 500Q187.5 398.4 244.1 320.3 334 169.9 486.3 84 490.2 82 494.1 83T500 87.9ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"origin\"\n      ]\n    },\n    {\n      \"uid\": \"96ecdd0521b5af03363c73a59cf67e40\",\n      \"css\": \"resistor\",\n      \"code\": 985924,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 459H291L419.9 638.7 546.9 166 750 459H916V541H709L580.1 361.3 453.1 834 250 541H84V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"resistor\"\n      ]\n    },\n    {\n      \"uid\": \"22b86d42bbcb6e943dc4284b1936402f\",\n      \"css\": \"resistor-nodes\",\n      \"code\": 985925,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 459H152.3Q166 421.9 198.2 398.4T271.5 375Q322.3 375 359.4 411.1T396.5 500Q396.5 539.1 373 572.3L419.9 638.7 546.9 166 695.3 378.9 728.5 375Q769.5 375 801.8 398.4T847.7 459H916V541H847.7Q834 578.1 801.8 601.6T728.5 625Q677.7 625 640.6 588.9T603.5 500Q603.5 460.9 627 427.7L580.1 361.3 453.1 834 304.7 621.1Q287.1 625 271.5 625 230.5 625 198.2 601.6T152.3 541H84V459ZM728.5 437.5Q703.1 437.5 684.6 456.1T666 500 684.6 543.9 729.5 562.5 773.4 543.9 791 500 773.4 456.1 728.5 437.5ZM271.5 437.5Q244.1 437.5 226.6 456.1T209 500 226.6 543.9 270.5 562.5 315.4 543.9 334 500 315.4 456.1 271.5 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"resistor-nodes\"\n      ]\n    },\n    {\n      \"uid\": \"2ce0e16d8d36a838420604cbd020055b\",\n      \"css\": \"robot-industrial\",\n      \"code\": 985926,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M767.6 166L666 267.6V275.4L767.6 375H916V459H732.4L666 392.6V500H625Q589.8 500 565.4 475.6T541 416V312.5H410.2Q406.3 335.9 392.6 355.5L632.8 791H834Q867.2 791 891.6 815.4T916 875V916H84V875Q84 839.8 108.4 815.4T166 791H441.4L246.1 437.5Q191.4 437.5 146.5 402.3T87.9 312.5Q70.3 246.1 105.5 186.5T208 109.4 335 127 410.2 228.5H541V125Q541 89.8 565.4 65.4T625 41H666V150.4L732.4 84H916V166H767.6ZM250 187.5Q214.8 187.5 190.4 211.9T166 270.5 190.4 329.1 250 353.5 309.6 329.1 334 270.5 309.6 211.9 250 187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robot-industrial\"\n      ]\n    },\n    {\n      \"uid\": \"40be77b5cb13c7349e9a53a49d27de0e\",\n      \"css\": \"shoe-formal\",\n      \"code\": 985927,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M896.5 375V334H853.5L812.5 375H625L584 334H541L291 500H166Q132.8 500 108.4 524.4T84 584V666H416L541 625H625V666H896.5V584L900.4 570.3Q908.2 552.7 912.1 533.2 916 507.8 916 479.5T912.1 423.8Q908.2 404.3 900.4 388.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shoe-formal\"\n      ]\n    },\n    {\n      \"uid\": \"8d71734fede97575a168552d3b783da9\",\n      \"css\": \"shoe-heel\",\n      \"code\": 985928,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 750H488.3L709 584H750V750H834V584L843.8 558.6Q857.4 527.3 863.3 496.1 875 453.1 875 416 875 365.2 865.2 302.7 859.4 271.5 853.5 250H771.5L750 291 416 584H334L125 666V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shoe-heel\"\n      ]\n    },\n    {\n      \"uid\": \"13511e79c1896b0030a053a062bd313c\",\n      \"css\": \"silo\",\n      \"code\": 985929,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 84Q421.9 84 481.4 115.2T578.1 202.1 623 324.2L916 500V584L834 533.2V916H750V482.4L625 408.2V916H541V375H166V916H84V353.5Q84 281.3 120.1 218.8T218.8 120.1 353.5 84ZM353.5 166Q293 166 245.1 201.2T177.7 291H531.3Q511.7 236.3 462.9 201.2T353.5 166ZM250 459H459V541H250V459ZM250 625H459V709H250V625ZM250 791H459V875H250V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silo\"\n      ]\n    },\n    {\n      \"uid\": \"270502a276b6c6657fbf8e9b0ac402e9\",\n      \"css\": \"box-cutter-off\",\n      \"code\": 985930,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L535.2 615.2 507.8 642.6 277.3 544.9Q281.3 515.6 300.8 496.1L359.4 437.5 46.9 125 99.6 72.3 921.9 894.5ZM642.6 507.8L464.8 332 683.6 113.3Q709 87.9 743.2 87.9T800.8 113.3L861.3 171.9Q884.8 197.3 884.8 231.4T861.3 289.1ZM712.9 259.8Q724.6 273.4 742.2 273.4T772.5 260.7 785.2 230.5 772.5 201.2 742.2 189.5 712.9 201.2 701.2 230.5 712.9 259.8ZM209 666V906.3L451.2 689.5 242.2 605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"box-cutter-off\"\n      ]\n    },\n    {\n      \"uid\": \"5f2039734cc67ab8c3307b1e19a743fb\",\n      \"css\": \"tab-minus\",\n      \"code\": 985931,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125H125ZM125 209H541V375H875V791H125V209ZM291 541V625H625V541H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tab-minus\"\n      ]\n    },\n    {\n      \"uid\": \"0555e2b06bb7602d9ccf142f3a1d7510\",\n      \"css\": \"tab-remove\",\n      \"code\": 985932,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M310.5 494.1L369.1 435.5 459 525.4 546.9 435.5 605.5 494.1 517.6 584 605.5 671.9 546.9 730.5 459 642.6 369.1 730.5 310.5 671.9 400.4 584ZM125 125H875Q910.2 125 934.6 149.4T959 209V791Q959 826.2 934.6 850.6T875 875H125Q89.8 875 65.4 850.6T41 791V209Q41 173.8 65.4 149.4T125 125ZM125 209V791H875V375H541V209H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tab-remove\"\n      ]\n    },\n    {\n      \"uid\": \"6f2af41abe09b014f2c511c7c37c5727\",\n      \"css\": \"tape-measure\",\n      \"code\": 985933,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q455.1 209 521.5 248T627 353.5 666 500H709V625H666V791H375Q294.9 791 228.5 752T123 646.5 84 500 123 353.5 228.5 248 375 209ZM375 334Q306.6 334 257.8 382.8T209 500 257.8 617.2 375 666 492.2 617.2 541 500 492.2 382.8 375 334ZM709 709H916V875H834V791H709V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tape-measure\"\n      ]\n    },\n    {\n      \"uid\": \"69bd07daf099bdfbbbc1ad73e33dd454\",\n      \"css\": \"telescope\",\n      \"code\": 985934,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M912.1 371.1L841.8 412.1 675.8 125 746.1 84ZM408.2 330.1L533.2 544.9 787.1 400.4 662.1 183.6ZM474.6 529.3L392.6 382.8 212.9 488.3 294.9 632.8ZM87.9 607.4L128.9 679.7 238.3 617.2 195.3 544.9ZM503.9 584L492.2 566.4 312.5 669.9 324.2 687.5Q337.9 707 357.4 720.7L291 916H375L433.6 738.3H437.5L500 916H584L503.9 683.6Q519.5 662.1 519.5 634.8T503.9 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"telescope\"\n      ]\n    },\n    {\n      \"uid\": \"f1541338f2725f7b80bcab0147a7982f\",\n      \"css\": \"yahoo\",\n      \"code\": 985935,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 316.4L339.8 550.8 244.1 316.4H84L261.7 718.8 197.3 863.3H353.5L593.8 316.4H437.5ZM625 531.3Q582 531.3 553.7 558.6T525.4 624 552.7 688.5 622.1 714.8 693.4 687.5 722.7 621.1 695.3 556.6 625 531.3ZM738.3 136.7L578.1 496.1H757.8L916 136.7H738.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"yahoo\"\n      ]\n    },\n    {\n      \"uid\": \"b1fb0096b723b8825dc4611947b63a9a\",\n      \"css\": \"account-alert-outline\",\n      \"code\": 985936,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500V291H916V541H834V500ZM834 709H916V625H834V709ZM416 541Q478.5 541 552.7 560.5 636.7 582 687.5 615.2 750 656.3 750 709V834H84V709Q84 656.3 144.5 615.2 197.3 582 281.3 560.5 355.5 541 416 541ZM416 166Q486.3 166 535.2 214.8T584 333 535.2 451.2 417 500 298.8 451.2 250 333 298.8 214.8 416 166ZM416 621.1Q359.4 621.1 294.9 636.7 240.2 652.3 201.2 673.8T162.1 709V753.9H669.9V709Q669.9 695.3 630.9 673.8T537.1 636.7Q474.6 621.1 416 621.1ZM416 246.1Q380.9 246.1 355.5 271.5T330.1 333 355.5 394.5 417 419.9 478.5 394.5 503.9 333 478.5 271.5 416 246.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c301f82766b48a41a59a307bfa6580b4\",\n      \"css\": \"account-arrow-left\",\n      \"code\": 985937,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 875L625 750 750 625V709H916V791H750V875ZM416 166Q486.3 166 535.2 214.8T584 333 535.2 451.2 417 500 298.8 451.2 250 333 298.8 214.8 416 166ZM416 584Q488.3 584 550.8 597.7 500 664.1 500 750 500 793 513.7 834H84V750Q84 705.1 128.9 667T250 606.4 416 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"99d2fd8f48bc7841dd56d0ed856f9d32\",\n      \"css\": \"account-arrow-left-outline\",\n      \"code\": 985938,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 875L625 750 750 625V709H916V791H750V875ZM541 750Q541 793 558.6 834H84V709Q84 662.1 128.9 624T250 563.5 416 541Q478.5 541 533.2 551.8T628.9 580.1Q587.9 609.4 564.5 654.3T541 750ZM166 709V750H459Q459 685.5 484.4 628.9L416 625Q312.5 625 239.3 649.4T166 709ZM416 166Q486.3 166 535.2 214.8T584 333 535.2 451.2 417 500 298.8 451.2 250 333 298.8 214.8 416 166ZM416 250Q382.8 250 358.4 274.4T334 333 358.4 391.6 417 416 475.6 391.6 500 333 475.6 274.4 416 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-arrow-left-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f2775a87bc9a99287069b07696650e7\",\n      \"css\": \"account-arrow-right\",\n      \"code\": 985939,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875V791H625V709H791V625L916 750ZM416 166Q486.3 166 535.2 214.8T584 333 535.2 451.2 417 500 298.8 451.2 250 333 298.8 214.8 416 166ZM416 584Q488.3 584 550.8 597.7 500 664.1 500 750 500 793 513.7 834H84V750Q84 705.1 128.9 667T250 606.4 416 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"f3d16e23a705bff746b1fa99085e77fe\",\n      \"css\": \"account-arrow-right-outline\",\n      \"code\": 985940,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875V791H625V709H791V625L916 750ZM541 750Q541 793 558.6 834H84V709Q84 662.1 128.9 624T250 563.5 416 541Q478.5 541 533.2 551.8T628.9 580.1Q587.9 609.4 564.5 654.3T541 750ZM166 709V750H459Q459 685.5 484.4 628.9L416 625Q312.5 625 239.3 649.4T166 709ZM416 166Q486.3 166 535.2 214.8T584 333 535.2 451.2 417 500 298.8 451.2 250 333 298.8 214.8 416 166ZM416 250Q382.8 250 358.4 274.4T334 333 358.4 391.6 417 416 475.6 391.6 500 333 475.6 274.4 416 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-arrow-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ce2c0c9eeec0afec3077f173857c742c\",\n      \"css\": \"account-circle-outline\",\n      \"code\": 985941,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM294.9 761.7Q308.6 734.4 374 710.9T500 687.5 626 710.9 705.1 761.7Q615.2 834 500 834T294.9 761.7ZM765.6 701.2Q724.6 652.3 632.8 625 560.5 603.5 500 603.5T367.2 625Q275.4 652.3 234.4 701.2 166 611.3 166 500 166 410.2 210.9 333T333 210.9 500 166 667 210.9 789.1 333 834 500Q834 611.3 765.6 701.2ZM500 250Q439.5 250 396.5 293T353.5 396.5 396.5 499 500 541 603.5 499 646.5 396.5 603.5 293 500 250ZM500 459Q474.6 459 456.1 440.4T437.5 395.5 456.1 351.6 500 334 543.9 351.6 562.5 395.5 543.9 440.4 500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f767643040bf5e8da3a4e45b199ddcef\",\n      \"css\": \"account-clock\",\n      \"code\": 985942,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M443.4 587.9Q476.6 515.6 540 470.7T680.7 418 829.1 443.4 945.3 540 998 680.7 974.6 830.1Q937.5 908.2 866.2 954.1T709 1000 551.8 955.1 445.3 834H41V750Q44.9 679.7 138.7 632.8T375 584Q400.4 584 443.4 587.9V587.9ZM375 166Q445.3 168 492.2 214.8T539.1 333 492.2 451.2 375 498 257.8 451.2 210.9 333 257.8 214.8 375 166ZM709 916Q765.6 916 813.5 888.7T888.7 813.5 916 709 888.7 604.5 813.5 528.3 709 500 604.5 528.3 528.3 604.5 500 709 528.3 813.5 604.5 888.7 709 916ZM666 584H728.5V701.2L830.1 759.8 798.8 814.5 666 736.3V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-clock\"\n      ]\n    },\n    {\n      \"uid\": \"3ea946cab071fdb2c190ab0d93adf2ff\",\n      \"css\": \"account-clock-outline\",\n      \"code\": 985943,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 584H728.5V701.2L830.1 759.8 798.8 814.5 666 736.3V584ZM709 500Q652.3 500 604.5 528.3T528.3 604.5 500 709 528.3 813.5 604.5 888.7 709 916 813.5 888.7 888.7 813.5 916 709 888.7 604.5 813.5 528.3 709 500ZM709 416Q787.1 416 854.5 456.1T960.9 562.5 1000 708 960.9 854.5 854.5 960.9 709 1000Q623 1000 551.8 954.1T445.3 834H41V709Q41 656.3 103.5 615.2 154.3 582 238.3 560.5 312.5 541 375 541 414.1 541 462.9 550.8 502 488.3 567.4 452.1T709 416ZM416 709Q416 664.1 429.7 625 404.3 621.1 375 621.1 316.4 621.1 253.9 636.7 199.2 652.3 160.2 673.8T121.1 709V753.9H419.9Q416 732.4 416 709ZM375 166Q443.4 166 492.2 214.8T541 333 492.2 451.2 375 500 257.8 451.2 209 333 257.8 214.8 375 166ZM375 246.1Q337.9 246.1 312.5 271.5T287.1 333 312.5 394.5 375 419.9 437.5 394.5 462.9 333 437.5 271.5 375 246.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ecbd301d296ddf2bfbecb96172879bc6\",\n      \"css\": \"account-group-outline\",\n      \"code\": 985944,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q439.5 209 396.5 251T353.5 353.5 396.5 457 500 500 603.5 457 646.5 353.5 603.5 251 500 209ZM500 291Q525.4 291 543.9 309.6T562.5 354.5 543.9 398.4 500 416 456.1 398.4 437.5 354.5 456.1 309.6 500 291ZM228.5 334Q185.5 334 155.3 364.3T125 437.5Q125 466.8 139.6 490.2T178.7 527.3 229.5 541 279.3 528.3 318.4 492.2Q271.5 431.6 271.5 353.5V341.8Q252 334 228.5 334ZM771.5 334Q748 334 728.5 341.8V353.5Q728.5 431.6 681.6 492.2 689.5 502 700.2 512.7T720.7 529.3Q744.1 541 770.5 541T821.3 527.3 860.4 490.2 875 437.5Q875 394.5 844.7 364.3T771.5 334ZM500 584Q445.3 584 380.9 599.6 308.6 617.2 261.7 648.4 209 683.6 209 728.5V791H791V728.5Q791 683.6 738.3 648.4 691.4 617.2 619.1 599.6 554.7 584 500 584ZM195.3 605.5Q123 615.2 68.4 644.5 0 679.7 0 728.5V791H125V710.9Q125 652.3 195.3 605.5ZM804.7 605.5Q875 652.3 875 710.9V791H1000V728.5Q1000 679.7 931.6 644.5 877 615.2 804.7 605.5ZM500 666Q544.9 666 595.7 679.7 642.6 691.4 675.8 709H324.2Q357.4 691.4 404.3 679.7 455.1 666 500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-group-outline\"\n      ]\n    },\n    {\n      \"uid\": \"29732d49e85d83d5f3aae27f236763b6\",\n      \"css\": \"account-question\",\n      \"code\": 985945,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 334Q541 402.3 492.2 451.2T375 500 257.8 451.2 209 333 257.8 214.8 375 166 492.2 214.8 541 334ZM709 750V834H41V750Q41 705.1 85.9 667T208 606.4 375 584 542 606.4 664.1 667 709 750ZM853.5 603.5V666H791V603.5H853.5ZM771.5 396.5H709V375Q709 322.3 745.1 286.1T833 250 921.9 286.1 959 375Q959 404.3 944.3 431.6T904.3 474.6L892.6 482.4Q853.5 509.8 853.5 554.7V562.5H791V554.7Q791 517.6 808.6 484.4T857.4 431.6L869.1 423.8Q896.5 406.3 896.5 375 896.5 349.6 877.9 331.1T833 312.5 789.1 331.1 771.5 375V396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-question\"\n      ]\n    },\n    {\n      \"uid\": \"bd1816bead9a84d3f53f2dadd06409ea\",\n      \"css\": \"account-question-outline\",\n      \"code\": 985946,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 603.5V666H791V603.5H853.5ZM771.5 396.5H709V375Q709 322.3 745.1 286.1T833 250 921.9 286.1 959 375Q959 404.3 944.3 431.6T904.3 474.6L892.6 482.4Q853.5 509.8 853.5 554.7V562.5H791V554.7Q791 517.6 808.6 484.4T857.4 431.6L869.1 423.8Q896.5 406.3 896.5 375 896.5 349.6 877.9 331.1T833 312.5 789.1 331.1 771.5 375V396.5ZM375 541Q437.5 541 511.7 560.5 595.7 582 646.5 615.2 709 656.3 709 709V834H41V709Q41 656.3 103.5 615.2 154.3 582 238.3 560.5 312.5 541 375 541ZM375 166Q443.4 166 492.2 214.8T541 333 492.2 451.2 375 500 257.8 451.2 209 333 257.8 214.8 375 166ZM375 621.1Q316.4 621.1 253.9 636.7 199.2 652.3 160.2 673.8T121.1 709V753.9H628.9V709Q628.9 695.3 589.8 673.8T496.1 636.7Q433.6 621.1 375 621.1ZM375 246.1Q337.9 246.1 312.5 271.5T287.1 333 312.5 394.5 375 419.9 437.5 394.5 462.9 333 437.5 271.5 375 246.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-question-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0557a963cdad54ea335770a98b44d038\",\n      \"css\": \"artstation\",\n      \"code\": 985947,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M74.2 703.1L146.5 828.1Q156.3 849.6 176.8 862.3T222.7 875H699.2L601.6 703.1H74.2ZM925.8 705.1Q925.8 679.7 912.1 658.2L632.8 169.9Q621.1 150.4 600.6 137.7T556.6 125H408.2L841.8 875 908.2 755.9Q919.9 738.3 922.9 728.5T925.8 705.1ZM531.3 580.1L337.9 246.1 144.5 580.1H531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"artstation\"\n      ]\n    },\n    {\n      \"uid\": \"c5fb6bc7d7c418c8d7a80fffa93456e6\",\n      \"css\": \"backspace-outline\",\n      \"code\": 985948,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 650.4L732.4 709 584 558.6 433.6 709 375 650.4 525.4 500 375 349.6 433.6 291 584 441.4 732.4 291 791 349.6 642.6 500ZM916 125Q951.2 125 975.6 149.4T1000 209V791Q1000 826.2 975.6 850.6T916 875H291Q250 875 224.6 837.9L0 500 224.6 162.1Q250 125 291 125H916ZM916 209H291L95.7 500 291 791H916V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"backspace-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9325493e0dcd5082f9bfdec5abbd3343\",\n      \"css\": \"barley-off\",\n      \"code\": 985949,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M498 50.8Q470.7 115.2 460.9 146.5 443.4 201.2 443.4 242.2 443.4 275.4 455.1 318.4 451.2 306.6 445.3 298.8 421.9 265.6 371.1 230.5 339.8 207 271.5 166 271.5 232.4 279.3 265.6L541 529.3V445.3Q597.7 412.1 628.9 388.7 673.8 355.5 695.3 325.2T724.6 250Q728.5 222.7 728.5 166 660.2 207 628.9 230.5 578.1 265.6 554.7 298.8L544.9 316.4Q556.6 273.4 556.6 236.3 556.6 195.3 537.1 142.6 527.3 111.3 498 50.8ZM136.7 228.5L84 281.3 277.3 474.6Q283.2 515.6 304.7 544.9T371.1 607.4Q402.3 630.9 459 664.1V759.8L445.3 736.3Q421.9 703.1 371.1 668 339.8 644.5 271.5 603.5 271.5 660.2 275.4 687.5 283.2 732.4 304.7 762.7T371.1 826.2Q402.3 849.6 459 882.8V959H541V882.8Q595.7 851.6 627 826.2L781.3 978.5 834 925.8ZM728.5 384.8Q660.2 425.8 628.9 449.2 578.1 484.4 554.7 517.6L546.9 533.2 625 611.3Q673.8 574.2 695.3 543.9T724.6 468.8Q728.5 441.4 728.5 384.8ZM728.5 603.5Q689.5 627 660.2 646.5L720.7 707Q728.5 673.8 728.5 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barley-off\"\n      ]\n    },\n    {\n      \"uid\": \"ce72cf2884f680a8847d71f75cd95905\",\n      \"css\": \"barn\",\n      \"code\": 985950,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L125 341.8V875H375L496.1 750 625 875H875V341.8ZM330.1 834V584L455.1 709ZM371.1 541H621.1L496.1 666ZM662.1 834L537.1 709 662.1 584V834ZM625 459H367.2V375H625V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barn\"\n      ]\n    },\n    {\n      \"uid\": \"47cc8d71bac039223f270a1ab6d222b8\",\n      \"css\": \"bat\",\n      \"code\": 985951,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M31.3 334Q46.9 330.1 60.5 328.1 97.7 322.3 134.8 322.3 187.5 322.3 234.4 334 291 345.7 334 375L341.8 416Q353.5 460.9 373 490.2 400.4 531.3 437.5 531.3V459L445.3 468.8Q453.1 482.4 464.8 488.3 482.4 500 500 500T535.2 488.3Q546.9 482.4 554.7 468.8L562.5 459V531.3Q599.6 531.3 627 490.2 646.5 460.9 658.2 416L666 375Q744.1 322.3 865.2 322.3 923.8 322.3 968.8 334V334Q931.6 351.6 908.2 400.4 890.6 435.5 880.9 482.4L875 521.5Q800.8 521.5 757.8 556.6 726.6 580.1 714.8 621.1 709 640.6 709 656.3V656.3Q615.2 638.7 562.5 668 523.4 689.5 507.8 732.4 500 753.9 500 771.5V771.5L496.1 746.1Q490.2 718.8 474.6 697.3 451.2 668 412.1 656.3 363.3 642.6 291 656.3L289.1 634.8Q283.2 609.4 271.5 587.9 252 558.6 220.7 541 181.6 521.5 125 521.5L119.1 482.4Q109.4 435.5 91.8 400.4 68.4 351.6 31.3 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bat\"\n      ]\n    },\n    {\n      \"uid\": \"72cd0d43c3ab1d41fcd562c4afe7b52d\",\n      \"css\": \"battlenet\",\n      \"code\": 985952,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M830.1 449.2Q843.8 457 857.4 466.8 890.6 490.2 910.2 513.7 937.5 548.8 937.5 578.1 937.5 627 857.4 648.4 787.1 668 673.8 662.1L656.3 685.5Q634.8 712.9 613.3 734.4 584 763.7 558.6 779.3 611.3 877 662.1 933.6L666 937.5 658.2 935.5Q650.4 933.6 638.7 921.9 621.1 908.2 599.6 880.9 574.2 845.7 541 793 498 820.3 458 829.1T398.4 820.3Q371.1 796.9 404.3 744.1H400.4Q330.1 785.2 281.3 785.2 240.2 785.2 222.7 757.8 210.9 740.2 210.9 714.8 210.9 673.8 232.4 619.1 248 580.1 273.4 535.2L296.9 500 275.4 447.3Q255.9 384.8 252 341.8 199.2 337.9 136.7 343.8 84 349.6 64.5 355.5 60.5 355.5 69.3 348.6T84 341.8Q97.7 335.9 136.7 330.1 195.3 320.3 250 320.3 250 257.8 263.7 222.7 277.3 179.7 308.6 179.7 328.1 179.7 347.7 203.1 357.4 214.8 363.3 226.6V226.6 201.2Q367.2 169.9 373 144.5 382.8 109.4 398.4 87.9 418 62.5 447.3 62.5 486.3 62.5 531.3 111.3 564.5 148.4 597.7 205.1L625 253.9 652.3 257.8Q683.6 263.7 712.9 271.5 755.9 281.3 785.2 294.9 794.9 277.3 812.5 246.1 847.7 183.6 867.2 125 873 144.5 853.5 197.3 839.8 234.4 806.6 304.7V304.7L832 318.4Q859.4 337.9 877 357.4 902.3 384.8 902.3 410.2T865.2 445.3Q847.7 449.2 830.1 449.2V449.2ZM445.3 773.4Q457 775.4 476.6 771.5 490.2 767.6 503.9 760.7L517.6 753.9 482.4 689.5 433.6 724.6Q425.8 732.4 421.9 746.1 418 769.5 445.3 773.4ZM839.8 406.3Q839.8 388.7 814.5 367.2 798.8 353.5 783.2 343.8L746.1 406.3 798.8 431.6H802.7Q820.3 431.6 828.1 427.7 839.8 421.9 839.8 406.3ZM334 234.4Q320.3 234.4 310.5 252 294.9 275.4 294.9 318.4L367.2 320.3 363.3 261.7Q359.4 252 350.6 243.2T334 234.4ZM423.8 658.2Q361.3 625 314.5 537.1L298.8 566.4Q283.2 601.6 277.3 627 271.5 664.1 291 675.8 318.4 693.4 365.2 683.6 400.4 673.8 423.8 658.2ZM541 740.2L546.9 734.4Q615.2 683.6 652.3 638.7 720.7 554.7 726.6 460.9 673.8 431.6 599.6 406.3 546.9 386.7 490.2 373L443.4 363.3V351.6Q443.4 335.9 445.3 328.1 490.2 332 554.7 347.7 642.6 367.2 709 392.6 679.7 341.8 640.6 312.5 669.9 318.4 699.2 353.5 714.8 371.1 722.7 386.7V386.7L761.7 332 730.5 318.4Q691.4 300.8 650.4 293 593.8 279.3 543 281.3 478.5 283.2 423.8 308.6 421.9 384.8 453.1 502 466.8 562.5 482.4 607.4L451.2 621.1Q406.3 529.3 375 361.3L371.1 367.2Q355.5 384.8 349.6 400.4 339.8 425.8 339.8 462.9 332 437.5 335.9 410.2 339.8 388.7 351.6 367.2 359.4 353.5 361.3 351.6L294.9 343.8Q298.8 419.9 330.1 500 373 611.3 445.3 646.5 507.8 611.3 584 539.1 640.6 488.3 671.9 449.2L701.2 470.7 513.7 666Q570.3 666 617.2 646.5 584 679.7 511.7 679.7V681.6Q525.4 714.8 541 740.2ZM584 252Q582 246.1 568.4 224.6 546.9 197.3 527.3 179.7 500 158.2 478.5 160.2 455.1 168 440.4 204.1T425.8 287.1Q488.3 250 584 252ZM695.3 627Q714.8 627 732.4 625 771.5 621.1 796.9 611.3 830.1 595.7 830.1 573.2T808.6 525.4Q793 505.9 769.5 488.3T746.1 472.7Q746.1 527.3 720.7 584 709 611.3 695.3 627V627Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battlenet\"\n      ]\n    },\n    {\n      \"uid\": \"d55b979304663dda88080dbbc5761ef8\",\n      \"css\": \"billiards\",\n      \"code\": 985953,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V625H459V541ZM459 375H541V459H459V375ZM459 709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V437.5Q375 462.9 393.6 481.4T437.5 500Q412.1 500 393.6 518.6T375 562.5V625Q375 660.2 399.4 684.6T459 709ZM500 41Q375 41 269.5 102.5T102.5 269.5 41 500 102.5 730.5 269.5 897.5 500 959 730.5 897.5 897.5 730.5 959 500 897.5 269.5 730.5 102.5 500 41ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"billiards\"\n      ]\n    },\n    {\n      \"uid\": \"26165d584047bd4edd134f50c0d60991\",\n      \"css\": \"billiards-rack\",\n      \"code\": 985954,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M845.7 685.5L605.5 269.5Q580.1 224.6 530.3 210.9T435.5 224.6Q406.3 240.2 390.6 269.5L150.4 685.5Q125 730.5 137.7 779.3T195.3 853.5Q222.7 871.1 257.8 871.1H738.3Q791 871.1 827.1 835T863.3 746.1Q863.3 712.9 845.7 685.5ZM224.6 726.6L462.9 310.5Q470.7 296.9 487.3 292T519.5 294.9Q529.3 300.8 535.2 310.5L773.4 726.6Q783.2 742.2 778.3 757.8T757.8 783.2Q750 789.1 738.3 789.1H257.8Q242.2 789.1 229.5 776.4T216.8 746.1Q216.8 734.4 222.7 726.6H224.6ZM498 560.5Q464.8 560.5 440.4 536.1T416 477.5 440.4 418.9 499 394.5 557.6 418.9 582 477.5 557.6 536.1 498 560.5V560.5ZM394.5 748Q359.4 748 335 723.6T310.5 664.1 335 605.5 393.6 582 452.1 605.5 476.6 664.1 452.1 723.6 394.5 748ZM601.6 748Q568.4 746.1 543.9 722.7T519.5 665 543.9 606.4 602.5 582 661.1 605.5 685.5 664.1 661.1 723.6 601.6 748Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"billiards-rack\"\n      ]\n    },\n    {\n      \"uid\": \"34414eae7e38c5a6fbc3f58913f7f9ad\",\n      \"css\": \"book-open-outline\",\n      \"code\": 985955,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 166H125Q89.8 166 65.4 190.4T41 250V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V250Q959 214.8 934.6 190.4T875 166ZM125 791V250H459V791H125ZM875 791H541V250H875V791ZM584 396.5H834V459H584V396.5ZM584 500H834V562.5H584V500ZM584 603.5H834V666H584V603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3948392caab96104b8233b02b114735d\",\n      \"css\": \"book-outline\",\n      \"code\": 985956,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H750ZM750 166H541V500L437.5 406.3 334 500V166H250V834H750V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6780b8d81c11f0cf9e5255da6ad82b17\",\n      \"css\": \"boxing-glove\",\n      \"code\": 985957,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 666V250H916V666H791ZM500 166H291L259.8 169.9Q220.7 173.8 187.5 187.5 142.6 205.1 115.2 236.3 84 275.4 84 334V584Q84 677.7 169.9 720.7 179.7 662.1 225.6 623T334 584H459V666H334Q298.8 666 274.4 690.4T250 750 274.4 809.6 334 834H541Q599.6 834 638.7 806.6 669.9 787.1 687.5 750 701.2 724.6 705.1 693.4L709 666V250L699.2 236.3Q685.5 220.7 666 209 638.7 189.5 603.5 179.7 556.6 166 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boxing-glove\"\n      ]\n    },\n    {\n      \"uid\": \"ae0da30717b45af13c2e816d8ba42278\",\n      \"css\": \"calendar-blank-outline\",\n      \"code\": 985958,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166ZM791 834H209V416H791V834ZM791 334H209V250H791V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-blank-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ec2c4f82ff200efdeb811f3b03892433\",\n      \"css\": \"calendar-outline\",\n      \"code\": 985959,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166ZM791 834H209V416H791V834ZM791 334H209V250H791V334ZM500 541H709V750H500V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26bf8246d3de4921bd81d120bbd89804\",\n      \"css\": \"calendar-range-outline\",\n      \"code\": 985960,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 500H375V584H291V500ZM875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166H250V84H334V166H666V84H750V166H791Q826.2 166 850.6 190.4T875 250ZM209 334H791V250H209V334ZM791 834V416H209V834H791ZM625 584H709V500H625V584ZM459 584H541V500H459V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-range-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8b9478fef7070249a1adc7c642a29f67\",\n      \"css\": \"camera-control\",\n      \"code\": 985961,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 500Q375 451.2 413.1 413.1T500 375 586.9 413.1 625 500 586.9 586.9 500 625 413.1 586.9 375 500ZM230.5 351.6L304.7 425.8 230.5 500 304.7 574.2 230.5 648.4 84 500ZM351.6 769.5L425.8 695.3 500 769.5 574.2 695.3 648.4 769.5 500 916ZM769.5 648.4L695.3 574.2 769.5 500 695.3 425.8 769.5 351.6 916 500ZM648.4 230.5L574.2 304.7 500 230.5 425.8 304.7 351.6 230.5 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-control\"\n      ]\n    },\n    {\n      \"uid\": \"a3f820f48e37650d976149b898e50442\",\n      \"css\": \"camera-enhance-outline\",\n      \"code\": 985962,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416L460.9 502 375 541 460.9 580.1 500 666 539.1 580.1 625 541 539.1 502ZM834 209H701.2L625 125H375L298.8 209H166Q132.8 209 108.4 233.4T84 291V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V291Q916 257.8 891.6 233.4T834 209ZM834 791H166V291H335.9L412.1 209H587.9L664.1 291H834V791ZM500 334Q459 334 420.9 349.6T353.5 394.5 307.6 461.9 291 542 307.6 622.1 353.5 689.5 420.9 734.4 500 750Q556.6 750 604.5 721.7T680.7 645.5 709 541 680.7 436.5 604.5 361.3 500 334ZM500 666Q447.3 666 411.1 629.9T375 542 411.1 453.1 500 416 588.9 453.1 625 542 588.9 629.9 500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-enhance-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7d53d513922a36a7f2033db9bb2bb17a\",\n      \"css\": \"car-door\",\n      \"code\": 985963,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 584H666V666H791V584ZM916 875H125V459L459 125H875Q892.6 125 904.3 136.7T916 166V875ZM492.2 209L242.2 459H834V209H492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-door\"\n      ]\n    },\n    {\n      \"uid\": \"4ff49c405c305e0efdac2243b3f90651\",\n      \"css\": \"car-electric\",\n      \"code\": 985964,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 541L271.5 353.5H728.5L791 541H209ZM728.5 750Q703.1 750 684.6 731.4T666 687.5 684.6 643.6 729.5 625 773.4 643.6 791 687.5 773.4 731.4 728.5 750ZM271.5 750Q244.1 750 226.6 731.4T209 687.5 226.6 643.6 270.5 625 315.4 643.6 334 687.5 315.4 731.4 271.5 750ZM789.1 334Q781.3 314.5 765.6 302.7T728.5 291H271.5Q250 291 234.4 302.7T210.9 334L125 584V916Q125 933.6 136.7 946.3T166 959H209Q226.6 959 238.3 946.3T250 916V875H750V916Q750 933.6 761.7 946.3T791 959H834Q851.6 959 863.3 946.3T875 916V584ZM459 250V166H291L541 41V125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-electric\"\n      ]\n    },\n    {\n      \"uid\": \"375a4e993a26565bc9a337a7905d3fa2\",\n      \"css\": \"car-key\",\n      \"code\": 985965,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 0Q343.8 0 307.6 36.1T271.5 125 307.6 213.9 396.5 250Q435.5 250 467.8 226.6T513.7 166H603.5V250H687.5V166H728.5V84H513.7Q500 46.9 467.8 23.4T396.5 0ZM396.5 84Q414.1 84 425.8 95.7T437.5 125 425.8 154.3 396.5 166 366.2 154.3 353.5 125 366.2 95.7 396.5 84ZM271.5 334Q250 334 234.4 345.7T210.9 375L125 625V959Q125 976.6 136.7 988.3T166 1000H209Q226.6 1000 238.3 988.3T250 959V916H750V959Q750 976.6 761.7 988.3T791 1000H834Q851.6 1000 863.3 988.3T875 959V625L789.1 375Q781.3 357.4 765.6 345.7T728.5 334H271.5ZM271.5 396.5H728.5L791 584H209ZM271.5 666Q296.9 666 315.4 684.6T334 729.5 315.4 773.4 270.5 791 226.6 773.4 209 729.5 226.6 684.6 271.5 666ZM728.5 666Q755.9 666 773.4 684.6T791 729.5 773.4 773.4 729.5 791 684.6 773.4 666 729.5 684.6 684.6 728.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-key\"\n      ]\n    },\n    {\n      \"uid\": \"51bb6ef187941b90d73f0f189e4034d8\",\n      \"css\": \"car-multiple\",\n      \"code\": 985966,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 459L396.5 271.5H771.5L834 459H334ZM771.5 666Q744.1 666 726.6 648.4T709 604.5 726.6 559.6 770.5 541 815.4 559.6 834 604.5 815.4 648.4 771.5 666ZM396.5 666Q369.1 666 351.6 648.4T334 604.5 351.6 559.6 395.5 541 440.4 559.6 459 604.5 440.4 648.4 396.5 666ZM830.1 250Q824.2 230.5 807.6 219.7T771.5 209H396.5Q375 209 359.4 219.7T335.9 250L250 500V834Q250 851.6 261.7 863.3T291 875H334Q351.6 875 363.3 863.3T375 834V791H791V834Q791 851.6 803.7 863.3T834 875H875Q892.6 875 904.3 863.3T916 834V500ZM621.1 125Q615.2 105.5 598.6 94.7T562.5 84H187.5Q168 84 151.4 94.7T128.9 125L41 375V709Q41 726.6 53.7 738.3T84 750H125Q142.6 750 154.3 738.3T166 709V537.1Q142.6 529.3 131.8 505.9T128.9 459Q136.7 439.5 152.3 427.7T187.5 416H189.5L218.8 334H125L187.5 146.5H628.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"fc65b48ba40f099c3a57015c59a10da7\",\n      \"css\": \"card\",\n      \"code\": 985967,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card\"\n      ]\n    },\n    {\n      \"uid\": \"d7295d827399171f4002634c639358ce\",\n      \"css\": \"card-bulleted\",\n      \"code\": 985968,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834ZM459 541H375V625H459V541ZM791 541H541V625H791V541ZM291 375H209V459H291V375ZM791 375H375V459H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-bulleted\"\n      ]\n    },\n    {\n      \"uid\": \"4e50de000f101a8769861fe2f294b100\",\n      \"css\": \"card-bulleted-off\",\n      \"code\": 985969,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M138.7 148.4L861.3 869.1 800.8 929.7 705.1 834H166Q132.8 834 108.4 809.6T84 750V250Q84 234.4 89.8 216.8L50.8 179.7 111.3 119.1ZM275.4 166H834Q867.2 166 891.6 190.4T916 250V750Q916 773.4 904.3 794.9L732.4 625H834V541H650.4L566.4 459H834V375H482.4ZM414.1 541H375V625H459V585.9ZM248 375H209V459H291V419.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-bulleted-off\"\n      ]\n    },\n    {\n      \"uid\": \"818a1c960a5e44df47338846bf03e84b\",\n      \"css\": \"card-bulleted-off-outline\",\n      \"code\": 985970,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M857.4 869.1L798.8 929.7 703.1 834H166Q132.8 834 108.4 809.6T84 750V250Q84 234.4 89.8 218.8L48.8 179.7 107.4 119.1ZM273.4 166H834Q867.2 166 891.6 190.4T916 250V750Q916 775.4 902.3 796.9L834 726.6V250H355.5ZM166 750H619.1L494.1 625H416V546.9L328.1 459H250V380.9L166 296.9V750ZM750 625H730.5L648.4 541H750V625ZM750 459H564.5L480.5 375H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-bulleted-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5888b8598918127a21833810008f7273\",\n      \"css\": \"card-bulleted-outline\",\n      \"code\": 985971,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625H416V541H500V625ZM750 625H584V541H750V625ZM334 459H250V375H334V459ZM750 459H416V375H750V459ZM834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM166 250V750H834V250H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-bulleted-outline\"\n      ]\n    },\n    {\n      \"uid\": \"35979bdb04ceea8d7e72723dda64ad40\",\n      \"css\": \"card-bulleted-settings\",\n      \"code\": 985972,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916V1000H291V916H375ZM541 916V1000H459V916H541ZM709 916V1000H625V916H709ZM834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM459 541H375V625H459V541ZM791 541H541V625H791V541ZM291 375H209V459H291V375ZM791 375H375V459H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-bulleted-settings\"\n      ]\n    },\n    {\n      \"uid\": \"6cd54e66e0edd69c1bd08fa8907a4835\",\n      \"css\": \"card-bulleted-settings-outline\",\n      \"code\": 985973,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916V1000H291V916H375ZM541 916V1000H459V916H541ZM709 916V1000H625V916H709ZM500 625H416V541H500V625ZM750 625H584V541H750V625ZM334 459H250V375H334V459ZM750 459H416V375H750V459ZM834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM166 250V750H834V250H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-bulleted-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"68061b47c2f3e552bf430cb118e78946\",\n      \"css\": \"card-outline\",\n      \"code\": 985974,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM166 250V750H834V250H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cc876d184204d8008932efc99c383a5b\",\n      \"css\": \"card-text\",\n      \"code\": 985975,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM209 541V625H666V541H209ZM209 375V459H791V375H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-text\"\n      ]\n    },\n    {\n      \"uid\": \"b9fadf9f3b5c20aa0a3ccea525cfef00\",\n      \"css\": \"card-text-outline\",\n      \"code\": 985976,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM166 250V750H834V250H166ZM250 375H750V459H250V375ZM250 541H666V625H250V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bededee1e980c1aea53affdaf15dc62b\",\n      \"css\": \"chat\",\n      \"code\": 985977,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q613.3 125 709 169.9T860.4 291 916 458 860.4 625 709 746.1 500 791Q423.8 791 353.5 771.5 310.5 806.6 259.8 830.1 218.8 849.6 171.9 861.3 140.6 869.1 107.4 873L84 875Q146.5 812.5 175.8 753.9 195.3 716.8 197.3 687.5 144.5 642.6 114.3 583T84 459Q84 367.2 139.6 291T291 169.9 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat\"\n      ]\n    },\n    {\n      \"uid\": \"078e2a2d2223a53b81f82b784f61f673\",\n      \"css\": \"chat-alert\",\n      \"code\": 985978,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q613.3 125 709 169.9T860.4 291 916 458 860.4 625 709 746.1 500 791Q423.8 791 353.5 771.5 310.5 806.6 259.8 830.1 218.8 849.6 171.9 861.3 140.6 869.1 107.4 873L84 875Q146.5 812.5 175.8 753.9 195.3 716.8 197.3 687.5 144.5 642.6 114.3 583T84 459Q84 367.2 139.6 291T291 169.9 500 125ZM459 584V666H541V584H459ZM459 500H541V250H459V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-alert\"\n      ]\n    },\n    {\n      \"uid\": \"5fc7f4182a60e6a0594a54d4a6232fd2\",\n      \"css\": \"chat-processing\",\n      \"code\": 985979,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q613.3 125 709 169.9T860.4 291 916 458 860.4 625 709 746.1 500 791Q423.8 791 353.5 771.5 310.5 806.6 259.8 830.1 218.8 849.6 171.9 861.3 140.6 869.1 107.4 873L84 875Q146.5 812.5 175.8 753.9 195.3 716.8 197.3 687.5 144.5 642.6 114.3 583T84 459Q84 367.2 139.6 291T291 169.9 500 125ZM709 500V416H625V500H709ZM541 500V416H459V500H541ZM375 500V416H291V500H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-processing\"\n      ]\n    },\n    {\n      \"uid\": \"ad8f7c06935f41f4bafb8d73ea923983\",\n      \"css\": \"chef-hat\",\n      \"code\": 985980,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 62.5Q464.8 62.5 420.9 95.7T361.3 181.6Q328.1 166 291 166 222.7 166 173.8 214.8T125 334Q125 390.6 160.2 435.5T250 494.1V791H791V494.1Q847.7 480.5 881.8 435.5T916 334Q916 263.7 867.2 214.8T750 166Q714.8 166 679.7 181.6 664.1 128.9 620.1 95.7T521.5 62.5ZM500 437.5H541V728.5H500V437.5ZM375 521.5H416V728.5H375V521.5ZM625 521.5H666V728.5H625V521.5ZM250 834V875Q250 892.6 261.7 904.3T291 916H750Q767.6 916 779.3 904.3T791 875V834H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chef-hat\"\n      ]\n    },\n    {\n      \"uid\": \"672c40684f220813de3efb1596e05a4f\",\n      \"css\": \"cloud-upload-outline\",\n      \"code\": 59417,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 418Q785.2 310.5 699.2 238.3T500 166Q410.2 166 335.9 211.9T222.7 335.9Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418ZM791 750H250Q181.6 750 132.8 701.2T84 584Q84 519.5 126 471.7T232.4 418L275.4 414.1 296.9 373Q326.2 316.4 380.9 283.2T500 250Q582 250 645.5 301.8T724.6 435.5L736.3 498 800.8 502Q849.6 503.9 882.8 540T916 627 879.9 713.9 791 750ZM334 541H439.5V666H560.5V541H666L500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-upload-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fa86caf0bde13a50b1915f2fe3aabf8a\",\n      \"css\": \"coffin\",\n      \"code\": 985983,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 916L209 334 334 84H666L791 334 666 916H334ZM459 250V334H375V416H459V625H541V416H625V334H541V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffin\"\n      ]\n    },\n    {\n      \"uid\": \"613f8b9e63d588b4a940c47b5d71e858\",\n      \"css\": \"compass-off\",\n      \"code\": 985984,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 146.5L95.7 93.8 906.3 904.3 853.5 959 738.3 841.8Q630.9 916 500 916 418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500Q84 369.1 158.2 261.7ZM250 750L519.5 625 375 480.5ZM750 250L482.4 375 263.7 156.3Q369.1 84 500 84 582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500Q916 630.9 843.8 736.3L625 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compass-off\"\n      ]\n    },\n    {\n      \"uid\": \"cbfaa91b9838538ff7175c3cb09274e0\",\n      \"css\": \"compass-off-outline\",\n      \"code\": 985985,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 146.5L95.7 93.8 906.3 904.3 853.5 959 738.3 841.8Q630.9 916 500 916 418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500Q84 369.1 158.2 261.7ZM291 709L390.6 496.1 218.8 322.3Q166 406.3 166 498T210.9 667 333 789.1 502 834 677.7 781.3L503.9 609.4ZM709 291L609.4 502 498 390.6ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500Q916 630.9 843.8 736.3L783.2 675.8Q834 595.7 834 500 834 410.2 789.1 333T667 210.9 500 166Q404.3 166 324.2 216.8L263.7 156.3Q369.1 84 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compass-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"94840dd1650405cb570f3cd2b8b4d1a6\",\n      \"css\": \"controller-classic\",\n      \"code\": 985986,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291H750Q806.6 291 854.5 319.3T930.7 395.5 959 500 930.7 604.5 854.5 680.7 750 709Q699.2 709 656.3 686.5T584 625H416Q386.7 664.1 343.8 686.5T250 709Q193.4 709 145.5 680.7T69.3 604.5 41 500 69.3 395.5 145.5 319.3 250 291ZM822.3 396.5Q800.8 396.5 786.1 411.1T771.5 447.3 786.1 484.4 822.3 500 859.4 484.4 875 447.3 859.4 411.1 822.3 396.5ZM718.8 500Q697.3 500 681.6 515.6T666 552.7 681.6 588.9 718.8 603.5 755.9 588.9 771.5 552.7 755.9 515.6 718.8 500ZM209 375V459H125V541H209V625H291V541H375V459H291V375H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"controller-classic\"\n      ]\n    },\n    {\n      \"uid\": \"d0841e2d9dd5d9e538e6e54b3a527821\",\n      \"css\": \"controller-classic-outline\",\n      \"code\": 985987,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 291Q791 291 843.8 322.3T927.7 406.3 959 521.5Q959 566.4 941.4 608.4T891.6 682.6 817.4 732.4 728.5 750Q675.8 750 629.9 727.5T552.7 666H447.3Q416 705.1 370.1 727.5T271.5 750Q224.6 750 182.6 732.4T108.4 682.6 58.6 608.4 41 520.5 58.6 432.6 108.4 358.4 182.6 308.6 271.5 291H728.5ZM271.5 375Q210.9 375 168 418T125 521.5 168 624 271.5 666Q314.5 666 349.6 643.6T402.3 584H597.7Q615.2 621.1 650.4 643.6T728.5 666Q789.1 666 832 624T875 521.5 832 418 728.5 375H271.5ZM240.2 427.7H302.7V490.2H365.2V552.7H302.7V615.2H240.2V552.7H177.7V490.2H240.2V427.7ZM697.3 521.5Q714.8 521.5 727.5 533.2T740.2 562.5 727.5 591.8 697.3 603.5 668 591.8 656.3 562.5 668 533.2 697.3 521.5ZM781.3 437.5Q798.8 437.5 810.5 449.2T822.3 478.5 810.5 508.8 781.3 521.5 752 508.8 740.2 478.5 752 449.2 781.3 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"controller-classic-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8acd5ac0c3a46e440b2632e5df4f2760\",\n      \"css\": \"cube-scan\",\n      \"code\": 985988,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 916V834H834V709H916V853.5Q916 878.9 897.5 897.5T853.5 916H709ZM291 916H146.5Q121.1 916 102.5 897.5T84 853.5V709H166V834H291V916ZM709 84H853.5Q878.9 84 897.5 102.5T916 146.5V291H834V166H709V84ZM291 84V166H166V291H84V146.5Q84 121.1 102.5 102.5T146.5 84H291ZM541 718.8L709 623V431.6L541 527.3V718.8ZM500 455.1L666 359.4 500 261.7 334 359.4ZM291 623L459 718.8V527.3L291 431.6V623ZM759.8 316.4Q791 335.9 791 371.1V634.8Q791 669.9 759.8 689.5L531.3 822.3Q500 841.8 468.8 822.3L240.2 689.5Q209 669.9 209 634.8V371.1Q209 335.9 240.2 316.4L468.8 183.6Q484.4 175.8 500 175.8T531.3 183.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube-scan\"\n      ]\n    },\n    {\n      \"uid\": \"5c43f42fd8fb53116dff84c5d45b36be\",\n      \"css\": \"currency-brl\",\n      \"code\": 985989,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625H584Q584 658.2 621.1 683.6T709 709 796.9 683.6 834 625 800.8 574.2Q773.4 558.6 699.2 541 636.7 525.4 607.4 513.7 558.6 494.1 531.3 464.8 500 427.7 500 374T541 276.4 646.5 216.8V125H771.5V216.8Q835.9 232.4 876 276.4T916 375H834Q834 341.8 796.9 316.4T709 291 621.1 316.4 584 375 617.2 425.8Q642.6 441.4 718.8 459 779.3 474.6 808.6 486.3 859.4 505.9 884.8 535.2 916 572.3 916 626T876 723.6 771.5 783.2V875H646.5V783.2Q582 767.6 541 723.6T500 625ZM84 125H228.5Q275.4 125 317.4 142.6T391.6 192.4 441.4 266.6 459 353.5Q459 421.9 422.9 477.5T328.1 560.5L484.4 875H392.6L244.1 584H166V875H84V125ZM228.5 500Q289.1 500 332 457T375 353.5 332 251 228.5 209H166V500H228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-brl\"\n      ]\n    },\n    {\n      \"uid\": \"de3a9dcb889548c7e434c1188829737e\",\n      \"css\": \"database-edit\",\n      \"code\": 985990,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 584V709Q166 750 205.1 786.1T310.5 845.7 459 875V753.9L462.9 750Q380.9 744.1 313.5 721.7T206.1 662.1 166 584ZM500 541Q410.2 541 333 518.6T210.9 458 166 375V500Q166 544.9 210.9 583T333 643.6 500 666H548.8L709 505.9Q611.3 541 500 541ZM500 125Q410.2 125 333 147.5T210.9 208 166 292 210.9 376 333 436.5 500 459 667 436.5 789.1 376 834 292 789.1 208 667 147.5 500 125ZM875 462.9Q865.2 462.9 859.4 470.7L816.4 511.7 902.3 595.7 943.4 554.7Q951.2 546.9 951.2 538.1T943.4 521.5L892.6 470.7Q886.7 462.9 877 462.9H875ZM793 537.1L541 789.1V875H627L880.9 623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-edit\"\n      ]\n    },\n    {\n      \"uid\": \"6de90dcd5cd0c6ad5d7660d50817ba99\",\n      \"css\": \"deathly-hallows\",\n      \"code\": 985991,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L41 875H959ZM531.3 478.5Q587.9 490.2 619.1 539.1T636.7 646.5Q628.9 685.5 599.6 713.9T531.3 752V478.5ZM468.8 750Q412.1 738.3 380.9 688.5T363.3 584Q371.1 543 400.4 514.6T468.8 476.6V750ZM703.1 613.3Q701.2 539.1 652.3 483.4T531.3 416V261.7L849.6 812.5H544.9Q613.3 796.9 658.2 741.2T703.1 615.2V613.3ZM468.8 261.7V416Q414.1 425.8 372.1 459T310.5 543 298.8 648.4Q308.6 709 351.6 754.9T455.1 814.5H150.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"deathly-hallows\"\n      ]\n    },\n    {\n      \"uid\": \"a54749a2e2d20509b9337725fc3d99bf\",\n      \"css\": \"delete-circle-outline\",\n      \"code\": 985992,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM666 416V709Q666 726.6 654.3 738.3T625 750H375Q357.4 750 345.7 738.3T334 709V416H666ZM562.5 250L603.5 291H709V375H291V291H396.5L437.5 250H562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"daf9d7e497f9f4bc0c6b977fddd424f8\",\n      \"css\": \"delete-forever-outline\",\n      \"code\": 985993,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M587.9 435.5L500 525.4 412.1 435.5 351.6 494.1 441.4 584 353.5 671.9 412.1 730.5 500 642.6 587.9 730.5 646.5 671.9 558.6 584 646.5 494.1ZM646.5 166L603.5 125H396.5L353.5 166H209V250H791V166H646.5ZM250 791Q250 826.2 274.4 850.6T334 875H666Q701.2 875 725.6 850.6T750 791V291H250V791ZM334 375H666V791H334V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-forever-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7e16f5c2b41f63502eacda2a8a10fd15\",\n      \"css\": \"diamond\",\n      \"code\": 985994,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84L84 334 500 916 916 334 750 84H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diamond\"\n      ]\n    },\n    {\n      \"uid\": \"1f865f4d84869df7d4364382a9251af1\",\n      \"css\": \"diamond-outline\",\n      \"code\": 985995,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H250L84 334 500 916 916 334ZM185.5 334L294.9 166H705.1L814.5 334 500 773.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diamond-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c3c274a86e8feeba645015a3042e1e28\",\n      \"css\": \"dns-outline\",\n      \"code\": 985996,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V791H209V625H791ZM834 541H166Q148.4 541 136.7 553.7T125 584V834Q125 851.6 136.7 863.3T166 875H834Q851.6 875 863.3 863.3T875 834V584Q875 566.4 863.3 553.7T834 541ZM291 771.5Q265.6 771.5 247.1 752.9T228.5 708 247.1 664.1 292 646.5 335.9 664.1 353.5 708 335.9 752.9 291 771.5ZM791 209V375H209V209H791ZM834 125H166Q148.4 125 136.7 136.7T125 166V416Q125 433.6 136.7 446.3T166 459H834Q851.6 459 863.3 446.3T875 416V166Q875 148.4 863.3 136.7T834 125ZM291 353.5Q265.6 353.5 247.1 335.9T228.5 292 247.1 247.1 292 228.5 335.9 247.1 353.5 292 335.9 335.9 291 353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dns-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6308d94144f665d084a68aa75ffc2d98\",\n      \"css\": \"dots-horizontal-circle-outline\",\n      \"code\": 985997,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM500 437.5Q525.4 437.5 543.9 456.1T562.5 500 543.9 543.9 500 562.5 456.1 543.9 437.5 500 456.1 456.1 500 437.5ZM312.5 437.5Q337.9 437.5 356.4 456.1T375 500 356.4 543.9 312.5 562.5 268.6 543.9 250 500 268.6 456.1 312.5 437.5ZM687.5 437.5Q712.9 437.5 731.4 456.1T750 500 731.4 543.9 687.5 562.5 643.6 543.9 625 500 643.6 456.1 687.5 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dots-horizontal-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c19bb0c8f886370c5e65ba2915a57032\",\n      \"css\": \"dots-vertical-circle-outline\",\n      \"code\": 985998,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 500Q437.5 474.6 456.1 456.1T500 437.5 543.9 456.1 562.5 500 543.9 543.9 500 562.5 456.1 543.9 437.5 500ZM437.5 687.5Q437.5 662.1 456.1 643.6T500 625 543.9 643.6 562.5 687.5 543.9 731.4 500 750 456.1 731.4 437.5 687.5ZM437.5 312.5Q437.5 287.1 456.1 268.6T500 250 543.9 268.6 562.5 312.5 543.9 356.4 500 375 456.1 356.4 437.5 312.5ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dots-vertical-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d51f0773f6c9745cc6c6f7026a646250\",\n      \"css\": \"download-outline\",\n      \"code\": 985999,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 209V459H589.8L500 548.8 410.2 459H459V209H541ZM625 125H375V375H209L500 666 791 375H625V125ZM791 750H209V834H791V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-outline\"\n      ]\n    },\n    {\n      \"uid\": \"080cb82e8ce39c1e51e7ef512b4ce3cd\",\n      \"css\": \"drag-variant\",\n      \"code\": 986000,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M945.3 500L757.8 687.5 652.3 584 736.3 500 652.3 418 757.8 314.5ZM500 54.7L685.5 242.2 582 347.7 500 263.7 416 347.7 312.5 242.2ZM500 945.3L314.5 757.8 418 652.3 500 736.3 584 652.3 687.5 757.8ZM54.7 500L242.2 312.5 347.7 416 263.7 500 347.7 582 242.2 685.5ZM500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drag-variant\"\n      ]\n    },\n    {\n      \"uid\": \"1ced7fc569fed8649f7c9b35bd273d05\",\n      \"css\": \"eject-outline\",\n      \"code\": 986001,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 709H791V791H209V709ZM500 209L222.7 625H777.3ZM500 357.4L623 541H377Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eject-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6ad2f5613afce4b5d2511ebce6a8a7d\",\n      \"css\": \"email-mark-as-unread\",\n      \"code\": 986002,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M785.2 291H675.8L437.5 166 166 308.6V709Q132.8 709 108.4 684.6T84 625V298.8Q84 257.8 117.2 242.2L437.5 84 752 242.2Q781.3 259.8 785.2 291ZM291 334H834Q867.2 334 891.6 358.4T916 416V791Q916 826.2 891.6 850.6T834 875H291Q257.8 875 233.4 850.6T209 791V416Q209 382.8 233.4 358.4T291 334ZM834 486.3V416L562.5 554.7 291 416V486.3L562.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-mark-as-unread\"\n      ]\n    },\n    {\n      \"uid\": \"ac9f923f0de7645b4f63dec7e3019c17\",\n      \"css\": \"export-variant\",\n      \"code\": 986003,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L334 209H459V584H541V209H666ZM750 959H250Q214.8 959 190.4 934.6T166 875V375Q166 339.8 190.4 315.4T250 291H375V375H250V875H750V375H625V291H750Q785.2 291 809.6 315.4T834 375V875Q834 910.2 809.6 934.6T750 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"export-variant\"\n      ]\n    },\n    {\n      \"uid\": \"215dbf40b559efb669e89576e782ebb7\",\n      \"css\": \"eye-circle\",\n      \"code\": 986004,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 396.5Q457 396.5 426.8 426.8T396.5 500 426.8 573.2 500 603.5 573.2 573.2 603.5 500 573.2 426.8 500 396.5ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM500 396.5Q457 396.5 426.8 426.8T396.5 500 426.8 573.2 500 603.5 573.2 573.2 603.5 500 573.2 426.8 500 396.5ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 666Q418 666 349.6 621.1T250 500Q277.3 431.6 335 388.7T464.8 335.9 603.5 353.5Q654.3 375 691.4 413.1T750 500Q718.8 576.2 650.4 621.1T500 666ZM500 396.5Q457 396.5 426.8 426.8T396.5 500 426.8 573.2 500 603.5 573.2 573.2 603.5 500 573.2 426.8 500 396.5ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-circle\"\n      ]\n    },\n    {\n      \"uid\": \"b33f2aeb93bc002f6949b441130f26e8\",\n      \"css\": \"eye-circle-outline\",\n      \"code\": 986005,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916ZM500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 459Q517.6 459 529.3 470.7T541 500 529.3 529.3 500 541 470.7 529.3 459 500 470.7 470.7 500 459ZM500 334Q582 334 650.4 378.9T750 500Q722.7 568.4 665 611.3T535.2 664.1 396.5 646.5Q345.7 625 308.6 586.9T250 500Q281.3 423.8 349.6 378.9T500 334ZM500 396.5Q457 396.5 426.8 426.8T396.5 500 426.8 573.2 500 603.5 573.2 573.2 603.5 500 573.2 426.8 500 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c8c3645e796734942dd755878ada78d5\",\n      \"css\": \"face-outline\",\n      \"code\": 986006,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M427.7 541Q427.7 562.5 412.1 578.1T375 593.8 337.9 578.1 322.3 541 337.9 504.9 375 490.2 412.1 504.9 427.7 541ZM625 490.2Q603.5 490.2 587.9 504.9T572.3 541 587.9 578.1 625 593.8 662.1 578.1 677.7 541 662.1 504.9 625 490.2ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM443.4 171.9Q488.3 246.1 564.5 290T728.5 334Q753.9 334 785.2 328.1 740.2 253.9 665 210T500 166Q474.6 166 443.4 171.9ZM183.6 394.5Q238.3 363.3 277.3 315.4T335.9 209Q283.2 240.2 243.2 288.1T183.6 394.5ZM834 500Q834 453.1 820.3 406.3 773.4 416 728.5 416 632.8 416 548.8 375T406.3 263.7Q373 343.8 310.5 403.3T166 494.1V500Q166 589.8 210.9 667T333 789.1 500 834 667 789.1 789.1 667 834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c23f753ea837ccf0eb95e2e6232cf2dc\",\n      \"css\": \"file-remove\",\n      \"code\": 986008,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM541 375H771.5L541 146.5V375ZM416 607.4L328.1 519.5 269.5 578.1 357.4 666 269.5 755.9 328.1 814.5 416 724.6 505.9 814.5 564.5 755.9 474.6 666 564.5 578.1 505.9 519.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-remove\"\n      ]\n    },\n    {\n      \"uid\": \"488f0fa7a8e57a972cf9a60fda794fc9\",\n      \"css\": \"flag-minus\",\n      \"code\": 986009,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M517.6 209H750V625H459L441.4 541H209V834H125V125H500ZM584 709H916V791H584V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-minus\"\n      ]\n    },\n    {\n      \"uid\": \"4cde4eb40c4c42b299cbbfeb830194af\",\n      \"css\": \"flag-plus\",\n      \"code\": 986010,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM517.6 209H750V500Q681.6 500 624 534.2T533.2 625H459L441.4 541H209V834H125V125H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-plus\"\n      ]\n    },\n    {\n      \"uid\": \"6bdd8098a3a76b784a7fadb1114db84a\",\n      \"css\": \"flag-remove\",\n      \"code\": 986011,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750ZM517.6 209H750V500Q681.6 500 624 534.2T533.2 625H459L441.4 541H209V834H125V125H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-remove\"\n      ]\n    },\n    {\n      \"uid\": \"21384c7c9b6d9f74c81a75278dade334\",\n      \"css\": \"folder-account-outline\",\n      \"code\": 986012,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584Q677.7 584 728.5 603.5 791 628.9 791 666V709H459V666Q459 628.9 521.5 603.5 572.3 584 625 584ZM625 541Q660.2 541 684.6 516.6T709 458 684.6 399.4 625 375 565.4 399.4 541 458 565.4 516.6 625 541ZM916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334ZM834 334H166V750H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1c8c20681c48d769ae0f24d461e7322b\",\n      \"css\": \"folder-plus-outline\",\n      \"code\": 986013,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500H584V416H666V500H750V584H666V666H584V584H500V500ZM916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334ZM834 334H166V750H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b3617fc20429bc88338eed42d21f33cb\",\n      \"css\": \"folder-remove-outline\",\n      \"code\": 986014,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M476.6 453.1L537.1 394.5 625 482.4 712.9 394.5 773.4 453.1 683.6 541 773.4 630.9 712.9 689.5 625 599.6 537.1 689.5 476.6 630.9 566.4 541ZM916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334ZM834 334H166V750H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9154bc84188fbda6b224642609b8faf1\",\n      \"css\": \"folder-star-outline\",\n      \"code\": 986015,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M449.2 502L576.2 492.2 625 375 673.8 492.2 800.8 502 705.1 585.9 734.4 709 625 644.5 515.6 709 544.9 585.9ZM916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334ZM834 334H166V750H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ad8fb41f9d9a251608cce62163ea3b45\",\n      \"css\": \"gitlab\",\n      \"code\": 986016,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M914.1 546.9L871.1 412.1 781.3 138.7Q777.3 128.9 768.6 122.1T748 115.2 727.5 122.1 714.8 138.7L632.8 396.5H369.1L285.2 138.7Q281.3 128.9 272.5 122.1T252 115.2V115.2Q240.2 115.2 231.4 122.1T218.8 138.7L85.9 546.9Q80.1 562.5 85 577.1T103.5 601.6L488.3 880.9Q500 890.6 511.7 880.9L896.5 601.6Q910.2 591.8 915 577.1T914.1 546.9ZM339.8 435.5L447.3 765.6 189.5 435.5H339.8ZM552.7 765.6L656.3 449.2 660.2 435.5H810.5L578.1 734.4ZM748 164.1L824.2 396.5H673.8ZM619.1 435.5L544.9 664.1 500 800.8 380.9 435.5H619.1ZM252 164.1L326.2 396.5H175.8ZM127 570.3Q121.1 564.5 123 558.6L156.3 457 398.4 767.6ZM873 570.3L601.6 767.6 843.8 457 877 558.6Q878.9 564.5 873 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gitlab\"\n      ]\n    },\n    {\n      \"uid\": \"37b5192208c61e7d8299f5685813f7de\",\n      \"css\": \"gog\",\n      \"code\": 986017,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H834Q867.2 125 891.6 149.4T916 209V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125ZM435.5 230.5Q419.9 230.5 409.2 242.2T398.4 269.5V398.4Q398.4 414.1 409.2 424.8T435.5 435.5H564.5Q580.1 435.5 590.8 424.8T601.6 398.4V269.5Q601.6 253.9 590.8 242.2T564.5 230.5H435.5ZM460.9 281.3H539.1Q543 281.3 546.9 285.2T550.8 294.9V371.1Q550.8 377 546.9 380.9T539.1 384.8H460.9Q457 384.8 453.1 380.9T449.2 371.1V294.9Q449.2 289.1 453.1 285.2T460.9 281.3ZM205.1 230.5Q189.5 230.5 177.7 242.2T166 269.5V398.4Q166 414.1 177.7 424.8T205.1 435.5H294.9V384.8H230.5Q224.6 384.8 221.7 380.9T218.8 371.1V294.9Q218.8 289.1 221.7 285.2T230.5 281.3H306.6Q312.5 281.3 316.4 285.2T320.3 294.9V449.2Q320.3 453.1 316.4 457T306.6 460.9H166V513.7H334Q349.6 513.7 360.4 502T371.1 474.6V269.5Q371.1 253.9 360.4 242.2T334 230.5H205.1ZM666 230.5Q650.4 230.5 639.6 242.2T628.9 269.5V398.4Q628.9 414.1 639.6 424.8T666 435.5H755.9V384.8H693.4Q687.5 384.8 683.6 380.9T679.7 371.1V294.9Q679.7 289.1 683.6 285.2T693.4 281.3H769.5Q775.4 281.3 778.3 285.2T781.3 294.9V449.2Q781.3 453.1 778.3 457T769.5 460.9H628.9V513.7H794.9Q810.5 513.7 822.3 502T834 474.6V269.5Q834 253.9 822.3 242.2T794.9 230.5H666ZM410.2 564.5Q394.5 564.5 382.8 575.2T371.1 601.6V730.5Q371.1 746.1 382.8 757.8T410.2 769.5H539.1Q554.7 769.5 565.4 757.8T576.2 730.5V601.6Q576.2 585.9 565.4 575.2T539.1 564.5H410.2ZM435.5 615.2H513.7Q519.5 615.2 522.5 619.1T525.4 628.9V705.1Q525.4 710.9 521.5 714.8T513.7 718.8H435.5Q429.7 718.8 426.8 714.8T423.8 705.1V628.9Q423.8 623 426.8 619.1T435.5 615.2ZM205.1 564.5Q189.5 564.5 177.7 575.2T166 601.6V730.5Q166 746.1 177.7 757.8T205.1 769.5H345.7V718.8H230.5Q224.6 718.8 221.7 714.8T218.8 705.1V628.9Q218.8 623 221.7 619.1T230.5 615.2H345.7V564.5H205.1ZM640.6 564.5Q625 564.5 613.3 575.2T601.6 601.6V769.5H654.3V628.9Q654.3 623 658.2 619.1T666 615.2H693.4V769.5H744.1V615.2H781.3V769.5H834V564.5H640.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gog\"\n      ]\n    },\n    {\n      \"uid\": \"bdc2686ea9a86c20a90b7cb3e6469df7\",\n      \"css\": \"grave-stone\",\n      \"code\": 986018,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q683.6 84 738.3 156.3 791 224.6 791 334V777.3Q718.8 742.2 660.2 726.6 589.8 709 500 709T339.8 726.6Q281.3 742.2 209 777.3V334Q209 224.6 261.7 156.3 316.4 84 416 84ZM334 334V396.5H666V334H334ZM375 500V562.5H625V500H375ZM125 916V888.7Q265.6 798.8 419.9 775.4 664.1 738.3 875 884.8V916H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grave-stone\"\n      ]\n    },\n    {\n      \"uid\": \"960b99b1e3aef479a0e17d243bcb5830\",\n      \"css\": \"halloween\",\n      \"code\": 986019,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 250Q332 250 378.9 306.6 416 269.5 459 255.9V166Q459 132.8 483.4 108.4T541 84H625V166H541V255.9Q584 269.5 621.1 306.6 668 250 728.5 250 781.3 250 824.2 292T891.6 406.3 916 562.5 891.6 718.8 824.2 833 728.5 875Q668 875 621.1 818.4 568.4 875 500 875T378.9 818.4Q332 875 271.5 875 218.8 875 175.8 833T108.4 718.8 84 562.5 108.4 406.3 175.8 292 271.5 250ZM375 416L322.3 509.8H427.7ZM625 416L572.3 509.8H677.7ZM334 709H416L459 666 500 709H584L625 666 666 709 728.5 584 580.1 609.4 541 666 500 625H416L375 666 334 625 250 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"halloween\"\n      ]\n    },\n    {\n      \"uid\": \"1705d71c7ba34ef494f0ac643a948cd2\",\n      \"css\": \"hat-fedora\",\n      \"code\": 986020,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M796.9 496.1V470.7Q796.9 400.4 780.3 331.1T735.4 216.8 677.7 171.9Q658.2 171.9 632.8 181.6 619.1 187.5 588.9 202.1T544.9 222.7Q519.5 232.4 500 232.4T455.1 222.7Q439.5 216.8 410.2 202.1T365.2 181.6Q341.8 171.9 320.3 171.9 293 171.9 264.6 215.8T219.7 329.1 203.1 470.7V496.1Q351.6 529.3 502 529.3T796.9 496.1ZM144.5 757.8Q318.4 810.5 500 810.5T855.5 757.8Q882.8 748 899.4 724.6T916 673.8 899.4 622.1 857.4 589.8Q685.5 644.5 500 644.5T142.6 589.8Q117.2 597.7 100.6 621.1T84 673.8 100.6 725.6 144.5 757.8V757.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hat-fedora\"\n      ]\n    },\n    {\n      \"uid\": \"4172ad8eeb9fb005fb2220152b006682\",\n      \"css\": \"help-rhombus\",\n      \"code\": 986021,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 289.1Q554.7 291 588.9 324.2T625 404.3 595.7 492.2Q585.9 502 564.5 518.6T534.2 545.9 523.4 574.2Q521.5 584 521.5 603.5H459Q459 570.3 460.9 556.6 462.9 533.2 472.7 518.6T513.7 484.4L531.3 470.7Q556.6 447.3 561.5 420.9T549.8 375 500 351.6Q474.6 351.6 456.1 370.1T437.5 416H375Q375 363.3 412.1 326.2T500 289.1ZM459 646.5H521.5V709H459V646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-rhombus\"\n      ]\n    },\n    {\n      \"uid\": \"ef7d4f1830b4c6a69e749634ca8d5988\",\n      \"css\": \"help-rhombus-outline\",\n      \"code\": 986022,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 646.5H521.5V709H459V646.5ZM500 289.1Q554.7 291 588.9 324.2T625 404.3 595.7 492.2Q585.9 502 564.5 518.6T534.2 545.9 523.4 574.2Q521.5 584 521.5 603.5H459Q459 570.3 460.9 556.6 462.9 533.2 472.7 518.6T513.7 484.4L531.3 470.7Q556.6 447.3 561.5 420.9T549.8 375 500 351.6Q474.6 351.6 456.1 370.1T437.5 416H375Q375 363.3 412.1 326.2T500 289.1ZM500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 166L834 500 500 834 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-rhombus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e897412661e2c3105ebf66afd6664391\",\n      \"css\": \"home-variant-outline\",\n      \"code\": 986023,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 541H625V791H750V416L500 228.5 250 416V791H375V541ZM166 875V375L500 125 834 375V875H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5a20c0f301b75b59f0f8232a46196414\",\n      \"css\": \"inbox-multiple-outline\",\n      \"code\": 986024,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V500Q875 535.2 850.6 559.6T791 584H209Q173.8 584 149.4 559.6T125 500V209Q125 173.8 149.4 149.4T209 125H791ZM209 416V500H392.6Q351.6 464.8 337.9 416H209ZM791 500V416H662.1Q648.4 464.8 607.4 500H791ZM791 334V209H209V334H416V375Q416 408.2 441.4 433.6T500 459 558.6 433.6 584 375V334H791ZM875 791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V625H416V666Q416 699.2 441.4 724.6T500 750 558.6 724.6 584 666V625H875V791ZM209 709V791H392.6Q351.6 755.9 337.9 709H209ZM791 791V709H662.1Q648.4 755.9 607.4 791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fb89b2cd5fe4f3bca966b2c737aae9ea\",\n      \"css\": \"library-shelves\",\n      \"code\": 986025,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 375V62.5H687.5V375H562.5V62.5H437.5V375H312.5V62.5H193.4V375H125V437.5H875V375H812.5ZM812.5 562.5H687.5V875H562.5V562.5H437.5V875H312.5V562.5H193.4V875H125V937.5H875V875H812.5V562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"library-shelves\"\n      ]\n    },\n    {\n      \"uid\": \"340c5ffa2076d415a02b9e3cb2b15057\",\n      \"css\": \"mapbox\",\n      \"code\": 986026,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM697.3 601.6Q736.3 562.5 749 509.8T747.1 403.3 691.4 308.6 596.7 252.9 490.2 251 398.4 302.7Q349.6 351.6 322.3 423.8 300.8 482.4 294.9 554.7 291 605.5 296.9 656.3L300.8 699.2 343.8 703.1Q394.5 709 445.3 703.1 517.6 699.2 576.2 677.7 648.4 650.4 697.3 601.6ZM548.8 328.1L587.9 412.1 671.9 451.2 587.9 492.2 548.8 576.2 507.8 492.2 423.8 451.2 507.8 412.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mapbox\"\n      ]\n    },\n    {\n      \"uid\": \"eea32ed7dfae926f5c0e80cf131c5c16\",\n      \"css\": \"menu-open\",\n      \"code\": 986027,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 650.4L816.4 709 607.4 500 816.4 291 875 349.6 726.6 500ZM125 250H666V334H125V250ZM125 541V459H541V541H125ZM125 750V666H666V750H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"menu-open\"\n      ]\n    },\n    {\n      \"uid\": \"9a35d9c7609ca3e76c3ca8295423ed65\",\n      \"css\": \"molecule\",\n      \"code\": 986028,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M302.7 416L375 291H601.6L648.4 209 646.5 187.5Q646.5 162.1 664.1 143.6T708 125 752.9 143.6 771.5 185.5 757.8 226.6 722.7 248L681.6 318.4 738.3 416 775.4 353.5 771.5 334Q771.5 306.6 789.1 289.1T833 271.5 877.9 289.1 896.5 331.1 882.8 372.1 847.7 394.5L787.1 500 859.4 625Q882.8 627 899.4 644.5T916 687.5 898.4 731.4 854.5 750 809.6 731.4 791 687.5V675.8L738.3 584 681.6 681.6 722.7 752Q744.1 755.9 757.8 773.4T771.5 814.5 752.9 856.4 708 875 664.1 856.4 646.5 812.5L648.4 791 601.6 709H441.4L392.6 791 396.5 812.5Q396.5 837.9 377.9 856.4T333 875 289.1 856.4 271.5 814.5 285.2 773.4 320.3 752L359.4 681.6 181.6 375Q158.2 373 141.6 355.5T125 312.5 143.6 268.6 187.5 250 231.4 268.6 250 312.5V324.2ZM423.8 375L351.6 500 423.8 625H619.1L691.4 500 619.1 375H423.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"molecule\"\n      ]\n    },\n    {\n      \"uid\": \"ad40b382a8039e3e071d707259c7518b\",\n      \"css\": \"one-up\",\n      \"code\": 986029,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 791V791Q398.4 791 386.7 780.3T375 750V709Q375 691.4 386.7 678.7T416 666V666Q433.6 666 446.3 677.7T459 709V750Q459 769.5 447.3 780.3T416 791ZM625 750V709Q625 691.4 613.3 678.7T584 666V666Q566.4 666 553.7 677.7T541 709V750Q541 765.6 552.7 778.3T584 791V791Q601.6 791 613.3 780.3T625 750ZM916 500Q916 580.1 871.1 649.4T750 767.6V834Q750 867.2 725.6 891.6T666 916H334Q298.8 916 274.4 891.6T250 834V767.6Q173.8 718.8 128.9 649.4T84 499 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM291 416Q291 382.8 274.4 353.5T228.5 308.6Q166 388.7 166 500 166 529.3 169.9 541 220.7 539.1 255.9 502.9T291 416ZM375 375Q375 427.7 411.1 463.9T500 500 588.9 463.9 625 375 588.9 286.1 500 250 411.1 286.1 375 375ZM666 834V646.5Q584 625 500 625T334 646.5V834H666ZM830.1 541Q834 529.3 834 500 834 388.7 771.5 308.6 742.2 324.2 725.6 353.5T709 416Q709 466.8 744.1 502.9T830.1 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"one-up\"\n      ]\n    },\n    {\n      \"uid\": \"2fba90f06ff9df488d3510edd28ac466\",\n      \"css\": \"open-source-initiative\",\n      \"code\": 986030,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M642.6 916H634.8Q625 914.1 623 906.3L531.3 664.1Q527.3 656.3 531.3 648.4T541 638.7Q587.9 621.1 607.4 576.2T609.4 485.4 547.9 419.9 458 418 392.6 480.5 391.6 572.3 459 636.7Q466.8 638.7 469.7 646.5T470.7 662.1L375 904.3Q373 912.1 365.2 915T349.6 914.1Q244.1 875 174.8 788.1T87.9 591.8 111.3 377 238.3 202.1 434.6 115.2 650.4 136.7Q726.6 168 787.1 224.6T880.9 357.4 916 515.6 888.7 675.8Q857.4 759.8 794.9 822.3T648.4 916H642.6ZM500 150.4Q398.4 146.5 310.5 195.3T169.9 329.1 115.2 515.6Q113.3 630.9 175.8 728.5T345.7 871.1L425.8 666Q369.1 634.8 349.6 573.2T361.3 454.1 455.1 377.9 574.2 390.6 650.4 483.4 638.7 603.5Q615.2 644.5 574.2 666L654.3 873Q720.7 841.8 772.5 787.1T851.6 664.1Q888.7 568.4 874 469.7T797.9 293 642.6 175.8Q574.2 148.4 500 150.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"open-source-initiative\"\n      ]\n    },\n    {\n      \"uid\": \"b85df69d5339dcc52210f29c53846a6e\",\n      \"css\": \"pac-man\",\n      \"code\": 986031,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500L794.9 794.9Q714.8 875 607.4 903.3T392.6 903.3 205.1 794.9 96.7 607.4 96.7 392.6 205.1 205.1 392.6 96.7 607.4 96.7 794.9 205.1ZM791 416Q757.8 416 733.4 440.4T709 500 733.4 559.6 792 584 850.6 559.6 875 500 850.6 440.4 791 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pac-man\"\n      ]\n    },\n    {\n      \"uid\": \"7fc5373faa08b6516e7fb950b84d8128\",\n      \"css\": \"page-next\",\n      \"code\": 986032,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 125H209Q173.8 125 149.4 149.4T125 209V459H291V375L459 500 291 625V541H125V791Q125 826.2 149.4 850.6T209 875H834Q867.2 875 891.6 850.6T916 791V209Q916 173.8 891.6 149.4T834 125ZM709 709H541V625H709V709ZM834 541H541V459H834V541ZM834 375H541V291H834V375ZM125 541H0V459H125V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-next\"\n      ]\n    },\n    {\n      \"uid\": \"1e91e833a192de93a27497445e49fe03\",\n      \"css\": \"page-next-outline\",\n      \"code\": 986033,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H209Q173.8 125 149.4 149.4T125 209V375H209V209H916V791H209V625H125V791Q125 826.2 149.4 850.6T209 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM291 625V541H0V459H291V375L459 500ZM834 541H541V459H834V541ZM834 375H541V291H834V375ZM709 709H541V625H709V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-next-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9d14a39f82543b62755a77f9567ea83d\",\n      \"css\": \"page-previous\",\n      \"code\": 986034,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 875H791Q826.2 875 850.6 850.6T875 791V541H709V625L541 500 709 375V459H875V209Q875 173.8 850.6 149.4T791 125H166Q132.8 125 108.4 149.4T84 209V791Q84 826.2 108.4 850.6T166 875ZM166 625H334V709H166V625ZM166 459H459V541H166V459ZM166 291H459V375H166V291ZM875 459H1000V541H875V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-previous\"\n      ]\n    },\n    {\n      \"uid\": \"36e7da66acbf43c463aa706e039d87bd\",\n      \"css\": \"page-previous-outline\",\n      \"code\": 986035,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H791Q826.2 125 850.6 149.4T875 209V375H791V209H84V791H791V625H875V791Q875 826.2 850.6 850.6T791 875H84Q48.8 875 24.4 850.6T0 791V209Q0 173.8 24.4 149.4T84 125ZM709 625V541H1000V459H709V375L541 500ZM166 541H459V459H166V541ZM166 375H459V291H166V375ZM166 709H334V625H166V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-previous-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2a5d1fd13962315b13087620e045bef8\",\n      \"css\": \"pan\",\n      \"code\": 986036,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L334 291H666ZM291 334L103.5 500 291 666V334ZM709 334V666L896.5 500ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM334 709L500 896.5 666 709H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan\"\n      ]\n    },\n    {\n      \"uid\": \"bf0deb637474b3108b9e614346879a7f\",\n      \"css\": \"pan-bottom-left\",\n      \"code\": 986037,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM222.7 541L459 777.3 209 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-bottom-left\"\n      ]\n    },\n    {\n      \"uid\": \"2297264af8fca1c95f352e0b699ff4a2\",\n      \"css\": \"pan-bottom-right\",\n      \"code\": 986038,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM541 777.3L777.3 541 791 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-bottom-right\"\n      ]\n    },\n    {\n      \"uid\": \"bb9d870c99fff9bf68ab3f3e12d84c6b\",\n      \"css\": \"pan-down\",\n      \"code\": 986039,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM334 709L500 896.5 666 709H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-down\"\n      ]\n    },\n    {\n      \"uid\": \"d9d4587c30f32d024350ed0c61b7e828\",\n      \"css\": \"pan-horizontal\",\n      \"code\": 986040,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 334L103.5 500 291 666V334ZM709 334V666L896.5 500ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"ab91fc4604bf556bff650624ca9902f2\",\n      \"css\": \"pan-left\",\n      \"code\": 986041,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 334L103.5 500 291 666V334ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-left\"\n      ]\n    },\n    {\n      \"uid\": \"cdb1fd51e288d65d3504127bd8a639e0\",\n      \"css\": \"pan-right\",\n      \"code\": 986042,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 334V666L896.5 500ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-right\"\n      ]\n    },\n    {\n      \"uid\": \"c57cfd771ac0aceafccc97bd00340691\",\n      \"css\": \"pan-top-left\",\n      \"code\": 986043,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM459 222.7L222.7 459 209 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-top-left\"\n      ]\n    },\n    {\n      \"uid\": \"0f0744fef86f633b9c2c1b595e4f1c67\",\n      \"css\": \"pan-top-right\",\n      \"code\": 986044,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q535.2 416 559.6 440.4T584 500 559.6 559.6 500 584 440.4 559.6 416 500 440.4 440.4 500 416ZM777.3 459L541 222.7 791 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-top-right\"\n      ]\n    },\n    {\n      \"uid\": \"5d22c81179423cec2932ed490fe03456\",\n      \"css\": \"pan-up\",\n      \"code\": 986045,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L334 291H666ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-up\"\n      ]\n    },\n    {\n      \"uid\": \"cc676aad629155244f94dd33e274515a\",\n      \"css\": \"pan-vertical\",\n      \"code\": 986046,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 103.5L334 291H666ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM334 709L500 896.5 666 709H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pan-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"0498bd3823e4be4b6d3c42ad18bff6b8\",\n      \"css\": \"pumpkin\",\n      \"code\": 986047,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 250Q332 250 378.9 306.6 416 269.5 459 255.9V166Q459 132.8 483.4 108.4T541 84H625V166H541V255.9Q584 269.5 621.1 306.6 668 250 728.5 250 781.3 250 824.2 292T891.6 406.3 916 562.5 891.6 718.8 824.2 833 728.5 875Q668 875 621.1 818.4 568.4 875 500 875T378.9 818.4Q332 875 271.5 875 218.8 875 175.8 833T108.4 718.8 84 562.5 108.4 406.3 175.8 292 271.5 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pumpkin\"\n      ]\n    },\n    {\n      \"uid\": \"d4faca7faaeaf8f9290e06a8aa4ed833\",\n      \"css\": \"rollupjs\",\n      \"code\": 986048,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M810.5 359.4Q810.5 435.5 772.5 500T671.9 599.6Q662.1 607.4 666 617.2L808.6 898.4Q812.5 904.3 808.6 910.2T796.9 916H253.9L257.8 914.1Q263.7 912.1 310.5 834 378.9 722.7 421.9 660.2 496.1 550.8 556.6 492.2 587.9 462.9 630.9 425.8 668 394.5 675.8 382.8 685.5 367.2 677.7 343.8 673.8 326.2 642.6 269.5L636.7 257.8 650.4 289.1Q664.1 324.2 666 345.7 668 378.9 646.5 382.8T595.7 361.3 550.8 300.8Q535.2 259.8 550.8 223.6T608.4 176.8 697.3 179.7 775.4 224.6Q810.5 287.1 810.5 359.4ZM298.8 546.9Q218.8 693.4 189.5 773.4V95.7Q189.5 91.8 193.4 87.9T201.2 84H539.1Q611.3 84 671.9 119.1T769.5 214.8Q744.1 181.6 705.1 164.1T625 146.5 558.6 158.2Q529.3 171.9 498 210T418 330.1Q380.9 394.5 298.8 546.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rollupjs\"\n      ]\n    },\n    {\n      \"uid\": \"1b850bee8c4e66f7a7da296aca496197\",\n      \"css\": \"script\",\n      \"code\": 986049,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M742.2 834Q728.5 871.1 697.3 893.6T625 916H209Q154.3 916 119.1 880.9T84 791V750H591.8Q603.5 787.1 635.7 810.5T709 834H742.2ZM791 84H334Q279.3 84 244.1 119.1T209 209V666H666V709Q666 726.6 677.7 738.3T709 750H750V209Q750 189.5 761.7 177.7T792 166 822.3 177.7 834 209V250H916V209Q916 154.3 880.9 119.1T791 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"script\"\n      ]\n    },\n    {\n      \"uid\": \"9aa616280931c52b472091ada4b0b9af\",\n      \"css\": \"script-text\",\n      \"code\": 986050,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M742.2 834Q728.5 871.1 697.3 893.6T625 916H209Q154.3 916 119.1 880.9T84 791V750H591.8Q603.5 787.1 635.7 810.5T709 834H742.2ZM791 84Q845.7 84 880.9 119.1T916 209V250H834V209Q834 189.5 822.3 177.7T792 166 761.7 177.7 750 209V750H709Q689.5 750 677.7 738.3T666 709V666H209V209Q209 154.3 244.1 119.1T334 84H791ZM334 250V334H625V250H334ZM334 416V500H584V416H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"script-text\"\n      ]\n    },\n    {\n      \"uid\": \"3c6fc46e3d9aada1edf9a94a65d5eb68\",\n      \"css\": \"script-text-outline\",\n      \"code\": 986051,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q642.6 834 654.3 821.3T666 791V166H334Q316.4 166 303.7 178.7T291 209V666H209V209Q209 156.3 245.1 120.1T334 84H791Q843.8 84 879.9 120.1T916 209V250H834V209Q834 191.4 821.3 178.7T791 166 761.7 178.7 750 209V791Q750 843.8 713.9 879.9T625 916H209Q156.3 916 120.1 879.9T84 791V750H541Q541 785.2 565.4 809.6T625 834ZM375 250H584V334H375V250ZM375 416H584V500H375V416ZM375 584H584V666H375V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"script-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f75bfaf956b15a8b5d57af558a2e4812\",\n      \"css\": \"shield-key\",\n      \"code\": 986052,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q517.6 334 529.3 345.7T541 375 529.3 404.3 500 416 470.7 404.3 459 375 470.7 345.7 500 334ZM875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 250Q447.3 250 411.1 286.1T375 375Q375 416 398.4 448.2T459 492.2V750H541V666H625V584H541V492.2Q578.1 480.5 601.6 448.2T625 375Q625 322.3 588.9 286.1T500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-key\"\n      ]\n    },\n    {\n      \"uid\": \"4415d46c672aa75e7dab31982196c031\",\n      \"css\": \"shield-key-outline\",\n      \"code\": 986053,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM500 250Q552.7 250 588.9 286.1T625 375Q625 416 601.6 448.2T541 492.2V584H625V666H541V750H459V492.2Q421.9 480.5 398.4 448.2T375 375Q375 322.3 411.1 286.1T500 250ZM500 334Q482.4 334 470.7 345.7T459 375 470.7 404.3 500 416 529.3 404.3 541 375 529.3 345.7 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-key-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4582a74a7b1b684b012127fcb5f3d0c4\",\n      \"css\": \"skull-crossbones\",\n      \"code\": 986054,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M658.2 771.5L908.2 837.9 892.6 916 500 812.5 107.4 916 87.9 837.9 337.9 771.5 84 705.1 103.5 625 496.1 728.5 886.7 625 908.2 705.1ZM750 334Q750 439.5 666 517.6V625H584V541H541V625H459V541H416V625H334V517.6Q250 439.5 250 334 250 265.6 283.2 208T374 117.2 500 84 626 117.2 716.8 208 750 334ZM459 312.5Q459 287.1 439.5 268.6T395.5 250 352.5 268.6 334 312.5 352.5 356.4 395.5 375 439.5 356.4 459 312.5ZM541 459L500 375 459 459H541ZM666 312.5Q666 287.1 647.5 268.6T604.5 250 560.5 268.6 541 312.5 560.5 356.4 604.5 375 647.5 356.4 666 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skull-crossbones\"\n      ]\n    },\n    {\n      \"uid\": \"009ddc86a2ff01a382afe6e1aaf062d3\",\n      \"css\": \"skull-crossbones-outline\",\n      \"code\": 986055,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M658.2 771.5L908.2 837.9 892.6 916 500 812.5 107.4 916 87.9 837.9 337.9 771.5 84 705.1 103.5 625 496.1 728.5 886.7 625 908.2 705.1ZM396.5 250Q371.1 250 352.5 268.6T334 312.5 352.5 356.4 395.5 375 439.5 356.4 459 312.5 439.5 268.6 396.5 250ZM603.5 250Q580.1 250 560.5 268.6T541 312.5 560.5 356.4 604.5 375 647.5 356.4 666 312.5 647.5 268.6 603.5 250ZM541 459L500 375 459 459H541ZM500 41Q419.9 41 353.5 80.1T248 186.5 209 334Q209 390.6 230.5 443.4T291 537.1V666H709V537.1Q748 496.1 769.5 443.4T791 334Q791 253.9 752 186.5T646.5 80.1 500 41ZM625 500V584H584V500H541V584H459V500H416V584H375V500Q335.9 470.7 313.5 427.7T291 334Q291 246.1 351.6 185.5T500 125 648.4 185.5 709 334Q709 382.8 686.5 426.8T625 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skull-crossbones-outline\"\n      ]\n    },\n    {\n      \"uid\": \"76d6102676e37d883f236f481cef4b1e\",\n      \"css\": \"skull-outline\",\n      \"code\": 986056,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 625Q298.8 625 274.4 600.6T250 542 274.4 483.4 333 459 391.6 483.4 416 542 391.6 600.6 334 625ZM437.5 709L500 584 562.5 709H437.5ZM666 625Q632.8 625 608.4 600.6T584 542 608.4 483.4 667 459 725.6 483.4 750 542 725.6 600.6 666 625ZM916 459Q916 375 884.8 298.8T794.9 164.1 659.2 73.2 500 41 340.8 73.2 205.1 164.1 115.2 298.8 84 459 117.2 621.1Q150.4 695.3 209 753.9V916H791V753.9Q849.6 695.3 882.8 621.1 916 543 916 459ZM709 834H625V750H541V834H459V750H375V834H291V716.8Q234.4 668 200.2 601.6T166 459Q166 367.2 210.9 291T333 169.9 500 125 667 169.9 789.1 291 834 459Q834 535.2 799.8 603.5T709 716.8V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skull-outline\"\n      ]\n    },\n    {\n      \"uid\": \"74fbd37aa5ebfd24232fbfbaad6c4700\",\n      \"css\": \"space-invaders\",\n      \"code\": 986057,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 250H209V166H291V250ZM709 250H791V166H709V250ZM959 500V750H875V584H791V750H709V666H291V750H209V584H125V750H41V500H125V416H209V334H291V250H375V334H625V250H709V334H791V416H875V500H959ZM625 416V500H709V416H625ZM291 500H375V416H291V500ZM459 750H291V834H459V750ZM709 750H541V834H709V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"space-invaders\"\n      ]\n    },\n    {\n      \"uid\": \"f9ed66f779c7b7fdfba0416447db3d64\",\n      \"css\": \"spider-web\",\n      \"code\": 986058,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M568.4 552.7L636.7 648.4Q638.7 611.3 648.4 579.1T679.7 517.6ZM740.2 791Q738.3 705.1 767.6 618.2T847.7 462.9L763.7 490.2Q710.9 523.4 688.5 591.8T687.5 716.8ZM802.7 875Q771.5 904.3 734.4 925.8L720.7 906.3Q623 853.5 500 853.5T279.3 906.3L265.6 925.8Q228.5 904.3 197.3 875L209 861.3Q230.5 753.9 190.4 631.8T70.3 435.5L52.7 429.7Q62.5 386.7 78.1 349.6L95.7 355.5Q203.1 343.8 307.6 268.6T459 93.8V74.2L500 72.3 541 74.2V91.8Q585.9 193.4 690.4 268.6T902.3 357.4L921.9 349.6Q937.5 386.7 947.3 429.7L925.8 437.5Q845.7 509.8 806.6 630.9T789.1 857.4ZM459 474.6V353.5Q435.5 382.8 408.2 402.3 375 425.8 343.8 437.5ZM459 175.8Q410.2 248 335 302.7T173.8 380.9L255.9 408.2Q320.3 414.1 380.9 370.1T459 265.6V175.8ZM541 474.6L656.3 437.5Q623 423.8 593.8 403.3T541 353.5V474.6ZM824.2 380.9Q742.2 357.4 667 302.7T541 175.8V261.7Q556.6 326.2 616.2 369.1T740.2 408.2ZM431.6 552.7L318.4 515.6Q337.9 544.9 349.6 580.1T361.3 650.4ZM148.4 460.9Q201.2 529.3 230.5 618.2T257.8 794.9L306.6 724.6Q332 664.1 309.6 593.8T234.4 488.3ZM500 601.6L431.6 697.3Q464.8 687.5 500 687.5T568.4 697.3ZM326.2 841.8Q408.2 812.5 500 812.5T673.8 841.8L619.1 767.6Q572.3 728.5 500 728.5T380.9 767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spider-web\"\n      ]\n    },\n    {\n      \"uid\": \"2d8f2ded984109fae484c8d05cbe3c26\",\n      \"css\": \"view-split-horizontal\",\n      \"code\": 986059,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209H875V291H125V209ZM125 459V375H875V459H125ZM125 791V541H875V791H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-split-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"c544272eb0a04852d4928e142a13b9b4\",\n      \"css\": \"view-split-vertical\",\n      \"code\": 986060,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 209H875V791H541V209ZM125 209H459V291H125V209ZM125 459V375H459V459H125ZM125 791V709H459V791H125ZM125 625V541H459V625H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-split-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"0a25e80baa5f3df4db1e913ee321d38b\",\n      \"css\": \"swap-horizontal-bold\",\n      \"code\": 986061,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 416V541H584V750H334V875L84 646.5ZM916 353.5L666 125V250H416V459H666V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-horizontal-bold\"\n      ]\n    },\n    {\n      \"uid\": \"c38e3954edcd6f0b76433249944c7d2e\",\n      \"css\": \"swap-vertical-bold\",\n      \"code\": 986062,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 334H459V584H250V334H125L353.5 84ZM646.5 916L875 666H750V416H541V666H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-vertical-bold\"\n      ]\n    },\n    {\n      \"uid\": \"e9c5064477c1f8367ac1c8206ec5d6ab\",\n      \"css\": \"tag-heart-outline\",\n      \"code\": 986063,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4L517.6 107.4Q492.2 84 459 84H166ZM459 166L834 541 541 834 166 459V166H459ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM457 437.5Q421.9 437.5 396.5 462.9T371.1 523.4 396.5 584L541 728.5 687.5 584Q712.9 558.6 712.9 523.4T687.5 462.9 627 437.5 566.4 462.9L541 488.3 517.6 462.9Q492.2 437.5 457 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6cee15bfea0b65bf6467093c381aa150\",\n      \"css\": \"target-account\",\n      \"code\": 986064,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M873 459H937.5V541H873Q863.3 627 817.4 699.2T699.2 817.4 541 873V937.5H459V873Q373 863.3 300.8 817.4T182.6 699.2 127 541H62.5V459H127Q136.7 373 182.6 300.8T300.8 182.6 459 127V62.5H541V127Q627 136.7 699.2 182.6T817.4 300.8 873 459ZM210.9 459H271.5V541H210.9Q224.6 636.7 293.9 706.1T459 789.1V728.5H541V789.1Q636.7 775.4 706.1 706.1T789.1 541H728.5V459H789.1Q775.4 363.3 706.1 293.9T541 210.9V271.5H459V210.9Q363.3 224.6 293.9 293.9T210.9 459ZM666 666H334V625Q334 587.9 396.5 562.5 447.3 541 500 541T603.5 562.5Q666 587.9 666 625V666ZM500 334Q535.2 334 559.6 358.4T584 417 559.6 475.6 500 500 440.4 475.6 416 417 440.4 358.4 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"target-account\"\n      ]\n    },\n    {\n      \"uid\": \"0fda7a504578b45c6c65c34b0c3ecc78\",\n      \"css\": \"timeline\",\n      \"code\": 986065,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline\"\n      ]\n    },\n    {\n      \"uid\": \"a8ac8e17d9a32306e4442c142f9c4528\",\n      \"css\": \"timeline-outline\",\n      \"code\": 986066,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM416 250V750H916V250H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dc469b173c521c5fc5ad46b35c4a0249\",\n      \"css\": \"timeline-text\",\n      \"code\": 986067,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916H166V666H84V916ZM209 500Q209 464.8 184.6 440.4T125 416 65.4 440.4 41 500 65.4 559.6 125 584 184.6 559.6 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM791 541H459V625H791V541ZM875 375H459V459H875V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-text\"\n      ]\n    },\n    {\n      \"uid\": \"69d22511def59cd258dabba8e8cc6c0d\",\n      \"css\": \"timeline-text-outline\",\n      \"code\": 986068,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM166 84V334H84V84H166ZM84 916V666H166V916H84ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM916 250H416V451.2L367.2 500 416 548.8V750H916V250ZM500 375H834V459H500V375ZM500 541H750V625H500V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f97001d89bd0752913226bbe49fc3c9\",\n      \"css\": \"tooltip-image-outline\",\n      \"code\": 986069,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM166 166V666H367.2L500 798.8 632.8 666H834V166H166ZM312.5 250Q337.9 250 356.4 268.6T375 312.5 356.4 356.4 312.5 375 268.6 356.4 250 312.5 268.6 268.6 312.5 250ZM250 584L459 375 541 459 750 250V584H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-image-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1b020ec2321642579a54862aac2bd0d5\",\n      \"css\": \"tooltip-plus\",\n      \"code\": 986070,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM459 250V375H334V459H459V584H541V459H666V375H541V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-plus\"\n      ]\n    },\n    {\n      \"uid\": \"816070191a7af47df39ea9a0e88357d7\",\n      \"css\": \"tooltip-text-outline\",\n      \"code\": 986071,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM166 166V666H367.2L500 798.8 632.8 666H834V166H166ZM250 291H750V375H250V291ZM250 459H666V541H250V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b85bb0d597f29b64fe00b72635585dcf\",\n      \"css\": \"train-car\",\n      \"code\": 986072,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166H209Q156.3 166 120.1 203.1T84 291V625Q84 677.7 120.1 713.9T209 750L166 791V834H209L291 748 375 750V541H166V250H541V334H625V291Q625 240.2 588.9 203.1T500 166ZM209 584Q226.6 584 238.3 595.7T250 625 238.3 654.3 209 666 178.7 654.3 166 625 178.7 595.7 209 584ZM857.4 402.3Q853.5 390.6 841.8 382.8T816.4 375H517.6Q502 375 491.2 382.8T476.6 402.3L416 574.2V802.7Q416 814.5 424.8 824.2T445.3 834H470.7Q482.4 834 491.2 824.2T500 800.8V750H834V800.8Q834 814.5 841.8 824.2T861.3 834H886.7Q898.4 834 907.2 824.2T916 802.7V574.2ZM517.6 416H816.4L859.4 541H474.6ZM500 666Q482.4 666 470.7 654.3T459 625 470.7 595.7 500 584 529.3 595.7 541 625 529.3 654.3 500 666ZM834 666Q816.4 666 803.7 654.3T791 625 803.7 595.7 834 584 863.3 595.7 875 625 863.3 654.3 834 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"train-car\"\n      ]\n    },\n    {\n      \"uid\": \"7a790bb9dbd1a551166e998d54176da0\",\n      \"css\": \"triforce\",\n      \"code\": 986073,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M62.5 875L500 146.5 937.5 875H62.5ZM500 875L709 500H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"triforce\"\n      ]\n    },\n    {\n      \"uid\": \"5fa9275143928f7ee3c86049cf4a6979\",\n      \"css\": \"ubisoft\",\n      \"code\": 986074,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M474.6 84Q361.3 84 265.6 142.6 195.3 185.5 144.5 253.9 117.2 289.1 105.5 314.5L138.7 337.9 127 361.3Q115.2 392.6 107.4 425.8 97.7 472.7 97.7 517.6 97.7 619.1 149.4 711.9T291 859.4Q386.7 916 502 916 611.3 916 703.1 862.3T848.6 716.8 902.3 517.6Q902.3 380.9 837.9 277.3 779.3 183.6 677.7 130.9 582 84 474.6 84ZM478.5 154.3Q576.2 154.3 658.2 202.1T788.1 331.1 835.9 507.8 791 683.6Q748 757.8 672.9 801.8T509.8 845.7Q445.3 845.7 388.7 815.4T297.9 731.4 263.7 613.3Q263.7 556.6 291 513.7 312.5 474.6 351.6 451.2L357.4 459Q345.7 468.8 330.1 503.9 310.5 544.9 310.5 584 310.5 662.1 364.3 712.9T498 763.7Q562.5 763.7 613.3 730.5T692.4 640.6 720.7 517.6Q720.7 441.4 679.7 376T570.3 271.5 419.9 232.4Q359.4 232.4 298.8 255.9 248 275.4 209 304.7L203.1 298.8Q246.1 230.5 318.4 192.4T478.5 154.3ZM416 300.8Q496.1 300.8 563.5 348.6T650.4 468.8L640.6 472.7Q603.5 423.8 550.8 394.5 494.1 361.3 431.6 361.3 353.5 361.3 294.9 404.3 242.2 443.4 215.8 506.8T195.3 632.8L185.5 636.7 177.7 611.3Q168 580.1 168 550.8 168 482.4 201.2 425.8T292 335 416 300.8ZM486.3 472.7Q523.4 472.7 549.8 498T576.2 560.5Q576.2 584 562.5 605.5 556.6 617.2 550.8 623V623L580.1 644.5 570.3 656.3Q556.6 669.9 541 677.7 517.6 689.5 490.2 689.5 445.3 689.5 413.1 658.2T380.9 580.1 414.1 502.9 486.3 472.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ubisoft\"\n      ]\n    },\n    {\n      \"uid\": \"2fcc5335fb12e38b739c07733de211ab\",\n      \"css\": \"video-off-outline\",\n      \"code\": 986075,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M142.6 78.1L84 136.7 197.3 250H166Q148.4 250 136.7 261.7T125 291V709Q125 726.6 136.7 738.3T166 750H666Q677.7 750 689.5 742.2L822.3 875 880.9 816.4ZM209 666V334H281.3L613.3 666H209ZM625 334V441.4L875 691.4V271.5L709 437.5V291Q709 273.4 696.3 261.7T666 250H433.6L515.6 334H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8cef9b20b493c61a8b3d103c2b6babda\",\n      \"css\": \"video-outline\",\n      \"code\": 986076,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 334V666H209V334H625ZM666 250H166Q148.4 250 136.7 261.7T125 291V709Q125 726.6 136.7 738.3T166 750H666Q683.6 750 696.3 738.3T709 709V562.5L875 728.5V271.5L709 437.5V291Q709 273.4 696.3 261.7T666 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f3856bf7ab98fbfa9531a109ab987b82\",\n      \"css\": \"wallet-outline\",\n      \"code\": 986077,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V697.3Q894.5 685.5 905.3 667T916 625V375Q916 351.6 905.3 333T875 302.7V209Q875 173.8 850.6 149.4T791 125H209ZM209 209H791V291H541Q507.8 291 483.4 315.4T459 375V625Q459 660.2 483.4 684.6T541 709H791V791H209V209ZM541 375H834V625H541V375ZM666 437.5Q640.6 437.5 622.1 456.1T603.5 500 622.1 543.9 667 562.5 710.9 543.9 728.5 500 710.9 456.1 666 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet-outline\"\n      ]\n    },\n    {\n      \"uid\": \"075e810f3bf1939c834245f63568b611\",\n      \"css\": \"waze\",\n      \"code\": 986078,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M855.5 275.4Q898.4 335.9 912.1 408.2 925.8 488.3 899.4 563.5T816.4 691.4Q773.4 732.4 720.7 757.8 734.4 791 719.7 823.2T671.9 869.1Q656.3 875 640.6 875 605.5 875 581.1 850.6T554.7 791H425.8Q423.8 828.1 395.5 850.6T333 870.1 276.4 842.8 253.9 785.2Q253.9 771.5 257.8 761.7 156.3 726.6 91.8 642.6 80.1 628.9 83 611.3T99.6 584 127 574.2Q148.4 574.2 159.2 567.4T175.8 548.8Q191.4 502 191.4 455.1 193.4 423.8 199.2 388.7 210.9 335.9 240.2 289.1T312.5 209Q418 125 554.7 125 644.5 125 724.6 166T855.5 275.4ZM697.3 720.7Q752 695.3 793.9 651.4T857.4 550.8Q890.6 451.2 853.5 359.4 818.4 275.4 735.4 221.7T554.7 168Q529.3 168 509.8 171.9 414.1 183.6 339.8 242.2 259.8 306.6 242.2 396.5 238.3 414.1 236.3 455.1 232.4 507.8 226.6 531.3 216.8 572.3 197.3 591.8 171.9 617.2 127 617.2 189.5 695.3 283.2 724.6 310.5 699.2 345.7 702.1T406.3 730.5Q414.1 738.3 416 748H564.5Q580.1 714.8 615.2 704.1T681.6 710.9Q687.5 712.9 695.3 720.7H697.3ZM457 429.7Q439.5 429.7 425.8 418T411.1 387.7 421.9 355.5 452.1 340.8 484.4 352.5 499 383.8 488.3 415 459 429.7H457ZM652.3 429.7Q634.8 429.7 621.1 418T606.4 387.7 617.2 355.5 647.5 340.8 679.7 352.5 694.3 383.8 682.6 415 652.3 429.7V429.7ZM404.3 502Q402.3 494.1 407.2 486.3T420.9 476.6 437.5 480.5 447.3 494.1V494.1Q459 529.3 489.3 549.8T554.7 566.4Q589.8 568.4 620.1 548.8T662.1 494.1Q666 486.3 674.8 483.4T691.4 486.3Q703.1 492.2 703.1 505.9 691.4 550.8 652.3 578.1 607.4 609.4 554.7 609.4H550.8Q500 611.3 458 582T404.3 502V502Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"waze\"\n      ]\n    },\n    {\n      \"uid\": \"93d30a50a709e7cad663e63144ca95da\",\n      \"css\": \"wrap-disabled\",\n      \"code\": 986079,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 291H125V209H666V291ZM125 791H666V709H125V791ZM916 500L750 375V459H125V541H750V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wrap-disabled\"\n      ]\n    },\n    {\n      \"uid\": \"d670b0f395ba3a61b975a6387f8a2471\",\n      \"css\": \"access-point-network-off\",\n      \"code\": 986081,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 576.2Q666 527.3 666 458T617.2 339.8L675.8 281.3Q710.9 316.4 730.5 362.3T750 459 730.5 554.7 675.8 634.8ZM584 459Q584 423.8 559.6 399.4T499 375 437.5 404.3L554.7 521.5Q584 496.1 584 459ZM736.3 693.4L794.9 752Q851.6 695.3 883.8 619.1T916 458 883.8 296.9 794.9 164.1L736.3 222.7Q781.3 267.6 807.6 329.1T834 459 807.6 587.9 736.3 693.4ZM916 882.8V834H867.2ZM843.8 916L875 947.3 822.3 1000 738.3 916H625Q625 933.6 613.3 946.3T584 959H416Q398.4 959 386.7 946.3T375 916H84V834H375Q375 816.4 386.7 803.7T416 791H459V636.7L347.7 525.4Q361.3 556.6 382.8 576.2L324.2 634.8Q289.1 599.6 269.5 554.7T250 459Q250 439.5 252 429.7L181.6 359.4Q166 410.2 166 459 166 527.3 192.4 587.9T263.7 693.4L205.1 752Q148.4 695.3 116.2 619.1T84 458 117.2 294.9L41 218.8 95.7 166 845.7 916H843.8ZM656.3 834L541 718.8V791H584Q601.6 791 613.3 803.7T625 834H656.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"access-point-network-off\"\n      ]\n    },\n    {\n      \"uid\": \"833f75d9d810f7ae93fbe883cabfcfac\",\n      \"css\": \"account-heart-outline\",\n      \"code\": 986083,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 625L183.6 603.5 164.1 585.9Q97.7 523.4 76.2 496.1 41 451.2 41 413.1T68.4 347.7 132.8 320.3Q156.3 320.3 175.8 329.1T209 353.5Q220.7 337.9 241.2 329.1T283.2 320.3Q322.3 320.3 348.6 346.7T375 412.1 341.8 496.1Q318.4 523.4 252 585.9L232.4 603.5ZM625 166Q556.6 166 507.8 214.8T459 333 507.8 451.2 625 500 742.2 451.2 791 333 742.2 214.8 625 166ZM625 419.9Q587.9 419.9 562.5 394.5T537.1 333 562.5 271.5 625 246.1 687.5 271.5 712.9 333 687.5 394.5 625 419.9ZM625 541Q562.5 541 488.3 560.5 404.3 582 353.5 615.2 291 656.3 291 709V834H959V709Q959 656.3 896.5 615.2 845.7 582 761.7 560.5 687.5 541 625 541ZM878.9 753.9H371.1V709Q371.1 695.3 410.2 673.8T503.9 636.7Q566.4 621.1 625 621.1T746.1 636.7Q800.8 652.3 839.8 673.8T878.9 709V753.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b47e05ed3363a467b322bc2d2303a68c\",\n      \"css\": \"account-key-outline\",\n      \"code\": 986084,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M242.2 416Q230.5 378.9 198.2 356.4T125 334Q72.3 334 36.1 370.1T0 458 36.1 546.9 125 584Q166 584 198.2 560.5T242.2 500H334V584H416V500H459V416H242.2ZM125 500Q107.4 500 95.7 488.3T84 459 95.7 428.7 125 416 154.3 428.7 166 459 154.3 488.3 125 500ZM666 166Q597.7 166 548.8 214.8T500 333 548.8 451.2 667 500 785.2 451.2 834 333 785.2 214.8 666 166ZM666 419.9Q630.9 419.9 605.5 394.5T580.1 333 605.5 271.5 667 246.1 728.5 271.5 753.9 333 728.5 394.5 666 419.9ZM666 541Q605.5 541 531.3 560.5 447.3 582 394.5 615.2 334 656.3 334 709V834H1000V709Q1000 656.3 937.5 615.2 886.7 582 802.7 560.5 728.5 541 666 541ZM919.9 753.9H412.1V709Q412.1 695.3 451.2 673.8T544.9 636.7Q607.4 621.1 666 621.1T787.1 636.7Q841.8 652.3 880.9 673.8T919.9 709V753.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-key-outline\"\n      ]\n    },\n    {\n      \"uid\": \"71f493f13d39f4f34081d20ad9cba9d6\",\n      \"css\": \"account-multiple-minus-outline\",\n      \"code\": 986085,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459Q593.8 459 629.9 421.9T666 333 629.9 245.1 542 209 453.1 245.1 416 333 453.1 421.9 541 459ZM541 291Q554.7 291 565.4 298.8T581.1 317.4 583 340.8 571.3 362.3 549.8 374 525.4 372.1 506.8 356.4 500 334Q500 316.4 511.7 303.7T541 291ZM712.9 453.1Q750 398.4 750 333T712.9 214.8Q730.5 209 750 209 802.7 209 838.9 245.1T875 333 838.9 421.9 750 459Q730.5 459 712.9 453.1ZM541 541Q470.7 541 419.9 558.6 375 574.2 345.7 599.6 322.3 621.1 308.6 650.4 296.9 669.9 293 691.4L291 709V791H791V709L789.1 691.4Q785.2 669.9 775.4 650.4 761.7 621.1 738.3 599.6 707 574.2 664.1 558.6 611.3 541 541 541ZM375 709Q375 695.3 384.8 681.6 398.4 658.2 429.7 644.5 472.7 625 541 625 634.8 625 679.7 660.2 705.1 679.7 709 709H375ZM1000 709V791H875V709Q873 662.1 853.5 619.1T800.8 544.9Q869.1 550.8 916 578.1 953.1 599.6 974.6 634.8 990.2 658.2 996.1 685.5ZM334 500H0V416H334V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e166c7f21e3c1a865b3e26c67e4892c6\",\n      \"css\": \"account-network-outline\",\n      \"code\": 986086,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q560.5 416 603.5 374T646.5 271.5 603.5 168 500 125 396.5 168 353.5 271.5 396.5 374 500 416ZM500 209Q525.4 209 543.9 226.6T562.5 270.5 543.9 315.4 500 334 456.1 315.4 437.5 270.5 456.1 226.6 500 209ZM625 834Q625 816.4 613.3 803.7T584 791H541V709H791V646.5Q791 605.5 752 572.3T646.5 519.5 500 500 353.5 519.5 248 572.3 209 646.5V709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM316.4 625Q345.7 607.4 388.7 597.7 439.5 584 500 584T611.3 597.7Q654.3 607.4 683.6 625H316.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9c8598442ae901c8543b62d19e356d4e\",\n      \"css\": \"account-star-outline\",\n      \"code\": 986088,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 166Q693.4 166 742.2 214.8T791 333 742.2 451.2 625 500 507.8 451.2 459 333 507.8 214.8 625 166ZM625 246.1Q587.9 246.1 562.5 271.5T537.1 333 562.5 394.5 625 419.9 687.5 394.5 712.9 333 687.5 271.5 625 246.1ZM625 541Q687.5 541 761.7 560.5 845.7 582 896.5 615.2 959 656.3 959 709V834H291V709Q291 656.3 353.5 615.2 404.3 582 488.3 560.5 562.5 541 625 541ZM625 621.1Q566.4 621.1 503.9 636.7 449.2 652.3 410.2 673.8T371.1 709V753.9H878.9V709Q878.9 695.3 839.8 673.8T746.1 636.7Q683.6 621.1 625 621.1ZM209 552.7L103.5 615.2 132.8 498 41 419.9 162.1 410.2 209 298.8 253.9 410.2 375 419.9 283.2 498 310.5 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"44f266f1d8c61c4e48e45918b3de8817\",\n      \"css\": \"airbag\",\n      \"code\": 986089,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 334Q584 390.6 555.7 438.5T479.5 513.7 375 541Q334 541 295.9 525.4T228.5 480.5 182.6 413.1 166 334Q166 277.3 194.3 229.5T270.5 153.3 375 125 479.5 153.3 555.7 229.5 584 334ZM435.5 648.4L541 752H459L312.5 898.4 250 837.9ZM709 84Q742.2 84 766.6 108.4T791 167 766.6 225.6 708 250 649.4 225.6 625 167 649.4 108.4 709 84ZM599.6 625H482.4L720.7 863.3 779.3 804.7ZM630.9 595.7L808.6 775.4 818.4 783.2Q834 757.8 834 728.5V396.5Q834 353.5 802.7 322.3T728.5 291 655.3 322.3 625 396.5V589.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airbag\"\n      ]\n    },\n    {\n      \"uid\": \"26a056c6f54c0b53b7a226b9382db0fe\",\n      \"css\": \"alarm-light-outline\",\n      \"code\": 986090,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 287.1L162.1 199.2 220.7 140.6 308.6 228.5ZM541 41V166H459V41H541ZM837.9 199.2L750 287.1 691.4 228.5 779.3 140.6ZM187.5 437.5V521.5H62.5V437.5H187.5ZM812.5 437.5H937.5V521.5H812.5V437.5ZM250 834H750Q785.2 834 809.6 858.4T834 916H166Q166 882.8 190.4 858.4T250 834ZM500 209Q548.8 209 595.7 227.5T677.7 281.3 731.4 362.3 750 459V791H250V459Q250 408.2 268.6 362.3T322.3 281.3 404.3 227.5 500 209ZM500 291Q431.6 291 382.8 339.8T334 459V709H666V459Q666 388.7 617.2 339.8T500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-light-outline\"\n      ]\n    },\n    {\n      \"uid\": \"14093e343039e38ac277c793abb0993f\",\n      \"css\": \"alpha-a-box-outline\",\n      \"code\": 986091,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209ZM459 291H541Q576.2 291 600.6 315.4T625 375V709H541V541H459V709H375V375Q375 339.8 399.4 315.4T459 291ZM459 375V459H541V375H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-a-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3faa7e87a43501a3f2d0a0536613335b\",\n      \"css\": \"alpha-a-circle\",\n      \"code\": 986092,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM459 291Q423.8 291 399.4 315.4T375 375V709H459V541H541V709H625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V459H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-a-circle\"\n      ]\n    },\n    {\n      \"uid\": \"769d5e03abfcf8023fddd50d78782cce\",\n      \"css\": \"alpha-a-circle-outline\",\n      \"code\": 986093,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H541Q576.2 291 600.6 315.4T625 375V709H541V541H459V709H375V375Q375 339.8 399.4 315.4T459 291ZM459 375V459H541V375H459ZM500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-a-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7db27dd6103305a9c3fc0623bb5e3264\",\n      \"css\": \"alpha-b-box-outline\",\n      \"code\": 986094,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 437.5Q625 462.9 606.4 481.4T562.5 500Q587.9 500 606.4 518.6T625 562.5V625Q625 660.2 600.6 684.6T541 709H375V291H541Q576.2 291 600.6 315.4T625 375V437.5ZM541 625V541H459V625H541ZM541 459V375H459V459H541ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-b-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7ae5d05060f62931065d7cdf52ee7819\",\n      \"css\": \"alpha-b-circle\",\n      \"code\": 986095,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM625 437.5V375Q625 339.8 600.6 315.4T541 291H375V709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5ZM541 625H459V541H541V625ZM541 459H459V375H541V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-b-circle\"\n      ]\n    },\n    {\n      \"uid\": \"287060f109c3f799db1e227c89b42c21\",\n      \"css\": \"alpha-b-circle-outline\",\n      \"code\": 986096,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 437.5Q625 462.9 606.4 481.4T562.5 500Q587.9 500 606.4 518.6T625 562.5V625Q625 660.2 600.6 684.6T541 709H375V291H541Q576.2 291 600.6 315.4T625 375V437.5ZM541 625V541H459V625H541ZM541 459V375H459V459H541ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-b-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2aece54abf9ec0079963d92e3671d8d3\",\n      \"css\": \"alpha-c-box-outline\",\n      \"code\": 986097,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209ZM459 291H541Q576.2 291 600.6 315.4T625 375V416H541V375H459V625H541V584H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-c-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"38ceb0ada511734979c61fc1bfc91808\",\n      \"css\": \"alpha-c-circle\",\n      \"code\": 986098,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V584H541V625H459V375H541V416H625V375Q625 339.8 600.6 315.4T541 291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-c-circle\"\n      ]\n    },\n    {\n      \"uid\": \"d0843613897a8742ec40a693d87e7154\",\n      \"css\": \"alpha-c-circle-outline\",\n      \"code\": 986099,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H541Q576.2 291 600.6 315.4T625 375V416H541V375H459V625H541V584H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-c-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"67e504a1a4b16e7be99ba02cd81924dd\",\n      \"css\": \"alpha-d-box-outline\",\n      \"code\": 986100,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709H375V291ZM459 375V625H541V375H459ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-d-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e6bfff7077819d0c8e3562296d6d6153\",\n      \"css\": \"alpha-d-circle\",\n      \"code\": 986101,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM375 291V709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-d-circle\"\n      ]\n    },\n    {\n      \"uid\": \"3e5597e245dc4f9e741ed01caa27c92a\",\n      \"css\": \"alpha-d-circle-outline\",\n      \"code\": 986102,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709H375V291ZM459 375V625H541V375H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-d-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"201d964d007eaf5584ea477b8f4f8ff6\",\n      \"css\": \"alpha-e-box-outline\",\n      \"code\": 986103,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H459V459H625V541H459V625H625V709H375V291ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-e-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"93656faff94d992d654546d648234fbb\",\n      \"css\": \"alpha-e-circle\",\n      \"code\": 986104,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM375 291V709H625V625H459V541H625V459H459V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-e-circle\"\n      ]\n    },\n    {\n      \"uid\": \"0a179ebfe44a5aa57273b22fa25a7445\",\n      \"css\": \"alpha-e-circle-outline\",\n      \"code\": 986105,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H459V459H625V541H459V625H625V709H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-e-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"25bcc4438e267eab5d1fa8f9414e9f22\",\n      \"css\": \"alpha-f-box-outline\",\n      \"code\": 986106,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H459V459H584V541H459V709H375V291ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-f-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"af0436fad8a498f64d7057a823170b3a\",\n      \"css\": \"alpha-f-circle\",\n      \"code\": 986107,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM375 291V709H459V541H584V459H459V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-f-circle\"\n      ]\n    },\n    {\n      \"uid\": \"ce1a79ef3cc9e69f7da9b4d8ca8e284b\",\n      \"css\": \"alpha-f-circle-outline\",\n      \"code\": 986108,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H459V459H584V541H459V709H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-f-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6fff85c220feec7311769e6204120cef\",\n      \"css\": \"alpha-g-box-outline\",\n      \"code\": 986109,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H625V375H459V625H541V459H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-g-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5b40ee478801f3c0e00e6b38b3c013ca\",\n      \"css\": \"alpha-g-circle\",\n      \"code\": 986110,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V459H541V625H459V375H625V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-g-circle\"\n      ]\n    },\n    {\n      \"uid\": \"b665a9d9a61e61389175b6d573f98d1c\",\n      \"css\": \"alpha-g-circle-outline\",\n      \"code\": 986111,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H625V375H459V625H541V459H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-g-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ce1dfcfb9df2dc0172ea24317dcd4926\",\n      \"css\": \"alpha-h-box-outline\",\n      \"code\": 986112,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V459H541V291H625V709H541V541H459V709H375V291ZM125 209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-h-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"01c24a6eab0d98817ba778bfe59486ff\",\n      \"css\": \"alpha-h-circle\",\n      \"code\": 986113,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM375 291V709H459V541H541V709H625V291H541V459H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-h-circle\"\n      ]\n    },\n    {\n      \"uid\": \"92f0fe63458a5c5e3c411e866c3fade4\",\n      \"css\": \"alpha-h-circle-outline\",\n      \"code\": 986114,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V459H541V291H625V709H541V541H459V709H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-h-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"11e1bd1a3b057845b48f407c71a6d094\",\n      \"css\": \"alpha-i-box-outline\",\n      \"code\": 986115,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291V375H541V625H584V709H416V625H459V375H416V291H584ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-i-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59669df050681da923b0df7080138678\",\n      \"css\": \"alpha-i-circle\",\n      \"code\": 986116,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM584 291H416V375H459V625H416V709H584V625H541V375H584V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-i-circle\"\n      ]\n    },\n    {\n      \"uid\": \"514492a341401e761b10c2fbba7cc988\",\n      \"css\": \"alpha-i-circle-outline\",\n      \"code\": 986117,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291V375H541V625H584V709H416V625H459V375H416V291H584ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-i-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"57c4e925c759bd7c664d411fa17ea358\",\n      \"css\": \"alpha-j-box-outline\",\n      \"code\": 986118,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V584H459V625H541V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-j-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c537c200c4f464f8f5a3132374dd9674\",\n      \"css\": \"alpha-j-circle\",\n      \"code\": 986119,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM541 291V625H459V584H375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-j-circle\"\n      ]\n    },\n    {\n      \"uid\": \"22de472a4422248f6eee3043be4a2b0b\",\n      \"css\": \"alpha-j-circle-outline\",\n      \"code\": 986120,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V584H459V625H541V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-j-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bd57471f00807497ec53dfb8dd154e44\",\n      \"css\": \"alpha-k-box-outline\",\n      \"code\": 986121,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V429.7L541 291H625L500 500 625 709H541L459 570.3V709H375V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-k-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e2536880ae17ae12b5bb70ad47af3ca0\",\n      \"css\": \"alpha-k-circle\",\n      \"code\": 986122,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM375 291V709H459V570.3L541 709H625L500 500 625 291H541L459 429.7V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-k-circle\"\n      ]\n    },\n    {\n      \"uid\": \"14de97b36cb95179df673df3ccfd5cc0\",\n      \"css\": \"alpha-k-circle-outline\",\n      \"code\": 986123,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V429.7L541 291H625L500 500 625 709H541L459 570.3V709H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-k-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c84b51c3c2b149b1176064edcb83aa4c\",\n      \"css\": \"alpha-l-box-outline\",\n      \"code\": 986124,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V625H625V709H375V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-l-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59be47ae59b51adc5434308d4c3b13ad\",\n      \"css\": \"alpha-l-circle\",\n      \"code\": 986125,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H625V625H459V291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-l-circle\"\n      ]\n    },\n    {\n      \"uid\": \"28faa5b6be967d919b5261fb820e5d3a\",\n      \"css\": \"alpha-l-circle-outline\",\n      \"code\": 986126,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V625H625V709H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-l-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5d0e004d9f1b08430001f93993cdf297\",\n      \"css\": \"alpha-m-box-outline\",\n      \"code\": 986127,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625Q660.2 291 684.6 315.4T709 375V709H625V375H541V666H459V375H375V709H291V375Q291 339.8 315.4 315.4T375 291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-m-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"85c2f8fa9d2ebb884dd47e191b08cf87\",\n      \"css\": \"alpha-m-circle\",\n      \"code\": 986128,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291Q339.8 291 315.4 315.4T291 375V709H375V375H459V666H541V375H625V709H709V375Q709 339.8 684.6 315.4T625 291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-m-circle\"\n      ]\n    },\n    {\n      \"uid\": \"b08567e8b2d15382744110849b7f5520\",\n      \"css\": \"alpha-m-circle-outline\",\n      \"code\": 986129,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625Q660.2 291 684.6 315.4T709 375V709H625V375H541V666H459V375H375V709H291V375Q291 339.8 315.4 315.4T375 291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-m-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6ecce2009465f0715a5cacf12ca5bc55\",\n      \"css\": \"alpha-n-box-outline\",\n      \"code\": 986130,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L541 500V291H625V709H541L459 500V709H375V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-n-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"86f2a4568aebdb5986a6d96e56e1b2eb\",\n      \"css\": \"alpha-n-circle\",\n      \"code\": 986131,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V500L541 709H625V291H541V500L459 291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-n-circle\"\n      ]\n    },\n    {\n      \"uid\": \"01d503ce5876bfe0dc6333173bc285e2\",\n      \"css\": \"alpha-n-circle-outline\",\n      \"code\": 986132,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L541 500V291H625V709H541L459 500V709H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-n-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b04e6e8db5f7a7aff12e86b952e50889\",\n      \"css\": \"alpha-o-box-outline\",\n      \"code\": 986133,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209ZM459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 375V625H541V375H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9796557bd060ca034e1bef81705fe7ce\",\n      \"css\": \"alpha-o-circle\",\n      \"code\": 986270,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o-circle\"\n      ]\n    },\n    {\n      \"uid\": \"bb7557aa0afa41f13d49748d2dcd6565\",\n      \"css\": \"alpha-o-circle\",\n      \"code\": 986134,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o-circle\"\n      ]\n    },\n    {\n      \"uid\": \"04aa7cec2e7c9d81ac8f4ade22f34fa6\",\n      \"css\": \"alpha-o-circle-outline\",\n      \"code\": 986271,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 375V625H541V375H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"021352769ccbb8e639766dac22584686\",\n      \"css\": \"alpha-o-circle-outline\",\n      \"code\": 986135,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 375V625H541V375H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-o-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c79f1cf412d1c5dcae0df1468b68da3\",\n      \"css\": \"alpha-p-box-outline\",\n      \"code\": 986136,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V459Q625 492.2 600.6 516.6T541 541H459V709H375V291ZM459 375V459H541V375H459ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-p-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9a0f927e13006be7f999abd026e0d570\",\n      \"css\": \"alpha-p-circle\",\n      \"code\": 986137,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H541Q576.2 541 600.6 516.6T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V459H459V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-p-circle\"\n      ]\n    },\n    {\n      \"uid\": \"526a6118112811ed56fe44731bb82128\",\n      \"css\": \"alpha-p-circle-outline\",\n      \"code\": 986138,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V459Q625 492.2 600.6 516.6T541 541H459V709H375V291ZM459 375V459H541V375H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-p-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e4174feac832a1b530a3ac5f87d8a09a\",\n      \"css\": \"alpha-q-box-outline\",\n      \"code\": 986139,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166H791Q826.2 166 850.6 190.4T875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166ZM209 250V834H791V250H209ZM459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709V791H459V709Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 375V625H541V375H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-q-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"870407dd1087d06e5657e041450fa582\",\n      \"css\": \"alpha-q-circle\",\n      \"code\": 986140,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709V791H541V709Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-q-circle\"\n      ]\n    },\n    {\n      \"uid\": \"57c2922090184499cc32c078b9f8b1f5\",\n      \"css\": \"alpha-q-circle-outline\",\n      \"code\": 986141,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709V791H459V709Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 375V625H541V375H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-q-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a51d7ced6af03e2a4f27d0fcc9ad573a\",\n      \"css\": \"alpha-r-box-outline\",\n      \"code\": 986142,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V459Q625 484.4 611.3 504.9T574.2 535.2L625 709H541L492.2 541H459V709H375V291ZM459 375V459H541V375H459ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-r-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e05c09c1e0d85764cbbeefebceb05d21\",\n      \"css\": \"alpha-r-circle\",\n      \"code\": 986143,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V709H459V541H492.2L541 709H625L574.2 535.2Q597.7 525.4 611.3 504.9T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM459 375H541V459H459V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-r-circle\"\n      ]\n    },\n    {\n      \"uid\": \"f76e817f0785564ff51b6510869ca131\",\n      \"css\": \"alpha-r-circle-outline\",\n      \"code\": 986144,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V459Q625 484.4 611.3 504.9T574.2 535.2L625 709H541L492.2 541H459V709H375V291ZM459 375V459H541V375H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-r-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d73ba84da879448e9841369c6b5baba7\",\n      \"css\": \"alpha-s-box-outline\",\n      \"code\": 986145,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H625V375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H375V625H541V541H459Q423.8 541 399.4 516.6T375 459V375Q375 339.8 399.4 315.4T459 291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-s-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"98b77d782f530f3b0196099a7ca9aefb\",\n      \"css\": \"alpha-s-circle\",\n      \"code\": 986146,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-s-circle\"\n      ]\n    },\n    {\n      \"uid\": \"aeaf28a23f1d8b80c967608e0410d996\",\n      \"css\": \"alpha-s-circle-outline\",\n      \"code\": 986147,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H625V375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H375V625H541V541H459Q423.8 541 399.4 516.6T375 459V375Q375 339.8 399.4 315.4T459 291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-s-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a5147e71cbea6deb72405d970da4466c\",\n      \"css\": \"alpha-t-box-outline\",\n      \"code\": 986148,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H541V709H459V375H375V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-t-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ac71a4dcd4ff3c69fdf5255fd751a917\",\n      \"css\": \"alpha-t-circle\",\n      \"code\": 986149,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H459V709H541V375H625V291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-t-circle\"\n      ]\n    },\n    {\n      \"uid\": \"225fa21a501b3f12004c44ec65810b48\",\n      \"css\": \"alpha-t-circle-outline\",\n      \"code\": 986150,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H541V709H459V375H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-t-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fed48065ccd2aea0282f4a6cc9d04028\",\n      \"css\": \"alpha-u-box-outline\",\n      \"code\": 986151,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V625H541V291H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-u-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f206d09834c202a75e19d1ae55060dec\",\n      \"css\": \"alpha-u-circle\",\n      \"code\": 986152,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V291H541V625H459V291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-u-circle\"\n      ]\n    },\n    {\n      \"uid\": \"140d4dbf35aca237167e29ac06e9f0a0\",\n      \"css\": \"alpha-u-circle-outline\",\n      \"code\": 986153,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V625H541V291H625V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-u-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a4ae73ac6fbf28dc05b598f548442bde\",\n      \"css\": \"alpha-v-box-outline\",\n      \"code\": 986154,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 500 541 291H625L541 709H459ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-v-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"abf885ba6092e99886281b719b03da7a\",\n      \"css\": \"alpha-v-circle\",\n      \"code\": 986155,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 709H541L625 291H541L500 500 459 291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-v-circle\"\n      ]\n    },\n    {\n      \"uid\": \"ff4ff1ec8bdd53fc048b39837e0e1bb0\",\n      \"css\": \"alpha-v-circle-outline\",\n      \"code\": 986156,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 500 541 291H625L541 709H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-v-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"141d14397fd921a14e592178702f270e\",\n      \"css\": \"alpha-w-box-outline\",\n      \"code\": 986157,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 709Q339.8 709 315.4 684.6T291 625V291H375V625H459V334H541V625H625V291H709V625Q709 660.2 684.6 684.6T625 709H375ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-w-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bb93c8dae409fcd79f2eb2454d11e430\",\n      \"css\": \"alpha-w-circle\",\n      \"code\": 986158,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 709H625Q660.2 709 684.6 684.6T709 625V291H625V625H541V334H459V625H375V291H291V625Q291 660.2 315.4 684.6T375 709ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-w-circle\"\n      ]\n    },\n    {\n      \"uid\": \"06799504d13ed1ceaea1fdea83b55274\",\n      \"css\": \"alpha-w-circle-outline\",\n      \"code\": 986159,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 709Q339.8 709 315.4 684.6T291 625V291H375V625H459V334H541V625H625V291H709V625Q709 660.2 684.6 684.6T625 709H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-w-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6414566ef8de1264942d6129bfe83de\",\n      \"css\": \"alpha-x-box-outline\",\n      \"code\": 986160,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 396.5 541 291H625L541 500 625 709H541L500 603.5 459 709H375L459 500ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-x-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d171f6fce635156d79467bcb23335991\",\n      \"css\": \"alpha-x-circle\",\n      \"code\": 986161,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 500 375 709H459L500 603.5 541 709H625L541 500 625 291H541L500 396.5 459 291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-x-circle\"\n      ]\n    },\n    {\n      \"uid\": \"671d562a761053033441dd3715e2e2f7\",\n      \"css\": \"alpha-x-circle-outline\",\n      \"code\": 986162,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 396.5 541 291H625L541 500 625 709H541L500 603.5 459 709H375L459 500ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-x-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9a3bca5d98234fcfeb24646efede85a9\",\n      \"css\": \"alpha-y-box-outline\",\n      \"code\": 986163,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 416 541 291H625L541 541V709H459V541ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-y-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"34aaf6a5d219f9ff62aca0ed41264dc1\",\n      \"css\": \"alpha-y-circle\",\n      \"code\": 986164,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291L459 541V709H541V541L625 291H541L500 416 459 291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-y-circle\"\n      ]\n    },\n    {\n      \"uid\": \"592a56d17f91b45456ce9e3053a3d47b\",\n      \"css\": \"alpha-y-circle-outline\",\n      \"code\": 986165,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 416 541 291H625L541 541V709H459V541ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-y-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6cdac738184a9a59e0eddbbfd27cb22a\",\n      \"css\": \"alpha-z-box-outline\",\n      \"code\": 986166,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375L459 625H625V709H375V625L541 375H375V291ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-z-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"11be6e0c55c3906d250bde7b033d57a9\",\n      \"css\": \"alpha-z-circle\",\n      \"code\": 986167,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H541L375 625V709H625V625H459L625 375V291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-z-circle\"\n      ]\n    },\n    {\n      \"uid\": \"b1bc6fdfc467ce5909cf4e5107114e9c\",\n      \"css\": \"alpha-z-circle-outline\",\n      \"code\": 986168,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375L459 625H625V709H375V625L541 375H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alpha-z-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"53eecb04946c78cbcff0ec1b7af0d120\",\n      \"css\": \"ballot-recount\",\n      \"code\": 986169,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 593.8ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L884.8 865.2ZM416 709H291V584H416V709ZM416 291V416H291V291H416ZM209 875Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V464.8Q843.8 459 812.5 459 738.3 459 676.8 495.1T578.1 593.8 541 728.5Q541 808.6 584 875H209ZM541 396.5H750V312.5H541V396.5ZM459 541H250V750H459V541ZM459 250H250V459H459V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ballot-recount\"\n      ]\n    },\n    {\n      \"uid\": \"8125841ff7f16de119bbbeeee458f594\",\n      \"css\": \"ballot-recount-outline\",\n      \"code\": 986170,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 750V541H459V750H250ZM291 584V709H416V584H291ZM541 312.5H750V396.5H541V312.5ZM209 875Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V464.8Q843.8 459 812.5 459H791V209H209V791H548.8Q558.6 834 584 875H209ZM459 250V459H250V250H459ZM416 416V291H291V416H416ZM791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 593.8ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L884.8 865.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ballot-recount-outline\"\n      ]\n    },\n    {\n      \"uid\": \"88e4efe840e6c424831e6abccb2323e5\",\n      \"css\": \"basketball-hoop\",\n      \"code\": 986171,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H209V584H791V750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84ZM709 500H625V375H375V500H291V375Q291 339.8 315.4 315.4T375 291H625Q660.2 291 684.6 315.4T709 375V500ZM291 666V812.5L334 959 416 875 500 959 584 875 666 959 709 812.5V666H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basketball-hoop\"\n      ]\n    },\n    {\n      \"uid\": \"4c89d468a498aba1a4148357c564452c\",\n      \"css\": \"basketball-hoop-outline\",\n      \"code\": 986172,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H273.4L334 959 416 875 500 959 584 875 666 959 726.6 750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84ZM875 666H750V584H709V375Q709 339.8 684.6 315.4T625 291H375Q339.8 291 315.4 315.4T291 375V584H250V666H125V166H875V666ZM375 584V375H625V584H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basketball-hoop-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f2894128b7a7ede52dcdbfae03b46ecf\",\n      \"css\": \"briefcase-download-outline\",\n      \"code\": 986173,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750L291 541H416V375H584V541H709ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM166 334V791H834V334H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-download-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eb5464338f5d37c14581cea29f02d5ca\",\n      \"css\": \"briefcase-edit-outline\",\n      \"code\": 986174,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M877 505.9Q884.8 505.9 892.6 511.7L945.3 566.4Q953.1 572.3 953.1 582T945.3 597.7L904.3 638.7 818.4 554.7 861.3 511.7Q867.2 505.9 877 505.9ZM794.9 578.1L880.9 664.1 627 916H541V830.1ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334L834 416V334H166V791H459V875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e52f5585a37885a2e2d2bf4560e52646\",\n      \"css\": \"briefcase-minus-outline\",\n      \"code\": 986175,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V564.5Q880.9 531.3 834 513.7V334H166V791H503.9Q509.8 835.9 533.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM584 709H916V791H584V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a03ad8c0221ddf0a662dd2e918fe7315\",\n      \"css\": \"briefcase-plus-outline\",\n      \"code\": 986176,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V564.5Q880.9 531.3 834 513.7V334H166V791H503.9Q509.8 835.9 533.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM584 709H709V584H791V709H916V791H791V916H709V791H584V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"299a1ed40a075928a6c353e9f7381390\",\n      \"css\": \"briefcase-remove-outline\",\n      \"code\": 986177,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V564.5Q880.9 531.3 834 513.7V334H166V791H503.9Q509.8 835.9 533.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"443e648817c0376e7ee68504c2c1d9f9\",\n      \"css\": \"briefcase-search-outline\",\n      \"code\": 986178,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V543Q886.7 494.1 834 459V334H166V791H437.5Q457 837.9 492.2 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM845.7 787.1L974.6 916 916 974.6 787.1 845.7Q740.2 875 687.5 875 609.4 875 554.7 820.3T500 687.5 554.7 554.7 687.5 500 820.3 554.7 875 687.5Q875 742.2 845.7 787.1ZM687.5 791Q730.5 791 760.7 760.7T791 687.5 760.7 614.3 687.5 584 614.3 614.3 584 687.5 614.3 760.7 687.5 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"928c5ff75fb37caf641f4870250619b4\",\n      \"css\": \"briefcase-upload-outline\",\n      \"code\": 986179,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375L709 584H584V750H416V584H291ZM416 84H584Q617.2 84 641.6 108.4T666 166V250H834Q867.2 250 891.6 274.4T916 334V791Q916 826.2 891.6 850.6T834 875H166Q132.8 875 108.4 850.6T84 791V334Q84 298.8 108.4 274.4T166 250H334V166Q334 132.8 358.4 108.4T416 84ZM584 250V166H416V250H584ZM166 334V791H834V334H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-upload-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aa23217dfe2fec9b8e51a941af8b94ad\",\n      \"css\": \"calendar-check-outline\",\n      \"code\": 986180,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166ZM791 834H209V416H791V834ZM209 334V250H791V334H209ZM439.5 769.5L687.5 521.5 642.6 478.5 439.5 681.6 351.6 593.8 308.6 636.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ad4486841b9cda370210e9c343bb285a\",\n      \"css\": \"calendar-remove-outline\",\n      \"code\": 986181,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166ZM791 834H209V416H791V834ZM209 334V250H791V334H209ZM343.8 724.6L386.7 769.5 488.3 668 589.8 769.5 634.8 724.6 533.2 623 634.8 521.5 589.8 478.5 488.3 580.1 386.7 478.5 343.8 521.5 445.3 623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c9704aff87e623f3f1c25044c51c3e64\",\n      \"css\": \"calendar-text-outline\",\n      \"code\": 986182,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166ZM791 834H209V416H791V834ZM209 334V250H791V334H209ZM291 500H709V584H291V500ZM291 666H584V750H291V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f833462887b314c2213e4465e1e63a68\",\n      \"css\": \"car-brake-abs\",\n      \"code\": 986183,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M1000 500Q1000 601.6 961.9 693.4T853.5 853.5L808.6 808.6Q869.1 748 903.3 668T937.5 500 903.3 332 808.6 191.4L853.5 146.5Q923.8 214.8 961.9 306.6T1000 500ZM834 400.4V334H699.2Q671.9 334 652.3 353.5T632.8 400.4V466.8Q632.8 494.1 652.3 513.7T699.2 533.2H767.6V599.6H632.8V666H767.6Q794.9 666 814.5 646.5T834 599.6V533.2Q834 505.9 814.5 486.3T767.6 466.8H699.2V400.4H834ZM351.6 250Q419.9 209 500 209T648.4 250H779.3Q726.6 191.4 654.3 158.2T500 125 345.7 158.2 220.7 250H351.6ZM550.8 500Q570.3 500 585 514.6T599.6 550.8V599.6Q599.6 627 580.1 646.5T533.2 666H400.4V334H533.2Q560.5 334 580.1 353.5T599.6 400.4V449.2Q599.6 470.7 585 485.4T550.8 500ZM533.2 533.2H466.8V599.6H533.2V533.2ZM533.2 400.4H466.8V466.8H533.2V400.4ZM191.4 191.4L146.5 146.5Q76.2 214.8 38.1 306.6T0 500 38.1 693.4 146.5 853.5L191.4 808.6Q130.9 748 96.7 668T62.5 500 96.7 332 191.4 191.4ZM300.8 666V533.2H232.4V666H166V400.4Q166 373 185.5 353.5T232.4 334H300.8Q328.1 334 347.7 353.5T367.2 400.4V666H300.8ZM300.8 466.8V400.4H232.4V466.8H300.8ZM648.4 750Q580.1 791 500 791T351.6 750H220.7Q273.4 808.6 345.7 841.8T500 875 654.3 841.8 779.3 750H648.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-brake-abs\"\n      ]\n    },\n    {\n      \"uid\": \"f33714831c2dd1a9b5f44ed9a75e7d8c\",\n      \"css\": \"car-brake-alert\",\n      \"code\": 986184,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 625H541V709H459V625ZM459 291H541V541H459V291ZM500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500 175.8 687.5 312.5 824.2 500 875 687.5 824.2 824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125ZM500 791Q421.9 791 354.5 752T248 645.5 209 500 248 354.5 354.5 248 500 209 645.5 248 752 354.5 791 500 752 645.5 645.5 752 500 791ZM853.5 853.5Q923.8 785.2 961.9 693.4T1000 500 961.9 306.6 853.5 146.5L808.6 191.4Q869.1 252 903.3 332T937.5 500 903.3 668 808.6 808.6ZM191.4 808.6Q130.9 748 96.7 668T62.5 500 96.7 332 191.4 191.4L146.5 146.5Q76.2 214.8 38.1 306.6T0 500 38.1 693.4 146.5 853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-brake-alert\"\n      ]\n    },\n    {\n      \"uid\": \"a070cc3d3766cd248fc27118c14c8fa1\",\n      \"css\": \"car-esp\",\n      \"code\": 986185,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M220.7 250Q273.4 191.4 345.7 158.2T500 125 654.3 158.2 779.3 250H648.4Q580.1 209 500 209T351.6 250H220.7ZM599.6 400.4V334H466.8Q439.5 334 419.9 353.5T400.4 400.4V466.8Q400.4 494.1 419.9 513.7T466.8 533.2H533.2V599.6H400.4V666H533.2Q560.5 666 580.1 646.5T599.6 599.6V533.2Q599.6 505.9 580.1 486.3T533.2 466.8H466.8V400.4H599.6ZM767.6 334H632.8V666H699.2V533.2H767.6Q794.9 533.2 814.5 513.7T834 466.8V400.4Q834 373 814.5 353.5T767.6 334ZM767.6 466.8H699.2V400.4H767.6V466.8ZM367.2 400.4V334H166V666H367.2V599.6H232.4V533.2H367.2V466.8H232.4V400.4H367.2ZM648.4 750Q580.1 791 500 791T351.6 750H220.7Q273.4 808.6 345.7 841.8T500 875 654.3 841.8 779.3 750H648.4ZM853.5 146.5L808.6 191.4Q869.1 252 903.3 332T937.5 500 903.3 668 808.6 808.6L853.5 853.5Q923.8 785.2 961.9 693.4T1000 500 961.9 306.6 853.5 146.5ZM191.4 191.4L146.5 146.5Q76.2 214.8 38.1 306.6T0 500 38.1 693.4 146.5 853.5L191.4 808.6Q130.9 748 96.7 668T62.5 500 96.7 332 191.4 191.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-esp\"\n      ]\n    },\n    {\n      \"uid\": \"d63eeb041b5a38c8ba37d0d9cd079b70\",\n      \"css\": \"car-light-dimmed\",\n      \"code\": 986186,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 199.2Q482.4 199.2 447.3 293 416 378.9 416 500T447.3 707Q482.4 800.8 541 800.8 628.9 800.8 712.9 763.7 802.7 726.6 857.4 660.2 916 589.8 916 500T857.4 339.8Q802.7 273.4 712.9 236.3 628.9 199.2 541 199.2ZM544.9 716.8Q529.3 701.2 517.6 648.4 500 584 500 500T517.6 351.6Q529.3 298.8 544.9 283.2 609.4 285.2 673.8 310.5 744.1 337.9 785.2 382.8 834 435.5 834 500T785.2 617.2Q742.2 662.1 671.9 689.5 607.4 714.8 544.9 716.8ZM334 437.5Q334 447.3 332 468.8T330.1 500V525.4L99.6 584 80.1 503.9ZM84 291L392.6 212.9Q377 236.3 371.1 261.7 367.2 275.4 357.4 308.6L103.5 371.1ZM341.8 646.5Q347.7 687.5 363.3 724.6L99.6 791 80.1 712.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-light-dimmed\"\n      ]\n    },\n    {\n      \"uid\": \"77a1dacde783b680364bd24c0509186a\",\n      \"css\": \"car-light-fog\",\n      \"code\": 986187,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 199.2Q482.4 199.2 447.3 293 416 378.9 416 500T447.3 707Q482.4 800.8 541 800.8 628.9 800.8 712.9 763.7 802.7 726.6 857.4 660.2 916 589.8 916 500T857.4 339.8Q802.7 273.4 712.9 236.3 628.9 199.2 541 199.2ZM544.9 716.8Q529.3 701.2 517.6 648.4 500 584 500 500T517.6 351.6Q529.3 298.8 544.9 283.2 609.4 285.2 673.8 310.5 744.1 337.9 785.2 382.8 834 435.5 834 500T785.2 617.2Q744.1 662.1 673.8 689.5 609.4 714.8 544.9 716.8ZM250 334V459H334V541H250V666H349.6Q367.2 724.6 375 750H250V875H166V750H84V666H166V541H84V459H166V334H84V250H166V125H250V250H375L373 255.9Q371.1 261.7 371.1 267.6 353.5 308.6 349.6 334H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-light-fog\"\n      ]\n    },\n    {\n      \"uid\": \"0b9b6da9a70c92e684590782803eb25b\",\n      \"css\": \"car-light-high\",\n      \"code\": 986188,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 199.2Q482.4 199.2 447.3 293 416 378.9 416 500T447.3 707Q482.4 800.8 541 800.8 628.9 800.8 712.9 763.7 802.7 726.6 857.4 660.2 916 589.8 916 500T857.4 339.8Q802.7 273.4 712.9 236.3 628.9 199.2 541 199.2ZM544.9 716.8Q529.3 701.2 517.6 648.4 500 584 500 500T517.6 351.6Q529.3 298.8 544.9 283.2 609.4 285.2 673.8 310.5 744.1 337.9 785.2 382.8 834 435.5 834 500T785.2 617.2Q744.1 662.1 673.8 689.5 609.4 714.8 544.9 716.8ZM84 209H396.5L388.7 220.7Q373 248 371.1 267.6 369.1 271.5 367.2 279.3T363.3 291H84V209ZM334 459H84V375H341.8Q339.8 388.7 337.9 416T334 459ZM363.3 709Q373 752 400.4 791H87.9V709H363.3ZM341.8 625H84V541H334Q335.9 556.6 337.9 584T341.8 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-light-high\"\n      ]\n    },\n    {\n      \"uid\": \"20f1d1e242324a6a66c28e2ba88a5896\",\n      \"css\": \"car-tire-alert\",\n      \"code\": 986189,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V625H459V541ZM459 209H541V459H459V209ZM709 199.2Q765.6 242.2 799.8 312.5T834 459Q834 550.8 786.1 628.9T660.2 750H339.8Q261.7 707 213.9 628.9T166 459Q166 382.8 199.2 312.5T291 199.2V84H209V160.2Q148.4 218.8 116.2 295.9T84 459 116.2 621.1 209 755.9V916H291V834H375V916H459V834H541V916H625V834H709V916H791V755.9Q851.6 697.3 883.8 621.1T916 459 883.8 295.9 791 160.2V84H709V199.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-tire-alert\"\n      ]\n    },\n    {\n      \"uid\": \"a166c6b53f81cc197c545d9b121d3aef\",\n      \"css\": \"cart-arrow-right\",\n      \"code\": 986190,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 834Q375 867.2 350.6 891.6T292 916 233.4 891.6 209 833 233.4 774.4 292 750 350.6 774.4 375 834ZM709 750Q673.8 750 649.4 774.4T625 833 649.4 891.6 708 916 766.6 891.6 791 833 766.6 774.4 709 750ZM300.8 609.4Q298.8 611.3 299.8 615.2T303.7 622.1 310.5 625H791V709H291Q257.8 709 233.4 684.6T209 625Q209 601.6 218.8 584L275.4 482.4 125 166H41V84H177.7L216.8 166H834Q851.6 166 863.3 178.7T875 209Q875 216.8 869.1 228.5L720.7 500Q709 519.5 689.5 530.3T648.4 541H337.9ZM375 396.5H541V478.5L666 353.5 541 228.5V312.5H375V396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"bf38c375396f853100613f2feb16c52b\",\n      \"css\": \"charity\",\n      \"code\": 986191,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M531.3 164.1Q593.8 119.1 675.8 119.1 722.7 119.1 775.4 143.6T859.4 201.2Q923.8 281.3 914.1 387.7T843.8 552.7L527.3 869.1Q515.6 880.9 498 880.9T468.8 869.1 457 839.8 468.8 810.5L660.2 619.1Q675.8 605.5 660.2 589.8T630.9 589.8L439.5 781.3Q427.7 793 410.2 793T380.9 781.3 369.1 752 380.9 722.7L572.3 531.3Q589.8 515.6 574.2 500T543 500L351.6 693.4Q339.8 705.1 322.3 705.1T292 693.4 279.3 664.1 293 632.8L484.4 441.4Q500 425.8 484.4 412.1T455.1 412.1L261.7 603.5Q248 617.2 231.4 617.2T203.1 604.5 191.4 574.2 203.1 544.9Q373 375 439.5 310.5L587.9 457Q613.3 480.5 646.5 480.5 689.5 480.5 714.8 445.3 732.4 419.9 727.5 388.7T701.2 335.9ZM617.2 427.7L439.5 250 144.5 544.9Q91.8 492.2 85 381.8T144.5 191.4Q218.8 117.2 322.3 117.2T498 191.4L675.8 369.1Q687.5 380.9 687.5 398.4T675.8 427.7 646.5 439.5 617.2 427.7V427.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"charity\"\n      ]\n    },\n    {\n      \"uid\": \"2fbed68ec753ac8242293e1f77587f26\",\n      \"css\": \"chart-bell-curve\",\n      \"code\": 986192,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M414.1 470.7Q447.3 353.5 468.8 310.5 498 250 541 250T615.2 310.5Q636.7 353.5 668 470.7 695.3 572.3 714.8 621.1 746.1 701.2 789.1 742.2 841.8 791 916 791V709Q853.5 709 814.5 636.7 787.1 587.9 748 449.2 724.6 357.4 707 314.5 681.6 244.1 644.5 209 603.5 166 542 166T437.5 209Q402.3 244.1 375 314.5 359.4 357.4 334 449.2 298.8 585.9 269.5 636.7 230.5 709 166 709V84H84V916H916V834H166V791Q242.2 791 294.9 742.2 337.9 701.2 369.1 621.1 388.7 572.3 414.1 470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-bell-curve\"\n      ]\n    },\n    {\n      \"uid\": \"f88634989882921009200c6513beea7b\",\n      \"css\": \"check-box-multiple-outline\",\n      \"code\": 986193,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H334V166H834V666ZM666 834V916H166Q132.8 916 108.4 891.6T84 834V291H166V834H666ZM771.5 335.9L728.5 291 525.4 494.1 435.5 406.3 392.6 451.2 525.4 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fe7bd449f0e7b8b0deee0d8485713618\",\n      \"css\": \"check-box-outline\",\n      \"code\": 986194,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 209V791H209V209H791ZM416 709L250 541 308.6 482.4 416 589.8 691.4 316.4 750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5f3502d77f4af92b1f832e27d1e21b17\",\n      \"css\": \"check-network\",\n      \"code\": 986195,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM343.8 419.9L392.6 371.1 459 437.5 607.4 289.1 656.3 347.7 459 544.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-network\"\n      ]\n    },\n    {\n      \"uid\": \"5b197e3cd70f89bb3f1eef272f7a832c\",\n      \"css\": \"check-network-outline\",\n      \"code\": 986196,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM334 431.6L384.8 380.9 455.1 451.2 615.2 291 666 353.5 455.1 564.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"66ab78ad799e28cb4bc73dbaeb4d92e7\",\n      \"css\": \"clipboard-account-outline\",\n      \"code\": 986197,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM291 291V209H209V791H791V209H709V291H291ZM500 375Q535.2 375 559.6 399.4T584 458 559.6 516.6 500 541 440.4 516.6 416 458 440.4 399.4 500 375ZM334 709V666Q334 632.8 382.8 608.4T500 584 617.2 608.4 666 666V709H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"012d33ac20b4538774ddbb96e2fb6546\",\n      \"css\": \"clipboard-arrow-down-outline\",\n      \"code\": 986198,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM291 291V209H209V791H791V209H709V291H291ZM500 750L291 541H416V375H584V541H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-down-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c02a15d352db16d921217675c34befac\",\n      \"css\": \"clipboard-arrow-up\",\n      \"code\": 986199,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 334L291 541H416V709H584V541H709ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-up\"\n      ]\n    },\n    {\n      \"uid\": \"577337885261180782f53bd5b2d32942\",\n      \"css\": \"clipboard-arrow-up-outline\",\n      \"code\": 986200,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334L709 541H584V709H416V541H291ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM291 291V209H209V791H791V209H709V291H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fe09d4700e5289da60873d74a37cb0d0\",\n      \"css\": \"clipboard-play\",\n      \"code\": 986201,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q599.6 76.2 552.7 54.7T459 50.8Q404.3 68.4 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM416 709V375L625 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-play\"\n      ]\n    },\n    {\n      \"uid\": \"485eefaa90a9ecf1db142fbb074c008f\",\n      \"css\": \"clipboard-play-outline\",\n      \"code\": 986202,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q599.6 76.2 552.7 54.7T459 50.8Q404.3 68.4 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM291 291H709V209H791V791H209V209H291V291ZM416 709V375L625 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-play-outline\"\n      ]\n    },\n    {\n      \"uid\": \"71f0fc368be66f1cf9c418d0f14c862b\",\n      \"css\": \"clipboard-text-play\",\n      \"code\": 986203,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V556.6Q835.9 541 791 541 724.6 541 667 575.2T575.2 667 541 791Q541 835.9 556.6 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q404.3 68.4 459 50.8 505.9 33.2 552.7 54.7T617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM459 709V625H291V709H459ZM541 541V459H291V541H541ZM709 375V291H291V375H709ZM709 666L916 791 709 916V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-text-play\"\n      ]\n    },\n    {\n      \"uid\": \"4fb829d27d672b566865a8763757701e\",\n      \"css\": \"clipboard-text-play-outline\",\n      \"code\": 986204,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q599.6 76.2 552.7 54.7T459 50.8Q404.3 68.4 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H625V791H209V209H291V291H709V209H791V584H875V209Q875 173.8 850.6 149.4T791 125ZM500 209Q482.4 209 470.7 196.3T459 166 470.7 136.7 500 125 529.3 136.7 541 166 529.3 196.3 500 209ZM709 666V916L916 791ZM709 459H291V375H709V459ZM625 625H291V541H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-text-play-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1455343cc758faee45fab2b508c98c75\",\n      \"css\": \"close-box-multiple\",\n      \"code\": 986205,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 834H750V916H166Q132.8 916 108.4 891.6T84 834V250H166V834ZM841.8 84H324.2Q293 84 271.5 105.5T250 158.2V675.8Q250 707 271.5 728.5T324.2 750H841.8Q873 750 894.5 728.5T916 675.8V158.2Q916 127 894.5 105.5T841.8 84ZM791 566.4L732.4 625 584 474.6 433.6 625 375 566.4 525.4 416 375 267.6 433.6 209 584 357.4 732.4 209 791 267.6 642.6 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"2584f87476823aedd8d86509279ca6c2\",\n      \"css\": \"close-box-multiple-outline\",\n      \"code\": 986206,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H334V166H834V666ZM166 250V834H750V916H166Q132.8 916 108.4 891.6T84 834V250H166ZM406.3 535.2L525.4 416 406.3 298.8 464.8 240.2 584 357.4 701.2 240.2 759.8 298.8 642.6 416 759.8 535.2 701.2 593.8 584 474.6 464.8 593.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59616ae75c0a17e5f75932a008f0ca4a\",\n      \"css\": \"close-network-outline\",\n      \"code\": 986207,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM648.4 505.9L558.6 416 646.5 328.1 587.9 269.5 500 357.4 412.1 269.5 353.5 328.1 441.4 416 353.5 505.9 412.1 564.5 500 474.6 587.9 564.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c03edf9501d88157a7f48afce0219a8b\",\n      \"css\": \"console-network-outline\",\n      \"code\": 986208,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM334 287.1L482.4 435.5 334 584H439.5L560.5 460.9Q570.3 451.2 570.3 435.5T560.5 408.2L437.5 287.1H334ZM666 509.8H554.7V584H666V509.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"console-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2f041a0802a807eb18a85e0ab338daba\",\n      \"css\": \"currency-ils\",\n      \"code\": 986209,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666Q916 722.7 888.7 770.5T813.5 846.7 709 875H334V375H416V791H709Q759.8 791 796.9 754.9T834 666V125H916V666ZM666 334V625H584V334Q584 281.3 546.9 245.1T459 209H166V875H84V125H459Q515.6 125 563.5 153.3T638.7 229.5 666 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-ils\"\n      ]\n    },\n    {\n      \"uid\": \"5f0f84884a7760a40c67aa1ec18038b5\",\n      \"css\": \"delete-sweep-outline\",\n      \"code\": 986210,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 666H791V750H625V666ZM625 334H916V416H625V334ZM625 500H875V584H625V500ZM459 416V750H209V416H459ZM541 334H125V750Q125 785.2 149.4 809.6T209 834H459Q492.2 834 516.6 809.6T541 750V334ZM584 209H459L416 166H250L209 209H84V291H584V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-sweep-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d04070c6c6ebc7d2f8330690fec75af6\",\n      \"css\": \"diameter\",\n      \"code\": 986211,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM709 625V541H291V625L166 500 291 375V459H709V375L834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diameter\"\n      ]\n    },\n    {\n      \"uid\": \"775ec76c0090463f4792340e457c04d0\",\n      \"css\": \"diameter-outline\",\n      \"code\": 986212,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM666 625V541H334V625L209 500 334 375V459H666V375L791 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diameter-outline\"\n      ]\n    },\n    {\n      \"uid\": \"61233dfe36366c3549e9ceaa151587e1\",\n      \"css\": \"diameter-variant\",\n      \"code\": 986213,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M173.8 894.5L228.5 816.4Q160.2 757.8 122.1 675.8T84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84Q609.4 84 703.1 136.7L757.8 58.6 826.2 105.5 771.5 183.6Q839.8 242.2 877.9 324.2T916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916Q390.6 916 296.9 863.3L242.2 941.4ZM500 166Q410.2 166 333 210.9T210.9 333 166 500Q166 572.3 195.3 636.7T275.4 748L656.3 205.1Q584 166 500 166ZM500 834Q589.8 834 667 789.1T789.1 667 834 500Q834 427.7 804.7 363.3T724.6 252L343.8 794.9Q416 834 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diameter-variant\"\n      ]\n    },\n    {\n      \"uid\": \"dedeac2b48305697cab47de39bb02d97\",\n      \"css\": \"download-network-outline\",\n      \"code\": 986214,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM500 584L666 416H541V250H459V416H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9d702e32b36aae6e55782102a47c0576\",\n      \"css\": \"dump-truck\",\n      \"code\": 986215,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H791 625V584H84V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V500ZM250 771.5Q224.6 771.5 206.1 752.9T187.5 708 206.1 664.1 250 646.5 293.9 664.1 312.5 708 293.9 752.9 250 771.5ZM750 771.5Q724.6 771.5 706.1 752.9T687.5 708 706.1 664.1 750 646.5 793.9 664.1 812.5 708 793.9 752.9 750 771.5ZM709 500V396.5H812.5L894.5 500H709ZM750 291H584V541H125L64.5 334H41V250H541L584 209H750V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dump-truck\"\n      ]\n    },\n    {\n      \"uid\": \"49395d316fa7fe8a2a6b07bf0c18697c\",\n      \"css\": \"emoticon\",\n      \"code\": 986216,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM646.5 334Q671.9 334 690.4 351.6T709 395.5 690.4 440.4 645.5 459 601.6 440.4 584 395.5 601.6 351.6 646.5 334ZM353.5 334Q380.9 334 398.4 351.6T416 395.5 398.4 440.4 354.5 459 309.6 440.4 291 395.5 309.6 351.6 353.5 334ZM500 728.5Q427.7 728.5 370.1 688.5T287.1 584H712.9Q687.5 648.4 629.9 688.5T500 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon\"\n      ]\n    },\n    {\n      \"uid\": \"6b0a6484675b6dc5527379d27358c724\",\n      \"css\": \"emoticon-angry\",\n      \"code\": 986217,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM291 396.5V334L416 396.5Q416 419.9 397.5 439.5T354.5 459 310.5 439.5 291 396.5ZM615.2 718.8Q601.6 695.3 570.3 680.7T500 666 429.7 680.7 384.8 718.8L326.2 658.2Q353.5 625 399.4 604.5T500 584 600.6 604.5 673.8 658.2ZM709 396.5Q709 419.9 689.5 439.5T645.5 459 602.5 439.5 584 396.5L709 334V396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-angry\"\n      ]\n    },\n    {\n      \"uid\": \"83a66b1cc2bea23135fc87e24d1fe71f\",\n      \"css\": \"emoticon-angry-outline\",\n      \"code\": 986218,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 584Q554.7 584 600.6 604.5T673.8 658.2L615.2 718.8Q601.6 695.3 570.3 680.7T500 666 429.7 680.7 384.8 718.8L326.2 658.2Q353.5 625 399.4 604.5T500 584ZM416 396.5Q416 419.9 397.5 439.5T354.5 459 310.5 439.5 291 396.5V334ZM709 396.5Q709 419.9 689.5 439.5T645.5 459 602.5 439.5 584 396.5L709 334V396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-angry-outline\"\n      ]\n    },\n    {\n      \"uid\": \"495bc3ac2c45e6e0a4f45cf3fb087497\",\n      \"css\": \"emoticon-cool\",\n      \"code\": 986219,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M134.8 300.8Q187.5 201.2 285.2 142.6T500 84 714.8 142.6 865.2 300.8L834 334H166ZM892.6 357.4Q916 429.7 916 500 916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500Q84 429.7 107.4 357.4L166 416H209Q209 457 259.8 490.2 306.6 521.5 352.5 521.5T433.6 490.2 468.8 416H531.3Q531.3 459 566.4 490.2T647.5 521.5 740.2 490.2Q791 457 791 416H834ZM673.8 642.6L615.2 584Q601.6 605.5 570.3 620.1T500 634.8 429.7 620.1 384.8 584L326.2 642.6Q353.5 677.7 400.4 698.2T500 718.8 599.6 698.2 673.8 642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-cool\"\n      ]\n    },\n    {\n      \"uid\": \"9553842b038e942f5b9be40b50673d7a\",\n      \"css\": \"emoticon-cry\",\n      \"code\": 986220,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M214.8 732.4Q214.8 701.2 246.1 642.6 271.5 591.8 314.5 533.2 359.4 591.8 384.8 642.6 416 701.2 416 732.4 416 773.4 386.7 803.7T315.4 834 244.1 803.7 214.8 732.4ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916Q445.3 916 388.7 900.4 439.5 878.9 469.7 834T500 732.4Q500 705.1 486.3 666H500Q539.1 666 570.3 680.7T615.2 718.8L673.8 658.2Q646.5 625 600.6 604.5T500 584Q474.6 584 451.2 587.9 421.9 537.1 382.8 484.4L363.3 459Q384.8 455.1 400.4 436.5T416 394.5 397.5 352.5 354.5 334 310.5 352.5 291 396.5Q291 406.3 296.9 418L248 484.4Q152.3 615.2 134.8 701.2 84 607.4 84 500 84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM709 396.5Q709 371.1 689.5 352.5T645.5 334 602.5 352.5 584 395.5 602.5 439.5 645.5 459 689.5 439.5 709 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-cry\"\n      ]\n    },\n    {\n      \"uid\": \"6fae6326c2f8e3ae485ca67636cb2c5d\",\n      \"css\": \"emoticon-cry-outline\",\n      \"code\": 986221,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M314.5 834Q273.4 834 244.1 803.7T214.8 732.4Q214.8 701.2 246.1 642.6 271.5 591.8 314.5 533.2 359.4 591.8 384.8 642.6 416 701.2 416 732.4 416 773.4 386.7 803.7T314.5 834ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500Q84 607.4 134.8 701.2 144.5 654.3 179.7 589.8 166 546.9 166 500 166 410.2 210.9 333T333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834Q480.5 834 470.7 832 441.4 878.9 388.7 900.4 443.4 916 500 916 582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 584Q474.6 584 451.2 587.9 474.6 630.9 486.3 666H500Q539.1 666 570.3 680.7T615.2 718.8L673.8 658.2Q646.5 625 600.6 604.5T500 584ZM646.5 334Q621.1 334 602.5 352.5T584 395.5 602.5 439.5 645.5 459 689.5 439.5 709 395.5 689.5 352.5 646.5 334ZM416 396.5Q416 371.1 397.5 352.5T354.5 334 310.5 352.5 291 395.5 310.5 439.5 354.5 459 397.5 439.5 416 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-cry-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1e73f2f13fde6db09df20b3b14a144cf\",\n      \"css\": \"emoticon-dead\",\n      \"code\": 986222,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916Q582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84ZM281.3 367.2L326.2 324.2 369.1 367.2 414.1 324.2 459 367.2 414.1 412.1 459 455.1 414.1 500 369.1 455.1 326.2 500 281.3 455.1 326.2 412.1ZM287.1 728.5Q312.5 664.1 370.1 624T500 584 629.9 624 712.9 728.5H287.1ZM718.8 455.1L673.8 500 630.9 455.1 585.9 500 541 455.1 585.9 412.1 541 367.2 585.9 324.2 630.9 367.2 673.8 324.2 718.8 367.2 673.8 412.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-dead\"\n      ]\n    },\n    {\n      \"uid\": \"78cdfe2ca8897f8d7f85f283c13d4247\",\n      \"css\": \"emoticon-devil\",\n      \"code\": 986223,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M937.5 87.9Q882.8 142.6 763.7 177.7 709 132.8 641.6 108.4T500 84 358.4 108.4 236.3 177.7Q117.2 142.6 62.5 87.9 64.5 187.5 154.3 267.6 84 371.1 84 500 84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500Q916 371.1 845.7 267.6 935.5 187.5 937.5 87.9ZM312.5 353.5L437.5 416Q437.5 441.4 418.9 460T375 478.5 331.1 460 312.5 416V353.5ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8ZM687.5 416Q687.5 441.4 668.9 460T625 478.5 581.1 460 562.5 416L687.5 353.5V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-devil\"\n      ]\n    },\n    {\n      \"uid\": \"293ff6fc11dd5fd884ebbb7b2cd66e9b\",\n      \"css\": \"emoticon-excited\",\n      \"code\": 986224,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916Q582 916 659.2 884.8T794.9 794.9 884.8 659.2 916 500Q916 386.7 860.4 291T709 139.6 500 84ZM369.1 326.2L459 414.1 414.1 459 369.1 414.1 326.2 459 281.3 414.1ZM500 728.5Q427.7 728.5 370.1 688.5T287.1 584H712.9Q687.5 648.4 629.9 688.5T500 728.5ZM673.8 459L630.9 414.1 585.9 459 541 414.1 630.9 326.2 718.8 414.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-excited\"\n      ]\n    },\n    {\n      \"uid\": \"20d59046316c75facdf07ff3718da76e\",\n      \"css\": \"emoticon-happy\",\n      \"code\": 986225,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM291 396.5Q291 371.1 310.5 352.5T354.5 334 397.5 352.5 416 395.5 397.5 439.5 354.5 459 310.5 439.5 291 396.5ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8ZM646.5 459Q621.1 459 602.5 439.5T584 395.5 602.5 352.5 645.5 334 689.5 352.5 709 395.5 689.5 439.5 646.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-happy\"\n      ]\n    },\n    {\n      \"uid\": \"655a884cede0f7e7cad87083a87d652f\",\n      \"css\": \"emoticon-kiss\",\n      \"code\": 986226,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M787.1 789.1L664.1 666Q648.4 648.4 648.4 627T664.1 588.9 702.1 572.3 740.2 589.8L787.1 636.7 834 587.9Q849.6 572.3 872.1 572.3T911.1 588.9 927.7 627.9 912.1 666ZM726.6 818.4Q671.9 865.2 602.5 890.6T459 916Q375 916 298.8 884.8T164.1 794.9 73.2 659.2 41 500 73.2 340.8 164.1 205.1 298.8 115.2 458 84 618.2 115.2 753.9 205.1 843.8 340.8 875 500Q875 507.8 873 509.8 826.2 509.8 791 544.9L787.1 546.9 785.2 544.9Q752 509.8 703.1 509.8T620.1 543.9 585.9 627 619.1 709ZM541 396.5Q541 419.9 560.5 439.5T604.5 459 647.5 439.5 666 395.5 647.5 352.5 604.5 334 560.5 352.5 541 396.5ZM375 396.5Q375 371.1 356.4 352.5T312.5 334 268.6 352.5 250 395.5 268.6 439.5 312.5 459 356.4 439.5 375 396.5ZM539.1 632.8L584 587.9 494.1 500 451.2 544.9 494.1 587.9 451.2 632.8 494.1 675.8 451.2 720.7 494.1 765.6 584 675.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-kiss\"\n      ]\n    },\n    {\n      \"uid\": \"c1a4e827c14ce0424f59b7812bfb1176\",\n      \"css\": \"emoticon-kiss-outline\",\n      \"code\": 986227,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 396.5Q375 419.9 356.4 439.5T312.5 459 268.6 439.5 250 395.5 268.6 352.5 312.5 334 356.4 352.5 375 396.5ZM666 396.5Q666 419.9 647.5 439.5T604.5 459 560.5 439.5 541 395.5 560.5 352.5 604.5 334 647.5 352.5 666 396.5ZM584 587.9L494.1 500 451.2 544.9 494.1 587.9 451.2 632.8 494.1 675.8 451.2 720.7 494.1 765.6 584 675.8 539.1 632.8ZM701.2 541Q666 541 641.6 566.4T617.2 627 642.6 687.5L787.1 834 933.6 687.5Q959 662.1 959 627T933.6 566.4 873 541 812.5 566.4L787.1 591.8 761.7 566.4Q738.3 541 701.2 541ZM625 789.1Q546.9 834 457 834T291 789.1 169.9 667 125 500 169.9 333 291 210.9 456.1 166 619.1 208 739.3 321.3 791 478.5Q830.1 459 873 459 863.3 353.5 804.7 268.6T655.3 133.8 459 84Q375 84 298.8 115.2T164.1 205.1 73.2 340.8 41 500 73.2 659.2 164.1 794.9 298.8 884.8 459 916Q582 916 685.5 849.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-kiss-outline\"\n      ]\n    },\n    {\n      \"uid\": \"43c660e3d3fc58f9198aa6af8bad2dab\",\n      \"css\": \"emoticon-neutral\",\n      \"code\": 986228,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM291 396.5Q291 369.1 309.6 351.6T354.5 334 398.4 351.6 416 395.5 398.4 440.4 354.5 459 309.6 440.4 291 396.5ZM666 666H334V584H666V666ZM646.5 459Q619.1 459 601.6 440.4T584 395.5 601.6 351.6 645.5 334 690.4 351.6 709 395.5 690.4 440.4 646.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-neutral\"\n      ]\n    },\n    {\n      \"uid\": \"d2d75d4530c8750cae506bafebf2f3bb\",\n      \"css\": \"emoticon-poop-outline\",\n      \"code\": 986229,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 578.1Q875 543 843.8 527.3 822.3 513.7 800.8 507.8 816.4 457 775.4 414.1 755.9 392.6 730.5 380.9 718.8 377 710.9 375V375Q728.5 339.8 720.7 304.7 710.9 265.6 675.8 244.1 650.4 228.5 599.6 220.7L597.7 218.8Q529.3 207 507.8 177.7 496.1 160.2 488.3 111.3 486.3 95.7 484.4 91.8 480.5 84 472.7 84 460.9 84 440.4 97.7T392.6 142.6Q363.3 177.7 349.6 212.9 330.1 263.7 341.8 310.5 318.4 314.5 294.9 324.2V324.2Q273.4 334 252 359.4 226.6 394.5 224.6 435.5 222.7 457 228.5 490.2V502Q207 507.8 189.5 517.6H187.5Q177.7 521.5 164.1 531.3T146.5 546.9Q125 570.3 116.2 604.5T110.4 675.8 130.9 742.2Q152.3 785.2 177.7 810.5 218.8 851.6 291 877 343.8 894.5 421.9 908.2 474.6 916 525.4 916 630.9 916 719.7 879.9T861.3 779.3Q892.6 740.2 901.4 703.1T904.3 625Q900.4 593.8 892.6 578.1ZM668 472.7Q685.5 472.7 697.3 486.3T708 516.6 694.3 544.9 663.1 555.7 633.8 542 624 512.7 636.7 484.4 664.1 472.7H668ZM841.8 689.5H839.8Q834 714.8 812.5 740.2 771.5 791 695.3 822.3T525.4 853.5Q478.5 853.5 431.6 845.7 277.3 822.3 220.7 765.6 203.1 746.1 185.5 712.9 175.8 693.4 172.9 668.9T175.8 619.1Q181.6 601.6 193.4 587.9V587.9Q199.2 582 209 576.2V576.2L218.8 572.3Q224.6 568.4 236.3 564.5 250 603.5 284.2 628.9T357.4 654.3H367.2Q421.9 650.4 456.1 606.4T486.3 508.8 446.3 418 359.4 378.9L345.7 380.9Q330.1 380.9 310.5 388.7L318.4 380.9Q334 375 351.6 371.1L416 359.4 402.3 294.9Q396.5 267.6 408.2 234.4 416 212.9 441.4 181.6 447.3 201.2 459 214.8 494.1 265.6 585.9 281.3H587.9Q628.9 289.1 644.5 298.8 656.3 304.7 659.2 318.4T656.3 345.7L632.8 382.8Q593.8 392.6 565.4 425.8T533.2 502Q527.3 558.6 559.6 602.5T646.5 654.3H660.2Q707 654.3 742.2 623 767.6 601.6 781.3 568.4H787.1Q796.9 570.3 810.5 580.1L814.5 584Q828.1 587.9 835.9 603.5 839.8 613.3 841.8 634.8 845.7 664.1 841.8 689.5ZM318.4 519.5Q316.4 502 327.1 488.3T355.5 470.7H359.4Q377 470.7 388.7 481.4T402.3 508.8 393.6 539.1 365.2 554.7 334 545.9 318.4 519.5ZM363.3 673.8Q371.1 671.9 388.7 675.8L396.5 677.7Q451.2 689.5 507.8 689.5T619.1 677.7L627 675.8Q642.6 673.8 650.4 673.8 662.1 671.9 671.9 677.7 685.5 687.5 677.7 717.8T646.5 771.5Q589.8 830.1 507.8 830.1T369.1 771.5Q345.7 748 337.9 717.8T343.8 677.7Q353.5 673.8 363.3 673.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-poop-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6e00eab2bd1561b40093448c18968bf\",\n      \"css\": \"emoticon-sad\",\n      \"code\": 986230,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM291 396.5Q291 371.1 310.5 352.5T354.5 334 397.5 352.5 416 395.5 397.5 439.5 354.5 459 310.5 439.5 291 396.5ZM615.2 718.8Q601.6 695.3 570.3 680.7T500 666 429.7 680.7 384.8 718.8L326.2 658.2Q353.5 625 399.4 604.5T500 584 600.6 604.5 673.8 658.2ZM646.5 459Q621.1 459 602.5 439.5T584 395.5 602.5 352.5 645.5 334 689.5 352.5 709 395.5 689.5 439.5 646.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-sad\"\n      ]\n    },\n    {\n      \"uid\": \"9d3d6864feb5532432249a9cb337340b\",\n      \"css\": \"emoticon-tongue-outline\",\n      \"code\": 986231,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM375 416Q351.6 416 333 427.7T302.7 459Q291 439.5 291 416 291 382.8 315.4 358.4T375 334 434.6 358.4 459 416Q459 439.5 447.3 459 435.5 439.5 417 427.7T375 416ZM709 416Q709 439.5 697.3 459 685.5 439.5 667 427.7T625 416 583 427.7 552.7 459Q541 439.5 541 416 541 382.8 565.4 358.4T625 334 684.6 358.4 709 416ZM666 541V625H625Q625 685.5 601.6 717.8T542 750 482.4 717.8 459 625H334V541H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-tongue-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c823d4bddf9682284ab6132b97757d9\",\n      \"css\": \"emoticon-wink\",\n      \"code\": 986232,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM291 396.5Q291 371.1 310.5 352.5T354.5 334 397.5 352.5 416 395.5 397.5 439.5 354.5 459 310.5 439.5 291 396.5ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8ZM709 416H541V375H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-wink\"\n      ]\n    },\n    {\n      \"uid\": \"f4cca33cf0e350fb2dc8b370ba0e89ad\",\n      \"css\": \"emoticon-wink-outline\",\n      \"code\": 986233,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM416 396.5Q416 419.9 397.5 439.5T354.5 459 310.5 439.5 291 395.5 310.5 352.5 354.5 334 397.5 352.5 416 396.5ZM500 718.8Q447.3 718.8 400.4 698.2T326.2 642.6L384.8 584Q398.4 605.5 429.7 620.1T500 634.8 570.3 620.1 615.2 584L673.8 642.6Q646.5 677.7 599.6 698.2T500 718.8ZM709 416H541V375H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-wink-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1d105126f7551df955da61bbdba99009\",\n      \"css\": \"eslint\",\n      \"code\": 986234,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M332 398.4L494.1 304.7Q500 300.8 505.9 304.7L668 398.4Q675.8 402.3 675.8 408.2V595.7Q675.8 603.5 668 607.4L505.9 701.2Q500 705.1 494.1 701.2L332 607.4Q324.2 603.5 324.2 595.7V408.2Q324.2 402.3 332 398.4ZM921.9 482.4Q933.6 502 921.9 521.5L728.5 857.4Q716.8 875 693.4 875H306.6Q283.2 875 271.5 857.4L78.1 521.5Q66.4 502 78.1 482.4L271.5 146.5Q285.2 125 306.6 125H693.4Q714.8 125 728.5 146.5ZM761.7 646.5V361.3Q761.7 351.6 753.9 347.7L505.9 207Q500 201.2 492.2 207L246.1 347.7Q238.3 351.6 238.3 361.3V646.5Q238.3 654.3 246.1 658.2L494.1 798.8Q500 802.7 507.8 798.8L753.9 658.2Q761.7 654.3 761.7 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eslint\"\n      ]\n    },\n    {\n      \"uid\": \"7f0bb77b13baa397c08c484ba3863ce6\",\n      \"css\": \"face-recognition\",\n      \"code\": 986235,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 490.2Q353.5 490.2 337.9 504.9T322.3 541 337.9 578.1 375 593.8 412.1 578.1 427.7 541 412.1 504.9 375 490.2ZM625 490.2Q603.5 490.2 587.9 504.9T572.3 541 587.9 578.1 625 593.8 662.1 578.1 677.7 541 662.1 504.9 625 490.2ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500Q164.1 482.4 166 464.8 240.2 431.6 297.9 373T386.7 240.2Q443.4 324.2 534.2 370.1T726.6 416Q771.5 416 820.3 406.3 845.7 492.2 824.2 579.1T742.2 730.5 593.8 820.3Q546.9 834 500 834ZM0 84Q0 48.8 24.4 24.4T84 0H250V84H84V250H0V84ZM1000 916Q1000 951.2 975.6 975.6T916 1000H750V916H916V750H1000V916ZM84 1000Q48.8 1000 24.4 975.6T0 916V750H84V916H250V1000H84ZM916 0Q951.2 0 975.6 24.4T1000 84V250H916V84H750V0H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-recognition\"\n      ]\n    },\n    {\n      \"uid\": \"ba983396f81b42aa1a4906885d5c3c1f\",\n      \"css\": \"file-search\",\n      \"code\": 986236,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H541Q515.6 900.4 494.1 878.9 439.5 830.1 418.9 760.7T414.1 621.1 478.5 496.1Q546.9 421.9 648.4 411.1T834 459V334ZM541 375V146.5L771.5 375H541ZM845.7 787.1Q888.7 720.7 871.1 645.5T788.1 528.3 646.5 503.9 528.3 586.9 503.9 728.5 587.9 845.7Q632.8 875 686.5 875T787.1 845.7L916 974.6 974.6 916ZM687.5 791Q644.5 791 614.3 760.7T584 687.5 614.3 614.3 687.5 584 760.7 614.3 791 687.5 760.7 760.7 687.5 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-search\"\n      ]\n    },\n    {\n      \"uid\": \"2bc1c31c348284cb89f373c5059b7115\",\n      \"css\": \"file-search-outline\",\n      \"code\": 986237,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H541Q515.6 900.4 495.1 879.9T459 834H250V166H541V375H750V423.8Q796.9 433.6 834 459V334ZM845.7 787.1Q888.7 720.7 871.1 645.5T788.1 528.3 646.5 503.9 528.3 586.9 503.9 728.5 587.9 845.7Q632.8 875 686.5 875T787.1 845.7L916 974.6 974.6 916ZM687.5 791Q644.5 791 614.3 760.7T584 687.5 614.3 614.3 687.5 584 760.7 614.3 791 687.5 760.7 760.7 687.5 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e37d942c8a1060b93ee08ebae00b7c60\",\n      \"css\": \"file-table\",\n      \"code\": 986238,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM416 791H291V709H416V791ZM416 666H291V584H416V666ZM416 541H291V459H416V541ZM584 791H459V709H584V791ZM584 666H459V584H584V666ZM584 541H459V459H584V541ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-table\"\n      ]\n    },\n    {\n      \"uid\": \"43f598f09d09fe0cf510cb709cbcd7cc\",\n      \"css\": \"file-table-outline\",\n      \"code\": 986239,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM416 541H291V459H416V541ZM584 541H459V459H584V541ZM416 666H291V584H416V666ZM584 666H459V584H584V666ZM416 791H291V709H416V791ZM584 791H459V709H584V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-table-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0f28239df47c8723169a748870f43f1c\",\n      \"css\": \"folder-key-network-outline\",\n      \"code\": 986240,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 334Q322.3 334 286.1 370.1T250 458 286.1 546.9 375 584Q416 584 448.2 560.5T492.2 500H584V584H666V500H709V416H492.2Q480.5 378.9 448.2 356.4T375 334ZM375 500Q357.4 500 345.7 487.3T334 458 345.7 428.7 375 416 404.3 428.7 416 458 404.3 487.3 375 500ZM625 834Q625 816.4 612.3 803.7T584 791H541V709H791Q826.2 709 850.6 684.6T875 625V291Q875 257.8 850.6 233.4T791 209H541L459 125H209Q173.8 125 149.4 149.4T125 209V625Q125 660.2 149.4 684.6T209 709H459V791H416Q400.4 791 387.7 803.7T375 834H84V916H375Q375 933.6 387.7 946.3T416 959H584Q599.6 959 612.3 946.3T625 916H916V834H625ZM209 625V291H791V625H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-key-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9d4cb8f2a1fdf2cbf4c254a3fda9c57d\",\n      \"css\": \"folder-network-outline\",\n      \"code\": 986241,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 612.3 803.7T584 791H541V709H791Q826.2 709 850.6 684.6T875 625V291Q875 257.8 850.6 233.4T791 209H541L459 125H209Q173.8 125 149.4 149.4T125 209V625Q125 660.2 149.4 684.6T209 709H459V791H416Q400.4 791 387.7 803.7T375 834H84V916H375Q375 933.6 387.7 946.3T416 959H584Q599.6 959 612.3 946.3T625 916H916V834H625ZM209 625V291H791V625H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d32b5fe27ec763c4fa536bca38eb4bba\",\n      \"css\": \"folder-text\",\n      \"code\": 986242,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM625 666H250V584H625V666ZM750 500H250V416H750V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-text\"\n      ]\n    },\n    {\n      \"uid\": \"a5e4c0ec2600af7bf30f875eecdf538e\",\n      \"css\": \"folder-text-outline\",\n      \"code\": 986243,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM625 666H250V584H625V666ZM750 500H250V416H750V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"64a182c4f7b2e45baa44b9905247f5d6\",\n      \"css\": \"food-apple-outline\",\n      \"code\": 986244,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 416Q789.1 339.8 704.1 316.4T541 334V125H459V334Q380.9 293 295.9 316.4T166 416Q136.7 460.9 152.3 546.9 166 623 209 712.9 248 796.9 295.9 856.4T376 916 429.7 908.2Q443.4 902.3 460.9 890.6 482.4 875 500 875T539.1 890.6Q556.6 902.3 570.3 908.2 591.8 916 624 916T704.1 856.4 791 712.9Q834 623 847.7 546.9 863.3 460.9 834 416ZM759.8 556.6Q720.7 712.9 613.3 834 599.6 834 587.9 822.3 548.8 791 500 791T412.1 822.3Q400.4 834 386.7 834 277.3 712.9 240.2 558.6 222.7 509.8 236.3 462.9 253.9 431.6 285.2 412.1T353.5 392.6 421.9 408.2L459 425.8H541L578.1 408.2Q609.4 392.6 646.5 392.6T714.8 412.1 763.7 462.9Q777.3 509.8 759.8 556.6ZM459 209Q392.6 244.1 337.9 252 293 259.8 255.9 246.1 226.6 234.4 205.1 212.9 189.5 195.3 177.7 175.8L171.9 158.2 183.6 142.6Q201.2 127 220.7 117.2 250 103.5 281.3 103.5 320.3 103.5 361.3 127 408.2 152.3 459 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-apple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6315db7ffbef38f429430dca064dc009\",\n      \"css\": \"fuse\",\n      \"code\": 986245,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 291V709H625V291H334ZM464.8 666V537.1H392.6L496.1 334V464.8H566.4ZM666 84V250H291V84Q291 66.4 303.7 53.7T334 41H625Q642.6 41 654.3 53.7T666 84ZM666 750V916Q666 933.6 654.3 946.3T625 959H334Q316.4 959 303.7 946.3T291 916V750H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fuse\"\n      ]\n    },\n    {\n      \"uid\": \"c9c14dc0e000092736ffcdd7837a06b3\",\n      \"css\": \"fuse-blade\",\n      \"code\": 986246,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 875H334L250 791V666H416V875ZM750 666H584V875H666L750 791V666ZM125 125V166Q125 183.6 136.7 196.3T166 209V584Q166 601.6 178.7 613.3T209 625H791Q808.6 625 821.3 613.3T834 584V209Q851.6 209 863.3 196.3T875 166V125H125ZM492.2 541V406.3H416L525.4 193.4V330.1H597.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fuse-blade\"\n      ]\n    },\n    {\n      \"uid\": \"b7b047682be79bf64617a0e7ff5214f1\",\n      \"css\": \"google-ads\",\n      \"code\": 986247,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M509.8 60.5Q464.8 58.6 423.8 82 369.1 113.3 352.5 173.8T367.2 289.1L673.8 818.4Q705.1 873 765.6 889.6T881.8 875 953.1 782.2 937.5 666L632.8 136.7Q613.3 103.5 581.1 84T509.8 60.5ZM283.2 281.3L62.5 666Q41 701.2 41 742.2 41 806.6 85.9 851.6T195.3 896.5Q236.3 896.5 271.5 876T326.2 818.4V820.3L459 591.8 431.6 544.9Q335.9 384.8 293 300.8 287.1 291 285.2 281.3L683.6 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-ads\"\n      ]\n    },\n    {\n      \"uid\": \"685bb500bde3ca3405606ab1e170a2bf\",\n      \"css\": \"google-street-view\",\n      \"code\": 986248,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M498 386.7Q560.5 386.7 605.5 341.8T650.4 234.4 605.5 127.9 498 84 390.6 127.9 345.7 234.4 390.6 341.8 498 386.7ZM390.6 541Q377 572.3 365.2 605.5 339.8 673.8 332 687.5L330.1 691.4Q328.1 695.3 326.2 697.3T317.4 699.2 298.8 693.4L287.1 687.5 283.2 683.6Q281.3 677.7 283.2 671.9 289.1 652.3 326.2 507.8L347.7 427.7Q353.5 410.2 361.3 402.3T378.9 392.6L386.7 390.6H414.1L502 543 589.8 390.6H621.1L628.9 392.6Q638.7 396.5 644.5 404.3 654.3 416 656.3 435.5L716.8 668Q718.8 677.7 717.8 681.6T712.9 687.5L685.5 695.3Q675.8 699.2 669.9 691.4 668 689.5 666 685.5L613.3 543 605.5 916H525.4L511.7 703.1 509.8 701.2Q505.9 699.2 501 699.2T494.1 701.2L492.2 703.1 476.6 916H396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-street-view\"\n      ]\n    },\n    {\n      \"uid\": \"a2f77b7ea09e36122a8ebe7910cd4738\",\n      \"css\": \"hazard-lights\",\n      \"code\": 986249,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500L597.7 666H404.3ZM500 334L257.8 750H742.2ZM500 84L41 875H959ZM500 250L814.5 791H185.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hazard-lights\"\n      ]\n    },\n    {\n      \"uid\": \"2f9a10338a25b3b9cab7dfab0ff38f5c\",\n      \"css\": \"help-network-outline\",\n      \"code\": 986250,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM498 250Q451.2 250 419.9 271.5 390.6 294.9 390.6 337.9H392.6 462.9Q462.9 322.3 472.7 313.5T499 304.7 525.4 315.4 535.2 343.8 526.4 373 503.9 396.5Q476.6 412.1 464.8 427.7T453.1 472.7H527.3Q527.3 455.1 532.2 444.3T550.8 425.8Q578.1 412.1 593.8 390.6T609.4 341.8Q609.4 298.8 579.1 274.4T498 250ZM453.1 509.8V584H527.3V509.8H453.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"help-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"87715f6c56dd304534547786c7aba8a0\",\n      \"css\": \"iframe\",\n      \"code\": 986251,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM459 728.5L396.5 791 209 603.5 396.5 416 459 478.5 334 603.5ZM603.5 791L541 728.5 666 603.5 541 478.5 603.5 416 791 603.5ZM875 291H125V166H875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe\"\n      ]\n    },\n    {\n      \"uid\": \"9d703f8e6f6d5f7e7e4b22986a154ce2\",\n      \"css\": \"iframe-outline\",\n      \"code\": 986252,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 353.5L459 416 334 541 459 666 396.5 728.5 209 541ZM603.5 728.5L541 666 666 541 541 416 603.5 353.5 791 541ZM875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM875 834H125V250H875V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0eeeaaf3c376c309f0d9f2a8e11e6efa\",\n      \"css\": \"image-size-select-actual\",\n      \"code\": 986253,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q93.8 125 67.4 151.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q906.3 875 932.6 848.6T959 791V209Q959 177.7 932.6 151.4T875 125ZM209 709L353.5 521.5 459 646.5 603.5 459 791 709H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-size-select-actual\"\n      ]\n    },\n    {\n      \"uid\": \"e90cc2946fd8f509e73e3c8a95bc7273\",\n      \"css\": \"image-size-select-large\",\n      \"code\": 986254,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625H959V709H875V625ZM875 459H959V541H875V459ZM959 791H875V875Q906.3 875 932.6 848.6T959 791ZM541 125H625V209H541V125ZM875 291H959V375H875V291ZM875 125V209H959Q959 177.7 932.6 151.4T875 125ZM41 291H125V375H41V291ZM709 125H791V209H709V125ZM709 791H791V875H709V791ZM125 125Q93.8 125 67.4 151.4T41 209H125V125ZM375 125H459V209H375V125ZM209 125H291V209H209V125ZM41 459V791Q41 826.2 65.4 850.6T125 875H625V459H41ZM125 791L228.5 658.2 304.7 748 408.2 613.3 541 791H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-size-select-large\"\n      ]\n    },\n    {\n      \"uid\": \"bd8b7c18193c6d04cc029e1e986d3d1a\",\n      \"css\": \"image-size-select-small\",\n      \"code\": 986255,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 625H875V709H959V625ZM959 459H875V541H959V459ZM959 791H875V875Q906.3 875 932.6 848.6T959 791ZM625 125H541V209H625V125ZM959 291H875V375H959V291ZM875 125V209H959Q959 177.7 932.6 151.4T875 125ZM125 875H459V625H41V791Q41 826.2 65.4 850.6T125 875ZM125 291H41V375H125V291ZM625 791H541V875H625V791ZM791 125H709V209H791V125ZM791 791H709V875H791V791ZM125 125Q93.8 125 67.4 151.4T41 209H125V125ZM125 459H41V541H125V459ZM459 125H375V209H459V125ZM291 125H209V209H291V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-size-select-small\"\n      ]\n    },\n    {\n      \"uid\": \"0442e8fd9523f9fca2290dd28366769a\",\n      \"css\": \"ip-network-outline\",\n      \"code\": 986256,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM416 250H334V584H416V250ZM584 250H459V584H541V500H584Q617.2 500 641.6 475.6T666 416V334Q666 298.8 641.6 274.4T584 250ZM584 416H541V334H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ip-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e70ac90f872f6c7aea35a9910cde2ed3\",\n      \"css\": \"ipod\",\n      \"code\": 986257,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q257.8 84 233.4 108.4T209 166V834Q209 867.2 233.4 891.6T291 916H709Q742.2 916 766.6 891.6T791 834V166Q791 132.8 766.6 108.4T709 84H291ZM291 166H709V416H291V166ZM500 500Q568.4 500 617.2 548.8T666 667 617.2 785.2 500 834 382.8 785.2 334 667 382.8 548.8 500 500ZM500 584Q464.8 584 440.4 608.4T416 667 440.4 725.6 500 750 559.6 725.6 584 667 559.6 608.4 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ipod\"\n      ]\n    },\n    {\n      \"uid\": \"e2ef6a373cc3bec1c33dd5efeb99bb4a\",\n      \"css\": \"language-haskell\",\n      \"code\": 986258,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M85.9 791L281.3 500 85.9 209H232.4L427.7 500 232.4 791H85.9ZM281.3 791L476.6 500 281.3 209H427.7L816.4 791H669.9L548.8 609.4 427.7 791H281.3ZM752 621.1L687.5 523.4H914.1V621.1H752ZM654.3 476.6L589.8 378.9H914.1V476.6H654.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-haskell\"\n      ]\n    },\n    {\n      \"uid\": \"666e74abcd8b63439aa3ac300fdc5dc7\",\n      \"css\": \"leaf-maple\",\n      \"code\": 986259,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 541L666 666 709 750 541 718.8V875H459V718.8L291 750 334 666 91.8 541 132.8 468.8 66.4 334 216.8 324.2 257.8 250 400.4 412.1 334 209H416L500 84 584 209H666L599.6 412.1 742.2 250 783.2 322.3 933.6 332 867.2 466.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leaf-maple\"\n      ]\n    },\n    {\n      \"uid\": \"d97b9fa0a2f99f6a43d9e7707002379d\",\n      \"css\": \"link-plus\",\n      \"code\": 986260,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 291H459V375H291Q240.2 375 203.1 411.1T166 500 203.1 588.9 291 625H459V709H291Q234.4 709 186.5 680.7T111.3 604.5 84 500 111.3 395.5 186.5 319.3 291 291ZM709 291Q765.6 291 813.5 319.3T888.7 395.5 916 500H834Q834 447.3 796.9 411.1T709 375H541V291H709ZM334 459H666V541H334V459ZM709 500H791V625H916V709H791V834H709V709H584V625H709V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-plus\"\n      ]\n    },\n    {\n      \"uid\": \"efc3ea3fbb337e70cf4d5bfcd457b1bb\",\n      \"css\": \"map-marker-check\",\n      \"code\": 986261,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q578.1 84 645.5 123T752 229.5 791 375Q791 511.7 646.5 728.5 572.3 835.9 500 916V916L455.1 863.3Q400.4 794.9 353.5 728.5 291 632.8 253.9 552.7 209 451.2 209 374T248 229.5 354.5 123 500 84ZM435.5 584L709 308.6 650.4 250 435.5 466.8 349.6 378.9 291 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-check\"\n      ]\n    },\n    {\n      \"uid\": \"8e67a9616d1a7f4a7cab101e0649c650\",\n      \"css\": \"math-cos\",\n      \"code\": 986262,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291Q132.8 291 108.4 315.4T84 375V625Q84 660.2 108.4 684.6T166 709H250Q285.2 709 309.6 684.6T334 625V584H250V625H166V375H250V416H334V375Q334 339.8 309.6 315.4T250 291H166ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375ZM750 291Q714.8 291 690.4 315.4T666 375V459Q666 492.2 690.4 516.6T750 541H834V625H666V709H834Q867.2 709 891.6 684.6T916 625V541Q916 507.8 891.6 483.4T834 459H750V375H916V291H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-cos\"\n      ]\n    },\n    {\n      \"uid\": \"01e2399f313c75e4298020b66e0a43a9\",\n      \"css\": \"math-sin\",\n      \"code\": 986263,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291Q132.8 291 108.4 315.4T84 375V459Q84 492.2 108.4 516.6T166 541H250V625H84V709H250Q285.2 709 309.6 684.6T334 625V541Q334 507.8 309.6 483.4T250 459H166V375H334V291H166ZM584 291V375H541V625H584V709H416V625H459V375H416V291H584ZM666 291V709H750V500L834 709H916V291H834V500L750 291H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-sin\"\n      ]\n    },\n    {\n      \"uid\": \"6e5d6d0526d83f36ce01cd36a79902c0\",\n      \"css\": \"math-tan\",\n      \"code\": 986264,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291V375H166V709H250V375H334V291H84ZM459 291Q423.8 291 399.4 315.4T375 375V709H459V541H541V709H625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V459H459V375ZM666 291V709H750V500L834 709H916V291H834V500L750 291H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-tan\"\n      ]\n    },\n    {\n      \"uid\": \"e826d915e98962ec52cf63a41533f3dd\",\n      \"css\": \"microwave\",\n      \"code\": 986265,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM166 291H666V709H166V291ZM791 291Q808.6 291 821.3 303.7T834 334 821.3 363.3 791 375 761.7 363.3 750 334 761.7 303.7 791 291ZM541 375V625H625V375H541ZM791 459Q808.6 459 821.3 470.7T834 500 821.3 529.3 791 541 761.7 529.3 750 500 761.7 470.7 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microwave\"\n      ]\n    },\n    {\n      \"uid\": \"2343b24e23149d9e79ceb9a8a0a3889a\",\n      \"css\": \"minus-network-outline\",\n      \"code\": 986266,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM625 459V375H375V459H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ff80ccb926ef99cdb4f2dfe3153171f3\",\n      \"css\": \"network-off\",\n      \"code\": 986267,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 218.8L209 386.7V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H738.3L822.3 1000 875 947.3 95.7 166ZM625 834Q625 816.4 613.3 803.7T584 791H541V718.8L656.3 834H625ZM736.3 703.1L212.9 179.7Q222.7 156.3 244.1 140.6T291 125H709Q742.2 125 766.6 149.4T791 209V625Q791 652.3 776.4 672.9T736.3 703.1ZM916 834V882.8L867.2 834H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-off\"\n      ]\n    },\n    {\n      \"uid\": \"9ed809ddfdde49f2f6a4843ae7fb0c01\",\n      \"css\": \"network-off-outline\",\n      \"code\": 986268,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M43 218.8L209 384.8V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H740.2L824.2 1000 877 947.3 95.7 166ZM291 468.8L449.2 625H291V468.8ZM625 834Q625 816.4 613.3 803.7T584 791H541V718.8L656.3 834H625ZM916 834V880.9L869.1 834H916ZM291 255.9L214.8 177.7Q222.7 154.3 244.1 139.6T291 125H709Q742.2 125 766.6 149.4T791 209V625Q791 650.4 776.4 671.9T738.3 703.1L660.2 625H709V209H291V255.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7b70f5a2fce1370379af3ef9fb8eb805\",\n      \"css\": \"network-outline\",\n      \"code\": 986269,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"70986cbb936a3d9d31516b6771c8c326\",\n      \"css\": \"numeric-1-circle\",\n      \"code\": 986272,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291V375H500V709H584V291H416ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1-circle\"\n      ]\n    },\n    {\n      \"uid\": \"598d227963eabcfc9e6e828c010ee3a7\",\n      \"css\": \"numeric-1-circle-outline\",\n      \"code\": 986273,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291H584V709H500V375H416V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7079d8a51bf73c45e54afc20b66995a5\",\n      \"css\": \"numeric-2-circle\",\n      \"code\": 986274,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H541V459H459Q423.8 459 399.4 483.4T375 541V709H625V625H459V541H541Q576.2 541 600.6 516.6T625 459V375Q625 339.8 600.6 315.4T541 291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2-circle\"\n      ]\n    },\n    {\n      \"uid\": \"a01c37afdf9bcd5cad016e76653d53a7\",\n      \"css\": \"numeric-2-circle-outline\",\n      \"code\": 986275,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H541Q576.2 291 600.6 315.4T625 375V459Q625 492.2 600.6 516.6T541 541H459V625H625V709H375V541Q375 507.8 399.4 483.4T459 459H541V375H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ed1709d1b88543c247da1493920c5d2\",\n      \"css\": \"numeric-3-circle\",\n      \"code\": 986276,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H375V375H541V459H459V541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3-circle\"\n      ]\n    },\n    {\n      \"uid\": \"dedad14f0df879c8dce05f7a75d1a38a\",\n      \"css\": \"numeric-3-circle-outline\",\n      \"code\": 986277,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625Q625 660.2 600.6 684.6T541 709H375V625H541V541H459V459H541V375H375V291H541Q576.2 291 600.6 315.4T625 375V437.5Q625 462.9 606.4 481.4T562.5 500Q587.9 500 606.4 518.6T625 562.5V625ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8c374a310c3a4207b1eb718e593021df\",\n      \"css\": \"numeric-4-circle\",\n      \"code\": 986278,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V541H541V709H625V291H541V459H459V291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4-circle\"\n      ]\n    },\n    {\n      \"uid\": \"fe2c74c926faaf6fd103e9affe4be65c\",\n      \"css\": \"numeric-4-circle-outline\",\n      \"code\": 986279,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459V459H541V291H625V709H541V541H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3db941215979610c3ec87e5d1b711148\",\n      \"css\": \"numeric-5-circle\",\n      \"code\": 986280,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5-circle\"\n      ]\n    },\n    {\n      \"uid\": \"24ce1cdf9bad9d347249702bfbe639b6\",\n      \"css\": \"numeric-5-circle-outline\",\n      \"code\": 986281,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H625V375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H375V625H541V541H375V291ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c4bd1c97740bc77077e37d960beb06bf\",\n      \"css\": \"numeric-6-circle\",\n      \"code\": 986282,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459ZM459 541H541V625H459V541ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6-circle\"\n      ]\n    },\n    {\n      \"uid\": \"68cb21634f5f8e80695d4501ebdc9a19\",\n      \"css\": \"numeric-6-circle-outline\",\n      \"code\": 986283,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H625V375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H459Q423.8 709 399.4 684.6T375 625V375Q375 339.8 399.4 315.4T459 291ZM459 541V625H541V541H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"189e489dea100a7fb64b70de24159189\",\n      \"css\": \"numeric-7-circle\",\n      \"code\": 986284,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709L625 375V291H375V375H541L375 709H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7-circle\"\n      ]\n    },\n    {\n      \"uid\": \"cbd7d450e370909958c501ad5da5045a\",\n      \"css\": \"numeric-7-circle-outline\",\n      \"code\": 986285,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709H375L541 375H375V291H625V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dc9d4b5aedce8cb6fb4743ae586643c4\",\n      \"css\": \"numeric-8-circle\",\n      \"code\": 986286,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V625H459V541ZM459 375H541V459H459V375ZM459 709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V437.5Q375 462.9 393.6 481.4T437.5 500Q412.1 500 393.6 518.6T375 562.5V625Q375 660.2 399.4 684.6T459 709ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8-circle\"\n      ]\n    },\n    {\n      \"uid\": \"429ee28494c780a695539f2f37aabc8c\",\n      \"css\": \"numeric-8-circle-outline\",\n      \"code\": 986287,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541V625H541V541H459ZM459 375V459H541V375H459ZM459 709Q423.8 709 399.4 684.6T375 625V562.5Q375 537.1 393.6 518.6T437.5 500Q412.1 500 393.6 481.4T375 437.5V375Q375 339.8 399.4 315.4T459 291H541Q576.2 291 600.6 315.4T625 375V437.5Q625 462.9 606.4 481.4T562.5 500Q587.9 500 606.4 518.6T625 562.5V625Q625 660.2 600.6 684.6T541 709H459ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2559b09d051d193f3ba3983bd3973997\",\n      \"css\": \"numeric-9-circle\",\n      \"code\": 986288,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM541 709Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541ZM541 459H459V375H541V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-circle\"\n      ]\n    },\n    {\n      \"uid\": \"0f383a1ce302e8679dab87dc4e0bd842\",\n      \"css\": \"numeric-9-circle-outline\",\n      \"code\": 986289,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709H375V625H541V541H459Q423.8 541 399.4 516.6T375 459V375Q375 339.8 399.4 315.4T459 291H541Q576.2 291 600.6 315.4T625 375V625Q625 660.2 600.6 684.6T541 709ZM541 459V375H459V459H541ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7850840a506e823c616e04cb227c09b3\",\n      \"css\": \"numeric-9-plus-circle\",\n      \"code\": 986290,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H709V375H625V459H541V541H625V625H709V541H791V459ZM416 291H334Q298.8 291 274.4 315.4T250 375V459Q250 492.2 274.4 516.6T334 541H416V625H250V709H416Q451.2 709 475.6 684.6T500 625V375Q500 339.8 475.6 315.4T416 291ZM334 375H416V459H334V375ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus-circle\"\n      ]\n    },\n    {\n      \"uid\": \"4bc1fb3836b3a22c1c1b9d3685709a69\",\n      \"css\": \"numeric-9-plus-circle-outline\",\n      \"code\": 986291,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459V541H709V625H625V541H541V459H625V375H709V459H791ZM416 291Q451.2 291 475.6 315.4T500 375V625Q500 660.2 475.6 684.6T416 709H250V625H416V541H334Q298.8 541 274.4 516.6T250 459V375Q250 339.8 274.4 315.4T334 291H416ZM334 375V459H416V375H334ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c4e6aeb676e60e023a6360edb38e6b31\",\n      \"css\": \"parachute\",\n      \"code\": 986292,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M882.8 457L500 959 115.2 457 119.1 453.1Q130.9 441.4 148.4 431.6L447.3 820.3 357.4 541 384.8 492.2 500 849.6 613.3 492.2 642.6 541 552.7 820.3 849.6 431.6H851.6Q871.1 443.4 878.9 451.2ZM209 375Q253.9 375 293 399.4T353.5 462.9Q375 421.9 414.1 398.4T500 375 585 398.4 646.5 462.9Q666 421.9 705.1 398.4T791 375Q861.3 375 908.2 421.9 890.6 326.2 832 249T686.5 127.9 500 84 312.5 127.9 166 250 89.8 423.8Q138.7 375 209 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"parachute\"\n      ]\n    },\n    {\n      \"uid\": \"3ebfd0448fe10a54533338a03fd285b0\",\n      \"css\": \"parachute-outline\",\n      \"code\": 986293,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M882.8 457L500 959 115.2 457 119.1 453.1Q130.9 441.4 148.4 431.6L447.3 820.3 357.4 541 384.8 492.2 500 849.6 613.3 492.2 642.6 541 552.7 820.3 849.6 431.6H851.6Q871.1 443.4 878.9 451.2ZM500 166Q576.2 166 644.5 200.2T759.8 293Q697.3 300.8 644.5 337.9 580.1 291 500 291T353.5 339.8Q302.7 300.8 238.3 293 285.2 234.4 353.5 200.2T500 166ZM500 84Q400.4 84 312.5 127.9T166 250 89.8 423.8Q138.7 375 209 375 253.9 375 293 399.4T353.5 462.9Q375 421.9 414.1 398.4T500 375 585 398.4 646.5 462.9Q666 421.9 705.1 398.4T791 375Q861.3 375 908.2 421.9 890.6 326.2 832 249T686.5 127.9 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"parachute-outline\"\n      ]\n    },\n    {\n      \"uid\": \"480207378a43ffc593e9b185cdc2b1ea\",\n      \"css\": \"play-network-outline\",\n      \"code\": 986295,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM416 584V250L625 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ba6e13cb189bdc2223e21105a016b88\",\n      \"css\": \"playlist-music\",\n      \"code\": 986296,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 250H125V334H625V250ZM625 416H125V500H625V416ZM125 666H459V584H125V666ZM709 250V591.8Q687.5 584 666 584 615.2 584 578.1 620.1T541 708 578.1 796.9 667 834 754.9 796.9 791 709V334H916V250H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-music\"\n      ]\n    },\n    {\n      \"uid\": \"a57723e7a15089d8a8fefed6145778ae\",\n      \"css\": \"playlist-music-outline\",\n      \"code\": 986297,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 250V334H125V250H625ZM625 416V500H125V416H625ZM125 666V584H459V666H125ZM709 250H916V334H791V709Q791 759.8 754.9 796.9T667 834 578.1 796.9 541 708 578.1 620.1 666 584Q687.5 584 709 591.8V250ZM666 666Q648.4 666 636.7 678.7T625 709 636.7 738.3 666 750 696.3 738.3 709 709 696.3 678.7 666 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-music-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fef768a3d1623460893f8ef1f28b9222\",\n      \"css\": \"plus-network-outline\",\n      \"code\": 986298,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM625 459H541V541H459V459H375V375H459V291H541V375H625V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"90949724fe427d82e54ee79c1c435619\",\n      \"css\": \"postage-stamp\",\n      \"code\": 986299,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84V228.5Q117.2 228.5 141.6 259.8T166 334 141.6 407.2 84 437.5V562.5Q117.2 562.5 141.6 592.8T166 666 141.6 740.2 84 771.5V916H228.5Q228.5 882.8 259.8 858.4T334 834 407.2 858.4 437.5 916H562.5Q562.5 882.8 592.8 858.4T666 834 740.2 858.4 771.5 916H916V771.5Q882.8 771.5 858.4 740.2T834 666V666Q834 623 858.4 592.8T916 562.5V437.5Q882.8 437.5 858.4 407.2T834 334V334Q834 291 858.4 259.8T916 228.5V84H771.5Q771.5 117.2 740.2 141.6T666 166 592.8 141.6 562.5 84H437.5Q437.5 117.2 407.2 141.6T334 166 259.8 141.6 228.5 84H84ZM250 250H750V750H250V250ZM375 291Q339.8 291 315.4 315.4T291 375 315.4 434.6 375 459 434.6 434.6 459 375 434.6 315.4 375 291ZM709 416L584 541 500 500 291 709H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"postage-stamp\"\n      ]\n    },\n    {\n      \"uid\": \"09898ab6b2c35ac2a9d9853925605acf\",\n      \"css\": \"progress-alert\",\n      \"code\": 986300,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V166Q630.9 177.7 702.1 231.4T807.6 367.2 832 539.1Q816.4 652.3 736.3 733.4T541 828.1V912.1Q654.3 898.4 743.2 833T877 666 910.2 451.2Q900.4 355.5 849.6 275.4T717.8 144.5 541 84ZM459 84Q334 95.7 236.3 175.8L294.9 238.3Q367.2 181.6 459 169.9V85.9 84ZM177.7 236.3Q97.7 332 85.9 459H168Q181.6 367.2 236.3 294.9ZM85.9 541Q97.7 666 177.7 763.7L236.3 705.1Q179.7 630.9 169.9 541H85.9ZM294.9 765.6L236.3 822.3Q334 902.3 459 916V834Q369.1 822.3 294.9 765.6V765.6ZM541 541V291H459V541H541ZM541 709V625H459V709H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-alert\"\n      ]\n    },\n    {\n      \"uid\": \"ea3a6c80d54094f6d35195383739dd4d\",\n      \"css\": \"progress-wrench\",\n      \"code\": 986301,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V85.9 168Q630.9 179.7 702.1 233.4T807.6 369.1 832 541Q816.4 654.3 735.4 735.4T541 830.1V914.1Q654.3 902.3 744.1 836.9T879.9 670.9 914.1 459Q906.3 361.3 854.5 279.3T720.7 145.5 541 84ZM459 85.9Q332 97.7 236.3 177.7L294.9 238.3Q367.2 181.6 459 169.9V85.9ZM177.7 236.3Q97.7 332 85.9 459H168Q181.6 367.2 236.3 294.9ZM85.9 541Q97.7 666 177.7 763.7L236.3 705.1Q179.7 630.9 169.9 541H85.9ZM294.9 765.6L236.3 822.3Q334 902.3 459 916V834Q369.1 822.3 294.9 765.6ZM701.2 632.8L529.3 460.9Q543 429.7 535.2 393.6T501 331.1 435.5 297.9 361.3 306.6L443.4 388.7 386.7 445.3 304.7 363.3Q287.1 398.4 293.9 436.5T328.1 502 390.6 537.1 459 531.3L628.9 703.1Q634.8 709 642.6 709T656.3 703.1L699.2 660.2Q705.1 654.3 706.1 645.5T701.2 632.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-wrench\"\n      ]\n    },\n    {\n      \"uid\": \"bb64ad761ad7b39264cd461f89a724ea\",\n      \"css\": \"radio-am\",\n      \"code\": 986302,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291Q173.8 291 149.4 315.4T125 375V709H209V541H291V709H375V375Q375 339.8 350.6 315.4T291 291H209ZM209 375H291V459H209V375ZM541 291Q507.8 291 483.4 315.4T459 375V709H541V375H625V666H709V375H791V709H875V375Q875 339.8 850.6 315.4T791 291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radio-am\"\n      ]\n    },\n    {\n      \"uid\": \"3ce64c6d2d93145e4e9b3ecd478f9cf6\",\n      \"css\": \"radio-fm\",\n      \"code\": 986303,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291V709H209V541H334V459H209V375H375V291H125ZM541 291Q507.8 291 483.4 315.4T459 375V709H541V375H625V666H709V375H791V709H875V375Q875 339.8 850.6 315.4T791 291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radio-fm\"\n      ]\n    },\n    {\n      \"uid\": \"324981a0382bedd9d7e861cf2dbb0216\",\n      \"css\": \"radius\",\n      \"code\": 986304,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM709 625V541H572.3Q560.5 560.5 541 572.3T500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416Q521.5 416 541 427.7T572.3 459H709V375L834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radius\"\n      ]\n    },\n    {\n      \"uid\": \"809590400e6d6ffe3a6f4ed5112d63cf\",\n      \"css\": \"radius-outline\",\n      \"code\": 986305,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM666 625V541H572.3Q560.5 560.5 541 572.3T500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416Q521.5 416 541 427.7T572.3 459H666V375L791 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radius-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ec9d89b3d7d44c6fbc31b025cc990170\",\n      \"css\": \"ruler-square\",\n      \"code\": 986306,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H375V812.5H291V750H375V687.5H209V625H375V562.5H291V500H375V437.5H209V375H375V209H437.5V375H500V291H562.5V375H625V209H687.5V375H750V291H812.5V375H875V125H209Q173.8 125 149.4 149.4T125 209ZM250 291Q232.4 291 220.7 279.3T209 250 220.7 220.7 250 209 279.3 220.7 291 250 279.3 279.3 250 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ruler-square\"\n      ]\n    },\n    {\n      \"uid\": \"4456ab36398aa112d8a1e6c7f6a1f401\",\n      \"css\": \"seat\",\n      \"code\": 986307,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 750V875H291V750H709V875H834V625H166V750ZM791 416H916V541H791V416ZM84 416H209V541H84V416ZM709 541H291V209Q291 173.8 315.4 149.4T375 125H625Q660.2 125 684.6 149.4T709 209V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat\"\n      ]\n    },\n    {\n      \"uid\": \"3a866e4792e89df13db1bd0e21c0700f\",\n      \"css\": \"seat-outline\",\n      \"code\": 986308,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209V500H375V209H625ZM625 125H375Q339.8 125 315.4 149.4T291 209V584H709V209Q709 173.8 684.6 149.4T625 125ZM916 416H791V541H916V416ZM209 416H84V541H209V416ZM834 625H166V875H250V709H750V875H834V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ec90558c6d09ee0a0633d97b91f8707\",\n      \"css\": \"seatbelt\",\n      \"code\": 986309,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q535.2 84 559.6 108.4T584 167 559.6 225.6 500 250 440.4 225.6 416 167 440.4 108.4 500 84ZM515.6 617.2Q611.3 617.2 693.4 627 695.3 541 688.5 472.7T666 375Q660.2 359.4 646.5 345.7L310.5 634.8Q419.9 617.2 515.6 617.2ZM310.5 709Q320.3 828.1 343.8 916H431.6Q414.1 867.2 404.3 791L431.6 787.1Q468.8 783.2 503.9 783.2 552.7 783.2 595.7 791 585.9 867.2 568.4 916H656.3Q681.6 826.2 689.5 699.2 603.5 689.5 515.6 689.5 412.1 689.5 310.5 709ZM500 291Q482.4 293 466.8 294.9 425.8 300.8 394.5 316.4 351.6 337.9 334 375 312.5 418 306.6 539.1L580.1 306.6Q539.1 291 500 291V291ZM773.4 236.3L726.6 181.6 580.1 306.6Q621.1 320.3 646.5 345.7ZM861.3 660.2Q798.8 638.7 693.4 627 693.4 658.2 689.5 699.2 773.4 710.9 835.9 728.5H837.9ZM306.6 539.1L142.6 681.6 179.7 742.2 214.8 730.5Q259.8 716.8 310.5 709 304.7 619.1 306.6 539.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seatbelt\"\n      ]\n    },\n    {\n      \"uid\": \"a8ba2bc8a45b4dac7238b22cb402ed3a\",\n      \"css\": \"sheep\",\n      \"code\": 986310,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 353.5Q834 396.5 802.7 427.7T728.5 459Q695.3 459 668.9 439.5T630.9 390.6Q601.6 416 562.5 416 527.3 416 500 396.5 472.7 416 437.5 416 398.4 416 369.1 390.6 357.4 419.9 331.1 439.5T271.5 459Q228.5 459 197.3 427.7T166 353.5Q166 316.4 191.4 287.1T253.9 252Q250 240.2 250 228.5 250 203.1 268.6 184.6T312.5 166Q324.2 166 335.9 171.9 341.8 150.4 358.4 137.7T396.5 125Q412.1 125 423.8 132.8 433.6 111.3 454.1 97.7T500 84 545.9 97.7 576.2 132.8Q587.9 125 603.5 125 625 125 641.6 137.7T664.1 171.9Q675.8 166 687.5 166 712.9 166 731.4 184.6T750 228.5Q750 240.2 746.1 252 783.2 257.8 808.6 287.1T834 353.5ZM416 500Q398.4 500 386.7 511.7T375 541 386.7 571.3 416 584 446.3 571.3 459 541 446.3 511.7 416 500ZM584 500Q566.4 500 553.7 511.7T541 541 553.7 571.3 584 584 613.3 571.3 625 541 613.3 511.7 584 500ZM843.8 443.4Q822.3 470.7 793 485.4T728.5 500Q703.1 500 675.8 488.3 675.8 582 660.2 654.3 640.6 744.1 601.6 789.1 570.3 826.2 521.5 832V750H478.5V832Q429.7 826.2 398.4 789.1 324.2 705.1 324.2 488.3 296.9 500 271.5 500 236.3 500 207 485.4T156.3 443.4Q119.1 480.5 84 500L97.7 521.5Q115.2 546.9 138.7 562.5 171.9 584 209 584 226.6 584 244.1 580.1 257.8 724.6 308.6 808.6 375 916 500 916T691.4 808.6Q742.2 724.6 755.9 580.1 773.4 584 791 584 828.1 584 861.3 562.5 884.8 546.9 902.3 521.5L916 500 894.5 486.3Q865.2 466.8 843.8 443.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sheep\"\n      ]\n    },\n    {\n      \"uid\": \"f587df699848fd6689c22dc47fc92fa9\",\n      \"css\": \"shield-airplane-outline\",\n      \"code\": 986311,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM500 236.3Q515.6 236.3 527.3 248T539.1 275.4V421.9L750 552.7V605.5L539.1 539.1V683.6L591.8 724.6V763.7L500 736.3 408.2 763.7V724.6L460.9 683.6V539.1L250 605.5V552.7L460.9 421.9V275.4Q460.9 259.8 472.7 248T500 236.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-airplane-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a547e2f85dbedb09a7a23286286966f4\",\n      \"css\": \"shield-check-outline\",\n      \"code\": 986312,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM416 709L250 541 308.6 482.4 416 589.8 691.4 316.4 750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"437c2e4bd3160e7dff1c065d9db79b38\",\n      \"css\": \"shield-cross\",\n      \"code\": 986313,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 676.8T307.6 856.4 500 959Q607.4 931.6 692.4 856.4T826.2 676.8 875 459V209ZM666 416H541V750H459V416H334V334H459V209H541V334H666V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-cross\"\n      ]\n    },\n    {\n      \"uid\": \"a5ec460469e64266aa869397ff13089d\",\n      \"css\": \"shield-cross-outline\",\n      \"code\": 986314,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 676.8T692.4 856.4 500 959Q392.6 931.6 307.6 856.4T173.8 676.8 125 459V209L500 41 875 209V459ZM500 875Q578.1 855.5 645.5 792T752 641.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 554.7 249 641.6T356.4 791 500 875ZM666 375H541V250H459V375H334V459H459V791H541V459H666V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-cross-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d47e22c704b8dd2d0fb6222ce7038dbe\",\n      \"css\": \"shield-home-outline\",\n      \"code\": 986315,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM459 584H541V709H666V500H750L500 291 250 500H334V709H459V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-home-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f3e7fe489b893c1c54e0db70e4c83b15\",\n      \"css\": \"shield-lock-outline\",\n      \"code\": 986316,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM617.2 459V396.5Q617.2 353.5 581.1 322.3T500 291 418.9 322.3 382.8 396.5V459Q365.2 459 349.6 474.6T334 507.8V654.3Q334 675.8 348.6 692.4T382.8 709H613.3Q634.8 709 650.4 693.4T666 658.2V511.7Q666 490.2 651.4 474.6T617.2 459ZM562.5 459H437.5V396.5Q437.5 371.1 456.1 356.4T500 341.8 543.9 356.4 562.5 396.5V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c50bf5031ab2d375e24da457b3f38a80\",\n      \"css\": \"sort-variant-lock\",\n      \"code\": 986317,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541V459H625V541H125ZM125 250H875V334H125V250ZM125 750V666H375V750H125ZM916 916H584V750H625V709Q625 656.3 661.1 620.1T750 584 838.9 620.1 875 709V750H916V916ZM750 666Q732.4 666 720.7 678.7T709 709V750H791V709Q791 691.4 779.3 678.7T750 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-variant-lock\"\n      ]\n    },\n    {\n      \"uid\": \"bacfdcdd254882bae825e75b0ac4601b\",\n      \"css\": \"sort-variant-lock-open\",\n      \"code\": 986318,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541V459H625V541H125ZM125 250H875V334H125V250ZM125 750V666H375V750H125ZM916 916H584V750H625V666Q625 615.2 661.1 578.1T750 541 838.9 578.1 875 666H791Q791 648.4 779.3 636.7T750 625 720.7 636.7 709 666V750H916V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-variant-lock-open\"\n      ]\n    },\n    {\n      \"uid\": \"8c80cae22e41018535666c164cbf33af\",\n      \"css\": \"source-repository\",\n      \"code\": 986319,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84H750Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM531.3 562.5Q607.4 562.5 648.4 513.7 675.8 482.4 685.5 433.6 712.9 423.8 731.4 399.4T750 343.8Q750 304.7 722.7 277.3T656.3 250 589.8 277.3 562.5 343.8Q562.5 373 578.1 396.5T621.1 429.7Q611.3 459 587.9 476.6 554.7 500 500 500 421.9 500 375 535.2V369.1Q402.3 359.4 419.9 335T437.5 281.3Q437.5 242.2 410.2 214.8T343.8 187.5 277.3 214.8 250 281.3Q250 310.5 267.6 335T312.5 369.1V630.9Q285.2 640.6 267.6 665T250 718.8Q250 757.8 277.3 785.2T343.8 812.5 410.2 785.2 437.5 718.8Q437.5 689.5 421.9 666T380.9 632.8Q392.6 603.5 419.9 585.9 460.9 562.5 531.3 562.5ZM343.8 687.5Q357.4 687.5 366.2 696.3T375 718.8 366.2 741.2 343.8 750 321.3 741.2 312.5 718.8 321.3 696.3 343.8 687.5ZM343.8 250Q357.4 250 366.2 258.8T375 281.3 366.2 303.7 343.8 312.5 321.3 303.7 312.5 281.3 321.3 258.8 343.8 250ZM656.3 312.5Q669.9 312.5 678.7 321.3T687.5 343.8 678.7 366.2 656.3 375 633.8 366.2 625 343.8 633.8 321.3 656.3 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-repository\"\n      ]\n    },\n    {\n      \"uid\": \"5d6de3fe01dcf6517fb44cc440ffd686\",\n      \"css\": \"source-repository-multiple\",\n      \"code\": 986320,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 0H834Q867.2 0 891.6 24.4T916 84V750Q916 785.2 891.6 809.6T834 834H334Q298.8 834 274.4 809.6T250 750V84Q250 48.8 274.4 24.4T334 0ZM615.2 478.5Q689.5 478.5 730.5 431.6 759.8 398.4 767.6 349.6 796.9 339.8 815.4 315.4T834 259.8Q834 220.7 806.6 193.4T740.2 166 673.8 193.4 646.5 259.8Q646.5 289.1 662.1 312.5T703.1 347.7Q695.3 375 671.9 392.6 638.7 416 584 416 505.9 416 459 451.2V287.1Q486.3 277.3 503.9 252.9T521.5 197.3Q521.5 158.2 494.1 130.9T427.7 103.5 361.3 130.9 334 197.3Q334 228.5 351.6 252.9T396.5 287.1V546.9Q369.1 556.6 351.6 581.1T334 634.8Q334 673.8 361.3 701.2T427.7 728.5 494.1 701.2 521.5 634.8Q521.5 607.4 504.9 583T462.9 548.8Q474.6 521.5 503.9 503.9 544.9 478.5 615.2 478.5ZM427.7 603.5Q439.5 603.5 449.2 613.3T459 635.7 449.2 657.2 426.8 666 405.3 657.2 396.5 635.7 405.3 613.3 427.7 603.5ZM427.7 166Q439.5 166 449.2 175.8T459 198.2 449.2 219.7 426.8 228.5 405.3 219.7 396.5 198.2 405.3 175.8 427.7 166ZM740.2 228.5Q752 228.5 761.7 238.3T771.5 260.7 761.7 282.2 739.3 291 717.8 282.2 709 260.7 717.8 238.3 740.2 228.5ZM666 916V1000H166Q132.8 1000 108.4 975.6T84 916V250H166V916H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-repository-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"fa8918e70c75c3d6116a65708d713845\",\n      \"css\": \"spa\",\n      \"code\": 986321,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 400.4Q640.6 312.5 604.5 230.5T502 84Q437.5 148.4 399.4 230.5T353.5 400.4Q435.5 445.3 500 511.7 564.5 445.3 646.5 400.4ZM500 644.5Q431.6 539.1 321.3 477.5T84 416Q84 603.5 185.5 730.5 259.8 824.2 378.9 877 447.3 908.2 500 916 554.7 906.3 621.1 877 740.2 824.2 814.5 730.5 916 603.5 916 416 789.1 416 678.7 477.5T500 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spa\"\n      ]\n    },\n    {\n      \"uid\": \"c17cccb8b32d6cd3fae24f13410ed4d7\",\n      \"css\": \"spa-outline\",\n      \"code\": 986322,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 400.4Q564.5 445.3 500 511.7 435.5 445.3 353.5 400.4 361.3 312.5 399.4 230.5T502 84Q568.4 148.4 604.5 230.5T646.5 400.4ZM500 644.5Q568.4 539.1 678.7 477.5T916 416Q916 603.5 814.5 730.5 740.2 824.2 621.1 877 554.7 906.3 500 916 447.3 908.2 378.9 877 259.8 824.2 185.5 730.5 84 603.5 84 416 210.9 416 321.3 477.5T500 644.5ZM502 216.8Q460.9 281.3 445.3 357.4L500 398.4 556.6 357.4Q541 281.3 502 216.8ZM500 832Q513.7 828.1 527.3 826.2 560.5 816.4 591.8 800.8 638.7 777.3 677.7 746.1 726.6 705.1 761.7 652.3 802.7 589.8 822.3 509.8 716.8 543 632.8 617.2 572.3 669.9 531.3 738.3 509.8 771.5 500 794.9V794.9L476.6 755.9Q447.3 707 412.1 664.1 363.3 605.5 310.5 568.4 246.1 521.5 177.7 511.7 209 634.8 293 718.8 353.5 779.3 431.6 810.5 472.7 828.1 500 832V832Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spa-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9a22c8bd74a9be7b2db19d9ca7637fe9\",\n      \"css\": \"toaster-oven\",\n      \"code\": 986323,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209Q132.8 209 108.4 233.4T84 291V709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V291Q916 257.8 891.6 233.4T834 209H166ZM166 291H666V709H166V291ZM791 291Q808.6 291 821.3 303.7T834 334 821.3 363.3 791 375 761.7 363.3 750 334 761.7 303.7 791 291ZM250 375V459H584V375H250ZM791 459Q808.6 459 821.3 470.7T834 500 821.3 529.3 791 541 761.7 529.3 750 500 761.7 470.7 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toaster-oven\"\n      ]\n    },\n    {\n      \"uid\": \"d6b4e5d77e43e191b36e8bb37c82a5a6\",\n      \"css\": \"truck-check\",\n      \"code\": 986324,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H709V334H834L959 500V709H875Q875 759.8 838.9 796.9T750 834 661.1 796.9 625 709H375Q375 759.8 338.9 796.9T250 834 161.1 796.9 125 709H41V250Q41 214.8 65.4 190.4T125 166ZM709 396.5V500H894.5L812.5 396.5H709ZM250 646.5Q224.6 646.5 206.1 664.1T187.5 708 206.1 752.9 250 771.5 293.9 752.9 312.5 708 293.9 664.1 250 646.5ZM750 646.5Q724.6 646.5 706.1 664.1T687.5 708 706.1 752.9 750 771.5 793.9 752.9 812.5 708 793.9 664.1 750 646.5ZM334 584L584 334 525.4 273.4 334 464.8 246.1 378.9 187.5 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-check\"\n      ]\n    },\n    {\n      \"uid\": \"08c4482435754885a5bea7fcb334c1dc\",\n      \"css\": \"turnstile\",\n      \"code\": 986325,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H666V459L416 209V84H916V916ZM382.8 257.8Q334 306.6 334 375H84V459H355.5Q378.9 496.1 416 519.5V791H500V541Q568.4 541 617.2 492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"turnstile\"\n      ]\n    },\n    {\n      \"uid\": \"a4d5b40ffe60bcba43c70b8ee71c8173\",\n      \"css\": \"turnstile-outline\",\n      \"code\": 986326,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M558.6 433.6Q535.2 459 500 459T440.4 434.6 416 375 441.4 316.4L382.8 257.8Q334 306.6 334 375H84V459H355.5Q378.9 496.1 416 519.5V791H500V541Q568.4 541 617.2 492.2ZM416 84V209L666 459V916H916V84H416ZM834 834H750V423.8L500 173.8V166H834V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"turnstile-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f07aaa673991b49e512c217b176805e8\",\n      \"css\": \"turtle\",\n      \"code\": 986327,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 248Q382.8 230.5 416 220.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V220.7Q619.1 230.5 646.5 248L580.1 335.9H419.9ZM791 500Q791 529.3 785.2 558.6L679.7 525.4 630.9 373 697.3 285.2Q724.6 310.5 744.1 341.8 796.9 337.9 837.9 357.4 869.1 375 890.6 404.3T916 470.7L791 484.4V500ZM209 500V500 486.3L84 470.7Q87.9 433.6 109.4 404.3T162.1 357.4Q207 335.9 253.9 343.8 275.4 310.5 300.8 287.1L369.1 373 320.3 525.4 214.8 558.6Q209 529.3 209 500ZM425.8 398.4H574.2L619.1 539.1 500 625 380.9 539.1ZM337.9 585.9L468.8 679.7V789.1Q433.6 787.1 400.4 773.4L349.6 888.7Q316.4 875 293.9 845.7T265.6 781.3Q255.9 734.4 279.3 689.5 250 656.3 232.4 617.2ZM662.1 585.9L767.6 617.2Q750 656.3 720.7 689.5 744.1 734.4 734.4 781.3 728.5 816.4 706.1 845.7T650.4 888.7L599.6 773.4Q558.6 789.1 531.3 791V679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"turtle\"\n      ]\n    },\n    {\n      \"uid\": \"0391e5f7110d65664882380faf35334a\",\n      \"css\": \"upload-network-outline\",\n      \"code\": 986328,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 613.3 803.7T584 791H541V709H709Q742.2 709 766.6 684.6T791 625V209Q791 173.8 766.6 149.4T709 125H291Q257.8 125 233.4 149.4T209 209V625Q209 660.2 233.4 684.6T291 709H459V791H416Q398.4 791 386.7 803.7T375 834H84V916H375Q375 933.6 386.7 946.3T416 959H584Q601.6 959 613.3 946.3T625 916H916V834H625ZM291 625V209H709V625H291ZM500 250L334 416H459V584H541V416H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-network-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dc7d43bc75ad4b203d2b5d90cb223f49\",\n      \"css\": \"vibrate-off\",\n      \"code\": 986329,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M341.8 209L273.4 138.7Q289.1 125 312.5 125H687.5Q712.9 125 731.4 143.6T750 187.5V617.2L666 533.2V209H341.8ZM0 625H84V375H0V625ZM875 709V291H791V658.2L841.8 709H875ZM125 709H209V291H125V709ZM750 722.7L921.9 894.5 869.1 947.3 750 826.2Q744.1 847.7 726.6 861.3T687.5 875H312.5Q287.1 875 268.6 856.4T250 812.5V328.1L46.9 125 99.6 72.3ZM666 746.1L334 412.1V791H666V746.1ZM916 375V625H1000V375H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vibrate-off\"\n      ]\n    },\n    {\n      \"uid\": \"53c003710292d805170e37bc4199fa40\",\n      \"css\": \"watch-vibrate-off\",\n      \"code\": 986330,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 375H84V625H0V375ZM500 312.5Q576.2 312.5 630.9 367.2T685.5 500Q685.5 525.4 679.7 546.9L728.5 595.7Q750 546.9 750 500 750 443.4 724.6 391.6T654.3 304.7L625 125H375L357.4 224.6 453.1 318.4Q474.6 312.5 500 312.5ZM875 709V291H791V658.2L841.8 709H875ZM687.5 660.2L921.9 894.5 869.1 947.3 648.4 726.6 625 875H375L343.8 697.3Q269.5 636.7 252.9 542T287.1 367.2L46.9 125 99.6 72.3ZM585.9 664.1L335.9 414.1Q312.5 455.1 312.5 500 312.5 576.2 367.2 630.9T500 685.5Q544.9 685.5 585.9 664.1ZM916 375V625H1000V375H916ZM125 709H209V291H125V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watch-vibrate-off\"\n      ]\n    },\n    {\n      \"uid\": \"7d39e55ae21123b27103d90958ae6a4b\",\n      \"css\": \"arrow-down-circle\",\n      \"code\": 986331,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250V584L312.5 437.5 253.9 496.1 500 744.1 746.1 496.1 687.5 437.5 541 584V250H459ZM500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-circle\"\n      ]\n    },\n    {\n      \"uid\": \"f21dd98cba41faa2d8b97bf068b26f69\",\n      \"css\": \"arrow-down-circle-outline\",\n      \"code\": 986332,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250H541V584L687.5 437.5 746.1 496.1 500 744.1 253.9 496.1 312.5 437.5 459 584V250ZM500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916ZM500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-down-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d9d5e493b132986aa6da2da8d15c1684\",\n      \"css\": \"arrow-left-circle\",\n      \"code\": 986333,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500ZM750 459H416L562.5 312.5 503.9 253.9 255.9 500 503.9 746.1 562.5 687.5 416 541H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-circle\"\n      ]\n    },\n    {\n      \"uid\": \"992a456157c311860f500da53fdc1cef\",\n      \"css\": \"arrow-left-circle-outline\",\n      \"code\": 986334,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459V541H416L562.5 687.5 503.9 746.1 255.9 500 503.9 253.9 562.5 312.5 416 459H750ZM84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500ZM166 500Q166 589.8 210.9 667T333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e0d8692e5cf9f7228f35a77d121df3d7\",\n      \"css\": \"arrow-right-circle\",\n      \"code\": 986335,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM250 541H584L437.5 687.5 496.1 746.1 744.1 500 496.1 253.9 437.5 312.5 584 459H250V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-circle\"\n      ]\n    },\n    {\n      \"uid\": \"d7f7b9b9643208461c3ef546b93617f0\",\n      \"css\": \"arrow-right-circle-outline\",\n      \"code\": 986336,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 541V459H584L437.5 312.5 496.1 253.9 744.1 500 496.1 746.1 437.5 687.5 584 541H250ZM916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84 659.2 115.2 794.9 205.1 884.8 340.8 916 500ZM834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-right-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5225c6d4c718a9fcd10d7a57086098cf\",\n      \"css\": \"arrow-up-circle\",\n      \"code\": 986337,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 750V416L687.5 562.5 746.1 503.9 500 255.9 253.9 503.9 312.5 562.5 459 416V750H541ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-circle\"\n      ]\n    },\n    {\n      \"uid\": \"ba8e39ef8a50b12cb78a769864241568\",\n      \"css\": \"arrow-up-circle-outline\",\n      \"code\": 986338,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 750H459V416L312.5 562.5 253.9 503.9 500 255.9 746.1 503.9 687.5 562.5 541 416V750ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"acaa392bda6c7dbf376d20c37d4b24bb\",\n      \"css\": \"account-tie\",\n      \"code\": 986339,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q568.4 125 617.2 173.8T666 292 617.2 410.2 500 459 382.8 410.2 334 292 382.8 173.8 500 125ZM666 564.5Q666 613.3 650.4 668 627 750 576.2 826.2L541 625 580.1 546.9Q537.1 541 500 541T419.9 546.9L459 625 423.8 826.2Q373 750 349.6 668 334 613.3 334 564.5 257.8 585.9 211.9 624T166 709V875H834V709Q834 662.1 789.1 624T666 564.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-tie\"\n      ]\n    },\n    {\n      \"uid\": \"5978b657edb05d328c2371165d105d0d\",\n      \"css\": \"alert-box-outline\",\n      \"code\": 986340,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM459 625H541V709H459V625ZM459 291H541V541H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"371a4d37cf56328627231cbab5c5218d\",\n      \"css\": \"alert-decagram-outline\",\n      \"code\": 986341,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L857.4 615.2 871.1 769.5 720.7 802.7 642.6 935.5 500 875 357.4 935.5 279.3 804.7 128.9 769.5 142.6 615.2 41 500 142.6 382.8 128.9 230.5 279.3 197.3 357.4 64.5 500 125 642.6 64.5 720.7 197.3 871.1 230.5 857.4 384.8ZM847.7 500L771.5 412.1 781.3 294.9 666 271.5 607.4 169.9 500 216.8 392.6 169.9 334 271.5 218.8 294.9 228.5 412.1 152.3 500 228.5 587.9 218.8 705.1 334 728.5 392.6 830.1 500 783.2 607.4 830.1 666 728.5 781.3 703.1 771.5 587.9ZM459 625H541V709H459V625ZM459 291H541V541H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-decagram-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fdf695b1b97b850ab0f78db82582c708\",\n      \"css\": \"alert-octagon-outline\",\n      \"code\": 986342,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M343.8 125L125 343.8V656.3L343.8 875H656.3L875 656.3V343.8L656.3 125H343.8ZM378.9 209H621.1L791 378.9V621.1L621.1 791H378.9L209 621.1V378.9ZM459 625H541V709H459V625ZM459 291H541V541H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-octagon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fd7aa4a78fddcb4d5458047561863c12\",\n      \"css\": \"alert-octagram-outline\",\n      \"code\": 986343,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M91.8 669.9L162.1 500 91.8 330.1 261.7 261.7 330.1 91.8 500 162.1 669.9 91.8 738.3 261.7 908.2 330.1 837.9 500 908.2 669.9 738.3 738.3 669.9 908.2 500 837.9 330.1 908.2 261.7 738.3ZM201.2 375L252 500 201.2 625 324.2 675.8 375 798.8 500 748 625 798.8 675.8 675.8 798.8 625 748 500 798.8 375 675.8 324.2 625 201.2 500 252 375 201.2 324.2 324.2ZM459 625H541V709H459V625ZM459 291H541V541H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-octagram-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5cb270bccd1a4b3c2756c39ccc7d594f\",\n      \"css\": \"ammunition\",\n      \"code\": 986344,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 916H416V875H584V916ZM541 416V291H459V416L416 478.5V834H584V478.5ZM500 84Q494.1 89.8 488.3 97.7 476.6 115.2 468.8 138.7 459 171.9 459 209V250H541V209 185.5Q537.1 158.2 529.3 134.8 517.6 101.6 500 84ZM334 916H166V875H334V916ZM291 416V291H209V416L166 478.5V834H334V478.5ZM250 84Q244.1 89.8 238.3 97.7 226.6 115.2 218.8 138.7 209 171.9 209 209V250H291V209 185.5Q287.1 158.2 279.3 134.8 267.6 101.6 250 84ZM834 916H666V875H834V916ZM791 416V291H709V416L666 478.5V834H834V478.5ZM750 84Q744.1 89.8 738.3 97.7 726.6 115.2 718.8 138.7 709 171.9 709 209V250H791V209 185.5Q787.1 158.2 779.3 134.8 767.6 101.6 750 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ammunition\"\n      ]\n    },\n    {\n      \"uid\": \"9c9e3774bf308800f72477574e982f31\",\n      \"css\": \"account-music-outline\",\n      \"code\": 986345,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166Q527.3 166 576.2 214.8T625 333 576.2 451.2 458 500 339.8 451.2 291 333 339.8 214.8 459 166ZM459 250Q423.8 250 399.4 274.4T375 333 399.4 391.6 458 416 516.6 391.6 541 333 516.6 274.4 459 250ZM459 541Q539.1 541 628.9 570.3 591.8 593.8 566.4 634.8 509.8 621.1 459 621.1 400.4 621.1 337.9 636.7 283.2 652.3 244.1 673.8T205.1 709V753.9H543Q548.8 796.9 574.2 834H125V709Q125 656.3 187.5 615.2 238.3 582 322.3 560.5 396.5 541 459 541ZM771.5 416H834 916V500H834V728.5Q834 771.5 802.7 802.7T728.5 834 655.3 802.7 625 728.5 655.3 655.3 728.5 625Q752 625 771.5 632.8V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-music-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1a2fdbfecae000cad706abf1aedd2b77\",\n      \"css\": \"beaker\",\n      \"code\": 986346,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125V209Q160.2 209 184.6 233.4T209 291V791Q209 826.2 233.4 850.6T291 875H709Q742.2 875 766.6 850.6T791 791V291Q791 257.8 815.4 233.4T875 209V125H125ZM291 375H416V416H291V375ZM291 459H416V500H291V459ZM416 666H291V625H416V666ZM500 584H291V541H500V584ZM500 334H291V291H500V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker\"\n      ]\n    },\n    {\n      \"uid\": \"bc0742deda2bb8e71e1eb16216a62d89\",\n      \"css\": \"blender\",\n      \"code\": 986347,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209H742.2L750 84H166L209 166H250L289.1 673.8 209 916H791L710.9 673.8 716.8 584H791Q830.1 584 852.5 558.6T875 500V291Q875 253.9 849.6 231.4T791 209ZM500 834Q474.6 834 456.1 815.4T437.5 770.5 456.1 726.6 500 709 543.9 726.6 562.5 770.5 543.9 815.4 500 834ZM630.9 625H369.1L363.3 541H541V500H359.4L353.5 416H541V375H349.6L343.8 291H541V250H339.8L334 166H660.2ZM791 500H722.7L736.3 291H791V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blender\"\n      ]\n    },\n    {\n      \"uid\": \"b371a8a50d6a79e9d6c81955371827f1\",\n      \"css\": \"blood-bag\",\n      \"code\": 986348,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 291Q857.4 291 845.7 281.3 837.9 273.4 834 261.7V250 209H750V291H666V250Q666 207 646.5 164.1 619.1 111.3 570.3 80.1 507.8 41 417 41T263.7 80.1Q212.9 111.3 187.5 164.1 166 207 166 250V791Q166 818.4 154.3 837.9 134.8 875 84 875V959Q166 959 212.9 900.4 250 853.5 250 791V250Q250 216.8 271.5 185.5 312.5 125 415 125T560.5 183.6Q584 214.8 584 250V291H500V209H416V250 261.7Q412.1 273.4 404.3 281.3 392.6 291 375 291 349.6 291 337.9 312.5 334 322.3 334 334V834L335.9 845.7Q343.8 861.3 359.4 875 382.8 892.6 421.9 904.3 470.7 916 541 916H709Q779.3 916 828.1 904.3 867.2 892.6 890.6 875 906.3 861.3 914.1 845.7L916 834V334 322.3Q912.1 310.5 904.3 302.7 892.6 291 875 291ZM625 808.6Q572.3 808.6 536.1 771.5T500 683.6Q500 646.5 533.2 587.9 554.7 546.9 591.8 498L625 459 658.2 498Q695.3 546.9 716.8 587.9 750 646.5 750 683.6 750 734.4 713.9 771.5T625 808.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blood-bag\"\n      ]\n    },\n    {\n      \"uid\": \"8a0568cd15c82d6214c966b81466e9b7\",\n      \"css\": \"bolnisi-cross\",\n      \"code\": 986349,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 291L896.5 271.5H894.5Q830.1 334 798.8 359.4 748 402.3 705.1 423.8 668 443.4 630.9 449.2 607.4 455.1 556.6 457L541 459 543 443.4Q544.9 392.6 550.8 369.1 556.6 332 576.2 294.9 597.7 252 640.6 201.2 666 169.9 728.5 105.5V103.5L709 84Q603.5 160.2 500 160.2T291 84L271.5 103.5V105.5Q334 169.9 359.4 201.2 402.3 252 423.8 294.9 443.4 332 449.2 369.1 455.1 392.6 457 443.4L459 459 443.4 457Q392.6 455.1 369.1 449.2 332 443.4 294.9 423.8 252 402.3 199.2 359.4 168 332 103.5 271.5L84 291Q160.2 396.5 160.2 500T84 709L103.5 728.5H105.5Q169.9 666 201.2 640.6 252 597.7 294.9 576.2 332 556.6 369.1 550.8 392.6 544.9 443.4 543L459 541 457 556.6Q455.1 607.4 449.2 630.9 443.4 668 423.8 705.1 402.3 748 359.4 798.8 334 830.1 271.5 894.5V896.5L291 916Q396.5 839.8 500 839.8T709 916L728.5 896.5V894.5Q666 830.1 640.6 798.8 597.7 748 576.2 705.1 556.6 668 550.8 630.9 544.9 607.4 543 556.6L541 541 556.6 543Q607.4 544.9 630.9 550.8 668 556.6 705.1 576.2 748 597.7 798.8 640.6 830.1 666 894.5 728.5H896.5L916 709Q839.8 603.5 839.8 500T916 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bolnisi-cross\"\n      ]\n    },\n    {\n      \"uid\": \"3f3b8173092edd8cf69ec523540327c3\",\n      \"css\": \"bread-slice\",\n      \"code\": 986350,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 126T860.4 239.3 916 396.5Q916 500 834 584V916H166V584Q84 500 84 396.5 84 310.5 139.6 239.3T291 126 500 84ZM334 750H500V584H334V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bread-slice\"\n      ]\n    },\n    {\n      \"uid\": \"946aa789e558147ad31b43d885459dbb\",\n      \"css\": \"bread-slice-outline\",\n      \"code\": 986351,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 126T860.4 239.3 916 396.5Q916 500 834 584V916H166V584Q84 500 84 396.5 84 310.5 139.6 239.3T291 126 500 84ZM750 546.9Q789.1 515.6 811.5 477.5T834 396.5Q834 334 789.1 281.3T667 197.3 500 166 333 197.3 210.9 281.3 166 396.5Q166 439.5 188.5 477.5T250 546.9V834H750V546.9ZM334 750V584H500V750H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bread-slice-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ebe31b48f836a26260841adfbb606949\",\n      \"css\": \"briefcase-account\",\n      \"code\": 986352,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H666V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V250H166Q132.8 250 108.4 274.4T84 334V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V334Q916 298.8 891.6 274.4T834 250ZM416 166H584V250H416V166ZM500 375Q543 375 573.2 405.3T603.5 478.5 573.2 552.7 500 584 426.8 552.7 396.5 478.5 426.8 405.3 500 375ZM709 791H291V740.2Q291 697.3 352.5 666T500 634.8 647.5 666 709 740.2V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-account\"\n      ]\n    },\n    {\n      \"uid\": \"b897823bebd26a439b67e97240964482\",\n      \"css\": \"briefcase-account-outline\",\n      \"code\": 986353,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q869.1 250 892.6 275.4T916 334V791Q916 824.2 892.6 849.6T834 875H166Q130.9 875 107.4 849.6T84 791V334Q84 300.8 107.4 275.4T166 250H334V166Q334 130.9 357.4 107.4T416 84H584Q619.1 84 642.6 107.4T666 166V250H834ZM166 334V791H834V334H166ZM584 250V166H416V250H584ZM500 375Q539.1 375 566.4 402.3T593.8 468.8 566.4 535.2 500 562.5 433.6 535.2 406.3 468.8 433.6 402.3 500 375ZM687.5 750H312.5V703.1Q312.5 664.1 367.2 636.7T500 609.4 632.8 636.7 687.5 703.1V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"40065e2c491b7d5778b212c6875627b8\",\n      \"css\": \"brightness-percent\",\n      \"code\": 986354,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M835.9 363.3V166H638.7L500 29.3 363.3 166H166V363.3L29.3 500 166 638.7V835.9H363.3L500 972.7 638.7 835.9H835.9V638.7L972.7 500ZM367.2 293Q398.4 293 419.9 315.4T441.4 368.2 419.9 419.9 368.2 441.4 315.4 419.9 293 368.2 315.4 315.4 367.2 293ZM634.8 709Q603.5 709 582 686.5T560.5 633.8 582 582 633.8 560.5 686.5 582 709 633.8 686.5 686.5 634.8 709ZM353.5 709L291 646.5 646.5 291 709 353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"brightness-percent\"\n      ]\n    },\n    {\n      \"uid\": \"a44baedcf7ab229295f57e95afc0dbbc\",\n      \"css\": \"bullet\",\n      \"code\": 986355,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 916H416V875H584V916ZM541 416V291H459V416L416 478.5V834H584V478.5ZM500 84Q494.1 89.8 488.3 97.7 476.6 115.2 468.8 138.7 459 171.9 459 209V250H541V209 185.5Q537.1 158.2 529.3 134.8 517.6 101.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bullet\"\n      ]\n    },\n    {\n      \"uid\": \"ca46612d4c3d47effe9ad36f9dd037d1\",\n      \"css\": \"cash-register\",\n      \"code\": 986356,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 709H916V875H84V709ZM259.8 291H375V250H250V125H584V250H459V291H742.2Q771.5 291 798.8 317.4T834 375L853.5 666H146.5L168 375Q168 343.8 195.3 317.4T259.8 291ZM541 375V459H750V375H541ZM250 375V416H334V375H250ZM375 375V416H459V375H375ZM250 459V500H334V459H250ZM375 459V500H459V459H375ZM250 541V584H334V541H250ZM375 541V584H459V541H375ZM291 166V209H541V166H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-register\"\n      ]\n    },\n    {\n      \"uid\": \"396278deaa51ba329c1201525aef1c09\",\n      \"css\": \"celtic-cross\",\n      \"code\": 986357,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M742.2 334Q724.6 267.6 676.8 219.7T562.5 154.3V84H437.5V154.3Q371.1 171.9 323.2 219.7T257.8 334H166V459H257.8Q275.4 523.4 323.2 572.3T437.5 636.7V916H562.5V636.7Q628.9 621.1 676.8 572.3T742.2 459H832V334H742.2ZM502 396.5L603.5 459H656.3Q630.9 525.4 562.5 552.7V500L502 398.4 500 396.5 498 398.4 437.5 500V552.7Q371.1 525.4 343.8 459H396.5L500 396.5H498L396.5 334H343.8Q369.1 267.6 437.5 238.3V291L498 392.6 500 396.5 502 392.6 562.5 291V238.3Q630.9 267.6 656.3 334H603.5L502 396.5H500 502Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"celtic-cross\"\n      ]\n    },\n    {\n      \"uid\": \"37f0fe6bd2e80b6ab111588da8d5c693\",\n      \"css\": \"christianity-outline\",\n      \"code\": 986358,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 250V41H353.5V250H125V541H353.5V959H646.5V541H875V250H646.5ZM791 459H562.5V875H437.5V459H209V334H437.5V125H562.5V334H791V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"christianity-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59110cf6c2e790dd3f6ba31dc20f5d36\",\n      \"css\": \"clipboard-alert-outline\",\n      \"code\": 986359,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM291 291V209H209V791H791V209H709V291H291ZM459 375H541V562.5H459V375ZM459 625H541V709H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"590a25e3c881f3017f7e6ba6df1ec434\",\n      \"css\": \"clipboard-arrow-left-outline\",\n      \"code\": 986360,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM291 291V209H209V791H791V209H709V291H291ZM291 541L500 750V625H666V459H500V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-left-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1b56ea80c12836ab5aba5a0221884582\",\n      \"css\": \"clipboard-arrow-right\",\n      \"code\": 986361,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 541L500 750V625H334V459H500V334ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"bc82408bf57d8994a6a2cb8a7c7fa322\",\n      \"css\": \"clipboard-arrow-right-outline\",\n      \"code\": 986362,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 136.7T459 166 470.7 196.3 500 209 529.3 196.3 541 166 529.3 136.7 500 125ZM291 291V209H209V791H791V209H709V291H291ZM705.1 541L496.1 750V625H330.1V459H496.1V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-arrow-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"343bf21e7539ed801cce46a4398531e3\",\n      \"css\": \"content-save-edit\",\n      \"code\": 986363,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 791L421.9 785.2Q382.8 775.4 358.4 742.2T334 666Q334 615.2 370.1 578.1T459 541Q500 541 533.2 566.4T578.1 630.9L834 375V291L666 125H166Q132.8 125 108.4 149.4T84 209V791Q84 826.2 108.4 850.6T166 875H416V791ZM166 209H584V375H166V209ZM835.9 505.9Q826.2 505.9 818.4 511.7L777.3 554.7 863.3 638.7 904.3 597.7Q910.2 591.8 910.2 582T904.3 566.4L851.6 511.7Q843.8 505.9 835.9 505.9ZM752 578.1L500 830.1V916H585.9L837.9 664.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-edit\"\n      ]\n    },\n    {\n      \"uid\": \"6320af292ffe4f8ed211a1adbfb9244a\",\n      \"css\": \"content-save-edit-outline\",\n      \"code\": 986364,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 791H416V875H166Q132.8 875 108.4 850.6T84 791V209Q84 173.8 108.4 149.4T166 125H666L834 291V380.9L750 462.9V326.2L632.8 209H166V791ZM584 416V250H209V416H584ZM851.6 511.7Q843.8 505.9 835 505.9T818.4 511.7L777.3 554.7 863.3 638.7 904.3 597.7Q910.2 591.8 910.2 582T904.3 566.4ZM500 830.1V916H585.9L837.9 664.1 752 578.1ZM584 625Q584 572.3 546.9 536.1T458 500 370.1 536.1 334 625 370.1 713.9 459 750H462.9L584 630.9V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"825279f613bc5cd1a951706551ef95c8\",\n      \"css\": \"cursor-default-click\",\n      \"code\": 986365,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M449.2 361.3Q435.5 361.3 425.8 371.1T416 394.5V871.1Q416 884.8 425.8 893.6T447.3 902.3 468.8 896.5L548.8 832 617.2 982.4Q625 1000 646.5 1000 654.3 1000 660.2 996.1L775.4 943.4Q787.1 937.5 791 924.8T789.1 900.4L720.7 750 820.3 730.5Q832 728.5 839.8 719.7T845.7 697.3 834 675.8L468.8 369.1V369.1Q459 361.3 449.2 361.3ZM625 416V334H834V416H625ZM576.2 199.2L693.4 80.1 752 138.7 634.8 257.8ZM416 0H500V209H416V0ZM164.1 611.3L281.3 492.2 339.8 550.8 222.7 669.9ZM164.1 138.7L222.7 80.1 339.8 199.2 281.3 257.8ZM291 416H84V334H291V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-default-click\"\n      ]\n    },\n    {\n      \"uid\": \"8865a89541b2db0eb78ff22818c42770\",\n      \"css\": \"cursor-default-click-outline\",\n      \"code\": 986366,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 459L744.1 681.6 681.6 695.3Q662.1 699.2 652.3 716.8T652.3 752L720.7 900.4 660.2 927.7 593.8 781.3Q584 761.7 564.5 757.8T529.3 765.6L478.5 806.6V459ZM449.2 361.3Q435.5 361.3 425.8 371.1T416 394.5V871.1Q416 884.8 425.8 893.6T447.3 902.3 468.8 896.5L548.8 832 617.2 982.4Q625 1000 646.5 1000 654.3 1000 660.2 996.1L775.4 943.4Q787.1 937.5 791 924.8T789.1 900.4L720.7 750 820.3 730.5Q832 728.5 839.8 719.7T845.7 697.3 834 675.8L468.8 369.1V369.1Q459 361.3 449.2 361.3ZM625 416V334H834V416H625ZM576.2 199.2L693.4 80.1 752 138.7 634.8 257.8ZM416 0H500V209H416V0ZM164.1 611.3L281.3 492.2 339.8 550.8 222.7 669.9ZM164.1 138.7L222.7 80.1 339.8 199.2 281.3 257.8ZM291 416H84V334H291V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-default-click-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0314d0c0f4edcea55edf707873023c64\",\n      \"css\": \"database-sync\",\n      \"code\": 986367,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 593.8ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L884.8 865.2ZM500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541Q568.4 541 630.9 529.3 568.4 584 548.8 664.1L500 666Q410.2 666 333 643.6T210.9 583 166 500V375ZM834 375V459H787.1Q834 419.9 834 375ZM166 584Q166 628.9 210.9 667T333 727.5 500 750L541 748Q546.9 812.5 582 869.1L500 875Q410.2 875 333 852.5T210.9 792 166 709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-sync\"\n      ]\n    },\n    {\n      \"uid\": \"f50994137c60c5eb53ca0b9b3fb1cc9e\",\n      \"css\": \"database-remove\",\n      \"code\": 986368,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541 667 518.6 789.1 458 834 375V503.9L791 500Q710.9 500 647.5 545.9T556.6 664.1L500 666Q410.2 666 333 643.6T210.9 583 166 500V375ZM166 584Q166 628.9 210.9 667T333 727.5 500 750H541Q541 814.5 572.3 871.1L500 875Q410.2 875 333 852.5T210.9 792 166 709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-remove\"\n      ]\n    },\n    {\n      \"uid\": \"c8bc576678a58f1983156e307939a838\",\n      \"css\": \"database-settings\",\n      \"code\": 986369,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916ZM500 125Q589.8 125 667 147.5T789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 292 210.9 208 333 147.5 500 125ZM166 375Q166 419.9 210.9 458T333 518.6 500 541 667 518.6 789.1 458 834 375V500Q834 544.9 789.1 583T667 643.6 500 666 333 643.6 210.9 583 166 500V375ZM166 584Q166 628.9 210.9 667T333 727.5 500 750 667 727.5 789.1 667 834 584V709Q834 744.1 803.7 777.3T720.7 834H279.3Q226.6 810.5 196.3 777.3T166 709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-settings\"\n      ]\n    },\n    {\n      \"uid\": \"67476acad52efab0f4a544d15cb518a1\",\n      \"css\": \"drama-masks\",\n      \"code\": 986370,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M337.9 810.5Q269.5 785.2 219.7 728.5T154.3 597.7L85.9 273.4Q78.1 238.3 96.7 210T148.4 173.8L556.6 87.9Q591.8 80.1 620.1 98.6T654.3 150.4L669.9 220.7 851.6 259.8Q884.8 267.6 903.3 295.9T914.1 357.4L845.7 683.6Q830.1 761.7 777.3 818.4T651.4 899.4 500 908.2Q402.3 886.7 337.9 810.5V810.5ZM834 341.8L425.8 253.9 357.4 582Q345.7 636.7 363.3 688.5T421.9 777.3 517.6 826.2 625 820.3 714.8 762.7 763.7 666ZM666 687.5Q646.5 720.7 610.4 737.3T535.2 745.1 468.8 707 437.5 638.7ZM353.5 214.8L166 255.9 236.3 582Q246.1 625 271.5 662.1 265.6 611.3 275.4 562.5L293 478.5Q263.7 474.6 250 451.2 252 431.6 266.6 416T302.7 396.5H312.5L345.7 236.3Q347.7 224.6 353.5 214.8ZM627 509.8Q636.7 492.2 656.3 484.4T697.3 481.4 733.4 501 750 535.2Q740.2 552.7 720.7 560.5T679.7 563.5 643.6 543.9 627 509.8ZM423.8 466.8Q433.6 449.2 452.1 441.4T492.2 438.5 528.3 458 546.9 492.2Q535.2 509.8 516.6 517.6T476.6 520.5 440.4 501 423.8 466.8ZM498 185.5L580.1 201.2 574.2 168Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drama-masks\"\n      ]\n    },\n    {\n      \"uid\": \"352059e1383878ff3769b4a34774173e\",\n      \"css\": \"email-box\",\n      \"code\": 986371,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM267.6 271.5H732.4Q757.8 271.5 774.4 288.1T791 330.1V669.9Q791 695.3 774.4 711.9T732.4 728.5H267.6Q242.2 728.5 225.6 711.9T209 669.9V330.1Q209 304.7 225.6 288.1T267.6 271.5ZM250 334V416L500 584 750 416V334L500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-box\"\n      ]\n    },\n    {\n      \"uid\": \"8f0dfbcc96c16624bfc5797c30c7d7d0\",\n      \"css\": \"eye-check\",\n      \"code\": 986372,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM500 709Q531.3 709 558.6 699.2 541 746.1 541 791V810.5L500 812.5Q345.7 812.5 220.7 725.6T41 500Q95.7 361.3 220.7 274.4T500 187.5 779.3 274.4 959 500Q943.4 539.1 919.9 576.2 861.3 541 791 541 746.1 541 699.2 558.6 709 531.3 709 500 709 443.4 680.7 395.5T604.5 319.3 500 291 395.5 319.3 319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-check\"\n      ]\n    },\n    {\n      \"uid\": \"045342b52b6a1d04628c833ea29052f9\",\n      \"css\": \"eye-check-outline\",\n      \"code\": 986373,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM500 187.5Q654.3 187.5 779.3 274.4T959 500Q943.4 539.1 919.9 576.2 882.8 554.7 841.8 546.9L867.2 500Q816.4 394.5 716.8 333T500 271.5 283.2 333 132.8 500Q183.6 605.5 283.2 667T500 728.5L550.8 726.6Q541 757.8 541 791V810.5L500 812.5Q345.7 812.5 220.7 725.6T41 500Q95.7 361.3 220.7 274.4T500 187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2b6499f5aad75715d9dd8bbeccd0c0cb\",\n      \"css\": \"fast-forward-30\",\n      \"code\": 986374,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 125Q335.9 125 221.7 209T64.5 425.8L162.1 459Q195.3 357.4 282.2 293T478.5 228.5Q599.6 228.5 693.4 306.6L584 416H875V125L767.6 232.4Q707 181.6 633.8 153.3T478.5 125ZM791 584V834Q791 867.2 766.6 891.6T709 916H625Q589.8 916 565.4 891.6T541 834V584Q541 548.8 565.4 524.4T625 500H709Q742.2 500 766.6 524.4T791 584ZM625 584V834H709V584H625ZM459 834Q459 867.2 434.6 891.6T375 916H209V834H375V750H291V666H375V584H209V500H375Q410.2 500 434.6 524.4T459 584V646.5Q459 671.9 440.4 690.4T396.5 709Q421.9 709 440.4 726.6T459 771.5V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fast-forward-30\"\n      ]\n    },\n    {\n      \"uid\": \"526f2c706fc71dfd6c154d7da1cc7091\",\n      \"css\": \"order-alphabetical-descending\",\n      \"code\": 986375,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 541H209Q173.8 541 149.4 565.4T125 625V875H209V791H291V875H375V625Q375 589.8 350.6 565.4T291 541ZM291 709H209V625H291V709ZM375 125V209L236.3 375H375V459H125V375L263.7 209H125V125H375ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-alphabetical-descending\"\n      ]\n    },\n    {\n      \"uid\": \"875f87b7c93c99559b9c35d45c9c545f\",\n      \"css\": \"flower-poppy\",\n      \"code\": 986376,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 500Q832 500 874 457T916 353.5Q916 281.3 879.9 218.8T781.3 120.1 646.5 84Q585.9 84 543 126T500 228.5Q500 168 457 126T353.5 84Q281.3 84 218.8 120.1T120.1 218.8 84 353.5Q84 414.1 126 457T228.5 500Q168 500 126 543T84 646.5Q84 718.8 120.1 781.3T218.8 879.9 353.5 916Q414.1 916 457 874T500 771.5Q500 832 543 874T646.5 916Q718.8 916 781.3 879.9T879.9 781.3 916 646.5Q916 585.9 874 543T771.5 500ZM500 666Q431.6 666 382.8 617.2T334 500 382.8 382.8 500 334 617.2 382.8 666 500 617.2 617.2 500 666ZM603.5 500Q603.5 543 573.2 573.2T500 603.5 426.8 573.2 396.5 500 426.8 426.8 500 396.5 573.2 426.8 603.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flower-poppy\"\n      ]\n    },\n    {\n      \"uid\": \"42deaeff64ae379800aa03b0cdd40658\",\n      \"css\": \"folder-pound\",\n      \"code\": 986377,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M634.8 541H718.8L697.3 625H615.2ZM916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334ZM834 500H771.5L791 416H750L728.5 500H646.5L666 416H625L603.5 500H541V541H593.8L572.3 625H500V666H562.5L541 750H584L603.5 666H687.5L666 750H709L728.5 666H791V625H740.2L759.8 541H834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-pound\"\n      ]\n    },\n    {\n      \"uid\": \"998f3febca1bb5b502d239fcd96b78c5\",\n      \"css\": \"folder-pound-outline\",\n      \"code\": 986378,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM791 500V459H728.5L750 375H709L687.5 459H603.5L625 375H584L562.5 459H500V500H552.7L531.3 584H459V625H521.5L500 709H541L562.5 625H646.5L625 709H666L687.5 625H750V584H697.3L718.8 500H791ZM656.3 584H572.3L593.8 500H677.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-pound-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b42c3d506372c375c28a30bfc9951da8\",\n      \"css\": \"folder-sync\",\n      \"code\": 986379,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166L500 250H834Q867.2 250 891.6 274.4T916 334V478.5Q867.2 459 812.5 459 738.3 459 676.8 495.1T578.1 593.8 541 728.5Q541 783.2 562.5 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416ZM791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 593.8ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L884.8 865.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-sync\"\n      ]\n    },\n    {\n      \"uid\": \"5d9dbab10c2464f271aea9e27a5b120c\",\n      \"css\": \"folder-sync-outline\",\n      \"code\": 986380,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166L500 250H834Q867.2 250 891.6 274.4T916 334V478.5Q877 462.9 834 459V334H166V750H541Q546.9 794.9 562.5 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416ZM791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 591.8Q707 584 791 500ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L886.7 865.2Q877 873 791 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"601c9f1fe1577759f12250119a7c0167\",\n      \"css\": \"format-list-numbered-rtl\",\n      \"code\": 986381,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541V459H709V541H125ZM125 791V709H709V791H125ZM125 291V209H709V291H125ZM834 334V209H791V166H875V334H834ZM791 709V666H916V834H791V791H875V771.5H834V728.5H875V709H791ZM884.8 416Q898.4 416 907.2 425.8T916 448.2 908.2 468.8L837.9 541H916V584H791V544.9L875 459H791V416H884.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-numbered-rtl\"\n      ]\n    },\n    {\n      \"uid\": \"fbcf42bb9c14fe5fc9a279051353c729\",\n      \"css\": \"format-text-wrapping-clip\",\n      \"code\": 986382,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875H209V125H291V875ZM709 125V459H375V541H709V875H791V125H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-wrapping-clip\"\n      ]\n    },\n    {\n      \"uid\": \"750e08b09ce06e85250410f8fe80410a\",\n      \"css\": \"format-text-wrapping-overflow\",\n      \"code\": 986383,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875H209V125H291V875ZM584 125H500V375H584V125ZM584 625H500V875H584V625ZM791 500L666 375V459H375V541H666V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-wrapping-overflow\"\n      ]\n    },\n    {\n      \"uid\": \"db2e9a22cdb7a8525d9f0bf8e7632f50\",\n      \"css\": \"format-text-wrapping-wrap\",\n      \"code\": 986384,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875H209V125H291V875ZM791 125H709V875H791V125ZM541 334H375V416H541Q552.7 416 564.5 429.7 584 451.2 584 500T564.5 570.3Q552.7 584 541 584H459V500L334 625 459 750V666H541Q585.9 666 621.1 632.8 666 587.9 666 500T621.1 367.2Q585.9 334 541 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-wrapping-wrap\"\n      ]\n    },\n    {\n      \"uid\": \"956090217232ab3c99ad81719df3bce0\",\n      \"css\": \"format-textbox\",\n      \"code\": 986385,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 291V125H709V166H291V125H125V291H166V709H125V875H291V834H709V875H875V709H834V291H875ZM750 166H834V250H750V166ZM166 166H250V250H166V166ZM250 834H166V750H250V834ZM834 834H750V750H834V834ZM750 709H709V750H291V709H250V291H291V250H709V291H750V709ZM666 334V416H541V666H459V416H334V334H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-textbox\"\n      ]\n    },\n    {\n      \"uid\": \"a7b5ba74aa4415c489f7d0ed316e6f78\",\n      \"css\": \"fountain-pen\",\n      \"code\": 986386,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M289.1 623L466.8 386.7 820.3 91.8Q832 80.1 849.6 80.1T878.9 91.8L908.2 121.1Q919.9 132.8 919.9 150.4T908.2 179.7L613.3 533.2 377 710.9ZM347.7 740.2L259.8 652.3 142.6 710.9 84 886.7 171.9 798.8Q177.7 793 186.5 793T201.2 798.8 207 813.5 201.2 828.1L113.3 916 289.1 857.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fountain-pen\"\n      ]\n    },\n    {\n      \"uid\": \"81430ca4b680b1643e212c5062d715d6\",\n      \"css\": \"fountain-pen-tip\",\n      \"code\": 986387,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M648.4 146.5L853.5 353.5 794.9 412.1 587.9 205.1ZM146.5 824.2L416 554.7Q414.1 544.9 416 534.2T425.8 513.7Q437.5 502 455.1 502T485.4 514.6 498 544.9 486.3 574.2Q476.6 582 465.8 584T445.3 584L175.8 853.5 617.2 707 765.6 441.4 558.6 234.4 293 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fountain-pen-tip\"\n      ]\n    },\n    {\n      \"uid\": \"ee902a1510ab526ee7cfa7b4646f48fd\",\n      \"css\": \"heart-broken-outline\",\n      \"code\": 986388,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M312.5 209Q330.1 209 337.9 212.9L437.5 382.8 283.2 574.2Q224.6 505.9 199.2 459 166 404.3 166 353.5 166 291 208 250T312.5 209ZM312.5 125Q248 125 196.3 155.3T114.3 238.3 84 353.5Q84 429.7 128.9 505.9 168 574.2 252 658.2 308.6 716.8 441.4 834L500 886.7 375 595.7 541 386.7 392.6 136.7Q353.5 125 312.5 125ZM687.5 209Q750 209 792 250T834 353.5Q834 429.7 757.8 521.5 703.1 591.8 558.6 720.7L544.9 625 746.1 404.3 650.4 216.8Q662.1 209 687.5 209ZM687.5 125Q648.4 125 608.4 139.6T537.1 179.7L646.5 392.6 459 599.6 500 892.6 558.6 837.9Q693.4 714.8 748 660.2 832 574.2 871.1 507.8 916 431.6 916 357.4 916 293 885.7 239.3T803.7 155.3 687.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-broken-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2fcb922fef1213dd0ff3195bb0193329\",\n      \"css\": \"home-city\",\n      \"code\": 986389,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 875V416L312.5 209 625 416V875H416V584H209V875H0ZM1000 84V875H709V373L666 343.8V250H584V289.1L416 177.7V84H1000ZM875 584H791V666H875V584ZM875 416H791V500H875V416ZM875 250H791V334H875V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-city\"\n      ]\n    },\n    {\n      \"uid\": \"3df74b0cec11f5a356a6e274389d2a79\",\n      \"css\": \"home-city-outline\",\n      \"code\": 986390,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84V177.7L500 232.4V166H916V791H709V875H1000V84H416ZM312.5 209L0 416V875H625V416ZM584 250V289.1L650.4 334H666V250H584ZM750 250V334H834V250H750ZM312.5 312.5L541 459V791H416V541H209V791H84V459ZM750 416V500H834V416H750ZM750 584V666H834V584H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-city-outline\"\n      ]\n    },\n    {\n      \"uid\": \"328b6362ecaf6b625e77f776c112a959\",\n      \"css\": \"hubspot\",\n      \"code\": 986391,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M712.9 357.4V257.8Q732.4 248 745.1 230.5T757.8 191.4V187.5Q757.8 156.3 736.3 134.8T683.6 113.3H679.7Q648.4 113.3 626 134.8T603.5 187.5V191.4Q603.5 212.9 616.2 230.5T650.4 257.8V357.4Q591.8 365.2 544.9 404.3L271.5 191.4Q279.3 156.3 260.7 125T207 86.9 142.6 96.7 104.5 146.5 114.3 211.9 166 253.9Q207 261.7 232.4 246.1L500 455.1Q462.9 511.7 462.9 578.1T503.9 699.2L419.9 783.2Q416 783.2 410.2 781.3T400.4 779.3Q371.1 779.3 350.6 800.8T330.1 849.6 350.6 896.5 399.4 916 449.2 894.5 470.7 845.7V845.7Q470.7 834 466.8 824.2L544.9 746.1Q593.8 781.3 651.4 788.1T761.7 773.4 849.6 704.1 891.6 598.6 877 488.3 810.5 399.4 712.9 357.4ZM679.7 683.6Q632.8 683.6 599.6 650.4T566.4 570.3 599.6 491.2 679.7 459 758.8 491.2 791 570.3 758.8 650.4 679.7 683.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hubspot\"\n      ]\n    },\n    {\n      \"uid\": \"84363ac463c590790d4b69c70d34d59e\",\n      \"css\": \"filmstrip-box-multiple\",\n      \"code\": 986392,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM416 625H334V541H416V625ZM416 459H334V375H416V459ZM416 291H334V209H416V291ZM834 625H750V541H834V625ZM834 459H750V375H834V459ZM834 291H750V209H834V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filmstrip-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"32f0a30aa4306fdb0d85b7e75664eacb\",\n      \"css\": \"play-box-multiple\",\n      \"code\": 986393,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM500 603.5V228.5L750 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"95737d574577417a47b0a5e0850a2baf\",\n      \"css\": \"link-box\",\n      \"code\": 986394,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM459 666H416Q355.5 666 308.6 628.9 250 584 250 501T308.6 371.1Q355.5 334 416 334H459V416H416Q388.7 416 367.2 429.7 334 451.2 334 501T369.1 572.3Q390.6 584 416 584H459V666ZM625 459V541H375V459H625ZM584 666H541V584H584Q611.3 584 632.8 570.3 666 548.8 666 499T630.9 427.7Q609.4 416 584 416H541V334H584Q644.5 334 691.4 371.1 750 418 750 501T691.4 628.9Q644.5 666 584 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-box\"\n      ]\n    },\n    {\n      \"uid\": \"b2edaaf21293cd1140206cd318ebc120\",\n      \"css\": \"link-box-outline\",\n      \"code\": 986395,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM459 666H416Q355.5 666 308.6 628.9 250 584 250 501T308.6 371.1Q355.5 334 416 334H459V416H416Q388.7 416 367.2 429.7 334 451.2 334 501T369.1 572.3Q390.6 584 416 584H459V666ZM584 666H541V584H584Q611.3 584 632.8 570.3 666 548.8 666 499T630.9 427.7Q609.4 416 584 416H541V334H584Q644.5 334 691.4 371.1 750 418 750 501T691.4 628.9Q644.5 666 584 666ZM625 541H375V459H625V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f1c84241bc128684d7c783526244114b\",\n      \"css\": \"link-box-variant\",\n      \"code\": 986396,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM580.1 617.2L488.3 709Q449.2 750 390.6 750T291 709 250 610.4 291 511.7L347.7 455.1V478.5Q347.7 511.7 357.4 539.1L359.4 544.9 341.8 562.5Q322.3 582 322.3 609.4T341.8 657.2 389.6 677.7 437.5 658.2L529.3 566.4Q548.8 544.9 548.8 518.6T529.3 470.7Q517.6 460.9 517.6 445.3T528.3 418.9 554.7 408.2 580.1 419.9Q621.1 460.9 621.1 518.6T580.1 617.2ZM709 488.3L652.3 544.9V521.5Q652.3 488.3 642.6 460.9L640.6 455.1 658.2 437.5Q677.7 418 677.7 390.6T658.2 342.8 610.4 323.2 562.5 341.8L470.7 433.6Q451.2 455.1 451.2 481.4T470.7 529.3Q482.4 539.1 482.4 554.7T471.7 581.1 445.3 591.8 419.9 580.1Q378.9 539.1 378.9 481.4T419.9 382.8L511.7 291Q552.7 250 610.4 250T709 291 750 389.6 709 488.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-box-variant\"\n      ]\n    },\n    {\n      \"uid\": \"89f21a219037c308ae7526a843b2db29\",\n      \"css\": \"link-box-variant-outline\",\n      \"code\": 986397,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM580.1 419.9Q621.1 460.9 621.1 518.6T580.1 617.2L488.3 709Q449.2 750 390.6 750T291 709 250 610.4 291 511.7L347.7 455.1V478.5Q347.7 511.7 357.4 539.1L359.4 544.9 341.8 562.5Q322.3 582 322.3 609.4T341.8 657.2 389.6 677.7 437.5 658.2L529.3 566.4Q548.8 544.9 548.8 518.6T529.3 470.7Q517.6 460.9 517.6 445.3T528.3 418.9 554.7 408.2 580.1 419.9ZM750 390.6Q750 447.3 709 488.3L652.3 544.9V521.5Q652.3 488.3 642.6 460.9L640.6 455.1 658.2 437.5Q677.7 418 677.7 390.6T658.2 342.8 610.4 323.2 562.5 341.8L470.7 433.6Q451.2 455.1 451.2 481.4T470.7 529.3Q482.4 539.1 482.4 554.7T471.7 581.1 445.3 591.8 419.9 580.1Q378.9 539.1 378.9 481.4T419.9 382.8L511.7 291Q552.7 250 610.4 250T709 291 750 390.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-box-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ee599aa6cf30299369b699c77d9eb495\",\n      \"css\": \"map-clock\",\n      \"code\": 986398,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500H687.5V677.7L806.6 748 775.4 798.8 625 709V500ZM959 666Q959 746.1 918.9 812.5T812.5 918.9 666 959Q574.2 959 499 905.3T392.6 767.6L334 746.1 111.3 832 103.5 834Q95.7 834 89.8 827.1T84 812.5V181.6Q84 168 97.7 162.1L334 84 584 169.9 806.6 84H812.5Q820.3 84 827.1 89.8T834 103.5V427.7Q890.6 466.8 924.8 530.3T959 666ZM375 666Q375 568.4 433.6 491.2T584 386.7V253.9L334 166V662.1L375 675.8V666ZM666 459Q609.4 459 561.5 486.3T486.3 561.5 459 666 486.3 770.5 561.5 846.7 666 875 770.5 846.7 846.7 770.5 875 666 846.7 561.5 770.5 486.3 666 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-clock\"\n      ]\n    },\n    {\n      \"uid\": \"69839e0b8df77be09ae441ed8f485494\",\n      \"css\": \"map-clock-outline\",\n      \"code\": 986399,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500H687.5V677.7L806.6 748 775.4 798.8 625 709V500ZM666 375Q709 375 750 386.7V195.3L625 244.1V377Q638.7 375 666 375ZM959 666Q959 746.1 918.9 812.5T812.5 918.9 666 959Q574.2 959 499 905.3T392.6 767.6L334 746.1 111.3 832 103.5 834Q95.7 834 89.8 827.1T84 812.5V181.6Q84 168 97.7 162.1L334 84 584 169.9 806.6 84H812.5Q820.3 84 827.1 89.8T834 103.5V427.7Q890.6 466.8 924.8 530.3T959 666ZM375 666Q375 580.1 420.9 509.8T541 402.3V244.1L375 185.5V671.9 666ZM666 459Q609.4 459 561.5 486.3T486.3 561.5 459 666 486.3 770.5 561.5 846.7 666 875 770.5 846.7 846.7 770.5 875 666 846.7 561.5 770.5 486.3 666 459ZM166 226.6V720.7L291 673.8V185.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1c4b9a2172bc83899bee0ce8e737678f\",\n      \"css\": \"map-marker-path\",\n      \"code\": 986400,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 625Q802.7 625 838.9 661.1T875 750 838.9 838.9 750 875Q709 875 676.8 851.6T632.8 791H584V709H632.8Q644.5 671.9 676.8 648.4T750 625ZM750 709Q732.4 709 720.7 720.7T709 750 720.7 779.3 750 791 779.3 779.3 791 750 779.3 720.7 750 709ZM750 334Q775.4 334 793 316.4T810.5 274.4 793 232.4 750 214.8 707 232.4 689.5 274.4 707 316.4 750 334ZM750 107.4Q818.4 107.4 867.2 156.3T916 273.4Q916 351.6 834 474.6 791 537.1 750 584V584L707 531.3Q658.2 466.8 627 410.2 584 330.1 584 273.4 584 205.1 632.8 156.3T750 107.4ZM367.2 709H416V791H367.2Q355.5 828.1 323.2 851.6T250 875Q197.3 875 161.1 838.9T125 750Q125 709 148.4 676.8T209 632.8V584H291V632.8Q318.4 640.6 338.9 661.1T367.2 709ZM250 709Q232.4 709 220.7 720.7T209 750 220.7 779.3 250 791 279.3 779.3 291 750 279.3 720.7 250 709ZM250 125Q302.7 125 338.9 161.1T375 250Q375 291 351.6 323.2T291 367.2V416H209V367.2Q171.9 355.5 148.4 323.2T125 250Q125 197.3 161.1 161.1T250 125ZM250 209Q232.4 209 220.7 220.7T209 250 220.7 279.3 250 291 279.3 279.3 291 250 279.3 220.7 250 209ZM459 791V709H541V791H459ZM291 541H209V459H291V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-path\"\n      ]\n    },\n    {\n      \"uid\": \"9d32cdab071f61ae05ede7cd5b3d0bcf\",\n      \"css\": \"mother-nurse\",\n      \"code\": 986401,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q552.7 84 588.9 120.1T625 208 588.9 296.9 500 334 411.1 296.9 375 208 411.1 120.1 500 84ZM834 750L750 523.4Q736.3 484.4 724.6 464.8 705.1 437.5 666 416 621.1 394.5 585 384.8T500 375 415 384.8 334 416Q294.9 437.5 275.4 464.8 263.7 484.4 250 523.4L166 750Q158.2 785.2 216.8 824.2 250 845.7 330.1 878.9L337.9 882.8V791Q337.9 732.4 445.3 707L462.9 703.1Q441.4 671.9 431.6 636.7V636.7L503.9 611.3V613.3Q511.7 632.8 523.4 652.3 546.9 691.4 576.2 710.9 589.8 714.8 601.6 720.7 650.4 742.2 660.2 775.4 576.2 808.6 500 808.6L459 804.7V914.1L500 916Q584 916 662.1 882.8 845.7 804.7 834 750ZM646.5 709Q619.1 709 601.6 690.4T584 645.5 601.6 601.6 645.5 584 690.4 601.6 709 645.5 690.4 690.4 646.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mother-nurse\"\n      ]\n    },\n    {\n      \"uid\": \"a0821e22f36b1c742ffc91efc47efd67\",\n      \"css\": \"microsoft-outlook\",\n      \"code\": 986402,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M357.4 502Q357.4 517.6 353.5 531.3T341.8 556.6 321.3 575.2 291 582 261.7 575.2 242.2 556.6 230.5 530.3 226.6 500 230.5 469.7 242.2 443.4 262.7 424.8 293 418 323.2 424.8 342.8 444.3 353.5 471.7 357.4 502ZM916 500V826.2Q916 841.8 905.3 853.5T877 865.2H330.1Q314.5 865.2 302.7 853.5T291 826.2V709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H343.8V171.9Q343.8 156.3 354.5 145.5T380.9 134.8H828.1Q843.8 134.8 854.5 145.5T865.2 171.9V460.9L908.2 484.4Q912.1 488.3 914.1 492.2T916 500ZM709 212.9V318.4H812.5V212.9H709ZM709 369.1V474.6H812.5V369.1H709ZM709 525.4V589.8L814.5 525.4H709ZM525.4 212.9V318.4H656.3V212.9H525.4ZM525.4 369.1V474.6H656.3V369.1H525.4ZM525.4 525.4V595.7L609.4 648.4 656.3 621.1V525.4H525.4ZM396.5 212.9V291H468.8Q472.7 291 474.6 293V212.9H396.5ZM291 638.7Q322.3 638.7 346.7 627.9T387.7 598.6 413.1 553.7 421.9 498 413.1 444.3 388.7 401.4 348.6 372.1 293.9 361.3 238.3 372.1 196.3 401.4 170.9 446.3 162.1 502.9 170.9 557.6 196.3 599.6 237.3 627.9 291 638.7ZM343.8 812.5H773.4L500 642.6V673.8Q500 687.5 489.3 698.2T464.8 709H343.8V812.5ZM865.2 808.6V556.6L660.2 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-outlook\"\n      ]\n    },\n    {\n      \"uid\": \"51601f5c849e51a44109a3addde47bfa\",\n      \"css\": \"perspective-less\",\n      \"code\": 986403,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M689.5 500L800.8 834H199.2L310.5 500H689.5ZM291 41L125 209 291 375V250H459V166H291V41ZM709 41V166H541V250H709V375L875 209ZM750 416H250L84 916H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"perspective-less\"\n      ]\n    },\n    {\n      \"uid\": \"cc47d76f34d746864fb3386ffb4ecdc2\",\n      \"css\": \"perspective-more\",\n      \"code\": 986404,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M689.5 500L800.8 834H199.2L310.5 500H689.5ZM709 41L541 209 709 375V250H875V166H709V41ZM291 41V166H125V250H291V375L459 209ZM750 416H250L84 916H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"perspective-more\"\n      ]\n    },\n    {\n      \"uid\": \"14b49c7584cae8f2360643f4ca06a02a\",\n      \"css\": \"podium\",\n      \"code\": 986405,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 294.9L601.6 357.4 574.2 240.2 666 162.1 546.9 152.3 500 41 453.1 152.3 334 162.1 423.8 240.2 396.5 357.4ZM166 544.9L269.5 607.4 242.2 490.2 334 412.1 212.9 402.3 166 291 119.1 402.3 0 412.1 91.8 490.2 62.5 607.4ZM834 419.9L935.5 482.4 908.2 365.2 1000 287.1 878.9 277.3 834 166 787.1 277.3 666 287.1 757.8 365.2 728.5 482.4ZM625 959H375V416H625V959ZM291 959H41V709H291V959ZM959 959H709V541H959V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"podium\"\n      ]\n    },\n    {\n      \"uid\": \"417faa8723444b6a19c2f12d9b87f7eb\",\n      \"css\": \"podium-bronze\",\n      \"code\": 986406,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 544.9L269.5 607.4 242.2 490.2 334 412.1 212.9 402.3 166 291 119.1 402.3 0 412.1 91.8 490.2 62.5 607.4ZM291 959H41V709H291V959ZM375 416V959H625V416H375ZM541 875H459V500H541V875ZM709 541V959H959V541H709ZM875 875H791V625H875V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"podium-bronze\"\n      ]\n    },\n    {\n      \"uid\": \"d6be2eaaa9ad6adfe6018b419fa29511\",\n      \"css\": \"podium-gold\",\n      \"code\": 986407,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 294.9L601.6 357.4 574.2 240.2 666 162.1 546.9 152.3 500 41 453.1 152.3 334 162.1 423.8 240.2 396.5 357.4ZM625 959H375V416H625V959ZM41 709V959H291V709H41ZM209 875H125V791H209V875ZM709 541V959H959V541H709ZM875 875H791V625H875V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"podium-gold\"\n      ]\n    },\n    {\n      \"uid\": \"1b730f315d510e919171694d6621edc8\",\n      \"css\": \"podium-silver\",\n      \"code\": 986408,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 419.9L935.5 482.4 908.2 365.2 1000 287.1 878.9 277.3 834 166 787.1 277.3 666 287.1 757.8 365.2 728.5 482.4ZM959 959H709V541H959V959ZM41 709V959H291V709H41ZM209 875H125V791H209V875ZM375 416V959H625V416H375ZM541 875H459V500H541V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"podium-silver\"\n      ]\n    },\n    {\n      \"uid\": \"c84b145b20bd4f9d26fb7dc25b17df17\",\n      \"css\": \"quora\",\n      \"code\": 986409,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M820.3 783.2Q834 767.6 837.9 752V738.3H900.4V748Q898.4 761.7 895.5 776.4T882.8 816.4Q878.9 834 855.5 859.4L834 878.9Q804.7 902.3 767.6 910.2 750 914.1 738.3 912.1L720.7 914.1Q699.2 914.1 681.6 910.2 654.3 904.3 632.8 892.6 605.5 873 574.2 834L550.8 800.8 519.5 806.6Q480.5 810.5 441.4 810.5 384.8 806.6 335.9 791 273.4 771.5 224.6 728.5 138.7 656.3 107.4 554.7 89.8 503.9 91.8 451.2V449.2Q91.8 404.3 109.4 345.7 138.7 242.2 205.1 177.7 296.9 89.8 449.2 84 585.9 78.1 683.6 150.4 761.7 209 800.8 300.8 830.1 371.1 830.1 433.6 830.1 478.5 820.3 517.6 818.4 543 808.6 571.3T787.1 617.2L785.2 621.1Q755.9 668 738.3 687.5T693.4 732.4L687.5 738.3 710.9 763.7Q738.3 791 753.9 794.9L761.7 796.9Q804.7 804.7 820.3 783.2ZM529.3 720.7Q533.2 716.8 513.7 691.4L478.5 642.6Q462.9 615.2 425.8 607.4H396.5Q380.9 607.4 365.2 611.3L357.4 613.3Q357.4 609.4 353.5 601.6L345.7 591.8Q341.8 584 341.8 570.3V570.3Q341.8 566.4 361.3 556.6T408.2 541Q443.4 533.2 474.6 533.2 513.7 533.2 548.8 552.7 572.3 564.5 591.8 584 599.6 589.8 610.4 604.5T628.9 625H630.9Q632.8 627 632.8 628.9 640.6 634.8 649.4 599.6T663.1 510.7 666 412.1Q664.1 335.9 656.3 302.7 648.4 261.7 626 229.5T560.5 175.8 475.6 154.3 396.5 166Q335.9 183.6 308.6 228.5 277.3 281.3 269.5 377 263.7 425.8 267.6 462.9L265.6 500Q267.6 544.9 279.3 582 293 634.8 324.2 666 365.2 707 416 720.7 443.4 726.6 486.3 724.6H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"quora\"\n      ]\n    },\n    {\n      \"uid\": \"6d110d3611dd172276dd316b99601cdd\",\n      \"css\": \"rewind-10\",\n      \"code\": 986410,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 125Q664.1 125 778.3 209T935.5 425.8L837.9 459Q804.7 357.4 717.8 293T521.5 228.5Q400.4 228.5 306.6 306.6L416 416H125V125L232.4 232.4Q293 181.6 366.2 153.3T521.5 125ZM416 500V916H334V584H250V500H416ZM750 584V834Q750 867.2 725.6 891.6T666 916H584Q548.8 916 524.4 891.6T500 834V584Q500 548.8 524.4 524.4T584 500H666Q701.2 500 725.6 524.4T750 584ZM584 584V834H666V584H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rewind-10\"\n      ]\n    },\n    {\n      \"uid\": \"1bf3f6f10ee0bb681626590a722fa5b7\",\n      \"css\": \"roller-skate\",\n      \"code\": 986411,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q791 630.9 789.1 636.7 783.2 648.4 767.6 656.3 746.1 666 709 666H166V125H459L466.8 187.5H384.8V250H476.6L484.4 312.5H384.8V375H494.1L500 416H584L615.2 419.9Q654.3 425.8 687.5 443.4 732.4 464.8 759.8 503.9 791 552.7 791 625ZM271.5 709Q228.5 709 197.3 739.3T166 812.5 197.3 885.7 271.5 916 344.7 885.7 375 812.5 344.7 739.3 271.5 709ZM687.5 709Q644.5 709 614.3 739.3T584 812.5 614.3 885.7 687.5 916 760.7 885.7 791 812.5 760.7 739.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roller-skate\"\n      ]\n    },\n    {\n      \"uid\": \"287ea2bc4f7b6aa49bd7d6344be415da\",\n      \"css\": \"rollerblade\",\n      \"code\": 986412,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q791 630.9 789.1 636.7 783.2 648.4 767.6 656.3 746.1 666 709 666H166V125H459L466.8 187.5H384.8V250H476.6L484.4 312.5H384.8V375H494.1L500 416H584L615.2 419.9Q654.3 425.8 687.5 443.4 732.4 464.8 759.8 503.9 791 552.7 791 625ZM228.5 709Q185.5 709 155.3 739.3T125 812.5 155.3 885.7 228.5 916 302.7 885.7 334 812.5 302.7 739.3 228.5 709ZM728.5 709Q685.5 709 655.3 739.3T625 812.5 655.3 885.7 728.5 916 802.7 885.7 834 812.5 802.7 739.3 728.5 709ZM478.5 709Q435.5 709 405.3 739.3T375 812.5 405.3 885.7 478.5 916 552.7 885.7 584 812.5 552.7 739.3 478.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rollerblade\"\n      ]\n    },\n    {\n      \"uid\": \"81b90edd007630cd3d62ae2accfbd4bf\",\n      \"css\": \"language-ruby\",\n      \"code\": 986413,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M783.2 85.9Q857.4 99.6 890.6 146.5 918 187.5 916 252V250L869.1 873 253.9 914.1V914.1Q187.5 912.1 150.4 890.6 85.9 851.6 84 748L140.6 644.5 255.9 912.1 353.5 595.7H351.6 353.5L673.8 697.3 591.8 373 898.4 353.5 656.3 156.3 783.2 85.9V85.9ZM84 746.1V748 746.1ZM261.7 259.8Q324.2 197.3 392.6 156.3T518.6 105.5 605.5 126 627 211.9 580.1 334 478.5 461.9 347.7 565.4 222.7 618.2 135.7 598.6 113.3 511.7 160.2 387.7 261.7 259.8V259.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-ruby\"\n      ]\n    },\n    {\n      \"uid\": \"0dbc13cfc1f765d33ec38abf86aea287\",\n      \"css\": \"sack\",\n      \"code\": 986414,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 375Q724.6 404.3 769.5 468.8 806.6 521.5 834 593.8 853.5 646.5 865.2 703.1L875 750 877 767.6Q878.9 789.1 873 808.6 867.2 835.9 847.7 857.4 824.2 884.8 785.2 898.4 736.3 916 666 916H334Q263.7 916 214.8 898.4 175.8 884.8 152.3 857.4 132.8 835.9 127 808.6 121.1 789.1 123 767.6L125 750 134.8 703.1Q146.5 646.5 166 593.8 193.4 521.5 230.5 468.8 275.4 404.3 334 375H666ZM584 166L500 84 416 166 250 84 334 291H666L750 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sack\"\n      ]\n    },\n    {\n      \"uid\": \"46f05b9e9764e1298b0670a99637e4be\",\n      \"css\": \"sack-percent\",\n      \"code\": 986415,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 291L250 84 416 166 500 84 584 166 750 84 666 291H334ZM666 916H334Q263.7 916 214.8 898.4 175.8 884.8 152.3 857.4 132.8 835.9 127 808.6 121.1 789.1 123 767.6L125 750 134.8 703.1Q146.5 646.5 166 593.8 193.4 521.5 230.5 468.8 275.4 404.3 334 375H666Q724.6 404.3 769.5 468.8 806.6 521.5 834 593.8 853.5 646.5 865.2 703.1L875 750 877 767.6Q878.9 789.1 873 808.6 867.2 835.9 847.7 857.4 824.2 884.8 785.2 898.4 736.3 916 666 916ZM312.5 521.5Q312.5 546.9 331.1 565.4T375 584 418.9 565.4 437.5 520.5 418.9 476.6 375 459 331.1 476.6 312.5 521.5ZM687.5 771.5Q687.5 744.1 668.9 726.6T625 709 581.1 726.6 562.5 770.5 581.1 815.4 625 834 668.9 815.4 687.5 771.5ZM687.5 513.7L630.9 459 312.5 777.3 369.1 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sack-percent\"\n      ]\n    },\n    {\n      \"uid\": \"ff26297a1638c0b6061592fe55da84bb\",\n      \"css\": \"safety-goggles\",\n      \"code\": 986416,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 375Q785.2 375 809.6 399.4T834 459V584Q834 617.2 809.6 641.6T750 666H656.3L605.5 615.2Q558.6 566.4 488.3 566.4T369.1 615.2L318.4 666H250Q214.8 666 190.4 641.6T166 584V459Q166 423.8 190.4 399.4T250 375H750ZM750 291H250Q181.6 291 132.8 339.8T84 459V459H41V584H84Q84 652.3 132.8 701.2T250 750H353.5L429.7 673.8Q453.1 650.4 488.3 650.4T546.9 673.8L621.1 750H750Q818.4 750 867.2 701.2T916 584V584H959V459H916Q916 388.7 867.2 339.8T750 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"safety-goggles\"\n      ]\n    },\n    {\n      \"uid\": \"4f27c722d9f402a377dadf9fcc3bf5b5\",\n      \"css\": \"select-color\",\n      \"code\": 986417,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M162.1 125Q146.5 127 135.7 138.7T125 166V209H209V125H162.1ZM291 125V209H375V125H291ZM459 125V209H541V125H459ZM625 125V209H709V125H625ZM791 125V166 209H875V162.1Q873 146.5 861.3 135.7T834 125H791ZM125 291V375H209V291H125ZM791 291V375H875V291H791ZM125 459V541H209V459H125ZM804.7 500Q796.9 500 789.1 505.9L724.6 570.3 685.5 531.3 654.3 560.5 685.5 589.8 498 775.4V875H597.7L783.2 689.5 812.5 718.8 841.8 689.5 802.7 648.4 867.2 584Q873 578.1 873 569.3T867.2 554.7L818.4 505.9Q812.5 500 804.7 500ZM125 625V709H209V625H125ZM709 625L748 666 580.1 834 541 793ZM125 791V834 837.9Q127 853.5 138.7 864.3T166 875H209V791H125ZM291 791V875H375V791H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-color\"\n      ]\n    },\n    {\n      \"uid\": \"c11efc9672310e9efd86e7cc505258fc\",\n      \"css\": \"selection-ellipse\",\n      \"code\": 986418,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M263.7 843.8L314.5 777.3Q371.1 814.5 435.5 826.2L423.8 910.2Q341.8 894.5 263.7 843.8ZM685.5 777.3L734.4 843.8Q662.1 894.5 576.2 910.2L564.5 826.2Q628.9 814.5 685.5 777.3ZM826.2 566.4L910.2 578.1Q894.5 662.1 843.8 736.3L777.3 685.5Q814.5 630.9 826.2 566.4ZM89.8 576.2L173.8 564.5Q185.5 628.9 222.7 685.5L156.3 736.3Q105.5 658.2 89.8 576.2ZM777.3 314.5L843.8 263.7Q894.5 339.8 910.2 423.8L826.2 435.5Q814.5 369.1 777.3 314.5ZM564.5 173.8L576.2 89.8Q658.2 105.5 736.3 156.3L685.5 222.7Q628.9 185.5 564.5 173.8ZM314.5 222.7L263.7 156.3Q341.8 105.5 423.8 89.8L435.5 173.8Q371.1 185.5 314.5 222.7ZM173.8 435.5L89.8 423.8Q105.5 341.8 156.3 263.7L222.7 314.5Q185.5 371.1 173.8 435.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-ellipse\"\n      ]\n    },\n    {\n      \"uid\": \"74dca9e2c6e0ca469bb163fc3421a84a\",\n      \"css\": \"shield-link-variant\",\n      \"code\": 986419,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM595.7 585.9L511.7 669.9Q472.7 709 419.9 709T329.1 670.9 291 580.1 330.1 488.3L380.9 437.5V460.9Q380.9 490.2 390.6 515.6L392.6 521.5 377 537.1Q357.4 554.7 357.4 580.1T376 623 419.9 640.6 462.9 623L546.9 539.1Q566.4 521.5 566.4 496.1T548.8 453.1Q537.1 441.4 537.1 428.7T546.9 406.3 571.3 396.5 595.7 406.3Q632.8 443.4 632.8 496.1T595.7 585.9ZM712.9 468.8L660.2 521.5V498Q660.2 468.8 652.3 443.4L650.4 437.5 664.1 421.9Q683.6 404.3 683.6 378.9T666 335 622.1 316.4 578.1 335.9L494.1 418Q476.6 437.5 476.6 462.9T494.1 505.9Q503.9 515.6 503.9 529.3T494.1 552.7 470.7 562.5 447.3 552.7Q408.2 515.6 408.2 461.9T447.3 371.1L531.3 287.1Q568.4 250 622.1 250T712.9 288.1 750 378.9 712.9 468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-link-variant\"\n      ]\n    },\n    {\n      \"uid\": \"7a63f4919b04c30209c2c0575e41c71a\",\n      \"css\": \"shield-link-variant-outline\",\n      \"code\": 986420,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM595.7 406.3Q632.8 443.4 632.8 496.1T595.7 585.9L511.7 669.9Q472.7 709 419.9 709T329.1 670.9 291 580.1 330.1 488.3L380.9 437.5V460.9Q380.9 490.2 390.6 515.6L392.6 521.5 377 537.1Q357.4 554.7 357.4 580.1T376 623 419.9 640.6 462.9 623L546.9 539.1Q566.4 521.5 566.4 496.1T546.9 453.1Q537.1 441.4 537.1 428.7T546.9 406.3 571.3 396.5 595.7 406.3ZM750 378.9Q750 431.6 712.9 468.8L660.2 521.5V498Q660.2 468.8 652.3 443.4L650.4 437.5 664.1 421.9Q683.6 404.3 683.6 378.9T666 335 622.1 316.4 578.1 334L494.1 418Q476.6 435.5 476.6 461.9T494.1 505.9Q503.9 515.6 503.9 529.3T494.1 552.7 470.7 562.5 447.3 552.7Q408.2 515.6 408.2 461.9T447.3 371.1L531.3 287.1Q568.4 250 622.1 250T712.9 288.1 750 378.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-link-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8dce76ee8cf8a1e32bc879af603c8fca\",\n      \"css\": \"skate\",\n      \"code\": 986421,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M878.9 687.5Q855.5 677.7 832 686.5T799.8 718.8 771.5 750H125V875H748Q802.7 875 846.7 845.7T912.1 767.6Q921.9 744.1 912.1 720.7T878.9 687.5ZM791 625Q791 630.9 789.1 636.7 783.2 648.4 767.6 656.3 746.1 666 709 666H166V125H459L466.8 187.5H384.8V250H476.6L484.4 312.5H384.8V375H494.1L500 416H584L615.2 419.9Q654.3 425.8 687.5 443.4 732.4 464.8 759.8 503.9 791 552.7 791 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skate\"\n      ]\n    },\n    {\n      \"uid\": \"a89dbe5705d6f8b35663be94e281456c\",\n      \"css\": \"skew-less\",\n      \"code\": 986422,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 459L642.6 834H437.5L525.4 459H728.5ZM834 375H459L334 916H709ZM166 250L334 84V209H666V291H334V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skew-less\"\n      ]\n    },\n    {\n      \"uid\": \"14844bfa7184c5c88f5f3fb190c297fc\",\n      \"css\": \"skew-more\",\n      \"code\": 986423,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 459L433.6 834H228.5L316.4 459H521.5ZM625 375H250L125 916H500ZM875 250L709 84V209H375V291H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skew-more\"\n      ]\n    },\n    {\n      \"uid\": \"a28305ca4d18a617e3fce9a3ea426075\",\n      \"css\": \"speaker-multiple\",\n      \"code\": 986424,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416Q531.3 416 495.1 453.1T459 542 495.1 629.9 583 666 671.9 629.9 709 542 671.9 453.1 584 416ZM584 750Q527.3 750 479.5 721.7T403.3 645.5 375 541 403.3 436.5 479.5 361.3 584 334 688.5 361.3 763.7 436.5 791 541 763.7 645.5 688.5 721.7 584 750ZM584 84Q617.2 84 641.6 108.4T666 167 641.6 225.6 583 250 524.4 225.6 500 167 524.4 108.4 584 84ZM791 0H375Q339.8 0 315.4 24.4T291 84V750Q291 785.2 315.4 809.6T375 834H791Q826.2 834 850.6 809.6T875 750V84Q875 48.8 850.6 24.4T791 0ZM209 916H709V1000H209Q173.8 1000 149.4 975.6T125 916V166H209V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speaker-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"98e0d988d18c4b50db68d276511a20c9\",\n      \"css\": \"stamper\",\n      \"code\": 986425,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q447.3 125 411.1 161.1T375 250Q375 273.4 386.7 306.6 392.6 326.2 408.2 363.3 435.5 425.8 439.5 451.2 443.4 494.1 406.3 515.6 361.3 541 250 541 214.8 541 190.4 565.4T166 625V709H834V625Q834 589.8 809.6 565.4T750 541Q638.7 541 593.8 515.6 556.6 494.1 560.5 451.2 564.5 425.8 591.8 363.3 607.4 326.2 613.3 306.6 625 273.4 625 250 625 189.5 589.8 157.2T500 125ZM250 791V875H750V791H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stamper\"\n      ]\n    },\n    {\n      \"uid\": \"62177ce3aace213c2973174c2d443bac\",\n      \"css\": \"tank\",\n      \"code\": 986426,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500H166V459H250L291 250H500L541 459H834V500ZM550.8 291L568.4 375H916V291H550.8ZM916 666Q916 718.8 879.9 754.9T791 791H209Q156.3 791 120.1 754.9T84 667 120.1 578.1 209 541H791Q843.8 541 879.9 578.1T916 666ZM250 666Q250 648.4 238.3 636.7T209 625 178.7 636.7 166 666 178.7 696.3 209 709 238.3 696.3 250 666ZM541 666Q541 648.4 529.3 636.7T500 625 470.7 636.7 459 666 470.7 696.3 500 709 529.3 696.3 541 666ZM834 666Q834 648.4 821.3 636.7T791 625 761.7 636.7 750 666 761.7 696.3 791 709 821.3 696.3 834 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tank\"\n      ]\n    },\n    {\n      \"uid\": \"0de42d1e216d9b30d0f931ca211f6aa3\",\n      \"css\": \"tortoise\",\n      \"code\": 986427,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 232.4Q765.6 232.4 732.4 259.8T687.5 334Q671.9 396.5 664.1 412.1T625 459Q564.5 519.5 459 556.6 357.4 593.8 166 625 136.7 628.9 118.2 639.6T84 666Q166 666 189.5 673.8 228.5 687.5 187.5 728.5L125 791H250L334 709Q396.5 740.2 444.3 740.2T554.7 709L584 791H709L666 666 679.7 621.1Q695.3 570.3 709 531.3 732.4 476.6 750 459T779.3 439.5Q787.1 439.5 798.8 447.3 818.4 459 834 459 865.2 459 890.6 428.7T916 353.5Q916 328.1 908.2 310.5 894.5 277.3 853.5 250 832 234.4 804.7 232.4ZM375 250Q306.6 250 249 283.2T158.2 374 125 500Q125 519.5 132.8 554.7L134.8 566.4Q322.3 535.2 425.8 500T580.1 414.1L601.6 392.6Q570.3 328.1 508.8 289.1T375 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tortoise\"\n      ]\n    },\n    {\n      \"uid\": \"e9dbc9d115c397a1418cf165883eac8f\",\n      \"css\": \"transit-connection\",\n      \"code\": 986428,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500Q625 460.9 601.6 428.7T541 382.8V283.2Q578.1 271.5 601.6 239.3T625 166Q625 115.2 588.9 78.1T500 41 411.1 78.1 375 166Q375 207 398.4 239.3T459 283.2V382.8Q421.9 396.5 398.4 428.7T375 500 398.4 571.3 459 617.2V716.8Q421.9 728.5 398.4 760.7T375 834Q375 884.8 411.1 921.9T500 959 588.9 921.9 625 834Q625 793 601.6 760.7T541 716.8V617.2Q578.1 603.5 601.6 571.3T625 500ZM500 125Q517.6 125 529.3 136.7T541 166 529.3 196.3 500 209 470.7 196.3 459 166 470.7 136.7 500 125ZM500 875Q482.4 875 470.7 863.3T459 834 470.7 803.7 500 791 529.3 803.7 541 834 529.3 863.3 500 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transit-connection\"\n      ]\n    },\n    {\n      \"uid\": \"5e654ff373b04dde9af3fcbb87e7bb7d\",\n      \"css\": \"transit-connection-variant\",\n      \"code\": 986429,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H617.2Q603.5 421.9 571.3 398.4T500 375 428.7 398.4 382.8 459H250Q224.6 459 203.1 447.3 166 425.8 166 375V334Q166 285.2 201.2 263.7 222.7 250 250 250H673.8Q687.5 287.1 719.7 310.5T791 334Q843.8 334 879.9 296.9T916 208 879.9 120.1 791 84Q752 84 719.7 106.4T673.8 166H250Q189.5 166 140.6 203.1 84 250 84 334V375Q84 459 140.6 503.9 189.5 541 250 541H382.8Q396.5 578.1 428.7 601.6T500 625 571.3 601.6 617.2 541H750Q775.4 541 796.9 552.7 834 574.2 834 625V666Q834 714.8 798.8 736.3 777.3 750 750 750H326.2Q312.5 712.9 280.3 689.5T209 666Q156.3 666 120.1 703.1T84 792 120.1 879.9 209 916Q248 916 280.3 893.6T326.2 834H750Q810.5 834 859.4 794.9 916 750 916 666V625Q916 543 859.4 496.1 810.5 459 750 459ZM791 166Q808.6 166 821.3 178.7T834 209 821.3 238.3 791 250 761.7 238.3 750 209 761.7 178.7 791 166ZM209 834Q191.4 834 178.7 821.3T166 791 178.7 761.7 209 750 238.3 761.7 250 791 238.3 821.3 209 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transit-connection-variant\"\n      ]\n    },\n    {\n      \"uid\": \"b3bb81e3c19fd32c524516d1352332bd\",\n      \"css\": \"transmission-tower\",\n      \"code\": 986430,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M345.7 226.6L271.5 189.5 324.2 84H675.8L728.5 189.5 654.3 226.6 625 166H375ZM775.4 334H587.9L554.7 209H445.3L412.1 334H224.6L169.9 439.5 246.1 476.6 275.4 416H724.6L753.9 476.6 828.1 439.5ZM740.2 916H654.3L644.5 878.9 500 662.1 355.5 878.9 345.7 916H259.8L380.9 459H466.8L451.2 513.7 500 587.9 548.8 513.7 533.2 459H619.1ZM474.6 625L437.5 568.4 388.7 755.9ZM611.3 755.9L562.5 568.4 525.4 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transmission-tower\"\n      ]\n    },\n    {\n      \"uid\": \"8efc41ceb62d2eb9ce9b9bcc04508de0\",\n      \"css\": \"weight-gram\",\n      \"code\": 986431,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M832 439.5Q824.2 412.1 801.8 393.6T750 375H644.5Q666 337.9 666 291 666 222.7 617.2 173.8T500 125 382.8 173.8 334 291Q334 337.9 355.5 375H250Q220.7 375 198.2 393.6T168 439.5L93.8 738.3Q84 785.2 84 791 84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791Q916 785.2 906.3 738.3ZM500 209Q535.2 209 559.6 233.4T584 292 559.6 350.6 500 375 440.4 350.6 416 292 440.4 233.4 500 209ZM625 541H459V709H541V584H625V791H459Q423.8 791 399.4 766.6T375 709V541Q375 507.8 399.4 483.4T459 459H625V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weight-gram\"\n      ]\n    },\n    {\n      \"uid\": \"6567b677401e7a4598db0d1dbeb98f3d\",\n      \"css\": \"youtube-subscription\",\n      \"code\": 986432,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H166V250H834V334ZM750 84H250V166H750V84ZM916 500V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V500Q84 464.8 108.4 440.4T166 416H834Q867.2 416 891.6 440.4T916 500ZM666 666L416 531.3V802.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"youtube-subscription\"\n      ]\n    },\n    {\n      \"uid\": \"d8725442f14b8a601314cf841d70659e\",\n      \"css\": \"zigbee\",\n      \"code\": 986433,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M169.9 255.9Q164.1 257.8 158.2 261.7 84 369.1 84 500 84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916Q591.8 916 672.9 878.9T812.5 775.4L709 785.2Q535.2 804.7 361.3 789.1 316.4 789.1 275.4 769.5 248 755.9 230.5 732.4T210.9 679.7Q210.9 669.9 218.8 662.1L627 238.3V232.4H451.2Q308.6 236.3 169.9 255.9ZM839.8 728.5Q847.7 726.6 851.6 724.6 916 621.1 916 500 916 418 884.8 340.8T794.9 205.1 659.2 115.2 498 84 337.9 116.2 203.1 207H214.8Q408.2 181.6 607.4 193.4 666 193.4 722.7 214.8 750 226.6 769.5 251T791 306.6Q791 318.4 783.2 326.2L404.3 716.8 375 748V752H546.9Q693.4 748 839.8 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zigbee\"\n      ]\n    },\n    {\n      \"uid\": \"b470adb381289d3555a23881e6ebf566\",\n      \"css\": \"email-alert-outline\",\n      \"code\": 986434,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500V291H916V500H834ZM834 666V584H916V666H834ZM750 291Q750 257.8 725.6 233.4T666 209H166Q132.8 209 108.4 233.4T84 291V666Q84 701.2 108.4 725.6T166 750H666Q701.2 750 725.6 725.6T750 666V291ZM666 291L416 459 166 291H666ZM666 666H166V375L416 541 666 375V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ef798801cfa46e76bdf6f55e83c7841d\",\n      \"css\": \"air-filter\",\n      \"code\": 986435,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 763.7V834Q791 867.2 766.6 891.6T709 916H291Q257.8 916 233.4 891.6T209 834V679.7Q175.8 666 125 666 107.4 666 95.7 654.3T84 625 95.7 595.7 125 584Q171.9 584 209 591.8V511.7Q175.8 500 125 500 107.4 500 95.7 488.3T84 459 95.7 428.7 125 416Q171.9 416 209 425.8V345.7Q175.8 334 125 334 107.4 334 95.7 321.3T84 291 95.7 261.7 125 250Q171.9 250 209 257.8V166Q209 132.8 233.4 108.4T291 84H709Q742.2 84 766.6 108.4T791 166V255.9Q869.1 269.5 904.3 304.7 916 316.4 916 334T904.3 363.3 877 375 845.7 363.3L830.1 355.5Q810.5 345.7 785.2 341.8 750 334 709 334 673.8 334 640.6 343.8 619.1 351.6 582 371.1H578.1Q535.2 394.5 507.8 402.3 464.8 416 416 416 388.7 416 375 414.1V332Q386.7 334 416 334 451.2 334 484.4 322.3 505.9 314.5 543 296.9 587.9 273.4 615.2 265.6 660.2 250 709 250V166H291V834H709V750Q748 750 773.4 755.9 787.1 759.8 791 763.7ZM709 416Q660.2 416 615.2 431.6 587.9 441.4 543 462.9 505.9 482.4 484.4 488.3 451.2 500 416 500 386.7 500 375 498V582Q388.7 584 416 584 464.8 584 507.8 568.4 535.2 560.5 578.1 539.1L582 537.1Q621.1 517.6 640.6 511.7 673.8 500 709 500 750 500 785.2 507.8 810.5 513.7 830.1 521.5L845.7 529.3V529.3Q861.3 541 877 541T904.3 529.3 916 500 904.3 470.7Q888.7 453.1 853.5 439.5 794.9 416 709 416ZM709 584Q660.2 584 615.2 597.7 587.9 607.4 543 628.9 505.9 648.4 484.4 656.3 451.2 666 416 666 386.7 666 375 664.1V748Q388.7 750 416 750 464.8 750 507.8 736.3 535.2 726.6 578.1 705.1L582 703.1Q621.1 683.6 640.6 677.7 673.8 666 709 666 767.6 666 812.5 681.6 834 689.5 845.7 695.3V695.3Q861.3 709 877 709T904.3 696.3 916 667 904.3 636.7Q888.7 621.1 853.5 607.4 794.9 584 709 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"air-filter\"\n      ]\n    },\n    {\n      \"uid\": \"917d30b21c038046ac48b1ef0d48ee32\",\n      \"css\": \"air-purifier\",\n      \"code\": 986436,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375Q527.3 375 576.2 423.8T625 542 576.2 660.2 458 709 339.8 660.2 291 542 339.8 423.8 459 375ZM459 459Q423.8 459 399.4 483.4T375 542 399.4 600.6 458 625 516.6 600.6 541 542 516.6 483.4 459 459ZM291 166H584Q652.3 166 701.2 214.8T750 334V375H666V334Q666 298.8 641.6 274.4T584 250H291Q257.8 250 233.4 274.4T209 334V834H666V750H750V916H125V334Q125 263.7 173.8 214.8T291 166ZM666 459Q701.2 459 728.5 445.3 744.1 437.5 770.5 417T812.5 388.7Q839.8 375 875 375V459Q839.8 459 812.5 470.7 796.9 478.5 770.5 500T728.5 529.3Q701.2 541 666 541V459ZM666 625Q701.2 625 728.5 611.3 744.1 603.5 770.5 583T812.5 554.7Q839.8 541 875 541V625Q839.8 625 812.5 638.7 796.9 646.5 770.5 667T728.5 695.3Q701.2 709 666 709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"air-purifier\"\n      ]\n    },\n    {\n      \"uid\": \"00cbaad77fba0570f4efcd984b7fe8a7\",\n      \"css\": \"android-messages\",\n      \"code\": 986437,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834H291Q257.8 834 233.4 809.6T209 750V373L93.8 234.4Q84 222.7 84 207T95.7 178.7 125 166H834Q867.2 166 891.6 190.4T916 250V750Q916 785.2 891.6 809.6T834 834ZM353.5 291Q345.7 291 339.8 297.9T334 312.5V353.5Q334 363.3 339.8 369.1T353.5 375H771.5Q779.3 375 785.2 369.1T791 353.5V312.5Q791 304.7 785.2 297.9T771.5 291H353.5ZM353.5 459Q345.7 459 339.8 464.8T334 478.5V521.5Q334 529.3 339.8 535.2T353.5 541H771.5Q779.3 541 785.2 535.2T791 521.5V478.5Q791 470.7 785.2 464.8T771.5 459H353.5ZM353.5 625Q345.7 625 339.8 630.9T334 646.5V687.5Q334 695.3 339.8 702.1T353.5 709H562.5Q570.3 709 577.1 702.1T584 687.5V646.5Q584 636.7 577.1 630.9T562.5 625H353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"android-messages\"\n      ]\n    },\n    {\n      \"uid\": \"53342e379a545dd8e743265cc158f63d\",\n      \"css\": \"apps-box\",\n      \"code\": 986438,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 291V375H375V291H291ZM459 291V375H541V291H459ZM625 291V375H709V291H625ZM291 459V541H375V459H291ZM459 459V541H541V459H459ZM625 459V541H709V459H625ZM291 625V709H375V625H291ZM459 625V709H541V625H459ZM625 625V709H709V625H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apps-box\"\n      ]\n    },\n    {\n      \"uid\": \"bd7a72cb25f12a90392869ecc04fbe82\",\n      \"css\": \"atm\",\n      \"code\": 986439,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 375V437.5H427.7V625H490.2V437.5H584V375H334ZM250 375H125Q107.4 375 95.7 386.7T84 416V625H146.5V562.5H228.5V625H291V416Q291 398.4 279.3 386.7T250 375ZM228.5 500H146.5V437.5H228.5V500ZM875 375H687.5Q669.9 375 658.2 386.7T646.5 416V625H709V437.5H750V584H812.5V437.5H853.5V625H916V416Q916 398.4 904.3 386.7T875 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"atm\"\n      ]\n    },\n    {\n      \"uid\": \"8a962c6bb8cd7dd1afda64e7d5f98795\",\n      \"css\": \"axis\",\n      \"code\": 986440,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M109.4 875L66.4 802.7 459 576.2V125H541V576.2L933.6 802.7 890.6 875 500 648.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis\"\n      ]\n    },\n    {\n      \"uid\": \"c69c96255c8eefe4268f2b3730b84148\",\n      \"css\": \"axis-arrow\",\n      \"code\": 986441,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L666 250H541V576.2L814.5 734.4 875 627 937.5 853.5 709 914.1 771.5 806.6 500 648.4 228.5 806.6 291 914.1 62.5 853.5 125 627 185.5 734.4 459 576.2V250H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"c162dd36651ffb57d1717c7294651ecd\",\n      \"css\": \"axis-arrow-lock\",\n      \"code\": 986442,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 209Q927.7 209 943.4 224.6T959 261.7V408.2Q959 427.7 942.4 443.4T904.3 459H675.8Q656.3 459 640.6 442.4T625 404.3V257.8Q625 240.2 640.6 224.6T675.8 209V146.5Q675.8 103.5 710.9 72.3T791 41 872.1 72.3 908.2 146.5V209ZM853.5 209V146.5Q853.5 121.1 835.9 106.4T792 91.8 747.1 106.4 728.5 146.5V209H853.5ZM72.3 802.7L132.8 574.2 195.3 681.6 375 576.2V250H250L416 84 584 250H459V576.2L752 744.1 812.5 636.7 875 863.3 646.5 925.8 709 816.4 416 648.4 236.3 752 300.8 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-arrow-lock\"\n      ]\n    },\n    {\n      \"uid\": \"14b49dfcf7be5e8d62673ae1e9bd2ea8\",\n      \"css\": \"axis-lock\",\n      \"code\": 986443,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 209Q927.7 209 943.4 224.6T959 261.7V408.2Q959 427.7 942.4 443.4T904.3 459H675.8Q656.3 459 640.6 442.4T625 404.3V257.8Q625 240.2 640.6 224.6T675.8 209V146.5Q675.8 103.5 710.9 72.3T791 41 872.1 72.3 908.2 146.5V209ZM853.5 209V146.5Q853.5 121.1 835.9 106.4T792 91.8 747.1 106.4 728.5 146.5V209H853.5ZM459 576.2L849.6 802.7 808.6 875 416 648.4 132.8 812.5 89.8 740.2 375 576.2V125H459V576.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-lock\"\n      ]\n    },\n    {\n      \"uid\": \"3ff268fd9b4c016f333d59ec016135be\",\n      \"css\": \"axis-x-arrow\",\n      \"code\": 986444,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M62.5 853.5L125 627 185.5 732.4 459 576.2V125H541V576.2L933.6 802.7 890.6 875 500 648.4 226.6 804.7 291 914.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-x-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"95412f8ea9b53e38d5b6912136a84b4d\",\n      \"css\": \"axis-x-arrow-lock\",\n      \"code\": 986445,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 209Q927.7 209 943.4 224.6T959 261.7V408.2Q959 427.7 942.4 443.4T904.3 459H675.8Q656.3 459 640.6 442.4T625 404.3V257.8Q625 240.2 640.6 224.6T675.8 209V146.5Q675.8 103.5 710.9 72.3T791 41 872.1 72.3 908.2 146.5V209ZM853.5 209V146.5Q853.5 121.1 835.9 106.4T793.9 91.8 752.9 103.5 730.5 132.8Q728.5 136.7 728.5 146.5V209H853.5ZM72.3 802.7L132.8 574.2 195.3 679.7 375 576.2V125H459V576.2L849.6 802.7 808.6 875 416 648.4 236.3 752 300.8 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-x-arrow-lock\"\n      ]\n    },\n    {\n      \"uid\": \"caefb0dcb3544003fa6cf415a15514c2\",\n      \"css\": \"axis-x-rotate-clockwise\",\n      \"code\": 986446,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416H621.1Q611.3 306.6 577.1 236.3T500 166Q451.2 166 415 255.9T375 476.6L291 523.4V500Q291 386.7 319.3 291T395.5 139.6 500 84Q548.8 84 592.8 127T666 246.1 705.1 416H834L666 584ZM500 916Q441.4 916 392.6 857.4T318.4 701.2L390.6 660.2Q406.3 738.3 435.5 786.1T502 834 571.3 774.4 617.2 621.1L666 671.9 695.3 642.6Q673.8 763.7 620.1 839.8T500 916ZM87.9 787.1L46.9 712.9 44.9 710.9 462.9 468.8 529.3 535.2 89.8 789.1ZM912.1 212.9L953.1 287.1 800.8 375H740.2L728.5 318.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-x-rotate-clockwise\"\n      ]\n    },\n    {\n      \"uid\": \"15a93ccc55039a7fe368603cf0f5ef9c\",\n      \"css\": \"axis-x-rotate-counterclockwise\",\n      \"code\": 986447,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584L666 416 834 584H705.1Q695.3 677.7 666 753.9T592.8 873 500 916Q441.4 916 392.6 857.4T318.4 701.2L390.6 660.2Q406.3 738.3 435.5 786.1T500 834Q543 834 577.1 763.7T621.1 584H500ZM46.9 712.9L578.1 406.3 582 439.5 437.5 584H439.5L87.9 787.1ZM912.1 212.9L953.1 287.1 744.1 406.3Q738.3 357.4 728.5 318.4ZM500 84Q570.3 84 626 168.9T701.2 388.7L666 353.5 619.1 400.4Q607.4 298.8 574.2 232.4T500 166Q451.2 166 415 255.9T375 476.6L291 523.4V500Q291 386.7 319.3 291T395.5 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-x-rotate-counterclockwise\"\n      ]\n    },\n    {\n      \"uid\": \"d546600f9fd8643bc77d2dc9220a3d4c\",\n      \"css\": \"axis-x-y-arrow-lock\",\n      \"code\": 986448,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 209Q927.7 209 943.4 224.6T959 261.7V408.2Q959 427.7 942.4 443.4T904.3 459H675.8Q656.3 459 640.6 442.4T625 404.3V257.8Q625 240.2 640.6 224.6T675.8 209V146.5Q675.8 103.5 710.9 72.3T791 41 872.1 72.3 908.2 146.5V209ZM853.5 209V146.5Q853.5 121.1 835.9 106.4T792 91.8 747.1 106.4 728.5 146.5V209H853.5ZM72.3 802.7L132.8 574.2 195.3 681.6 375 576.2V125H459V576.2L730.5 734.4 791 627 853.5 853.5 625 914.1 689.5 806.6 416 648.4 236.3 752 300.8 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-x-y-arrow-lock\"\n      ]\n    },\n    {\n      \"uid\": \"b2712b92210aa72aa6407a7a67f6d938\",\n      \"css\": \"axis-y-arrow\",\n      \"code\": 986449,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M937.5 853.5L709 914.1 771.5 806.6 500 648.4 109.4 875 66.4 802.7 459 576.2V125H541V576.2L814.5 734.4 875 627Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-y-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"1ec196fc4a3fd96410d513b97f58ed1e\",\n      \"css\": \"axis-y-arrow-lock\",\n      \"code\": 986450,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 576.2L750 744.1 812.5 636.7 875 863.3 646.5 925.8 709 816.4 416 648.4 132.8 812.5 89.8 740.2 375 576.2V125H459V576.2ZM908.2 209Q927.7 209 943.4 224.6T959 261.7V408.2Q959 427.7 942.4 443.4T904.3 459H675.8Q656.3 459 640.6 442.4T625 404.3V257.8Q625 240.2 640.6 224.6T675.8 209V146.5Q675.8 103.5 710.9 72.3T791 41 872.1 72.3 908.2 146.5V209ZM853.5 209V146.5Q853.5 121.1 835.9 106.4T792 91.8 747.1 106.4 728.5 146.5V209H853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-y-arrow-lock\"\n      ]\n    },\n    {\n      \"uid\": \"57e3f4360649833fef2527a6c7636ccd\",\n      \"css\": \"axis-y-rotate-clockwise\",\n      \"code\": 986451,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416L666 584 834 416H705.1Q695.3 322.3 666 246.1T592.8 127 500 84Q441.4 84 392.6 142.6T318.4 298.8L390.6 339.8Q406.3 261.7 435.5 213.9T500 166Q543 166 577.1 236.3T621.1 416H500ZM46.9 287.1L578.1 593.8 582 560.5 437.5 416H439.5L87.9 212.9ZM912.1 787.1L953.1 712.9 744.1 593.8Q738.3 642.6 728.5 681.6ZM500 916Q570.3 916 626 831.1T701.2 611.3L666 646.5 619.1 599.6Q607.4 701.2 574.2 767.6T500 834Q451.2 834 415 744.1T375 523.4L291 476.6V500Q291 613.3 319.3 709T395.5 860.4 500 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-y-rotate-clockwise\"\n      ]\n    },\n    {\n      \"uid\": \"ea7e58e0a3637763a7f685809a2366ac\",\n      \"css\": \"axis-y-rotate-counterclockwise\",\n      \"code\": 986452,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584H621.1Q611.3 693.4 577.1 763.7T500 834Q451.2 834 415 744.1T375 523.4L291 476.6V500Q291 613.3 319.3 709T395.5 860.4 500 916Q548.8 916 592.8 873T666 753.9 705.1 584H834L666 416ZM500 84Q441.4 84 392.6 142.6T318.4 298.8L390.6 339.8Q406.3 261.7 435.5 213.9T502 166 571.3 225.6 617.2 378.9L666 328.1 695.3 357.4Q673.8 236.3 620.1 160.2T500 84ZM87.9 212.9L46.9 287.1 44.9 289.1 462.9 531.3 529.3 464.8 89.8 210.9ZM912.1 787.1L953.1 712.9 800.8 625H740.2L728.5 681.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-y-rotate-counterclockwise\"\n      ]\n    },\n    {\n      \"uid\": \"69440b7ee3acee1f29ed80270bba8ac4\",\n      \"css\": \"axis-z-arrow\",\n      \"code\": 986453,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L666 250H541V576.2L933.6 802.7 890.6 875 500 648.4 109.4 875 66.4 802.7 459 576.2V250H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-z-arrow\"\n      ]\n    },\n    {\n      \"uid\": \"cc495b025a627897fce3ba307d1d940b\",\n      \"css\": \"axis-z-arrow-lock\",\n      \"code\": 986454,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 209Q927.7 209 943.4 224.6T959 261.7V408.2Q959 427.7 942.4 443.4T904.3 459H675.8Q656.3 459 640.6 442.4T625 404.3V257.8Q625 240.2 640.6 224.6T675.8 209V146.5Q675.8 103.5 710.9 72.3T791 41 872.1 72.3 908.2 146.5V209ZM853.5 209V146.5Q853.5 121.1 835.9 106.4T792 91.8 747.1 106.4 728.5 146.5V209H853.5ZM416 84L584 250H459V576.2L849.6 802.7 808.6 875 416 648.4 132.8 812.5 89.8 740.2 375 576.2V250H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-z-arrow-lock\"\n      ]\n    },\n    {\n      \"uid\": \"851531f4408e390a3cc351a81e4de5c7\",\n      \"css\": \"axis-z-rotate-clockwise\",\n      \"code\": 986455,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500L416 666 584 834V705.1Q677.7 695.3 753.9 666T873 592.8 916 500 873 407.2 753.9 334 584 294.9V378.9Q693.4 388.7 763.7 422.9T834 500 763.7 577.1 584 621.1V500ZM166 500Q166 457 236.3 422.9T416 378.9V294.9Q322.3 304.7 246.1 334T127 407.2 84 500Q84 566.4 160.2 620.1T357.4 695.3L328.1 666 378.9 617.2Q285.2 603.5 225.6 571.3T166 500ZM541 84H459V541L541 459V84ZM541 916V875L459 791V916H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-z-rotate-clockwise\"\n      ]\n    },\n    {\n      \"uid\": \"7d8fafea8099124a0043b61e6e1a989d\",\n      \"css\": \"axis-z-rotate-counterclockwise\",\n      \"code\": 986456,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 500L584 666 416 834V705.1Q322.3 695.3 246.1 666T127 592.8 84 500 127 407.2 246.1 334 416 294.9V378.9Q306.6 388.7 236.3 422.9T166 500 236.3 577.1 416 621.1V500ZM834 500Q834 457 763.7 422.9T584 378.9V294.9Q677.7 304.7 753.9 334T873 407.2 916 500Q916 566.4 839.8 620.1T642.6 695.3L671.9 666 621.1 617.2Q714.8 603.5 774.4 571.3T834 500ZM459 84H541V541L459 459V84ZM459 916V875L541 791V916H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-z-rotate-counterclockwise\"\n      ]\n    },\n    {\n      \"uid\": \"607a634f6723d3b83eae0010f840dc34\",\n      \"css\": \"bell-alert\",\n      \"code\": 986457,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 291V541H875V291H959ZM875 625H959V709H875V625ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H875V791L791 709V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T500 959 559.6 934.6 584 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-alert\"\n      ]\n    },\n    {\n      \"uid\": \"b2c55d77c7dd767d8f986fa7a61e4a15\",\n      \"css\": \"bell-circle\",\n      \"code\": 986458,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM709 666V625L666 584V474.6Q666 406.3 633.8 355.5T541 291V271.5Q541 253.9 529.3 241.2T500 228.5 470.7 241.2 459 271.5V291Q398.4 304.7 366.2 355.5T334 474.6V584L291 625V666H709ZM562.5 709H437.5Q437.5 734.4 456.1 752.9T500 771.5 543.9 752.9 562.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-circle\"\n      ]\n    },\n    {\n      \"uid\": \"2fe1a611f6a1ffa2426f74d18ab439f3\",\n      \"css\": \"bell-circle-outline\",\n      \"code\": 986459,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 666H291V625L334 584V474.6Q334 406.3 366.2 355.5T459 291V271.5Q459 253.9 470.7 241.2T500 228.5 529.3 241.2 541 271.5V291Q601.6 304.7 633.8 355.5T666 474.6V584L709 625V666ZM562.5 709Q562.5 734.4 543.9 752.9T500 771.5 456.1 752.9 437.5 709H562.5ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7bbf91d29120d8574383824cf7985ea1\",\n      \"css\": \"calendar-minus\",\n      \"code\": 986460,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791V334H209V791H791ZM666 41H750V125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41H334V125H666V41ZM666 521.5V603.5H334V521.5H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-minus\"\n      ]\n    },\n    {\n      \"uid\": \"0340f13824e42ed812a1f97baefb27ac\",\n      \"css\": \"camera-outline\",\n      \"code\": 986461,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H701.2L625 84H375L298.8 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 750H166V250H335.9L412.1 166H587.9L664.1 250H834V750ZM500 291Q443.4 291 395.5 319.3T319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709 604.5 680.7 680.7 604.5 709 500 680.7 395.5 604.5 319.3 500 291ZM500 625Q447.3 625 411.1 588.9T375 500 411.1 411.1 500 375 588.9 411.1 625 500 588.9 588.9 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d6ccc2fb1a748ddaf5f5062998855fed\",\n      \"css\": \"car-brake-hold\",\n      \"code\": 986462,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 311.5 174.8T174.8 311.5 125 500 174.8 688.5 311.5 825.2 500 875 688.5 825.2 825.2 688.5 875 500 825.2 311.5 688.5 174.8 500 125ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791ZM853.5 853.5Q923.8 785.2 961.9 693.4T1000 500 961.9 306.6 853.5 146.5L808.6 191.4Q869.1 252 903.3 332T937.5 500 903.3 668 808.6 808.6ZM191.4 808.6Q130.9 748 96.7 668T62.5 500 96.7 332 191.4 191.4L146.5 146.5Q76.2 214.8 38.1 306.6T0 500 38.1 693.4 146.5 853.5ZM375 291V709H459V541H541V709H625V291H541V459H459V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-brake-hold\"\n      ]\n    },\n    {\n      \"uid\": \"662022300dc02629b69c81d0723d2486\",\n      \"css\": \"car-brake-parking\",\n      \"code\": 986463,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 311.5 174.8T174.8 311.5 125 500 174.8 688.5 311.5 825.2 500 875 688.5 825.2 825.2 688.5 875 500 825.2 311.5 688.5 174.8 500 125ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791ZM853.5 853.5Q923.8 785.2 961.9 693.4T1000 500 961.9 306.6 853.5 146.5L808.6 191.4Q869.1 252 903.3 332T937.5 500 903.3 668 808.6 808.6ZM191.4 808.6Q130.9 748 96.7 668T62.5 500 96.7 332 191.4 191.4L146.5 146.5Q76.2 214.8 38.1 306.6T0 500 38.1 693.4 146.5 853.5ZM396.5 291V709H478.5V541H562.5Q597.7 541 622.1 516.6T646.5 459V375Q646.5 339.8 622.1 315.4T562.5 291H396.5ZM478.5 375H562.5V459H478.5V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-brake-parking\"\n      ]\n    },\n    {\n      \"uid\": \"96e397e0381423d27ecbe7ff7ed3d397\",\n      \"css\": \"car-cruise-control\",\n      \"code\": 986464,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625Q916 705.1 881.8 774.4T787.1 886.7L679.7 779.3 738.3 720.7 787.1 771.5Q822.3 720.7 830.1 666H750V584H830.1Q816.4 525.4 787.1 478.5L738.3 529.3 679.7 470.7 728.5 419.9Q679.7 384.8 625 378.9V459H541V378.9Q484.4 392.6 437.5 419.9L562.5 544.9Q566.4 544.9 573.2 543T584 541Q617.2 541 641.6 565.4T666 625 641.6 684.6 583 709 524.4 684.6 500 625Q500 613.3 503.9 603.5L378.9 478.5Q343.8 529.3 337.9 584H416V666H337.9Q349.6 724.6 378.9 771.5L429.7 720.7 488.3 779.3 378.9 886.7Q318.4 843.8 284.2 774.4T250 625Q250 535.2 294.9 458T416 335.9 583 291 750 335.9 871.1 458 916 625ZM279.3 220.7L142.6 84 84 142.6 220.7 279.3 166 334H334V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-cruise-control\"\n      ]\n    },\n    {\n      \"uid\": \"0f4016f4523781c0a3c68e3078700e95\",\n      \"css\": \"car-defrost-front\",\n      \"code\": 986465,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 959Q607.4 959 595.7 946.3T585.9 917 599.6 886.7V886.7Q621.1 871.1 642.6 837.9 669.9 796.9 669.9 767.6 669.9 752 662.1 734.4 658.2 722.7 644.5 699.2L632.8 679.7Q611.3 646.5 601.6 627 587.9 593.8 587.9 562.5 587.9 502 615.2 459 632.8 433.6 648.4 424.8T681.6 419.9 708 438.5 712.9 469.7 695.3 496.1L691.4 502Q683.6 509.8 679.7 523.4 675.8 541 675.8 562.5 675.8 576.2 683.6 595.7 687.5 607.4 701.2 630.9L712.9 650.4Q734.4 683.6 744.1 703.1 757.8 736.3 757.8 767.6 757.8 822.3 714.8 886.7 693.4 919.9 664.1 949.2H662.1L650.4 953.1Q630.9 959 625 959ZM488.3 945.3V945.3Q519.5 914.1 541 882.8 584 818.4 584 761.7T533.2 636.7L527.3 627Q513.7 603.5 507.8 591.8 500 572.3 500 558.6 500 535.2 505.9 519.5 509.8 505.9 515.6 498L521.5 492.2Q537.1 482.4 540 465.8T533.2 433.6 506.8 415 473.6 420.9 441.4 455.1Q412.1 498 412.1 557.6T462.9 683.6L468.8 693.4Q482.4 718.8 488.3 728.5 496.1 748 496.1 761.7 496.1 793 468.8 834 447.3 865.2 425.8 882.8V882.8Q412.1 894.5 412.1 912.1T422.9 942.4 449.2 955.1Q472.7 960.9 488.3 945.3ZM320.3 945.3H322.3Q351.6 914.1 375 882.8 416 818.4 416 761.7T367.2 636.7Q349.6 613.3 343.8 599.6 334 578.1 334 556.6T337.9 519.5Q341.8 505.9 349.6 498L353.5 492.2Q369.1 482.4 373 465.8T367.2 433.6Q361.3 421.9 343.8 418T312.5 419.9Q294.9 429.7 277.3 455.1 250 498 250 557.6T300.8 683.6L306.6 693.4Q320.3 718.8 324.2 728.5 334 748 334 761.7 334 793 306.6 834 283.2 865.2 261.7 882.8V882.8Q250 894.5 249 912.1T257.8 941.4Q275.4 959 292 959T320.3 945.3ZM500 125Q345.7 125 230.5 150.4 41 191.4 41 291 41 357.4 70.3 517.6 91.8 642.6 117.2 750H209V666H183.6Q125 384.8 125 291 125 271.5 178.7 252T319.3 220.7 500 209 680.7 220.7 821.3 252 875 291Q875 384.8 816.4 666H791V750H882.8Q908.2 642.6 929.7 517.6 959 357.4 959 291 959 191.4 769.5 150.4 654.3 125 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-defrost-front\"\n      ]\n    },\n    {\n      \"uid\": \"85d16fdfc04a71f84e60552c9f0c1a1f\",\n      \"css\": \"car-defrost-rear\",\n      \"code\": 986466,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 761.7Q416 818.4 375 882.8 351.6 914.1 322.3 945.3H320.3Q308.6 959 292 959T257.8 941.4Q248 929.7 249 912.1T261.7 882.8Q283.2 865.2 306.6 834 334 793 334 761.7 334 748 324.2 728.5 320.3 718.8 306.6 693.4L300.8 683.6Q250 617.2 250 557.6T277.3 455.1Q294.9 429.7 312.5 419.9 326.2 414.1 343.8 418T367.2 433.6Q377 449.2 373 465.8T353.5 492.2L349.6 498Q341.8 505.9 337.9 519.5 334 535.2 334 556.6T343.8 599.6Q349.6 613.3 367.2 636.7 416 705.1 416 761.7ZM500 558.6Q500 535.2 505.9 519.5 509.8 505.9 515.6 498L521.5 492.2Q537.1 482.4 540 465.8T533.2 433.6 506.8 415 473.6 420.9 441.4 455.1Q412.1 498 412.1 557.6T462.9 683.6L468.8 693.4Q482.4 718.8 488.3 728.5 496.1 748 496.1 761.7 496.1 793 468.8 834 447.3 865.2 425.8 882.8 412.1 894.5 412.1 912.1T422.9 942.4 449.2 955.1Q472.7 960.9 488.3 945.3V945.3Q519.5 914.1 541 882.8 584 818.4 584 761.7T533.2 636.7L527.3 627Q513.7 603.5 507.8 591.8 500 572.3 500 558.6ZM834 125H166Q132.8 125 108.4 149.4T84 209V666Q84 701.2 108.4 725.6T166 750H209V666H166V209H834V666H791V750H834Q867.2 750 891.6 725.6T916 666V209Q916 173.8 891.6 149.4T834 125ZM675.8 562.5Q675.8 531.3 685.5 509.8 691.4 500 695.3 496.1V496.1Q709 486.3 712.9 469.7T708 438.5 681.6 419.9 648.4 424.8 615.2 459Q587.9 502 587.9 562.5 587.9 593.8 601.6 627 611.3 646.5 632.8 679.7L644.5 699.2Q658.2 722.7 662.1 734.4 669.9 752 669.9 767.6 669.9 796.9 642.6 837.9 621.1 871.1 599.6 886.7 587.9 900.4 585.9 917T595.7 946.3 625 959Q630.9 959 650.4 953.1L662.1 949.2H664.1Q693.4 919.9 714.8 886.7 757.8 822.3 757.8 767.6 757.8 736.3 744.1 703.1 734.4 683.6 712.9 650.4L701.2 630.9Q687.5 607.4 683.6 595.7 675.8 576.2 675.8 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-defrost-rear\"\n      ]\n    },\n    {\n      \"uid\": \"27f18670edacf64b12e18248c577090a\",\n      \"css\": \"car-parking-lights\",\n      \"code\": 986467,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M304.7 382.8Q334 398.4 351.6 423.8 375 457 375 500T351.6 576.2Q334 601.6 304.7 617.2 291 572.3 291 500T304.7 382.8ZM271.5 291Q242.2 291 224.6 357.4 209 416 209 500T224.6 642.6Q242.2 709 271.5 709 314.5 709 357.4 682.6T427.7 611.3Q459 560.5 459 500T427.7 388.7Q400.4 343.8 357.4 317.4T271.5 291ZM695.3 382.8Q705.1 427.7 705.1 500T695.3 617.2Q666 601.6 648.4 576.2 625 543 625 500T648.4 423.8Q666 398.4 695.3 382.8ZM728.5 291Q685.5 291 642.6 317.4T572.3 388.7Q541 439.5 541 500T572.3 611.3Q599.6 656.3 642.6 682.6T728.5 709Q757.8 709 775.4 642.6 791 584 791 500T775.4 357.4Q757.8 291 728.5 291ZM205.1 257.8L103.5 191.4 58.6 261.7 166 334Q181.6 281.3 205.1 257.8ZM834 334L941.4 261.7 896.5 191.4 794.9 257.8Q824.2 294.9 834 334ZM166 666L58.6 738.3 103.5 808.6 205.1 742.2Q175.8 705.1 166 666ZM853.5 459V500 541H1000V459H853.5ZM794.9 742.2L896.5 808.6 941.4 738.3 834 666Q818.4 718.8 794.9 742.2ZM146.5 500V459H0V541H146.5V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-parking-lights\"\n      ]\n    },\n    {\n      \"uid\": \"88ecdb4f0e7a3104408fd1af1772eb07\",\n      \"css\": \"car-traction-control\",\n      \"code\": 986468,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 459H437.5Q447.3 459 453.1 453.1T459 437.5V375H791V437.5Q791 447.3 796.9 453.1T812.5 459H853.5Q863.3 459 869.1 453.1T875 437.5V250L816.4 70.3Q814.5 58.6 802.7 49.8T779.3 41H474.6Q462.9 41 452.1 49.8T437.5 70.3L375 250V437.5Q375 447.3 380.9 453.1T396.5 459ZM470.7 84H775.4L812.5 209H433.6ZM500 959H416Q416 937.5 375 914.1 349.6 900.4 287.1 875L269.5 869.1Q179.7 834 144.5 810.5 84 767.6 84 708T136.7 611.3Q168 591.8 246.1 566.4L257.8 562.5Q316.4 548.8 343.8 535.2 375 519.5 375 500H459Q459 560.5 406.3 595.7 375 617.2 294.9 642.6L283.2 646.5Q224.6 660.2 199.2 671.9 166 687.5 166 708T209 752Q234.4 765.6 296.9 791L314.5 798.8Q404.3 832 439.5 857.4 500 898.4 500 959ZM916 959H834Q834 937.5 791 914.1 765.6 900.4 703.1 875L685.5 869.1Q595.7 834 560.5 810.5 500 767.6 500 708T552.7 611.3Q584 591.8 664.1 566.4L693.4 556.6Q746.1 541 763.7 531.3 791 517.6 791 500H875Q875 560.5 822.3 595.7 791 617.2 710.9 642.6L699.2 646.5Q642.6 660.2 617.2 671.9 584 687.5 584 708T625 752Q650.4 765.6 712.9 791L730.5 798.8Q820.3 832 855.5 857.4 916 898.4 916 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-traction-control\"\n      ]\n    },\n    {\n      \"uid\": \"4c29c78478c708c2d62012de828ff367\",\n      \"css\": \"bag-carry-on-check\",\n      \"code\": 986469,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M636.7 695.3L755.9 578.1 785.2 607.4 636.7 755.9 548.8 666 578.1 636.7ZM334 875Q298.8 875 274.4 850.6T250 791V375Q250 339.8 274.4 315.4T334 291V875ZM375 291H584V166Q548.8 166 524.4 141.6T500 84H666V416Q734.4 416 792 450.2T882.8 542 916 667 882.8 792 792 882.8 666 916Q591.8 916 529.3 875H375V291ZM666 500Q597.7 500 548.8 548.8T500 667 548.8 785.2 667 834 785.2 785.2 834 667 785.2 548.8 666 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-carry-on-check\"\n      ]\n    },\n    {\n      \"uid\": \"232b1bb5e591f3a1b18f3dd9b2b4ffc9\",\n      \"css\": \"cart-arrow-down\",\n      \"code\": 986470,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 0V166H334L500 334 666 166H584V0H416ZM41 84V166H125L275.4 482.4 218.8 585.9Q209 603.5 209 625 209 660.2 233.4 684.6T291 709H791V625H308.6Q304.7 625 301.8 622.1T298.8 615.2L300.8 609.4 337.9 541H648.4Q671.9 541 691.4 529.3T720.7 498L880.9 207 808.6 166 648.4 459H355.5L177.7 84H41ZM291 750Q257.8 750 233.4 774.4T209 833 233.4 891.6 292 916 350.6 891.6 375 833 350.6 774.4 291 750ZM709 750Q673.8 750 649.4 774.4T625 833 649.4 891.6 708 916 766.6 891.6 791 833 766.6 774.4 709 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"7483a9ad268d0d827a938d3fb86f28b6\",\n      \"css\": \"cart-arrow-up\",\n      \"code\": 986471,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 0L334 166H416V334H584V166H666ZM41 84V166H125L275.4 482.4 218.8 585.9Q209 603.5 209 625 209 660.2 233.4 684.6T291 709H791V625H308.6Q304.7 625 301.8 622.1T298.8 615.2L300.8 609.4 337.9 541H648.4Q671.9 541 691.4 529.3T720.7 498L880.9 207 808.6 166 648.4 459H355.5L177.7 84H41ZM291 750Q257.8 750 233.4 774.4T209 833 233.4 891.6 292 916 350.6 891.6 375 833 350.6 774.4 291 750ZM709 750Q673.8 750 649.4 774.4T625 833 649.4 891.6 708 916 766.6 891.6 791 833 766.6 774.4 709 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-arrow-up\"\n      ]\n    },\n    {\n      \"uid\": \"6867b90a33a53a770fde0392a9a173ae\",\n      \"css\": \"cart-minus\",\n      \"code\": 986472,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250V166H334V250H666ZM291 750Q257.8 750 233.4 774.4T209 833 233.4 891.6 292 916 350.6 891.6 375 833 350.6 774.4 291 750ZM709 750Q673.8 750 649.4 774.4T625 833 649.4 891.6 708 916 766.6 891.6 791 833 766.6 774.4 709 750ZM298.8 615.2L300.8 609.4 337.9 541H648.4Q671.9 541 691.4 529.3T720.7 498L880.9 207 808.6 166 648.4 459H355.5L177.7 84H41V166H125L275.4 482.4 218.8 585.9Q209 603.5 209 625 209 660.2 233.4 684.6T291 709H791V625H308.6Q304.7 625 301.8 622.1T298.8 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-minus\"\n      ]\n    },\n    {\n      \"uid\": \"879411757e4bf1df5819b3c1ed5a279e\",\n      \"css\": \"cart-remove\",\n      \"code\": 986473,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M587.9 355.5L500 267.6 412.1 355.5 351.6 296.9 441.4 209 353.5 119.1 412.1 60.5 500 150.4 587.9 60.5 648.4 119.1 558.6 209 646.5 296.9ZM291 750Q326.2 750 350.6 774.4T375 833 350.6 891.6 292 916 233.4 891.6 209 833 233.4 774.4 291 750ZM709 750Q742.2 750 766.6 774.4T791 833 766.6 891.6 708 916 649.4 891.6 625 833 649.4 774.4 709 750ZM298.8 615.2Q298.8 619.1 301.8 622.1T308.6 625H791V709H291Q257.8 709 233.4 684.6T209 625Q209 603.5 218.8 585.9L275.4 482.4 125 166H41V84H177.7L355.5 459H648.4L808.6 166 880.9 207 720.7 498Q710.9 517.6 691.4 529.3T648.4 541H337.9L300.8 609.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cart-remove\"\n      ]\n    },\n    {\n      \"uid\": \"dac0ed825fc74d12b6c3b45a8a9e91f9\",\n      \"css\": \"contactless-payment\",\n      \"code\": 986474,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M699.2 959Q671.9 947.3 666 916 666 908.2 668.9 899.4T683.6 869.1Q779.3 697.3 775.4 500 779.3 310.5 687.5 142.6 671.9 111.3 664.1 87.9 668 62.5 687.5 48.8 701.2 43 716.8 43.9T746.1 52.7Q765.6 78.1 775.4 101.6 843.8 232.4 867.2 375 880.9 488.3 871.1 603.5 851.6 750 785.2 882.8 763.7 923.8 751 941.4T726.6 959H699.2ZM517.6 867.2Q500 861.3 490.2 845.7T484.4 810.5Q484.4 808.6 498 779.3L507.8 759.8Q584 615.2 570.3 453.1 560.5 337.9 505.9 234.4 486.3 195.3 483.4 181.6T493.2 152.3 526.4 134.8 564.5 146.5Q609.4 210.9 634.8 289.1 675.8 408.2 669.9 532.2T611.3 771.5Q585.9 830.1 564.5 851.6T517.6 863.3V867.2ZM330.1 773.4Q306.6 763.7 300.8 738.3 300.8 718.8 318.4 685.5 365.2 601.6 365.2 504.9T318.4 324.2Q298.8 285.2 297.9 270.5T311.5 240.2 345.7 226.6 378.9 241.2 410.2 287.1Q464.8 386.7 465.8 501T410.2 716.8Q394.5 748 382.8 759.8T355.5 773.4 330.1 771.5V773.4ZM154.3 685.5Q132.8 673.8 125 652.3 121.1 640.6 125 629.9T142.6 597.7Q173.8 554.7 169.9 500 175.8 445.3 142.6 400.4 134.8 388.7 125 367.2 121.1 347.7 132.8 331.1T166 310.5Q183.6 308.6 197.3 316.4T226.6 347.7Q271.5 418 271.5 500T226.6 650.4Q195.3 697.3 156.3 685.5H154.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"contactless-payment\"\n      ]\n    },\n    {\n      \"uid\": \"5ab00c1d6691468a3a66e389ecf5f479\",\n      \"css\": \"creative-commons\",\n      \"code\": 986475,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M496.1 431.6L439.5 460.9Q431.6 441.4 418 433.6T394.5 425.8Q337.9 425.8 337.9 500 337.9 533.2 351.6 553.7T394.5 574.2Q429.7 574.2 445.3 537.1L496.1 564.5Q480.5 593.8 451.2 611.3T386.7 628.9Q330.1 628.9 295.9 594.7T261.7 501 296.9 406.3 384.8 371.1Q462.9 371.1 496.1 431.6ZM736.3 431.6L681.6 460.9Q671.9 443.4 659.2 434.6T632.8 425.8Q578.1 425.8 578.1 500 578.1 531.3 592.8 552.7T632.8 574.2Q669.9 574.2 685.5 537.1L738.3 564.5Q720.7 593.8 691.4 611.3T627 628.9Q570.3 628.9 537.1 594.7T503.9 501 538.1 406.3 625 371.1Q703.1 371.1 736.3 431.6ZM500 146.5Q570.3 146.5 635.7 172.9T751 249 827.1 364.3 853.5 500 827.1 635.7 751 751 635.7 827.1 500 853.5 364.3 827.1 249 751 172.9 635.7 146.5 500 172.9 364.3 249 249 364.3 172.9 500 146.5ZM500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"creative-commons\"\n      ]\n    },\n    {\n      \"uid\": \"365c836c9e4d51cbf407f5fe70057714\",\n      \"css\": \"credit-card-wireless-outline\",\n      \"code\": 986476,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H250Q214.8 459 190.4 483.4T166 541V875Q166 910.2 190.4 934.6T250 959H750Q785.2 959 809.6 934.6T834 875V541Q834 507.8 809.6 483.4T750 459ZM750 875H250V709H750V875ZM750 625H250V541H750V625ZM205.1 205.1L263.7 263.7Q328.1 199.2 414.1 176.8T585.9 176.8 736.3 263.7L794.9 205.1Q714.8 125 607.4 96.7T392.6 96.7 205.1 205.1ZM324.2 322.3L382.8 380.9Q431.6 332 500 332T617.2 380.9L675.8 322.3Q628.9 275.4 564.5 258.8T435.5 258.8 324.2 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-wireless-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e68a8ddd00674969691fe879473ef097\",\n      \"css\": \"cricket\",\n      \"code\": 986477,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M597.7 740.2L656.3 681.6 834 857.4 773.4 916ZM771.5 84Q832 84 874 126T916 228.5 874 332 771.5 375 668 332 625 228.5 668 126 771.5 84ZM93.8 296.9L210.9 177.7Q222.7 166 240.2 166T271.5 177.7L623 531.3Q636.7 544.9 636.7 561.5T623 591.8L505.9 709Q494.1 720.7 476.6 720.7T447.3 709L93.8 355.5Q82 343.8 82 326.2T93.8 296.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cricket\"\n      ]\n    },\n    {\n      \"uid\": \"3c705981e57b91f62d6300b1dc84df2e\",\n      \"css\": \"dev-to\",\n      \"code\": 986478,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M322.3 498Q322.3 550.8 320.3 563.5T312.5 584Q302.7 593.8 281.3 593.8H259.8L257.8 404.3H279.3Q300.8 404.3 309.6 412.1T320.3 431.6 322.3 498ZM916 312.5V687.5Q916 722.7 891.6 747.1T834 771.5H166Q132.8 771.5 108.4 747.1T84 687.5V312.5Q84 277.3 108.4 252.9T166 228.5H834Q867.2 228.5 891.6 252.9T916 312.5ZM373 488.3Q371.1 431.6 369.1 417T359.4 388.7Q347.7 367.2 328.1 360.4T261.7 353.5H209V646.5H257.8Q300.8 646.5 321.3 639.6T354.5 616.2 371.1 576.2 373 488.3ZM546.9 353.5H484.4Q437.5 353.5 428.7 355.5T413.1 366.2 405.3 394.5 404.3 500V623L416 634.8Q423.8 642.6 432.6 644.5T486.3 646.5H546.9V595.7L455.1 593.8V525.4L511.7 521.5V472.7H453.1V404.3H546.9V353.5ZM791 357.4Q791 353.5 763.7 353.5L736.3 357.4 710.9 455.1Q685.5 550.8 683.6 543L636.7 355.5Q636.7 353.5 607.4 353.5H578.1L628.9 550.8Q640.6 591.8 646.5 606.4T660.2 630.9Q673.8 646.5 685.5 646.5T708 636.7 724.6 615.2Q726.6 607.4 758.8 484.4T791 357.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dev-to\"\n      ]\n    },\n    {\n      \"uid\": \"e3e0b2be0cc482baf437782106778e7b\",\n      \"css\": \"domain-off\",\n      \"code\": 986479,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 791H666L584 709H500V791ZM416 625V541H334V625H416ZM416 791V709H334V791H416ZM250 459V375H166V459H250ZM250 625V541H166V625H250ZM250 791V709H166V791H250ZM54.7 74.2L929.7 945.3 875 1000 750 875H84V209L3.9 128.9ZM666 459H750V541H666V459ZM334 209V246.1L212.9 125H500V291H916V830.1L834 746.1V375H500V412.1L378.9 291H416V209H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"domain-off\"\n      ]\n    },\n    {\n      \"uid\": \"80062fc6ca1fd2575eff9f4e0f12393d\",\n      \"css\": \"face-agent\",\n      \"code\": 986480,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M779.3 615.2Q802.7 560.5 802.7 500 802.7 457 789.1 414.1 748 423.8 705.1 423.8 611.3 423.8 530.3 380.9T396.5 263.7Q367.2 332 316.4 384.8T199.2 466.8Q197.3 478.5 197.3 500 197.3 560.5 220.7 616.2T286.1 713.9 383.8 779.3 500 802.7Q564.5 802.7 623 775.4 660.2 843.8 658.2 843.8 554.7 878.9 500 878.9 423.8 878.9 354.5 849.6T232.4 767.6Q166 701.2 138.7 613.3H84V423.8H128.9Q146.5 337.9 199.2 269.5T331.1 161.1 500 121.1Q574.2 121.1 644.5 150.4T767.6 232.4Q847.7 312.5 871.1 423.8H916V613.3H914.1L765.6 750 544.9 724.6V656.3H746.1ZM386.7 490.2Q406.3 490.2 419.9 503.9T433.6 537.1 419.9 571.3 386.7 585.9 352.5 571.3 337.9 537.1 352.5 503.9 386.7 490.2ZM613.3 490.2Q632.8 490.2 646.5 503.9T660.2 537.1 646.5 571.3 613.3 585.9 580.1 571.3 566.4 537.1 580.1 503.9 613.3 490.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-agent\"\n      ]\n    },\n    {\n      \"uid\": \"8e5609ea6f06b9445fe364e3bacfb391\",\n      \"css\": \"fast-forward-10\",\n      \"code\": 986481,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 500V916H334V584H250V500H416ZM750 584V834Q750 867.2 725.6 891.6T666 916H584Q548.8 916 524.4 891.6T500 834V584Q500 548.8 524.4 524.4T584 500H666Q701.2 500 725.6 524.4T750 584ZM584 584V834H666V584H584ZM478.5 125Q560.5 125 633.8 153.3T767.6 232.4L875 125V416H584L693.4 306.6Q599.6 228.5 478.5 228.5 369.1 228.5 282.2 293T162.1 459L64.5 425.8Q107.4 293 221.7 209T478.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fast-forward-10\"\n      ]\n    },\n    {\n      \"uid\": \"1bcc4381fc5461cf53d04b3aad005b08\",\n      \"css\": \"flare\",\n      \"code\": 986482,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 459H41V541H291V459ZM382.8 324.2L293 234.4 234.4 293 324.2 382.8ZM541 41H459V291H541V41ZM765.6 293L707 234.4 617.2 324.2 675.8 382.8ZM709 459V541H959V459H709ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM617.2 675.8L707 765.6 765.6 707 675.8 617.2ZM234.4 707L293 765.6 382.8 675.8 324.2 617.2ZM459 959H541V709H459V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flare\"\n      ]\n    },\n    {\n      \"uid\": \"99ab8dbfd5791f6326c2b2ae1f42b568\",\n      \"css\": \"format-text-rotation-down\",\n      \"code\": 986483,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 822.3L125 697.3H209V177.7H291V697.3H375ZM584 390.6V546.9L793 468.8ZM875 500L416 697.3V611.3L507.8 572.3V365.2L416 326.2V240.2L875 437.5V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-down\"\n      ]\n    },\n    {\n      \"uid\": \"80f9198f924396c95b4eb8b0b3211ada\",\n      \"css\": \"format-text-rotation-none\",\n      \"code\": 986484,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 750L728.5 875V791H209V709H728.5V625ZM421.9 416H578.1L500 207ZM531.3 125L728.5 584H642.6L603.5 492.2H396.5L357.4 584H271.5L468.8 125H531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-none\"\n      ]\n    },\n    {\n      \"uid\": \"54d6c2590b796c3c0c6b201f58a4bb52\",\n      \"css\": \"forwardburger\",\n      \"code\": 986485,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 541H125V459H791L625 291 683.6 232.4 949.2 500 683.6 767.6 625 709ZM125 250H541V334H125V250ZM541 666V750H125V666H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"forwardburger\"\n      ]\n    },\n    {\n      \"uid\": \"49142800106c3099d620c26f7f863e00\",\n      \"css\": \"gesture-swipe\",\n      \"code\": 986486,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M837.9 162.1L916 84V291H709L794.9 205.1Q761.7 162.1 682.6 132.8T500 103.5 317.4 132.8 205.1 205.1L291 291H84V84L162.1 162.1Q209 107.4 298.8 74.2T500 41 701.2 74.2 837.9 162.1ZM822.3 677.7V685.5L791 904.3Q787.1 927.7 770.5 943.4T730.5 959H447.3Q421.9 959 404.3 939.5L197.3 734.4 230.5 701.2Q244.1 687.5 263.7 687.5H273.4L416 718.8V271.5Q416 246.1 434.6 227.5T478.5 209 522.5 227.5 541 271.5V521.5H574.2Q578.1 521.5 589.8 523.4L595.7 525.4 785.2 619.1Q822.3 636.7 822.3 677.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-swipe\"\n      ]\n    },\n    {\n      \"uid\": \"04badc6b54b0a420bff64f8060374518\",\n      \"css\": \"gesture-tap-hold\",\n      \"code\": 986487,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 375Q416 357.4 428.7 345.7T459 334 488.3 345.7 500 375V560.5L550.8 566.4 755.9 658.2Q773.4 666 782.2 680.7T791 714.8V896.5Q791 921.9 772.5 939.5T728.5 959H459Q433.6 959 416 939.5L212.9 765.6 244.1 732.4Q255.9 720.7 273.4 720.7H283.2L416 791V375ZM375 517.6V375Q375 339.8 399.4 315.4T458 291 516.6 315.4 541 375V517.6Q580.1 496.1 602.5 458T625 375Q625 306.6 576.2 257.8T458 209 339.8 257.8 291 375Q291 419.9 314.5 458T375 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-tap-hold\"\n      ]\n    },\n    {\n      \"uid\": \"ad8add0470769d1014526b8518fab1bb\",\n      \"css\": \"gif\",\n      \"code\": 986488,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 334H541V666H459V334ZM320.3 334H179.7Q156.3 334 140.6 350.6T125 388.7V611.3Q125 632.8 140.6 649.4T179.7 666H320.3Q343.8 666 359.4 649.4T375 611.3V500H291V584H209V416H375V388.7Q375 367.2 359.4 350.6T320.3 334ZM875 416V334H625V666H709V584H812.5V500H709V416H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gif\"\n      ]\n    },\n    {\n      \"uid\": \"715e9b2376a2702fa61b68a602e81dcd\",\n      \"css\": \"go-kart\",\n      \"code\": 986489,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416H646.5L599.6 345.7 658.2 304.7 613.3 236.3 425.8 361.3 470.7 429.7 531.3 390.6 578.1 462.9 541 500H425.8L242.2 226.6 173.8 273.4 244.1 378.9Q156.3 396.5 98.6 465.8T41 625V709H125Q125 759.8 161.1 796.9T250 834 338.9 796.9 375 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V625Q959 568.4 930.7 520.5T854.5 444.3 750 416ZM250 771.5Q224.6 771.5 206.1 752.9T187.5 708 206.1 664.1 250 646.5 293.9 664.1 312.5 708 293.9 752.9 250 771.5ZM750 771.5Q724.6 771.5 706.1 752.9T687.5 708 706.1 664.1 750 646.5 793.9 664.1 812.5 708 793.9 752.9 750 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"go-kart\"\n      ]\n    },\n    {\n      \"uid\": \"2cc72b017349fba76a33ffb43324139a\",\n      \"css\": \"go-kart-track\",\n      \"code\": 986490,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 228.5Q916 168 874 126T771.5 84 668 126 625 228.5V250Q625 302.7 588.9 338.9T500 375Q474.6 375 449.2 359.4 433.6 349.6 402.3 322.3 361.3 287.1 335.9 273.4 294.9 250 250 250 181.6 250 132.8 298.8T84 416V459H166V416Q166 382.8 190.4 358.4T250 334Q275.4 334 296.9 347.7 314.5 357.4 345.7 384.8 377 418 417 436.5T500 459Q556.6 459 604.5 430.7T680.7 354.5 709 250V228.5Q709 203.1 726.6 184.6T770.5 166 815.4 184.6 834 228.5Q824.2 283.2 798.8 330.1 757.8 410.2 750 500 755.9 587.9 800.8 662.1 826.2 703.1 834 750 834 785.2 809.6 809.6T750 834 690.4 809.6 666 750Q666 685.5 620.1 639.6T509.8 593.8 399.4 639.6 353.5 750V771.5Q353.5 796.9 335.9 815.4T291 834Q240.2 834 203.1 796.9T166 709V625H250V541H0V625H84V709Q84 765.6 111.3 813.5T186.5 888.7 293 916 394.5 874 437.5 771.5V750Q437.5 720.7 459 699.2T510.7 677.7 562.5 699.2 584 750Q584 818.4 632.8 867.2T750 916 867.2 867.2 916 750Q916 720.7 902.3 685.5 894.5 666 873 621.1 853.5 582 845.7 560.5 834 527.3 834 500T845.7 433.6Q853.5 412.1 875 365.2T904.3 294.9Q916 257.8 916 228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"go-kart-track\"\n      ]\n    },\n    {\n      \"uid\": \"24560165a44ef7f4b550f9591ed979bb\",\n      \"css\": \"goodreads\",\n      \"code\": 986491,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 531.3Q675.8 584 623 615.2T509.8 646.5Q445.3 646.5 390.6 611.3T303.7 516.6 271.5 385.7 303.7 254.9 390.6 160.2 509.8 125Q570.3 125 623 155.3T709 238.3V125H750V634.8Q750 742.2 707 798.8 673.8 845.7 605.5 863.3 560.5 875 478.5 875 404.3 875 355.5 828.1 310.5 783.2 296.9 709H339.8Q351.6 765.6 384.8 798.8 419.9 834 478.5 834H482.4Q548.8 834 582 826.2 638.7 812.5 669.9 775.4 709 726.6 709 634.8V531.3ZM509.8 166Q457 166 411.1 195.3T338.9 275.4 312.5 385.7 338.9 495.1 411.1 574.2 510.7 603.5 609.4 574.2 681.6 495.1 709 385.7 681.6 275.4 609.4 195.3 509.8 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"goodreads\"\n      ]\n    },\n    {\n      \"uid\": \"39a4953329538d6dfd0959053731028a\",\n      \"css\": \"grain\",\n      \"code\": 986492,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 500Q382.8 500 358.4 524.4T334 583 358.4 641.6 417 666 475.6 641.6 500 583 475.6 524.4 416 500ZM250 334Q214.8 334 190.4 358.4T166 417 190.4 475.6 250 500 309.6 475.6 334 417 309.6 358.4 250 334ZM250 666Q214.8 666 190.4 690.4T166 750 190.4 809.6 250 834 309.6 809.6 334 750 309.6 690.4 250 666ZM750 334Q785.2 334 809.6 309.6T834 250 809.6 190.4 750 166 690.4 190.4 666 250 690.4 309.6 750 334ZM584 666Q548.8 666 524.4 690.4T500 750 524.4 809.6 583 834 641.6 809.6 666 750 641.6 690.4 584 666ZM750 500Q714.8 500 690.4 524.4T666 583 690.4 641.6 750 666 809.6 641.6 834 583 809.6 524.4 750 500ZM584 334Q548.8 334 524.4 358.4T500 417 524.4 475.6 583 500 641.6 475.6 666 417 641.6 358.4 584 334ZM416 166Q382.8 166 358.4 190.4T334 250 358.4 309.6 417 334 475.6 309.6 500 250 475.6 190.4 416 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grain\"\n      ]\n    },\n    {\n      \"uid\": \"fb767ad7825d41f922be0f120a570e42\",\n      \"css\": \"hdr\",\n      \"code\": 986493,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 478.5V437.5Q875 412.1 856.4 393.6T812.5 375H666V625H728.5V541H775.4L812.5 625H875L837.9 537.1Q875 515.6 875 478.5ZM812.5 478.5H728.5V437.5H812.5V478.5ZM271.5 459H187.5V375H125V625H187.5V521.5H271.5V625H334V375H271.5V459ZM541 375H396.5V625H541Q566.4 625 585 606.4T603.5 562.5V437.5Q603.5 412.1 585 393.6T541 375ZM541 562.5H459V437.5H541V562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hdr\"\n      ]\n    },\n    {\n      \"uid\": \"ec658603285011f806193fde7312b4a8\",\n      \"css\": \"hdr-off\",\n      \"code\": 986494,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 625V541H775.4L812.5 625H875L837.9 537.1Q853.5 531.3 864.3 514.6T875 478.5V437.5Q875 412.1 856.4 393.6T812.5 375H666V580.1L712.9 625H728.5ZM728.5 437.5H812.5V478.5H728.5V437.5ZM541 437.5V455.1L603.5 517.6V437.5Q603.5 412.1 585 393.6T541 375H462.9L525.4 437.5H541ZM396.5 396.5L103.5 103.5 58.6 146.5 287.1 375H271.5V459H187.5V375H125V625H187.5V521.5H271.5V625H334V419.9L396.5 482.4V625H537.1L853.5 941.4 900.4 896.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hdr-off\"\n      ]\n    },\n    {\n      \"uid\": \"bb381569c5decb5969782f0d82dcacea\",\n      \"css\": \"hiking\",\n      \"code\": 986495,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 371.1L291 959H378.9L455.1 625 541 709V959H625V646.5L537.1 562.5 562.5 437.5Q597.7 478.5 648.4 505.9T755.9 539.1L666 959H709L834 375 793 367.2 773.4 459Q720.7 453.1 678.7 426.8T613.3 357.4L570.3 291Q558.6 269.5 537.1 258.8T488.3 252 442.4 273.4 419.9 316.4ZM294.9 289.1L392.6 306.6 349.6 519.5 253.9 500ZM562.5 228.5Q597.7 228.5 622.1 204.1T646.5 145.5 622.1 86.9 562.5 62.5 502.9 86.9 478.5 145.5 502.9 204.1 562.5 228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hiking\"\n      ]\n    },\n    {\n      \"uid\": \"47a3cbfcb0e385ee3b563be0be37658b\",\n      \"css\": \"home-floor-1\",\n      \"code\": 986496,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM416 334H584V750H500V416H416V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-1\"\n      ]\n    },\n    {\n      \"uid\": \"8f479226f29a4bd6e16fe0b9fa2fae77\",\n      \"css\": \"home-floor-2\",\n      \"code\": 986497,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM375 334H541Q576.2 334 600.6 358.4T625 416V500Q625 535.2 600.6 559.6T541 584H459V666H625V750H375V584Q375 548.8 399.4 524.4T459 500H541V416H375V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-2\"\n      ]\n    },\n    {\n      \"uid\": \"0d51d1ce607cb525360c5bdd4575b8e8\",\n      \"css\": \"home-floor-3\",\n      \"code\": 986498,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L916 500H791V834H209V500H84ZM625 478.5V416Q625 382.8 600.6 358.4T541 334H375V416H541V500H459V584H541V666H375V750H541Q576.2 750 600.6 725.6T625 666V603.5Q625 578.1 606.4 559.6T562.5 541Q587.9 541 606.4 523.4T625 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-3\"\n      ]\n    },\n    {\n      \"uid\": \"d7afb5b6077d5daa21485580e8b008fa\",\n      \"css\": \"home-floor-a\",\n      \"code\": 986499,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM459 334H541Q576.2 334 600.6 358.4T625 416V750H541V625H459V750H375V416Q375 382.8 399.4 358.4T459 334ZM459 416V541H541V416H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-a\"\n      ]\n    },\n    {\n      \"uid\": \"239e9222dea675e6f65d397f58754dd7\",\n      \"css\": \"home-floor-b\",\n      \"code\": 986500,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM375 334H541Q576.2 334 600.6 358.4T625 416V478.5Q625 505.9 606.4 523.4T562.5 541Q587.9 541 606.4 559.6T625 603.5V666Q625 701.2 600.6 725.6T541 750H375V334ZM459 416V500H541V416H459ZM459 584V666H541V584H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-b\"\n      ]\n    },\n    {\n      \"uid\": \"3d9096052e10b0a2b6adc739996d7cc3\",\n      \"css\": \"home-floor-g\",\n      \"code\": 986501,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM459 334H625V416H459V666H541V500H625V666Q625 701.2 600.6 725.6T541 750H459Q423.8 750 399.4 725.6T375 666V416Q375 382.8 399.4 358.4T459 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-g\"\n      ]\n    },\n    {\n      \"uid\": \"79fe0a15649dde5bd5b156c3efc3cd0b\",\n      \"css\": \"home-floor-l\",\n      \"code\": 986502,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM375 334H459V666H625V750H375V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-l\"\n      ]\n    },\n    {\n      \"uid\": \"477cb6f7db9211b7d16275cc267da196\",\n      \"css\": \"kabaddi\",\n      \"code\": 986503,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M466.8 441.4Q529.3 503.9 617.2 503.9L621.1 591.8Q502 591.8 408.2 503.9L378.9 474.6 283.2 574.2 375 662.1V912.1H291V695.3L238.3 646.5V738.3L62.5 916 3.9 857.4 154.3 709 103.5 562.5Q93.8 529.3 128.9 500L267.6 363.3Q289.1 334 324.2 334 351.6 334 371.1 345.7ZM1000 496.1H916V353.5L841.8 324.2 878.9 507.8 919.9 724.6 959 908.2H871.1L794.9 574.2 709 658.2V908.2H625V595.7L712.9 511.7 687.5 386.7Q642.6 433.6 599.6 455.1 539.1 447.3 496.1 404.3 591.8 386.7 636.7 308.6L679.7 242.2Q718.8 177.7 787.1 209L1000 300.8V496.1ZM474.6 183.6Q509.8 183.6 534.2 208T558.6 266.6 534.2 325.2 475.6 349.6 417 325.2 392.6 266.6 417 208 474.6 183.6ZM687.5 11.7Q722.7 11.7 747.1 36.1T771.5 95.7 747.1 155.3 687.5 179.7 627.9 155.3 603.5 95.7 627.9 36.1 687.5 11.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kabaddi\"\n      ]\n    },\n    {\n      \"uid\": \"4feda66a11e940248552954b8d0b768a\",\n      \"css\": \"mailbox-open\",\n      \"code\": 986504,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 166Q277.3 166 229.5 194.3T153.3 270.5 125 375V750H41V834H875Q910.2 834 934.6 809.6T959 750V375Q959 318.4 930.7 270.5T854.5 194.3 750 166H334ZM334 250Q384.8 250 421.9 286.1T459 375V750H209V375Q209 322.3 245.1 286.1T334 250ZM584 459H834V625H750V541H584V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-open\"\n      ]\n    },\n    {\n      \"uid\": \"4c01bd15e67b4483041021a8a0252a56\",\n      \"css\": \"mailbox-open-outline\",\n      \"code\": 986505,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 459H834V625H750V541H584V459ZM750 166H334Q277.3 166 229.5 194.3T153.3 270.5 125 375V750H41V834H875Q910.2 834 934.6 809.6T959 750V375Q959 318.4 930.7 270.5T854.5 194.3 750 166ZM459 750H209V375Q209 322.3 245.1 286.1T333 250 421.9 286.1 459 375V750ZM875 750H541V375Q541 304.7 500 250H750Q802.7 250 838.9 286.1T875 375V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"58fdea549d50766def3c3484a712a874\",\n      \"css\": \"mailbox-open-up\",\n      \"code\": 986506,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 166Q277.3 166 229.5 194.3T153.3 270.5 125 375V750H41V834H875Q910.2 834 934.6 809.6T959 750V375Q959 318.4 930.7 270.5T854.5 194.3 750 166H334ZM334 250Q384.8 250 421.9 286.1T459 375V750H209V375Q209 322.3 245.1 286.1T334 250ZM541 541V291H709V375H625V541H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-open-up\"\n      ]\n    },\n    {\n      \"uid\": \"5079b0bb6ecc89457afffc3d753780c7\",\n      \"css\": \"mailbox-open-up-outline\",\n      \"code\": 986507,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 535.2V285.2H750V369.1H666V535.2H584ZM750 160.2H334Q277.3 160.2 229.5 188.5T153.3 264.6 125 369.1V744.1H41V826.2H875Q910.2 826.2 934.6 801.8T959 744.1V369.1Q959 312.5 930.7 264.6T854.5 188.5 750 160.2ZM459 744.1H209V369.1Q209 316.4 245.1 280.3T333 244.1 421.9 280.3 459 369.1V744.1ZM875 744.1H541V369.1Q541 298.8 500 244.1H750Q802.7 244.1 838.9 280.3T875 369.1V744.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-open-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"857103a5b03ca33696f7e4416c628ff5\",\n      \"css\": \"mailbox-outline\",\n      \"code\": 986508,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166H291Q234.4 166 186.5 194.3T111.3 270.5 84 375V834H834Q867.2 834 891.6 809.6T916 750V375Q916 318.4 888.7 270.5T813.5 194.3 709 166ZM416 750H166V375Q166 322.3 203.1 286.1T292 250 379.9 286.1 416 375V750ZM834 750H500V375Q500 304.7 459 250H709Q759.8 250 796.9 286.1T834 375V750ZM541 459V541H709V625H791V459H541ZM375 459H209V375H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b910479eb742be03c61b9d308b804663\",\n      \"css\": \"mailbox-up\",\n      \"code\": 986509,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 375H375V459H209V375ZM916 375V750Q916 785.2 891.6 809.6T834 834H84V375Q84 318.4 111.3 270.5T186.5 194.3 291 166H709Q765.6 166 813.5 194.3T888.7 270.5 916 375ZM416 375Q416 322.3 379.9 286.1T292 250 203.1 286.1 166 375V750H416V375ZM666 291H500V541H584V375H666V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-up\"\n      ]\n    },\n    {\n      \"uid\": \"ab398502142bc0de751332964b5828b6\",\n      \"css\": \"mailbox-up-outline\",\n      \"code\": 986510,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166H291Q234.4 166 186.5 194.3T111.3 270.5 84 375V834H834Q867.2 834 891.6 809.6T916 750V375Q916 318.4 888.7 270.5T813.5 194.3 709 166ZM416 750H166V375Q166 322.3 203.1 286.1T292 250 379.9 286.1 416 375V750ZM834 750H500V375Q500 304.7 459 250H709Q759.8 250 796.9 286.1T834 375V750ZM541 541H625V375H709V291H541V541ZM375 459H209V375H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mailbox-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c28555bb53d34aa0464390db793b346\",\n      \"css\": \"mixed-martial-arts\",\n      \"code\": 986511,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 416V291H291V416H625ZM750 291Q767.6 291 779.3 304.7T791 334V449.2Q791 459 789.1 466.8L755.9 632.8Q746.1 666 716.8 666H283.2Q250 666 244.1 632.8L210.9 466.8Q209 459 209 449.2V209Q209 175.8 233.4 150.4T291 125H625Q658.2 125 683.6 149.4T709 209V334Q709 318.4 720.7 304.7T750 291ZM291 834V709H709V834Q709 851.6 696.3 863.3T666 875H334Q316.4 875 303.7 863.3T291 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mixed-martial-arts\"\n      ]\n    },\n    {\n      \"uid\": \"35a48abbbe32a1065172a80182cb7bb5\",\n      \"css\": \"monitor-off\",\n      \"code\": 986512,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 750V834H666V916H334V834H416V750H125Q89.8 750 65.4 725.6T41 666V166L0 125 58.6 66.4 923.8 931.6 865.2 990.2 625 750H584ZM125 666H541L125 250V666ZM875 84Q910.2 84 934.6 108.4T959 166V666Q959 701.2 934.6 725.6T875 750H861.3L777.3 666H875V166H277.3L193.4 84H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-off\"\n      ]\n    },\n    {\n      \"uid\": \"3253d819a5a7a20b9fbfe2f73b33ce15\",\n      \"css\": \"motion-sensor\",\n      \"code\": 986513,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 7.8Q384.8 7.8 363.3 30.3T341.8 84 363.3 136.7 416 158.2 469.7 136.7 492.2 84 469.7 30.3 416 7.8ZM652.3 41Q652.3 125 693.4 195.3T804.7 306.6 959 347.7V291Q890.6 291 833 257.8T742.2 167 709 41H652.3ZM763.7 41Q763.7 123 820.3 179.7T959 236.3V179.7Q900.4 179.7 860.4 139.6T820.3 41H763.7ZM875 41Q875 76.2 899.4 100.6T959 125V41H875ZM330.1 168Q320.3 168 308.6 171.9L84 242.2V459H158.2V304.7L246.1 277.3 84 916H158.2L277.3 578.1 375 709V916H449.2V650.4L345.7 460.9 377 341.8 421.9 416H625V341.8H474.6L390.6 203.1Q380.9 187.5 365.2 177.7T330.1 168Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"motion-sensor\"\n      ]\n    },\n    {\n      \"uid\": \"464164704b70eb0d431f78b4997f5094\",\n      \"css\": \"point-of-sale\",\n      \"code\": 986514,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209Q814.5 209 802.7 221.7T791 253.9V666Q791 685.5 802.7 697.3T833 710.9 863.3 699.2 875 666V253.9Q875 234.4 863.3 221.7T834 209ZM683.6 84H191.4Q164.1 84 144.5 102.5T125 150.4V724.6Q125 753.9 144.5 772.5T191.4 791H250V875Q250 894.5 261.7 905.3T291 916H541Q560.5 916 572.3 905.3T584 875V791H683.6Q710.9 791 730.5 772.5T750 724.6V150.4Q750 121.1 730.5 102.5T683.6 84ZM209 334H334V416H209V334ZM500 459V541H375V459H500ZM375 416V334H500V416H375ZM500 584V666H375V584H500ZM209 459H334V541H209V459ZM209 666V584H334V666H209ZM334 875H291V791H334V875ZM541 875H416V791H541V875ZM666 666H541V584H666V666ZM666 541H541V459H666V541ZM666 416H541V334H666V416ZM666 250H209V166H666V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"point-of-sale\"\n      ]\n    },\n    {\n      \"uid\": \"d2759e6b2fb8f1e4b54750d48cf74f98\",\n      \"css\": \"racing-helmet\",\n      \"code\": 986515,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M91.8 466.8Q80.1 611.3 175.8 724.6 265.6 834 419.9 834H837.9Q871.1 834 895.5 808.6T919.9 750V716.8Q919.9 697.3 916 646.5L912.1 625H570.3Q511.7 625 465.8 579.1T419.9 474.6Q419.9 375 511.7 337.9L712.9 250Q603.5 171.9 462.9 166 330.1 154.3 212.9 246.1 156.3 289.1 127 342.8T91.8 466.8ZM503.9 474.6Q503.9 500 524.4 520.5T570.3 541H896.5Q857.4 400.4 779.3 316.4L544.9 412.1Q503.9 423.8 503.9 474.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"racing-helmet\"\n      ]\n    },\n    {\n      \"uid\": \"e2c0d791520d5fba2181d7f5cb5ecf87\",\n      \"css\": \"racquetball\",\n      \"code\": 986516,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 666Q814.5 666 844.7 696.3T875 770.5 844.7 844.7 770.5 875 696.3 844.7 666 770.5 696.3 696.3 771.5 666ZM437.5 41Q322.3 41 257.8 62.5T164.1 128.9Q136.7 169.9 130.9 244.1 125 291 125 408.2 125 474.6 166 550.8 203.1 617.2 260.7 672.9T375 753.9V959H500V753.9Q556.6 728.5 614.3 672.9T709 550.8Q750 474.6 750 408.2 750 289.1 746.1 242.2 738.3 168 710.9 128.9 681.6 82 617.2 61.5T437.5 41ZM642.6 175.8Q656.3 193.4 662.1 250H625V158.2Q630.9 162.1 638.7 169.9ZM666 408.2V416H625V291H666V408.2ZM584 584H459V459H584V584ZM291 584V459H416V584H291ZM209 408.2V384.8 291H250V416H209V408.2ZM291 291H416V416H291V291ZM459 125Q509.8 125 574.2 136.7H584V250H459V125ZM416 250H291V142.6Q341.8 125 416 125V250ZM459 416V291H584V416H459ZM250 158.2V250H212.9Q218.8 193.4 232.4 175.8ZM216.8 459H250V529.3L240.2 509.8Q222.7 476.6 216.8 459ZM334 625H416V679.7L408.2 675.8Q382.8 666 334 625ZM466.8 679.7H459V625H541Q492.2 666 466.8 679.7ZM625 529.3V459H658.2Q650.4 478.5 625 529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"racquetball\"\n      ]\n    },\n    {\n      \"uid\": \"3c79656d99216c0cb42d2c608565a3c4\",\n      \"css\": \"restart-off\",\n      \"code\": 986517,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L691.4 771.5Q638.7 808.6 577.1 823.2T455.1 830.1L474.6 746.1Q560.5 752 628.9 709L44.9 125 99.6 70.3 919.9 892.6ZM500 250Q548.8 250 594.7 269.5T675.8 324.2Q730.5 380.9 744.1 455.1T728.5 599.6L791 662.1Q845.7 568.4 830.1 458T732.4 267.6Q687.5 218.8 626 192.4T500 166V29.3L330.1 195.3 500 367.2V250ZM275.4 392.6L212.9 330.1Q156.3 427.7 168.9 541T261.7 738.3Q316.4 785.2 375 808.6L396.5 724.6Q357.4 707 320.3 675.8 265.6 619.1 252.9 540T275.4 392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"restart-off\"\n      ]\n    },\n    {\n      \"uid\": \"19a2d73d1af5c18fee2cf396ea29f908\",\n      \"css\": \"rewind-30\",\n      \"code\": 986518,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 584V834Q791 867.2 766.6 891.6T709 916H625Q589.8 916 565.4 891.6T541 834V584Q541 548.8 565.4 524.4T625 500H709Q742.2 500 766.6 524.4T791 584ZM625 584V834H709V584H625ZM459 834Q459 867.2 434.6 891.6T375 916H209V834H375V750H291V666H375V584H209V500H375Q410.2 500 434.6 524.4T459 584V646.5Q459 671.9 440.4 690.4T396.5 709Q421.9 709 440.4 726.6T459 771.5V834ZM521.5 125Q664.1 125 778.3 209T935.5 425.8L837.9 459Q804.7 357.4 717.8 293T521.5 228.5Q400.4 228.5 306.6 306.6L416 416H125V125L232.4 232.4Q293 181.6 366.2 153.3T521.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rewind-30\"\n      ]\n    },\n    {\n      \"uid\": \"70c11715d15973cbf8b975466fbd0828\",\n      \"css\": \"room-service-outline\",\n      \"code\": 986519,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q535.2 209 559.6 233.4T584 291Q584 306.6 578.1 320.3 662.1 337.9 729.5 387.7T835.9 509.8 875 666H125Q125 582 164.1 509.8T270.5 387.7 421.9 320.3Q416 306.6 416 291 416 257.8 440.4 233.4T500 209ZM916 791H84V709H916V791ZM500 396.5Q404.3 396.5 328.1 448.2T222.7 584H777.3Q748 500 671.9 448.2T500 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"room-service-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b1d37d0552251d7f19f8db42fc6d2846\",\n      \"css\": \"rotate-orbit\",\n      \"code\": 986520,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 593.8L197.3 459H291Q296.9 343.8 326.2 248T401.4 96.7 500 41Q562.5 41 613.3 115.2T689.5 310.5Q810.5 335.9 884.8 386.7T959 500Q959 556.6 897.5 604.5T732.4 679.7L746.1 593.8Q806.6 576.2 840.8 551.8T875 500Q875 466.8 828.1 439.5T703.1 396.5Q709 449.2 709 500 709 625 680.7 730.5T604.5 897.5 500 959 395.5 897.5 320.3 732.4L406.3 746.1Q423.8 806.6 448.2 840.8T500 875Q533.2 875 562.5 824.2T608.4 687.5 625 500Q625 437.5 619.1 380.9 562.5 375 500 375L421.9 377 435.5 293 500 291Q550.8 291 603.5 296.9 587.9 218.8 560.5 171.9T500 125Q451.2 125 416 220.7T375 459H468.8ZM593.8 666L459 802.7V709Q343.8 703.1 248 673.8T96.7 598.6 41 498 102.5 395.5 267.6 320.3L253.9 406.3Q193.4 423.8 159.2 448.2T125 500Q125 548.8 220.7 584T459 625V531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-orbit\"\n      ]\n    },\n    {\n      \"uid\": \"60ada774c212a969b530640322b625da\",\n      \"css\": \"rugby\",\n      \"code\": 986521,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M675.8 675.8Q802.7 548.8 810.5 341.8 742.2 492.2 617.2 617.2T341.8 810.5Q546.9 804.7 675.8 675.8ZM324.2 324.2Q197.3 451.2 189.5 658.2 216.8 599.6 275.4 513.7 328.1 437.5 382.8 382.8 507.8 257.8 658.2 189.5 453.1 195.3 324.2 324.2ZM853.5 146.5Q886.7 181.6 894.5 280.3T864.3 512.7 736.3 736.3Q656.3 818.4 543 856.4T320.3 894.5Q187.5 894.5 146.5 853.5 113.3 818.4 105.5 719.7T135.7 487.3 263.7 263.7Q343.8 181.6 457 143.6T679.7 105.5Q812.5 105.5 853.5 146.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rugby\"\n      ]\n    },\n    {\n      \"uid\": \"fe4772bb837fd23c09444ccf77033196\",\n      \"css\": \"shield-search\",\n      \"code\": 986522,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM744.1 804.7Q642.6 923.8 500 959 339.8 919.9 232.4 776.4T125 459V209L500 41 875 209V459Q875 607.4 794.9 736.3L673.8 615.2Q709 562.5 709 500 709 443.4 680.7 395.5T604.5 319.3 500 291 395.5 319.3 319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709Q562.5 709 615.2 673.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-search\"\n      ]\n    },\n    {\n      \"uid\": \"bfc2827552c586d04647397b77d3a1df\",\n      \"css\": \"solar-panel\",\n      \"code\": 986523,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V584Q916 617.2 891.6 641.6T834 666H625V834H750V916H541V666H459V916H250V834H375V666H166Q132.8 666 108.4 641.6T84 584V166Q84 132.8 108.4 108.4T166 84ZM166 166V334H459V166H166ZM166 584H459V416H166V584ZM834 584V416H541V584H834ZM834 166H541V334H834V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"solar-panel\"\n      ]\n    },\n    {\n      \"uid\": \"f3471ceae0ad91cc01e0875569b2ec1b\",\n      \"css\": \"solar-panel-large\",\n      \"code\": 986524,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250H250V125H125V250ZM334 125V250H459V125H334ZM541 125V250H666V125H541ZM750 125V250H875V125H750ZM875 334H750V459H875V334ZM875 541H750V666H875V541ZM666 666V541H541V666H666ZM459 666V541H334V666H459ZM250 666V541H125V666H250ZM125 459H250V334H125V459ZM541 334V459H666V334H541ZM334 334V459H459V334H334ZM125 41H875Q910.2 41 934.6 65.4T959 125V666Q959 701.2 934.6 725.6T875 750H625V875H750V959H541V750H459V959H250V875H375V750H125Q89.8 750 65.4 725.6T41 666V125Q41 89.8 65.4 65.4T125 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"solar-panel-large\"\n      ]\n    },\n    {\n      \"uid\": \"59eb67dfa3276a898da96c3338349953\",\n      \"css\": \"subway-alert-variant\",\n      \"code\": 986525,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 459V250H459V459H666ZM603.5 709Q630.9 709 648.4 690.4T666 645.5 648.4 601.6 604.5 584 559.6 601.6 541 645.5 559.6 690.4 603.5 709ZM375 459V250H166V459H375ZM228.5 709Q255.9 709 273.4 690.4T291 645.5 273.4 601.6 229.5 584 184.6 601.6 166 645.5 184.6 690.4 228.5 709ZM416 84Q578.1 84 652.3 111.3 750 150.4 750 250V646.5Q750 707 707 749T603.5 791L666 853.5V875H166V853.5L228.5 791Q168 791 126 749T84 646.5V250Q84 150.4 181.6 111.3 253.9 84 416 84ZM834 500V291H916V500H834ZM834 666V584H916V666H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"subway-alert-variant\"\n      ]\n    },\n    {\n      \"uid\": \"b29d104c2387ccde33800ee241a6d749\",\n      \"css\": \"tea\",\n      \"code\": 986526,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 791H834V875H166V791ZM834 334V209H750V334H834ZM834 125Q867.2 125 891.6 150.4T916 209V334Q916 367.2 891.6 391.6T834 416H750V541Q750 607.4 700.2 658.2T584 709H334Q267.6 709 216.8 658.2T166 541V125H375V224.6L300.8 283.2Q291 291 291 300.8V478.5Q291 488.3 296.9 494.1T312.5 500H478.5Q488.3 500 494.1 494.1T500 478.5V300.8Q500 291 492.2 283.2L416 224.6V125H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tea\"\n      ]\n    },\n    {\n      \"uid\": \"b41ec65d8b696bdd10b946e02ecb5486\",\n      \"css\": \"tea-outline\",\n      \"code\": 986527,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 791H834V875H166V791ZM892.6 150.4Q867.2 125 834 125H166V541Q166 607.4 216.8 658.2T334 709H584Q650.4 709 700.2 658.2T750 541V416H834Q867.2 416 891.6 391.6T916 334V209Q916 175.8 892.6 150.4ZM666 209V334 541Q666 574.2 641.6 599.6T584 625H334Q300.8 625 275.4 599.6T250 541V209H416V267.6L341.8 324.2Q334 330.1 334 341.8V521.5Q334 529.3 339.8 535.2T353.5 541H521.5Q529.3 541 535.2 535.2T541 521.5V341.8Q541 334 533.2 324.2L459 267.6V209H666ZM834 334H750V209H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tea-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f4712ae02b21d5cc2a7caef18e44c61d\",\n      \"css\": \"tennis\",\n      \"code\": 986528,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 625Q818.4 625 867.2 673.8T916 792 867.2 910.2 750 959 632.8 910.2 584 792 632.8 673.8 750 625ZM750 709Q714.8 709 690.4 733.4T666 792 690.4 850.6 750 875 809.6 850.6 834 792 809.6 733.4 750 709ZM252 605.5L267.6 585.9Q285.2 560.5 294.9 527.3 310.5 480.5 310.5 429.7 298.8 359.4 326.2 284.2T414.1 149.4 548.8 62.5 693.4 45.9 811.5 104.5 870.1 222.7 854.5 368.2 767.6 502.9 631.8 589.8 488.3 605.5Q435.5 605.5 388.7 621.1 357.4 632.8 330.1 648.4L310.5 664.1 134.8 841.8 76.2 783.2ZM752 164.1Q720.7 130.9 671.9 126T570.3 142.6 473.6 208 408.2 304.7 391.6 406.3 428.7 487.3 509.8 525.4 611.3 509.8 708 444.3 773.4 346.7 790 244.1 752 164.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tennis\"\n      ]\n    },\n    {\n      \"uid\": \"b235c00f147e21e9786345b29172d748\",\n      \"css\": \"transfer-down\",\n      \"code\": 986529,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 125V209H334V125H666ZM666 291V375H334V291H666ZM666 459V541H334V459H666ZM209 625H791L500 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transfer-down\"\n      ]\n    },\n    {\n      \"uid\": \"2233b3ea2a0d42fb4f7cdb01efdffaec\",\n      \"css\": \"transfer-left\",\n      \"code\": 986530,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666H791V334H875V666ZM709 666H625V334H709V666ZM541 666H459V334H541V666ZM375 209V791L84 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transfer-left\"\n      ]\n    },\n    {\n      \"uid\": \"25ad35a25db5073010a62aefc0814645\",\n      \"css\": \"transfer-up\",\n      \"code\": 986531,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 875V791H666V875H334ZM334 709V625H666V709H334ZM334 541V459H666V541H334ZM791 375H209L500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transfer-up\"\n      ]\n    },\n    {\n      \"uid\": \"647244d5941b10b18304e70858e60391\",\n      \"css\": \"trophy-broken\",\n      \"code\": 986532,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M257.8 541Q287.1 673.8 416 699.2V806.6Q378.9 820.3 357.4 849.6 341.8 869.1 335.9 894.5L334 916H550.8L425.8 625 591.8 416 445.3 166H334Q334 136.7 306.6 110.4T250 84H84V459Q84 490.2 109.4 515.6T166 541H257.8ZM250 459H166V166H250V459ZM742.2 541H834Q865.2 541 890.6 515.6T916 459V84H750Q720.7 84 693.4 110.4T666 166H580.1L695.3 416 507.8 625 550.8 916H666L664.1 894.5Q658.2 869.1 642.6 849.6 621.1 820.3 584 806.6V701.2Q654.3 687.5 695.3 640.6 730.5 599.6 742.2 541ZM834 459H750V166H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trophy-broken\"\n      ]\n    },\n    {\n      \"uid\": \"954afa4429e8d6d2951102f6a479a30d\",\n      \"css\": \"wind-turbine\",\n      \"code\": 986533,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M554.7 486.3L675.8 607.4Q701.2 582 701.2 550.8 701.2 529.3 687.5 507.8L675.8 490.2 613.3 425.8Q625 402.3 625 375 625 341.8 609.4 314.5T568.4 271.5L625 87.9Q589.8 78.1 562.5 91.8 543 101.6 529.3 123L521.5 142.6 486.3 252Q449.2 255.9 419.9 280.3T380.9 341.8L195.3 400.4Q210.9 451.2 257.8 457 281.3 460.9 300.8 455.1L386.7 425.8Q408.2 474.6 459 492.2V791L437.5 794.9Q412.1 800.8 396.5 816.4 375 837.9 375 875V916H625V875L621.1 853.5Q615.2 828.1 599.6 812.5 578.1 791 541 791V492.2ZM437.5 375Q437.5 349.6 456.1 331.1T500 312.5 543.9 331.1 562.5 375 543.9 418.9 500 437.5 456.1 418.9 437.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wind-turbine\"\n      ]\n    },\n    {\n      \"uid\": \"c0689cf2d3d1ef924da6a66a5c91cab5\",\n      \"css\": \"wiper-wash\",\n      \"code\": 986534,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 250Q541 232.4 546.9 212.9 556.6 179.7 574.2 158.2L500 99.6 425.8 162.1Q443.4 181.6 453.1 212.9 459 232.4 459 250 367.2 255.9 289.1 289.1 226.6 316.4 171.9 361.3 134.8 392.6 105.5 427.7L84 459 375 750 384.8 734.4Q396.5 716.8 412.1 703.1 433.6 683.6 459 675.8V761.7Q439.5 771.5 427.7 791T416 834Q416 867.2 440.4 891.6T500 916 559.6 891.6 584 834Q584 810.5 572.3 791T541 761.7V675.8Q566.4 683.6 587.9 703.1 603.5 716.8 615.2 734.4L625 750 916 459 894.5 427.7Q865.2 392.6 828.1 361.3 773.4 318.4 710.9 291 632.8 257.8 541 250ZM459 587.9Q404.3 601.6 371.1 628.9L195.3 455.1Q302.7 347.7 459 337.9V587.9ZM628.9 628.9Q582 597.7 541 587.9V337.9Q703.1 353.5 804.7 455.1ZM750 54.7L720.7 132.8Q699.2 123 668 123T613.3 132.8L584 54.7Q621.1 41 667 41T750 54.7ZM875 250H791V234.4Q787.1 216.8 781.3 199.2 773.4 177.7 757.8 162.1L820.3 107.4Q855.5 144.5 869.1 199.2 875 226.6 875 250ZM175.8 107.4L238.3 162.1Q218.8 183.6 212.9 218.8 209 236.3 209 250H125Q125 226.6 130.9 199.2 144.5 144.5 175.8 107.4ZM416 54.7L386.7 132.8Q365.2 123 335 123T279.3 132.8L250 54.7Q287.1 41 333 41T416 54.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wiper-wash\"\n      ]\n    },\n    {\n      \"uid\": \"30c715ee9a81b2200a8659b7d8b369c4\",\n      \"css\": \"badge-account\",\n      \"code\": 986535,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125H584V250H416V125H291Q257.8 125 233.4 149.4T209 209V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V209Q791 173.8 766.6 149.4T709 125ZM500 334Q535.2 334 559.6 358.4T584 417 559.6 475.6 500 500 440.4 475.6 416 417 440.4 358.4 500 334ZM666 666H334V625Q334 587.9 396.5 562.5 447.3 541 500 541T603.5 562.5Q666 587.9 666 625V666ZM541 209H459V41H541V209ZM666 791H334V750H666V791ZM500 875H334V834H500V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badge-account\"\n      ]\n    },\n    {\n      \"uid\": \"e44a540e935e03b40b037f543452cfd1\",\n      \"css\": \"badge-account-alert\",\n      \"code\": 986536,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125H500V250H334V125H209Q173.8 125 149.4 149.4T125 209V875Q125 910.2 149.4 934.6T209 959H625Q660.2 959 684.6 934.6T709 875V209Q709 173.8 684.6 149.4T625 125ZM416 334Q451.2 334 475.6 358.4T500 417 475.6 475.6 417 500 358.4 475.6 334 417 358.4 358.4 416 334ZM584 666H250V625Q250 587.9 312.5 562.5 365.2 541 417 541T521.5 562.5Q584 587.9 584 625V666ZM459 209H375V41H459V209ZM584 791H250V750H584V791ZM416 875H250V834H416V875ZM791 541V291H875V541H791ZM791 709V625H875V709H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badge-account-alert\"\n      ]\n    },\n    {\n      \"uid\": \"4b2b6efb445b4303d498ecc0d9a3d18d\",\n      \"css\": \"badge-account-alert-outline\",\n      \"code\": 986537,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125H500V209H625V875H209V209H334V125H209Q173.8 125 149.4 149.4T125 209V875Q125 910.2 149.4 934.6T209 959H625Q660.2 959 684.6 934.6T709 875V209Q709 173.8 684.6 149.4T625 125ZM416 291Q451.2 291 475.6 315.4T500 375 475.6 434.6 417 459 358.4 434.6 334 375 358.4 315.4 416 291ZM584 625H250V584Q250 546.9 312.5 521.5 365.2 500 417 500T521.5 521.5Q584 546.9 584 584V625ZM584 750H250V709H584V750ZM416 834H250V791H416V834ZM459 209H375V41H459V209ZM791 541V291H875V541H791ZM791 709V625H875V709H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badge-account-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ee14ebd8f0f9d87e036bfaf048bddcdb\",\n      \"css\": \"badge-account-outline\",\n      \"code\": 986538,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125H584V209H709V875H291V209H416V125H291Q257.8 125 233.4 149.4T209 209V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V209Q791 173.8 766.6 149.4T709 125ZM500 291Q535.2 291 559.6 315.4T584 375 559.6 434.6 500 459 440.4 434.6 416 375 440.4 315.4 500 291ZM666 625H334V584Q334 546.9 396.5 521.5 447.3 500 500 500T603.5 521.5Q666 546.9 666 584V625ZM666 750H334V709H666V750ZM500 834H334V791H500V834ZM541 209H459V41H541V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badge-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0b7f59657338e9756450245ed52a09ce\",\n      \"css\": \"card-account-details-outline\",\n      \"code\": 986539,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H84Q48.8 127 25.4 150.4T0 209V791Q2 826.2 25.4 849.6T84 875H916Q951.2 873 974.6 849.6T1000 791V209Q998 173.8 974.6 150.4T916 125ZM916 791H84V209H916V791ZM584 709V656.3Q584 625 544.9 597.7 511.7 576.2 459 564.5 414.1 552.7 375 552.7T291 564.5Q238.3 576.2 205.1 597.7 166 625 166 656.3V709H584ZM375 291Q332 291 301.8 322.3T271.5 396.5 301.8 469.7 375 500 448.2 469.7 478.5 396.5 448.2 322.3 375 291ZM584 291V334H834V291H584ZM584 375V416H834V375H584ZM584 459V500H750V459H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-details-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e0debc89f546bd91b1bea8abde98304a\",\n      \"css\": \"air-horn\",\n      \"code\": 986540,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 117.2V250 382.8Q791 392.6 783.2 399.4T767.6 404.3L738.3 386.7Q701.2 367.2 662.1 349.6 605.5 326.2 550.8 312.5 480.5 294.9 416 294.9V396.5H425.8Q441.4 396.5 455.1 402.3T474.6 419.9L529.3 496.1Q541 507.8 541 525.4V857.4Q541 880.9 522.5 898.4T478.5 916H271.5Q246.1 916 227.5 899.4T209 857.4V525.4Q209 507.8 220.7 496.1L275.4 419.9Q293 396.5 324.2 396.5H334V334Q306.6 367.2 266.6 367.2T196.3 332 166 250 196.3 168 267.6 132.8Q306.6 140.6 334 166V107.4H416V209Q480.5 209 550.8 191.4 605.5 177.7 662.1 154.3 701.2 136.7 738.3 117.2L767.6 99.6Q775.4 97.7 783.2 102.5T791 117.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"air-horn\"\n      ]\n    },\n    {\n      \"uid\": \"11b1d205da2fc0f1c2f0e060f5c26e0b\",\n      \"css\": \"application-export\",\n      \"code\": 986541,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 500H740.2L636.7 396.5 695.3 335.9 900.4 541 695.3 746.1 636.7 687.5 740.2 584H334V500ZM791 125Q826.2 125 850.6 149.4T875 209V402.3L791 320.3V291H209V791H791V763.7L875 679.7V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"application-export\"\n      ]\n    },\n    {\n      \"uid\": \"7451d85dcd6fe7fbf82ec9f4b0856dd7\",\n      \"css\": \"application-import\",\n      \"code\": 986542,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 500H449.2L343.8 396.5 402.3 335.9 607.4 541 402.3 746.1 343.8 687.5 449.2 584H41V500ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V666H209V791H791V291H209V416H125V209Q125 173.8 149.4 149.4T209 125H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"application-import\"\n      ]\n    },\n    {\n      \"uid\": \"7e09fefeb86b0e67b2ff4f114ca1dc42\",\n      \"css\": \"bandage\",\n      \"code\": 986543,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M738.3 500L904.3 335.9Q916 322.3 916 304.7T904.3 275.4L724.6 95.7Q712.9 84 695.3 84T664.1 95.7L500 261.7 334 95.7Q320.3 84 303.7 84T275.4 95.7L93.8 275.4Q82 287.1 82 304.7T93.8 335.9L259.8 500 93.8 666Q82 679.7 82 696.3T93.8 724.6L275.4 906.3Q287.1 918 303.7 918T334 906.3L500 740.2 664.1 906.3Q677.7 918 694.3 918T724.6 906.3L904.3 724.6Q918 712.9 918 696.3T904.3 666ZM500 375Q517.6 375 529.3 386.7T541 416 529.3 446.3 500 459 470.7 446.3 459 416 470.7 386.7 500 375ZM304.7 457L152.3 306.6 304.7 154.3 455.1 304.7ZM416 541Q398.4 541 386.7 529.3T375 500 386.7 470.7 416 459 446.3 470.7 459 500 446.3 529.3 416 541ZM500 625Q482.4 625 470.7 613.3T459 584 470.7 553.7 500 541 529.3 553.7 541 584 529.3 613.3 500 625ZM584 459Q601.6 459 613.3 470.7T625 500 613.3 529.3 584 541 553.7 529.3 541 500 553.7 470.7 584 459ZM693.4 847.7L543 697.3 693.4 544.9 845.7 695.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bandage\"\n      ]\n    },\n    {\n      \"uid\": \"a7120aa78ce5889e7e626fa93bf818c9\",\n      \"css\": \"bank-minus\",\n      \"code\": 986544,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H916V791H584V709ZM478.5 41L875 250V334H84V250ZM666 416H791V503.9L750 500Q707 500 666 513.7V416ZM84 916V791H503.9Q515.6 861.3 564.5 916H84ZM416 416H541V611.3Q511.7 656.3 503.9 709H416V416ZM166 416H291V709H166V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-minus\"\n      ]\n    },\n    {\n      \"uid\": \"1a834a5280dcab97a3aeb5b9c2bcc089\",\n      \"css\": \"bank-plus\",\n      \"code\": 986545,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM478.5 41L875 250V334H84V250ZM666 416H791V503.9L750 500Q707 500 666 513.7V416ZM84 916V791H503.9Q515.6 861.3 564.5 916H84ZM416 416H541V611.3Q511.7 656.3 503.9 709H416V416ZM166 416H291V709H166V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-plus\"\n      ]\n    },\n    {\n      \"uid\": \"21ae6d8fedb98c48512fdcba4af37606\",\n      \"css\": \"bank-remove\",\n      \"code\": 986546,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750ZM478.5 41L875 250V334H84V250ZM666 416H791V503.9L750 500Q707 500 666 513.7V416ZM84 916V791H503.9Q515.6 861.3 564.5 916H84ZM416 416H541V611.3Q511.7 656.3 503.9 709H416V416ZM166 416H291V709H166V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-remove\"\n      ]\n    },\n    {\n      \"uid\": \"faf37489e9b10b26bd18938ae5a05679\",\n      \"css\": \"bolt\",\n      \"code\": 986547,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 738.3V875H416V845.7ZM709 125H291V250H709V125ZM625 291L584 320.3V291H416V429.7L375 459V500L625 337.9V291ZM625 459L584 488.3V404.3L416 517.6V599.6L375 625V666L625 503.9V459ZM625 625L584 654.3V570.3L416 683.6V767.6L375 791V834L625 669.9V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bolt\"\n      ]\n    },\n    {\n      \"uid\": \"3672b59d43954cf18aa29fde9d92f57e\",\n      \"css\": \"bugle\",\n      \"code\": 986548,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250Q875 341.8 777.3 396.5 709 435.5 597.7 451.2 541 459 500 459H209Q181.6 459 150.4 437.5 134.8 427.7 125 416H84V584H125L136.7 572.3Q152.3 560.5 168 552.7 189.5 541 209 541H261.7Q209 576.2 209 625 209 681.6 272.5 715.8T437.5 750 602.5 715.8 666 625Q666 587.9 632.8 554.7 734.4 574.2 794.9 613.3 875 666 875 750H916V250H875ZM437.5 695.3Q367.2 695.3 317.4 674.8T267.6 625 317.4 575.2 437.5 554.7 557.6 575.2 607.4 625 557.6 674.8 437.5 695.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bugle\"\n      ]\n    },\n    {\n      \"uid\": \"f7893487646a79e63a5869835b266769\",\n      \"css\": \"cactus\",\n      \"code\": 986549,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 666V875H416V750H375Q322.3 750 286.1 713.9T250 625V500Q250 482.4 261.7 470.7T291 459 321.3 470.7 334 500V625Q334 642.6 345.7 654.3T375 666H416V250Q416 214.8 440.4 190.4T500 166 559.6 190.4 584 250V584H625Q642.6 584 654.3 571.3T666 541V459Q666 441.4 678.7 428.7T709 416 738.3 428.7 750 459V541Q750 593.8 713.9 629.9T625 666H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cactus\"\n      ]\n    },\n    {\n      \"uid\": \"f2ca81b9d179bf1709fb567ec4c9679b\",\n      \"css\": \"camera-wireless\",\n      \"code\": 986550,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 449.2Q554.7 449.2 593.8 488.3T632.8 583 593.8 677.7 500 716.8 406.3 677.7 367.2 583 406.3 488.3 500 449.2ZM666 138.7V84Q734.4 84 792 117.2T882.8 208 916 334H861.3Q861.3 252 804.7 195.3T666 138.7ZM666 250V195.3Q724.6 195.3 764.6 235.4T804.7 334H750Q750 298.8 725.6 274.4T666 250ZM709 375H916V834Q916 867.2 891.6 891.6T834 916H166Q132.8 916 108.4 891.6T84 834V334Q84 298.8 108.4 274.4T166 250H298.8L375 166H625V291Q660.2 291 684.6 315.4T709 375ZM500 791Q556.6 791 604.5 763.7T680.7 688.5 709 584 680.7 479.5 604.5 403.3 500 375 395.5 403.3 319.3 479.5 291 584Q291 625 307.6 663.1T353.5 730.5 420.9 775.4 500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"b6bc9fa13b77f23dc8344ce63e6761d8\",\n      \"css\": \"camera-wireless-outline\",\n      \"code\": 986551,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 375V834H166V334H335.9L412.1 250H625V166H375L298.8 250H166Q132.8 250 108.4 274.4T84 334V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V375H834ZM861.3 334H916Q916 265.6 882.8 208T792 117.2 666 84V138.7Q748 138.7 804.7 195.3T861.3 334ZM750 334H804.7Q804.7 275.4 764.6 235.4T666 195.3V250Q701.2 250 725.6 274.4T750 334ZM291 584Q291 625 307.6 663.1T353.5 730.5 420.9 775.4 500 791Q556.6 791 604.5 763.7T680.7 688.5 709 584 680.7 479.5 604.5 403.3 500 375 395.5 403.3 319.3 479.5 291 584ZM625 584Q625 634.8 588.9 671.9T500 709 411.1 671.9 375 583 411.1 495.1 500 459 588.9 495.1 625 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-wireless-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5fb975078096ef3845ee86fb77ac1945\",\n      \"css\": \"cash-marker\",\n      \"code\": 986552,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 736.3 614.3 770.5 599.6 804.7 615.2 822.3 649.4 808.6 683.6 771.5 699.2ZM771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM621.1 470.7Q611.3 429.7 577.1 402.3T500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625Q517.6 625 541 617.2 554.7 531.3 621.1 470.7ZM541 666H291Q291 632.8 266.6 608.4T209 584V416Q242.2 416 266.6 391.6T291 334H709Q709 367.2 733.4 391.6T791 416L818.4 419.9Q849.6 425.8 875 441.4V250H125V750H562.5L558.6 734.4Q544.9 691.4 541 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-marker\"\n      ]\n    },\n    {\n      \"uid\": \"b1e199d7253e1896c24890b31dafc471\",\n      \"css\": \"chevron-triple-down\",\n      \"code\": 986553,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M308.6 607.4L500 798.8 691.4 607.4 750 666 500 916 250 666ZM308.6 357.4L500 548.8 691.4 357.4 750 416 500 666 250 416ZM308.6 107.4L500 298.8 691.4 107.4 750 166 500 416 250 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-triple-down\"\n      ]\n    },\n    {\n      \"uid\": \"7e0375d827fea376733fd30abfc81de2\",\n      \"css\": \"chevron-triple-left\",\n      \"code\": 986554,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M392.6 308.6L201.2 500 392.6 691.4 334 750 84 500 334 250ZM642.6 308.6L451.2 500 642.6 691.4 584 750 334 500 584 250ZM892.6 308.6L701.2 500 892.6 691.4 834 750 584 500 834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-triple-left\"\n      ]\n    },\n    {\n      \"uid\": \"4866962e7f272fa4813875aa6d080d2b\",\n      \"css\": \"chevron-triple-right\",\n      \"code\": 986555,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 691.4L798.8 500 607.4 308.6 666 250 916 500 666 750ZM357.4 691.4L548.8 500 357.4 308.6 416 250 666 500 416 750ZM107.4 691.4L298.8 500 107.4 308.6 166 250 416 500 166 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-triple-right\"\n      ]\n    },\n    {\n      \"uid\": \"46b095308bf3fc3bad87538876823a35\",\n      \"css\": \"chevron-triple-up\",\n      \"code\": 986556,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M691.4 392.6L500 201.2 308.6 392.6 250 334 500 84 750 334ZM691.4 642.6L500 451.2 308.6 642.6 250 584 500 334 750 584ZM691.4 892.6L500 701.2 308.6 892.6 250 834 500 584 750 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chevron-triple-up\"\n      ]\n    },\n    {\n      \"uid\": \"019788ce91a67896165e405721796cb7\",\n      \"css\": \"closed-caption-outline\",\n      \"code\": 986557,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166Q173.8 166 149.4 190.4T125 250V750Q125 785.2 149.4 809.6T209 834H791Q826.2 834 850.6 808.6T875 750V250Q875 216.8 850.6 191.4T791 166H209ZM187.5 228.5H812.5V771.5H187.5V228.5ZM291 375Q273.4 375 261.7 386.7T250 416V584Q250 601.6 261.7 613.3T291 625H416Q433.6 625 446.3 613.3T459 584V541H396.5V562.5H312.5V437.5H396.5V459H459V416Q459 398.4 446.3 386.7T416 375H291ZM584 375Q566.4 375 553.7 386.7T541 416V584Q541 601.6 553.7 613.3T584 625H709Q726.6 625 738.3 613.3T750 584V541H687.5V562.5H603.5V437.5H687.5V459H750V416Q750 398.4 738.3 386.7T709 375H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"closed-caption-outline\"\n      ]\n    },\n    {\n      \"uid\": \"00a29922460af0b2296384fa60f64193\",\n      \"css\": \"credit-card-marker-outline\",\n      \"code\": 986558,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 750H166V500H595.7Q628.9 460.9 673.8 438.5T771.5 416Q849.6 416 916 470.7V250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H607.4Q580.1 791 562.5 750ZM166 250H834V334H166V250ZM771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 736.3 614.3 770.5 599.6 804.7 615.2 822.3 649.4 808.6 683.6 771.5 699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-marker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aa10b5e3fbc19e37304ea4b215eccae9\",\n      \"css\": \"diving-flippers\",\n      \"code\": 986559,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M845.7 152.3Q824.2 148.4 788.1 119.1T732.4 85 667 91.8 601.6 99.6Q568.4 87.9 534.2 91.8T470.7 113.3L466.8 709 459 750Q447.3 800.8 475.6 844.7T553.7 899.4 647.5 881.8 703.1 804.7L710.9 761.7 959 220.7Q939.5 191.4 909.2 173.8T845.7 152.3ZM621.1 785.2Q617.2 802.7 602.5 812.5T570.3 818.4 543 799.8 537.1 767.6L574.2 603.5Q576.2 587.9 590.8 578.1T622.1 570.3 648.4 586.9 656.3 619.1ZM404.3 888.7Q380.9 849.6 375 806.6L343.8 666Q339.8 650.4 348.6 634.8T375 615.2H384.8V142.6Q367.2 142.6 334 134.8 285.2 123 267.6 127T214.8 158.2Q175.8 189.5 154.3 193.4 121.1 197.3 90.8 214.8T41 261.7L289.1 802.7 296.9 845.7Q308.6 896.5 352.5 923.8T445.3 939.5H451.2Q421.9 916 404.3 888.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-flippers\"\n      ]\n    },\n    {\n      \"uid\": \"0b59b7633984a1713f8ebc882265c774\",\n      \"css\": \"diving-helmet\",\n      \"code\": 986560,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 500Q666 568.4 617.2 617.2T500 666 382.8 617.2 334 500 382.8 382.8 500 334 617.2 382.8 666 500ZM810.5 328.1L752 357.4 763.7 375H834V625H763.7Q732.4 689.5 675.8 732.4 783.2 767.6 820.3 828.1 789.1 867.2 700.2 891.6T500 916 299.8 891.6 179.7 828.1Q216.8 767.6 324.2 732.4 267.6 689.5 236.3 625H166V375H236.3Q281.3 281.3 375 236.3V166H625V236.3Q666 255.9 701.2 291L773.4 255.9Q812.5 234.4 824.2 191.4 834 160.2 834 84H916Q916 142.6 912.1 173.8 906.3 224.6 884.8 259.8 859.4 304.7 810.5 328.1ZM709 500Q709 443.4 680.7 395.5T604.5 319.3 500 291 395.5 319.3 319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709 604.5 680.7 680.7 604.5 709 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-helmet\"\n      ]\n    },\n    {\n      \"uid\": \"3a5bb7c88b9af5c4d4b4a6ac0d198c1c\",\n      \"css\": \"diving-scuba\",\n      \"code\": 986561,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 625Q541 625 573.2 648.4T617.2 709H750Q818.4 709 867.2 757.8T916 875V916H834V875Q834 839.8 809.6 815.4T750 791H617.2Q605.5 828.1 573.2 851.6T500 875Q447.3 875 411.1 838.9T375 750 411.1 661.1 500 625ZM500 709Q482.4 709 470.7 720.7T459 750 470.7 779.3 500 791 529.3 779.3 541 750 529.3 720.7 500 709ZM750 125Q785.2 125 809.6 149.4T834 209V416Q834 451.2 809.6 475.6T750 500H619.1Q605.5 500 594.7 506.8T580.1 525.4Q566.4 566.4 525.4 580.1 494.1 589.8 462.9 574.2T419.9 525.4Q416 513.7 405.3 506.8T380.9 500H250Q214.8 500 190.4 475.6T166 416V209Q166 173.8 190.4 149.4T250 125H750ZM750 416V209H250V416H443.4Q460.9 380.9 500 375 539.1 380.9 556.6 416H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-scuba\"\n      ]\n    },\n    {\n      \"uid\": \"42e091d99c2a21f0f35da518aa22d4c3\",\n      \"css\": \"diving-scuba-flag\",\n      \"code\": 986562,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250L791 834H84V250ZM209 166L916 750V166H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-scuba-flag\"\n      ]\n    },\n    {\n      \"uid\": \"de38b50002cde090651fae14857772cd\",\n      \"css\": \"diving-scuba-tank\",\n      \"code\": 986563,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 771.5Q791 814.5 760.7 844.7T687.5 875 614.3 844.7 584 771.5Q584 738.3 600.6 712.9T646.5 675.8V250H459V306.6Q496.1 324.2 518.6 359.4T541 437.5V916H250V437.5Q250 394.5 272.5 359.4T334 306.6V250H250V166H334V146.5Q334 119.1 351.6 101.6T395.5 84 440.4 101.6 459 146.5V166H646.5Q679.7 166 704.1 190.4T728.5 250V675.8Q757.8 687.5 774.4 712.9T791 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-scuba-tank\"\n      ]\n    },\n    {\n      \"uid\": \"2ca0a29d17589469f1f1443d6793a322\",\n      \"css\": \"diving-scuba-tank-multiple\",\n      \"code\": 986564,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 771.5Q916 814.5 885.7 844.7T812.5 875 739.3 844.7 709 771.5Q709 738.3 725.6 712.9T771.5 675.8V250H584V306.6Q621.1 324.2 643.6 359.4T666 437.5V916H84V437.5Q84 394.5 106.4 359.4T166 306.6V250H84V166H166V146.5Q166 119.1 184.6 101.6T229.5 84 273.4 101.6 291 146.5V166H459V146.5Q459 119.1 476.6 101.6T520.5 84 565.4 101.6 584 146.5V166H771.5Q804.7 166 829.1 190.4T853.5 250V675.8Q882.8 687.5 899.4 712.9T916 771.5ZM459 306.6V250H291V306.6Q330.1 324.2 352.5 359.4T375 437.5Q375 394.5 397.5 359.4T459 306.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-scuba-tank-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"a97be03ccf4ed7bbf8423a4d11cf78ab\",\n      \"css\": \"diving-snorkel\",\n      \"code\": 986565,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 125H166Q132.8 125 108.4 149.4T84 209V416Q84 451.2 108.4 475.6T166 500H298.8Q310.5 500 321.3 506.8T337.9 525.4Q347.7 558.6 378.9 574.2T443.4 580.1Q482.4 566.4 496.1 525.4 500 513.7 510.7 506.8T535.2 500H666Q701.2 500 725.6 475.6T750 416V209Q750 173.8 725.6 149.4T666 125ZM666 416H472.7Q457 380.9 416 375 377 380.9 361.3 416H166V209H666V416ZM916 84V646.5Q916 718.8 879.9 781.3T781.3 879.9 646.5 916Q591.8 916 543 895.5T455.1 837.9Q392.6 853.5 334 830.1T238.3 755.9L318.4 720.7Q345.7 750 383.8 757.8T459 750Q470.7 744.1 482.4 736.3 507.8 716.8 521.5 687.5T533.2 625L611.3 589.8Q625 648.4 604.5 705.1T537.1 798.8Q585.9 834 646.5 834 724.6 834 779.3 779.3T834 646.5V84H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diving-snorkel\"\n      ]\n    },\n    {\n      \"uid\": \"22d274155c6aa2c5e9b947266570736c\",\n      \"css\": \"file-cancel\",\n      \"code\": 986566,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H771.5L541 146.5V375ZM250 84H584L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84ZM437.5 459Q359.4 459 304.7 513.7T250 646.5 304.7 779.3 437.5 834 570.3 779.3 625 646.5 570.3 513.7 437.5 459ZM437.5 521.5Q490.2 521.5 526.4 557.6T562.5 646.5Q562.5 681.6 544.9 709L375 539.1Q402.3 521.5 437.5 521.5ZM312.5 646.5Q312.5 611.3 330.1 584L500 753.9Q472.7 771.5 437.5 771.5 384.8 771.5 348.6 734.4T312.5 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"727a833eb02136fbc9002bed60186b6c\",\n      \"css\": \"file-cancel-outline\",\n      \"code\": 986567,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM478.5 416Q556.6 416 611.3 470.7T666 603.5 611.3 736.3 478.5 791 345.7 736.3 291 603.5 345.7 470.7 478.5 416ZM478.5 478.5Q443.4 478.5 416 496.1L585.9 666Q603.5 638.7 603.5 603.5 603.5 552.7 567.4 515.6T478.5 478.5ZM353.5 603.5Q353.5 656.3 390.6 692.4T478.5 728.5Q513.7 728.5 541 710.9L371.1 541Q353.5 568.4 353.5 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cancel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8f4fb8e254f1e445e47687d9a5bef119\",\n      \"css\": \"file-document-edit\",\n      \"code\": 986568,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H416V837.9L503.9 750H250V666H587.9L669.9 584H250V500H753.9L834 419.9V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM839.8 541Q830.1 541 822.3 548.8L781.3 591.8 867.2 677.7 910.2 634.8Q916 628.9 916 619.1T910.2 601.6L855.5 548.8Q849.6 541 839.8 541ZM755.9 615.2L500 871.1V959H585.9L843.8 701.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-document-edit\"\n      ]\n    },\n    {\n      \"uid\": \"74278d1371af6333e3103514e799099a\",\n      \"css\": \"file-document-edit-outline\",\n      \"code\": 986569,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 500H666V584H334V500ZM416 834H250V166H541V375H750V503.9L834 419.9V334L584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H416V834ZM334 750H503.9L541 712.9V666H334V750ZM841.8 541Q849.6 541 857.4 550.8L912.1 603.5Q918 611.3 918 621.1T912.1 636.7L871.1 679.7 783.2 591.8 824.2 550.8Q834 541 841.8 541ZM841.8 705.1L587.9 959H500V871.1L753.9 617.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-document-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1dad54f3971b73b2d5e7956cb90d4795\",\n      \"css\": \"file-eye\",\n      \"code\": 986570,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 750Q726.6 750 738.3 761.7T750 791 738.3 821.3 709 834 678.7 821.3 666 791 678.7 761.7 709 750ZM709 625Q625 625 556.6 670.9T459 791Q488.3 865.2 556.6 912.1T709 959 860.4 912.1 959 791Q927.7 716.8 860.4 670.9T709 625ZM709 896.5Q666 896.5 634.8 865.2T603.5 791 634.8 717.8 709 687.5 782.2 717.8 812.5 791 782.2 865.2 709 896.5ZM380.9 822.3L369.1 791 380.9 761.7Q421.9 660.2 510.7 600.6T709 541Q771.5 541 834 564.5V334L584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H437.5Q404.3 877 380.9 822.3ZM541 146.5L771.5 375H541V146.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-eye\"\n      ]\n    },\n    {\n      \"uid\": \"c40c67859993b2fb9358dd33ace2cde7\",\n      \"css\": \"file-eye-outline\",\n      \"code\": 986571,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 750Q726.6 750 738.3 761.7T750 791 738.3 821.3 709 834 678.7 821.3 666 791 678.7 761.7 709 750ZM709 625Q625 625 556.6 670.9T459 791Q488.3 865.2 556.6 912.1T709 959 860.4 912.1 959 791Q927.7 716.8 860.4 670.9T709 625ZM709 896.5Q666 896.5 634.8 865.2T603.5 791 634.8 717.8 709 687.5 782.2 717.8 812.5 791 782.2 865.2 709 896.5ZM386.7 834H250V166H541V375H750V544.9Q791 548.8 834 564.5V334L584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H437.5Q406.3 880.9 386.7 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-eye-outline\"\n      ]\n    },\n    {\n      \"uid\": \"759097bde416a0ab3c4552f33866c386\",\n      \"css\": \"folder-alert\",\n      \"code\": 986572,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500H709V709H625V500ZM625 750H709V834H625V750ZM959 666Q959 746.1 918.9 812.5T812.5 918.9 666 959Q593.8 959 530.3 924.8T427.7 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H375L459 250H791Q826.2 250 850.6 274.4T875 334V462.9Q914.1 502 936.5 554.7T959 666ZM666 459Q609.4 459 561.5 486.3T486.3 561.5 459 666 486.3 770.5 561.5 846.7 666 875 770.5 846.7 846.7 770.5 875 666 846.7 561.5 770.5 486.3 666 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-alert\"\n      ]\n    },\n    {\n      \"uid\": \"717f17bd7f554bca43f6caa5f7d6d16d\",\n      \"css\": \"folder-alert-outline\",\n      \"code\": 986573,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500H709V709H625V500ZM625 750H709V834H625V750ZM666 375Q732.4 375 791 402.3V334H125V750H386.7Q375 709 375 666 375 587.9 414.1 520.5T520.5 414.1 666 375ZM959 666Q959 746.1 918.9 812.5T812.5 918.9 666 959Q593.8 959 530.3 924.8T427.7 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H375L459 250H791Q826.2 250 850.6 274.4T875 334V462.9Q914.1 502 936.5 554.7T959 666ZM666 459Q609.4 459 561.5 486.3T486.3 561.5 459 666 486.3 770.5 561.5 846.7 666 875 770.5 846.7 846.7 770.5 875 666 846.7 561.5 770.5 486.3 666 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2e7597f3cc5fa72769b597b90ee992a9\",\n      \"css\": \"folder-edit-outline\",\n      \"code\": 986574,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 462.9Q867.2 462.9 859.4 470.7L818.4 513.7 904.3 601.6 947.3 558.6Q953.1 552.7 953.1 542T947.3 525.4L892.6 470.7Q884.8 462.9 875 462.9ZM796.9 537.1L541 789.1V875H630.9L884.8 621.1ZM875 334V337.9L791 421.9V334H125V750H459V834H125Q89.8 834 65.4 809.6T41 750V250Q41 216.8 65.4 191.4T125 166H375L459 250H791Q826.2 250 850.6 274.4T875 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c0e290111371861a215a3250c96bc4b8\",\n      \"css\": \"folder-open-outline\",\n      \"code\": 986575,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M253.9 416L166 750V334H875Q875 298.8 850.6 274.4T791 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H791Q820.3 834 842.8 816.4T871.1 771.5L966.8 416H253.9ZM791 750H250L316.4 500H857.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"11cc98648f751ff50b6f188545016337\",\n      \"css\": \"gantry-crane\",\n      \"code\": 986577,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250H916V166H875V125H750V166H250V125H125V166H84V250H125V834H84V916H291V834H250V250H459V291H478.5V443.4Q462.9 447.3 454.1 460.9T445.3 490.2Q445.3 519.5 470.7 533.2V584H496.1Q507.8 584 515.6 590.8T523.4 608.4 515.6 627 495.1 634.8 474.6 623Q468.8 613.3 459 610.4T439.5 612.3 426.8 627.9 429.7 648.4Q439.5 666 458 675.8T496.1 685.5Q529.3 685.5 550.8 663.1T572.3 607.4Q572.3 584 558.6 564.5T521.5 537.1V533.2Q541 523.4 546.9 503.9T543 466.8Q535.2 453.1 521.5 445.3V291H541V250H750V834H709V916H916V834H875V250ZM209 636.7V695.3L166 738.3V679.7ZM166 834V800.8L209 759.8V818.4L193.4 834H166ZM166 304.7L209 261.7V320.3L166 363.3V304.7ZM166 429.7L209 386.7V445.3L166 488.3V429.7ZM166 554.7L209 511.7V570.3L166 613.3V550.8 554.7ZM834 636.7V695.3L791 738.3V679.7ZM791 834V800.8L834 759.8V818.4L818.4 834H791ZM791 304.7L834 261.7V320.3L791 363.3V304.7ZM791 429.7L834 386.7V445.3L791 488.3V429.7ZM791 554.7L834 511.7V570.3L791 613.3V550.8 554.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gantry-crane\"\n      ]\n    },\n    {\n      \"uid\": \"9258d9019f5d8b7871b436d7bc5e119a\",\n      \"css\": \"home-floor-0\",\n      \"code\": 986578,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 416H541V666H459V416ZM916 500H791V834H209V500H84L500 125ZM625 416Q625 382.8 600.6 358.4T541 334H459Q423.8 334 399.4 358.4T375 416V666Q375 701.2 399.4 725.6T459 750H541Q576.2 750 600.6 725.6T625 666V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-0\"\n      ]\n    },\n    {\n      \"uid\": \"fa92738c4a88cb91342ecc48363512f4\",\n      \"css\": \"home-floor-negative-1\",\n      \"code\": 986579,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM459 625H291V541H459V625ZM625 750H541V416H459V334H625V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-floor-negative-1\"\n      ]\n    },\n    {\n      \"uid\": \"f83bd2dc144a332b38797ce26ba0ae6a\",\n      \"css\": \"home-group\",\n      \"code\": 986580,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 666H625V916H500V709H334V916H209V666H125L416 416ZM250 84L416 250H375V375H291V250H209V375H125V250H84ZM750 125L959 334H916V500H791V375H709V500H638.7L584 453.1V334H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-group\"\n      ]\n    },\n    {\n      \"uid\": \"9be141af55a9f20fcd754eacc3d17f05\",\n      \"css\": \"jabber\",\n      \"code\": 986581,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M218.8 238.3Q203.1 234.4 203.1 187.5 203.1 164.1 209 132.8V132.8L210.9 130.9Q304.7 87.9 402.3 84 591.8 78.1 695.3 238.3 771.5 355.5 759.8 451.2 752 525.4 693.4 585.9 660.2 621.1 591.8 662.1L582 669.9Q539.1 697.3 529.3 752 523.4 781.3 529.3 826.2L531.3 837.9Q531.3 853.5 517.6 860.4T500 849.6Q490.2 800.8 494.1 753.9 500 668 554.7 630.9 673.8 552.7 700.2 467.8T666 267.6Q632.8 203.1 548.8 171.9 480.5 148.4 396.5 150.4 324.2 154.3 293 169.9 265.6 183.6 244.1 218.8 236.3 230.5 231.4 235.4T218.8 238.3ZM388.7 525.4L378.9 505.9Q380.9 478.5 372.1 464.8T352.5 456.1 335.9 487.3 335.9 554.7Q339.8 570.3 334 575.2T319.3 577.1 310.5 572.3Q293 502 306.6 464.8T355.5 435.5Q377 439.5 386.7 455.1 394.5 464.8 396.5 480.5V492.2L414.1 474.6Q433.6 457 449.2 451.2 470.7 441.4 478.5 455.1 519.5 515.6 437.5 605.5L431.6 613.3Q425.8 619.1 421.9 621.1T412.1 617.2 406.3 606.4 412.1 593.8Q464.8 515.6 460.9 494.1 459 478.5 427.7 496.1T388.7 525.4ZM271.5 638.7V638.7L283.2 656.3Q296.9 675.8 316.4 691.4 341.8 712.9 369.1 718.8 404.3 726.6 441.4 710.9 453.1 707 459 710.9T466.8 718.8Q470.7 732.4 453.1 738.3 396.5 757.8 343.8 744.1 302.7 734.4 267.6 707 242.2 687.5 234.4 671.9 220.7 646.5 240.2 634.8 250 627 271.5 638.7V638.7ZM250 728.5Q255.9 736.3 263.7 742.2 279.3 755.9 300.8 767.6 330.1 783.2 363.3 791 404.3 798.8 449.2 791 464.8 789.1 468.8 806.6T456.1 830.1 404.3 834Q353.5 832 310.5 814.5 250 791 212.9 738.3 210.9 734.4 216.8 728.5T227.5 722.7 242.2 725.6 250 728.5ZM248 808.6Q279.3 849.6 326.2 869.1 367.2 886.7 408.2 885.7T470.7 869.1Q476.6 865.2 481.4 872.1T482.4 882.8Q445.3 919.9 382.8 916 332 914.1 277.3 886.7 230.5 863.3 218.8 847.7 214.8 837.9 214.8 827.1T220.7 810.5 235.4 805.7 248 808.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jabber\"\n      ]\n    },\n    {\n      \"uid\": \"8aa9eefcf22a699057006d94d2bef4d9\",\n      \"css\": \"key-outline\",\n      \"code\": 986582,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 791H666V625H554.7Q519.5 701.2 448.2 746.1T291 791Q212.9 791 145.5 752T39.1 645.5 0 500 39.1 354.5 145.5 248 291 209Q377 209 448.2 253.9T554.7 375H1000V625H916V791ZM750 709H834V541H916V459H498L488.3 429.7Q464.8 369.1 411.1 330.1T291 291Q234.4 291 186.5 319.3T111.3 395.5 84 500 111.3 604.5 186.5 680.7 291 709Q357.4 709 411.1 669.9T488.3 570.3L498 541H750V709ZM291 625Q240.2 625 203.1 588.9T166 500 203.1 411.1 292 375 379.9 411.1 416 500 379.9 588.9 291 625ZM291 459Q273.4 459 261.7 470.7T250 500 261.7 529.3 291 541 321.3 529.3 334 500 321.3 470.7 291 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-outline\"\n      ]\n    },\n    {\n      \"uid\": \"15401e2ec4c33f6f4d6614edd9f9b1d1\",\n      \"css\": \"leak\",\n      \"code\": 986583,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125H125V250Q177.7 250 213.9 213.9T250 125ZM584 125H500Q500 226.6 449.2 312.5T312.5 449.2 125 500V584Q250 584 355.5 521.5T522.5 354.5 584 125ZM416 125H334Q334 181.6 305.7 229.5T229.5 305.7 125 334V416Q205.1 416 271.5 377T377 271.5 416 125ZM416 875H500Q500 773.4 550.8 687.5T687.5 550.8 875 500V416Q750 416 644.5 477.5T477.5 644.5 416 875ZM750 875H875V750Q822.3 750 786.1 786.1T750 875ZM584 875H666Q666 818.4 694.3 770.5T770.5 694.3 875 666V584Q794.9 584 728.5 623T623 728.5 584 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leak\"\n      ]\n    },\n    {\n      \"uid\": \"c3a055abd13c0cb4e6be332fd30ad4bc\",\n      \"css\": \"leak-off\",\n      \"code\": 986584,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 125H334Q334 148.4 328.1 169.9L394.5 236.3Q416 183.6 416 125ZM125 177.7L244.1 296.9Q189.5 334 125 334V416Q224.6 416 302.7 355.5L363.3 416Q257.8 500 125 500V584Q207 584 283.2 554.7T421.9 474.6L525.4 578.1Q474.6 640.6 445.3 716.8T416 875H500Q500 808.6 522.5 748T584 638.7L644.5 697.3Q584 775.4 584 875H666Q666 810.5 703.1 755.9L822.3 875 875 822.3 177.7 125ZM584 125H500Q500 214.8 459 298.8L517.6 359.4Q584 252 584 125ZM830.1 671.9Q851.6 666 875 666V584Q818.4 584 763.7 603.5ZM640.6 482.4L701.2 541Q785.2 500 875 500V416Q748 416 640.6 482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leak-off\"\n      ]\n    },\n    {\n      \"uid\": \"53541027ae7895dd60f8c8a465b53d06\",\n      \"css\": \"marker-cancel\",\n      \"code\": 986585,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 541Q806.6 541 861.3 595.7T916 728.5 861.3 861.3 728.5 916 595.7 861.3 541 728.5 595.7 595.7 728.5 541ZM728.5 603.5Q693.4 603.5 666 621.1L835.9 791Q853.5 763.7 853.5 728.5 853.5 677.7 817.4 640.6T728.5 603.5ZM603.5 728.5Q603.5 781.3 640.6 817.4T728.5 853.5Q763.7 853.5 791 835.9L621.1 666Q603.5 693.4 603.5 728.5ZM771.5 48.8Q804.7 48.8 828.1 72.3L947.3 189.5Q970.7 214.8 970.7 249T947.3 308.6L789.1 464.8Q759.8 459 728.5 459 679.7 459 630.9 476.6L468.8 314.5 710.9 72.3Q736.3 48.8 771.5 48.8ZM429.7 353.5L578.1 503.9Q523.4 541 491.2 600.6T459 728.5Q459 759.8 464.8 789.1L416 837.9Q392.6 863.3 358.4 863.3T298.8 839.8L263.7 875H27.3L181.6 720.7Q156.3 695.3 156.3 661.1T181.6 601.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"marker-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"327f2a61133b6bc95bbae6a0fc9ae564\",\n      \"css\": \"mine\",\n      \"code\": 986586,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 541V459H830.1Q818.4 367.2 763.7 294.9L853.5 205.1 794.9 146.5 705.1 236.3Q632.8 181.6 541 169.9V41H459V169.9Q367.2 181.6 294.9 236.3L205.1 146.5 146.5 205.1 236.3 294.9Q181.6 367.2 169.9 459H41V541H169.9Q181.6 632.8 236.3 705.1L146.5 794.9 205.1 853.5 294.9 763.7Q367.2 818.4 459 830.1V959H541V830.1Q632.8 818.4 705.1 763.7L794.9 853.5 853.5 794.9 763.7 705.1Q818.4 632.8 830.1 541H959ZM500 334Q431.6 334 382.8 382.8T334 500H250Q250 431.6 283.2 374T374 283.2 500 250V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mine\"\n      ]\n    },\n    {\n      \"uid\": \"9415f7ac06063df5c685a1ea4b84c16b\",\n      \"css\": \"monitor-lock\",\n      \"code\": 986587,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 541Q896.5 541 927.7 572.3T959 646.5V666Q976.6 666 988.3 678.7T1000 709V875Q1000 892.6 988.3 904.3T959 916H750Q732.4 916 720.7 904.3T709 875V709Q709 691.4 720.7 678.7T750 666V646.5Q750 603.5 780.3 572.3T853.5 541ZM853.5 584Q828.1 584 809.6 601.6T791 646.5V666H916V646.5Q916 619.1 898.4 601.6T853.5 584ZM834 166H84V666H625V750H541V834H625V916H291V834H375V750H84Q48.8 750 24.4 725.6T0 666V166Q0 132.8 24.4 108.4T84 84H834Q867.2 84 891.6 108.4T916 166V480.5Q878.9 459 834 459V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-lock\"\n      ]\n    },\n    {\n      \"uid\": \"98e438267a3d15e7d9c819dc162b5f38\",\n      \"css\": \"monitor-star\",\n      \"code\": 986588,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666V166H125V666H875ZM875 84Q910.2 84 934.6 108.4T959 166V666Q959 701.2 934.6 725.6T875 750H584V834H666V916H334V834H416V750H125Q89.8 750 65.4 725.6T41 666V166Q41 132.8 65.4 108.4T125 84H875ZM541 375H666L564.5 449.2 603.5 570.3 500 494.1 396.5 570.3 435.5 449.2 334 375H459L500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-star\"\n      ]\n    },\n    {\n      \"uid\": \"045513cd579704cfb903dd1d1421ce0b\",\n      \"css\": \"movie-outline\",\n      \"code\": 986589,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M240.2 416H834V750H166V269.5ZM916 166H750L834 334H709L625 166H541L625 334H500L416 166H334L416 334H291L209 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26a3629dfd4e673ea6504233a0c01761\",\n      \"css\": \"music-note-plus\",\n      \"code\": 986590,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 375V500H584V584H709V709H791V584H916V500H791V375H709ZM375 125V564.5Q335.9 541 291 541 222.7 541 173.8 589.8T125 708 173.8 826.2 292 875 410.2 826.2 459 709V291H625V125H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-plus\"\n      ]\n    },\n    {\n      \"uid\": \"4ba6150f9241107236d47132264765ca\",\n      \"css\": \"nail\",\n      \"code\": 986591,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 209V666L500 916 437.5 666V209H562.5ZM709 84H291V166H709V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nail\"\n      ]\n    },\n    {\n      \"uid\": \"84c62cbaafb424024416d4d30ef51ffe\",\n      \"css\": \"ocarina\",\n      \"code\": 986592,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q677.7 421.9 449.2 386.7L404.3 246.1Q396.5 224.6 375 215.8T333 215.8 304.7 246.1L261.7 375Q187.5 386.7 135.7 446.3T84 584Q84 669.9 144.5 730.5T291 791L341.8 789.1Q404.3 785.2 468.8 775.4 560.5 761.7 642.6 738.3 748 709 834 666L855.5 654.3Q878.9 638.7 894.5 623 916 601.6 916 583T894.5 543Q878.9 527.3 855.5 511.7ZM209 584Q189.5 584 177.7 572.3T166 542 177.7 511.7 208 500 238.3 511.7 250 541 238.3 571.3 209 584ZM291 709Q273.4 709 261.7 697.3T250 667 261.7 636.7 292 625 322.3 636.7 334 666 322.3 696.3 291 709ZM375 584Q355.5 584 344.7 572.3T334 542 344.7 511.7 375 500 405.3 511.7 416 541 404.3 571.3 375 584ZM459 709Q439.5 709 427.7 697.3T416 667 427.7 636.7 458 625 488.3 636.7 500 666 488.3 696.3 459 709ZM666 584Q648.4 584 636.7 572.3T625 542 636.7 511.7 667 500 697.3 511.7 709 541 697.3 571.3 666 584ZM791 625Q773.4 625 761.7 613.3T750 583 761.7 552.7 792 541 822.3 552.7 834 582 822.3 612.3 791 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ocarina\"\n      ]\n    },\n    {\n      \"uid\": \"cff72086a189024cc47cc1b0795f477f\",\n      \"css\": \"passport-biometric\",\n      \"code\": 986593,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V459H337.9Q353.5 402.3 398.4 368.2T500 334 601.6 368.2 662.1 459H916V250Q916 214.8 891.6 190.4T834 166H166ZM500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM84 541V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V541H662.1Q646.5 597.7 601.6 631.8T500 666 398.4 631.8 337.9 541H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"passport-biometric\"\n      ]\n    },\n    {\n      \"uid\": \"218cd8ee984ae4da6a3c177b177388bf\",\n      \"css\": \"pen-lock\",\n      \"code\": 986594,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 291Q900.4 296.9 890.6 306.6 875 324.2 875 334T892.6 365.2L900.4 375 908.2 382.8Q925.8 400.4 931.6 408.2 939.5 421.9 938.5 434.6T923.8 464.8Q916 474.6 896.5 496.1L724.6 666 666 613.3 841.8 437.5 800.8 396.5 742.2 455.1 584 294.9 750 136.7Q761.7 125 778.3 125T808.6 136.7L904.3 232.4Q916 246.1 916 264.6T904.3 291ZM166 716.8L566.4 316.4 720.7 474.6 324.2 875H166V716.8ZM334 209V187.5Q334 144.5 303.7 114.3T229.5 84 155.3 114.3 125 187.5V209Q105.5 209 94.7 219.7T84 250V416Q84 435.5 94.7 447.3T125 459H334Q351.6 459 363.3 447.3T375 416V250Q375 230.5 363.3 219.7T334 209ZM291 209H166V187.5Q166 162.1 185.5 143.6T229.5 125 272.5 143.6 291 187.5V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pen-lock\"\n      ]\n    },\n    {\n      \"uid\": \"a35f87929e1f14c39238ef8f178e738f\",\n      \"css\": \"pen-minus\",\n      \"code\": 986595,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 291Q859.4 296.9 849.6 306.6 834 324.2 834 334T851.6 365.2L857.4 375 867.2 382.8Q882.8 400.4 888.7 408.2 898.4 421.9 897.5 434.6T882.8 464.8Q875 474.6 853.5 496.1L683.6 666 625 613.3 800.8 437.5 757.8 396.5 699.2 455.1 541 294.9 709 136.7Q720.7 125 737.3 125T767.6 136.7L863.3 232.4Q875 246.1 875 264.6T863.3 291ZM125 716.8L525.4 316.4 679.7 474.6 283.2 875H125V716.8ZM416 209V291H84V209H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pen-minus\"\n      ]\n    },\n    {\n      \"uid\": \"6784ea51583f1451f9d4b4593b54a02c\",\n      \"css\": \"pen-off\",\n      \"code\": 986596,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M95.7 209L41 261.7 312.5 533.2 125 716.8V875H283.2L470.7 687.5 742.2 959 794.9 904.3ZM705.1 455.1L544.9 294.9 709 136.7Q720.7 125 737.3 125T767.6 136.7L863.3 232.4Q875 246.1 875 262.7T863.3 291L849.6 306.6Q834 324.2 834 334 834 349.6 857.4 375 878.9 396.5 886.7 406.3 898.4 421.9 897.5 434.6T882.8 464.8Q875 474.6 853.5 496.1L683.6 666 625 613.3 800.8 437.5 757.8 396.5ZM416 425.8L521.5 320.3 679.7 478.5 574.2 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pen-off\"\n      ]\n    },\n    {\n      \"uid\": \"7d895dc2adebd54c86f6c483f16dac4c\",\n      \"css\": \"pen-plus\",\n      \"code\": 986597,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 291Q859.4 296.9 849.6 306.6 834 324.2 834 334T851.6 365.2L857.4 375 867.2 382.8Q882.8 400.4 888.7 408.2 898.4 421.9 897.5 434.6T882.8 464.8Q875 474.6 853.5 496.1L683.6 666 625 613.3 800.8 437.5 757.8 396.5 699.2 455.1 541 294.9 709 136.7Q720.7 125 737.3 125T767.6 136.7L863.3 232.4Q875 246.1 875 264.6T863.3 291ZM125 716.8L525.4 316.4 679.7 474.6 283.2 875H125V716.8ZM291 84V209H416V291H291V416H209V291H84V209H209V84H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pen-plus\"\n      ]\n    },\n    {\n      \"uid\": \"c0848c246fa8ebfc614c3faaaf42ad9a\",\n      \"css\": \"pen-remove\",\n      \"code\": 986598,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 291Q859.4 296.9 849.6 306.6 834 324.2 834 334T851.6 365.2L857.4 375 867.2 382.8Q882.8 400.4 888.7 408.2 898.4 421.9 897.5 434.6T882.8 464.8Q875 474.6 853.5 496.1L683.6 666 625 613.3 800.8 437.5 757.8 396.5 699.2 455.1 541 294.9 709 136.7Q720.7 125 737.3 125T767.6 136.7L863.3 232.4Q875 246.1 875 264.6T863.3 291ZM125 716.8L525.4 316.4 679.7 474.6 283.2 875H125V716.8ZM162.1 101.6L250 191.4 337.9 101.6 398.4 162.1 308.6 250 398.4 337.9 337.9 398.4 250 308.6 162.1 398.4 101.6 337.9 191.4 250 101.6 162.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pen-remove\"\n      ]\n    },\n    {\n      \"uid\": \"1acabc5ad35a023c80c533099ba402e4\",\n      \"css\": \"pencil-lock-outline\",\n      \"code\": 986599,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M669.9 375L709 412.1 330.1 791H291V753.9ZM820.3 125Q804.7 125 791 136.7L716.8 212.9 871.1 371.1 945.3 291Q959 279.3 959 262.7T945.3 232.4L849.6 136.7Q837.9 125 820.3 125ZM669.9 257.8L209 716.8V875H367.2L824.2 412.1ZM334 209V187.5Q334 144.5 303.7 114.3T229.5 84 155.3 114.3 125 187.5V209Q105.5 209 94.7 219.7T84 250V416Q84 435.5 94.7 447.3T125 459H334Q351.6 459 363.3 447.3T375 416V250Q375 230.5 363.3 219.7T334 209ZM291 209H166V187.5Q166 162.1 185.5 143.6T229.5 125 272.5 143.6 291 187.5V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3a9da56559d02cb917751b2c0a19e4f0\",\n      \"css\": \"pencil-minus\",\n      \"code\": 986600,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 291Q875 279.3 875 262.7T863.3 232.4L767.6 136.7Q753.9 125 737.3 125T709 136.7L632.8 212.9 791 371.1ZM125 716.8V875H283.2L742.2 412.1 587.9 253.9ZM416 209V291H84V209H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-minus\"\n      ]\n    },\n    {\n      \"uid\": \"22ded9192347671bbc80cd8b178609c1\",\n      \"css\": \"pencil-minus-outline\",\n      \"code\": 986601,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M587.9 375L625 412.1 246.1 791H209V753.9ZM738.3 125Q720.7 125 709 136.7L632.8 212.9 787.1 371.1 863.3 291Q875 279.3 875 262.7T863.3 232.4L767.6 136.7Q753.9 125 738.3 125ZM587.9 257.8L125 716.8V875H283.2L742.2 412.1ZM416 209V291H84V209H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"669068e3defc083c8a402b0e10cf6dec\",\n      \"css\": \"pencil-off-outline\",\n      \"code\": 986602,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 425.8L584 257.8 742.2 416 574.2 584 517.6 525.4 625 412.1 587.9 375 478.5 482.4ZM863.3 232.4L767.6 136.7Q753.9 125 737.3 125T709 136.7L632.8 212.9 791 371.1 863.3 291Q875 283.2 875 264.6T863.3 232.4ZM791 904.3L738.3 959 466.8 687.5 283.2 875H125V716.8L312.5 529.3 41 261.7 95.7 209ZM408.2 628.9L371.1 591.8 209 753.9V791H246.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"df0645d2e120246e224750cc815cde0e\",\n      \"css\": \"pencil-plus\",\n      \"code\": 986603,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 291Q875 279.3 875 262.7T863.3 232.4L767.6 136.7Q753.9 125 737.3 125T709 136.7L632.8 212.9 791 371.1ZM125 716.8V875H283.2L742.2 412.1 587.9 253.9ZM291 84V209H416V291H291V416H209V291H84V209H209V84H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-plus\"\n      ]\n    },\n    {\n      \"uid\": \"2b862616ef83911d08902a3f84316509\",\n      \"css\": \"pencil-plus-outline\",\n      \"code\": 986604,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M587.9 375L625 412.1 246.1 791H209V753.9ZM738.3 125Q720.7 125 709 136.7L632.8 212.9 787.1 371.1 863.3 291Q875 279.3 875 262.7T863.3 232.4L767.6 136.7Q753.9 125 738.3 125ZM587.9 257.8L125 716.8V875H283.2L742.2 412.1ZM291 84V209H416V291H291V416H209V291H84V209H209V84H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"13cb449d22a0c810ac243ba2ea7ed575\",\n      \"css\": \"pencil-remove\",\n      \"code\": 986605,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 291Q875 279.3 875 262.7T863.3 232.4L767.6 136.7Q753.9 125 737.3 125T709 136.7L632.8 212.9 791 371.1ZM125 716.8V875H283.2L742.2 412.1 587.9 253.9ZM162.1 99.6L250 187.5 337.9 99.6 396.5 158.2 308.6 246.1 396.5 334 337.9 396.5 250 308.6 162.1 396.5 103.5 337.9 191.4 250 103.5 158.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-remove\"\n      ]\n    },\n    {\n      \"uid\": \"10cd410ad43667ece60979a67a52fa40\",\n      \"css\": \"pencil-remove-outline\",\n      \"code\": 986606,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M738.3 125Q720.7 125 709 136.7L632.8 212.9 787.1 371.1 863.3 291Q875 279.3 875 262.7T863.3 232.4L767.6 136.7Q753.9 125 738.3 125ZM587.9 257.8L125 716.8V875H283.2L742.2 412.1ZM246.1 791H209V753.9L587.9 375 625 412.1ZM162.1 103.5L250 191.4 337.9 103.5 396.5 162.1 308.6 250 396.5 337.9 337.9 396.5 250 308.6 162.1 396.5 103.5 337.9 191.4 250 103.5 162.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"539b9363fbe8235092d66b22e45aabb6\",\n      \"css\": \"phone-off\",\n      \"code\": 986607,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M841.8 103.5L103.5 841.8 156.3 896.5 361.3 693.4Q457 781.3 580.1 828.1T834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q480.5 689.5 419.9 632.8L896.5 156.3ZM166 125Q148.4 125 136.7 136.7T125 166Q125 277.3 159.2 383.8T259.8 580.1L318.4 521.5Q294.9 488.3 275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-off\"\n      ]\n    },\n    {\n      \"uid\": \"03aa6baf551a22680e11f7763c06dbef\",\n      \"css\": \"phone-outline\",\n      \"code\": 986608,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-outline\"\n      ]\n    },\n    {\n      \"uid\": \"18e393e97f4d88176b928d695c7775d5\",\n      \"css\": \"pi-hole\",\n      \"code\": 986609,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M234.4 84Q353.5 84 418.9 149.4T490.2 330.1Q503.9 250 548.8 209 580.1 177.7 625 171.9 648.4 168 664.1 169.9V169.9Q668 244.1 615.2 291 566.4 335.9 490.2 339.8 478.5 314.5 429.7 263.7 394.5 228.5 345.7 183.6L302.7 144.5 310.5 154.3Q457 289.1 451.2 339.8 365.2 330.1 306.6 269.5 240.2 201.2 234.4 84ZM252 546.9L414.1 384.8Q449.2 349.6 502 349.6T589.8 384.8L750 546.9Q787.1 582 787.1 633.8T750 722.7L589.8 882.8Q554.7 919.9 502 919.9T414.1 882.8L252 722.7Q216.8 685.5 216.8 633.8T252 546.9ZM390.6 816.4Q390.6 771.5 418 740.2 447.3 701.2 503.9 701.2 529.3 701.2 582 724.6 615.2 738.3 630.9 742.2 658.2 750 679.7 748 632.8 746.1 599.6 714.8T566.4 632.8Q566.4 615.2 572.3 595.7 576.2 584 587.9 558.6T603.5 519.5Q611.3 494.1 611.3 472.7 609.4 509.8 584 539.1 550.8 574.2 500 574.2 480.5 574.2 459 566.4 447.3 562.5 419.9 550.8T378.9 535.2Q351.6 525.4 328.1 525.4 361.3 527.3 394.5 550.8 437.5 584 437.5 638.7 437.5 662.1 431.6 681.6 427.7 693.4 416 717.8T398.4 759.8Q390.6 785.2 390.6 816.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pi-hole\"\n      ]\n    },\n    {\n      \"uid\": \"e710a1276a01adbac5e1ab5a90819146\",\n      \"css\": \"playlist-star\",\n      \"code\": 986610,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 794.9L810.5 857.4 783.2 740.2 875 662.1 753.9 652.3 709 541 662.1 652.3 541 662.1 632.8 740.2 603.5 857.4ZM166 584H500V666H166V584ZM166 250H666V334H166V250ZM166 416H666V500H166V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"playlist-star\"\n      ]\n    },\n    {\n      \"uid\": \"11c9beb7b9cf6f09f20032e8b296a60a\",\n      \"css\": \"screw-flat-top\",\n      \"code\": 986611,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 709V791L500 916 437.5 791ZM603.5 261.7L562.5 291V250H437.5V375L396.5 404.3V445.3L603.5 308.6V261.7ZM603.5 429.7L562.5 459V375L437.5 459V541L396.5 570.3V613.3L603.5 474.6V429.7ZM603.5 595.7L562.5 625V541L437.5 625V709L396.5 738.3V779.3L603.5 642.6V595.7ZM334 84H322.3Q310.5 87.9 302.7 95.7 291 107.4 291 125L416 209H584L709 125 707 113.3Q703.1 101.6 695.3 93.8 685.5 84 666 84H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screw-flat-top\"\n      ]\n    },\n    {\n      \"uid\": \"f224153534641a695a5fcd7d2a74e6df\",\n      \"css\": \"screw-lag\",\n      \"code\": 986612,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 804.7L584 691.4V834L500 916 416 834V804.7ZM584 529.3L416 642.6V724.6L375 750V791L625 628.9V584L584 613.3V529.3ZM291 84V209H709V84H291ZM375 250V375L416 404.3V558.6L375 584V625L625 462.9V416L584 445.3V404.3L625 375V250H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screw-lag\"\n      ]\n    },\n    {\n      \"uid\": \"0d41048b1935841cf5aa8c6af6f67720\",\n      \"css\": \"screw-machine-flat-top\",\n      \"code\": 986613,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 304.7L562.5 334V291H437.5V416L396.5 445.3V488.3L603.5 349.6V304.7ZM603.5 470.7L562.5 500V416L437.5 500V584L396.5 613.3V654.3L603.5 517.6V470.7ZM603.5 636.7L562.5 666V584L437.5 666V750L396.5 779.3V820.3L603.5 683.6V636.7ZM334 125Q328.1 125 322.3 127 310.5 128.9 302.7 136.7 291 148.4 291 166L416 250H584L709 166 707 156.3Q703.1 142.6 695.3 136.7 685.5 125 666 125H334ZM562.5 750V875H437.5V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screw-machine-flat-top\"\n      ]\n    },\n    {\n      \"uid\": \"b559b5ed00bf28ba355c17090c421a8b\",\n      \"css\": \"screw-machine-round-top\",\n      \"code\": 986614,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 304.7L562.5 334V291H437.5V416L396.5 445.3V488.3L603.5 349.6V304.7ZM603.5 470.7L562.5 500V416L437.5 500V584L396.5 613.3V654.3L603.5 517.6V470.7ZM603.5 636.7L562.5 666V584L437.5 666V750L396.5 779.3V820.3L603.5 683.6V636.7ZM291 250H709L699.2 230.5Q685.5 207 666 187.5 638.7 160.2 603.5 144.5 556.6 125 500 125T396.5 144.5Q361.3 160.2 334 187.5 314.5 207 300.8 230.5ZM562.5 750V875H437.5V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screw-machine-round-top\"\n      ]\n    },\n    {\n      \"uid\": \"f034b9fa09598c7b2c8ed28d53cb5b7c\",\n      \"css\": \"screw-round-top\",\n      \"code\": 986615,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M562.5 709V791L500 916 437.5 791ZM603.5 261.7L562.5 291V250H437.5V375L396.5 404.3V445.3L603.5 308.6V261.7ZM603.5 429.7L562.5 459V375L437.5 459V541L396.5 570.3V613.3L603.5 474.6V429.7ZM603.5 595.7L562.5 625V541L437.5 625V709L396.5 738.3V779.3L603.5 642.6V595.7ZM291 209H709L699.2 189.5Q685.5 166 666 146.5 638.7 119.1 603.5 103.5 556.6 84 500 84 396.5 84 334 146.5 302.7 177.7 291 209V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"screw-round-top\"\n      ]\n    },\n    {\n      \"uid\": \"277249e923768a718a7b02abb27cdd6e\",\n      \"css\": \"send-circle\",\n      \"code\": 986616,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM334 320.3V460.9L630.9 500 334 539.1V679.7L750 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-circle\"\n      ]\n    },\n    {\n      \"uid\": \"c0e08593b26482d59475c35bcf50f997\",\n      \"css\": \"send-circle-outline\",\n      \"code\": 986617,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 320.3L750 500 334 679.7V539.1L630.9 500 334 460.9V320.3ZM500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3caf9c32ebfcb7f15b8b78c536cd70b6\",\n      \"css\": \"shoe-print\",\n      \"code\": 986618,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M447.3 488.3Q462.9 531.3 457 562.5 447.3 599.6 406.3 613.3 332 640.6 289.1 595.7 265.6 572.3 257.8 537.1L255.9 535.2ZM238.3 455.1L418 410.2Q414.1 382.8 418 328.1 421.9 291 421.9 271.5 421.9 232.4 404.3 187.5 384.8 136.7 355.5 109.4 318.4 76.2 279.3 85.9 210.9 101.6 183.6 169.9 162.1 220.7 166 277.3 169.9 322.3 232.4 443.4ZM744.1 826.2Q736.3 859.4 712.9 884.8 669.9 933.6 593.8 906.3 552.7 890.6 544.9 853.5 537.1 822.3 552.7 779.3ZM834 568.4Q837.9 511.7 816.4 462.9 789.1 394.5 722.7 377 681.6 367.2 646.5 398.4 615.2 427.7 595.7 478.5 578.1 523.4 578.1 562.5 578.1 582 582 621.1 587.9 675.8 584 701.2L761.7 746.1 765.6 738.3Q830.1 615.2 834 568.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shoe-print\"\n      ]\n    },\n    {\n      \"uid\": \"92163b8fd09ab413afa4fc2c8ed35f35\",\n      \"css\": \"signature\",\n      \"code\": 986619,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H84V834H916V916ZM93.8 701.2L212.9 584 93.8 464.8 152.3 406.3 271.5 525.4 388.7 406.3 447.3 464.8 330.1 584 447.3 701.2 388.7 759.8 271.5 642.6 152.3 759.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signature\"\n      ]\n    },\n    {\n      \"uid\": \"00472b71f1821731364890fe544421a7\",\n      \"css\": \"signature-freehand\",\n      \"code\": 986620,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H84V834H916V916ZM257.8 720.7L228.5 750 169.9 691.4 113.3 750 84 720.7 142.6 662.1 84 603.5 113.3 574.2 169.9 632.8 228.5 574.2 257.8 603.5 199.2 662.1ZM675.8 601.6Q675.8 564.5 585.9 519.5 474.6 462.9 432.6 427.7T390.6 349.6Q390.6 238.3 504.9 165T689.5 91.8Q736.3 91.8 757.8 107.4T779.3 162.1Q779.3 179.7 763.7 192.4T740.2 205.1 712.9 193.4L689.5 181.6Q660.2 181.6 571.3 223.6T482.4 318.4Q482.4 349.6 513.7 376T625 439.5Q691.4 468.8 729.5 502.9T767.6 584Q767.6 668 649.4 715.8T423.8 763.7Q334 763.7 334 703.1 334 681.6 354.5 671.9T396.5 662.1L457 671.9Q519.5 671.9 589.8 651.4T675.8 601.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signature-freehand\"\n      ]\n    },\n    {\n      \"uid\": \"4e9025004e78609c35058ed612844058\",\n      \"css\": \"signature-image\",\n      \"code\": 986621,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H84V834H916V916ZM257.8 720.7L199.2 662.1 257.8 603.5 228.5 574.2 169.9 632.8 113.3 574.2 84 603.5 142.6 662.1 84 720.7 113.3 750 169.9 691.4 228.5 750ZM834 209H416Q382.8 209 358.4 233.4T334 291V666Q334 701.2 358.4 725.6T416 750H834Q867.2 750 891.6 725.6T916 666V291Q916 257.8 891.6 233.4T834 209ZM416 666L525.4 529.3 599.6 621.1 699.2 482.4 834 666H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signature-image\"\n      ]\n    },\n    {\n      \"uid\": \"c117a67c16fcb78791b12b6215fdadb8\",\n      \"css\": \"signature-text\",\n      \"code\": 986622,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H84V834H916V916ZM257.8 720.7L199.2 662.1 257.8 603.5 228.5 574.2 169.9 632.8 113.3 574.2 84 603.5 142.6 662.1 84 720.7 113.3 750 169.9 691.4 228.5 750ZM853.5 125L904.3 308.6 863.3 320.3 853.5 304.7Q822.3 246.1 804.7 230.5T767.6 210.9Q753.9 209 728.5 209H625V646.5Q625 666 627 675.8 628.9 689.5 636.7 695.3 650.4 705.1 709 705.1V746.1H459V705.1Q511.7 705.1 529.3 695.3 537.1 689.5 541 675.8V646.5 209H437.5Q412.1 209 400.4 210.9 378.9 214.8 363.3 224.6 335.9 246.1 304.7 316.4L261.7 304.7 312.5 125H853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signature-text\"\n      ]\n    },\n    {\n      \"uid\": \"6d92fc0f0393aac5f2857bfeedb83492\",\n      \"css\": \"slope-downhill\",\n      \"code\": 986623,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 791V916H84V541ZM794.9 312.5L759.8 427.7 337.9 302.7Q335.9 252 298.8 218.8T211.9 187.5 128.9 226.6 97.7 313.5 136.7 397.5 224.6 429.7Q252 427.7 275.4 415T314.5 378.9L736.3 503.9 701.2 621.1 902.3 511.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slope-downhill\"\n      ]\n    },\n    {\n      \"uid\": \"a5bb042c33720fd2e73c8508c4436783\",\n      \"css\": \"slope-uphill\",\n      \"code\": 986624,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V916H84V791ZM904.3 294.9L703.1 185.5 738.3 300.8 316.4 425.8Q285.2 386.7 236.3 378.9T147.5 400.4 99.6 479.5 121.1 569.3 200.2 617.2 289.1 595.7Q312.5 580.1 325.2 555.7T339.8 503.9L761.7 378.9 794.9 494.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slope-uphill\"\n      ]\n    },\n    {\n      \"uid\": \"5745dc1e6e49d9ea3792202f6a398d46\",\n      \"css\": \"thermometer-alert\",\n      \"code\": 986625,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500V291H791V500H709ZM709 666V584H791V666H709ZM541 541V209Q541 156.3 504.9 120.1T417 84 328.1 120.1 291 209V541Q246.1 576.2 224.6 627T210 732.4 250 833 335 900.4 441.4 915 542 875 609.4 790 624 683.6 584 584Q566.4 558.6 541 541ZM416 166Q433.6 166 446.3 178.7T459 209V334H375V209Q375 191.4 387.7 178.7T416 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-alert\"\n      ]\n    },\n    {\n      \"uid\": \"0baf1085c72d7ecd3bf93d5ef9ffd04a\",\n      \"css\": \"thermometer-chevron-down\",\n      \"code\": 986626,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M724.6 507.8L593.8 375 535.2 433.6 724.6 625 916 433.6 857.4 375ZM416 541V209Q416 156.3 379.9 120.1T292 84 203.1 120.1 166 209V541Q121.1 576.2 99.6 627T85 732.4 125 833 210 900.4 316.4 915 417 875 484.4 790 499 683.6 459 584Q441.4 558.6 416 541ZM291 166Q308.6 166 321.3 178.7T334 209V334H250V209Q250 191.4 262.7 178.7T291 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-chevron-down\"\n      ]\n    },\n    {\n      \"uid\": \"478c031b4587b9e7903de9092f23a839\",\n      \"css\": \"thermometer-chevron-up\",\n      \"code\": 986627,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M724.6 492.2L857.4 625 916 566.4 724.6 375 533.2 566.4 593.8 625ZM416 541V209Q416 156.3 379.9 120.1T292 84 203.1 120.1 166 209V541Q121.1 576.2 99.6 627T85 732.4 125 833 210 900.4 316.4 915 417 875 484.4 790 499 683.6 459 584Q441.4 558.6 416 541ZM291 166Q308.6 166 321.3 178.7T334 209V334H250V209Q250 191.4 262.7 178.7T291 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-chevron-up\"\n      ]\n    },\n    {\n      \"uid\": \"b2381dd92a3ab07674ace8be3ab8f7b8\",\n      \"css\": \"thermometer-minus\",\n      \"code\": 986628,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 459H584V541H916V459ZM459 541V209Q459 156.3 421.9 120.1T333 84 245.1 120.1 209 209V541Q162.1 576.2 140.6 627T126 732.4 167 833 252 900.4 357.4 915 458 875 525.4 790 540 683.6 500 584Q482.4 558.6 459 541ZM334 166Q349.6 166 362.3 178.7T375 209V334H291V209Q291 191.4 303.7 178.7T334 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-minus\"\n      ]\n    },\n    {\n      \"uid\": \"4c9193644d68c6aeadb28d95425226e6\",\n      \"css\": \"thermometer-plus\",\n      \"code\": 986629,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459V334H709V459H584V541H709V666H791V541H916V459H791ZM459 541V209Q459 156.3 421.9 120.1T333 84 245.1 120.1 209 209V541Q162.1 576.2 140.6 627T126 732.4 167 833 252 900.4 357.4 915 458 875 525.4 790 540 683.6 500 584Q482.4 558.6 459 541ZM334 166Q349.6 166 362.3 178.7T375 209V334H291V209Q291 191.4 303.7 178.7T334 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-plus\"\n      ]\n    },\n    {\n      \"uid\": \"e56f01f149788ac3377f265c317cf81a\",\n      \"css\": \"translate-off\",\n      \"code\": 986630,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M507.8 242.2Q490.2 294.9 459 349.6L513.7 406.3Q562.5 328.1 587.9 242.2H714.8V156.3H414.1V70.3H328.1V156.3H265.6L351.6 242.2H507.8ZM646.5 537.1L709 599.6 736.3 529.3 794.9 685.5 933.6 824.2 779.3 414.1H693.4ZM54.7 54.7L0 109.4 46.9 156.3H27.3V242.2H132.8L218.8 328.1H185.5Q234.4 435.5 314.5 523.4L95.7 740.2 156.3 800.8 371.1 585.9 503.9 718.8 533.2 642.6 587.9 697.3 500 929.7H585.9L634.8 800.8H691.4L890.6 1000 945.3 945.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"translate-off\"\n      ]\n    },\n    {\n      \"uid\": \"339f8025ed7e875611aa4d6dfc1d70cd\",\n      \"css\": \"upload-outline\",\n      \"code\": 986631,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 416V666H625V416H791L500 125 209 416H375ZM500 242.2L591.8 334H541V584H459V334H408.2ZM791 750H209V834H791V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-outline\"\n      ]\n    },\n    {\n      \"uid\": \"571707bb11320fac1c5c3e659e4fabfe\",\n      \"css\": \"volume-variant-off\",\n      \"code\": 986632,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M234.4 152.3L890.6 806.6 832 865.2 666 701.2V834L459 625H291V375H339.8L175.8 210.9ZM666 166V464.8L517.6 316.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"38516e12ea02b6e32929c6d44bdd6572\",\n      \"css\": \"wallpaper\",\n      \"code\": 986633,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166H459V84H166Q132.8 84 108.4 108.4T84 166V459H166V166ZM416 541L250 750H750L625 584 541 695.3ZM709 353.5Q709 328.1 690.4 309.6T645.5 291 601.6 309.6 584 354.5 601.6 398.4 645.5 416 690.4 398.4 709 353.5ZM834 84H541V166H834V459H916V166Q916 132.8 891.6 108.4T834 84ZM834 834H541V916H834Q867.2 916 891.6 891.6T916 834V541H834V834ZM166 541H84V834Q84 867.2 108.4 891.6T166 916H459V834H166V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallpaper\"\n      ]\n    },\n    {\n      \"uid\": \"ff325e6990e19fd8b1a63e10dfe75724\",\n      \"css\": \"water-outline\",\n      \"code\": 986634,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 156.3L468.8 191.4 435.5 232.4Q394.5 281.3 361.3 330.1 310.5 406.3 285.2 457 250 533.2 250 593.8 250 660.2 283.2 717.8T374 809.6 500 843.8 626 809.6 716.8 717.8 750 593.8Q750 533.2 714.8 457 689.5 406.3 638.7 330.1 605.5 281.3 564.5 232.4L531.3 191.4ZM500 287.1Q502 291 507.8 296.9 539.1 334 570.3 377 609.4 435.5 636.7 494.1 666 558.6 666 593.8 666 662.1 618.2 710.9T500 759.8 381.8 710.9 334 593.8Q334 558.6 363.3 494.1 390.6 435.5 429.7 377 460.9 334 492.2 296.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8ec89d2b01e9f51051426a4650dd05fa\",\n      \"css\": \"wifi-star\",\n      \"code\": 986635,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q394.5 250 299.8 282.2T125 375L50.8 275.4Q144.5 203.1 259.8 164.1T500 125 740.2 164.1 949.2 275.4L875 375Q794.9 314.5 700.2 282.2T500 250ZM541 791Q541 705.1 591.8 642.6 533.2 625 500 625 421.9 625 349.6 675.8L500 875 541 816.4V791ZM699.2 558.6Q712.9 554.7 746.1 544.9L800.8 474.6Q736.3 427.7 659.2 401.4T500 375 340.8 401.4 199.2 474.6L275.4 574.2Q322.3 539.1 380.9 519.5T500 500Q609.4 500 699.2 558.6ZM687.5 941.4L716.8 824.2 625 746.1 746.1 738.3 791 625 837.9 732.4 959 742.2 867.2 820.3 896.5 937.5 791 878.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wifi-star\"\n      ]\n    },\n    {\n      \"uid\": \"0de3b95472ebd3704901d760aba1f6fa\",\n      \"css\": \"palette-outline\",\n      \"code\": 986636,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q418 916 340.8 884.8T205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84Q613.3 84 709 133.8T860.4 269.5 916 459Q916 525.4 882.8 583T792 674.8 666 709H591.8Q582 709 576.2 714.8T570.3 728.5Q570.3 730.5 572.3 735.4T574.2 742.2Q599.6 773.4 599.6 812.5 603.5 855.5 574.2 885.7T500 916ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834Q509.8 834 515.6 828.1T521.5 812.5Q521.5 808.6 517.6 800.8V794.9Q492.2 763.7 492.2 728.5 492.2 685.5 522.5 655.3T595.7 625H666Q736.3 625 785.2 576.2T834 459Q834 378.9 789.1 311.5T667 205.1 500 166ZM271.5 416Q294.9 416 314.5 435.5T334 479.5 314.5 522.5 270.5 541 227.5 522.5 209 479.5 227.5 435.5 271.5 416ZM396.5 250Q419.9 250 439.5 268.6T459 312.5 439.5 356.4 395.5 375 352.5 356.4 334 312.5 352.5 268.6 396.5 250ZM603.5 250Q628.9 250 647.5 268.6T666 312.5 647.5 356.4 604.5 375 560.5 356.4 541 312.5 560.5 268.6 603.5 250ZM728.5 416Q753.9 416 772.5 435.5T791 479.5 772.5 522.5 729.5 541 685.5 522.5 666 479.5 685.5 435.5 728.5 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"palette-outline\"\n      ]\n    },\n    {\n      \"uid\": \"216991dc933dd43f3eee4702daf31f1f\",\n      \"css\": \"badge-account-horizontal\",\n      \"code\": 986637,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166H584V291H416V166H84Q48.8 166 24.4 190.4T0 250V834Q0 867.2 24.4 891.6T84 916H916Q951.2 916 975.6 891.6T1000 834V250Q1000 214.8 975.6 190.4T916 166ZM334 375Q367.2 375 391.6 399.4T416 458 391.6 516.6 333 541 274.4 516.6 250 458 274.4 399.4 334 375ZM500 709H166V666Q166 628.9 228.5 603.5 281.3 584 333 584T437.5 603.5Q500 628.9 500 666V709ZM834 750H584V666H834V750ZM834 584H584V500H834V584ZM834 416H584V334H834V416ZM541 250H459V84H541V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badge-account-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"95d297cfd80a8ed9fdefad17f539d687\",\n      \"css\": \"badge-account-horizontal-outline\",\n      \"code\": 986638,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 375Q367.2 375 391.6 399.4T416 458 391.6 516.6 333 541 274.4 516.6 250 458 274.4 399.4 334 375ZM500 709H166V666Q166 628.9 228.5 603.5 281.3 584 333 584T437.5 603.5Q500 628.9 500 666V709ZM834 334H584V416H834V334ZM834 500H584V584H834V500ZM834 666H584V750H834V666ZM916 166H584V250H916V834H84V250H416V166H84Q48.8 166 24.4 190.4T0 250V834Q0 867.2 24.4 891.6T84 916H916Q951.2 916 975.6 891.6T1000 834V250Q1000 214.8 975.6 190.4T916 166ZM541 250H459V84H541V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"badge-account-horizontal-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8efb7ad1bf2853424210eed9420da558\",\n      \"css\": \"aws\",\n      \"code\": 986639,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M318.4 431.6Q318.4 449.2 320.3 459L330.1 476.6Q332 480.5 332 484.4T326.2 492.2L308.6 503.9Q304.7 505.9 301.8 505.9T293 501 283.2 488.3L275.4 472.7Q242.2 511.7 193.4 511.7 158.2 511.7 137.7 491.2T117.2 437.5 143.6 381.8 210.9 359.4Q222.7 359.4 239.3 361.3T271.5 367.2V347.7Q271.5 316.4 258.8 303.7T214.8 291Q199.2 291 182.6 294.9T154.3 302.7L140.6 306.6Q134.8 306.6 134.8 298.8V285.2Q134.8 279.3 136.7 276.4T144.5 271.5Q158.2 261.7 178.7 256.8T222.7 252Q271.5 252 294.9 274.4T318.4 343.8V431.6 431.6ZM205.1 474.6Q218.8 474.6 233.4 469.7T259.8 451.2Q267.6 443.4 271.5 433.6L273.4 398.4Q267.6 396.5 257.8 396.5L248 394.5 220.7 392.6Q193.4 392.6 179.7 403.3T166 434.6 175.8 464.8 205.1 474.6ZM427.7 503.9Q421.9 503.9 418 500T412.1 492.2L345.7 275.4 343.8 265.6Q343.8 257.8 351.6 257.8H377Q386.7 257.8 389.6 260.7T394.5 273.4L441.4 455.1 484.4 273.4Q486.3 263.7 490.2 260.7T500 257.8H523.4Q531.3 257.8 534.2 260.7T539.1 273.4L584 459 630.9 273.4Q632.8 265.6 636.7 261.7T646.5 257.8H673.8Q679.7 257.8 679.7 265.6L611.3 492.2Q607.4 500 604.5 502.9T593.8 505.9H570.3Q564.5 505.9 559.6 502T554.7 492.2L511.7 312.5 468.8 490.2Q466.8 498 462.9 501T451.2 503.9H427.7ZM785.2 511.7Q761.7 511.7 741.2 506.8T710.9 496.1Q703.1 492.2 701.2 488.3T699.2 480.5V466.8Q699.2 459 705.1 459H710.9L718.8 460.9Q732.4 468.8 749 471.7T781.3 474.6Q808.6 474.6 822.3 464.8T835.9 439.5Q835.9 427.7 828.1 419.9T800.8 406.3L759.8 392.6Q728.5 382.8 715.8 364.3T703.1 324.2Q703.1 306.6 710 293.9T730.5 271.5 759.8 256.8 793 252H812.5L830.1 255.9 845.7 259.8 857.4 265.6Q863.3 269.5 866.2 272.5T869.1 281.3V294.9Q869.1 302.7 864.3 302.7T851.6 300.8Q828.1 289.1 798.8 289.1 775.4 289.1 761.7 296.9T748 322.3Q748 334 755.9 341.8T787.1 357.4L826.2 369.1Q855.5 377 869.1 394.5T882.8 435.5Q882.8 451.2 875 466.8T855.5 491.2 825.2 505.9 785.2 511.7ZM835.9 646.5Q769.5 695.3 675.8 724.6 587.9 750 500 750 380.9 750 275.4 709T87.9 593.8Q80.1 587.9 85 582T95.7 580.1Q187.5 632.8 293 661.1T507.8 689.5Q673.8 689.5 824.2 625 835.9 621.1 841.8 629.9T835.9 646.5ZM875 603.5Q863.3 589.8 771.5 599.6H767.6Q761.7 601.6 760.7 596.7T765.6 587.9Q789.1 570.3 824.2 564.5 853.5 560.5 880.9 564.5T913.1 574.2 915 607.4 898.4 662.1Q884.8 693.4 861.3 712.9 855.5 716.8 851.6 715.8T849.6 709L851.6 707Q886.7 619.1 875 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"aws\"\n      ]\n    },\n    {\n      \"uid\": \"c99c62ed4638e62757ce7f1fa0f55bbd\",\n      \"css\": \"bag-personal\",\n      \"code\": 986640,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V209Q263.7 209 214.8 257.8T166 375V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V375Q834 306.6 785.2 257.8T666 209ZM416 166H584V209H416V166ZM500 375L584 459 500 541 416 459ZM750 666H375V750H334V666H250V625H750V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-personal\"\n      ]\n    },\n    {\n      \"uid\": \"49f6b394b6971d3d56f25723a0234bc6\",\n      \"css\": \"bag-personal-off\",\n      \"code\": 986641,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 806.6L99.6 72.3 46.9 125 199.2 277.3Q166 320.3 166 375V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 810.5 888.7L869.1 947.3 921.9 894.5ZM375 666V750H334V666H250V625H546.9L587.9 666H375ZM834 375Q834 306.6 785.2 257.8T666 209V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V199.2L834 699.2V375ZM584 209H416V166H584V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-personal-off\"\n      ]\n    },\n    {\n      \"uid\": \"0a133d0221fb670f4618673903d98ff1\",\n      \"css\": \"bag-personal-off-outline\",\n      \"code\": 986642,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 806.6L99.6 72.3 46.9 125 199.2 277.3Q166 320.3 166 375V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 810.5 888.7L869.1 947.3 921.9 894.5ZM250 375Q250 355.5 259.8 337.9L546.9 625H250V375ZM750 834H250V666H334V750H375V666H587.9L750 828.1V834ZM666 291Q701.2 291 725.6 315.4T750 375V617.2L834 699.2V375Q834 306.6 785.2 257.8T666 209V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V199.2L425.8 291H666ZM416 166H584V209H416V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-personal-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0e6228a2db4b4d4d8249ed1dd80fd6bd\",\n      \"css\": \"bag-personal-outline\",\n      \"code\": 986643,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V209Q263.7 209 214.8 257.8T166 375V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V375Q834 306.6 785.2 257.8T666 209ZM416 166H584V209H416V166ZM500 375L584 459 500 541 416 459ZM750 834H250V666H334V750H375V666H750V834ZM750 625H250V375Q250 339.8 274.4 315.4T334 291H666Q701.2 291 725.6 315.4T750 375V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-personal-outline\"\n      ]\n    },\n    {\n      \"uid\": \"963a4506f51ff2abd8fe3e4b2859e368\",\n      \"css\": \"biathlon\",\n      \"code\": 986644,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 152.3Q560.5 152.3 578.1 168.9T595.7 210 578.1 251 536.1 267.6 495.1 251 478.5 210 495.1 168.9 537.1 152.3ZM625 541H687.5V791H625V541ZM625 353.5H687.5V416H625V353.5ZM418 107.4L334 85.9 252 357.4 162.1 476.6 298.8 515.6ZM820.3 773.4Q816.4 775.4 810.5 783.2 783.2 814.5 767.6 820.3 738.3 834 709 834H562.5L560.5 709Q558.6 697.3 552.7 687.5L453.1 509.8 490.2 396.5 544.9 492.2Q554.7 505.9 570.3 505.9H662.1Q675.8 505.9 685.5 496.1T695.3 472.7 686.5 449.2 664.1 439.5L595.7 433.6 517.6 291 511.7 285.2Q503.9 277.3 492.2 272.5T464.8 267.6Q439.5 267.6 427.7 278.3T410.2 308.6L250 834H125V916H709Q787.1 916 853.5 849.6ZM406.3 599.6L484.4 724.6 490.2 834H322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"biathlon\"\n      ]\n    },\n    {\n      \"uid\": \"bc4d5370f6e5fde7c58b87ead5d77a24\",\n      \"css\": \"bookmark-multiple\",\n      \"code\": 986645,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209Q660.2 209 684.6 233.4T709 291V959L416 834 125 959V291Q125 257.8 149.4 233.4T209 209H625ZM375 41H791Q826.2 41 850.6 65.4T875 125V791L791 755.9V125H291Q291 89.8 315.4 65.4T375 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ab1e634e2e8ca153e4aa633fcecff909\",\n      \"css\": \"bookmark-multiple-outline\",\n      \"code\": 986646,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 41H791Q826.2 41 850.6 65.4T875 125V791L791 755.9V125H291Q291 89.8 315.4 65.4T375 41ZM625 834V291H209V834L416 742.2ZM625 209Q660.2 209 684.6 233.4T709 291V959L416 834 125 959V291Q125 257.8 149.4 233.4T209 209H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c2e2c17f6d7b7e2905ffa6d28df5651f\",\n      \"css\": \"calendar-month\",\n      \"code\": 986647,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 416V500H291V416H375ZM541 416V500H459V416H541ZM709 416V500H625V416H709ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H250V41H334V125H666V41H750V125H791ZM791 791V334H209V791H791ZM375 584V666H291V584H375ZM541 584V666H459V584H541ZM709 584V666H625V584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-month\"\n      ]\n    },\n    {\n      \"uid\": \"12123a908e09b04b55b6c596941fe2a5\",\n      \"css\": \"calendar-month-outline\",\n      \"code\": 986648,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 500H375V584H291V500ZM875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166H250V84H334V166H666V84H750V166H791Q826.2 166 850.6 190.4T875 250ZM209 334H791V250H209V334ZM791 834V416H209V834H791ZM625 584V500H709V584H625ZM459 584V500H541V584H459ZM291 666H375V750H291V666ZM625 750V666H709V750H625ZM459 750V666H541V750H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-month-outline\"\n      ]\n    },\n    {\n      \"uid\": \"14e7fd259e0b92265944d0495b62edaf\",\n      \"css\": \"camera-retake\",\n      \"code\": 986649,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209H709L625 125H375L291 209H166Q132.8 209 108.4 233.4T84 291V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V291Q916 257.8 891.6 233.4T834 209ZM500 750Q429.7 750 375 709L435.5 648.4Q464.8 666 500 666 552.7 666 588.9 629.9T625 542 588.9 453.1 500 416Q460.9 416 428.7 439.5T382.8 500H459L334 625 209 500H294.9Q306.6 445.3 343.8 403.3T433.6 343.8 542 337.9 638.7 385.7 697.3 474.6 705.1 584Q689.5 656.3 631.8 703.1T500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-retake\"\n      ]\n    },\n    {\n      \"uid\": \"44d2318dfadc06e1a0075e0aeed673be\",\n      \"css\": \"camera-retake-outline\",\n      \"code\": 986650,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 209H701.2L625 125H375L298.8 209H166Q132.8 209 108.4 233.4T84 291V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V291Q916 257.8 891.6 233.4T834 209ZM834 791H166V291H335.9L412.1 209H587.9L666 291H834V791ZM500 750Q429.7 750 375 709L435.5 648.4Q464.8 666 500 666 552.7 666 588.9 629.9T625 542 588.9 453.1 500 416Q460.9 416 428.7 439.5T382.8 500H459L334 625 209 500H294.9Q306.6 445.3 343.8 403.3T433.6 343.8 542 337.9 638.7 385.7 697.3 474.6 705.1 584Q689.5 656.3 631.8 703.1T500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-retake-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d06d4be1e978eb085f562d4862e0dbe7\",\n      \"css\": \"car-back\",\n      \"code\": 986651,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 459L291 291H709L750 459H250ZM789.1 250Q781.3 230.5 765.6 219.7T728.5 209H271.5Q250 209 234.4 219.7T210.9 250L125 500V834Q125 851.6 136.7 863.3T166 875H209Q226.6 875 238.3 863.3T250 834V750H750V834Q750 851.6 761.7 863.3T791 875H834Q851.6 875 863.3 863.3T875 834V500ZM291 666H209V584H291V666ZM791 666H709V584H791V666ZM584 666H416V584H584V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-back\"\n      ]\n    },\n    {\n      \"uid\": \"5155e1239c71489504cf293054ca8d20\",\n      \"css\": \"car-off\",\n      \"code\": 986652,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 826.2L267.6 240.2 99.6 74.2 46.9 125 189.5 269.5 125 459V791Q125 808.6 136.7 821.3T166 834H209Q226.6 834 238.3 821.3T250 791V750H671.9L869.1 947.3 921.9 894.5ZM271.5 625Q244.1 625 226.6 606.4T209 562.5 226.6 518.6 270.5 500 315.4 518.6 334 562.5 315.4 606.4 271.5 625ZM209 416L240.2 320.3 337.9 416H209ZM728.5 228.5L791 416H550.8L671.9 539.1Q683.6 515.6 708 506.8T755.9 508.8 787.1 543.9 784.2 590.8 755.9 621.1L875 742.2V459L789.1 209Q781.3 189.5 765.6 177.7T728.5 166H300.8L363.3 228.5H728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-off\"\n      ]\n    },\n    {\n      \"uid\": \"d60e9535d177061da9435a0187cae3bf\",\n      \"css\": \"cast-education\",\n      \"code\": 986653,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q89.8 125 65.4 149.4T41 209V334H125V209H875V791H584V875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM41 750V875H166Q166 822.3 129.9 786.1T41 750ZM41 584V666Q97.7 666 145.5 694.3T221.7 770.5 250 875H334Q334 816.4 311.5 762.7T248 668 153.3 605.5 41 584ZM41 416V500Q142.6 500 229.5 550.8T366.2 687.5 416 875H500Q500 750 438.5 644.5T271.5 477.5 41 416ZM459 462.9V544.9L603.5 625 750 544.9V462.9L603.5 541ZM603.5 250L375 375 603.5 500 834 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cast-education\"\n      ]\n    },\n    {\n      \"uid\": \"e66063a11469c35da67137dbeedcf708\",\n      \"css\": \"check-bold\",\n      \"code\": 986654,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 851.6L117.2 591.8 234.4 474.6 375 615.2 787.1 203.1 904.3 320.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-bold\"\n      ]\n    },\n    {\n      \"uid\": \"ac05db526a5858bdb84addd7dee42a36\",\n      \"css\": \"check-underline\",\n      \"code\": 986655,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209L375 709 146.5 478.5 205.1 419.9 375 589.8 816.4 150.4ZM125 875V791H875V875H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-underline\"\n      ]\n    },\n    {\n      \"uid\": \"ead02906e93058fac1a8bfda653fbb74\",\n      \"css\": \"check-underline-circle\",\n      \"code\": 986656,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM709 750H291V666H709V750ZM429.7 584L291 445.3 349.6 386.7 429.7 466.8 650.4 246.1 709 304.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-underline-circle\"\n      ]\n    },\n    {\n      \"uid\": \"e3ae6ce739b45f4f2dded1d3a6ac6d32\",\n      \"css\": \"check-underline-circle-outline\",\n      \"code\": 986657,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM291 625H709V709H291V625ZM429.7 466.8L349.6 386.7 291 445.3 429.7 584 709 304.7 650.4 246.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"check-underline-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c64c923639f7c3f9318f440f3d5c9996\",\n      \"css\": \"circular-saw\",\n      \"code\": 986658,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459Q558.6 459 571.3 470.7T584 500 571.3 529.3 541 541 511.7 529.3 500 500 511.7 470.7 541 459ZM328.1 259.8Q369.1 216.8 423.8 191.4T541 166Q613.3 166 675.8 199.2T779.3 290 830.1 416H916V500H666Q666 447.3 629.9 411.1T542 375 453.1 411.1 416 500H84V416H85.9Q97.7 275.4 187.5 166ZM281.3 328.1L210.9 281.3Q175.8 345.7 169.9 416H252Q259.8 369.1 281.3 328.1ZM308.6 642.6L250 584H492.2Q498 595.7 511.7 604.5T541 613.3 570.3 604.5 591.8 584H834V642.6Q802.7 623 787.1 627 775.4 630.9 771.5 642.6L769.5 656.3V738.3L687.5 820.3Q673.8 773.4 650.4 775.4 638.7 777.3 628.9 787.1L570.3 845.7H455.1Q480.5 804.7 462.9 789.1 453.1 781.3 439.5 781.3H357.4L275.4 699.2Q322.3 687.5 320.3 664.1 318.4 650.4 308.6 642.6V642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circular-saw\"\n      ]\n    },\n    {\n      \"uid\": \"2da6c18a95902089d212ceb92419e310\",\n      \"css\": \"comma\",\n      \"code\": 986659,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125H707V539.1L539.1 873H334L498 539.1H291V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comma\"\n      ]\n    },\n    {\n      \"uid\": \"28d560157a4fd93fdd1e68f1afae3e3d\",\n      \"css\": \"comma-box-outline\",\n      \"code\": 986660,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 709L500 541H375V291H625V541L541 709H416ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comma-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26dfe277b10ce327bf68aab996208522\",\n      \"css\": \"comma-circle\",\n      \"code\": 986661,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM625 541L541 709H416L500 541H375V291H625V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comma-circle\"\n      ]\n    },\n    {\n      \"uid\": \"4bdf58721adb8031e8d4f7103e18ed6f\",\n      \"css\": \"comma-circle-outline\",\n      \"code\": 986662,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM416 709H541L625 541V291H375V541H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comma-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"060853b0c106285a33f94ca505194c8e\",\n      \"css\": \"content-save-move\",\n      \"code\": 986663,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H492.2Q466.8 834 460.9 785.2 412.1 767.6 389.6 721.7T382.8 627Q396.5 587.9 428.7 564.5T500 541Q527.3 541 552.7 554.7 625 498 715.8 501T875 564.5V291ZM625 375H209V209H625V375ZM541 709H709V584L916 771.5 709 959V834H541V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-move\"\n      ]\n    },\n    {\n      \"uid\": \"3184fba93b01abd16a106d51542f721f\",\n      \"css\": \"content-save-move-outline\",\n      \"code\": 986664,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709H709V584L916 771.5 709 959V834H541V709ZM584 533.2Q548.8 500 498 500T411.1 536.1 375 625Q375 666 398.4 697.3T459 742.2Q460.9 675.8 494.1 620.1T584 533.2ZM462.9 791H209V209H673.8L791 326.2V513.7Q839.8 531.3 875 564.5V291L709 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H492.2Q468.8 835.9 462.9 791ZM250 416H625V250H250V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-move-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a2fbd8043f4685d9856958d70246c528\",\n      \"css\": \"file-check-outline\",\n      \"code\": 986665,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM466.8 769.5L351.6 644.5 400.4 595.7 466.8 662.1 615.2 511.7 664.1 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aacc6461e9d765bb2329894c6b1e361a\",\n      \"css\": \"file-music-outline\",\n      \"code\": 986666,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM541 416V500H459V709Q459 742.2 434.6 766.6T375 791 315.4 766.6 291 708 315.4 649.4 375 625Q398.4 625 416 636.7V416H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-music-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e544deecd313a4d7fe4fa4eaad093117\",\n      \"css\": \"comma-box\",\n      \"code\": 986667,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM625 541V291H375V541H500L416 709H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comma-box\"\n      ]\n    },\n    {\n      \"uid\": \"d22f08dde1142587011751dce8e79b13\",\n      \"css\": \"file-video-outline\",\n      \"code\": 986668,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM666 750L562.5 679.7V750H334V541H562.5V613.3L666 541V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-video-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4c35b583760fac6e33e99c02c6f0e12d\",\n      \"css\": \"file-pdf-outline\",\n      \"code\": 986669,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84L834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM750 834V375H541V166H250V834H750ZM455.1 513.7Q441.4 470.7 443.4 433.6 443.4 377 480.5 377 507.8 375 511.7 410.2 515.6 433.6 509.8 472.7L502 505.9Q507.8 535.2 531.3 562.5 544.9 582 566.4 599.6L585.9 613.3Q601.6 609.4 630.9 607.4 668 605.5 689.5 615.2 716.8 627 709 654.3 697.3 693.4 628.9 679.7 593.8 673.8 562.5 658.2V658.2Q511.7 662.1 460.9 673.8L419.9 685.5Q384.8 752 348.6 777.3T294.9 775.4Q283.2 753.9 306.6 726.6 322.3 707 355.5 687.5L384.8 669.9Q439.5 582 455.1 515.6V513.7ZM482.4 548.8Q464.8 601.6 431.6 660.2V660.2Q455.1 650.4 502 638.7L544.9 628.9Q503.9 593.8 482.4 550.8V548.8ZM613.3 638.7Q630.9 644.5 650.4 650.4 685.5 662.1 687.5 654.3T659.2 640.6 613.3 638.7ZM377 701.2Q363.3 707 348.6 721.7T326.2 751 323.2 766.6 346.7 748 377 701.2ZM482.4 468.8V464.8Q498 398.4 482.4 396.5 474.6 396.5 476.6 431.6 478.5 459 482.4 468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-pdf-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f6fb8d1221da02244e48a01a91543040\",\n      \"css\": \"fireplace\",\n      \"code\": 986670,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H84V834H916V916ZM916 250H84V125H916V250ZM834 291V791H709V459L677.7 447.3Q638.7 435.5 599.6 427.7 546.9 416 500 416T400.4 427.7Q361.3 435.5 322.3 447.3L291 459V791H166V291H834ZM603.5 611.3V611.3L619.1 638.7Q632.8 669.9 625 703.1T591.8 759.8Q550.8 798.8 482.4 789.1 455.1 787.1 431.6 770.5T394.5 730.5Q384.8 716.8 380.9 699.2L375 671.9Q373 640.6 384.8 611.3T419.9 564.5Q408.2 585.9 411.1 612.3T429.7 658.2L431.6 662.1Q437.5 666 443.4 663.1T449.2 654.3V648.4Q431.6 605.5 444.3 559.6T492.2 484.4Q513.7 466.8 537.1 460.9 523.4 486.3 527.3 515.6T552.7 564.5L589.8 595.7ZM546.9 726.6V726.6Q564.5 709 562.5 685.5V677.7Q558.6 660.2 539.1 642.6 525.4 632.8 521.5 625L511.7 605.5Q503.9 623 507.8 644.5L509.8 656.3Q513.7 673.8 511.7 685.5 505.9 714.8 474.6 722.7 498 746.1 527.3 738.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fireplace\"\n      ]\n    },\n    {\n      \"uid\": \"0496192cf3e61449217fc1b0ee6d60f3\",\n      \"css\": \"fireplace-off\",\n      \"code\": 986671,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H84V834H916V916ZM916 250H84V125H916V250ZM834 291V791H709V459L677.7 447.3Q638.7 435.5 599.6 427.7 546.9 416 500 416T400.4 427.7Q361.3 435.5 322.3 447.3L291 459V791H166V291H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fireplace-off\"\n      ]\n    },\n    {\n      \"uid\": \"957a17c3ade3eee317321b720c552a3a\",\n      \"css\": \"firework\",\n      \"code\": 986672,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M242.2 691.4L187.5 636.7 511.7 312.5 687.5 488.3 363.3 812.5 304.7 753.9Q285.2 759.8 275.4 771.5V771.5Q271.5 777.3 271.5 781.3L263.7 798.8Q253.9 818.4 246.1 830.1T231.4 848.6 216.8 860.4 205.1 867.2Q181.6 875 134.8 875H125V791H162.1Q169.9 791 173.8 789.1L175.8 787.1Q179.7 783.2 183.6 775.4L193.4 748Q201.2 730.5 210.9 718.8L226.6 703.1Q236.3 695.3 242.2 691.4ZM875 125L828.1 466.8 533.2 171.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"firework\"\n      ]\n    },\n    {\n      \"uid\": \"ed8fbb96924014d05b084ff2487a6286\",\n      \"css\": \"format-color-highlight\",\n      \"code\": 986673,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 709L281.3 593.8H279.3Q261.7 574.2 261.7 548.8T279.3 503.9L476.6 306.6 654.3 484.4 457 681.6Q439.5 699.2 414.1 699.2T369.1 681.6L343.8 709H166ZM662.1 121.1Q681.6 103.5 707 103.5T752 121.1L839.8 209Q857.4 228.5 857.4 253.9T839.8 298.8L703.1 435.5 525.4 257.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-color-highlight\"\n      ]\n    },\n    {\n      \"uid\": \"6037e1a4357c9b646d19c1920c50a4a0\",\n      \"css\": \"format-text-variant\",\n      \"code\": 986674,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M400.4 584L500 320.3 599.6 584H400.4ZM459 209L228.5 791H320.3L367.2 666H625L669.9 791H761.7L541 209H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ff5cfc1f15094d94495b0fe9da62e51d\",\n      \"css\": \"gamepad-circle\",\n      \"code\": 986675,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334Q277.3 334 326.2 382.8T375 500 326.2 617.2 208 666 89.8 617.2 41 500 89.8 382.8 209 334ZM500 41Q568.4 41 617.2 89.8T666 208 617.2 326.2 500 375 382.8 326.2 334 208 382.8 89.8 500 41ZM500 625Q568.4 625 617.2 673.8T666 792 617.2 910.2 500 959 382.8 910.2 334 792 382.8 673.8 500 625ZM791 334Q861.3 334 910.2 382.8T959 500 910.2 617.2 792 666 673.8 617.2 625 500 673.8 382.8 791 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-circle\"\n      ]\n    },\n    {\n      \"uid\": \"22a78ccc9bfad36187ef427e28864f30\",\n      \"css\": \"gamepad-circle-down\",\n      \"code\": 986676,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334Q277.3 334 326.2 382.8T375 500 326.2 617.2 208 666 89.8 617.2 41 500 89.8 382.8 209 334ZM500 41Q568.4 41 617.2 89.8T666 208 617.2 326.2 500 375 382.8 326.2 334 208 382.8 89.8 500 41ZM500 625Q568.4 625 617.2 673.8T666 792 617.2 910.2 500 959 382.8 910.2 334 792 382.8 673.8 500 625ZM791 334Q861.3 334 910.2 382.8T959 500 910.2 617.2 792 666 673.8 617.2 625 500 673.8 382.8 791 334ZM500 125Q464.8 125 440.4 149.4T416 208 440.4 266.6 500 291 559.6 266.6 584 208 559.6 149.4 500 125ZM209 416Q173.8 416 149.4 440.4T125 500 149.4 559.6 208 584 266.6 559.6 291 500 266.6 440.4 209 416ZM791 416Q757.8 416 733.4 440.4T709 500 733.4 559.6 792 584 850.6 559.6 875 500 850.6 440.4 791 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-circle-down\"\n      ]\n    },\n    {\n      \"uid\": \"8f74ae531e9f76a6c738aff7d9511bea\",\n      \"css\": \"gamepad-circle-left\",\n      \"code\": 986677,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334Q277.3 334 326.2 382.8T375 500 326.2 617.2 208 666 89.8 617.2 41 500 89.8 382.8 209 334ZM500 41Q568.4 41 617.2 89.8T666 208 617.2 326.2 500 375 382.8 326.2 334 208 382.8 89.8 500 41ZM500 625Q568.4 625 617.2 673.8T666 792 617.2 910.2 500 959 382.8 910.2 334 792 382.8 673.8 500 625ZM791 334Q861.3 334 910.2 382.8T959 500 910.2 617.2 792 666 673.8 617.2 625 500 673.8 382.8 791 334ZM791 416Q757.8 416 733.4 440.4T709 500 733.4 559.6 792 584 850.6 559.6 875 500 850.6 440.4 791 416ZM500 709Q464.8 709 440.4 733.4T416 792 440.4 850.6 500 875 559.6 850.6 584 792 559.6 733.4 500 709ZM500 125Q464.8 125 440.4 149.4T416 208 440.4 266.6 500 291 559.6 266.6 584 208 559.6 149.4 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-circle-left\"\n      ]\n    },\n    {\n      \"uid\": \"f3e60c6861a74f0ce0c16954d96a3d5c\",\n      \"css\": \"gamepad-circle-outline\",\n      \"code\": 986678,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334Q277.3 334 326.2 382.8T375 500 326.2 617.2 208 666 89.8 617.2 41 500 89.8 382.8 209 334ZM209 416Q173.8 416 149.4 440.4T125 500 149.4 559.6 208 584 266.6 559.6 291 500 266.6 440.4 209 416ZM500 41Q568.4 41 617.2 89.8T666 208 617.2 326.2 500 375 382.8 326.2 334 208 382.8 89.8 500 41ZM500 125Q464.8 125 440.4 149.4T416 208 440.4 266.6 500 291 559.6 266.6 584 208 559.6 149.4 500 125ZM500 625Q568.4 625 617.2 673.8T666 792 617.2 910.2 500 959 382.8 910.2 334 792 382.8 673.8 500 625ZM500 709Q464.8 709 440.4 733.4T416 792 440.4 850.6 500 875 559.6 850.6 584 792 559.6 733.4 500 709ZM791 334Q861.3 334 910.2 382.8T959 500 910.2 617.2 792 666 673.8 617.2 625 500 673.8 382.8 791 334ZM791 416Q757.8 416 733.4 440.4T709 500 733.4 559.6 792 584 850.6 559.6 875 500 850.6 440.4 791 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"86fa5639ce0bfefda639bf4ef8af08a0\",\n      \"css\": \"gamepad-circle-right\",\n      \"code\": 986679,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334Q277.3 334 326.2 382.8T375 500 326.2 617.2 208 666 89.8 617.2 41 500 89.8 382.8 209 334ZM500 41Q568.4 41 617.2 89.8T666 208 617.2 326.2 500 375 382.8 326.2 334 208 382.8 89.8 500 41ZM500 625Q568.4 625 617.2 673.8T666 792 617.2 910.2 500 959 382.8 910.2 334 792 382.8 673.8 500 625ZM791 334Q861.3 334 910.2 382.8T959 500 910.2 617.2 792 666 673.8 617.2 625 500 673.8 382.8 791 334ZM500 125Q464.8 125 440.4 149.4T416 208 440.4 266.6 500 291 559.6 266.6 584 208 559.6 149.4 500 125ZM209 416Q173.8 416 149.4 440.4T125 500 149.4 559.6 208 584 266.6 559.6 291 500 266.6 440.4 209 416ZM500 709Q464.8 709 440.4 733.4T416 792 440.4 850.6 500 875 559.6 850.6 584 792 559.6 733.4 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-circle-right\"\n      ]\n    },\n    {\n      \"uid\": \"a9811249bfb610f2710a016e35e6b4e4\",\n      \"css\": \"gamepad-circle-up\",\n      \"code\": 986680,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 334Q277.3 334 326.2 382.8T375 500 326.2 617.2 208 666 89.8 617.2 41 500 89.8 382.8 209 334ZM500 41Q568.4 41 617.2 89.8T666 208 617.2 326.2 500 375 382.8 326.2 334 208 382.8 89.8 500 41ZM500 625Q568.4 625 617.2 673.8T666 792 617.2 910.2 500 959 382.8 910.2 334 792 382.8 673.8 500 625ZM791 334Q861.3 334 910.2 382.8T959 500 910.2 617.2 792 666 673.8 617.2 625 500 673.8 382.8 791 334ZM209 416Q173.8 416 149.4 440.4T125 500 149.4 559.6 208 584 266.6 559.6 291 500 266.6 440.4 209 416ZM791 416Q757.8 416 733.4 440.4T709 500 733.4 559.6 792 584 850.6 559.6 875 500 850.6 440.4 791 416ZM500 709Q464.8 709 440.4 733.4T416 792 440.4 850.6 500 875 559.6 850.6 584 792 559.6 733.4 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-circle-up\"\n      ]\n    },\n    {\n      \"uid\": \"934ae288b83fa1684c575a2aa8ce365c\",\n      \"css\": \"gamepad-down\",\n      \"code\": 986681,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V312.5L500 437.5 625 312.5V84H375ZM84 375V625H312.5L437.5 500 312.5 375H84ZM687.5 375L562.5 500 687.5 625H916V375H687.5ZM500 562.5L375 687.5V916H625V687.5ZM459 750H541V834H459V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-down\"\n      ]\n    },\n    {\n      \"uid\": \"2274ea40079cb682dac5e2924d2bd866\",\n      \"css\": \"gamepad-left\",\n      \"code\": 986682,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V312.5L500 437.5 625 312.5V84H375ZM84 375V625H312.5L437.5 500 312.5 375H84ZM687.5 375L562.5 500 687.5 625H916V375H687.5ZM166 459H250V541H166V459ZM500 562.5L375 687.5V916H625V687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-left\"\n      ]\n    },\n    {\n      \"uid\": \"055d70119122c58e14c03fa552495975\",\n      \"css\": \"gamepad-right\",\n      \"code\": 986683,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V312.5L500 437.5 625 312.5V84H375ZM84 375V625H312.5L437.5 500 312.5 375H84ZM687.5 375L562.5 500 687.5 625H916V375H687.5ZM750 459H834V541H750V459ZM500 562.5L375 687.5V916H625V687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-right\"\n      ]\n    },\n    {\n      \"uid\": \"691acf5ca494680797de4a91b6f86d23\",\n      \"css\": \"gamepad-round\",\n      \"code\": 986684,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V334H834Q867.2 334 891.6 358.4T916 416V584Q916 617.2 891.6 641.6T834 666H666V834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-round\"\n      ]\n    },\n    {\n      \"uid\": \"c956ba35b16e80b21681a27258a9e701\",\n      \"css\": \"gamepad-round-down\",\n      \"code\": 986685,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V334H834Q867.2 334 891.6 358.4T916 416V584Q916 617.2 891.6 641.6T834 666H666V834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334ZM416 666V834H584V666H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-round-down\"\n      ]\n    },\n    {\n      \"uid\": \"cc63cec9b6663b7a2211648e2d699272\",\n      \"css\": \"gamepad-round-left\",\n      \"code\": 986686,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V334H834Q867.2 334 891.6 358.4T916 416V584Q916 617.2 891.6 641.6T834 666H666V834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334ZM166 416V584H334V416H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-round-left\"\n      ]\n    },\n    {\n      \"uid\": \"be82cb6eb1c8cb604199ecf6270a5968\",\n      \"css\": \"gamepad-round-outline\",\n      \"code\": 986687,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V334H834Q867.2 334 891.6 358.4T916 416V584Q916 617.2 891.6 641.6T834 666H666V834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334ZM166 416V584H416V834H584V584H834V416H584V166H416V416H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-round-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7662bbb2404c24f75667c2a348ed1d70\",\n      \"css\": \"gamepad-round-right\",\n      \"code\": 986688,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V334H834Q867.2 334 891.6 358.4T916 416V584Q916 617.2 891.6 641.6T834 666H666V834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334ZM666 416V584H834V416H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-round-right\"\n      ]\n    },\n    {\n      \"uid\": \"833eb988f82b9ed27f77e6e08e75afc4\",\n      \"css\": \"gamepad-round-up\",\n      \"code\": 986689,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 334H334V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V334H834Q867.2 334 891.6 358.4T916 416V584Q916 617.2 891.6 641.6T834 666H666V834Q666 867.2 641.6 891.6T584 916H416Q382.8 916 358.4 891.6T334 834V666H166Q132.8 666 108.4 641.6T84 584V416Q84 382.8 108.4 358.4T166 334ZM416 166V334H584V166H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-round-up\"\n      ]\n    },\n    {\n      \"uid\": \"43f7b0603e84cab65c864a2c0dc73f00\",\n      \"css\": \"gamepad-up\",\n      \"code\": 986690,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84V312.5L500 437.5 625 312.5V84H375ZM459 166H541V250H459V166ZM84 375V625H312.5L437.5 500 312.5 375H84ZM687.5 375L562.5 500 687.5 625H916V375H687.5ZM500 562.5L375 687.5V916H625V687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-up\"\n      ]\n    },\n    {\n      \"uid\": \"42a8739aad6cd3be6d6dc4dbdaa69530\",\n      \"css\": \"gatsby\",\n      \"code\": 986691,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500 884.8 659.2 794.9 794.9 659.2 884.8 500 916 340.8 884.8 205.1 794.9 115.2 659.2 84 500 115.2 340.8 205.1 205.1 340.8 115.2 500 84ZM500 166Q384.8 166 294.9 237.3T177.7 416L584 822.3Q691.4 794.9 762.7 705.1T834 500H615.2V562.5H757.8Q742.2 625 699.2 674.8T595.7 748L252 404.3Q283.2 328.1 349.6 281.3T500 234.4Q564.5 234.4 621.1 263.7T716.8 345.7L767.6 300.8Q720.7 238.3 650.4 202.1T500 166ZM166 500Q166 589.8 210.9 667T333 789.1 500 834Q503.9 834 166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gatsby\"\n      ]\n    },\n    {\n      \"uid\": \"f08fbe5a2cdb5fe64989c98003299f15\",\n      \"css\": \"gift\",\n      \"code\": 986692,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M377 80.1Q337.9 80.1 303.7 103.5T254.9 166 257.8 250H125Q89.8 250 65.4 274.4T41 334V416Q41 433.6 53.7 446.3T84 459H459V334H541V459H916Q933.6 459 946.3 446.3T959 416V334Q959 298.8 934.6 274.4T875 250H742.2Q759.8 201.2 742.2 160.2T683.6 97.7 598.6 85 523.4 134.8L500 166 476.6 134.8Q439.5 82 377 80.1ZM375 166Q392.6 166 404.3 178.7T417 208 405.3 237.3 375 250 345.7 238.3 334 209 345.7 178.7 375 166ZM625 166Q642.6 166 654.3 178.7T667 208 655.3 237.3 625 250 595.7 238.3 584 209 595.7 178.7 625 166ZM84 500V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V500H541V834H459V500H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gift\"\n      ]\n    },\n    {\n      \"uid\": \"bfabdbc137fbb6f768e5ff2eb1d3eadb\",\n      \"css\": \"grill\",\n      \"code\": 986693,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M335.9 84Q324.2 156.3 373 207 404.3 238.3 392.6 291H433.6Q441.4 257.8 435.5 231.4T396.5 168Q367.2 132.8 377 84H335.9ZM439.5 84Q427.7 156.3 476.6 207 507.8 238.3 496.1 291H537.1Q544.9 255.9 539.1 230.5T500 168Q470.7 132.8 480.5 84H439.5ZM544.9 84Q533.2 156.3 582 207 613.3 238.3 599.6 291H642.6Q650.4 259.8 644.5 233.4T605.5 168Q576.2 132.8 585.9 84H544.9ZM209 334Q209 421.9 255.9 493.2T380.9 599.6L214.8 851.6Q209 859.4 209 875 209 900.4 226.6 910.2 234.4 916 250 916 275.4 916 285.2 898.4L326.2 832H591.8Q605.5 869.1 636.7 892.6T709 916Q759.8 916 796.9 878.9T834 791 796.9 703.1 709 666Q666 666 635.7 689.5T591.8 750H380.9L462.9 623Q468.8 625 500 625T537.1 623L578.1 687.5Q603.5 652.3 644.5 636.7L621.1 599.6Q691.4 568.4 741.2 489.3T791 334H209ZM709 750Q726.6 750 738.3 761.7T750 791 738.3 821.3 709 834 678.7 821.3 666 791 678.7 761.7 709 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grill\"\n      ]\n    },\n    {\n      \"uid\": \"32140d46c1b54b47ee01743e179ce2e7\",\n      \"css\": \"hand-left\",\n      \"code\": 986694,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 273.4V777.3Q125 835.9 166 876T263.7 916H517.6Q576.2 916 617.2 875L888.7 597.7 843.8 554.7Q832 544.9 816.4 544.9 804.7 544.9 794.9 550.8L646.5 636.7V222.7Q646.5 201.2 630.9 185.5T593.8 169.9 556.6 185.5 541 222.7V464.8H507.8V134.8Q507.8 113.3 492.2 98.6T455.1 84 418 98.6 402.3 134.8V464.8H367.2V169.9Q367.2 148.4 352.5 132.8T316.4 117.2 279.3 132.8 263.7 169.9V464.8H228.5V273.4Q228.5 252 213.9 237.3T177.7 222.7 140.6 237.3 125 273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-left\"\n      ]\n    },\n    {\n      \"uid\": \"71047f9968b802ed38821a1c290be9d5\",\n      \"css\": \"hand-right\",\n      \"code\": 986695,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 273.4V777.3Q875 835.9 834 876T736.3 916H482.4Q423.8 916 382.8 875L111.3 597.7 156.3 554.7Q168 544.9 183.6 544.9 195.3 544.9 205.1 550.8L353.5 636.7V222.7Q353.5 201.2 369.1 185.5T406.3 169.9 443.4 185.5 459 222.7V464.8H492.2V134.8Q492.2 113.3 507.8 98.6T544.9 84 582 98.6 597.7 134.8V464.8H632.8V169.9Q632.8 148.4 647.5 132.8T683.6 117.2 720.7 132.8 736.3 169.9V464.8H771.5V273.4Q771.5 252 786.1 237.3T822.3 222.7 859.4 237.3 875 273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-right\"\n      ]\n    },\n    {\n      \"uid\": \"fa90eb8a6c3aca8269e3f4f968a26f41\",\n      \"css\": \"hand-saw\",\n      \"code\": 986696,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 709L246.1 482.4 834 84 916 209V334H791V459H666V584H541V709H408.2ZM404.3 779.3L382.8 896.5 316.4 945.3Q289.1 964.8 255.9 959T199.2 925.8L54.7 720.7Q35.2 693.4 41 659.2T74.2 603.5L212.9 507.8ZM191.4 625L125 669.9 271.5 875 337.9 824.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-saw\"\n      ]\n    },\n    {\n      \"uid\": \"01b3cea8b3687902633ea01871af5caa\",\n      \"css\": \"image-frame\",\n      \"code\": 986697,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 595.7L271.5 791H726.6L615.2 644.5 533.2 742.2ZM209 875V291H789.1V875H209ZM500 99.6L609.4 209H390.6ZM209 209Q173.8 209 149.4 233.4T125 291V875Q125 908.2 149.4 933.6T209 959H789.1Q824.2 959 849.6 933.6T875 875V291Q875 259.8 849.6 234.4T789.1 209H666L500 41 332 209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-frame\"\n      ]\n    },\n    {\n      \"uid\": \"ab3cf6fd8f14614774a586604130fc17\",\n      \"css\": \"invert-colors-off\",\n      \"code\": 986698,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M861.3 869.1L761.7 771.5 351.6 361.3 291 302.7 177.7 187.5 125 240.2 240.2 355.5Q187.5 419.9 172.9 501T181.6 662.1 263.7 800.8Q312.5 849.6 374 874T500 898.4Q619.1 898.4 709 824.2L822.3 937.5 875 884.8ZM500 816.4Q449.2 816.4 404.3 797.9T323.2 743.2 268.6 662.1 250 566.4Q250 480.5 300.8 416L500 615.2V816.4ZM500 212.9V404.3L802.7 705.1Q845.7 613.3 828.1 509.8T736.3 330.1L500 93.8 345.7 248 404.3 306.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"invert-colors-off\"\n      ]\n    },\n    {\n      \"uid\": \"92e44e8b39a3643b040ce3955c6ee0f1\",\n      \"css\": \"keyboard-off-outline\",\n      \"code\": 986699,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L103.5 238.3Q84 261.7 84 291V709Q84 742.2 108.4 766.6T166 791H656.3L781.3 916 834 863.3 95.7 125ZM166 709V302.7L209 343.8V416H281.3L334 468.8V541H406.3L447.3 584H334V666H531.3L572.3 709H166ZM209 459H291V541H209V459ZM709 459H791V541H709V459ZM791 416H709V334H791V416ZM584 459H666V541H617.2L584 507.8V459ZM541 416H492.2L459 382.8V334H541V416ZM916 291V709Q916 734.4 901.4 755.9T863.3 787.1L785.2 709H834V291H367.2L285.2 209H834Q867.2 209 891.6 233.4T916 291ZM666 416H584V334H666V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2905690a623be8360b11cadcd2188f42\",\n      \"css\": \"layers-minus\",\n      \"code\": 986700,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H584V709H916ZM459 666L84 375 459 84 834 375ZM459 773.4L500 740.2V750Q500 794.9 513.7 834L459 877 84 585.9 150.4 533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-minus\"\n      ]\n    },\n    {\n      \"uid\": \"8e0017b9652ad5ebb8c3954ab5260d46\",\n      \"css\": \"layers-plus\",\n      \"code\": 986701,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM459 666L84 375 459 84 834 375ZM459 773.4L500 740.2V750Q500 794.9 513.7 834L459 877 84 585.9 150.4 533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-plus\"\n      ]\n    },\n    {\n      \"uid\": \"7728c572a9b63c8b917d8b17c16a2da5\",\n      \"css\": \"layers-remove\",\n      \"code\": 986702,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750ZM459 666L84 375 459 84 834 375ZM459 773.4L500 740.2V750Q500 794.9 513.7 834L459 877 84 585.9 150.4 533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-remove\"\n      ]\n    },\n    {\n      \"uid\": \"31ecd4d9a3156649e2b9866bd0cf5d6b\",\n      \"css\": \"lightbulb-off\",\n      \"code\": 986703,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q431.6 84 372.1 113.3T271.5 195.3L679.7 603.5Q732.4 562.5 761.7 502.9T791 375Q791 294.9 752 228.5T646.5 123 500 84ZM136.7 166L84 218.8 210.9 345.7Q209 355.5 209 375 209 447.3 242.2 510.7T334 613.3V709Q334 726.6 345.7 738.3T375 750H613.3L781.3 916 834 863.3ZM375 834V875Q375 892.6 386.7 904.3T416 916H584Q601.6 916 613.3 904.3T625 875V834H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-off\"\n      ]\n    },\n    {\n      \"uid\": \"1bb8ef8a138f704f15055b5e087390b1\",\n      \"css\": \"lightbulb-off-outline\",\n      \"code\": 986704,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q431.6 84 372.1 113.3T271.5 195.3L330.1 253.9Q359.4 214.8 404.3 190.4T500 166Q556.6 166 604.5 194.3T680.7 270.5 709 375Q709 425.8 684.6 470.7T621.1 544.9L679.7 603.5Q732.4 562.5 761.7 502.9T791 375Q791 294.9 752 228.5T646.5 123 500 84ZM136.7 166L84 218.8 210.9 345.7Q209 355.5 209 375 209 447.3 242.2 510.7T334 613.3V709Q334 726.6 345.7 738.3T375 750H613.3L781.3 916 834 863.3ZM300.8 437.5L531.3 666H416V566.4Q375 546.9 344.7 513.7T300.8 437.5ZM375 834V875Q375 892.6 386.7 904.3T416 916H584Q601.6 916 613.3 904.3T625 875V834H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eca434c0c77aef26ea44ec504e606c08\",\n      \"css\": \"monitor-screenshot\",\n      \"code\": 986705,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 250H209V416H291V334H375V250ZM791 416H709V500H625V584H791V416ZM875 666H125V166H875V666ZM875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H416V834H334V916H666V834H584V750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-screenshot\"\n      ]\n    },\n    {\n      \"uid\": \"03ffe297b8e0a70360f77fe6e0ff6bae\",\n      \"css\": \"ice-cream-off\",\n      \"code\": 986706,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 207 285.2Q166 322.3 166 375T203.1 463.9 291 500L500 916 613.3 691.4 869.1 947.3ZM500 730.5L371.1 470.7 378.9 464.8 396.5 474.6 550.8 628.9ZM298.8 164.1Q328.1 109.4 381.8 75.2T500 41Q589.8 41 655.3 102.5T728.5 252Q773.4 259.8 803.7 293.9T834 375Q834 427.7 796.9 463.9T709 500L683.6 550.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ice-cream-off\"\n      ]\n    },\n    {\n      \"uid\": \"abb7293237ad7d0ab985a1ac2608e564\",\n      \"css\": \"nfc-search-variant\",\n      \"code\": 986707,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 500Q765.6 500 820.3 554.7T875 687.5Q875 742.2 845.7 787.1L974.6 916 916 974.6 787.1 845.7Q742.2 875 687.5 875 609.4 875 554.7 820.3T500 687.5 554.7 554.7 687.5 500ZM687.5 584Q644.5 584 614.3 614.3T584 687.5 614.3 760.7 687.5 791 760.7 760.7 791 687.5 760.7 614.3 687.5 584ZM750 250V423.8Q714.8 414.1 666 416V334H541V427.7L564.5 447.3Q486.3 486.3 447.3 564.5 416 539.1 416 500 416 476.6 427.7 458T459 427.7V334Q459 298.8 483.4 274.4T541 250H750ZM250 750V250H416V334H334V666H416Q414.1 712.9 423.8 750H250ZM834 166H166V834H459Q494.1 886.7 543 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V543Q884.8 492.2 834 459V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nfc-search-variant\"\n      ]\n    },\n    {\n      \"uid\": \"c62b366a534ab72e6f42f0d3aaa33f1a\",\n      \"css\": \"nfc-variant-off\",\n      \"code\": 986708,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M52.7 85.9L914.1 947.3 863.3 1000 779.3 916H166Q132.8 916 108.4 891.6T84 834V220.7L0 136.7ZM158.2 84V84H834Q867.2 84 891.6 108.4T916 166V841.8L834 757.8V166H242.2ZM250 386.7L166 304.7V834H695.3L613.3 750H250V386.7ZM750 675.8L666 591.8V334H541V427.7Q560.5 439.5 572.3 458T584 500V507.8L459 382.8V334Q459 298.8 483.4 274.4T541 250H750V675.8ZM334 666H529.3L334 470.7V666ZM416 334H408.2L324.2 250H416V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nfc-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"010685ba45dcd5b5d8474fb6652eff03\",\n      \"css\": \"notebook-multiple\",\n      \"code\": 986709,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M377 375H294.9V250H377V168H294.9V127Q294.9 91.8 318.4 67.4T377 43H627V334L728.5 271.5 834 334V43H875Q908.2 43 933.6 68.4T959 127V709Q959 740.2 933.6 765.6T875 791H377Q343.8 791 319.3 765.6T294.9 709V666H377V584H294.9V459H377V375ZM41 750H125V625H41V541H125V416H41V334H125V209H209V334H125V416H209V541H125V625H209V750H125V834H209V875H875V959H209Q173.8 959 149.4 934.6T125 875V834H41V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"notebook-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"9e1517a5312f37cd559946ac7bafc39e\",\n      \"css\": \"pdf-box\",\n      \"code\": 986710,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 437.5H541V562.5H500V437.5ZM291 478.5H334V437.5H291V478.5ZM834 250V750Q834 785.2 809.6 809.6T750 834H250Q214.8 834 190.4 809.6T166 750V250Q166 214.8 190.4 190.4T250 166H750Q785.2 166 809.6 190.4T834 250ZM396.5 437.5Q396.5 412.1 377.9 393.6T334 375H228.5V625H291V541H334Q359.4 541 377.9 523.4T396.5 478.5V437.5ZM603.5 437.5Q603.5 412.1 585.9 393.6T541 375H437.5V625H541Q568.4 625 585.9 606.4T603.5 562.5V437.5ZM771.5 375H646.5V625H709V541H771.5V478.5H709V437.5H771.5V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pdf-box\"\n      ]\n    },\n    {\n      \"uid\": \"f6671f69aae92b9318f5a6b7215d2c4d\",\n      \"css\": \"picture-in-picture-bottom-right\",\n      \"code\": 986711,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H459V709H791V459ZM959 791V209Q959 173.8 934.6 149.4T875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791ZM875 791H125V207H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"picture-in-picture-bottom-right\"\n      ]\n    },\n    {\n      \"uid\": \"8656e8b27951e02beeac7b8b3f7a1c72\",\n      \"css\": \"picture-in-picture-bottom-right-outline\",\n      \"code\": 986712,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H459V709H791V459ZM709 625H541V541H709V625ZM875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V207H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"picture-in-picture-bottom-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"40065b6ef39401e8e4875bdadfc191b7\",\n      \"css\": \"picture-in-picture-top-right\",\n      \"code\": 986713,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H459V541H791V291ZM875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V209H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"picture-in-picture-top-right\"\n      ]\n    },\n    {\n      \"uid\": \"bae56750f4bf1238850c210370a42558\",\n      \"css\": \"picture-in-picture-top-right-outline\",\n      \"code\": 986714,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H459V541H791V291ZM709 459H541V375H709V459ZM875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V209H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"picture-in-picture-top-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"362a79b1aa724448ff8f0393be1dc777\",\n      \"css\": \"printer-3d-nozzle\",\n      \"code\": 986715,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709V334H791V541H687.5L541 709H459L312.5 541H209V334H291V84ZM416 916H84V834H416Q433.6 834 446.3 821.3T459 791V750H541V791Q541 843.8 504.9 879.9T416 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-3d-nozzle\"\n      ]\n    },\n    {\n      \"uid\": \"e532876a809770adcf5da3b110c2ffb2\",\n      \"css\": \"printer-3d-nozzle-outline\",\n      \"code\": 986716,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709V291H791V541H687.5L541 709H459L312.5 541H209V291H291V84ZM416 916H84V834H416Q433.6 834 446.3 821.3T459 791V750H541V791Q541 843.8 504.9 879.9T416 916ZM291 375V459H353.5L500 625 646.5 459H709V375H625V166H375V375H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-3d-nozzle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"178507f152a74ca549f4d9795a3f2dfb\",\n      \"css\": \"printer-off\",\n      \"code\": 986717,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 125V173.8L367.2 291H750V125H250ZM95.7 125L41 177.7 197.3 334Q148.4 337.9 116.2 374T84 459V709H250V875H738.3L822.3 959 875 904.3ZM408.2 334L783.2 709H916V459Q916 406.3 879.9 370.1T791 334H408.2ZM791 416Q808.6 416 821.3 428.7T834 459 821.3 488.3 791 500 761.7 488.3 750 459 761.7 428.7 791 416ZM334 584H447.3L656.3 791H334V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-off\"\n      ]\n    },\n    {\n      \"uid\": \"7770b45a7cf8f126ebed5b79b5971334\",\n      \"css\": \"rectangle\",\n      \"code\": 986718,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V791H834V250H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rectangle\"\n      ]\n    },\n    {\n      \"uid\": \"e13209dfdc4eaf7fcaf82087d5d0c813\",\n      \"css\": \"rectangle-outline\",\n      \"code\": 986719,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V791H834V250H166ZM750 709H250V334H750V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rectangle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d1cb55bacf9152bc58b12ece3220b9bd\",\n      \"css\": \"rivet\",\n      \"code\": 986720,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M476.6 84Q451.2 84 432.6 101.6T414.1 146.5V289.1H332V332H662.1V289.1H580.1V146.5Q580.1 119.1 561.5 101.6T517.6 84H476.6ZM455.1 373V912.1L498 953.1 539.1 912.1V373H455.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rivet\"\n      ]\n    },\n    {\n      \"uid\": \"3300e35b1940375f3f27047a9328f0ac\",\n      \"css\": \"saw-blade\",\n      \"code\": 986721,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 625Q830.1 628.9 826.2 634.8 818.4 644.5 816.4 656.3 816.4 669.9 828.1 683.6 843.8 699.2 878.9 709L761.7 824.2H646.5L634.8 826.2Q621.1 828.1 612.3 835.9T603.5 861.3Q605.5 882.8 625 916H459L375 834 365.2 826.2Q355.5 818.4 343.8 816.4 330.1 816.4 316.4 828.1 300.8 843.8 291 878.9L175.8 761.7V646.5L173.8 634.8Q171.9 621.1 164.1 612.3T138.7 603.5Q117.2 605.5 84 625V459L166 375 173.8 365.2Q181.6 355.5 182.6 342.8T169.9 318.4Q154.3 304.7 117.2 294.9L232.4 175.8H353.5L365.2 173.8Q378.9 171.9 387.7 164.1T396.5 138.7Q394.5 117.2 375 84H541L625 166 634.8 173.8Q644.5 181.6 656.3 181.6 669.9 183.6 683.6 169.9 699.2 154.3 709 117.2L824.2 232.4V353.5L826.2 365.2Q828.1 378.9 835.9 387.7T861.3 396.5Q882.8 394.5 916 375V541ZM584 500Q584 464.8 559.6 440.4T500 416 440.4 440.4 416 500 440.4 559.6 500 584 559.6 559.6 584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"saw-blade\"\n      ]\n    },\n    {\n      \"uid\": \"e407b2b23b2f3e658082b66fb6beee7e\",\n      \"css\": \"seed\",\n      \"code\": 986722,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M863.3 136.7Q841.8 134.8 822.3 130.9 771.5 125 716.8 125 566.4 125 449.2 171.9 285.2 236.3 203.1 382.8 103.5 566.4 132.8 867.2 224.6 875 267.6 875 400.4 875 505.9 843.8 601.6 814.5 673.8 759.8 738.3 710.9 783.2 642.6 822.3 582 843.8 505.9 863.3 443.4 871.1 371.1 877 312.5 875 252 873 209 867.2 169.9ZM291 709Q293 687.5 294.9 664.1 300.8 611.3 318.4 562.5 341.8 492.2 380.9 437.5 431.6 371.1 505.9 335.9 591.8 291 709 291L681.6 302.7Q646.5 318.4 609.4 341.8 558.6 375 509.8 418 451.2 470.7 398.4 537.1 337.9 615.2 291 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seed\"\n      ]\n    },\n    {\n      \"uid\": \"90370bfa6ae00fa5c3d2a7891dbdafab\",\n      \"css\": \"seed-outline\",\n      \"code\": 986723,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M716.8 209V209Q767.6 209 787.1 212.9 796.9 316.4 781.3 408.2 757.8 544.9 683.6 632.8 556.6 791 267.6 791H212.9Q199.2 496.1 330.1 353.5 400.4 273.4 517.6 236.3 607.4 209 716.8 209ZM716.8 125Q566.4 125 449.2 171.9 285.2 236.3 203.1 382.8 103.5 566.4 132.8 867.2 224.6 875 267.6 875 400.4 875 505.9 843.8 601.6 814.5 673.8 759.8 738.3 710.9 783.2 642.6 822.3 582 843.8 505.9 863.3 443.4 871.1 371.1 877 312.5 875 252 873 209 867.2 169.9L863.3 136.7 822.3 130.9Q771.5 125 716.8 125ZM709 291Q591.8 291 505.9 335.9 431.6 371.1 380.9 437.5 341.8 492.2 318.4 562.5 300.8 611.3 294.9 664.1L291 709Q337.9 615.2 398.4 537.1 451.2 470.7 509.8 418 558.6 375 609.4 341.8 646.5 318.4 681.6 302.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seed-outline\"\n      ]\n    },\n    {\n      \"uid\": \"92da60ddb6adfbb0b2a2fe6388430b4e\",\n      \"css\": \"signal-distance-variant\",\n      \"code\": 986724,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V166Q302.7 166 417 233.4T598.6 416 666 666H584Q584 584 551.8 506.8T460.9 371.1 326.2 281.3 166 250ZM166 416V334Q232.4 334 293.9 359.4T402.3 431.6 474.6 539.1 500 666H416Q416 599.6 382.8 542T292 450.2 166 416ZM166 500Q236.3 500 285.2 548.8T334 666H166V500ZM125 750H791V666L916 791 791 916V834H125V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"signal-distance-variant\"\n      ]\n    },\n    {\n      \"uid\": \"997208c5214da1ad6ba7b62f8af0330d\",\n      \"css\": \"spade\",\n      \"code\": 986725,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M654.3 50.8L537.1 168Q511.7 193.4 511.7 227.5T537.1 287.1L595.7 345.7 419.9 521.5 316.4 419.9 50.8 683.6 316.4 949.2 580.1 683.6 478.5 580.1 654.3 404.3 712.9 462.9Q738.3 488.3 772.5 488.3T832 462.9L949.2 345.7ZM654.3 168L832 345.7 773.4 404.3 595.7 226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spade\"\n      ]\n    },\n    {\n      \"uid\": \"647a393228a17e85e7c3cadb58a2fb68\",\n      \"css\": \"sprout\",\n      \"code\": 986726,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 916V834L144.5 812.5Q222.7 787.1 298.8 771.5 408.2 750 500 750T701.2 771.5Q777.3 787.1 855.5 812.5L916 834V916H84ZM470.7 378.9Q453.1 324.2 402.3 291 361.3 265.6 300.8 255.9 255.9 248 207 250L166 253.9 169.9 287.1Q173.8 328.1 185.5 365.2 199.2 418 222.7 453.1 253.9 500 294.9 519.5 345.7 543 412.1 529.3 402.3 453.1 367.2 406.3 349.6 382.8 334 375V375Q373 375 402.3 396.5 425.8 414.1 439.5 445.3 449.2 468.8 455.1 494.1L459 517.6V709H541V533.2L543 507.8Q546.9 474.6 556.6 447.3 570.3 406.3 593.8 378.9 623 343.8 666 330.1L644.5 365.2Q621.1 408.2 605.5 447.3 584 500 584 537.1 664.1 544.9 726.6 509.8 777.3 480.5 812.5 419.9 839.8 371.1 855.5 304.7 867.2 257.8 873 209L875 166 835.9 164.1Q789.1 164.1 742.2 168 677.7 175.8 627 195.3 564.5 218.8 525.4 259.8 480.5 308.6 470.7 378.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sprout\"\n      ]\n    },\n    {\n      \"uid\": \"1899f87aedb4e1945d0f5034e549f569\",\n      \"css\": \"sprout-outline\",\n      \"code\": 986727,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 169.9V95.7L877 85.9Q843.8 84 812.5 84 685.5 84 592.8 119.1T445.3 220.7Q357.4 166 228.5 166 203.1 166 177.7 168L158.2 169.9 80.1 183.6 84 253.9Q85.9 330.1 111.3 404.3 140.6 496.1 197.3 550.8 267.6 617.2 367.2 617.2H375V757.8Q275.4 771.5 169.9 802.7 117.2 820.3 84 834V916H916V834L877 818.4Q824.2 800.8 771.5 787.1 695.3 767.6 625 757.8V625Q746.1 623 828.1 539.1 894.5 470.7 929.7 355.5 959 263.7 959 169.9ZM500 750H459V517.6L455.1 494.1Q449.2 468.8 439.5 445.3 425.8 414.1 402.3 396.5 373 375 334 375L343.8 382.8Q355.5 392.6 367.2 406.3 382.8 427.7 392.6 453.1 406.3 488.3 412.1 529.3 396.5 533.2 367.2 533.2 300.8 533.2 253.9 490.2 216.8 455.1 195.3 394.5 177.7 349.6 171.9 296.9L166 253.9 183.6 252Q205.1 250 228.5 250 310.5 250 367.2 271.5 449.2 304.7 474.6 378.9 488.3 255.9 613.3 203.1 695.3 166 812.5 166 849.6 166 875 169.9L873 209Q869.1 257.8 857.4 302.7 843.8 365.2 818.4 414.1 787.1 474.6 740.2 505.9 685.5 544.9 613.3 544.9H584Q584 494.1 625 410.2 646.5 369.1 666 337.9V337.9Q587.9 363.3 556.6 455.1 541 502 541 541V750H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sprout-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d1f72e905ebc0d888f604f77390f2642\",\n      \"css\": \"table-tennis\",\n      \"code\": 986728,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 584Q814.5 584 844.7 614.3T875 687.5 844.7 760.7 770.5 791 696.3 760.7 666 687.5 696.3 614.3 771.5 584ZM291 625L302.7 636.7Q314.5 652.3 322.3 668 334 689.5 334 709V853.5Q334 878.9 352.5 897.5T395.5 916 439.5 897.5 459 853.5V709Q459 689.5 468.8 668 476.6 652.3 488.3 636.7L500 625H291ZM334 584H459L490.2 580.1Q529.3 574.2 562.5 556.6 607.4 535.2 634.8 496.1 666 447.3 666 375 666 277.3 619.1 207 580.1 146.5 511.7 113.3 453.1 84 395.5 84T279.3 113.3Q212.9 146.5 171.9 207 125 277.3 125 375 125 466.8 179.7 521.5 216.8 560.5 279.3 576.2 310.5 584 334 584V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-tennis\"\n      ]\n    },\n    {\n      \"uid\": \"891a4e4aba17457ac0f5cf00dc5ff53f\",\n      \"css\": \"tree-outline\",\n      \"code\": 986729,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 125Q359.4 125 304.7 179.7T250 312.5Q250 349.6 265.6 386.7 238.3 412.1 223.6 447.3T209 521.5Q209 599.6 263.7 654.3T396.5 709Q423.8 709 459 697.3V875H541V656.3Q576.2 666 603.5 666 650.4 666 692.4 648.4T766.6 598.6 816.4 524.4 834 437.5 816.4 350.6 766.6 276.4 692.4 226.6 603.5 209H593.8Q566.4 169.9 525.4 147.5T437.5 125ZM437.5 209Q478.5 209 508.8 237.3T541 306.6Q570.3 291 603.5 291 664.1 291 707 334T750 437.5 707 541 602.5 584 498 537.1Q492.2 576.2 462.9 600.6T396.5 625Q353.5 625 322.3 594.7T291 523.4 314.5 455.1Q330.1 435.5 375 408.2 351.6 377 342.8 355.5T334 312.5Q334 269.5 364.3 239.3T437.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tree-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3db95696d3e46ead162c97f31e645770\",\n      \"css\": \"view-comfy\",\n      \"code\": 986730,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375H291V209H125V375ZM125 584H291V416H125V584ZM334 584H500V416H334V584ZM541 584H709V416H541V584ZM334 375H500V209H334V375ZM541 209V375H709V209H541ZM750 584H916V416H750V584ZM125 791H291V625H125V791ZM334 791H500V625H334V791ZM541 791H709V625H541V791ZM750 791H916V625H750V791ZM750 209V375H916V209H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-comfy\"\n      ]\n    },\n    {\n      \"uid\": \"0b5bcd547038d1882da66ba9d797640c\",\n      \"css\": \"view-compact\",\n      \"code\": 986731,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 791H375V500H125V791ZM416 791H916V500H416V791ZM125 209V459H916V209H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-compact\"\n      ]\n    },\n    {\n      \"uid\": \"00afcb2de76eba55daaab8194ab6f073\",\n      \"css\": \"view-compact-outline\",\n      \"code\": 986732,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V791H916V209H125ZM209 291H834V459H209V291ZM209 709V541H375V709H209ZM459 709V541H834V709H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-compact-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4070bf09bbfb04239dbd2321a6aa0ba5\",\n      \"css\": \"vuetify\",\n      \"code\": 986733,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 484.4L330.1 84H669.9ZM500 914.1L136.7 205.1H326.2L500 603.5 673.8 205.1H863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vuetify\"\n      ]\n    },\n    {\n      \"uid\": \"6e40cec80613d9b444eec08d9d1207f0\",\n      \"css\": \"weather-cloudy-arrow-right\",\n      \"code\": 986734,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291L279.3 294.9Q298.8 220.7 360.4 172.9T500 125Q544.9 125 586.9 142.6T661.1 192.4 710.9 266.6 728.5 353.5L726.6 394.5Q755.9 375 791 375 843.8 375 879.9 411.1T916 500 879.9 588.9 791 625H250Q181.6 625 132.8 576.2T84 458 132.8 339.8 250 291ZM250 375Q214.8 375 190.4 399.4T166 458 190.4 516.6 250 541H791Q808.6 541 821.3 529.3T834 500 821.3 470.7 791 459H646.5V353.5Q646.5 293 603.5 251T500 209 396.5 251 353.5 353.5V375H250ZM916 791L791 916V834H84V750H791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-cloudy-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"090c6ce093410b0ab7263cf9d02f3313\",\n      \"css\": \"microsoft-xbox-controller-menu\",\n      \"code\": 986735,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM250 291H750V375H250V291ZM250 459H750V541H250V459ZM250 625H750V709H250V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-menu\"\n      ]\n    },\n    {\n      \"uid\": \"9afa3a2431a84b2feb0abd2a8389be98\",\n      \"css\": \"microsoft-xbox-controller-view\",\n      \"code\": 986736,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500Q84 582 115.2 659.2T205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM250 291H625V375H334V584H250V291ZM375 416H750V709H375V416ZM459 500V625H666V500H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-xbox-controller-view\"\n      ]\n    },\n    {\n      \"uid\": \"60de3652432cc97f4b652beb9249586c\",\n      \"css\": \"alarm-note\",\n      \"code\": 986737,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M724.6 78.1L671.9 140.6 863.3 302.7 916 238.3ZM275.4 78.1L84 238.3 136.7 300.8 328.1 140.6ZM500 166Q398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916Q527.3 916 541 914.1V830.1Q527.3 834 500 834 419.9 834 353.5 793.9T248 687.5 209 542 248 395.5 353.5 289.1 500 250Q597.7 250 674.8 307.6T779.3 459H865.2Q847.7 373 793.9 306.6T663.1 203.1 500 166ZM959 625H834V853.5Q834 896.5 802.7 927.7T728.5 959 655.3 927.7 625 853.5 655.3 780.3 728.5 750Q763.7 750 791 771.5V541H959V625ZM478.5 334V552.7L312.5 650.4 343.8 701.2 541 584V334H478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-note\"\n      ]\n    },\n    {\n      \"uid\": \"6403332fa20e3a03189ba156aee5caf6\",\n      \"css\": \"alarm-note-off\",\n      \"code\": 986738,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 541V658.2L834 699.2V625H959V541H791ZM99.6 72.3L46.9 125 125 203.1 84 238.3 136.7 300.8 183.6 261.7 216.8 294.9Q150.4 373 131.8 470.7T145.5 663.1 253.9 824.2Q304.7 869.1 368.2 892.6T500 916Q527.3 916 541 914.1V830.1Q527.3 834 500 834 419.9 834 353.5 793.9T248 687.5 209 541Q209 435.5 275.4 353.5L474.6 554.7 312.5 650.4 343.8 701.2 517.6 597.7 681.6 761.7Q644.5 781.3 630.9 821.3T635.7 900.4 695.3 953.1 775.4 947.3Q808.6 931.6 822.3 900.4L869.1 947.3 921.9 894.5ZM500 250Q597.7 250 674.8 307.6T779.3 459H865.2Q847.7 373 793.9 306.6T663.1 203.1 500 166 337.9 205.1L400.4 267.6Q449.2 250 500 250ZM478.5 345.7L541 408.2V334H478.5V345.7ZM328.1 140.6L275.4 78.1 240.2 107.4 298.8 166ZM724.6 78.1L671.9 140.6 863.3 302.7 916 238.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alarm-note-off\"\n      ]\n    },\n    {\n      \"uid\": \"fabd4f07931d56bb95fce5f714ce2ad3\",\n      \"css\": \"arrow-left-right\",\n      \"code\": 986739,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M269.5 726.6L41 500 269.5 273.4 328.1 332 201.2 459H798.8L671.9 332 730.5 273.4 959 500 730.5 726.6 671.9 668 798.8 541H201.2L328.1 668Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-right\"\n      ]\n    },\n    {\n      \"uid\": \"2085140920f7932d93c23367c8ea77aa\",\n      \"css\": \"arrow-left-right-bold\",\n      \"code\": 986740,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 584V750L84 500 334 250V416H666V250L916 500 666 750V584H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-left-right-bold\"\n      ]\n    },\n    {\n      \"uid\": \"426f860b459c57efcb2107f525a28e89\",\n      \"css\": \"arrow-top-left-bottom-right\",\n      \"code\": 986741,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 875H875V541H791V732.4L267.6 209H459V125H125V459H209V267.6L732.4 791H541V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-left-bottom-right\"\n      ]\n    },\n    {\n      \"uid\": \"91d2158936cc9841e232354bda0e7cb6\",\n      \"css\": \"arrow-top-left-bottom-right-bold\",\n      \"code\": 986742,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M242.2 361.3L125 478.5V125H478.5L361.3 242.2 757.8 638.7 875 521.5V875H521.5L638.7 757.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-left-bottom-right-bold\"\n      ]\n    },\n    {\n      \"uid\": \"66d275804ec34874b926aadc7521e733\",\n      \"css\": \"arrow-top-right-bottom-left\",\n      \"code\": 986743,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 875H125V541H209V732.4L732.4 209H541V125H875V459H791V267.6L267.6 791H459V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-right-bottom-left\"\n      ]\n    },\n    {\n      \"uid\": \"6ba36bdf53eccf3fe2f7eba294955bdd\",\n      \"css\": \"arrow-top-right-bottom-left-bold\",\n      \"code\": 986744,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M757.8 361.3L875 478.5V125H521.5L638.7 242.2 242.2 638.7 125 521.5V875H478.5L361.3 757.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-top-right-bottom-left-bold\"\n      ]\n    },\n    {\n      \"uid\": \"098667d5f87e1ed4e1a0e22dda8b9e19\",\n      \"css\": \"arrow-up-down\",\n      \"code\": 986745,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M726.6 730.5L500 959 273.4 730.5 332 671.9 459 798.8V201.2L332 328.1 273.4 269.5 500 41 726.6 269.5 668 328.1 541 201.2V798.8L668 671.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-down\"\n      ]\n    },\n    {\n      \"uid\": \"5a816b734da0b35c8d2581dcece26787\",\n      \"css\": \"arrow-up-down-bold\",\n      \"code\": 986746,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 334H250L500 84 750 334H584V666H750L500 916 250 666H416V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-up-down-bold\"\n      ]\n    },\n    {\n      \"uid\": \"64161297533a6a165449bc519d8bae24\",\n      \"css\": \"atom-variant\",\n      \"code\": 986747,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M765.6 109.4Q816.4 109.4 853.5 146.5T890.6 235.4 853.5 323.2 764.6 359.4 676.8 323.2 640.6 234.4Q640.6 216.8 646.5 199.2 576.2 166 500 166 410.2 166 333 210.9T210.9 333 166 500L168 535.2 85.9 543 84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84Q603.5 84 695.3 130.9 726.6 109.4 765.6 109.4ZM765.6 193.4Q748 193.4 735.4 205.1T722.7 234.4 735.4 264.6 765.6 277.3 794.9 264.6 806.6 234.4 794.9 205.1 765.6 193.4ZM234.4 640.6Q287.1 640.6 323.2 676.8T359.4 765.6Q359.4 783.2 353.5 800.8 423.8 834 500 834 589.8 834 667 789.1T789.1 667 834 500L832 464.8 914.1 457 916 500Q916 582 884.8 659.2T794.9 794.9 659.2 884.8 500 916Q396.5 916 304.7 869.1 273.4 890.6 234.4 890.6 183.6 890.6 146.5 853.5T109.4 764.6 146.5 676.8 234.4 640.6ZM234.4 722.7Q216.8 722.7 205.1 735.4T193.4 765.6 205.1 794.9 234.4 806.6 264.6 794.9 277.3 765.6 264.6 735.4 234.4 722.7ZM500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"atom-variant\"\n      ]\n    },\n    {\n      \"uid\": \"79e0af9361f35e417b763f716c6aebb2\",\n      \"css\": \"baby-face\",\n      \"code\": 986748,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 500Q41 443.4 75.2 399.4T160.2 339.8Q207 244.1 297.9 184.6T500 125 702.1 184.6 839.8 339.8Q892.6 355.5 925.8 399.4T959 500 925.8 600.6 839.8 660.2Q793 755.9 702.1 815.4T500 875 297.9 815.4 160.2 660.2Q109.4 644.5 75.2 600.6T41 500ZM603.5 384.8Q582 384.8 567.4 400.4T552.7 437.5 567.4 474.6 603.5 490.2 640.6 474.6 656.3 437.5 640.6 400.4 603.5 384.8ZM396.5 384.8Q375 384.8 359.4 400.4T343.8 437.5 359.4 474.6 396.5 490.2 432.6 474.6 447.3 437.5 432.6 400.4 396.5 384.8ZM312.5 584Q335.9 638.7 386.7 673.8T500 709 613.3 673.8 687.5 584H312.5ZM125 500Q125 525.4 138.7 545.9T175.8 576.2Q166 539.1 166 500T175.8 423.8Q152.3 433.6 138.7 454.1T125 500ZM875 500Q875 474.6 861.3 454.1T824.2 423.8Q834 460.9 834 500T824.2 576.2Q847.7 566.4 861.3 545.9T875 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-face\"\n      ]\n    },\n    {\n      \"uid\": \"37cbf4a7b34f7a834c38bb0e2f5118b4\",\n      \"css\": \"baby-face-outline\",\n      \"code\": 986749,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 384.8Q625 384.8 640.6 400.4T656.3 437.5 640.6 474.6 603.5 490.2 567.4 474.6 552.7 437.5 567.4 400.4 603.5 384.8ZM396.5 384.8Q418 384.8 432.6 400.4T447.3 437.5 432.6 474.6 396.5 490.2 359.4 474.6 343.8 437.5 359.4 400.4 396.5 384.8ZM312.5 584H687.5Q664.1 638.7 613.3 673.8T500 709 386.7 673.8 312.5 584ZM41 500Q41 443.4 75.2 399.4T160.2 339.8Q207 244.1 297.9 184.6T500 125 702.1 184.6 839.8 339.8Q892.6 355.5 925.8 399.4T959 500 925.8 600.6 839.8 660.2Q793 755.9 702.1 815.4T500 875 297.9 815.4 160.2 660.2Q109.4 644.5 75.2 600.6T41 500ZM500 209Q402.3 209 325.2 267.6T220.7 416H209Q173.8 416 149.4 440.4T125 500 149.4 559.6 209 584H220.7Q248 673.8 325.2 732.4T500 791 674.8 732.4 779.3 584H791Q826.2 584 850.6 559.6T875 500 850.6 440.4 791 416H779.3Q752 326.2 674.8 267.6T500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-face-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4847aa991ca99ad5d2ee76add7407492\",\n      \"css\": \"backspace-reverse\",\n      \"code\": 986750,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 875H709Q744.1 875 775.4 837.9L1000 500 775.4 162.1Q744.1 125 709 125H84Q48.8 125 24.4 149.4T0 209V791Q0 826.2 24.4 850.6T84 875ZM209 349.6L267.6 291 416 441.4 566.4 291 625 349.6 474.6 500 625 650.4 566.4 709 416 558.6 267.6 709 209 650.4 357.4 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"backspace-reverse\"\n      ]\n    },\n    {\n      \"uid\": \"da1e8fb48438b374691a13a998df0a13\",\n      \"css\": \"backspace-reverse-outline\",\n      \"code\": 986751,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 650.4L267.6 709 416 558.6 566.4 709 625 650.4 474.6 500 625 349.6 566.4 291 416 441.4 267.6 291 209 349.6 357.4 500ZM84 125Q48.8 125 24.4 149.4T0 209V791Q0 826.2 24.4 850.6T84 875H709Q750 875 775.4 837.9L1000 500 775.4 162.1Q750 125 709 125H84ZM84 209H709L904.3 500 709 791H84V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"backspace-reverse-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0b140bd85e4e5aa3b05a5916058fc7fd\",\n      \"css\": \"bank-outline\",\n      \"code\": 986752,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 416H187.5V709H271.5V416ZM521.5 416H437.5V709H521.5V416ZM875 791H84V875H875V791ZM771.5 416H687.5V709H771.5V416ZM478.5 136.7L695.3 250H261.7ZM478.5 41L84 250V334H875V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bank-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a7121ffcc100e972246f44708ca0a778\",\n      \"css\": \"bell-alert-outline\",\n      \"code\": 986753,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H875V791L791 709V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM500 250Q556.6 250 604.5 278.3T680.7 354.5 709 459V750H291V459Q291 402.3 319.3 354.5T395.5 278.3 500 250ZM875 291V541H959V291H875ZM875 625V709H959V625H875ZM416 875Q416 910.2 440.4 934.6T500 959 559.6 934.6 584 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"21a648d168847832da8896ad1ec8c8cf\",\n      \"css\": \"book-play\",\n      \"code\": 986754,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 916Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V478.5Q783.2 459 728.5 459 656.3 459 593.8 495.1T495.1 593.8 459 728.5Q459 783.2 478.5 831.1T533.2 916H250ZM728.5 541Q806.6 541 861.3 595.7T916 728.5 861.3 861.3 728.5 916 595.7 861.3 541 728.5 595.7 595.7 728.5 541ZM669.9 625V834L834 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-play\"\n      ]\n    },\n    {\n      \"uid\": \"b4d518f605f24a51d600c86dda418eee\",\n      \"css\": \"book-play-outline\",\n      \"code\": 986755,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 666L916 791 709 916V666ZM750 84Q785.2 84 809.6 108.4T834 166V642.6L750 593.8V166H541V500L437.5 406.3 334 500V166H250V834H625V916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-play-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b2aa29c91f66c3bc91291306d2351c09\",\n      \"css\": \"book-search\",\n      \"code\": 986756,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM250 916Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H291V375L396.5 312.5 500 375V84H750Q785.2 84 809.6 108.4T834 166V492.2Q796.9 457 748 436.5T646.5 416Q572.3 416 509.8 453.1T411.1 551.8 375 685.5 409.2 819.3 502 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-search\"\n      ]\n    },\n    {\n      \"uid\": \"8cb9ed29871ebe9a500eed7d3a11ec47\",\n      \"css\": \"book-search-outline\",\n      \"code\": 986757,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM541 166V500L437.5 406.3 334 500V166H250V834H416Q451.2 884.8 502 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H750Q785.2 84 809.6 108.4T834 166V492.2Q794.9 457 750 437.5V166H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2795dd5e9c5e9c4d56b49c29d32d6030\",\n      \"css\": \"boom-gate\",\n      \"code\": 986758,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 375H341.8Q308.6 335.9 256.8 334T165 367.2 125 459V834Q107.4 834 95.7 845.7T84 875V916H416V875Q416 857.4 404.3 845.7T375 834V541H834Q867.2 541 891.6 516.6T916 458 891.6 399.4 834 375ZM250 521.5Q224.6 521.5 206.1 502.9T187.5 458 206.1 414.1 250 396.5 293.9 414.1 312.5 458 293.9 502.9 250 521.5ZM437.5 500L375 416H437.5L500 500H437.5ZM603.5 500L541 416H603.5L666 500H603.5ZM771.5 500L709 416H771.5L834 500H771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate\"\n      ]\n    },\n    {\n      \"uid\": \"00e39f4f970711fed10d45e7dd20886e\",\n      \"css\": \"boom-gate-alert\",\n      \"code\": 986759,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 125Q810.5 95.7 777.3 85.9T712.9 93.8L289.1 339.8Q267.6 334 250 334 197.3 334 161.1 370.1T125 459V834Q107.4 834 95.7 845.7T84 875V916H416V875Q416 857.4 404.3 845.7T375 834V482.4L796.9 238.3Q826.2 220.7 835 187.5T828.1 125ZM250 521.5Q224.6 521.5 206.1 502.9T187.5 458 206.1 414.1 250 396.5 293.9 414.1 312.5 458 293.9 502.9 250 521.5ZM433.6 400.4L337.9 359.4 392.6 328.1 488.3 369.1ZM578.1 318.4L482.4 275.4 535.2 244.1 630.9 287.1ZM722.7 234.4L627 193.4 679.7 162.1 775.4 203.1ZM834 750H750V834H834V750ZM834 459H750V666H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-alert\"\n      ]\n    },\n    {\n      \"uid\": \"12fcf809f9b2ddcfec85d3be564741f3\",\n      \"css\": \"boom-gate-alert-outline\",\n      \"code\": 986760,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 125Q810.5 95.7 777.3 85.9T712.9 93.8L289.1 339.8Q267.6 334 250 334 197.3 334 161.1 370.1T125 459V834Q107.4 834 95.7 845.7T84 875V916H416V875Q416 857.4 404.3 845.7T375 834V482.4L796.9 238.3Q826.2 220.7 835 187.5T828.1 125ZM312.5 834H187.5V566.4Q216.8 584 250 584T312.5 566.4V834ZM250 521.5Q224.6 521.5 206.1 502.9T187.5 458 206.1 414.1 250 396.5 293.9 414.1 312.5 458 293.9 502.9 250 521.5ZM433.6 400.4L337.9 359.4 392.6 328.1 488.3 369.1ZM578.1 318.4L482.4 275.4 535.2 244.1 630.9 287.1ZM722.7 234.4L627 193.4 679.7 162.1 775.4 203.1ZM834 666H750V459H834V666ZM834 834H750V750H834V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"105145374e8a7caaab5bb5f3dc1db91a\",\n      \"css\": \"boom-gate-down\",\n      \"code\": 986761,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 125Q810.5 95.7 777.3 85.9T712.9 93.8L289.1 339.8Q267.6 334 250 334 197.3 334 161.1 370.1T125 459V834Q107.4 834 95.7 845.7T84 875V916H416V875Q416 857.4 404.3 845.7T375 834V482.4L796.9 238.3Q826.2 220.7 835 187.5T828.1 125ZM250 521.5Q224.6 521.5 206.1 502.9T187.5 458 206.1 414.1 250 396.5 293.9 414.1 312.5 458 293.9 502.9 250 521.5ZM433.6 400.4L337.9 359.4 392.6 328.1 488.3 369.1ZM578.1 318.4L482.4 275.4 535.2 244.1 630.9 287.1ZM722.7 234.4L627 193.4 679.7 162.1 775.4 203.1ZM709 834L500 625H625V459H791V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-down\"\n      ]\n    },\n    {\n      \"uid\": \"e6a094d2ccb668489e643b554b38b13c\",\n      \"css\": \"boom-gate-down-outline\",\n      \"code\": 986762,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 125Q843.8 154.3 835 187.5T796.9 238.3L375 482.4V834Q392.6 834 404.3 845.7T416 875V916H84V875Q84 857.4 95.7 845.7T125 834V459Q125 406.3 161.1 370.1T250 334Q267.6 334 289.1 339.8L712.9 93.8Q744.1 76.2 777.3 85.9T828.1 125ZM312.5 834V566.4Q283.2 584 250 584T187.5 566.4V834H312.5ZM250 521.5Q275.4 521.5 293.9 502.9T312.5 458 293.9 414.1 250 396.5 206.1 414.1 187.5 458 206.1 502.9 250 521.5ZM433.6 400.4L488.3 369.1 392.6 328.1 337.9 359.4ZM578.1 318.4L630.9 287.1 535.2 244.1 482.4 275.4ZM722.7 234.4L775.4 203.1 679.7 162.1 627 193.4ZM666 464.8H750V673.8H875L709 834 541 673.8H666V464.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-down-outline\"\n      ]\n    },\n    {\n      \"uid\": \"29dc03169cca0026dbf3ea13346077c1\",\n      \"css\": \"boom-gate-outline\",\n      \"code\": 986763,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 375H341.8Q308.6 335.9 256.8 334T165 367.2 125 459V834Q107.4 834 95.7 845.7T84 875V916H416V875Q416 857.4 404.3 845.7T375 834V541H834Q867.2 541 891.6 516.6T916 458 891.6 399.4 834 375ZM312.5 834H187.5V566.4Q216.8 584 250 584T312.5 566.4V834ZM250 521.5Q224.6 521.5 206.1 502.9T187.5 458 206.1 414.1 250 396.5 293.9 414.1 312.5 458 293.9 502.9 250 521.5ZM437.5 500L375 416H437.5L500 500H437.5ZM603.5 500L541 416H603.5L666 500H603.5ZM771.5 500L709 416H771.5L834 500H771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dac4cf033e346a12cfa86c366f036f63\",\n      \"css\": \"boom-gate-up\",\n      \"code\": 986764,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 125Q810.5 95.7 777.3 85.9T712.9 93.8L289.1 339.8Q267.6 334 250 334 197.3 334 161.1 370.1T125 459V834Q107.4 834 95.7 845.7T84 875V916H416V875Q416 857.4 404.3 845.7T375 834V482.4L796.9 238.3Q826.2 220.7 835 187.5T828.1 125ZM250 521.5Q224.6 521.5 206.1 502.9T187.5 458 206.1 414.1 250 396.5 293.9 414.1 312.5 458 293.9 502.9 250 521.5ZM433.6 400.4L337.9 359.4 392.6 328.1 488.3 369.1ZM578.1 318.4L482.4 275.4 535.2 244.1 630.9 287.1ZM722.7 234.4L627 193.4 679.7 162.1 775.4 203.1ZM709 459L916 666H791V834H625V666H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-up\"\n      ]\n    },\n    {\n      \"uid\": \"3b99d414bd0a881b4ea40611609f087b\",\n      \"css\": \"boom-gate-up-outline\",\n      \"code\": 986765,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 125Q843.8 154.3 835 187.5T796.9 238.3L375 482.4V834Q392.6 834 404.3 845.7T416 875V916H84V875Q84 857.4 95.7 845.7T125 834V459Q125 406.3 161.1 370.1T250 334Q267.6 334 289.1 339.8L712.9 93.8Q744.1 76.2 777.3 85.9T828.1 125ZM312.5 834V566.4Q283.2 584 250 584T187.5 566.4V834H312.5ZM250 521.5Q275.4 521.5 293.9 502.9T312.5 458 293.9 414.1 250 396.5 206.1 414.1 187.5 458 206.1 502.9 250 521.5ZM433.6 400.4L488.3 369.1 392.6 328.1 337.9 359.4ZM578.1 318.4L630.9 287.1 535.2 244.1 482.4 275.4ZM722.7 234.4L775.4 203.1 679.7 162.1 627 193.4ZM666 834V625H541L709 464.8 875 625H750V834H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boom-gate-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7cb7db318f0068d6293396e475db9385\",\n      \"css\": \"calendar-sync\",\n      \"code\": 986766,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459V521.5Q814.5 521.5 860.4 562.5T915 665 888.7 779.3L843.8 734.4Q859.4 701.2 851.6 665T815.4 606.4 750 584V646.5L656.3 552.7ZM750 916V853.5Q685.5 853.5 639.6 812.5T585 710 611.3 595.7L656.3 640.6Q640.6 673.8 648.4 710T684.6 768.6 750 791V728.5L843.8 822.3ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H584Q544.9 841.8 521.5 791H209V334H791V441.4Q837.9 449.2 875 470.7V209Q875 173.8 850.6 149.4T791 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-sync\"\n      ]\n    },\n    {\n      \"uid\": \"6951dfa1f93dc4981ecbcd96017965a7\",\n      \"css\": \"calendar-sync-outline\",\n      \"code\": 986767,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459V521.5Q814.5 521.5 860.4 562.5T915 665 888.7 779.3L843.8 734.4Q859.4 701.2 851.6 665T815.4 606.4 750 584V646.5L656.3 552.7ZM750 916V853.5Q685.5 853.5 639.6 812.5T585 710 611.3 595.7L656.3 640.6Q640.6 673.8 648.4 710T684.6 768.6 750 791V728.5L843.8 822.3ZM791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H584Q544.9 841.8 521.5 791H209V375H791V441.4Q837.9 449.2 875 470.7V209Q875 173.8 850.6 149.4T791 125ZM791 291H209V209H791V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"82e223fcbbc3fd81c3ebe41089449f1c\",\n      \"css\": \"cellphone-nfc\",\n      \"code\": 986768,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 666V750Q140.6 750 188.5 778.3T263.7 854.5 291 959H375Q375 878.9 335.9 812.5T229.5 706.1 84 666ZM84 834V959H209Q209 906.3 171.9 870.1T84 834ZM84 500V584Q185.5 584 271.5 633.8T408.2 770.5 459 959H541Q541 834 479.5 728.5T312.5 561.5 84 500ZM709 41H291Q257.8 41 233.4 65.4T209 125V431.6Q252 441.4 291 459V209H709V750H582Q615.2 826.2 621.1 916H709Q742.2 916 766.6 891.6T791 834V125Q791 89.8 766.6 65.4T709 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-nfc\"\n      ]\n    },\n    {\n      \"uid\": \"67c3396cd9d7f85e301090c56cf31ca7\",\n      \"css\": \"chart-areaspline-variant\",\n      \"code\": 986769,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 875H84V125H166V648.4L396.5 250 666 408.2 843.8 101.6 916 144.5V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-areaspline-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6d8b168fb416f7a7b950f73f4f9714c3\",\n      \"css\": \"chart-scatter-plot\",\n      \"code\": 986770,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H166V834H916V916H84V84ZM375 416Q427.7 416 463.9 453.1T500 542 463.9 629.9 375 666 286.1 629.9 250 542 286.1 453.1 375 416ZM541 84Q593.8 84 629.9 120.1T666 208 629.9 296.9 542 334 453.1 296.9 416 208 453.1 120.1 541 84ZM750 500Q802.7 500 838.9 536.1T875 625 838.9 713.9 750 750 661.1 713.9 625 625 661.1 536.1 750 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-scatter-plot\"\n      ]\n    },\n    {\n      \"uid\": \"6f4a34fce38b8500ddd7a297298acbf6\",\n      \"css\": \"chart-timeline-variant\",\n      \"code\": 986771,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 584L146.5 585.9 335.9 396.5Q330.1 375 335.9 353.5T357.4 316.4Q382.8 291 417 291T474.6 316.4Q492.2 332 497.1 353.5T498 396.5L603.5 502 625 500Q638.7 500 646.5 502L794.9 353.5Q791 347.7 791 334 791 298.8 815.4 274.4T875 250 934.6 274.4 959 333 934.6 391.6 875 416Q861.3 416 853.5 414.1L705.1 562.5Q709 568.4 709 584 709 617.2 684.6 641.6T625 666 565.4 641.6 541 584L544.9 562.5 437.5 455.1Q416 460.9 396.5 455.1L205.1 646.5 209 666Q209 701.2 184.6 725.6T125 750 65.4 725.6 41 667 65.4 608.4 125 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-timeline-variant\"\n      ]\n    },\n    {\n      \"uid\": \"666c136027bd1a2bd4937bb33e95302a\",\n      \"css\": \"chart-tree\",\n      \"code\": 986772,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 250H916V916H584V250ZM84 166H916V84H84V166ZM84 334H500V250H84V334ZM375 916H500V416H375V916ZM84 916H291V416H84V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-tree\"\n      ]\n    },\n    {\n      \"uid\": \"bbd72579c24bdac5737087ef3f048f7e\",\n      \"css\": \"circle-double\",\n      \"code\": 986773,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM500 250Q431.6 250 374 283.2T283.2 374 250 500 283.2 626 374 716.8 500 750 626 716.8 716.8 626 750 500 716.8 374 626 283.2 500 250ZM500 334Q568.4 334 617.2 382.8T666 500 617.2 617.2 500 666 382.8 617.2 334 500 382.8 382.8 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-double\"\n      ]\n    },\n    {\n      \"uid\": \"706770f370a9065642bca1e5f316abe1\",\n      \"css\": \"circle-expand\",\n      \"code\": 986774,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 166L834 334V166H666ZM834 666L666 834H834V666ZM334 834L166 666V834H334ZM166 334L334 166H166V334ZM707 293Q650.4 238.3 575.2 218.8T424.8 218.8 293.9 293.9 218.8 424.8 218.8 575.2 293.9 706.1 424.8 781.3 575.2 781.3 706.1 706.1 781.3 575.2 781.3 424.8 707 293ZM660.2 660.2Q617.2 705.1 558.6 719.7T441.4 719.7 338.9 661.1 280.3 558.6 280.3 441.4 338.9 338.9 441.4 280.3 558.6 280.3 661.1 338.9 719.7 441.4 719.7 558.6 660.2 660.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-expand\"\n      ]\n    },\n    {\n      \"uid\": \"8430a6f77b0c33557f48bf90bc422f0b\",\n      \"css\": \"clock-digital\",\n      \"code\": 986775,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250Q48.8 250 24.4 274.4T0 334V666Q0 701.2 24.4 725.6T84 750H916Q951.2 750 975.6 725.6T1000 666V334Q1000 298.8 975.6 274.4T916 250H84ZM84 334H916V666H84V334ZM125 375V437.5H259.8L125 625H197.3L334 437.5V375H125ZM384.8 375V437.5H447.3V375H384.8ZM500 375V437.5H562.5V625H625V375H500ZM709 375Q691.4 375 678.7 386.7T666 416V584Q666 601.6 678.7 613.3T709 625H834Q851.6 625 863.3 613.3T875 584V416Q875 398.4 863.3 386.7T834 375H709ZM728.5 437.5H812.5V562.5H728.5V437.5ZM384.8 562.5V625H447.3V562.5H384.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-digital\"\n      ]\n    },\n    {\n      \"uid\": \"89149e3b8d5798262e54857aed2e1787\",\n      \"css\": \"card-account-mail-outline\",\n      \"code\": 986776,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H84Q48.8 125 24.4 149.4T0 209V791Q0 826.2 24.4 850.6T84 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM916 791H84V209H916V791ZM875 250H584V459H875V250ZM834 334L728.5 406.3 625 334V291L728.5 365.2 834 291V334ZM375 500Q427.7 500 463.9 463.9T500 375 463.9 286.1 375 250 286.1 286.1 250 375 286.1 463.9 375 500ZM375 334Q392.6 334 404.3 345.7T416 375 404.3 404.3 375 416 345.7 404.3 334 375 345.7 345.7 375 334ZM625 691.4Q625 642.6 578.1 605.5 541 576.2 476.6 556.6 421.9 541 375 541T273.4 556.6Q209 576.2 171.9 605.5 125 642.6 125 691.4V750H625V691.4ZM228.5 666Q253.9 650.4 294.9 637.7T375 625 455.1 637.7 521.5 666H228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-mail-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8184752ec0b7e16e3223538a52ee462e\",\n      \"css\": \"card-account-phone\",\n      \"code\": 986777,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H84Q48.8 125 24.4 149.4T0 209V791Q0 826.2 24.4 850.6T84 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM334 250Q384.8 250 421.9 286.1T459 375 421.9 463.9 333 500 245.1 463.9 209 375 245.1 286.1 334 250ZM584 750H84V709Q84 669.9 128.9 638.7 168 611.3 232.4 593.8 287.1 580.1 333 580.1T435.5 593.8Q498 611.3 537.1 638.7 584 669.9 584 709V750ZM744.1 584H812.5L875 666 791 750Q707 685.5 677.7 584 666 541 666 500T677.7 416Q707 316.4 791 250L875 334 812.5 416H744.1Q728.5 459 728.5 500T744.1 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-phone\"\n      ]\n    },\n    {\n      \"uid\": \"e60be3f3a30163f7a87581b8cf5e2db3\",\n      \"css\": \"card-account-phone-outline\",\n      \"code\": 986778,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H84Q48.8 125 24.4 149.4T0 209V791Q0 826.2 24.4 850.6T84 875H916Q951.2 875 975.6 850.6T1000 791V209Q1000 173.8 975.6 149.4T916 125ZM916 791H84V209H916V791ZM791 750L875 666 812.5 584H744.1Q728.5 541 728.5 500T744.1 416H812.5L875 334 791 250Q707 316.4 677.7 416 666 459 666 500T677.7 584Q707 685.5 791 750ZM375 500Q427.7 500 463.9 463.9T500 375 463.9 286.1 375 250 286.1 286.1 250 375 286.1 463.9 375 500ZM375 334Q392.6 334 404.3 345.7T416 375 404.3 404.3 375 416 345.7 404.3 334 375 345.7 345.7 375 334ZM625 691.4Q625 642.6 578.1 605.5 541 576.2 476.6 556.6 421.9 541 375 541T273.4 556.6Q209 576.2 171.9 605.5 125 642.6 125 691.4V750H625V691.4ZM228.5 666Q253.9 650.4 294.9 637.7T375 625 455.1 637.7 521.5 666H228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-account-phone-outline\"\n      ]\n    },\n    {\n      \"uid\": \"838714645dbf649bd8c3832a773ca4dc\",\n      \"css\": \"account-cowboy-hat\",\n      \"code\": 986779,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 916H166V834Q166 789.1 210.9 750T333 688.5 500 666 667 688.5 789.1 750 834 834V916ZM334 375H666V416Q666 486.3 617.2 535.2T500 584 382.8 535.2 334 416V375ZM791 166Q773.4 166 761.7 177.7T750 209V250H687.5L628.9 125Q621.1 107.4 613.3 103.5 597.7 87.9 574.2 85T529.3 91.8L500 99.6 470.7 87.9Q449.2 78.1 425.8 81.1T386.7 99.6Q378.9 107.4 371.1 125L312.5 250H250V209Q250 189.5 238.3 177.7T208 166 177.7 177.7 166 209V250Q166 285.2 190.4 309.6T250 334H750Q785.2 334 809.6 309.6T834 250V209Q834 191.4 822.3 178.7T791 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cowboy-hat\"\n      ]\n    },\n    {\n      \"uid\": \"cd923adb04148ac0126a83075fbfeaa6\",\n      \"css\": \"currency-rial\",\n      \"code\": 986780,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 709H541V791H459V709ZM584 709H666V791H584V709ZM375 166H459V625Q459 693.4 410.2 742.2T291 791H209Q156.3 791 120.1 754.9T84 666V500H166V666Q166 683.6 178.7 696.3T209 709H291Q326.2 709 350.6 684.6T375 625V166ZM500 166H584V541H709V334H791V541Q791 576.2 766.6 600.6T709 625H584Q548.8 625 524.4 600.6T500 541V166ZM834 416H916V709Q916 759.8 879.9 796.9T791 834H709V750H791Q808.6 750 821.3 738.3T834 709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-rial\"\n      ]\n    },\n    {\n      \"uid\": \"a43b311da12221e66d2bd5c4cfc07283\",\n      \"css\": \"delete-empty-outline\",\n      \"code\": 986781,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M849.6 371.1L806.6 443.4 300.8 152.3 343.8 80.1 470.7 152.3 527.3 136.7 707 242.2 722.7 298.8ZM250 791V291H460.9L750 459V791Q750 826.2 725.6 850.6T666 875H334Q298.8 875 274.4 850.6T250 791ZM334 791H666V507.8L435.5 375H334V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-empty-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6685ceb3fd4c80cd679d7af4f3de7202\",\n      \"css\": \"dolly\",\n      \"code\": 986782,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M498 828.1Q466.8 839.8 435.5 825.2T391.6 778.3 393.6 714.8 441.4 671.9 505.9 674.8 548.8 721.7 545.9 785.2 498 828.1ZM412.1 593.8Q347.7 617.2 318.4 679.7T312.5 807.6 399.4 901.4 527.3 906.3 621.1 820.3 627 693.4 540 599.6 412.1 593.8ZM664.1 191.4L390.6 291 447.3 447.3 720.7 347.7ZM845.7 568.4L648.4 640.6Q658.2 658.2 665 677.7T675.8 718.8L875 646.5ZM814.5 357.4L462.9 486.3 482.4 541Q562.5 546.9 621.1 605.5L871.1 513.7ZM84 84V166H212.9L361.3 572.3Q377 562.5 397.5 554.7T439.5 544.9L271.5 84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dolly\"\n      ]\n    },\n    {\n      \"uid\": \"509fa88cad2c452a6e9c530d1bff6411\",\n      \"css\": \"electric-switch\",\n      \"code\": 986783,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 459H132.8Q144.5 421.9 176.8 398.4T249 375 322.3 398.4L601.6 203.1 648.4 271.5 371.1 466.8Q375 482.4 375 500 375 552.7 338.9 588.9T250 625Q209 625 176.8 601.6T132.8 541H41V459ZM959 459V541H867.2Q855.5 578.1 823.2 601.6T750 625Q697.3 625 661.1 588.9T625 500 661.1 411.1 750 375Q791 375 823.2 398.4T867.2 459H959ZM250 459Q232.4 459 220.7 470.7T209 500 220.7 529.3 250 541 279.3 529.3 291 500 279.3 470.7 250 459ZM750 459Q732.4 459 720.7 470.7T709 500 720.7 529.3 750 541 779.3 529.3 791 500 779.3 470.7 750 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"electric-switch\"\n      ]\n    },\n    {\n      \"uid\": \"9485cf0127edde1ba724e87a491142cb\",\n      \"css\": \"ellipse\",\n      \"code\": 986784,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q386.7 166 291 210.9T139.6 333 84 500 139.6 667 291 789.1 500 834 709 789.1 860.4 667 916 500 860.4 333 709 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ellipse\"\n      ]\n    },\n    {\n      \"uid\": \"ce2f76efc3f9c5610abf180fb0f8e961\",\n      \"css\": \"ellipse-outline\",\n      \"code\": 986785,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q589.8 250 667 283.2T789.1 374 834 500 789.1 626 667 716.8 500 750 333 716.8 210.9 626 166 500 210.9 374 333 283.2 500 250ZM500 166Q386.7 166 291 210.9T139.6 333 84 500 139.6 667 291 789.1 500 834 709 789.1 860.4 667 916 500 860.4 333 709 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ellipse-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ad88a65ae0c483a44cdf0973cae1a613\",\n      \"css\": \"equalizer\",\n      \"code\": 986786,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 834H584V166H416V834ZM166 834H334V500H166V834ZM666 375V834H834V375H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"equalizer\"\n      ]\n    },\n    {\n      \"uid\": \"800bdb33df6996ab21a5bedf301db049\",\n      \"css\": \"equalizer-outline\",\n      \"code\": 986787,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 875H375V125H625V875ZM459 791H541V209H459V791ZM334 875H84V459H334V875ZM166 791H250V541H166V791ZM916 875H666V334H916V875ZM750 791H834V416H750V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"equalizer-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bacafb5a99e5fecef9cca61b482c3714\",\n      \"css\": \"ferris-wheel\",\n      \"code\": 986788,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 791Q527.3 791 547.9 806.6T578.1 845.7Q613.3 837.9 644.5 824.2L570.3 650.4Q537.1 666 500 666T429.7 650.4L355.5 824.2Q386.7 837.9 421.9 845.7 431.6 822.3 452.1 806.6T500 791ZM759.8 740.2Q742.2 714.8 742.2 687.5 742.2 654.3 766.6 628.9T826.2 603.5L837.9 605.5Q853.5 554.7 853.5 500T837.9 396.5H826.2Q791 396.5 766.6 372.1T742.2 312.5Q742.2 283.2 759.8 259.8 683.6 177.7 578.1 154.3 568.4 177.7 547.9 193.4T500 209 452.1 193.4 421.9 154.3Q316.4 177.7 240.2 259.8 257.8 283.2 257.8 312.5 257.8 347.7 233.4 372.1T175.8 396.5H162.1Q146.5 445.3 146.5 499T162.1 605.5L175.8 603.5Q209 603.5 233.4 628.9T257.8 686.5 240.2 740.2Q257.8 759.8 283.2 781.3L363.3 593.8Q334 552.7 334 500 334 431.6 382.8 382.8T500 334 617.2 382.8 666 500Q666 552.7 636.7 593.8L716.8 781.3Q738.3 763.7 759.8 740.2ZM500 959Q468.8 959 445.3 938.5T416 886.7Q378.9 878.9 339.8 861.3L298.8 959H209L267.6 820.3Q232.4 794.9 207 765.6 193.4 771.5 175.8 771.5 140.6 771.5 116.2 747.1T91.8 687.5Q91.8 648.4 123 623 103.5 562.5 103.5 500T123 378.9Q91.8 353.5 91.8 312.5 91.8 277.3 116.2 252.9T175.8 228.5Q189.5 228.5 205.1 236.3 291 138.7 416 113.3 421.9 82 445.3 61.5T500 41 554.7 61.5 584 113.3Q707 138.7 794.9 234.4 808.6 228.5 826.2 228.5 859.4 228.5 883.8 252.9T908.2 312.5Q908.2 353.5 877 377 896.5 437.5 896.5 500T877 623Q908.2 648.4 908.2 687.5 908.2 722.7 883.8 747.1T826.2 771.5Q808.6 771.5 793 765.6 767.6 794.9 732.4 820.3L791 959H701.2L660.2 861.3Q621.1 878.9 584 886.7 578.1 918 554.7 938.5T500 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ferris-wheel\"\n      ]\n    },\n    {\n      \"uid\": \"8f71a23e05f213c5000556813570be45\",\n      \"css\": \"file-delimited-outline\",\n      \"code\": 986789,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM416 791L500 625H375V416H625V625L541 791H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-delimited-outline\"\n      ]\n    },\n    {\n      \"uid\": \"deefe0a458fadd646980ced54eed8874\",\n      \"css\": \"text-box-check\",\n      \"code\": 986790,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 875L593.8 750 642.6 701.2 709 767.6 857.4 619.1 906.3 677.7ZM533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q818.4 500 750 500L709 503.9V459H291V541H611.3Q560.5 576.2 530.3 630.9T500 752 533.2 875ZM500 625H291V709H500V625ZM709 291H291V375H709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-check\"\n      ]\n    },\n    {\n      \"uid\": \"6f399eeb51b06ec396d1d4897ed2e0b4\",\n      \"css\": \"text-box-check-outline\",\n      \"code\": 986791,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 875L593.8 750 642.6 701.2 709 767.6 857.4 619.1 906.3 677.7ZM533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H209V791H503.9Q509.8 835.9 533.2 875ZM500 709H291V625H500V709ZM611.3 541H291V459H709V503.9Q656.3 511.7 611.3 541ZM709 375H291V291H709V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"48f2aeca5ddab839a2199fe7b89a5882\",\n      \"css\": \"text-box-minus\",\n      \"code\": 986792,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H584V709H916ZM500 709V625H291V709H500ZM709 459H291V541H611.3Q560.5 576.2 530.3 630.9T500 752 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q818.4 500 750 500L709 503.9V459ZM709 375V291H291V375H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-minus\"\n      ]\n    },\n    {\n      \"uid\": \"18c8c942b2016083be7f586b4d0bdd01\",\n      \"css\": \"text-box-minus-outline\",\n      \"code\": 986793,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H584V709H916ZM209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H209V791H503.9Q509.8 835.9 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 291H709V375H291V291ZM291 459H709V503.9Q656.3 511.7 611.3 541H291V459ZM291 625H500V709H291V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4dd186f1185160aaacc5b5a52b88658e\",\n      \"css\": \"text-box-plus\",\n      \"code\": 986794,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM500 709V625H291V709H500ZM709 459H291V541H611.3Q560.5 576.2 530.3 630.9T500 752 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q818.4 500 750 500L709 503.9V459ZM709 375V291H291V375H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-plus\"\n      ]\n    },\n    {\n      \"uid\": \"4a8a38c72777b40894e2276e2c62fe18\",\n      \"css\": \"text-box-plus-outline\",\n      \"code\": 986795,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H209V791H503.9Q509.8 835.9 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 291H709V375H291V291ZM291 459H709V503.9Q656.3 511.7 611.3 541H291V459ZM291 625H500V709H291V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4766bbc0a527da7a1f2dd1549e23298a\",\n      \"css\": \"text-box-remove\",\n      \"code\": 986796,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750ZM500 709V625H291V709H500ZM709 459H291V541H611.3Q560.5 576.2 530.3 630.9T500 752 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q818.4 500 750 500L709 503.9V459ZM709 375V291H291V375H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-remove\"\n      ]\n    },\n    {\n      \"uid\": \"9ee951e1fe155d70e2332197b6a08f49\",\n      \"css\": \"text-box-remove-outline\",\n      \"code\": 986797,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750ZM209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H209V791H503.9Q509.8 835.9 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 291H709V375H291V291ZM291 459H709V503.9Q656.3 511.7 611.3 541H291V459ZM291 625H500V709H291V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b9821eaece74a7dd3f72e9183f059526\",\n      \"css\": \"text-box-search\",\n      \"code\": 986798,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM291 625V709H375Q382.8 804.7 451.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209V543Q837.9 484.4 777.3 450.2T646.5 416Q568.4 416 502 459H291V541H416Q392.6 582 382.8 625H291ZM709 375V291H291V375H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-search\"\n      ]\n    },\n    {\n      \"uid\": \"fc33b666eebc376e260d5249d00dd9d8\",\n      \"css\": \"text-box-search-outline\",\n      \"code\": 986799,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 500Q724.6 500 779.3 554.7T834 687.5Q834 742.2 804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500ZM646.5 584Q603.5 584 572.3 614.3T541 687.5 572.3 760.7 646.5 791 719.7 760.7 750 687.5 719.7 614.3 646.5 584ZM209 125H791Q826.2 125 850.6 149.4T875 209V543Q843.8 492.2 791 459V209H209V791H396.5Q414.1 837.9 451.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM291 291H709V375H291V291ZM291 459H502Q451.2 490.2 416 541H291V459ZM291 625H382.8Q375 656.3 375 687.5V709H291V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-box-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"21cfa756fa0df3c97c36f6c401825416\",\n      \"css\": \"fingerprint-off\",\n      \"code\": 986801,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M62.5 199.2L115.2 146.5 853.5 884.8 800.8 937.5 695.3 830.1Q627 828.1 576.2 793 529.3 761.7 502.9 713.9T476.6 613.3L427.7 564.5Q412.1 584 412.1 611.3 412.1 664.1 432.6 712.9T490.2 798.8Q519.5 828.1 550.8 845.7T627 875Q634.8 877 638.7 884.8T640.6 900.4 633.8 912.1 621.1 916H615.2Q566.4 902.3 530.3 881.8T460.9 828.1Q418 785.2 394.5 728.5T371.1 611.3Q371.1 568.4 398.4 535.2L353.5 490.2Q306.6 543 306.6 611.3 306.6 703.1 343.8 771.5 363.3 804.7 380.9 828.1 394.5 845.7 421.9 873 427.7 878.9 427.7 886.7T420.9 901.4 406.3 908.2 392.6 902.3Q363.3 873 345.7 850.6T308.6 791Q263.7 712.9 263.7 611.3 263.7 568.4 280.3 529.3T324.2 460.9L279.3 416Q244.1 449.2 222.7 494.1 199.2 544.9 199.2 611.3 199.2 687.5 226.6 761.7 228.5 769.5 225.6 777.3T213.9 788.1 197.3 787.1 187.5 775.4Q156.3 695.3 156.3 611.3 156.3 535.2 185.5 476.6 210.9 423.8 250 386.7L207 343.8Q183.6 367.2 162.1 396.5 156.3 404.3 146.5 404.3L132.8 400.4Q127 396.5 125 387.7T128.9 373Q152.3 339.8 177.7 314.5ZM742.2 185.5L732.4 183.6Q671.9 152.3 617.2 138.7T500 125Q375 125 267.6 183.6L261.7 185.5 238.3 162.1Q238.3 152.3 248 146.5 363.3 84 500 84 627 84 752 146.5 759.8 150.4 761.7 159.2T759.8 173.8Q753.9 185.5 742.2 185.5ZM714.8 236.3Q808.6 283.2 871.1 371.1 875 377 874 385.7T866.2 399.4 850.6 403.3 835.9 396.5Q781.3 316.4 697.3 273.4T516.6 226.6 334 257.8L302.7 226.6Q398.4 183.6 509.8 185.5T714.8 236.3ZM500 386.7Q564.5 386.7 618.2 417T704.1 499 736.3 611.3Q736.3 619.1 729.5 625T714.8 630.9L705.1 628.9 697.3 621.1 693.4 611.3Q693.4 537.1 637.7 483.4T503.9 427.7L464.8 388.7ZM599.6 759.8Q619.1 773.4 644.5 781.3L525.4 662.1Q544.9 722.7 599.6 759.8ZM800.8 611.3Q800.8 533.2 759.8 467.8T649.4 364.3 498 326.2Q455.1 326.2 414.1 337.9L380.9 304.7Q439.5 283.2 498 283.2 591.8 283.2 670.9 327.1T795.9 446.3 841.8 611.3Q841.8 640.6 827.1 667T787.1 710.9L757.8 681.6Q777.3 669.9 789.1 651.4T800.8 611.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fingerprint-off\"\n      ]\n    },\n    {\n      \"uid\": \"db4104b91cb9fa06e36fc5f4219534fd\",\n      \"css\": \"format-list-bulleted-triangle\",\n      \"code\": 986802,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 646.5L312.5 834H103.5ZM375 791H875V709H375V791ZM209 396.5L312.5 584H103.5ZM375 541H875V459H375V541ZM209 146.5L312.5 334H103.5ZM375 291H875V209H375V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-bulleted-triangle\"\n      ]\n    },\n    {\n      \"uid\": \"6827c12ae798f319e0aaf63dc68d61ca\",\n      \"css\": \"format-overline\",\n      \"code\": 986803,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209H791V125H209V209ZM400.4 666L500 402.3 599.6 666H400.4ZM459 291L228.5 875H322.3L369.1 750H630.9L677.7 875H771.5L541 291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-overline\"\n      ]\n    },\n    {\n      \"uid\": \"7c8aaeac2c05ed8c7529b76d1aefde70\",\n      \"css\": \"frequently-asked-questions\",\n      \"code\": 986804,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 625H250L84 791V125Q84 107.4 95.7 95.7T125 84H750Q767.6 84 779.3 95.7T791 125V584Q791 601.6 779.3 613.3T750 625ZM959 375V959L791 791H334Q316.4 791 303.7 779.3T291 750V709H875V334H916Q933.6 334 946.3 345.7T959 375ZM341.8 166Q287.1 166 253.9 191.4T220.7 265.6V265.6H302.7Q302.7 248 314.5 238.3T343.8 228.5 372.1 240.2 382.8 271.5 374 304.7 347.7 330.1Q316.4 351.6 303.7 368.2T291 416H375Q375 396.5 380.9 384.8T402.3 363.3Q431.6 347.7 449.2 324.2T466.8 271.5Q466.8 222.7 432.6 194.3T341.8 166ZM291 459V541H375V459H291ZM541 541H625V459H541V541ZM541 166V416H625V166H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"frequently-asked-questions\"\n      ]\n    },\n    {\n      \"uid\": \"5bb646ea446f815923b05d9290ae0c88\",\n      \"css\": \"gamepad-square\",\n      \"code\": 986805,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250H125Q89.8 250 65.4 274.4T41 334V666Q41 701.2 65.4 725.6T125 750H875Q910.2 750 934.6 725.6T959 666V334Q959 298.8 934.6 274.4T875 250ZM459 541H334V666H250V541H125V459H250V334H334V459H459V541ZM646.5 625Q619.1 625 601.6 606.4T584 562.5 601.6 518.6 645.5 500 690.4 518.6 709 562.5 690.4 606.4 646.5 625ZM812.5 500Q787.1 500 768.6 481.4T750 437.5 768.6 393.6 812.5 375 856.4 393.6 875 437.5 856.4 481.4 812.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-square\"\n      ]\n    },\n    {\n      \"uid\": \"9a1edee0759b73f986404c805354fe71\",\n      \"css\": \"gamepad-square-outline\",\n      \"code\": 986806,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250H125Q89.8 250 65.4 274.4T41 334V666Q41 701.2 65.4 725.6T125 750H875Q910.2 750 934.6 725.6T959 666V334Q959 298.8 934.6 274.4T875 250ZM875 666H125V334H875V666ZM250 625H334V541H416V459H334V375H250V459H166V541H250V625ZM603.5 500Q630.9 500 648.4 518.6T666 562.5 648.4 606.4 604.5 625 559.6 606.4 541 562.5 559.6 518.6 603.5 500ZM771.5 375Q796.9 375 815.4 393.6T834 437.5 815.4 481.4 770.5 500 726.6 481.4 709 437.5 726.6 393.6 771.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-square-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f1518306c4f7465272ee31353b474bfe\",\n      \"css\": \"gamepad-variant-outline\",\n      \"code\": 986807,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 375H334V459H416V541H334V625H250V541H166V459H250V375ZM771.5 375Q796.9 375 815.4 393.6T834 437.5 815.4 481.4 770.5 500 726.6 481.4 709 437.5 726.6 393.6 771.5 375ZM646.5 500Q671.9 500 690.4 518.6T709 562.5 690.4 606.4 645.5 625 601.6 606.4 584 562.5 601.6 518.6 646.5 500ZM709 209Q787.1 209 854.5 248T960.9 353.5 1000 500 960.9 646.5 854.5 752 709 791Q648.4 791 594.7 768.6T500 705.1Q459 746.1 405.3 768.6T291 791Q212.9 791 145.5 752T39.1 646.5 0 500 39.1 353.5 145.5 248 291 209H709ZM291 291Q234.4 291 186.5 319.3T111.3 395.5 84 500 111.3 604.5 186.5 680.7 291 709Q341.8 709 385.7 686.5T459 625H541Q570.3 664.1 614.3 686.5T709 709Q765.6 709 813.5 680.7T888.7 604.5 916 500 888.7 395.5 813.5 319.3 709 291H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamepad-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"80e63f705f2a8e2f3ecc71f17bc4686b\",\n      \"css\": \"gas-station-outline\",\n      \"code\": 986808,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M824.2 300.8V300.8L669.9 146.5 625 189.5 712.9 277.3Q683.6 289.1 665 315.4T646.5 375Q646.5 418 676.8 448.2T750 478.5Q771.5 478.5 791 470.7V771.5Q791 789.1 779.3 800.8T750 812.5 720.7 800.8 709 771.5V584Q709 548.8 684.6 524.4T625 500H584V209Q584 173.8 559.6 149.4T500 125H250Q214.8 125 190.4 149.4T166 209V875H584V562.5H646.5V771.5Q646.5 814.5 676.8 844.7T750 875 823.2 844.7 853.5 771.5V375Q853.5 332 824.2 300.8ZM500 562.5V791H250V500H500V562.5ZM500 416H250V209H500V416ZM750 416Q732.4 416 720.7 404.3T709 375 720.7 345.7 750 334 779.3 345.7 791 375 779.3 404.3 750 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gas-station-outline\"\n      ]\n    },\n    {\n      \"uid\": \"983011f1111bf989b9e3b54e09cdd14a\",\n      \"css\": \"google-podcast\",\n      \"code\": 986809,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M736.3 300.8V359.4Q736.3 380.9 721.7 395.5T684.6 410.2 647.5 395.5 632.8 359.4V300.8Q632.8 279.3 647.5 263.7T684.6 248 721.7 263.7 736.3 300.8ZM552.7 347.7V650.4Q552.7 671.9 537.1 687.5T500 703.1 462.9 687.5 447.3 650.4V347.7Q447.3 326.2 462.9 311.5T500 296.9 537.1 311.5 552.7 347.7ZM916 470.7V529.3Q916 550.8 901.4 565.4T865.2 580.1 828.1 565.4 812.5 529.3V470.7Q812.5 449.2 828.1 434.6T865.2 419.9 901.4 434.6 916 470.7ZM187.5 470.7V529.3Q187.5 550.8 171.9 565.4T134.8 580.1 98.6 565.4 84 529.3V470.7Q84 449.2 98.6 434.6T134.8 419.9 171.9 434.6 187.5 470.7ZM367.2 640.6V699.2Q367.2 720.7 352.5 735.4T315.4 750 278.3 735.4 263.7 699.2V640.6Q263.7 619.1 278.3 603.5T315.4 587.9 352.5 603.5 367.2 640.6ZM552.7 806.6V865.2Q552.7 886.7 537.1 901.4T500 916 462.9 901.4 447.3 865.2V806.6Q447.3 785.2 462.9 769.5T500 753.9 537.1 769.5 552.7 806.6ZM552.7 134.8V193.4Q552.7 214.8 537.1 230.5T500 246.1 462.9 230.5 447.3 193.4V134.8Q447.3 113.3 462.9 98.6T500 84 537.1 98.6 552.7 134.8ZM736.3 513.7V699.2Q736.3 720.7 721.7 735.4T684.6 750 647.5 735.4 632.8 699.2V513.7Q632.8 492.2 647.5 477.5T684.6 462.9 721.7 477.5 736.3 513.7ZM367.2 300.8V486.3Q367.2 507.8 352.5 522.5T315.4 537.1 278.3 522.5 263.7 486.3V300.8Q263.7 279.3 278.3 263.7T315.4 248 352.5 263.7 367.2 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-podcast\"\n      ]\n    },\n    {\n      \"uid\": \"c8d69917086dfd4773e512a2208bc939\",\n      \"css\": \"home-analytics\",\n      \"code\": 986810,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM375 750H291V500H375V750ZM541 750H459V416H541V750ZM709 750H625V584H709V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-analytics\"\n      ]\n    },\n    {\n      \"uid\": \"77abc606625172fef85091739e2a842e\",\n      \"css\": \"mail\",\n      \"code\": 986811,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM709 709H291V625H709V709ZM709 541H291V459H709V541ZM834 375H709V250H834V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mail\"\n      ]\n    },\n    {\n      \"uid\": \"db972a2522bff576e0b0ffd5efa2a0b0\",\n      \"css\": \"map-check\",\n      \"code\": 986812,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M759.8 916L646.5 791 693.4 742.2 759.8 808.6 910.2 658.2 959 718.8ZM853.5 125Q863.3 125 869.1 130.9T875 146.5V556.6Q834 541 791 541 697.3 541 625 607.4V294.9L375 209V705.1L543 761.7Q541 773.4 541 791 541 818.4 548.8 847.7L375 787.1 152.3 873Q150.4 875 146.5 875 136.7 875 130.9 869.1T125 853.5V224.6Q125 209 138.7 205.1L375 125 625 212.9 847.7 125H853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-check\"\n      ]\n    },\n    {\n      \"uid\": \"64865ef07515500ef4d0a76c9a192dd9\",\n      \"css\": \"map-check-outline\",\n      \"code\": 986813,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M759.8 916L646.5 791 693.4 742.2 759.8 808.6 910.2 658.2 959 718.8ZM853.5 125Q863.3 125 869.1 130.9T875 146.5V556.6Q834 541 791 541V238.3L666 285.2V574.2Q613.3 605.5 584 654.3V287.1L416 228.5V712.9L543 757.8 541 791Q541 820.3 548.8 847.7L375 787.1 152.3 873 146.5 875Q136.7 875 130.9 869.1T125 853.5V224.6Q125 209 140.6 205.1L375 125 625 212.9 847.7 127ZM209 269.5V763.7L334 714.8V226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"33d52b6d7265cd02ab9ad90ac1bc4a92\",\n      \"css\": \"ruler-square-compass\",\n      \"code\": 986814,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 828.1V916L757.8 867.2 558.6 492.2Q599.6 480.5 632.8 451.2ZM625 291Q625 343.8 588.9 379.9T500 416Q490.2 418 482.4 416L242.2 867.2 166 916V828.1L408.2 375Q382.8 347.7 377 311.5T386.7 241.2 432.6 186.5 500 166V84Q517.6 84 529.3 95.7T541 125V173.8Q578.1 187.5 601.6 219.7T625 291ZM541 291Q541 279.3 534.2 268.6T515.6 252.9 491.2 251 469.7 262.7 459 284.2 461.9 307.6 477.5 326.2 500 334Q517.6 334 529.3 321.3T541 291ZM175.8 416L250 492.2 189.5 607.4 87.9 503.9ZM500 740.2L437.5 677.7 375 791 500 916 625 791 564.5 675.8ZM824.2 416L750 492.2 812.5 607.4 912.1 503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ruler-square-compass\"\n      ]\n    },\n    {\n      \"uid\": \"dc701d2c6af19317fbe433856d861779\",\n      \"css\": \"notebook-outline\",\n      \"code\": 986815,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166V416L625 334 541 416V166H375V834H791V166H709ZM125 291V209H209V166Q209 132.8 233.4 108.4T291 84H791Q824.2 84 849.6 109.4T875 166V834Q875 865.2 849.6 890.6T791 916H291Q259.8 916 234.4 890.6T209 834V791H125V709H209V541H125V459H209V291H125ZM209 209V291H291V209H209ZM209 791H291V709H209V791ZM209 541H291V459H209V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"notebook-outline\"\n      ]\n    },\n    {\n      \"uid\": \"91f925fbc5ae780c4e8cb27f2df49f71\",\n      \"css\": \"penguin\",\n      \"code\": 986816,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 666Q791 773.4 722.7 853.5 750 880.9 750 916H250Q250 880.9 277.3 853.5 209 773.4 209 666H125Q125 628.9 141.6 594.7T185.5 537.1V537.1Q234.4 502 262.7 448.2T291 334V291Q291 234.4 319.3 186.5T395.5 111.3 500 84 604.5 111.3 680.7 186.5 709 291V334Q709 394.5 737.3 448.2T814.5 537.1V537.1Q841.8 560.5 858.4 594.7T875 666H791ZM666 666Q666 597.7 617.2 548.8T500 500 382.8 548.8 334 667 382.8 785.2 500 834 617.2 785.2 666 666ZM416 375L500 437.5 584 375 500 312.5ZM416 209Q398.4 209 386.7 220.7T375 250 386.7 279.3 416 291 446.3 279.3 459 250 446.3 220.7 416 209ZM584 209Q566.4 209 553.7 220.7T541 250 553.7 279.3 584 291 613.3 279.3 625 250 613.3 220.7 584 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"penguin\"\n      ]\n    },\n    {\n      \"uid\": \"86ff34de3c61fd329dfe7541b1a652bf\",\n      \"css\": \"radioactive-off\",\n      \"code\": 986817,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 875 904.3 822.3 959 718.8 853.5Q619.1 916 499 916T279.3 853.5L416 644.5Q455.1 666 500 666 519.5 666 527.3 664.1L335.9 472.7Q334 480.5 334 500H84Q84 380.9 146.5 281.3ZM500 416Q535.2 416 559.6 440.4T584 500V507.8L492.2 416H500ZM337.9 115.2L425.8 349.6 246.1 169.9Q287.1 136.7 337.9 115.2ZM666 500Q666 451.2 639.6 410.2T568.4 347.7L662.1 115.2Q777.3 164.1 846.7 268.6T916 500H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radioactive-off\"\n      ]\n    },\n    {\n      \"uid\": \"7425ce362901c6df1ce95ca25bbf5076\",\n      \"css\": \"record-circle\",\n      \"code\": 986818,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"record-circle\"\n      ]\n    },\n    {\n      \"uid\": \"cfe5beb6f730d85e079587bd891c6e0a\",\n      \"css\": \"record-circle-outline\",\n      \"code\": 986819,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"record-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4d32b060cb01347fb20a02cebfba915c\",\n      \"css\": \"remote-off\",\n      \"code\": 986820,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 875 904.3 822.3 959 666 802.7V916Q666 933.6 654.3 946.3T625 959H375Q357.4 959 345.7 946.3T334 916V468.8ZM500 0Q593.8 0 677.7 35.2T824.2 134.8L765.6 193.4Q712.9 140.6 644.5 112.3T500 84Q429.7 84 366.2 108.4T252 175.8L193.4 117.2Q255.9 62.5 335 31.3T500 0ZM500 166Q560.5 166 613.3 188.5T707 252L648.4 310.5Q585.9 250 500 250 427.7 250 371.1 294.9L312.5 236.3Q392.6 166 500 166ZM625 375Q642.6 375 654.3 386.7T666 416V591.8L451.2 375H625ZM418 554.7Q421.9 582 441.4 601.6T488.3 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"remote-off\"\n      ]\n    },\n    {\n      \"uid\": \"9c8db63756afc8941cf0130fcaadb1cd\",\n      \"css\": \"remote-tv\",\n      \"code\": 986821,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q339.8 84 315.4 108.4T291 166V834Q291 867.2 315.4 891.6T375 916H625Q660.2 916 684.6 891.6T709 834V166Q709 132.8 684.6 108.4T625 84H541V166H459V84H375ZM459 250H541V334H625V416H541V500H459V416H375V334H459V250ZM375 584H459V666H375V584ZM541 584H625V666H541V584ZM375 750H459V834H375V750ZM541 750H625V834H541V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"remote-tv\"\n      ]\n    },\n    {\n      \"uid\": \"74fc5dcb6c3d2cfed4ceca43a607091f\",\n      \"css\": \"remote-tv-off\",\n      \"code\": 986822,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 709 843.8Q703.1 875 679.7 895.5T625 916H375Q339.8 916 315.4 891.6T291 834V427.7ZM375 84H459V166H541V84H625Q660.2 84 684.6 108.4T709 166V632.8L541 466.8V416H625V334H541V250H459V334H408.2L291 216.8V166Q291 132.8 315.4 108.4T375 84ZM375 834H459V750H375V834ZM541 834H625V761.7L613.3 750H541V834ZM375 584V666H459V593.8L447.3 584H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"remote-tv-off\"\n      ]\n    },\n    {\n      \"uid\": \"74408e8214d6e4dab85d4b5a8e776a3a\",\n      \"css\": \"rotate-3d\",\n      \"code\": 986823,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M310.5 896.5Q207 845.7 140.6 752T62.5 541H0Q9.8 668 79.1 773.4T258.8 939.5 498 1000L525.4 998 367.2 839.8ZM347.7 623Q337.9 623 327.1 619.1T309.6 609.4 298.8 594.7 294.9 574.2H242.2Q242.2 599.6 251 616.2T274.4 643.6 307.6 660.2 348.6 666 390.6 660.2 425.8 641.6 449.2 611.3 457 572.3Q457 558.6 453.1 546.9T443.4 526.4 427.7 509.8 402.3 496.1Q412.1 492.2 421.9 483.4T438.5 464.8 448.2 445.3 451.2 425.8Q451.2 404.3 443.4 386.7 431.6 365.2 420.9 355.5T389.6 339.8 346.7 334 305.7 340.8 272.5 359.4 251 386.7 244.1 421.9H298.8Q298.8 412.1 302.7 403.3T313.5 388.7 329.1 379.9 347.7 377Q373 377 385.7 389.6T398.4 425.8Q398.4 433.6 394.5 444.3T383.8 460.9 367.2 470.7 341.8 474.6H310.5V517.6H341.8Q357.4 517.6 368.2 520.5T386.7 531.3 398.4 547.9 402.3 570.3Q402.3 595.7 388.7 609.4T347.7 623ZM705.1 377Q683.6 355.5 657.2 344.7T595.7 334H498V666H593.8Q628.9 666 657.2 655.3T706.1 623 736.3 573.2 746.1 507.8V492.2Q746.1 457 736.3 427.7T705.1 377ZM687.5 507.8Q687.5 537.1 681.6 556.6T665 589.8 635.7 612.3 593.8 621.1H556.6V380.9H595.7Q640.6 380.9 664.1 408.2T687.5 492.2V507.8ZM498 0L470.7 2 628.9 160.2 685.5 103.5Q789.1 154.3 855.5 248T933.6 459H996.1Q984.4 332 916 226.6T737.3 60.5 498 0Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rotate-3d\"\n      ]\n    },\n    {\n      \"uid\": \"4bbbe892d13443161dbed8a9c83d8817\",\n      \"css\": \"sail-boat\",\n      \"code\": 986824,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125L209 584H584V125ZM125 666L250 875H750L875 666H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sail-boat\"\n      ]\n    },\n    {\n      \"uid\": \"4ebfe3cdd6732ec1cab77cb2ea7e2ef3\",\n      \"css\": \"scatter-plot\",\n      \"code\": 986825,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 459Q343.8 459 379.9 495.1T416 583 379.9 671.9 292 709 203.1 671.9 166 583 203.1 495.1 291 459ZM459 125Q509.8 125 546.9 161.1T584 250 546.9 338.9 458 375 370.1 338.9 334 250 370.1 161.1 459 125ZM691.4 607.4Q744.1 607.4 780.3 644.5T816.4 733.4 780.3 821.3 692.4 857.4 603.5 821.3 566.4 733.4 603.5 644.5 691.4 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scatter-plot\"\n      ]\n    },\n    {\n      \"uid\": \"1249e647428b846d130f3e186862f658\",\n      \"css\": \"scatter-plot-outline\",\n      \"code\": 986826,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 750Q222.7 750 173.8 701.2T125 583 173.8 464.8 292 416 410.2 464.8 459 583 410.2 701.2 291 750ZM291 500Q257.8 500 233.4 524.4T209 583 233.4 641.6 292 666 350.6 641.6 375 583 350.6 524.4 291 500ZM459 416Q388.7 416 339.8 367.2T291 250 339.8 132.8 458 84 576.2 132.8 625 250 576.2 367.2 459 416ZM459 166Q423.8 166 399.4 190.4T375 250 399.4 309.6 458 334 516.6 309.6 541 250 516.6 190.4 459 166ZM691.4 900.4Q623 900.4 574.2 851.6T525.4 733.4 574.2 615.2 691.4 566.4 808.6 615.2 857.4 733.4 808.6 851.6 691.4 900.4ZM691.4 650.4Q656.3 650.4 631.8 674.8T607.4 733.4 632.8 792 692.4 816.4 751 792 775.4 733.4 751 674.8 691.4 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scatter-plot-outline\"\n      ]\n    },\n    {\n      \"uid\": \"10dbb8becfb7928a47b384785544bb29\",\n      \"css\": \"segment\",\n      \"code\": 986827,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 334H125V250H875V334ZM375 541H875V459H375V541ZM375 750H875V666H375V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"segment\"\n      ]\n    },\n    {\n      \"uid\": \"1a5aaa2fd1d135ac01a4f4f92f3781ff\",\n      \"css\": \"shield-alert\",\n      \"code\": 986828,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM459 291H541V541H459V291ZM459 625H541V709H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-alert\"\n      ]\n    },\n    {\n      \"uid\": \"6e6d21a206bb20b2947c3186cb41f10e\",\n      \"css\": \"shield-alert-outline\",\n      \"code\": 986829,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM459 291H541V541H459V291ZM459 625H541V709H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3d7b724f9d11862e736874b8d81b7d8a\",\n      \"css\": \"tablet-dashboard\",\n      \"code\": 986830,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H209V250H791V750ZM875 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H875Q910.2 834 934.6 809.6T959 750V250Q959 214.8 934.6 190.4T875 166ZM291 334H541V541H291V334ZM584 334H709V416H584V334ZM709 459V666H584V459H709ZM291 584H541V666H291V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tablet-dashboard\"\n      ]\n    },\n    {\n      \"uid\": \"7ae7222cdc9894c27ec72d03d156e893\",\n      \"css\": \"television-play\",\n      \"code\": 986831,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q89.8 125 65.4 149.4T41 209V709Q41 742.2 65.4 766.6T125 791H334V875H666V791H875Q910.2 791 934.6 766.6T959 709V209Q959 173.8 934.6 149.4T875 125ZM875 709H125V209H875V709ZM666 459L375 625V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-play\"\n      ]\n    },\n    {\n      \"uid\": \"8889f31d206adb7dcdc0a589dec52fac\",\n      \"css\": \"unicode\",\n      \"code\": 986832,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 250Q916 275.4 898.4 293T855.5 310.5 812.5 293 794.9 250 812.5 206.1 855.5 187.5 899.4 206.1 916 250ZM898.4 369.1H814.5Q806.6 369.1 806.6 375V578.1L808.6 660.2H806.6L755.9 558.6 623 312.5 574.2 226.6Q572.3 224.6 566.4 224.6H443.4Q435.5 224.6 435.5 230.5H437.5L435.5 232.4V576.2Q435.5 617.2 426.8 644.5T402.3 687.5 363.3 710 314.5 716.8Q252 716.8 220.7 679.7T189.5 578.1V232.4Q189.5 224.6 183.6 224.6H89.8Q84 224.6 84 232.4V585.9Q84 642.6 99.6 685.5T145.5 755.9 216.8 796.9Q263.7 812.5 310.5 812.5T401.4 799.8 475.6 758.8 524.4 686.5 543 582V359.4L560.5 394.5 601.6 474.6 773.4 796.9Q777.3 802.7 785.2 802.7H898.4Q906.3 802.7 906.3 794.9V377Q906.3 369.1 898.4 369.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"unicode\"\n      ]\n    },\n    {\n      \"uid\": \"79229edf4774e65c0ca0d14d621ae386\",\n      \"css\": \"video-3d-variant\",\n      \"code\": 986833,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 416V584Q584 591.8 577.1 597.7T562.5 603.5H521.5V396.5H562.5Q570.3 396.5 577.1 402.3T584 416ZM875 271.5V728.5L709 562.5V709Q709 726.6 696.3 738.3T666 750H166Q148.4 750 136.7 738.3T125 709V291Q125 273.4 136.7 261.7T166 250H666Q683.6 250 696.3 261.7T709 291V437.5ZM396.5 396.5Q396.5 369.1 377.9 351.6T334 334H187.5V396.5H334V468.8H228.5V531.3H334V603.5H187.5V666H334Q359.4 666 377.9 648.4T396.5 603.5V396.5ZM646.5 396.5Q646.5 369.1 627.9 351.6T584 334H459V666H584Q609.4 666 627.9 648.4T646.5 603.5V396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-3d-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f87d0eadce6300fe81618b1f752979ed\",\n      \"css\": \"video-wireless\",\n      \"code\": 986834,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 603.5V459Q709 441.4 696.3 428.7T666 416H166Q148.4 416 136.7 428.7T125 459V875Q125 892.6 136.7 904.3T166 916H666Q683.6 916 696.3 904.3T709 875V728.5L875 896.5V437.5ZM125 160.2L183.6 218.8Q246.1 156.3 331.1 133.8T501 133.8 650.4 218.8L709 160.2Q628.9 82 522.5 54.7T310.5 54.7 125 160.2ZM242.2 275.4L300.8 334Q347.7 287.1 416 287.1T533.2 334L591.8 275.4Q544.9 228.5 480.5 212.9T352.5 212.9 242.2 275.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"3127cbc5729ddad45133702f859f4ec5\",\n      \"css\": \"video-wireless-outline\",\n      \"code\": 986835,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 500V834H209V500H625ZM666 416H166Q148.4 416 136.7 428.7T125 459V875Q125 892.6 136.7 904.3T166 916H666Q683.6 916 696.3 904.3T709 875V728.5L875 896.5V437.5L709 603.5V459Q709 441.4 696.3 428.7T666 416ZM125 160.2L183.6 218.8Q246.1 156.3 331.1 133.8T501 133.8 650.4 218.8L709 160.2Q628.9 82 522.5 54.7T310.5 54.7 125 160.2ZM242.2 275.4L300.8 334Q347.7 287.1 416 287.1T533.2 334L591.8 275.4Q544.9 228.5 480.5 212.9T352.5 212.9 242.2 275.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-wireless-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6f6622ff24d610b65ba47f03e26817d6\",\n      \"css\": \"voice-off\",\n      \"code\": 986836,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 136.7L136.7 84 916 863.3 863.3 916 697.3 750Q709 771.5 709 791V875H41V791Q41 740.2 103.5 699.2 154.3 664.1 238.3 644.5 312.5 625 374 625T509.8 642.6Q593.8 664.1 646.5 699.2L462.9 515.6Q423.8 541 375 541 306.6 541 257.8 492.2T209 375Q209 326.2 234.4 287.1ZM375 209Q443.4 209 492.2 257.8T541 375V382.8L367.2 209H375ZM699.2 222.7Q761.7 293 761.7 377.9T699.2 525.4L628.9 455.1Q654.3 419.9 654.3 375T628.9 293ZM835.9 84Q916 166 944.3 271.5T944.3 481.4 835.9 666L767.6 599.6Q826.2 533.2 845.7 453.1T845.7 293 767.6 150.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"voice-off\"\n      ]\n    },\n    {\n      \"uid\": \"b02d442d7dcf3b9f55a28f7fe7873ebb\",\n      \"css\": \"bacteria\",\n      \"code\": 986837,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666Q875 640.6 869.1 611.3L935.5 580.1 898.4 503.9 841.8 533.2Q810.5 486.3 761.7 470.7L789.1 388.7 710.9 361.3 679.7 457Q607.4 449.2 570.3 406.3L644.5 371.1 605.5 294.9 541 328.1Q537.1 281.3 511.7 244.1L576.2 148.4 507.8 101.6 449.2 189.5Q416 173.8 375 169.9V84H291V169.9Q250 179.7 220.7 205.1L113.3 95.7 54.7 154.3 175.8 277.3Q166 308.6 166 334H84V416H168Q171.9 460.9 183.6 505.9L70.3 543 95.7 623 209 585.9Q226.6 625 242.2 648.4L142.6 714.8 189.5 785.2 294.9 714.8Q330.1 750 377 777.3L337.9 855.5 412.1 894.5 453.1 810.5 447.3 806.6Q509.8 828.1 584 832V916H666V830.1Q732.4 822.3 781.3 798.8L845.7 863.3 904.3 804.7 849.6 748Q875 712.9 875 666ZM353.5 459Q328.1 459 309.6 440.4T291 395.5 309.6 351.6 354.5 334 398.4 351.6 416 395.5 398.4 440.4 353.5 459ZM459 584Q441.4 584 428.7 571.3T416 541 428.7 511.7 459 500 488.3 511.7 500 541 488.3 571.3 459 584ZM646.5 709Q619.1 709 601.6 690.4T584 645.5 601.6 601.6 645.5 584 690.4 601.6 709 645.5 690.4 690.4 646.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bacteria\"\n      ]\n    },\n    {\n      \"uid\": \"3a1b19628922cd4a92c30e5c32fdf684\",\n      \"css\": \"bacteria-outline\",\n      \"code\": 986838,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84H291V169.9Q250 179.7 220.7 205.1L113.3 95.7 54.7 154.3 175.8 277.3Q166 308.6 166 334H84V416H168Q171.9 460.9 183.6 505.9L70.3 543 95.7 623 209 585.9Q226.6 625 242.2 648.4L142.6 714.8 189.5 785.2 294.9 714.8Q330.1 750 377 777.3L337.9 855.5 412.1 894.5 453.1 810.5 447.3 806.6Q509.8 828.1 584 832V916H666V830.1Q732.4 822.3 781.3 798.8L845.7 863.3 904.3 804.7 849.6 748Q875 712.9 875 666 875 640.6 869.1 611.3L935.5 580.1 898.4 503.9 841.8 533.2Q810.5 486.3 761.7 470.7L789.1 388.7 710.9 361.3 679.7 457Q607.4 449.2 570.3 406.3L644.5 371.1 605.5 294.9 541 328.1Q537.1 281.3 511.7 244.1L576.2 148.4 507.8 101.6 449.2 189.5Q416 173.8 375 169.9V84ZM625 750Q439.5 750 345.7 648.4 279.3 576.2 257.8 455.1 246.1 394.5 250 341.8V334Q250 298.8 265.6 277.3 287.1 250 334 250 404.3 250 435.5 283.2 457 302.7 459 334 459 378.9 482.4 423.8 509.8 476.6 562.5 505.9 623 541 709 541 734.4 541 755.9 560.5 791 591.8 791 666 791 716.8 709 738.3 662.1 750 625 750ZM353.5 334Q328.1 334 309.6 351.6T291 395.5 309.6 440.4 354.5 459 398.4 440.4 416 395.5 398.4 351.6 353.5 334ZM459 500Q441.4 500 428.7 511.7T416 541 428.7 571.3 459 584 488.3 571.3 500 541 488.3 511.7 459 500ZM646.5 584Q619.1 584 601.6 601.6T584 645.5 601.6 690.4 645.5 709 690.4 690.4 709 645.5 690.4 601.6 646.5 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bacteria-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4f2d7b5631656395aa73c68527dcbeb2\",\n      \"css\": \"calendar-account\",\n      \"code\": 986839,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q541 416 567.4 444.3T593.8 510.7 565.4 577.1 499 604.5 433.6 577.1 406.3 510.7 433.6 443.4 500 416ZM687.5 791H312.5V744.1Q312.5 705.1 367.2 677.7T500 650.4 632.8 677.7 687.5 744.1V791ZM791 834H209V375H791V834ZM666 84V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166H750V84H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-account\"\n      ]\n    },\n    {\n      \"uid\": \"cad38246c50e7a54d9cae5ec030cea5c\",\n      \"css\": \"calendar-account-outline\",\n      \"code\": 986840,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166H750V84H666V166H334V84H250V166H209Q173.8 166 149.4 190.4T125 250V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V250Q875 214.8 850.6 190.4T791 166ZM791 834H209V416H791V834ZM791 334H209V250H791V334ZM500 459Q541 459 567.4 486.3T593.8 551.8 565.4 618.2 499 645.5 433.6 618.2 406.3 552.7 433.6 486.3 500 459ZM687.5 787.1V791H312.5V787.1Q312.5 748 367.2 720.7T500 693.4 632.8 720.7 687.5 787.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b6e0db729f6b1a958b3bd52bb7840ae5\",\n      \"css\": \"calendar-weekend\",\n      \"code\": 986841,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 834V375H209V834H791ZM666 84H750V166H791Q826.2 166 850.6 190.4T875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166H250V84H334V166H666V84ZM291 750V459H375V750H291ZM625 459H709V750H625V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-weekend\"\n      ]\n    },\n    {\n      \"uid\": \"c13e8416c5311de8b1e52f6b7ca0eb52\",\n      \"css\": \"calendar-weekend-outline\",\n      \"code\": 986842,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 166Q826.2 166 850.6 190.4T875 250V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V250Q125 214.8 149.4 190.4T209 166H250V84H334V166H666V84H750V166H791ZM791 834V416H209V834H791ZM791 334V250H209V334H791ZM291 500H375V750H291V500ZM625 500H709V750H625V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-weekend-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0f714e78851aa0695d7542fa84ba8cf7\",\n      \"css\": \"camera-plus\",\n      \"code\": 986843,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166V41H209V166H334V250H209V375H125V250H0V166H125ZM250 416V291H375V166H666L742.2 250H875Q910.2 250 934.6 274.4T959 334V834Q959 867.2 934.6 891.6T875 916H209Q173.8 916 149.4 891.6T125 834V416H250ZM541 791Q609.4 791 660.2 755.9T734.4 663.1 748 546.9Q736.3 484.4 689.5 436.5T578.1 377Q519.5 367.2 461.9 390.6T371.1 462.9Q334 515.6 334 584 334 640.6 361.3 688.5T436.5 763.7 541 791ZM408.2 584Q408.2 640.6 447.3 677.7T541 716.8 635.7 677.7 674.8 583 636.7 489.3 543 449.2 447.3 489.3 408.2 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-plus\"\n      ]\n    },\n    {\n      \"uid\": \"e5f2953f1334880fe51f9e5303a4aafa\",\n      \"css\": \"camera-plus-outline\",\n      \"code\": 986844,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 250H742.2L666 166H416V250H628.9L709 334H875V834H209V459H125V834Q125 867.2 149.4 891.6T209 916H875Q910.2 916 934.6 891.6T959 834V334Q959 298.8 934.6 274.4T875 250ZM334 584Q334 650.4 371.1 703.1 404.3 752 461.9 775.4T578.1 789.1Q642.6 777.3 689.5 730.5T748 619.1Q757.8 560.5 734.4 503.9T662.1 412.1Q609.4 375 541 375 484.4 375 436.5 403.3T361.3 479.5 334 584ZM541 459Q593.8 459 629.9 495.1T666 583 629.9 670.9 542 707 454.1 670.9 418 583 454.1 495.1 541 459ZM209 250H334V166H209V41H125V166H0V250H125V375H209V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"camera-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"00c7c690f360d16f65e212b2cbc8ecf7\",\n      \"css\": \"campfire\",\n      \"code\": 986845,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M662.1 771.5L912.1 837.9 896.5 916 503.9 812.5 113.3 916 91.8 837.9 341.8 771.5 87.9 705.1 107.4 625 500 728.5 892.6 625 912.1 705.1ZM669.9 330.1Q660.2 316.4 646.5 304.7 636.7 296.9 619.1 283.2 595.7 265.6 585.9 255.9 552.7 222.7 545.9 173.8T560.5 84Q523.4 93.8 486.3 123 427.7 169.9 408.2 245.1T416 390.6L418 400.4Q418 410.2 408.2 415T388.7 412.1Q386.7 410.2 384.8 406.3 359.4 375 355.5 333T369.1 252Q332 283.2 312.5 331.1T296.9 429.7Q296.9 453.1 304.7 472.7 310.5 502 326.2 525.4 349.6 564.5 388.7 590.8T470.7 623Q521.5 628.9 566.4 619.1 617.2 605.5 650.4 574.2 691.4 537.1 704.1 482.4T695.3 375L691.4 367.2Q683.6 347.7 668 330.1H669.9ZM576.2 519.5Q562.5 533.2 543 537.1 521.5 546.9 498 538.1T459 513.7Q482.4 507.8 499 490.2T521.5 451.2Q523.4 433.6 515.6 404.3L511.7 384.8Q505.9 349.6 517.6 322.3 527.3 343.8 535.2 354.5T561.5 380.9 587.9 406.3Q599.6 419.9 601.6 437.5L603.5 451.2Q603.5 470.7 596.7 489.3T576.2 519.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"campfire\"\n      ]\n    },\n    {\n      \"uid\": \"dcfac08a957832866595f300c539c540\",\n      \"css\": \"chat-outline\",\n      \"code\": 986846,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q386.7 125 291 169.9T139.6 291 84 459Q84 525.4 114.3 585.9T197.3 687.5Q197.3 714.8 177.7 753.9 146.5 810.5 84 875 156.3 871.1 225.6 844.7T353.5 771.5Q425.8 791 500 791 613.3 791 709 746.1T860.4 625 916 458 860.4 291 709 169.9 500 125ZM500 709Q410.2 709 333 674.8T210.9 583 166 458 210.9 333 333 242.2 500 209 667 242.2 789.1 333 834 458 789.1 583 667 674.8 500 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c3bbd73f9d16f0d101b616545ad7bd97\",\n      \"css\": \"cpu-32-bit\",\n      \"code\": 986847,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125V209H291Q257.8 209 233.4 233.4T209 291V375H125V459H209V541H125V625H209V709Q209 742.2 233.4 766.6T291 791H375V875H459V791H541V875H625V791H709Q742.2 791 766.6 766.6T791 709V625H875V541H791V459H875V375H791V291Q791 257.8 766.6 233.4T709 209H625V125H541V209H459V125H375ZM291 375H437.5Q455.1 375 466.8 386.7T478.5 416V584Q478.5 601.6 466.8 613.3T437.5 625H291V562.5H416V531.3H353.5V468.8H416V437.5H291V375ZM521.5 375H666Q683.6 375 696.3 386.7T709 416V490.2Q709 507.8 696.3 519.5T666 531.3H584V562.5H709V625H521.5V509.8Q521.5 492.2 533.2 480.5T562.5 468.8H646.5V437.5H521.5V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cpu-32-bit\"\n      ]\n    },\n    {\n      \"uid\": \"6024d50d34cc1954ace1ead498b1cc0b\",\n      \"css\": \"cpu-64-bit\",\n      \"code\": 986848,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125V209H291Q257.8 209 233.4 233.4T209 291V375H125V459H209V541H125V625H209V709Q209 742.2 233.4 766.6T291 791H375V875H459V791H541V875H625V791H709Q742.2 791 766.6 766.6T791 709V625H875V541H791V459H875V375H791V291Q791 257.8 766.6 233.4T709 209H625V125H541V209H459V125H375ZM334 375H478.5V437.5H353.5V468.8H437.5Q455.1 468.8 466.8 480.5T478.5 509.8V584Q478.5 601.6 466.8 613.3T437.5 625H334Q316.4 625 303.7 613.3T291 584V416Q291 398.4 303.7 386.7T334 375ZM521.5 375H584V459H646.5V375H709V625H646.5V521.5H521.5V375ZM353.5 531.3V562.5H416V531.3H353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cpu-64-bit\"\n      ]\n    },\n    {\n      \"uid\": \"67712eba666a7e2c921769493e6eaba8\",\n      \"css\": \"credit-card-clock\",\n      \"code\": 986849,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 584H728.5V701.2L830.1 759.8 798.8 814.5 666 736.3V584ZM1000 709Q1000 787.1 960.9 854.5T854.5 960.9 709 1000Q623 1000 551.8 954.1T445.3 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V503.9Q957 544.9 978.5 597.7T1000 709ZM709 500Q652.3 500 604.5 528.3T528.3 604.5 500 709 528.3 813.5 604.5 888.7 709 916 813.5 888.7 888.7 813.5 916 709 888.7 604.5 813.5 528.3 709 500ZM834 416V291H166V416H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-clock\"\n      ]\n    },\n    {\n      \"uid\": \"83e3ca66f49d6e8cac08377305420278\",\n      \"css\": \"credit-card-clock-outline\",\n      \"code\": 986850,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 584H728.5V701.2L830.1 759.8 798.8 814.5 666 736.3V584ZM1000 709Q1000 787.1 960.9 854.5T854.5 960.9 709 1000Q623 1000 551.8 954.1T445.3 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V503.9Q957 544.9 978.5 597.7T1000 709ZM416 709Q416 648.4 439.5 594.7T503.9 500H166V750H419.9Q416 736.3 416 709ZM709 500Q652.3 500 604.5 528.3T528.3 604.5 500 709 528.3 813.5 604.5 888.7 709 916 813.5 888.7 888.7 813.5 916 709 888.7 604.5 813.5 528.3 709 500ZM834 334V250H166V334H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ab1b36fd41542d3439c5089461fd91c6\",\n      \"css\": \"email-edit\",\n      \"code\": 986851,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 505.9Q865.2 505.9 859.4 511.7L816.4 554.7 902.3 636.7 943.4 595.7Q951.2 589.8 951.2 580.1T943.4 564.5L892.6 511.7Q886.7 505.9 877 505.9H875ZM793 578.1L541 830.1V916H627L880.9 664.1ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H459V796.9L800.8 453.1Q832 421.9 877 421.9 898.4 421.9 918 429.7V250Q918 214.8 893.6 190.4T834 166ZM834 334L500 541 166 334V250L500 459 834 250V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-edit\"\n      ]\n    },\n    {\n      \"uid\": \"dd5fe5b38745ce10abb6b2ab61dc67ff\",\n      \"css\": \"email-edit-outline\",\n      \"code\": 986852,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M794.9 578.1L541 830.1V916H627L880.9 664.1ZM945.3 566.4L892.6 511.7Q886.7 505.9 877 505.9T861.3 511.7L818.4 554.7 904.3 636.7 945.3 595.7Q951.2 589.8 951.2 581.1T945.3 566.4ZM459 750H166V334L500 541 834 334V416H916V250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H459V750ZM834 250L500 459 166 250H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fd90c91e78afd59b05a8a3eceacf0ac2\",\n      \"css\": \"email-minus\",\n      \"code\": 986853,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H587.9Q584 812.5 584 791 584 724.6 617.2 667T708 575.2 834 541Q853.5 541 875 544.9V250Q875 214.8 850.6 190.4T791 166H125ZM125 250L459 459 791 250V334L459 541 125 334V250ZM666 750V834H1000V750H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-minus\"\n      ]\n    },\n    {\n      \"uid\": \"ee673ea09cdd59988e40829df531a8c8\",\n      \"css\": \"email-minus-outline\",\n      \"code\": 986854,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 750V834H1000V750H666ZM584 750H125V334L459 541 791 334V666H875V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H584V750ZM791 250L459 459 125 250H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ca78ca9b5864ad418ccf6301345d15b\",\n      \"css\": \"email-multiple\",\n      \"code\": 986855,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 250V166L584 375 250 166V250L584 459ZM916 84Q951.2 84 975.6 108.4T1000 166V666Q1000 701.2 975.6 725.6T916 750H250Q214.8 750 190.4 725.6T166 666V166Q166 132.8 190.4 108.4T250 84H916ZM84 250V834H834V916H84Q48.8 916 24.4 891.6T0 834V250H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"aa61c50427bc7cfe4f62a17d17465218\",\n      \"css\": \"email-multiple-outline\",\n      \"code\": 986856,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250V834H834V916H84Q48.8 916 24.4 891.6T0 834V250H84ZM1000 166Q1000 132.8 975.6 108.4T916 84H250Q214.8 84 190.4 108.4T166 166V666Q166 701.2 190.4 725.6T250 750H916Q951.2 750 975.6 725.6T1000 666V166ZM916 166L584 375 250 166H916ZM916 666H250V250L584 459 916 250V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c57154661f899c114dee8bd629128c10\",\n      \"css\": \"email-open-multiple\",\n      \"code\": 986857,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 334L584 541 916 334 584 125ZM1000 334V750Q1000 785.2 975.6 809.6T916 834H250Q214.8 834 190.4 809.6T166 750V334Q166 310.5 177.7 292T207 261.7L584 27.3 959 261.7Q978.5 273.4 989.3 292T1000 334ZM84 334V916H834V1000H84Q48.8 1000 24.4 975.6T0 916V334H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-open-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"a41559a092faf386adcfa56b5c41ce59\",\n      \"css\": \"email-open-multiple-outline\",\n      \"code\": 986858,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 334V916H834V1000H84Q48.8 1000 24.4 975.6T0 916V334H84ZM959 261.7L584 27.3 207 261.7Q189.5 273.4 177.7 292T166 334V750Q166 785.2 190.4 809.6T250 834H916Q951.2 834 975.6 809.6T1000 750V334Q1000 310.5 989.3 292T959 261.7ZM916 750H250V416L584 625 916 416V750ZM584 541L250 334 584 125 916 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-open-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b58caa1df26716caca4d408e78ad0486\",\n      \"css\": \"file-cad\",\n      \"code\": 986859,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM412.1 384.8H462.9V423.8Q484.4 423.8 500 439.5T515.6 476.6V562.5L511.7 568.4 548.8 632.8Q568.4 599.6 568.4 562.5H619.1Q619.1 628.9 576.2 681.6L646.5 802.7V853.5L601.6 828.1 537.1 716.8Q492.2 746.1 437.5 746.1T337.9 716.8L273.4 828.1 228.5 853.5V802.7L363.3 568.4 359.4 562.5V476.6Q359.4 455.1 375 439.5T412.1 423.8V384.8ZM437.5 476.6Q416 476.6 407.2 497.1T414.1 532.2 450.2 539.1 470.7 509.8Q470.7 496.1 460.9 486.3T437.5 476.6ZM402.3 605.5L365.2 671.9Q398.4 693.4 437.5 693.4T509.8 671.9L472.7 605.5Q457 621.1 437.5 621.1T402.3 605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cad\"\n      ]\n    },\n    {\n      \"uid\": \"3b13da86cdbb7a3cb00650438abe5bd0\",\n      \"css\": \"file-cad-box\",\n      \"code\": 986860,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM468.8 218.8H531.3V265.6Q556.6 265.6 575.2 284.2T593.8 328.1V431.6L587.9 437.5 632.8 515.6Q656.3 476.6 656.3 431.6H718.8Q718.8 511.7 666 574.2L750 718.8V781.3L695.3 750 619.1 615.2Q564.5 650.4 500 650.4T380.9 615.2L304.7 750 250 781.3V718.8L412.1 437.5 406.3 431.6V328.1Q406.3 302.7 424.8 284.2T468.8 265.6V218.8ZM500 328.1Q474.6 328.1 463.9 352.5T472.7 395.5 515.6 403.3 539.1 367.2Q539.1 351.6 527.3 339.8T500 328.1ZM459 482.4L412.1 562.5Q453.1 589.8 500 589.8T587.9 562.5L541 482.4Q523.4 500 500 500T459 482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cad-box\"\n      ]\n    },\n    {\n      \"uid\": \"934bd54260c44eb85f198ab827c762cd\",\n      \"css\": \"file-plus-outline\",\n      \"code\": 986861,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584V459H416V584H291V666H416V791H500V666H625V584H500ZM584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c1cbaacf066bf5a3599ef9ee53cdc580\",\n      \"css\": \"filter-minus\",\n      \"code\": 986862,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500V828.1Q502 849.6 489.3 862.3T459 875 429.7 863.3L345.7 779.3Q330.1 763.7 334 744.1V500H332L91.8 193.4Q82 179.7 84 162.1T98.6 134.8 125 125H709Q722.7 125 735.4 134.8T750 162.1 742.2 193.4L502 500H500ZM625 709H959V791H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-minus\"\n      ]\n    },\n    {\n      \"uid\": \"3db2739081ca38c78cd9de3c3fbe5747\",\n      \"css\": \"filter-minus-outline\",\n      \"code\": 986863,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H959V791H625V709ZM541 828.1Q544.9 849.6 531.3 862.3T500 875 470.7 863.3L304.7 695.3Q289.1 681.6 291 662.1V447.3L91.8 193.4Q82 179.7 84 162.1T98.6 134.8 125 125H709Q722.7 125 735.4 134.8T750 162.1 742.2 193.4L541 447.3V828.1ZM210.9 209L375 419.9V648.4L459 732.4V418L623 209H210.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fcbc58a10713f124964c417178e92a67\",\n      \"css\": \"filter-plus\",\n      \"code\": 986864,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 500V828.1Q502 849.6 489.3 862.3T459 875 429.7 863.3L345.7 779.3Q330.1 763.7 334 744.1V500H332L91.8 193.4Q82 179.7 84 162.1T98.6 134.8 125 125H709Q722.7 125 735.4 134.8T750 162.1 742.2 193.4L502 500H500ZM625 709H750V584H834V709H959V791H834V916H750V791H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-plus\"\n      ]\n    },\n    {\n      \"uid\": \"b06ba53cbe7eb9b34a28ebea2e2803c0\",\n      \"css\": \"filter-plus-outline\",\n      \"code\": 986865,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H750V584H834V709H959V791H834V916H750V791H625V709ZM541 828.1Q544.9 849.6 531.3 862.3T500 875 470.7 863.3L304.7 695.3Q289.1 681.6 291 662.1V447.3L91.8 193.4Q82 179.7 84 162.1T98.6 134.8 125 125H709Q722.7 125 735.4 134.8T750 162.1 742.2 193.4L541 447.3V828.1ZM210.9 209L375 419.9V648.4L459 732.4V418L623 209H210.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"26d63db1a5f9b0e22d318348134d9e53\",\n      \"css\": \"fire-extinguisher\",\n      \"code\": 986866,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 291H490.2L500 209H427.7L250 312.5V375H166V271.5L416 125H500V84H584V125H666L709 103.5V228.5L666 209H584L593.8 291H646.5Q671.9 291 690.4 309.6T709 353.5V916H375V353.5Q375 328.1 393.6 309.6T437.5 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fire-extinguisher\"\n      ]\n    },\n    {\n      \"uid\": \"8c08212b3d641ed2dcbeda4d9f646fc8\",\n      \"css\": \"fishbowl\",\n      \"code\": 986867,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M796.9 209H875V125H125V209H203.1Q146.5 265.6 115.2 340.8T84 500Q84 623 148.4 723.6T318.4 875H681.6Q787.1 824.2 851.6 723.6T916 500Q916 416 884.8 340.8T796.9 209ZM552.7 709Q484.4 709 429.7 673.8 412.1 697.3 371.1 703.1 347.7 709 291 709 324.2 709 338.9 679.7T353.5 603.5 338.9 528.3 291 500Q347.7 500 371.1 503.9 412.1 511.7 431.6 537.1 480.5 500 552.7 500 617.2 500 663.1 530.3T709 603.5 663.1 677.7 552.7 709ZM666 291Q589.8 345.7 500 345.7T334 291Q273.4 334 207 343.8 228.5 300.8 263.7 267.6L320.3 209H679.7L736.3 267.6Q771.5 300.8 793 343.8 726.6 334 666 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fishbowl\"\n      ]\n    },\n    {\n      \"uid\": \"ed13a68fc87eb0d2cc5b442e9231229b\",\n      \"css\": \"fishbowl-outline\",\n      \"code\": 986868,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M796.9 209H875V125H125V209H203.1Q146.5 265.6 115.2 340.8T84 500Q84 623 148.4 723.6T318.4 875H681.6Q787.1 824.2 851.6 723.6T916 500Q916 416 884.8 340.8T796.9 209ZM263.7 267.6L320.3 209H679.7L736.3 267.6Q771.5 300.8 793 343.8 726.6 334 666 291 589.8 345.7 500 345.7T334 291Q273.4 334 207 343.8 228.5 300.8 263.7 267.6ZM660.2 791H339.8Q259.8 748 212.9 669.9T166 500Q166 464.8 173.8 429.7 257.8 427.7 334 388.7 412.1 429.7 500 429.7T666 388.7Q742.2 427.7 826.2 429.7 834 464.8 834 500 834 591.8 787.1 669.9T660.2 791ZM709 603.5Q709 646.5 663.1 677.7T550.8 709 429.7 673.8Q412.1 697.3 371.1 703.1 347.7 709 291 709 324.2 709 338.9 679.7T353.5 603.5 338.9 528.3 291 500Q347.7 500 371.1 503.9 412.1 511.7 431.6 537.1 480.5 500 552.7 500 617.2 500 663.1 530.3T709 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fishbowl-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0c5f2d771225bf47f64e19fcd1f60660\",\n      \"css\": \"fit-to-page\",\n      \"code\": 986869,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM500 166L625 291H541V375H459V291H375ZM291 625L166 500 291 375V459H375V541H291V625ZM500 834L375 709H459V625H541V709H625ZM709 625V541H625V459H709V375L834 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fit-to-page\"\n      ]\n    },\n    {\n      \"uid\": \"1177bcc1e902c7c4e7e513431b26c37f\",\n      \"css\": \"fit-to-page-outline\",\n      \"code\": 986870,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM834 834H166V166H834V834ZM541 334V416H459V334H375L500 209 625 334H541ZM666 625V541H584V459H666V375L791 500ZM416 541H334V625L209 500 334 375V459H416V541ZM625 666L500 791 375 666H459V584H541V666H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fit-to-page-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eb9a34162eee83ac4686e3bf8e4858b0\",\n      \"css\": \"flash-alert\",\n      \"code\": 986871,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84V541H334V916L625 416H459L625 84H209ZM709 625H791V709H709V625ZM709 291H791V541H709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-alert\"\n      ]\n    },\n    {\n      \"uid\": \"b6321263ba43ee5d2db54296d4fb6f0e\",\n      \"css\": \"flash-alert-outline\",\n      \"code\": 986872,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84H625L478.5 375H625L334 916V584H209V84ZM291 166V500H416V611.3L500 459H343.8L490.2 166H291ZM709 625H791V709H709V625ZM709 291H791V541H709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flash-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bfa481e562baedd5e09dcd1f2d2269d3\",\n      \"css\": \"heart-flash\",\n      \"code\": 986873,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 117.2Q634.8 117.2 585 140.6T500 205.1Q464.8 164.1 415 140.6T312.5 117.2Q250 117.2 197.3 147.5T114.3 230.5 84 347.7Q84 421.9 128.9 498 168 564.5 252 652.3 304.7 705.1 439.5 828.1L500 882.8 560.5 828.1Q695.3 705.1 748 652.3 832 564.5 871.1 498 916 421.9 916 347.7 916 283.2 885.7 230.5T802.7 147.5 687.5 117.2ZM500 742.2V576.2H375L500 285.2V451.2H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-flash\"\n      ]\n    },\n    {\n      \"uid\": \"d417b31adb350a880db405a762687ec4\",\n      \"css\": \"home-flood\",\n      \"code\": 986874,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 459H84L500 84 916 459H791V664.1Q726.6 652.3 666 611.3 628.9 638.7 584 652.3V541H416V652.3Q371.1 638.7 334 611.3 273.4 652.3 209 664.1V459ZM834 750Q746.1 750 666 695.3 589.8 748 500 748T334 695.3Q253.9 750 166 750H84V916H916V750H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-flood\"\n      ]\n    },\n    {\n      \"uid\": \"a4c4d7fe2a6175f3101909403d068d4a\",\n      \"css\": \"human-male-height\",\n      \"code\": 986875,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q328.1 84 351.6 108.4T376 167 351.6 226.6 292 251 233.4 226.6 209 168 233.4 108.4 291 84ZM228.5 291H353.5Q388.7 291 413.1 315.4T437.5 375V603.5H375V916H209V603.5H146.5V375Q146.5 339.8 170.9 315.4T228.5 291ZM875 334H625V416H875V334ZM875 459H750V541H875V459ZM875 84H625V166H875V84ZM875 209H750V291H875V209ZM875 584H625V666H875V584ZM875 834H625V916H875V834ZM875 709H750V791H875V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-height\"\n      ]\n    },\n    {\n      \"uid\": \"fc4e11281dbcd0786bd4358277b8c0e2\",\n      \"css\": \"human-male-height-variant\",\n      \"code\": 986876,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q328.1 84 351.6 108.4T376 167 351.6 226.6 292 251 233.4 226.6 209 168 233.4 108.4 291 84ZM228.5 291H353.5Q388.7 291 413.1 315.4T437.5 375V603.5H375V916H209V603.5H146.5V375Q146.5 339.8 170.9 315.4T228.5 291ZM791 334H875L750 166 625 334H709V666H625L750 834 875 666H791V334ZM916 84H584V166H916V84ZM916 834H584V916H916V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-height-variant\"\n      ]\n    },\n    {\n      \"uid\": \"518240c7945f0f7a80e64caa5b69dcbb\",\n      \"css\": \"ice-pop\",\n      \"code\": 986877,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M755.9 623L414.1 777.3 244.1 402.3Q287.1 386.7 312.5 348.6T338.9 266.6 317.4 186.5 255.9 130.9Q277.3 111.3 310.5 93.8 380.9 62.5 454.1 88.9T560.5 185.5ZM548.8 765.6L615.2 910.2 726.6 861.3 660.2 714.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ice-pop\"\n      ]\n    },\n    {\n      \"uid\": \"37973059a62d581c95dbf29f06c3b18d\",\n      \"css\": \"identifier\",\n      \"code\": 986878,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 750V334H334V750H250ZM250 187.5H334V271.5H250V187.5ZM709 166H791V750H709V740.2L677.7 744.1Q642.6 750 625 750 584 750 545.9 734.4T478.5 689.5 432.6 622.1 416 542 432.6 461.9 478.5 394.5 545.9 349.6 625 334Q652.3 334 709 343.8V343.8 166ZM709 427.7Q693.4 423.8 677.7 421.9 642.6 416 625 416 572.3 416 536.1 453.1T500 542 536.1 629.9 625 666Q652.3 666 709 656.3V427.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"identifier\"\n      ]\n    },\n    {\n      \"uid\": \"63dd7516ac11aada00c9c833b55efde9\",\n      \"css\": \"image-filter-center-focus-strong\",\n      \"code\": 986879,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334Q427.7 334 380.9 382.8T333 499 382.8 617.2 501 667 617.2 619.1 666 502 617.2 382.8 500 334ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-center-focus-strong\"\n      ]\n    },\n    {\n      \"uid\": \"6ab6c0ec3aa85f7d42db6861e6932e7b\",\n      \"css\": \"image-filter-center-focus-strong-outline\",\n      \"code\": 986880,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 500Q709 433.6 672.9 382.8T580.1 307.6 462.9 294.9Q400.4 304.7 352.5 352.5T294.9 462.9Q283.2 523.4 307.6 580.1T380.9 671.9Q433.6 709 500 709 556.6 709 604.5 680.7T680.7 604.5 709 500ZM500 625Q447.3 625 412.1 587.9T375 500 411.1 411.1 500 375 587.9 412.1 625 500 588.9 588.9 500 625ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-filter-center-focus-strong-outline\"\n      ]\n    },\n    {\n      \"uid\": \"306346c4afdd668503b213a8d8187dff\",\n      \"css\": \"jellyfish\",\n      \"code\": 986881,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 603.5Q794.9 601.6 782.2 614.3T771.5 646.5Q771.5 658.2 760.7 664.1T739.3 664.1 728.5 646.5V550.8L800.8 529.3Q822.3 517.6 836.9 498T853.5 455.1Q853.5 343.8 806.6 257.8 759.8 175.8 678.7 129.9T500 84 321.3 129.9 193.4 257.8Q146.5 343.8 146.5 455.1 148.4 478.5 163.1 499T199.2 529.3L271.5 550.8V646.5Q271.5 654.3 264.6 660.2T250 666 235.4 660.2 228.5 646.5Q230.5 627 217.8 614.3T187.5 603.5Q169.9 601.6 157.2 614.3T146.5 646.5Q144.5 689.5 174.8 720.7T250 752 325.2 720.7 353.5 646.5V570.3H396.5V808.6Q396.5 822.3 385.7 827.1T364.3 827.1 353.5 808.6Q355.5 791 342.8 777.3T312.5 767.6Q294.9 763.7 282.2 777.3T271.5 808.6Q267.6 853.5 298.8 885.7T375 918 450.2 887.7 478.5 812.5V584H521.5V812.5Q519.5 857.4 549.8 887.7T625 918 700.2 887.7 728.5 812.5Q728.5 787.1 708 776.4T667 776.4 646.5 812.5Q646.5 826.2 635.7 831.1T614.3 831.1 603.5 812.5V574.2H646.5V650.4Q646.5 693.4 676.8 722.7T751 752 825.2 720.7 853.5 646.5Q855.5 627 842.8 614.3T812.5 603.5ZM441.4 195.3Q394.5 207 355.5 234.4T291 304.7Q287.1 310.5 278.3 312.5T262.7 308.6 254.9 293.9 257.8 279.3Q289.1 232.4 334 200.2T433.6 154.3Q441.4 154.3 448.2 158.2T458 170.9 456.1 186.5 441.4 195.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jellyfish\"\n      ]\n    },\n    {\n      \"uid\": \"9308e3e5af7918a22d3e3940bf37ce89\",\n      \"css\": \"jellyfish-outline\",\n      \"code\": 986882,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q578.1 166 639.6 202.1T736.3 302.7 771.5 449.2Q640.6 500 500 500T228.5 449.2Q228.5 367.2 263.7 302.7T360.4 202.1 500 166ZM500 84Q402.3 84 321.3 129.9T193.4 257.8Q146.5 343.8 146.5 455.1 148.4 478.5 163.1 499T199.2 529.3L271.5 550.8V646.5Q271.5 654.3 264.6 660.2T250 666 235.4 660.2 228.5 646.5Q230.5 627 217.8 614.3T187.5 603.5Q169.9 601.6 157.2 614.3T146.5 646.5Q144.5 687.5 173.8 718.8T246.1 750H250Q294.9 752 325.2 720.7T353.5 646.5V570.3H396.5V808.6Q396.5 822.3 385.7 827.1T364.3 827.1 353.5 808.6Q355.5 791 342.8 777.3T312.5 767.6Q294.9 763.7 282.2 777.3T271.5 808.6Q267.6 851.6 296.9 883.8T371.1 916H375Q419.9 918 450.2 887.7T478.5 812.5V584H521.5V812.5Q519.5 857.4 549.8 887.7T625 916H628.9Q671.9 916 701.2 885.7T728.5 812.5Q728.5 787.1 708 776.4T667 776.4 646.5 812.5Q646.5 826.2 635.7 831.1T614.3 831.1 603.5 812.5V574.2H646.5V650.4Q646.5 693.4 676.8 722.7T750 750H753.9Q796.9 750 826.2 718.8T853.5 646.5Q853.5 619.1 833 609.4T792 609.4 771.5 646.5Q771.5 658.2 760.7 664.1T739.3 664.1 728.5 646.5V550.8L800.8 529.3Q822.3 517.6 836.9 498T853.5 455.1Q853.5 343.8 806.6 257.8 759.8 175.8 678.7 129.9T500 84ZM500 257.8Q453.1 271.5 415 298.8T349.6 367.2Q341.8 377 330.1 375T313.5 362.3 316.4 341.8Q347.7 294.9 392.6 262.7T492.2 216.8Q500 214.8 507.8 219.7T517.6 232.4Q523.4 250 500 257.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jellyfish-outline\"\n      ]\n    },\n    {\n      \"uid\": \"05f44a28a81162fd1a81501f2f255789\",\n      \"css\": \"lasso\",\n      \"code\": 986883,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 123T860.4 228.5 916 375Q916 476.6 828.1 554.7T603.5 658.2V646.5Q603.5 609.4 591.8 576.2 697.3 556.6 765.6 501T834 375Q834 318.4 789.1 270.5T667 194.3 500 166 333 194.3 210.9 270.5 166 375Q166 449.2 242.2 505.9 212.9 539.1 199.2 576.2 144.5 537.1 114.3 485.4T84 375Q84 294.9 139.6 228.5T291 123 500 84ZM396.5 500Q457 500 499 543T541 645.5 500 748 400.4 791Q378.9 828.1 410.2 861.3 427.7 880.9 459 875 480.5 873 529.3 855.5 574.2 839.8 599.6 832 644.5 822.3 683.6 820.3 767.6 820.3 834 832L845.7 834Q857.4 839.8 865.2 847.7 875 859.4 873 877T859.4 904.3Q851.6 910.2 839.8 914.1L830.1 916 814.5 914.1Q736.3 900.4 675.8 904.3 640.6 904.3 607.4 914.1 587.9 919.9 556.6 933.6 533.2 941.4 523.4 945.3 418 978.5 345.7 918 310.5 888.7 308.6 837.9 308.6 804.7 320.3 771.5 287.1 750 268.6 716.8T250 646.5Q250 585.9 293 543T396.5 500ZM396.5 584Q369.1 584 351.6 601.6T334 645.5 351.6 690.4 395.5 709 440.4 690.4 459 645.5 440.4 601.6 396.5 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lasso\"\n      ]\n    },\n    {\n      \"uid\": \"2fdd5aee26b2e8de3fb78e6076caf0d8\",\n      \"css\": \"music-box-multiple-outline\",\n      \"code\": 986884,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H334V166H834V666ZM521.5 625Q564.5 625 594.7 594.7T625 521.5V291H750V209H584V437.5Q554.7 416 521.5 416 478.5 416 447.3 447.3T416 521.5 447.3 594.7 521.5 625ZM166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c58decf6411dc3c28bd9511248221d1\",\n      \"css\": \"map-marker-alert\",\n      \"code\": 986885,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 511.7 646.5 728.5 572.3 835.9 500 916V916L455.1 863.3Q400.4 794.9 353.5 728.5 291 632.8 253.9 552.7 209 451.2 209 373T248 228.5 353.5 123 500 84ZM459 250V459H541V250H459ZM459 541V625H541V541H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-alert\"\n      ]\n    },\n    {\n      \"uid\": \"06dded24dc82cccf5c138ed3357376e5\",\n      \"css\": \"map-marker-alert-outline\",\n      \"code\": 986886,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 511.7 646.5 728.5 572.3 835.9 500 916V916L455.1 863.3Q400.4 794.9 353.5 728.5 291 632.8 253.9 552.7 209 451.2 209 373T248 228.5 353.5 123 500 84ZM500 166Q443.4 166 395.5 194.3T319.3 270.5 291 375Q291 408.2 298.8 435.5 312.5 488.3 353.5 560.5 404.3 652.3 500 779.3 595.7 652.3 646.5 560.5 687.5 488.3 701.2 435.5 709 408.2 709 375 709 318.4 680.7 270.5T604.5 194.3 500 166ZM459 250H541V459H459V250ZM459 541H541V625H459V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5a2e3afbe9dd761f392a30110abc210d\",\n      \"css\": \"map-marker-question\",\n      \"code\": 986887,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q421.9 84 354.5 123T248 229.5 209 373 253.9 552.7Q291 632.8 353.5 728.5 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q599.6 794.9 646.5 728.5 709 632.8 746.1 552.7 791 451.2 791 374T752 229.5 645.5 123 500 84ZM537.1 656.3H462.9V584H537.1V656.3ZM537.1 537.1H462.9Q462.9 492.2 484.4 462.9 496.1 445.3 527.3 421.9 550.8 402.3 558.6 392.6 572.3 375 572.3 353.5 572.3 324.2 550.8 302.7T500 281.3 449.2 302.7 427.7 353.5H353.5Q353.5 293 396.5 251T500 209 603.5 251 646.5 353.5Q646.5 384.8 628.9 410.2 617.2 425.8 589.8 450.2T552.7 488.3Q537.1 509.8 537.1 537.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-question\"\n      ]\n    },\n    {\n      \"uid\": \"cd53d4cd80c7e3fc92fe742902376fb1\",\n      \"css\": \"map-marker-question-outline\",\n      \"code\": 986888,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q410.2 41 333 85.9T210.9 208 166 375Q166 521.5 312.5 742.2 390.6 857.4 468.8 945.3L500 978.5 531.3 945.3Q609.4 857.4 687.5 742.2 834 521.5 834 375 834 285.2 789.1 208T667 85.9 500 41ZM500 853.5Q408.2 742.2 341.8 628.9 250 472.7 250 375 250 306.6 283.2 249T374 158.2 500 125 626 158.2 716.8 249 750 375Q750 478.5 652.3 640.6 589.8 744.1 500 853.5ZM462.9 584H537.1V656.3H462.9V584ZM500 209Q439.5 209 396.5 251T353.5 353.5H427.7Q427.7 324.2 449.2 302.7T500 281.3 550.8 302.7 572.3 353.5Q572.3 375 558.6 392.6 550.8 402.3 527.3 421.9 496.1 445.3 484.4 462.9 462.9 492.2 462.9 537.1H537.1Q537.1 509.8 552.7 488.3 562.5 474.6 589.8 450.2T628.9 410.2Q646.5 384.8 646.5 353.5 646.5 293 603.5 251T500 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-question-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3dde11df90f7afda3a6003895c11b0e2\",\n      \"css\": \"map-marker-remove\",\n      \"code\": 986889,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 84Q296.9 84 229.5 123T123 229.5 84 373 128.9 552.7Q166 632.8 228.5 728.5 275.4 794.9 330.1 863.3L375 916 419.9 863.3Q474.6 794.9 521.5 728.5 584 632.8 621.1 552.7 666 451.2 666 373T627 228.5 521.5 123 375 84ZM375 271.5Q418 271.5 448.2 301.8T478.5 375 448.2 448.2 375 478.5 301.8 448.2 271.5 375 301.8 301.8 375 271.5ZM691.4 589.8L632.8 648.4 732.4 750 632.8 849.6 691.4 908.2 791 808.6 892.6 908.2 951.2 849.6 849.6 750 951.2 648.4 892.6 589.8 791 691.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-remove\"\n      ]\n    },\n    {\n      \"uid\": \"d369348a50058f9addf6a04d3d783ad3\",\n      \"css\": \"map-marker-remove-variant\",\n      \"code\": 986890,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q421.9 84 354.5 123T248 229.5 209 373 253.9 552.7Q291 632.8 353.5 728.5 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q599.6 794.9 646.5 728.5 709 632.8 746.1 552.7 791 451.2 791 374T752 229.5 645.5 123 500 84ZM400.4 214.8L500 316.4 599.6 214.8 660.2 273.4 558.6 375 660.2 474.6 599.6 535.2 500 433.6 400.4 535.2 339.8 474.6 441.4 375 339.8 273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-remove-variant\"\n      ]\n    },\n    {\n      \"uid\": \"4a3a73330615f21dd6a20a0a96541252\",\n      \"css\": \"necklace\",\n      \"code\": 986891,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M896.5 209H812.5Q812.5 293 770.5 365.2T656.3 479.5 500 521.5 343.8 479.5 229.5 365.2 187.5 209H103.5Q105.5 312.5 156.3 402.3T294.9 545.9 488.3 603.5Q460.9 642.6 443.4 677.7 416 728.5 416 750 416 789.1 441.4 811.5T500 834 558.6 811.5 584 750Q584 728.5 556.6 677.7 539.1 642.6 511.7 603.5 617.2 599.6 705.1 545.9T843.8 402.3 896.5 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"necklace\"\n      ]\n    },\n    {\n      \"uid\": \"f751ce1a86ca08aab010c037067b9955\",\n      \"css\": \"newspaper-minus\",\n      \"code\": 986892,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H584V709H916ZM834 459V334H166V459H834ZM541 541V611.3Q500 673.8 500 750 500 818.4 533.2 875H166Q132.8 875 108.4 850.6T84 791V125L152.3 195.3 222.7 125 291 195.3 361.3 125 429.7 195.3 500 125 570.3 195.3 638.7 125 709 195.3 777.3 125 847.7 195.3 916 125V562.5Q843.8 500 750 500 673.8 500 611.3 541H541ZM459 791V541H166V791H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper-minus\"\n      ]\n    },\n    {\n      \"uid\": \"8d6d753800eaec5ea22617362f962ec1\",\n      \"css\": \"newspaper-plus\",\n      \"code\": 986893,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM834 459V334H166V459H834ZM541 541V611.3Q500 673.8 500 750 500 818.4 533.2 875H166Q132.8 875 108.4 850.6T84 791V125L152.3 195.3 222.7 125 291 195.3 361.3 125 429.7 195.3 500 125 570.3 195.3 638.7 125 709 195.3 777.3 125 847.7 195.3 916 125V562.5Q843.8 500 750 500 673.8 500 611.3 541H541ZM459 791V541H166V791H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper-plus\"\n      ]\n    },\n    {\n      \"uid\": \"8f776373aa6bb1efd29c769a0d856d78\",\n      \"css\": \"numeric-0-box-multiple\",\n      \"code\": 986894,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM541 209Q507.8 209 483.4 233.4T459 291V541Q459 576.2 483.4 600.6T541 625H625Q660.2 625 684.6 600.6T709 541V291Q709 257.8 684.6 233.4T625 209H541ZM541 291H625V541H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-0-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"3164e55279ca9b054cd62a7beb33470e\",\n      \"css\": \"numeric-1-box-multiple\",\n      \"code\": 986895,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM584 625H666V209H500V291H584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-1-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"6cc491c1f2b92a70c7e7be797846ba78\",\n      \"css\": \"numeric-2-box-multiple\",\n      \"code\": 986896,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM709 541H541V459H625Q660.2 459 684.6 434.6T709 375V291Q709 257.8 684.6 233.4T625 209H459V291H625V375H541Q507.8 375 483.4 399.4T459 459V625H709V541ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-2-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"d974d5b9bf9e6669529d4d1f68cb582c\",\n      \"css\": \"numeric-3-box-multiple\",\n      \"code\": 986897,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM709 541V478.5Q709 453.1 690.4 434.6T646.5 416Q671.9 416 690.4 398.4T709 353.5V291Q709 257.8 684.6 233.4T625 209H459V291H625V375H541V459H625V541H459V625H625Q660.2 625 684.6 600.6T709 541ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-3-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"641a8ac7cbeb189b004a2e21e0c58226\",\n      \"css\": \"numeric-4-box-multiple\",\n      \"code\": 986898,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM625 625H709V209H625V375H541V209H459V459H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-4-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"6c938d9584fb621358b2d8b090884002\",\n      \"css\": \"numeric-5-box-multiple\",\n      \"code\": 986899,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM709 541V459Q709 423.8 684.6 399.4T625 375H541V291H709V209H459V459H625V541H459V625H625Q660.2 625 684.6 600.6T709 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-5-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"fa3336cd869a975f9b0f57288d5e1b89\",\n      \"css\": \"numeric-6-box-multiple\",\n      \"code\": 986900,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H625V541H541V459ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM541 625H625Q660.2 625 684.6 600.6T709 541V459Q709 423.8 684.6 399.4T625 375H541V291H709V209H541Q507.8 209 483.4 233.4T459 291V541Q459 576.2 483.4 600.6T541 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-6-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"6568c0067e93ba1b57a8ffad94822772\",\n      \"css\": \"numeric-7-box-multiple\",\n      \"code\": 986901,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM541 625L709 291V209H459V291H625L459 625H541ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-7-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ca9e56c803072e881b4a7a0063f3c6a3\",\n      \"css\": \"numeric-8-box-multiple\",\n      \"code\": 986902,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H625V541H541V459ZM541 291H625V375H541V291ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM541 625H625Q660.2 625 684.6 600.6T709 541V478.5Q709 453.1 690.4 434.6T646.5 416Q671.9 416 690.4 398.4T709 353.5V291Q709 257.8 684.6 233.4T625 209H541Q507.8 209 483.4 233.4T459 291V353.5Q459 380.9 476.6 398.4T521.5 416Q494.1 416 476.6 434.6T459 478.5V541Q459 576.2 483.4 600.6T541 625ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-8-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"b6496bba0fd69a2968cfe0da65b32c20\",\n      \"css\": \"numeric-9-box-multiple\",\n      \"code\": 986903,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375H541V291H625V375ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM625 209H541Q507.8 209 483.4 233.4T459 291V375Q459 410.2 483.4 434.6T541 459H625V541H459V625H625Q660.2 625 684.6 600.6T709 541V291Q709 257.8 684.6 233.4T625 209ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"6c28f3841263bed310cbe55be9f039aa\",\n      \"css\": \"numeric-9-plus-box-multiple\",\n      \"code\": 986904,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375V334H500V375H459ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM625 375V459H709V541H791V459H875V375H791V291H709V375H625ZM584 500V334Q584 298.8 559.6 274.4T500 250H459Q423.8 250 399.4 274.4T375 334V375Q375 410.2 399.4 434.6T459 459H500V500H375V584H500Q535.2 584 559.6 559.6T584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"d991c75af208b4bfc8d4a29dfe9c676b\",\n      \"css\": \"oil-lamp\",\n      \"code\": 986905,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834H666V916H209V834ZM459 209H416Q382.8 209 358.4 233.4T334 291H541Q541 257.8 516.6 233.4T459 209ZM666 334H916Q916 367.2 891.6 391.6T834 416H791Q722.7 416 673.8 464.8T625 584V625Q625 693.4 576.2 742.2T459 791H416Q347.7 791 298.8 742.2T250 625H166Q132.8 625 108.4 600.6T84 541V416Q84 382.8 108.4 358.4T166 334H666ZM250 416H166V541H250V416ZM791 209Q826.2 209 850.6 233.4T875 291H916Q918 238.3 880.9 201.2T791 166Q757.8 166 733.4 141.6T709 84H666Q664.1 136.7 701.2 173.8T791 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"oil-lamp\"\n      ]\n    },\n    {\n      \"uid\": \"ef0798b2f809127654425193b80deecc\",\n      \"css\": \"phone-alert\",\n      \"code\": 986906,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M275.4 449.2Q320.3 537.1 391.6 608.4T550.8 724.6L642.6 632.8Q660.2 615.2 685.5 623 755.9 646.5 834 646.5 851.6 646.5 863.3 658.2T875 687.5V834Q875 851.6 863.3 863.3T834 875Q693.4 875 562.5 821.3T332 668 178.7 437.5 125 166Q125 148.4 136.7 136.7T166 125H312.5Q330.1 125 341.8 136.7T353.5 166Q353.5 244.1 377 314.5 384.8 339.8 367.2 357.4ZM709 500V416H791V500H709ZM709 334V84H791V334H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-alert\"\n      ]\n    },\n    {\n      \"uid\": \"a6c3aa723ad05fe3ab75203cdb998501\",\n      \"css\": \"play-outline\",\n      \"code\": 986907,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 359.4L574.2 500 353.5 640.6V359.4ZM271.5 209V791L728.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-outline\"\n      ]\n    },\n    {\n      \"uid\": \"04c053dbd4e21c7727e9f612819e08d2\",\n      \"css\": \"purse\",\n      \"code\": 986908,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 794.9L875 437.5Q873 410.2 852.5 392.6T804.7 375H666V209L584 125H416L334 209V375H195.3Q168 375 147.5 392.6T125 437.5L84 794.9Q80.1 828.1 101.6 851.6T154.3 875H845.7Q877 875 898.4 851.6T916 794.9ZM416 209H584V375H416V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"purse\"\n      ]\n    },\n    {\n      \"uid\": \"10bfe3b5fe7ce09d33109f7f9445cba3\",\n      \"css\": \"purse-outline\",\n      \"code\": 986909,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459L834 791H166L209 459H791ZM584 125H416L334 209V375H195.3Q168 375 147.5 392.6T125 437.5L84 794.9Q80.1 828.1 101.6 851.6T154.3 875H845.7Q877 875 898.4 851.6T916 794.9L875 437.5Q873 410.2 852.5 392.6T804.7 375H666V209ZM416 375V209H584V375H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"purse-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bdd659f6fbc869acacc4e4f9636ff666\",\n      \"css\": \"railroad-light\",\n      \"code\": 986910,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M736.3 437.5Q697.3 437.5 665 460T619.1 521.5H548.8V324.2L693.4 410.2 736.3 339.8 587.9 250 736.3 160.2 695.3 89.8 548.8 175.8V84H464.8V175.8L320.3 89.8 279.3 160.2 425.8 250 277.3 339.8 318.4 410.2 464.8 324.2V521.5H396.5Q378.9 472.7 339.8 452.1T256.8 439.5 182.6 479.5 152.3 562.5 182.6 645.5 256.8 685.5 339.8 672.9 396.5 603.5H464.8V834Q431.6 834 407.2 858.4T382.8 916H632.8Q632.8 882.8 608.4 858.4T548.8 834V603.5H619.1Q634.8 650.4 676.8 672.9T764.6 684.6 838.9 633.8 860.4 547.9 819.3 469.7 736.3 437.5ZM277.3 603.5Q259.8 603.5 248 591.8T236.3 562.5 249 532.2 278.3 520.5 307.6 533.2 320.3 562.5 307.6 591.8 277.3 603.5ZM736.3 603.5Q718.8 603.5 707 591.8T694.3 562.5 706.1 532.2 736.3 520.5 765.6 533.2 777.3 562.5 765.6 591.8 736.3 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"railroad-light\"\n      ]\n    },\n    {\n      \"uid\": \"2b7494040c919defa9739a5def7c84a6\",\n      \"css\": \"reply-all-outline\",\n      \"code\": 986911,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 408.2V445.3L529.3 455.1Q677.7 476.6 775.4 566.4 662.1 533.2 541 533.2H459V587.9L367.2 500ZM541 209L250 500 541 791V621.1Q699.2 621.1 810.5 672.9T1000 834Q964.8 656.3 865.2 541 744.1 404.3 541 375V209ZM291 334V209L0 500 291 791V666L125 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reply-all-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2b406ee3547fbc3e89412319f4a3c795\",\n      \"css\": \"reply-outline\",\n      \"code\": 986912,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 408.2V445.3L404.3 459Q552.7 480.5 650.4 570.3 537.1 537.1 416 537.1H334V591.8L242.2 500ZM416 209L125 500 416 791V621.1Q574.2 621.1 685.5 672.9T875 834Q839.8 656.3 740.2 541 619.1 404.3 416 375V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reply-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6567f2ea96e66ab910dc822c27385bfa\",\n      \"css\": \"rss-off\",\n      \"code\": 986913,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M103.5 156.3L158.2 103.5 896.5 841.8 843.8 896.5 781.3 834H697.3Q697.3 783.2 689.5 742.2L257.8 310.5Q216.8 302.7 166 302.7V218.8ZM257.8 652.3Q294.9 652.3 321.3 678.7T347.7 742.2 321.3 806.6 257.8 834 193.4 806.6 166 742.2 193.4 678.7 257.8 652.3ZM166 419.9Q279.3 419.9 374 475.6T524.4 626 580.1 834H460.9Q460.9 753.9 421.9 685.5T314.5 578.1 166 539.1V419.9ZM380.9 220.7Q519.5 269.5 625 375T779.3 619.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rss-off\"\n      ]\n    },\n    {\n      \"uid\": \"4faaf285023322aece0ab0bd38afb49c\",\n      \"css\": \"selection-ellipse-arrow-inside\",\n      \"code\": 986914,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M466.8 166Q386.7 173.8 318.4 216.8L277.3 144.5Q361.3 91.8 459 84ZM730.5 259.8Q671.9 205.1 597.7 179.7L625 99.6Q722.7 128.9 791 199.2ZM222.7 308.6Q179.7 373 166 451.2L84 439.5Q95.7 339.8 154.3 259.8ZM916 500V527.3L834 521.5V500Q834 429.7 808.6 369.1L884.8 335.9Q916 412.1 916 500ZM250 720.7L187.5 775.4Q123 701.2 95.7 605.5L173.8 584Q197.3 660.2 250 720.7ZM505.9 916H500Q404.3 916 318.4 877L355.5 800.8Q423.8 834 500 834H507.8ZM709 875H625V625H875V709H767.6L880.9 824.2 822.3 882.8 709 771.5V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-ellipse-arrow-inside\"\n      ]\n    },\n    {\n      \"uid\": \"4c55e445ecf96d23a1d1b0d8871f2213\",\n      \"css\": \"share-off\",\n      \"code\": 986915,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L650.4 728.5 584 791V662.1L544.9 621.1Q404.3 630.9 301.8 682.6T125 837.9Q142.6 718.8 207 618.2T371.1 449.2L44.9 125 99.6 70.3 919.9 896.5ZM753.9 621.1L875 500 584 209V375L521.5 386.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-off\"\n      ]\n    },\n    {\n      \"uid\": \"e1e6c8b8aea0985473018bd82415dec4\",\n      \"css\": \"share-off-outline\",\n      \"code\": 986916,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 371.1 449.2Q177.7 566.4 125 834 195.3 730.5 298.8 678.7T541 621.1L584 662.1V791L650.4 724.6 867.2 945.3ZM345.7 574.2Q386.7 537.1 433.6 511.7L470.7 544.9ZM591.8 459L521.5 386.7 584 375V209L875 500 753.9 621.1 695.3 562.5 757.8 500 666 408.2V445.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d119bedd311e22e15965aa2165aa99e7\",\n      \"css\": \"skip-backward-outline\",\n      \"code\": 986917,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 589.8L660.2 500 750 410.2V589.8ZM834 791V209L541 500ZM166 791H250V209H166V791ZM459 589.8L367.2 500 459 410.2V589.8ZM541 791V209L250 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-backward-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0a19cbaccec9c119d33957de4cd17eda\",\n      \"css\": \"skip-forward-outline\",\n      \"code\": 986918,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 410.2L339.8 500 250 589.8V410.2ZM166 209V791L459 500ZM834 209H750V791H834V209ZM541 410.2L632.8 500 541 589.8V410.2ZM459 209V791L750 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-forward-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6c7fefad5b1ff32947d944748cfeda77\",\n      \"css\": \"skip-next-outline\",\n      \"code\": 986919,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 750L603.5 500 250 250V750ZM334 410.2L459 500 334 589.8V410.2ZM666 250H750V750H666V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-next-outline\"\n      ]\n    },\n    {\n      \"uid\": \"55af241cb7c76273497880e2bb52aec6\",\n      \"css\": \"skip-previous-outline\",\n      \"code\": 986920,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 250H334V750H250V250ZM396.5 500L750 750V250ZM666 589.8L541 500 666 410.2V589.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skip-previous-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a8ebc087835fbaba7983ef356d2a2810\",\n      \"css\": \"snowflake-alert\",\n      \"code\": 986921,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M685.5 392.6L541 306.6V212.9L613.3 142.6 554.7 84 500 136.7 445.3 84 386.7 142.6 459 212.9V306.6L353.5 367.2 271.5 320.3 246.1 222.7 166 244.1 185.5 318.4 113.3 337.9 134.8 418 230.5 392.6 314.5 439.5V560.5L230.5 607.4 134.8 582 113.3 662.1 185.5 681.6 166 755.9 248 777.3 273.4 679.7 355.5 632.8 459 693.4V787.1L386.7 857.4 445.3 916 500 863.3 554.7 916 613.3 857.4 541 787.1V693.4L685.5 609.4V392.6ZM396.5 439.5L500 378.9 603.5 439.5V560.5L500 621.1 396.5 560.5V439.5ZM791 541V291H875V541H791ZM791 709V625H875V709H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snowflake-alert\"\n      ]\n    },\n    {\n      \"uid\": \"459ccd2819e02768a69a844c084e78a7\",\n      \"css\": \"snowflake-variant\",\n      \"code\": 986922,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M593.8 500L677.7 459H959L916 375H752L851.6 242.2 810.5 160.2 640.6 382.8 556.6 425.8 572.3 334 742.2 109.4 652.3 91.8 500 291 349.6 91.8 257.8 107.4 427.7 334 443.4 425.8 361.3 382.8 191.4 158.2 150.4 242.2 250 375H84L41 459H324.2L406.3 500 322.3 541H41L84 625H248L148.4 757.8 189.5 839.8 359.4 617.2 443.4 574.2 427.7 666 257.8 890.6 347.7 908.2 500 709 650.4 908.2 742.2 892.6 572.3 666 556.6 574.2 638.7 617.2 808.6 841.8 849.6 757.8 750 625H916L959 541H675.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snowflake-variant\"\n      ]\n    },\n    {\n      \"uid\": \"3cd2bb1e18e9a325f6f54f62dc48d3a7\",\n      \"css\": \"stretch-to-page\",\n      \"code\": 986923,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM375 791H209V625L261.7 679.7 326.2 615.2 384.8 673.8 320.3 738.3ZM326.2 384.8L261.7 320.3 209 375V209H375L320.3 261.7 384.8 326.2ZM791 791H625L679.7 738.3 615.2 673.8 673.8 615.2 738.3 679.7 791 625V791ZM791 375L738.3 320.3 673.8 384.8 615.2 326.2 679.7 261.7 625 209H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stretch-to-page\"\n      ]\n    },\n    {\n      \"uid\": \"1717ce235474128571033ebbbbed7ba4\",\n      \"css\": \"stretch-to-page-outline\",\n      \"code\": 986924,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM834 834H166V166H834V834ZM367.2 427.7L304.7 363.3 250 416V250H416L363.3 304.7 427.7 367.2ZM572.3 367.2L636.7 304.7 584 250H750V416L695.3 363.3 632.8 427.7ZM632.8 572.3L695.3 636.7 750 584V750H584L636.7 695.3 572.3 632.8ZM427.7 632.8L363.3 695.3 416 750H250V584L304.7 636.7 367.2 572.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stretch-to-page-outline\"\n      ]\n    },\n    {\n      \"uid\": \"62ec6b33fcb56e09be94ccc953de3b71\",\n      \"css\": \"typewriter\",\n      \"code\": 986925,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 541H666Q666 576.2 641.6 600.6T584 625H416Q382.8 625 358.4 600.6T334 541H166L84 750V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V750ZM250 834Q232.4 834 220.7 821.3T208 792 219.7 762.7 250 750 279.3 761.7 291 791 279.3 821.3 250 834ZM416 834Q398.4 834 386.7 821.3T375 792 387.7 762.7 417 750 446.3 761.7 459 791 446.3 821.3 416 834ZM584 834Q564.5 834 552.7 821.3T541 792 553.7 762.7 583 750 612.3 761.7 625 791 612.3 821.3 584 834ZM750 834Q732.4 834 720.7 821.3T708 792 719.7 762.7 750 750 779.3 761.7 791 791 779.3 821.3 750 834ZM750 416V125H250V416H125V500H875V416H750ZM334 209H666V250H334V209ZM334 291H584V334H334V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"typewriter\"\n      ]\n    },\n    {\n      \"uid\": \"2dbe054571276b3dae35bc698f33aa28\",\n      \"css\": \"wave\",\n      \"code\": 986926,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q746.1 500 666 445.3 589.8 498 500 498T334 445.3Q253.9 500 166 500H84V584H166Q252 584 334 541 412.1 582 500 582T666 541Q748 584 834 584H916V500H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wave\"\n      ]\n    },\n    {\n      \"uid\": \"fcc3a874f9bea5aaa897c955d5a95014\",\n      \"css\": \"weather-cloudy-alert\",\n      \"code\": 986927,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 791Q193.4 791 145.5 763.7T69.3 688.5 41 584 69.3 479.5 145.5 403.3 250 375Q281.3 300.8 348.6 254.9T500 209Q570.3 209 630.9 242.2T728.5 333 771.5 459H791Q861.3 459 910.2 507.8T959 625 910.2 742.2 791 791H250ZM791 541H709V500Q709 443.4 680.7 395.5T604.5 319.3 500 291Q421.9 291 364.3 340.8T294.9 466.8Q271.5 459 250 459 197.3 459 161.1 495.1T125 583 161.1 671.9 250 709H791Q826.2 709 850.6 684.6T875 625 850.6 565.4 791 541ZM541 500H459V334H541V500ZM541 666H459V584H541V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-cloudy-alert\"\n      ]\n    },\n    {\n      \"uid\": \"95fad59fd4c40df609135b44cd26f01f\",\n      \"css\": \"weather-hazy\",\n      \"code\": 986928,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L599.6 226.6Q550.8 209 500 209T400.4 226.6ZM138.7 291L312.5 277.3Q273.4 310.5 248 353.5T212.9 449.2ZM861.3 291L787.1 449.2Q777.3 398.4 752 353.5T687.5 277.3ZM584 625Q584 607.4 571.3 595.7T541 584H125Q107.4 584 95.7 595.7T84 625 95.7 654.3 125 666H541Q558.6 666 571.3 654.3T584 625ZM916 625Q916 607.4 904.3 595.7T875 584H709Q691.4 584 678.7 595.7T666 625 678.7 654.3 709 666H875Q892.6 666 904.3 654.3T916 625ZM416 791Q416 808.6 428.7 821.3T459 834H834Q851.6 834 863.3 821.3T875 791 863.3 761.7 834 750H459Q441.4 750 428.7 761.7T416 791ZM125 791Q125 808.6 136.7 821.3T166 834H291Q308.6 834 321.3 821.3T334 791 321.3 761.7 291 750H166Q148.4 750 136.7 761.7T125 791ZM500 375Q552.7 375 588.9 411.1T625 500H709Q709 443.4 680.7 395.5T604.5 319.3 500 291 395.5 319.3 319.3 395.5 291 500H375Q375 447.3 411.1 411.1T500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-hazy\"\n      ]\n    },\n    {\n      \"uid\": \"950f7095ef473252f4d29c466f292188\",\n      \"css\": \"weather-night-partly-cloudy\",\n      \"code\": 986929,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 427.7Q900.4 429.7 886.7 429.7 824.2 429.7 766.6 406.3T662.1 337.9Q611.3 287.1 587.9 219.7T572.3 84Q572.3 68.4 558.6 54.7T529.3 41Q521.5 41 513.7 46.9 490.2 64.5 472.7 80.1 402.3 152.3 385.7 250T410.2 435.5Q361.3 457 327.1 496.1T279.3 585.9L250 584Q181.6 584 132.8 632.8T84 750 132.8 867.2 250 916H791Q843.8 916 879.9 879.9T916 792 879.9 703.1 791 666Q755.9 666 726.6 685.5L728.5 646.5Q728.5 627 726.6 617.2 839.8 607.4 919.9 527.3 933.6 513.7 953.1 486.3 964.8 470.7 951.2 449.2T918 427.7H916ZM791 750Q808.6 750 821.3 761.7T834 791 821.3 821.3 791 834H250Q214.8 834 190.4 809.6T166 750 190.4 690.4 250 666H353.5V646.5Q353.5 597.7 381.8 559.6T455.1 507.8Q466.8 503.9 476.6 502 492.2 500 502 500T527.3 502Q531.3 503.9 537.1 505.9 546.9 507.8 552.7 509.8L562.5 515.6Q570.3 517.6 576.2 523.4L585.9 529.3 605.5 546.9 623 568.4 634.8 591.8Q646.5 617.2 646.5 646.5V750H791ZM701.2 535.2Q671.9 482.4 618.2 449.2T500 416H494.1Q464.8 363.3 464.8 302.7T494.1 189.5Q517.6 310.5 604.5 396.5T810.5 505.9Q761.7 535.2 701.2 535.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-night-partly-cloudy\"\n      ]\n    },\n    {\n      \"uid\": \"6dace85bea29e1c84e20587a9488a607\",\n      \"css\": \"weather-partly-lightning\",\n      \"code\": 986930,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q769.5 625 750 632.8V625Q750 570.3 726.6 520.5T664.1 435.5Q677.7 359.4 640.6 289.1T531.3 185.5Q474.6 160.2 414.1 167T303.7 210 228.5 302.7Q201.2 363.3 210.9 427.7T261.7 541H250Q181.6 541 132.8 589.8T84 708 132.8 826.2 250 875H291L302.7 873Q314.5 871.1 322.3 863.3 334 851.6 334 833T322.3 804.7Q314.5 796.9 302.7 793L291 791H250Q214.8 791 190.4 766.6T166 708 190.4 649.4 250 625H334Q334 556.6 382.8 507.8T500 459 617.2 507.8 666 625V709H791Q808.6 709 821.3 720.7T834 750 821.3 779.3 791 791H709L697.3 793Q685.5 796.9 677.7 804.7 666 814.5 666 833T677.7 863.3Q685.5 871.1 697.3 873L709 875H791Q843.8 875 879.9 838.9T916 750 879.9 661.1 791 625ZM500 375Q443.4 375 393.6 398.4T308.6 462.9Q293 435.5 292 401.4T304.7 335.9Q328.1 281.3 384.8 259.8T498 261.7Q535.2 279.3 558.6 313.5T584 388.7Q543 375 500 375ZM564.5 109.4Q529.3 95.7 494.1 87.9L599.6 33.2 636.7 154.3Q603.5 128.9 564.5 109.4ZM253.9 142.6Q222.7 164.1 199.2 193.4L205.1 76.2 328.1 103.5Q289.1 117.2 253.9 142.6ZM750 363.3Q744.1 324.2 732.4 291L832 353.5 746.1 447.3Q753.9 408.2 750 363.3ZM127 429.7Q130.9 464.8 142.6 500L44.9 437.5 128.9 345.7Q123 388.7 127 429.7ZM492.2 625H593.8L525.4 761.7H593.8L466.8 1000 492.2 830.1H406.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-partly-lightning\"\n      ]\n    },\n    {\n      \"uid\": \"134a7e41804e200a90d99679c43cab6d\",\n      \"css\": \"weather-partly-rainy\",\n      \"code\": 986931,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M531.3 185.5Q603.5 218.8 640.6 289.1T664.1 435.5Q703.1 470.7 726.6 520.5T750 625V632.8Q769.5 625 791 625 843.8 625 879.9 661.1T916 750 879.9 838.9 791 875H709L697.3 873Q685.5 871.1 677.7 863.3 666 851.6 666 834 666 806.6 687.5 796.9 697.3 791 709 791H791Q808.6 791 821.3 779.3T834 750 821.3 720.7 791 709H666V625Q666 556.6 617.2 507.8T500 459 382.8 507.8 334 625H250Q214.8 625 190.4 649.4T166 708 190.4 766.6 250 791H291L302.7 793Q314.5 796.9 322.3 804.7 334 814.5 334 833T322.3 863.3Q314.5 871.1 302.7 873L291 875H250Q181.6 875 132.8 826.2T84 708 132.8 589.8 250 541H261.7Q220.7 492.2 210.9 427.7T228.5 302.7Q253.9 246.1 303.7 210T414.1 167 531.3 185.5ZM498 261.7Q441.4 238.3 384.8 259.8T304.7 335.9Q291 367.2 292 401.4T308.6 462.9Q343.8 421.9 393.6 398.4T500 375Q543 375 584 388.7 582 347.7 558.6 313.5T498 261.7ZM564.5 109.4Q529.3 95.7 494.1 87.9L599.6 33.2 636.7 154.3Q603.5 128.9 564.5 109.4ZM253.9 142.6Q222.7 164.1 199.2 193.4L205.1 76.2 328.1 103.5Q289.1 117.2 253.9 142.6ZM750 363.3Q744.1 324.2 732.4 291L832 353.5 746.1 447.3Q753.9 408.2 750 363.3ZM127 429.7Q130.9 464.8 142.6 500L44.9 437.5 128.9 345.7Q123 388.7 127 429.7ZM500 787.1Q541 851.6 541 875 541 892.6 529.3 904.3T500 916 470.7 904.3 459 875Q459 851.6 500 787.1ZM500 650.4Q484.4 669.9 466.8 691.4 429.7 738.3 408.2 779.3 375 837.9 375 875 375 927.7 411.1 963.9T500 1000 588.9 963.9 625 875Q625 837.9 591.8 779.3 570.3 738.3 533.2 691.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-partly-rainy\"\n      ]\n    },\n    {\n      \"uid\": \"70361332022840d57bee408d110f5aaa\",\n      \"css\": \"weather-partly-snowy\",\n      \"code\": 986932,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 793Q214.8 793 190.4 768.6T166 710 190.4 651.4 250 627H334Q334 556.6 382.8 507.8T500 459 617.2 507.8 666 627V709H791Q808.6 709 821.3 721.7T834 751 821.3 780.3 791 793H709L697.3 794.9Q685.5 796.9 677.7 804.7 666 816.4 666 834 666 861.3 687.5 871.1 697.3 877 709 877H791Q843.8 877 879.9 839.8T916 751 879.9 663.1 791 627Q769.5 627 750 632.8V627Q750 570.3 726.6 521.5T664.1 437.5Q677.7 359.4 640.6 289.1T531.3 187.5Q474.6 162.1 414.1 168.9T303.7 210.9 228.5 302.7Q201.2 363.3 210.9 427.7T261.7 543H250Q181.6 543 132.8 591.8T84 710 132.8 828.1 250 877L261.7 875Q273.4 871.1 281.3 863.3 291 853.5 291 835T281.3 804.7Q273.4 796.9 261.7 794.9ZM500 377Q443.4 377 393.6 400.4T308.6 464.8Q293 435.5 292 402.3T304.7 337.9Q328.1 281.3 384.8 259.8T498 263.7Q535.2 281.3 558.6 315.4T584 390.6Q543 377 500 377ZM564.5 111.3Q533.2 97.7 494.1 89.8L599.6 35.2 636.7 156.3Q603.5 128.9 564.5 111.3ZM253.9 144.5Q222.7 166 199.2 193.4L205.1 76.2 328.1 105.5Q289.1 117.2 253.9 144.5ZM750 363.3Q744.1 324.2 732.4 293L832 355.5 746.1 449.2Q753.9 408.2 750 363.3ZM127 429.7Q130.9 464.8 142.6 502L44.9 439.5 128.9 345.7Q123 388.7 127 429.7ZM334 894.5Q337.9 906.3 348.6 912.1T371.1 914.1L437.5 898.4 419.9 962.9Q416 974.6 421.9 985.4T440.4 1000 463.9 997.1 476.6 978.5L494.1 912.1 543 960.9Q550.8 970.7 563.5 970.7T585 961.9 593.8 940.4 585.9 918L537.1 869.1 603.5 853.5Q615.2 849.6 621.1 838.9T624 816.4 610.4 798.8 587.9 794.9L521.5 812.5 539.1 748Q543 734.4 536.1 723.6T517.6 710 495.1 712.9 480.5 732.4L464.8 796.9 416 748Q408.2 740.2 394.5 740.2T373 749 365.2 770.5 373 791L421.9 839.8 355.5 857.4Q343.8 861.3 337.9 871.1T334 894.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-partly-snowy\"\n      ]\n    },\n    {\n      \"uid\": \"872d818533d6a320b620dd5dd3e19358\",\n      \"css\": \"weather-partly-snowy-rainy\",\n      \"code\": 986933,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M564.5 111.3Q533.2 97.7 494.1 89.8L599.6 35.2 636.7 156.3Q603.5 128.9 564.5 111.3ZM253.9 144.5Q222.7 166 199.2 193.4L205.1 76.2 328.1 105.5Q289.1 117.2 253.9 144.5ZM750 363.3Q744.1 324.2 732.4 293L832 355.5 746.1 449.2Q753.9 408.2 750 363.3ZM127 429.7Q130.9 464.8 142.6 502L44.9 439.5 128.9 345.7Q123 388.7 127 429.7ZM695.3 925.8Q695.3 957 673.8 978.5T623 1000 572.3 978.5 550.8 925.8 587.9 839.8Q605.5 814.5 623 793V793L642.6 816.4Q662.1 843.8 675.8 869.1 695.3 904.3 695.3 925.8ZM252 894.5Q248 880.9 253.9 871.1T273.4 857.4L337.9 839.8 289.1 791Q281.3 783.2 281.3 770.5T290 749 311.5 740.2 334 750L380.9 796.9 398.4 732.4Q400.4 718.8 411.1 712.9T434.6 710 453.1 723.6 455.1 748L437.5 812.5 503.9 794.9Q517.6 793 527.3 798.8T541 816.4 538.1 838.9 519.5 853.5L453.1 871.1 502 918Q511.7 927.7 511.7 940.4T502.9 961.9 481.4 970.7 459 960.9L412.1 912.1 394.5 978.5Q390.6 990.2 379.9 997.1T357.4 1000 338.9 985.4 335.9 962.9L353.5 898.4 287.1 914.1Q275.4 918 264.6 912.1T252 894.5ZM791 627Q769.5 627 750 632.8V627Q750 570.3 726.6 521.5T664.1 437.5Q677.7 359.4 640.6 289.1T531.3 187.5Q474.6 162.1 414.1 168.9T303.7 210.9 228.5 302.7Q201.2 363.3 210.9 427.7T261.7 543H250Q181.6 543 132.8 591.8T84 710 136.7 830.1L144.5 837.9Q156.3 843.8 166 843.8 181.6 843.8 195.3 830.1 212.9 812.5 207 789.1 203.1 779.3 195.3 771.5V771.5Q166 746.1 166 710.9T190.4 651.4 250 627H334Q334 556.6 382.8 507.8T500 459 617.2 507.8 666 627V709H791Q808.6 709 821.3 721.7T834 751 821.3 780.3 791 793H750L738.3 794.9Q726.6 796.9 718.8 804.7 709 816.4 709 834 709 861.3 728.5 871.1 740.2 877 750 877H791Q843.8 877 879.9 839.8T916 751 879.9 663.1 791 627ZM500 377Q443.4 377 393.6 400.4T308.6 464.8Q293 435.5 292 402.3T304.7 337.9Q328.1 281.3 384.8 259.8T498 263.7Q535.2 281.3 558.6 315.4T584 390.6Q543 377 500 377Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-partly-snowy-rainy\"\n      ]\n    },\n    {\n      \"uid\": \"a869880ee0956ca175f42f9d010abdc1\",\n      \"css\": \"weather-snowy-heavy\",\n      \"code\": 986934,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 681.6Q162.1 664.1 170.9 649.4T197.3 628.9L291 603.5 222.7 535.2Q209 523.4 209 505.9T221.7 475.6 252.9 462.9 283.2 474.6L351.6 543 377 449.2Q380.9 431.6 396.5 422.9T428.7 418.9 454.1 439.5 459 472.7L433.6 566.4 527.3 541Q544.9 537.1 560.5 545.9T581.1 571.3 577.1 603.5 550.8 623L457 648.4 525.4 716.8Q537.1 728.5 537.1 747.1T524.4 778.3 494.1 791 464.8 777.3L396.5 709 371.1 802.7Q365.2 820.3 350.6 829.1T318.4 833 292 813.5 287.1 781.3L312.5 687.5 218.8 712.9Q201.2 716.8 186.5 708T166 681.6ZM41 416Q41 375 57.6 336.9T103.5 269.5 170.9 224.6 250 209Q281.3 132.8 348.6 86.9T500 41Q570.3 41 630.9 75.2T728.5 166 771.5 293L791 291Q861.3 291 910.2 339.8T959 458 910.2 576.2 791 625Q773.4 625 761.7 613.3T750 584 761.7 553.7 791 541Q826.2 541 850.6 516.6T875 458 850.6 399.4 791 375H709V334Q709 277.3 680.7 229.5T604.5 153.3 500 125Q421.9 125 364.3 174.8T294.9 298.8Q271.5 291 250 291 197.3 291 161.1 328.1T125 417 162.1 505.9Q173.8 519.5 173.8 536.1T162.1 564.5 132.8 576.2 103.5 564.5Q41 502 41 416ZM584 851.6Q587.9 863.3 598.6 869.1T621.1 873L687.5 853.5 669.9 919.9Q666 933.6 671.9 943.4T690.4 957 713.9 954.1 726.6 935.5L744.1 871.1 793 918Q800.8 927.7 813.5 927.7T835 918.9 843.8 897.5 835.9 877L787.1 828.1 851.6 810.5Q865.2 806.6 871.1 795.9T874 773.4 860.4 755.9 837.9 752L771.5 771.5 789.1 705.1Q793 691.4 786.1 681.6T767.6 668 745.1 670.9 730.5 689.5L714.8 753.9 666 707Q656.3 697.3 643.6 697.3T622.1 706.1 613.3 727.5 623 748L671.9 796.9 605.5 814.5Q593.8 818.4 587.9 829.1T584 851.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-snowy-heavy\"\n      ]\n    },\n    {\n      \"uid\": \"15d247ccc27f0c7a1485cb8a84e49c57\",\n      \"css\": \"weather-sunny-alert\",\n      \"code\": 986935,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291Q443.4 291 395.5 319.3T319.3 395.5 291 500 319.3 604.5 395.5 680.7 500 709 604.5 680.7 680.7 604.5 709 500 680.7 395.5 604.5 319.3 500 291ZM500 625Q447.3 625 411.1 588.9T375 500 411.1 411.1 500 375 588.9 411.1 625 500 588.9 588.9 500 625ZM500 84L599.6 226.6Q550.8 209 500 209T400.4 226.6ZM138.7 291L312.5 277.3Q273.4 310.5 248 353.5T212.9 449.2ZM140.6 709L212.9 550.8Q222.7 601.6 248 645.5T312.5 724.6ZM500 916L400.4 773.4Q449.2 791 499 791T599.6 773.4ZM791 541V291H875V541H791ZM791 709V625H875V709H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-sunny-alert\"\n      ]\n    },\n    {\n      \"uid\": \"27a98b5460170d1d8a207a561cb75c63\",\n      \"css\": \"weather-tornado\",\n      \"code\": 986936,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 209H125Q107.4 209 95.7 196.3T84 166 95.7 136.7 125 125H875Q892.6 125 904.3 136.7T916 166 904.3 196.3 875 209ZM834 334Q834 316.4 821.3 303.7T791 291H209Q191.4 291 178.7 303.7T166 334 178.7 363.3 209 375H791Q808.6 375 821.3 363.3T834 334ZM875 500Q875 482.4 863.3 470.7T834 459H416Q398.4 459 386.7 470.7T375 500 386.7 529.3 416 541H834Q851.6 541 863.3 529.3T875 500ZM666 666Q666 648.4 654.3 636.7T625 625H375Q357.4 625 345.7 636.7T334 666 345.7 696.3 375 709H625Q642.6 709 654.3 696.3T666 666ZM541 834Q541 816.4 529.3 803.7T500 791H416Q398.4 791 386.7 803.7T375 834 386.7 863.3 416 875H500Q517.6 875 529.3 863.3T541 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weather-tornado\"\n      ]\n    },\n    {\n      \"uid\": \"bd7c208de77a86d95ebdc5f8f3d91326\",\n      \"css\": \"baby-bottle\",\n      \"code\": 986937,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M470.7 117.2L449.2 136.7Q408.2 113.3 360.4 109.4T267.6 119.1L263.7 117.2Q232.4 89.8 191.4 90.8T121.1 121.1 90.8 191.4 117.2 263.7L119.1 267.6Q105.5 312.5 109.4 360.4T136.7 449.2L117.2 470.7Q97.7 488.3 97.7 513.7T117.2 558.6L175.8 617.2Q193.4 636.7 219.7 636.7T263.7 617.2L279.3 601.6 574.2 896.5Q591.8 916 617.2 916T662.1 896.5L896.5 662.1Q916 642.6 916 617.2T896.5 574.2L601.6 279.3 617.2 263.7Q636.7 246.1 636.7 219.7T617.2 175.8L558.6 117.2Q539.1 97.7 513.7 97.7T470.7 117.2ZM574.2 218.8L218.8 574.2 160.2 513.7 513.7 160.2ZM617.2 484.4L484.4 617.2 439.5 574.2 574.2 439.5ZM705.1 574.2L574.2 705.1 529.3 662.1 662.1 529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-bottle\"\n      ]\n    },\n    {\n      \"uid\": \"e7d29a7c3e5a06ea529042c17b6c8f03\",\n      \"css\": \"baby-bottle-outline\",\n      \"code\": 986938,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M470.7 117.2L449.2 136.7Q408.2 113.3 360.4 109.4T267.6 119.1L263.7 117.2Q234.4 85.9 190.4 85.9T116.2 116.2 85.9 190.4 117.2 263.7L119.1 267.6Q105.5 312.5 109.4 360.4T136.7 449.2L117.2 470.7Q97.7 488.3 97.7 513.7T117.2 558.6L175.8 617.2Q193.4 634.8 219.7 634.8T263.7 617.2L279.3 601.6 574.2 896.5Q591.8 916 617.2 916T662.1 896.5L896.5 662.1Q916 642.6 916 617.2T896.5 572.3L601.6 279.3 617.2 263.7Q634.8 246.1 634.8 219.7T617.2 175.8L558.6 117.2Q541 97.7 514.6 97.7T470.7 117.2ZM177.7 293Q181.6 273.4 193.4 252L160.2 218.8Q154.3 212.9 150.4 203.1T149.4 181.6 161.1 161.1 181.6 149.4 203.1 150.4 218.8 160.2L252 193.4Q273.4 181.6 293 177.7 349.6 160.2 402.3 183.6L183.6 402.3Q160.2 349.6 177.7 293ZM853.5 617.2L617.2 853.5 322.3 558.6 558.6 322.3ZM574.2 218.8L218.8 574.2 160.2 513.7 513.7 160.2ZM617.2 484.4L484.4 617.2 439.5 574.2 574.2 439.5ZM705.1 574.2L574.2 705.1 529.3 662.1 662.1 529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-bottle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"090b8c24bd743275c63bbfcd5ea1eb07\",\n      \"css\": \"bag-carry-on\",\n      \"code\": 986939,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M607.4 892.6Q632.8 916 666 916T724.6 891.6 750 834 724.6 775.4 666 750 608.4 775.4 584 834 607.4 892.6ZM250 791Q250 824.2 275.4 849.6T334 875V291Q300.8 291 275.4 316.4T250 375V791ZM666 84H500Q500 117.2 525.4 141.6T584 166V291H375V875H550.8Q541 853.5 541 834 541 783.2 579.1 746.1T666 709V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-carry-on\"\n      ]\n    },\n    {\n      \"uid\": \"122e77b467a8e9c7cd9e287de98588f9\",\n      \"css\": \"bag-carry-on-off\",\n      \"code\": 986940,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M87.9 205.1L250 371.1V791Q250 824.2 275.4 849.6T334 875V449.2L375 492.2V875H550.8Q541 841.8 541 834 541 796.9 557.6 770.5T607.4 724.6L642.6 757.8Q587.9 777.3 587.9 837.9 587.9 871.1 613.3 896.5 632.8 916 666 916 728.5 916 746.1 863.3L794.9 912.1 853.5 853.5 146.5 146.5ZM500 84Q500 117.2 525.4 141.6T584 166V291H408.2L666 550.8V84H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-carry-on-off\"\n      ]\n    },\n    {\n      \"uid\": \"91d218c6ed191eaaa36a8090ea62a330\",\n      \"css\": \"bag-checked\",\n      \"code\": 986941,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 791H84V875H916V791ZM166 625Q166 658.2 191.4 683.6T250 709V250Q216.8 250 191.4 275.4T166 334V625ZM562.5 250H437.5Q437.5 220.7 454.1 204.1T500 187.5 544.9 205.1Q562.5 228.5 562.5 250ZM291 250V709H709V250H625Q625 199.2 587.9 162.1T500 125 412.1 162.1 375 250H291ZM750 709Q783.2 709 808.6 683.6T834 625V334Q834 300.8 808.6 275.4T750 250V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bag-checked\"\n      ]\n    },\n    {\n      \"uid\": \"4b1de28844f7e5eb6ea346bcabb85624\",\n      \"css\": \"baguette\",\n      \"code\": 986942,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 916Q171.9 916 148.4 863.3 132.8 824.2 127 779.3 119.1 720.7 140.6 666 148.4 640.6 169.9 623T218.8 599.6Q238.3 595.7 261.7 601.6 275.4 603.5 302.7 615.2T345.7 630.9Q373 638.7 394.5 620.1T410.2 572.3Q398.4 527.3 322.3 509.8 279.3 500 209 500 209 447.3 257.8 427.7 296.9 412.1 352.5 418T460.9 441.4Q466.8 443.4 480.5 451.2 511.7 466.8 527.3 464.8 552.7 462.9 559.6 442.4T554.7 400.4Q515.6 334 353.5 334 353.5 275.4 398.4 253.9 435.5 236.3 496.1 246.1 548.8 257.8 599.6 279.3L613.3 285.2Q630.9 294.9 640.6 296.9 656.3 302.7 669.9 298.8 697.3 289.1 693.4 267.6 691.4 250 671.9 228.5 656.3 209 640.6 201.2 611.3 185.5 580.1 175.8L566.4 173.8Q550.8 169.9 545.9 165T550.8 146.5Q599.6 103.5 664.1 93.8 740.2 76.2 791 87.9 859.4 105.5 871.1 171.9 880.9 252 835.9 320.3 718.8 521.5 550.8 679.7 462.9 771.5 359.4 845.7L357.4 847.7Q312.5 878.9 287.1 892.6 244.1 916 209 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baguette\"\n      ]\n    },\n    {\n      \"uid\": \"177f51692cd58fcef280a9900bf0e6eb\",\n      \"css\": \"bus-multiple\",\n      \"code\": 986943,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 209Q253.9 209 181.6 236.3 84 275.4 84 375V791Q84 847.7 125 884.8V959Q125 974.6 137.7 987.3T166 1000H209Q224.6 1000 237.3 987.3T250 959V916H584V959Q584 974.6 595.7 987.3T625 1000H666Q683.6 1000 696.3 987.3T709 959V884.8Q750 847.7 750 791V375Q750 275.4 652.3 236.3 578.1 209 416 209ZM228.5 834Q203.1 834 184.6 815.4T166 770.5 184.6 726.6 229.5 709 273.4 726.6 291 770.5 273.4 815.4 228.5 834ZM603.5 834Q578.1 834 559.6 815.4T541 770.5 559.6 726.6 604.5 709 648.4 726.6 666 770.5 648.4 815.4 603.5 834ZM666 584H166V375H666V584ZM916 209V625Q916 679.7 875 716.8V791Q875 808.6 862.3 821.3T834 834H828.1Q834 810.5 834 791V375Q834 261.7 753.9 199.2 691.4 150.4 580.1 134.8 517.6 125 416 125 324.2 125 269.5 132.8 300.8 78.1 388.7 58.6 457 41 584 41 746.1 41 818.4 70.3 916 107.4 916 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"34fcdaae333e4ed5c0b1c1c762f911f7\",\n      \"css\": \"car-shift-pattern\",\n      \"code\": 986944,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 209H166V84H334V209ZM166 916H334V791H166V916ZM584 84H416V209H584V84ZM416 916H584V791H416V916ZM666 84V209H834V84H666ZM709 459H541V291H459V459H291V291H209V709H291V541H459V709H541V541H791V291H709V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-shift-pattern\"\n      ]\n    },\n    {\n      \"uid\": \"231acad372338d71070157b785ce9f15\",\n      \"css\": \"cellphone-information\",\n      \"code\": 986945,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291H459V375H541V291ZM541 459H459V709H541V459ZM709 41H291Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41ZM709 791H291V209H709V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-information\"\n      ]\n    },\n    {\n      \"uid\": \"e8def8a651008674b2a2376023c877b2\",\n      \"css\": \"content-save-alert\",\n      \"code\": 986946,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500H834V291H916V500ZM916 584H834V666H916V584ZM584 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H666Q701.2 834 725.6 809.6T750 750V334ZM166 250H500V375H166V250ZM416 750Q373 750 342.8 719.7T312.5 646.5 342.8 572.3 416 541 490.2 572.3 521.5 646.5 490.2 719.7 416 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-alert\"\n      ]\n    },\n    {\n      \"uid\": \"a9c2bb3133c8f2d0dd91ab83f35fad21\",\n      \"css\": \"content-save-alert-outline\",\n      \"code\": 986947,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 291V500H834V291H916ZM834 666H916V584H834V666ZM750 334V750Q750 785.2 725.6 809.6T666 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H584ZM666 367.2L548.8 250H166V750H666V367.2ZM500 291H209V416H500V291ZM406.3 509.8Q367.2 509.8 339.8 537.1T312.5 603.5 339.8 670.9 406.3 699.2 472.7 670.9 500 603.5 472.7 537.1 406.3 509.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c8a27c4e08ffcd6770204354102dd2c4\",\n      \"css\": \"content-save-all-outline\",\n      \"code\": 986948,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 291H125V875H709V959H125Q89.8 959 65.4 934.6T41 875V291ZM791 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V209ZM875 709H291V125H757.8L875 242.2V709ZM584 416Q531.3 416 495.1 453.1T459 542 495.1 629.9 583 666 671.9 629.9 709 542 671.9 453.1 584 416ZM334 166H709V334H334V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-all-outline\"\n      ]\n    },\n    {\n      \"uid\": \"10afeb2ab67d8da91c393f801f8b8649\",\n      \"css\": \"crosshairs-off\",\n      \"code\": 986949,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M873 459Q863.3 373 817.4 300.8T699.2 182.6 541 127V41H459V127Q386.7 134.8 326.2 168L388.7 230.5Q443.4 209 500 209 580.1 209 646.5 248T752 353.5 791 500Q791 556.6 771.5 611.3L834 673.8Q865.2 613.3 873 541H959V459H873ZM125 177.7L210.9 263.7Q138.7 349.6 127 459H41V541H127Q136.7 627 182.6 699.2T300.8 817.4 459 873V959H541V873Q650.4 859.4 736.3 789.1L822.3 875 875 822.3 177.7 125ZM677.7 730.5Q599.6 791 500 791 419.9 791 353.5 752T248 646.5 209 500Q209 400.4 269.5 322.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crosshairs-off\"\n      ]\n    },\n    {\n      \"uid\": \"8e09e2c4e3ffca4a0d03324df41a58fc\",\n      \"css\": \"cupboard\",\n      \"code\": 986950,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 84H291Q257.8 84 233.4 108.4T209 166V791Q209 826.2 233.4 850.6T291 875V916H375V875H625V916H709V875Q742.2 875 766.6 850.6T791 791V166Q791 132.8 766.6 108.4T709 84ZM416 750H334V625H416V750ZM666 750H584V625H666V750ZM709 500H291V375H709V500ZM709 291H291V166H709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cupboard\"\n      ]\n    },\n    {\n      \"uid\": \"170a323a34ee865484529df68f3b79be\",\n      \"css\": \"cupboard-outline\",\n      \"code\": 986951,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q257.8 84 233.4 108.4T209 166V791Q209 826.2 233.4 850.6T291 875V916H375V875H625V916H709V875Q742.2 875 766.6 850.6T791 791V166Q791 132.8 766.6 108.4T709 84H291ZM291 166H709V291H291V166ZM291 375H709V500H291V375ZM291 584H459V791H291V584ZM541 584H709V791H541V584ZM334 625V750H416V625H334ZM584 625V750H666V625H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cupboard-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f1d1fa16d2efe02d29ee8c73e21b8f3c\",\n      \"css\": \"chair-rolling\",\n      \"code\": 986952,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 416V541H791V416H916ZM84 541H209V416H84V541ZM709 209Q709 173.8 684.6 149.4T625 125H375Q339.8 125 315.4 149.4T291 209V541H709V209ZM291 625H250V709H459V750L291 916H408.2L500 824.2 591.8 916H709L541 750V709H750V625H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chair-rolling\"\n      ]\n    },\n    {\n      \"uid\": \"5b2fe5b1d906075070da3c7d8db00d76\",\n      \"css\": \"draw\",\n      \"code\": 986953,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M406.3 869.1Q457 847.7 459 796.9 459 752 425.8 709 402.3 673.8 361.3 640.6 335.9 619.1 287.1 585.9 228.5 548.8 189.5 500L187.5 498Q173.8 480.5 169.9 472.7 164.1 459 177.7 455.1 197.3 451.2 252 476.6L267.6 484.4Q328.1 509.8 377 539.1L419.9 468.8Q367.2 435.5 310.5 412.1 248 384.8 193.4 377 156.3 371.1 128.9 380.9 97.7 394.5 87.9 427.7 70.3 478.5 119.1 543 142.6 572.3 175.8 601.6L240.2 648.4Q304.7 693.4 332 720.7V722.7Q363.3 752 371.1 771.5 377 785.2 375 788.1T357.4 791Q324.2 791 275.4 767.6 246.1 753.9 199.2 722.7L158.2 794.9Q228.5 837.9 277.3 855.5 355.5 886.7 406.3 869.1ZM869.1 218.8Q875 210.9 875 202.1T869.1 185.5L814.5 130.9Q806.6 125 797.9 125T781.3 130.9L738.3 173.8 826.2 261.7ZM459 455.1V541H544.9L800.8 285.2 714.8 199.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"draw\"\n      ]\n    },\n    {\n      \"uid\": \"286b0d9caeece242a9e563ff155865c0\",\n      \"css\": \"dresser\",\n      \"code\": 986954,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q132.8 125 108.4 149.4T84 209V334H916V209Q916 173.8 891.6 149.4T834 125H166ZM416 209H584V250H416V209ZM84 375V584H916V375H84ZM416 459H584V500H416V459ZM84 625V750Q84 785.2 108.4 809.6T166 834V875H250V834H750V875H834V834Q867.2 834 891.6 809.6T916 750V625H84ZM416 709H584V750H416V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dresser\"\n      ]\n    },\n    {\n      \"uid\": \"e098305ca5ef8cf195b8b16db8420eae\",\n      \"css\": \"dresser-outline\",\n      \"code\": 986955,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125Q132.8 125 108.4 149.4T84 209V750Q84 785.2 108.4 809.6T166 834V875H250V834H750V875H834V834Q867.2 834 891.6 809.6T916 750V209Q916 173.8 891.6 149.4T834 125H166ZM166 209H834V334H166V209ZM416 250V291H584V250H416ZM166 416H834V541H166V416ZM416 459V500H584V459H416ZM166 625H834V750H166V625ZM416 666V709H584V666H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dresser-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7755d729e63ca558dbe48cda3e676583\",\n      \"css\": \"emoticon-frown\",\n      \"code\": 986956,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM646.5 334Q671.9 334 690.4 351.6T709 395.5 690.4 440.4 645.5 459 601.6 440.4 584 395.5 601.6 351.6 646.5 334ZM353.5 334Q380.9 334 398.4 351.6T416 395.5 398.4 440.4 354.5 459 309.6 440.4 291 395.5 309.6 351.6 353.5 334ZM287.1 709Q312.5 642.6 370.1 602.5T500 562.5 629.9 602.5 712.9 709H287.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-frown\"\n      ]\n    },\n    {\n      \"uid\": \"408f1e5d224964683084606d776ab1b8\",\n      \"css\": \"emoticon-frown-outline\",\n      \"code\": 986957,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM646.5 459Q671.9 459 690.4 440.4T709 395.5 690.4 351.6 645.5 334 601.6 351.6 584 395.5 601.6 440.4 646.5 459ZM353.5 459Q380.9 459 398.4 440.4T416 395.5 398.4 351.6 354.5 334 309.6 351.6 291 395.5 309.6 440.4 353.5 459ZM500 562.5Q427.7 562.5 370.1 602.5T287.1 709H712.9Q687.5 642.6 629.9 602.5T500 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-frown-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e7f0055e9b2b112c1f441581a9cfb8bd\",\n      \"css\": \"focus-auto\",\n      \"code\": 986958,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM334 291Q298.8 291 274.4 315.4T250 375V709H334V541H416V709H500V375Q500 339.8 475.6 315.4T416 291H334ZM334 375H416V459H334V375ZM541 291V709H625V541H709V459H625V375H750V291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"focus-auto\"\n      ]\n    },\n    {\n      \"uid\": \"9cbe069882a4b99a59896e9a65dff71b\",\n      \"css\": \"focus-field\",\n      \"code\": 986959,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM291 459H375V541H291V459ZM459 459H541V541H459V459ZM625 459H709V541H625V459ZM291 291H375V375H291V291ZM459 291H541V375H459V291ZM625 291H709V375H625V291ZM291 625H375V709H291V625ZM459 625H541V709H459V625ZM625 625H709V709H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"focus-field\"\n      ]\n    },\n    {\n      \"uid\": \"4e9806b86c0c2235b208becc75145e0e\",\n      \"css\": \"focus-field-horizontal\",\n      \"code\": 986960,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM291 459H375V541H291V459ZM459 459H541V541H459V459ZM625 459H709V541H625V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"focus-field-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"4e2457f56db1559ea349e601e6f54ed4\",\n      \"css\": \"focus-field-vertical\",\n      \"code\": 986961,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H625V875H791Q826.2 875 850.6 850.6T875 791V625H791V791ZM791 125H625V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM209 209H375V125H209Q173.8 125 149.4 149.4T125 209V375H209V209ZM209 625H125V791Q125 826.2 149.4 850.6T209 875H375V791H209V625ZM459 459H541V541H459V459ZM459 291H541V375H459V291ZM459 625H541V709H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"focus-field-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"a775e2c342b291476c13833ec097868b\",\n      \"css\": \"foot-print\",\n      \"code\": 986962,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 84Q691.4 84 712.9 97.7T744.1 134.8 749 182.6 725.6 225.6 682.6 249 634.8 244.1 597.7 212.9 584 166Q584 132.8 608.4 108.4T666 84ZM502 125Q527.3 125 545.9 143.6T564.5 187.5 545.9 231.4 502 250 458 231.4 439.5 187.5 458 143.6 502 125ZM378.9 187.5Q396.5 187.5 408.2 199.2T419.9 228.5 408.2 258.8 378.9 271.5 349.6 258.8 337.9 228.5 349.6 199.2 378.9 187.5ZM293 250Q310.5 250 323.2 261.7T335.9 291 323.2 321.3 293 334 263.7 321.3 252 291 263.7 261.7 293 250ZM605.5 500Q652.3 500 682.6 465.8T709 384.8Q703.1 343.8 671.9 317.4T599.6 291H496.1Q412.1 291 344.7 342.8T255.9 474.6Q246.1 505.9 259.8 533.2 287.1 591.8 286.1 655.3T259.8 773.4Q242.2 810.5 261.7 845.7 289.1 886.7 333 905.3T423.8 912.1Q459 904.3 486.3 881.8T527.3 826.2 537.1 757.8 513.7 692.4 496.1 625V625Q494.1 593.8 505.9 562.5 531.3 500 605.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"foot-print\"\n      ]\n    },\n    {\n      \"uid\": \"85ac95e1c37e02967195b42fa8a298c0\",\n      \"css\": \"handball\",\n      \"code\": 986963,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M660.2 435.5Q703.1 468.8 730.5 516.6T765.6 619.1Q775.4 669.9 765.6 719.7T728.5 812.5L658.2 771.5Q685.5 722.7 685.5 666 683.6 599.6 644.5 544.9L382.8 998 310.5 957 435.5 740.2 363.3 699.2 300.8 806.6 228.5 765.6 443.4 394.5Q377 322.3 365.2 226.6T404.3 44.9L476.6 87.9Q455.1 125 449.2 165T454.1 245.1 489.3 318.4 550.8 373ZM666 209Q632.8 209 608.4 233.4T584 292 608.4 350.6 667 375 725.6 350.6 750 292 725.6 233.4 666 209ZM562.5 41Q537.1 41 518.6 59.6T500 104.5 518.6 148.4 562.5 166 606.4 148.4 625 104.5 606.4 59.6 562.5 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"handball\"\n      ]\n    },\n    {\n      \"uid\": \"42fc6e3e8d302978765ab8229adf4ead\",\n      \"css\": \"home-thermometer\",\n      \"code\": 986964,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM500 334Q517.6 334 529.3 345.7T541 375V593.8Q560.5 605.5 572.3 625T584 666Q584 701.2 559.6 725.6T500 750 440.4 725.6 416 666Q416 644.5 427.7 625T459 593.8V375Q459 357.4 470.7 345.7T500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-thermometer\"\n      ]\n    },\n    {\n      \"uid\": \"28512f57547a759d766a1130cfd8c0f0\",\n      \"css\": \"home-thermometer-outline\",\n      \"code\": 986965,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L84 500H166V875H834V500H916ZM500 209L750 459V791H250V459ZM500 334Q482.4 334 470.7 345.7T459 375V552.7Q439.5 564.5 427.7 584T416 625Q416 660.2 440.4 684.6T500 709 559.6 684.6 584 625Q584 603.5 572.3 584T541 552.7V375Q541 357.4 529.3 345.7T500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-thermometer-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d89275f8c6fc5c6719d123710c3d2eec\",\n      \"css\": \"kettle-outline\",\n      \"code\": 986966,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 125Q423.8 125 342.8 159.2T213.9 250 166 375Q166 447.3 224.6 511.7 166 589.8 166 687.5V834Q166 867.2 190.4 891.6T250 916H791Q826.2 916 850.6 891.6T875 834V687.5Q875 607.4 834 541L916 459 791 334 705.1 419.9Q613.3 371.1 508.8 374T316.4 433.6Q293 410.2 292 374T322.3 306.6 406.3 256.8 521.5 238.3Q564.5 238.3 605.5 249T679.7 279.3L761.7 195.3Q652.3 123 521.5 125ZM521.5 459Q591.8 459 656.3 494.1 716.8 527.3 753.9 581.1T791 687.5V834H250V687.5Q250 634.8 288.1 581.1T386.7 494.1Q451.2 459 521.5 459ZM541 521.5Q445.3 521.5 389.6 569.3T334 709V750H416V709Q416 650.4 431.6 615.2 460.9 546.9 541 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"52c6acfde5640bab63f1bf8af50dc65b\",\n      \"css\": \"latitude\",\n      \"code\": 986967,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM500 166Q591.8 166 667 210.9T787.1 334H212.9Q257.8 255.9 333 210.9T500 166ZM500 834Q408.2 834 333 789.1T212.9 666H787.1Q742.2 744.1 667 789.1T500 834ZM179.7 584Q166 544.9 166 500T179.7 416H824.2Q837.9 455.1 837.9 500T824.2 584H179.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"latitude\"\n      ]\n    },\n    {\n      \"uid\": \"04992944ab9e5f15b680f7e51785552d\",\n      \"css\": \"layers-triple\",\n      \"code\": 986968,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 0L125 291 500 584 875 291ZM806.6 447.3L500 685.5 193.4 447.3 125 500 500 791 875 500ZM806.6 656.3L500 894.5 193.4 656.3 125 709 500 1000 875 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-triple\"\n      ]\n    },\n    {\n      \"uid\": \"c5a363a2b028e36d820a4c4400bf3eda\",\n      \"css\": \"layers-triple-outline\",\n      \"code\": 986969,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 689.5L806.6 449.2 875 502 500 794.9 125 502 193.4 451.2ZM500 584L125 291 500 0 875 291ZM500 105.5L261.7 291 500 478.5 738.3 291ZM500 894.5L806.6 656.3 875 709 500 1000 125 709 193.4 656.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-triple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"60b66b7b7928f2745f8bdbd2da8a98a9\",\n      \"css\": \"longitude\",\n      \"code\": 986970,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM392.6 816.4Q291 781.3 228.5 694.3T166 500 228.5 305.7 392.6 183.6Q312.5 332 312.5 500T392.6 816.4ZM500 834Q449.2 759.8 421.9 674.8T394.5 500 421.9 325.2 500 166Q550.8 240.2 578.1 325.2T605.5 500 578.1 674.8 500 834ZM607.4 816.4Q687.5 668 687.5 500T607.4 183.6Q709 218.8 771.5 305.7T834 500 772.5 695.3 607.4 816.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"longitude\"\n      ]\n    },\n    {\n      \"uid\": \"ac96b48b486d1e04fbb8c32dd6c020ae\",\n      \"css\": \"language-markdown-outline\",\n      \"code\": 986971,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M857.4 750H142.6Q119.1 750 101.6 732.4T84 691.4V308.6Q84 285.2 101.6 267.6T142.6 250H857.4Q880.9 250 898.4 267.6T916 308.6V691.4Q916 714.8 898.4 732.4T857.4 750ZM142.6 289.1Q134.8 289.1 128.9 294.9T123 308.6V691.4Q123 699.2 128.9 705.1T142.6 710.9H857.4Q865.2 710.9 871.1 705.1T877 691.4V308.6Q877 300.8 871.1 294.9T857.4 289.1H142.6ZM203.1 632.8V367.2H283.2L363.3 464.8 443.4 367.2H523.4V632.8H443.4V480.5L363.3 578.1 283.2 480.5V632.8H203.1ZM705.1 632.8L584 503.9H664.1V367.2H744.1V503.9H824.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-markdown-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5dcd0a04677b1de43c4e6caa55ec456f\",\n      \"css\": \"merge\",\n      \"code\": 986972,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 709L500 541H632.8Q646.5 580.1 677.7 602.5T750 625Q802.7 625 838.9 588.9T875 500 838.9 411.1 750 375Q709 375 677.7 397.5T632.8 459H500L334 291V125H125V334H250L425.8 500 250 666H125V875H334V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"merge\"\n      ]\n    },\n    {\n      \"uid\": \"c0432c6aeae9aa6daf1d736e26a7d698\",\n      \"css\": \"middleware\",\n      \"code\": 986973,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L791 334V459H617.2Q603.5 421.9 571.3 398.4T500 375 428.7 398.4 382.8 459H209L84 334V666L209 541H382.8Q396.5 578.1 428.7 601.6T500 625 571.3 601.6 617.2 541H791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"middleware\"\n      ]\n    },\n    {\n      \"uid\": \"41d91d7ac67920fac285b6ff72053990\",\n      \"css\": \"middleware-outline\",\n      \"code\": 986974,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 500L791 334V459H660.2Q646.5 404.3 601.6 369.1T500 334 398.4 369.1 339.8 459H209L84 334V666L209 541H339.8Q353.5 595.7 398.4 630.9T500 666 601.6 630.9 660.2 541H791V666ZM500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"middleware-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f14834a39cd9f258d6d6b9e79789a4ed\",\n      \"css\": \"monitor-speaker\",\n      \"code\": 986975,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 834V750H125Q89.8 750 65.4 725.6T41 666V166Q41 132.8 65.4 108.4T125 84H875Q910.2 84 934.6 108.4T959 166V334H875V166H125V666H500V916H334V834H416ZM771.5 625Q728.5 625 697.3 655.3T666 728.5 697.3 802.7 771.5 834 844.7 802.7 875 728.5 844.7 655.3 771.5 625ZM959 416V875Q959 892.6 946.3 904.3T916 916H625Q607.4 916 595.7 904.3T584 875V416Q584 400.4 595.7 387.7T625 375H916Q933.6 375 946.3 387.7T959 416ZM709 478.5Q709 505.9 726.6 523.4T770.5 541 815.4 523.4 834 479.5 815.4 434.6 770.5 416 726.6 434.6 709 478.5ZM916 728.5Q916 668 874 626T771.5 584 668 626 625 728.5 668 832 771.5 875 874 832 916 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-speaker\"\n      ]\n    },\n    {\n      \"uid\": \"dcdf1fc536e84851c0d23a46324527c9\",\n      \"css\": \"monitor-speaker-off\",\n      \"code\": 986976,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M962.9 937.5L58.6 29.3 3.9 84 50.8 128.9Q41 154.3 41 166V666Q41 701.2 65.4 725.6T125 750H416V834H334V916H500V666H125V205.1L584 662.1V875Q584 892.6 596.7 904.3T625 916H837.9L908.2 988.3ZM771.5 875Q710.9 875 668 832T625 728.5Q625 712.9 628.9 705.1L669.9 746.1Q677.7 777.3 700.2 799.8T753.9 830.1L794.9 871.1Q787.1 875 771.5 875ZM875 728.5V742.2L757.8 625H771.5Q814.5 625 844.7 655.3T875 728.5ZM959 824.2V416Q959 398.4 946.3 386.7T916 375H625Q607.4 375 595.7 387.7T584 416V449.2L724.6 591.8Q750 584 771.5 584 830.1 584 873 627T916 728.5Q916 750 908.2 775.4ZM771.5 541Q746.1 541 727.5 522.5T709 479.5 727.5 435.5 770.5 416 814.5 435.5 834 479.5 814.5 522.5 771.5 541ZM300.8 166L216.8 84H875Q910.2 84 934.6 108.4T959 166V334H875V166H300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-speaker-off\"\n      ]\n    },\n    {\n      \"uid\": \"a0d66c5babb99a7af41a3a8fbb8e04c2\",\n      \"css\": \"moon-first-quarter\",\n      \"code\": 986977,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84V916Q613.3 916 709 860.4T860.4 709 916 500 860.4 291 709 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-first-quarter\"\n      ]\n    },\n    {\n      \"uid\": \"79d0f7e6c8cfdd631b343f14c12e1f28\",\n      \"css\": \"moon-full\",\n      \"code\": 986978,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500Q84 418 115.2 340.8T205.1 205.1 340.8 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-full\"\n      ]\n    },\n    {\n      \"uid\": \"ea29d468b8aed04d3723a6fdc79e7aae\",\n      \"css\": \"moon-last-quarter\",\n      \"code\": 986979,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-last-quarter\"\n      ]\n    },\n    {\n      \"uid\": \"0bc25d8a30fbf3f4b1c043e1c5d49cee\",\n      \"css\": \"moon-new\",\n      \"code\": 986980,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q398.4 834 314.5 777.3T192.4 627 173.8 434.6 264.6 264.6 434.6 173.8 627 192.4 777.3 314.5 834 500Q834 589.8 789.1 667T667 789.1 500 834ZM500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-new\"\n      ]\n    },\n    {\n      \"uid\": \"2fb97c5c31e58298045ea13957bb405d\",\n      \"css\": \"moon-waning-crescent\",\n      \"code\": 986981,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 599.6 128.9 688.5T253.9 835.9 431.6 911.1 625 898.4Q494.1 857.4 414.1 747.1T334 500 414.1 252.9 625 101.6Q529.3 72.3 431.6 88.9T253.9 164.1 128.9 311.5 84 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-waning-crescent\"\n      ]\n    },\n    {\n      \"uid\": \"e7a4f3db2184322b8c6943c0f5dfb778\",\n      \"css\": \"moon-waning-gibbous\",\n      \"code\": 986982,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 500Q750 351.6 689.5 240.2 621.1 121.1 500 84 386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916Q621.1 878.9 689.5 759.8 750 648.4 750 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-waning-gibbous\"\n      ]\n    },\n    {\n      \"uid\": \"baf94f21b6a82451f4403dc1e31e9798\",\n      \"css\": \"moon-waxing-crescent\",\n      \"code\": 986983,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q435.5 84 375 101.6 505.9 142.6 585.9 252.9T666 500 585.9 747.1 375 898.4Q492.2 933.6 611.3 901.4T811.5 777.3 911.1 563.5 879.9 329.1 726.6 150.4 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-waxing-crescent\"\n      ]\n    },\n    {\n      \"uid\": \"96dbeca7aacb00fc376c764c7645b5f9\",\n      \"css\": \"moon-waxing-gibbous\",\n      \"code\": 986984,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 500Q250 351.6 310.5 240.2 378.9 121.1 500 84 613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916Q378.9 878.9 310.5 759.8 250 648.4 250 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moon-waxing-gibbous\"\n      ]\n    },\n    {\n      \"uid\": \"99f580cd1a02aa7d8d3584285068d373\",\n      \"css\": \"music-accidental-double-flat\",\n      \"code\": 986985,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 375Q605.5 375 562.5 402.3V209H478.5V400.4Q447.3 375 396.5 375 355.5 375 312.5 402.3V209H228.5V791Q408.2 691.4 478.5 599.6V791Q771.5 627 771.5 500 771.5 449.2 744.1 416 710.9 375 646.5 375ZM312.5 640.6V511.7Q334 488.3 356.4 473.6T396.5 459Q418 459 427.7 465.8T437.5 500Q437.5 515.6 419.9 541 388.7 585.9 312.5 640.6ZM562.5 640.6V511.7Q584 488.3 606.4 473.6T646.5 459Q668 459 677.7 465.8T687.5 500Q687.5 515.6 669.9 541 638.7 585.9 562.5 640.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-accidental-double-flat\"\n      ]\n    },\n    {\n      \"uid\": \"1f292d5c05acc71aa75e2f7b7c9ae5ba\",\n      \"css\": \"music-accidental-double-sharp\",\n      \"code\": 986986,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M642.6 416H709V291H584V357.4L500 441.4 416 357.4V291H291V416H357.4L441.4 500 357.4 584H291V709H416V642.6L500 558.6 584 642.6V709H709V584H642.6L558.6 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-accidental-double-sharp\"\n      ]\n    },\n    {\n      \"uid\": \"0acad402811d3f9d41a68de8d8f17549\",\n      \"css\": \"music-accidental-flat\",\n      \"code\": 986987,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 791Q646.5 627 646.5 500 646.5 449.2 619.1 416 585.9 375 521.5 375 480.5 375 437.5 402.3V209H353.5V791ZM437.5 640.6V511.7Q459 488.3 481.4 473.6T521.5 459Q543 459 552.7 465.8T562.5 500Q562.5 515.6 544.9 541 513.7 585.9 437.5 640.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-accidental-flat\"\n      ]\n    },\n    {\n      \"uid\": \"03d251fd7b9133c5001e86926bce1c5a\",\n      \"css\": \"music-accidental-natural\",\n      \"code\": 986988,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 365.2V146.5H334V728.5L584 634.8V853.5H666V271.5ZM584 552.7L416 615.2V447.3L584 384.8V552.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-accidental-natural\"\n      ]\n    },\n    {\n      \"uid\": \"1a0659acafbe6a47cb21e5edf46381ab\",\n      \"css\": \"music-accidental-sharp\",\n      \"code\": 986989,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 396.5V312.5L625 337.9V228.5H541V363.3L459 386.7V271.5H375V412.1L291 437.5V521.5L375 496.1V580.1L291 603.5V687.5L375 662.1V771.5H459V636.7L541 613.3V728.5H625V587.9L709 562.5V478.5L625 503.9V419.9ZM541 529.3L459 554.7V470.7L541 445.3V529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-accidental-sharp\"\n      ]\n    },\n    {\n      \"uid\": \"11cbe9161275f4ea9a24540806f83a3a\",\n      \"css\": \"music-clef-alto\",\n      \"code\": 986990,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166H291V834H209V166ZM644.5 541H617.2L576.2 500 617.2 459H644.5Q687.5 459 724.6 433.6T778.3 368.2 787.1 284.2 748 209 672.9 168.9 587.9 177.7 522.5 231.4 498 312.5H582Q582 287.1 600.6 268.6T644.5 250 688.5 268.6 707 312.5 688.5 356.4 644.5 375H584L500 459H459V166H375V834H459V541H500L584 625H644.5Q669.9 625 688.5 643.6T707 687.5 688.5 731.4 644.5 750 600.6 731.4 582 687.5H498Q498 748 541 791T644.5 834 747.1 791 789.1 687.5 747.1 584 644.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-clef-alto\"\n      ]\n    },\n    {\n      \"uid\": \"9bdfd6692b03b13b3d54643730292e15\",\n      \"css\": \"music-clef-bass\",\n      \"code\": 986991,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 209Q796.9 209 815.4 226.6T834 270.5 815.4 315.4 770.5 334 726.6 315.4 709 270.5 726.6 226.6 771.5 209ZM771.5 459Q796.9 459 815.4 476.6T834 520.5 815.4 565.4 770.5 584 726.6 565.4 709 520.5 726.6 476.6 771.5 459ZM416 166Q359.4 166 311.5 194.3T236.3 270.5 209 375V416Q209 451.2 232.4 474.6T289.1 499 347.7 477.5 375 420.9 354.5 361.3 298.8 334Q312.5 296.9 344.7 273.4T416 250Q486.3 250 535.2 298.8T584 416Q584 529.3 512.7 612.3T291 757.8L324.2 835.9Q496.1 761.7 581.1 658.2T666 416Q666 349.6 632.8 292T542 200.2 416 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-clef-bass\"\n      ]\n    },\n    {\n      \"uid\": \"730623d316fbadb7527293f16d3daea3\",\n      \"css\": \"music-clef-treble\",\n      \"code\": 986992,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459V312.5L632.8 220.7Q658.2 195.3 663.1 160.2T650.4 93.8Q634.8 70.3 611.3 55.7T560.5 41Q544.9 41 533.2 44.9 500 54.7 479.5 83T459 146.5V281.3L328.1 412.1Q275.4 464.8 260.7 538.1T275.4 681.6Q298.8 740.2 347.7 779.3T459 828.1V853.5Q459 863.3 452.1 869.1T437.5 875H375V959H437.5Q480.5 959 510.7 927.7T541 853.5V834Q584 834 624 808.6T689.5 737.3 714.8 634.8Q714.8 564.5 663.1 511.7T541 459ZM541 146.5Q541 130.9 555.7 126T578.1 135.7 574.2 162.1L541 197.3V146.5ZM459 478.5Q429.7 498 407.2 529.3T377 593.8L459 615.2V742.2Q421.9 734.4 393.6 709T351.6 648.4Q332 603.5 341.8 555.7T386.7 472.7L459 396.5V478.5ZM541 750V539.1Q578.1 539.1 605.5 568.4T632.8 634.8Q632.8 685.5 601.6 720.7 574.2 750 541 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-clef-treble\"\n      ]\n    },\n    {\n      \"uid\": \"4a92bb649d25eb5c315f62cfcdf329bd\",\n      \"css\": \"music-note-eighth-dotted\",\n      \"code\": 986993,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125V564.5Q451.2 537.1 394.5 543.9T297.9 590.8 251 687.5 272.5 793 353.5 863.3 460.9 870.1 549.8 810.5 584 709V291H750V125H500ZM687.5 834Q662.1 834 643.6 815.4T625 770.5 643.6 726.6 687.5 709 731.4 726.6 750 770.5 731.4 815.4 687.5 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-eighth-dotted\"\n      ]\n    },\n    {\n      \"uid\": \"20a3e6466c3db1a9768d5f65acc96f4f\",\n      \"css\": \"music-note-half-dotted\",\n      \"code\": 986994,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 125H500V564.5Q460.9 543 416 541 347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 709V125ZM416 791Q382.8 791 358.4 766.6T334 708 358.4 649.4 417 625 475.6 649.4 500 708 475.6 766.6 416 791ZM687.5 834Q662.1 834 643.6 815.4T625 770.5 643.6 726.6 687.5 709 731.4 726.6 750 770.5 731.4 815.4 687.5 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-half-dotted\"\n      ]\n    },\n    {\n      \"uid\": \"eae5641d4109f48eecbdfe5074da04b2\",\n      \"css\": \"music-note-off-outline\",\n      \"code\": 986995,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 291H750V125H500V316.4L584 400.4V291ZM500 435.5L183.6 119.1 125 177.7 500 552.7V564.5Q468.8 546.9 432.6 543T361.3 550.8Q300.8 572.3 269.5 629.9T254.9 750 325.2 847.7 442.4 872.1 544.9 812.5 584 701.2V636.7L822.3 875 880.9 816.4ZM416 791Q382.8 791 358.4 766.6T334 708 358.4 649.4 417 625 475.6 649.4 500 708 475.6 766.6 416 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"173eb33cd0c699918bc9b20386936fae\",\n      \"css\": \"music-note-outline\",\n      \"code\": 986996,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125V564.5Q451.2 537.1 394.5 543.9T297.9 590.8 251 687.5 272.5 793 353.5 863.3 460.9 870.1 549.8 810.5 584 709V291H750V125H500ZM416 791Q382.8 791 358.4 766.6T334 708 358.4 649.4 417 625 475.6 649.4 500 708 475.6 766.6 416 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eb5d66f1b749197d769a6e7fd2edee31\",\n      \"css\": \"music-note-quarter-dotted\",\n      \"code\": 986997,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 541V564.5Q460.9 543 416 541 347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 709V125H500V541ZM687.5 709Q712.9 709 731.4 726.6T750 770.5 731.4 815.4 687.5 834 643.6 815.4 625 770.5 643.6 726.6 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-quarter-dotted\"\n      ]\n    },\n    {\n      \"uid\": \"9af41098044b48a93e460ade85a0d898\",\n      \"css\": \"music-note-sixteenth-dotted\",\n      \"code\": 986998,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 771.5Q750 796.9 731.4 815.4T687.5 834 643.6 815.4 625 770.5 643.6 726.6 687.5 709 731.4 726.6 750 771.5ZM750 291V125H500V564.5Q451.2 537.1 394.5 543.9T297.9 590.8 251 687.5 272.5 793 353.5 863.3 460.9 870.1 549.8 810.5 584 709V459H750V334H584V291H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-sixteenth-dotted\"\n      ]\n    },\n    {\n      \"uid\": \"24fa389e3db8deaba3798fadd5266af3\",\n      \"css\": \"music-note-whole-dotted\",\n      \"code\": 986999,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 625Q441.4 625 462.9 638.7T494.1 675.8 499 724.6 475.6 767.6 432.6 790 384.8 785.2 347.7 754.9 334 709Q334 673.8 358.4 649.4T416 625ZM416 541Q347.7 541 298.8 589.8T250 708 298.8 826.2 417 875 535.2 826.2 584 708 535.2 589.8 416 541ZM687.5 709Q712.9 709 731.4 726.6T750 770.5 731.4 815.4 687.5 834 643.6 815.4 625 770.5 643.6 726.6 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-note-whole-dotted\"\n      ]\n    },\n    {\n      \"uid\": \"db39172cbbba50bf5486e26c433991b5\",\n      \"css\": \"music-rest-eighth\",\n      \"code\": 987000,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 250Q533.2 310.5 457 328.1 460.9 308.6 454.1 290T429.7 260.7 392.6 251 357.4 263.7 335.9 294.9 336.9 333 359.4 363.3 396.5 375H406.3Q486.3 375 552.7 330.1L416 750H500L666 250H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-rest-eighth\"\n      ]\n    },\n    {\n      \"uid\": \"d3dae4b20d6026312a8060afc1c25fad\",\n      \"css\": \"music-rest-half\",\n      \"code\": 987001,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 584H334V416H666V584H750V625H250V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-rest-half\"\n      ]\n    },\n    {\n      \"uid\": \"3838a1cc041865fa63e20355018ecad9\",\n      \"css\": \"music-rest-quarter\",\n      \"code\": 987002,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M488.3 701.2Q462.9 724.6 461.9 758.8T484.4 816.4L423.8 875Q377 828.1 378.9 760.7T429.7 644.5Q460.9 613.3 505.9 601.6L375 472.7 451.2 398.4Q482.4 369.1 483.4 326.2T455.1 253.9L380.9 183.6 443.4 125 615.2 294.9Q638.7 318.4 637.7 351.6T613.3 410.2L521.5 498 666 638.7 650.4 654.3Q634.8 669.9 613.3 676.8T571.3 677.7 527.3 677.7 488.3 701.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-rest-quarter\"\n      ]\n    },\n    {\n      \"uid\": \"e3b215ddb9f1c5a7b44488de81c990f2\",\n      \"css\": \"music-rest-sixteenth\",\n      \"code\": 987003,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125Q574.2 185.5 498 203.1 502 183.6 495.1 165T471.7 135.7 434.6 126 398.4 138.7 377 169.9 377.9 208 401.4 238.3 437.5 250H447.3Q527.3 250 593.8 205.1L537.1 378.9Q488.3 435.5 414.1 453.1 419.9 433.6 412.1 415T387.7 385.7 350.6 376 314.5 388.7 293.9 419.9 294.9 458 317.4 488.3 353.5 500H363.3Q443.4 500 509.8 455.1L375 875H459L709 125H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-rest-sixteenth\"\n      ]\n    },\n    {\n      \"uid\": \"3b4367988b7b5251dd2a36bf8d67378b\",\n      \"css\": \"music-rest-whole\",\n      \"code\": 987004,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416H666V584H334V416H250V375H750V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"music-rest-whole\"\n      ]\n    },\n    {\n      \"uid\": \"4b41fb77b998e6736bc1ad6e5adab36a\",\n      \"css\": \"numeric-10-box\",\n      \"code\": 987005,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 375H666V625H584V375ZM875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM416 291H250V375H334V709H416V291ZM750 375Q750 339.8 725.6 315.4T666 291H584Q548.8 291 524.4 315.4T500 375V625Q500 660.2 524.4 684.6T584 709H666Q701.2 709 725.6 684.6T750 625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10-box\"\n      ]\n    },\n    {\n      \"uid\": \"9d46e40e4d77d8c4ad4622aa296dcd17\",\n      \"css\": \"numeric-10-box-outline\",\n      \"code\": 987006,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM334 709H416V291H250V375H334V709ZM584 291H666Q701.2 291 725.6 315.4T750 375V625Q750 660.2 725.6 684.6T666 709H584Q548.8 709 524.4 684.6T500 625V375Q500 339.8 524.4 315.4T584 291ZM584 375V625H666V375H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3bacd11287c9ed76ab7559d1ed7b6ceb\",\n      \"css\": \"page-layout-header-footer\",\n      \"code\": 987007,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM750 834H250V666H750V834ZM750 334H250V166H750V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"page-layout-header-footer\"\n      ]\n    },\n    {\n      \"uid\": \"4e7fa8339a2d86f7a60216f815eef9b0\",\n      \"css\": \"patio-heater\",\n      \"code\": 987008,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 916H375V875H625V916ZM791 166L625 84H375L209 166H791ZM334 209L349.6 250H650.4L666 209H334ZM416 416H459V625Q439.5 625 427.7 636.7T416 666V834H584V666Q584 648.4 572.3 636.7T541 625V416H584L599.6 375H400.4ZM382.8 334H617.2L632.8 291H367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"patio-heater\"\n      ]\n    },\n    {\n      \"uid\": \"2340c4da8170084086900fd35f13328e\",\n      \"css\": \"warehouse\",\n      \"code\": 987009,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 791H334V875H250V791ZM500 125L84 334V875H166V541H834V875H916V334ZM334 459H166V375H334V459ZM584 459H416V375H584V459ZM834 459H666V375H834V459ZM250 625H334V709H250V625ZM416 625H500V709H416V625ZM416 791H500V875H416V791ZM584 791H666V875H584V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"warehouse\"\n      ]\n    },\n    {\n      \"uid\": \"8f66849447505b091b597f4fd5961295\",\n      \"css\": \"select-group\",\n      \"code\": 987010,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209H209V125ZM291 125V209H375V125H291ZM459 125V209H541V125H459ZM625 125V209H709V125H625ZM791 125V209H875Q875 173.8 850.6 149.4T791 125ZM125 291V375H209V291H125ZM291 291V459H459V291H291ZM541 291V459H709V291H541ZM791 291V375H875V291H791ZM125 459V541H209V459H125ZM791 459V541H875V459H791ZM291 541V709H459V541H291ZM541 541V709H709V541H541ZM125 625V709H209V625H125ZM791 625V709H875V625H791ZM125 791Q125 826.2 149.4 850.6T209 875V791H125ZM291 791V875H375V791H291ZM459 791V875H541V791H459ZM625 791V875H709V791H625ZM791 791V875Q826.2 875 850.6 850.6T875 791H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-group\"\n      ]\n    },\n    {\n      \"uid\": \"95d95a0150a76dafa9cc49aa96a92f49\",\n      \"css\": \"shield-car\",\n      \"code\": 987011,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 312.5L666 459H334L392.6 312.5H601.6ZM375 500Q357.4 500 345.7 512.7T334 542 345.7 571.3 375 584 404.3 571.3 416 542 404.3 512.7 375 500ZM625 500Q607.4 500 595.7 512.7T584 542 595.7 571.3 625 584 654.3 571.3 666 542 654.3 512.7 625 500ZM875 209V459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41ZM750 500L660.2 291Q654.3 273.4 637.7 261.7T601.6 250H392.6Q373 250 356.4 261.7T334 291L250 500V666Q250 683.6 262.7 696.3T291 709H334Q349.6 709 362.3 696.3T375 666V625H625V666Q625 683.6 637.7 696.3T666 709H709Q724.6 709 737.3 696.3T750 666V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-car\"\n      ]\n    },\n    {\n      \"uid\": \"9e8cd0281d99b0315fe883324e498fd1\",\n      \"css\": \"shopping-search\",\n      \"code\": 987012,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250H709Q709 193.4 680.7 145.5T604.5 69.3 500 41 395.5 69.3 319.3 145.5 291 250H209Q173.8 250 149.4 274.4T125 334V834Q125 867.2 149.4 891.6T209 916H502Q443.4 878.9 409.2 818.4T375 687.5Q375 599.6 427.7 529.3 365.2 505.9 328.1 452.1T291 334H375Q375 384.8 411.1 421.9T500 459H502Q541 433.6 585.9 423.8 625 386.7 625 334H709Q709 378.9 689.5 419.9 746.1 429.7 794.9 462.9T875 544.9V334Q875 298.8 850.6 274.4T791 250ZM375 250Q375 197.3 411.1 161.1T500 125 588.9 161.1 625 250H375ZM804.7 787.1Q841.8 726.6 830.1 656.3T762.7 541 635.7 500 513.7 554.7 459 676.8 499 803.7 613.3 872.1 744.1 845.7L875 974.6 933.6 916ZM646.5 791Q603.5 791 572.3 760.7T541 687.5 572.3 614.3 646.5 584 719.7 614.3 750 687.5 719.7 760.7 646.5 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shopping-search\"\n      ]\n    },\n    {\n      \"uid\": \"d30806c7c617e4a01c68e2c5cc1706d7\",\n      \"css\": \"speedometer-medium\",\n      \"code\": 987013,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 56.6L380.9 502Q369.1 535.2 377 569.3T410.2 630.9Q447.3 666 499 666T587.9 630.9Q611.3 605.5 620.1 573.2T621.1 507.8ZM607.4 138.7L634.8 236.3Q722.7 275.4 778.3 358.4T834 541Q834 609.4 807.6 669.9T736.3 777.3V777.3Q722.7 789.1 722.7 806.6T735.4 835.9 765.6 847.7 794.9 835.9Q851.6 779.3 883.8 703.1T916 541Q916 447.3 877 364.3T767.6 222.7 607.4 138.7ZM392.6 140.6Q302.7 164.1 233.4 222.7T124 364.3 84 541Q84 627 116.2 703.1T205.1 835.9Q216.8 847.7 234.4 847.7T263.7 835.9 275.4 806.6 263.7 777.3Q218.8 730.5 192.4 669.9T166 541Q166 437.5 220.7 355.5T367.2 236.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speedometer-medium\"\n      ]\n    },\n    {\n      \"uid\": \"24a876151beed56fcc1072748704f496\",\n      \"css\": \"speedometer-slow\",\n      \"code\": 987014,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 666Q552.7 666 588.9 629.9T625 541Q625 507.8 608.4 478.5T562.5 433.6L158.2 199.2 388.7 597.7Q404.3 628.9 434.6 647.5T500 666ZM500 125Q390.6 125 293 179.7L380.9 230.5Q437.5 209 500 209 589.8 209 667 253.9T789.1 375 834 541Q834 609.4 807.6 669.9T736.3 777.3V777.3Q722.7 789.1 722.7 806.6T735.4 835.9 765.6 847.7 794.9 835.9Q851.6 779.3 883.8 703.1T916 541Q916 429.7 860.4 334T709 181.6 500 125ZM84 541Q84 627 116.2 703.1T205.1 835.9Q216.8 847.7 234.4 847.7T263.7 835.9 275.4 806.6 263.7 777.3Q218.8 730.5 192.4 669.9T166 541Q166 478.5 189.5 419.9L138.7 334Q84 433.6 84 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"speedometer-slow\"\n      ]\n    },\n    {\n      \"uid\": \"52f40c09817615f5e555b14cf2e9b2ab\",\n      \"css\": \"table-large-plus\",\n      \"code\": 987015,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M513.7 834H416V709H503.9Q511.7 664.1 533.2 625H416V500H584V564.5Q619.1 531.3 666 513.7V500H834V513.7Q880.9 531.3 916 564.5V209Q916 173.8 891.6 149.4T834 125H166Q132.8 125 108.4 149.4T84 209V834Q84 867.2 108.4 891.6T166 916H564.5Q531.3 880.9 513.7 834ZM666 291H834V416H666V291ZM416 291H584V416H416V291ZM334 834H166V709H334V834ZM334 625H166V500H334V625ZM334 416H166V291H334V416ZM709 584H791V709H916V791H791V916H709V791H584V709H709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-large-plus\"\n      ]\n    },\n    {\n      \"uid\": \"57a5aa0a7c57d2d3a519ca92b3bdd872\",\n      \"css\": \"table-large-remove\",\n      \"code\": 987016,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M513.7 834H416V709H503.9Q511.7 664.1 533.2 625H416V500H584V564.5Q619.1 531.3 666 513.7V500H834V513.7Q880.9 531.3 916 564.5V209Q916 173.8 891.6 149.4T834 125H166Q132.8 125 108.4 149.4T84 209V834Q84 867.2 108.4 891.6T166 916H564.5Q531.3 880.9 513.7 834ZM666 291H834V416H666V291ZM416 291H584V416H416V291ZM334 834H166V709H334V834ZM334 625H166V500H334V625ZM334 416H166V291H334V416ZM601.6 662.1L662.1 601.6 750 691.4 837.9 601.6 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-large-remove\"\n      ]\n    },\n    {\n      \"uid\": \"ee7995a60d4795e06650327964c36db1\",\n      \"css\": \"television-pause\",\n      \"code\": 987017,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125Q89.8 125 65.4 149.4T41 209V709Q41 742.2 65.4 766.6T125 791H334V875H666V791H875Q910.2 791 934.6 766.6T959 709V209Q959 173.8 934.6 149.4T875 125H125ZM125 209H875V709H125V209ZM375 334V584H459V334H375ZM541 334V584H625V334H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-pause\"\n      ]\n    },\n    {\n      \"uid\": \"f2ac7ab6adf0cd34fec6aaa4c30fc912\",\n      \"css\": \"television-stop\",\n      \"code\": 987018,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875Q910.2 125 934.6 149.4T959 209V709Q959 742.2 934.6 766.6T875 791H666V875H334V791H125Q89.8 791 65.4 766.6T41 709V209Q41 173.8 65.4 149.4T125 125ZM125 209V709H875V209H125ZM375 334H625V584H375V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-stop\"\n      ]\n    },\n    {\n      \"uid\": \"8e7a33364a4205bac73808cbd8306da6\",\n      \"css\": \"transit-detour\",\n      \"code\": 987019,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q761.7 125 735.4 138.7T691.4 175.8Q632.8 164.1 572.3 166L578.1 250Q623 248 666 255.9 668 306.6 706.1 341.8T794.9 375 881.8 335.9 917 248 879.9 161.1 791 125ZM791 291Q773.4 291 761.7 279.3T750 250 761.7 220.7 791 209 821.3 220.7 834 250 821.3 279.3 791 291ZM369.1 328.1L320.3 259.8Q394.5 205.1 482.4 181.6L503.9 263.7Q429.7 281.3 369.1 328.1ZM875 750Q875 791 850.6 824.2T787.1 870.1 709 869.1 646.5 820.3 625 744.1 654.3 671.9Q593.8 613.3 516.6 585T357.4 560.5Q345.7 560.5 330.1 564.5 322.3 611.3 285.2 640.6T201.2 667 120.1 630.9 83 550.8 108.4 465.8 183.6 419.9Q210.9 365.2 252 320.3L312.5 377Q289.1 404.3 271.5 433.6 300.8 451.2 318.4 482.4 324.2 480.5 339.8 478.5L353.5 476.6Q459 472.7 556.6 511.7T726.6 627Q738.3 625 750 625 802.7 625 838.9 661.1T875 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transit-detour\"\n      ]\n    },\n    {\n      \"uid\": \"44656b319675cbb9a6dcff602e905d80\",\n      \"css\": \"video-input-scart\",\n      \"code\": 987020,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M857.4 91.8L720.7 99.6 574.2 183.6 554.7 146.5 84 416V709H125V791Q125 826.2 149.4 850.6T209 875H625Q660.2 875 684.6 850.6T709 791V709H750V416H709L699.2 400.4 845.7 316.4 919.9 199.2ZM625 709V791H209V709H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-input-scart\"\n      ]\n    },\n    {\n      \"uid\": \"1b7e6c1e1f6133ac95cec2bf71155f14\",\n      \"css\": \"view-grid-plus\",\n      \"code\": 987021,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125V459H875V125H541ZM125 875H459V541H125V875ZM125 125V459H459V125H125ZM541 666H666V541H750V666H875V750H750V875H666V750H541V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-grid-plus\"\n      ]\n    },\n    {\n      \"uid\": \"baad92ef686a1b676881b1e5dc0fdf35\",\n      \"css\": \"wallet-plus\",\n      \"code\": 987022,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 0V125H0V209H125V334H209V209H334V125H209V0H125ZM375 125V250H250V375H125V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V750H500Q464.8 750 440.4 725.6T416 666V334Q416 298.8 440.4 274.4T500 250H875V209Q875 173.8 850.6 149.4T791 125H375ZM500 334V666H916V334H500ZM666 437.5Q693.4 437.5 710.9 456.1T728.5 500 710.9 543.9 667 562.5 622.1 543.9 603.5 500 622.1 456.1 666 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet-plus\"\n      ]\n    },\n    {\n      \"uid\": \"f3017be5f72f2505abd89adf114102d6\",\n      \"css\": \"wallet-plus-outline\",\n      \"code\": 987023,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 0V125H0V209H125V334H209V209H334V125H209V0H125ZM416 125V209H791V291H541Q507.8 291 483.4 315.4T459 375V625Q459 660.2 483.4 684.6T541 709H791V791H209V416H125V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V697.3Q894.5 685.5 905.3 667T916 625V375Q916 351.6 905.3 333T875 302.7V209Q875 173.8 850.6 149.4T791 125H416ZM541 375H834V625H541V375ZM666 437.5Q640.6 437.5 622.1 456.1T603.5 500 622.1 543.9 667 562.5 710.9 543.9 728.5 500 710.9 456.1 666 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wallet-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c53ee12332a15b7cd6425647f6b9ca6\",\n      \"css\": \"wardrobe\",\n      \"code\": 987024,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166V791Q166 826.2 190.4 850.6T250 875V916H334V875H478.5V84H250Q214.8 84 190.4 108.4T166 166ZM334 416H416V541H334V416ZM750 84H521.5V875H666V916H750V875Q785.2 875 809.6 850.6T834 791V166Q834 132.8 809.6 108.4T750 84ZM666 541H584V416H666V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wardrobe\"\n      ]\n    },\n    {\n      \"uid\": \"1c86043c365ad351f1df76e473f75e96\",\n      \"css\": \"wardrobe-outline\",\n      \"code\": 987025,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V791Q166 826.2 190.4 850.6T250 875V916H334V875H666V916H750V875Q785.2 875 809.6 850.6T834 791V166Q834 132.8 809.6 108.4T750 84H250ZM250 166H459V791H250V166ZM541 166H750V791H541V166ZM334 416V541H416V416H334ZM584 416V541H666V416H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wardrobe-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f8f58a82987401e987587c29853bea79\",\n      \"css\": \"water-boiler\",\n      \"code\": 987026,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H375V834H250V916H375Q410.2 916 434.6 891.6T459 834V750H541V834Q541 867.2 565.4 891.6T625 916H750V834H625V750H666Q701.2 750 725.6 725.6T750 666V166Q750 132.8 725.6 108.4T666 84H334ZM500 207Q535.2 207 559.6 231.4T584 290 559.6 348.6 500 373 440.4 348.6 416 290 440.4 231.4 500 207ZM416 603.5H584V666H416V603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-boiler\"\n      ]\n    },\n    {\n      \"uid\": \"21d3f494c3d38aac43204d08340da605\",\n      \"css\": \"water-pump-off\",\n      \"code\": 987027,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M238.3 103.5Q259.8 84 291 84H375Q410.2 84 434.6 108.4T459 166V209H791Q826.2 209 850.6 233.4T875 291V459Q892.6 459 904.3 470.7T916 500 904.3 529.3 875 541H709Q691.4 541 678.7 529.3T666 500 678.7 470.7 709 459V375H507.8ZM869.1 947.3L921.9 894.5 99.6 72.3 46.9 125 152.3 230.5Q132.8 248 127.9 273.4T131.8 322.3 162.1 360.4 209 375V750H166Q132.8 750 108.4 774.4T84 834V916H584V834Q584 798.8 559.6 774.4T500 750H459V537.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-pump-off\"\n      ]\n    },\n    {\n      \"uid\": \"3b9f283717c71c48132fe08257de31e6\",\n      \"css\": \"web-box\",\n      \"code\": 987028,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M373 558.6H273.4Q259.8 500 273.4 441.4H373Q369.1 470.7 369.1 500T373 558.6ZM298.8 382.8H382.8Q398.4 330.1 423.8 279.3 341.8 308.6 298.8 382.8ZM701.2 382.8Q658.2 308.6 576.2 279.3 601.6 328.1 615.2 382.8H701.2ZM500 732.4Q537.1 679.7 556.6 617.2H443.4Q462.9 679.7 500 732.4ZM500 267.6Q462.9 320.3 443.4 382.8H556.6Q537.1 320.3 500 267.6ZM298.8 617.2Q341.8 691.4 423.8 720.7 398.4 669.9 382.8 617.2H298.8ZM875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM791 500Q791 412.1 742.2 337.9T611.3 230.5 442.4 213.9 293 293 213.9 442.4 230.5 611.3 337.9 742.2 500 791Q580.1 791 646.5 752T752 646.5 791 500ZM630.9 500Q630.9 529.3 627 558.6H726.6Q740.2 500 726.6 441.4H627Q630.9 470.7 630.9 500ZM576.2 720.7Q658.2 691.4 701.2 617.2H615.2Q601.6 671.9 576.2 720.7ZM431.6 441.4Q421.9 500 431.6 558.6H568.4Q572.3 529.3 572.3 500T568.4 441.4H431.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"web-box\"\n      ]\n    },\n    {\n      \"uid\": \"6bf91a03b08ae9e3ee4884252c175230\",\n      \"css\": \"timeline-alert\",\n      \"code\": 987029,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM625 291V541H709V291H625ZM625 625V709H709V625H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-alert\"\n      ]\n    },\n    {\n      \"uid\": \"547f6c393b8c28b5d728b1527944fff6\",\n      \"css\": \"timeline-plus\",\n      \"code\": 987030,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM834 459H709V334H625V459H500V541H625V666H709V541H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-plus\"\n      ]\n    },\n    {\n      \"uid\": \"c3eb5e5ae7d985e9df81c7db68f96345\",\n      \"css\": \"timeline-plus-outline\",\n      \"code\": 987031,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM834 459V541H709V666H625V541H500V459H625V334H709V459H834ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM416 250V750H916V250H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e7c5626c8705a7295be7141624ea3721\",\n      \"css\": \"timeline-alert-outline\",\n      \"code\": 987032,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM416 250V750H916V250H416ZM625 291H709V541H625V291ZM625 625H709V709H625V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"54d8945fb1ed606fda90a370e4a9434e\",\n      \"css\": \"timeline-help\",\n      \"code\": 987033,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM687.5 646.5H625V709H687.5V646.5ZM603.5 437.5V416Q603.5 390.6 622.1 372.1T667 353.5 710.9 372.1 728.5 416Q728.5 447.3 703.1 464.8L691.4 472.7Q660.2 494.1 642.6 526.4T625 595.7V603.5H687.5V595.7Q687.5 550.8 724.6 525.4L738.3 517.6Q763.7 500 777.3 473.6T791 416Q791 365.2 754.9 328.1T667 291 578.1 328.1 541 416V437.5H603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-help\"\n      ]\n    },\n    {\n      \"uid\": \"8e917a72e93592bedc80913603d2b0e9\",\n      \"css\": \"timeline-help-outline\",\n      \"code\": 987034,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM166 84V334H84V84H166ZM84 916V666H166V916H84ZM1000 250V750Q1000 785.2 975.6 809.6T916 834H416Q382.8 834 358.4 809.6T334 750V584L250 500 334 416V250Q334 214.8 358.4 190.4T416 166H916Q951.2 166 975.6 190.4T1000 250ZM916 250H416V451.2L367.2 500 416 548.8V750H916V250ZM687.5 646.5V709H625V646.5H687.5ZM603.5 437.5H541V416Q541 365.2 578.1 328.1T667 291 754.9 328.1 791 416Q791 447.3 777.3 473.6T738.3 517.6L724.6 525.4Q687.5 550.8 687.5 595.7V603.5H625V595.7Q625 558.6 642.6 526.4T691.4 472.7L703.1 464.8Q728.5 447.3 728.5 416 728.5 390.6 710.9 372.1T667 353.5 622.1 372.1 603.5 416V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-help-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ef2e0e83460ebcda3d24a3b89ca29eab\",\n      \"css\": \"home-export-outline\",\n      \"code\": 987035,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M1000 541L834 375V500H459V584H834V709ZM750 666V875H84V500H0L416 84 750 416H625L416 209 166 459V791H666V666H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-export-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4de8c5c0f9413a00fcac0bc725a56041\",\n      \"css\": \"home-import-outline\",\n      \"code\": 987036,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541L459 375V500H84V584H459V709ZM916 500H834V875H166V666H250V791H750V459L500 209 291 416H166L500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-import-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2c9efe37b3a416c07ac4583d0b55e182\",\n      \"css\": \"adobe-acrobat\",\n      \"code\": 987037,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 603.5Q892.6 580.1 855.5 569.3T753.9 558.6Q695.3 558.6 666 562.5 625 537.1 607.4 525.4 546.9 476.6 500 353.5V351.6Q502 347.7 503.9 345.7 525.4 259.8 527.3 209 531.3 134.8 503.9 103.5 488.3 87.9 462.9 87.9H445.3Q427.7 87.9 413.1 102.5T392.6 136.7Q375 195.3 380.9 248 384.8 279.3 406.3 349.6L408.2 353.5Q377 472.7 334 554.7 320.3 582 293 634.8L271.5 675.8Q238.3 691.4 212.9 709 156.3 744.1 121.1 785.2 91.8 822.3 87.9 849.6 80.1 869.1 87.9 882.8V886.7L121.1 908.2Q136.7 916 150.4 916 191.4 916 240.2 866.2T349.6 709Q351.6 709 356.4 707T363.3 705.1Q474.6 671.9 632.8 654.3 679.7 677.7 740.2 691.4 793 705.1 834 705.1T896.5 683.6Q908.2 669.9 916 636.7 916 613.3 908.2 603.5ZM142.6 871.1Q144.5 849.6 167 818.4T224.6 757.8L236.3 752Q248 742.2 257.8 738.3 185.5 851.6 142.6 871.1ZM449.2 132.8Q451.2 130.9 453.1 127.9T459 125L466.8 128.9Q476.6 140.6 476.6 158.2T470.7 205.1V216.8L466.8 234.4Q462.9 257.8 459 271.5 435.5 185.5 449.2 132.8ZM367.2 658.2L357.4 662.1Q361.3 648.4 380.9 613.3L392.6 591.8Q443.4 488.3 459 429.7 500 519.5 562.5 574.2 580.1 591.8 591.8 595.7 494.1 609.4 367.2 658.2ZM871.1 654.3H853.5Q804.7 654.3 724.6 621.1 728.5 613.3 742.2 613.3 845.7 613.3 871.1 636.7 875 642.6 875 646.5T871.1 654.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"adobe-acrobat\"\n      ]\n    },\n    {\n      \"uid\": \"ac091c2bc0c0a97b6f75a81cc01b5dbc\",\n      \"css\": \"approximately-equal\",\n      \"code\": 987038,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M787.1 382.8Q759.8 414.1 718.8 435.5 671.9 459 625 459 585.9 459 550.8 447.3 531.3 441.4 498 423.8L468.8 412.1Q441.4 400.4 425.8 394.5 398.4 386.7 371.1 386.7 335.9 386.7 300.8 404.3 271.5 419.9 250 441.4L209 378.9Q287.1 300.8 371.1 300.8 402.3 300.8 433.6 308.6 451.2 314.5 480.5 328.1L531.3 349.6Q556.6 361.3 572.3 367.2 597.7 375 625 375 658.2 375 695.3 355.5 722.7 339.8 746.1 316.4ZM791 587.9Q712.9 666 628.9 666 589.8 666 554.7 656.3 535.2 648.4 502 632.8L468.8 617.2Q443.4 605.5 427.7 599.6 402.3 591.8 375 591.8 341.8 591.8 304.7 611.3 277.3 627 253.9 650.4L212.9 584Q291 503.9 375 503.9 414.1 503.9 449.2 515.6 468.8 521.5 502 539.1L531.3 550.8Q558.6 562.5 574.2 566.4 601.6 574.2 628.9 574.2 662.1 574.2 699.2 554.7 726.6 539.1 750 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"approximately-equal\"\n      ]\n    },\n    {\n      \"uid\": \"249f13dbaae8573f5af3d08871b9289e\",\n      \"css\": \"approximately-equal-box\",\n      \"code\": 987039,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM386.7 341.8Q418 341.8 445.3 349.6 460.9 355.5 488.3 367.2L509.8 377Q535.2 390.6 550.8 396.5 576.2 404.3 604.5 404.3T664.1 386.7Q689.5 373 709 353.5L742.2 408.2Q716.8 435.5 681.6 455.1 640.6 474.6 599.6 474.6 568.4 474.6 539.1 464.8 521.5 459 496.1 445.3L488.3 441.4Q460.9 427.7 443.4 421.9 414.1 412.1 384.8 412.1T324.2 429.7Q298.8 443.4 279.3 462.9L250 408.2Q273.4 380.9 308.6 363.3 349.6 341.8 386.7 341.8ZM607.4 658.2Q578.1 658.2 550.8 650.4 535.2 644.5 507.8 632.8L492.2 625Q464.8 611.3 447.3 605.5 418 595.7 388.7 595.7T328.1 613.3Q302.7 627 283.2 646.5L250 587.9Q273.4 560.5 308.6 541 349.6 521.5 386.7 521.5 418 521.5 445.3 529.3 460.9 535.2 488.3 546.9L509.8 556.6Q535.2 570.3 550.8 574.2 578.1 584 607.4 584T668 566.4Q693.4 552.7 712.9 533.2L746.1 587.9Q726.6 617.2 688.5 637.7T607.4 658.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"approximately-equal-box\"\n      ]\n    },\n    {\n      \"uid\": \"f8157712b3576294f2bda2a03e64064c\",\n      \"css\": \"baby-carriage-off\",\n      \"code\": 987040,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 416Q916 326.2 871.1 250T750 128.9 584 84V416H916ZM591.8 459H916Q916 572.3 845.7 662.1 888.7 699.2 896.5 761.7ZM867.2 945.3L919.9 892.6 99.6 70.3 44.9 125 378.9 459H308.6L271.5 375H125V459H216.8L257.8 544.9Q298.8 634.8 304.7 642.6 273.4 658.2 252.9 686.5T228.5 750Q220.7 808.6 257.8 858.4T354.5 917 462.9 888.7 521.5 791H607.4Q617.2 824.2 625 841.8 652.3 894.5 710.9 911.1T820.3 900.4ZM437.5 771.5Q437.5 794.9 418.9 814.5T375 834 331.1 814.5 312.5 770.5 331.1 727.5 375 709 418.9 727.5 437.5 771.5ZM753.9 834Q726.6 834 707 815.4T687.5 771.5V767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-carriage-off\"\n      ]\n    },\n    {\n      \"uid\": \"cbdf72b2beaccbc7b5efe7c17ee1c6b2\",\n      \"css\": \"bee\",\n      \"code\": 987041,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M724.6 375Q701.2 302.7 625 271.5V209H584V267.6H566.4Q500 267.6 449.2 316.4L433.6 334 375 312.5Q349.6 304.7 334 304.7 293 304.7 261.7 330.1 232.4 349.6 216.8 386.7 205.1 429.7 216.8 470.7 236.3 517.6 261.7 533.2 236.3 628.9 304.7 695.3 353.5 746.1 419.9 746.1 455.1 746.1 466.8 742.2 507.8 794.9 566.4 794.9 595.7 794.9 607.4 791 638.7 781.3 665 745.1T691.4 677.7 687.5 632.8L666 566.4 691.4 550.8Q744.1 498 738.3 419.9H791V375H724.6ZM320.3 470.7Q283.2 453.1 295.9 416T345.7 392.6L478.5 441.4Q382.8 490.2 320.3 470.7ZM584 705.1Q546.9 716.8 529.3 679.7 509.8 617.2 558.6 521.5L607.4 650.4Q621.1 691.4 584 705.1ZM632.8 482.4L607.4 416V412.1L595.7 400.4H591.8L525.4 375Q552.7 353.5 580.1 353.5 613.3 353.5 637.7 378.9T662.1 433.6L652.3 451.2Q640.6 472.7 632.8 482.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bee\"\n      ]\n    },\n    {\n      \"uid\": \"4bf7d722905ab3643eef7a84fe737a87\",\n      \"css\": \"bee-flower\",\n      \"code\": 987042,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M482.4 541V537.1L470.7 525.4H466.8L400.4 500Q427.7 478.5 455.1 478.5 488.3 478.5 512.7 503.9T537.1 560.5 517.6 613.3ZM404.3 804.7Q384.8 742.2 433.6 646.5L482.4 775.4Q496.1 810.5 459 829.1T404.3 804.7ZM169.9 544.9Q183.6 507.8 220.7 521.5L353.5 570.3Q257.8 619.1 195.3 599.6 158.2 582 169.9 544.9ZM500 337.9H459V396.5H441.4Q375 396.5 324.2 445.3L308.6 470.7 250 437.5Q238.3 433.6 209 433.6 168 433.6 136.7 459 101.6 486.3 91.8 517.6 80.1 558.6 91.8 599.6 111.3 646.5 136.7 662.1 111.3 757.8 179.7 824.2 228.5 875 294.9 875 330.1 875 341.8 871.1 382.8 925.8 441.4 925.8 470.7 925.8 482.4 919.9 513.7 910.2 540 874T566.4 806.6 562.5 761.7L537.1 705.1 562.5 687.5Q615.2 634.8 607.4 558.6H666V517.6H599.6Q574.2 441.4 500 416V337.9ZM720.7 283.2Q709 271.5 709 254.9T720.7 225.6 750 212.9 779.3 224.6Q791 230.5 791 253.9 791 271.5 779.3 283.2 773.4 289.1 767.6 290T750 291 732.4 290 720.7 283.2ZM863.3 169.9H816.4L804.7 132.8Q793 91.8 750 91.8 701.2 91.8 695.3 132.8L683.6 169.9H636.7Q601.6 169.9 584 209 570.3 246.1 607.4 271.5L646.5 291 628.9 341.8Q619.1 363.3 632.8 392.6 652.3 416 678.7 416T716.8 404.3L750 378.9 783.2 408.2Q800.8 416 820.3 416 847.7 416 867.2 392.6 880.9 363.3 871.1 341.8L853.5 291 886.7 271.5Q925.8 246.1 912.1 209 906.3 187.5 894.5 178.7T863.3 169.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bee-flower\"\n      ]\n    },\n    {\n      \"uid\": \"d0ee43d5386fa7bcffdaa3cb4ae5ddad\",\n      \"css\": \"car-child-seat\",\n      \"code\": 987043,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 187.5Q709 230.5 678.7 260.7T604.5 291 530.3 260.7 500 187.5 530.3 114.3 604.5 84 678.7 114.3 709 187.5ZM625 334H591.8Q525.4 334 467.8 298.8T378.9 205.1Q371.1 195.3 371.1 191.4L294.9 224.6Q312.5 271.5 359.4 318.4 412.1 369.1 478.5 396.5L404.3 603.5 242.2 558.6 125 787.1 209 808.6 283.2 658.2 470.7 709Q502 714.8 530.3 700.2T570.3 658.2L666 392.6Q673.8 369.1 660.2 351.6T625 334ZM787.1 291L646.5 683.6Q627 732.4 585 761.7T492.2 791Q462.9 791 449.2 787.1L330.1 753.9 291 830.1 375 849.6 433.6 867.2Q474.6 875 496.1 875 574.2 875 637.7 831.1T728.5 712.9L875 291H787.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-child-seat\"\n      ]\n    },\n    {\n      \"uid\": \"98315941046e611f2a0f2930dbad8d3e\",\n      \"css\": \"car-seat\",\n      \"code\": 987044,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 750Q275.4 703.1 259.8 658.2 222.7 546.9 199.2 453.1 166 324.2 166 250 166 146.5 209 103.5 228.5 84 250 84H291 302.7Q314.5 87.9 322.3 95.7 334 107.4 334 125T318.4 164.1Q304.7 181.6 300.8 195.3 291 216.8 291 250 291 275.4 308.6 306.6 318.4 326.2 345.7 365.2 378.9 418 392.6 447.3 416 496.1 416 540T396.5 627Q380.9 660.2 353.5 693.4 334 714.8 310.5 734.4ZM500 709Q474.6 709 400.4 759.8 365.2 787.1 334 812.5V812.5Q318.4 822.3 334 845.7L347.7 865.2Q365.2 886.7 388.7 902.3 421.9 919.9 459 919.9H709Q742.2 919.9 766.6 895.5T791 837.9V794.9Q791 761.7 766.6 737.3T709 712.9H500V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-seat\"\n      ]\n    },\n    {\n      \"uid\": \"8d51a38c740566fa286119b733424a1f\",\n      \"css\": \"car-seat-cooler\",\n      \"code\": 987045,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 425.8L808.6 441.4 757.8 412.1V341.8L808.6 312.5 867.2 330.1 878.9 283.2 834 271.5 845.7 224.6 800.8 212.9 783.2 271.5 732.4 300.8 669.9 261.7V209L712.9 166 679.7 132.8 646.5 166 613.3 132.8 580.1 166 621.1 209V261.7L558.6 300.8 507.8 271.5 496.1 212.9 449.2 224.6 462.9 271.5 416 279.3 429.7 324.2 488.3 308.6 537.1 337.9V408.2L488.3 437.5 429.7 419.9 416 474.6 462.9 488.3 449.2 529.3 496.1 541 511.7 482.4 562.5 455.1 625 492.2V544.9L584 587.9 617.2 621.1 650.4 587.9 683.6 621.1 716.8 587.9 675.8 544.9V492.2L738.3 455.1 787.1 482.4 804.7 541 849.6 529.3 834 482.4 878.9 470.7ZM584 341.8L646.5 304.7 709 341.8V412.1L646.5 449.2 584 412.1V341.8ZM209 750Q191.4 703.1 175.8 658.2 138.7 546.9 115.2 453.1 84 324.2 84 250 84 193.4 95.7 154.3 107.4 123 125 103.5 138.7 91.8 154.3 85.9L166 84H209 218.8Q232.4 87.9 238.3 95.7 250 107.4 250 125T234.4 164.1Q222.7 181.6 216.8 195.3 209 216.8 209 250 209 275.4 224.6 306.6 234.4 326.2 261.7 365.2 296.9 418 310.5 447.3 334 496.1 334 540T314.5 627Q298.8 660.2 271.5 693.4 252 714.8 228.5 734.4ZM625 709Q660.2 709 684.6 733.4T709 791V834Q709 867.2 684.6 891.6T625 916H375Q322.3 916 281.3 878.9 259.8 861.3 250 841.8V841.8Q242.2 834 242.2 824.2T250 808.6L283.2 781.3Q324.2 750 355.5 730.5 398.4 705.1 416 705.1H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-seat-cooler\"\n      ]\n    },\n    {\n      \"uid\": \"f036c6225ca6b132c9e2d2be5e890436\",\n      \"css\": \"car-seat-heater\",\n      \"code\": 987046,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 750Q191.4 703.1 175.8 658.2 138.7 546.9 115.2 453.1 84 324.2 84 250 84 193.4 95.7 154.3 107.4 123 125 103.5 138.7 91.8 154.3 85.9L166 84H209 218.8Q232.4 87.9 238.3 95.7 250 107.4 250 125T234.4 164.1Q222.7 181.6 216.8 195.3 209 216.8 209 250 209 275.4 224.6 306.6 234.4 326.2 261.7 365.2 296.9 418 310.5 447.3 334 496.1 334 540T314.5 627Q298.8 660.2 271.5 693.4 252 714.8 228.5 734.4ZM625 709Q660.2 709 684.6 733.4T709 791V834Q709 867.2 684.6 891.6T625 916H375Q322.3 916 281.3 878.9 259.8 861.3 250 841.8V841.8Q242.2 834 242.2 824.2T250 808.6L283.2 781.3Q324.2 750 355.5 730.5 398.4 705.1 416 705.1H625V709ZM570.3 142.6L511.7 283.2 570.3 425.8 488.3 625 416 566.4 474.6 425.8 416 283.2 500 84ZM746.1 142.6L687.5 283.2 746.1 425.8 662.1 625 591.8 566.4 650.4 425.8 591.8 283.2 675.8 84ZM916 142.6L857.4 283.2 916 425.8 834 625 761.7 566.4 820.3 425.8 761.7 283.2 845.7 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-seat-heater\"\n      ]\n    },\n    {\n      \"uid\": \"9a25cc8830657d767c4eb49326ded2ce\",\n      \"css\": \"chart-bell-curve-cumulative\",\n      \"code\": 987047,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 791V834H916V916H84V84H166V709Q261.7 709 350.6 647.5T503.9 474.6Q689.5 166 916 166V250Q738.3 250 580.1 521.5 498 650.4 389.6 720.7T166 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-bell-curve-cumulative\"\n      ]\n    },\n    {\n      \"uid\": \"69b409d616badf091e859031cfd73261\",\n      \"css\": \"clock-check\",\n      \"code\": 987048,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM541 791Q541 701.2 599.6 628.9L459 541V291H521.5V507.8L650.4 587.9Q714.8 541 791 541 849.6 541 908.2 570.3L910.2 560.5Q916 521.5 916 500 916 386.7 860.4 291T709 139.6 500 84 291 139.6 139.6 291 84 500 139.6 709 291 860.4 500 916Q529.3 916 570.3 908.2 541 849.6 541 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-check\"\n      ]\n    },\n    {\n      \"uid\": \"3efd2f904e281a9f8e1536b2a12c1506\",\n      \"css\": \"clock-check-outline\",\n      \"code\": 987049,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM544.9 830.1Q529.3 834 500 834 410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500Q834 529.3 830.1 544.9 869.1 550.8 908.2 570.3L910.2 560.5Q916 521.5 916 500 916 386.7 860.4 291T709 139.6 500 84 291 139.6 139.6 291 84 500 139.6 709 291 860.4 500 916Q529.3 916 570.3 908.2 552.7 878.9 544.9 830.1ZM650.4 587.9L521.5 511.7V291H459V541L603.5 628.9Q617.2 613.3 650.4 587.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"40c5a60a09211ed95b15640a378e77fe\",\n      \"css\": \"coffee-off\",\n      \"code\": 987050,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M136.7 84L916 863.3 863.3 916 822.3 875H84V791H738.3L642.6 695.3Q613.3 709 584 709H334Q263.7 709 214.8 660.2T166 541V218.8L84 136.7ZM916 209V334Q916 367.2 891.6 391.6T834 416H750V541Q750 560.5 744.1 585.9L283.2 125H834Q867.2 125 891.6 149.4T916 209ZM834 209H750V334H834V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee-off\"\n      ]\n    },\n    {\n      \"uid\": \"d8306e0f81fb02f163809351c66bfad9\",\n      \"css\": \"coffee-off-outline\",\n      \"code\": 987051,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 136.7L166 218.8V541Q166 611.3 214.8 660.2T334 709H584Q613.3 709 642.6 695.3L738.3 791H84V875H822.3L863.3 916 916 863.3 136.7 84ZM334 625Q298.8 625 274.4 600.6T250 541V302.7L572.3 625H334ZM834 125H283.2L367.2 209H666V507.8L744.1 585.9Q750 560.5 750 541V416H834Q867.2 416 891.6 391.6T916 334V209Q916 173.8 891.6 149.4T834 125ZM834 334H750V209H834V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3de2d09cc5ea07c69feaaf52e82dc72a\",\n      \"css\": \"credit-card-minus\",\n      \"code\": 987052,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H541V666H916V250Q916 214.8 891.6 190.4T834 166ZM834 459H166V334H834V459ZM959 834H625V750H959V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-minus\"\n      ]\n    },\n    {\n      \"uid\": \"bb31b246b2f560ecce42a50ff6866f5d\",\n      \"css\": \"credit-card-minus-outline\",\n      \"code\": 987053,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M1000 750V834H666V750H1000ZM791 334V250H125V334H791ZM791 500H125V750H584V834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H791Q826.2 166 850.6 190.4T875 250V666H791V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f11c698bcffb4a4cc5a28662a55d9cc\",\n      \"css\": \"credit-card-remove\",\n      \"code\": 987054,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H544.9Q541 812.5 541 791 541 724.6 575.2 667T667 575.2 792 541 916 576.2V250Q916 214.8 891.6 190.4T834 166ZM834 459H166V334H834V459ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-remove\"\n      ]\n    },\n    {\n      \"uid\": \"8780270e4bbdc8ca7fa9212b1859f1b2\",\n      \"css\": \"credit-card-remove-outline\",\n      \"code\": 987055,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 775.4 544.9 750H125V500H791V541Q834 541 875 556.6V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H544.9Q541 808.6 541 791ZM125 250H791V334H125V250ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"09e7cb854830e65bd686a037873ed384\",\n      \"css\": \"devices\",\n      \"code\": 987056,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250H875V166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H291V750H125V250ZM541 500H375V574.2Q334 611.3 334 666T375 759.8V834H541V759.8Q584 720.7 584 666T541 574.2V500ZM459 728.5Q431.6 728.5 414.1 710.9T396.5 667 414.1 622.1 458 603.5 502.9 622.1 521.5 667 502.9 710.9 459 728.5ZM916 334H666Q650.4 334 637.7 346.7T625 375V791Q625 806.6 637.7 820.3T666 834H916Q931.6 834 945.3 820.3T959 791V375Q959 359.4 945.3 346.7T916 334ZM875 750H709V416H875V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"devices\"\n      ]\n    },\n    {\n      \"uid\": \"8b45737146e0846747e0befaa1363ca2\",\n      \"css\": \"email-newsletter\",\n      \"code\": 987057,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 27.3L343.8 125H209V209L123 261.7Q105.5 273.4 94.7 292T84 334V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 310.5 905.3 292T877 261.7L791 209V125H656.3ZM291 209H709V412.1L500 541 291 412.1V209ZM334 250V312.5H666V250H334ZM209 306.6V359.4L166 334ZM791 306.6L834 334 791 359.4V306.6ZM334 353.5V416H666V353.5H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-newsletter\"\n      ]\n    },\n    {\n      \"uid\": \"14f8f2bbf1e307385c8b84a676cab315\",\n      \"css\": \"expansion-card-variant\",\n      \"code\": 987058,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291H187.5V709H125V353.5H84V291ZM916 291V666H584V709H291V666H250V291H916ZM416 375H334V500H416V375ZM541 375H459V500H541V375ZM834 375H625V584H834V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"expansion-card-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6fd5a5a2adc753b4e7b61a67cb25d040\",\n      \"css\": \"file-pdf-box-outline\",\n      \"code\": 987059,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 209V791H209V209H791ZM746.1 562.5Q728.5 533.2 654.3 533.2 621.1 533.2 603.5 537.1 580.1 521.5 570.3 511.7 550.8 496.1 534.2 468.8T507.8 408.2V404.3Q521.5 351.6 521.5 322.3 525.4 277.3 507.8 257.8L500 255.9Q484.4 250 478.5 250H470.7Q459 250 450.2 258.8T437.5 279.3Q427.7 310.5 429.7 339.8 431.6 357.4 441.4 392.6L445.3 412.1Q439.5 443.4 412.1 507.8L404.3 529.3 363.3 603.5 349.6 609.4Q332 619.1 324.2 625 293 646.5 273.4 668.9T250 709V728.5L271.5 742.2Q277.3 748 281.3 749T291 750Q341.8 750 412.1 625H416Q472.7 609.4 580.1 595.7 607.4 609.4 644.5 619.1 675.8 625 700.2 625T737.3 612.3 750 587.9Q750 566.4 746.1 562.5ZM283.2 720.7Q283.2 697.3 334 654.3 337.9 650.4 353.5 642.6V642.6Q308.6 714.8 283.2 720.7ZM470.7 279.3Q470.7 277.3 471.7 276.4T474.6 275.4H478.5Q484.4 281.3 485.4 291T482.4 320.3V330.1Q480.5 334 478.5 345.7L474.6 363.3Q457 306.6 470.7 279.3ZM419.9 595.7H416Q419.9 587.9 429.7 570.3L437.5 554.7Q470.7 488.3 478.5 459 503.9 513.7 541 544.9L558.6 558.6Q494.1 566.4 419.9 595.7ZM720.7 591.8H712.9Q685.5 591.8 636.7 570.3 640.6 568.4 642.6 566.4H646.5Q709 566.4 720.7 580.1L724.6 584V589.8Q724.6 591.8 720.7 591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-pdf-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bb93ab010b71ce4e7279e06b572f0bc4\",\n      \"css\": \"file-swap\",\n      \"code\": 987060,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM584 750V666H416V750L291 625 416 500V584H584V500L709 625ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-swap\"\n      ]\n    },\n    {\n      \"uid\": \"4e6d8226a264de72add5e39fe855bb56\",\n      \"css\": \"file-swap-outline\",\n      \"code\": 987061,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 625L584 500V584H416V500L291 625 416 750V666H584V750ZM584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-swap-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3f15a389c69772020330b0e0bb745a3c\",\n      \"css\": \"folder-swap\",\n      \"code\": 987062,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM625 666V584H375V666L250 541 375 416V500H625V416L750 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-swap\"\n      ]\n    },\n    {\n      \"uid\": \"aec2bcc640280ecf05964ee48ccb7775\",\n      \"css\": \"folder-swap-outline\",\n      \"code\": 987063,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM750 541L625 416V500H375V416L250 541 375 666V584H625V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-swap-outline\"\n      ]\n    },\n    {\n      \"uid\": \"54c038a527f28f168a2481ecdb5b785a\",\n      \"css\": \"format-letter-ends-with\",\n      \"code\": 987064,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M464.8 166L267.6 666H347.7L388.7 560.5H611.3L652.3 666H732.4L535.2 166H464.8ZM500 261.7L584 488.3H414.1ZM834 584V750H84V834H916V584H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-letter-ends-with\"\n      ]\n    },\n    {\n      \"uid\": \"52202cfe98f9689406bcda22b3d6d1c6\",\n      \"css\": \"format-letter-matches\",\n      \"code\": 987065,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M464.8 166L267.6 666H347.7L388.7 560.5H611.3L652.3 666H732.4L535.2 166H464.8ZM500 261.7L584 488.3H414.1ZM834 584V750H166V625H84V834H916V584H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-letter-matches\"\n      ]\n    },\n    {\n      \"uid\": \"529ca84bd0d6acdd7dad545c0bfece97\",\n      \"css\": \"format-letter-starts-with\",\n      \"code\": 987066,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M464.8 166L267.6 666H347.7L388.7 560.5H611.3L652.3 666H732.4L535.2 166H464.8ZM500 261.7L584 488.3H414.1ZM166 750V625H84V834H916V750H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-letter-starts-with\"\n      ]\n    },\n    {\n      \"uid\": \"1eedefb24b434f560d65ad08cb8ea3f4\",\n      \"css\": \"format-text-rotation-angle-down\",\n      \"code\": 987067,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M593.8 875H418L476.6 816.4 107.4 447.3 168 388.7 535.2 757.8 593.8 699.2V875ZM525.4 334L634.8 443.4 726.6 240.2ZM808.6 205.1L623 668 562.5 607.4 599.6 515.6 453.1 367.2 361.3 406.3 300.8 343.8 763.7 160.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-angle-down\"\n      ]\n    },\n    {\n      \"uid\": \"12a1bb5c53b06dece9657cf8fb472bf4\",\n      \"css\": \"format-text-rotation-angle-up\",\n      \"code\": 987068,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M857.4 388.7V564.5L798.8 505.9 429.7 875 371.1 816.4 738.3 447.3 679.7 388.7H857.4ZM316.4 459L425.8 349.6 222.7 255.9ZM187.5 175.8L650.4 359.4 589.8 421.9 498 382.8 349.6 531.3 388.7 621.1 326.2 683.6 142.6 218.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-angle-up\"\n      ]\n    },\n    {\n      \"uid\": \"114f602c640acc7baf0d6e86d282cff8\",\n      \"css\": \"format-text-rotation-down-vertical\",\n      \"code\": 987069,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M634.8 166H572.3L375 625H462.9L500 533.2H709L746.1 625H834ZM525.4 459L603.5 250 681.6 459H525.4ZM209 728.5L334 603.5H250V84H166V603.5H84ZM916 834L791 709V791H271.5V875H791V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-down-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"f95a054ba9695b411a5a3fb55e1df000\",\n      \"css\": \"format-text-rotation-up\",\n      \"code\": 987070,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 500V562.5L584 759.8V673.8L492.2 634.8V427.7L584 388.7V302.7ZM416 609.4L209 531.3 416 453.1V609.4ZM750 177.7L625 302.7H709V822.3H791V302.7H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-up\"\n      ]\n    },\n    {\n      \"uid\": \"4cf60f11f847d6c33be6b206a1a71219\",\n      \"css\": \"format-text-rotation-vertical\",\n      \"code\": 987071,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M656.3 209H593.8L396.5 666H482.4L521.5 574.2H728.5L767.6 666H853.5ZM546.9 500L625 291 703.1 500H546.9ZM250 822.3L375 697.3H291V177.7H209V697.3H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-text-rotation-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"e864fc421af302fcd1261cbfcb0fb0b4\",\n      \"css\": \"id-card\",\n      \"code\": 987072,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166H166ZM166 250H834V416H166V250ZM166 500H334V584H166V500ZM416 500H834V584H416V500ZM166 666H584V750H166V666ZM666 666H834V750H666V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"id-card\"\n      ]\n    },\n    {\n      \"uid\": \"bd869d69eac98f5c9fe732dd31c8d247\",\n      \"css\": \"image-auto-adjust\",\n      \"code\": 987073,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416V791H209V209H584V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V416H791ZM709 416L748 330.1 834 291 748 252 709 166 669.9 252 584 291 669.9 330.1ZM552.7 447.3L500 334 447.3 447.3 334 500 447.3 552.7 500 666 552.7 552.7 666 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-auto-adjust\"\n      ]\n    },\n    {\n      \"uid\": \"f343cbdfdbddbecc9b1f8bf57495bca1\",\n      \"css\": \"key-wireless\",\n      \"code\": 987074,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M205.1 246.1L263.7 304.7Q310.5 257.8 372.1 232.4T500 207 627.9 232.4 736.3 304.7L794.9 246.1Q714.8 166 607.4 138.7T392.6 138.7 205.1 246.1ZM324.2 365.2L382.8 423.8Q431.6 375 500 375T617.2 423.8L675.8 365.2Q628.9 316.4 564.5 299.8T435.5 299.8 324.2 365.2ZM449.2 625Q425.8 560.5 366.2 525.4T239.3 502 127.9 566.4 84 687.5 127.9 808.6 239.3 873 366.2 849.6 449.2 750H625V875H750V750H916V625H449.2ZM271.5 750Q244.1 750 226.6 731.4T209 687.5 226.6 643.6 270.5 625 315.4 643.6 334 687.5 315.4 731.4 271.5 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-wireless\"\n      ]\n    },\n    {\n      \"uid\": \"52d426118a1487bcc91794d87e3658fc\",\n      \"css\": \"license\",\n      \"code\": 987075,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 416Q375 365.2 412.1 329.1T500 293 587.9 329.1 625 417 587.9 504.9 500 541 412.1 504.9 375 416ZM500 791L666 834V705.1Q589.8 752 500 752T334 705.1V834ZM500 166Q451.2 166 404.3 184.6T322.3 238.3 268.6 320.3 250 417 268.6 512.7 322.3 593.8 403.3 648.4 500 668 596.7 648.4 677.7 593.8 731.4 512.7 750 417 731.4 320.3 677.7 238.3 595.7 184.6 500 166ZM834 416Q832 476.6 810.5 533.2T750 636.7V959L500 875 250 959V636.7Q209 591.8 187.5 534.2T166 416Q166 349.6 191.4 289.1T263.7 180.7 372.1 107.4 500 82 627.9 107.4 736.3 180.7 808.6 289.1 834 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"license\"\n      ]\n    },\n    {\n      \"uid\": \"a36c8f805efb0dd1e2e4ef654226b983\",\n      \"css\": \"location-enter\",\n      \"code\": 987076,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500L416 334V459H84V541H416V666ZM916 500Q916 601.6 870.1 690.4T744.1 837.9 563.5 912.1 368.2 895.5 203.1 793 101.6 625H191.4Q236.3 736.3 341.8 793T564.5 827.1 757.8 711.9 834 500 757.8 288.1 564.5 172.9 341.8 207 191.4 375H101.6Q132.8 277.3 203.1 207T368.2 104.5 563.5 87.9 744.1 162.1 870.1 309.6 916 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"location-enter\"\n      ]\n    },\n    {\n      \"uid\": \"5e3b071ee1d8ac3f74f30b58574ee54b\",\n      \"css\": \"location-exit\",\n      \"code\": 987077,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500L750 334V459H416V541H750V666ZM834 750Q752 857.4 624 897.5T368.2 895.5 162.1 744.1 84 500 162.1 255.9 368.2 104.5 624 102.5 834 250H718.8Q654.3 191.4 569.3 173.8T402.3 180.7 258.8 268.6 175.8 416 175.8 584 258.8 731.4 402.3 819.3 569.3 826.2 718.8 750H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"location-exit\"\n      ]\n    },\n    {\n      \"uid\": \"10c3ae26d9bb7e0663d5a7488c4da293\",\n      \"css\": \"lock-open-variant\",\n      \"code\": 987078,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 41Q693.4 41 645.5 69.3T569.3 145.5 541 250V334H166Q132.8 334 108.4 358.4T84 416V834Q84 867.2 108.4 891.6T166 916H666Q701.2 916 725.6 891.6T750 834V416Q750 382.8 725.6 358.4T666 334H625V250Q625 197.3 661.1 161.1T750 125 838.9 161.1 875 250V334H959V250Q959 193.4 930.7 145.5T854.5 69.3 750 41ZM416 541Q451.2 541 475.6 565.4T500 625 475.6 684.6 417 709 358.4 684.6 334 625 358.4 565.4 416 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-open-variant\"\n      ]\n    },\n    {\n      \"uid\": \"fdfdaf987336986b901207c0cd8c5a3b\",\n      \"css\": \"lock-open-variant-outline\",\n      \"code\": 987079,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 541Q451.2 541 475.6 565.4T500 625 475.6 684.6 417 709 358.4 684.6 334 625 358.4 565.4 416 541ZM750 41Q693.4 41 645.5 69.3T569.3 145.5 541 250V334H166Q132.8 334 108.4 358.4T84 416V834Q84 867.2 108.4 891.6T166 916H666Q701.2 916 725.6 891.6T750 834V416Q750 382.8 725.6 358.4T666 334H625V250Q625 197.3 661.1 161.1T750 125 838.9 161.1 875 250V334H959V250Q959 193.4 930.7 145.5T854.5 69.3 750 41ZM666 416V834H166V416H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-open-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"54caa673c83262c4c56430368318d781\",\n      \"css\": \"math-integral\",\n      \"code\": 987080,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 794.9Q466.8 867.2 424.8 896.5T312.5 912.1L294.9 908.2Q259.8 902.3 250 896.5L271.5 834Q308.6 845.7 320.3 845.7 386.7 857.4 400.4 783.2L500 216.8Q511.7 148.4 558.6 107.4 605.5 74.2 675.8 87.9L689.5 89.8Q730.5 99.6 750 107.4L728.5 166Q724.6 164.1 703.1 160.2L679.7 154.3Q638.7 148.4 615.2 167T584 232.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-integral\"\n      ]\n    },\n    {\n      \"uid\": \"ed6375218401b1171800a4b0a1029bde\",\n      \"css\": \"math-integral-box\",\n      \"code\": 987081,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM662.1 287.1Q654.3 285.2 646.5 281.3 628.9 275.4 621.1 275.4 601.6 271.5 588.9 281.3T570.3 320.3L500 699.2Q486.3 752 459 775.4 435.5 791 404.3 791 382.8 791 349.6 781.3L320.3 771.5 341.8 712.9 359.4 718.8Q378.9 724.6 382.8 724.6 396.5 728.5 412.1 720.7 419.9 716.8 429.7 691.4L496.1 308.6Q502 265.6 537.1 228.5 572.3 205.1 625 212.9 642.6 214.8 668 224.6L687.5 232.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-integral-box\"\n      ]\n    },\n    {\n      \"uid\": \"558fa6c0da16c063e3f8ddd78db92d7a\",\n      \"css\": \"math-norm\",\n      \"code\": 987082,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 875V125H666V875H584ZM334 875V125H416V875H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-norm\"\n      ]\n    },\n    {\n      \"uid\": \"994821f6ca673ad95f72293adef1c315\",\n      \"css\": \"math-norm-box\",\n      \"code\": 987083,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM416 750H334V250H416V750ZM666 750H584V250H666V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-norm-box\"\n      ]\n    },\n    {\n      \"uid\": \"1b89276442533d92506be6f48b683817\",\n      \"css\": \"message-lock\",\n      \"code\": 987084,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 0Q810.5 0 780.3 30.3T750 103.5V125Q732.4 125 720.7 136.7T709 166V334Q709 351.6 720.7 363.3T750 375H959Q976.6 375 988.3 363.3T1000 334V166Q1000 148.4 988.3 136.7T959 125V103.5Q959 60.5 927.7 30.3T853.5 0ZM853.5 41Q880.9 41 898.4 59.6T916 103.5V125H791V103.5Q791 78.1 809.6 59.6T853.5 41ZM166 84Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V459H709Q673.8 459 649.4 434.6T625 375V84H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-lock\"\n      ]\n    },\n    {\n      \"uid\": \"692b6817f0eb232b46686d3a08403ae0\",\n      \"css\": \"message-text-lock\",\n      \"code\": 987085,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 0Q810.5 0 780.3 30.3T750 103.5V125Q732.4 125 720.7 136.7T709 166V334Q709 351.6 720.7 363.3T750 375H959Q976.6 375 988.3 363.3T1000 334V166Q1000 148.4 988.3 136.7T959 125V103.5Q959 60.5 927.7 30.3T853.5 0ZM853.5 41Q880.9 41 898.4 59.6T916 103.5V125H791V103.5Q791 78.1 809.6 59.6T853.5 41ZM166 84Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V459H709Q673.8 459 649.4 434.6T625 375V84H166ZM250 250H541V334H250V250ZM250 375H541V459H250V375ZM250 500H584V584H250V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-text-lock\"\n      ]\n    },\n    {\n      \"uid\": \"aad2f9b6515b25afe8ce37bb7ac27cb8\",\n      \"css\": \"movie-open\",\n      \"code\": 987086,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 91.8L705.1 123 818.4 271.5 900.4 253.9ZM582 148.4L500 164.1 615.2 310.5 695.3 294.9ZM377 187.5L294.9 205.1 410.2 351.6 492.2 335.9ZM173.8 228.5L132.8 236.3Q99.6 244.1 80.1 272.5T66.4 335.9L84 416 287.1 377ZM84 416V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V416H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-open\"\n      ]\n    },\n    {\n      \"uid\": \"bac320981616f117855ce78947fe7ece\",\n      \"css\": \"movie-open-outline\",\n      \"code\": 987087,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 91.8L705.1 123 818.4 271.5 900.4 253.9ZM582 148.4L500 164.1 615.2 310.5 695.3 294.9ZM377 187.5L294.9 205.1 410.2 351.6 492.2 335.9ZM173.8 228.5L132.8 236.3Q99.6 244.1 80.1 272.5T66.4 335.9L84 416 287.1 377ZM834 500V834H166V500H834ZM916 416H84V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2f3c1f6d866ca07b53ed60bde0f989dd\",\n      \"css\": \"bed-queen\",\n      \"code\": 987088,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416V291Q791 257.8 766.6 233.4T709 209H291Q257.8 209 233.4 233.4T209 291V416Q173.8 416 149.4 440.4T125 500V709H179.7L209 791H250L277.3 709H722.7L750 791H791L820.3 709H875V500Q875 464.8 850.6 440.4T791 416ZM709 416H291V291H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-queen\"\n      ]\n    },\n    {\n      \"uid\": \"8cf4c207553e65af261563a9ec0fa408\",\n      \"css\": \"bed-king-outline\",\n      \"code\": 987089,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 416V291Q834 257.8 809.6 233.4T750 209H250Q214.8 209 190.4 233.4T166 291V416Q132.8 416 108.4 440.4T84 500V709H138.7L166 791H209L236.3 709H763.7L791 791H834L861.3 709H916V500Q916 464.8 891.6 440.4T834 416ZM541 291H750V416H541V291ZM250 291H459V416H250V291ZM834 625H166V500H834V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-king-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7627aa2055e1bf076a6e985b27a30228\",\n      \"css\": \"bed-king\",\n      \"code\": 987090,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 209Q216.8 209 191.4 232.4T166 291V416Q132.8 416 108.4 441.4T84 500V709H138.7L166 791H209L236.3 709H763.7L791 791H834L861.3 709H916V500Q916 466.8 891.6 441.4T834 416V291Q834 257.8 808.6 233.4T750 209H250ZM250 291H459V416H250V291ZM541 291H750V416H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-king\"\n      ]\n    },\n    {\n      \"uid\": \"194067fb44aa956ed4d79d234f350516\",\n      \"css\": \"bed-double-outline\",\n      \"code\": 987091,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 209Q300.8 209 275.4 233.4T250 291V416Q216.8 416 191.4 440.4T166 500V709H222.7L250 791H291L320.3 709H681.6L709 791H750L777.3 709H834V500Q834 466.8 809.6 441.4T750 416V291Q750 257.8 724.6 233.4T666 209H334ZM334 291H459V416H334V291ZM541 291H666V416H541V291ZM250 500H750V625H250V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-double-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e4a49e9b78176a45a4d5146edd1c66c3\",\n      \"css\": \"bed-double\",\n      \"code\": 987092,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416V291Q750 257.8 725.6 233.4T666 209H334Q298.8 209 274.4 233.4T250 291V416Q214.8 416 190.4 440.4T166 500V709H222.7L250 791H291L320.3 709H679.7L709 791H750L777.3 709H834V500Q834 464.8 809.6 440.4T750 416ZM459 416H334V291H459V416ZM666 416H541V291H666V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-double\"\n      ]\n    },\n    {\n      \"uid\": \"ef9e15525cb73c7be99db41ce3b45d23\",\n      \"css\": \"microsoft-azure-devops\",\n      \"code\": 987093,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 750L709 916 375 791V916L201.2 677.7 738.3 720.7V263.7L916 236.3V750ZM201.2 677.7V373L738.3 263.7 441.4 84V201.2L166 281.3 84 390.6V627Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-azure-devops\"\n      ]\n    },\n    {\n      \"uid\": \"2c3aa899853f4a7b29d132b787c8607a\",\n      \"css\": \"arm-flex-outline\",\n      \"code\": 987094,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 324.2V677.7H460.9L486.3 638.7Q521.5 585.9 580.1 556.6 632.8 531.3 685.5 531.3 718.8 531.3 742.2 541 787.1 562.5 791 613.3 794.9 650.4 777.3 683.6T728.5 738.3 638.7 775.4Q570.3 791 494.1 791 339.8 791 212.9 720.7 242.2 478.5 291 324.2ZM291 125Q248 183.6 212.9 296.9 183.6 386.7 162.1 507.8 144.5 595.7 132.8 687.5L125 763.7Q289.1 875 494.1 875 582 875 662.1 853.5 734.4 835.9 777.3 806.6 837.9 765.6 862.3 696.3T865.2 564.5Q843.8 496.1 777.3 466.8 736.3 447.3 685.5 447.3 611.3 447.3 539.1 484.4 460.9 525.4 416 593.8H375V294.9H459L500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arm-flex-outline\"\n      ]\n    },\n    {\n      \"uid\": \"694a9b89dfe5fbc3c59ed49f2eb6f1c0\",\n      \"css\": \"arm-flex\",\n      \"code\": 987095,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 763.7Q128.9 726.6 132.8 687.5 144.5 595.7 162.1 507.8 183.6 386.7 212.9 296.9 248 183.6 291 125L500 166 459 294.9H375V593.8H416Q457 531.3 523.4 494.1 585.9 457 655.3 450.2T777.3 466.8Q843.8 496.1 865.2 564.5 886.7 627 862.3 696.3T777.3 806.6Q720.7 845.7 619.1 863.3 502 884.8 382.8 865.2 240.2 843.8 125 763.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arm-flex\"\n      ]\n    },\n    {\n      \"uid\": \"14cb21f1903a076393381e5e8251bd1c\",\n      \"css\": \"protocol\",\n      \"code\": 987096,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 834H584L750 166H916ZM666 166H500L334 834H500ZM84 687.5Q84 730.5 114.3 760.7T187.5 791 260.7 760.7 291 687.5 260.7 614.3 187.5 584 114.3 614.3 84 687.5ZM84 396.5Q84 439.5 114.3 469.7T187.5 500 260.7 469.7 291 396.5 260.7 322.3 187.5 291 114.3 322.3 84 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"protocol\"\n      ]\n    },\n    {\n      \"uid\": \"15cbf585a3bda84be3687cc4aeccfd67\",\n      \"css\": \"seal-variant\",\n      \"code\": 987097,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M738.3 255.9Q730.5 236.3 705.1 216.8 691.4 205.1 686.5 198.2T675.8 175.8Q664.1 144.5 646.5 131.8T595.7 117.2Q578.1 117.2 570.3 115.2T546.9 101.6Q521.5 84 500 84T451.2 101.6Q437.5 113.3 428.7 116.2T402.3 119.1Q369.1 119.1 352.5 131.8T324.2 175.8Q318.4 191.4 313.5 198.2T294.9 216.8Q269.5 236.3 262.7 256.8T265.6 306.6Q271.5 324.2 271.5 333T265.6 358.4 259.8 382.8Q257.8 396.5 261.7 410.2 269.5 431.6 294.9 451.2 308.6 460.9 313.5 467.8T324.2 492.2Q335.9 523.4 353.5 536.1T404.3 548.8Q421.9 548.8 429.7 550.8T453.1 564.5Q478.5 584 500 584T548.8 564.5Q562.5 554.7 571.3 551.8T597.7 548.8Q630.9 546.9 647.5 535.2T675.8 492.2Q681.6 474.6 686.5 467.8T705.1 451.2Q730.5 431.6 737.3 411.1T734.4 359.4Q728.5 341.8 728.5 333T734.4 308.6 740.2 283.2Q742.2 269.5 738.3 255.9ZM500 500Q431.6 500 382.8 451.2T334 333 382.8 214.8 500 166 617.2 214.8 666 333 617.2 451.2 500 500ZM584 334Q584 359.4 569.3 379.9T531.3 410.2 483.4 415 441.4 392.6 418.9 349.6 423.8 300.8 454.1 263.7 500 250Q535.2 250 559.6 274.4T584 334ZM570.3 648.4L544.9 798.8 513.7 970.7 406.3 867.2 267.6 927.7 324.2 615.2Q361.3 632.8 402.3 632.8 427.7 652.3 459 660.2 478.5 666 500 666 537.1 666 570.3 648.4ZM746.1 783.2L638.7 744.1 660.2 621.1Q679.7 615.2 695.3 603.5L701.2 599.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seal-variant\"\n      ]\n    },\n    {\n      \"uid\": \"63bfb2e0f985d4c0c42c8cdf7e8ca549\",\n      \"css\": \"select-place\",\n      \"code\": 987098,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H209V209H125V166Q125 150.4 137.7 137.7T166 125ZM834 125Q849.6 125 862.3 137.7T875 166V209H791V125H834ZM625 209V125H709V209H625ZM459 209V125H541V209H459ZM291 209V125H375V209H291ZM875 500Q875 515.6 862.3 528.3T834 541H791V459H875V500ZM625 541V459H709V541H625ZM459 541V459H541V541H459ZM291 541V459H375V541H291ZM166 541Q150.4 541 137.7 528.3T125 500V459H209V541H166ZM125 291H209V375H125V291ZM875 291V375H791V291H875ZM291 666L500 875 709 666H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-place\"\n      ]\n    },\n    {\n      \"uid\": \"8a37c58ee3ed5a1c56e51dab553d6f11\",\n      \"css\": \"bed-queen-outline\",\n      \"code\": 987099,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416V291Q791 257.8 766.6 233.4T709 209H291Q257.8 209 233.4 233.4T209 291V416Q173.8 416 149.4 440.4T125 500V709H179.7L209 791H250L277.3 709H722.7L750 791H791L820.3 709H875V500Q875 464.8 850.6 440.4T791 416ZM291 291H709V416H291V291ZM791 625H209V500H791V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-queen-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5fc46c00fec58cf78f66da9772b35737\",\n      \"css\": \"sign-direction-plus\",\n      \"code\": 987100,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 834H544.9Q552.7 878.9 576.2 916H375Q375 882.8 399.4 858.4T459 834V500H146.5L250 396.5 146.5 291H459V125L500 84 541 125V291H750L853.5 396.5 750 500H541V834ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-direction-plus\"\n      ]\n    },\n    {\n      \"uid\": \"d56538ff05ab0424b77c0b1f76996eca\",\n      \"css\": \"sign-direction-remove\",\n      \"code\": 987101,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 834H544.9Q552.7 878.9 576.2 916H375Q375 882.8 399.4 858.4T459 834V500H146.5L250 396.5 146.5 291H459V125L500 84 541 125V291H750L853.5 396.5 750 500H541V834ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-direction-remove\"\n      ]\n    },\n    {\n      \"uid\": \"767d07c14afc02a4227eb4333ccf0cec\",\n      \"css\": \"silverware-clean\",\n      \"code\": 987102,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 0L599.6 56.6 541 84 599.6 109.4 625 166 650.4 109.4 709 84 650.4 56.6ZM437.5 84L392.6 183.6 291 228.5 392.6 275.4 437.5 375 482.4 275.4 584 228.5 482.4 183.6ZM787.1 214.8Q744.1 210.9 699.2 229.5T619.1 285.2Q568.4 334 553.7 395.5T560.5 503.9L154.3 912.1 212.9 970.7 500 683.6 787.1 970.7 845.7 912.1 558.6 625 619.1 564.5Q668 585.9 729.5 570.3T839.8 505.9Q898.4 447.3 909.2 372.1T873 252Q837.9 216.8 787.1 214.8ZM162.1 228.5Q113.3 277.3 113.3 346.7T162.1 464.8L337.9 638.7 455.1 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"silverware-clean\"\n      ]\n    },\n    {\n      \"uid\": \"52a1d415cd65179820d689c7ab9b2ab0\",\n      \"css\": \"slash-forward\",\n      \"code\": 987103,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875L621.1 125H709L378.9 875H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slash-forward\"\n      ]\n    },\n    {\n      \"uid\": \"d59b2ffd1a5c7e4d166f76fbe9811027\",\n      \"css\": \"slash-forward-box\",\n      \"code\": 987104,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM386.7 791H291L613.3 209H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slash-forward-box\"\n      ]\n    },\n    {\n      \"uid\": \"57351207ede7620d92539bc1f099c2b1\",\n      \"css\": \"swap-horizontal-circle\",\n      \"code\": 987105,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500Q916 386.7 860.4 291T709 139.6 500 84 291 139.6 139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500ZM625 271.5L771.5 416 625 562.5V459H459V375H625V271.5ZM375 728.5L228.5 584 375 437.5V541H541V625H375V728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-horizontal-circle\"\n      ]\n    },\n    {\n      \"uid\": \"5ea99a3308db56fda316fac9040f6b2a\",\n      \"css\": \"swap-horizontal-circle-outline\",\n      \"code\": 987106,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM625 271.5V375H459V459H625V562.5L771.5 416ZM375 437.5L228.5 584 375 728.5V625H541V541H375V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-horizontal-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"15d92e7c05c24b43cbc8f681e4c3bd6c\",\n      \"css\": \"swap-vertical-circle\",\n      \"code\": 987107,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM271.5 375L416 228.5 562.5 375H459V541H375V375H271.5ZM728.5 625L584 771.5 437.5 625H541V459H625V625H728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-vertical-circle\"\n      ]\n    },\n    {\n      \"uid\": \"5b6582fae47be654f1b7b009f311da80\",\n      \"css\": \"swap-vertical-circle-outline\",\n      \"code\": 987108,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM271.5 375L416 228.5 562.5 375H459V541H375V375H271.5ZM728.5 625L584 771.5 437.5 625H541V459H625V625H728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"swap-vertical-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"29341ee6e08bc57f969d0bbe330c8738\",\n      \"css\": \"tanker-truck\",\n      \"code\": 987109,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H625V584H84V709H125Q125 761.7 161.1 797.9T250 834 338.9 797.9 375 709H625Q625 761.7 661.1 797.9T750 834 838.9 797.9 875 709H959V500ZM250 771.5Q224.6 771.5 206.1 752T187.5 708 206.1 665 250 646.5 293.9 665 312.5 708 293.9 752 250 771.5ZM750 771.5Q724.6 771.5 706.1 752T687.5 708 706.1 665 750 646.5 793.9 665 812.5 708 793.9 752 750 771.5ZM709 500V396.5H812.5L896.5 500H709ZM584 396.5Q584 455.1 540 498T437.5 541H187.5Q128.9 541 85 498T41 395.5 85 293 187.5 250H209V209H166V166H334V209H291V250H437.5Q496.1 250 540 293T584 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tanker-truck\"\n      ]\n    },\n    {\n      \"uid\": \"692316b5d25113d3e48c431cef8f57d3\",\n      \"css\": \"texture-box\",\n      \"code\": 987110,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM166 250L250 166H455.1L166 455.1V250ZM166 570.3L570.3 166H775.4L166 775.4V570.3ZM834 750L750 834H544.9L834 544.9V750ZM834 429.7L429.7 834H224.6L834 224.6V429.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"texture-box\"\n      ]\n    },\n    {\n      \"uid\": \"82be6950f303c4e4ef66aac4eaeb596c\",\n      \"css\": \"tram-side\",\n      \"code\": 987111,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 41L209 166 312.5 250H209L189.5 252Q166 255.9 146.5 265.6 119.1 279.3 103.5 302.7 84 332 84 375V791H291L294.9 769.5Q300.8 746.1 316.4 730.5 337.9 709 375 709H916V584H750V334H916V250H437.5L541 166ZM166 334H375V584H166V334ZM459 334H666V584H459V334ZM166 666H209V750H166V666ZM375 791V812.5Q375 855.5 405.3 885.7T478.5 916Q509.8 916 536.1 899.4T574.2 853.5H632.8Q646.5 882.8 671.9 899.4T728.5 916Q771.5 916 802.7 885.7T834 812.5V791H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tram-side\"\n      ]\n    },\n    {\n      \"uid\": \"da7235d9fb889ca84020e783a2b31df9\",\n      \"css\": \"vector-link\",\n      \"code\": 987112,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 41Q89.8 41 65.4 65.4T41 125V584Q41 617.2 65.4 641.6T125 666H584Q617.2 666 641.6 641.6T666 584V459H584V584H125V125H584V209H666V125Q666 89.8 641.6 65.4T584 41H125ZM375 291Q339.8 291 315.4 315.4T291 375V500H375V375H834V834H375V750H291V834Q291 867.2 315.4 891.6T375 916H834Q867.2 916 891.6 891.6T916 834V375Q916 339.8 891.6 315.4T834 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-link\"\n      ]\n    },\n    {\n      \"uid\": \"75e2769801129ae0125e1ab056f2df2a\",\n      \"css\": \"numeric-10\",\n      \"code\": 987113,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291H250V375H334V709H416V291ZM666 291H584Q548.8 291 524.4 315.4T500 375V625Q500 660.2 524.4 684.6T584 709H666Q701.2 709 725.6 684.6T750 625V375Q750 339.8 725.6 315.4T666 291ZM666 625H584V375H666V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10\"\n      ]\n    },\n    {\n      \"uid\": \"ecaad55c708f240739db0f33d3e028e6\",\n      \"css\": \"numeric-10-box-multiple\",\n      \"code\": 987114,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM666 541H750V291H666V541ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM500 625H416V291H334V209H500V625ZM834 541Q834 576.2 809.6 600.6T750 625H666Q632.8 625 608.4 600.6T584 541V291Q584 257.8 608.4 233.4T666 209H750Q785.2 209 809.6 233.4T834 291V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"abd8d57e67a0130e1f51549cf4b64374\",\n      \"css\": \"numeric-10-box-multiple-outline\",\n      \"code\": 987115,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709V125H291V709H875ZM875 41Q910.2 41 934.6 65.4T959 125V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V125Q209 89.8 233.4 65.4T291 41H875ZM125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM500 209H334V291H416V625H500V209ZM750 209H666Q632.8 209 608.4 233.4T584 291V541Q584 576.2 608.4 600.6T666 625H750Q785.2 625 809.6 600.6T834 541V291Q834 257.8 809.6 233.4T750 209ZM750 541H666V291H750V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"51e6aff9bbbfc45f76060edd816a4101\",\n      \"css\": \"numeric-10-circle\",\n      \"code\": 987116,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 375H666V625H584V375ZM916 500Q916 613.3 860.4 709T709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500ZM416 291H250V375H334V709H416V291ZM750 375Q750 339.8 725.6 315.4T666 291H584Q548.8 291 524.4 315.4T500 375V625Q500 660.2 524.4 684.6T584 709H666Q701.2 709 725.6 684.6T750 625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10-circle\"\n      ]\n    },\n    {\n      \"uid\": \"06945930ee1c50c50df95ff174d112a5\",\n      \"css\": \"numeric-10-circle-outline\",\n      \"code\": 987117,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM416 291H250V375H334V709H416V291ZM666 291H584Q548.8 291 524.4 315.4T500 375V625Q500 660.2 524.4 684.6T584 709H666Q701.2 709 725.6 684.6T750 625V375Q750 339.8 725.6 315.4T666 291ZM666 625H584V375H666V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-10-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b81a39daafdc98310be2c6c1b06c08ae\",\n      \"css\": \"numeric-9-plus\",\n      \"code\": 987118,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H709V375H625V459H541V541H625V625H709V541H791V459ZM416 291H334Q298.8 291 274.4 315.4T250 375V459Q250 492.2 274.4 516.6T334 541H416V625H250V709H416Q451.2 709 475.6 684.6T500 625V375Q500 339.8 475.6 315.4T416 291ZM416 459H334V375H416V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-9-plus\"\n      ]\n    },\n    {\n      \"uid\": \"1050e244a13783419c1049e2ee467089\",\n      \"css\": \"credit-card\",\n      \"code\": 987119,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 459H166V334H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card\"\n      ]\n    },\n    {\n      \"uid\": \"e44f86c0e65e0d203077cb7e0d7db660\",\n      \"css\": \"credit-card-multiple\",\n      \"code\": 987120,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 375V250H291V375H875ZM875 125Q910.2 125 934.6 149.4T959 209V625Q959 660.2 934.6 684.6T875 709H291Q257.8 709 233.4 684.6T209 625V209Q209 173.8 233.4 149.4T291 125H875ZM125 791H750V875H125Q89.8 875 65.4 850.6T41 791V334H125V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"d8a07df55341f0c366d2713a0ba508ea\",\n      \"css\": \"credit-card-off\",\n      \"code\": 987121,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M466.8 334L300.8 166H834Q867.2 166 891.6 190.4T916 250V750Q916 763.7 912.1 779.3L591.8 459H834V334H466.8ZM869.1 947.3L753.9 834H166Q132.8 834 108.4 809.6T84 750V250Q84 212.9 111.3 189.5L46.9 125 99.6 72.3 921.9 894.5ZM378.9 459L253.9 334H166V459H378.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-off\"\n      ]\n    },\n    {\n      \"uid\": \"25f969e9db0c84e09a215c3b68b082b6\",\n      \"css\": \"credit-card-plus\",\n      \"code\": 987122,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H544.9Q541 812.5 541 791 541 724.6 575.2 667T667 575.2 792 541 916 576.2V250Q916 214.8 891.6 190.4T834 166ZM834 459H166V334H834V459ZM834 625V750H959V834H834V959H750V834H625V750H750V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-plus\"\n      ]\n    },\n    {\n      \"uid\": \"879a61b6a4eda0934a1e03591b3e8700\",\n      \"css\": \"credit-card-refund\",\n      \"code\": 987123,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H250Q214.8 459 190.4 483.4T166 541V875Q166 910.2 190.4 934.6T250 959H750Q785.2 959 809.6 934.6T834 875V541Q834 507.8 809.6 483.4T750 459ZM750 709H250V584H750V709ZM709 209V416H646.5V271.5H412.1L511.7 373 468.8 416 291 240.2 468.8 62.5 511.7 107.4 412.1 209H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-refund\"\n      ]\n    },\n    {\n      \"uid\": \"081a8235657aa85af9dbfbac0381a8b4\",\n      \"css\": \"credit-card-scan\",\n      \"code\": 987124,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 250H250Q214.8 250 190.4 274.4T166 334V666Q166 701.2 190.4 725.6T250 750H750Q785.2 750 809.6 725.6T834 666V334Q834 298.8 809.6 274.4T750 250ZM750 500H250V375H750V500ZM84 166H250V84H84Q48.8 84 24.4 108.4T0 166V334H84V166ZM916 84H750V166H916V334H1000V166Q1000 132.8 975.6 108.4T916 84ZM84 666H0V834Q0 867.2 24.4 891.6T84 916H250V834H84V666ZM916 834H750V916H916Q951.2 916 975.6 891.6T1000 834V666H916V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-scan\"\n      ]\n    },\n    {\n      \"uid\": \"1936a541ca832c60ae7d2532f97cf513\",\n      \"css\": \"credit-card-settings\",\n      \"code\": 987125,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 459H166V334H834V459ZM291 916H375V1000H291V916ZM459 916H541V1000H459V916ZM625 916H709V1000H625V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-settings\"\n      ]\n    },\n    {\n      \"uid\": \"bbf5c2d39b8ccb5ff645cfbe56850fad\",\n      \"css\": \"hospital\",\n      \"code\": 987126,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H584V750H416V584H250V416H416V250H584V416H750V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hospital\"\n      ]\n    },\n    {\n      \"uid\": \"a1c23b2abca9edc6bc8461196c81e325\",\n      \"css\": \"hospital-box-outline\",\n      \"code\": 987127,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H584V750H416V584H250V416H416V250H584V416H750V584ZM834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM834 834H166V166H834V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hospital-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c49abdc4b59955e2f87c97556314fddd\",\n      \"css\": \"oil-temperature\",\n      \"code\": 987128,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 209H541V125H416V84Q416 64.5 405.3 52.7T375 41 344.7 52.7 334 84V636.7Q314.5 646.5 302.7 666T291 709Q291 742.2 315.4 766.6T375 791 434.6 766.6 459 709Q459 685.5 447.3 666T416 636.7V541H541V459H416V375H541V291H416V209ZM916 728.5Q927.7 742.2 937.5 755.9 962.9 785.2 978.5 812.5 1000 851.6 1000 875 1000 910.2 975.6 934.6T917 959 858.4 934.6 834 875Q834 851.6 855.5 812.5 871.1 785.2 894.5 755.9ZM955.1 646.5Q945.3 660.2 928.7 665T896.5 662.1L808.6 613.3 658.2 875Q648.4 894.5 627.9 905.3T584 916H209Q173.8 916 149.4 891.6T125 834V709Q125 673.8 149.4 649.4T209 625V834H584L669.9 683.6 541 757.8V658.2L800.8 507.8 937.5 587.9Q953.1 595.7 957 612.3T955.1 646.5ZM146.5 580.1L74.2 650.4Q62.5 662.1 45.9 662.1T16.6 649.4 3.9 620.1 17.6 591.8L87.9 521.5Q99.6 507.8 116.2 507.8T145.5 520.5 158.2 549.8 146.5 580.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"oil-temperature\"\n      ]\n    },\n    {\n      \"uid\": \"6804491d61aa65baa81af606b46838b8\",\n      \"css\": \"stadium\",\n      \"code\": 987129,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 562.5V728.5Q916 763.7 860.4 792T709 836.9 500 853.5Q408.2 853.5 334 841.8V728.5L166 687.5V804.7Q84 771.5 84 728.5V478.5Q84 447.3 135.7 421.9T250 396.5Q337.9 396.5 418 435.5 464.8 457 546.9 517.6 621.1 572.3 660.2 591.8 724.6 625 791 625 828.1 625 861.3 609.4 884.8 597.7 902.3 578.1ZM209 334L375 375V250L209 209V334ZM750 271.5L916 312.5V187.5L750 146.5V271.5ZM929.7 449.2Q929.7 408.2 898.4 377 857.4 334 779.3 334 726.6 334 669.9 363.3 627 384.8 587.9 419.9 558.6 445.3 554.7 455.1L582 474.6Q642.6 519.5 675.8 535.2 730.5 562.5 791 562.5 877 562.5 912.1 505.9 929.7 478.5 929.7 449.2V449.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stadium\"\n      ]\n    },\n    {\n      \"uid\": \"7ed209bd7ed82e8b56aaab5cfabdade0\",\n      \"css\": \"zip-box-outline\",\n      \"code\": 987130,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709V625H584V709H500ZM584 541V459H500V541H584ZM584 375V291H500V375H584ZM416 459H500V375H416V459ZM416 625H500V541H416V625ZM875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM791 209H500V291H416V209H209V791H791V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"zip-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9286a472c0033a2f40541de55063168c\",\n      \"css\": \"account-edit-outline\",\n      \"code\": 987131,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 709V834H416V753.9H162.1V709Q162.1 695.3 201.2 673.8T294.9 636.7Q359.4 621.1 418 621.1T535.2 636.7L597.7 574.2Q509.8 543 416 541 355.5 541 281.3 560.5 197.3 582 144.5 615.2 84 656.3 84 709ZM416 166Q347.7 166 298.8 214.8T250 333 298.8 451.2 417 500 535.2 451.2 584 333 535.2 214.8 416 166ZM416 416Q382.8 416 358.4 391.6T334 333 358.4 274.4 417 250 475.6 274.4 500 333 475.6 391.6 416 416ZM904.3 556.6L863.3 597.7 777.3 513.7 818.4 472.7Q826.2 466.8 835 466.8T851.6 472.7L904.3 525.4Q910.2 533.2 910.2 543T904.3 558.6V556.6ZM500 789.1L752 537.1 837.9 619.1 587.9 873H500V789.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"382622f65e76052f4802ff32e1a537d8\",\n      \"css\": \"peanut\",\n      \"code\": 987132,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 531.3Q644.5 509.8 642.6 478.5T660.2 421.9Q695.3 378.9 704.1 326.2T694.3 222.7 635.7 135.7 543 87.9Q521.5 84 500 84 443.4 84 395.5 111.3T319.3 186.5 291 291Q291 365.2 337.9 421.9 357.4 445.3 355.5 476.6T334 529.3Q291 574.2 276.4 634.8T280.3 754.9 344.7 856.4 451.2 912.1Q474.6 916 500 916 568.4 916 625 878.9T709 779.3 724.6 649.4 666 531.3ZM541 209Q558.6 209 571.3 220.7T584 250 571.3 279.3 541 291 511.7 279.3 500 250 511.7 220.7 541 209ZM459 750Q441.4 750 428.7 738.3T416 709 428.7 678.7 459 666 488.3 678.7 500 709 488.3 738.3 459 750ZM500 625Q500 607.4 511.7 595.7T541 584 571.3 595.7 584 625 571.3 654.3 541 666 511.7 654.3 500 625ZM584 791Q566.4 791 553.7 779.3T541 750 553.7 720.7 584 709 613.3 720.7 625 750 613.3 779.3 584 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"peanut\"\n      ]\n    },\n    {\n      \"uid\": \"40e5aeddf030c12e9d4658d218333e5d\",\n      \"css\": \"peanut-off\",\n      \"code\": 987133,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M662.1 421.9Q695.3 378.9 705.1 326.2T696.3 222.7 637.7 135.7 544.9 87.9Q523.4 84 500 84 443.4 84 395.5 111.3T320.3 187.5L681.6 548.8Q675.8 541 668 531.3 646.5 509.8 644.5 478.5T662.1 421.9ZM541 291Q523.4 291 511.7 279.3T500 250 511.7 220.7 541 209 571.3 220.7 584 250 571.3 279.3 541 291ZM291 265.6L99.6 72.3 46.9 125 324.2 404.3 326.2 406.3Q334 418 337.9 421.9 357.4 445.3 355.5 476.6T334 529.3Q291 574.2 276.4 634.8T280.3 754.9 344.7 856.4 451.2 912.1Q474.6 916 500 916 566.4 918 623 881.8T709 785.2L869.1 947.3 921.9 894.5ZM459 750Q441.4 750 428.7 738.3T416 709 428.7 678.7 459 666 488.3 678.7 500 709 488.3 738.3 459 750ZM584 791Q566.4 791 553.7 779.3T541 750 553.7 720.7 584 709 613.3 720.7 625 750 613.3 779.3 584 791ZM541 666Q523.4 666 511.7 654.3T500 624 513.7 593.8L574.2 652.3Q560.5 666 541 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"peanut-off\"\n      ]\n    },\n    {\n      \"uid\": \"faf199cc6835c44c7eac6953b0cb347f\",\n      \"css\": \"peanut-outline\",\n      \"code\": 987134,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 959Q470.7 959 441.4 951.2 371.1 937.5 317.4 888.7T241.2 771.5 234.4 629.9 302.7 500Q314.5 488.3 314.5 472.7T302.7 447.3Q259.8 394.5 250 328.1T263.7 199.2 340.8 94.7 460 43 587.9 56.6 693.4 132.8Q748 201.2 748 289.1T693.4 447.3Q683.6 459 684.6 475.6T697.3 502Q746.1 556.6 762.7 627T758.8 766.6 683.6 884.8Q646.5 919.9 598.6 939.5T500 959ZM500 125Q441.4 125 396.5 162.1 365.2 185.5 349.6 219.7T334 291Q334 349.6 369.1 396.5 400.4 431.6 398.4 478.5T363.3 558.6Q310.5 615.2 313.5 693.4T373 824.2 506.8 874 635.7 816.4 687.5 687.5 636.7 558.6Q603.5 525.4 601.6 477.5T630.9 392.6Q673.8 337.9 666 269.5T603.5 158.2Q572.3 132.8 537.1 125H500ZM500 250Q500 267.6 512.7 279.3T542 291 571.3 279.3 584 250 571.3 220.7 542 209 512.7 220.7 500 250ZM584 791Q599.6 791 612.3 779.3T625 750 612.3 720.7 583 709 553.7 720.7 541 750 553.7 779.3 584 791ZM541 666Q558.6 666 571.3 654.3T584 625 571.3 595.7 542 584 512.7 595.7 500 625 512.7 654.3 541 666ZM459 750Q474.6 750 487.3 737.3T500 708 487.3 678.7 458 666 428.7 678.7 416 708 428.7 737.3 459 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"peanut-outline\"\n      ]\n    },\n    {\n      \"uid\": \"656bcad3da26b3f757bc1464933df069\",\n      \"css\": \"peanut-off-outline\",\n      \"code\": 987135,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L869.1 947.3 736.3 816.4Q716.8 855.5 683.6 884.8 634.8 931.6 571.3 949.2T441.4 951.2Q371.1 937.5 317.4 888.7T241.2 771.5 234.4 629.9 302.7 500Q314.5 488.3 314.5 472.7T302.7 447.3Q261.7 396.5 252 330.1L46.9 125 99.6 72.3ZM636.7 814.5Q662.1 787.1 673.8 753.9L572.3 652.3Q560.5 666 543 666T512.7 654.3 500 624 515.6 593.8L398.4 476.6Q396.5 525.4 363.3 558.6 310.5 615.2 313.5 693.4T373 824.2V824.2Q429.7 877 506.8 874T636.7 814.5ZM584 709Q558.6 709 547.9 729.5T547.9 770.5 584 791 619.1 770.5 619.1 729.5 584 709ZM287.1 154.3L351.6 218.8Q367.2 185.5 396.5 162.1 441.4 125 500 125H537.1Q572.3 132.8 603.5 158.2 658.2 201.2 666 269.5T630.9 392.6Q603.5 425.8 601.6 468.8L763.7 630.9Q748 558.6 697.3 502 685.5 492.2 684.6 475.6T693.4 447.3L707 425.8Q724.6 398.4 734.4 369.1 750 328.1 750 291 750 246.1 722.7 189.5 689.5 127 638.7 87.9 576.2 41 500 41 443.4 41 396.5 58.6 359.4 72.3 332 97.7 310.5 115.2 296.9 136.7ZM500 709Q500 683.6 479.5 672.9T437.5 672.9 416 709 437.5 744.1 479.5 744.1 500 709ZM541 209Q515.6 209 505.9 229.5T505.9 270.5 541 291 577.1 270.5 577.1 229.5 541 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"peanut-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6627262e9d92490672b7e80da8aca4d9\",\n      \"css\": \"sign-direction-minus\",\n      \"code\": 987136,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 396.5L750 500H541V916H375Q375 882.8 399.4 858.4T459 834V500H146.5L250 396.5 146.5 291H459V125L500 84 541 125V291H750ZM959 750H625V834H959V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-direction-minus\"\n      ]\n    },\n    {\n      \"uid\": \"31fa0f2f897d310474c09820757bdf1c\",\n      \"css\": \"newspaper-variant\",\n      \"code\": 987137,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 125H166Q132.8 125 108.4 149.4T84 209V791Q84 826.2 108.4 850.6T166 875H834Q867.2 875 891.6 850.6T916 791V209Q916 173.8 891.6 149.4T834 125ZM209 291H416V541H209V291ZM791 709H209V625H791V709ZM791 541H500V459H791V541ZM791 375H500V291H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper-variant\"\n      ]\n    },\n    {\n      \"uid\": \"06538f3e9d39ad2936475e45e42c8912\",\n      \"css\": \"newspaper-variant-multiple\",\n      \"code\": 987138,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291V791H791V875H166Q115.2 875 93.8 834 84 812.5 84 791V291H166ZM886.7 125H320.3Q291 125 270.5 143.6T250 189.5V644.5Q250 669.9 270.5 689.5T320.3 709H886.7Q916 709 937.5 689.5T959 644.5V189.5Q959 162.1 937.5 143.6T886.7 125ZM334 209H541V459H334V209ZM875 625H334V541H875V625ZM875 459H625V375H875V459ZM875 291H625V209H875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper-variant-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"25cd29922b489b3c0cceaa6eed583f47\",\n      \"css\": \"newspaper-variant-multiple-outline\",\n      \"code\": 987139,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291V791H791V875H166Q115.2 875 93.8 834 84 812.5 84 791V291H166ZM875 209V625H334V209H875ZM886.7 125H320.3Q291 125 270.5 143.6T250 189.5V644.5Q250 669.9 270.5 689.5T320.3 709H886.7Q916 709 937.5 689.5T959 644.5V189.5Q959 162.1 937.5 143.6T886.7 125ZM375 250H500V459H375V250ZM834 584H375V500H834V584ZM834 334H584V250H834V334ZM834 459H584V375H834V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"newspaper-variant-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"23ee6a459e19e500842765fd881100a5\",\n      \"css\": \"overscan\",\n      \"code\": 987141,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 228.5L416 334H584ZM750 416V584L853.5 500ZM250 416L146.5 500 250 584V416ZM584 666H416L500 771.5ZM875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V209H875V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"overscan\"\n      ]\n    },\n    {\n      \"uid\": \"939cc10ede556e7a75393941599e9b16\",\n      \"css\": \"pig-variant\",\n      \"code\": 987142,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q834 431.6 789.1 374T667 283.2 500 250Q449.2 250 398.4 261.7L291 209V304.7Q191.4 365.2 171.9 459H84V625H210.9Q244.1 666 291 695.3V834H375V732.4Q435.5 750 500 750T625 732.4V834H709V695.3Q781.3 652.3 814.5 584H916V500H834ZM291 459Q275.4 459 262.7 446.3T250 417 262.7 387.7 292 375 321.3 387.7 334 417 321.3 446.3 291 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pig-variant\"\n      ]\n    },\n    {\n      \"uid\": \"a8749d75262c46650c345cbe5074c8b7\",\n      \"css\": \"piggy-bank\",\n      \"code\": 987143,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 41Q593.8 41 629.9 78.1T666 167 629.9 254.9 542 291 453.1 254.9 416 167 453.1 78.1 541 41ZM834 584Q834 509.8 782.2 450.2T646.5 359.4Q630.9 384.8 602.5 400.4T541 416Q503.9 416 472.7 395.5T425.8 339.8Q408.2 341.8 398.4 345.7L291 291V388.7Q191.4 447.3 171.9 541H84V709H210.9Q244.1 750 291 779.3V916H375V814.5Q435.5 834 500 834T625 814.5V916H709V779.3Q781.3 734.4 814.5 666H916V584H834ZM291 541Q275.4 541 262.7 529.3T250 500 262.7 470.7 292 459 321.3 470.7 334 500 321.3 529.3 291 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"piggy-bank\"\n      ]\n    },\n    {\n      \"uid\": \"ebdad083ccb81bd9bc8ba901a64b5877\",\n      \"css\": \"post\",\n      \"code\": 987144,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125V875H875V125H125ZM750 750H250V709H750V750ZM750 666H250V625H750V666ZM750 500H250V250H750V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"post\"\n      ]\n    },\n    {\n      \"uid\": \"dbf4644df7e40210c6ebdad4a1df4140\",\n      \"css\": \"post-outline\",\n      \"code\": 987145,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM875 125H125V875H875V125ZM709 709H291V666H709V709ZM709 625H291V584H709V625ZM709 500H291V291H709V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"post-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a0e4469ea4f547d40e27468fc75b7f2e\",\n      \"css\": \"account-box-multiple-outline\",\n      \"code\": 987146,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM771.5 593.8Q771.5 550.8 701.2 523.4 642.6 500 584 500T466.8 523.4Q396.5 550.8 396.5 593.8V625H771.5V593.8ZM584 427.7Q623 427.7 650.4 400.4T677.7 334 650.4 267.6 584 240.2 517.6 267.6 490.2 334 517.6 400.4 584 427.7ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H334V166H834V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ac027cbaee74869d021aa5d5ef0fa308\",\n      \"css\": \"airballoon-outline\",\n      \"code\": 987147,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 959Q423.8 959 399.4 934.6T375 875V791H625V875Q625 910.2 600.6 934.6T541 959H459ZM500 125Q523.4 125 533.2 127 554.7 168 568.4 226.6 584 294.9 584 375 584 429.7 562.5 552.7 552.7 615.2 541 666H459L437.5 552.7Q416 429.7 416 375 416 294.9 431.6 226.6 445.3 168 466.8 127 476.6 125 500 125ZM500 41Q457 41 414.1 52.7 377 101.6 355.5 187.5T334 375Q334 441.4 343.8 515.6 353.5 576.2 375 666 375 701.2 399.4 725.6T459 750H541Q576.2 750 600.6 725.6T625 666Q646.5 576.2 656.3 515.6 666 441.4 666 375 666 273.4 644.5 187.5T585.9 52.7Q543 41 500 41ZM166 334Q166 400.4 190.4 480.5T257.8 623Q302.7 691.4 355.5 716.8 324.2 660.2 306.6 541 281.3 494.1 265.6 438.5T250 334Q250 291 264.6 258.8T310.5 199.2Q328.1 128.9 355.5 74.2 263.7 119.1 218.8 173.8 166 240.2 166 334ZM644.5 74.2Q671.9 128.9 689.5 199.2 720.7 226.6 735.4 258.8T750 334Q750 382.8 734.4 438.5T693.4 541Q675.8 660.2 644.5 716.8 697.3 691.4 742.2 623 785.2 560.5 809.6 480.5T834 334Q834 240.2 781.3 173.8 736.3 119.1 644.5 74.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"airballoon-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b9163ae1a6ac19f68fc7bb060f2fbfee\",\n      \"css\": \"alphabetical-off\",\n      \"code\": 987148,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L666 638.7 584 554.7 568.4 541 99.6 72.3 46.9 125 416 496.1V625Q416 660.2 440.4 684.6T500 709H584Q603.5 709 621.1 699.2L869.1 947.3ZM500 625V578.1L546.9 625H500ZM666 533.2L591.8 459Q621.1 460.9 642.6 482.4T666 533.2ZM841.8 709L750 617.2V541Q750 507.8 774.4 483.4T834 459H916V541H834V625H916V709H841.8ZM250 459H166Q132.8 459 108.4 483.4T84 541V625Q84 660.2 108.4 684.6T166 709H334V541Q334 507.8 309.6 483.4T250 459ZM250 625H166V541H250V625ZM500 367.2L425.8 291H500V367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabetical-off\"\n      ]\n    },\n    {\n      \"uid\": \"ee032c246dfc9b8237ecedc3c4bb774b\",\n      \"css\": \"alphabetical-variant\",\n      \"code\": 987149,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291Q89.8 291 65.4 315.4T41 375V709H125V541H209V709H291V375Q291 339.8 266.6 315.4T209 291H125ZM125 375H209V459H125V375ZM625 437.5V375Q625 339.8 600.6 315.4T541 291H375V709H541Q576.2 709 600.6 684.6T625 625V562.5Q625 537.1 606.4 518.6T562.5 500Q587.9 500 606.4 481.4T625 437.5ZM541 625H459V541H541V625ZM541 459H459V375H541V459ZM791 291Q757.8 291 733.4 315.4T709 375V625Q709 660.2 733.4 684.6T791 709H875Q910.2 709 934.6 684.6T959 625V584H875V625H791V375H875V416H959V375Q959 339.8 934.6 315.4T875 291H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabetical-variant\"\n      ]\n    },\n    {\n      \"uid\": \"1fa570352bbe636c8f7b3682663cde20\",\n      \"css\": \"alphabetical-variant-off\",\n      \"code\": 987150,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M507.8 375L425.8 291H541Q576.2 291 600.6 315.4T625 375V437.5Q625 459 609.4 476.6L541 408.2V375H507.8ZM959 416V375Q959 339.8 934.6 315.4T875 291H791Q757.8 291 733.4 315.4T709 375V574.2L841.8 709H875Q910.2 709 934.6 684.6T959 625V584H875V625H791V375H875V416H959ZM625 597.7L921.9 894.5 869.1 947.3 601.6 681.6Q578.1 709 541 709H375V453.1L291 371.1V709H209V541H125V709H41V375Q41 339.8 65.4 315.4T125 291H212.9L46.9 125 99.6 72.3ZM209 375H125V459H209V375ZM541 621.1L462.9 541H459V625H541V621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabetical-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"0b8fa4e31192d35b4f8b7555b232332b\",\n      \"css\": \"apache-kafka\",\n      \"code\": 987151,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M648.4 541Q605.5 541 574.2 568.4L519.5 537.1Q525.4 519.5 525.4 500T521.5 460.9L572.3 429.7Q603.5 459 648.4 459T726.6 425.8 759.8 346.7 726.6 267.6 647.5 234.4 568.4 267.6 535.2 347.7Q535.2 357.4 537.1 369.1L484.4 400.4Q457 371.1 416 361.3V302.7Q451.2 291 472.7 261.7T494.1 195.3Q494.1 148.4 461.9 116.2T382.8 84 303.7 116.2 271.5 195.3Q271.5 232.4 292 261.7T347.7 302.7V361.3Q300.8 373 270.5 411.1T240.2 499 270.5 586.9 347.7 636.7V697.3Q312.5 709 292 738.3T271.5 804.7Q271.5 851.6 303.7 883.8T382.8 916 461.9 883.8 494.1 804.7Q494.1 767.6 472.7 738.3T416 697.3V636.7Q457 627 484.4 597.7L537.1 628.9Q535.2 640.6 535.2 652.3 535.2 699.2 568.4 732.4T647.5 765.6 726.6 732.4 759.8 652.3 726.6 573.2 648.4 541ZM648.4 291Q669.9 291 686.5 307.6T703.1 346.7 686.5 385.7 647.5 402.3 608.4 385.7 591.8 346.7 608.4 307.6 648.4 291ZM326.2 195.3Q326.2 171.9 342.8 155.3T382.8 138.7 421.9 155.3 437.5 195.3 421.9 235.4 382.8 252 342.8 235.4 326.2 195.3ZM437.5 804.7Q437.5 828.1 421.9 843.8T382.8 859.4 342.8 843.8 326.2 804.7 342.8 764.6 382.8 748 421.9 764.6 437.5 804.7ZM382.8 578.1Q349.6 578.1 326.2 554.7T302.7 498 326.2 441.4 382.8 418 439.5 441.4 462.9 498 439.5 554.7 382.8 578.1ZM648.4 709Q625 709 608.4 692.4T591.8 652.3 608.4 613.3 647.5 597.7 686.5 613.3 703.1 652.3 686.5 692.4 648.4 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"apache-kafka\"\n      ]\n    },\n    {\n      \"uid\": \"33dc95fad7edbeee295a8e9a951474ec\",\n      \"css\": \"billboard\",\n      \"code\": 987152,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 916H750V709H834V916ZM250 916H166V709H250V916ZM959 166V541Q959 576.2 934.6 600.6T875 625H125Q89.8 625 65.4 600.6T41 541V166Q41 132.8 65.4 108.4T125 84H875Q910.2 84 934.6 108.4T959 166ZM875 166H125V541H875V166ZM834 250H625V334H834V250ZM750 375H625V459H750V375ZM584 459H166L281.3 306.6 363.3 419.9 394.5 398.4 341.8 326.2 412.1 230.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"billboard\"\n      ]\n    },\n    {\n      \"uid\": \"dfbbe39d2cec23e72dfe3ca675234bd2\",\n      \"css\": \"blinds-open\",\n      \"code\": 987153,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84H875Q892.6 84 904.3 95.7T916 125V209Q916 224.6 904.3 237.3T875 250H834V291Q834 308.6 821.3 321.3T791 334H541V423.8Q578.1 437.5 601.6 469.7T625 541Q625 593.8 588.9 629.9T500 666 411.1 629.9 375 541Q375 502 398.4 469.7T459 423.8V334H209Q191.4 334 178.7 321.3T166 291V250H125Q107.4 250 95.7 237.3T84 209V125Q84 107.4 95.7 95.7T125 84ZM500 500Q482.4 500 470.7 512.7T459 542 470.7 571.3 500 584 529.3 571.3 541 542 529.3 512.7 500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"blinds-open\"\n      ]\n    },\n    {\n      \"uid\": \"69ff340710d3f02645f28340c52e046f\",\n      \"css\": \"bus-stop\",\n      \"code\": 987154,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 291V666Q916 689.5 905.3 708T875 738.3V802.7Q875 814.5 866.2 824.2T843.8 834H822.3Q810.5 834 800.8 824.2T791 802.7V750H500V802.7Q500 814.5 491.2 824.2T468.8 834H447.3Q435.5 834 425.8 824.2T416 802.7V738.3Q398.4 726.6 386.7 708T375 666V291Q375 232.4 412.1 203.1 445.3 179.7 511.7 171.9 550.8 166 645.5 166T781.3 171.9Q847.7 179.7 878.9 203.1 916 232.4 916 291ZM541 625Q541 607.4 529.3 595.7T500 584 470.7 595.7 459 625 470.7 654.3 500 666 529.3 654.3 541 625ZM834 625Q834 607.4 821.3 595.7T792 584 762.7 595.7 750 625 762.7 654.3 792 666 821.3 654.3 834 625ZM834 291H459V459H834V291ZM291 396.5Q291 351.6 259.8 322.3T185.5 293.9 112.3 326.2 84 400.4Q84 437.5 107.4 464.8T166 500V834H209V500Q244.1 492.2 267.6 462.9T291 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-stop\"\n      ]\n    },\n    {\n      \"uid\": \"44a8716e34b5db5c08517b0e69de3b99\",\n      \"css\": \"bus-stop-covered\",\n      \"code\": 987155,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 125H291V84H250Q230.5 85.9 214.8 96.7T191.4 125H84V209H156.3Q111.3 353.5 91.8 650.4 84 796.9 84 916H291V209H834V125ZM916 353.5Q916 312.5 887.7 283.2T818.4 252 746.1 276.4 709 342.8 727.5 416 791 459V916H834V459Q871.1 451.2 894.5 421.9T916 353.5ZM625 478.5V666H584V916H521.5V709H478.5V916H416V666H375V478.5Q375 453.1 393.6 434.6T437.5 416H562.5Q587.9 416 606.4 434.6T625 478.5ZM500 271.5Q474.6 271.5 456.1 289.1T437.5 333 456.1 377.9 500 396.5 543.9 377.9 562.5 333 543.9 289.1 500 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-stop-covered\"\n      ]\n    },\n    {\n      \"uid\": \"c130e5910a569450a8d580df2287b73a\",\n      \"css\": \"bus-stop-uncovered\",\n      \"code\": 987156,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 916V791H166V916H84V584Q84 566.4 95.7 553.7T125 541 154.3 553.7 166 584V709H291Q308.6 709 321.3 720.7T334 750V916H250ZM834 459V916H791V459Q752 451.2 728.5 418T709 345.7 742.2 279.3 812.5 252 882.8 279.3 916 345.7 896.5 418 834 459ZM625 480.5V666H584V916H521.5V709H478.5V916H416V666H375V478.5Q375 453.1 393.6 434.6T437.5 416H562.5Q587.9 416 606.4 434.6T625 478.5V480.5ZM500 273.4Q480.5 273.4 464.8 284.2T442.4 312.5 439.5 348.6 457 380.9 489.3 397.5 525.4 392.6 552.7 368.2 562.5 334Q562.5 306.6 543.9 289.1T500 271.5V273.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-stop-uncovered\"\n      ]\n    },\n    {\n      \"uid\": \"a7c560bf433ad6566dd063b7c9262226\",\n      \"css\": \"car-2-plus\",\n      \"code\": 987157,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 666Q334 593.8 365.2 527.3 394.5 464.8 445.3 416H125L187.5 228.5H646.5L679.7 334Q718.8 334 750 345.7L705.1 209Q697.3 189.5 680.7 177.7T646.5 166H187.5Q166 166 150.4 177.7T128.9 209L41 459V791Q41 806.6 54.7 820.3T84 834H125Q140.6 834 153.3 820.3T166 791V750H345.7Q334 712.9 334 666ZM187.5 625Q162.1 625 143.6 606.4T125 562.5 143.6 518.6 187.5 500 231.4 518.6 250 562.5 231.4 606.4 187.5 625ZM666 834V750H541V709H584Q617.2 709 641.6 684.6T666 625V584Q666 548.8 641.6 524.4T584 500H459V584H584V625H541Q507.8 625 483.4 649.4T459 709V834H666ZM959 709H875V791H791V709H709V625H791V541H875V625H959V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-2-plus\"\n      ]\n    },\n    {\n      \"uid\": \"23561742dc3dd5a7aff95c83b19fa517\",\n      \"css\": \"car-3-plus\",\n      \"code\": 987158,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M705.1 209Q697.3 189.5 680.7 177.7T646.5 166H187.5Q166 166 150.4 177.7T128.9 209L41 459V791Q41 806.6 54.7 820.3T84 834H125Q140.6 834 153.3 820.3T166 791V750H345.7Q334 712.9 334 666 334 593.8 365.2 527.3 394.5 464.8 445.3 416H125L187.5 228.5H646.5L679.7 334Q718.8 334 750 345.7ZM187.5 500Q212.9 500 231.4 518.6T250 562.5 231.4 606.4 187.5 625 143.6 606.4 125 562.5 143.6 518.6 187.5 500ZM959 709H875V791H791V709H709V625H791V541H875V625H959V709ZM603.5 666Q627 666 646.5 637.7T666 584Q666 548.8 641.6 524.4T584 500H459V584H584V625H500V709H584V750H459V834H584Q617.2 834 641.6 809.6T666 750Q666 722.7 646.5 694.3T603.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-3-plus\"\n      ]\n    },\n    {\n      \"uid\": \"2376d597c3eb44b99405b90edf065464\",\n      \"css\": \"car-brake-retarder\",\n      \"code\": 987159,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 311.5 174.8T174.8 311.5 125 500 174.8 688.5 311.5 825.2 500 875 688.5 825.2 825.2 688.5 875 500 825.2 311.5 688.5 174.8 500 125ZM500 791Q419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791ZM853.5 853.5Q923.8 785.2 961.9 693.4T1000 500 961.9 306.6 853.5 146.5L808.6 191.4Q869.1 252 903.3 332T937.5 500 903.3 668 808.6 808.6ZM191.4 808.6Q130.9 748 96.7 668T62.5 500 96.7 332 191.4 191.4L146.5 146.5Q76.2 214.8 38.1 306.6T0 500 38.1 693.4 146.5 853.5ZM636.7 437.5Q658.2 437.5 672.9 456.1T687.5 500 672.9 543.9 638.7 562.5 603.5 546.9L556.6 500 605.5 453.1Q619.1 437.5 636.7 437.5ZM363.3 437.5Q380.9 437.5 396.5 453.1V455.1L398.4 457 443.4 500 394.5 548.8Q380.9 562.5 361.3 562.5T327.1 543.9 312.5 500 327.1 456.1 363.3 437.5ZM636.7 375Q589.8 375 558.6 410.2L500 468.8 441.4 412.1Q410.2 375 363.3 375T283.2 412.1 250 500 283.2 587.9 362.3 625 441.4 589.8L500 531.3 558.6 587.9Q591.8 625 637.7 625T716.8 587.9 750 499 716.8 411.1 636.7 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-brake-retarder\"\n      ]\n    },\n    {\n      \"uid\": \"08d9f6de41b2876a0f6e7a6844786c7c\",\n      \"css\": \"car-clutch\",\n      \"code\": 987160,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 785.2L584 863.3V959L334 834V584H209V416H334V166L584 41V136.7L416 214.8V785.2ZM791 416H625V224.6L500 283.2V716.8L625 775.4V584H791V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-clutch\"\n      ]\n    },\n    {\n      \"uid\": \"a76ea735765a16ffc6ad4886c30ed681\",\n      \"css\": \"car-coolant-level\",\n      \"code\": 987161,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291V209H875V125H541V209H625V291H41V875H959V291H791ZM875 601.6Q865.2 591.8 856.4 587.9T832 584 807.6 587.9 785.2 605.5L779.3 613.3Q726.6 666 667 666T554.7 613.3L546.9 605.5Q533.2 591.8 525.4 587.9T500 584Q488.3 584 478.5 586.9T449.2 609.4L445.3 613.3Q392.6 666 333 666T220.7 613.3L214.8 605.5Q201.2 591.8 192.4 587.9T168 584 143.6 587.9 125 601.6V375H875V601.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-coolant-level\"\n      ]\n    },\n    {\n      \"uid\": \"6acc50daf254a9c59de5024ae34efc95\",\n      \"css\": \"car-turbocharger\",\n      \"code\": 987162,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V625H763.7Q791 564.5 791 500 791 421.9 752 354.5T645.5 248 500 209H84V125H500Q601.6 125 687.5 175.8T824.2 312.5 875 500Q875 513.7 873 541H916ZM500 791Q421.9 791 354.5 752T248 645.5 209 500Q209 433.6 236.3 375H84V459H127Q125 486.3 125 500 125 601.6 175.8 687.5T312.5 824.2 500 875H916V791H500ZM703.1 507.8Q675.8 529.3 638.7 523.4 613.3 519.5 584 502V500Q656.3 455.1 656.3 388.7 656.3 353.5 640.6 328.1L630.9 312.5Q617.2 294.9 610.4 294.9T609.4 328.1Q617.2 386.7 543 429.7L541 427.7Q541 380.9 521.5 349.6 505.9 324.2 480.5 308.6 462.9 298.8 439.5 293L421.9 291 402.3 293Q380.9 294.9 377 301.8T406.3 320.3Q459 341.8 460.9 427.7H459Q418 406.3 380.9 406.3 351.6 406.3 324.2 421.9 306.6 431.6 291 449.2L281.3 462.9 271.5 482.4Q263.7 500 266.6 506.8T296.9 492.2Q343.8 455.1 416 498V500Q377 523.4 359.4 556.6 343.8 582 343.8 613.3 343.8 632.8 351.6 654.3L359.4 671.9 369.1 689.5Q382.8 705.1 389.6 705.1T392.6 671.9Q382.8 615.2 457 570.3L459 572.3Q460.9 658.2 519.5 691.4 548.8 709 578.1 709L597.7 707Q619.1 705.1 623 698.2T593.8 679.7Q541 658.2 539.1 572.3H541Q582 593.8 619.1 593.8 648.4 593.8 675.8 578.1 693.4 568.4 709 550.8L718.8 537.1 728.5 519.5Q736.3 500 733.4 493.2T703.1 507.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-turbocharger\"\n      ]\n    },\n    {\n      \"uid\": \"a1cd8c55aadadcbdf10a705ec29fcc6d\",\n      \"css\": \"car-windshield\",\n      \"code\": 987163,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M943.4 646.5L841.8 244.1Q837.9 228.5 825.2 219.7T796.9 212.9Q746.1 218.8 662.1 222.7 560.5 228.5 500 228.5T337.9 222.7Q253.9 218.8 203.1 212.9 187.5 210.9 174.8 219.7T158.2 244.1L56.6 646.5Q50.8 671.9 65.4 695.3T105.5 722.7Q302.7 752 500 752T894.5 722.7Q919.9 718.8 934.6 695.3T943.4 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-windshield\"\n      ]\n    },\n    {\n      \"uid\": \"02c26212b97089940ba15af22d9d531b\",\n      \"css\": \"car-windshield-outline\",\n      \"code\": 987164,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M943.4 646.5L841.8 244.1Q837.9 228.5 825.2 219.7T796.9 212.9Q746.1 218.8 662.1 222.7 560.5 228.5 500 228.5T337.9 222.7Q253.9 218.8 203.1 212.9 187.5 210.9 174.8 219.7T158.2 244.1L56.6 646.5Q50.8 671.9 65.4 695.3T105.5 722.7Q302.7 752 500 752T894.5 722.7Q919.9 718.8 934.6 695.3T943.4 646.5ZM500 666Q320.3 668 142.6 646.5L228.5 298.8Q279.3 304.7 359.4 308.6 445.3 312.5 500 312.5T640.6 308.6Q720.7 304.7 771.5 298.8L857.4 646.5Q679.7 668 500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-windshield-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e0a96e073013c43c852b5df60aca994d\",\n      \"css\": \"cards-diamond-outline\",\n      \"code\": 987165,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L209 500 500 916 791 500ZM310.5 500L500 228.5 689.5 500 500 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cards-diamond-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b63ba12226c36c76d1ed0ef945973808\",\n      \"css\": \"cast-audio\",\n      \"code\": 987166,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 459V541Q185.5 541 271.5 591.8T408.2 728.5 459 916H541Q541 791 479.5 686.5T313.5 520.5 84 459ZM834 84H416Q382.8 84 358.4 108.4T334 166V437.5Q384.8 462.9 445.3 517.6 474.6 470.7 522.5 443.4T625 416Q712.9 416 773.4 476.6T834 625 773.4 773.4 625 834H617.2V843.8Q625 890.6 625 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM625 334Q589.8 334 565.4 309.6T541 250 565.4 190.4 625 166 684.6 190.4 709 250 684.6 309.6 625 334ZM625 750Q603.5 750 595.7 746.1 566.4 656.3 507.8 580.1 521.5 543 553.7 519.5T625 496.1Q677.7 496.1 713.9 532.2T750 621.1 713.9 711.9 625 750ZM84 625V709Q169.9 709 230.5 769.5T291 916H375Q375 835.9 335.9 769.5T230.5 664.1 84 625ZM84 791V916H209Q209 863.3 172.9 827.1T84 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cast-audio\"\n      ]\n    },\n    {\n      \"uid\": \"985039678445736da46a51a1c15616bc\",\n      \"css\": \"cellphone-play\",\n      \"code\": 987167,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 791H291V209H709V791ZM709 41H291Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41ZM416 375V625L584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-play\"\n      ]\n    },\n    {\n      \"uid\": \"9f05972840843451d73faf28fb56a87c\",\n      \"css\": \"coach-lamp\",\n      \"code\": 987168,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 209L625 84H541L500 209 250 334H334L357.4 459H166V291H84V709H166V541H375L416 750 500 834 541 916H625L666 834 750 750 834 334H916ZM673.8 709H494.1L416 334H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coach-lamp\"\n      ]\n    },\n    {\n      \"uid\": \"17b1b5c64fea8d957f1607cc49e79072\",\n      \"css\": \"comment-quote\",\n      \"code\": 987169,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 894.5 344.7 905.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM459 541H291V367.2L345.7 250H429.7L371.1 375H459V541ZM709 541H541V367.2L595.7 250H679.7L621.1 375H709V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-quote\"\n      ]\n    },\n    {\n      \"uid\": \"1c8b43db903e70ecbda1185525a9fbe2\",\n      \"css\": \"comment-quote-outline\",\n      \"code\": 987170,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q355.5 916 344.7 905.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM679.7 250L621.1 375H709V541H541V367.2L595.7 250H679.7ZM429.7 250L371.1 375H459V541H291V367.2L345.7 250H429.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-quote-outline\"\n      ]\n    },\n    {\n      \"uid\": \"db9da7ab39916e5c40627e84801f5060\",\n      \"css\": \"domino-mask\",\n      \"code\": 987171,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M660.2 408.2Q623 406.3 595.7 425.8T560.5 478.5Q560.5 490.2 595.7 501T668 511.7Q693.4 511.7 716.8 503.9 738.3 496.1 752.9 485.4T767.6 468.8 754.9 449.2 720.7 423.8Q693.4 410.2 660.2 408.2ZM341.8 408.2Q306.6 410.2 279.3 423.8 257.8 433.6 245.1 447.3T232.4 469.7 265.6 495.1 333 511.7 403.3 501 439.5 478.5Q431.6 445.3 402.3 424.8T341.8 408.2ZM707 666Q679.7 666 650.4 652.3 632.8 642.6 600.6 619.1T552.7 587.9Q525.4 572.3 500 572.3T447.3 587.9Q429.7 595.7 396.5 619.1T347.7 652.3Q318.4 666 293 666 218.8 666 171.9 600.6T125 418Q125 367.2 137.7 340.8T182.6 302.7 279.3 291Q328.1 291 371.1 302.7 394.5 308.6 431.6 324.2 474.6 343.8 500 343.8T570.3 324.2Q607.4 308.6 632.8 302.7 673.8 291 720.7 291 810.5 291 842.8 319.3T875 418Q875 535.2 828.1 600.6T707 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"domino-mask\"\n      ]\n    },\n    {\n      \"uid\": \"cf91278506de86031606fbd2e20805a0\",\n      \"css\": \"electron-framework\",\n      \"code\": 987172,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916Q447.3 916 403.3 872.1T330.1 748Q326.2 740.2 329.1 734.4T338.9 726.6 351.6 727.5 359.4 736.3Q384.8 806.6 421.9 845.7T500 884.8Q560.5 884.8 609.4 804.7 613.3 798.8 619.1 796.9T630.9 798.8 638.7 809.6 636.7 820.3Q609.4 867.2 574.2 891.6T500 916ZM662.1 738.3H658.2Q644.5 732.4 648.4 716.8 675.8 630.9 675.8 521.5 675.8 400.4 640.6 303.7T548.8 171.9Q531.3 199.2 500 199.2 476.6 199.2 459 182.6T441.4 141.6 459 100.6 500 84 541 100.6 558.6 140.6Q625 175.8 667 281.3T709 521.5Q709 632.8 677.7 726.6 675.8 738.3 662.1 738.3ZM500 115.2Q490.2 115.2 482.4 123T474.6 141.6 482.4 159.2 501 166 519.5 159.2 527.3 141.6 519.5 123 500 115.2ZM169.9 773.4Q146.5 773.4 128.9 755.9T111.3 714.8Q111.3 683.6 138.7 666 134.8 589.8 206.1 500T396.5 341.8Q498 285.2 595.7 263.7 601.6 261.7 607.4 265.6T615.2 276.4 613.3 289.1 603.5 294.9Q507.8 316.4 412.1 371.1 304.7 431.6 237.3 511.7T169.9 656.3Q195.3 656.3 211.9 673.8T228.5 714.8 210.9 755.9 169.9 773.4ZM169.9 689.5Q160.2 689.5 152.3 696.3T144.5 713.9 152.3 732.4 170.9 740.2 188.5 732.4 195.3 713.9 188.5 696.3 169.9 689.5ZM771.5 560.5Q765.6 560.5 760.7 556.6T755.9 545.9 759.8 533.2Q808.6 476.6 824.2 425.8T818.4 339.8Q789.1 287.1 693.4 285.2 685.5 285.2 681.6 280.3T677.7 269.5 682.6 258.8 693.4 253.9Q748 253.9 788.1 272.5T845.7 322.3Q873 367.2 856.4 427.7T783.2 554.7Q779.3 560.5 771.5 560.5ZM687.5 787.1Q623 787.1 546.9 764.6T396.5 699.2Q298.8 642.6 228.5 568.4 224.6 562.5 224.6 555.7T229.5 544.9 241.2 541 252 546.9Q318.4 617.2 412.1 669.9 515.6 730.5 617.2 749T777.3 738.3Q771.5 724.6 771.5 714.8 771.5 691.4 789.1 673.8T830.1 656.3 871.1 673.8 888.7 714.8 871.1 755.9 830.1 773.4Q812.5 773.4 798.8 763.7 755.9 787.1 687.5 787.1ZM812.5 734.4Q822.3 740.2 832 740.2T848.6 732.4 855.5 713.9 848.6 696.3 830.1 689.5 811.5 696.3 804.7 712.9 810.5 730.5Q812.5 732.4 812.5 734.4ZM185.5 500Q177.7 500 171.9 492.2 144.5 443.4 139.6 399.4T154.3 322.3Q179.7 277.3 241.2 260.7T388.7 259.8Q394.5 261.7 398.4 267.6T401.4 279.3 394.5 289.1 382.8 291Q308.6 279.3 254.9 291T181.6 337.9Q150.4 392.6 199.2 474.6 203.1 480.5 201.2 487.3T194.3 497.1 185.5 500ZM507.8 558.6Q492.2 560.5 479.5 552.7T462.9 529.3 467.8 500 492.2 483.4 521.5 489.3 538.1 513.7 532.2 542 507.8 558.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"electron-framework\"\n      ]\n    },\n    {\n      \"uid\": \"14638395c30422bffe908060be54d6da\",\n      \"css\": \"excavator\",\n      \"code\": 987173,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 771.5Q787.1 771.5 799.8 783.2T812.5 812.5 799.8 841.8 771.5 853.5H271.5Q253.9 853.5 241.2 841.8T228.5 812.5 241.2 783.2 271.5 771.5H771.5ZM771.5 709H271.5Q228.5 709 197.3 739.3T166 812.5 197.3 885.7 271.5 916H771.5Q814.5 916 844.7 885.7T875 812.5 844.7 739.3 771.5 709ZM875 459H750V291H541L416 459V666H916ZM480.5 459L562.5 353.5H666V459H480.5ZM406.3 142.6L199.2 84 84 492.2Q72.3 533.2 92.8 569.3T154.3 617.2L203.1 630.9 339.8 511.7 177.7 466.8 255.9 185.5 373 218.8Q394.5 230.5 421.9 252 457 279.3 478.5 306.6L521.5 250H539.1Q488.3 185.5 408.2 142.6H406.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"excavator\"\n      ]\n    },\n    {\n      \"uid\": \"7f969d9fe4f6daba096dedfcd5a1f621\",\n      \"css\": \"eye-minus\",\n      \"code\": 987174,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 187.5Q347.7 187.5 222.7 273.4T41 500Q97.7 640.6 222.7 726.6T500 812.5H544.9Q541 791 541 771.5 543 734.4 550.8 699.2L500 709Q437.5 709 384.8 673.8T307.6 580.1 295.9 459 352.5 352.5 459 295.9 580.1 307.6 673.8 384.8 709 500Q709 519.5 705.1 537.1 746.1 519.5 791 521.5 867.2 519.5 929.7 562.5 947.3 533.2 959 500 902.3 359.4 777.3 273.4T500 187.5ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 626 500 589.8 410.2 500 375ZM625 728.5V812.5H959V728.5H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-minus\"\n      ]\n    },\n    {\n      \"uid\": \"f7d0b0f4a6a2da52dd61238966260858\",\n      \"css\": \"eye-minus-outline\",\n      \"code\": 987175,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 187.5Q347.7 187.5 222.7 273.4T41 500Q97.7 640.6 222.7 726.6T500 812.5H544.9Q541 791 541 769.5T544.9 724.6H500Q382.8 726.6 283.2 666T132.8 500Q183.6 394.5 283.2 332T500 269.5 716.8 332 867.2 500L849.6 529.3Q892.6 537.1 929.7 562.5 947.3 533.2 959 500 902.3 359.4 777.3 273.4T500 187.5ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 626 500 589.8 410.2 500 375ZM625 728.5V812.5H959V728.5H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eye-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b4fd47c4eeb49bd637be9d59990b4eeb\",\n      \"css\": \"file-account-outline\",\n      \"code\": 987176,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM541 541Q541 576.2 516.6 600.6T458 625 399.4 600.6 375 542 399.4 483.4 458 459 516.6 483.4 541 541ZM625 750V791H291V750Q291 712.9 353.5 687.5 406.3 666 458 666T562.5 687.5Q625 712.9 625 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fbc1671f2943a16da5c20c737293e3ec\",\n      \"css\": \"file-chart-outline\",\n      \"code\": 987177,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM375 541V791H291V541H375ZM625 625V791H709V625H625ZM459 459V791H541V459H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-chart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"461324ae6b65f707ef6d1396e2288065\",\n      \"css\": \"file-cloud-outline\",\n      \"code\": 987178,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM709 705.1Q709 740.2 683.6 765.6T621.1 791H396.5Q353.5 791 322.3 760.7T291 689.5 318.4 618.2 384.8 584Q400.4 550.8 431.6 532.2T500 513.7Q546.9 513.7 583 543.9T627 617.2Q662.1 621.1 685.5 646.5T709 705.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cloud-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2401fbc16274d23fd87118877214a6ce\",\n      \"css\": \"file-code-outline\",\n      \"code\": 987179,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM398.4 652.3L484.4 738.3 431.6 791 291 652.3 431.6 511.7 484.4 564.5ZM709 652.3L568.4 791 515.6 738.3 603.5 652.3 515.6 564.5 568.4 511.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-code-outline\"\n      ]\n    },\n    {\n      \"uid\": \"750140aaf7705f7187038017a367b819\",\n      \"css\": \"file-excel-box-outline\",\n      \"code\": 987180,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM209 209H791V791H209V209ZM541 500L675.8 709H591.8L500 550.8 408.2 709H324.2L459 500 324.2 291H408.2L500 449.2 591.8 291H675.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-excel-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"80ad9c06d4138d9e59fa4b17a5576d9d\",\n      \"css\": \"file-excel-outline\",\n      \"code\": 987181,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM537.1 603.5L658.2 791H584L500 650.4 416 791H341.8L462.9 603.5 341.8 416H416L500 558.6 584 416H658.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-excel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cc8ecf5d77eb6767d6746eb368aea6b4\",\n      \"css\": \"file-export-outline\",\n      \"code\": 987182,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM666 459V753.9L580.1 666 462.9 783.2 345.7 666 462.9 550.8 371.1 459H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-export-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3d9d70fdf3c01037068700e47e240beb\",\n      \"css\": \"file-import-outline\",\n      \"code\": 987183,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM625 498V791H330.1L418 703.1 300.8 585.9 418 466.8 537.1 585.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-import-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d582b8ee4cf3b802d8d2c99e173ce1eb\",\n      \"css\": \"file-lock-outline\",\n      \"code\": 987184,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM625 625V584Q625 531.3 588.9 495.1T501 459 412.1 495.1 375 584V625H334V791H666V625H625ZM541 625H459V584Q459 566.4 470.7 553.7T500 541 529.3 553.7 541 584V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8d24576f7378fc84f2b2a0d2b91e5c33\",\n      \"css\": \"file-move-outline\",\n      \"code\": 987185,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 859.4 181.6 880.9 185.5 886.7 191.4 892.6 214.8 916 250 916H564.5Q531.3 880.9 513.7 834H250V166H541V375H750V500Q793 500 834 513.7V334ZM750 959L959 771.5 750 584V709H584V834H750V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-move-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b9ebd03b633293595da0a5f658c212d1\",\n      \"css\": \"file-percent-outline\",\n      \"code\": 987187,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM416 478.5Q416 505.9 398.4 523.4T354.5 541 309.6 523.4 291 479.5 309.6 434.6 354.5 416 398.4 434.6 416 478.5ZM666 728.5Q666 755.9 648.4 773.4T604.5 791 559.6 773.4 541 729.5 559.6 684.6 604.5 666 648.4 684.6 666 728.5ZM666 472.7L349.6 791 291 736.3 611.3 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-percent-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c4b42bde261fec6a1b31144181fc8c4a\",\n      \"css\": \"file-powerpoint-box-outline\",\n      \"code\": 987188,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM209 209H791V791H209V209ZM628.9 328.1Q607.4 308.6 583 299.8T511.7 291H334V709H408.2V558.6H511.7Q556.6 558.6 582 550.8T628.9 523.4Q666 492.2 666 427.7T628.9 328.1ZM566.4 478.5Q544.9 500 509.8 500H408.2V349.6H503.9Q543 349.6 565.4 373T587.9 427.7 566.4 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-powerpoint-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b4c2a84ecd67f102bc95f0db12ed8c56\",\n      \"css\": \"file-powerpoint-outline\",\n      \"code\": 987189,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM632.8 449.2Q617.2 433.6 594.7 424.8T533.2 416H375V791H441.4V654.3H533.2Q572.3 654.3 592.8 647.5T632.8 625Q666 597.7 666 537.1 666 507.8 659.2 488.3T632.8 449.2ZM580.1 584Q558.6 603.5 529.3 603.5H441.4V470.7H525.4Q558.6 470.7 580.1 492.2 595.7 507.8 595.7 537.1T580.1 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-powerpoint-outline\"\n      ]\n    },\n    {\n      \"uid\": \"089f65332a5c12bb74fcb2ec8d102913\",\n      \"css\": \"file-question-outline\",\n      \"code\": 987190,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM625 541Q625 568.4 609.4 589.8 599.6 603.5 576.2 624T544.9 656.3Q531.3 675.8 531.3 699.2H468.8Q468.8 660.2 486.3 634.8 498 619.1 523.4 599.6 543 584 550.8 574.2 562.5 560.5 562.5 541 562.5 515.6 543.9 497.1T500 478.5 456.1 497.1 437.5 541H375Q375 490.2 411.1 453.1T500 416 588.9 453.1 625 541ZM531.3 728.5V791H468.8V728.5H531.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-question-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a4f007b62b2bef36fea077a641787847\",\n      \"css\": \"file-remove-outline\",\n      \"code\": 987191,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM498 644.5L585.9 732.4 527.3 791 439.5 703.1 351.6 791 291 732.4 380.9 644.5 291 556.6 351.6 496.1 439.5 585.9 527.3 496.1 585.9 556.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"afe75d471947ff1ea7107e3499e5f0b0\",\n      \"css\": \"file-restore-outline\",\n      \"code\": 987192,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541L750 375V834ZM709 550.8Q709 632.8 650.4 691.4T509.8 750Q449.2 750 400.4 716.8T328.1 630.9H396.5Q416 658.2 445.3 673.8T509.8 689.5Q568.4 689.5 608.4 649.4T648.4 551.8 608.4 453.1 509.8 412.1Q470.7 412.1 438.5 432.6T386.7 488.3L451.2 550.8H291V392.6L343.8 445.3Q371.1 402.3 414.1 377.9T509.8 353.5Q591.8 353.5 650.4 411.1T709 550.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-restore-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f8f91f9c763b77eab61c15a2ed29f5ea\",\n      \"css\": \"file-send-outline\",\n      \"code\": 987193,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM523.4 771.5V687.5H355.5V603.5H523.4V521.5L648.4 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-send-outline\"\n      ]\n    },\n    {\n      \"uid\": \"12e3b1bf0a91e815fa8a918382f84646\",\n      \"css\": \"file-star\",\n      \"code\": 987194,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM603.5 787.1L500 728.5 396.5 791 425.8 675.8 334 595.7 455.1 587.9 500 474.6 544.9 584 666 591.8 574.2 669.9ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-star\"\n      ]\n    },\n    {\n      \"uid\": \"d14cf8a43fb3cde4196394e039ddaac6\",\n      \"css\": \"file-star-outline\",\n      \"code\": 987195,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM396.5 750L425.8 632.8 334 554.7 455.1 544.9 500 433.6 544.9 541 666 550.8 574.2 628.9 603.5 746.1 500 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0f321ea98f4369491b561849efc590e8\",\n      \"css\": \"file-undo-outline\",\n      \"code\": 987196,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM709 734.4L660.2 750Q644.5 701.2 601.6 669.9T505.9 638.7Q447.3 638.7 400.4 675.8L474.6 750H291V566.4L365.2 640.6Q425.8 587.9 505.9 587.9 576.2 587.9 631.8 628.9T709 734.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-undo-outline\"\n      ]\n    },\n    {\n      \"uid\": \"df547ba33511d69dbe100e1afe6ed0d4\",\n      \"css\": \"file-word-box-outline\",\n      \"code\": 987197,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM209 209H791V791H209V209ZM746.1 291L646.5 709H584L500 396.5 416 709H353.5L253.9 291H324.2L388.7 603.5 470.7 291H529.3L611.3 603.5 675.8 291H746.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-word-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0f657dc0aee535b5c3292c6f6b985600\",\n      \"css\": \"file-word-outline\",\n      \"code\": 987198,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM722.7 416L634.8 791H576.2L502 507.8 427.7 791H369.1L277.3 416H339.8L398.4 701.2 472.7 416H527.3L601.6 701.2 660.2 416H722.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-word-outline\"\n      ]\n    },\n    {\n      \"uid\": \"63c0ebd5b22c01e7fafb4ce3abc76a85\",\n      \"css\": \"filter-variant-remove\",\n      \"code\": 987199,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 334H125V250H875V334ZM576.2 666H416V750H544.9Q552.7 707 576.2 666ZM750 459H250V541H750V459ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-variant-remove\"\n      ]\n    },\n    {\n      \"uid\": \"110b375c208d987eca34a8ce1655d526\",\n      \"css\": \"floor-lamp-dual\",\n      \"code\": 987200,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M488.3 419.9L423.8 468.8 459 507.8V834H334V916H666V834H541V511.7L576.2 468.8 511.7 419.9H488.3ZM378.9 451.2L125 283.2 390.6 84 480.5 373ZM609.4 84L875 283.2 621.1 451.2 517.6 373Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"floor-lamp-dual\"\n      ]\n    },\n    {\n      \"uid\": \"27d119c2b990da52bf3293cb6ef6ab41\",\n      \"css\": \"floor-lamp-variant\",\n      \"code\": 987201,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84L416 375H584L709 84H291ZM664.1 916L541 625V916H459V625L335.9 916H246.1L455.1 416H544.9L753.9 916H664.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"floor-lamp-variant\"\n      ]\n    },\n    {\n      \"uid\": \"cac48b9740d679201ae3961b1c31f3b3\",\n      \"css\": \"fruit-cherries\",\n      \"code\": 987202,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 541H646.5Q627 505.9 607.4 449.2 595.7 416 574.2 345.7L613.3 382.8Q683.6 437.5 761.7 451.2 800.8 459 824.2 455.1L828.1 427.7Q830.1 396.5 826.2 365.2 820.3 320.3 802.7 285.2 781.3 240.2 742.2 212.9 679.7 164.1 611.3 146.5 564.5 136.7 533.2 142.6L529.3 111.3Q527.3 87.9 525.4 80.1L466.8 84Q466.8 169.9 406.3 332 369.1 429.7 316.4 541 253.9 548.8 210 595.7T166 710 214.8 826.2 332 875 445.3 830.1Q416 763.7 416 708T445.3 587.9Q425.8 566.4 382.8 550.8 457 390.6 496.1 267.6 507.8 339.8 532.2 418.9T587.9 562.5Q548.8 585.9 524.4 624T500 709Q500 777.3 548.8 826.2T667 875 785.2 826.2 834 708 785.2 589.8 666 541ZM334 646.5Q308.6 646.5 290 665T271.5 709H228.5Q228.5 664.1 258.8 633.8T334 603.5V646.5ZM666 646.5Q642.6 646.5 623 665T603.5 709H562.5Q562.5 664.1 592.8 633.8T666 603.5V646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-cherries\"\n      ]\n    },\n    {\n      \"uid\": \"7892d5a51da6e6ea33f8edcf7e237931\",\n      \"css\": \"fruit-citrus\",\n      \"code\": 987203,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 662.1Q308.6 656.3 254.9 631.8T166 566.4Q140.6 566.4 119.1 551.8T87.9 512.7 85.9 464.8 117.2 425.8Q119.1 330.1 198.2 243.2T404.3 112.3 650.4 89.8 834 183.6Q859.4 183.6 880.9 198.2T912.1 237.3 914.1 285.2 882.8 324.2Q882.8 375 857.4 425.8 773.4 375 687.5 375 607.4 375 538.1 413.1T424.8 516.6 375 662.1ZM916 687.5Q916 748 884.8 800.8T800.8 884.8 687.5 916 574.2 884.8 490.2 800.8 459 687.5 490.2 574.2 574.2 490.2 687.5 459 800.8 490.2 884.8 574.2 916 687.5ZM554.7 750L650.4 687.5 554.7 625Q541 656.3 541 687.5T554.7 750ZM666 724.6L580.1 783.2Q609.4 818.4 666 834V724.6ZM666 544.9Q609.4 552.7 580.1 595.7L666 654.3V544.9ZM709 650.4L794.9 591.8Q765.6 556.6 709 541V650.4ZM794.9 783.2L709 724.6V830.1Q734.4 826.2 757.8 814.5T794.9 783.2ZM834 687.5Q834 656.3 820.3 625L724.6 687.5 820.3 750Q834 718.8 834 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-citrus\"\n      ]\n    },\n    {\n      \"uid\": \"7f112e1a2c96f8a7df86bb9b6047039b\",\n      \"css\": \"fruit-grapes\",\n      \"code\": 987204,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 500Q584 535.2 559.6 559.6T500 584 440.4 559.6 416 500 440.4 440.4 500 416 559.6 440.4 584 500ZM291 416Q257.8 416 233.4 440.4T209 500 233.4 559.6 292 584 350.6 559.6 375 500 350.6 440.4 291 416ZM709 416Q673.8 416 649.4 440.4T625 500 649.4 559.6 708 584 766.6 559.6 791 500 766.6 440.4 709 416ZM603.5 250Q570.3 250 545.9 274.4T521.5 333 545.9 391.6 604.5 416 663.1 391.6 687.5 333 663.1 274.4 603.5 250ZM396.5 250Q361.3 250 336.9 274.4T312.5 333 336.9 391.6 395.5 416 454.1 391.6 478.5 333 454.1 274.4 396.5 250ZM603.5 584Q570.3 584 545.9 608.4T521.5 667 545.9 725.6 604.5 750 663.1 725.6 687.5 667 663.1 608.4 603.5 584ZM396.5 584Q361.3 584 336.9 608.4T312.5 667 336.9 725.6 395.5 750 454.1 725.6 478.5 667 454.1 608.4 396.5 584ZM500 750Q464.8 750 440.4 774.4T416 833 440.4 891.6 500 916 559.6 891.6 584 833 559.6 774.4 500 750ZM599.6 91.8L566.4 41Q507.8 68.4 482.4 154.3 466.8 207 466.8 250H529.3V248Q546.9 111.3 599.6 91.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-grapes\"\n      ]\n    },\n    {\n      \"uid\": \"f03024a79ab75b285a4b5b362dee5f72\",\n      \"css\": \"fruit-grapes-outline\",\n      \"code\": 987205,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500Q791 457 765.6 423.8T699.2 380.9Q709 357.4 709 334 709 281.3 671.9 245.1T584 209Q558.6 209 533.2 218.8 552.7 109.4 599.6 91.8L566.4 41Q519.5 62.5 494.1 125 474.6 166 468.8 220.7 443.4 209 416 209 365.2 209 328.1 245.1T291 334Q291 357.4 300.8 380.9 259.8 390.6 234.4 423.8T209 500 234.4 576.2 300.8 619.1Q291 642.6 291 666 291 709 317.4 742.2T384.8 787.1Q375 810.5 375 834 375 884.8 411.1 921.9T500 959 588.9 921.9 625 834Q625 810.5 615.2 787.1 656.3 775.4 682.6 742.2T709 666Q709 642.6 699.2 619.1 740.2 609.4 765.6 576.2T791 500ZM679.7 412.1V412.1 412.1ZM584 271.5Q609.4 271.5 627.9 289.1T646.5 333 627.9 377.9 583 396.5 539.1 377.9 521.5 333 539.1 289.1 584 271.5ZM562.5 500Q562.5 525.4 543.9 543.9T500 562.5 456.1 543.9 437.5 500 456.1 456.1 500 437.5 543.9 456.1 562.5 500ZM416 271.5Q443.4 271.5 460.9 289.1T478.5 333 460.9 377.9 417 396.5 372.1 377.9 353.5 333 372.1 289.1 416 271.5ZM271.5 500Q271.5 474.6 289.1 456.1T333 437.5 377.9 456.1 396.5 500 377.9 543.9 333 562.5 289.1 543.9 271.5 500ZM353.5 666Q353.5 640.6 372.1 622.1T417 603.5 460.9 622.1 478.5 667 460.9 710.9 417 728.5 372.1 710.9 353.5 666ZM500 896.5Q474.6 896.5 456.1 877.9T437.5 833 456.1 789.1 500 771.5 543.9 789.1 562.5 833 543.9 877.9 500 896.5ZM584 728.5Q556.6 728.5 539.1 710.9T521.5 667 539.1 622.1 583 603.5 627.9 622.1 646.5 667 627.9 710.9 584 728.5ZM666 562.5Q640.6 562.5 622.1 543.9T603.5 500 622.1 456.1 667 437.5 710.9 456.1 728.5 500 710.9 543.9 666 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-grapes-outline\"\n      ]\n    },\n    {\n      \"uid\": \"699c863a41807cc999389c84190fbdcd\",\n      \"css\": \"fruit-pineapple\",\n      \"code\": 987206,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M599.6 320.3Q636.7 296.9 687.5 289.1 722.7 283.2 759.8 287.1L791 291Q701.2 171.9 566.4 216.8V209Q587.9 177.7 623 162.1 648.4 150.4 677.7 146.5H705.1Q627 78.1 541 125 521.5 74.2 500 41V41Q482.4 70.3 459 128.9 423.8 105.5 386.7 105.5 335.9 105.5 291 146.5L318.4 148.4Q349.6 154.3 377 166 412.1 185.5 433.6 216.8 298.8 171.9 209 291L240.2 287.1Q277.3 283.2 312.5 289.1 363.3 296.9 400.4 320.3 334 359.4 292 441.4T250 625Q250 714.8 284.2 792T375 914.1 500 959 625 914.1 715.8 792 750 625Q750 523.4 708 441.4T599.6 320.3ZM658.2 699.2Q650.4 732.4 642.6 750L584 666 521.5 750 587.9 837.9 554.7 863.3 500 791 445.3 863.3Q423.8 855.5 412.1 837.9L478.5 750 416 666 353.5 746.1Q351.6 738.3 345.7 721.7T337.9 695.3L396.5 625 341.8 550.8Q349.6 517.6 357.4 500L416 584 478.5 500 412.1 412.1 445.3 386.7 500 459 554.7 386.7Q576.2 394.5 587.9 412.1L521.5 500 584 584 646.5 503.9Q648.4 511.7 654.3 528.3T662.1 554.7L603.5 625ZM500 541L562.5 625 500 709 437.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-pineapple\"\n      ]\n    },\n    {\n      \"uid\": \"328ea54867eb14ce4aa0414d90f089db\",\n      \"css\": \"fruit-watermelon\",\n      \"code\": 987207,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M683.6 683.6Q753.9 613.3 778.3 520.5T778.3 335 683.6 175.8L175.8 683.6Q242.2 753.9 335 778.3T520.5 778.3 683.6 683.6ZM666 291Q685.5 291 697.3 302.7T709 333 697.3 363.3 667 375 636.7 363.3 625 333 636.7 302.7 666 291ZM666 459Q685.5 459 697.3 469.7T709 500 697.3 530.3 667 541 636.7 530.3 625 500 636.7 469.7 666 459ZM500 459Q519.5 459 530.3 469.7T541 500 530.3 530.3 500 541 469.7 530.3 459 500 469.7 469.7 500 459ZM500 625Q519.5 625 530.3 636.7T541 667 530.3 697.3 500 709 469.7 697.3 459 667 469.7 636.7 500 625ZM334 709Q314.5 709 302.7 697.3T291 667 302.7 636.7 333 625 363.3 636.7 375 667 363.3 697.3 334 709ZM775.4 775.4Q681.6 869.1 555.7 902.3T303.7 902.3 84 775.4L142.6 716.8Q218.8 794.9 323.2 822.3T531.3 822.3 712.9 716.8 818.4 535.2 818.4 328.1 712.9 146.5L775.4 84Q867.2 177.7 899.4 303.7T899.4 555.7 775.4 775.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-watermelon\"\n      ]\n    },\n    {\n      \"uid\": \"277fc413bb1f0d4ee3e89dbf368a50f7\",\n      \"css\": \"google-my-business\",\n      \"code\": 987208,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 353.5Q916 396.5 885.7 427.7T812.5 459 739.3 427.7 709 353.5Q709 396.5 677.7 427.7T603.5 459 530.3 427.7 500 353.5Q500 396.5 469.7 427.7T396.5 459 322.3 427.7 291 353.5Q291 396.5 260.7 427.7T187.5 459 114.3 427.7 84 353.5L140.6 128.9 146.5 117.2Q152.3 103.5 162.1 95.7 177.7 84 195.3 84H804.7Q822.3 84 837.9 95.7 847.7 103.5 853.5 117.2L859.4 128.9ZM875 507.8V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V507.8Q154.3 521.5 187.5 521.5 246.1 521.5 291 484.4 337.9 521.5 396.5 521.5T500 484.4Q546.9 521.5 604.5 521.5T709 484.4Q753.9 521.5 812.5 521.5 845.7 521.5 875 507.8ZM791 722.7Q791 705.1 789.1 695.3V689.5H664.1V738.3H740.2Q734.4 755.9 726.6 763.7 705.1 785.2 673.8 785.2T620.1 762.7 597.7 708 619.1 654.3 671.9 632.8 724.6 652.3L730.5 658.2 765.6 623 759.8 617.2Q722.7 584 673.8 584H671.9Q621.1 584 583 621.1T544.9 709 582 794.9V794.9Q621.1 834 673.8 834H675.8Q726.6 834 759.8 800.8 773.4 785.2 782.2 763.7T791 722.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-my-business\"\n      ]\n    },\n    {\n      \"uid\": \"3d89d6cd91292e1d8a9aa3345544b79d\",\n      \"css\": \"graph\",\n      \"code\": 987209,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 709Q800.8 709 796.9 710.9L728.5 574.2Q759.8 543 759.8 500T729.5 426.8 656.3 396.5Q646.5 396.5 640.6 398.4L572.3 261.7Q603.5 232.4 603.5 188.5T573.2 114.3 500 84 426.8 114.3 396.5 188.5 427.7 261.7L359.4 398.4Q353.5 396.5 343.8 396.5 300.8 396.5 270.5 426.8T240.2 500 271.5 574.2L203.1 710.9Q199.2 709 187.5 709 144.5 709 114.3 739.3T84 812.5 114.3 885.7 187.5 916 260.7 885.7 291 811.5 259.8 738.3L328.1 601.6Q334 603.5 343.8 603.5T359.4 601.6L427.7 738.3Q396.5 769.5 396.5 812.5T426.8 885.7 500 916 573.2 885.7 603.5 812.5 573.2 739.3 500 709Q488.3 709 484.4 710.9L416 574.2Q447.3 544.9 447.3 500T416 425.8L484.4 289.1Q488.3 291 500 291T515.6 289.1L584 425.8Q552.7 457 552.7 500T583 573.2 656.3 603.5Q666 603.5 671.9 601.6L740.2 738.3Q709 769.5 709 812.5T739.3 885.7 812.5 916 885.7 885.7 916 812.5 885.7 739.3 812.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"graph\"\n      ]\n    },\n    {\n      \"uid\": \"74ad224c1b36cea8f7544099f42e6d87\",\n      \"css\": \"graph-outline\",\n      \"code\": 987210,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M812.5 709Q800.8 709 796.9 710.9L728.5 574.2Q759.8 543 759.8 500T729.5 426.8 656.3 396.5Q646.5 396.5 638.7 398.4L572.3 261.7Q603.5 232.4 603.5 188.5T573.2 114.3 500 84 426.8 114.3 396.5 188.5 427.7 261.7L361.3 398.4Q353.5 396.5 343.8 396.5 300.8 396.5 270.5 426.8T240.2 501 271.5 574.2L203.1 710.9Q199.2 709 187.5 709 144.5 709 114.3 739.3T84 812.5 114.3 885.7 187.5 916 260.7 885.7 291 811.5 259.8 738.3L328.1 601.6Q334 603.5 343.8 603.5T359.4 601.6L427.7 738.3Q396.5 767.6 396.5 811.5T426.8 885.7 500 916 573.2 885.7 603.5 812.5 573.2 739.3 500 709Q488.3 709 484.4 710.9L416 574.2Q447.3 543 447.3 500T416 425.8L484.4 289.1Q488.3 291 500 291T515.6 289.1L584 425.8Q552.7 455.1 552.7 499T583 573.2 656.3 603.5Q666 603.5 671.9 601.6L740.2 738.3Q709 767.6 709 811.5T739.3 885.7 812.5 916 885.7 885.7 916 812.5 885.7 739.3 812.5 709ZM187.5 853.5Q169.9 853.5 158.2 841.8T146.5 812.5 158.2 783.2 187.5 771.5 216.8 783.2 228.5 812.5 216.8 841.8 187.5 853.5ZM541 812.5Q541 830.1 529.3 841.8T500 853.5 470.7 841.8 459 812.5 470.7 783.2 500 771.5 529.3 783.2 541 812.5ZM302.7 500Q302.7 482.4 314.5 470.7T343.8 459 373 470.7 384.8 500 373 529.3 343.8 541 314.5 529.3 302.7 500ZM459 187.5Q459 169.9 470.7 158.2T500 146.5 529.3 158.2 541 187.5 529.3 216.8 500 228.5 470.7 216.8 459 187.5ZM615.2 500Q615.2 482.4 627 470.7T656.3 459 685.5 470.7 697.3 500 685.5 529.3 656.3 541 627 529.3 615.2 500ZM812.5 853.5Q794.9 853.5 783.2 841.8T771.5 812.5 783.2 783.2 812.5 771.5 841.8 783.2 853.5 812.5 841.8 841.8 812.5 853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"graph-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fcae7cfa130faac2afd4ca8bc4636051\",\n      \"css\": \"harddisk-plus\",\n      \"code\": 987211,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q482.4 375 470.7 386.7T459 416 470.7 446.3 500 459 529.3 446.3 541 416 529.3 386.7 500 375ZM500 375Q482.4 375 470.7 386.7T459 416 470.7 446.3 500 459 529.3 446.3 541 416 529.3 386.7 500 375ZM750 84H250Q214.8 84 190.4 108.4T166 166V544.9Q187.5 541 209 541 252 541 291 556.6 253.9 502 249 436.5T271.5 311.5 353.5 212.9 472.7 168 597.7 187.5 698.2 265.6 746.1 383.8 730.5 509.8 654.3 611.3L574.2 511.7Q566.4 496.1 549.8 491.2T517.6 496.1L482.4 517.6Q466.8 525.4 461.9 542T466.8 574.2L503.9 666Q459 666 416 650.4 457 710.9 459 783.2T423.8 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM607.4 816.4L503.9 552.7 539.1 531.3 714.8 753.9ZM500 459Q517.6 459 529.3 446.3T541 416 529.3 386.7 500 375 470.7 386.7 459 416 470.7 446.3 500 459ZM375 834H250V959H166V834H41V750H166V625H250V750H375V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"harddisk-plus\"\n      ]\n    },\n    {\n      \"uid\": \"5bbe4ba1ae4ca2c4273c65c7c1e9c8c8\",\n      \"css\": \"harddisk-remove\",\n      \"code\": 987212,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q482.4 375 470.7 386.7T459 416 470.7 446.3 500 459 529.3 446.3 541 416 529.3 386.7 500 375ZM500 375Q482.4 375 470.7 386.7T459 416 470.7 446.3 500 459 529.3 446.3 541 416 529.3 386.7 500 375ZM750 84H250Q214.8 84 190.4 108.4T166 166V544.9Q187.5 541 209 541 252 541 291 556.6 253.9 502 249 436.5T271.5 311.5 353.5 212.9 472.7 168 597.7 187.5 698.2 265.6 746.1 383.8 730.5 509.8 654.3 611.3L574.2 511.7Q566.4 496.1 549.8 491.2T517.6 496.1L482.4 517.6Q466.8 525.4 461.9 542T466.8 574.2L503.9 666Q459 666 416 650.4 457 710.9 459 783.2T423.8 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM607.4 816.4L503.9 552.7 539.1 531.3 714.8 753.9ZM500 459Q517.6 459 529.3 446.3T541 416 529.3 386.7 500 375 470.7 386.7 459 416 470.7 446.3 500 459ZM296.9 939.5L209 849.6 119.1 939.5 60.5 880.9 150.4 791 60.5 703.1 119.1 644.5 209 732.4 296.9 644.5 355.5 703.1 267.6 791 355.5 880.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"harddisk-remove\"\n      ]\n    },\n    {\n      \"uid\": \"0efc86c67b7d210a059c4888b7dc442d\",\n      \"css\": \"home-circle-outline\",\n      \"code\": 987213,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM459 584H541V709H666V500H750L500 291 250 500H334V709H459V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2318e8ac162473b4733ee241c7724f0a\",\n      \"css\": \"instrument-triangle\",\n      \"code\": 987214,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 84H437.5V257.8L433.6 261.7Q427.7 265.6 425.8 271.5L87.9 863.3Q78.1 880.9 88.9 898.4T121.1 916H666V834H199.2L459 382.8 695.3 800.8 767.6 757.8 492.2 267.6 478.5 253.9V84ZM875 250H834V750L812.5 916H896.5L875 750V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"instrument-triangle\"\n      ]\n    },\n    {\n      \"uid\": \"d419be850875a3eb8ff6d3c6df9d1ec3\",\n      \"css\": \"island\",\n      \"code\": 987215,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 834Q746.1 834 666 777.3 589.8 832 500 832T334 777.3Q253.9 834 166 834H84V916H166Q252 916 334 875 412.1 916 500 916T666 875Q748 916 834 916H916V834H834ZM865.2 791H834Q757.8 791 691.4 744.1L666 726.6 642.6 744.1Q576.2 789.1 499 789.1T357.4 744.1L334 726.6 310.5 744.1Q242.2 791 166 791H134.8Q158.2 726.6 224.6 685.5 322.3 625 500 625 552.7 625 593.8 630.9L625 634.8Q656.3 572.3 669.9 500 689.5 392.6 666 283.2L710.9 314.5Q726.6 384.8 728.5 443.4 732.4 546.9 699.2 652.3 773.4 675.8 818.4 718.8 851.6 752 865.2 791ZM916 316.4Q890.6 281.3 854.5 258.8T773.4 230.5Q779.3 238.3 789.1 250 826.2 308.6 820.3 377.9T769.5 498Q789.1 451.2 785.2 400.4T753.9 306.6L746.1 296.9Q722.7 261.7 681.6 238.3 619.1 259.8 578.1 314.5T537.1 437.5Q537.1 468.8 544.9 500 505.9 445.3 505.9 377 505.9 326.2 529.3 282.2T591.8 209Q521.5 205.1 464.8 240.2 437.5 257.8 416 281.3 441.4 220.7 500 183.6 566.4 140.6 640.6 154.3 623 127 597.7 108.4T541 78.1Q609.4 80.1 662.1 121.1 687.5 138.7 709 168H716.8Q787.1 168 841.8 210T916 316.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"island\"\n      ]\n    },\n    {\n      \"uid\": \"61da25ae6e7ce03df6f3fbbcce115f94\",\n      \"css\": \"keyboard-space\",\n      \"code\": 987216,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625H209V791H791V625H875V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-space\"\n      ]\n    },\n    {\n      \"uid\": \"b5e58c6cd701a4cf3387af0832351d77\",\n      \"css\": \"led-strip-variant\",\n      \"code\": 987217,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M123 125L84 287.1 806.6 468.8 845.7 306.6ZM253.9 287.1L173.8 267.6 193.4 185.5 273.4 205.1ZM414.1 328.1L334 306.6 353.5 226.6 433.6 246.1ZM574.2 367.2L494.1 347.7 513.7 265.6 593.8 287.1ZM736.3 408.2L654.3 388.7 675.8 306.6 755.9 326.2ZM193.4 531.3L154.3 693.4 877 875 916 712.9ZM324.2 693.4L244.1 673.8 263.7 591.8 345.7 611.3ZM486.3 734.4L406.3 712.9 425.8 632.8 505.9 652.3ZM646.5 773.4L566.4 753.9 585.9 671.9 666 693.4ZM806.6 814.5L726.6 794.9 746.1 712.9 826.2 732.4ZM259.8 503.9L459 425.8 740.2 496.1 541 574.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"led-strip-variant\"\n      ]\n    },\n    {\n      \"uid\": \"beb7eb599481cce7a37344467371b386\",\n      \"css\": \"numeric-negative-1\",\n      \"code\": 987218,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 291V375H625V709H709V291H541ZM459 541H250V459H459V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"numeric-negative-1\"\n      ]\n    },\n    {\n      \"uid\": \"663382299944167158845ff9f9e266e3\",\n      \"css\": \"oil-level\",\n      \"code\": 987219,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 750Q273.4 750 220.7 804.7L214.8 810.5Q201.2 824.2 192.4 829.1T167 834 141.6 829.1 119.1 810.5L113.3 804.7Q78.1 767.6 41 755.9V849.6L54.7 863.3Q107.4 916 167 916T279.3 863.3L285.2 855.5Q298.8 841.8 307.6 837.9T333 834 358.4 837.9 380.9 855.5L386.7 863.3Q433.6 908.2 478.5 914.1 486.3 916 500 916 558.6 916 613.3 863.3L619.1 855.5Q632.8 841.8 641.6 837.9T667 834 692.4 837.9 714.8 855.5L720.7 863.3Q773.4 916 833 916T945.3 863.3L959 849.6V755.9Q921.9 767.6 886.7 804.7L880.9 810.5Q867.2 824.2 858.4 829.1T833 834 807.6 829.1 785.2 810.5L779.3 804.7Q726.6 750 667 750T554.7 804.7L546.9 810.5Q533.2 824.2 525.4 829.1T500 834Q488.3 834 478.5 830.1T449.2 806.6L445.3 804.7Q392.6 750 334 750ZM916 437.5Q927.7 451.2 937.5 462.9 962.9 494.1 978.5 521.5 1000 558.6 1000 584 1000 617.2 975.6 641.6T917 666 858.4 641.6 834 583 875 490.2Q896.5 460.9 916 437.5V437.5ZM937.5 296.9L800.8 218.8 531.3 375Q519.5 355.5 500 344.7T459 334H375V250H416Q433.6 250 446.3 237.3T459 208 446.3 178.7 416 166H250Q232.4 166 220.7 178.7T209 208 220.7 237.3 250 250H291V334H209Q173.8 334 149.4 358.4T125 416V541Q125 576.2 149.4 600.6T209 625H584Q605.5 625 625 613.3T656.3 582L808.6 318.4 896.5 369.1Q912.1 377 927.7 373T952.1 353.5 957 321.3 937.5 296.9ZM584 541H209V416H486.3L525.4 476.6 669.9 392.6ZM146.5 289.1L74.2 359.4Q62.5 369.1 45.9 369.1T17.6 357.4 5.9 329.1 15.6 300.8L87.9 228.5Q99.6 216.8 116.2 216.8T145.5 229.5 158.2 258.8 146.5 289.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"oil-level\"\n      ]\n    },\n    {\n      \"uid\": \"35d625eccc14b271818475a2fd413b0d\",\n      \"css\": \"outdoor-lamp\",\n      \"code\": 987220,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 916H541Q507.8 916 483.4 891.6T459 834V625H709V834Q709 867.2 684.6 891.6T625 916ZM291 584H875L625 404.3V250Q625 189.5 587.9 140.6 541 84 458 84T328.1 140.6Q291 189.5 291 250 291 291 250 291H209V125H125V500H209V375H250Q312.5 375 347.7 332 375 296.9 375 250 375 224.6 386.7 203.1 408.2 166 458 166T529.3 201.2Q541 222.7 541 250V404.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"outdoor-lamp\"\n      ]\n    },\n    {\n      \"uid\": \"18aaaf8817a297eefdc3a048796ded9e\",\n      \"css\": \"palm-tree\",\n      \"code\": 987221,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 375Q529.3 515.6 507.8 656.3 492.2 755.9 453.1 847.7 433.6 892.6 416 916V916H541Q593.8 759.8 589.8 609.4 587.9 519.5 562.5 416ZM652.3 298.8Q666 314.5 671.9 326.2 724.6 410.2 716.8 507.8T646.5 677.7Q671.9 611.3 667 540T623 406.3L613.3 392.6Q576.2 341.8 523.4 310.5 431.6 337.9 374 416T316.4 591.8Q316.4 638.7 328.1 679.7 273.4 603.5 273.4 507.8 273.4 435.5 305.7 373T394.5 269.5Q294.9 261.7 212.9 312.5 173.8 337.9 146.5 371.1 181.6 283.2 261.7 232.4 355.5 173.8 464.8 189.5 437.5 152.3 401.4 125T324.2 84Q419.9 85.9 494.1 142.6 531.3 169.9 558.6 210.9H570.3Q669.9 210.9 748 269.5T853.5 419.9Q818.4 371.1 766.6 338.9T652.3 298.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"palm-tree\"\n      ]\n    },\n    {\n      \"uid\": \"7971b00e18bda3f1b0427f3a28a62b0d\",\n      \"css\": \"party-popper\",\n      \"code\": 987222,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M605.5 60.5L560.5 105.5 627 171.9Q640.6 187.5 640.6 209T627 244.1L478.5 394.5 521.5 439.5 671.9 289.1Q705.1 252 705.1 208T671.9 127ZM439.5 144.5L394.5 189.5 419.9 212.9Q433.6 226.6 433.6 250T419.9 287.1L394.5 310.5 439.5 355.5 462.9 330.1Q496.1 293 496.1 249T462.9 168ZM875 210.9Q832 210.9 794.9 244.1L560.5 478.5 605.5 521.5 837.9 289.1Q853.5 273.4 875 273.4T912.1 289.1L937.5 314.5 980.5 269.5 957 244.1Q919.9 210.9 875 210.9ZM291 334L84 916 666 709ZM791 460.9Q748 460.9 710.9 494.1L644.5 560.5 689.5 605.5 755.9 539.1Q771.5 523.4 792 523.4T828.1 539.1L896.5 605.5 939.5 562.5 873 494.1Q835.9 460.9 791 460.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"party-popper\"\n      ]\n    },\n    {\n      \"uid\": \"551e24ca8f82daf73bb77a6814636f06\",\n      \"css\": \"printer-pos\",\n      \"code\": 987223,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 416H250Q214.8 416 190.4 440.4T166 500V791H834V500Q834 464.8 809.6 440.4T750 416ZM750 584H584V500H750V584ZM709 375H291V166H709V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-pos\"\n      ]\n    },\n    {\n      \"uid\": \"bc50a06b12fba4764a75ff055f2fd1b2\",\n      \"css\": \"robber\",\n      \"code\": 987224,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M445.3 521.5Q445.3 529.3 413.1 540T351.6 550.8 292 535.2 261.7 511.7Q261.7 500 285.2 482.4 314.5 460.9 357.4 459 386.7 455.1 413.1 472.7T445.3 521.5ZM642.6 459Q609.4 455.1 585 472.7T554.7 521.5Q554.7 531.3 585.9 541T648.4 550.8 709 536.1 738.3 514.6 726.6 495.1 695.3 472.7Q671.9 460.9 642.6 459ZM916 500Q916 613.3 860.4 709T709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500ZM834 466.8Q834 402.3 804.7 377.9T695.3 353.5Q654.3 353.5 617.2 363.3 595.7 369.1 562.5 382.8 521.5 400.4 500 400.4T439.5 382.8Q406.3 369.1 384.8 363.3 347.7 353.5 304.7 353.5 246.1 353.5 217.8 363.3T177.7 397.5 166 466.8Q166 570.3 208 628.9T316.4 687.5Q339.8 687.5 363.3 673.8 378.9 666 408.2 645.5T453.1 617.2Q478.5 603.5 500 603.5T546.9 617.2Q560.5 625 588.9 645.5T632.8 673.8Q660.2 687.5 683.6 687.5 750 687.5 792 628.9T834 466.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robber\"\n      ]\n    },\n    {\n      \"uid\": \"42bc0e75bac4a7d9f7c033953c24abac\",\n      \"css\": \"routes-clock\",\n      \"code\": 987225,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 541H625V695.3L757.8 771.5 789.1 718.8 687.5 658.2V541ZM666 375Q607.4 375 552.7 398.4T459 462.9V291H709L791 209 709 125H459V84L416 41 375 84V250H125L41 334 125 416H375V834Q339.8 834 315.4 858.4T291 916H517.6Q585.9 959 666 959T813.5 919.9 919.9 813.5 959 667 919.9 520.5 813.5 414.1 666 375ZM666 869.1Q582 869.1 523.4 809.6T464.8 666 523.4 523.4 666 464.8 809.6 523.4 869.1 666 809.6 809.6 666 869.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"routes-clock\"\n      ]\n    },\n    {\n      \"uid\": \"2ed8160219841bd956df5466966a4c8d\",\n      \"css\": \"scale-off\",\n      \"code\": 987226,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L869.1 947.3 796.9 875H750V828.1L503.9 584H459V537.1L429.7 507.8Q355.5 523.4 294.9 570.3L351.6 627 293 685.5 236.3 628.9Q179.7 701.2 169.9 791H250V875H84V834Q84 701.2 160.2 592.8T361.3 439.5L160.2 238.3 84 209V162.1L46.9 125 99.6 72.3ZM912.1 779.3Q896.5 646.5 805.7 548.8T584 425.8V341.8L916 209V125H257.8ZM500 750Q480.5 750 462.9 757.8L302.7 834 462.9 908.2Q480.5 916 500 916 535.2 916 559.6 891.6T584 833 559.6 774.4 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scale-off\"\n      ]\n    },\n    {\n      \"uid\": \"cc4caae25d2ebc46d725102b9a45637e\",\n      \"css\": \"cog-transfer\",\n      \"code\": 987227,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 750V666L416 812.5 584 959V875H709V750H584ZM916 646.5L750 500V584H625V709H750V791ZM902.3 363.3L818.4 218.8Q816.4 212.9 808.6 210T793 210.9L689.5 252Q658.2 226.6 619.1 210.9L603.5 101.6Q603.5 93.8 597.7 88.9T584 84H416Q408.2 84 402.3 88.9T396.5 101.6L380.9 210.9Q343.8 226.6 310.5 252L209 210.9Q201.2 207 193.4 210T183.6 218.8L99.6 363.3Q95.7 371.1 96.7 377.9T103.5 390.6L189.5 459Q187.5 482.4 187.5 500T189.5 541L101.6 609.4Q95.7 613.3 94.7 621.1T97.7 636.7L181.6 781.3Q183.6 789.1 191.4 792T209 791L312.5 750Q328.1 761.7 343.8 771.5L490.2 646.5Q429.7 642.6 389.6 597.7T354.5 492.2 405.3 391.6 509.8 355.5Q554.7 359.4 590.8 387.7T638.7 459H810.5L898.4 390.6Q904.3 386.7 905.3 378.9T902.3 363.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-transfer\"\n      ]\n    },\n    {\n      \"uid\": \"102075a664dc31a7614ed96a3e66123f\",\n      \"css\": \"cog-transfer-outline\",\n      \"code\": 987228,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709V584H750V500L916 646.5 750 791V709H625ZM709 750V875H584V959L416 812.5 584 666V750H709ZM500 334Q431.6 334 382.8 382.8T334 500Q334 558.6 371.1 605.5T466.8 664.1L666 494.1Q664.1 427.7 616.2 380.9T500 334ZM500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584ZM902.3 363.3L818.4 218.8Q816.4 212.9 808.6 210T793 210.9L689.5 252Q658.2 226.6 619.1 210.9L603.5 101.6Q603.5 93.8 597.7 88.9T584 84H416Q408.2 84 402.3 88.9T396.5 101.6L380.9 210.9Q343.8 226.6 310.5 252L209 210.9Q201.2 207 193.4 210T183.6 218.8L99.6 363.3Q95.7 371.1 96.7 377.9T103.5 390.6L189.5 459 187.5 500 189.5 541 101.6 609.4Q95.7 613.3 94.7 621.1T97.7 636.7L181.6 781.3Q183.6 789.1 191.4 792T209 791L312.5 750Q328.1 761.7 343.8 771.5L412.1 712.9Q363.3 693.4 330.1 654.3L228.5 695.3 197.3 640.6 283.2 574.2Q257.8 500 283.2 425.8L195.3 361.3 226.6 306.6 326.2 347.7Q377 289.1 451.2 273.4L468.8 166H531.3L546.9 275.4Q621.1 291 671.9 349.6L771.5 308.6 802.7 361.3 716.8 425.8Q722.7 441.4 724.6 459H808.6L896.5 390.6Q902.3 386.7 904.3 378.9T902.3 363.3ZM500 334Q431.6 334 382.8 382.8T334 500Q334 558.6 371.1 605.5T466.8 664.1L666 494.1Q664.1 427.7 616.2 380.9T500 334ZM500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584ZM500 334Q431.6 334 382.8 382.8T334 500Q334 558.6 371.1 605.5T466.8 664.1L666 494.1Q664.1 427.7 616.2 380.9T500 334ZM500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-transfer-outline\"\n      ]\n    },\n    {\n      \"uid\": \"50a03926ac1b277b2e9e39cc715170e1\",\n      \"css\": \"shield-sun\",\n      \"code\": 987229,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM500 371.1Q550.8 371.1 585.9 406.3T621.1 491.2 585.9 576.2 500 611.3 414.1 576.2 378.9 491.2 415 406.3 500 371.1ZM500 250L556.6 334Q531.3 322.3 500 322.3T443.4 334ZM291 371.1L392.6 361.3Q367.2 384.8 353.5 407.2T334 460.9ZM291 611.3L334 521.5Q339.8 548.8 354.5 575.2T392.6 619.1ZM709 371.1L666 460.9Q660.2 431.6 646.5 408.2T607.4 361.3ZM709 611.3L607.4 619.1Q630.9 601.6 645.5 576.2T666 521.5ZM500 730.5L441.4 648.4Q472.7 658.2 500 658.2T556.6 648.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-sun\"\n      ]\n    },\n    {\n      \"uid\": \"816d96dbfb822421635fd20dc53656d3\",\n      \"css\": \"shield-sun-outline\",\n      \"code\": 987230,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM500 371.1Q550.8 371.1 585.9 406.3T621.1 491.2 585.9 576.2 500 611.3 414.1 576.2 378.9 491.2 415 406.3 500 371.1ZM500 250L556.6 334Q531.3 322.3 500 322.3T443.4 334ZM291 371.1L392.6 361.3Q367.2 384.8 353.5 407.2T334 460.9ZM291 611.3L334 521.5Q339.8 548.8 354.5 575.2T392.6 619.1ZM709 371.1L666 460.9Q660.2 431.6 646.5 408.2T607.4 361.3ZM709 611.3L607.4 619.1Q630.9 601.6 645.5 576.2T666 521.5ZM500 730.5L441.4 648.4Q472.7 658.2 500 658.2T556.6 648.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-sun-outline\"\n      ]\n    },\n    {\n      \"uid\": \"76251c5b629e2e11b7296556989b7134\",\n      \"css\": \"sprinkler\",\n      \"code\": 987231,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291H541V375H459V291ZM209 916H375V416H209V916ZM584 459H666V375H584V459ZM709 416H791V334H709V416ZM709 209V291H791V209H709ZM584 334H666V250H584V334ZM709 541H791V459H709V541ZM209 291H222.7L250 375H334L361.3 291H375V250H209V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sprinkler\"\n      ]\n    },\n    {\n      \"uid\": \"ee4358b470f69348c544c99c24e94e8d\",\n      \"css\": \"sprinkler-variant\",\n      \"code\": 987232,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 416H584V916H416V416ZM291 375H375V291H291V375ZM166 334H250V250H166V334ZM166 459H250V375H166V459ZM41 541H125V459H41V541ZM41 291H125V209H41V291ZM41 416H125V334H41V416ZM750 459H834V375H750V459ZM875 416H959V334H875V416ZM875 209V291H959V209H875ZM875 541H959V459H875V541ZM625 375H709V291H625V375ZM750 334H834V250H750V334ZM416 291H429.7L459 375H541L570.3 291H584V250H416V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sprinkler-variant\"\n      ]\n    },\n    {\n      \"uid\": \"585339ae3cb173c74639659bad9f80ef\",\n      \"css\": \"table-chair\",\n      \"code\": 987233,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 916H250Q250 882.8 274.4 858.4T334 834V334H84V209H666V334H416V834Q451.2 834 475.6 858.4T500 916ZM916 84V916H834V625H625V916H541V584Q541 548.8 565.4 524.4T625 500H834V84H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-chair\"\n      ]\n    },\n    {\n      \"uid\": \"f7cee8960d4eb7caa158c27f1af73d93\",\n      \"css\": \"terraform\",\n      \"code\": 987234,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 224.6V492.2L642.6 625V363.3ZM617.2 363.3V625L382.8 492.2V224.6ZM617.2 654.3V919.9L382.8 787.1V521.5ZM357.4 212.9V478.5L125 345.7V80.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"terraform\"\n      ]\n    },\n    {\n      \"uid\": \"934f2c3949f4676416e9919454352180\",\n      \"css\": \"toaster\",\n      \"code\": 987235,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 423.8 850.6 399.4T791 375H209Q173.8 375 149.4 399.4T125 459H84V541H125V834H875V541H916V459H875ZM709 625Q683.6 625 662.1 611.3T630.9 574.2 626 525.4 649.4 482.4 692.4 460 740.2 464.8 777.3 495.1 791 541Q791 576.2 766.6 600.6T709 625ZM750 334H250Q259.8 261.7 331.1 213.9T499 166 667 213.9 750 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toaster\"\n      ]\n    },\n    {\n      \"uid\": \"7a8b374ffb800f4d8eab6f82b36f08f6\",\n      \"css\": \"tools\",\n      \"code\": 987236,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 845.7L845.7 904.3Q834 916 816.4 916T787.1 904.3L291 410.2Q271.5 416 250 416 209 416 173.8 397.5T115.2 346.7 85.9 274.4 91.8 195.3L199.2 300.8 300.8 199.2 195.3 91.8Q234.4 80.1 274.4 85.9T346.7 115.2 397.5 173.8 416 250Q416 271.5 410.2 291L904.3 787.1Q916 798.8 916 816.4T904.3 845.7ZM95.7 787.1Q84 798.8 84 816.4T95.7 845.7L154.3 904.3Q166 916 183.6 916T212.9 904.3L441.4 677.7 324.2 558.6ZM834 84L666 166V250L576.2 339.8 660.2 423.8 750 334H834L916 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tools\"\n      ]\n    },\n    {\n      \"uid\": \"7819d1b7f5513821535984b28450c166\",\n      \"css\": \"transfer\",\n      \"code\": 987237,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 166Q298.8 166 274.4 190.4T250 250V416H334V250H666V375H562.5L709 521.5 853.5 375H750V250Q750 214.8 725.6 190.4T666 166H334ZM125 500V584H459V500H125ZM125 625V709H459V625H125ZM541 625V709H875V625H541ZM125 750V834H459V750H125ZM541 750V834H875V750H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"transfer\"\n      ]\n    },\n    {\n      \"uid\": \"08062e6b33d81e14423834fdbd4802d4\",\n      \"css\": \"valve\",\n      \"code\": 987238,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 916H84V84H166V916ZM916 84H834V916H916V84ZM718.8 222.7L550.8 388.7Q515.6 371.1 476.6 377.9T409.2 413.1 374 480.5 384.8 556.6L218.8 722.7 277.3 781.3 443.4 615.2Q480.5 632.8 519.5 626T586.9 590.8 622.1 523.4 611.3 449.2L777.3 281.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"valve\"\n      ]\n    },\n    {\n      \"uid\": \"5df4a7f58b0a1719089d8693703a9f32\",\n      \"css\": \"valve-closed\",\n      \"code\": 987239,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 84V916H834V541H617.2Q603.5 578.1 571.3 600.6T500 623 428.7 600.6 382.8 541H166V916H84V84H166V459H382.8Q396.5 421.9 428.7 399.4T500 377 571.3 399.4 617.2 459H834V84H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"valve-closed\"\n      ]\n    },\n    {\n      \"uid\": \"f6dce384639af80ee14909458fe940d4\",\n      \"css\": \"valve-open\",\n      \"code\": 987240,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 916H84V84H166V916ZM916 84H834V916H916V84ZM459 166V382.8Q421.9 396.5 399.4 428.7T377 500 399.4 571.3 459 617.2V834H541V617.2Q578.1 603.5 600.6 571.3T623 500 600.6 428.7 541 382.8V166H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"valve-open\"\n      ]\n    },\n    {\n      \"uid\": \"f02764d954dabc43da73c4f38de16819\",\n      \"css\": \"video-check\",\n      \"code\": 987241,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 437.5V291Q709 275.4 696.3 262.7T666 250H166Q150.4 250 137.7 262.7T125 291V709Q125 724.6 137.7 737.3T166 750H666Q683.6 750 696.3 737.3T709 709V562.5L875 728.5V271.5ZM373 625L250 492.2 300.8 439.5 373 511.7 531.3 351.6 584 414.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-check\"\n      ]\n    },\n    {\n      \"uid\": \"3a88b5e60d52dc4529c84d1defbfc253\",\n      \"css\": \"video-check-outline\",\n      \"code\": 987242,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 334V666H209V334H625ZM666 250H166Q150.4 250 137.7 262.7T125 291V709Q125 724.6 137.7 737.3T166 750H666Q683.6 750 696.3 737.3T709 709V562.5L875 728.5V271.5L709 437.5V291Q709 275.4 696.3 262.7T666 250ZM263.7 503.9L312.5 457 375 521.5 521.5 375 568.4 431.6 375 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6b5c49425497827368c2e10f4be70268\",\n      \"css\": \"water-well\",\n      \"code\": 987243,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666H84V750H166V916H834V750H916V666ZM435.5 625Q427.7 625 421.9 620.1T414.1 607.4L398.4 478.5Q398.4 470.7 404.3 464.8T419.9 459H584Q591.8 459 596.7 465.8T601.6 482.4L585.9 607.4Q584 615.2 578.1 620.1T564.5 625H435.5ZM791 84L898.4 279.3Q900.4 283.2 900.4 291 900.4 308.6 888.7 321.3T859.4 334H791V625H709V334H541V416H459V334H291V625H209V334H150.4Q140.6 334 130.9 328.1 117.2 320.3 111.3 304.7T113.3 273.4L209 84H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-well\"\n      ]\n    },\n    {\n      \"uid\": \"cf1c0985b05d555ac3350da42383a9d6\",\n      \"css\": \"water-well-outline\",\n      \"code\": 987244,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M150.4 334H209V625H291V334H459V416H541V334H709V625H791V334H859.4Q877 334 888.7 321.3T900.4 291Q900.4 283.2 898.4 279.3L791 84H209L113.3 273.4Q105.5 289.1 111.3 304.7T130.9 328.1Q140.6 334 150.4 334ZM259.8 166H740.2L781.3 250H218.8ZM84 666V750H166V916H834V750H916V666H84ZM750 834H250V750H750V834ZM580.1 459Q589.8 459 595.7 464.8T601.6 478.5L585.9 607.4Q584 615.2 578.1 620.1T564.5 625H435.5Q427.7 625 421.9 620.1T414.1 607.4L398.4 482.4Q398.4 472.7 403.3 465.8T416 459H580.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-well-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0483094451aacf5ad41ef127c1952376\",\n      \"css\": \"bed-single\",\n      \"code\": 987245,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 416V291Q709 257.8 684.6 233.4T625 209H375Q339.8 209 315.4 233.4T291 291V416Q255.9 416 230.5 441.4T209 500V709H263.7L291 791H334L361.3 709H638.7L666 791H709L736.3 709H791V500Q791 464.8 766.6 440.4T709 416ZM625 416H375V291H625V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-single\"\n      ]\n    },\n    {\n      \"uid\": \"d7534357a5d1b23d16a6d489107b5d04\",\n      \"css\": \"bed-single-outline\",\n      \"code\": 987246,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 416V291Q709 257.8 684.6 233.4T625 209H375Q339.8 209 315.4 233.4T291 291V416Q257.8 416 233.4 440.4T209 500V709H263.7L291 791H334L361.3 709H638.7L666 791H709L736.3 709H791V500Q791 464.8 766.6 440.4T709 416ZM375 291H625V416H375V291ZM709 625H291V500H709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bed-single-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dc3c969c91fb5082f4b00a9128cd5971\",\n      \"css\": \"book-information-variant\",\n      \"code\": 987247,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H500V375L396.5 312.5 291 375V84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM736.3 767.6Q732.4 769.5 707 787.1L668 812.5Q642.6 830.1 621.1 834 587.9 835.9 593.8 789.1 603.5 736.3 625 656.3 640.6 599.6 638.7 585.9 638.7 568.4 611.3 585.9L580.1 603.5Q576.2 607.4 575.2 607.4T570.3 601.6L568.4 597.7Q566.4 593.8 566.4 592.8T570.3 587.9L621.1 550.8Q675.8 513.7 696.3 511.7T720.7 529.3Q722.7 541 718.8 564.5L697.3 644.5Q666 761.7 668.9 772.5T691.4 773.4Q701.2 767.6 722.7 753.9L728.5 750Q730.5 748 734.4 752L736.3 755.9Q740.2 759.8 740.2 761.7T736.3 767.6ZM707 460.9Q689.5 460.9 676.8 448.2T664.1 418 676.8 387.7 707 375 737.3 387.7 750 418 737.3 448.2 707 460.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-information-variant\"\n      ]\n    },\n    {\n      \"uid\": \"bf4bb36479e158a68dc5599c25984ce5\",\n      \"css\": \"bottle-soda\",\n      \"code\": 987248,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 459V834Q625 867.2 600.6 891.6T541 916H459Q423.8 916 399.4 891.6T375 834V459Q375 423.8 400.4 398.4 427.7 367.2 443.4 306.6 453.1 263.7 457 210.9L459 166H416V84H584V166H541L543 210.9Q546.9 263.7 556.6 306.6 572.3 367.2 599.6 398.4 625 423.8 625 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-soda\"\n      ]\n    },\n    {\n      \"uid\": \"e3c8cfe82a58327330608dc0df14324a\",\n      \"css\": \"bottle-soda-classic\",\n      \"code\": 987249,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 574.2Q584 611.3 584 667T625 759.8V834Q625 867.2 600.6 891.6T541 916H459Q423.8 916 399.4 891.6T375 834V759.8Q416 722.7 416 667T375 574.2V375Q437.5 279.3 455.1 166H416V84H584V166H544.9Q562.5 279.3 625 375V574.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-soda-classic\"\n      ]\n    },\n    {\n      \"uid\": \"3daf41c3aaf793dc637166a4b800d1ea\",\n      \"css\": \"bottle-soda-outline\",\n      \"code\": 987250,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M599.6 398.4Q572.3 367.2 556.6 306.6 546.9 263.7 543 210.9L541 166H584V84H416V166H459L457 210.9Q453.1 263.7 443.4 306.6 427.7 367.2 400.4 398.4 375 423.8 375 459V834Q375 867.2 399.4 891.6T459 916H541Q576.2 916 600.6 891.6T625 834V459Q625 423.8 599.6 398.4ZM541 834H459V459L462.9 455.1Q484.4 427.7 500 396.5 515.6 427.7 537.1 455.1L541 459V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-soda-outline\"\n      ]\n    },\n    {\n      \"uid\": \"018cde69633e06cc503d0b56c58174e9\",\n      \"css\": \"calendar-blank-multiple\",\n      \"code\": 987251,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709V334H291V709H875ZM875 125Q910.2 125 934.6 149.4T959 209V709Q959 742.2 934.6 766.6T875 791H291Q257.8 791 233.4 766.6T209 709V209Q209 173.8 233.4 149.4T291 125H334V41H416V125H750V41H834V125H875ZM125 875H709V959H125Q89.8 959 65.4 934.6T41 875V375H125V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-blank-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"2ed24f68070b3448c1c503ce2d72d1fd\",\n      \"css\": \"card-search\",\n      \"code\": 987252,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 375Q435.5 375 405.3 405.3T375 478.5 405.3 552.7 478.5 584 552.7 552.7 584 478.5 552.7 405.3 478.5 375ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM699.2 757.8L578.1 636.7Q533.2 666 478.5 666 400.4 666 345.7 611.3T291 478.5 345.7 345.7 478.5 291 611.3 345.7 666 478.5Q666 533.2 636.7 578.1L757.8 699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-search\"\n      ]\n    },\n    {\n      \"uid\": \"80ae58c4cb98af762d79bbe5a6a5f72c\",\n      \"css\": \"card-search-outline\",\n      \"code\": 987253,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 666Q533.2 666 578.1 636.7L679.7 738.3 738.3 679.7 636.7 578.1Q666 533.2 666 478.5 666 400.4 611.3 345.7T478.5 291 345.7 345.7 291 478.5 345.7 611.3 478.5 666ZM478.5 375Q521.5 375 552.7 405.3T584 478.5 552.7 552.7 478.5 584 405.3 552.7 375 478.5 405.3 405.3 478.5 375ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 750H166V250H834V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"68b71444b86525b9e902d2d0eb828184\",\n      \"css\": \"face-profile-woman\",\n      \"code\": 987254,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M718.8 541Q718.8 562.5 703.1 578.1T666 593.8 629.9 578.1 615.2 541 629.9 504.9 666 490.2 703.1 504.9 718.8 541ZM916 500Q916 613.3 860.4 709T709 860.4 500 916H84V500Q84 386.7 139.6 291T291 139.6 500 84 709 139.6 860.4 291 916 500ZM291 750Q386.7 834 500 834 589.8 834 667 789.1T789.1 667 834 500Q834 453.1 820.3 406.3 773.4 416 726.6 416 603.5 416 500 349.6L488.3 384.8Q474.6 425.8 457 457 431.6 503.9 404.3 525.4 371.1 552.7 334 541 314.5 535.2 302.7 547.9T291 584V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-profile-woman\"\n      ]\n    },\n    {\n      \"uid\": \"ced18a41157ab26bfa15513a824d8e0a\",\n      \"css\": \"face-woman\",\n      \"code\": 987255,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M572.3 541Q572.3 519.5 587.9 504.9T625 490.2 662.1 504.9 677.7 541 662.1 578.1 625 593.8 587.9 578.1 572.3 541ZM916 500V916H84V500Q84 386.7 139.6 291T291 139.6 500 84 709 139.6 860.4 291 916 500ZM166 500Q166 589.8 210.9 667T333 789.1 500 834 667 789.1 789.1 667 834 500Q834 453.1 820.3 406.3 773.4 416 726.6 416 623 416 533.2 369.1T386.7 240.2Q355.5 314.5 298.8 373T168 464.8Q166 476.6 166 500ZM375 593.8Q396.5 593.8 412.1 578.1T427.7 541 412.1 504.9 375 490.2 337.9 504.9 322.3 541 337.9 578.1 375 593.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-woman\"\n      ]\n    },\n    {\n      \"uid\": \"efb0a11c1f998cb85e72992cc7ee86d6\",\n      \"css\": \"face-woman-outline\",\n      \"code\": 987256,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500V916H916V500Q916 386.7 860.4 291T709 139.6 500 84ZM500 166Q589.8 166 665 210T785.2 328.1Q753.9 334 728.5 334 640.6 334 564.5 290T443.4 171.9Q474.6 166 500 166ZM335.9 209Q316.4 267.6 277.3 315.4T183.6 394.5Q203.1 335.9 243.2 288.1T335.9 209ZM166 494.1Q248 462.9 310.5 403.3T406.3 263.7Q464.8 334 548.8 375T728.5 416Q773.4 416 820.3 406.3 834 453.1 834 500 834 589.8 789.1 667T667 789.1 500 834 333 789.1 210.9 667 166 500V494.1ZM166 834V750Q203.1 796.9 250 834H166ZM834 834H750Q796.9 796.9 834 750V834ZM572.3 541Q572.3 519.5 587.9 504.9T625 490.2 662.1 504.9 677.7 541 662.1 578.1 625 593.8 587.9 578.1 572.3 541ZM322.3 541Q322.3 519.5 337.9 504.9T375 490.2 412.1 504.9 427.7 541 412.1 578.1 375 593.8 337.9 578.1 322.3 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"face-woman-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cbf6fc8f457aaf36055d75b77240a481\",\n      \"css\": \"file-settings\",\n      \"code\": 987257,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 0Q214.8 0 190.4 24.4T166 84V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750V250L584 0H250ZM541 62.5L771.5 291H541V62.5ZM291 916V1000H375V916H291ZM459 916V1000H541V916H459ZM625 916V1000H709V916H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-settings\"\n      ]\n    },\n    {\n      \"uid\": \"aeec7bf6fba6b908158a06ef9ee9642e\",\n      \"css\": \"file-settings-outline\",\n      \"code\": 987258,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 0Q214.8 0 190.4 24.4T166 84V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750V250L584 0H250ZM250 84H541V291H750V750H250V84ZM291 916V1000H375V916H291ZM459 916V1000H541V916H459ZM625 916V1000H709V916H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"973db8fdc3fab12366ca7de3b5113d1d\",\n      \"css\": \"file-cog\",\n      \"code\": 987259,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H529.3Q500 857.4 500 791 500 712.9 539.1 645.5T645.5 539.1 791 500Q812.5 500 834 503.9V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM750 584Q740.2 584 738.3 591.8L730.5 646.5 695.3 666 644.5 646.5Q634.8 646.5 630.9 650.4L589.8 722.7Q585.9 730.5 591.8 736.3L636.7 771.5Q634.8 781.3 634.8 792T636.7 812.5L591.8 845.7Q585.9 851.6 589.8 859.4L630.9 931.6Q632.8 937.5 644.5 937.5L695.3 916Q714.8 929.7 730.5 935.5L738.3 992.2Q740.2 1000 750 1000H834Q841.8 1000 843.8 992.2L851.6 935.5Q867.2 929.7 886.7 916L937.5 937.5Q949.2 937.5 951.2 931.6L992.2 859.4Q996.1 851.6 990.2 845.7L945.3 812.5 947.3 791Q947.3 781.3 945.3 771.5L990.2 736.3Q996.1 730.5 992.2 722.7L951.2 650.4Q949.2 646.5 937.5 646.5L886.7 666Q865.2 652.3 851.6 646.5L843.8 591.8Q841.8 584 834 584H750ZM791 728.5Q818.4 728.5 835.9 747.1T853.5 792 835.9 835.9 792 853.5 747.1 835.9 728.5 792 747.1 747.1 791 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cog\"\n      ]\n    },\n    {\n      \"uid\": \"5cabb8553f0f55651a6af3be66a9e521\",\n      \"css\": \"file-cog-outline\",\n      \"code\": 987260,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H500V834H250V166H541V375H750V500H834V334L584 84H250ZM750 584Q740.2 584 738.3 591.8L730.5 646.5 695.3 666 644.5 646.5Q634.8 646.5 630.9 650.4L589.8 722.7Q585.9 730.5 591.8 736.3L636.7 771.5Q634.8 781.3 634.8 792T636.7 812.5L591.8 845.7Q585.9 851.6 589.8 859.4L630.9 931.6Q632.8 937.5 644.5 937.5L695.3 916Q714.8 929.7 730.5 935.5L738.3 992.2Q740.2 1000 750 1000H834Q841.8 1000 843.8 992.2L851.6 935.5Q867.2 929.7 886.7 916L937.5 937.5Q949.2 937.5 951.2 931.6L992.2 859.4Q996.1 851.6 990.2 845.7L945.3 812.5 947.3 791Q947.3 781.3 945.3 771.5L990.2 736.3Q996.1 730.5 992.2 722.7L951.2 650.4Q949.2 646.5 937.5 646.5L886.7 666Q865.2 652.3 851.6 646.5L843.8 591.8Q841.8 584 834 584H750ZM791 728.5Q818.4 728.5 835.9 747.1T853.5 792 835.9 835.9 792 853.5 747.1 835.9 728.5 792 747.1 747.1 791 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2427902ca726e86617e277f2fbbe5304\",\n      \"css\": \"folder-settings\",\n      \"code\": 987261,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM291 916V1000H375V916H291ZM459 916V1000H541V916H459ZM625 916V1000H709V916H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-settings\"\n      ]\n    },\n    {\n      \"uid\": \"b0c568a9bce84d7b4e72ff9c9444d6f1\",\n      \"css\": \"folder-settings-outline\",\n      \"code\": 987262,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM166 334H834V750H166V334ZM291 916V1000H375V916H291ZM459 916V1000H541V916H459ZM625 916V1000H709V916H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b65769bd125534c108e4f3035c7e2696\",\n      \"css\": \"folder-cog\",\n      \"code\": 987263,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H503.9Q500 812.5 500 791 500 712.9 539.1 645.5T645.5 539.1 791 500Q857.4 500 916 529.3V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM750 584Q740.2 584 738.3 591.8L730.5 646.5 695.3 666 644.5 646.5Q634.8 646.5 630.9 650.4L589.8 722.7Q585.9 730.5 591.8 736.3L636.7 771.5Q634.8 781.3 634.8 792T636.7 812.5L591.8 845.7Q585.9 851.6 589.8 859.4L630.9 931.6Q632.8 937.5 644.5 937.5L695.3 916Q714.8 929.7 730.5 935.5L738.3 992.2Q740.2 1000 750 1000H834Q841.8 1000 843.8 992.2L851.6 935.5Q867.2 929.7 886.7 916L937.5 937.5Q949.2 937.5 951.2 931.6L992.2 859.4Q996.1 851.6 990.2 845.7L945.3 812.5 947.3 791Q947.3 781.3 945.3 771.5L990.2 736.3Q996.1 730.5 992.2 722.7L951.2 650.4Q949.2 646.5 937.5 646.5L886.7 666Q865.2 652.3 851.6 646.5L843.8 591.8Q841.8 584 834 584H750ZM791 728.5Q818.4 728.5 835.9 747.1T853.5 792 835.9 835.9 792 853.5 747.1 835.9 728.5 792 747.1 747.1 791 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-cog\"\n      ]\n    },\n    {\n      \"uid\": \"3eeed25ae75a7b5d5e158e46f34fba3f\",\n      \"css\": \"folder-cog-outline\",\n      \"code\": 987264,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H500V750H166V334H834V500H916V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM750 584Q740.2 584 738.3 591.8L730.5 646.5 695.3 666 644.5 646.5Q634.8 646.5 630.9 650.4L589.8 722.7Q585.9 730.5 591.8 736.3L636.7 771.5Q634.8 781.3 634.8 792T636.7 812.5L591.8 845.7Q585.9 851.6 589.8 859.4L630.9 931.6Q632.8 937.5 644.5 937.5L695.3 916Q714.8 929.7 730.5 935.5L738.3 992.2Q740.2 1000 750 1000H834Q841.8 1000 843.8 992.2L851.6 935.5Q867.2 929.7 886.7 916L937.5 937.5Q949.2 937.5 951.2 931.6L992.2 859.4Q996.1 851.6 990.2 845.7L945.3 812.5 947.3 791Q947.3 781.3 945.3 771.5L990.2 736.3Q996.1 730.5 992.2 722.7L951.2 650.4Q949.2 646.5 937.5 646.5L886.7 666Q865.2 652.3 851.6 646.5L843.8 591.8Q841.8 584 834 584H750ZM791 728.5Q818.4 728.5 835.9 747.1T853.5 792 835.9 835.9 792 853.5 747.1 835.9 728.5 792 747.1 747.1 791 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"da69a3d90eae4f8cd26bc24cc5fbdf29\",\n      \"css\": \"furigana-horizontal\",\n      \"code\": 987265,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 84Q310.5 84 280.3 114.3T250 187.5 280.3 260.7 353.5 291 427.7 260.7 459 187.5 427.7 114.3 353.5 84ZM646.5 84Q603.5 84 572.3 114.3T541 187.5 572.3 260.7 646.5 291 719.7 260.7 750 187.5 719.7 114.3 646.5 84ZM459 334V416H209V500H623Q609.4 535.2 579.1 576.2T505.9 652.3Q445.3 599.6 408.2 541H312.5Q351.6 625 443.4 707L240.2 869.1 291 933.6 507.8 761.7 722.7 933.6 773.4 869.1 572.3 707Q691.4 597.7 710.9 500H791V416H541V334H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"furigana-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"488b2ea4d249c20b65dd4ba32e0203ae\",\n      \"css\": \"furigana-vertical\",\n      \"code\": 987266,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 209V291H84V375H498Q484.4 410.2 454.1 451.2T380.9 527.3Q320.3 474.6 283.2 416H187.5Q226.6 500 318.4 582L115.2 744.1 166 808.6 382.8 636.7 597.7 808.6 648.4 744.1 447.3 582Q566.4 472.7 585.9 375H666V291H416V209H334ZM812.5 250Q769.5 250 739.3 280.3T709 353.5 739.3 427.7 812.5 459 885.7 427.7 916 353.5 885.7 280.3 812.5 250ZM810.5 541Q767.6 541 737.3 572.3T707 646.5 737.3 719.7 810.5 750 884.8 719.7 916 646.5 884.8 572.3 810.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"furigana-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"d43d74a41355825553e60da6d24cef2b\",\n      \"css\": \"golf-tee\",\n      \"code\": 987267,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 791V709H709V791H625Q591.8 791 566.4 816.4T541 875V916H459V875Q459 841.8 433.6 816.4T375 791H291ZM459 250Q459 232.4 470.7 220.7T500 209 529.3 220.7 541 250 529.3 279.3 500 291 470.7 279.3 459 250ZM541 334Q541 316.4 553.7 303.7T583 291 612.3 303.7 625 333 612.3 362.3 583 375 553.7 362.3 541 334ZM375 334Q375 316.4 387.7 303.7T417 291 446.3 303.7 459 333 446.3 362.3 417 375 387.7 362.3 375 334ZM705.1 169.9Q621.1 87.9 500 87.9T294.9 169.9Q253.9 212.9 231.4 264.6T209 375Q209 496.1 292 579.1T496.1 662.1 700.2 579.1 783.2 375Q783.2 244.1 705.1 169.9ZM646.5 521.5Q584 584 500 584 459 584 419.9 567.4T353.5 521.5Q291 451.2 291 375 291 285.2 353.5 228.5 423.8 166 500 166 589.8 166 646.5 228.5 709 298.8 709 375 709 464.8 646.5 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"golf-tee\"\n      ]\n    },\n    {\n      \"uid\": \"11f0905e976f832ec7f078a1eb2e905c\",\n      \"css\": \"lungs\",\n      \"code\": 987268,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 128.9Q630.9 121.1 613.3 127T587.9 148.4Q584 156.3 584 166V275.4L554.7 244.1Q541 232.4 541 216.8V41H459V214.8Q459 232.4 445.3 244.1L416 275.4V166Q416 148.4 404.3 136.7T375 125Q365.2 125 355.5 128.9 234.4 189.5 159.2 334T84 656.3Q84 777.3 125 888.7 130.9 904.3 146.5 912.1T179.7 914.1L396.5 794.9Q416 783.2 416 757.8V392.6L470.7 337.9Q482.4 326.2 500 326.2T529.3 337.9L584 392.6V757.8Q584 781.3 603.5 794.9L816.4 912.1Q832 919.9 848.6 915T873 894.5L875 888.7Q916 777.3 916 656.3 916 478.5 840.8 334T644.5 128.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lungs\"\n      ]\n    },\n    {\n      \"uid\": \"b716f8461f6625f1abc39839e3164b40\",\n      \"css\": \"math-log\",\n      \"code\": 987269,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 291Q714.8 291 690.4 315.4T666 375V625Q666 660.2 690.4 684.6T750 709H834Q867.2 709 891.6 684.6T916 625V459H834V625H750V375H916V291H750ZM84 291V709H334V625H166V291H84ZM459 291Q423.8 291 399.4 315.4T375 375V625Q375 660.2 399.4 684.6T459 709H541Q576.2 709 600.6 684.6T625 625V375Q625 339.8 600.6 315.4T541 291H459ZM459 375H541V625H459V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"math-log\"\n      ]\n    },\n    {\n      \"uid\": \"99a059e5a1cf02ddc5c609955db8cf4e\",\n      \"css\": \"moped\",\n      \"code\": 987270,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q808.6 625 821.3 637.7T834 667 821.3 696.3 792 709 762.7 696.3 750 667 762.7 637.7 791 625ZM791 541Q740.2 541 703.1 578.1T666 667 703.1 754.9 792 791 879.9 754.9 916 667 879.9 578.1 791 541ZM416 250H209V334H416V250ZM709 209H584V291H709V402.3L562.5 584H416V375H250Q181.6 375 132.8 423.8T84 541V666H166Q166 718.8 203.1 754.9T292 791 379.9 754.9 416 666H603.5L791 431.6V291Q791 257.8 766.6 233.4T709 209ZM291 709Q275.4 709 262.7 696.3T250 666H334Q334 683.6 321.3 696.3T291 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"moped\"\n      ]\n    },\n    {\n      \"uid\": \"62a2a1ccadb7453b62df55bd78a97313\",\n      \"css\": \"router-network\",\n      \"code\": 987271,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 375Q173.8 375 149.4 399.4T125 459V625Q125 660.2 149.4 684.6T209 709H459V791H416Q400.4 791 387.7 803.7T375 834H84V916H375Q375 933.6 387.7 946.3T416 959H584Q599.6 959 612.3 946.3T625 916H916V834H625Q625 816.4 612.3 803.7T584 791H541V709H791Q826.2 709 850.6 684.6T875 625V459Q875 423.8 850.6 399.4T791 375H209ZM250 500H334V584H250V500ZM396.5 500H478.5V584H396.5V500ZM541 500H625V584H541V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"router-network\"\n      ]\n    },\n    {\n      \"uid\": \"548630b9e9d382c33b4bcd347e8d06e1\",\n      \"css\": \"roman-numeral-2\",\n      \"code\": 987273,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291V375H416V625H459V709H291V625H334V375H291V291H459ZM709 291V375H666V625H709V709H541V625H584V375H541V291H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-2\"\n      ]\n    },\n    {\n      \"uid\": \"121e733d5da47d2471f2f53267ea4209\",\n      \"css\": \"roman-numeral-3\",\n      \"code\": 987274,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291V375H334V625H375V709H209V625H250V375H209V291H375ZM584 291V375H541V625H584V709H416V625H459V375H416V291H584ZM791 291V375H750V625H791V709H625V625H666V375H625V291H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-3\"\n      ]\n    },\n    {\n      \"uid\": \"b512a0e20b2c9a344917177e46716b21\",\n      \"css\": \"roman-numeral-4\",\n      \"code\": 987275,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291L584 709H666L750 291H666L625 500 584 291H500ZM459 291V375H416V625H459V709H291V625H334V375H291V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-4\"\n      ]\n    },\n    {\n      \"uid\": \"97caae597f937534fda522f6daa55b19\",\n      \"css\": \"roman-numeral-6\",\n      \"code\": 987277,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291L334 709H416L500 291H416L375 500 334 291H250ZM709 291V375H666V625H709V709H541V625H584V375H541V291H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-6\"\n      ]\n    },\n    {\n      \"uid\": \"d3e586f2a7c01a43d14a487a231b4789\",\n      \"css\": \"roman-numeral-7\",\n      \"code\": 987278,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291L250 709H334L416 291H334L291 500 250 291H166ZM625 291V375H584V625H625V709H459V625H500V375H459V291H625ZM834 291V375H791V625H834V709H666V625H709V375H666V291H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-7\"\n      ]\n    },\n    {\n      \"uid\": \"b5f723dd54f1bb0bd213fecc878bd574\",\n      \"css\": \"roman-numeral-8\",\n      \"code\": 987279,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 291L125 709H209L291 291H209L166 500 125 291H41ZM500 291V375H459V625H500V709H334V625H375V375H334V291H500ZM709 291V375H666V625H709V709H541V625H584V375H541V291H709ZM916 291V375H875V625H916V709H750V625H791V375H750V291H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-8\"\n      ]\n    },\n    {\n      \"uid\": \"dabda9d640aea8964ff90b4f9e77785c\",\n      \"css\": \"roman-numeral-9\",\n      \"code\": 987280,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291V375H416V625H459V709H291V625H334V375H291V291H459ZM500 291L584 500 500 709H584L625 603.5 666 709H750L666 500 750 291H666L625 396.5 584 291H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"roman-numeral-9\"\n      ]\n    },\n    {\n      \"uid\": \"ce7c7ab9ce72991ddb9ebd3dcd7fb112\",\n      \"css\": \"soldering-iron\",\n      \"code\": 987282,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M203.1 168L84 285.2 216.8 418V537.1L275.4 595.7 511.7 359.4 453.1 300.8H335.9ZM709 250V312.5Q740.2 312.5 762.7 335T785.2 389.6 762.7 444.3 709 466.8V529.3Q777.3 529.3 826.2 579.1T875 699.2V875H937.5V699.2Q937.5 628.9 901.4 573.2T806.6 488.3Q847.7 447.3 847.7 389.6T806.6 291 709 250ZM498 462.9L378.9 580.1 585.9 787.1 615.2 757.8 703.1 845.7 791 875 761.7 787.1 673.8 699.2 703.1 668Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"soldering-iron\"\n      ]\n    },\n    {\n      \"uid\": \"995636a08fe57e9ba2939fa92b958697\",\n      \"css\": \"stomach\",\n      \"code\": 987283,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 750Q193.4 824.2 252 861.3 334 916 500 916 597.7 916 652.3 904.3 738.3 886.7 791 834 824.2 800.8 841.8 773.4 875 724.6 892.6 658.2 916 572.3 916 459 916 289.1 865.2 218.8 826.2 166 750 166 689.5 166 660.2 177.7 611.3 195.3 584 250V252Q572.3 271.5 550.8 282.2T505.9 289.1Q474.6 285.2 464.8 273.4 459 265.6 459 250V84H375V250Q373 302.7 410.2 339.8T500 375Q527.3 375 537.1 418 541 443.4 541 500 541 562.5 523.4 601.6 503.9 644.5 459 666 384.8 703.1 321.3 697.3T234.4 644.5Q222.7 611.3 189.5 603.5T129.9 620.1 90.8 678.7 84 750V916H166V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stomach\"\n      ]\n    },\n    {\n      \"uid\": \"5337662c4296e83a470acccc9b9afdf5\",\n      \"css\": \"table-eye\",\n      \"code\": 987284,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 703.1Q726.6 703.1 738.3 714.8T750 744.1 738.3 774.4 709 787.1 678.7 774.4 666 745.1 678.7 715.8 709 703.1ZM709 578.1Q793 578.1 860.4 624T959 744.1Q927.7 818.4 860.4 865.2T709 912.1 556.6 865.2 459 744.1Q488.3 669.9 556.6 624T709 578.1ZM709 640.6Q666 640.6 634.8 670.9T603.5 745.1 634.8 819.3 709 849.6 782.2 819.3 812.5 745.1 782.2 670.9 709 640.6ZM750 125H166Q132.8 125 108.4 149.4T84 209V709Q84 742.2 108.4 766.6T166 791H392.6Q382.8 773.4 375 750 382.8 726.6 392.6 709H166V541H416V666Q451.2 613.3 500 574.2V541H548.8Q623 500 709 500 773.4 500 834 525.4V209Q834 173.8 809.6 149.4T750 125ZM416 459H166V291H416V459ZM750 459H500V291H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-eye\"\n      ]\n    },\n    {\n      \"uid\": \"2339ee824720c1235a5cb899d6baae50\",\n      \"css\": \"form-textarea\",\n      \"code\": 987285,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 375H166V959H84V291H541V375ZM959 375V291H709V209Q709 191.4 720.7 178.7T750 166H834V84H728.5Q710.9 84 688.5 96.7T666 125Q666 109.4 644.5 96.7T603.5 84H500V166H584Q601.6 166 613.3 178.7T625 209V791Q625 808.6 613.3 821.3T584 834H500V916H603.5Q623 916 644.5 903.3T666 875Q666 890.6 688.5 903.3T728.5 916H834V834H750Q732.4 834 720.7 821.3T709 791V375H959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"form-textarea\"\n      ]\n    },\n    {\n      \"uid\": \"13c539386235ebcc7ed089a46ea85ec9\",\n      \"css\": \"trumpet\",\n      \"code\": 987286,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 250Q902.3 322.3 853.5 371.1 814.5 410.2 755.9 431.6 712.9 449.2 664.1 455.1L625 459H166Q140.6 459 109.4 437.5 93.8 427.7 84 416H41V584H84L95.7 572.3Q111.3 560.5 127 552.7 148.4 541 166 541H179.7Q166 560.5 166 584V666Q166 701.2 190.4 725.6T250 750H291V791H375V750H416V791H500V750H541V791H625V750H666Q701.2 750 725.6 725.6T750 666V584Q750 570.3 746.1 566.4 886.7 615.2 916 750H959V250H916ZM250 687.5Q240.2 687.5 234.4 681.6T228.5 666V584Q228.5 574.2 234.4 568.4T250 562.5H291V687.5H250ZM375 687.5V562.5H416V687.5H375ZM500 687.5V562.5H541V687.5H500ZM687.5 666Q687.5 675.8 681.6 681.6T666 687.5H625V562.5H666Q675.8 562.5 681.6 568.4T687.5 584V666ZM375 416H291V375H375V416ZM500 416H416V375H500V416ZM625 416H541V375H625V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"trumpet\"\n      ]\n    },\n    {\n      \"uid\": \"d9ffe2f039ed30d95a48d974a6e94df9\",\n      \"css\": \"account-cash\",\n      \"code\": 987287,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 334Q459 402.3 410.2 451.2T292 500 173.8 451.2 125 333 173.8 214.8 292 166 410.2 214.8 459 334ZM459 613.3V834H0V750Q0 705.1 39.1 667T145.5 606.4 291 584Q382.8 584 459 613.3ZM1000 834H541V125H1000V834ZM666 478.5Q666 435.5 697.3 405.3T771.5 375 844.7 405.3 875 478.5 844.7 552.7 771.5 584 697.3 552.7 666 478.5ZM916 291Q882.8 291 858.4 266.6T834 209H709Q709 242.2 684.6 266.6T625 291V666Q660.2 666 684.6 690.4T709 750H834Q834 714.8 858.4 690.4T916 666V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cash\"\n      ]\n    },\n    {\n      \"uid\": \"88c8a059b7057057b9fe4e2d67f38294\",\n      \"css\": \"account-cash-outline\",\n      \"code\": 987288,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 478.5Q666 435.5 697.3 405.3T771.5 375 844.7 405.3 875 478.5 844.7 552.7 771.5 584 697.3 552.7 666 478.5ZM541 125V834H1000V125H541ZM916 666Q882.8 666 858.4 690.4T834 750H709Q709 714.8 684.6 690.4T625 666V291Q660.2 291 684.6 266.6T709 209H834Q834 242.2 858.4 266.6T916 291V666ZM291 250Q326.2 250 350.6 274.4T375 333 350.6 391.6 292 416 233.4 391.6 209 333 233.4 274.4 291 250ZM291 166Q222.7 166 173.8 214.8T125 333 173.8 451.2 292 500 410.2 451.2 459 333 410.2 214.8 291 166ZM291 584Q212.9 584 145.5 606.4T39.1 667 0 750V834H459V750H84Q84 736.3 107.4 716.8 134.8 697.3 177.7 683.6 228.5 666 291 666 392.6 666 459 707V613.3Q382.8 584 291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cash-outline\"\n      ]\n    },\n    {\n      \"uid\": \"db1036597f0bca240aad811df7dea6ec\",\n      \"css\": \"air-humidifier\",\n      \"code\": 987289,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375Q388.7 375 339.8 423.8T291 542 339.8 660.2 458 709 576.2 660.2 625 542 576.2 423.8 459 375ZM459 625Q423.8 625 399.4 600.6T375 542 399.4 483.4 458 459 516.6 483.4 541 542 516.6 600.6 459 625ZM291 166H584Q652.3 166 701.2 214.8T750 334V375H666V334Q666 298.8 641.6 274.4T584 250H291Q257.8 250 233.4 274.4T209 334V834H666V750H750V916H125V334Q125 263.7 173.8 214.8T291 166ZM791 437.5Q802.7 451.2 812.5 462.9 837.9 494.1 853.5 521.5 875 558.6 875 584 875 617.2 850.6 641.6T792 666 733.4 641.6 709 583 750 490.2Q771.5 460.9 791 437.5V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"air-humidifier\"\n      ]\n    },\n    {\n      \"uid\": \"e293b2e95b3784b0e993d5e33af23b2c\",\n      \"css\": \"ansible\",\n      \"code\": 987290,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM669.9 709Q662.1 709 648.4 697.3L433.6 523.4 361.3 705.1H298.8L480.5 265.6Q488.3 248 506.8 248T533.2 265.6L699.2 666Q701.2 673.8 701.2 677.7 701.2 691.4 692.4 700.2T669.9 709ZM507.8 337.9L615.2 603.5 451.2 476.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ansible\"\n      ]\n    },\n    {\n      \"uid\": \"5491e49f4e93ad16679045c833aab07c\",\n      \"css\": \"api\",\n      \"code\": 987291,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 291H209Q173.8 291 149.4 315.4T125 375V709H209V541H291V709H375V375Q375 339.8 350.6 315.4T291 291ZM291 459H209V375H291V459ZM584 291H416V709H500V541H584Q617.2 541 641.6 516.6T666 459V375Q666 339.8 641.6 315.4T584 291ZM584 459H500V375H584V459ZM834 375V625H875V709H709V625H750V375H709V291H875V375H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"api\"\n      ]\n    },\n    {\n      \"uid\": \"23eaa4405a33cee83d66b04b51c07364\",\n      \"css\": \"bicycle\",\n      \"code\": 987292,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 416Q759.8 416 724.6 427.7L601.6 187.5H459V250H564.5L601.6 322.3 500 546.9 425.8 373Q435.5 369.1 441.4 361.3T447.3 341.8 438.5 321.3 416 312.5H334Q320.3 312.5 310.5 321.3T300.8 343.8 310.5 366.2 334 375H359.4L453.1 593.8H414.1Q402.3 517.6 343.8 466.8T209 416Q152.3 416 104.5 444.3T28.3 520.5 0 625 28.3 729.5 104.5 805.7 209 834Q285.2 834 343.8 783.2T414.1 656.3H521.5L636.7 392.6 669.9 457Q628.9 486.3 606.4 530.3T584 625Q584 681.6 611.3 729.5T686.5 805.7 791 834 895.5 805.7 971.7 729.5 1000 625 971.7 520.5 895.5 444.3 791 416ZM209 771.5Q148.4 771.5 105.5 728.5T62.5 625 105.5 521.5 209 478.5Q259.8 478.5 299.8 511.7T349.6 593.8H166V656.3H349.6Q339.8 705.1 299.8 738.3T209 771.5ZM791 771.5Q730.5 771.5 688.5 728.5T646.5 625Q646.5 591.8 660.2 563.5T699.2 513.7L773.4 660.2 828.1 630.9 753.9 484.4Q777.3 478.5 791 478.5 851.6 478.5 894.5 521.5T937.5 625 894.5 728.5 791 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bicycle\"\n      ]\n    },\n    {\n      \"uid\": \"8e0c84a4c2d3bf723a909c44f3b43766\",\n      \"css\": \"car-door-lock\",\n      \"code\": 987293,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H459L125 459V500H187.5Q250 500 301.8 536.1T384.8 634.8 416 771.5V875H916V166Q916 148.4 904.3 136.7T875 125ZM791 666H666V584H791V666ZM834 459H242.2L492.2 209H834V459ZM291 709V687.5Q291 644.5 260.7 614.3T187.5 584 114.3 614.3 84 687.5V709Q66.4 709 53.7 720.7T41 750V916Q41 933.6 53.7 946.3T84 959H291Q308.6 959 321.3 946.3T334 916V750Q334 732.4 321.3 720.7T291 709ZM257.8 709H117.2V687.5Q117.2 658.2 137.7 637.7T187.5 617.2 237.3 637.7 257.8 687.5V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-door-lock\"\n      ]\n    },\n    {\n      \"uid\": \"cd7ca7c6dd053baf55abd64a9f2ff656\",\n      \"css\": \"coat-rack\",\n      \"code\": 987294,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M763.7 324.2Q753.9 310.5 737.3 306.6T706.1 312.5 688.5 338.9 693.4 371.1Q709 392.6 708 418.9T691.4 466.8 649.4 496.1 597.7 495.1 556.6 464.8 541 416V326.2Q584 310.5 607.4 271.5T623 187.5 580.1 112.3 500 82 419.9 112.3 377 187.5 392.6 271.5 459 326.2V416Q459 443.4 443.4 464.8T402.3 495.1 350.6 496.1 308.6 466.8 292 418.9 306.6 371.1Q314.5 355.5 311.5 338.9T293.9 312.5 262.7 306.6 236.3 324.2Q203.1 373 208 430.7T252.9 530.3 350.6 581.1 459 560.5V834Q423.8 834 399.4 858.4T375 916H625Q625 882.8 600.6 858.4T541 834V560.5Q591.8 589.8 649.4 581.1T747.1 530.3 792 430.7 763.7 324.2ZM500 166Q511.7 166 522.5 173.8T538.1 192.4 541 215.8 530.3 237.3 508.8 249 484.4 247.1 465.8 231.4 459 209Q459 191.4 470.7 178.7T500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coat-rack\"\n      ]\n    },\n    {\n      \"uid\": \"5e041fbf7f4786ac9e4f4536e9b0a968\",\n      \"css\": \"coffee-maker\",\n      \"code\": 987295,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 41V166H291V875H875V959H84V125Q84 89.8 108.4 65.4T166 41H875ZM916 541V625Q916 660.2 891.6 684.6T834 709H750Q750 789.1 681.6 818.4 646.5 834 584 834T484.4 818.4Q416 789.1 416 709V459H834Q867.2 459 891.6 483.4T916 541ZM834 541H750V625H834V541ZM709 375L791 209H375L459 375H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee-maker\"\n      ]\n    },\n    {\n      \"uid\": \"268b99a395c6d3f9d8207f1dff297ca5\",\n      \"css\": \"concourse-ci\",\n      \"code\": 987296,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M455.1 503.9Q457 517.6 464.8 528.3T485.4 543 511.7 543 534.2 529.3 543.9 505.9 539.1 480.5 521.5 461.9 496.1 457Q478.5 457 466.8 471.7T455.1 503.9ZM564.5 550.8Q546.9 568.4 523.4 578.1V578.1Q541 646.5 578.1 705.1 558.6 714.8 539.1 720.7 523.4 724.6 509.8 726.6L490.2 728.5H478.5Q464.8 726.6 450.2 724.6T420.9 718.8 394.5 709 373 696.3 353.5 681.6L332 662.1 339.8 673.8 351.6 685.5Q359.4 693.4 368.2 701.2T388.7 716.8 415 731.4 445.3 743.2 476.6 752L511.7 753.9Q527.3 753.9 544.9 752 572.3 748 599.6 738.3 609.4 752 621.1 763.7L611.3 771.5H609.4Q607.4 771.5 609.4 771.5H611.3L595.7 777.3H596.7 597.7L576.2 787.1Q544.9 798.8 509.8 802.7 490.2 804.7 470.7 804.7L429.7 800.8Q390.6 793 353.5 773.4L335.9 763.7 320.3 753.9Q306.6 744.1 294.9 734.4T273.4 712.9L261.7 699.2 248 679.7 257.8 697.3Q261.7 705.1 270.5 716.8T290 740.2 314.5 763.7L330.1 775.4 345.7 787.1Q365.2 798.8 384.8 807.6T425.8 822.3L441.4 826.2 468.8 832Q490.2 834 511.7 834 550.8 834 589.8 824.2L625 812.5 627 810.5 652.3 798.8 689.5 830.1Q703.1 841.8 714.8 845.7 730.5 853.5 740.2 845.7T748 820.3Q748 808.6 742.2 793L736.3 779.3Q687.5 636.7 564.5 550.8ZM423.8 482.4V482.4Q357.4 462.9 287.1 462.9 289.1 425.8 306.6 390.6L320.3 365.2Q328.1 351.6 338.9 340.8T360.4 320.3 382.8 303.7 405.3 292 425.8 283.2L457 273.4 441.4 275.4 423.8 279.3Q414.1 281.3 402.3 285.2T377.9 294.9 351.6 308.6 325.2 327.1 302.7 349.6L281.3 377Q273.4 392.6 265.6 406.3 253.9 433.6 248 464.8V464.8Q230.5 466.8 214.8 468.8V451.2 451.2 453.1L216.8 435.5V437.5 437.5L218.8 421.9V421.9 416Q230.5 361.3 261.7 316.4L277.3 294.9 285.2 283.2Q312.5 253.9 349.6 232.4 355.5 228.5 365.2 224.6L382.8 216.8Q398.4 209 413.1 204.1T443.4 197.3L459 195.3 484.4 193.4H441.4Q427.7 193.4 411.1 197.3T378.9 205.1L341.8 220.7Q322.3 228.5 303.7 240.2T269.5 267.6L259.8 277.3 238.3 298.8Q224.6 316.4 212.9 335.9 193.4 369.1 181.6 406.3L171.9 445.3 168 478.5Q152.3 484.4 136.7 488.3L123 494.1Q105.5 500 95.7 507.8 82 517.6 84 532.2T113.3 556.6Q128.9 560.5 142.6 562.5V562.5Q289.1 591.8 425.8 531.3 419.9 507.8 423.8 482.4ZM820.3 451.2Q818.4 429.7 814.5 408.2L800.8 365.2Q793 345.7 781.3 326.2 761.7 293 734.4 263.7L728.5 259.8V257.8L716.8 248 679.7 220.7 691.4 169.9Q693.4 152.3 691.4 140.6 689.5 123 677.7 119.1T652.3 123Q640.6 130.9 630.9 142.6L621.1 154.3Q523.4 269.5 509.8 418 535.2 423.8 554.7 439.5 603.5 392.6 634.8 334 654.3 345.7 669.9 361.3 679.7 371.1 689.5 382.8L705.1 408.2Q718.8 435.5 724.6 464.8 728.5 478.5 729.5 492.2T729.5 517.6 726.6 539.1L718.8 570.3 730.5 541Q734.4 531.3 736.3 518.6T739.3 492.2 740.2 462.9Q738.3 429.7 726.6 398.4L712.9 367.2Q689.5 326.2 652.3 298.8L666 265.6 679.7 273.4Q681.6 273.4 679.7 272.5L677.7 271.5 687.5 279.3 691.4 281.3H689.5L703.1 289.1V289.1L709 293Q750 328.1 775.4 377L791 414.1Q798.8 433.6 801.8 454.1T806.6 494.1V513.7L804.7 531.3Q804.7 548.8 800.8 564.5T791 593.8Q791 601.6 787.1 611.3L777.3 632.8 796.9 595.7Q802.7 582 807.6 566.4T816.4 533.2L820.3 494.1Q822.3 472.7 820.3 451.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"concourse-ci\"\n      ]\n    },\n    {\n      \"uid\": \"03eaacb4c5215459b63457a34c445ba8\",\n      \"css\": \"decimal\",\n      \"code\": 987297,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291Q365.2 291 328.1 328.1T291 416V541Q291 593.8 328.1 629.9T417 666 504.9 629.9 541 541V416Q541 365.2 504.9 328.1T416 291ZM459 541Q459 558.6 446.3 571.3T416 584 386.7 571.3 375 541V416Q375 398.4 386.7 386.7T416 375 446.3 386.7 459 416V541ZM709 291Q656.3 291 620.1 328.1T584 416V541Q584 593.8 620.1 629.9T708 666 796.9 629.9 834 541V416Q834 365.2 796.9 328.1T709 291ZM750 541Q750 558.6 738.3 571.3T709 584 678.7 571.3 666 541V416Q666 398.4 678.7 386.7T709 375 738.3 386.7 750 416V541ZM250 625Q250 642.6 238.3 654.3T209 666 178.7 654.3 166 625 178.7 595.7 209 584 238.3 595.7 250 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decimal\"\n      ]\n    },\n    {\n      \"uid\": \"a333a8464a6159b5fe1505b4618cf27b\",\n      \"css\": \"decimal-comma\",\n      \"code\": 987298,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291Q468.8 291 504.9 328.1T541 416V541Q541 593.8 504.9 629.9T417 666 328.1 629.9 291 541V416Q291 365.2 328.1 328.1T416 291ZM416 375Q398.4 375 386.7 386.7T375 416V541Q375 558.6 386.7 571.3T416 584 446.3 571.3 459 541V416Q459 398.4 446.3 386.7T416 375ZM709 291Q759.8 291 796.9 328.1T834 416V541Q834 593.8 796.9 629.9T708 666 620.1 629.9 584 541V416Q584 365.2 620.1 328.1T709 291ZM709 375Q691.4 375 678.7 386.7T666 416V541Q666 558.6 678.7 571.3T709 584 738.3 571.3 750 541V416Q750 398.4 738.3 386.7T709 375ZM209 584Q191.4 584 178.7 595.7T166 625L209 750H250V625Q250 607.4 238.3 595.7T209 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decimal-comma\"\n      ]\n    },\n    {\n      \"uid\": \"7c6fccd7bf12d51d84e5eaab520395c2\",\n      \"css\": \"decimal-comma-decrease\",\n      \"code\": 987299,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 541V666H166L125 541Q125 523.4 136.7 511.7T166 500 196.3 511.7 209 541ZM625 666V584L500 709 625 834V750H875V666H625ZM500 459Q500 509.8 463.9 546.9T375 584 286.1 546.9 250 459V334Q250 281.3 286.1 245.1T375 209 463.9 245.1 500 334V459ZM416 334Q416 316.4 404.3 303.7T375 291 345.7 303.7 334 334V459Q334 476.6 345.7 488.3T375 500 404.3 488.3 416 459V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decimal-comma-decrease\"\n      ]\n    },\n    {\n      \"uid\": \"be9fe6b8679e22cac965cb37baac7eec\",\n      \"css\": \"decimal-comma-increase\",\n      \"code\": 987300,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 209Q322.3 209 286.1 245.1T250 334V459Q250 509.8 286.1 546.9T375 584 463.9 546.9 500 459V334Q500 281.3 463.9 245.1T375 209ZM416 459Q416 476.6 404.3 488.3T375 500 345.7 488.3 334 459V334Q334 316.4 345.7 303.7T375 291 404.3 303.7 416 334V459ZM666 584Q718.8 584 754.9 546.9T791 459V334Q791 281.3 754.9 245.1T667 209 578.1 245.1 541 334V459Q541 509.8 578.1 546.9T666 584ZM625 334Q625 316.4 636.7 303.7T666 291 696.3 303.7 709 334V459Q709 476.6 696.3 488.3T666 500 636.7 488.3 625 459V334ZM791 834V750H541V666H791V584L916 709ZM209 541V666H166L125 541Q125 523.4 136.7 511.7T166 500 196.3 511.7 209 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"decimal-comma-increase\"\n      ]\n    },\n    {\n      \"uid\": \"88049f3ef5a5e8738de0d121d1433143\",\n      \"css\": \"delete-alert\",\n      \"code\": 987301,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 166V250H125V166H271.5L312.5 125H521.5L562.5 166H709ZM166 791V291H666V791Q666 826.2 641.6 850.6T584 875H250Q214.8 875 190.4 850.6T166 791ZM791 666H875V750H791V666ZM791 375H875V584H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-alert\"\n      ]\n    },\n    {\n      \"uid\": \"453ad43a0f35ee9da179d1baf419a856\",\n      \"css\": \"delete-alert-outline\",\n      \"code\": 987302,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 791V291H666V791Q666 826.2 641.6 850.6T584 875H250Q214.8 875 190.4 850.6T166 791ZM250 375V791H584V375H250ZM562.5 166H709V250H125V166H271.5L312.5 125H521.5ZM791 750V666H875V750H791ZM791 584V375H875V584H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"97b423299759b29f92cb982d9d90188c\",\n      \"css\": \"delete-off\",\n      \"code\": 987303,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 718.8 855.5Q697.3 875 666 875H334Q298.8 875 274.4 850.6T250 791V386.7ZM791 166V250H326.2L242.2 166H353.5L396.5 125H603.5L646.5 166H791ZM750 291V673.8L367.2 291H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-off\"\n      ]\n    },\n    {\n      \"uid\": \"e6e87ac67ded2f84d08c6fdcb47c0917\",\n      \"css\": \"delete-off-outline\",\n      \"code\": 987304,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 218.8L136.7 166 834 863.3 781.3 916 718.8 855.5Q697.3 875 666 875H334Q298.8 875 274.4 850.6T250 791V386.7ZM334 791H656.3L334 468.8V791ZM750 291V673.8L666 591.8V375H451.2L367.2 291H750ZM646.5 166H791V250H326.2L242.2 166H353.5L396.5 125H603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"delete-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"69f5afebcf98bb21ccf2fc377b70c71d\",\n      \"css\": \"dock-bottom\",\n      \"code\": 987305,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 541H166V250H834V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dock-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"fc7e69daab17927d642d0d6b38ee5085\",\n      \"css\": \"dock-left\",\n      \"code\": 987306,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM834 750H375V250H834V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dock-left\"\n      ]\n    },\n    {\n      \"uid\": \"e5428e4b3605f07bedede96a5ba8d0c6\",\n      \"css\": \"dock-right\",\n      \"code\": 987307,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM625 750H166V250H625V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dock-right\"\n      ]\n    },\n    {\n      \"uid\": \"f5c85464874ae6ea89973c688eba6563\",\n      \"css\": \"dock-window\",\n      \"code\": 987308,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 750V834H166Q132.8 834 108.4 809.6T84 750V334H166V750H750ZM916 250V584Q916 617.2 891.6 641.6T834 666H334Q298.8 666 274.4 641.6T250 584V250Q250 214.8 274.4 190.4T334 166H834Q867.2 166 891.6 190.4T916 250ZM834 250H334V584H834V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dock-window\"\n      ]\n    },\n    {\n      \"uid\": \"51427e58398fb8b61ffde5d6b708eb41\",\n      \"css\": \"domain-plus\",\n      \"code\": 987309,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291V125H84V875H556.6Q541 834 541 791H500V709H556.6Q566.4 679.7 584 654.3V625H500V541H584V459H500V375H834V544.9Q877 552.7 916 576.2V291H500ZM250 791H166V709H250V791ZM250 625H166V541H250V625ZM250 459H166V375H250V459ZM250 291H166V209H250V291ZM416 791H334V709H416V791ZM416 625H334V541H416V625ZM416 459H334V375H416V459ZM416 291H334V209H416V291ZM666 541H750V459H666V541ZM666 459V541H750V459H666ZM666 459V541H750V459H666ZM834 625V750H959V834H834V959H750V834H625V750H750V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"domain-plus\"\n      ]\n    },\n    {\n      \"uid\": \"193efcf49f3dd4a4acf9f2c93a2086f6\",\n      \"css\": \"domain-remove\",\n      \"code\": 987310,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 291V125H84V875H556.6Q541 834 541 791H500V709H556.6Q566.4 679.7 584 654.3V625H500V541H584V459H500V375H834V544.9Q877 552.7 916 576.2V291H500ZM250 791H166V709H250V791ZM250 625H166V541H250V625ZM250 459H166V375H250V459ZM250 291H166V209H250V291ZM416 791H334V709H416V791ZM416 625H334V541H416V625ZM416 459H334V375H416V459ZM416 291H334V209H416V291ZM666 541H750V459H666V541ZM666 459V541H750V459H666ZM666 459V541H750V459H666ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"domain-remove\"\n      ]\n    },\n    {\n      \"uid\": \"18dd29a6cb9dd2a5e6e7205a1345cadf\",\n      \"css\": \"door-closed-lock\",\n      \"code\": 987311,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 459H750V541H666V459ZM500 125H791Q826.2 125 850.6 149.4T875 209V791H916V875H84V791H416V209Q416 173.8 440.4 149.4T500 125ZM500 209V791H791V209H500ZM257.8 209H117.2V187.5Q117.2 158.2 137.7 137.7T187.5 117.2 237.3 137.7 257.8 187.5V209ZM291 209V187.5Q291 144.5 260.7 114.3T187.5 84 114.3 114.3 84 187.5V209Q66.4 209 53.7 220.7T41 250V416Q41 433.6 53.7 446.3T84 459H291Q308.6 459 321.3 446.3T334 416V250Q334 232.4 321.3 220.7T291 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"door-closed-lock\"\n      ]\n    },\n    {\n      \"uid\": \"eea7f6523966d3a25ce8e287f2c6125b\",\n      \"css\": \"download-off\",\n      \"code\": 987312,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L753.9 834H209V750H671.9L544.9 623 500 666 209 375H296.9L46.9 125 99.6 72.3 921.9 894.5ZM791 375H625V125H375V242.2L650.4 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-off\"\n      ]\n    },\n    {\n      \"uid\": \"09ef45ef036f45a87ec21540532647bf\",\n      \"css\": \"download-off-outline\",\n      \"code\": 987313,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 296.9 375H209L500 666 544.9 623 671.9 750H209V834H753.9L869.1 947.3ZM459 209H541V408.2L650.4 517.6 791 375H625V125H375V242.2L459 324.2V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"abff9d7d4d97d29dd6143f4f36d06479\",\n      \"css\": \"flag-minus-outline\",\n      \"code\": 987314,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M515.6 250L531.3 334H750V584H609.4L593.8 500H291V250H515.6ZM584 166H209V875H291V584H525.4L541 666H834V250H599.6ZM959 750H625V834H959V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6dff2106f990e3c922e7d3882efdbeca\",\n      \"css\": \"flag-plus-outline\",\n      \"code\": 987315,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 666L525.4 584H291V875H209V166H584L599.6 250H834V544.9Q808.6 541 792 541T750 544.9V334H531.3L515.6 250H291V500H593.8L609.4 584H654.3Q605.5 615.2 576.2 666H541ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"af75f091704529705675ce920b843a62\",\n      \"css\": \"flag-remove-outline\",\n      \"code\": 987316,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 666L525.4 584H291V875H209V166H584L599.6 250H834V544.9Q808.6 541 792 541T750 544.9V334H531.3L515.6 250H291V500H593.8L609.4 584H654.3Q605.5 615.2 576.2 666H541ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flag-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6c904f942e70e3bf3391298a59fc76bd\",\n      \"css\": \"folder-home\",\n      \"code\": 987317,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM709 541V709H625V584H541V709H459V541H375L584 375 791 541H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-home\"\n      ]\n    },\n    {\n      \"uid\": \"d18962ecde9db7819b68294edc9f47f1\",\n      \"css\": \"folder-home-outline\",\n      \"code\": 987318,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM834 750H166V334H834V750ZM541 709V584H625V709H709V541H791L584 375 375 541H459V709H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-home-outline\"\n      ]\n    },\n    {\n      \"uid\": \"678e68711a4dc7a2a6a46eea026cdddc\",\n      \"css\": \"folder-information\",\n      \"code\": 987319,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 462.9V334Q875 298.8 850.6 274.4T791 250H459L375 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H429.7Q468.8 892.6 533.2 925.8T666 959Q746.1 959 813.5 919.9T919.9 813.5 959 666Q959 609.4 937.5 555.7T875 462.9ZM666 875Q580.1 875 519.5 814.5T459 667 519.5 519.5 667 459 814.5 519.5 875 667 814.5 814.5 666 875ZM709 834H625V625H709V834ZM709 584H625V500H709V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-information\"\n      ]\n    },\n    {\n      \"uid\": \"e1b5d6139b0fc4bc298fa607ac38e941\",\n      \"css\": \"folder-information-outline\",\n      \"code\": 987320,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 462.9V334Q875 298.8 850.6 274.4T791 250H459L375 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H425.8Q462.9 890.6 527.3 924.8T666 959Q746.1 959 813.5 919.9T919.9 813.5 959 666Q959 609.4 936.5 556.6T875 462.9ZM386.7 750H125V334H791V404.3Q738.3 375 666 375 585.9 375 519.5 414.1T414.1 519.5 375 666Q375 712.9 386.7 750ZM666 875Q580.1 875 519.5 814.5T459 667 519.5 519.5 667 459 814.5 519.5 875 667 814.5 814.5 666 875ZM709 584H625V500H709V584ZM709 834H625V625H709V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-information-outline\"\n      ]\n    },\n    {\n      \"uid\": \"27f2de74e9e7aba67fa440f1cb88866f\",\n      \"css\": \"iv-bag\",\n      \"code\": 987321,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 41H416Q345.7 41 296.9 54.7 257.8 64.5 234.4 84 218.8 95.7 210.9 111.3L209 125V625L210.9 638.7Q218.8 654.3 234.4 666 257.8 685.5 296.9 695.3 345.7 709 416 709V791H459V834Q459 878.9 486.3 914.1 521.5 959 584 959H750V875H584Q541 875 541 834V791H584V709Q654.3 709 703.1 695.3 742.2 685.5 765.6 666 781.3 654.3 789.1 638.7L791 625V125L789.1 111.3Q781.3 95.7 765.6 84 742.2 64.5 703.1 54.7 654.3 41 584 41ZM709 500H584V459H709V500ZM709 209H584V250H709V334H584V375H709V416H291V146.5Q326.2 125 416 125H584Q673.8 125 709 146.5V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iv-bag\"\n      ]\n    },\n    {\n      \"uid\": \"f7f1ed53e87eae8deba0ee30a888c687\",\n      \"css\": \"link-lock\",\n      \"code\": 987322,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 666V646.5Q959 603.5 927.7 572.3T853.5 541 780.3 572.3 750 646.5V666Q732.4 666 720.7 678.7T709 709V875Q709 892.6 720.7 904.3T750 916H959Q976.6 916 988.3 904.3T1000 875V709Q1000 691.4 988.3 678.7T959 666ZM916 666H791V646.5Q791 619.1 809.6 601.6T854.5 584 898.4 601.6 916 646.5V666ZM291 371.1H459V291H291Q234.4 291 186.5 319.3T111.3 395.5 84 500 111.3 604.5 186.5 680.7 291 709H459V628.9H291Q238.3 628.9 200.2 590.8T162.1 500 200.2 409.2 291 371.1ZM334 459V541H666V459H334ZM541 628.9V709H625V628.9H541ZM709 291H541V371.1H709Q750 371.1 784.2 395.5T830.1 459Q841.8 457 853.5 459H912.1Q898.4 384.8 840.8 337.9T709 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-lock\"\n      ]\n    },\n    {\n      \"uid\": \"50394c9c02e2370f73119c75883a50a1\",\n      \"css\": \"message-plus-outline\",\n      \"code\": 987323,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666ZM666 375V459H541V584H459V459H334V375H459V250H541V375H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"511126f83055b13d718b4a22bd07bc9c\",\n      \"css\": \"phone-cancel\",\n      \"code\": 987324,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M275.4 449.2Q320.3 537.1 391.6 608.4T550.8 724.6L642.6 632.8Q660.2 615.2 685.5 623 755.9 646.5 834 646.5 849.6 646.5 862.3 658.2T875 687.5V834Q875 849.6 862.3 862.3T834 875Q640.6 875 476.6 777.3 316.4 683.6 222.7 523.4 125 359.4 125 166 125 150.4 137.7 137.7T166 125H312.5Q330.1 125 341.8 137.7T353.5 166Q353.5 244.1 377 314.5 384.8 339.8 367.2 357.4ZM687.5 84Q609.4 84 554.7 138.7T500 271.5 554.7 404.3 687.5 459 820.3 404.3 875 271.5 820.3 138.7 687.5 84ZM687.5 396.5Q634.8 396.5 598.6 359.4T562.5 271.5Q562.5 236.3 580.1 209L750 378.9Q722.7 396.5 687.5 396.5ZM794.9 334L625 164.1Q652.3 146.5 687.5 146.5 740.2 146.5 776.4 182.6T812.5 271.5Q812.5 306.6 794.9 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"5c4ac322a8b03a77b9b42ad6df810a06\",\n      \"css\": \"smart-card\",\n      \"code\": 987325,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125H916Q951.2 127 974.6 150.4T1000 209V791Q998 826.2 974.6 849.6T916 875H84Q48.8 873 25.4 849.6T0 791V209Q2 173.8 25.4 150.4T84 125ZM334 580.1Q287.1 580.1 232.4 593.8 168 611.3 128.9 638.7 84 669.9 84 709V750H584V709Q584 669.9 537.1 638.7 498 611.3 435.5 593.8 378.9 580.1 334 580.1ZM334 250Q281.3 250 245.1 286.1T209 375 245.1 463.9 333 500 421.9 463.9 459 375 421.9 286.1 334 250ZM709 416V541H875V416H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smart-card\"\n      ]\n    },\n    {\n      \"uid\": \"1841d380a05d9bfead31cfe42db97130\",\n      \"css\": \"smart-card-outline\",\n      \"code\": 987326,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125H84Q48.8 127 25.4 150.4T0 209V791Q2 826.2 25.4 849.6T84 875H916Q951.2 873 974.6 849.6T1000 791V209Q998 173.8 974.6 150.4T916 125ZM916 791H84V209H916V791ZM584 709V656.3Q584 625 544.9 597.7 511.7 576.2 459 564.5 414.1 552.7 375 552.7T291 564.5Q238.3 576.2 205.1 597.7 166 625 166 656.3V709H584ZM375 291Q332 291 301.8 322.3T271.5 396.5 301.8 469.7 375 500 448.2 469.7 478.5 396.5 448.2 322.3 375 291ZM625 416V541H791V416H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smart-card-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fee3f93416d163df021ccfbef65ac6b9\",\n      \"css\": \"smart-card-reader\",\n      \"code\": 987327,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 166Q873 132.8 849.6 108.4T791 84H209Q173.8 84 150.4 108.4T125 166V750H875V166ZM343.8 666H291V250H343.8Q375 250 402.3 289.1 423.8 320.3 435.5 373 447.3 419.9 447.3 458T435.5 543Q423.8 595.7 402.3 628.9 375 666 343.8 666ZM603.5 562.5Q560.5 562.5 530.3 532.2T500 459 530.3 384.8 603.5 353.5 677.7 384.8 709 459 677.7 532.2 603.5 562.5ZM959 875V916H41V875Q41 839.8 65.4 815.4T125 791H875Q910.2 791 934.6 815.4T959 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smart-card-reader\"\n      ]\n    },\n    {\n      \"uid\": \"bb3024b59c278dc8c0d5d009961832e7\",\n      \"css\": \"smart-card-reader-outline\",\n      \"code\": 987328,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 353.5Q560.5 353.5 530.3 384.8T500 459 530.3 532.2 603.5 562.5 677.7 532.2 709 459 677.7 384.8 603.5 353.5ZM343.8 250H291V666H343.8Q375 666 402.3 628.9 423.8 595.7 435.5 543 447.3 496.1 447.3 458T435.5 373Q423.8 320.3 402.3 289.1 375 250 343.8 250ZM791 84H209Q173.8 84 150.4 108.4T125 166V750H209V166H791V750H875V166Q873 132.8 849.6 108.4T791 84ZM959 916H41V875Q41 839.8 65.4 815.4T125 791H875Q910.2 791 934.6 815.4T959 875V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smart-card-reader-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e0d9313ab05a7c16c63d5c255e536a4d\",\n      \"css\": \"storefront-outline\",\n      \"code\": 987329,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M210.9 125Q183.6 125 160.2 142.6T130.9 187.5L87.9 371.1Q72.3 439.5 113.3 490.2L125 502V791Q125 826.2 151.4 850.6T209 875H791Q826.2 875 850.6 848.6T875 791V502L886.7 490.2Q927.7 439.5 912.1 371.1L869.1 187.5Q861.3 160.2 838.9 142.6T789.1 125H210.9ZM787.1 207L832 390.6Q837.9 418 821.3 438.5T783.2 459 748 444.3 732.4 410.2L707 209ZM210.9 209H293L267.6 410.2Q259.8 459 218.8 459 193.4 459 179.7 439.5 162.1 418 168 390.6ZM377 209H459V404.3Q459 425.8 443.4 442.4T405.3 459 368.2 441.4 353.5 402.3V396.5ZM541 209H623L646.5 396.5Q650.4 421.9 634.8 440.4T591.8 459Q572.3 459 556.6 442.4T541 404.3V209ZM310.5 502Q351.6 541 408.2 541 460.9 541 500 502 544.9 541 596.7 541T689.5 502Q724.6 541 783.2 541H793V791H209V541H218.8Q275.4 541 310.5 502Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"storefront-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ceac5128d3ed043cbca398b762503a8f\",\n      \"css\": \"thermometer-high\",\n      \"code\": 987330,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541V209Q625 156.3 588.9 120.1T500 84 411.1 120.1 375 209V541Q320.3 582 300.8 646.5T302.7 774.4 378.9 877 500 916 621.1 877 697.3 774.4 699.2 646.5 625 541ZM500 166Q517.6 166 529.3 178.7T541 209H459Q459 191.4 470.7 178.7T500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-high\"\n      ]\n    },\n    {\n      \"uid\": \"f4d6357fa5d7a7ef7d2dfccab55b99ba\",\n      \"css\": \"thermometer-low\",\n      \"code\": 987331,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 541V209Q625 156.3 588.9 120.1T500 84 411.1 120.1 375 209V541Q320.3 582 300.8 646.5T302.7 774.4 378.9 877 500 916 621.1 877 697.3 774.4 699.2 646.5 625 541ZM500 166Q517.6 166 529.3 178.7T541 209V500H459V209Q459 191.4 470.7 178.7T500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"thermometer-low\"\n      ]\n    },\n    {\n      \"uid\": \"3240410f06a874ee79cda7d7a03971f1\",\n      \"css\": \"ufo\",\n      \"code\": 987332,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M664.1 427.7Q656.3 351.6 609.4 300.8T500 250 390.6 300.8 335.9 427.7Q222.7 445.3 153.3 481.4T84 562.5Q84 601.6 139.6 635.7T291 689.5 500 709 709 689.5 860.4 635.7 916 562.5Q916 517.6 846.7 481.4T664.1 427.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ufo\"\n      ]\n    },\n    {\n      \"uid\": \"6843b37b2ba0f047f0b533fee9679e9a\",\n      \"css\": \"ufo-outline\",\n      \"code\": 987333,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 439.5Q701.2 341.8 641.6 275.4T500 209 358.4 275.4 291 439.5Q195.3 460.9 139.6 499T84 583 139.6 667 291 727.5 500 750 709 727.5 860.4 667 916 583 860.4 499 709 439.5ZM623 494.1Q500 505.9 377 494.1 375 472.7 375 459 375 388.7 412.1 339.8T500 291 587.9 339.8 625 459Q625 482.4 623 494.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ufo-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e283d7933f78fc14f06796fcc40fa836\",\n      \"css\": \"upload-off\",\n      \"code\": 987334,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 273.4 351.6 209 416H337.9L375 453.1V666H587.9L671.9 750H209V834H753.9L869.1 947.3ZM625 416H791L500 125 378.9 246.1 625 492.2V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-off\"\n      ]\n    },\n    {\n      \"uid\": \"71918075156e7c5edd57b8c018b7ab97\",\n      \"css\": \"upload-off-outline\",\n      \"code\": 987335,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 273.4 351.6 209 416H337.9L375 453.1V666H587.9L671.9 750H209V834H753.9L869.1 947.3ZM459 584V537.1L503.9 584H459ZM500 242.2L591.8 334H541V408.2L625 492.2V416H791L500 125 378.9 246.1 437.5 304.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"24c3794521b7ff4ef8e2bf4bd46cca81\",\n      \"css\": \"account-child-outline\",\n      \"code\": 987336,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 709Q464.8 709 440.4 684.6T416 625 440.4 565.4 500 541 559.6 565.4 584 625 559.6 684.6 500 709ZM500 416Q554.7 416 619.1 433.6 693.4 451.2 738.3 480.5 791 517.6 791 562.5V775.4Q791 826.2 722.7 867.2V556.6Q722.7 544.9 688.5 526.4T605.5 496.1Q550.8 480.5 500 480.5T394.5 496.1Q345.7 507.8 311.5 526.4T277.3 556.6V781.3Q277.3 789.1 295.9 801.8T345.7 826.2Q365.2 802.7 418 787.1 460.9 773.4 500 773.4 552.7 773.4 603.5 794.9 666 818.4 666 857.4V890.6Q625 906.3 580.1 914.1T500 921.9 419.9 914.1 334 890.6V890.6Q277.3 871.1 246.1 843.8 209 812.5 209 775.4V562.5Q209 517.6 261.7 480.5 306.6 451.2 380.9 433.6 445.3 416 500 416ZM500 156.3Q468.8 156.3 448.2 177.7T427.7 229.5 448.2 281.3 500 302.7 551.8 281.3 572.3 229.5 551.8 177.7 500 156.3ZM500 375Q439.5 375 396.5 332T353.5 228.5 396.5 126 500 84 603.5 126 646.5 228.5 603.5 332 500 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-child-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a7fe9ac5811cfde24f319dc494ba0d01\",\n      \"css\": \"account-settings-outline\",\n      \"code\": 987337,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 617.2 214.8T666 333 617.2 451.2 500 500 382.8 451.2 334 333 382.8 214.8 500 166ZM500 250Q464.8 250 440.4 274.4T416 333 440.4 391.6 500 416 559.6 391.6 584 333 559.6 274.4 500 250ZM500 541Q562.5 541 636.7 560.5 720.7 582 771.5 615.2 834 656.3 834 709V834H166V709Q166 656.3 228.5 615.2 279.3 582 363.3 560.5 437.5 541 500 541ZM500 621.1Q441.4 621.1 378.9 636.7 324.2 652.3 285.2 673.8T246.1 709V753.9H753.9V709Q753.9 695.3 714.8 673.8T621.1 636.7Q558.6 621.1 500 621.1ZM541 916H459V1000H541V916ZM709 916H625V1000H709V916ZM375 916H291V1000H375V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c20abf4d141b5ff55f46690219696514\",\n      \"css\": \"account-tie-outline\",\n      \"code\": 987338,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M681.6 531.3Q748 554.7 787.1 585.9 834 623 834 666V875H166V666Q166 623 212.9 585.9 252 554.7 318.4 531.3L353.5 603.5Q308.6 619.1 277.3 636.7T246.1 666V794.9H421.9L459 584 419.9 505.9Q462.9 502 500 502T580.1 505.9L541 584 578.1 794.9H753.9V666Q753.9 654.3 722.7 636.7T646.5 603.5L656.3 584ZM500 209Q464.8 209 440.4 233.4T416 292 440.4 350.6 500 375 559.6 350.6 584 292 559.6 233.4 500 209ZM500 459Q431.6 459 382.8 410.2T334 292 382.8 173.8 500 125 617.2 173.8 666 292 617.2 410.2 500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-tie-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dac8e09f444eddb1c787c4e9842e98c4\",\n      \"css\": \"alien-outline\",\n      \"code\": 987339,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M429.7 455.1Q460.9 505.9 457 559.6T415 636.7 327.1 640.6 245.1 570.3 217.8 465.8 260.7 388.7 348.6 384.8 429.7 455.1ZM500 740.2Q537.1 740.2 564.5 732.4 584 726.6 595.7 716.8L603.5 709 595.7 730.5Q584 753.9 564.5 769.5 537.1 791 500 791T435.5 769.5Q416 755.9 404.3 730.5 396.5 712.9 396.5 709L404.3 716.8Q416 726.6 435.5 732.4 462.9 740.2 500 740.2ZM740.2 388.7Q777.3 412.1 782.2 465.8T754.9 570.3 672.9 640.6 585 636.7 543 559.6 570.3 455.1 651.4 384.8 740.2 388.7ZM500 834Q552.7 834 632.8 772.5T769.5 627Q834 533.2 834 456.1T789.1 312.5 667 206.1 500 166 333 206.1 210.9 312.5 166 456.1 230.5 627Q287.1 710.9 367.2 772.5T500 834ZM500 84Q613.3 84 709 133.8T860.4 270.5 916 459Q916 543 848.6 652.3T687.5 835.9Q585.9 916 500 916T312.5 835.9Q218.8 761.7 151.4 652.3T84 459Q84 357.4 139.6 270.5T291 133.8 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alien-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4d472450ca0031f1fe12a2135999ee4d\",\n      \"css\": \"battery-alert-variant\",\n      \"code\": 987340,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M611.3 166H541V84H291V166H222.7Q199.2 166 182.6 182.6T166 222.7V861.3Q166 884.8 182.6 900.4T222.7 916H611.3Q634.8 916 650.4 900.4T666 861.3V222.7Q666 199.2 650.4 182.6T611.3 166ZM875 541H791V291H875V541ZM875 709H791V625H875V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-alert-variant\"\n      ]\n    },\n    {\n      \"uid\": \"03964bffc996778936fe7ea4c23fddaf\",\n      \"css\": \"battery-alert-variant-outline\",\n      \"code\": 987341,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 834H250V250H584V834ZM611.3 166H541V84H291V166H222.7Q199.2 166 182.6 182.6T166 222.7V861.3Q166 884.8 182.6 900.4T222.7 916H611.3Q634.8 916 650.4 900.4T666 861.3V222.7Q666 199.2 650.4 182.6T611.3 166ZM875 291H791V541H875V334 291ZM875 625H791V709H875V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-alert-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e17b58b06932623512b2f6ae9714a856\",\n      \"css\": \"beehive-outline\",\n      \"code\": 987342,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 603.5Q959 556.6 929.7 518.6T855.5 466.8Q875 431.6 875 396.5 875 347.7 846.7 309.6T773.4 257.8Q791 224.6 791 187.5 791 127 749 84T646.5 41H353.5Q293 41 251 84T209 187.5Q209 224.6 226.6 257.8 181.6 271.5 153.3 309.6T125 396.5Q125 431.6 144.5 466.8 99.6 480.5 70.3 518.6T41 603.5Q41 642.6 60.5 674.8T111.3 726.6Q84 765.6 84 812.5 84 873 126 916T228.5 959H771.5Q832 959 874 916T916 812.5Q916 765.6 888.7 726.6 919.9 707 939.5 674.8T959 603.5ZM353.5 125H646.5Q671.9 125 690.4 143.6T709 187.5 690.4 231.4 646.5 250H353.5Q328.1 250 309.6 231.4T291 187.5 309.6 143.6 353.5 125ZM271.5 334H728.5Q755.9 334 773.4 351.6T791 395.5 773.4 440.4 728.5 459H271.5Q244.1 459 226.6 440.4T209 395.5 226.6 351.6 271.5 334ZM166 812.5Q166 787.1 184.6 768.6T228.5 750H375V875H228.5Q203.1 875 184.6 856.4T166 812.5ZM771.5 875H625V750H771.5Q796.9 750 815.4 768.6T834 812.5 815.4 856.4 771.5 875ZM812.5 666H617.2Q603.5 628.9 571.3 606.4T500 584 428.7 606.4 382.8 666H187.5Q162.1 666 143.6 648.4T125 604.5 143.6 559.6 187.5 541H812.5Q837.9 541 856.4 559.6T875 604.5 856.4 648.4 812.5 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beehive-outline\"\n      ]\n    },\n    {\n      \"uid\": \"97515260ae0e800a85ab529ffdc2bb7d\",\n      \"css\": \"boomerang\",\n      \"code\": 987343,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84H166Q132.8 84 108.4 108.4T84 167 108.4 225.6 166 250H334ZM750 84Q818.4 84 867.2 132.8T916 250V500L750 584Q750 494.1 705.1 417T583 294.9 416 250L500 84H750ZM750 834V666L916 584V834Q916 867.2 891.6 891.6T833 916 774.4 891.6 750 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"boomerang\"\n      ]\n    },\n    {\n      \"uid\": \"afbcd2fc0ca38bdcc667118c26b097cb\",\n      \"css\": \"briefcase-clock\",\n      \"code\": 987344,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 462.9V291Q875 257.8 850.6 233.4T791 209H625V125Q625 89.8 600.6 65.4T541 41H375Q339.8 41 315.4 65.4T291 125V209H125Q89.8 209 65.4 233.4T41 291V750Q41 785.2 65.4 809.6T125 834H427.7Q474.6 902.3 550.8 935.5T709 957 854.5 892.6 944.3 761.7 952.1 602.5 875 462.9ZM375 125H541V209H375V125ZM791 834Q736.3 875 667 875T543 834 467.8 728.5 468.8 600.6 544.9 498 667 459 789.1 498 864.3 600.6 865.2 728.5 791 834ZM625 541H687.5V658.2L789.1 718.8 757.8 771.5 625 695.3V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-clock\"\n      ]\n    },\n    {\n      \"uid\": \"02d6f64f1e1c06b141820e80ed053ed0\",\n      \"css\": \"briefcase-clock-outline\",\n      \"code\": 987345,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 462.9V291Q875 257.8 850.6 232.4T791 209H625V125Q625 89.8 600.6 65.4T541 41H375Q339.8 41 315.4 65.4T291 125V209H125Q89.8 207 65.4 232.4T41 291V750Q41 785.2 65.4 809.6T125 834H427.7Q474.6 902.3 550.8 935.5T709 957 854.5 892.6 944.3 761.7 952.1 602.5 875 462.9ZM375 125H541V209H375V125ZM125 750V291H791V404.3Q732.4 375 666 375 587.9 375 520.5 414.1T414.1 520.5 375 666Q375 709 386.7 750H125ZM791 834Q736.3 875 667 875T541 834Q502 804.7 480.5 760.7T459 666Q459 609.4 486.3 561.5T561.5 486.3 666 459Q736.3 459 791 500 830.1 529.3 852.5 573.2T875 667 852.5 760.7 791 834ZM625 541H687.5V658.2L789.1 718.8 757.8 771.5 625 695.3V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fa2d3144f27c3fc2e9fbf118aa16b13a\",\n      \"css\": \"cellphone-message-off\",\n      \"code\": 987346,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M99.6 72.3L46.9 125 91.8 171.9Q84 189.5 84 209V791Q84 826.2 108.4 850.6T166 875H459Q492.2 875 516.6 850.6T541 791V621.1L869.1 947.3 921.9 894.5ZM459 709H166V291H212.9L459 537.1V709ZM959 187.5V312.5Q959 337.9 940.4 356.4T896.5 375H750L628.9 496.1 625 492.2V187.5Q625 162.1 643.6 143.6T687.5 125H896.5Q921.9 125 940.4 143.6T959 187.5ZM425.8 291L257.8 125H459Q492.2 125 516.6 149.4T541 209V408.2L459 324.2V291H425.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-message-off\"\n      ]\n    },\n    {\n      \"uid\": \"a96eb9af2a29b96e110b06c085ed24b9\",\n      \"css\": \"circle-off-outline\",\n      \"code\": 987347,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 169.9 248Q84 361.3 84 500 84 613.3 139.6 709T291 860.4 500 916Q640.6 916 752 830.1L869.1 947.3ZM500 834Q410.2 834 333 789.1T210.9 667 166 500Q166 394.5 228.5 306.6L693.4 771.5Q607.4 834 500 834ZM339.8 207L279.3 146.5Q380.9 84 500 84 613.3 84 709 139.6T860.4 291 916 500Q916 619.1 853.5 720.7L793 660.2Q834 585.9 834 500 834 410.2 789.1 333T667 210.9 500 166Q414.1 166 339.8 207Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7fb62a7f1afcfd74a7b9034469c1aba8\",\n      \"css\": \"clipboard-list\",\n      \"code\": 987348,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM291 334H375V500H334V375H291V334ZM416 709V750H291V710.9L375 625H291V584H384.8Q398.4 584 407.2 592.8T416 614.3 408.2 636.7L337.9 709H416ZM459 166Q459 150.4 470.7 137.7T500 125 529.3 137.7 541 167 529.3 196.3 500 209 470.7 196.3 459 166ZM709 709H500V625H709V709ZM709 459H500V375H709V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-list\"\n      ]\n    },\n    {\n      \"uid\": \"e0f726144e798338f96f5326a556e611\",\n      \"css\": \"clipboard-list-outline\",\n      \"code\": 987349,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 137.7T541 167 529.3 196.3 500 209 470.7 196.3 459 167 470.7 137.7 500 125ZM291 291H709V209H791V791H209V209H291V291ZM500 709V625H709V709H500ZM500 459V375H709V459H500ZM334 500V375H291V334H375V500H334ZM384.8 584Q398.4 584 407.2 592.8T416 614.3 408.2 636.7L337.9 709H416V750H291V710.9L375 625H291V584H384.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-list-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fe3693040dbc609d9a815bac74a99f9a\",\n      \"css\": \"code-braces-box\",\n      \"code\": 987350,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM459 334H375V416Q375 451.2 350.6 475.6T291 500Q326.2 500 350.6 524.4T375 584V666H459V750H375Q339.8 750 315.4 725.6T291 666V625Q291 589.8 266.6 565.4T209 541V459Q242.2 459 266.6 434.6T291 375V334Q291 298.8 315.4 274.4T375 250H459V334ZM791 541Q757.8 541 733.4 565.4T709 625V666Q709 701.2 684.6 725.6T625 750H541V666H625V584Q625 548.8 649.4 524.4T709 500Q673.8 500 649.4 475.6T625 416V334H541V250H625Q660.2 250 684.6 274.4T709 334V375Q709 410.2 733.4 434.6T791 459V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-braces-box\"\n      ]\n    },\n    {\n      \"uid\": \"552a06ceda10112e21e236013635fa3b\",\n      \"css\": \"code-parentheses-box\",\n      \"code\": 987351,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM416 720.7L349.6 750Q302.7 703.1 276.4 637.7T250 500 276.4 362.3 349.6 250L416 279.3Q377 316.4 355.5 375T334 500 355.5 625 416 720.7ZM650.4 750L584 720.7Q623 679.7 644.5 623T666 500 644.5 375 584 279.3L650.4 250Q697.3 296.9 723.6 362.3T750 500 723.6 637.7 650.4 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"code-parentheses-box\"\n      ]\n    },\n    {\n      \"uid\": \"2be53162ce0960097a54c86d840b49c3\",\n      \"css\": \"consolidate\",\n      \"code\": 987352,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 375H834V166H916V375Q916 410.2 891.6 434.6T834 459H750V541L625 416 750 291V375ZM584 416Q584 382.8 559.6 358.4T500 334 440.4 358.4 416 417 440.4 475.6 500 500 559.6 475.6 584 416ZM84 459V666H166V459H250V541L375 416 250 291V375H166Q132.8 375 108.4 399.4T84 459ZM625 666L500 541 375 666H459V750Q459 785.2 483.4 809.6T541 834H750V750H541V666H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"consolidate\"\n      ]\n    },\n    {\n      \"uid\": \"e6754d2ed72dad052e2567f1bdf2c13e\",\n      \"css\": \"electric-switch-closed\",\n      \"code\": 987353,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 459Q855.5 421.9 822.3 398.4T750 375 678.7 398.4 632.8 459H367.2Q353.5 421.9 321.3 398.4T250 375 177.7 398.4 132.8 459H41V541H132.8Q144.5 578.1 177.7 601.6T250 625 321.3 601.6 367.2 541H632.8Q646.5 578.1 678.7 601.6T750 625 822.3 601.6 867.2 541H959V459H867.2ZM250 541Q238.3 541 227.5 534.2T211.9 515.6 209 491.2 219.7 469.7 241.2 459 265.6 461.9 284.2 477.5 291 500Q291 517.6 279.3 529.3T250 541ZM750 541Q732.4 541 720.7 529.3T709 500 720.7 470.7 750 459 779.3 470.7 791 500 779.3 529.3 750 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"electric-switch-closed\"\n      ]\n    },\n    {\n      \"uid\": \"164a921830fd9ea85988b537fb3e4646\",\n      \"css\": \"email-receive\",\n      \"code\": 987354,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 834H750V959L541 771.5 750 584V709H916V834ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H472.7Q459 793 459 750 459 668 507.8 601.6T635.7 510.7 793 514.6 916 611.3V250Q916 214.8 891.6 190.4T834 166ZM834 334L500 541 166 334V250L500 459 834 250V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-receive\"\n      ]\n    },\n    {\n      \"uid\": \"b52d1e4a907f8f98e038e8997079e456\",\n      \"css\": \"email-send\",\n      \"code\": 987356,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709H709V584L916 771.5 709 959V834H541V709ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H472.7Q459 793 459 750 459 668 507.8 601.6T635.7 510.7 793 514.6 916 611.3V250Q916 214.8 891.6 190.4T834 166ZM834 334L500 541 166 334V250L500 459 834 250V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-send\"\n      ]\n    },\n    {\n      \"uid\": \"994200363e379af9ec7605ad05c793e7\",\n      \"css\": \"email-send-outline\",\n      \"code\": 987357,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 709H709V584L916 771.5 709 959V834H541V709ZM834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H459V750H166V334L500 541 834 334V584H916V250Q916 214.8 891.6 190.4T834 166ZM500 459L166 250H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-send-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1c295e62f6cefca580f031ade5c71912\",\n      \"css\": \"emoticon-confused\",\n      \"code\": 987358,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84ZM353.5 334Q380.9 334 398.4 351.6T416 395.5 398.4 440.4 354.5 459 309.6 440.4 292 396.5 310.5 352.5 353.5 334ZM709 666H541Q496.1 666 458 688.5T396.5 750L324.2 709Q359.4 650.4 417 617.2T541 584H709V666ZM646.5 459Q619.1 459 601.6 440.4T584 395.5 601.6 351.6 645.5 334 690.4 351.6 708 395.5 689.5 439.5 646.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-confused\"\n      ]\n    },\n    {\n      \"uid\": \"98e9771a09d22f737de58f67ae250490\",\n      \"css\": \"emoticon-confused-outline\",\n      \"code\": 987359,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 500Q834 398.4 777.3 314.5T627 192.4 434.6 173.8 264.6 264.6 173.8 434.6 192.4 627 314.5 777.3 500 834Q589.8 834 667 789.1T789.1 667 834 500ZM916 500Q916 613.3 860.4 709T709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84Q582 84 659.2 115.2T794.9 205.1 884.8 340.8 916 500ZM646.5 334Q671.9 334 690.4 351.6T709 395.5 690.4 440.4 645.5 459 601.6 440.4 584 396.5 602.5 352.5 646.5 334ZM416 396.5Q416 421.9 398.4 440.4T354.5 459 309.6 440.4 291 395.5 309.6 351.6 353.5 334 397.5 352.5 416 396.5ZM709 625H541Q496.1 625 458 647.5T396.5 709L324.2 666Q359.4 609.4 417 575.2T541 541H709V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-confused-outline\"\n      ]\n    },\n    {\n      \"uid\": \"495297500f59b6260cee6635967d39e8\",\n      \"css\": \"epsilon\",\n      \"code\": 987360,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M627 324.2L673.8 257.8 656.3 244.1Q634.8 230.5 607.4 220.7 572.3 209 531.3 209 449.2 209 396.5 255.9 347.7 302.7 347.7 365.2 347.7 414.1 384.8 455.1 402.3 476.6 419.9 486.3V486.3L406.3 494.1Q390.6 502 377 515.6 357.4 533.2 347.7 556.6 334 587.9 334 625 334 703.1 390.6 750 441.4 791 518.6 791T660.2 750Q691.4 730.5 709 710.9V710.9L650.4 646.5 632.8 660.2Q609.4 677.7 585.9 687.5 552.7 703.1 525.4 703.1 470.7 703.1 445.3 673.8 425.8 652.3 425.8 621.1 425.8 580.1 449.2 558.6 484.4 527.3 576.2 527.3V449.2H554.7Q527.3 449.2 505.9 443.4 474.6 435.5 457 419.9 435.5 398.4 435.5 365.2 435.5 322.3 468.8 302.7 494.1 289.1 527.3 289.1 570.3 289.1 601.6 306.6 619.1 314.5 627 324.2V324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"epsilon\"\n      ]\n    },\n    {\n      \"uid\": \"d71d743a5435b469bbe954813908d482\",\n      \"css\": \"file-table-box\",\n      \"code\": 987361,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM375 750H250V666H375V750ZM375 625H250V541H375V625ZM375 500H250V416H375V500ZM541 750H416V666H541V750ZM541 625H416V541H541V625ZM541 500H416V416H541V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-table-box\"\n      ]\n    },\n    {\n      \"uid\": \"2847771e810216b8408a4a1cfa3e1ddb\",\n      \"css\": \"file-table-box-multiple\",\n      \"code\": 987362,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM459 666H334V584H459V666ZM459 541H334V459H459V541ZM459 416H334V334H459V416ZM625 666H500V584H625V666ZM625 541H500V459H625V541ZM625 416H500V334H625V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-table-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"4fd45378fa2671cec2678a0cd0ac073d\",\n      \"css\": \"file-table-box-multiple-outline\",\n      \"code\": 987363,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V875H791V959H125Q89.8 959 65.4 934.6T41 875V209H125ZM875 41H291Q257.8 41 233.4 65.4T209 125V709Q209 742.2 233.4 766.6T291 791H875Q910.2 791 934.6 766.6T959 709V125Q959 89.8 934.6 65.4T875 41ZM875 709H291V125H875V709ZM459 584H334V666H459V584ZM625 584H500V666H625V584ZM459 459H334V541H459V459ZM625 459H500V541H625V459ZM459 334H334V416H459V334ZM625 334H500V416H625V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-table-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6efaa7ce52c5bfa2243dc48a71d4529e\",\n      \"css\": \"file-table-box-outline\",\n      \"code\": 987364,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V209H791V791ZM375 750H250V666H375V750ZM541 750H416V666H541V750ZM375 625H250V541H375V625ZM541 625H416V541H541V625ZM375 500H250V416H375V500ZM541 500H416V416H541V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-table-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4e5badbc79bb933c832e6bf5ca4b2e54\",\n      \"css\": \"filter-menu\",\n      \"code\": 987365,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 459L699.2 150.4Q709 136.7 707 120.1T692.4 93.8 666 84H84Q68.4 84 56.6 93.8T42 120.1 50.8 150.4L291 459V703.1Q289.1 722.7 304.7 738.3L386.7 820.3Q398.4 832 416 832T447.3 819.3 459 787.1V459ZM541 666L750 875 959 666H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-menu\"\n      ]\n    },\n    {\n      \"uid\": \"98a0446cf9e6e808d94a9f2f794541f4\",\n      \"css\": \"filter-menu-outline\",\n      \"code\": 987366,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 787.1Q502 806.6 489.3 820.3T459 834 429.7 820.3L261.7 654.3Q248 640.6 250 619.1V406.3L50.8 150.4Q39.1 136.7 42 120.1T56.6 93.8 84 84H666Q681.6 84 693.4 93.8T708 120.1 699.2 150.4L500 406.3V787.1ZM166 166L334 377V607.4L416 691.4V377L584 166H166ZM541 666L750 875 959 666H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-menu-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b50c0bab890c95856768827f74bb8b9a\",\n      \"css\": \"flip-horizontal\",\n      \"code\": 987367,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 875H709V791H625V875ZM791 375H875V291H791V375ZM125 209V791Q125 826.2 149.4 850.6T209 875H375V791H209V209H375V125H209Q173.8 125 149.4 149.4T125 209ZM791 125V209H875Q875 173.8 850.6 149.4T791 125ZM459 959H541V41H459V959ZM791 709H875V625H791V709ZM625 209H709V125H625V209ZM791 541H875V459H791V541ZM791 875Q826.2 875 850.6 850.6T875 791H791V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flip-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"5caef84ebba3402c0e99f61bb2de4daa\",\n      \"css\": \"flip-vertical\",\n      \"code\": 987368,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 625V709H209V625H125ZM625 791V875H709V791H625ZM791 125H209Q173.8 125 149.4 149.4T125 209V375H209V209H791V375H875V209Q875 173.8 850.6 149.4T791 125ZM875 791H791V875Q826.2 875 850.6 850.6T875 791ZM41 459V541H959V459H41ZM291 791V875H375V791H291ZM791 625V709H875V625H791ZM459 791V875H541V791H459ZM125 791Q125 826.2 149.4 850.6T209 875V791H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flip-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"29a0c545e6eeb9575a98ba834db9fc4e\",\n      \"css\": \"folder-download-outline\",\n      \"code\": 987369,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM584 375H666V541H791L625 709 459 541H584V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-download-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3944d2c4c2690a9330e10baa241e9a23\",\n      \"css\": \"folder-heart\",\n      \"code\": 987370,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM767.6 562.5L625 709 482.4 562.5Q459 537.1 459 502T483.4 441.4 542 416 601.6 441.4L625 466.8 650.4 441.4Q673.8 416 708 416T766.6 441.4 791 502 767.6 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-heart\"\n      ]\n    },\n    {\n      \"uid\": \"3e9e588be5bd301fdc3ae8271957d214\",\n      \"css\": \"folder-heart-outline\",\n      \"code\": 987371,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM541 416Q507.8 416 483.4 441.4T459 502 482.4 562.5L625 709 767.6 562.5Q791 537.1 791 502T766.6 441.4 708 416 650.4 441.4L625 466.8 601.6 441.4Q576.2 416 541 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e81269fb693b767979209dcd823d5a63\",\n      \"css\": \"folder-key-outline\",\n      \"code\": 987372,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM576.2 500Q562.5 462.9 530.3 439.5T459 416Q406.3 416 370.1 453.1T334 542 370.1 629.9 459 666Q498 666 530.3 643.6T576.2 584H666V666H750V584H791V500H576.2ZM459 584Q441.4 584 428.7 571.3T416 542 428.7 512.7 458 500 487.3 512.7 500 542 487.3 571.3 459 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-key-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e06711753a078a737e05cc705e6fd6d8\",\n      \"css\": \"folder-upload-outline\",\n      \"code\": 987373,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM834 250H500L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250ZM666 709H584V541H459L625 375 791 541H666V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-upload-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1fa765f53f514f3d27a8478fea4131b5\",\n      \"css\": \"gamma\",\n      \"code\": 987374,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M490.2 791Q525.4 791 545.9 761.7T566.4 679.7Q566.4 597.7 554.7 527.3L750 209H636.7L529.3 408.2 523.4 388.7Q494.1 306.6 464.8 265.6 421.9 209 361.3 209 320.3 209 291 230.5 250 265.6 250 353.5H287.1Q291 330.1 300.8 312.5 316.4 285.2 343.8 285.2 392.6 285.2 427.7 363.3 447.3 410.2 474.6 517.6 416 658.2 416 707 416 740.2 435.5 765.6T490.2 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gamma\"\n      ]\n    },\n    {\n      \"uid\": \"d7c61b813c6fca4cc8c26afb72209546\",\n      \"css\": \"hair-dryer\",\n      \"code\": 987375,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 375Q867.2 377 824.2 351.6 789.1 332 750 334V291Q798.8 291 841.8 314.5 877 334 916 334V375ZM916 250Q877 252 841.8 230.5 798.8 207 750 209V250Q789.1 248 824.2 269.5 867.2 293 916 291V250ZM916 416Q877 418 841.8 398.4 798.8 373 750 375V416Q789.1 416 824.2 435.5 867.2 459 916 459V416ZM416 531.3Q564.5 502 709 459V166L632.8 144.5Q544.9 121.1 470.7 105.5 367.2 84 312.5 84 226.6 84 162.1 140.6T85.9 283.2 123 440.4 255.9 533.2L291 791H334Q335.9 822.3 351.6 847.7T395.5 889.6 440.4 935.5 459 1000H500Q500 957 478.5 918T419.9 855.5Q396.5 835.9 386.7 826.2 375 810.5 375 791H416V531.3ZM312.5 416Q269.5 416 239.3 385.7T209 312.5 239.3 239.3 312.5 209 385.7 239.3 416 312.5 385.7 385.7 312.5 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hair-dryer\"\n      ]\n    },\n    {\n      \"uid\": \"eb8b018737c78e3f3aa384be456e3e9e\",\n      \"css\": \"hair-dryer-outline\",\n      \"code\": 987376,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 531.3Q564.5 502 709 459V166L632.8 144.5Q544.9 121.1 470.7 105.5 367.2 84 312.5 84 226.6 84 162.1 140.6T85.9 283.2 123 440.4 255.9 533.2L291 791H334Q335.9 822.3 351.6 847.7T395.5 889.6 440.4 935.5 459 1000H500Q500 957 478.5 918T419.9 855.5Q396.5 835.9 386.7 826.2 375 810.5 375 791H416V531.3ZM166 312.5Q166 252 209 209T312.5 166Q472.7 181.6 625 228.5V396.5Q472.7 443.4 312.5 459 252 459 209 416T166 312.5ZM916 375Q867.2 377 824.2 351.6 789.1 332 750 334V291Q798.8 291 841.8 314.5 877 334 916 334V375ZM916 250Q877 252 841.8 230.5 798.8 207 750 209V250Q789.1 248 824.2 269.5 867.2 293 916 291V250ZM916 416Q877 418 841.8 398.4 798.8 373 750 375V416Q789.1 416 824.2 435.5 867.2 459 916 459V416ZM375 312.5Q375 337.9 356.4 356.4T312.5 375 268.6 356.4 250 312.5 268.6 268.6 312.5 250 356.4 268.6 375 312.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hair-dryer-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2ae5e5135d80169404b015452e08297f\",\n      \"css\": \"hand-heart\",\n      \"code\": 987377,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 709Q869.1 709 893.6 733.4T918 791L584 916 291 834V459H373L675.8 570.3Q709 584 709 617.2 709 636.7 694.3 651.4T658.2 666H541L468.8 638.7 455.1 677.7 541 709H834ZM666 134.8Q710.9 84 779.3 84 835.9 84 875 125T916 220.7Q916 263.7 875 323.2T793 422.9 666 541Q580.1 462.9 539.1 422.9T457 323.2 416 220.7Q416 164.1 457 125T554.7 84Q621.1 84 666 134.8ZM41 459H209V916H41V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-heart\"\n      ]\n    },\n    {\n      \"uid\": \"9b4fcc23bc364ea5b60390f3f1c495d2\",\n      \"css\": \"hexagon-multiple-outline\",\n      \"code\": 987378,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M390.6 166L449.2 271.5 390.6 375H275.4L218.8 271.5 275.4 166H390.6ZM427.7 84H240.2Q226.6 84 220.7 93.8L128.9 259.8 125 271.5 128.9 283.2 220.7 447.3Q226.6 459 240.2 459H427.7Q439.5 459 445.3 447.3L537.1 283.2 541 271.5 537.1 259.8 445.3 93.8Q439.5 84 427.7 84ZM775.4 396.5L834 500 775.4 603.5H662.1L603.5 500 662.1 396.5H775.4ZM812.5 312.5H625Q613.3 312.5 607.4 324.2L513.7 488.3 509.8 500 513.7 511.7 607.4 675.8Q613.3 687.5 625 687.5H812.5Q824.2 687.5 830.1 675.8L923.8 511.7 927.7 500 923.8 488.3 830.1 324.2Q824.2 312.5 812.5 312.5ZM390.6 625L449.2 728.5 390.6 834H275.4L218.8 728.5 275.4 625H390.6ZM427.7 541H240.2Q226.6 541 220.7 552.7L128.9 716.8 125 728.5 128.9 740.2 220.7 906.3Q226.6 916 240.2 916H427.7Q439.5 916 445.3 906.3L537.1 740.2 541 728.5 537.1 716.8 445.3 552.7Q439.5 541 427.7 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexagon-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5ccb56d3cadca66653db2b648a4f5c75\",\n      \"css\": \"horizontal-rotate-clockwise\",\n      \"code\": 987379,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584L334 416 166 584H294.9Q304.7 677.7 334 753.9T407.2 873 500 916 592.8 873 666 753.9 705.1 584H621.1Q611.3 693.4 577.1 763.7T500 834 422.9 763.7 378.9 584H500ZM500 166Q543 166 577.1 236.3T621.1 416H705.1Q695.3 322.3 666 246.1T592.8 127 500 84Q433.6 84 379.9 160.2T304.7 357.4L334 328.1 382.8 378.9Q396.5 285.2 428.7 225.6T500 166ZM916 541V459H459L541 541H916ZM84 541H125L209 459H84V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"horizontal-rotate-clockwise\"\n      ]\n    },\n    {\n      \"uid\": \"492e205c9ea6ae04a62c848339b86d51\",\n      \"css\": \"horizontal-rotate-counterclockwise\",\n      \"code\": 987380,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416H378.9Q388.7 306.6 422.9 236.3T500 166 577.1 236.3 621.1 416H705.1Q695.3 322.3 666 246.1T592.8 127 500 84 407.2 127 334 246.1 294.9 416H166L334 584ZM500 834Q460.9 834 428.7 774.4T382.8 621.1L334 671.9 304.7 642.6Q326.2 763.7 379.9 839.8T500 916Q548.8 916 592.8 873T666 753.9 705.1 584H621.1Q611.3 693.4 577.1 763.7T500 834ZM916 459H541L459 541H916V459ZM84 541H209L125 459H84V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"horizontal-rotate-counterclockwise\"\n      ]\n    },\n    {\n      \"uid\": \"8263fb6966feca2cd2f10871962bb1dc\",\n      \"css\": \"iframe-array\",\n      \"code\": 987381,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM416 459H334V750H416V834H250V375H416V459ZM750 834H584V750H666V459H584V375H750V834ZM875 291H125V166H875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-array\"\n      ]\n    },\n    {\n      \"uid\": \"cbcacb8b5477e395d57b15cd305ade62\",\n      \"css\": \"iframe-array-outline\",\n      \"code\": 987382,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM875 834H125V250H875V834ZM250 334V750H416V666H334V416H416V334H250ZM666 666H584V750H750V334H584V416H666V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-array-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ddc444f27da15f1cb24c76289a473217\",\n      \"css\": \"iframe-braces\",\n      \"code\": 987383,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM459 459H375V521.5Q375 554.7 350.6 579.1T291 603.5Q326.2 603.5 350.6 627.9T375 687.5V750H459V834H375Q339.8 834 315.4 809.6T291 750V728.5Q291 695.3 266.6 670.9T209 646.5V562.5Q242.2 562.5 266.6 538.1T291 478.5V459Q291 423.8 315.4 399.4T375 375H459V459ZM791 646.5Q757.8 646.5 733.4 670.9T709 728.5V750Q709 785.2 684.6 809.6T625 834H541V750H625V687.5Q625 652.3 649.4 627.9T709 603.5Q673.8 603.5 649.4 579.1T625 521.5V459H541V375H625Q660.2 375 684.6 399.4T709 459V478.5Q709 513.7 733.4 538.1T791 562.5V646.5ZM875 291H125V166H875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-braces\"\n      ]\n    },\n    {\n      \"uid\": \"c84068f57f1475601a66075452e72ff2\",\n      \"css\": \"iframe-braces-outline\",\n      \"code\": 987384,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM875 834H125V250H875V834ZM375 334Q339.8 334 315.4 358.4T291 417 266.6 475.6 209 500V584Q242.2 584 266.6 608.4T291 667 315.4 725.6 375 750H459V666H375V625Q375 589.8 350.6 565.4T291 541Q326.2 541 350.6 516.6T375 459V416H459V334H375ZM625 334Q660.2 334 684.6 358.4T709 417 733.4 475.6 791 500V584Q757.8 584 733.4 608.4T709 667 684.6 725.6 625 750H541V666H625V625Q625 589.8 649.4 565.4T709 541Q673.8 541 649.4 516.6T625 459V416H541V334H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-braces-outline\"\n      ]\n    },\n    {\n      \"uid\": \"782f365535eda464619698b45b83d912\",\n      \"css\": \"iframe-parentheses\",\n      \"code\": 987385,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM416 808.6L349.6 834Q302.7 789.1 276.4 729.5T250 604.5 276.4 479.5 349.6 375L416 400.4Q377 433.6 355.5 488.3T334 603.5 355.5 717.8 416 808.6ZM650.4 834L584 808.6Q623 771.5 644.5 717.8T666 604.5 644.5 491.2 584 400.4L650.4 375Q697.3 419.9 723.6 479.5T750 604.5 723.6 729.5 650.4 834ZM875 291H125V166H875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-parentheses\"\n      ]\n    },\n    {\n      \"uid\": \"2f0922056da87db7b1d9dec34847c1d6\",\n      \"css\": \"iframe-parentheses-outline\",\n      \"code\": 987386,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM875 834H125V250H875V834ZM650.4 334Q697.3 375 723.6 428.7T750 541 723.6 654.3 650.4 750L584 724.6Q623 695.3 644.5 645.5T666 542 644.5 438.5 584 357.4ZM349.6 334L416 357.4Q377 388.7 355.5 438.5T334 542 355.5 645.5 416 724.6L349.6 750Q302.7 709 276.4 654.3T250 541 276.4 428.7 349.6 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-parentheses-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2e25ec0298255ea8cdc285c0ae6ac9fd\",\n      \"css\": \"iframe-variable\",\n      \"code\": 987387,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM308.6 834Q261.7 789.1 235.4 729.5T209 604.5 235.4 479.5 308.6 375L375 400.4Q335.9 433.6 313.5 488.3T291 603.5 312.5 717.8 375 808.6ZM529.3 750L496.1 666 437.5 750H375L470.7 621.1 416 500H470.7L503.9 584 562.5 500H625L533.2 625 587.9 750H529.3ZM691.4 834L625 808.6Q666 771.5 687.5 717.8T709 604.5 687.5 491.2 625 400.4L691.4 375Q738.3 419.9 764.6 479.5T791 604.5 764.6 729.5 691.4 834ZM875 291H125V166H875V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-variable\"\n      ]\n    },\n    {\n      \"uid\": \"354de4e1d32649d8f3cad2bb90051504\",\n      \"css\": \"iframe-variable-outline\",\n      \"code\": 987388,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V834Q41 867.2 65.4 891.6T125 916H875Q910.2 916 934.6 891.6T959 834V166Q959 132.8 934.6 108.4T875 84ZM875 834H125V250H875V834ZM691.4 334Q738.3 375 764.6 428.7T791 541 764.6 654.3 691.4 750L625 724.6Q664.1 695.3 686.5 645.5T709 542 686.5 438.5 625 357.4ZM308.6 334L375 357.4Q335.9 388.7 313.5 438.5T291 542 313.5 645.5 375 724.6L308.6 750Q261.7 709 235.4 654.3T209 541 235.4 428.7 308.6 334ZM503.9 500L562.5 416H625L533.2 541 587.9 666H533.2L500 584 441.4 666H375L470.7 537.1 416 416H470.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iframe-variable-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a653441e38ae6e81c270f0bb4843bd99\",\n      \"css\": \"khanda\",\n      \"code\": 987389,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 834Q785.2 769.5 849.6 685.5 916 599.6 916 500 916 418 872.1 343.8T746.1 209H742.2Q820.3 296.9 820.3 416 820.3 503.9 771.5 578.1 730.5 638.7 646.5 701.2L541 767.6V722.7L625 666 619.1 648.4Q613.3 627 607.4 601.6 671.9 574.2 710.9 518.6T750 396.5 711.9 274.4 611.3 189.5L625 125 500 41 375 125 388.7 189.5Q326.2 218.8 288.1 274.4T250 396.5 289.1 518.6 392.6 601.6Q382.8 642.6 375 666L459 722.7V767.6L353.5 701.2Q269.5 638.7 228.5 578.1 179.7 503.9 179.7 416 179.7 296.9 257.8 209H255.9Q173.8 269.5 128.9 343.8T84 500Q84 599.6 150.4 685.5 214.8 769.5 334 834L375 771.5 455.1 822.3 306.6 916 334 959 459 877V959H541V877L666 959 693.4 916 544.9 822.3 625 771.5ZM697.3 396.5Q697.3 445.3 669.9 485.4T595.7 548.8Q584 476.6 584 416 584 347.7 601.6 244.1 644.5 267.6 670.9 307.6T697.3 396.5ZM302.7 396.5Q302.7 347.7 329.1 307.6T400.4 244.1Q416 349.6 416 416 416 476.6 404.3 548.8 357.4 525.4 330.1 485.4T302.7 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"khanda\"\n      ]\n    },\n    {\n      \"uid\": \"be778497c6c4f83f968dd041bbea9606\",\n      \"css\": \"kubernetes\",\n      \"code\": 987390,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M582 562.5H572.3Q566.4 566.4 564.5 572.3T564.5 584L599.6 671.9Q654.3 636.7 673.8 578.1ZM437.5 574.2Q433.6 562.5 421.9 562.5L326.2 578.1Q347.7 636.7 400.4 669.9L435.5 584Q437.5 582 437.5 574.2ZM513.7 607.4Q509.8 603.5 503.9 601.6T492.2 601.6V603.5Q488.3 605.5 486.3 607.4L439.5 689.5Q490.2 707 541 695.3 550.8 693.4 560.5 689.5ZM658.2 418L587.9 478.5V480.5Q582 484.4 582 491.2T585.9 502 593.8 507.8L685.5 533.2Q689.5 468.8 658.2 418ZM527.3 423.8Q527.3 431.6 532.2 435.5T543 439.5 552.7 437.5L628.9 382.8Q585.9 339.8 523.4 332ZM447.3 437.5Q453.1 441.4 459 440.4T467.8 434.6 472.7 425.8L476.6 332 459 334Q406.3 345.7 369.1 382.8ZM406.3 507.8Q412.1 505.9 415 500T417 489.3 412.1 480.5L341.8 416Q308.6 472.7 316.4 533.2ZM474.6 535.2L500 548.8 525.4 535.2 531.3 507.8 513.7 486.3H486.3L466.8 507.8ZM927.7 589.8L853.5 271.5Q847.7 244.1 824.2 232.4L525.4 87.9Q500 78.1 474.6 87.9L175.8 232.4Q152.3 244.1 146.5 271.5L72.3 589.8Q68.4 603.5 72.3 615.2L74.2 623Q76.2 628.9 80.1 632.8L289.1 896.5Q291 896.5 291 898.4L302.7 908.2Q310.5 912.1 320.3 914.1 324.2 916 334 916H671.9 677.7L697.3 908.2Q703.1 904.3 710.9 896.5L916 638.7Q921.9 630.9 925.8 623L927.7 615.2Q931.6 603.5 927.7 589.8ZM619.1 714.8Q619.1 720.7 621.1 722.7 619.1 728.5 619.1 732.4 628.9 752 636.7 761.7L646.5 775.4 648.4 781.3Q650.4 787.1 649.4 793.9T641.6 804.7 627.9 806.6 617.2 798.8L613.3 791 607.4 771.5Q599.6 753.9 595.7 744.1 591.8 740.2 585.9 738.3L584 732.4Q500 763.7 418 732.4L414.1 738.3Q408.2 740.2 406.3 742.2 398.4 755.9 392.6 775.4L386.7 791 384.8 794.9Q382.8 802.7 376 805.7T362.3 806.6 351.6 797.9 351.6 783.2V781.3Q353.5 779.3 353.5 775.4L363.3 761.7Q373 748 380.9 732.4 380.9 726.6 378.9 722.7L382.8 714.8Q306.6 669.9 279.3 585.9L271.5 587.9Q265.6 584 261.7 584 250 585.9 228.5 591.8 222.7 595.7 212.9 599.6H209Q201.2 601.6 194.3 598.6T185.5 588.9 186.5 575.2 197.3 566.4L205.1 564.5Q210.9 562.5 222.7 562.5T255.9 556.6Q259.8 554.7 263.7 548.8L271.5 546.9Q257.8 460.9 306.6 386.7L300.8 380.9Q300.8 375 296.9 371.1 285.2 359.4 271.5 351.6L255.9 343.8 252 339.8Q246.1 335.9 244.1 328.1T248 313.5 261.7 307.6 275.4 312.5L289.1 328.1Q302.7 341.8 314.5 349.6 318.4 351.6 324.2 351.6L332 355.5Q378.9 304.7 447.3 289.1 462.9 285.2 480.5 283.2V275.4Q484.4 273.4 486.3 267.6 486.3 252 484.4 234.4 482.4 226.6 482.4 216.8V212.9Q482.4 205.1 486.3 199.2T498 192.4 511.7 196.3 517.6 209V216.8Q517.6 226.6 515.6 234.4 513.7 252 513.7 267.6 513.7 273.4 519.5 275.4V283.2Q607.4 291 668 355.5L673.8 349.6Q679.7 351.6 685.5 349.6 699.2 339.8 709 328.1L720.7 314.5 724.6 312.5Q730.5 306.6 738.3 306.6T751 312.5 755.9 325.2 750 337.9L748 339.8 744.1 343.8Q738.3 347.7 728.5 351.6 712.9 361.3 703.1 371.1 699.2 375 699.2 380.9L693.4 386.7Q742.2 459 728.5 546.9L736.3 548.8Q740.2 554.7 744.1 556.6 757.8 560.5 777.3 562.5H794.9Q794.9 564.5 798.8 564.5V564.5Q806.6 566.4 811.5 572.3T814.5 585 807.6 596.7 794.9 599.6L785.2 597.7Q777.3 595.7 771.5 591.8 753.9 585.9 738.3 584 732.4 584 728.5 585.9H720.7Q695.3 668 619.1 714.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kubernetes\"\n      ]\n    },\n    {\n      \"uid\": \"559460e88138d4c1724c5efc2b386d96\",\n      \"css\": \"link-variant-minus\",\n      \"code\": 987391,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M441.4 558.6Q451.2 570.3 450.2 585.9T438.5 612.3 412.1 625 382.8 617.2Q353.5 587.9 336.9 549.8T320.3 470.7 336.9 391.6 382.8 324.2L529.3 175.8Q591.8 115.2 677.7 115.2T824.2 175.8 884.8 322.3 824.2 470.7L761.7 533.2Q763.7 482.4 746.1 433.6L767.6 412.1Q800.8 375 800.8 323.2T767.6 232.4Q728.5 199.2 676.8 199.2T587.9 232.4L441.4 382.8Q404.3 419.9 404.3 471.7T441.4 558.6ZM959 750V834H625V750H959ZM675.8 570.3Q685.5 519.5 669.9 469.7T617.2 382.8Q603.5 373 587.9 375T561.5 387.7 549.8 414.1 558.6 441.4Q595.7 476.6 595.7 528.3T558.6 617.2L412.1 767.6Q375 800.8 323.2 800.8T232.4 767.6Q199.2 728.5 199.2 676.8T232.4 587.9L253.9 570.3Q236.3 519.5 238.3 466.8L175.8 529.3Q115.2 591.8 115.2 677.7T175.8 824.2 322.3 884.8 470.7 824.2L544.9 750Q554.7 693.4 588.9 645.5T675.8 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-variant-minus\"\n      ]\n    },\n    {\n      \"uid\": \"3a9e2f408a022249dd8c414c9744757a\",\n      \"css\": \"link-variant-plus\",\n      \"code\": 987392,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M441.4 558.6Q451.2 570.3 450.2 585.9T438.5 612.3 412.1 625 382.8 617.2Q353.5 587.9 336.9 549.8T320.3 470.7 336.9 391.6 382.8 324.2L529.3 175.8Q591.8 115.2 677.7 115.2T824.2 175.8 884.8 322.3 824.2 470.7L761.7 533.2Q763.7 482.4 746.1 433.6L767.6 412.1Q800.8 375 800.8 323.2T767.6 232.4Q728.5 199.2 676.8 199.2T587.9 232.4L441.4 382.8Q404.3 419.9 404.3 471.7T441.4 558.6ZM959 750V834H834V959H750V834H625V750H750V625H834V750H959ZM675.8 570.3Q685.5 519.5 669.9 469.7T617.2 382.8Q603.5 373 587.9 375T561.5 387.7 549.8 414.1 558.6 441.4Q595.7 476.6 595.7 528.3T558.6 617.2L412.1 767.6Q375 800.8 323.2 800.8T232.4 767.6Q199.2 728.5 199.2 676.8T232.4 587.9L253.9 570.3Q236.3 519.5 238.3 466.8L175.8 529.3Q115.2 591.8 115.2 677.7T175.8 824.2 322.3 884.8 470.7 824.2L544.9 750Q554.7 693.4 588.9 645.5T675.8 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-variant-plus\"\n      ]\n    },\n    {\n      \"uid\": \"ff951d828dd3441b39bcba25d812d79a\",\n      \"css\": \"link-variant-remove\",\n      \"code\": 987393,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M441.4 558.6Q451.2 570.3 450.2 585.9T438.5 612.3 412.1 625 382.8 617.2Q353.5 587.9 336.9 549.8T320.3 470.7 336.9 391.6 382.8 324.2L529.3 175.8Q591.8 115.2 677.7 115.2T824.2 175.8 884.8 322.3 824.2 470.7L761.7 533.2Q763.7 482.4 746.1 433.6L767.6 412.1Q800.8 375 800.8 323.2T767.6 232.4Q728.5 199.2 676.8 199.2T587.9 232.4L441.4 382.8Q404.3 419.9 404.3 471.7T441.4 558.6ZM675.8 570.3Q685.5 519.5 669.9 469.7T617.2 382.8Q603.5 373 587.9 375T561.5 387.7 549.8 414.1 558.6 441.4Q595.7 476.6 595.7 528.3T558.6 617.2L412.1 767.6Q375 800.8 323.2 800.8T232.4 767.6Q199.2 728.5 199.2 676.8T232.4 587.9L253.9 570.3Q236.3 519.5 238.3 466.8L175.8 529.3Q115.2 591.8 115.2 677.7T175.8 824.2 322.3 884.8 470.7 824.2L544.9 750Q554.7 693.4 588.9 645.5T675.8 570.3ZM878.9 646.5L791 732.4 705.1 646.5 646.5 705.1 732.4 791 646.5 878.9 705.1 937.5 791 849.6 878.9 937.5 937.5 878.9 849.6 791 937.5 705.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"link-variant-remove\"\n      ]\n    },\n    {\n      \"uid\": \"f083a7c004e377bc2652287c9c52677c\",\n      \"css\": \"map-marker-down\",\n      \"code\": 987394,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q419.9 84 353.5 123T248 228.5 209 373 253.9 552.7Q291 632.8 353.5 728.5 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q599.6 794.9 646.5 728.5 709 632.8 746.1 552.7 791 451.2 791 373T752 228.5 646.5 123 500 84ZM312.5 416H416V209H584V416H687.5L500 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-down\"\n      ]\n    },\n    {\n      \"uid\": \"095f1200ea0f8e6dd4d6f055dc905782\",\n      \"css\": \"map-marker-up\",\n      \"code\": 987395,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q419.9 84 353.5 123T248 228.5 209 373 253.9 552.7Q291 632.8 353.5 728.5 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q599.6 794.9 646.5 728.5 709 632.8 746.1 552.7 791 451.2 791 373T752 228.5 646.5 123 500 84ZM687.5 375H584V584H416V375H312.5L500 187.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-up\"\n      ]\n    },\n    {\n      \"uid\": \"1a9967055574ebcaf8f770bc8b7e1340\",\n      \"css\": \"monitor-clean\",\n      \"code\": 987396,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666H125V166H875V666ZM875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H416V834H334V916H666V834H584V750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84ZM625 228.5L599.6 287.1 541 312.5 599.6 337.9 625 396.5 650.4 337.9 709 312.5 650.4 287.1ZM437.5 312.5L392.6 412.1 291 459 392.6 503.9 437.5 603.5 482.4 503.9 584 459 482.4 412.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-clean\"\n      ]\n    },\n    {\n      \"uid\": \"951b4468900c3f0552067ad132ea5367\",\n      \"css\": \"nix\",\n      \"code\": 987397,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M412.1 363.3L209 716.8 162.1 636.7 216.8 541H107.4L84 500 107.4 459H261.7L316.4 363.3H412.1ZM425.8 646.5H830.1L783.2 724.6H675.8L728.5 820.3 705.1 863.3H658.2L584 724.6H470.7ZM662.1 492.2L459 136.7H550.8L603.5 232.4 658.2 136.7H705.1L728.5 179.7 650.4 312.5 709 408.2ZM574.2 353.5H166L212.9 275.4H320.3L267.6 179.7 291 136.7H337.9L416 271.5H529.3ZM587.9 636.7L791 283.2 837.9 363.3 783.2 459H892.6L916 500 892.6 541H738.3L683.6 636.7H587.9ZM337.9 507.8L541 857.4H449.2L396.5 761.7 349.6 857.4H294.9L271.5 816.4 349.6 683.6 291 591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nix\"\n      ]\n    },\n    {\n      \"uid\": \"c9e853e3822c885e985d22677cd66b1c\",\n      \"css\": \"nuxt\",\n      \"code\": 987398,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M908.2 765.6L668 335.9 664.1 332Q646.5 310.5 625 310.5T585.9 335.9L554.7 386.7 470.7 236.3Q466.8 228.5 459 220.7 445.3 209 429.7 209 404.3 209 390.6 236.3L89.8 763.7Q76.2 791 86.9 812.5T132.8 834H869.1Q900.4 834 911.1 811.5T908.2 765.6ZM337.9 763.7L332 785.2H134.8L431.6 263.7 527.3 435.5ZM382.8 785.2L554.7 486.3 728.5 785.2H382.8ZM781.3 785.2L773.4 763.7 584 435.5 627 363.3 865.2 785.2H781.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nuxt\"\n      ]\n    },\n    {\n      \"uid\": \"30e30abd5a2e08a34c60e40e9cc73426\",\n      \"css\": \"power-socket-de\",\n      \"code\": 987399,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M175.8 84Q136.7 84 110.4 110.4T84 175.8V824.2Q84 861.3 111.3 888.7T175.8 916H824.2Q863.3 916 889.6 889.6T916 824.2V175.8Q916 138.7 888.7 111.3T824.2 84H175.8ZM459 169.9V250H541V169.9Q623 179.7 690.4 226.6T795.9 345.7 834 500 795.9 654.3 690.4 773.4 541 830.1V750H459V830.1Q377 820.3 309.6 773.4T204.1 654.3 166 500 204.1 345.7 309.6 226.6 459 169.9ZM312.5 437.5Q287.1 437.5 268.6 456.1T250 500 268.6 543.9 312.5 562.5 356.4 543.9 375 500 356.4 456.1 312.5 437.5ZM687.5 437.5Q662.1 437.5 643.6 456.1T625 500 643.6 543.9 687.5 562.5 731.4 543.9 750 500 731.4 456.1 687.5 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-de\"\n      ]\n    },\n    {\n      \"uid\": \"5262dec200ccbc8de27807c28dee8a41\",\n      \"css\": \"power-socket-fr\",\n      \"code\": 987400,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M175.8 84Q136.7 84 110.4 110.4T84 175.8V824.2Q84 861.3 111.3 888.7T175.8 916H824.2Q863.3 916 889.6 889.6T916 824.2V175.8Q916 138.7 888.7 111.3T824.2 84H175.8ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834 333 789.1 210.9 667 166 500 210.9 333 333 210.9 500 166ZM500 250Q474.6 250 456.1 268.6T437.5 312.5 456.1 356.4 500 375 543.9 356.4 562.5 312.5 543.9 268.6 500 250ZM312.5 437.5Q287.1 437.5 268.6 456.1T250 500 268.6 543.9 312.5 562.5 356.4 543.9 375 500 356.4 456.1 312.5 437.5ZM687.5 437.5Q662.1 437.5 643.6 456.1T625 500 643.6 543.9 687.5 562.5 731.4 543.9 750 500 731.4 456.1 687.5 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-fr\"\n      ]\n    },\n    {\n      \"uid\": \"d208ccb5e9f29a2ea426313eecf6713c\",\n      \"css\": \"power-socket-jp\",\n      \"code\": 987401,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 396.5V603.5H334V396.5H416ZM824.2 84Q861.3 84 888.7 111.3T916 175.8V824.2Q916 861.3 888.7 888.7T824.2 916H175.8Q138.7 916 111.3 888.7T84 824.2V175.8Q84 138.7 111.3 111.3T175.8 84H824.2ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166ZM666 396.5V603.5H584V396.5H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-socket-jp\"\n      ]\n    },\n    {\n      \"uid\": \"33279b2dd661ac3535300e0301ef99a3\",\n      \"css\": \"progress-close\",\n      \"code\": 987402,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V168Q630.9 179.7 702.1 233.4T807.6 369.1 832 541Q816.4 654.3 735.4 735.4T541 830.1V914.1Q654.3 902.3 744.1 836.9T879.9 670.9 914.1 459Q906.3 361.3 854.5 279.3T720.7 145.5 541 84ZM459 85.9Q332 97.7 236.3 177.7L294.9 238.3Q367.2 181.6 459 169.9V85.9ZM177.7 236.3Q97.7 332 85.9 459H168Q181.6 367.2 236.3 294.9ZM85.9 541Q97.7 666 177.7 763.7L236.3 705.1Q179.7 630.9 169.9 541H85.9ZM294.9 765.6L236.3 822.3Q334 902.3 459 916V834Q369.1 822.3 294.9 765.6ZM607.4 334L500 441.4 392.6 334 334 392.6 441.4 500 334 607.4 392.6 666 500 558.6 607.4 666 666 607.4 558.6 500 666 392.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"progress-close\"\n      ]\n    },\n    {\n      \"uid\": \"249935a5c28d2bd24185d16e6714bb24\",\n      \"css\": \"reload-alert\",\n      \"code\": 987403,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 601.6 133.8 688.5T269.5 825.2 459 875Q533.2 875 602.5 847.7T724.6 767.6L662.1 705.1Q582 791 459 791 365.2 791 291 740.2 222.7 691.4 189.5 612.3T169.9 451.2Q185.5 361.3 253.9 295.9T410.2 214.8Q494.1 199.2 572.3 232.4T699.2 334Q750 406.3 750 500H625L791 666H794.9L959 500H834Q834 398.4 783.2 311.5T646.5 174.8 458 125 269.5 174.8 133.8 311.5 84 500ZM416 625H500V709H416V625ZM416 291H500V541H416V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reload-alert\"\n      ]\n    },\n    {\n      \"uid\": \"bcc0d1b1890db9af243c27cddebfef36\",\n      \"css\": \"restart-alert\",\n      \"code\": 987404,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 168V27.3L209 234.4 416 443.4V252Q464.8 252 511.7 270.5T591.8 322.3Q638.7 371.1 655.3 435.5T655.3 564.5 591.8 675.8Q552.7 716.8 499 735.4T392.6 748L371.1 830.1Q449.2 839.8 519.5 816.4 595.7 793 650.4 734.4 712.9 671.9 735.4 585.9T735.4 414.1 650.4 263.7Q603.5 216.8 543 192.4T416 168ZM179.7 734.4Q230.5 785.2 291 810.5L316.4 726.6Q273.4 707 242.2 675.8 183.6 621.1 169.9 542T191.4 392.6L128.9 330.1Q72.3 427.7 85.9 541T179.7 734.4ZM834 541H916V291H834V541ZM834 709H916V625H834V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"restart-alert\"\n      ]\n    },\n    {\n      \"uid\": \"eec634ce1a292b256c9b05fe74f7dc5f\",\n      \"css\": \"restore-alert\",\n      \"code\": 987405,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q439.5 125 353.5 174.8T216.8 311.5 166 500H41L209 666 375 500H250Q250 419.9 289.1 353.5T394.5 248 541 209 688.5 248 794.9 353.5 834 500 794.9 646.5 688.5 752 541 791Q482.4 791 428.7 768.6T337.9 705.1L279.3 761.7Q330.1 816.4 397.5 845.7T541 875Q644.5 875 730.5 825.2T866.2 688.5 916 500 866.2 311.5 730.5 174.8 541 125ZM500 625H584V709H500V625ZM500 291H584V541H500V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"restore-alert\"\n      ]\n    },\n    {\n      \"uid\": \"1001c2a85a1fa1b88b298f70f581aada\",\n      \"css\": \"shaker\",\n      \"code\": 987406,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 666Q291 683.6 279.3 696.3T250 709 220.7 696.3 209 667 220.7 637.7 250 625 279.3 637.7 291 666ZM375 666Q357.4 666 345.7 678.7T334 708 345.7 737.3 375 750 404.3 737.3 416 708 404.3 678.7 375 666ZM166 750Q150.4 750 137.7 762.7T125 792 137.7 821.3 167 834 196.3 821.3 209 792 196.3 762.7 166 750ZM291 791Q275.4 791 262.7 803.7T250 833 262.7 862.3 292 875 321.3 862.3 334 833 321.3 803.7 291 791ZM638.7 113.3L408.2 402.3 556.6 548.8 845.7 320.3Q873 294.9 875 258.8T849.6 195.3L761.7 107.4Q736.3 82 699.2 84T638.7 113.3ZM349.6 521.5L437.5 607.4Q449.2 621.1 466.8 621.1T498 607.4L525.4 580.1 378.9 431.6 349.6 460.9Q337.9 472.7 337.9 490.2T349.6 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shaker\"\n      ]\n    },\n    {\n      \"uid\": \"40746f69a8605b8266f65535e538819d\",\n      \"css\": \"shaker-outline\",\n      \"code\": 987407,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M703.1 166V166L793 253.9 562.5 437.5 521.5 396.5ZM703.1 84Q664.1 84 638.7 113.3L408.2 402.3 556.6 548.8 845.7 320.3Q873 294.9 875 258.8T849.6 195.3L761.7 107.4Q738.3 84 703.1 84ZM378.9 431.6L349.6 460.9Q337.9 472.7 337.9 490.2T349.6 521.5L437.5 607.4Q449.2 621.1 466.8 621.1T498 607.4L525.4 580.1ZM250 625Q232.4 625 220.7 637.7T209 667 220.7 696.3 250 709 279.3 696.3 291 667 279.3 637.7 250 625ZM375 666Q357.4 666 345.7 678.7T334 708 345.7 737.3 375 750 404.3 737.3 416 708 404.3 678.7 375 666ZM166 750Q150.4 750 137.7 762.7T125 792 137.7 821.3 167 834 196.3 821.3 209 792 196.3 762.7 166 750ZM291 791Q275.4 791 262.7 803.7T250 833 262.7 862.3 292 875 321.3 862.3 334 833 321.3 803.7 291 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shaker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"936ab7475799547d4520fb514cfc5c03\",\n      \"css\": \"television-clean\",\n      \"code\": 987408,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 709H125V209H875V709ZM875 125H125Q89.8 125 65.4 149.4T41 209V709Q41 742.2 65.4 766.6T125 791H334V875H666V791H875Q910.2 791 934.6 766.6T959 709V209Q959 173.8 934.6 149.4T875 125ZM625 271.5L599.6 328.1 541 353.5 599.6 380.9 625 437.5 650.4 380.9 709 353.5 650.4 328.1ZM437.5 353.5L392.6 455.1 291 500 392.6 544.9 437.5 646.5 482.4 544.9 584 500 482.4 455.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-clean\"\n      ]\n    },\n    {\n      \"uid\": \"2cc936e190c327a028e61554e928c4f0\",\n      \"css\": \"variable-box\",\n      \"code\": 987409,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM308.6 750Q261.7 703.1 235.4 637.7T209 500 235.4 362.3 308.6 250L375 279.3Q335.9 316.4 313.5 375T291 500 313.5 625 375 720.7ZM529.3 625L496.1 541 437.5 625H375L470.7 496.1 416 375H470.7L503.9 459 562.5 375H625L533.2 500 587.9 625H529.3ZM691.4 750L625 720.7Q666 679.7 687.5 623T709 500 686.5 375 625 279.3L691.4 250Q738.3 296.9 764.6 362.3T791 500 764.6 637.7 691.4 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"variable-box\"\n      ]\n    },\n    {\n      \"uid\": \"2fe7d36ae7654a97c8ca72773df9ec4d\",\n      \"css\": \"filter-variant-minus\",\n      \"code\": 987410,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 334H125V250H875V334ZM576.2 666H416V750H544.9Q552.7 707 576.2 666ZM750 459H250V541H750V459ZM959 750H625V834H959V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-variant-minus\"\n      ]\n    },\n    {\n      \"uid\": \"6444ae98d7ea482ec9e204583e1f3bf7\",\n      \"css\": \"filter-variant-plus\",\n      \"code\": 987411,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 334H125V250H875V334ZM576.2 666H416V750H544.9Q552.7 707 576.2 666ZM750 459H250V541H750V459ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"filter-variant-plus\"\n      ]\n    },\n    {\n      \"uid\": \"0c98ef1010601b0762f39b6ae83f92c8\",\n      \"css\": \"slot-machine\",\n      \"code\": 987412,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 500L291 334V291H166V334H250L166 500H209ZM375 500L459 334V291H334V334H416L334 500H375ZM541 500L625 334V291H500V334H584L500 500H541ZM875 84Q839.8 84 815.4 108.4T791 166Q791 189.5 802.7 209T834 238.3V709H709V625Q726.6 625 738.3 613.3T750 584V209Q750 189.5 738.3 177.7T709 166H550.8Q525.4 128.9 483.4 106.4T395.5 84 308.6 106.4 242.2 166H84Q64.5 166 52.7 177.7T41 209V584Q41 601.6 52.7 613.3T84 625V916H709V791H834Q867.2 791 891.6 766.6T916 709V238.3Q935.5 228.5 947.3 209T959 166Q959 132.8 934.6 108.4T875 84ZM541 791H250V709H541V791ZM666 541H125V250H666V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slot-machine\"\n      ]\n    },\n    {\n      \"uid\": \"3a868ea6a74e91b7b99542c21918a121\",\n      \"css\": \"slot-machine-outline\",\n      \"code\": 987413,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 500L291 334V291H166V334H250L166 500H209ZM375 500L459 334V291H334V334H416L334 500H375ZM541 500L625 334V291H500V334H584L500 500H541ZM875 84Q839.8 84 815.4 108.4T791 166Q791 189.5 802.7 209T834 238.3V709H709V625Q726.6 625 738.3 613.3T750 584V209Q750 189.5 738.3 177.7T709 166H550.8Q525.4 128.9 483.4 106.4T395.5 84 308.6 106.4 242.2 166H84Q64.5 166 52.7 177.7T41 209V584Q41 601.6 52.7 613.3T84 625V916H709V791H834Q867.2 791 891.6 766.6T916 709V238.3Q935.5 228.5 947.3 209T959 166Q959 132.8 934.6 108.4T875 84ZM125 250H666V541H125V250ZM625 834H166V625H625V834ZM541 791H250V709H541V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"slot-machine-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c169b303189a133e86cd303673a50862\",\n      \"css\": \"glass-mug-variant\",\n      \"code\": 987414,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 125Q335.9 125 287.1 160.2T218.8 253.9Q160.2 263.7 122.1 310.5T84 416Q84 486.3 132.8 535.2T250 584V916H709V834H834Q849.6 834 862.3 821.3T875 791V459Q875 441.4 862.3 428.7T834 416H750V334Q750 263.7 701.2 214.8T584 166H513.7Q460.9 125 396.5 125ZM396.5 209Q419.9 209 442.4 219.7T478.5 250H584Q617.2 250 641.6 274.4T666 334H500Q443.4 334 408.2 365.2 384.8 384.8 353.5 443.4 332 482.4 289.1 494.1 267.6 502 250 500V500Q214.8 500 190.4 475.6T166 417 190.4 358.4 250 334H291V312.5Q291 269.5 322.3 239.3T396.5 209ZM709 500H791V750H709V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-mug-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ce1ce82d402497a434c8fef9aa79ad8f\",\n      \"css\": \"clipboard-flow-outline\",\n      \"code\": 987415,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 137.7T541 167 529.3 196.3 500 209 470.7 196.3 459 167 470.7 137.7 500 125ZM291 291H709V209H791V791H209V209H291V291ZM416 666H334V459H250L375 334 500 459H416V666ZM584 416H666V625H750L625 750 500 625H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-flow-outline\"\n      ]\n    },\n    {\n      \"uid\": \"746d48fcc7bcdc8383f6da629501405f\",\n      \"css\": \"sign-real-estate\",\n      \"code\": 987416,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334H334Q298.8 334 274.4 358.4T250 416V666Q250 701.2 274.4 725.6T334 750H750Q785.2 750 809.6 725.6T834 666V416Q834 382.8 809.6 358.4T750 334ZM584 666H334V584H584V666ZM750 500H334V416H750V500ZM916 250H166V916H84V84H166V166H916V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sign-real-estate\"\n      ]\n    },\n    {\n      \"uid\": \"658cb2914f5aa99d476f1840c8a1a840\",\n      \"css\": \"antenna\",\n      \"code\": 987417,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 312.5Q543 312.5 573.2 341.8T603.5 416Q603.5 482.4 541 511.7V875H459V511.7Q396.5 482.4 396.5 416 396.5 371.1 426.8 341.8T500 312.5ZM695.3 220.7Q773.4 298.8 779.3 416 779.3 529.3 695.3 613.3L646.5 562.5Q709 505.9 709 416 709 334 646.5 271.5ZM253.9 169.9Q154.3 269.5 154.3 416T253.9 662.1L205.1 712.9Q84 584 84 417T205.1 121.1ZM794.9 121.1Q916 250 916 416 916 589.8 794.9 712.9L746.1 662.1Q845.7 562.5 845.7 416T746.1 169.9ZM304.7 220.7L353.5 271.5Q291 328.1 291 416 291 500 353.5 562.5L304.7 613.3Q220.7 529.3 220.7 417T304.7 220.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"antenna\"\n      ]\n    },\n    {\n      \"uid\": \"fe2563a6f47e4c48e9b274c86ba54037\",\n      \"css\": \"centos\",\n      \"code\": 987418,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M794.9 623L916 500 794.9 377V205.1H623L500 84 377 205.1H205.1V377L84 500 205.1 623V794.9H377L500 916 623 794.9H794.9V623ZM892.6 500L794.9 597.7V519.5H570.3L550.8 500 570.3 480.5H794.9V402.3ZM777.3 615.2L720.7 669.9 587.9 537.1H777.3V615.2ZM519.5 544.9L500 527.3 480.5 544.9V519.5H455.1L472.7 500 455.1 480.5H480.5V455.1L500 472.7 519.5 455.1V480.5H544.9L527.3 500 544.9 519.5H519.5V544.9ZM587.9 462.9L720.7 330.1 777.3 384.8V462.9H587.9ZM777.3 222.7V361.3L720.7 304.7 562.5 462.9H537.1V437.5L695.3 279.3 638.7 222.7H777.3ZM537.1 412.1V222.7H615.2L669.9 279.3ZM500 107.4L597.7 205.1H519.5V429.7L500 449.2 480.5 429.7V205.1H402.3ZM462.9 412.1L330.1 279.3 384.8 222.7H462.9V412.1ZM222.7 222.7H361.3L304.7 279.3 462.9 437.5V462.9H437.5L279.3 304.7 222.7 361.3V222.7ZM222.7 384.8L279.3 330.1 412.1 462.9H222.7V384.8ZM107.4 500L205.1 402.3V480.5H429.7L449.2 500 429.7 519.5H205.1V597.7ZM412.1 537.1L279.3 669.9 222.7 615.2V537.1H412.1ZM222.7 777.3V638.7L279.3 695.3 437.5 537.1H462.9V562.5L304.7 720.7 361.3 777.3H222.7ZM462.9 587.9V777.3H384.8L330.1 720.7ZM500 892.6L402.3 794.9H480.5V570.3L500 550.8 519.5 570.3V794.9H597.7ZM537.1 587.9L669.9 720.7 615.2 777.3H537.1V587.9ZM638.7 777.3L695.3 720.7 537.1 562.5V537.1H562.5L720.7 695.3 777.3 638.7V777.3H638.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"centos\"\n      ]\n    },\n    {\n      \"uid\": \"a8ca2e78bebb32ed3c9289e981cd4e00\",\n      \"css\": \"redhat\",\n      \"code\": 987419,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M638.7 548.8Q693.4 548.8 726.6 535.2 773.4 515.6 773.4 470.7 773.4 464.8 771.5 457L740.2 314.5Q734.4 289.1 722.7 277.3 709 261.7 671.9 243.2T584 205.1Q527.3 185.5 507.8 185.5 496.1 185.5 478.5 201.2T445.3 216.8 404.3 205.1 367.2 193.4Q330.1 193.4 310.5 248L267.6 367.2V375Q267.6 398.4 316.4 437.5 371.1 482.4 447.3 511.7 541 548.8 638.7 548.8ZM781.3 498Q789.1 533.2 789.1 541 789.1 587.9 745.1 613.3T630.9 638.7Q533.2 638.7 439.5 603.5 355.5 572.3 300.8 525.4T246.1 439.5Q246.1 421.9 252 406.3 179.7 410.2 140.6 427.7 84 451.2 84 507.8 84 574.2 177.7 648.4 267.6 718.8 402.3 765.6 543 814.5 668 814.5 802.7 814.5 867.2 761.7 916 720.7 916 654.3 916 611.3 880.9 568.4T781.3 498Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"redhat\"\n      ]\n    },\n    {\n      \"uid\": \"e764a4a5f0b4b1283d94d6f4ca572f7d\",\n      \"css\": \"window-shutter\",\n      \"code\": 987420,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H875V334H791V834H709V334H291V834H209V334H125V166ZM334 375H666V459H334V375ZM334 500H666V584H334V500ZM334 625H666V709H334V625ZM334 750H666V834H334V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-shutter\"\n      ]\n    },\n    {\n      \"uid\": \"6e60641cbaf862174301e3010ed8a319\",\n      \"css\": \"window-shutter-alert\",\n      \"code\": 987421,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166H834V334H750V834H666V334H250V834H166V334H84V166ZM291 375H625V459H291V375ZM291 500H625V584H291V500ZM834 791V709H916V791H834ZM834 625V416H916V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-shutter-alert\"\n      ]\n    },\n    {\n      \"uid\": \"5fecedc76ed16865dd821803d6968879\",\n      \"css\": \"window-shutter-open\",\n      \"code\": 987422,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H875V334H791V834H709V334H291V834H209V334H125V166ZM334 375H666V459H334V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-shutter-open\"\n      ]\n    },\n    {\n      \"uid\": \"b9f1a71fe50022d59e68a98e5f6ab06c\",\n      \"css\": \"bike-fast\",\n      \"code\": 987423,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 50.8Q634.8 50.8 613.3 72.3T591.8 125 613.3 177.7 666 199.2 719.7 177.7 742.2 125 719.7 72.3 666 50.8ZM517.6 169.9Q486.3 169.9 466.8 191.4L312.5 345.7Q291 367.2 291 396.5 291 435.5 326.2 457L466.8 541V750H541V478.5L447.3 410.2 544.9 312.5 617.2 416H791V341.8H658.2L578.1 205.1Q568.4 189.5 551.8 179.7T517.6 169.9ZM416 125H125Q107.4 125 95.7 112.3T84 83 95.7 53.7 125 41H533.2Q517.6 64.5 513.7 87.9 459 89.8 416 125ZM209 500Q152.3 500 104.5 528.3T28.3 604.5 0 709 28.3 813.5 104.5 888.7 209 916 313.5 888.7 388.7 813.5 416 709 388.7 604.5 313.5 528.3 209 500ZM209 853.5Q148.4 853.5 105.5 811.5T62.5 709 105.5 605.5 209 562.5 311.5 605.5 353.5 709 311.5 811.5 209 853.5ZM791 500Q734.4 500 686.5 528.3T611.3 604.5 584 709 611.3 813.5 686.5 888.7 791 916 895.5 888.7 971.7 813.5 1000 709 971.7 604.5 895.5 528.3 791 500ZM791 853.5Q730.5 853.5 688.5 811.5T646.5 709 688.5 605.5 791 562.5 894.5 605.5 937.5 709 894.5 811.5 791 853.5ZM220.7 459H41Q25.4 459 12.7 446.3T0 417 12.7 387.7 41 375H210.9L209 396.5Q209 427.7 220.7 459ZM250 291H84Q66.4 291 53.7 279.3T41 250 53.7 220.7 84 209H332L253.9 287.1Q250 289.1 250 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bike-fast\"\n      ]\n    },\n    {\n      \"uid\": \"ca4142b3991cce03c34c872c636b3201\",\n      \"css\": \"volume-source\",\n      \"code\": 987424,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 375V625H291L500 834V166L291 375H125ZM666 625H584V375H666V625ZM834 791H750V209H834V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-source\"\n      ]\n    },\n    {\n      \"uid\": \"33255666cf83df192667083ec672196f\",\n      \"css\": \"volume-vibrate\",\n      \"code\": 987425,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 375V625H334L541 834V166L334 375H166ZM689.5 103.5L646.5 146.5 748 250 625 375 748 500 625 625 748 750 646.5 853.5 689.5 896.5 834 750 710.9 625 834 500 710.9 375 834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"volume-vibrate\"\n      ]\n    },\n    {\n      \"uid\": \"31e8127de20560c2849ee325ca8f4ef4\",\n      \"css\": \"movie-edit\",\n      \"code\": 987426,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M877 462.9Q867.2 462.9 861.3 470.7L818.4 511.7 904.3 597.7 945.3 556.6Q953.1 548.8 953.1 540T945.3 523.4L892.6 470.7Q884.8 462.9 877 462.9ZM794.9 537.1L541 789.1V875H627L880.9 623ZM459 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H166L250 334H375L291 166H375L459 334H584L500 166H584L666 334H791L709 166H875V337.9L459 753.9V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-edit\"\n      ]\n    },\n    {\n      \"uid\": \"8f30dd657402ef1248aa851976993597\",\n      \"css\": \"movie-edit-outline\",\n      \"code\": 987427,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 166V337.9L796.9 416H199.2L125 269.5V750H459V834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166H166L250 334H375L291 166H375L459 334H584L500 166H584L666 334H791L709 166H875ZM892.6 511.7L945.3 566.4Q953.1 572.3 953.1 582T945.3 597.7L904.3 638.7 818.4 554.7 861.3 511.7Q867.2 505.9 876 505.9T892.6 511.7ZM880.9 664.1L627 916H541V830.1L794.9 578.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"caa96e01428354402c340e0570ecabe1\",\n      \"css\": \"movie-filter\",\n      \"code\": 987428,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 166L834 291H709L625 166H541L625 291H500L416 166H334L416 291H291L209 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V166H750ZM468.8 634.8L416 750 365.2 634.8 250 584 365.2 531.3 416 416 468.8 531.3 584 584ZM705.1 498L666 584 627 498 541 459 627 419.9 666 334 705.1 419.9 791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-filter\"\n      ]\n    },\n    {\n      \"uid\": \"1d6381cce717128ca0ff1331d6377871\",\n      \"css\": \"movie-filter-outline\",\n      \"code\": 987429,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 459L377 544.9 291 584 377 623 416 709 455.1 623 541 584 455.1 544.9ZM750 166L834 334H709L625 166H541L625 334H500L416 166H334L416 334H291L209 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V166H750ZM834 750H166V269.5L240.2 416H666L640.6 474.6 584 500 640.6 525.4 666 584 693.4 525.4 750 500 693.4 474.6 666 416H834V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-filter-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8d1bafcd3fc55c4c0b149c2eeb1f85be\",\n      \"css\": \"diabetes\",\n      \"code\": 987430,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M613.3 95.7Q627 84 642.6 85T669.9 97.7 682.6 126 671.9 154.3L541 283.2 574.2 322.3 654.3 531.3Q660.2 546.9 656.3 564.5T640.6 595.7L511.7 724.6Q492.2 742.2 466.8 742.2T423.8 724.6L230.5 533.2Q214.8 515.6 214.8 490.2L193.4 222.7H238.3Q255.9 222.7 269.5 234.4L275.4 242.2 318.4 386.7ZM318.4 916L84 681.6 171.9 593.8 408.2 830.1ZM812.5 187.5Q798.8 203.1 785.2 220.7 753.9 259.8 734.4 294.9 709 343.8 709 375 709 418 739.3 448.2T812.5 478.5 885.7 448.2 916 375Q916 343.8 890.6 294.9 871.1 259.8 839.8 220.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"diabetes\"\n      ]\n    },\n    {\n      \"uid\": \"98aae726dec1ba9151b79ac54de3616f\",\n      \"css\": \"cursor-default-gesture\",\n      \"code\": 987431,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M650.4 334Q638.7 334 631.8 340.8T625 357.4V732.4Q625 742.2 631.8 750T648.4 757.8 664.1 752L726.6 701.2 781.3 818.4Q787.1 834 802.7 834 810.5 834 814.5 830.1L902.3 789.1Q912.1 785.2 916 775.4T914.1 755.9L861.3 636.7 939.5 623Q947.3 621.1 953.1 614.3T958 596.7 949.2 578.1L666 337.9Q658.2 334 650.4 334ZM521.5 281.3Q531.3 277.3 566.4 324.2L625 279.3Q617.2 267.6 603.5 248 593.8 234.4 578.1 222.7 552.7 203.1 527.3 200.2T478.5 212.9Q447.3 232.4 441.4 275.4 437.5 302.7 445.3 328.1 451.2 345.7 466.8 378.9 500 447.3 507.8 490.2 511.7 515.6 505.9 532.2T489.3 546.9 462.9 521.5L433.6 478.5Q412.1 443.4 402.3 425.8 382.8 392.6 353.5 367.2 312.5 328.1 267.6 322.3 210.9 314.5 171.9 355.5 142.6 384.8 132.8 431.6L41 419.9V494.1L123 505.9Q117.2 603.5 158.2 658.2 189.5 701.2 236.3 709 275.4 712.9 306.6 689.5T343.8 627Q347.7 599.6 335.9 564.5 322.3 525.4 291 496.1 257.8 460.9 207 445.3V441.4Q212.9 418 220.7 410.2 234.4 394.5 265.6 400.4 289.1 402.3 322.3 443.4 339.8 464.8 373 517.6 398.4 560.5 410.2 578.1 431.6 603.5 451.2 612.3T491.2 621.1 531.3 611.3Q574.2 585.9 583 525.4T529.3 337.9L523.4 326.2Q503.9 285.2 521.5 281.3ZM271.5 615.2Q269.5 625 260.7 629.9T244.1 634.8Q224.6 630.9 212.9 607.4 195.3 578.1 195.3 521.5 236.3 539.1 255.9 572.3 271.5 595.7 271.5 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-default-gesture\"\n      ]\n    },\n    {\n      \"uid\": \"727986166563590d9def405766ffee6d\",\n      \"css\": \"cursor-default-gesture-outline\",\n      \"code\": 987432,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 439.5L849.6 576.2 771.5 591.8 841.8 748 822.3 757.8 750 601.6 687.5 652.3V439.5ZM650.4 334Q638.7 334 631.8 340.8T625 357.4V732.4Q625 742.2 631.8 750T648.4 757.8 664.1 752L726.6 701.2 781.3 818.4Q787.1 834 802.7 834 810.5 834 814.5 830.1L902.3 789.1Q912.1 785.2 916 775.4T914.1 755.9L861.3 636.7 939.5 623Q947.3 621.1 953.1 614.3T958 596.7 949.2 578.1L666 337.9Q658.2 334 650.4 334ZM521.5 281.3Q531.3 277.3 566.4 324.2L625 279.3Q617.2 267.6 603.5 248 593.8 234.4 578.1 222.7 552.7 203.1 527.3 200.2T478.5 212.9Q447.3 232.4 441.4 275.4 437.5 302.7 445.3 328.1 451.2 345.7 466.8 378.9 500 447.3 507.8 490.2 511.7 515.6 505.9 532.2T489.3 546.9 462.9 521.5L433.6 478.5Q412.1 443.4 402.3 425.8 382.8 392.6 353.5 367.2 312.5 328.1 267.6 322.3 210.9 314.5 171.9 355.5 142.6 384.8 132.8 431.6L41 419.9V494.1L123 505.9Q117.2 603.5 158.2 658.2 189.5 701.2 236.3 709 275.4 712.9 306.6 689.5T343.8 627Q347.7 599.6 335.9 564.5 322.3 525.4 291 496.1 257.8 460.9 207 445.3V441.4Q212.9 418 220.7 410.2 234.4 394.5 265.6 400.4 289.1 402.3 322.3 443.4 339.8 464.8 373 517.6 398.4 560.5 410.2 578.1 431.6 603.5 451.2 612.3T491.2 621.1 531.3 611.3Q574.2 585.9 583 525.4T529.3 337.9L523.4 326.2Q503.9 285.2 521.5 281.3ZM271.5 615.2Q269.5 625 260.7 629.9T244.1 634.8Q224.6 630.9 212.9 607.4 195.3 578.1 195.3 521.5 236.3 539.1 255.9 572.3 271.5 595.7 271.5 615.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cursor-default-gesture-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59d289f558e5978cc9ecbfed79f5986f\",\n      \"css\": \"toothbrush\",\n      \"code\": 987433,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 267.6L627 355.5 669.9 312.5 627 267.6 744.1 150.4 789.1 193.4 834 150.4 744.1 62.5ZM125 857.4L185.5 916 603.5 496.1 693.4 466.8 892.6 267.6Q916 244.1 916 209T892.6 150.4L648.4 392.6 560.5 423.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toothbrush\"\n      ]\n    },\n    {\n      \"uid\": \"c5c7eb22e59670468c35ec9063e61149\",\n      \"css\": \"toothbrush-paste\",\n      \"code\": 987434,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M744.1 62.5L537.1 267.6 627 355.5 669.9 312.5 627 267.6 744.1 150.4 789.1 193.4 834 150.4ZM892.6 150.4L648.4 392.6 560.5 423.8 125 857.4 185.5 916 419.9 679.7 597.7 857.4 773.4 679.7 597.7 503.9 603.5 496.1 693.4 466.8 892.6 267.6Q916 244.1 916 209T892.6 150.4ZM273.4 179.7L95.7 355.5 302.7 562.5 478.5 386.7ZM759.8 753.9L669.9 841.8 728.5 900.4 818.4 812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toothbrush-paste\"\n      ]\n    },\n    {\n      \"uid\": \"4c312faf97245674a2f01b485d2ac917\",\n      \"css\": \"home-roof\",\n      \"code\": 987435,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 666H916L500 291 84 666H209L500 404.3ZM291 367.2V291H166V478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-roof\"\n      ]\n    },\n    {\n      \"uid\": \"3f1b0c3355b750dc104db77492539cae\",\n      \"css\": \"toothbrush-electric\",\n      \"code\": 987436,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 62.5V584Q447.3 584 411.1 620.1T375 709V916H709V709Q709 656.3 671.9 620.1T584 584V146.5Q584 111.3 559.6 86.9T500 62.5ZM312.5 84V375H459V312.5H375V146.5H459V84H312.5ZM541 728.5Q568.4 728.5 585.9 747.1T603.5 792 585.9 835.9 542 853.5 497.1 835.9 478.5 792 497.1 747.1 541 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toothbrush-electric\"\n      ]\n    },\n    {\n      \"uid\": \"91069e9c52a0bc87e899c907db52a757\",\n      \"css\": \"account-supervisor-outline\",\n      \"code\": 987437,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 646.5Q738.3 646.5 792 665T853.5 699.2V728.5H521.5V699.2Q529.3 683.6 583 665T687.5 646.5ZM687.5 584Q644.5 584 593.8 595.7 537.1 611.3 500 634.8 459 662.1 459 697.3V791H916V697.3Q916 662.1 875 634.8 837.9 611.3 781.3 595.7 730.5 584 687.5 584ZM375 541Q320.3 541 255.9 558.6 183.6 576.2 136.7 607.4 84 642.6 84 687.5V791H375V728.5H146.5V687.5Q146.5 673.8 183.6 652.3T275.4 617.2Q341.8 601.6 408.2 603.5 435.5 572.3 474.6 552.7 425.8 543 375 541ZM375 271.5Q400.4 271.5 418.9 289.1T437.5 333 418.9 377.9 375 396.5 331.1 377.9 312.5 333 331.1 289.1 375 271.5ZM375 209Q322.3 209 286.1 245.1T250 333 286.1 421.9 375 459 463.9 421.9 500 333 463.9 245.1 375 209ZM687.5 353.5Q705.1 353.5 716.8 366.2T728.5 396.5 716.8 425.8 687.5 437.5 658.2 425.8 646.5 396.5 658.2 366.2 687.5 353.5ZM687.5 291Q644.5 291 614.3 322.3T584 396.5 614.3 469.7 687.5 500 760.7 469.7 791 396.5 760.7 322.3 687.5 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-supervisor-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d5447b0701ff82a907568ce65aa44e6f\",\n      \"css\": \"bottle-tonic\",\n      \"code\": 987438,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459L416 84H584ZM791 541V916H209V541Q209 484.4 236.3 436.5T311.5 361.3 416 334V250H375V209H625V250H584V334Q640.6 334 688.5 361.3T763.7 436.5 791 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-tonic\"\n      ]\n    },\n    {\n      \"uid\": \"ee5ce577971089b4697c89fc8a216087\",\n      \"css\": \"bottle-tonic-outline\",\n      \"code\": 987439,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459L416 84H584ZM791 541V916H209V541Q209 484.4 236.3 436.5T311.5 361.3 416 334V250H375V209H625V250H584V334Q640.6 334 688.5 361.3T763.7 436.5 791 541ZM709 541Q709 490.2 671.9 453.1T584 416H416Q365.2 416 328.1 453.1T291 541V834H709V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-tonic-outline\"\n      ]\n    },\n    {\n      \"uid\": \"81f4441097d3f3aaa8b692ebca253b9b\",\n      \"css\": \"bottle-tonic-plus\",\n      \"code\": 987440,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459L416 84H584ZM584 334V250H625V209H375V250H416V334Q359.4 334 311.5 361.3T236.3 436.5 209 541V916H791V541Q791 484.4 763.7 436.5T688.5 361.3 584 334ZM666 709H541V834H459V709H334V625H459V500H541V625H666V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-tonic-plus\"\n      ]\n    },\n    {\n      \"uid\": \"543e7963444cfa0d0822762dffaa1415\",\n      \"css\": \"bottle-tonic-plus-outline\",\n      \"code\": 987441,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459L416 84H584ZM791 541V916H209V541Q209 484.4 236.3 436.5T311.5 361.3 416 334V250H375V209H625V250H584V334Q640.6 334 688.5 361.3T763.7 436.5 791 541ZM709 541Q709 490.2 671.9 453.1T584 416H416Q365.2 416 328.1 453.1T291 541V834H709V541ZM625 666H541V750H459V666H375V584H459V500H541V584H625V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-tonic-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dc330b57c533dc6f768f0f6222244626\",\n      \"css\": \"bottle-tonic-skull\",\n      \"code\": 987442,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 541V916H209V541Q209 484.4 236.3 436.5T311.5 361.3 416 334V250H375V209H625V250H584V334Q640.6 334 688.5 361.3T763.7 436.5 791 541ZM541 166L584 84H416L459 166H541ZM500 459Q431.6 459 382.8 507.8T334 625Q334 685.5 375 732.4V791H427.7V728.5H474.6V791H525.4V728.5H572.3V791H625V732.4Q666 685.5 666 625 666 556.6 617.2 507.8T500 459ZM437.5 625Q419.9 625 408.2 612.3T396.5 583 408.2 553.7 437.5 541 466.8 553.7 478.5 583 466.8 612.3 437.5 625ZM468.8 677.7L500 625 531.3 677.7H468.8ZM562.5 625Q544.9 625 533.2 612.3T521.5 583 533.2 553.7 562.5 541 591.8 553.7 603.5 583 591.8 612.3 562.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-tonic-skull\"\n      ]\n    },\n    {\n      \"uid\": \"8f12d6a28779a8ac06f1f1c9e7b3191b\",\n      \"css\": \"bottle-tonic-skull-outline\",\n      \"code\": 987443,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 166H459L416 84H584ZM584 334V250H625V209H375V250H416V334Q359.4 334 311.5 361.3T236.3 436.5 209 541V916H791V541Q791 484.4 763.7 436.5T688.5 361.3 584 334ZM709 834H291V541Q291 490.2 328.1 453.1T416 416H584Q634.8 416 671.9 453.1T709 541V834ZM500 459Q431.6 459 382.8 507.8T334 625Q334 685.5 375 732.4V791H427.7V728.5H474.6V791H525.4V728.5H572.3V791H625V732.4Q666 685.5 666 625 666 556.6 617.2 507.8T500 459ZM437.5 625Q419.9 625 408.2 612.3T396.5 583 408.2 553.7 437.5 541 466.8 553.7 478.5 583 466.8 612.3 437.5 625ZM468.8 677.7L500 625 531.3 677.7H468.8ZM562.5 625Q544.9 625 533.2 612.3T521.5 583 533.2 553.7 562.5 541 591.8 553.7 603.5 583 591.8 612.3 562.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-tonic-skull-outline\"\n      ]\n    },\n    {\n      \"uid\": \"49a23d5eb1776e4123c0784f65cc4cc4\",\n      \"css\": \"calendar-arrow-left\",\n      \"code\": 987444,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V334H791V791ZM500 416V500H666V625H500V709L334 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"761095b6ed4c77e889d59ba0bce408a8\",\n      \"css\": \"calendar-arrow-right\",\n      \"code\": 987445,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H750V41H666V125H334V41H250V125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM791 791H209V334H791V791ZM500 709V625H334V500H500V416L666 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"calendar-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"14f546c26fe2ebaa32f7258a0b22e979\",\n      \"css\": \"crosshairs-question\",\n      \"code\": 987446,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M127 541H41V459H127Q136.7 373 182.6 300.8T300.8 182.6 459 127V41H541V127Q627 136.7 699.2 182.6T817.4 300.8 873 459H959V541H873Q863.3 627 817.4 699.2T699.2 817.4 541 873V959H459V873Q373 863.3 300.8 817.4T182.6 699.2 127 541ZM500 209Q419.9 209 353.5 248T248 353.5 209 500 248 646.5 353.5 752 500 791 646.5 752 752 646.5 791 500 752 353.5 646.5 248 500 209ZM462.9 718.8H537.1V646.5H462.9V718.8ZM500 281.3Q439.5 281.3 396.5 324.2T353.5 427.7H427.7Q427.7 396.5 448.2 375T500 353.5 551.8 375 572.3 427.7Q572.3 449.2 558.6 464.8 550.8 476.6 527.3 494.1 496.1 517.6 484.4 535.2 462.9 566.4 462.9 609.4H537.1Q537.1 582 552.7 560.5 562.5 546.9 589.8 522.5T628.9 484.4Q646.5 459 646.5 427.7 646.5 367.2 603.5 324.2T500 281.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crosshairs-question\"\n      ]\n    },\n    {\n      \"uid\": \"b1e0d1b03b017fc02982a08af55b8e16\",\n      \"css\": \"fire-hydrant\",\n      \"code\": 987447,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 625V584H166V500H209V459H291V625H209ZM791 500V459H709V625H791V584H834V500H791ZM750 250H660.2Q650.4 207 618.2 174.8T541 130.9V84H459V130.9Q414.1 142.6 381.8 174.8T339.8 250H250V334H750V250ZM750 916H250Q250 882.8 274.4 858.4T334 834V375H666V834Q701.2 834 725.6 858.4T750 916ZM416 541Q416 576.2 440.4 600.6T500 625 559.6 600.6 584 542 559.6 483.4 500 459 440.4 483.4 416 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fire-hydrant\"\n      ]\n    },\n    {\n      \"uid\": \"f871c2da4c2dac2c41580c44f914bd42\",\n      \"css\": \"fire-hydrant-alert\",\n      \"code\": 987448,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 291H834V541H916V291ZM916 625H834V709H916V625ZM125 625V584H84V500H125V459H209V625H125ZM709 500V459H625V625H709V584H750V500H709ZM666 250H578.1Q566.4 207 534.2 174.8T459 130.9V84H375V130.9Q332 142.6 299.8 174.8T255.9 250H166V334H666V250ZM666 916H166Q166 882.8 190.4 858.4T250 834V375H584V834Q617.2 834 641.6 858.4T666 916ZM334 541Q334 576.2 358.4 600.6T417 625 475.6 600.6 500 542 475.6 483.4 417 459 358.4 483.4 334 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fire-hydrant-alert\"\n      ]\n    },\n    {\n      \"uid\": \"4ce1f37704881a8b39462bc363b446dd\",\n      \"css\": \"fire-hydrant-off\",\n      \"code\": 987449,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L921.9 894.5 99.6 72.3 46.9 125 334 412.1V834Q298.8 834 274.4 858.4T250 916H750Q750 882.8 725.6 858.4T666 834V746.1ZM425.8 503.9L537.1 615.2Q519.5 625 500 625 464.8 625 440.4 600.6T416 541Q416 521.5 425.8 503.9ZM466.8 334L351.6 218.8Q367.2 185.5 395.5 163.1T459 130.9V84H541V130.9Q585.9 142.6 618.2 174.8T660.2 250H750V334H466.8ZM791 459V500H834V584H791V625H757.8L709 574.2V459H791ZM209 625V584H166V500H209V459H291V625H209ZM666 533.2L507.8 375H666V533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fire-hydrant-off\"\n      ]\n    },\n    {\n      \"uid\": \"2d4975931ddf1478ab42bf74e08d9b89\",\n      \"css\": \"ocr\",\n      \"code\": 987450,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 209V791H584V709H500Q464.8 709 440.4 684.6T416 625V375Q416 339.8 440.4 315.4T500 291H584V209H84ZM584 291V375H666V291H584ZM584 375H500V625H584V375ZM584 625V709H666V625H584ZM209 291H291Q326.2 291 350.6 315.4T375 375V625Q375 660.2 350.6 684.6T291 709H209Q173.8 709 149.4 684.6T125 625V375Q125 339.8 149.4 315.4T209 291ZM709 291V709H791V541H834V584H875V709H959V584H916V500H959V334H916V291H709ZM209 375V625H291V375H209ZM791 375H875V459H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ocr\"\n      ]\n    },\n    {\n      \"uid\": \"c7897ae6659bd3fa8b4660c99a0de43b\",\n      \"css\": \"shield-star\",\n      \"code\": 987451,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q605.5 931.6 691.4 857.4T826.2 677.7 875 459V209ZM628.9 666L500 589.8 373 666 406.3 521.5 293 423.8 441.4 410.2 500 273.4 558.6 410.2 707 423.8 593.8 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-star\"\n      ]\n    },\n    {\n      \"uid\": \"e9ff4fc1bdfe7e780042031b3d8c15d8\",\n      \"css\": \"shield-star-outline\",\n      \"code\": 987452,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459Q875 572.3 826.2 677.7T691.4 857.4 500 959Q394.5 931.6 308.6 857.4T173.8 677.7 125 459V209L500 41 875 209V459ZM500 875Q576.2 853.5 643.6 791T751 642.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 556.6 249 642.6T356.4 791 500 875ZM627 666L498 589.8 371.1 666 404.3 521.5 291 423.8 441.4 410.2 498 273.4 556.6 410.2 707 423.8 593.8 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bc2bda478f7381696c60901df8731466\",\n      \"css\": \"text-recognition\",\n      \"code\": 987453,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q84 132.8 108.4 108.4T166 84H334V166H166V334H84V166ZM916 834Q916 867.2 891.6 891.6T834 916H666V834H834V666H916V834ZM166 916Q132.8 916 108.4 891.6T84 834V666H166V834H334V916H166ZM834 84Q867.2 84 891.6 108.4T916 166V334H834V166H666V84H834ZM375 291V375H459V709H541V375H625V291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-recognition\"\n      ]\n    },\n    {\n      \"uid\": \"9cc414d100868a4c8b8c269c0c699a5f\",\n      \"css\": \"handcuffs\",\n      \"code\": 987454,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M843.8 281.3Q787.1 224.6 709 211.9T558.6 232.4L519.5 193.4Q507.8 181.6 490.2 181.6T460.9 193.4L457 197.3Q453.1 166 429.7 145.5T373 125 315.4 149.4 291 209Q291 216.8 293 218.8 273.4 230.5 261.7 250T250 291Q250 318.4 267.6 341.8 250 355.5 250 375V431.6Q175.8 457 129.9 521.5T84 666Q84 734.4 117.2 792T208 882.8 333 916 458 882.8 549.8 792 584 666Q584 585.9 537.1 521.5T416 431.6V375Q416 355.5 398.4 341.8 416 318.4 416 291V281.3Q421.9 277.3 433.6 265.6H435.5Q464.8 281.3 482.4 310.5T500 375V378.9L515.6 388.7Q529.3 359.4 548.8 339.8 597.7 291 667 291T785.2 339.8 834 458 785.2 576.2 664.1 625Q666 638.7 666 666 666 683.6 664.1 709 714.8 709 760.7 690.4T843.8 634.8Q890.6 587.9 908.2 523.4T908.2 394.5 843.8 281.3ZM375 166Q392.6 166 404.3 178.7T416 210 398.4 242.2Q375 209 334 209 334 191.4 345.7 178.7T375 166ZM308.6 257.8Q334 291 375 291 375 308.6 362.3 321.3T333 334 303.7 321.3 291 290 308.6 257.8ZM500 666Q500 736.3 451.2 785.2T333 834 214.8 785.2 166 667 214.8 548.8 333 500 451.2 548.8 500 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"handcuffs\"\n      ]\n    },\n    {\n      \"uid\": \"b79e1bded2a7f670248c9407375f2547\",\n      \"css\": \"gender-male-female-variant\",\n      \"code\": 987455,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125Q291 173.8 313.5 217.8T375 291Q335.9 320.3 313.5 364.3T291 459Q291 533.2 337.9 590.8T459 662.1V750H375V834H459V916H541V834H625V750H541V662.1Q615.2 648.4 662.1 590.8T709 459Q709 408.2 686.5 364.3T625 291Q664.1 261.7 686.5 217.8T709 125H625Q625 177.7 588.9 213.9T500 250 411.1 213.9 375 125H291ZM500 334Q552.7 334 588.9 370.1T625 458 588.9 546.9 500 584 411.1 546.9 375 458 411.1 370.1 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gender-male-female-variant\"\n      ]\n    },\n    {\n      \"uid\": \"479914b8d4498df86426128616dc1bfa\",\n      \"css\": \"gender-non-binary\",\n      \"code\": 987456,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125H459V218.8L377 171.9 335.9 244.1 416 291 335.9 337.9 377 412.1 459 363.3V503.9Q386.7 519.5 338.9 576.2T291 709Q291 765.6 319.3 813.5T395.5 888.7 500 916 604.5 888.7 680.7 813.5 709 709Q709 632.8 661.1 576.2T541 503.9V363.3L623 412.1 664.1 337.9 584 291 664.1 244.1 623 171.9 541 218.8V125ZM500 834Q449.2 834 412.1 796.9T375 708 412.1 620.1 500 584 587.9 620.1 625 708 587.9 796.9 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gender-non-binary\"\n      ]\n    },\n    {\n      \"uid\": \"e1f4c4747e46084480f189317f14ba6a\",\n      \"css\": \"minus-box-multiple\",\n      \"code\": 987457,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459H375V375H791V459ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"cf2233f746e6a6bbdc77deae2a7298ed\",\n      \"css\": \"minus-box-multiple-outline\",\n      \"code\": 987458,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H416V375H750V459ZM834 166V666H334V166H834ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"609cb3136af0fd85fcb1d8eef752e49d\",\n      \"css\": \"plus-box-multiple-outline\",\n      \"code\": 987459,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 459H625V584H541V459H416V375H541V250H625V375H750V459ZM834 166V666H334V166H834ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"baef2578e7f74620a3f474b5142fafc9\",\n      \"css\": \"pencil-box-multiple\",\n      \"code\": 987460,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M841.8 84H324.2Q293 84 271.5 105.5T250 158.2V675.8Q250 707 271.5 728.5T324.2 750H841.8Q873 750 894.5 728.5T916 675.8V158.2Q916 127 894.5 105.5T841.8 84ZM460.9 625H375V539.1L627 287.1 712.9 373ZM779.3 306.6L738.3 347.7 652.3 261.7 693.4 220.7Q701.2 214.8 710 214.8T726.6 220.7L779.3 273.4Q785.2 281.3 785.2 290T779.3 306.6ZM166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"1037da9fe03112e7fccf76d04036b7f2\",\n      \"css\": \"pencil-box-multiple-outline\",\n      \"code\": 987461,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM779.3 306.6L738.3 347.7 652.3 261.7 693.4 220.7Q701.2 214.8 710 214.8T726.6 220.7L779.3 273.4Q785.2 281.3 785.2 290T779.3 306.6ZM375 539.1L627 287.1 712.9 373 460.9 625H375V539.1ZM834 166V166 666H334V166H834ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"49fcfe728687ad85779a2bb62a5ad6ed\",\n      \"css\": \"printer-check\",\n      \"code\": 987462,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 291H250V125H750V291ZM250 875V709H84V459Q84 406.3 120.1 370.1T209 334H791Q843.8 334 879.9 370.1T916 459V576.2Q859.4 541 791 541 716.8 541 654.3 584H334V791H541Q541 834 556.6 875H250ZM750 459Q750 474.6 762.7 487.3T792 500 821.3 487.3 834 458 821.3 428.7 792 416 762.7 428.7 750 459ZM978.5 709L916 646.5 771.5 791 687.5 709 625 771.5 771.5 916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-check\"\n      ]\n    },\n    {\n      \"uid\": \"2160ce2b29c1927bbf286ff517ff6d10\",\n      \"css\": \"sort-variant-remove\",\n      \"code\": 987463,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 541H625V459H125V541ZM125 250V334H875V250H125ZM125 750H375V666H125V750ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-variant-remove\"\n      ]\n    },\n    {\n      \"uid\": \"e4f1608885dc1ae69ee60f1171abfd26\",\n      \"css\": \"sort-alphabetical-ascending-variant\",\n      \"code\": 987464,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M384.8 209L521.5 72.3 656.3 209H384.8ZM371.1 595.7H250L220.7 709H121.1L250 291H375L505.9 709H402.3ZM263.7 529.3H357.4L330.1 439.5 308.6 359.4V359.4L289.1 441.4ZM543 709V656.3L742.2 373V371.1H562.5V291H863.3V347.7L669.9 625V628.9H867.2V709H543Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-alphabetical-ascending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"43bca615f199428a8697a7b173d025e4\",\n      \"css\": \"sort-alphabetical-descending-variant\",\n      \"code\": 987465,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M656.3 791L521.5 927.7 384.8 791H656.3ZM371.1 595.7H250L220.7 709H121.1L250 291H375L505.9 709H402.3ZM263.7 529.3H357.4L330.1 439.5 308.6 359.4V359.4L289.1 441.4ZM543 709V656.3L742.2 373V371.1H562.5V291H863.3V347.7L669.9 625V628.9H867.2V709H543Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-alphabetical-descending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6f024353aed1f6b06e1ea2eed84728de\",\n      \"css\": \"dice-1-outline\",\n      \"code\": 987466,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 437.5Q474.6 437.5 456.1 456.1T437.5 500 456.1 543.9 500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-1-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ce51ad47adda9ce9e4b115f401b692c5\",\n      \"css\": \"dice-2-outline\",\n      \"code\": 987467,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM312.5 250Q287.1 250 268.6 268.6T250 312.5 268.6 356.4 312.5 375 356.4 356.4 375 312.5 356.4 268.6 312.5 250ZM687.5 625Q662.1 625 643.6 643.6T625 687.5 643.6 731.4 687.5 750 731.4 731.4 750 687.5 731.4 643.6 687.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-2-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7a7bcb6b22c4a1d5c0536964717df517\",\n      \"css\": \"dice-3-outline\",\n      \"code\": 987468,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 437.5Q474.6 437.5 456.1 456.1T437.5 500 456.1 543.9 500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5ZM312.5 250Q287.1 250 268.6 268.6T250 312.5 268.6 356.4 312.5 375 356.4 356.4 375 312.5 356.4 268.6 312.5 250ZM687.5 625Q662.1 625 643.6 643.6T625 687.5 643.6 731.4 687.5 750 731.4 731.4 750 687.5 731.4 643.6 687.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-3-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2151bc578804b413df2515c257618214\",\n      \"css\": \"dice-4-outline\",\n      \"code\": 987469,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM312.5 250Q287.1 250 268.6 268.6T250 312.5 268.6 356.4 312.5 375 356.4 356.4 375 312.5 356.4 268.6 312.5 250ZM687.5 625Q662.1 625 643.6 643.6T625 687.5 643.6 731.4 687.5 750 731.4 731.4 750 687.5 731.4 643.6 687.5 625ZM687.5 250Q662.1 250 643.6 268.6T625 312.5 643.6 356.4 687.5 375 731.4 356.4 750 312.5 731.4 268.6 687.5 250ZM312.5 625Q287.1 625 268.6 643.6T250 687.5 268.6 731.4 312.5 750 356.4 731.4 375 687.5 356.4 643.6 312.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-4-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e079a339b3bc9556dec17ef119fe7cf4\",\n      \"css\": \"dice-5-outline\",\n      \"code\": 987470,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM312.5 250Q287.1 250 268.6 268.6T250 312.5 268.6 356.4 312.5 375 356.4 356.4 375 312.5 356.4 268.6 312.5 250ZM687.5 625Q662.1 625 643.6 643.6T625 687.5 643.6 731.4 687.5 750 731.4 731.4 750 687.5 731.4 643.6 687.5 625ZM687.5 250Q662.1 250 643.6 268.6T625 312.5 643.6 356.4 687.5 375 731.4 356.4 750 312.5 731.4 268.6 687.5 250ZM500 437.5Q474.6 437.5 456.1 456.1T437.5 500 456.1 543.9 500 562.5 543.9 543.9 562.5 500 543.9 456.1 500 437.5ZM312.5 625Q287.1 625 268.6 643.6T250 687.5 268.6 731.4 312.5 750 356.4 731.4 375 687.5 356.4 643.6 312.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-5-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bde45bf328c7a7fecd7846328f3efb97\",\n      \"css\": \"dice-6-outline\",\n      \"code\": 987471,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM312.5 250Q287.1 250 268.6 268.6T250 312.5 268.6 356.4 312.5 375 356.4 356.4 375 312.5 356.4 268.6 312.5 250ZM687.5 625Q662.1 625 643.6 643.6T625 687.5 643.6 731.4 687.5 750 731.4 731.4 750 687.5 731.4 643.6 687.5 625ZM687.5 437.5Q662.1 437.5 643.6 456.1T625 500 643.6 543.9 687.5 562.5 731.4 543.9 750 500 731.4 456.1 687.5 437.5ZM687.5 250Q662.1 250 643.6 268.6T625 312.5 643.6 356.4 687.5 375 731.4 356.4 750 312.5 731.4 268.6 687.5 250ZM312.5 437.5Q287.1 437.5 268.6 456.1T250 500 268.6 543.9 312.5 562.5 356.4 543.9 375 500 356.4 456.1 312.5 437.5ZM312.5 625Q287.1 625 268.6 643.6T250 687.5 268.6 731.4 312.5 750 356.4 731.4 375 687.5 356.4 643.6 312.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-6-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9588574a406b3fc1bc507234c8ec0d0e\",\n      \"css\": \"dice-d4\",\n      \"code\": 987472,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M427.7 630.9L496.1 519.5V630.9H427.7ZM914.1 875H85.9Q60.5 875 47.9 852.5T48.8 806.6L460.9 130.9Q474.6 109.4 500 109.4T539.1 130.9L951.2 806.6Q964.8 830.1 952.1 852.5T914.1 875ZM595.7 630.9H560.5V433.6H496.1L365.2 642.6 367.2 681.6H496.1V750H560.5V681.6H595.7V630.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d4\"\n      ]\n    },\n    {\n      \"uid\": \"8cda7c84b39fd1345ae53320e6bbe1b1\",\n      \"css\": \"dice-d6\",\n      \"code\": 987473,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M543 562.5Q543 585.9 531.3 601.6T500 617.2 465.8 601.6 451.2 562.5V533.2L457 523.4Q462.9 515.6 473.6 508.8T498 503.9Q517.6 503.9 530.3 521.5T543 562.5ZM875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791Q826.2 125 850.6 149.4T875 209ZM605.5 558.6Q605.5 503.9 574.2 474.6 550.8 453.1 521.5 453.1 502 453.1 482.4 460.9 470.7 464.8 460.9 472.7L453.1 480.5 455.1 466.8Q457 451.2 466.8 437.5 478.5 419.9 498 410.2 521.5 396.5 558.6 396.5V347.7H531.3Q500 351.6 472.7 363.3 435.5 380.9 414.1 416 388.7 459 386.7 527.3 386.7 587.9 410.2 623 427.7 652.3 459 662.1 482.4 669.9 509.8 669.9L531.3 666 552.7 658.2Q574.2 644.5 587.9 625 607.4 597.7 605.5 558.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d6\"\n      ]\n    },\n    {\n      \"uid\": \"57b087709b3ff81fa12028872bac1ddb\",\n      \"css\": \"dice-d8\",\n      \"code\": 987474,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 343.8Q541 343.8 570.3 370.1T599.6 431.6Q599.6 476.6 560.5 502 582 515.6 594.7 535.2T607.4 580.1Q607.4 617.2 576.2 643.6T500 669.9 423.8 643.6 392.6 580.1Q392.6 554.7 405.3 535.2T439.5 502Q400.4 476.6 400.4 431.6 400.4 396.5 429.7 370.1T500 343.8ZM500 396.5Q484.4 396.5 473.6 408.2T462.9 437.5 473.6 466.8 500 478.5 526.4 466.8 537.1 437.5 526.4 408.2 500 396.5ZM500 527.3Q480.5 527.3 467.8 541T455.1 573.2 467.8 605.5 500 619.1 532.2 605.5 544.9 573.2 532.2 541 500 527.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d8\"\n      ]\n    },\n    {\n      \"uid\": \"25f9bc2f00e8c11fb1a8f6824ef64bc9\",\n      \"css\": \"dice-d10\",\n      \"code\": 987475,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM585.9 341.8Q630.9 341.8 662.1 373T693.4 449.2V558.6Q693.4 603.5 662.1 634.8T585.9 666 509.8 634.8 478.5 558.6V449.2Q478.5 404.3 509.8 373T585.9 341.8ZM431.6 349.6H437.5V666H375V425.8L300.8 449.2V396.5ZM585.9 402.3Q568.4 402.3 554.7 415T541 445.3V562.5Q541 580.1 554.7 592.8T585.9 605.5 617.2 592.8 630.9 562.5V445.3Q630.9 427.7 617.2 415T585.9 402.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d10\"\n      ]\n    },\n    {\n      \"uid\": \"f06c447ec83b6dc22fc911ff459244ff\",\n      \"css\": \"dice-d12\",\n      \"code\": 987476,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L62.5 402.3 228.5 916H771.5L937.5 402.3ZM437.5 709H371.1V453.1L291 478.5V423.8L429.7 375H437.5V709ZM709 709H486.3V662.1L523.4 623Q568.4 578.1 595.7 543 634.8 494.1 634.8 472.7T623 439.5Q615.2 429.7 601.6 427.7H591.8Q570.3 427.7 555.7 443.4T541 480.5H476.6Q478.5 435.5 512.7 404.3T593.8 375Q660.2 375 685.5 416 699.2 437.5 699.2 470.7 699.2 517.6 632.8 591.8 599.6 628.9 566.4 656.3V656.3H709V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d12\"\n      ]\n    },\n    {\n      \"uid\": \"997149cda619276fc3e9e3ce4c472d8d\",\n      \"css\": \"dice-d20\",\n      \"code\": 987477,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M853.5 275.4L523.4 91.8Q513.7 84 500 84T476.6 91.8L146.5 275.4Q125 287.1 125 312.5V687.5Q125 712.9 146.5 724.6L476.6 908.2Q486.3 916 500 916T523.4 908.2L853.5 724.6Q875 712.9 875 687.5V312.5Q875 287.1 853.5 275.4ZM476.6 664.1H263.7V621.1L300.8 584Q341.8 539.1 369.1 505.9 406.3 459 406.3 439.5 406.3 408.2 384.8 398.4 375 392.6 363.3 394.5L353.5 396.5Q339.8 400.4 332 410.2 320.3 423.8 318.4 445.3L255.9 449.2 257.8 431.6Q261.7 412.1 269.5 396.5 283.2 373 304.7 361.3 330.1 343.8 367.2 343.8 431.6 343.8 455.1 382.8 468.8 404.3 468.8 436.5T435.5 515.6Q410.2 546.9 373 584L339.8 615.2H476.6V664.1ZM728.5 562.5Q728.5 605.5 697.3 636.7T622.1 668 546.9 636.7 515.6 562.5V451.2Q515.6 406.3 546.9 375T622.1 343.8 697.3 375 728.5 451.2V562.5ZM666 449.2V564.5Q666 582 653.3 594.7T622.1 607.4 590.8 594.7 578.1 564.5V449.2Q578.1 429.7 590.8 417T622.1 404.3 653.3 417 666 449.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-d20\"\n      ]\n    },\n    {\n      \"uid\": \"f91fa7ebe7d0c4e851769d80026788f7\",\n      \"css\": \"dice-multiple-outline\",\n      \"code\": 987478,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 334Q566.4 334 553.7 321.3T541 292 553.7 262.7 583 250 612.3 262.7 625 292 612.3 321.3 584 334ZM500 500V791H209V500H500ZM533.2 416H175.8Q154.3 416 139.6 431.6T125 466.8V824.2Q125 845.7 139.6 860.4T175.8 875H533.2Q552.7 875 568.4 860.4T584 824.2V466.8Q584 447.3 568.4 431.6T533.2 416ZM824.2 125H466.8Q447.3 125 431.6 139.6T416 175.8V334H500V209H791V500H666V584H824.2Q845.7 584 860.4 568.4T875 533.2V175.8Q875 154.3 860.4 139.6T824.2 125ZM709 334Q691.4 334 678.7 321.3T666 292 678.7 262.7 708 250 737.3 262.7 750 292 737.3 321.3 709 334ZM709 459Q691.4 459 678.7 446.3T666 417 678.7 387.7 708 375 737.3 387.7 750 417 737.3 446.3 709 459ZM291 625Q275.4 625 262.7 612.3T250 583 262.7 553.7 292 541 321.3 553.7 334 583 321.3 612.3 291 625ZM416 750Q400.4 750 387.7 737.3T375 708 387.7 678.7 417 666 446.3 678.7 459 708 446.3 737.3 416 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dice-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4067c6dd15d095c9e0e149f1d71e2f36\",\n      \"css\": \"paper-roll\",\n      \"code\": 987479,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125Q306.6 125 251 158.2T161.1 249 125 375V875H500V560.5Q572.3 625 666 625 734.4 625 792 591.8T882.8 501 916 375 882.8 249 792 158.2 666 125H375ZM666 209Q736.3 209 785.2 257.8T834 375 785.2 492.2 667 541 548.8 492.2 500 375 548.8 257.8 666 209ZM666 302.7Q636.7 302.7 615.2 323.2T593.8 375 615.2 426.8 667 447.3 718.8 426.8 740.2 375 718.8 323.2 666 302.7ZM166 500H209V541H166V500ZM250 500H291V541H250V500ZM334 500H375V541H334V500ZM416 500H459V541H416V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"paper-roll\"\n      ]\n    },\n    {\n      \"uid\": \"cc9dea9cf7d4d7f95dc43f8ad0b081f8\",\n      \"css\": \"paper-roll-outline\",\n      \"code\": 987480,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125Q306.6 125 251 158.2T161.1 249 125 375V875H500V560.5Q572.3 625 666 625 734.4 625 792 591.8T882.8 501 916 375 882.8 249 792 158.2 666 125H375ZM375 209H480.5Q416 279.3 416 375V500H375V541H416V791H209V541H250V500H209V375Q209 306.6 257.8 257.8T375 209ZM666 209Q736.3 209 785.2 257.8T834 375 785.2 492.2 667 541 548.8 492.2 500 375 548.8 257.8 666 209ZM666 302.7Q636.7 302.7 615.2 323.2T593.8 375 615.2 426.8 667 447.3 718.8 426.8 740.2 375 718.8 323.2 666 302.7ZM291 500V541H334V500H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"paper-roll-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c8ff70f64871371a04d7f9889d58fc10\",\n      \"css\": \"home-edit\",\n      \"code\": 987481,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H416V584H584V628.9L810.5 404.3ZM877 464.8Q867.2 464.8 861.3 470.7L818.4 511.7 904.3 597.7 945.3 556.6Q953.1 548.8 953.1 540T945.3 523.4L892.6 470.7Q886.7 464.8 877 464.8ZM794.9 537.1L541 789.1V875H627L878.9 623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-edit\"\n      ]\n    },\n    {\n      \"uid\": \"9bc2e0fbef7a17dfec87bbf9c3fb3fb5\",\n      \"css\": \"home-edit-outline\",\n      \"code\": 987482,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H459V584H541V671.9L625 587.9V500H375V750H291V423.8L500 236.3 709 423.8V503.9L810.5 404.3ZM877 464.8Q867.2 464.8 861.3 470.7L818.4 511.7 904.3 597.7 945.3 556.6Q953.1 548.8 953.1 540T945.3 523.4L892.6 470.7Q886.7 464.8 877 464.8ZM794.9 537.1L541 789.1V875H627L878.9 623Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a73eec029cab0f94c7860bc2766dc69d\",\n      \"css\": \"arrow-horizontal-lock\",\n      \"code\": 987483,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 291V228.5Q617.2 185.5 581.1 155.3T500 125 418.9 155.3 382.8 228.5V291Q365.2 291 349.6 306.6T334 341.8V488.3Q334 509.8 348.6 525.4T382.8 541H613.3Q634.8 541 650.4 526.4T666 492.2V345.7Q666 324.2 651.4 307.6T617.2 291ZM562.5 291H437.5V228.5Q437.5 205.1 456.1 190.4T500 175.8 543.9 190.4 562.5 228.5V291ZM250 709V834L84 666 250 500V625H750V500L916 666 750 834V709H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-horizontal-lock\"\n      ]\n    },\n    {\n      \"uid\": \"928787e241b5fb38ef4c73331abe50c0\",\n      \"css\": \"arrow-vertical-lock\",\n      \"code\": 987484,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M783.2 459V396.5Q783.2 353.5 747.1 322.3T666 291 585.9 322.3 550.8 396.5V459Q531.3 459 515.6 474.6T500 507.8V654.3Q500 675.8 515.6 692.4T550.8 709H779.3Q800.8 709 817.4 693.4T834 658.2V511.7Q834 490.2 818.4 474.6T783.2 459ZM728.5 459H603.5V396.5Q603.5 371.1 622.1 356.4T667 341.8 710.9 356.4 728.5 396.5V459ZM375 250H500L334 84 166 250H291V750H166L334 916 500 750H375V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"arrow-vertical-lock\"\n      ]\n    },\n    {\n      \"uid\": \"ff63b1fd6485c968eea4fb8fa8220595\",\n      \"css\": \"weight-lifter\",\n      \"code\": 987485,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 209Q464.8 209 440.4 233.4T416 292 440.4 350.6 500 375 559.6 350.6 584 292 559.6 233.4 500 209ZM916 41V250H834V166H166V250H84V41H166V125H834V41H916ZM625 468.8V959H541V750H459V959H375V468.8Q308.6 433.6 268.6 370.1T228.5 228.5V209H312.5V228.5Q312.5 306.6 367.2 361.3T500 416 632.8 361.3 687.5 228.5V209H771.5V228.5Q771.5 306.6 731.4 370.1T625 468.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"weight-lifter\"\n      ]\n    },\n    {\n      \"uid\": \"16b7a6fd844c8cd1fc058e3ebe7291d2\",\n      \"css\": \"account-lock\",\n      \"code\": 987486,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V687.5Q916 644.5 885.7 614.3T812.5 584 739.3 614.3 709 687.5V709Q691.4 709 678.7 720.7T666 750V916Q666 933.6 678.7 946.3T709 959H916Q933.6 959 946.3 946.3T959 916V750Q959 732.4 946.3 720.7T916 709ZM875 709H750V687.5Q750 662.1 768.6 643.6T812.5 625 856.4 643.6 875 687.5V709ZM334 334Q334 263.7 382.8 214.8T500 166 617.2 214.8 666 333 617.2 451.2 500 500 382.8 451.2 334 334ZM584 834H166V750Q166 705.1 210.9 667T333 606.4 500 584Q576.2 584 646.5 599.6 632.8 628.9 627 654.3 584 691.4 584 750V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-lock\"\n      ]\n    },\n    {\n      \"uid\": \"bacc2ec61f7ce4f62ccf6a742a58f263\",\n      \"css\": \"account-lock-outline\",\n      \"code\": 987487,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V687.5Q916 644.5 885.7 614.3T812.5 584 739.3 614.3 709 687.5V709Q691.4 709 678.7 720.7T666 750V916Q666 933.6 678.7 946.3T709 959H916Q933.6 959 946.3 946.3T959 916V750Q959 732.4 946.3 720.7T916 709ZM875 709H750V687.5Q750 662.1 768.6 643.6T812.5 625 856.4 643.6 875 687.5V709ZM584 834H166V709Q166 656.3 228.5 615.2 279.3 582 363.3 560.5 437.5 541 500 541 580.1 541 666 568.4 642.6 599.6 630.9 640.6 562.5 621.1 500 621.1 441.4 621.1 378.9 636.7 324.2 652.3 285.2 673.8T246.1 709V753.9H584V834ZM500 500Q568.4 500 617.2 451.2T666 333 617.2 214.8 500 166 382.8 214.8 334 333 382.8 451.2 500 500ZM500 250Q535.2 250 559.6 274.4T584 333 559.6 391.6 500 416 440.4 391.6 416 333 440.4 274.4 500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0e140e2c4d02415014a0cc5286f659db\",\n      \"css\": \"pasta\",\n      \"code\": 987488,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 687.5V334H125V291H166V250H125V209H166V166H125V125H375Q406.3 127 430.7 151.4T459 209H875V250H459Q455.1 283.2 430.7 309.6T375 334H291V627Q296.9 627 300.8 625T310.5 625H312.5Q347.7 625 392.6 642.6 418 584 479.5 542T605.5 500Q701.2 500 767.6 566.4T834 728.5V740.2L832 750H130.9Q138.7 718.8 166 687.5ZM250 634.8V334H209V654.3Q240.2 638.7 250 634.8ZM375 291V250H291V291H375ZM375 166H291V209H375V166ZM209 166V209H250V166H209ZM209 250V291H250V250H209ZM84 791H916L834 875H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pasta\"\n      ]\n    },\n    {\n      \"uid\": \"c1c4cc49ecf28cd6ffa52b308132e18b\",\n      \"css\": \"send-check\",\n      \"code\": 987489,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V416L709 500 84 584V875L959 500ZM916 646.5L771.5 791 687.5 709 625 771.5 771.5 916 978.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-check\"\n      ]\n    },\n    {\n      \"uid\": \"f93b62f1633eec68f85c4a1e8d57f713\",\n      \"css\": \"send-check-outline\",\n      \"code\": 987490,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V416L709 500 84 584V875L959 500ZM166 252L480.5 384.8 166 343.8V252ZM480.5 615.2L166 748V656.3ZM916 646.5L771.5 791 687.5 709 625 771.5 771.5 916 978.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3629809e075b087917507a7f34a5ab3f\",\n      \"css\": \"send-clock\",\n      \"code\": 987491,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V416L459 500 84 584V875L386.7 746.1Q412.1 839.8 490.2 899.4T666 959Q746.1 959 812.5 918.9T918.9 812.5 959 667 918.9 520.5 812.5 414.1 666 375ZM666 459Q722.7 459 770.5 486.3T846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875 561.5 846.7 486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459ZM625 521.5V687.5L750 771.5 781.3 718.8 687.5 656.3V521.5H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-clock\"\n      ]\n    },\n    {\n      \"uid\": \"ef5aed91ee7543c1be097067eaad8e4e\",\n      \"css\": \"send-clock-outline\",\n      \"code\": 987492,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V416L459 500 84 584V875L386.7 746.1Q412.1 839.8 490.2 899.4T666 959Q746.1 959 812.5 918.9T918.9 812.5 959 667 918.9 520.5 812.5 414.1 666 375ZM166 252L533.2 408.2Q517.6 416 503.9 425.8L166 349.6V252ZM666 459Q722.7 459 770.5 486.3T846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875 561.5 846.7 486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459ZM625 521.5V687.5L750 771.5 781.3 718.8 687.5 656.3V521.5H625ZM382.8 601.6Q375 630.9 375 658.2L166 748V650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cffd662cb17027ce2824f558d477ffa8\",\n      \"css\": \"send-outline\",\n      \"code\": 987493,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 252L478.5 384.8 166 343.8V252ZM478.5 615.2L166 748V656.3ZM84 125V416L709 500 84 584V875L959 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8e8dccff0d4f5c3a6301d58acac9bb79\",\n      \"css\": \"send-lock-outline\",\n      \"code\": 987494,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 750V728.5Q959 685.5 927.7 655.3T853.5 625 780.3 655.3 750 728.5V750Q732.4 750 720.7 762.7T709 791V959Q709 974.6 720.7 987.3T750 1000H959Q974.6 1000 987.3 987.3T1000 959V791Q1000 775.4 987.3 762.7T959 750ZM916 750H791V728.5Q791 703.1 809.6 684.6T854.5 666 898.4 684.6 916 728.5V750ZM166 252L478.5 384.8 166 343.8V252ZM478.5 615.2L166 748V656.3ZM84 125V416L709 500 84 584V875L959 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"send-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ced171f7cd6fa1cd2fbc3a47a5697528\",\n      \"css\": \"police-badge\",\n      \"code\": 987495,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166L834 84Q757.8 125 667 125T500 84Q423.8 125 333 125T166 84L84 166 105.5 191.4Q128.9 222.7 144.5 253.9 166 296.9 166 334 166 361.3 154.3 408.2 146.5 437.5 125 500T95.7 591.8Q84 638.7 84 666 84 724.6 148.4 775.4 201.2 818.4 291 853.5 357.4 880.9 435.5 900.4L500 916 564.5 900.4Q642.6 880.9 709 853.5 798.8 818.4 851.6 775.4 916 724.6 916 666 916 638.7 904.3 591.8 896.5 562.5 875 500T845.7 408.2Q834 361.3 834 334 834 296.9 855.5 253.9 871.1 222.7 894.5 191.4ZM627 685.5L498 607.4 371.1 685.5 404.3 539.1 291 441.4 441.4 429.7 498 291 556.6 429.7 707 441.4 593.8 539.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"police-badge\"\n      ]\n    },\n    {\n      \"uid\": \"87dd753557f35251848419abc220a81d\",\n      \"css\": \"police-badge-outline\",\n      \"code\": 987496,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 175.8Q580.1 209 666 209 732.4 209 794.9 189.5 750 263.7 750 334 750 369.1 763.7 421.9 771.5 453.1 794.9 521.5V525.4Q834 638.7 834 666 834 687.5 788.1 719.7T669.9 781.3Q589.8 812.5 500 832 410.2 812.5 330.1 781.3 257.8 752 211.9 719.7T166 666Q166 638.7 205.1 525.4V521.5Q228.5 453.1 236.3 421.9 250 369.1 250 334 250 263.7 205.1 189.5 267.6 209 334 209 419.9 209 500 175.8ZM834 84Q757.8 125 667 125T500 84Q423.8 125 333 125T166 84L84 166 105.5 191.4Q128.9 222.7 144.5 253.9 166 296.9 166 334 166 361.3 154.3 408.2 146.5 437.5 125 500T95.7 591.8Q84 638.7 84 666 84 724.6 148.4 775.4 201.2 818.4 291 853.5 357.4 880.9 435.5 900.4L500 916 564.5 900.4Q642.6 880.9 709 853.5 798.8 818.4 851.6 775.4 916 724.6 916 666 916 638.7 904.3 591.8 896.5 562.5 875 500T845.7 408.2Q834 361.3 834 334 834 296.9 855.5 253.9 871.1 222.7 894.5 191.4L916 166ZM627 685.5L498 607.4 371.1 685.5 404.3 539.1 291 441.4 441.4 429.7 498 291 556.6 429.7 707 441.4 593.8 539.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"police-badge-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ddbe3e3db8445588216c2c8244f10ef8\",\n      \"css\": \"gate-arrow-right\",\n      \"code\": 987497,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209V416H541V250H459V416H375V334H291V834H375V750H459V834H503.9Q500 812.5 500 791 500 716.8 541 654.3V500H625V576.2Q664.1 552.7 709 544.9V500H791V544.9Q835.9 552.7 875 576.2V500H916V416H875V209H791V416H709V209H625ZM375 500H459V666H375V500ZM791 666V750H625V834H791V916L916 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"cdaea6bc9572b56fee6b275a8953c594\",\n      \"css\": \"gate-open\",\n      \"code\": 987498,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 834V250H209V416H125V334H41V834H125V750H209V834H291ZM125 666V500H209V666H125ZM875 334V416H791V250H709V834H791V750H875V834H959V334H875ZM875 666H791V500H875V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gate-open\"\n      ]\n    },\n    {\n      \"uid\": \"46317ec6cca793bef92fe368ac8d554e\",\n      \"css\": \"currency-usd-circle\",\n      \"code\": 987499,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84ZM625 416H459V459H584Q601.6 459 613.3 470.7T625 500V625Q625 642.6 613.3 654.3T584 666H541V709H459V666H375V584H541V541H416Q398.4 541 386.7 529.3T375 500V375Q375 357.4 386.7 345.7T416 334H459V291H541V334H625V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-usd-circle\"\n      ]\n    },\n    {\n      \"uid\": \"407c0e45e7111bcc13661011082523ac\",\n      \"css\": \"message-image-outline\",\n      \"code\": 987500,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666ZM209 584L353.5 396.5 459 521.5 603.5 334 791 584H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-image-outline\"\n      ]\n    },\n    {\n      \"uid\": \"82f878b13cabccd26b595e4d9bfe1f07\",\n      \"css\": \"message-lock-outline\",\n      \"code\": 987501,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 125V103.5Q959 60.5 927.7 30.3T853.5 0 780.3 30.3 750 103.5V125Q732.4 125 720.7 137.7T709 166V334Q709 349.6 720.7 362.3T750 375H959Q974.6 375 987.3 362.3T1000 334V166Q1000 150.4 987.3 137.7T959 125ZM916 125H791V103.5Q791 78.1 809.6 59.6T854.5 41 898.4 59.6 916 103.5V125ZM916 459V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H627V166H166V750L250 666H834V459H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d09448f368d6b9ef0d512c173dc24d8c\",\n      \"css\": \"message-minus\",\n      \"code\": 987502,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H834ZM334 375V459H666V375H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-minus\"\n      ]\n    },\n    {\n      \"uid\": \"415cff9af0d4b1177c00d75aa7d672e9\",\n      \"css\": \"message-minus-outline\",\n      \"code\": 987503,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666ZM334 375V459H666V375H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"762819db3e18d98b233aecbfa72e792d\",\n      \"css\": \"message-processing-outline\",\n      \"code\": 987504,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666ZM709 459H625V375H709V459ZM541 459H459V375H541V459ZM375 459H291V375H375V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-processing-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8559d31b198b6db9829fa62832fb2ce8\",\n      \"css\": \"message-settings-outline\",\n      \"code\": 987505,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 1000H541V916H459V1000ZM291 1000H375V916H291V1000ZM625 1000H709V916H625V1000ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6600b98286d092a49852fa9495add22f\",\n      \"css\": \"message-cog-outline\",\n      \"code\": 987506,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M699.2 470.7L654.3 437.5Q654.3 427.7 655.3 417T654.3 396.5L699.2 361.3Q705.1 355.5 701.2 347.7L658.2 275.4Q656.3 269.5 646.5 271.5L593.8 291Q576.2 277.3 558.6 271.5L550.8 216.8Q550.8 209 541 209H459Q449.2 209 447.3 216.8L439.5 271.5Q421.9 279.3 404.3 291L351.6 271.5Q343.8 267.6 339.8 275.4L298.8 347.7Q293 355.5 300.8 361.3L343.8 396.5Q341.8 416 343.8 437.5L300.8 470.7Q293 476.6 298.8 484.4L339.8 556.6Q343.8 564.5 351.6 562.5L404.3 541Q421.9 554.7 439.5 562.5L447.3 617.2Q449.2 625 459 625H541Q550.8 625 552.7 617.2L560.5 560.5Q574.2 554.7 595.7 541L646.5 562.5Q658.2 562.5 660.2 556.6L701.2 484.4Q705.1 476.6 699.2 470.7ZM500 478.5Q474.6 478.5 456.1 460.9T437.5 417 456.1 372.1 500 353.5 543.9 372.1 562.5 417 543.9 460.9 500 478.5ZM834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aac36bf588b473e9ac0b0f9053e2cad3\",\n      \"css\": \"message-text-clock\",\n      \"code\": 987507,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 517.6V166Q916 132.8 891.6 108.4T834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H386.7Q414.1 841.8 491.2 900.4T666 959Q746.1 959 812.5 919.9T918.9 813.5 959 666 916 517.6ZM250 250H750V334H250V250ZM666 375Q609.4 375 556.6 397.5T462.9 459H250V375H666ZM250 500H427.7Q400.4 539.1 386.7 584H250V500ZM666 869.1Q582 869.1 523.4 809.6T464.8 666 523.4 523.4 666 464.8 809.6 523.4 869.1 666 809.6 809.6 666 869.1ZM687.5 658.2L789.1 718.8 757.8 771.5 625 695.3V541H687.5V658.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-text-clock\"\n      ]\n    },\n    {\n      \"uid\": \"db80af402396d5115886717d94d9ac7b\",\n      \"css\": \"message-text-clock-outline\",\n      \"code\": 987508,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 517.6V166Q916 132.8 891.6 108.4T834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H386.7Q414.1 841.8 491.2 900.4T666 959Q746.1 959 812.5 919.9T918.9 813.5 959 666 916 517.6ZM214.8 666L166 714.8V166H834V427.7Q757.8 375 666 375 609.4 375 556.6 397.5T462.9 459H250V541H404.3Q375 601.6 375 666H214.8ZM666 869.1Q582 869.1 523.4 809.6T464.8 666 523.4 523.4 666 464.8 809.6 523.4 869.1 666 809.6 809.6 666 869.1ZM750 375H250V291H750V375ZM687.5 658.2L789.1 718.8 757.8 771.5 625 695.3V541H687.5V658.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-text-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7fd5f24a2e15958db4f3e800b8df6ef0\",\n      \"css\": \"message-text-lock-outline\",\n      \"code\": 987509,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 125V103.5Q959 60.5 927.7 30.3T853.5 0 780.3 30.3 750 103.5V125Q732.4 125 720.7 137.7T709 166V334Q709 349.6 720.7 362.3T750 375H959Q974.6 375 987.3 362.3T1000 334V166Q1000 150.4 987.3 137.7T959 125ZM916 125H791V103.5Q791 78.1 809.6 59.6T854.5 41 898.4 59.6 916 103.5V125ZM250 459H625V541H250V459ZM250 291H625V375H250V291ZM916 459V666Q916 701.2 891.6 725.6T834 750H250L84 916V166Q84 132.8 108.4 108.4T166 84H625V166H166V714.8L214.8 666H834V459H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-text-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3eab04e2b004f1b03f69d0500951facb\",\n      \"css\": \"cash-usd\",\n      \"code\": 987510,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V250Q916 214.8 891.6 190.4T834 166ZM625 416H459V459H584Q599.6 459 612.3 470.7T625 500V625Q625 642.6 612.3 654.3T584 666H541V709H459V666H375V584H541V541H416Q400.4 541 387.7 529.3T375 500V375Q375 357.4 387.7 345.7T416 334H459V291H541V334H625V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-usd\"\n      ]\n    },\n    {\n      \"uid\": \"8be181191a1c59a61e2662caaf8826df\",\n      \"css\": \"file-link\",\n      \"code\": 987511,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM459 834H416Q355.5 834 308.6 796.9 250 750 250 667T308.6 537.1Q355.5 500 416 500H459V584H416Q388.7 584 367.2 595.7 334 617.2 334 667T369.1 738.3Q390.6 750 416 750H459V834ZM625 625V709H375V625H625ZM584 834H541V750H584Q611.3 750 632.8 736.3 666 714.8 666 665T630.9 595.7Q609.4 584 584 584H541V500H584Q644.5 500 691.4 537.1 750 584 750 667T691.4 796.9Q644.5 834 584 834ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-link\"\n      ]\n    },\n    {\n      \"uid\": \"e05d9f304825ccba4f25cb3b05e5c638\",\n      \"css\": \"file-link-outline\",\n      \"code\": 987512,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM459 791H447.3Q392.6 791 349.6 759.8 291 716.8 291 634.8T349.6 511.7Q392.6 478.5 447.3 478.5H459V541H447.3Q419.9 541 394.5 554.7 353.5 578.1 353.5 635.7T396.5 716.8Q419.9 728.5 447.3 728.5H459V791ZM584 666H416V603.5H584V666ZM541 478.5H552.7Q607.4 478.5 650.4 511.7 709 552.7 709 634.8T650.4 759.8Q607.4 791 552.7 791H541V728.5H552.7Q580.1 728.5 605.5 714.8 646.5 691.4 646.5 634.8T603.5 554.7Q580.1 541 552.7 541H541V478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-link-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a86b726aaec681116f6a35e1e5be183e\",\n      \"css\": \"file-phone\",\n      \"code\": 987513,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM709 810.5Q709 820.3 702.1 827.1T685.5 834Q578.1 834 488.3 780.3T344.7 636.7 291 439.5Q291 429.7 297.9 422.9T314.5 416H396.5Q406.3 416 413.1 422.9T419.9 439.5Q419.9 482.4 431.6 523.4 435.5 535.2 425.8 546.9L375 597.7Q427.7 697.3 527.3 750L580.1 699.2Q587.9 689.5 601.6 693.4 644.5 707 685.5 707 695.3 707 702.1 712.9T709 728.5V810.5ZM541 375V146.5L771.5 375H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-phone\"\n      ]\n    },\n    {\n      \"uid\": \"85544c534d7e6db5e39b0c5ae4e82574\",\n      \"css\": \"file-phone-outline\",\n      \"code\": 987514,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM375 554.7Q427.7 656.3 527.3 709L578.1 656.3Q589.8 646.5 601.6 650.4 644.5 664.1 685.5 664.1 695.3 664.1 702.1 670.9T709 687.5V769.5Q709 777.3 702.1 784.2T685.5 791Q578.1 791 488.3 738.3T344.7 595.7 291 398.4Q291 388.7 297.9 381.8T314.5 375H396.5Q406.3 375 413.1 381.8T419.9 398.4Q419.9 441.4 431.6 480.5 435.5 494.1 425.8 503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-phone-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4c824b9d28a93e471a8e0f93863926ad\",\n      \"css\": \"meditation\",\n      \"code\": 987515,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q464.8 84 440.4 108.4T416 167 440.4 225.6 500 250 559.6 225.6 584 167 559.6 108.4 500 84ZM459 291L308.6 441.4 220.7 353.5 162.1 412.1 279.3 529.3Q291 543 308.6 543T337.9 529.3L416 451.2V625H334Q316.4 625 303.7 637.7T291 666V709L418 783.2 334 834 375 906.3 500 832 625 906.3 666 834 582 783.2 709 709V666Q709 650.4 696.3 637.7T666 625H584V451.2L662.1 529.3Q673.8 543 691.4 543T720.7 529.3L837.9 412.1 779.3 353.5 691.4 441.4 541 291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"meditation\"\n      ]\n    },\n    {\n      \"uid\": \"3353f17bb727e059d146cd2bb6d59ea6\",\n      \"css\": \"yoga\",\n      \"code\": 987516,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84Q507.8 84 483.4 108.4T459 167 483.4 225.6 542 250 600.6 225.6 625 167 600.6 108.4 541 84ZM166 291V375H416V625L205.1 835.9 263.7 896.5 544.9 615.2 709 712.9V875H791V689.5Q791 666 771.5 654.3L625 566.4V375H875V291H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"yoga\"\n      ]\n    },\n    {\n      \"uid\": \"9f99306e227428b55ec3a629cf4b8234\",\n      \"css\": \"leek\",\n      \"code\": 987517,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84V230.5L500 314.5 584 230.5V84H416ZM263.7 166L162.1 271.5 625 734.4V527.3ZM736.3 166L544.9 359.4 648.4 462.9 837.9 271.5ZM375 572.3V834Q375 867.2 399.4 891.6T459 916H541Q576.2 916 600.6 891.6T625 834V822.3L541 738.3V834H459V656.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leek\"\n      ]\n    },\n    {\n      \"uid\": \"bfc2fa304b0404af7b16566835f25248\",\n      \"css\": \"noodles\",\n      \"code\": 987518,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 125L416 183.6V250H916V291H416V500H916Q916 611.3 846.7 705.1T666 843.8V916H334V843.8Q222.7 798.8 153.3 706.1T84 500H209V166L916 84V125ZM250 203.1V250H291V199.2ZM250 291V500H291V291H250ZM375 500V291H334V500H375ZM375 250V189.5L334 193.4V250H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"noodles\"\n      ]\n    },\n    {\n      \"uid\": \"b921d9cc32db2ca91d1b6ec7f5b9e4c1\",\n      \"css\": \"pound-box-outline\",\n      \"code\": 987519,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 791H209V209H791V791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM291 375H388.7L400.4 250H484.4L470.7 375H554.7L568.4 250H650.4L638.7 375H709V459H628.9L621.1 541H709V625H611.3L599.6 750H515.6L529.3 625H445.3L431.6 750H349.6L361.3 625H291V541H371.1L378.9 459H291V375ZM462.9 459L455.1 541H537.1L544.9 459H462.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pound-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"00553c66226d81fa3767074f85730e95\",\n      \"css\": \"school-outline\",\n      \"code\": 987520,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L41 375 209 466.8V716.8L500 875 791 716.8V466.8L875 419.9V709H959V375ZM783.2 375L500 529.3 216.8 375 500 220.7ZM709 666L500 779.3 291 666V511.7L500 625 709 511.7V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"school-outline\"\n      ]\n    },\n    {\n      \"uid\": \"08b03893dac950cd4da7cd483e02c834\",\n      \"css\": \"basket-outline\",\n      \"code\": 987521,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 375H716.8L535.2 101.6Q521.5 84 500 84T464.8 101.6L283.2 375H84Q66.4 375 53.7 387.7T41 416Q41 423.8 43 427.7L148.4 814.5Q156.3 839.8 178.7 857.4T228.5 875H771.5Q798.8 875 821.3 857.4T851.6 814.5L957 427.7 959 416Q959 400.4 946.3 387.7T916 375ZM500 199.2L617.2 375H382.8ZM771.5 791H228.5L138.7 459H863.3ZM500 541Q464.8 541 440.4 565.4T416 625 440.4 684.6 500 709 559.6 684.6 584 625 559.6 565.4 500 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"basket-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8467e1f77720254955d40d8f52b45d14\",\n      \"css\": \"phone-in-talk-outline\",\n      \"code\": 987522,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM625 500H709Q709 443.4 680.7 395.5T604.5 319.3 500 291V375Q552.7 375 588.9 411.1T625 500ZM791 500H875Q875 398.4 824.2 311.5T687.5 174.8 500 125V209Q580.1 209 646.5 248T752 353.5 791 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-in-talk-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ac6b30834c55499dd9063df844b93ea\",\n      \"css\": \"bash\",\n      \"code\": 987523,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 375H304.7L318.4 250H400.4L388.7 375H470.7L484.4 250H568.4L554.7 375H625V459H544.9L537.1 541H625V625H529.3L515.6 750H431.6L445.3 625H361.3L349.6 750H265.6L279.3 625H209V541H287.1L294.9 459H209V375ZM378.9 459L371.1 541H455.1L462.9 459H378.9ZM791 250H709V584H791V250ZM791 666H709V750H791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bash\"\n      ]\n    },\n    {\n      \"uid\": \"b755147037e7e9376b6a3af55ef34a9e\",\n      \"css\": \"file-key\",\n      \"code\": 987524,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 666Q459 683.6 446.3 696.3T416 709 386.7 696.3 375 666 386.7 636.7 416 625 446.3 636.7 459 666ZM834 334V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584ZM709 625H535.2Q519.5 582 480.5 558.6T396.5 543 321.3 585.9 291 667 321.3 747.1 396.5 789.1 480.5 774.4 535.2 709H584V791H666V709H709V625ZM771.5 375L541 146.5V375H771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-key\"\n      ]\n    },\n    {\n      \"uid\": \"9dedfa1d9f7d1bea0e2e77db5e0e0748\",\n      \"css\": \"file-key-outline\",\n      \"code\": 987525,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V334ZM750 834H250V166H541V375H750V834ZM535.2 625Q519.5 582 480.5 558.6T396.5 543 321.3 585.9 291 667 321.3 747.1 396.5 789.1 480.5 774.4 535.2 709H584V791H666V709H709V625H535.2ZM416 709Q398.4 709 386.7 696.3T375 666 386.7 636.7 416 625 446.3 636.7 459 666 446.3 696.3 416 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-key-outline\"\n      ]\n    },\n    {\n      \"uid\": \"322848d0df207be9de1ef3145b2e3ca4\",\n      \"css\": \"file-certificate\",\n      \"code\": 987526,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 84H291Q257.8 84 233.4 108.4T209 166V750Q209 785.2 233.4 809.6T291 834H416V959L500 916 584 959V834H709Q742.2 834 766.6 809.6T791 750V291ZM584 625V709L500 666 416 709V625L334 584 416 541V459L500 500 584 459V541L666 584ZM541 334V146.5L728.5 334H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-certificate\"\n      ]\n    },\n    {\n      \"uid\": \"13c2be9ae18f1406272daa07cd963d73\",\n      \"css\": \"file-certificate-outline\",\n      \"code\": 987527,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 541V459L500 500 416 459V541L334 584 416 625V709L500 666 584 709V625L666 584ZM584 84H291Q257.8 84 233.4 108.4T209 166V750Q209 785.2 233.4 809.6T291 834H334V750H291V166H541V334H709V750H666V834H709Q742.2 834 766.6 809.6T791 750V291ZM584 541V459L500 500 416 459V541L334 584 416 625V709L500 666 584 709V625L666 584ZM416 959L500 916 584 959V750H416V959ZM584 541V459L500 500 416 459V541L334 584 416 625V709L500 666 584 709V625L666 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-certificate-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9838844383675b9c901d540c0fc15c38\",\n      \"css\": \"certificate-outline\",\n      \"code\": 987528,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 875L625 834 709 875V584H541V875ZM709 375V291L625 334 541 291V375L459 416 541 459V541L625 500 709 541V459L791 416ZM834 125H166Q132.8 125 108.4 149.4T84 209V625Q84 660.2 108.4 684.6T166 709H459V625H166V209H834V625H791V709H834Q867.2 709 891.6 684.6T916 625V209Q916 173.8 891.6 149.4T834 125ZM459 334H209V250H459V334ZM375 459H209V375H375V459ZM459 584H209V500H459V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"certificate-outline\"\n      ]\n    },\n    {\n      \"uid\": \"742f1e4a88a74aee2e79f4449a0911e0\",\n      \"css\": \"cigar\",\n      \"code\": 987529,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 425.8H603.5Q572.3 421.9 549.8 398.4T527.3 342.8 549.8 289.1 603.5 269.5V209Q546.9 209 505.9 250T464.8 348.6 505.9 447.3 603.5 488.3H666Q701.2 486.3 726.6 510.7T750 570.3V625H812.5V556.6Q810.5 498 767.6 460T666 425.8ZM783.2 322.3Q814.5 293 823.2 251T816.4 169.9 765.6 107.4 687.5 84V146.5Q718.8 146.5 741.2 168.9T763.7 222.7 741.2 277.3 687.5 300.8V363.3Q757.8 363.3 806.6 413.1T853.5 531.3V625H916V531.3Q916 464.8 880.9 408.2T785.2 322.3H783.2ZM750 666V916H812.5V666H750ZM853.5 666V916H916V666H853.5ZM500 666V718.8Q519.5 730.5 530.3 750T541 792 530.3 834 500 863.3V916H709V666H500ZM119.1 703.1Q93.8 730.5 85.9 767.6T92.8 839.8 138.7 895.5 209 916H416V863.3Q396.5 853.5 385.7 834T375 792 385.7 750 416 718.8V666H209Q156.3 666 119.1 703.1ZM500 791Q500 804.7 493.2 815.4T474.6 831.1 450.2 833 428.7 821.3 417 799.8 418.9 775.4 434.6 756.8 459 750Q476.6 750 488.3 761.7T500 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cigar\"\n      ]\n    },\n    {\n      \"uid\": \"3f2ef84bb61bb6643dbd9f20512113be\",\n      \"css\": \"grill-outline\",\n      \"code\": 987530,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 916Q755.9 916 792 884.8T833 805.7 810.5 718.8 736.3 668.9 648.4 681.6 591.8 750H380.9L462.9 623Q500 627 537.1 623L578.1 687.5Q607.4 652.3 646.5 636.7L621.1 599.6Q699.2 562.5 745.1 491.2T791 334H209Q209 419.9 254.9 491.2T380.9 599.6L214.8 851.6Q207 867.2 210.9 882.8T228.5 907.2 258.8 913.1 285.2 898.4L326.2 834H591.8Q603.5 871.1 635.7 893.6T709 916ZM709 750Q726.6 750 738.3 761.7T750 791 737.3 821.3 708 834 678.7 821.3 666 791 678.7 761.7 709 750ZM308.6 416H691.4Q666 472.7 614.3 506.8T500 541 385.7 506.8 308.6 416ZM392.6 291H433.6V289.1Q439.5 250 435.5 232.4 427.7 205.1 396.5 168L394.5 166Q380.9 148.4 377 136.7 371.1 117.2 377 84H335.9Q328.1 117.2 337.9 150.4T373 207L375 209Q388.7 222.7 392.6 234.4 400.4 257.8 392.6 291ZM496.1 291H537.1V289.1Q543 250 539.1 232.4 531.3 205.1 500 168H498Q484.4 148.4 480.5 136.7 474.6 119.1 480.5 84H439.5Q431.6 117.2 441.4 150.4T476.6 207L478.5 209Q492.2 222.7 496.1 234.4 503.9 257.8 496.1 291ZM599.6 291H642.6V289.1Q648.4 250 642.6 232.4 636.7 205.1 603.5 168L601.6 166Q587.9 148.4 584 136.7 580.1 117.2 585.9 84H544.9Q537.1 117.2 546.9 150.4T582 207L584 209Q595.7 222.7 601.6 234.4 609.4 257.8 599.6 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"grill-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bbc7028b1005a71cd08c7715cb602db4\",\n      \"css\": \"qrcode-plus\",\n      \"code\": 987531,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209H291V291H209V209ZM41 41H459V459H41V41ZM125 125V375H375V125H125ZM209 709H291V791H209V709ZM41 541H459V959H41V541ZM125 625V875H375V625H125ZM541 541H709V625H791V541H959V625H791V709H959V959H791V875H625V959H541V875H625V791H541V541ZM875 875V791H791V875H875ZM791 709H709V625H625V791H791V709ZM709 84V209H584V291H709V416H791V291H916V209H791V84H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qrcode-plus\"\n      ]\n    },\n    {\n      \"uid\": \"a60415ec7f12ad53c797fc7cab977f37\",\n      \"css\": \"qrcode-minus\",\n      \"code\": 987532,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209H291V291H209V209ZM41 41H459V459H41V41ZM125 125V375H375V125H125ZM209 709H291V791H209V709ZM41 541H459V959H41V541ZM125 625V875H375V625H125ZM541 541H709V625H791V541H959V625H791V709H959V959H791V875H625V959H541V875H625V791H541V541ZM875 875V791H791V875H875ZM791 709H709V625H625V791H791V709ZM584 209V291H916V209H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qrcode-minus\"\n      ]\n    },\n    {\n      \"uid\": \"a2e4928e8838c998d8ec5c15862d184d\",\n      \"css\": \"qrcode-remove\",\n      \"code\": 987533,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 209H291V291H209V209ZM41 41H459V459H41V41ZM125 125V375H375V125H125ZM209 709H291V791H209V709ZM41 541H459V959H41V541ZM125 625V875H375V625H125ZM541 541H709V625H791V541H959V625H791V709H959V959H791V875H625V959H541V875H625V791H541V541ZM875 875V791H791V875H875ZM791 709H709V625H625V791H791V709ZM632.8 74.2L574.2 132.8 691.4 250 574.2 367.2 632.8 425.8 750 308.6 867.2 425.8 925.8 367.2 808.6 250 925.8 132.8 867.2 74.2 750 191.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"qrcode-remove\"\n      ]\n    },\n    {\n      \"uid\": \"9d4ce263befe569b13101ea040b7a4bf\",\n      \"css\": \"phone-alert-outline\",\n      \"code\": 987534,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM709 500V416H791V500H709ZM709 334V84H791V334H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c8b59cd20350278bb9acb7d8a418f863\",\n      \"css\": \"phone-bluetooth-outline\",\n      \"code\": 987535,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM750 300.8L789.1 339.8 750 378.9V300.8ZM750 121.1L789.1 160.2 750 199.2V121.1ZM613.3 396.5L709 300.8V459H728.5L847.7 339.8 757.8 250 847.7 160.2 728.5 41H709V199.2L613.3 103.5 584 132.8 699.2 250 584 367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-bluetooth-outline\"\n      ]\n    },\n    {\n      \"uid\": \"92bf64b9890eefa6eb5fa1ed2a7fde64\",\n      \"css\": \"phone-cancel-outline\",\n      \"code\": 987536,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM687.5 84Q609.4 84 554.7 138.7T500 271.5 554.7 404.3 687.5 459 820.3 404.3 875 271.5 820.3 138.7 687.5 84ZM687.5 396.5Q634.8 396.5 598.6 359.4T562.5 271.5Q562.5 236.3 580.1 209L750 378.9Q722.7 396.5 687.5 396.5ZM794.9 334L625 164.1Q652.3 146.5 687.5 146.5 740.2 146.5 776.4 182.6T812.5 271.5Q812.5 306.6 794.9 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-cancel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"91652a460657c204089b861f93f0e7c2\",\n      \"css\": \"phone-forward-outline\",\n      \"code\": 987537,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM750 459L959 250 750 41V166H584V334H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-forward-outline\"\n      ]\n    },\n    {\n      \"uid\": \"298cdd7320a5a5156b3fc333ce04b2ec\",\n      \"css\": \"phone-hangup-outline\",\n      \"code\": 987538,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M988.3 486.3Q853.5 357.4 673.8 312.5 500 269.5 326.2 312.5 146.5 357.4 11.7 486.3 0 498 0 515.6T11.7 544.9L115.2 648.4Q128.9 660.2 145.5 660.2T173.8 648.4Q224.6 601.6 285.2 572.3 308.6 560.5 308.6 533.2V404.3Q402.3 375 500 375T691.4 406.3V535.2Q691.4 560.5 714.8 572.3 775.4 601.6 826.2 648.4 837.9 660.2 854.5 661.1T884.8 648.4L988.3 544.9Q1000 533.2 1000 515.6T988.3 486.3ZM224.6 509.8Q183.6 533.2 146.5 562.5L101.6 517.6Q160.2 470.7 224.6 437.5V509.8ZM853.5 562.5Q816.4 533.2 775.4 509.8V439.5Q841.8 470.7 898.4 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-hangup-outline\"\n      ]\n    },\n    {\n      \"uid\": \"61e63bf2a28f9e2adb46085142fcb495\",\n      \"css\": \"phone-incoming-outline\",\n      \"code\": 987539,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM791 459V396.5H646.5L875 166 834 125 603.5 353.5V209H541V459H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-incoming-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f263dc353026e055eda43d116cc949f4\",\n      \"css\": \"phone-lock-outline\",\n      \"code\": 987540,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM800.8 166H658.2V146.5Q658.2 117.2 678.7 95.7T728.5 74.2 779.3 95.7 800.8 146.5V166ZM834 166V146.5Q834 103.5 802.7 72.3T728.5 41 655.3 72.3 625 146.5V166Q607.4 166 595.7 178.7T584 209V375Q584 392.6 595.7 404.3T625 416H834Q851.6 416 863.3 404.3T875 375V209Q875 191.4 863.3 178.7T834 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e142aceaa68d1d5bdb82ef9b3f2b9882\",\n      \"css\": \"phone-log-outline\",\n      \"code\": 987541,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM500 125H584V209H500V125ZM625 125H875V209H625V125ZM500 250H584V334H500V250ZM625 250H875V334H625V250ZM500 375H584V459H500V375ZM625 375H875V459H625V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-log-outline\"\n      ]\n    },\n    {\n      \"uid\": \"43d2e50dfcc1433380809daafe4f701b\",\n      \"css\": \"phone-message\",\n      \"code\": 987542,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q755.9 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q460.9 677.7 390.6 607.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 150.4 341.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 222.7 523.4 316.4 683.6 476.6 777.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 669.9 862.3 658.2T834 646.5ZM500 125V541L625 416H875V125H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-message\"\n      ]\n    },\n    {\n      \"uid\": \"c9dc802fc75633ec1af84c01778d9317\",\n      \"css\": \"phone-message-outline\",\n      \"code\": 987543,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q755.9 646.5 685.5 623 677.7 619.1 671.9 619.1 656.3 619.1 642.6 632.8L550.8 724.6Q460.9 677.7 390.6 607.4T275.4 449.2L367.2 357.4Q384.8 339.8 377 314.5 353.5 244.1 353.5 166 353.5 150.4 341.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 222.7 523.4 316.4 683.6 476.6 777.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 669.9 862.3 658.2T834 646.5ZM209 209H271.5Q277.3 265.6 291 316.4L242.2 367.2Q214.8 289.1 209 209ZM791 791Q709 785.2 632.8 757.8L683.6 709Q736.3 724.6 791 726.6V791ZM500 125V541L625 416H875V125H500ZM791 334H584V209H791V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-message-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9cddb5c2705070ac7495c10cdd8f5609\",\n      \"css\": \"phone-minus-outline\",\n      \"code\": 987544,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM541 250V334H875V250H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"db916d6ec7d5506c0d04ba3ed4ed67be\",\n      \"css\": \"phone-outgoing-outline\",\n      \"code\": 987545,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM625 125V187.5H771.5L541 416 584 459 812.5 228.5V375H875V125H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-outgoing-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2a61f10435341d7e514842b4f3a55c13\",\n      \"css\": \"phone-paused-outline\",\n      \"code\": 987546,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM791 416H875V125H791V416ZM709 125H625V416H709V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-paused-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f0617d36ffc22693127b767c84d05f74\",\n      \"css\": \"phone-plus-outline\",\n      \"code\": 987547,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM666 125V250H541V334H666V459H750V334H875V250H750V125H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7c5fdecdfd2b2e84d50b041c356c067c\",\n      \"css\": \"phone-return-outline\",\n      \"code\": 987548,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM875 250V459H812.5V312.5H578.1L679.7 414.1 634.8 459 459 281.3 634.8 103.5 679.7 148.4 578.1 250H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-return-outline\"\n      ]\n    },\n    {\n      \"uid\": \"59f5c22cfe988774366801b921fa8641\",\n      \"css\": \"phone-settings-outline\",\n      \"code\": 987549,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q460.9 677.7 389.6 606.4T275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 240.2 353.5 166 353.5 150.4 340.8 137.7T312.5 125H166Q150.4 125 137.7 137.7T125 166Q125 359.4 220.7 523.4 314.5 685.5 476.6 779.3 640.6 875 834 875 849.6 875 862.3 862.3T875 834V687.5Q875 671.9 862.3 659.2T834 646.5ZM209 209H271.5Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209ZM791 791Q716.8 785.2 632.8 757.8L683.6 709Q750 724.6 791 724.6V791ZM709 375H625V459H709V375ZM541 375H459V459H541V375ZM791 459H875V375H791V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-settings-outline\"\n      ]\n    },\n    {\n      \"uid\": \"57c32badcc97c6018c92583660dcf2ea\",\n      \"css\": \"key-star\",\n      \"code\": 987550,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 125Q193.4 125 138.7 179.7T84 312.5 138.7 445.3 271.5 500Q332 500 379.9 464.8T447.3 375H625V500H750V375H916V250H447.3Q427.7 195.3 379.9 160.2T271.5 125ZM271.5 250Q296.9 250 315.4 268.6T334 312.5 315.4 356.4 270.5 375 226.6 356.4 209 312.5 226.6 268.6 271.5 250ZM500 584L453.1 693.4 334 703.1 423.8 781.3 396.5 898.4 500 837.9 601.6 898.4 574.2 781.3 666 703.1 546.9 693.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-star\"\n      ]\n    },\n    {\n      \"uid\": \"a87854cd194a44e23b2df9c9fd14d06f\",\n      \"css\": \"key-link\",\n      \"code\": 987551,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 125Q193.4 125 138.7 179.7T84 312.5 138.7 445.3 271.5 500Q332 500 379.9 464.8T447.3 375H625V500H750V375H916V250H447.3Q427.7 195.3 379.9 160.2T271.5 125ZM271.5 250Q296.9 250 315.4 268.6T334 312.5 315.4 356.4 270.5 375 226.6 356.4 209 312.5 226.6 268.6 271.5 250ZM416 584Q355.5 584 308.6 621.1 250 668 250 751T308.6 878.9Q355.5 916 416 916H459V834H416Q390.6 834 369.1 822.3 334 800.8 334 751T367.2 679.7Q388.7 666 416 666H459V584H416ZM541 584V666H584Q609.4 666 630.9 677.7 666 699.2 666 749T632.8 820.3Q611.3 834 584 834H541V916H584Q644.5 916 691.4 878.9 750 834 750 751T691.4 621.1Q644.5 584 584 584H541ZM375 709V791H625V709H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-link\"\n      ]\n    },\n    {\n      \"uid\": \"1408cd00968a7922a48d3933a1d8aa87\",\n      \"css\": \"shield-edit\",\n      \"code\": 987552,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 599.6L863.3 642.6 775.4 554.7 816.4 511.7Q822.3 505.9 833 505.9T849.6 511.7L904.3 566.4Q918 580.1 904.3 599.6ZM500 830.1L753.9 574.2 841.8 662.1 587.9 916H500V830.1ZM416 794.9L875 337.9V209L500 41 125 209V459Q125 607.4 206.1 736.3T416 929.7V794.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-edit\"\n      ]\n    },\n    {\n      \"uid\": \"0367bb683fa5904cfb86d49ea83c814d\",\n      \"css\": \"shield-edit-outline\",\n      \"code\": 987553,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M904.3 566.4L849.6 511.7Q841.8 503.9 833 503.9T816.4 511.7L775.4 554.7 857.4 636.7 900.4 595.7Q908.2 589.8 909.2 581.1T904.3 566.4ZM500 830.1V916H587.9L841.8 662.1 757.8 574.2ZM416 929.7Q287.1 865.2 206.1 736.3T125 459V209L500 41 875 209V337.9L791 419.9V261.7L500 132.8 209 261.7V466.8Q209 574.2 267.6 676.8T416 837.9V929.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4438b99e62f029fccce161263c3ba317\",\n      \"css\": \"shield-sync\",\n      \"code\": 987554,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 500Q812.5 500 869.1 527.3 875 494.1 875 459V209L500 41 125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q523.4 953.1 541 945.3 478.5 869.1 478.5 771.5 478.5 697.3 515.6 634.8T614.3 536.1 750 500ZM750 603.5V541L656.3 634.8 750 728.5V666Q777.3 666 800.8 679.7T838.9 715.8 854.5 765.6 843.8 818.4L888.7 863.3Q914.1 824.2 916 778.3T896.5 692.4 835.9 627.9 750 603.5ZM750 875Q722.7 875 699.2 862.3T661.1 826.2 645.5 775.4 656.3 724.6L611.3 679.7Q585.9 716.8 584 762.7T603.5 849.6 664.1 914.1 750 937.5V1000L843.8 906.3 750 812.5V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-sync\"\n      ]\n    },\n    {\n      \"uid\": \"be483a5ea80993bb2b9971b77eb24a78\",\n      \"css\": \"shield-sync-outline\",\n      \"code\": 987555,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 875Q423.8 853.5 356.4 791T249 642.6 209 466.8V261.7L500 132.8 791 261.7V502Q834 509.8 871.1 527.3 875 494.1 875 459V209L500 41 125 209V459Q125 572.3 173.8 677.7T308.6 857.4 500 959Q523.4 953.1 541 945.3 515.6 914.1 500 875ZM750 603.5V541L656.3 634.8 750 728.5V666Q777.3 666 800.8 679.7T838.9 715.8 854.5 765.6 843.8 818.4L888.7 863.3Q914.1 824.2 916 778.3T896.5 692.4 835.9 627.9 750 603.5ZM750 875Q722.7 875 699.2 862.3T661.1 826.2 645.5 775.4 656.3 724.6L611.3 679.7Q585.9 716.8 584 762.7T603.5 849.6 664.1 914.1 750 937.5V1000L843.8 906.3 750 812.5V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"00fac8fe4a8f00d38dd3dcaeb5f3904c\",\n      \"css\": \"golf-cart\",\n      \"code\": 987556,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M828.1 515.6L759.8 209H791V125H125V291H41V375H125V523.4Q85.9 558.6 63.5 606.4T41 709V791H125Q125 843.8 161.1 879.9T250 916 338.9 879.9 375 791H625Q625 843.8 661.1 879.9T750 916 838.9 879.9 875 791H959V709Q959 644.5 922.9 591.8T828.1 515.6ZM250 853.5Q224.6 853.5 206.1 835.9T187.5 792 206.1 747.1 250 728.5 293.9 747.1 312.5 792 293.9 835.9 250 853.5ZM646.5 500L599.6 427.7 658.2 388.7 613.3 320.3 425.8 445.3 470.7 513.7 531.3 474.6 578.1 546.9 541 584H425.8L209 291V209H675.8L740.2 500H646.5ZM750 853.5Q724.6 853.5 706.1 835.9T687.5 792 706.1 747.1 750 728.5 793.9 747.1 812.5 792 793.9 835.9 750 853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"golf-cart\"\n      ]\n    },\n    {\n      \"uid\": \"36e2020c9380dc484712cd559e860a52\",\n      \"css\": \"phone-missed-outline\",\n      \"code\": 987557,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M775.4 646.5V720.7Q820.3 746.1 853.5 775.4L900.4 728.5Q851.6 679.7 775.4 646.5ZM224.6 646.5Q152.3 681.6 103.5 724.6L150.4 771.5Q183.6 742.2 228.5 716.8V646.5H224.6ZM500 500Q640.6 500 767.6 550.8T988.3 695.3Q1000 709 1000 725.6T988.3 753.9L882.8 857.4Q871.1 871.1 854.5 871.1T824.2 857.4Q761.7 802.7 712.9 783.2 687.5 767.6 687.5 746.1V617.2Q599.6 587.9 496.1 587.9T304.7 617.2V746.1Q304.7 771.5 279.3 783.2 216.8 814.5 166 857.4 154.3 871.1 137.7 871.1T107.4 857.4L3.9 753.9Q3.9 750 2 739.3T0 724.6Q0 709 11.7 695.3 107.4 603.5 234.4 551.8T500 500ZM271.5 228.5V375H209V125H459V187.5H312.5L500 375 750 125 791 166 500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-missed-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6263f807f6de4d6cce7d43b9ea7c6215\",\n      \"css\": \"phone-off-outline\",\n      \"code\": 987558,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M683.6 709Q746.1 724.6 791 728.5V791Q695.3 785.2 632.8 757.8ZM841.8 103.5L103.5 841.8 158.2 896.5 363.3 691.4Q460.9 779.3 582 827.1T834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 668 863.3 657.2T834 646.5Q752 646.5 683.6 621.1H669.9Q654.3 621.1 642.6 632.8L550.8 724.6Q466.8 679.7 419.9 632.8L896.5 158.2ZM271.5 209Q275.4 253.9 291 316.4L242.2 367.2Q214.8 283.2 209 209H271.5ZM312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 394.5 257.8 580.1L316.4 521.5Q300.8 500 275.4 449.2L367.2 357.4Q377 349.6 378.9 337.9T375 316.4Q353.5 232.4 353.5 166 353.5 148.4 342.8 136.7T312.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f6356d244caa607b525b855a370357b0\",\n      \"css\": \"format-quote-open-outline\",\n      \"code\": 987559,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 750V416H380.9L462.9 250H224.6L125 449.2V750H459ZM375 666H209V468.8L275.4 334H328.1L244.1 500H375V666ZM875 750V416H796.9L880.9 250H640.6L541 449.2V750H875ZM791 666H625V468.8L693.4 334H744.1L662.1 500H791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-quote-open-outline\"\n      ]\n    },\n    {\n      \"uid\": \"318420a41fefd34913a670fc196228a1\",\n      \"css\": \"format-quote-close-outline\",\n      \"code\": 987560,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 250V584H619.1L537.1 750H775.4L875 550.8V250H541ZM625 334H791V531.3L724.6 666H671.9L755.9 500H625V334ZM125 250V584H203.1L119.1 750H359.4L459 550.8V250H125ZM209 334H375V531.3L306.6 666H255.9L337.9 500H209V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-quote-close-outline\"\n      ]\n    },\n    {\n      \"uid\": \"17be25523e92b9ece5275e55c263145c\",\n      \"css\": \"phone-check\",\n      \"code\": 987561,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M275.4 449.2Q320.3 539.1 390.6 609.4T550.8 724.6L642.6 632.8Q660.2 615.2 683.6 623 755.9 646.5 834 646.5 851.6 646.5 863.3 658.2T875 687.5V834Q875 851.6 863.3 863.3T834 875Q693.4 875 562.5 821.3T332 668 178.7 437.5 125 166Q125 148.4 136.7 136.7T166 125H312.5Q330.1 125 341.8 136.7T353.5 166Q353.5 242.2 377 314.5 384.8 339.8 367.2 357.4ZM904.3 195.3L845.7 136.7 625 357.4 529.3 261.7 470.7 320.3 625 474.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-check\"\n      ]\n    },\n    {\n      \"uid\": \"5c80c76f827ba29a2590017820282609\",\n      \"css\": \"phone-check-outline\",\n      \"code\": 987562,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 646.5Q757.8 646.5 685.5 623 660.2 615.2 642.6 632.8L550.8 724.6Q462.9 679.7 392.6 609.4T277.3 449.2L369.1 357.4Q386.7 339.8 378.9 316.4 353.5 244.1 353.5 166 353.5 148.4 341.8 136.7T312.5 125H166Q148.4 125 136.7 136.7T125 166Q125 306.6 178.7 437.5T332 668 562.5 821.3 834 875Q851.6 875 863.3 863.3T875 834V687.5Q875 669.9 863.3 658.2T834 646.5ZM209 209H273.4Q277.3 263.7 291 316.4L242.2 367.2Q214.8 289.1 209 209ZM791 791Q710.9 787.1 632.8 759.8L683.6 709Q736.3 722.7 791 726.6V791ZM625 476.6L470.7 322.3 529.3 263.7 625 357.4 845.7 136.7 904.3 195.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2bb757a86ea75d9650e4dea5f8976101\",\n      \"css\": \"phone-ring\",\n      \"code\": 987563,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M988.3 695.3Q890.6 601.6 767.6 552.7 638.7 500 500 500T232.4 552.7Q109.4 601.6 11.7 695.3 0 707 0 724.6T11.7 753.9L115.2 857.4Q127 869.1 144.5 869.1T173.8 857.4Q222.7 812.5 285.2 781.3 308.6 769.5 308.6 742.2V613.3Q400.4 584 500 584T691.4 613.3V742.2Q691.4 753.9 698.2 764.6T714.8 779.3Q775.4 810.5 826.2 857.4 837.9 869.1 855.5 869.1T884.8 857.4L988.3 753.9Q1000 742.2 1000 724.6T988.3 695.3ZM880.9 261.7L822.3 201.2 673.8 349.6 732.4 408.2 806.6 335.9Q878.9 261.7 880.9 261.7ZM541 84H459V291H541V84ZM267.6 408.2L326.2 349.6 177.7 201.2 119.1 261.7Q121.1 261.7 193.4 335.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-ring\"\n      ]\n    },\n    {\n      \"uid\": \"043cdb7370d5b8b3970b8b4caa4ef4c2\",\n      \"css\": \"phone-ring-outline\",\n      \"code\": 987564,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M988.3 695.3Q890.6 601.6 767.6 552.7 638.7 500 500 500T232.4 552.7Q109.4 601.6 11.7 695.3 0 707 0 724.6T11.7 753.9L115.2 857.4Q127 869.1 144.5 869.1T173.8 857.4Q222.7 812.5 285.2 781.3 308.6 769.5 308.6 742.2V613.3Q400.4 584 500 584T691.4 613.3V742.2Q691.4 753.9 698.2 764.6T714.8 779.3Q775.4 810.5 826.2 857.4 837.9 869.1 855.5 869.1T884.8 857.4L988.3 753.9Q1000 742.2 1000 724.6T988.3 695.3ZM224.6 718.8Q183.6 740.2 146.5 771.5L101.6 726.6Q160.2 679.7 224.6 646.5V718.8ZM853.5 769.5Q816.4 740.2 775.4 716.8V646.5Q839.8 677.7 898.4 726.6ZM880.9 261.7L822.3 201.2 673.8 349.6 732.4 408.2 806.6 335.9Q878.9 261.7 880.9 261.7ZM459 84H541V291H459V84ZM267.6 408.2L326.2 349.6 177.7 201.2 119.1 261.7Q121.1 261.7 193.4 335.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-ring-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c865b2dc1a038b14e803d46277c2443e\",\n      \"css\": \"share-circle\",\n      \"code\": 987565,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM584 666V541Q367.2 541 250 709 275.4 580.1 349.6 496.1 437.5 396.5 584 375V250L791 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-circle\"\n      ]\n    },\n    {\n      \"uid\": \"c997ca1f4b2dc6d8da5f654119eac9e1\",\n      \"css\": \"reply-circle\",\n      \"code\": 987566,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 613.3 139.6 709T291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84 291 139.6 139.6 291 84 500ZM209 459L416 250V375Q562.5 396.5 650.4 496.1 724.6 580.1 750 709 632.8 541 416 541V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"reply-circle\"\n      ]\n    },\n    {\n      \"uid\": \"d2e9a9c6dd6638ce841ad78887f85a02\",\n      \"css\": \"fridge-off\",\n      \"code\": 987567,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 209 287.1V375H296.9L337.9 416H209V791Q209 826.2 233.4 850.6T291 875V916H375V875H625V916H709V875Q744.1 875 769.5 847.7L869.1 947.3ZM416 625H334V500H416V625ZM791 658.2L550.8 416H791V658.2ZM341.8 209L238.3 103.5Q261.7 84 291 84H709Q742.2 84 766.6 108.4T791 166V375H507.8L416 283.2V209H341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-off\"\n      ]\n    },\n    {\n      \"uid\": \"4025c9266331959c51cf28c0515ec498\",\n      \"css\": \"fridge-off-outline\",\n      \"code\": 987568,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 209 287.1V791Q209 826.2 233.4 850.6T291 875V916H375V875H625V916H709V875Q744.1 875 769.5 847.7L869.1 947.3ZM709 791H291V459H378.9L709 787.1V791ZM300.8 166L238.3 103.5Q261.7 84 291 84H709Q742.2 84 766.6 108.4T791 166V658.2L709 574.2V459H591.8L507.8 375H709V166H300.8ZM334 500H416V625H334V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dcac818b476a798f166d185b320db21d\",\n      \"css\": \"fridge-alert\",\n      \"code\": 987569,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 84H625Q660.2 84 684.6 108.4T709 166V375H125V166Q125 132.8 149.4 108.4T209 84ZM709 791Q709 826.2 684.6 850.6T625 875V916H541V875H291V916H209V875Q173.8 875 149.4 850.6T125 791V416H709V791ZM250 209V291H334V209H250ZM250 500V625H334V500H250ZM791 625H875V709H791V625ZM791 291H875V541H791V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-alert\"\n      ]\n    },\n    {\n      \"uid\": \"f7ec48cccf7dd7103039f9004db738b0\",\n      \"css\": \"fridge-alert-outline\",\n      \"code\": 987570,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 875V916H209V875Q173.8 875 149.4 850.6T125 791V166Q125 132.8 149.4 108.4T209 84H625Q660.2 84 684.6 108.4T709 166V791Q709 826.2 684.6 850.6T625 875V916H541V875H291ZM209 166V375H625V166H209ZM209 791H625V459H209V791ZM250 500H334V625H250V500ZM250 250H334V334H250V250ZM791 625H875V709H791V625ZM791 291H875V541H791V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fridge-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"403b1f2137e1c139e27fa6f78017eb75\",\n      \"css\": \"water-boiler-alert\",\n      \"code\": 987571,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V666Q166 701.2 190.4 725.6T250 750H291V834H166V916H291Q326.2 916 350.6 891.6T375 834V750H459V834Q459 867.2 483.4 891.6T541 916H666V834H541V750H584Q617.2 750 641.6 725.6T666 666V166Q666 132.8 641.6 108.4T584 84H250ZM416 207Q451.2 207 475.6 231.4T500 290 475.6 348.6 417 373 358.4 348.6 334 290 358.4 231.4 416 207ZM334 603.5H500V666H334V603.5ZM750 625H834V709H750V625ZM750 291H834V541H750V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-boiler-alert\"\n      ]\n    },\n    {\n      \"uid\": \"8b89954713ab365396dba055fc37da9c\",\n      \"css\": \"water-boiler-off\",\n      \"code\": 987572,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 283.2L259.8 127Q271.5 107.4 291 95.7T334 84H666Q701.2 84 725.6 108.4T750 166V617.2L505.9 373Q539.1 371.1 561.5 346.7T584 289.1 559.6 231.4 501 207 443.4 229.5 416 283.2ZM625 750V834H750V916H625Q589.8 916 565.4 891.6T541 834V750H459V834Q459 867.2 434.6 891.6T375 916H250V834H375V750H334Q298.8 750 274.4 725.6T250 666V328.1L46.9 125 99.6 72.3 921.9 894.5 869.1 947.3 669.9 750H625ZM584 666V662.1L525.4 603.5H416V666H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-boiler-off\"\n      ]\n    },\n    {\n      \"uid\": \"2e72632d0c0b0bbd006eb294696a65bd\",\n      \"css\": \"amplifier-off\",\n      \"code\": 987573,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 125 205.1V875H209Q209 894.5 219.7 905.3T250 916 280.3 905.3 291 875H709Q709 894.5 719.7 905.3T750 916 780.3 905.3 791 875H794.9L867.2 945.3ZM209 375V287.1L294.9 375H209ZM500 791Q431.6 791 382.8 742.2T334 625Q334 582 353.5 545.9T408.2 488.3L636.7 716.8Q615.2 752 579.1 771.5T500 791ZM584 250V291H500V250H584ZM416 250Q435.5 250 447.3 261.7T459 291Q459 300.8 449.2 316.4V316.4L392.6 257.8Q408.2 250 416 250ZM341.8 209L257.8 125H375Q375 105.5 386.7 94.7T416 84H584Q601.6 84 613.3 94.7T625 125H875V742.2L507.8 375H791V209H341.8ZM666 250V334H625V250H666ZM750 250V334H709V250H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"amplifier-off\"\n      ]\n    },\n    {\n      \"uid\": \"2e6856f8646277a944c5781d4391fea9\",\n      \"css\": \"audio-video-off\",\n      \"code\": 987574,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 212.9 291H166Q132.8 291 108.4 315.4T84 375V625Q84 660.2 108.4 684.6T166 709H209V750Q209 769.5 219.7 780.3T250 791H334Q351.6 791 363.3 780.3T375 750V709H625V750Q625 769.5 636.7 780.3T666 791H712.9L867.2 945.3ZM250 625H166V584H250V625ZM166 500V416H337.9L419.9 500H166ZM416 625H334V584H416V625ZM500 625V584H503.9L544.9 625H500ZM584 416V449.2L841.8 709Q873 705.1 894.5 681.6T916 625V375Q916 339.8 891.6 315.4T834 291H425.8L550.8 416H584ZM750 375Q785.2 375 809.6 399.4T834 458 809.6 516.6 750 541 690.4 516.6 666 458 690.4 399.4 750 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"audio-video-off\"\n      ]\n    },\n    {\n      \"uid\": \"52004d2ce755461bdb4d9f360269a377\",\n      \"css\": \"toaster-off\",\n      \"code\": 987575,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L753.9 834H125V541H84V459H125Q125 423.8 149.4 399.4T209 375H294.9L44.9 125 99.6 70.3 919.9 892.6ZM636.7 503.9Q646.5 484.4 667 471.7T709 459Q742.2 459 766.6 483.4T791 541Q791 593.8 746.1 613.3L875 742.2V541H916V459H875Q875 423.8 850.6 399.4T791 375H507.8ZM750 334Q736.3 263.7 666 214.8T500 166Q457 166 415 177.7T341.8 209L466.8 334H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toaster-off\"\n      ]\n    },\n    {\n      \"uid\": \"bd465727600ce360abcbce371cbf866f\",\n      \"css\": \"dishwasher-alert\",\n      \"code\": 987576,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H666Q701.2 916 725.6 891.6T750 834V166Q750 132.8 725.6 108.4T666 84ZM334 166Q349.6 166 362.3 178.7T375 208 362.3 237.3 333 250 303.7 237.3 291 208 303.7 178.7 334 166ZM209 166Q224.6 166 237.3 178.7T250 208 237.3 237.3 208 250 178.7 237.3 166 208 178.7 178.7 209 166ZM666 834H166V334H666V834ZM527.3 638.7Q529.3 683.6 496.1 716.8T417 750 337.9 716.8 307.6 638.7 334 554.7Q355.5 503.9 388.7 459L416 416Q527.3 578.1 527.3 638.7ZM834 625H916V709H834V625ZM834 291H916V541H834V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dishwasher-alert\"\n      ]\n    },\n    {\n      \"uid\": \"367fa1321fdd0fefc2361d2efb40affc\",\n      \"css\": \"dishwasher-off\",\n      \"code\": 987577,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 166 246.1V834Q166 867.2 190.4 891.6T250 916H750Q787.1 916 810.5 888.7L869.1 947.3ZM750 834H250V334H253.9L437.5 515.6Q425.8 535.2 416 554.7 392.6 593.8 389.6 638.7T419.9 716.8 500 750 580.1 716.8Q593.8 703.1 603.5 681.6L750 828.1V834ZM466.8 334H750V617.2L834 699.2V166Q834 132.8 809.6 108.4T750 84H250Q236.3 84 222.7 87.9ZM416 166Q433.6 166 446.3 178.7T459 208 446.3 237.3 417 250 387.7 237.3 375 208 387.7 178.7 416 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dishwasher-off\"\n      ]\n    },\n    {\n      \"uid\": \"7acdb1149aca183fb7207f1129e8efcc\",\n      \"css\": \"tumble-dryer-alert\",\n      \"code\": 987578,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H666Q701.2 84 725.6 108.4T750 166V834Q750 867.2 725.6 891.6T666 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM209 166Q191.4 166 178.7 178.7T166 208 178.7 237.3 208 250 237.3 237.3 250 208 237.3 178.7 209 166ZM334 166Q316.4 166 303.7 178.7T291 208 303.7 237.3 333 250 362.3 237.3 375 208 362.3 178.7 334 166ZM416 334Q349.6 334 292 367.2T200.2 458 166 583 200.2 708 292 799.8 417 834 542 799.8 632.8 708 666 583 632.8 458 542 367.2 416 334ZM253.9 437.5H334Q326.2 478.5 332 505.9T357.4 554.7Q427.7 623 412.1 728.5H334Q339.8 687.5 334 660.2T308.6 613.3Q238.3 544.9 253.9 437.5ZM421.9 437.5H500Q492.2 478.5 499 505.9T523.4 554.7Q595.7 623 578.1 728.5H500Q507.8 687.5 501 660.2T476.6 613.3Q406.3 544.9 421.9 437.5ZM834 625H916V709H834V625ZM834 291H916V541H834V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tumble-dryer-alert\"\n      ]\n    },\n    {\n      \"uid\": \"7600b331a542ea75b3c180fc0c6a3179\",\n      \"css\": \"tumble-dryer-off\",\n      \"code\": 987579,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 166 246.1V834Q166 867.2 190.4 891.6T250 916H750Q787.1 916 810.5 888.7L869.1 947.3ZM500 834Q431.6 834 374 799.8T283.2 708 250 584Q250 531.3 270.5 485.4T326.2 404.3L359.4 437.5H337.9Q322.3 544.9 392.6 613.3 412.1 632.8 418 660.2T416 728.5H496.1Q511.7 623 441.4 554.7 418 529.3 414.1 494.1L584 664.1Q589.8 691.4 584 728.5H650.4L679.7 757.8Q644.5 793 598.6 813.5T500 834ZM468.8 335.9Q478.5 334 500 334 568.4 334 626 367.2T716.8 458 750 584Q750 603.5 748 615.2L834 699.2V166Q834 132.8 809.6 108.4T750 84H250Q236.3 84 222.7 87.9ZM416 166Q433.6 166 446.3 178.7T459 208 446.3 237.3 417 250 387.7 237.3 375 208 387.7 178.7 416 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tumble-dryer-off\"\n      ]\n    },\n    {\n      \"uid\": \"b50672d1a143015e0f69a00055118bce\",\n      \"css\": \"washing-machine-alert\",\n      \"code\": 987580,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M535.2 464.8Q584 513.7 584 583T535.2 701.2 417 750 298.8 701.2ZM166 84H666Q701.2 84 725.6 108.4T750 166V834Q750 867.2 725.6 891.6T666 916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84ZM209 166Q191.4 166 178.7 178.7T166 208 178.7 237.3 208 250 237.3 237.3 250 208 237.3 178.7 209 166ZM334 166Q316.4 166 303.7 178.7T291 208 303.7 237.3 333 250 362.3 237.3 375 208 362.3 178.7 334 166ZM416 334Q349.6 334 292 367.2T200.2 458 166 583 200.2 708 292 799.8 417 834 542 799.8 632.8 708 666 583 632.8 458 542 367.2 416 334ZM834 625H916V709H834V625ZM834 291H916V541H834V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"washing-machine-alert\"\n      ]\n    },\n    {\n      \"uid\": \"75f90efb8bdced6008c0dcfec5494a9d\",\n      \"css\": \"washing-machine-off\",\n      \"code\": 987581,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 166 246.1V834Q166 867.2 190.4 891.6T250 916H750Q787.1 916 810.5 888.7L869.1 947.3ZM500 834Q431.6 834 374 799.8T283.2 708 250 584Q250 531.3 270.5 485.4T326.2 404.3L502 582 382.8 701.2Q431.6 750 500 750T617.2 701.2L619.1 699.2 679.7 757.8Q644.5 793 598.6 813.5T500 834ZM468.8 335.9Q478.5 334 500 334 568.4 334 626 367.2T716.8 458 750 584Q750 603.5 748 615.2L834 699.2V166Q834 132.8 809.6 108.4T750 84H250Q236.3 84 222.7 87.9ZM416 166Q433.6 166 446.3 178.7T459 208 446.3 237.3 417 250 387.7 237.3 375 208 387.7 178.7 416 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"washing-machine-off\"\n      ]\n    },\n    {\n      \"uid\": \"e008c58b8abcca6d77e6709d1f7de433\",\n      \"css\": \"car-info\",\n      \"code\": 987582,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625H709V541H791V625ZM834 834V916H666V834H709V750H666V666H791V834H834ZM789.1 209Q781.3 189.5 765.6 177.7T728.5 166H271.5Q250 166 234.4 177.7T210.9 209L125 459V791Q125 808.6 136.7 821.3T166 834H209Q226.6 834 238.3 821.3T250 791V750H459Q459 669.9 498 603.5T603.5 498 750 459Q816.4 459 875 486.3V459ZM271.5 625Q244.1 625 226.6 606.4T209 562.5 226.6 518.6 270.5 500 315.4 518.6 334 562.5 315.4 606.4 271.5 625ZM209 416L271.5 228.5H728.5L791 416H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-info\"\n      ]\n    },\n    {\n      \"uid\": \"f440e748d211a76856c1e3f85633a1f8\",\n      \"css\": \"comment-edit\",\n      \"code\": 987583,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V666Q84 701.2 108.4 725.6T166 750H334V875Q334 892.6 345.7 904.3T375 916H396.5Q412.1 916 425.8 904.3L580.1 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM378.9 625H291V537.1L548.8 279.3 634.8 367.2ZM701.2 300.8L660.2 341.8 574.2 257.8 615.2 214.8Q621.1 209 630.9 209T648.4 214.8L701.2 267.6Q709 273.4 709 283.2T701.2 300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-edit\"\n      ]\n    },\n    {\n      \"uid\": \"9c4df9761c0cf53a21d91944e167b5a3\",\n      \"css\": \"printer-3d-nozzle-alert\",\n      \"code\": 987584,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709V334H791V541H687.5L541 709H459L312.5 541H209V334H291V84ZM416 916H84V834H416Q433.6 834 446.3 821.3T459 791V750H541V791Q541 843.8 504.9 879.9T416 916ZM875 500V291H959V500H875ZM875 666V584H959V666H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-3d-nozzle-alert\"\n      ]\n    },\n    {\n      \"uid\": \"582ef159e372d28bff77c4b818f16a10\",\n      \"css\": \"printer-3d-nozzle-alert-outline\",\n      \"code\": 987585,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H709V291H791V541H687.5L541 709H459L312.5 541H209V291H291V84ZM416 916H84V834H416Q433.6 834 446.3 821.3T459 791V750H541V791Q541 843.8 504.9 879.9T416 916ZM291 375V459H353.5L500 625 646.5 459H709V375H625V166H375V375H291ZM875 500V291H959V500H875ZM875 666V584H959V666H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-3d-nozzle-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0182069443aa2fbd9b8c5fa5e6a4648c\",\n      \"css\": \"align-horizontal-left\",\n      \"code\": 987586,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H250V541H916ZM250 209V459H666V209H250ZM84 84V916H166V84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"align-horizontal-left\"\n      ]\n    },\n    {\n      \"uid\": \"3770557092a969c1f52e0530bc8d8930\",\n      \"css\": \"align-horizontal-center\",\n      \"code\": 987587,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 791H541V916H459V791H166V541H459V459H291V209H459V84H541V209H709V459H541V541H834V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"align-horizontal-center\"\n      ]\n    },\n    {\n      \"uid\": \"0660f25a5935e3aa8458432c33906a3e\",\n      \"css\": \"align-horizontal-right\",\n      \"code\": 987588,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 541V791H84V541H750ZM334 209V459H750V209H334ZM834 84V916H916V84H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"align-horizontal-right\"\n      ]\n    },\n    {\n      \"uid\": \"24898f660b86823f37c5e3d21842f23f\",\n      \"css\": \"align-vertical-bottom\",\n      \"code\": 987589,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 750H209V84H459V750ZM791 334H541V750H791V334ZM916 834H84V916H916V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"align-vertical-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"bf497e3ba050f48fb5a2af38bab1f56c\",\n      \"css\": \"align-vertical-center\",\n      \"code\": 987590,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834V541H84V459H209V166H459V459H541V291H791V459H916V541H791V709H541V541H459V834H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"align-vertical-center\"\n      ]\n    },\n    {\n      \"uid\": \"08ef0aedbc6e0c5ecc8b963d66c6c0f7\",\n      \"css\": \"align-vertical-top\",\n      \"code\": 987591,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 916H209V250H459V916ZM791 250H541V666H791V250ZM916 84H84V166H916V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"align-vertical-top\"\n      ]\n    },\n    {\n      \"uid\": \"acacf4c7ae034279762f33c9070c7800\",\n      \"css\": \"distribute-horizontal-left\",\n      \"code\": 987592,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 291V709H666V916H584V84H666V291H875ZM209 84H125V916H209V791H416V209H209V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"distribute-horizontal-left\"\n      ]\n    },\n    {\n      \"uid\": \"13ce9f52f9d1011b5b61e7dd7878a329\",\n      \"css\": \"distribute-horizontal-center\",\n      \"code\": 987593,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84V209H416V791H334V916H250V791H166V209H250V84H334ZM666 84V291H584V709H666V916H750V709H834V291H750V84H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"distribute-horizontal-center\"\n      ]\n    },\n    {\n      \"uid\": \"5db4f6cfad6222a1232e6a5c3a9d8d1c\",\n      \"css\": \"distribute-horizontal-right\",\n      \"code\": 987594,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 709V291H334V84H416V916H334V709H125ZM791 916H875V84H791V209H584V791H791V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"distribute-horizontal-right\"\n      ]\n    },\n    {\n      \"uid\": \"66b331e0cc2e4f067013dbddb1d309c4\",\n      \"css\": \"distribute-vertical-bottom\",\n      \"code\": 987595,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125H709V334H916V416H84V334H291V125ZM84 791V875H916V791H791V584H209V791H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"distribute-vertical-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"1733f4a657721006ba335c4b53d839f3\",\n      \"css\": \"distribute-vertical-center\",\n      \"code\": 987596,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 666H209V584H791V666H916V750H791V834H209V750H84V666ZM84 334H291V416H709V334H916V250H709V166H291V250H84V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"distribute-vertical-center\"\n      ]\n    },\n    {\n      \"uid\": \"d9f2bd23569aab2c8559b195212190d2\",\n      \"css\": \"distribute-vertical-top\",\n      \"code\": 987597,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 875H291V666H84V584H916V666H709V875ZM916 209V125H84V209H209V416H791V209H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"distribute-vertical-top\"\n      ]\n    },\n    {\n      \"uid\": \"355d06789e88f85670e89ef0293f2f3f\",\n      \"css\": \"alert-rhombus\",\n      \"code\": 987598,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM459 291H541V541H459V291ZM459 625H541V709H459V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-rhombus\"\n      ]\n    },\n    {\n      \"uid\": \"370c109a216a0d50509a2a281bcc4c59\",\n      \"css\": \"alert-rhombus-outline\",\n      \"code\": 987599,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 166L834 500 500 834 166 500ZM459 291V541H541V291H459ZM459 625V709H541V625H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-rhombus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8ec72f38e0750ddcd49522ffc2c9aea3\",\n      \"css\": \"crown-outline\",\n      \"code\": 987600,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 334L625 550.8 750 437.5 720.7 584H279.3L250 437.5 375 550.8ZM500 166L353.5 416 125 209 209 666H791L875 209 646.5 416ZM791 750H209V791Q209 810.5 219.7 822.3T250 834H750Q769.5 834 780.3 822.3T791 791V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"crown-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bf1d57fa3064b1daeb8164e8ba78bd81\",\n      \"css\": \"image-off-outline\",\n      \"code\": 987601,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 863.3L136.7 84 84 136.7 125 179.7V791Q125 826.2 149.4 850.6T209 875H820.3L863.3 916ZM209 791V261.7L525.4 580.1 462.9 658.2 375 544.9 250 709H654.3L738.3 791H209ZM367.2 209L283.2 125H791Q826.2 125 850.6 149.4T875 209V716.8L791 632.8V209H367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"63f4cd12e4547d258d66a094dc2c091e\",\n      \"css\": \"movie-search\",\n      \"code\": 987602,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H209L291 334H416L334 166H416L500 334H625L541 166H625L709 334H834L750 166H916V543Q880.9 486.3 819.3 451.2T685.5 416 551.8 453.1 453.1 551.8 416 687.5Q416 767.6 459 834ZM974.6 916L916 974.6 787.1 845.7Q740.2 875 687.5 875 609.4 875 554.7 820.3T500 687.5 554.7 554.7 687.5 500 820.3 554.7 875 687.5Q875 742.2 845.7 787.1ZM791 687.5Q791 644.5 760.7 614.3T687.5 584 614.3 614.3 584 687.5 614.3 760.7 687.5 791 760.7 760.7 791 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-search\"\n      ]\n    },\n    {\n      \"uid\": \"334f9f861d6ae5a8155cb54a846868b1\",\n      \"css\": \"movie-search-outline\",\n      \"code\": 987603,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H209L291 334H416L334 166H416L500 334H625L541 166H625L709 334H834L750 166H916V541Q884.8 490.2 834 459V416H242.2L166 271.5V750H425.8Q441.4 808.6 459 834ZM845.7 787.1Q875 736.3 875 687.5 875 609.4 820.3 554.7T687.5 500 554.7 554.7 500 687.5 554.7 820.3 687.5 875Q746.1 875 787.1 845.7L916 974.6 974.6 916ZM687.5 791Q644.5 791 614.3 760.7T584 687.5 614.3 614.3 687.5 584 760.7 614.3 791 687.5 760.7 760.7 687.5 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"movie-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"363f8f7548c5f563ccf287fbee864706\",\n      \"css\": \"rv-truck\",\n      \"code\": 987604,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H916V250L834 166H125Q89.8 166 65.4 190.4T41 250V625Q41 660.2 65.4 684.6T125 709H166Q166 759.8 203.1 796.9T292 834 379.9 796.9 416 709H625Q625 759.8 661.1 796.9T750 834 838.9 796.9 875 709H959V500ZM291 771.5Q265.6 771.5 247.1 752.9T228.5 708 247.1 664.1 292 646.5 335.9 664.1 353.5 708 335.9 752.9 291 771.5ZM375 500H125V375H375V500ZM584 625H459V375H584V625ZM750 771.5Q724.6 771.5 706.1 752.9T687.5 708 706.1 664.1 750 646.5 793.9 664.1 812.5 708 793.9 752 750 771.5ZM709 500V396.5H812.5L896.5 500H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rv-truck\"\n      ]\n    },\n    {\n      \"uid\": \"ce987fae0b409fca044bb855b3960311\",\n      \"css\": \"shopping-outline\",\n      \"code\": 987605,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250H709Q709 162.1 648.4 101.6T500 41 351.6 101.6 291 250H209Q173.8 250 149.4 274.4T125 334V834Q125 867.2 149.4 891.6T209 916H791Q826.2 916 850.6 891.6T875 834V334Q875 298.8 850.6 274.4T791 250ZM500 125Q552.7 125 588.9 161.1T625 250H375Q375 197.3 411.1 161.1T500 125ZM791 834H209V334H791V834ZM500 500Q447.3 500 411.1 463.9T375 375H291Q291 462.9 351.6 523.4T500 584 648.4 523.4 709 375H625Q625 427.7 588.9 463.9T500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shopping-outline\"\n      ]\n    },\n    {\n      \"uid\": \"19cf5533693062faac7f1c6d41bc0b48\",\n      \"css\": \"strategy\",\n      \"code\": 987606,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M287.1 228.5L382.8 324.2 324.2 382.8 228.5 287.1 132.8 382.8 74.2 324.2 169.9 228.5 74.2 132.8 132.8 74.2 228.5 169.9 324.2 74.2 382.8 132.8ZM925.8 675.8L867.2 617.2 771.5 712.9 675.8 617.2 617.2 675.8 712.9 771.5 617.2 867.2 675.8 925.8 771.5 830.1 867.2 925.8 925.8 867.2 830.1 771.5ZM849.6 285.2L716.8 459 650.4 406.3 699.2 343.8Q603.5 361.3 530.3 423.8T421.9 576.2Q476.6 617.2 493.2 684.6T478.5 813.5 383.8 902.3 253.9 908.2 151.4 827.1 126 699.2 190.4 585.9 312.5 541Q328.1 541 345.7 544.9 388.7 435.5 479.5 360.4T685.5 261.7L625 216.8 677.7 150.4ZM416 728.5Q416 685.5 385.7 655.3T312.5 625 239.3 655.3 209 728.5 239.3 802.7 312.5 834 385.7 802.7 416 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"strategy\"\n      ]\n    },\n    {\n      \"uid\": \"654c8f664766f2bf5d7301e5eb7168db\",\n      \"css\": \"note-text-outline\",\n      \"code\": 987607,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V375ZM791 791H209V209H584V416H791V791ZM709 584H291V500H709V584ZM584 709H291V625H584V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"note-text-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a13b80632934bbb05b54be14c1e30bfd\",\n      \"css\": \"view-agenda-outline\",\n      \"code\": 987608,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541H125Q107.4 541 95.7 553.7T84 584V834Q84 851.6 95.7 863.3T125 875H875Q892.6 875 904.3 863.3T916 834V584Q916 566.4 904.3 553.7T875 541ZM834 791H166V625H834V791ZM875 125H125Q107.4 125 95.7 136.7T84 166V416Q84 433.6 95.7 446.3T125 459H875Q892.6 459 904.3 446.3T916 416V166Q916 148.4 904.3 136.7T875 125ZM834 375H166V209H834V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-agenda-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b1e80ebf06970392da12e93a1edb168b\",\n      \"css\": \"view-grid-outline\",\n      \"code\": 987609,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H459V125H125V459ZM209 209H375V375H209V209ZM541 875H875V541H541V875ZM625 625H791V791H625V625ZM125 875H459V541H125V875ZM209 625H375V791H209V625ZM541 125V459H875V125H541ZM791 375H625V209H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-grid-outline\"\n      ]\n    },\n    {\n      \"uid\": \"12592f421b52bc51003e1e196bec11db\",\n      \"css\": \"view-grid-plus-outline\",\n      \"code\": 987610,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 875H459V541H125V875ZM209 625H375V791H209V625ZM125 459H459V125H125V459ZM209 209H375V375H209V209ZM541 125V459H875V125H541ZM791 375H625V209H791V375ZM750 666H875V750H750V875H666V750H541V666H666V541H750V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-grid-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"593307129c6ba238e03db73c8f8dcd15\",\n      \"css\": \"window-closed-variant\",\n      \"code\": 987611,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 834V84H125V834H41V959H959V834H875ZM791 166V459H541V166H791ZM209 166H459V459H209V166ZM209 834V541H459V834H209ZM541 834V541H791V834H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-closed-variant\"\n      ]\n    },\n    {\n      \"uid\": \"380244f246f328d02cb740554c97c526\",\n      \"css\": \"window-open-variant\",\n      \"code\": 987612,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 834V84H125V834H41V959H959V834H875ZM791 166V459H709V166H791ZM209 166H291V459H209V166ZM209 834V541H291V834H209ZM375 834V166H625V834H375ZM709 834V541H791V834H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"window-open-variant\"\n      ]\n    },\n    {\n      \"uid\": \"b2e2b9329ce6112d8fded6197ce59acb\",\n      \"css\": \"cog-clockwise\",\n      \"code\": 987613,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500 175.8 687.5 312.5 824.2 500 875Q627 875 728.5 796.9L669.9 738.3Q591.8 791 500 791 419.9 791 353.5 752T248 646.5 209 500 248 353.5 353.5 248 500 209 646.5 248 752 353.5 791 500H666L834 666 1000 500H875Q875 398.4 824.2 312.5T687.5 175.8 500 125ZM320.3 548.8Q314.5 552.7 318.4 560.5L355.5 625Q357.4 630.9 367.2 630.9L414.1 611.3Q429.7 621.1 445.3 628.9L453.1 677.7Q455.1 685.5 462.9 685.5H537.1Q541 687.5 543.9 685.5T546.9 679.7L554.7 630.9Q572.3 623 585.9 611.3L632.8 630.9Q640.6 632.8 644.5 625L681.6 562.5Q685.5 554.7 679.7 548.8L638.7 519.5Q640.6 500 638.7 480.5L679.7 449.2Q685.5 445.3 681.6 437.5L644.5 373Q640.6 365.2 632.8 369.1L585.9 386.7Q574.2 378.9 554.7 369.1L546.9 320.3Q544.9 312.5 537.1 312.5H464.8Q457 312.5 455.1 320.3L449.2 369.1Q429.7 377 416 386.7L369.1 369.1Q359.4 367.2 357.4 375L318.4 437.5Q316.4 445.3 320.3 451.2L363.3 480.5Q361.3 490.2 361.3 500T363.3 519.5ZM500 562.5V562.5Q474.6 562.5 456.1 543.9T437.5 500 456.1 456.1 500 437.5 543.9 456.1 562.5 500 543.9 543.9 500 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-clockwise\"\n      ]\n    },\n    {\n      \"uid\": \"fd3ee96525e236dd7f1e03338181ea54\",\n      \"css\": \"cog-counterclockwise\",\n      \"code\": 987614,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q398.4 125 312.5 175.8T175.8 312.5 125 500H0L166 666 334 500H209Q209 419.9 248 353.5T353.5 248 500 209 646.5 248 752 353.5 791 500 752 646.5 646.5 752 500 791Q408.2 791 330.1 738.3L271.5 796.9Q373 875 500 875 601.6 875 687.5 824.2T824.2 687.5 875 500 824.2 312.5 687.5 175.8 500 125ZM679.7 548.8L636.7 519.5Q638.7 509.8 638.7 500T636.7 480.5L679.7 451.2Q683.6 445.3 681.6 437.5L642.6 375Q640.6 367.2 630.9 369.1L584 386.7Q570.3 377 550.8 369.1L544.9 320.3Q543 312.5 535.2 312.5H462.9Q455.1 312.5 453.1 320.3L445.3 369.1Q425.8 378.9 414.1 386.7L367.2 369.1Q359.4 365.2 355.5 373L318.4 437.5Q314.5 445.3 320.3 449.2L361.3 480.5Q359.4 500 361.3 519.5L320.3 548.8Q314.5 554.7 318.4 562.5L355.5 625Q359.4 632.8 367.2 630.9L414.1 611.3Q427.7 623 445.3 630.9L453.1 679.7Q453.1 683.6 456.1 685.5T462.9 685.5H537.1Q546.9 685.5 546.9 677.7L554.7 628.9Q570.3 621.1 585.9 611.3L632.8 630.9Q642.6 630.9 644.5 625L681.6 560.5Q685.5 552.7 679.7 548.8ZM500 562.5Q474.6 562.5 456.1 543.9T437.5 500 456.1 456.1 500 437.5 543.9 456.1 562.5 500 543.9 543.9 500 562.5V562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-counterclockwise\"\n      ]\n    },\n    {\n      \"uid\": \"920f2b7537fd5a6bc2964179c4f14e2f\",\n      \"css\": \"chart-sankey\",\n      \"code\": 987615,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 209H166V84H84V916H916V834H166V375Q246.1 375 312.5 400.4 367.2 421.9 419.9 464.8 455.1 492.2 513.7 551.8T611.3 642.6Q673.8 693.4 740.2 718.8 822.3 750 916 750V666Q835.9 666 771.5 642.6 716.8 621.1 662.1 578.1 628.9 550.8 570.3 490.2T472.7 398.4Q408.2 349.6 341.8 322.3 261.7 291 166 291H916V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-sankey\"\n      ]\n    },\n    {\n      \"uid\": \"a5faf84fc8b9b83ec9b2ffe60f93ed40\",\n      \"css\": \"chart-sankey-variant\",\n      \"code\": 987616,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166V250H166V166H84V500H166V416Q248 416 310.5 443.4 363.3 464.8 410.2 509.8 439.5 537.1 491.2 598.6T574.2 689.5Q625 738.3 681.6 761.7 748 791 834 791V875H916V625H834V709Q767.6 709 714.8 685.5 669.9 666 628.9 627 603.5 601.6 554.7 544.9V544.9Q498 476.6 464.8 445.3 408.2 392.6 343.8 365.2 265.6 334 166 334H834V416H916V166H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-sankey-variant\"\n      ]\n    },\n    {\n      \"uid\": \"cb5c05afe251500f76d1b7344158cb31\",\n      \"css\": \"vanity-light\",\n      \"code\": 987617,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 834H666Q666 794.9 683.6 726.6 703.1 652.3 728.5 601.6 759.8 541 792 541T855.5 601.6Q880.9 652.3 900.4 726.6 916 794.9 916 834ZM500 541Q468.8 541 437.5 601.6 410.2 652.3 392.6 726.6 375 794.9 375 834H625Q625 794.9 607.4 726.6 589.8 652.3 562.5 601.6 531.3 541 500 541ZM209 541Q175.8 541 144.5 601.6 119.1 652.3 99.6 726.6 84 794.9 84 834H334Q334 794.9 316.4 726.6 296.9 652.3 271.5 601.6 240.2 541 209 541ZM617.2 250Q599.6 201.2 552.7 179.7T459 175.8Q404.3 193.4 382.8 250H84V334H166V500H250V334H382.8Q402.3 388.7 459 408.2V500H541V408.2Q597.7 388.7 617.2 334H750V500H834V334H916V250H617.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vanity-light\"\n      ]\n    },\n    {\n      \"uid\": \"50e1c0ccdb8ca7fd144a969b4d2852c8\",\n      \"css\": \"router\",\n      \"code\": 987618,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM500 834Q410.2 834 333 789.1T210.9 667 166 500 210.9 333 333 210.9 500 166 667 210.9 789.1 333 834 500 789.1 667 667 789.1 500 834ZM541 541V666H625L500 791 375 666H459V541H541ZM209 541H334V625L459 500 334 375V459H209V541ZM459 459V334H375L500 209 625 334H541V459H459ZM791 459H666V375L541 500 666 625V541H791V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"router\"\n      ]\n    },\n    {\n      \"uid\": \"5aaaf18e2b795acfb8fbfc28f7a5afa3\",\n      \"css\": \"image-edit\",\n      \"code\": 987619,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M945.3 595.7L904.3 636.7 820.3 554.7 863.3 511.7Q871.1 503.9 878.9 503.9T896.5 511.7L949.2 566.4Q953.1 574.2 952.1 582T945.3 595.7ZM541 830.1V916H628.9L882.8 662.1 800.8 580.1ZM875 209Q875 173.8 850.6 149.4T791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H459V794.9L503.9 750H209L353.5 562.5 459 687.5 603.5 500 669.9 587.9 875 378.9V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-edit\"\n      ]\n    },\n    {\n      \"uid\": \"24e6a1da4962c9d0a1b169d502f12aac\",\n      \"css\": \"image-edit-outline\",\n      \"code\": 987620,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M945.3 595.7L904.3 636.7 820.3 554.7 863.3 511.7Q871.1 503.9 878.9 503.9T896.5 511.7L949.2 566.4Q953.1 574.2 952.1 582T945.3 595.7ZM541 830.1V916H628.9L882.8 662.1 800.8 580.1ZM466.8 660.2L384.8 560.5 271.5 709H546.9L652.3 605.5 582 511.7ZM459 830.1V793L460.9 791H209V209H791V470.7L875 390.6V209Q875 173.8 850.6 149.4T791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H459V830.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5dadded513ed6cfea54f114c6c680144\",\n      \"css\": \"bell-check\",\n      \"code\": 987621,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 880.9L625 755.9 673.8 709 740.2 775.4 888.7 625 937.5 683.6ZM125 834V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V503.9L750 500Q681.6 500 624 533.2T533.2 624 500 750Q500 793 513.7 834H125ZM500 959Q464.8 959 440.4 934.6T416 875H533.2Q548.8 900.4 568.4 921.9 544.9 959 500 959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-check\"\n      ]\n    },\n    {\n      \"uid\": \"de255290c06f0e2f02f6fa1b0982fa2f\",\n      \"css\": \"bell-check-outline\",\n      \"code\": 987622,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 880.9L625 755.9 673.8 709 740.2 775.4 888.7 625 937.5 683.6ZM416 875H533.2Q548.8 900.4 568.4 921.9 544.9 959 500 959 464.8 959 440.4 934.6T416 875ZM125 834V791L209 709V459Q209 361.3 266.6 284.2T416 179.7V166Q416 132.8 440.4 108.4T500 84 559.6 108.4 584 166V179.7Q675.8 207 733.4 284.2T791 459V503.9L750 500 709 503.9V459Q709 402.3 680.7 354.5T604.5 278.3 500 250 395.5 278.3 319.3 354.5 291 459V750H500Q500 793 513.7 834H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cd194e2b300a02365225d08e379614c1\",\n      \"css\": \"file-edit\",\n      \"code\": 987623,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 84Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H416V837.9L834 419.9V334L584 84H250ZM541 146.5L771.5 375H541V146.5ZM837.9 541Q830.1 541 820.3 550.8L779.3 591.8 867.2 679.7 908.2 636.7Q914.1 630.9 914.1 621.1T908.2 603.5L853.5 550.8Q845.7 541 837.9 541ZM753.9 617.2L500 871.1V959H587.9L841.8 705.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-edit\"\n      ]\n    },\n    {\n      \"uid\": \"8fa135cc82e552f22961a0fc7a894e9d\",\n      \"css\": \"file-edit-outline\",\n      \"code\": 987624,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 834H250V166H541V375H750V503.9L834 419.9V334L584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H416V834ZM841.8 541Q849.6 541 857.4 550.8L912.1 603.5Q918 611.3 918 621.1T912.1 636.7L871.1 679.7 783.2 591.8 824.2 550.8Q834 541 841.8 541ZM841.8 705.1L587.9 959H500V871.1L753.9 617.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bc3ccfdf6a3be236880e21e29ccc5f50\",\n      \"css\": \"scooter\",\n      \"code\": 987625,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 93.8Q712.9 93.8 731.4 112.3T750 156.3 731.4 200.2 687.5 218.8 643.6 200.2 625 156.3 643.6 112.3 687.5 93.8ZM834 750Q867.2 750 891.6 774.4T916 833 891.6 891.6 834 916Q810.5 916 791 905.3T761.7 875H363.3Q353.5 894.5 334 905.3T291 916Q257.8 916 233.4 891.6T209 833 233.4 774.4 291 750Q314.5 750 334 761.7T363.3 791H541V562.5L406.3 468.8 281.3 584Q269.5 595.7 252 594.7T222.7 580.1L95.7 443.4Q84 431.6 84 414.1T96.7 384.8 127 374 156.3 386.7L255.9 494.1 554.7 216.8Q566.4 205.1 584 206.1T613.3 220.7L707 334H834Q849.6 334 862.3 345.7T875 375 862.3 404.3 834 416H687.5Q666 416 652.3 398.4L589.8 324.2 484.4 421.9 607.4 507.8Q625 519.5 625 541V791H650.4Q664.1 732.4 710 692.4T816.4 646.5L783.2 459H845.7L890.6 722.7Q863.3 709 834 709 793 709 760.7 731.4T714.8 791H761.7Q771.5 773.4 791 761.7T834 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scooter\"\n      ]\n    },\n    {\n      \"uid\": \"b88dfc64811ab305bc8e24be336904e8\",\n      \"css\": \"spider\",\n      \"code\": 987626,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M886.7 695.3L945.3 636.7 812.5 503.9 687.5 468.8 767.6 459 941.4 324.2 892.6 257.8 732.4 377 621.1 396.5 753.9 263.7 709 74.2 625 93.8 660.2 236.3 615.2 285.2Q599.6 250 568.4 229.5T500 209 431.6 229.5 384.8 285.2L337.9 236.3 375 93.8 291 74.2 246.1 263.7 378.9 396.5 267.6 377 107.4 257.8 58.6 324.2 232.4 459 310.5 470.7 185.5 505.9 54.7 636.7 113.3 695.3 228.5 578.1 328.1 550.8 166 689.5V916H250V726.6L314.5 671.9Q326.2 740.2 378.9 784.2T500 828.1 621.1 784.2 685.5 671.9L750 726.6V916H834V689.5L671.9 550.8 771.5 578.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spider\"\n      ]\n    },\n    {\n      \"uid\": \"b4f79e3559ee2ed9121f17543ff8ddd7\",\n      \"css\": \"spider-thread\",\n      \"code\": 987627,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V294.9Q521.5 291 500 291T459 294.9V84H541ZM705.1 625L697.3 648.4 834 726.6V916H750V773.4L656.3 720.7Q627 753.9 585.9 772.5T500 791 414.1 772.5 343.8 720.7L250 773.4V916H166V726.6L302.7 648.4 294.9 625H220.7L105.5 701.2 60.5 632.8 195.3 541H294.9Q298.8 523.4 306.6 505.9L242.2 462.9 93.8 500 74.2 416 257.8 371.1 353.5 435.5Q414.1 375 500 375T646.5 435.5L740.2 371.1 925.8 416 906.3 500 757.8 462.9 693.4 503.9Q701.2 523.4 705.1 541H804.7L939.5 630.9 894.5 701.2 779.3 625H705.1ZM459 584Q459 566.4 446.3 553.7T416 541 386.7 553.7 375 584 386.7 613.3 416 625 446.3 613.3 459 584ZM625 584Q625 566.4 613.3 553.7T584 541 553.7 553.7 541 584 553.7 613.3 584 625 613.3 613.3 625 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spider-thread\"\n      ]\n    },\n    {\n      \"uid\": \"2f1a8cf0ec2f1d3efef8b76867db3292\",\n      \"css\": \"plus-thick\",\n      \"code\": 987628,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 584H584V834H416V584H166V416H416V166H584V416H834V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-thick\"\n      ]\n    },\n    {\n      \"uid\": \"9438a7c7b1f48f8c7e8e36b5f8885b0a\",\n      \"css\": \"alert-circle-check\",\n      \"code\": 987629,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M781.3 923.8L666 798.8 714.8 750 781.3 816.4 931.6 666 978.5 724.6ZM541 541V291H459V541H541ZM541 709V625H459V709H541ZM500 84Q613.3 84 709 139.6T860.4 291 916 500L912.1 554.7Q875 541 834 541 765.6 541 708 575.2T617.2 667 584 791Q584 849.6 609.4 902.3 556.6 916 500 916 386.7 916 291 860.4T139.6 709 84 500 139.6 291 291 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-circle-check\"\n      ]\n    },\n    {\n      \"uid\": \"b57e719e419e100128bb5b277d8ed28f\",\n      \"css\": \"alert-circle-check-outline\",\n      \"code\": 987630,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M781.3 923.8L666 798.8 714.8 750 781.3 816.4 931.6 666 978.5 724.6ZM459 625H541V709H459V625ZM459 291H541V541H459V291ZM500 84Q613.3 84 709 139.6T860.4 291 916 500L914.1 554.7Q873 541 830.1 541L834 500Q834 410.2 789.1 333T667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834Q543 834 585.9 822.3 589.8 863.3 609.4 902.3 556.6 916 500 916 386.7 916 291 860.4T139.6 709 84 500 139.6 291 291 139.6 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-circle-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b07c3856e8e2dfe369277fcd575bb63c\",\n      \"css\": \"state-machine\",\n      \"code\": 987631,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M261.7 710.9Q291 746.1 291 791 291 843.8 254.9 879.9T167 916 78.1 879.9 41 792 78.1 703.1 166 666Q181.6 666 189.5 668L316.4 445.3 244.1 404.3 414.1 357.4 460.9 527.3 388.7 486.3ZM834 666Q793 666 760.7 689.5T716.8 750H459V666L334 791 459 916V834H716.8Q728.5 871.1 760.7 893.6T834 916Q884.8 916 921.9 879.9T959 792 921.9 703.1 834 666ZM500 334Q515.6 334 521.5 332L650.4 554.7 578.1 595.7 748 642.6 794.9 472.7 722.7 513.7 593.8 289.1Q625 253.9 625 209 625 156.3 588.9 120.1T500 84 411.1 120.1 375 208 411.1 296.9 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"state-machine\"\n      ]\n    },\n    {\n      \"uid\": \"ef0598f1670a525bc33f62bb30061907\",\n      \"css\": \"usb-port\",\n      \"code\": 987632,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 84Q298.8 84 274.4 108.4T250 166V500H209V666L375 834V916H625V834L791 666V500H750V166Q750 132.8 725.6 108.4T666 84H334ZM334 166H666V500H334V166ZM375 291V375H459V291H375ZM541 291V375H625V291H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"usb-port\"\n      ]\n    },\n    {\n      \"uid\": \"c19135d4c24f8bc546c5da2ef49afdf6\",\n      \"css\": \"cloud-lock\",\n      \"code\": 987633,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709Q931.6 709 945.3 721.7T959 750V916Q959 931.6 945.3 945.3T916 959H709Q693.4 959 679.7 945.3T666 916V750Q666 734.4 679.7 721.7T709 709V646.5Q709 601.6 739.3 571.3T812.5 541 885.7 571.3 916 646.5V709ZM875 709V646.5Q875 621.1 856.4 602.5T812.5 584 768.6 602.5 750 646.5V709H875ZM806.6 377Q888.7 382.8 944.3 442.4T1000 584L998 615.2Q986.3 548.8 934.6 503.9T812.5 459Q734.4 459 679.7 513.7T625 646.5V656.3Q584 693.4 584 750V791H250Q181.6 791 124 757.8T33.2 667 0 541Q0 445.3 64.5 374T222.7 293Q261.7 216.8 335.9 170.9T500 125Q613.3 125 699.2 196.3T806.6 377Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-lock\"\n      ]\n    },\n    {\n      \"uid\": \"7b5e467611113efb33c53ac63aa57674\",\n      \"css\": \"cloud-lock-outline\",\n      \"code\": 987634,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709Q931.6 709 945.3 721.7T959 750V916Q959 931.6 945.3 945.3T916 959H709Q693.4 959 679.7 945.3T666 916V750Q666 734.4 679.7 721.7T709 709V646.5Q709 601.6 739.3 571.3T812.5 541 885.7 571.3 916 646.5V709ZM875 709V646.5Q875 621.1 856.4 602.5T812.5 584 768.6 602.5 750 646.5V709H875ZM728.5 459V437.5Q728.5 375 698.2 322.3T615.2 239.3 500 209Q421.9 209 361.3 255.9T279.3 375H250Q181.6 375 132.8 423.8T84 542 132.8 660.2 250 709H589.8Q584 728.5 584 750V791H250Q181.6 791 124 757.8T33.2 667 0 541Q0 445.3 64.5 374T222.7 293Q261.7 216.8 335.9 170.9T500 125Q613.3 125 699.2 196.3T806.6 377Q888.7 382.8 944.3 442.4T1000 584L998 615.2Q986.3 548.8 934.6 503.9T812.5 459H728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"099021b949580081b1550f6c9a9e52e3\",\n      \"css\": \"robot-mower-outline\",\n      \"code\": 987635,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 584Q41 640.6 69.3 688.5T145.5 763.7 250 791Q300.8 791 343.8 768.6T416 709H632.8Q644.5 746.1 676.8 768.6T750 791 823.2 768.6 867.2 709H959V625Q959 511.7 902.3 416T750 264.6 541 209H41V584ZM875 625H455.1Q459 605.5 459 584 459 527.3 430.7 479.5T354.5 403.3 250 375Q179.7 375 125 416V291H521.5Q601.6 291 671.9 324.2T791 416H625V500H843.8Q869.1 556.6 875 625ZM250 459Q302.7 459 338.9 495.1T375 583 338.9 671.9 250 709 161.1 671.9 125 583 161.1 495.1 250 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robot-mower-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7ae6ac5a7cd39f4cad6b7b330149d93e\",\n      \"css\": \"share-all\",\n      \"code\": 987636,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375V209L750 500 459 791V621.1Q300.8 621.1 189.5 672.9T0 834Q35.2 656.3 134.8 541 255.9 404.3 459 375ZM709 334V209L1000 500 709 791V666L875 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-all\"\n      ]\n    },\n    {\n      \"uid\": \"6c2b9bb5f35cb17c0adc568b02f0ce18\",\n      \"css\": \"share-all-outline\",\n      \"code\": 987637,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 408.2V445.3L470.7 455.1Q322.3 476.6 224.6 566.4 337.9 533.2 459 533.2H541V587.9L632.8 500ZM459 209L750 500 459 791V621.1Q300.8 621.1 189.5 672.9T0 834Q35.2 656.3 134.8 541 255.9 404.3 459 375V209ZM709 334V209L1000 500 709 791V666L875 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"share-all-outline\"\n      ]\n    },\n    {\n      \"uid\": \"423b725aca384358bdb457f226d04af0\",\n      \"css\": \"google-cloud\",\n      \"code\": 987638,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 615.2Q959 685.5 923.8 745.1T829.1 839.8 697.3 875H302.7Q230.5 875 170.9 839.8T76.2 745.1 41 615.2Q41 548.8 72.3 492.2T154.3 400.4Q181.6 281.3 278.3 203.1T500 125 721.7 203.1 845.7 400.4Q898.4 435.5 928.7 492.2T959 615.2ZM693.4 709Q734.4 709 762.7 679.7T791 610.4 763.7 541 697.3 509.8V490.2Q697.3 408.2 639.6 349.6T500 291Q457 291 418 309.6T351.6 359.4Q445.3 377 505.9 453.1L396.5 562.5Q382.8 539.1 359.4 524.4T306.6 509.8Q265.6 509.8 237.3 539.1T209 608.4 236.3 677.7 302.7 709H693.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-cloud\"\n      ]\n    },\n    {\n      \"uid\": \"246fb6fd3585ea41de54fd808b7cc9cd\",\n      \"css\": \"robot-mower\",\n      \"code\": 987639,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 584V209H541Q654.3 209 750 264.6T902.3 416 959 625V709H867.2Q855.5 746.1 823.2 768.6T750 791 676.8 768.6 632.8 709H416Q386.7 746.1 343.8 768.6T250 791Q193.4 791 145.5 763.7T69.3 688.5 41 584ZM250 459Q197.3 459 161.1 495.1T125 583 161.1 671.9 250 709 338.9 671.9 375 583 338.9 495.1 250 459ZM625 416V500H843.8Q822.3 455.1 791 416H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"robot-mower\"\n      ]\n    },\n    {\n      \"uid\": \"f9b6ed77858b8490f6cb8deaaa217a02\",\n      \"css\": \"fast-forward-5\",\n      \"code\": 987640,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 125Q560.5 125 633.8 153.3T767.6 232.4L875 125V416H584L693.4 306.6Q599.6 228.5 478.5 228.5 369.1 228.5 282.2 293T162.1 459L64.5 425.8Q107.4 293 221.7 209T478.5 125ZM375 500H625V584H459V666H541Q576.2 666 600.6 690.4T625 750V834Q625 867.2 600.6 891.6T541 916H375V834H541V750H375V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fast-forward-5\"\n      ]\n    },\n    {\n      \"uid\": \"7fd86ba2234de749b947d800a80dd289\",\n      \"css\": \"rewind-5\",\n      \"code\": 987641,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 125Q664.1 125 778.3 209T935.5 425.8L837.9 459Q804.7 357.4 717.8 293T521.5 228.5Q400.4 228.5 306.6 306.6L416 416H125V125L232.4 232.4Q293 181.6 366.2 153.3T521.5 125ZM375 500H625V584H459V666H541Q576.2 666 600.6 690.4T625 750V834Q625 867.2 600.6 891.6T541 916H375V834H541V750H375V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rewind-5\"\n      ]\n    },\n    {\n      \"uid\": \"b5d23d28741e9d2c147145b0ee3180af\",\n      \"css\": \"shape-oval-plus\",\n      \"code\": 987642,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209H916V291H791V416H709V291H584V209H709V84H791V209ZM459 166L500 169.9V255.9Q478.5 250 459 250 402.3 250 354.5 289.1T278.3 395.5 250 542 278.3 688.5 354.5 794.9 459 834 563.5 794.9 638.7 688.5 666 541L664.1 500H748L750 541Q750 642.6 710.9 729.5T604.5 866.2 458 916 311.5 866.2 205.1 729.5 166 541 205.1 353.5 311.5 216.8 459 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shape-oval-plus\"\n      ]\n    },\n    {\n      \"uid\": \"f66c021fe128c29a98bcabc80bbf7cc6\",\n      \"css\": \"timeline-clock\",\n      \"code\": 987643,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM666 166Q757.8 166 834 210.9T955.1 333 1000 500 955.1 667 834 789.1 666 834Q554.7 834 467.8 767.6T347.7 597.7L250 500 347.7 402.3Q380.9 298.8 467.8 232.4T666 166ZM625 541L814.5 658.2 847.7 603.5 687.5 507.8V291H625V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-clock\"\n      ]\n    },\n    {\n      \"uid\": \"4c65b580c9876ee70cbd091822d793a7\",\n      \"css\": \"timeline-clock-outline\",\n      \"code\": 987644,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84V334H84V84H166ZM84 916V666H166V916H84ZM209 500Q209 535.2 184.6 559.6T125 584 65.4 559.6 41 500 65.4 440.4 125 416 184.6 440.4 209 500ZM666 166Q757.8 166 834 210.9T955.1 333 1000 500 955.1 667 834 789.1 666 834Q554.7 834 467.8 767.6T347.7 597.7L250 500 347.7 402.3Q380.9 298.8 467.8 232.4T666 166ZM666 250Q599.6 250 542 283.2T450.2 374 416 500 450.2 626 542 716.8 667 750 792 716.8 882.8 626 916 500 882.8 374 792 283.2 666 250ZM625 541V334H687.5V507.8L812.5 584 779.3 636.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timeline-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e8305699a4c60f8eee18db442c736b38\",\n      \"css\": \"mirror\",\n      \"code\": 987645,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41Q595.7 41 677.7 103.5T806.6 270.5 853.5 500 806.6 730.5 677.7 897.5 500 959 322.3 897.5 193.4 730.5 146.5 500 193.4 270.5 322.3 103.5 500 41ZM500 125Q425.8 125 364.3 175.8T265.6 312.5 228.5 500 265.6 687.5 364.3 824.2 500 875 635.7 824.2 734.4 687.5 771.5 500 734.4 312.5 635.7 175.8 500 125ZM345.7 427.7L480.5 293 525.4 337.9 388.7 472.7ZM363.3 609.4L597.7 373 642.6 416 406.3 652.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mirror\"\n      ]\n    },\n    {\n      \"uid\": \"b1400ddce53cbea1e390e6d492ddd3f2\",\n      \"css\": \"account-multiple-check-outline\",\n      \"code\": 987646,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459Q593.8 459 629.9 421.9T666 333 629.9 245.1 542 209 453.1 245.1 416 333 453.1 421.9 541 459ZM541 291Q554.7 291 565.4 298.8T581.1 317.4 583 340.8 571.3 362.3 549.8 374 525.4 372.1 506.8 356.4 500 334Q500 316.4 511.7 303.7T541 291ZM712.9 453.1Q750 398.4 750 333T712.9 214.8Q730.5 209 750 209 802.7 209 838.9 245.1T875 333 838.9 421.9 750 459Q730.5 459 712.9 453.1ZM541 541Q470.7 541 419.9 558.6 375 574.2 345.7 599.6 322.3 621.1 308.6 650.4 296.9 669.9 293 691.4L291 709V791H791V709L789.1 691.4Q785.2 669.9 775.4 650.4 761.7 621.1 738.3 599.6 707 574.2 664.1 558.6 611.3 541 541 541ZM375 709Q375 695.3 384.8 681.6 398.4 658.2 429.7 644.5 472.7 625 541 625 634.8 625 679.7 660.2 705.1 679.7 709 709H375ZM1000 709V791H875V709Q873 662.1 853.5 619.1T800.8 544.9Q869.1 550.8 916 578.1 953.1 599.6 974.6 634.8 990.2 658.2 996.1 685.5ZM306.6 371.1L353.5 429.7 156.3 628.9 41 503.9 89.8 455.1 156.3 521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1b8e53a1cd91b2496cc87f2dcc08bebb\",\n      \"css\": \"card-plus\",\n      \"code\": 987647,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M544.9 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H834Q867.2 166 891.6 190.4T916 250V576.2Q859.4 541 792 541T667 575.2 575.2 667 541 791Q541 808.6 544.9 834ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-plus\"\n      ]\n    },\n    {\n      \"uid\": \"1d7e986d24f9fa3cf07f855307c0769c\",\n      \"css\": \"card-plus-outline\",\n      \"code\": 987648,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V750H1000V834H875V959H791V834H666V750H791V625H875ZM584 750H125V250H791V541H875V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H584V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"card-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ff28f28f5048ba9327ba8e57417f1896\",\n      \"css\": \"checkerboard-plus\",\n      \"code\": 987649,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H916V791H791V916H709V791H584V709H709V584H791V709ZM334 666H500V500H334V666ZM500 500H666V334H500V500ZM84 84V916H564.5Q533.2 882.8 515.6 834H334V666H166V500H334V334H166V166H334V334H500V166H666V334H834V515.6Q882.8 533.2 916 564.5V84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkerboard-plus\"\n      ]\n    },\n    {\n      \"uid\": \"5122299d7e0820e78619190dab59a3b8\",\n      \"css\": \"checkerboard-minus\",\n      \"code\": 987650,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709V791H916V709H584ZM334 666H500V500H334V666ZM500 500H666V334H500V500ZM84 84V916H562.5Q533.2 880.9 511.7 834H334V666H166V500H334V334H166V166H334V334H500V166H666V334H834V517.6Q880.9 537.1 916 566.4V84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkerboard-minus\"\n      ]\n    },\n    {\n      \"uid\": \"59996c494ecb32c3d0ade21caa92703c\",\n      \"css\": \"checkerboard-remove\",\n      \"code\": 987651,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 666H500V500H334V666ZM500 500H666V334H500V500ZM84 84V916H562.5Q533.2 880.9 511.7 834H334V666H166V500H334V334H166V166H334V334H500V166H666V334H834V517.6Q880.9 537.1 916 566.4V84H84ZM837.9 603.5L750 691.4 662.1 603.5 603.5 662.1 691.4 750 603.5 837.9 662.1 896.5 750 808.6 837.9 896.5 896.5 837.9 808.6 750 896.5 662.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkerboard-remove\"\n      ]\n    },\n    {\n      \"uid\": \"2a23350b1f497fa9e79c8046441c1fd0\",\n      \"css\": \"select-search\",\n      \"code\": 987652,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 787.1Q834 742.2 834 687.5 834 609.4 779.3 554.7T646.5 500 513.7 554.7 459 687.5 513.7 820.3 646.5 875Q699.2 875 744.1 845.7L875 974.6 933.6 916ZM646.5 791Q603.5 791 572.3 760.7T541 687.5 572.3 614.3 646.5 584 719.7 614.3 750 687.5 719.7 760.7 646.5 791ZM875 375H791V291H875V375ZM875 209H791V125H834Q849.6 125 862.3 137.7T875 166V209ZM791 459V459H875V541H873Q841.8 492.2 791 459ZM709 209H625V125H709V209ZM541 209H459V125H541V209ZM125 291H209V375H125V291ZM291 791H375V875H291V791ZM125 459H209V541H125V459ZM166 125H209V209H125V166Q125 150.4 137.7 137.7T166 125ZM375 209H291V125H375V209ZM125 791H209V875H166Q150.4 875 137.7 862.3T125 834V791ZM125 625H209V709H125V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-search\"\n      ]\n    },\n    {\n      \"uid\": \"15eef013958a0034c1493cff239518b7\",\n      \"css\": \"selection-search\",\n      \"code\": 987653,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M802.7 787.1Q832 742.2 832 687.5 832 609.4 777.3 554.7T644.5 500 511.7 554.7 457 687.5 511.7 820.3 644.5 875Q697.3 875 744.1 845.7L873 974.6 931.6 916ZM644.5 791Q601.6 791 570.3 760.7T539.1 687.5 570.3 614.3 644.5 584 717.8 614.3 748 687.5 717.8 760.7 644.5 791ZM916 584H894.5Q873 533.2 834 494.1V416H916V584ZM834 166H709V84H834Q867.2 84 891.6 108.4T916 166V291H834V166ZM584 166H416V84H584V166ZM166 84H291V166H166V291H84V166Q84 132.8 108.4 108.4T166 84ZM500 916H416V834Q447.3 884.8 500 916ZM166 834H291V916H166Q132.8 916 108.4 891.6T84 834V709H166V834ZM166 584H84V416H166V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-search\"\n      ]\n    },\n    {\n      \"uid\": \"49c8e9559a082811d813dc695709b952\",\n      \"css\": \"layers-search\",\n      \"code\": 987654,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 787.1Q834 742.2 834 687.5 834 609.4 779.3 554.7T646.5 500 513.7 554.7 459 687.5 513.7 820.3 646.5 875Q699.2 875 744.1 845.7L875 974.6 933.6 916ZM646.5 791Q603.5 791 572.3 760.7T541 687.5 572.3 614.3 646.5 584 719.7 614.3 750 687.5 719.7 760.7 646.5 791ZM400.4 800.8L125 585.9 193.4 533.2 375 675.8V687.5Q375 746.1 400.4 800.8ZM193.4 427.7L125 375 500 84 875 375 777.3 451.2Q716.8 416 646.5 416 562.5 416 494.1 462.9T396.5 585.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-search\"\n      ]\n    },\n    {\n      \"uid\": \"bcec9d139fb84a6733758f06b180075e\",\n      \"css\": \"layers-search-outline\",\n      \"code\": 987655,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 787.1Q834 742.2 834 687.5 834 609.4 779.3 554.7T646.5 500 513.7 554.7 459 687.5 513.7 820.3 646.5 875Q699.2 875 744.1 845.7L875 974.6 933.6 916ZM646.5 791Q603.5 791 572.3 760.7T541 687.5 572.3 614.3 646.5 584 719.7 614.3 750 687.5 719.7 760.7 646.5 791ZM400.4 800.8L125 585.9 193.4 533.2 375 675.8V687.5Q375 746.1 400.4 800.8ZM396.5 585.9L125 375 500 84 875 375 777.3 451.2Q732.4 425.8 681.6 419.9L738.3 375 500 189.5 261.7 375 439.5 513.7Q410.2 546.9 396.5 585.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"layers-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dd6d0408231ec45d21c9c51ad8223b08\",\n      \"css\": \"lightbulb-cfl\",\n      \"code\": 987656,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M437.5 84Q480.5 84 510.7 114.3T541 187.5V584H584V185.5Q584 128.9 541 85.9 548.8 84 562.5 84 605.5 84 635.7 114.3T666 187.5V584H709V709Q709 724.6 696.3 737.3T666 750H334Q316.4 750 303.7 737.3T291 709V584H334V187.5Q334 144.5 364.3 114.3T437.5 84ZM437.5 166Q429.7 166 422.9 172.9T416 187.5V584H459V187.5Q459 179.7 452.1 172.9T437.5 166ZM375 834H625V875Q625 892.6 612.3 904.3T584 916H416Q400.4 916 387.7 904.3T375 875V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-cfl\"\n      ]\n    },\n    {\n      \"uid\": \"1a0b8aa420971dd8778d62102b5c5b54\",\n      \"css\": \"lightbulb-cfl-off\",\n      \"code\": 987657,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 185.5Q584 128.9 541 85.9 548.8 84 562.5 84 605.5 84 635.7 114.3T666 187.5V584H709V632.8L584 507.8V185.5ZM416 187.5Q416 179.7 422.9 172.9T437.5 166 452.1 172.9 459 187.5V382.8L541 466.8V187.5Q541 144.5 510.7 114.3T437.5 84 364.3 114.3 334 187.5V257.8L416 341.8V187.5ZM375 875Q375 892.6 387.7 904.3T416 916H584Q599.6 916 612.3 904.3T625 875V834H375V875ZM834 863.3L781.3 916 613.3 750H334Q316.4 750 303.7 737.3T291 709V584H334V468.8L84 218.8 136.7 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-cfl-off\"\n      ]\n    },\n    {\n      \"uid\": \"d2e81517b03c3f071b68a0ad42fa1a54\",\n      \"css\": \"account-multiple-remove\",\n      \"code\": 987658,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M1000 709V791H875V709Q875 660.2 854.5 618.2T798.8 544.9Q869.1 550.8 916 578.1 953.1 599.6 974.6 634.8 990.2 658.2 996.1 685.5ZM750 209Q802.7 209 838.9 245.1T875 333 838.9 421.9 750 459Q730.5 459 712.9 453.1 750 398.4 750 333T712.9 214.8Q730.5 209 750 209ZM541 209Q593.8 209 629.9 245.1T666 333 629.9 421.9 542 459 453.1 421.9 416 333 453.1 245.1 541 209ZM791 709V791H291V709Q291 662.1 325.2 624T417 563.5 542 541 667 563.5 757.8 624 791 709ZM19.5 546.9L107.4 459 19.5 369.1 78.1 310.5 166 400.4 255.9 310.5 314.5 369.1 224.6 459 314.5 546.9 255.9 605.5 166 517.6 78.1 605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-remove\"\n      ]\n    },\n    {\n      \"uid\": \"89d13fa0d643050e07237e7958fb5d30\",\n      \"css\": \"account-multiple-remove-outline\",\n      \"code\": 987659,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M1000 709V791H875V709Q875 660.2 854.5 618.2T798.8 544.9Q869.1 550.8 916 578.1 953.1 599.6 974.6 634.8 990.2 658.2 996.1 685.5ZM750 209Q802.7 209 838.9 245.1T875 333 838.9 421.9 750 459Q730.5 459 712.9 453.1 750 398.4 750 333T712.9 214.8Q730.5 209 750 209ZM541 209Q593.8 209 629.9 245.1T666 333 629.9 421.9 542 459 453.1 421.9 416 333 453.1 245.1 541 209ZM791 709V791H291V709Q291 662.1 325.2 624T417 563.5 542 541 667 563.5 757.8 624 791 709ZM541 291Q525.4 291 512.7 303.7T500 333 512.7 362.3 542 375 571.3 362.3 584 333 571.3 303.7 541 291ZM541 625Q472.7 625 423.8 649.4T375 709H709Q709 673.8 660.2 649.4T541 625ZM19.5 546.9L107.4 459 19.5 369.1 78.1 310.5 166 400.4 255.9 310.5 314.5 369.1 224.6 459 314.5 546.9 255.9 605.5 166 517.6 78.1 605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-multiple-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c56f314c511951ef8d17b6c9491130ed\",\n      \"css\": \"magnify-remove-cursor\",\n      \"code\": 987660,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 41V334L334 41H41ZM750 666H726.6L691.4 632.8Q750 554.7 750 459 750 378.9 710.9 311.5T604.5 205.1 459 166Q361.3 166 283.2 224.6 218.8 273.4 189.5 344.7T168.9 493.2 224.6 633.8 343.8 726.6 493.2 747.1 632.8 691.4L666 724.6V750L875 959 959 875ZM607.4 548.8L548.8 607.4 460.9 519.5 373 607.4 312.5 548.8 402.3 460.9 312.5 371.1 373 312.5 460.9 400.4 548.8 312.5 607.4 371.1 519.5 460.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-remove-cursor\"\n      ]\n    },\n    {\n      \"uid\": \"141542feff5cb07d69b2c2ec84127485\",\n      \"css\": \"magnify-remove-outline\",\n      \"code\": 987661,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 584H613.3L601.6 572.3Q666 496.1 666 396.5 666 322.3 629.9 259.8T531.3 161.1 395.5 125 259.8 161.1 161.1 259.8 125 395.5 161.1 531.3 259.8 629.9 396.5 666Q496.1 666 572.3 601.6L584 613.3V646.5L791 853.5 853.5 791ZM396.5 584Q318.4 584 263.7 529.3T209 396.5 263.7 263.7 396.5 209 529.3 263.7 584 396.5 529.3 529.3 396.5 584ZM455.1 484.4L396.5 425.8 337.9 484.4 306.6 455.1 367.2 396.5 306.6 337.9 337.9 306.6 396.5 367.2 455.1 306.6 484.4 337.9 425.8 396.5 484.4 455.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"65f8bff4de4ee4d3e21338ca7ca0e960\",\n      \"css\": \"archive-outline\",\n      \"code\": 987662,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 875H166V416H250V791H750V416H834V875ZM125 125H875V375H125V125ZM396.5 459H603.5Q613.3 459 619.1 464.8T625 478.5V541H375V478.5Q375 470.7 380.9 464.8T396.5 459ZM209 209V291H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"archive-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d1cc11c0ce4a4b905f3f4c301b45c389\",\n      \"css\": \"battery-heart\",\n      \"code\": 987663,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM791 673.8L767.6 652.3V650.4Q689.5 580.1 664.1 548.8 625 502 625 459 625 419.9 651.4 393.6T716.8 367.2Q761.7 367.2 791 400.4 822.3 367.2 867.2 367.2 904.3 367.2 931.6 393.6T959 459Q959 500 919.9 548.8 894.5 580.1 816.4 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-heart\"\n      ]\n    },\n    {\n      \"uid\": \"547a274aa9d00f650b3caeb0224ea819\",\n      \"css\": \"battery-heart-outline\",\n      \"code\": 987664,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 675.8L767.6 654.3 761.7 650.4Q687.5 578.1 664.1 548.8 625 500 625 460T652.3 393.6 718.8 367.2 791 400.4Q824.2 367.2 864.3 367.2T931.6 393.6 959 459 923.8 541Q902.3 568.4 835.9 632.8ZM529.3 166H459V84H209V166H136.7Q115.2 166 99.6 182.6T84 220.7V857.4Q84 882.8 99.6 899.4T136.7 916H525.4Q546.9 916 563.5 900.4T580.1 863.3V220.7Q582 199.2 566.4 182.6T529.3 166ZM500 834H166V250H500V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"66678f9f1e23fe2cec5ccec68481a2f5\",\n      \"css\": \"battery-heart-variant\",\n      \"code\": 987665,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166ZM523.4 652.3L500 673.8 474.6 650.4Q396.5 580.1 373 548.8 334 502 334 459 332 419.9 359.4 393.6T425.8 367.2Q470.7 367.2 500 400.4 529.3 367.2 574.2 367.2 613.3 367.2 640.6 393.6T666 459Q666 502 627 548.8 603.5 580.1 525.4 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-heart-variant\"\n      ]\n    },\n    {\n      \"uid\": \"9baf654f7212ae17a84f4c2a1b6e5cf2\",\n      \"css\": \"bus-marker\",\n      \"code\": 987666,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q337.9 84 263.7 111.3 166 150.4 166 250V666Q166 722.7 209 759.8V834Q209 851.6 220.7 863.3T250 875H291Q308.6 875 321.3 863.3T334 834V791H584Q544.9 722.7 541 646.5 543 589.8 569.3 540T640.6 459H250V250H750V416H771.5Q802.7 416 834 425.8V250Q834 150.4 736.3 111.3 662.1 84 500 84ZM312.5 584Q337.9 584 356.4 601.6T375 645.5 356.4 690.4 312.5 709 268.6 690.4 250 645.5 268.6 601.6 312.5 584ZM771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 735.4 614.3 770.5 600.6 805.7 615.2 821.3 650.4 806.6 686.5 771.5 699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bus-marker\"\n      ]\n    },\n    {\n      \"uid\": \"00489d739a2c0add01c08d7d04466915\",\n      \"css\": \"chart-multiple\",\n      \"code\": 987667,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666V750H250V84H334V564.5L570.3 189.5 703.1 279.3 804.7 177.7 863.3 236.3 712.9 386.7 595.7 308.6 367.2 666H916ZM166 834V166H84V916H916V834H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"29d925427d2001a1b715507c6d7ff71e\",\n      \"css\": \"emoticon-lol\",\n      \"code\": 987668,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M627 373V205.1Q628.9 156.3 656.3 113.3 539.1 66.4 417 91.8T206.1 206.1 91.8 417 113.3 654.3Q156.3 627 205.1 627H373V794.9Q373 843.8 345.7 886.7 460.9 933.6 583 908.2T793.9 793.9 908.2 583 886.7 343.8Q843.8 371.1 794.9 373H627ZM459 250H521.5V312.5H584V375H459V250ZM312.5 584V521.5H250V459H375V584H312.5ZM662.1 662.1Q611.3 712.9 542 724.6T408.2 709L709 408.2Q736.3 472.7 723.6 542T662.1 662.1ZM203.1 878.9Q169.9 878.9 145.5 854.5T121.1 794.9 145.5 735.4 203.1 710.9H287.1V794.9Q287.1 828.1 263.7 852.5T205.1 877ZM794.9 123Q828.1 123 852.5 147.5T877 206.1 852.5 264.6 794.9 289.1H710.9V205.1Q710.9 171.9 735.4 147.5T794.9 123Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-lol\"\n      ]\n    },\n    {\n      \"uid\": \"ef13aa8b3e8604cdce513d0e045e0b9f\",\n      \"css\": \"emoticon-lol-outline\",\n      \"code\": 987669,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 459V521.5H312.5V584H375V459H250ZM521.5 250H459V375H584V312.5H521.5V250ZM408.2 709Q472.7 734.4 541 721.7T659.2 659.2 721.7 541 709 408.2ZM263.7 263.7Q335.9 193.4 435.5 173.8T628.9 193.4Q632.8 150.4 656.3 113.3 539.1 66.4 417 91.8T206.1 206.1 91.8 417 113.3 654.3Q150.4 630.9 193.4 627 154.3 535.2 173.8 435.5T263.7 263.7ZM736.3 736.3Q664.1 806.6 564.5 826.2T371.1 806.6Q367.2 849.6 343.8 886.7 460.9 933.6 583 908.2T793.9 793.9 908.2 583 886.7 345.7Q849.6 369.1 806.6 373 845.7 464.8 826.2 564.5T736.3 736.3ZM250 459V521.5H312.5V584H375V459H250ZM408.2 709Q472.7 734.4 541 721.7T659.2 659.2 721.7 541 709 408.2ZM521.5 250H459V375H584V312.5H521.5V250ZM250 459V521.5H312.5V584H375V459H250ZM521.5 250H459V375H584V312.5H521.5V250ZM408.2 709Q472.7 734.4 541 721.7T659.2 659.2 721.7 541 709 408.2ZM205.1 875Q171.9 875 147.5 850.6T123 792 147.5 733.4 205.1 709H289.1V791Q289.1 826.2 264.6 852.5T205.1 877V875ZM794.9 123Q828.1 123 852.5 147.5T877 206.1 852.5 264.6 794.9 289.1H710.9V205.1Q710.9 171.9 735.4 147.5T794.9 123Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"emoticon-lol-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4c6e39e014daee473d99a9378252b623\",\n      \"css\": \"file-sync\",\n      \"code\": 987670,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 728.5Q459 656.3 495.1 593.8T593.8 495.1 728.5 459Q777.3 459 834 478.5V334L584 84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H533.2Q498 878.9 478.5 830.1T459 728.5ZM541 146.5L771.5 375H541V146.5ZM709 500V562.5Q777.3 562.5 826.2 611.3T875 728.5Q875 785.2 845.7 820.3L800.8 775.4Q812.5 755.9 812.5 728.5 812.5 685.5 782.2 655.3T709 625V687.5L617.2 595.7ZM709 959V896.5Q638.7 896.5 589.8 847.7T541 728.5Q541 671.9 570.3 636.7L617.2 683.6Q603.5 701.2 603.5 728.5 603.5 773.4 633.8 803.7T709 834V771.5L800.8 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-sync\"\n      ]\n    },\n    {\n      \"uid\": \"04f4c5addfd42d612d66110eb971317b\",\n      \"css\": \"file-sync-outline\",\n      \"code\": 987671,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M533.2 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H584L834 334V478.5Q808.6 466.8 750 459V375H541V166H250V834H478.5Q496.1 871.1 533.2 916ZM709 500L617.2 591.8 709 683.6V625Q752 625 782.2 655.3T812.5 728.5Q812.5 755.9 800.8 775.4L845.7 820.3Q875 777.3 875 728.5 875 660.2 826.2 611.3T709 562.5V500ZM800.8 867.2L709 771.5V834Q664.1 834 633.8 803.7T603.5 728.5Q603.5 701.2 617.2 683.6L570.3 636.7Q541 681.6 541 728.5 541 798.8 589.8 847.7T709 896.5V959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"072364f5fad1facdd1b2cf3dc08b7f55\",\n      \"css\": \"handshake\",\n      \"code\": 987672,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250H584L720.7 113.3Q732.4 99.6 750 99.6T779.3 113.3L886.7 220.7Q898.4 232.4 898.4 250T886.7 279.3L791 375H459V459Q459 476.6 446.3 488.3T416 500 386.7 488.3 375 459V334Q375 298.8 399.4 274.4T459 250ZM209 459V625L113.3 720.7Q101.6 732.4 101.6 750T113.3 779.3L220.7 886.7Q232.4 898.4 250 898.4T279.3 886.7L459 709H625Q642.6 709 654.3 696.3T666 666V625H709Q726.6 625 738.3 613.3T750 584V541H791Q808.6 541 821.3 529.3T834 500V459H541V500Q541 535.2 516.6 559.6T459 584H375Q339.8 584 315.4 559.6T291 500V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"handshake\"\n      ]\n    },\n    {\n      \"uid\": \"4b2dc881519ff243290a2214328c4c30\",\n      \"css\": \"language-kotlin\",\n      \"code\": 987673,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84H916L500 500 916 916H84V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-kotlin\"\n      ]\n    },\n    {\n      \"uid\": \"1cad54cc411d212ae613a2b803dcc793\",\n      \"css\": \"language-fortran\",\n      \"code\": 987674,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 166V250H250Q267.6 250 279.3 262.7T291 291V709Q291 724.6 279.3 737.3T250 750H209V834H584V750H500Q482.4 750 470.7 737.3T459 709V541H541Q558.6 541 571.3 553.7T584 584V666H666V334H584V416Q584 433.6 571.3 446.3T541 459H459V250H666Q701.2 250 725.6 286.1T750 375V416H834V166H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"language-fortran\"\n      ]\n    },\n    {\n      \"uid\": \"bdbb44304ac05013a75e8e31015ac1d5\",\n      \"css\": \"offer\",\n      \"code\": 987675,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541Q914.1 541 933.6 566.4 959 591.8 959 625L625 750 334 666V291H412.1L716.8 404.3Q750 418 750 449.2 750 470.7 738.3 482.4 720.7 500 699.2 500H584L511.7 470.7 500 507.8 584 541H875ZM84 291H250V750H84V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"offer\"\n      ]\n    },\n    {\n      \"uid\": \"ae5f40e7f87f9c652272c61b54afc1fc\",\n      \"css\": \"radio-off\",\n      \"code\": 987676,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L125 261.7Q105.5 271.5 94.7 291T84 334V834Q84 867.2 108.4 891.6T166 916H781.3L863.3 1000 916 947.3 95.7 125ZM834 250H367.2L685.5 117.2 654.3 41 275.4 199.2 408.2 334H834V500H750V416H666V500H576.2L916 841.8V334Q916 298.8 891.6 274.4T834 250ZM166 334H197.3L363.3 500H166V334ZM291 584Q343.8 584 379.9 620.1T416 708 379.9 796.9 292 834 203.1 796.9 166 708 203.1 620.1 291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radio-off\"\n      ]\n    },\n    {\n      \"uid\": \"0cf9f044e9b1206068165eee20066c6f\",\n      \"css\": \"table-headers-eye\",\n      \"code\": 987677,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 250V791Q41 826.2 65.4 850.6T125 875H375V459H875V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250ZM125 250H291V375H125V250ZM291 791H125V666H291V791ZM291 584H125V459H291V584ZM375 375V250H541V375H375ZM791 375H625V250H791V375ZM709 666Q726.6 666 738.3 678.7T750 709 738.3 738.3 709 750 678.7 738.3 666 709 678.7 678.7 709 666ZM709 541Q791 541 859.4 586.9T959 709Q927.7 783.2 859.4 829.1T709 875 558.6 829.1 459 709Q490.2 632.8 558.6 586.9T709 541ZM709 603.5Q666 603.5 634.8 634.8T603.5 709 634.8 782.2 709 812.5 782.2 782.2 812.5 709 782.2 634.8 709 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-headers-eye\"\n      ]\n    },\n    {\n      \"uid\": \"200c2a71fb34e6d0975fd457a13bac26\",\n      \"css\": \"table-headers-eye-off\",\n      \"code\": 987678,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M99.6 72.3L46.9 125 93.8 173.8Q70.3 181.6 55.7 203.1T41 250V791Q41 826.2 65.4 850.6T125 875H375V459H378.9L529.3 609.4Q482.4 650.4 459 709 490.2 785.2 558.6 830.1T709 875Q748 875 785.2 863.3L869.1 947.3 921.9 894.5 857.4 830.1ZM291 791H125V666H291V791ZM291 584H125V459H291V584ZM291 375H125V250H171.9L291 371.1V375ZM709 812.5Q658.2 812.5 627 773.4T607.4 685.5L732.4 810.5Q720.7 812.5 709 812.5ZM675.8 541L744.1 609.4Q789.1 625 806.6 671.9L914.1 779.3Q941.4 748 959 709 927.7 632.8 859.4 586.9T709 541H675.8ZM541 250V375H507.8L591.8 459H875V250Q875 214.8 850.6 190.4T791 166H300.8L382.8 250H541ZM625 250H791V375H625V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-headers-eye-off\"\n      ]\n    },\n    {\n      \"uid\": \"d2733006d18d54c773c9176c19039c10\",\n      \"css\": \"tag-minus-outline\",\n      \"code\": 987679,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L214.8 625H334L166 459V166H459L834 541 541 834H500V906.3Q519.5 916 541 916 576.2 916 599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM209 271.5Q209 296.9 226.6 315.4T270.5 334 315.4 315.4 334 270.5 315.4 226.6 270.5 209 226.6 226.6 209 271.5ZM416 791H84V709H416V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"85d38d7636deb991fa46002650647439\",\n      \"css\": \"tag-off\",\n      \"code\": 987680,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M763.7 353.5L955.1 164.1 896.5 103.5 103.5 896.5 164.1 955.1 353.5 763.7 482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM234.4 642.6L644.5 236.3 517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6ZM228.5 166Q255.9 166 273.4 184.6T291 229.5 273.4 273.4 229.5 291 184.6 273.4 166 229.5 184.6 184.6 228.5 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-off\"\n      ]\n    },\n    {\n      \"uid\": \"8bf1ad995d356a20b28288a6f81c2098\",\n      \"css\": \"tag-off-outline\",\n      \"code\": 987681,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM763.7 353.5L955.1 164.1 896.5 103.5 103.5 896.5 164.1 955.1 353.5 763.7 482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM541 834L414.1 705.1 705.1 414.1 834 541ZM234.4 642.6L291 584 166 459V166H459L585.9 294.9 644.5 236.3 517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6ZM209 271.5Q209 296.9 226.6 315.4T270.5 334 315.4 315.4 334 270.5 315.4 226.6 270.5 209 226.6 226.6 209 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1477840fc273c124cd4b853460cfe0c1\",\n      \"css\": \"tag-plus-outline\",\n      \"code\": 987682,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L125 533.2Q166 509.8 210.9 503.9L166 459V166H459L834 541 541 834 496.1 789.1Q490.2 834 466.8 875L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM416 791H291V916H209V791H84V709H209V584H291V709H416V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a6c1bdd969f87405f2cfb5e7cf2dc0a4\",\n      \"css\": \"tag-remove-outline\",\n      \"code\": 987683,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L125 533.2Q166 509.8 210.9 503.9L166 459V166H459L834 541 541 834 496.1 789.1Q490.2 834 466.8 875L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM271.5 209Q244.1 209 226.6 226.6T209 270.5 226.6 315.4 270.5 334 315.4 315.4 334 270.5 315.4 226.6 271.5 209ZM337.9 898.4L250 808.6 162.1 898.4 101.6 837.9 191.4 750 101.6 662.1 162.1 601.6 250 691.4 337.9 601.6 398.4 662.1 308.6 750 398.4 837.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"351dd400cd6a69a18c59d96398bcc378\",\n      \"css\": \"tag-text\",\n      \"code\": 987684,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M892.6 482.4L517.6 107.4Q492.2 84 459 84H166Q132.8 84 108.4 108.4T84 166V459Q84 492.2 107.4 517.6L482.4 892.6Q507.8 916 542 916T599.6 892.6L892.6 599.6Q916 576.2 916 542T892.6 482.4ZM271.5 334Q244.1 334 226.6 315.4T209 270.5 226.6 226.6 270.5 209 315.4 226.6 334 270.5 315.4 315.4 271.5 334ZM482.4 642.6L316.4 474.6 375 416 541 584ZM650.4 599.6L419.9 371.1 478.5 312.5 709 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-text\"\n      ]\n    },\n    {\n      \"uid\": \"2fd756dbf9ed8b719cd4548a8d0991f5\",\n      \"css\": \"vector-polyline-edit\",\n      \"code\": 987685,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V375H207L289.1 625H250V875H500V683.6L724.6 459H916V209H666V398.4L441.4 625H377L294.9 375H334V125H84ZM166 209H250V291H166V209ZM750 291H834V375H750V291ZM880.9 541Q871.1 541 865.2 548.8L822.3 591.8 908.2 677.7 951.2 634.8Q959 628.9 959 619.1T951.2 601.6L898.4 548.8Q890.6 541 880.9 541ZM798.8 615.2L541 871.1V959H628.9L884.8 701.2ZM334 709H416V791H334V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-polyline-edit\"\n      ]\n    },\n    {\n      \"uid\": \"6245719dbb73acfa80d4bd7ff643ff30\",\n      \"css\": \"vector-polyline-minus\",\n      \"code\": 987686,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V375H207L289.1 625H250V875H500V683.6L724.6 459H916V209H666V398.4L441.4 625H377L294.9 375H334V125H84ZM166 209H250V291H166V209ZM750 291H834V375H750V291ZM334 709H416V791H334V709ZM625 750V834H959V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-polyline-minus\"\n      ]\n    },\n    {\n      \"uid\": \"a5170faef3c7c8b2faf8e618e61159f3\",\n      \"css\": \"vector-polyline-plus\",\n      \"code\": 987687,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 125V375H207L289.1 625H250V875H500V683.6L724.6 459H916V209H666V398.4L441.4 625H377L294.9 375H334V125H84ZM166 209H250V291H166V209ZM750 291H834V375H750V291ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750ZM334 709H416V791H334V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-polyline-plus\"\n      ]\n    },\n    {\n      \"uid\": \"c4b8dee7ecba3d2ce4846849ae0834d1\",\n      \"css\": \"vector-polyline-remove\",\n      \"code\": 987688,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M878.9 646.5L791 732.4 705.1 646.5 646.5 705.1 732.4 791 646.5 878.9 705.1 937.5 791 849.6 878.9 937.5 937.5 878.9 849.6 791 937.5 705.1ZM666 209V400.4L441.4 625H378.9L294.9 375H334V125H84V375H209L291 625H250V875H500V683.6L724.6 459H916V209H666ZM250 291H166V209H250V291ZM416 791H334V709H416V791ZM834 375H750V291H834V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"vector-polyline-remove\"\n      ]\n    },\n    {\n      \"uid\": \"126a6afe0805a9da2aa4223361c4a03b\",\n      \"css\": \"beaker-alert\",\n      \"code\": 987689,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209Q839.8 209 815.4 233.4T791 291V791Q791 826.2 766.6 850.6T709 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 375V416H416V375H291ZM291 459V500H416V459H291ZM416 666V625H291V666H416ZM500 584V541H291V584H500ZM500 334V291H291V334H500ZM875 541V291H959V541H875ZM875 709V625H959V709H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-alert\"\n      ]\n    },\n    {\n      \"uid\": \"47135d7a5353b87a16ce8bf6ffd55f2b\",\n      \"css\": \"beaker-alert-outline\",\n      \"code\": 987690,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V209Q839.8 209 815.4 233.4T791 291V791Q791 826.2 766.6 850.6T709 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 209V291H500V334H291V375H416V416H291V459H416V500H291V541H500V584H291V625H416V666H291V791H709V209H291ZM875 541V291H959V541H875ZM875 709V625H959V709H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2fde431f422aca132ec82efb31e9adc8\",\n      \"css\": \"beaker-check\",\n      \"code\": 987691,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 880.9L625 755.9 673.8 709 740.2 775.4 888.7 625 937.5 683.6ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q724.6 500 667 533.2T575.2 624 541 750 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 375V416H416V375H291ZM291 459V500H416V459H291ZM416 666V625H291V666H416ZM500 584V541H291V584H500ZM500 334V291H291V334H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-check\"\n      ]\n    },\n    {\n      \"uid\": \"a40bd6158893d7d12fd2cb26195e227b\",\n      \"css\": \"beaker-check-outline\",\n      \"code\": 987692,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M740.2 880.9L625 755.9 673.8 709 740.2 775.4 888.7 625 937.5 683.6ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q748 500 709 513.7V209H291V291H500V334H291V375H416V416H291V459H416V500H291V541H500V584H291V625H416V666H291V791H544.9Q552.7 835.9 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"38c06fed75b40aa78057ce510d67606c\",\n      \"css\": \"beaker-minus\",\n      \"code\": 987693,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q724.6 500 667 533.2T575.2 624 541 750 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 375V416H416V375H291ZM291 459V500H416V459H291ZM416 666V625H291V666H416ZM500 584V541H291V584H500ZM500 334V291H291V334H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-minus\"\n      ]\n    },\n    {\n      \"uid\": \"86eceb24f6bf94778a181de3daf90e1f\",\n      \"css\": \"beaker-minus-outline\",\n      \"code\": 987694,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V625H709V209H291V291H500V334H291V375H416V416H291V459H416V500H291V541H500V584H291V625H416V666H291V791H544.9Q552.7 835.9 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"50eaf1929f72fea3c9914a9deaa55717\",\n      \"css\": \"beaker-plus\",\n      \"code\": 987695,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q724.6 500 667 533.2T575.2 624 541 750 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 375V416H416V375H291ZM291 459V500H416V459H291ZM416 666V625H291V666H416ZM500 584V541H291V584H500ZM500 334V291H291V334H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-plus\"\n      ]\n    },\n    {\n      \"uid\": \"add4872dc1615fba0249921955aa7904\",\n      \"css\": \"beaker-plus-outline\",\n      \"code\": 987696,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q748 500 709 513.7V209H291V291H500V334H291V375H416V416H291V459H416V500H291V541H500V584H291V625H416V666H291V791H544.9Q552.7 835.9 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ffd13d685c4227d3b37fb666747aee96\",\n      \"css\": \"beaker-question\",\n      \"code\": 987697,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 125H750V209Q714.8 209 690.4 233.4T666 291V791Q666 826.2 641.6 850.6T584 875H166Q132.8 875 108.4 850.6T84 791V291Q84 257.8 59.6 233.4T0 209V125ZM166 375V416H291V375H166ZM166 459V500H291V459H166ZM291 666V625H166V666H291ZM375 584V541H166V584H375ZM375 334V291H166V334H375ZM896.5 646.5V709H834V646.5H896.5ZM812.5 437.5H750V416Q750 365.2 786.1 328.1T875 291 963.9 328.1 1000 416Q1000 447.3 985.4 473.6T945.3 517.6L933.6 525.4Q896.5 550.8 896.5 595.7V603.5H834V595.7Q834 558.6 851.6 526.4T900.4 472.7L912.1 464.8Q937.5 447.3 937.5 416 937.5 390.6 918.9 372.1T875 353.5 831.1 372.1 812.5 416V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-question\"\n      ]\n    },\n    {\n      \"uid\": \"597574da490f3344ad6a918d282a458e\",\n      \"css\": \"beaker-question-outline\",\n      \"code\": 987698,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 125H750V209Q714.8 209 690.4 233.4T666 291V791Q666 826.2 641.6 850.6T584 875H166Q132.8 875 108.4 850.6T84 791V291Q84 257.8 59.6 233.4T0 209V125ZM166 209V291H375V334H166V375H291V416H166V459H291V500H166V541H375V584H166V625H291V666H166V791H584V209H166ZM896.5 646.5V709H834V646.5H896.5ZM812.5 437.5H750V416Q750 365.2 786.1 328.1T875 291 963.9 328.1 1000 416Q1000 447.3 985.4 473.6T945.3 517.6L933.6 525.4Q896.5 550.8 896.5 595.7V603.5H834V595.7Q834 558.6 851.6 526.4T900.4 472.7L912.1 464.8Q937.5 447.3 937.5 416 937.5 390.6 918.9 372.1T875 353.5 831.1 372.1 812.5 416V437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-question-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b41bebf0edad617f0652b52e8b71c131\",\n      \"css\": \"beaker-remove\",\n      \"code\": 987699,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q724.6 500 667 533.2T575.2 624 541 750 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125ZM291 375V416H416V375H291ZM291 459V500H416V459H291ZM416 666V625H291V666H416ZM500 584V541H291V584H500ZM500 334V291H291V334H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-remove\"\n      ]\n    },\n    {\n      \"uid\": \"c2d1f02d833598abe2cd4a3b7809203f\",\n      \"css\": \"beaker-remove-outline\",\n      \"code\": 987700,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM125 125H875V209Q839.8 209 815.4 233.4T791 291V500Q748 500 709 513.7V209H291V291H500V334H291V375H416V416H291V459H416V500H291V541H500V584H291V625H416V666H291V791H544.9Q552.7 835.9 574.2 875H291Q257.8 875 233.4 850.6T209 791V291Q209 257.8 184.6 233.4T125 209V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beaker-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"240bd6d870deea67bfa19679651af020\",\n      \"css\": \"bicycle-basket\",\n      \"code\": 987701,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M488.3 556.6L589.8 320.3 544.9 228.5H437.5V166H584L613.3 228.5H906.3L865.2 375H685.5L712.9 431.6Q750 416 791 416 847.7 416 895.5 444.3T971.7 520.5 1000 625 971.7 729.5 895.5 805.7 791 834 686.5 805.7 611.3 729.5 584 625Q584 578.1 603.5 536.1T658.2 464.8L625 396.5 509.8 666H412.1Q398.4 738.3 340.8 786.1T209 834Q152.3 834 104.5 805.7T28.3 729.5 0 625 28.3 520.5 104.5 444.3 209 416Q289.1 416 348.6 470.7T416 603.5H441.4L345.7 375H312.5Q298.8 375 290 366.2T281.3 343.8 290 321.3 312.5 312.5H427.7Q439.5 312.5 449.2 321.3T459 343.8 449.2 366.2 427.7 375H416ZM209 478.5Q148.4 478.5 105.5 521.5T62.5 625 105.5 728.5 209 771.5Q257.8 771.5 295.9 742.2T347.7 666H166V603.5H353.5Q345.7 550.8 304.7 514.6T209 478.5ZM791 478.5Q765.6 478.5 740.2 488.3L820.3 654.3 763.7 681.6 687.5 523.4Q646.5 564.5 646.5 625T688.5 728.5 791 771.5 894.5 728.5 937.5 625 894.5 521.5 791 478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bicycle-basket\"\n      ]\n    },\n    {\n      \"uid\": \"d9e171dec5d5732a3071f173115b96af\",\n      \"css\": \"barcode-off\",\n      \"code\": 987702,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L666 746.1V750H584V662.1L500 578.1V750H459V537.1L416 496.1V750H291V371.1L250 328.1V750H209V287.1L46.9 125 99.6 72.3 584 556.6V556.6L709 681.6V681.6L777.3 750V750L921.9 894.5ZM666 250H584V449.2L666 533.2V250ZM500 250H459V324.2L500 367.2V250ZM834 250H709V574.2L834 699.2V250ZM916 750V250H875V742.2L882.8 750H916ZM416 250H382.8L416 283.2V250ZM84 750H166V250H84V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"barcode-off\"\n      ]\n    },\n    {\n      \"uid\": \"373b6c34f80bffc869e981f62635306f\",\n      \"css\": \"digital-ocean\",\n      \"code\": 987703,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 500H84Q84 386.7 139.6 291T291 139.6 500 84 709 139.6 860.4 291 916 500 860.4 709 709 860.4 500 916V750H334V584H500V750Q568.4 750 626 716.8T716.8 626 750 500 716.8 374 626 283.2 500 250 374 283.2 283.2 374 250 500ZM334 750V875H209V750H334ZM125 666H209V750H125V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"digital-ocean\"\n      ]\n    },\n    {\n      \"uid\": \"e272f687c690e63bf521980e84526a58\",\n      \"css\": \"exclamation-thick\",\n      \"code\": 987704,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 125H584V584H416V125ZM416 875V709H584V875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"exclamation-thick\"\n      ]\n    },\n    {\n      \"uid\": \"2713f48bda360583ae3c122e8e360d27\",\n      \"css\": \"desk\",\n      \"code\": 987705,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 250H875Q892.6 250 904.3 262.7T916 292 904.3 321.3 875 334V791H791V709H625V791H541V334H209V791H125V334Q107.4 334 95.7 321.3T84 292 95.7 262.7 125 250ZM666 437.5V459H750V437.5Q750 429.7 744.1 422.9T728.5 416H687.5Q679.7 416 672.9 422.9T666 437.5ZM666 603.5V625H750V603.5Q750 595.7 744.1 589.8T728.5 584H687.5Q679.7 584 672.9 589.8T666 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"desk\"\n      ]\n    },\n    {\n      \"uid\": \"1650731b149afa3e2a57e7cc3536832e\",\n      \"css\": \"flask-empty-minus\",\n      \"code\": 987706,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q648.4 529.3 594.7 596.7T541 750Q541 845.7 605.5 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-minus\"\n      ]\n    },\n    {\n      \"uid\": \"fe130f05adbe4df5744a0cce333e99f3\",\n      \"css\": \"flask-empty-minus-outline\",\n      \"code\": 987707,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM209 791Q209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q687.5 517.6 654.3 541L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a3b33697039bad597b5a89b5f2a15349\",\n      \"css\": \"flask-empty-plus\",\n      \"code\": 987708,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q648.4 529.3 594.7 596.7T541 750Q541 845.7 605.5 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-plus\"\n      ]\n    },\n    {\n      \"uid\": \"42004cb8f9cf6efc7df7af0bf87fce51\",\n      \"css\": \"flask-empty-plus-outline\",\n      \"code\": 987709,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM209 791Q209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q687.5 517.6 654.3 541L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c8958b98633598c6af53c97fa5708c0f\",\n      \"css\": \"flask-empty-remove\",\n      \"code\": 987710,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q648.4 529.3 594.7 596.7T541 750Q541 845.7 605.5 916H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-remove\"\n      ]\n    },\n    {\n      \"uid\": \"ab93092d07902d909d0132aad153060d\",\n      \"css\": \"flask-empty-remove-outline\",\n      \"code\": 987711,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM209 791Q209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q687.5 517.6 654.3 541L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d145536cd3cbe307dfb5cedcd7442f73\",\n      \"css\": \"flask-minus\",\n      \"code\": 987712,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q666 523.4 618.2 569.3T552.7 677.7L373 498 216.8 767.6Q209 779.3 209 791 209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250ZM541 416Q525.4 416 512.7 428.7T500 458 512.7 487.3 542 500 571.3 487.3 584 458 571.3 428.7 541 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-minus\"\n      ]\n    },\n    {\n      \"uid\": \"330570d31f206a30877770a364d1c899\",\n      \"css\": \"flask-minus-outline\",\n      \"code\": 987713,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM209 791Q209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q687.5 517.6 654.3 541L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791ZM541 666L566.4 642.6Q541 693.4 541 750H322.3L433.6 558.6ZM521.5 500Q529.3 500 535.2 505.9T541 520.5 535.2 535.2 520.5 541 505.9 535.2 500 520.5 505.9 505.9 521.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"625b55aa827abd132d4732758420f208\",\n      \"css\": \"flask-plus\",\n      \"code\": 987714,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q666 523.4 618.2 569.3T552.7 677.7L373 498 216.8 767.6Q209 779.3 209 791 209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250ZM541 416Q525.4 416 512.7 428.7T500 458 512.7 487.3 542 500 571.3 487.3 584 458 571.3 428.7 541 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-plus\"\n      ]\n    },\n    {\n      \"uid\": \"477dc91c7ff0caa837ccf69087f1bb10\",\n      \"css\": \"flask-plus-outline\",\n      \"code\": 987715,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM209 791Q209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q687.5 517.6 654.3 541L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791ZM541 666L566.4 642.6Q541 693.4 541 750H322.3L433.6 558.6ZM521.5 500Q529.3 500 535.2 505.9T541 520.5 535.2 535.2 520.5 541 505.9 535.2 500 520.5 505.9 505.9 521.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"34a3c44cfbe1eb95df45e713de91c2ed\",\n      \"css\": \"flask-remove\",\n      \"code\": 987716,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM250 916Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q666 523.4 618.2 569.3T552.7 677.7L373 498 216.8 767.6Q209 779.3 209 791 209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250ZM541 416Q525.4 416 512.7 428.7T500 458 512.7 487.3 542 500 571.3 487.3 584 458 571.3 428.7 541 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-remove\"\n      ]\n    },\n    {\n      \"uid\": \"aba598fdb5149d48dae0249651006a3a\",\n      \"css\": \"flask-remove-outline\",\n      \"code\": 987717,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 896.5 644.5 837.9 732.4 750ZM209 791Q209 808.6 220.7 821.3T250 834H556.6Q572.3 880.9 605.5 916H250Q197.3 916 161.1 879.9T125 791Q125 753.9 146.5 722.7L375 326.2V250Q357.4 250 345.7 237.3T334 209V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 224.6 654.3 237.3T625 250V326.2L728.5 507.8Q687.5 517.6 654.3 541L541 347.7V166H459V347.7L216.8 767.6Q209 779.3 209 791ZM541 666L566.4 642.6Q541 693.4 541 750H322.3L433.6 558.6ZM521.5 500Q529.3 500 535.2 505.9T541 520.5 535.2 535.2 520.5 541 505.9 535.2 500 520.5 505.9 505.9 521.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2eff158b24e5df363761f7fc54658015\",\n      \"css\": \"folder-move-outline\",\n      \"code\": 987718,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750H166V334H834V750ZM500 250L416 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500ZM459 584V500H625V375L791 541 625 709V584H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-move-outline\"\n      ]\n    },\n    {\n      \"uid\": \"25b10af23d0fd0a5ef871b16f01c4cf0\",\n      \"css\": \"home-remove\",\n      \"code\": 987719,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM648.4 671.9L587.9 730.5 500 642.6 412.1 730.5 353.5 671.9 441.4 584 353.5 494.1 412.1 435.5 500 525.4 587.9 435.5 648.4 494.1 558.6 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-remove\"\n      ]\n    },\n    {\n      \"uid\": \"48102b77ee7278bf8fd0ff054cf6dbd2\",\n      \"css\": \"webrtc\",\n      \"code\": 987720,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q576.2 84 633.8 131.8T705.1 252L740.2 250Q796.9 250 844.7 278.3T919.9 354.5 947.3 459 918 564.5 839.8 640.6Q865.2 687.5 865.2 742.2T836.9 844.7 760.7 919.9 656.3 947.3Q611.3 947.3 570.3 928.7T500 877Q470.7 910.2 429.7 928.7T343.8 947.3Q287.1 947.3 239.3 919.9T163.1 844.7 134.8 740.2Q134.8 687.5 160.2 640.6 111.3 613.3 82 564.5T52.7 459 80.1 354.5 155.3 278.3 259.8 250L294.9 252Q308.6 179.7 366.2 131.8T500 84ZM281.3 843.8L568.4 709H709Q724.6 709 737.3 696.3T750 666V375Q750 357.4 737.3 345.7T709 334H291Q275.4 334 262.7 345.7T250 375V666Q250 683.6 262.7 696.3T291 709H324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"webrtc\"\n      ]\n    },\n    {\n      \"uid\": \"742eb14d900f4b17a30ced3f9e5f8421\",\n      \"css\": \"seat-passenger\",\n      \"code\": 987721,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 791H625V875H375Q318.4 875 270.5 846.7T194.3 770.5 166 666V291H250V666Q250 718.8 286.1 754.9T375 791ZM433.6 224.6Q459 201.2 459 167T434.6 108.4 375 84 315.4 108.4 291 167 315.4 225.6 375 250 433.6 224.6ZM478.5 375Q478.5 339.8 454.1 315.4T396.5 291H375Q339.8 291 315.4 315.4T291 375V625Q291 677.7 328.1 713.9T416 750H627L773.4 896.5 834 835.9 623 625H478.5V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seat-passenger\"\n      ]\n    },\n    {\n      \"uid\": \"5ebdf7ce6958551340d39c5fe6e767c7\",\n      \"css\": \"web-clock\",\n      \"code\": 987722,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 521.5V687.5L750 771.5 781.3 718.8 687.5 656.3V521.5H625ZM916 515.6V515.6 500Q916 386.7 860.4 291T709 139.6 500 84 291 139.6 139.6 291 84 500 139.6 709 291 860.4 500 916H515.6Q585.9 959 666 959T812.5 918.9 918.9 812.5 959 666 916 515.6ZM824.2 421.9Q822.3 419.9 820.3 419.9L816.4 416H822.3ZM789.1 334H666Q644.5 253.9 607.4 185.5 666 205.1 711.9 243.2T789.1 334ZM500 168Q554.7 248 580.1 334H419.9Q445.3 248 500 168ZM402.3 416H517.6Q435.5 464.8 398.4 550.8 396.5 521.5 396.5 500 396.5 460.9 402.3 416ZM392.6 185.5Q357.4 250 334 334H210.9Q242.2 281.3 288.1 243.2T392.6 185.5ZM177.7 584Q166 539.1 166 500T177.7 416H318.4Q312.5 464.8 312.5 500T318.4 584H177.7ZM210.9 666H334Q357.4 750 392.6 814.5 334 794.9 288.1 756.8T210.9 666ZM666 875Q609.4 875 561.5 846.7T486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459 770.5 486.3 846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"web-clock\"\n      ]\n    },\n    {\n      \"uid\": \"ac7275d2ae5f2389ee810022ade706fa\",\n      \"css\": \"flask-round-bottom\",\n      \"code\": 987723,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q791 705.1 752 771.5T646.5 877 500 916 353.5 877 248 771.5 209 625Q209 539.1 254.9 467.8T375 361.3V209Q375 191.4 387.7 178.7T416 166H437.5L396.5 84H603.5L562.5 166H584Q599.6 166 612.3 178.7T625 209V361.3Q699.2 396.5 745.1 467.8T791 625ZM459 250V419.9Q386.7 435.5 338.9 493.2T291 625L294.9 662.1 375 580.1 544.9 750 705.1 589.8Q695.3 525.4 649.4 479.5T541 419.9V250H459ZM544.9 500Q562.5 500 574.2 512.7T585.9 542 574.2 571.3 544.9 584 514.6 571.3 502 541 514.6 511.7 544.9 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-round-bottom\"\n      ]\n    },\n    {\n      \"uid\": \"52c72d9b6d6f7f663fe292aef87e1cc4\",\n      \"css\": \"flask-round-bottom-empty\",\n      \"code\": 987724,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q791 705.1 752 771.5T646.5 877 500 916 353.5 877 248 771.5 209 625Q209 539.1 254.9 467.8T375 361.3V209Q375 191.4 387.7 178.7T416 166H437.5L396.5 84H603.5L562.5 166H584Q599.6 166 612.3 178.7T625 209V361.3Q699.2 396.5 745.1 467.8T791 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-round-bottom-empty\"\n      ]\n    },\n    {\n      \"uid\": \"97304d7441363e78f8b965fd2a0477f2\",\n      \"css\": \"flask-round-bottom-empty-outline\",\n      \"code\": 987725,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625Q791 705.1 752 771.5T646.5 877 500 916 353.5 877 248 771.5 209 625Q209 539.1 254.9 467.8T375 361.3V209Q375 191.4 387.7 178.7T416 166H437.5L396.5 84H603.5L562.5 166H584Q599.6 166 612.3 178.7T625 209V361.3Q699.2 396.5 745.1 467.8T791 625ZM459 250V419.9Q386.7 435.5 338.9 493.2T291 625Q291 681.6 319.3 729.5T395.5 805.7 500 834 604.5 805.7 680.7 729.5 709 625Q709 550.8 661.1 493.2T541 419.9V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-round-bottom-empty-outline\"\n      ]\n    },\n    {\n      \"uid\": \"16c40de7a4005865187638fd1cf087fb\",\n      \"css\": \"flask-round-bottom-outline\",\n      \"code\": 987726,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625Q625 677.7 588.9 713.9T500 750 411.1 713.9 375 625V584H459V625Q459 642.6 470.7 654.3T500 666 529.3 654.3 541 625V584H625V625ZM791 625Q791 705.1 752 771.5T646.5 877 500 916 353.5 877 248 771.5 209 625Q209 539.1 254.9 467.8T375 361.3V209Q375 191.4 387.7 178.7T416 166H437.5L396.5 84H603.5L562.5 166H584Q599.6 166 612.3 178.7T625 209V361.3Q699.2 396.5 745.1 467.8T791 625ZM459 250V419.9Q386.7 435.5 338.9 493.2T291 625Q291 681.6 319.3 729.5T395.5 805.7 500 834 604.5 805.7 680.7 729.5 709 625Q709 550.8 661.1 493.2T541 419.9V250H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-round-bottom-outline\"\n      ]\n    },\n    {\n      \"uid\": \"aa9aabe93f2ea8163cc73e58606e454f\",\n      \"css\": \"gold\",\n      \"code\": 987727,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 916L103.5 709H396.5L459 916H41ZM541 916L603.5 709H896.5L959 916H541ZM250 625L312.5 416H603.5L666 625H250ZM959 252L796.9 296.9 752 459 707 296.9 544.9 252 707 207 752 44.9 796.9 207Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gold\"\n      ]\n    },\n    {\n      \"uid\": \"ff7a379aee7d32b10d28ce9fea9d921b\",\n      \"css\": \"microsoft-edge-legacy\",\n      \"code\": 987728,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M113.3 451.2Q127 304.7 216.8 207 298.8 119.1 418.9 92.8T648.4 109.4Q765.6 156.3 828.1 265.6 898.4 388.7 882.8 564.5H359.4Q359.4 652.3 427.7 700.2T602.5 743.2 814.5 679.7V855.5Q716.8 906.3 610.4 915T412.1 887.7 265.6 777.3Q209 697.3 209 585.9 209 484.4 261.7 406.3 300.8 349.6 361.3 312.5 392.6 293 416 283.2V283.2L400.4 304.7Q382.8 332 371.1 357.4 357.4 392.6 355.5 418H654.3Q654.3 314.5 587.9 267.6 529.3 226.6 433.6 242.2 341.8 255.9 252 313.5T113.3 451.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-edge-legacy\"\n      ]\n    },\n    {\n      \"uid\": \"8c273db97189c890f9a715203b5c4f3c\",\n      \"css\": \"home-lightbulb\",\n      \"code\": 987729,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125L84 500H209V834H791V500H916ZM541 750H459V709H541V750ZM562.5 607.4V666H437.5V607.4Q400.4 585.9 384.8 546.9T379.9 466.8 423.8 400.4 500 375 576.2 400.4 620.1 466.8 615.2 546.9 562.5 607.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-lightbulb\"\n      ]\n    },\n    {\n      \"uid\": \"bbfac34f2538aed85ca978791940a99e\",\n      \"css\": \"home-lightbulb-outline\",\n      \"code\": 987730,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L84 500H166V875H834V500H916ZM500 209L750 459V791H250V459ZM562.5 607.4V666H437.5V607.4Q392.6 582 378.9 532.2T391.6 437.5 467.8 378.9 562.5 390.6 621.1 466.8 607.4 562.5Q591.8 591.8 562.5 607.4ZM541 709H459V750H541V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-lightbulb-outline\"\n      ]\n    },\n    {\n      \"uid\": \"148175adc005d805ad6190544a825b3b\",\n      \"css\": \"lightbulb-group\",\n      \"code\": 987731,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 584V666Q625 683.6 613.3 696.3T584 709H416Q398.4 709 386.7 696.3T375 666V584Q320.3 543 300.8 478.5T302.7 350.6 378.9 248 500 209 621.1 248 697.3 350.6 699.2 478.5 625 584ZM584 750H416V791Q416 808.6 428.7 821.3T459 834H541Q558.6 834 571.3 821.3T584 791V750ZM291 791V750H209V791Q209 808.6 220.7 821.3T250 834H298.8Q291 812.5 291 791ZM209 416Q207 351.6 236.3 291 181.6 296.9 140.6 332T87.9 420.9 97.7 524.4 166 601.6V666Q166 683.6 178.7 696.3T209 709H291V619.1Q252 580.1 230.5 527.3T209 416ZM709 750V791Q709 812.5 701.2 834H750Q767.6 834 779.3 821.3T791 791V750H709ZM763.7 291Q793 351.6 791 416 791 474.6 769.5 527.3T709 619.1V709H791Q808.6 709 821.3 696.3T834 666V601.6Q880.9 574.2 902.3 524.4T912.1 420.9 859.4 332 763.7 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-group\"\n      ]\n    },\n    {\n      \"uid\": \"6602f4a815a91c438a042522a9bb1e1e\",\n      \"css\": \"lightbulb-group-outline\",\n      \"code\": 987732,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 791Q291 812.5 298.8 834H250Q232.4 834 220.7 821.3T209 791V750H291V791ZM416 791Q416 808.6 428.7 821.3T459 834H541Q558.6 834 571.3 821.3T584 791V750H416V791ZM166 666Q166 683.6 178.7 696.3T209 709H291V619.1Q252 580.1 230.5 527.3T209 416Q207 351.6 236.3 291 181.6 296.9 140.6 332T87.9 420.9 97.7 524.4 166 601.6V666ZM709 791Q709 812.5 701.2 834H750Q767.6 834 779.3 821.3T791 791V750H709V791ZM709 416Q709 466.8 686.5 510.7T625 584V666Q625 683.6 613.3 696.3T584 709H416Q398.4 709 386.7 696.3T375 666V584Q316.4 539.1 297.9 467.8T310.5 330.1 407.2 230.5 543.9 212.9 662.1 286.1 709 416ZM625 416Q625 369.1 593.8 333T514.6 292 427.7 314.5 377.9 388.7 390.6 476.6 459 533.2V625H541V533.2Q578.1 521.5 601.6 489.3T625 416ZM763.7 291Q793 351.6 791 416 791 474.6 769.5 527.3T709 619.1V709H791Q808.6 709 821.3 696.3T834 666V601.6Q880.9 574.2 902.3 524.4T912.1 420.9 859.4 332 763.7 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-group-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c83a750917612565286bf8b309ded0c4\",\n      \"css\": \"lightbulb-multiple\",\n      \"code\": 987733,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 666V750Q709 767.6 696.3 779.3T666 791H500Q482.4 791 470.7 779.3T459 750V666Q412.1 632.8 390.6 582T376 475.6 416 375Q468.8 306.6 553.7 293.9T709 334Q753.9 367.2 775.4 418T790 524.4 750 625Q730.5 648.4 709 666ZM666 834H500V875Q500 892.6 511.7 904.3T541 916H625Q642.6 916 654.3 904.3T666 875V834ZM318.4 625H291V666Q291 683.6 302.7 696.3T334 709H375V703.1Q341.8 669.9 318.4 625ZM566.4 209Q543 156.3 498 124T398.4 85.9 292 102.5 208 169.9 168.9 269.5 184.6 376 250 459V541Q250 558.6 261.7 571.3T291 584H302.7Q289.1 541 291 500 291 423.8 327.1 358.4T426.8 252.9 566.4 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"0ea843dc39259da014a04f4f207a538a\",\n      \"css\": \"lightbulb-multiple-outline\",\n      \"code\": 987734,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 875Q500 892.6 512.7 904.3T541 916H625Q642.6 916 654.3 904.3T666 875V834H500V875ZM584 291Q527.3 291 479.5 319.3T403.3 395.5 375 500Q375 548.8 397.5 592.8T459 666V750Q459 767.6 470.7 779.3T500 791H666Q683.6 791 696.3 779.3T709 750V666Q753.9 632.8 775.4 582T790 475.6 750 375Q720.7 335.9 676.8 313.5T584 291ZM625 617.2V709H541V617.2Q492.2 599.6 469.7 552.7T464.8 458 529.3 387.7 625 381.8 696.3 445.3 701.2 541Q681.6 595.7 625 617.2ZM320.3 625H291V666Q291 683.6 303.7 696.3T334 709H375V703.1Q339.8 666 320.3 625ZM566.4 209Q544.9 156.3 500 124T399.4 85.9 291 101.6Q212.9 136.7 181.6 216.8T185.5 377Q207 425.8 250 459V541Q250 558.6 262.7 571.3T291 584H304.7Q291 543 291 500 291 423.8 328.1 358.4T427.7 252.9 566.4 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f902a3452d0392743a8a562f38c6e1c3\",\n      \"css\": \"api-off\",\n      \"code\": 987735,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 459H209V375H291V459ZM584 291H474.6L554.7 375H584V406.3L662.1 488.3Q666 474.6 666 459V375Q666 339.8 641.6 315.4T584 291ZM185.5 109.4L125 166 244.1 291H209Q173.8 291 149.4 315.4T125 375V709H209V541H291V709H375V429.7L416 472.7V709H500V560.5L814.5 890.6 875 834ZM871.1 709H875V625H834V375H875V291H709V375H750V582Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"api-off\"\n      ]\n    },\n    {\n      \"uid\": \"619cfea54fbf94922e0a19d9990c6036\",\n      \"css\": \"allergy\",\n      \"code\": 987736,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M822.3 222.7Q800.8 222.7 786.1 237.3T771.5 273.4V464.8H736.3V169.9Q736.3 148.4 720.7 132.8T683.6 117.2 647.5 132.8 632.8 169.9V464.8H597.7V134.8Q597.7 105.5 571.3 90.8T518.6 90.8 492.2 134.8V464.8H459V222.7Q459 201.2 443.4 185.5T406.3 169.9 369.1 185.5 353.5 222.7V636.7L205.1 552.7Q195.3 546.9 183.6 546.9 168 546.9 156.3 556.6L111.3 599.6 382.8 875Q423.8 916 482.4 916H736.3Q793 916 834 876T875 777.3V273.4Q875 252 859.4 237.3T822.3 222.7ZM459 625Q441.4 625 428.7 613.3T416 584 428.7 553.7 459 541 488.3 553.7 500 584 488.3 613.3 459 625ZM541 750Q523.4 750 511.7 738.3T500 709 511.7 678.7 541 666 571.3 678.7 584 709 571.3 738.3 541 750ZM750 666Q732.4 666 720.7 654.3T709 625 720.7 595.7 750 584 779.3 595.7 791 625 779.3 654.3 750 666ZM709 791Q691.4 791 678.7 779.3T666 750 678.7 720.7 709 709 738.3 720.7 750 750 738.3 779.3 709 791ZM625 625Q607.4 625 595.7 613.3T584 584 595.7 553.7 625 541 654.3 553.7 666 584 654.3 613.3 625 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"allergy\"\n      ]\n    },\n    {\n      \"uid\": \"c9e0820bf0484c59c31484c712b43ecd\",\n      \"css\": \"archive-arrow-down\",\n      \"code\": 987737,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H875V291H125V125ZM166 875V334H834V875H166ZM584 584V459H416V584H291L500 791 709 584H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"archive-arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"75c2da5212efa146aa3897d6cc846e30\",\n      \"css\": \"archive-arrow-down-outline\",\n      \"code\": 987738,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 875H166V416H250V791H750V416H834V875ZM125 125H875V375H125V125ZM209 209V291H791V209H209ZM437.5 459V584H334L500 750 666 584H562.5V459H437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"archive-arrow-down-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b127534ba1ed3854a33d8d57d244a4e7\",\n      \"css\": \"archive-arrow-up\",\n      \"code\": 987739,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 875H834V334H166V875ZM584 625V750H416V625H291L500 416 709 625H584ZM125 125H875V291H125V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"archive-arrow-up\"\n      ]\n    },\n    {\n      \"uid\": \"22207557487b47b5d66ce79c41fc5cd9\",\n      \"css\": \"archive-arrow-up-outline\",\n      \"code\": 987740,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 875H166V416H250V791H750V416H834V875ZM125 125H875V375H125V125ZM209 209V291H791V209H209ZM437.5 709V584H334L500 416 666 584H562.5V709H437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"archive-arrow-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b0df3d32868c9accc8eed190ecef1772\",\n      \"css\": \"battery-off\",\n      \"code\": 987741,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 617.2L300.8 166H375V84H625V166H695.3Q716.8 166 733.4 182.6T750 222.7V617.2ZM750 722.7L140.6 113.3 87.9 166 250 328.1V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V828.1L869.1 947.3 921.9 894.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-off\"\n      ]\n    },\n    {\n      \"uid\": \"fe6c49b871914f268693c18a344f088e\",\n      \"css\": \"battery-off-outline\",\n      \"code\": 987742,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 722.7L140.6 113.3 87.9 166 250 328.1V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V828.1L869.1 947.3 921.9 894.5ZM666 834H334V412.1L666 746.1V834ZM666 250V533.2L750 617.2V222.7Q750 199.2 733.4 182.6T695.3 166H625V84H375V166H300.8L382.8 250H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b1d51dab6d150cfc00b6fce4d2586336\",\n      \"css\": \"bookshelf\",\n      \"code\": 987743,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 125V750H500V125H375ZM500 209L666 750 791 709 625 166ZM209 209V750H334V209H209ZM125 791V875H875V791H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookshelf\"\n      ]\n    },\n    {\n      \"uid\": \"554adbc1e902c9f982e56f9660aa2662\",\n      \"css\": \"cash-minus\",\n      \"code\": 987744,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V709H959V625H625ZM623 484.4Q619.1 441.4 584 408.2T500 375Q447.3 375 411.1 411.1T375 500 411.1 587.9 500 625Q523.4 625 546.9 615.2 556.6 576.2 572.3 548.8 591.8 513.7 623 484.4ZM541 666H291Q291 632.8 266.6 608.4T209 584V416Q242.2 416 266.6 391.6T291 334H709Q709 367.2 733.4 391.6T791 416V419.9Q832 419.9 875 433.6V250H125V750H554.7Q541 709 541 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-minus\"\n      ]\n    },\n    {\n      \"uid\": \"9fb125a6a30987dc368f186854727e22\",\n      \"css\": \"cash-plus\",\n      \"code\": 987745,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 625V709H750V834H834V709H959V625H834V500H750V625H625ZM623 484.4Q619.1 441.4 584 408.2T500 375Q447.3 375 411.1 411.1T375 500 411.1 587.9 500 625Q523.4 625 546.9 615.2 556.6 576.2 572.3 548.8 591.8 513.7 623 484.4ZM541 666H291Q291 632.8 266.6 608.4T209 584V416Q242.2 416 266.6 391.6T291 334H709Q709 367.2 733.4 391.6T791 416V419.9Q832 419.9 875 433.6V250H125V750H554.7Q541 709 541 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-plus\"\n      ]\n    },\n    {\n      \"uid\": \"4c4aebfb44f53fc06fafeca34a5fff83\",\n      \"css\": \"cash-remove\",\n      \"code\": 987746,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 755.9L703.1 814.5 791 724.6 880.9 814.5 939.5 755.9 849.6 666 939.5 578.1 880.9 519.5 791 607.4 703.1 519.5 644.5 578.1 732.4 666ZM623 484.4Q621.1 441.4 585 408.2T500 375Q447.3 377 411.1 412.1T375 500 411.1 587.9 500 625Q523.4 625 546.9 615.2 556.6 576.2 572.3 548.8 591.8 513.7 623 484.4ZM541 666H291Q291 632.8 266.6 608.4T209 584V416Q242.2 416 266.6 391.6T291 334H709Q709 367.2 733.4 391.6T791 416V418Q834 419.9 875 433.6V250H125V750H554.7Q541 709 541 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cash-remove\"\n      ]\n    },\n    {\n      \"uid\": \"943861c95fd511b82aa0312449d3f495\",\n      \"css\": \"clipboard-check-multiple\",\n      \"code\": 987747,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291H84V875Q84 910.2 108.4 934.6T166 959H750V875H166V291ZM834 125H699.2Q687.5 87.9 655.3 64.5T583 41 510.7 64.5 466.8 125H334Q298.8 125 274.4 149.4T250 209V709Q250 742.2 274.4 766.6T334 791H834Q867.2 791 891.6 766.6T916 709V209Q916 173.8 891.6 149.4T834 125ZM584 125Q601.6 125 613.3 137.7T625 166 612.3 195.3 584 209 554.7 195.3 541 166 552.7 137.7 584 125ZM511.7 628.9L375 492.2 433.6 433.6 511.7 511.7 732.4 291 791 349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-check-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"ef20cca36bc9210d117105655d8da81d\",\n      \"css\": \"clipboard-check-multiple-outline\",\n      \"code\": 987748,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291V875H750V959H166Q132.8 959 108.4 934.6T84 875V291H166ZM533.2 638.7L396.5 502 455.1 443.4 533.2 523.4 712.9 343.8 771.5 402.3ZM834 125Q867.2 125 891.6 149.4T916 209V709Q916 742.2 891.6 766.6T834 791H334Q298.8 791 274.4 766.6T250 709V209Q250 173.8 274.4 149.4T334 125H466.8Q478.5 87.9 510.7 64.5T583 41 655.3 64.5 701.2 125H834ZM584 125Q566.4 125 553.7 137.7T541 167 553.7 196.3 583 209 612.3 196.3 625 167 612.3 137.7 584 125ZM416 291V209H334V709H834V209H750V291H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-check-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"712b39a0d5f1c436df4b2c9995998bc1\",\n      \"css\": \"clipboard-file\",\n      \"code\": 987749,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V382.8L826.2 334H625Q556.6 334 507.8 382.8T459 500V875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 137.7T459 167 470.7 196.3 500 209 529.3 196.3 541 167 529.3 137.7 500 125ZM625 959Q589.8 959 565.4 934.6T541 875V500Q541 464.8 565.4 440.4T625 416H791L959 584V875Q959 910.2 934.6 934.6T875 959H625ZM875 617.2L757.8 500H750V625H875V617.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-file\"\n      ]\n    },\n    {\n      \"uid\": \"efd965a78fbd54123b4c346973dfd452\",\n      \"css\": \"clipboard-file-outline\",\n      \"code\": 987750,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 959Q589.8 959 565.4 934.6T541 875V500Q541 464.8 565.4 440.4T625 416H791L959 584V875Q959 910.2 934.6 934.6T875 959H625ZM625 875H875V617.2L757.8 500H625V875ZM791 125Q826.2 125 850.6 149.4T875 209V382.8L826.2 334H791V209H709V291H291V209H209V791H459V875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H382.8Q396.5 87.9 428.7 64.5T500 41 571.3 64.5 617.2 125H791ZM500 125Q482.4 125 470.7 137.7T459 167 470.7 196.3 500 209 529.3 196.3 541 167 529.3 137.7 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-file-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d350e284f9e2106e9eb26b4ebc1a2053\",\n      \"css\": \"clipboard-multiple\",\n      \"code\": 987751,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291H84V875Q84 910.2 108.4 934.6T166 959H750V875H166V291ZM834 125H699.2Q687.5 87.9 655.3 64.5T583 41 510.7 64.5 466.8 125H334Q298.8 125 274.4 149.4T250 209V709Q250 742.2 274.4 766.6T334 791H834Q867.2 791 891.6 766.6T916 709V209Q916 173.8 891.6 149.4T834 125ZM584 125Q601.6 125 613.3 137.7T625 166 612.3 195.3 584 209 554.7 195.3 541 166 552.7 137.7 584 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"c9dd75efa3a766abb2b0ef3371bb484b\",\n      \"css\": \"clipboard-multiple-outline\",\n      \"code\": 987752,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291V875H750V959H166Q132.8 959 108.4 934.6T84 875V291H166ZM834 125Q867.2 125 891.6 149.4T916 209V709Q916 742.2 891.6 766.6T834 791H334Q298.8 791 274.4 766.6T250 709V209Q250 173.8 274.4 149.4T334 125H466.8Q478.5 87.9 510.7 64.5T583 41 655.3 64.5 701.2 125H834ZM584 125Q566.4 125 553.7 137.7T541 167 553.7 196.3 583 209 612.3 196.3 625 167 612.3 137.7 584 125ZM416 291V209H334V709H834V209H750V291H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"255f44598f7f74582b435e2f7c52bb31\",\n      \"css\": \"clipboard-play-multiple\",\n      \"code\": 987753,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 875H750V959H166Q132.8 959 108.4 934.6T84 875V291H166V875ZM916 209V709Q916 742.2 891.6 766.6T834 791H334Q298.8 791 274.4 766.6T250 709V209Q250 173.8 274.4 149.4T334 125H466.8Q478.5 87.9 510.7 64.5T583 41 655.3 64.5 699.2 125H834Q867.2 125 891.6 149.4T916 209ZM541 166Q541 181.6 554.7 195.3T584 209 612.3 195.3 625 166 613.3 137.7 583 125 552.7 137.7 541 166ZM709 500L500 334V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-play-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"fcdd9c0431a00a3e8248008a41502492\",\n      \"css\": \"clipboard-play-multiple-outline\",\n      \"code\": 987754,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291V875H750V959H166Q132.8 959 108.4 934.6T84 875V291H166ZM834 125Q867.2 125 891.6 149.4T916 209V709Q916 742.2 891.6 766.6T834 791H334Q298.8 791 274.4 766.6T250 709V209Q250 173.8 274.4 149.4T334 125H466.8Q478.5 87.9 510.7 64.5T583 41 655.3 64.5 699.2 125H834ZM584 125Q564.5 125 552.7 137.7T541 167 552.7 196.3 583 209 613.3 197.3 625 167 613.3 136.7 584 125ZM416 291V209H334V709H834V209H750V291H416ZM500 625V375L709 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-play-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"22be2492fe8b213a0e6ced1c8cd3fed3\",\n      \"css\": \"clipboard-text-multiple\",\n      \"code\": 987755,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 125H699.2Q687.5 87.9 655.3 64.5T583 41 510.7 64.5 466.8 125H334Q298.8 125 274.4 149.4T250 209V709Q250 742.2 274.4 766.6T334 791H834Q867.2 791 891.6 766.6T916 709V209Q916 173.8 891.6 149.4T834 125ZM584 125Q601.6 125 613.3 137.7T625 166 612.3 195.3 584 209 554.7 195.3 541 166 552.7 137.7 584 125ZM666 584H375V500H666V584ZM791 416H375V334H791V416ZM166 875H750V959H166Q132.8 959 108.4 934.6T84 875V291H166V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-text-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"f33b78857ae84704aa6255e2d20c1be2\",\n      \"css\": \"clipboard-text-multiple-outline\",\n      \"code\": 987756,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 291V875H750V959H166Q132.8 959 108.4 934.6T84 875V291H166ZM834 125Q867.2 125 891.6 149.4T916 209V709Q916 742.2 891.6 766.6T834 791H334Q298.8 791 274.4 766.6T250 709V209Q250 173.8 274.4 149.4T334 125H466.8Q478.5 87.9 510.7 64.5T583 41 655.3 64.5 701.2 125H834ZM584 125Q566.4 125 553.7 137.7T541 167 553.7 196.3 583 209 612.3 196.3 625 167 612.3 137.7 584 125ZM416 291V209H334V709H834V209H750V291H416ZM625 625H416V541H625V625ZM750 459H416V375H750V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-text-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"19aa72c0e82816341a553eabf5b9fdfa\",\n      \"css\": \"folder-marker\",\n      \"code\": 987757,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166L500 250H834Q867.2 250 891.6 274.4T916 334V472.7Q853.5 416 771.5 416 709 416 656.3 448.2T572.3 534.2 541 646.5Q541 726.6 603.5 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416ZM771.5 500Q830.1 500 873 543T916 646.5Q916 712.9 843.8 822.3 806.6 877 771.5 916V916L732.4 871.1Q689.5 814.5 662.1 763.7 625 693.4 625 646.5 625 585.9 668 543T771.5 500ZM771.5 699.2Q793 699.2 808.6 683.6T822.3 649.4 804.7 615.2 770.5 599.6 736.3 614.3 720.7 649.4 735.4 684.6 771.5 699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-marker\"\n      ]\n    },\n    {\n      \"uid\": \"5f9a82ce2bc466d3a1c815b181eda3c4\",\n      \"css\": \"folder-marker-outline\",\n      \"code\": 987758,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 500Q830.1 500 873 543T916 646.5Q916 712.9 843.8 822.3 806.6 877 771.5 916V916L732.4 871.1Q689.5 814.5 662.1 763.7 625 693.4 625 646.5 625 585.9 668 543T771.5 500ZM771.5 699.2Q793 699.2 808.6 683.6T822.3 649.4 804.7 615.2 770.5 599.6 736.3 614.3 720.7 649.4 735.4 684.6 771.5 699.2ZM834 334H166V750H562.5Q580.1 791 603.5 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834Q867.2 250 891.6 274.4T916 334V472.7Q878.9 439.5 834 425.8V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-marker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d084636fc2f1f58db1b5446d64b2a06b\",\n      \"css\": \"format-list-text\",\n      \"code\": 987759,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 584H334V834H84V584ZM666 334H416V416H666V334ZM84 416H334V166H84V416ZM416 166V250H916V166H416ZM416 834H666V750H416V834ZM416 666H916V584H416V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-list-text\"\n      ]\n    },\n    {\n      \"uid\": \"2ca20377a60e24d4424d0cb06464f5e6\",\n      \"css\": \"inbox-arrow-down-outline\",\n      \"code\": 987760,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM209 791V709H337.9Q353.5 757.8 392.6 791H209ZM791 791H607.4Q646.5 757.8 662.1 709H791V791ZM791 625H584V666Q584 701.2 559.6 725.6T500 750 440.4 725.6 416 666V625H209V209H791V625ZM666 416H584V291H416V416H334L500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-arrow-down-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7d78dfbcefeb65d1211a25702c1df4a8\",\n      \"css\": \"inbox-arrow-up-outline\",\n      \"code\": 987761,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM209 791V709H337.9Q353.5 757.8 392.6 791H209ZM791 791H607.4Q646.5 757.8 662.1 709H791V791ZM791 625H584V666Q584 701.2 559.6 725.6T500 750 440.4 725.6 416 666V625H209V209H791V625ZM334 459H416V584H584V459H666L500 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-arrow-up-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9bb6a81576b7b51b53fb7bc9521cef50\",\n      \"css\": \"inbox-full\",\n      \"code\": 987762,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V209H209V625H375Q375 677.7 411.1 713.9T500 750 588.9 713.9 625 625H791ZM791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM291 541V459H709V541H291ZM291 375V291H709V375H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-full\"\n      ]\n    },\n    {\n      \"uid\": \"e4a49f0a97dce0e56791fa573f607491\",\n      \"css\": \"inbox-full-outline\",\n      \"code\": 987763,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H791ZM209 791H392.6Q353.5 757.8 337.9 709H209V791ZM791 791V709H662.1Q646.5 757.8 607.4 791H791ZM791 625V209H209V625H416V666Q416 707 441.4 728.5T500 750 558.6 728.5 584 666V625H791ZM291 291H709V375H291V291ZM709 459V541H291V459H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-full-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7feae8032593840e501b4bfe98715bd1\",\n      \"css\": \"inbox-outline\",\n      \"code\": 987764,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM209 791V709H337.9Q353.5 757.8 392.6 791H209ZM791 791H607.4Q646.5 757.8 662.1 709H791V791ZM791 625H584V666Q584 701.2 559.6 725.6T500 750 440.4 725.6 416 666V625H209V209H791V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"inbox-outline\"\n      ]\n    },\n    {\n      \"uid\": \"12ea3077d399ecc004e0944c0f83230b\",\n      \"css\": \"lightbulb-cfl-spiral\",\n      \"code\": 987765,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 84Q447.3 84 439.5 87.9L355.5 128.9Q335.9 140.6 333 159.2T342.8 193.4 375 209Q382.8 209 394.5 205.1L476.6 162.1Q496.1 152.3 499 132.8T490.2 98.6 459 84ZM625 166Q615.2 166 605.5 169.9L355.5 294.9Q335.9 306.6 333 326.2T342.8 360.4 375 375Q382.8 375 394.5 371.1L644.5 246.1Q662.1 236.3 665 216.8T656.3 181.6 625 166ZM625 334Q615.2 334 605.5 337.9L363.3 459Q334 472.7 334 500V584H291V709Q291 726.6 303.7 738.3T334 750H666Q683.6 750 696.3 737.3T709 709V584H666V541Q666 523.4 654.3 511.7T625 500 595.7 512.7 584 541V584H416V525.4L644.5 412.1Q662.1 402.3 666 382.8T657.2 348.6 625 334ZM375 834V875Q375 892.6 387.7 904.3T416 916H584Q601.6 916 613.3 904.3T625 875V834H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-cfl-spiral\"\n      ]\n    },\n    {\n      \"uid\": \"a1bb86cb31057dd5a8d7734d8c062771\",\n      \"css\": \"magnify-scan\",\n      \"code\": 987766,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 916V834H834V709H916V853.5Q916 878.9 897.5 897.5T853.5 916H709ZM291 916H146.5Q121.1 916 102.5 897.5T84 853.5V709H166V834H291V916ZM709 84H853.5Q878.9 84 897.5 102.5T916 146.5V291H834V166H709V84ZM291 84V166H166V291H84V146.5Q84 121.1 102.5 102.5T146.5 84H291ZM437.5 250Q515.6 250 570.3 304.7T625 437.5Q625 492.2 595.7 537.1L732.4 673.8 673.8 732.4 537.1 595.7Q492.2 625 437.5 625 359.4 625 304.7 570.3T250 437.5 304.7 304.7 437.5 250ZM437.5 334Q394.5 334 364.3 364.3T334 437.5 364.3 510.7 437.5 541 510.7 510.7 541 437.5 510.7 364.3 437.5 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"magnify-scan\"\n      ]\n    },\n    {\n      \"uid\": \"ba47243bb392c013a33ec2b94c7c2ec1\",\n      \"css\": \"map-marker-multiple-outline\",\n      \"code\": 987767,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 375Q478.5 332 509.8 301.8T584 271.5Q617.2 271.5 644.5 291T681.6 341.8Q687.5 359.4 687.5 375 687.5 418 657.2 448.2T584 478.5Q548.8 478.5 522.5 460T484.4 410.2Q478.5 392.6 478.5 375ZM209 375Q209 490.2 312.5 664.1 369.1 755.9 453.1 861.3L459 867.2 416 916 371.1 863.3Q316.4 794.9 271.5 728.5 207 632.8 169.9 552.7 125 451.2 125 375 125 277.3 183.6 200.2T334 95.7Q275.4 148.4 242.2 220.7T209 375ZM584 84Q662.1 84 729.5 123T835.9 228.5 875 375Q875 511.7 728.5 728.5 656.3 835.9 584 916V916L537.1 863.3Q482.4 794.9 437.5 728.5 373 632.8 337.9 552.7 291 451.2 291 373T331.1 228.5 437.5 123 584 84ZM584 166Q527.3 166 479.5 194.3T403.3 270.5 375 375Q375 408.2 382.8 435.5 396.5 488.3 437.5 560.5 488.3 652.3 584 779.3 677.7 652.3 730.5 560.5 769.5 488.3 783.2 435.5 791 408.2 791 375 791 318.4 763.7 270.5T688.5 194.3 584 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"44960a174921bb6b75bc1ecedd3f314f\",\n      \"css\": \"percent-outline\",\n      \"code\": 987768,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 146.5L853.5 228.5 228.5 853.5 146.5 771.5ZM291 166Q343.8 166 379.9 203.1T416 292 379.9 379.9 292 416 203.1 379.9 166 292 203.1 203.1 291 166ZM709 584Q759.8 584 796.9 620.1T834 708 796.9 796.9 708 834 620.1 796.9 584 708 620.1 620.1 709 584ZM291 250Q275.4 250 262.7 262.7T250 292 262.7 321.3 292 334 321.3 321.3 334 292 321.3 262.7 291 250ZM709 666Q691.4 666 678.7 678.7T666 708 678.7 737.3 708 750 737.3 737.3 750 708 737.3 678.7 709 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"percent-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bfeae942eae544009a2034e6b721615b\",\n      \"css\": \"phone-classic-off\",\n      \"code\": 987769,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q638.7 125 767.6 177.7 890.6 226.6 988.3 320.3 1000 332 1000 349.6T988.3 378.9L884.8 482.4Q873 494.1 855.5 494.1T826.2 482.4Q771.5 433.6 714.8 404.3 705.1 400.4 698.2 389.6T691.4 367.2V238.3Q599.6 209 502 209T312.5 236.3L248 171.9Q369.1 125 500 125ZM375 291H459V375H541V291H625V416L664.1 451.2Q710.9 494.1 750 537.1 804.7 595.7 835.9 644.5 875 707 875 750V798.8L375 298.8V291ZM41 177.7L95.7 125 896.5 925.8 843.8 978.5 781.3 916H125V750Q125 691.4 197.3 597.7 248 533.2 324.2 460.9L275.4 410.2Q218.8 441.4 173.8 482.4 162.1 494.1 144.5 494.1T115.2 482.4L11.7 378.9Q0 367.2 0 349.6T11.7 320.3Q41 291 107.4 244.1V244.1ZM334 666Q334 736.3 382.8 785.2T500 834Q539.1 834 574.2 816.4T632.8 767.6L587.9 722.7Q572.3 746.1 549.8 758.8T500 771.5Q457 771.5 426.8 740.2T396.5 666Q396.5 638.7 409.2 616.2T443.4 580.1L398.4 535.2Q367.2 558.6 350.6 592.8T334 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"phone-classic-off\"\n      ]\n    },\n    {\n      \"uid\": \"69bf29cc69a693b32119ee6a2b2f891f\",\n      \"css\": \"play-box\",\n      \"code\": 987770,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM416 666V334L625 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-box\"\n      ]\n    },\n    {\n      \"uid\": \"ee766e607461af7b3516e574c1d11179\",\n      \"css\": \"poll-box-outline\",\n      \"code\": 987771,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 709H291V416H375V709ZM541 709H459V291H541V709ZM709 709H625V541H709V709ZM812.5 794.9H187.5V209H812.5V794.9ZM812.5 125H187.5Q152.3 125 127.9 149.4T103.5 209V791Q103.5 826.2 127.9 850.6T187.5 875H812.5Q847.7 875 872.1 850.6T896.5 791V209Q896.5 173.8 872.1 149.4T812.5 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"poll-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"25266c45edde4065a0dab4efa3d1ca4c\",\n      \"css\": \"safe-square\",\n      \"code\": 987772,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H791V959H625V916H375V959H209V916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84H834ZM709 500Q709 437.5 675.8 382.8L738.3 320.3 679.7 261.7 617.2 324.2Q562.5 291 500 291T382.8 324.2L324.2 261.7 261.7 324.2 324.2 386.7Q291 433.6 291 498T324.2 617.2L261.7 679.7 324.2 738.3 386.7 675.8Q433.6 709 498 709T617.2 675.8L679.7 738.3 738.3 679.7 675.8 617.2Q709 562.5 709 500ZM500 375Q552.7 375 588.9 411.1T625 500 588.9 588.9 500 625 411.1 588.9 375 500 411.1 411.1 500 375ZM500 584Q535.2 584 559.6 559.6T584 500 559.6 440.4 500 416 440.4 440.4 416 500 440.4 559.6 500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"safe-square\"\n      ]\n    },\n    {\n      \"uid\": \"2601a480602cb1bf2d6c550d0ff20ecb\",\n      \"css\": \"safe-square-outline\",\n      \"code\": 987773,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 500Q416 464.8 440.4 440.4T500 416 559.6 440.4 584 500 559.6 559.6 500 584 440.4 559.6 416 500ZM324.2 738.3L261.7 679.7 324.2 617.2Q291 562.5 291 498T324.2 386.7L261.7 324.2 324.2 261.7 382.8 324.2Q437.5 291 500 291T617.2 324.2L679.7 261.7 738.3 320.3 675.8 382.8Q709 437.5 709 500T675.8 617.2L738.3 679.7 679.7 738.3 617.2 675.8Q562.5 709 498 709T386.7 675.8ZM500 375Q447.3 375 411.1 411.1T375 500 411.1 588.9 500 625 588.9 588.9 625 500 588.9 411.1 500 375ZM834 84Q867.2 84 891.6 108.4T916 166V834Q916 867.2 891.6 891.6T834 916H791V959H625V916H375V959H209V916H166Q132.8 916 108.4 891.6T84 834V166Q84 132.8 108.4 108.4T166 84H834ZM834 834V166H166V834H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"safe-square-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3278ec57deaa0fd815b070feec798d74\",\n      \"css\": \"scoreboard\",\n      \"code\": 987774,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 375H334V625H250V375ZM666 375H750V625H666V375ZM875 125Q910.2 125 934.6 149.4T959 209V791Q959 826.2 934.6 850.6T875 875H125Q89.8 875 65.4 850.6T41 791V209Q41 173.8 65.4 149.4T125 125H875ZM209 291Q189.5 291 177.7 302.7T166 334V666Q166 685.5 177.7 697.3T209 709H375Q394.5 709 405.3 697.3T416 666V334Q416 314.5 405.3 302.7T375 291H209ZM625 291Q605.5 291 594.7 302.7T584 334V666Q584 685.5 594.7 697.3T625 709H791Q810.5 709 822.3 697.3T834 666V334Q834 314.5 822.3 302.7T791 291H625ZM500 459Q519.5 459 530.3 447.3T541 417 530.3 386.7 500 375 469.7 386.7 459 417 469.7 447.3 500 459ZM500 625Q519.5 625 530.3 613.3T541 583 530.3 552.7 500 541 469.7 552.7 459 583 469.7 613.3 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scoreboard\"\n      ]\n    },\n    {\n      \"uid\": \"3aa2ea735b7da29a0637e2cb681cafae\",\n      \"css\": \"scoreboard-outline\",\n      \"code\": 987775,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 125H125Q89.8 125 65.4 149.4T41 209V791Q41 826.2 65.4 850.6T125 875H875Q910.2 875 934.6 850.6T959 791V209Q959 173.8 934.6 149.4T875 125ZM875 791H125V209H875V791ZM209 291H375Q394.5 291 405.3 302.7T416 334V666Q416 685.5 405.3 697.3T375 709H209Q189.5 709 177.7 697.3T166 666V334Q166 314.5 177.7 302.7T209 291ZM250 375V625H334V375H250ZM625 291H791Q810.5 291 822.3 302.7T834 334V666Q834 685.5 822.3 697.3T791 709H625Q605.5 709 594.7 697.3T584 666V334Q584 314.5 594.7 302.7T625 291ZM666 375V625H750V375H666ZM500 459Q519.5 459 530.3 447.3T541 417 530.3 386.7 500 375 469.7 386.7 459 417 469.7 447.3 500 459ZM500 625Q519.5 625 530.3 613.3T541 583 530.3 552.7 500 541 469.7 552.7 459 583 469.7 613.3 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scoreboard-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f0ab6aa81cac08500fcbe43e121e2a79\",\n      \"css\": \"select-marker\",\n      \"code\": 987776,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H209V209H125V166Q125 150.4 137.7 137.7T166 125ZM834 125Q849.6 125 862.3 137.7T875 166V209H791V125H834ZM625 209V125H709V209H625ZM459 209V125H541V209H459ZM291 209V125H375V209H291ZM459 875V791H541V875H459ZM291 875V791H375V875H291ZM166 875Q150.4 875 137.7 862.3T125 834V791H209V875H166ZM125 625H209V709H125V625ZM125 459H209V541H125V459ZM125 291H209V375H125V291ZM875 291V375H791V291H875ZM812.5 541Q871.1 541 915 585T959 687.5Q959 736.3 919.9 806.6 892.6 855.5 849.6 912.1L812.5 959 775.4 912.1Q732.4 855.5 705.1 806.6 666 736.3 666 687.5 666 628.9 710 585T812.5 541ZM812.5 742.2Q834 742.2 849.6 726.6T864.3 692.4 847.7 658.2 812.5 642.6 777.3 656.3 761.7 690.4 776.4 726.6 812.5 742.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-marker\"\n      ]\n    },\n    {\n      \"uid\": \"e84b56c4f1a86aac498e96dd1d61b7bd\",\n      \"css\": \"select-multiple\",\n      \"code\": 987777,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 500H834V584H750V500ZM584 666H666V750H584V666ZM834 709Q834 724.6 821.3 737.3T791 750H750V666H834V709ZM291 166H334V250H250V209Q250 191.4 262.7 178.7T291 166ZM791 166Q808.6 166 821.3 178.7T834 209V250H750V166H791ZM584 250V166H666V250H584ZM416 250V166H500V250H416ZM416 750V666H500V750H416ZM291 750Q275.4 750 262.7 737.3T250 709V666H334V750H291ZM250 500H334V584H250V500ZM250 334H334V416H250V334ZM834 334V416H750V334H834ZM125 334H166V834H666V875Q666 892.6 654.3 904.3T627 916H125Q107.4 916 95.7 904.3T84 875V375Q84 357.4 95.7 345.7T125 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"fbe4a60f297468069f4a1ab184b7b121\",\n      \"css\": \"select-multiple-marker\",\n      \"code\": 987778,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 166H334V250H250V209Q250 191.4 262.7 178.7T291 166ZM791 166Q808.6 166 821.3 178.7T834 209V250H750V166H791ZM584 250V166H666V250H584ZM416 250V166H500V250H416ZM416 750V666H500V750H416ZM291 750Q275.4 750 262.7 737.3T250 709V666H334V750H291ZM250 500H334V584H250V500ZM250 334H334V416H250V334ZM834 334V416H750V334H834ZM125 334H166V834H607.4L668 916H125Q107.4 916 95.7 904.3T84 875V375Q84 357.4 95.7 345.7T125 334ZM771.5 500Q830.1 500 873 543T916 646.5Q916 712.9 843.8 822.3 806.6 877 771.5 916V916L732.4 871.1Q689.5 814.5 662.1 763.7 625 693.4 625 646.5 625 585.9 668 543T771.5 500ZM771.5 699.2Q793 699.2 808.6 683.6T822.3 649.4 804.7 615.2 770.5 599.6 736.3 614.3 720.7 649.4 735.4 684.6 771.5 699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"select-multiple-marker\"\n      ]\n    },\n    {\n      \"uid\": \"7793fcbeb9cb0d19d5431d80a2c116bd\",\n      \"css\": \"selection-marker\",\n      \"code\": 987779,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 166Q84 132.8 108.4 108.4T166 84H291V166H166V291H84V166ZM916 166V291H834V166H709V84H834Q867.2 84 891.6 108.4T916 166ZM84 834V709H166V834H291V916H166Q132.8 916 108.4 891.6T84 834ZM416 84H584V166H416V84ZM416 834H584V916H416V834ZM84 416H166V584H84V416ZM771.5 541Q830.1 541 873 585T916 687.5Q916 736.3 878.9 806.6 851.6 855.5 808.6 912.1L771.5 959 732.4 912.1Q689.5 855.5 662.1 806.6 625 736.3 625 687.5 625 628.9 668 585T771.5 541ZM771.5 742.2Q793 742.2 808.6 726.6T822.3 692.4 804.7 658.2 770.5 642.6 736.3 656.3 720.7 690.4 735.4 726.6 771.5 742.2ZM834 416H916V513.7Q878.9 480.5 834 468.8V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-marker\"\n      ]\n    },\n    {\n      \"uid\": \"ad0fb0508233cf1e70cef8d24d4b65f0\",\n      \"css\": \"selection-multiple-marker\",\n      \"code\": 987780,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 166H375V250H334V291H250V209Q250 191.4 262.7 178.7T291 166ZM791 166Q808.6 166 821.3 178.7T834 209V291H750V250H709V166H791ZM459 250V166H625V250H459ZM291 750Q275.4 750 262.7 737.3T250 709V625H334V666H375V750H291ZM250 375H334V541H250V375ZM125 334H166V834H607.4L668 916H125Q107.4 916 95.7 904.3T84 875V375Q84 357.4 95.7 345.7T125 334ZM771.5 500Q830.1 500 873 543T916 646.5Q916 712.9 843.8 822.3 806.6 877 771.5 916V916L732.4 871.1Q689.5 814.5 662.1 763.7 625 693.4 625 646.5 625 585.9 668 543T771.5 500ZM771.5 699.2Q793 699.2 808.6 683.6T822.3 649.4 804.7 615.2 770.5 599.6 736.3 614.3 720.7 649.4 735.4 684.6 771.5 699.2ZM459 750V666H541Q546.9 705.1 562.5 750H459ZM834 375V425.8Q800.8 416 771.5 416L750 418V375H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-multiple-marker\"\n      ]\n    },\n    {\n      \"uid\": \"d58d103bc0636da98d91ee21c59a687e\",\n      \"css\": \"selection-multiple\",\n      \"code\": 987781,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 250V166H625V250H459ZM250 375H334V541H250V375ZM250 250Q250 214.8 274.4 190.4T334 166H375V250H334V291H250V250ZM334 750Q298.8 750 274.4 725.6T250 666V625H334V666H375V750H334ZM750 166Q785.2 166 809.6 190.4T834 250V291H750V250H709V166H750ZM625 666V750H459V666H625ZM834 541H750V375H834V541ZM834 666Q834 701.2 809.6 725.6T750 750H709V666H750V625H834V666ZM125 334H166V834H666V875Q666 892.6 654.3 904.3T627 916H125Q107.4 916 95.7 904.3T84 875V375Q84 357.4 95.7 345.7T125 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"selection-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"4dbc86a550cee6ae89112c8ffcad5b22\",\n      \"css\": \"star-box-multiple\",\n      \"code\": 987782,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V834H750V916H125Q105.5 916 94.7 905.3T84 875V250H166ZM334 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84ZM679.7 554.7L662.1 445.3 742.2 367.2 632.8 349.6 584 250 533.2 349.6 425.8 367.2 503.9 441.4 482.4 550.8 584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-box-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"30e6b184ba7cbbd3f3f74abc6ce0c804\",\n      \"css\": \"star-box-multiple-outline\",\n      \"code\": 987783,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V834H750V916H125Q105.5 916 94.7 905.3T84 875V250H166ZM503.9 441.4L425.8 367.2 533.2 349.6 584 250 632.8 349.6 742.2 367.2 662.1 445.3 679.7 554.7 584 500 482.4 550.8ZM334 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H334Q298.8 750 274.4 725.6T250 666V166Q250 132.8 274.4 108.4T334 84ZM334 166V666H834V166H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"star-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0d5d5ca355477a06d4c56c73c2906e4d\",\n      \"css\": \"toy-brick\",\n      \"code\": 987784,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H875V250H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick\"\n      ]\n    },\n    {\n      \"uid\": \"77b642b9d3b6d7d907563bd922747123\",\n      \"css\": \"toy-brick-marker\",\n      \"code\": 987785,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H605.5Q548.8 748 541 646.5 543 584 573.2 531.3T656.3 448.2 771.5 416Q826.2 416 875 443.4V250H791ZM771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 735.4 614.3 770.5 600.6 805.7 615.2 821.3 650.4 806.6 686.5 771.5 699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-marker\"\n      ]\n    },\n    {\n      \"uid\": \"11b84bffb3c0caa8e48060ae500d5bda\",\n      \"css\": \"toy-brick-marker-outline\",\n      \"code\": 987786,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 735.4 614.3 770.5 600.6 805.7 615.2 821.3 650.4 806.6 686.5 771.5 699.2ZM791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H605.5Q582 793 564.5 750H209V334H791V416Q835.9 419.9 875 441.4V250H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-marker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1cb75da422e3b9e15fd62c17ef5acfb1\",\n      \"css\": \"toy-brick-minus\",\n      \"code\": 987787,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H541V666H875V250H791ZM959 834H625V750H959V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-minus\"\n      ]\n    },\n    {\n      \"uid\": \"423f7badd6934c9deda6001a75c76029\",\n      \"css\": \"toy-brick-minus-outline\",\n      \"code\": 987788,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H584V750H209V334H791V666H875V250H791ZM1000 834H666V750H1000V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3375310bb8a12702064373a464e6cc81\",\n      \"css\": \"toy-brick-outline\",\n      \"code\": 987789,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H875V250H791ZM791 750H209V334H791V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-outline\"\n      ]\n    },\n    {\n      \"uid\": \"35e06763f7a5deb4e278137e457c85b2\",\n      \"css\": \"toy-brick-plus\",\n      \"code\": 987790,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H544.9Q541 812.5 541 791 541 730.5 569.3 676.8T647.5 587.9 757.8 543.9 875 556.6V250H791ZM834 625V750H959V834H834V959H750V834H625V750H750V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-plus\"\n      ]\n    },\n    {\n      \"uid\": \"5743d48040467787bf87ba512f86885b\",\n      \"css\": \"toy-brick-plus-outline\",\n      \"code\": 987791,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H584V750H209V334H791V541H875V250H791ZM875 625V750H1000V834H875V959H791V834H666V750H791V625H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"850e0da92800f47f92b3ebee4e9e5e9c\",\n      \"css\": \"toy-brick-remove\",\n      \"code\": 987792,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H544.9Q541 812.5 541 791 541 730.5 569.3 676.8T647.5 587.9 757.8 543.9 875 556.6V250H791ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-remove\"\n      ]\n    },\n    {\n      \"uid\": \"1c249f5652106f3861c130dfc1f8e8d9\",\n      \"css\": \"toy-brick-remove-outline\",\n      \"code\": 987793,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H584V750H209V334H791V541H875V250H791ZM744.1 644.5L834 732.4 921.9 644.5 980.5 703.1 892.6 791 980.5 880.9 921.9 939.5 834 849.6 744.1 939.5 685.5 880.9 775.4 791 685.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"335897f91ecee25168c19c23d7e7cc0d\",\n      \"css\": \"toy-brick-search\",\n      \"code\": 987794,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H492.2Q441.4 781.3 424.8 711.9T426.8 574.2 496.1 455.1 616.2 385.7 753.9 383.8 875 451.2V250H791ZM845.7 746.1Q884.8 685.5 873 615.2T805.7 500 677.7 459 554.7 512.7 500 633.8 541 761.7 656.3 830.1 787.1 804.7L916 933.6 974.6 875ZM687.5 750Q644.5 750 614.3 719.7T584 646.5 614.3 572.3 687.5 541 760.7 572.3 791 646.5 760.7 719.7 687.5 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-search\"\n      ]\n    },\n    {\n      \"uid\": \"f346fdb30215eca79f3a0002e766d0fb\",\n      \"css\": \"toy-brick-search-outline\",\n      \"code\": 987795,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 250V209Q791 173.8 766.6 149.4T709 125H625Q589.8 125 565.4 149.4T541 209V250H459V209Q459 173.8 434.6 149.4T375 125H291Q257.8 125 233.4 149.4T209 209V250H125V834H492.2Q457 796.9 437.5 750H209V334H791V396.5Q837.9 416 875 451.2V250H791ZM845.7 746.1Q884.8 685.5 873 615.2T805.7 500 677.7 459 554.7 512.7 500 633.8 541 761.7 656.3 830.1 787.1 804.7L916 933.6 974.6 875ZM687.5 750Q644.5 750 614.3 719.7T584 646.5 614.3 572.3 687.5 541 760.7 572.3 791 646.5 760.7 719.7 687.5 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toy-brick-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"90529542bc59be29e4587de32dafa10a\",\n      \"css\": \"tray\",\n      \"code\": 987796,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500H166V709H834V500H916V709Q916 742.2 891.6 766.6T834 791H166Q132.8 791 108.4 766.6T84 709V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tray\"\n      ]\n    },\n    {\n      \"uid\": \"1859665f5d5be6ef6be32df741a816c9\",\n      \"css\": \"tray-alert\",\n      \"code\": 987797,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500H166V709H834V500H916V709Q916 742.2 891.6 766.6T834 791H166Q132.8 791 108.4 766.6T84 709V500ZM541 500H459V584H541V500ZM541 166H459V416H541V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tray-alert\"\n      ]\n    },\n    {\n      \"uid\": \"3b30befa8368be0ec35abd29ca54daa1\",\n      \"css\": \"tray-full\",\n      \"code\": 987798,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 209H250V291H750V209ZM250 375H750V459H250V375ZM84 500H166V709H834V500H916V709Q916 742.2 891.6 766.6T834 791H166Q132.8 791 108.4 766.6T84 709V500ZM750 541H250V625H750V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tray-full\"\n      ]\n    },\n    {\n      \"uid\": \"37a41a6ba68337e46d4b4d11944ab318\",\n      \"css\": \"tray-minus\",\n      \"code\": 987799,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 416H334V334H666V416ZM84 709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V500H834V709H166V500H84V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tray-minus\"\n      ]\n    },\n    {\n      \"uid\": \"c2c3eb9568663cefd5ba12cee42ca19a\",\n      \"css\": \"tray-plus\",\n      \"code\": 987800,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500H166V709H834V500H916V709Q916 742.2 891.6 766.6T834 791H166Q132.8 791 108.4 766.6T84 709V500ZM459 209H541V334H666V416H541V541H459V416H334V334H459V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tray-plus\"\n      ]\n    },\n    {\n      \"uid\": \"cf8a80bece59b7d72b93ae9b5ac0c3e8\",\n      \"css\": \"tray-remove\",\n      \"code\": 987801,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 709Q84 742.2 108.4 766.6T166 791H834Q867.2 791 891.6 766.6T916 709V500H834V709H166V500H84V709ZM587.9 226.6L648.4 287.1 558.6 375 648.4 462.9 587.9 523.4 500 433.6 412.1 523.4 351.6 462.9 441.4 375 351.6 287.1 412.1 226.6 500 316.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tray-remove\"\n      ]\n    },\n    {\n      \"uid\": \"50e041758c8e2b62aa8cac08eb4e1d8a\",\n      \"css\": \"truck-check-outline\",\n      \"code\": 987802,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 771.5Q775.4 771.5 793.9 752.9T812.5 708 793.9 664.1 750 646.5 706.1 664.1 687.5 708 706.1 752.9 750 771.5ZM812.5 396.5H709V500H894.5ZM250 771.5Q275.4 771.5 293.9 752.9T312.5 708 293.9 664.1 250 646.5 206.1 664.1 187.5 708 206.1 752.9 250 771.5ZM834 334L959 500V709H875Q875 759.8 838.9 796.9T750 834 661.1 796.9 625 709H375Q375 759.8 338.9 796.9T250 834 161.1 796.9 125 709H41V250Q41 214.8 65.4 190.4T125 166H709V334H834ZM125 250V625H156.3Q193.4 584 250 584T343.8 625H625V250H125ZM209 437.5L271.5 375 334 437.5 478.5 291 541 353.5 334 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"73f0f91164d81b01f321bbc9765fa8e7\",\n      \"css\": \"truck-delivery-outline\",\n      \"code\": 987803,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 771.5Q775.4 771.5 793.9 752.9T812.5 708 793.9 664.1 750 646.5 706.1 664.1 687.5 708 706.1 752.9 750 771.5ZM812.5 396.5H709V500H894.5ZM250 771.5Q275.4 771.5 293.9 752.9T312.5 708 293.9 664.1 250 646.5 206.1 664.1 187.5 708 206.1 752.9 250 771.5ZM834 334L959 500V709H875Q875 759.8 838.9 796.9T750 834 661.1 796.9 625 709H375Q375 759.8 338.9 796.9T250 834 161.1 796.9 125 709H41V250Q41 214.8 65.4 190.4T125 166H709V334H834ZM125 250V625H156.3Q193.4 584 250 584T343.8 625H625V250H125ZM416 291L562.5 437.5 416 584V478.5H209V396.5H416V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-delivery-outline\"\n      ]\n    },\n    {\n      \"uid\": \"82ca9ef5bcc155e6ea4d0a42fd321df1\",\n      \"css\": \"truck-fast-outline\",\n      \"code\": 987804,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M31.3 312.5H437.5L468.8 375H62.5ZM72.3 437.5H478.5L509.8 500H103.5ZM750 771.5Q775.4 771.5 793.9 752.9T812.5 708 793.9 664.1 750 646.5 706.1 664.1 687.5 708 706.1 752.9 750 771.5ZM812.5 396.5H709V500H894.5ZM334 771.5Q359.4 771.5 377.9 752.9T396.5 708 377.9 664.1 333 646.5 289.1 664.1 271.5 708 289.1 752.9 334 771.5ZM834 334L959 500V709H875Q875 759.8 838.9 796.9T750 834 661.1 796.9 625 709H459Q459 759.8 421.9 796.9T333 834 245.1 796.9 209 709H125V562.5H209V625H240.2Q277.3 584 333 584T425.8 625H625V250H125Q125 214.8 149.4 190.4T209 166H709V334H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-fast-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d87d30106d0a2fc573824f966d0e5559\",\n      \"css\": \"truck-outline\",\n      \"code\": 987805,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 771.5Q775.4 771.5 793.9 752.9T812.5 708 793.9 664.1 750 646.5 706.1 664.1 687.5 708 706.1 752.9 750 771.5ZM812.5 396.5H709V500H894.5ZM250 771.5Q275.4 771.5 293.9 752.9T312.5 708 293.9 664.1 250 646.5 206.1 664.1 187.5 708 206.1 752.9 250 771.5ZM834 334L959 500V709H875Q875 759.8 838.9 796.9T750 834 661.1 796.9 625 709H375Q375 759.8 338.9 796.9T250 834 161.1 796.9 125 709H41V250Q41 214.8 65.4 190.4T125 166H709V334H834ZM125 250V625H156.3Q193.4 584 250 584T343.8 625H625V250H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"truck-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5b61203f63196b668d6bf720500707eb\",\n      \"css\": \"usb-flash-drive\",\n      \"code\": 987806,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 625Q349.6 625 362.3 637.7T375 667 362.3 696.3 333 709 303.7 696.3 291 667 303.7 637.7 334 625ZM627 195.3L687.5 253.9 627 312.5 568.4 253.9ZM746.1 312.5L804.7 373 746.1 431.6 687.5 373ZM334 541Q281.3 541 245.1 578.1T209 667 245.1 754.9 333 791 421.9 754.9 459 667 421.9 578.1 334 541ZM406.3 179.7L437.5 210.9 595.7 54.7Q607.4 41 625 41T654.3 54.7L949.2 349.6Q959 359.4 959 377T943.4 406.3L789.1 562.5 820.3 593.8 539.1 873Q500 914.1 446.3 936.5T334 959Q253.9 959 186.5 919.9T80.1 813.5 41 666Q41 607.4 63.5 553.7T127 460.9ZM857.4 375L625 142.6 498 271.5 728.5 503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"usb-flash-drive\"\n      ]\n    },\n    {\n      \"uid\": \"6935b689bec2b4ae3c2a333052052c7b\",\n      \"css\": \"usb-flash-drive-outline\",\n      \"code\": 987807,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 541Q384.8 541 421.9 578.1T459 667 421.9 754.9 333 791 245.1 754.9 209 667 245.1 578.1 334 541ZM334 625Q316.4 625 303.7 637.7T291 667 303.7 696.3 333 709 362.3 696.3 375 667 362.3 637.7 334 625ZM406.3 179.7L437.5 210.9 595.7 54.7Q607.4 41 625 41T654.3 54.7L949.2 349.6Q959 359.4 959 377T943.4 406.3L789.1 562.5 820.3 593.8 539.1 873Q500 914.1 446.3 936.5T334 959Q253.9 959 186.5 919.9T80.1 813.5 41 666Q41 607.4 63.5 553.7T127 460.9ZM480.5 814.5L701.2 593.8 406.3 298.8 185.5 519.5Q156.3 548.8 140.6 586.9T125 666Q125 722.7 153.3 770.5T229.5 846.7 334 875Q375 875 413.1 859.4T480.5 814.5ZM627 195.3L687.5 253.9 627 312.5 568.4 253.9ZM746.1 312.5L804.7 373 746.1 431.6 687.5 373ZM857.4 375L625 142.6 498 271.5 728.5 503.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"usb-flash-drive-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4d1114335a0fc7c0b1bdf860fad81360\",\n      \"css\": \"water-polo\",\n      \"code\": 987808,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 666H916V750H834Q750 750 666 709 587.9 748 500 748T334 709Q250 750 166 750H84V666H166Q252 666 334 613.3 408.2 666 500 666T666 613.3Q748 666 834 666ZM541 441.4Q589.8 418 625 412.1V425.8Q640.6 476.6 632.8 544.9 574.2 580.1 507.8 580.1 541 511.7 541 441.4ZM537.1 150.4Q449.2 175.8 386.7 238.3 363.3 175.8 363.3 113.3 431.6 82 505.9 84T650.4 121.1Q675.8 128.9 683.6 136.7 607.4 130.9 537.1 150.4ZM283.2 554.7Q246.1 572.3 209 580.1 166 502 166 408.2 199.2 474.6 250 525.4 255.9 529.3 266.6 540T283.2 554.7ZM791 580.1Q759.8 574.2 720.7 558.6 732.4 488.3 712.9 408.2 785.2 414.1 837.9 449.2 832 509.8 800.8 566.4ZM308.6 466.8Q238.3 402.3 216.8 287.1L212.9 250Q242.2 201.2 283.2 166 289.1 253.9 341.8 324.2 388.7 400.4 459 437.5 459 482.4 437.5 537.1 369.1 519.5 308.6 466.8ZM562.5 228.5Q609.4 216.8 660.2 218.8T757.8 238.3L791 253.9Q808.6 283.2 824.2 349.6 748 316.4 662.1 321.3T500 367.2Q464.8 351.6 429.7 308.6L433.6 304.7Q500 244.1 562.5 228.5ZM666 779.3Q748 834 834 834H916V916H834Q750 916 666 875 587.9 916 500 916T334 875Q250 916 166 916H84V834H166Q252 834 334 779.3 408.2 832 500 832T666 779.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"water-polo\"\n      ]\n    },\n    {\n      \"uid\": \"4ffd0b48a476f4e9107dbf7dc9827b7f\",\n      \"css\": \"battery-low\",\n      \"code\": 987809,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 834H334V250H666V834ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166ZM625 666H375V791H625V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-low\"\n      ]\n    },\n    {\n      \"uid\": \"40da392ced4afb24ed82889e30b01c82\",\n      \"css\": \"battery-medium\",\n      \"code\": 987810,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 834H334V250H666V834ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166ZM625 666H375V791H625V666ZM625 478.5H375V603.5H625V478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-medium\"\n      ]\n    },\n    {\n      \"uid\": \"2591db97aec2c6321fd3def9d0d829b0\",\n      \"css\": \"battery-high\",\n      \"code\": 987811,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 834H334V250H666V834ZM695.3 166H625V84H375V166H304.7Q283.2 166 266.6 182.6T250 222.7V861.3Q250 884.8 266.6 900.4T304.7 916H695.3Q716.8 916 733.4 900.4T750 861.3V222.7Q750 199.2 733.4 182.6T695.3 166ZM625 666H375V791H625V666ZM625 291H375V416H625V291ZM625 478.5H375V603.5H625V478.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-high\"\n      ]\n    },\n    {\n      \"uid\": \"a3c8cab46e4810c7eacf7c43b08d2110\",\n      \"css\": \"battery-charging-low\",\n      \"code\": 987812,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834H166V250H500V834ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM459 666H209V791H459V666ZM959 416H834V125L625 541H750V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-low\"\n      ]\n    },\n    {\n      \"uid\": \"64671fe6baf85746bda323463de89d5a\",\n      \"css\": \"battery-charging-medium\",\n      \"code\": 987813,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834H166V250H500V834ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM459 666H209V791H459V666ZM459 478.5H209V603.5H459V478.5ZM959 416H834V125L625 541H750V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-medium\"\n      ]\n    },\n    {\n      \"uid\": \"2724a186b91c3308fc31b1de658e2b76\",\n      \"css\": \"battery-charging-high\",\n      \"code\": 987814,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834H166V250H500V834ZM527.3 166H459V84H209V166H138.7Q115.2 166 99.6 182.6T84 222.7V861.3Q84 884.8 99.6 900.4T138.7 916H527.3Q550.8 916 567.4 900.4T584 861.3V222.7Q584 199.2 567.4 182.6T527.3 166ZM459 666H209V791H459V666ZM459 291H209V416H459V291ZM459 478.5H209V603.5H459V478.5ZM959 416H834V125L625 541H750V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"battery-charging-high\"\n      ]\n    },\n    {\n      \"uid\": \"cad870e2427a4df69f51d5463cf3b50b\",\n      \"css\": \"hexadecimal\",\n      \"code\": 987815,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 291Q257.8 291 233.4 315.4T209 375V625Q209 660.2 233.4 684.6T291 709H375Q410.2 709 434.6 684.6T459 625V375Q459 339.8 434.6 315.4T375 291H291ZM291 375H375V625H291V375ZM732.4 709L646.5 621.1 558.6 709 500 650.4 587.9 562.5 500 474.6 558.6 416 646.5 503.9 732.4 416 791 474.6 705.1 562.5 791 650.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hexadecimal\"\n      ]\n    },\n    {\n      \"uid\": \"b9f3c536f1904522631b29e0632ee470\",\n      \"css\": \"gesture-tap-button\",\n      \"code\": 987816,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 209Q611.3 209 660.2 257.8T709 375Q709 421.9 686.5 460T625 519.5V468.8Q666 431.6 666 377T629.9 286.1 542 250 453.1 286.1 416 377 459 468.8V519.5Q419.9 498 397.5 460T375 375Q375 306.6 423.8 257.8T541 209ZM834 853.5Q832 878.9 814.5 897.5T771.5 916H541Q517.6 916 500 898.4L334 724.6 363.3 691.4Q377 677.7 396.5 677.7H404.3L500 750V375Q500 357.4 512.7 345.7T542 334 571.3 345.7 584 375V560.5L632.8 566.4 798.8 658.2Q814.5 666 824.2 680.7T834 714.8V853.5ZM834 84H166Q132.8 84 108.4 108.4T84 166V500Q84 535.2 108.4 559.6T166 584H334V500H166V166H834V500H750V584H834V582L835.9 584Q869.1 584 892.6 559.6T916 500V166Q916 132.8 891.6 108.4T834 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-tap-button\"\n      ]\n    },\n    {\n      \"uid\": \"1ebe25ad3206265989443ee4d197e720\",\n      \"css\": \"gesture-tap-box\",\n      \"code\": 987817,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H834Q867.2 916 891.6 891.6T916 834V166Q916 132.8 891.6 108.4T834 84ZM459 166Q527.3 166 576.2 214.8T625 334Q625 378.9 602.5 417T541 476.6V425.8Q584 388.7 584 335T546.9 245.1 458 209 370.1 245.1 334 335 375 425.8V476.6Q335.9 455.1 313.5 417T291 334Q291 263.7 339.8 214.8T459 166ZM750 771.5Q750 796.9 731.4 814.5T687.5 834H459Q433.6 834 416 814.5L250 640.6 281.3 607.4Q293 595.7 312.5 595.7H320.3L416 666V334Q416 316.4 428.7 303.7T458 291 487.3 303.7 500 334V519.5L550.8 525.4 714.8 617.2Q730.5 623 740.2 638.7T750 671.9V771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gesture-tap-box\"\n      ]\n    },\n    {\n      \"uid\": \"702f3841a1d2e366e77171673bd89ea4\",\n      \"css\": \"lan-check\",\n      \"code\": 987818,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 41Q132.8 41 108.4 65.4T84 125V291Q84 326.2 108.4 350.6T166 375H41V459H541V375H416Q451.2 375 475.6 350.6T500 291V125Q500 89.8 475.6 65.4T416 41H166ZM166 125H416V291H166V125ZM584 541Q548.8 541 524.4 565.4T500 625V791Q500 826.2 524.4 850.6T584 875H459V959H959V875H834Q867.2 875 891.6 850.6T916 791V625Q916 589.8 891.6 565.4T834 541H584ZM584 625H834V791H584V625ZM228.5 853.5L437.5 646.5 375 584 228.5 728.5 146.5 646.5 84 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lan-check\"\n      ]\n    },\n    {\n      \"uid\": \"efb8d400db98bca80dbb8df340657449\",\n      \"css\": \"keyboard-f1\",\n      \"code\": 987819,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291H500V375H334V459H459V541H334V709H250V291ZM584 291H750V709H666V375H584V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f1\"\n      ]\n    },\n    {\n      \"uid\": \"ea3a7321844b01c5e3305592b349559d\",\n      \"css\": \"keyboard-f2\",\n      \"code\": 987820,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM541 291H709Q742.2 291 766.6 315.4T791 375V459Q791 492.2 766.6 516.6T709 541H625V625H791V709H541V541Q541 507.8 565.4 483.4T625 459H709V375H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f2\"\n      ]\n    },\n    {\n      \"uid\": \"fb200d5da3e3eac9c99632ee853df36c\",\n      \"css\": \"keyboard-f3\",\n      \"code\": 987821,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM791 625Q791 660.2 766.6 684.6T709 709H541V625H709V541H625V459H709V375H541V291H709Q742.2 291 766.6 315.4T791 375V437.5Q791 462.9 773.4 481.4T728.5 500Q755.9 500 773.4 518.6T791 562.5V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f3\"\n      ]\n    },\n    {\n      \"uid\": \"5524715881a722723362b7d4d77dc8e0\",\n      \"css\": \"keyboard-f4\",\n      \"code\": 987822,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM541 291H625V459H709V291H791V709H709V541H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f4\"\n      ]\n    },\n    {\n      \"uid\": \"4bf3baa0e89f0bb73183978b351354a8\",\n      \"css\": \"keyboard-f5\",\n      \"code\": 987823,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM541 291H791V375H625V459H709Q742.2 459 766.6 483.4T791 541V625Q791 660.2 766.6 684.6T709 709H541V625H709V541H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f5\"\n      ]\n    },\n    {\n      \"uid\": \"49f062759ec1157050159a9b59f373f8\",\n      \"css\": \"keyboard-f6\",\n      \"code\": 987824,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM625 291H791V375H625V459H709Q742.2 459 766.6 483.4T791 541V625Q791 660.2 766.6 684.6T709 709H625Q589.8 709 565.4 684.6T541 625V375Q541 339.8 565.4 315.4T625 291ZM625 541V625H709V541H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f6\"\n      ]\n    },\n    {\n      \"uid\": \"a86083aacd8cc25f0918ca7f37d9bb95\",\n      \"css\": \"keyboard-f7\",\n      \"code\": 987825,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM625 709H541L709 375H541V291H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f7\"\n      ]\n    },\n    {\n      \"uid\": \"9dbb10ca698dbd898cbac513971c9ad6\",\n      \"css\": \"keyboard-f8\",\n      \"code\": 987826,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM625 541V625H709V541H625ZM625 375V459H709V375H625ZM625 709Q589.8 709 565.4 684.6T541 625V562.5Q541 537.1 559.6 518.6T603.5 500Q578.1 500 559.6 481.4T541 437.5V375Q541 339.8 565.4 315.4T625 291H709Q742.2 291 766.6 315.4T791 375V437.5Q791 462.9 773.4 481.4T728.5 500Q755.9 500 773.4 518.6T791 562.5V625Q791 660.2 766.6 684.6T709 709H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f8\"\n      ]\n    },\n    {\n      \"uid\": \"1bb2a2dc4fdce4cf6092833bd73784fa\",\n      \"css\": \"keyboard-f9\",\n      \"code\": 987827,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 291H459V375H291V459H416V541H291V709H209V291ZM709 709H541V625H709V541H625Q589.8 541 565.4 516.6T541 459V375Q541 339.8 565.4 315.4T625 291H709Q742.2 291 766.6 315.4T791 375V625Q791 660.2 766.6 684.6T709 709ZM709 459V375H625V459H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f9\"\n      ]\n    },\n    {\n      \"uid\": \"c086a5a59c58dfa400148828249e8374\",\n      \"css\": \"keyboard-f10\",\n      \"code\": 987828,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291H334V375H166V459H291V541H166V709H84V291ZM416 291H584V709H500V375H416V291ZM750 291H834Q867.2 291 891.6 315.4T916 375V625Q916 660.2 891.6 684.6T834 709H750Q714.8 709 690.4 684.6T666 625V375Q666 339.8 690.4 315.4T750 291ZM750 375V625H834V375H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f10\"\n      ]\n    },\n    {\n      \"uid\": \"cd80667df8c92b1aedd87e95dc0ba1a2\",\n      \"css\": \"keyboard-f11\",\n      \"code\": 987829,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291H375V375H209V459H334V541H209V709H125V291ZM459 291H625V709H541V375H459V291ZM709 291H875V709H791V375H709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f11\"\n      ]\n    },\n    {\n      \"uid\": \"b2aef73bb32cf4dee88b0920ec3a527c\",\n      \"css\": \"keyboard-f12\",\n      \"code\": 987830,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291H334V375H166V459H291V541H166V709H84V291ZM666 291H834Q867.2 291 891.6 315.4T916 375V459Q916 492.2 891.6 516.6T834 541H750V625H916V709H666V541Q666 507.8 690.4 483.4T750 459H834V375H666V291ZM416 291H584V709H500V375H416V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-f12\"\n      ]\n    },\n    {\n      \"uid\": \"1fbea49ed2948b246799a2a889bc2f3f\",\n      \"css\": \"keyboard-esc\",\n      \"code\": 987831,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 291H291V375H125V459H291V541H125V625H291V709H41V291ZM459 291H625V375H459V459H541Q576.2 459 600.6 483.4T625 541V625Q625 660.2 600.6 684.6T541 709H375V625H541V541H459Q423.8 541 399.4 516.6T375 459V375Q375 339.8 399.4 315.4T459 291ZM791 291H875Q910.2 291 934.6 315.4T959 375V416H875V375H791V625H875V584H959V625Q959 660.2 934.6 684.6T875 709H791Q757.8 709 733.4 684.6T709 625V375Q709 339.8 733.4 315.4T791 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"keyboard-esc\"\n      ]\n    },\n    {\n      \"uid\": \"64ed8ae9bb689855770f5a5f572c318d\",\n      \"css\": \"toslink\",\n      \"code\": 987832,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 416V291L709 166H291L166 291V416Q132.8 416 108.4 440.4T84 500 108.4 559.6 166 584V750Q166 785.2 190.4 809.6T250 834H750Q785.2 834 809.6 809.6T834 750V584Q867.2 584 891.6 559.6T916 500 891.6 440.4 834 416ZM500 666Q431.6 666 382.8 617.2T334 500 382.8 382.8 500 334 617.2 382.8 666 500 617.2 617.2 500 666ZM584 500Q584 535.2 559.6 559.6T500 584 440.4 559.6 416 500 440.4 440.4 500 416 559.6 440.4 584 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"toslink\"\n      ]\n    },\n    {\n      \"uid\": \"36ca23722cab8d84d04215f8b50cff14\",\n      \"css\": \"cheese\",\n      \"code\": 987833,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 728.5Q459 703.1 476.6 684.6T521.5 666Q537.1 666 554.7 675.8L865.2 498Q841.8 455.1 808.6 412.1 800.8 416 791 416 775.4 416 762.7 404.3T750 375Q750 365.2 757.8 351.6 648.4 236.3 500 177.7 496.1 209 471.7 229.5T415 250 358.4 225.6 334 166Q334 150.4 339.8 132.8 281.3 125 228.5 125 214.8 125 209 127V377Q244.1 384.8 267.6 413.1T291 479.5 267.6 545.9 209 582V875L459 730.5V728.5ZM584 375Q617.2 375 641.6 399.4T666 458 641.6 516.6 583 541 524.4 516.6 500 458 524.4 399.4 584 375ZM375 666Q357.4 666 345.7 654.3T334 625 345.7 595.7 375 584 404.3 595.7 416 625 404.3 654.3 375 666ZM375 416Q357.4 416 345.7 404.3T334 375 345.7 345.7 375 334 404.3 345.7 416 375 404.3 404.3 375 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cheese\"\n      ]\n    },\n    {\n      \"uid\": \"465c2703a502b1bef7636b212308fc69\",\n      \"css\": \"string-lights\",\n      \"code\": 987834,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M939.5 474.6Q933.6 449.2 917 427.7T877 392.6L859.4 322.3Q890.6 312.5 916 300.8V209Q847.7 246.1 748 267.6 632.8 293 500 293T252 267.6Q152.3 246.1 84 209V300.8Q109.4 312.5 140.6 322.3L123 392.6Q99.6 406.3 83 427.7T60.5 474.6Q37.1 570.3 43 634.8 50.8 730.5 121.1 748 168 759.8 209 724.6 267.6 673.8 302.7 533.2 316.4 478.5 285.2 433.6L302.7 361.3Q353.5 369.1 416 373V447.3Q396.5 464.8 385.7 490.2T375 541Q375 638.7 396.5 701.2 427.7 791 500 791 548.8 791 580.1 748 625 685.5 625 541 625 515.6 614.3 490.2T584 447.3V373Q646.5 369.1 697.3 361.3L714.8 433.6Q683.6 478.5 697.3 533.2 732.4 673.8 791 724.6 832 759.8 878.9 748 947.3 730.5 957 634.8 962.9 570.3 939.5 474.6ZM242.2 519.5Q234.4 543 228.5 566.4 210.9 619.1 191.4 650.4 164.1 693.4 136.7 687.5 99.6 677.7 105.5 582 109.4 535.2 121.1 490.2L127 474.6Q136.7 457 150.4 449.2 169.9 437.5 195.3 443.4 234.4 453.1 242.2 486.3 246.1 503.9 242.2 519.5V519.5ZM500 728.5Q472.7 728.5 455.1 679.7 445.3 646.5 439.5 589.8L437.5 541 439.5 525.4Q445.3 507.8 455.1 496.1 472.7 478.5 500 478.5T544.9 496.1Q554.7 507.8 560.5 525.4L562.5 541 560.5 589.8Q554.7 646.5 544.9 679.7 527.3 728.5 500 728.5ZM863.3 687.5Q826.2 697.3 787.1 609.4 769.5 564.5 757.8 519.5L755.9 503.9Q755.9 484.4 765.6 470.7 777.3 451.2 804.7 443.4 841.8 435.5 865.2 460.9 875 474.6 878.9 490.2L888.7 537.1Q896.5 591.8 894.5 628.9 890.6 679.7 863.3 687.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"string-lights\"\n      ]\n    },\n    {\n      \"uid\": \"68c77f5650026cb53c33366904d8e860\",\n      \"css\": \"string-lights-off\",\n      \"code\": 987835,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 447.3V373Q646.5 369.1 697.3 361.3L714.8 433.6Q683.6 478.5 697.3 533.2L709 574.2 880.9 746.1Q949.2 728.5 957 634.8 962.9 568.4 939.5 474.6 933.6 449.2 917 427.7T877 392.6L859.4 322.3Q890.6 312.5 916 300.8V209Q847.7 246.1 748 267.6 632.8 293 500 293 472.7 293 423.8 291ZM863.3 687.5Q826.2 697.3 787.1 609.4 769.5 564.5 757.8 519.5L755.9 503.9Q755.9 484.4 765.6 470.7 777.3 451.2 804.7 443.4 841.8 435.5 865.2 460.9 875 474.6 878.9 490.2L888.7 537.1Q896.5 591.8 894.5 628.9 890.6 679.7 863.3 687.5ZM623 595.7L562.5 535.2 398.4 373H400.4L99.6 72.3 46.9 125 162.1 242.2Q115.2 224.6 84 209V300.8Q109.4 312.5 140.6 322.3L123 392.6Q99.6 406.3 83 427.7T60.5 474.6Q37.1 570.3 43 634.8 50.8 730.5 121.1 748 168 759.8 209 724.6 267.6 673.8 302.7 533.2 316.4 478.5 285.2 433.6L298.8 377 396.5 474.6Q375 505.9 375 541 375 638.7 396.5 701.2 427.7 791 500 791 531.3 791 556.6 771.5 589.8 746.1 607.4 687.5L869.1 947.3 921.9 894.5ZM242.2 519.5Q234.4 543 228.5 566.4 210.9 619.1 191.4 650.4 164.1 693.4 136.7 687.5 99.6 677.7 105.5 582 109.4 535.2 121.1 490.2L127 474.6Q136.7 457 150.4 449.2 169.9 437.5 195.3 443.4 234.4 453.1 242.2 486.3 246.1 503.9 242.2 519.5V519.5ZM500 728.5Q472.7 728.5 455.1 679.7 445.3 646.5 439.5 589.8L437.5 541V535.2Q439.5 527.3 441.4 521.5L554.7 632.8Q539.1 728.5 500 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"string-lights-off\"\n      ]\n    },\n    {\n      \"uid\": \"574091f3eb723dbc3d1bf02cd5f0a931\",\n      \"css\": \"whistle-outline\",\n      \"code\": 987836,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M156.3 154.3L89.8 203.1 185.5 334Q222.7 312.5 263.7 302.7ZM459 375V459H750V470.7L541 529.3V646.5Q541 722.7 486.3 778.3T354.5 834 221.7 778.3 166 645.5 221.7 513.7 353.5 459H375V375H353.5Q281.3 375 218.8 411.1T120.1 509.8 84 645.5 120.1 781.3 218.8 879.9 354.5 916 490.2 879.9 588.9 781.3 625 646.5V580.1L916 500V375H459ZM675.8 154.3L576.2 291H679.7L744.1 203.1ZM375 84V291H459V84H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"whistle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1ea1e4910f84a95f02f67c39960637f7\",\n      \"css\": \"stairs-up\",\n      \"code\": 987837,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 250H916V375H750V541H584V709H416V875H125V750H291V584H459V416H625V250ZM423.8 277.3L193.4 507.8 117.2 431.6 347.7 201.2 271.5 125H500V353.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stairs-up\"\n      ]\n    },\n    {\n      \"uid\": \"5b47825a456c81baaad02b6458066ad8\",\n      \"css\": \"stairs-down\",\n      \"code\": 987838,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 250H916V375H750V541H584V709H416V875H125V750H291V584H459V416H625V250ZM201.2 347.7L431.6 117.2 507.8 193.4 277.3 423.8 353.5 500H125V271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stairs-down\"\n      ]\n    },\n    {\n      \"uid\": \"d6eacf5483c52011a0b9437b7224a89c\",\n      \"css\": \"escalator-up\",\n      \"code\": 987839,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H789.1L289.1 834H166Q132.8 834 108.4 809.6T84 750 108.4 690.4 166 666H220.7L291 595.7V416Q291 400.4 303.7 387.7T334 375H375Q392.6 375 404.3 387.7T416 416V470.7L720.7 166H834Q867.2 166 891.6 190.4T916 250 891.6 309.6 834 334ZM353.5 209Q380.9 209 398.4 226.6T416 270.5 398.4 315.4 354.5 334 309.6 315.4 291 270.5 309.6 226.6 353.5 209ZM839.8 652.3L611.3 882.8 535.2 806.6 763.7 576.2 687.5 500H916V728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"escalator-up\"\n      ]\n    },\n    {\n      \"uid\": \"957f010d216e48161f71483e179e7e8e\",\n      \"css\": \"escalator-down\",\n      \"code\": 987840,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 334H789.1L289.1 834H166Q132.8 834 108.4 809.6T84 750 108.4 690.4 166 666H220.7L291 595.7V416Q291 400.4 303.7 387.7T334 375H375Q392.6 375 404.3 387.7T416 416V470.7L720.7 166H834Q867.2 166 891.6 190.4T916 250 891.6 309.6 834 334ZM353.5 209Q380.9 209 398.4 226.6T416 270.5 398.4 315.4 354.5 334 309.6 315.4 291 270.5 309.6 226.6 353.5 209ZM617.2 722.7L847.7 492.2 923.8 568.4 693.4 798.8 771.5 875H541V646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"escalator-down\"\n      ]\n    },\n    {\n      \"uid\": \"29f86814ef46fd6e70113b896146352e\",\n      \"css\": \"elevator-up\",\n      \"code\": 987841,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84L459 250H334V416H250V250H125ZM709 84L541 250H666V416H750V250H875ZM291 500H709Q742.2 500 766.6 524.4T791 584V834Q791 867.2 766.6 891.6T709 916H291Q257.8 916 233.4 891.6T209 834V584Q209 548.8 233.4 524.4T291 500ZM291 584V834H709V584H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elevator-up\"\n      ]\n    },\n    {\n      \"uid\": \"2b8fcc1cdf4d5799f3a0eb1011806c69\",\n      \"css\": \"elevator-down\",\n      \"code\": 987842,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 416L459 250H334V84H250V250H125ZM709 416L541 250H666V84H750V250H875ZM291 500H709Q742.2 500 766.6 524.4T791 584V834Q791 867.2 766.6 891.6T709 916H291Q257.8 916 233.4 891.6T209 834V584Q209 548.8 233.4 524.4T291 500ZM291 584V834H709V584H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elevator-down\"\n      ]\n    },\n    {\n      \"uid\": \"f104e507472fb5456e2e322834cf68a0\",\n      \"css\": \"lightbulb-cfl-spiral-off\",\n      \"code\": 987843,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 412.1L578.1 445.3 515.6 382.8 605.5 337.9Q615.2 334 625 334 644.5 334 657.2 348.6T666 382.8 644.5 412.1ZM466.8 334L644.5 246.1Q662.1 236.3 665 216.8T656.3 181.6 625 166Q615.2 166 605.5 169.9L404.3 271.5ZM869.1 947.3L669.9 750H334Q316.4 750 303.7 738.3T291 709V584H334V500Q334 472.7 363.3 459L375 453.1 46.9 125 99.6 72.3 921.9 894.5ZM503.9 584L437.5 515.6 416 525.4V584H503.9ZM375 875Q375 892.6 387.7 904.3T416 916H584Q601.6 916 613.3 904.3T625 875V834H375V875ZM375 209Q382.8 209 394.5 205.1L476.6 162.1Q496.1 152.3 499 132.8T490.2 98.6 459 84Q447.3 84 439.5 87.9L355.5 128.9Q335.9 140.6 333 159.2T342.8 193.4 375 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-cfl-spiral-off\"\n      ]\n    },\n    {\n      \"uid\": \"c419d1a635d928efd8293d7a51dd815d\",\n      \"css\": \"comment-edit-outline\",\n      \"code\": 987844,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 916Q357.4 916 345.7 904.3T334 875V750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H580.1L425.8 904.3Q412.1 916 396.5 916H375ZM416 666V794.9L544.9 666H834V166H166V666H416ZM660.2 341.8L617.2 382.8 531.3 298.8 574.2 255.9Q580.1 250 589.8 250T605.5 255.9L660.2 308.6Q666 314.5 666 324.2T660.2 341.8ZM334 496.1L507.8 322.3 593.8 408.2 419.9 584H334V496.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"comment-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"818b498b2456506458bc33217dc7f008\",\n      \"css\": \"tooltip-edit-outline\",\n      \"code\": 987845,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84H834Q867.2 84 891.6 108.4T916 166V666Q916 701.2 891.6 725.6T834 750H666L500 916 334 750H166Q132.8 750 108.4 725.6T84 666V166Q84 132.8 108.4 108.4T166 84ZM166 166V666H367.2L500 798.8 632.8 666H834V166H166ZM660.2 341.8L617.2 382.8 531.3 298.8 574.2 255.9Q580.1 250 589.8 250T605.5 255.9L660.2 308.6Q666 314.5 666 324.2T660.2 341.8ZM334 496.1L507.8 322.3 593.8 408.2 419.9 584H334V496.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tooltip-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d7468d91331b1b8a699b789f7b0190d1\",\n      \"css\": \"monitor-edit\",\n      \"code\": 987846,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 84H125Q89.8 84 65.4 108.4T41 166V666Q41 701.2 65.4 725.6T125 750H416V834H334V916H666V834H584V750H875Q910.2 750 934.6 725.6T959 666V166Q959 132.8 934.6 108.4T875 84ZM875 666H125V166H875V666ZM660.2 341.8L617.2 382.8 531.3 298.8 574.2 255.9Q580.1 250 589.8 250T605.5 255.9L660.2 308.6Q666 314.5 666 324.2T660.2 341.8ZM334 496.1L507.8 322.3 593.8 408.2 419.9 584H334V496.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-edit\"\n      ]\n    },\n    {\n      \"uid\": \"e9e7706b8dca6f22519dfb03091e1a12\",\n      \"css\": \"email-sync\",\n      \"code\": 987847,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H562.5Q541 783.2 541 728.5 541 656.3 578.1 593.8T676.8 495.1 812.5 459Q843.8 459 875 466.8V250Q875 214.8 850.6 190.4T791 166H125ZM125 250L459 459 791 250V334L459 541 125 334V250ZM791 500L697.3 593.8 791 687.5V625Q834 625 865.2 655.3T896.5 728.5Q896.5 753.9 884.8 775.4L929.7 820.3Q959 779.3 959 728.5 959 660.2 910.2 611.3T791 562.5V500ZM652.3 636.7Q625 679.7 625 728.5 625 798.8 673.8 847.7T791 896.5V959L884.8 865.2 791 771.5V834Q748 834 717.8 802.7T687.5 728.5Q687.5 705.1 699.2 681.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-sync\"\n      ]\n    },\n    {\n      \"uid\": \"e3ffa404bf218dee8845b84f458c7274\",\n      \"css\": \"email-sync-outline\",\n      \"code\": 987848,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H562.5Q544.9 793 541 750H125V334L459 541 791 334V459H812.5Q843.8 459 875 466.8V250Q875 214.8 850.6 190.4T791 166H125ZM125 250H791L459 459ZM791 500L697.3 593.8 791 687.5V625Q834 625 865.2 655.3T896.5 728.5Q896.5 753.9 884.8 775.4L929.7 820.3Q959 779.3 959 728.5 959 660.2 910.2 611.3T791 562.5V500ZM652.3 636.7Q625 679.7 625 728.5 625 798.8 673.8 847.7T791 896.5V959L884.8 865.2 791 771.5V834Q748 834 717.8 802.7T687.5 728.5Q687.5 705.1 699.2 681.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6ab2f4ec48b0fa015051784f19a65775\",\n      \"css\": \"chat-alert-outline\",\n      \"code\": 987849,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q386.7 125 291 169.9T139.6 291 84 459Q84 525.4 114.3 585.9T197.3 687.5Q197.3 714.8 177.7 753.9 146.5 810.5 84 875 156.3 871.1 225.6 844.7T353.5 771.5Q425.8 791 500 791 613.3 791 709 746.1T860.4 625 916 458 860.4 291 709 169.9 500 125ZM500 709Q410.2 709 333 674.8T210.9 583 166 458 210.9 333 333 242.2 500 209 667 242.2 789.1 333 834 458 789.1 583 667 674.8 500 709ZM459 541V625H541V541H459ZM459 459H541V291H459V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"922642274338909729c24b7dbc5033da\",\n      \"css\": \"chat-processing-outline\",\n      \"code\": 987850,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q386.7 125 291 169.9T139.6 291 84 459Q84 525.4 114.3 585.9T197.3 687.5Q197.3 714.8 177.7 753.9 146.5 810.5 84 875 156.3 871.1 225.6 844.7T353.5 771.5Q425.8 791 500 791 613.3 791 709 746.1T860.4 625 916 458 860.4 291 709 169.9 500 125ZM500 709Q410.2 709 333 674.8T210.9 583 166 458 210.9 333 333 242.2 500 209 667 242.2 789.1 333 834 458 789.1 583 667 674.8 500 709ZM709 500V416H625V500H709ZM541 500V416H459V500H541ZM375 500V416H291V500H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-processing-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b53156724d3c9f9e9641a0b2b6de37b7\",\n      \"css\": \"snowflake-melt\",\n      \"code\": 987851,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 744.1Q334 781.3 309.6 807.6T250 834 190.4 807.6 166 744.1 209 640.6Q228.5 609.4 250 584V584L271.5 611.3Q296.9 646.5 312.5 675.8 334 716.8 334 744.1ZM685.5 500V439.5L769.5 392.6 867.2 418 888.7 337.9 814.5 318.4 834 244.1 752 222.7 726.6 320.3 644.5 367.2 541 306.6V212.9L613.3 142.6 554.7 84 500 136.7 445.3 84 386.7 142.6 459 212.9V306.6L353.5 367.2 271.5 320.3 246.1 222.7 166 244.1 185.5 318.4 113.3 337.9 134.8 418 230.5 392.6 314.5 439.5V500H84V541H916V500H685.5ZM396.5 500V439.5L500 378.9 603.5 439.5V500H396.5ZM834 744.1Q834 781.3 809.6 807.6T750 834 690.4 807.6 666 744.1 709 640.6Q728.5 609.4 750 584V584L771.5 611.3Q796.9 646.5 812.5 675.8 834 716.8 834 744.1ZM584 869.1Q584 906.3 559.6 932.6T500 959 440.4 932.6 416 869.1 459 765.6Q478.5 734.4 500 709V709L521.5 736.3Q546.9 771.5 562.5 800.8 584 841.8 584 869.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snowflake-melt\"\n      ]\n    },\n    {\n      \"uid\": \"3cd792cbe9d29e1d4c3a474590208f6d\",\n      \"css\": \"cloud-check-outline\",\n      \"code\": 987852,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 750H250Q181.6 750 132.8 701.2T84 583 132.8 464.8 250 416H279.3Q300.8 343.8 361.3 296.9T500 250Q562.5 250 615.2 281.3T698.2 364.3 728.5 478.5V500H791Q843.8 500 879.9 536.1T916 625 879.9 713.9 791 750ZM806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H791Q847.7 834 895.5 805.7T971.7 729.5 1000 625Q1000 543 944.3 483.4T806.6 418ZM416 709L271.5 562.5 330.1 503.9 416 589.8 607.4 400.4 666 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dfacda23c7bd4a3657bb6a2a270d25e1\",\n      \"css\": \"lightbulb-group-off\",\n      \"code\": 987853,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L753.9 834H701.2Q709 812.5 709 791V787.1L615.2 693.4Q601.6 709 584 709H416Q400.4 709 387.7 696.3T375 666V584Q326.2 546.9 305.7 490.2T296.9 375L228.5 308.6Q209 363.3 209 418.9T230.5 527.3 291 619.1V709H209Q191.4 709 178.7 696.3T166 666V601.6Q130.9 582 109.4 546.9T84 470.7Q78.1 408.2 116.2 358.4T216.8 294.9L46.9 125 99.6 72.3 921.9 894.5ZM625 250Q570.3 209 502.9 209T380.9 248L669.9 537.1Q718.8 466.8 706.1 383.8T625 250ZM824.2 691.4Q834 679.7 834 666V601.6Q892.6 566.4 911.1 500T894.5 375Q873 339.8 838.9 317.4T763.7 291Q791 351.6 791 416 791 517.6 728.5 595.7ZM416 791Q416 808.6 428.7 821.3T459 834H541Q558.6 834 571.3 821.3T584 791V750H416V791ZM291 750H209V791Q209 808.6 220.7 821.3T250 834H298.8Q291 812.5 291 791V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-group-off\"\n      ]\n    },\n    {\n      \"uid\": \"cc8ff32555f62beef98ea63672c13111\",\n      \"css\": \"lightbulb-group-off-outline\",\n      \"code\": 987854,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 216.8 294.9Q154.3 308.6 116.2 358.4T84 470.7Q87.9 511.7 109.4 546.9T166 601.6V666Q166 683.6 178.7 696.3T209 709H291V619.1Q252 580.1 230.5 527.3T209 418.9 228.5 308.6L296.9 375Q285.2 433.6 305.7 490.2T375 584V666Q375 683.6 387.7 696.3T416 709H584Q601.6 709 615.2 693.4L709 787.1V791Q709 812.5 701.2 834H753.9L869.1 947.3ZM384.8 462.9L453.1 531.3Q404.3 511.7 384.8 462.9ZM541 625H459V537.1L541 621.1V625ZM439.5 306.6L380.9 248Q435.5 209 502.9 209T625 250Q664.1 279.3 686.5 323.2T709 416Q709 482.4 669.9 537.1L609.4 476.6Q625 447.3 625 416 625 365.2 588.9 328.1T500 291Q468.8 291 439.5 306.6ZM728.5 595.7Q791 517.6 791 416 791 351.6 763.7 291 804.7 294.9 838.9 317.4T894.5 375Q929.7 433.6 911.1 500T834 601.6V666Q834 679.7 824.2 691.4ZM416 750H584V791Q584 808.6 571.3 821.3T541 834H459Q441.4 834 428.7 821.3T416 791V750ZM291 791Q291 812.5 298.8 834H250Q232.4 834 220.7 821.3T209 791V750H291V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-group-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cc9c961917d6e25aed19934b0c915b07\",\n      \"css\": \"lightbulb-multiple-off\",\n      \"code\": 987855,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L697.3 775.4Q683.6 791 666 791H500Q482.4 791 470.7 779.3T459 750V666Q408.2 628.9 387.7 572.3T378.9 459L312.5 390.6Q289.1 447.3 291 500 289.1 541 302.7 584H291Q273.4 584 261.7 571.3T250 541V459Q207 427.7 185.5 377 158.2 314.5 171.9 250L46.9 125 99.6 72.3 921.9 894.5ZM566.4 209Q543 156.3 498 124T398.4 85.9 291 101.6Q273.4 109.4 255.9 123L402.3 269.5Q476.6 212.9 566.4 209ZM752 619.1Q800.8 550.8 788.1 467.8T709 334Q652.3 293 585 292T462.9 330.1ZM500 875Q500 892.6 511.7 904.3T541 916H625Q642.6 916 654.3 904.3T666 875V834H500V875ZM291 625V666Q291 683.6 302.7 696.3T334 709H375V703.1Q341.8 671.9 318.4 625H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-multiple-off\"\n      ]\n    },\n    {\n      \"uid\": \"8b77827821b139621de52fb79fa90aa4\",\n      \"css\": \"lightbulb-multiple-off-outline\",\n      \"code\": 987856,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 171.9 252Q158.2 316.4 185.5 377 207 425.8 250 459V541Q250 558.6 262.7 571.3T291 584H304.7Q291 543 291 500 291 445.3 312.5 392.6L378.9 459Q375 484.4 375 500 375 548.8 397.5 592.8T459 666V750Q459 767.6 470.7 779.3T500 791H666Q685.5 791 697.3 777.3L869.1 947.3ZM468.8 546.9L537.1 615.2Q488.3 595.7 468.8 546.9ZM625 709H541V621.1L625 703.1V709ZM404.3 271.5L255.9 123Q273.4 109.4 291 101.6 343.8 78.1 399.4 85T500 124 566.4 209Q474.6 214.8 404.3 271.5ZM462.9 330.1Q517.6 291 584 291 632.8 291 676.8 313.5T750 375Q791 429.7 791 497.1T752 619.1L693.4 558.6 701.2 541Q718.8 492.2 696.3 445.3T623 380.9 523.4 390.6ZM320.3 625Q339.8 666 375 703.1V709H334Q316.4 709 303.7 696.3T291 666V625H320.3ZM500 834H666V875Q666 892.6 654.3 904.3T625 916H541Q525.4 916 512.7 904.3T500 875V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightbulb-multiple-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7150a01d57afc9fd978bb7dd0db8d4aa\",\n      \"css\": \"chat-sleep\",\n      \"code\": 987857,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q386.7 125 291 169.9T139.6 291 84 459Q84 523.4 114.3 583T197.3 687.5Q195.3 716.8 175.8 753.9 146.5 812.5 84 875L107.4 873Q140.6 869.1 171.9 861.3 218.8 849.6 259.8 830.1 310.5 806.6 353.5 771.5 423.8 791 500 791 613.3 791 709 746.1T860.4 625 916 458 860.4 291 709 169.9 500 125ZM625 386.7L490.2 541H625V625H375V529.3L509.8 375H375V291H625V386.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-sleep\"\n      ]\n    },\n    {\n      \"uid\": \"d5b604ad471ea11492a22ac3987f654c\",\n      \"css\": \"chat-sleep-outline\",\n      \"code\": 987858,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q386.7 125 291 169.9T139.6 291 84 459Q84 525.4 114.3 585.9T197.3 687.5Q197.3 714.8 177.7 753.9 146.5 810.5 84 875 156.3 871.1 225.6 844.7T353.5 771.5Q425.8 791 500 791 613.3 791 709 746.1T860.4 625 916 458 860.4 291 709 169.9 500 125ZM500 709Q410.2 709 333 674.8T210.9 583 166 458 210.9 333 333 242.2 500 209 667 242.2 789.1 333 834 458 789.1 583 667 674.8 500 709ZM625 291H375V375H509.8L375 529.3V625H625V541H490.2L625 386.7V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-sleep-outline\"\n      ]\n    },\n    {\n      \"uid\": \"68e856d041c2c6b2d399328f633eee46\",\n      \"css\": \"garage-variant\",\n      \"code\": 987859,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 375V834H834V459H166V834H84V375L500 209ZM791 500H209V584H791V500ZM791 750H209V834H791V750ZM791 625H209V709H791V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"garage-variant\"\n      ]\n    },\n    {\n      \"uid\": \"59f3282aa6d0c5e2b516975f0fc53188\",\n      \"css\": \"garage-open-variant\",\n      \"code\": 987860,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 375V834H834V459H166V834H84V375L500 209ZM791 500H209V584H791V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"garage-open-variant\"\n      ]\n    },\n    {\n      \"uid\": \"d84940a32b5a1c274032fff33f2f03eb\",\n      \"css\": \"garage-alert-variant\",\n      \"code\": 987861,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 375V834H750V459H84V834H0V375L416 209ZM709 500H125V584H709V500ZM709 625H125V709H709V625ZM916 625V416H1000V625H916ZM916 791V709H1000V791H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"garage-alert-variant\"\n      ]\n    },\n    {\n      \"uid\": \"2dd8aefb4ed4cfdcdb9df05f5721c579\",\n      \"css\": \"cloud-sync-outline\",\n      \"code\": 987862,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 779.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 591.8Q707 584 791 500ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L886.7 865.2Q877 873 791 959ZM543 750H250Q181.6 750 132.8 701.2T84 583 132.8 464.8 250 416H279.3Q300.8 343.8 361.3 296.9T500 250Q560.5 250 612.3 279.3T695.3 359.4 728.5 470.7Q767.6 459 812.5 459 888.7 459 959 500 929.7 464.8 890.6 443.4T806.6 418Q785.2 308.6 699.2 237.3T500 166Q412.1 166 336.9 211.9T222.7 334Q128.9 345.7 64.5 416T0 584Q0 650.4 33.2 708T124 799.8 250 834H562.5Q546.9 794.9 543 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cloud-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"875485782c91528436d8f36947d84fca\",\n      \"css\": \"globe-light\",\n      \"code\": 987863,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 335.9V84H459V335.9Q388.7 347.7 331.1 387.7T241.2 490.2 209 625Q209 705.1 248 771.5T353.5 877 500 916 646.5 877 752 771.5 791 625Q791 552.7 758.8 490.2T668.9 387.7 541 335.9ZM500 834Q443.4 834 395.5 805.7T319.3 729.5 291 625Q291 556.6 334 500H666Q709 556.6 709 625 709 681.6 680.7 729.5T604.5 805.7 500 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"globe-light\"\n      ]\n    },\n    {\n      \"uid\": \"48a61a302cda203d365131549c00764a\",\n      \"css\": \"cellphone-nfc-off\",\n      \"code\": 987864,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L785.2 863.3Q775.4 888.7 754.9 902.3T709 916H621.1Q615.2 826.2 582 750H671.9L291 371.1V459Q252 441.4 209 431.6V287.1L46.9 125 99.6 72.3 921.9 894.5ZM709 209V574.2L791 658.2V125Q791 89.8 766.6 65.4T709 41H291Q267.6 41 249 53.7T218.8 85.9L341.8 209H709ZM84 834V959H209Q209 906.3 171.9 870.1T84 834ZM84 666V750Q140.6 750 188.5 778.3T263.7 854.5 291 959H375Q375 878.9 335.9 811.5T229.5 705.1 84 666ZM84 500V584Q185.5 584 271.5 633.8T408.2 770.5 459 959H541Q541 834 479.5 728.5T312.5 561.5 84 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-nfc-off\"\n      ]\n    },\n    {\n      \"uid\": \"d214584194b84e5afa841a553094be4f\",\n      \"css\": \"leaf-off\",\n      \"code\": 987865,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L630.9 709Q498 834 334 834 312.5 834 277.3 820.3L238.3 916 158.2 888.7 169.9 863.3Q222.7 730.5 259.8 664.1 320.3 552.7 402.3 480.5L365.2 443.4Q216.8 544.9 156.3 718.8L136.7 697.3Q115.2 669.9 101.6 640.6 84 599.6 84 562.5 84 507.8 121.1 443.4 164.1 367.2 238.3 316.4L46.9 125 99.6 72.3 921.9 894.5ZM709 334Q609.4 355.5 529.3 396.5L728.5 595.7Q816.4 466.8 875 283.2 904.3 191.4 916 125V125Q896.5 164.1 791 191.4 726.6 207 564.5 230.5 445.3 248 390.6 257.8L505.9 373Q576.2 347.7 648.4 337.9 685.5 334 709 334V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leaf-off\"\n      ]\n    },\n    {\n      \"uid\": \"6aee8810e6783d05cb2f0e019f74ff7b\",\n      \"css\": \"leaf-maple-off\",\n      \"code\": 987866,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M753.9 621.1L341.8 209H416L500 84 584 209H666L599.6 412.1 742.2 250 783.2 322.3 933.6 332 867.2 466.8 908.2 541ZM99.6 72.3L46.9 125 226.6 306.6 216.8 324.2 66.4 334 132.8 468.8 91.8 541 334 666 291 750 459 718.8V875H541V718.8L662.1 742.2 869.1 947.3 921.9 894.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"leaf-maple-off\"\n      ]\n    },\n    {\n      \"uid\": \"56bc28bf9ee9ea298606f6e99e0cf2e7\",\n      \"css\": \"map-marker-left\",\n      \"code\": 987867,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 478.5Q582 478.5 551.8 448.2T521.5 375 551.8 301.8 625 271.5 698.2 301.8 728.5 375 698.2 448.2 625 478.5ZM334 375Q334 449.2 378.9 552.7 416 632.8 478.5 728.5 525.4 794.9 580.1 863.3L625 916 669.9 863.3Q724.6 794.9 771.5 728.5 834 632.8 871.1 552.7 916 449.2 916 372.1T877 228.5 771.5 123 625 84 478.5 123 373 228.5 334 375ZM250 291L41 500 250 709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-left\"\n      ]\n    },\n    {\n      \"uid\": \"702c0afa94f5d475c8c7208342705f99\",\n      \"css\": \"map-marker-right\",\n      \"code\": 987868,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 478.5Q332 478.5 301.8 448.2T271.5 375 301.8 301.8 375 271.5 448.2 301.8 478.5 375 448.2 448.2 375 478.5ZM375 84Q294.9 84 228.5 123T123 228.5 84 372.1 128.9 552.7Q166 632.8 228.5 728.5 275.4 794.9 330.1 863.3L375 916 419.9 863.3Q474.6 794.9 521.5 728.5 584 632.8 621.1 552.7 666 451.2 666 373T627 228.5 521.5 123 375 84ZM750 709L959 500 750 291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-right\"\n      ]\n    },\n    {\n      \"uid\": \"549b2f4b1314b378f7f17ccf2e170dec\",\n      \"css\": \"map-marker-left-outline\",\n      \"code\": 987869,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 271.5Q668 271.5 698.2 301.8T728.5 375 698.2 448.2 625 478.5 551.8 448.2 521.5 375 551.8 301.8 625 271.5ZM625 84Q705.1 84 771.5 123T877 228.5 916 375Q916 511.7 771.5 728.5 697.3 835.9 625 916V916L580.1 863.3Q525.4 794.9 478.5 728.5 416 632.8 378.9 552.7 334 451.2 334 373T373 228.5 478.5 123 625 84ZM416 375Q416 408.2 423.8 435.5 437.5 488.3 478.5 560.5 529.3 652.3 625 779.3 720.7 652.3 771.5 560.5 812.5 488.3 826.2 435.5 834 408.2 834 375 834 318.4 805.7 270.5T729.5 194.3 625 166 520.5 194.3 444.3 270.5 416 375ZM250 291L41 500 250 709V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-left-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6c10883dc3106e695cd9d08c028bb2d4\",\n      \"css\": \"map-marker-right-outline\",\n      \"code\": 987870,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 271.5Q418 271.5 448.2 301.8T478.5 375 448.2 448.2 375 478.5 301.8 448.2 271.5 375 301.8 301.8 375 271.5ZM375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 511.7 521.5 728.5 447.3 835.9 375 916V916L330.1 863.3Q275.4 794.9 228.5 728.5 166 632.8 128.9 552.7 84 451.2 84 373T123 228.5 228.5 123 375 84ZM375 166Q318.4 166 270.5 194.3T194.3 270.5 166 375Q166 408.2 173.8 435.5 187.5 488.3 228.5 560.5 279.3 652.3 375 779.3 470.7 652.3 521.5 560.5 562.5 488.3 576.2 435.5 584 408.2 584 375 584 318.4 555.7 270.5T479.5 194.3 375 166ZM750 709L959 500 750 291V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2c508b5ce45578be412f770458fe6a03\",\n      \"css\": \"account-cancel\",\n      \"code\": 987871,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166Q347.7 166 298.8 214.8T250 333 298.8 451.2 417 500 535.2 451.2 584 333 535.2 214.8 416 166ZM728.5 541Q650.4 541 595.7 595.7T541 728.5 595.7 861.3 728.5 916 861.3 861.3 916 728.5 861.3 595.7 728.5 541ZM416 584Q326.2 584 250 606.4T128.9 667 84 750V834H478.5Q459 783.2 459 728.5 459 654.3 498 589.8 451.2 584 416 584ZM728.5 603.5Q781.3 603.5 817.4 640.6T853.5 728.5Q853.5 763.7 835.9 791L666 621.1Q693.4 603.5 728.5 603.5ZM621.1 666L791 835.9Q763.7 853.5 728.5 853.5 677.7 853.5 640.6 817.4T603.5 728.5Q603.5 693.4 621.1 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"57f41e80bdb8c4c763ec7abebdc33872\",\n      \"css\": \"account-cancel-outline\",\n      \"code\": 987872,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166Q347.7 166 298.8 214.8T250 333 298.8 451.2 417 500 535.2 451.2 584 333 535.2 214.8 416 166ZM416 250Q451.2 250 475.6 274.4T500 333 475.6 391.6 417 416 358.4 391.6 334 333 358.4 274.4 416 250ZM416 541Q355.5 541 281.3 560.5 197.3 582 144.5 615.2 84 656.3 84 709V834H478.5Q462.9 794.9 459 753.9H162.1V709Q162.1 695.3 201.2 673.8T294.9 636.7Q359.4 621.1 416 621.1 445.3 621.1 478.5 627 496.1 585.9 523.4 554.7 462.9 541 416 541ZM728.5 541Q650.4 541 595.7 595.7T541 728.5 595.7 861.3 728.5 916 861.3 861.3 916 728.5 861.3 595.7 728.5 541ZM728.5 603.5Q781.3 603.5 817.4 640.6T853.5 728.5Q853.5 763.7 835.9 791L666 621.1Q693.4 603.5 728.5 603.5ZM621.1 666L791 835.9Q763.7 853.5 728.5 853.5 677.7 853.5 640.6 817.4T603.5 728.5Q603.5 693.4 621.1 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cancel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3cc878a80f34f85ebfb648301027d597\",\n      \"css\": \"file-clock\",\n      \"code\": 987873,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H517.6Q585.9 959 666 959T812.5 918.9 918.9 812.5 959 666Q959 570.3 900.4 493.2T750 386.7V334L500 84H166ZM459 146.5L687.5 375H459V146.5ZM666 459Q722.7 459 770.5 486.3T846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875 561.5 846.7 486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459ZM625 500V709L775.4 798.8 806.6 748 687.5 677.7V500H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-clock\"\n      ]\n    },\n    {\n      \"uid\": \"fdb8ac055d76a633ddf9dd23cb318707\",\n      \"css\": \"file-clock-outline\",\n      \"code\": 987874,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84Q132.8 84 108.4 108.4T84 166V834Q84 867.2 108.4 891.6T166 916H517.6Q585.9 959 666 959T812.5 918.9 918.9 812.5 959 666Q959 570.3 900.4 493.2T750 386.7V334L500 84H166ZM166 166H459V375H666Q587.9 375 520.5 414.1T414.1 520.5 375 666Q375 757.8 427.7 834H166V166ZM666 459Q722.7 459 770.5 486.3T846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875 561.5 846.7 486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459ZM625 500V709L775.4 798.8 806.6 748 687.5 677.7V500H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-clock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f763b1bed7bf3107699a403a9a3544ce\",\n      \"css\": \"folder-table\",\n      \"code\": 987875,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM500 375H625V459H500V375ZM666 375H791V459H666V375ZM500 500H625V584H500V500ZM666 500H791V584H666V500ZM500 625H625V709H500V625ZM666 625H791V709H666V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-table\"\n      ]\n    },\n    {\n      \"uid\": \"514c62d4abbb79d6b2830959b694e304\",\n      \"css\": \"folder-table-outline\",\n      \"code\": 987876,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V334Q916 298.8 891.6 274.4T834 250H500L416 166H166ZM166 334H834V750H166V334ZM500 375V459H625V375H500ZM666 375V459H791V375H666ZM500 500V584H625V500H500ZM666 500V584H791V500H666ZM500 625V709H625V625H500ZM666 625V709H791V625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-table-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1fb1bd0b29e18b661c2bb4bf8f57442c\",\n      \"css\": \"hydro-power\",\n      \"code\": 987877,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M712.9 148.4Q685.5 148.4 663.1 164.1T632.8 207L599.6 312.5Q576.2 312.5 554.7 322.3L478.5 240.2 423.8 179.7Q398.4 201.2 396.5 236.3T418 296.9L494.1 378.9Q488.3 388.7 485.4 399.4T480.5 421.9L289.1 464.8Q296.9 498 326.2 516.6T388.7 527.3L498 503.9Q509.8 523.4 529.3 537.1L470.7 722.7Q503.9 732.4 534.2 716.8T574.2 668L609.4 562.5Q632.8 562.5 654.3 552.7L785.2 695.3Q810.5 671.9 811.5 637.7T789.1 578.1L714.8 496.1Q720.7 486.3 723.6 475.6T728.5 453.1L918 410.2Q910.2 377 881.8 358.4T818.4 347.7L710.9 371.1Q697.3 351.6 679.7 337.9L738.3 152.3Q726.6 148.4 712.9 148.4ZM607.4 375Q615.2 375 623 377 648.4 384.8 660.2 408.2T664.1 456.1 632.8 492.2 585 497.1 548.8 466.8 544.9 418Q550.8 398.4 568.4 386.7T605.5 375H607.4ZM334 570.3Q253.9 625 166 625H84V709H166Q252 709 334 666 378.9 691.4 433.6 701.2L459 619.1Q392.6 611.3 334 570.3ZM851.6 625Q855.5 671.9 830.1 709H916V625H851.6ZM334 736.3Q253.9 791 166 791H84V875H166Q252 875 334 834 412.1 873 500 873T666 834Q748 875 834 875H916V791H834Q746.1 791 666 736.3 589.8 789.1 500 789.1T334 736.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hydro-power\"\n      ]\n    },\n    {\n      \"uid\": \"93d137caa78cd9d590333077b1011de2\",\n      \"css\": \"doorbell\",\n      \"code\": 987878,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 416Q464.8 416 440.4 440.4T416 500 440.4 559.6 500 584 559.6 559.6 584 500 559.6 440.4 500 416ZM666 84H334Q298.8 84 274.4 108.4T250 166V834Q250 867.2 274.4 891.6T334 916H666Q701.2 916 725.6 891.6T750 834V166Q750 132.8 725.6 108.4T666 84ZM666 834H334V166H666V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"doorbell\"\n      ]\n    },\n    {\n      \"uid\": \"f6e2098e016af0005f99b71cec0e94af\",\n      \"css\": \"bulma\",\n      \"code\": 987879,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M474.6 84L265.6 291 212.9 656.3 474.6 916 787.1 709 578.1 500 734.4 343.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bulma\"\n      ]\n    },\n    {\n      \"uid\": \"d355355d7a535356ebbd179737f8eb45\",\n      \"css\": \"iobroker\",\n      \"code\": 987880,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q470.7 84 437.5 87.9V201.2Q468.8 195.3 500 195.3T562.5 201.2V87.9Q531.3 84 500 84ZM408.2 93.8Q318.4 115.2 245.1 173.8T129.9 317.4 87.9 500Q87.9 613.3 143.6 709T293.9 860.4 500 916 706.1 860.4 856.4 709 912.1 500Q912.1 402.3 870.1 317.4T754.9 173.8 591.8 93.8V209Q685.5 238.3 746.1 318.4T806.6 500Q806.6 582 764.6 652.3T652.3 763.7 500 804.7 347.7 763.7 236.3 652.3 195.3 500Q195.3 398.4 254.9 318.4T408.2 209V93.8ZM500 226.6Q466.8 226.6 437.5 234.4V761.7Q468.8 767.6 501 767.6T562.5 761.7V234.4Q533.2 226.6 500 226.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"iobroker\"\n      ]\n    },\n    {\n      \"uid\": \"be6b485b1455b81caf5009bcc1b8140b\",\n      \"css\": \"oci\",\n      \"code\": 987881,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84V916H916V84H84ZM796.9 793H203.1V209H796.9V793ZM617.2 445.3H736.3V732.4H617.2V445.3ZM617.2 267.6H736.3V386.7H617.2V267.6ZM261.7 267.6V732.4H558.6V613.3H382.8V386.7H558.6V267.6H261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"oci\"\n      ]\n    },\n    {\n      \"uid\": \"aef34beab51188d56fd8b89075d42d65\",\n      \"css\": \"label-percent\",\n      \"code\": 987882,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M734.4 244.1Q722.7 226.6 705.1 217.8T666 209H209Q173.8 209 149.4 233.4T125 291V709Q125 742.2 149.4 766.6T209 791H666Q687.5 791 705.1 782.2T734.4 755.9L916 500ZM351.6 334Q377 334 394.5 351.6T412.1 393.6 394.5 435.5 352.5 453.1 310.5 435.5 293 393.6 310.5 351.6 351.6 334ZM564.5 666Q541 666 523.4 648.4T505.9 606.4 523.4 564.5 565.4 546.9 606.4 564.5 623 606.4 606.4 648.4 564.5 666ZM341.8 666L291 617.2 574.2 334 625 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-percent\"\n      ]\n    },\n    {\n      \"uid\": \"bfccfee3d8d05bc7b78dbb7e79286ad1\",\n      \"css\": \"label-percent-outline\",\n      \"code\": 987883,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 709H209V291H666L814.5 500ZM734.4 244.1Q722.7 226.6 705.1 217.8T666 209H209Q173.8 209 149.4 233.4T125 291V709Q125 742.2 149.4 766.6T209 791H666Q687.5 791 705.1 782.2T734.4 755.9L916 500ZM574.2 334L625 382.8 341.8 666 291 617.2ZM351.6 334Q377 334 394.5 351.6T412.1 393.6 394.5 435.5 352.5 453.1 310.5 435.5 293 393.6 310.5 351.6 351.6 334ZM564.5 546.9Q589.8 546.9 606.4 564.5T623 606.4 606.4 648.4 565.4 666 523.4 648.4 505.9 606.4 523.4 564.5 564.5 546.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-percent-outline\"\n      ]\n    },\n    {\n      \"uid\": \"13a38b3d6c177f661acdaea77f8e1eaf\",\n      \"css\": \"checkbox-blank-off\",\n      \"code\": 987884,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L794.9 875H209Q173.8 875 149.4 850.6T125 791V205.1L46.9 125 99.6 72.3 921.9 894.5ZM875 209Q875 173.8 850.6 149.4T791 125H257.8L875 742.2V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-off\"\n      ]\n    },\n    {\n      \"uid\": \"d5b1392d59a56ca48690ade31787591e\",\n      \"css\": \"checkbox-blank-off-outline\",\n      \"code\": 987885,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 125 205.1V791Q125 826.2 149.4 850.6T209 875H794.9L869.1 947.3ZM209 791V287.1L712.9 791H209ZM341.8 209L257.8 125H791Q826.2 125 850.6 149.4T875 209V742.2L791 658.2V209H341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"checkbox-blank-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"16cbb4500751b0c25892cadc248e908a\",\n      \"css\": \"square-off\",\n      \"code\": 987886,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L796.9 875H125V203.1L46.9 125 99.6 72.3 921.9 894.5ZM875 125H257.8L875 742.2V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-off\"\n      ]\n    },\n    {\n      \"uid\": \"b554059662a5df2d9de8a26aaf7924c0\",\n      \"css\": \"square-off-outline\",\n      \"code\": 987887,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 125 203.1V875H796.9L869.1 947.3ZM209 791V287.1L712.9 791H209ZM341.8 209L257.8 125H875V742.2L791 658.2V209H341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ae3a70553a3a2c34abd1d844e411f200\",\n      \"css\": \"drag-horizontal-variant\",\n      \"code\": 987888,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 459H125V375H875V459ZM875 541H125V625H875V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drag-horizontal-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ceca6aed8e84205eabbd9869980f8544\",\n      \"css\": \"drag-vertical-variant\",\n      \"code\": 987889,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 875H375V125H459V875ZM625 125H541V875H625V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"drag-vertical-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ecf58cc1391520ede7a83839fda25cc1\",\n      \"css\": \"message-arrow-left\",\n      \"code\": 987890,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM666 459H478.5L554.7 533.2 500 584 334 416 500 250 550.8 300.8 478.5 375H666V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"f168de29d0e90b93eb0d0e27a4cad76f\",\n      \"css\": \"message-arrow-left-outline\",\n      \"code\": 987891,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666ZM666 459V375H478.5L554.7 300.8 500 250 334 416 500 584 550.8 533.2 478.5 459H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-arrow-left-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d4faceffe3ac7e82cb269785306b7b1b\",\n      \"css\": \"message-arrow-right\",\n      \"code\": 987892,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM500 584L449.2 533.2 525.4 459H334V375H521.5L445.3 300.8 500 250 666 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"024c569e30f1b9ca7ce364e9cd704684\",\n      \"css\": \"message-arrow-right-outline\",\n      \"code\": 987893,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 84H166Q132.8 84 108.4 108.4T84 166V916L250 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM834 666H250L166 750V166H834V666ZM334 375V459H521.5L445.3 533.2 500 584 666 416 500 250 449.2 300.8 521.5 375H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"message-arrow-right-outline\"\n      ]\n    },\n    {\n      \"uid\": \"273e5a6e7858c8a107b9dbb7a5dd56f4\",\n      \"css\": \"database-marker\",\n      \"code\": 987894,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 500Q710.9 500 668 543T625 646.5Q625 693.4 662.1 763.7 689.5 814.5 732.4 871.1L771.5 916 808.6 871.1Q851.6 814.5 878.9 763.7 916 693.4 916 646.5 916 585.9 873 543T771.5 500ZM771.5 699.2Q750 699.2 735.4 684.6T720.7 649.4 736.3 614.3 770.5 599.6 804.7 615.2 822.3 649.4 808.6 683.6 771.5 699.2ZM166 500V375Q166 419.9 210.9 458T333 518.6 500 541Q535.2 541 570.3 537.1 541 589.8 541 646.5 541 658.2 543 664.1 529.3 666 500 666 410.2 666 333 643.6T210.9 583 166 500ZM166 291Q166 246.1 210.9 208T333 147.5 500 125 667 147.5 789.1 208 834 292 789.1 376 667 436.5 500 459 333 436.5 210.9 376 166 291ZM625 863.3Q566.4 875 500 875 410.2 875 333 852.5T210.9 792 166 709V584Q166 628.9 210.9 667T333 727.5 500 750Q527.3 750 562.5 748 585.9 804.7 625 863.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"database-marker\"\n      ]\n    },\n    {\n      \"uid\": \"e2fada4cbe3374aade31f2a08e140f78\",\n      \"css\": \"tag-multiple-outline\",\n      \"code\": 987895,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 416Q294.9 416 314.5 397.5T334 354.5 314.5 310.5 270.5 291 227.5 310.5 209 354.5 227.5 397.5 271.5 416ZM375 250L666 541 459 750 166 459V250H375ZM375 166H166Q132.8 166 108.4 190.4T84 250V459Q84 498 107.4 517.6L400.4 808.6Q418 834 458 834T517.6 808.6L724.6 599.6Q750 574.2 750 541 750 502 724.6 482.4L433.6 191.4Q414.1 166 375 166ZM562.5 238.3L603.5 195.3 892.6 482.4Q916 507.8 916 541 916 558.6 910.2 575.2T892.6 599.6L666 824.2 625 783.2 863.3 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tag-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d398e002af5625335664acabbd349d9d\",\n      \"css\": \"map-marker-plus-outline\",\n      \"code\": 987896,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H750V584H834V709H959V791H834V916H750V791H625V709ZM375 271.5Q418 271.5 448.2 301.8T478.5 375 448.2 448.2 375 478.5 301.8 448.2 271.5 375 301.8 301.8 375 271.5ZM375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 509.8 521.5 726.6 447.3 835.9 375 916V916L330.1 863.3Q275.4 794.9 228.5 726.6 166 632.8 128.9 550.8 84 449.2 84 375 84 294.9 123 228.5T228.5 123 375 84ZM375 166Q287.1 166 226.6 226.6T166 375Q166 408.2 173.8 435.5 187.5 488.3 228.5 558.6 279.3 652.3 375 779.3 470.7 652.3 521.5 558.6 562.5 488.3 576.2 435.5 584 408.2 584 375 584 287.1 523.4 226.6T375 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b4e4cb81276d918c12a09cb92dd63c09\",\n      \"css\": \"map-marker-minus-outline\",\n      \"code\": 987897,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 709H959V791H625V709ZM375 271.5Q418 271.5 448.2 301.8T478.5 375 448.2 448.2 375 478.5 301.8 448.2 271.5 375 301.8 301.8 375 271.5ZM375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 509.8 521.5 726.6 447.3 835.9 375 916V916L330.1 863.3Q275.4 794.9 228.5 726.6 166 632.8 128.9 550.8 84 449.2 84 375 84 294.9 123 228.5T228.5 123 375 84ZM375 166Q287.1 166 226.6 226.6T166 375Q166 408.2 173.8 435.5 187.5 488.3 228.5 558.6 279.3 652.3 375 779.3 470.7 652.3 521.5 558.6 562.5 488.3 576.2 435.5 584 408.2 584 375 584 287.1 523.4 226.6T375 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"334a9945c3f0afaed8652f1739745803\",\n      \"css\": \"map-marker-remove-outline\",\n      \"code\": 987898,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M691.4 591.8L632.8 650.4 732.4 750 632.8 849.6 691.4 908.2 791 808.6 892.6 908.2 949.2 849.6 849.6 750 949.2 650.4 892.6 591.8 791 691.4ZM375 271.5Q418 271.5 448.2 301.8T478.5 375 448.2 448.2 375 478.5 301.8 448.2 271.5 375 301.8 301.8 375 271.5ZM375 84Q455.1 84 521.5 123T627 228.5 666 375Q666 509.8 521.5 726.6 447.3 835.9 375 916V916L330.1 863.3Q275.4 794.9 228.5 726.6 166 632.8 128.9 550.8 84 449.2 84 375 84 294.9 123 228.5T228.5 123 375 84ZM375 166Q287.1 166 226.6 226.6T166 375Q166 408.2 173.8 435.5 187.5 488.3 228.5 558.6 279.3 652.3 375 779.3 470.7 652.3 521.5 558.6 562.5 488.3 576.2 435.5 584 408.2 584 375 584 287.1 523.4 226.6T375 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"609b2cea9d8d5156b165ed828c371294\",\n      \"css\": \"map-marker-check-outline\",\n      \"code\": 987899,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q587.9 166 648.4 226.6T709 375Q709 457 636.7 584 584 679.7 500 787.1 416 679.7 363.3 584 291 457 291 375 291 287.1 351.6 226.6T500 166ZM500 84Q419.9 84 353.5 123T248 228.5 209 375Q209 449.2 253.9 550.8 291 632.8 353.5 726.6 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q599.6 794.9 646.5 726.6 709 632.8 746.1 550.8 791 449.2 791 375 791 294.9 752 228.5T646.5 123 500 84ZM470.7 584L675.8 375 617.2 316.4 470.7 466.8 404.3 400.4 345.7 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f0feb588fcadf0c4979b8509706bb4b6\",\n      \"css\": \"map-marker-radius-outline\",\n      \"code\": 987900,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q568.4 166 617.2 214.8T666 334Q666 394.5 613.3 494.1 568.4 576.2 500 662.1 429.7 570.3 386.7 492.2 334 392.6 334 334 334 263.7 382.8 214.8T500 166ZM500 84Q431.6 84 375 117.2T284.2 208 250 334Q250 451.2 375 632.8 437.5 724.6 500 791V791L539.1 746.1Q585.9 689.5 625 630.9 679.7 550.8 710.9 482.4 750 396.5 750 334 750 265.6 715.8 208T625 117.2 500 84ZM500 250Q464.8 250 440.4 274.4T416 333 440.4 391.6 500 416 559.6 391.6 584 333 559.6 274.4 500 250ZM834 791Q834 835.9 789.1 875T667 936.5 500 959 333 936.5 210.9 875 166 791Q166 752 200.2 717.8T294.9 658.2L320.3 695.3Q250 730.5 250 772.5T323.2 844.7 500 875 676.8 844.7 750 772.5 675.8 695.3L699.2 658.2Q763.7 683.6 798.8 717.8T834 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-radius-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9b72868dcb48a13afe020081845968bf\",\n      \"css\": \"map-marker-off-outline\",\n      \"code\": 987901,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 820.3L136.7 125 84 179.7 216.8 312.5Q209 353.5 209 375 209 449.2 253.9 550.8 291 632.8 353.5 726.6 400.4 794.9 455.1 863.3L500 916 544.9 863.3Q597.7 798.8 642.6 732.4L783.2 875ZM500 779.3Q373 607.4 324.2 503.9 291 435.5 291 386.7L574.2 669.9Q560.5 693.4 525.4 744.1ZM349.6 232.4L291 175.8Q330.1 130.9 383.8 107.4T500 84Q580.1 84 646.5 123T752 228.5 791 375Q791 468.8 720.7 603.5L658.2 541Q691.4 476.6 701.2 429.7 709 404.3 709 375 709 287.1 648.4 226.6T500 166Q457 166 418 183.6T349.6 232.4ZM500 271.5Q543 271.5 573.2 301.8T603.5 376 570.3 455.1L425.8 308.6Q437.5 291 457 281.3T500 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"map-marker-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c63e27821c2678b411bb30dfb0093a6d\",\n      \"css\": \"molecule-co\",\n      \"code\": 987902,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 291Q298.8 291 274.4 315.4T250 375V625Q250 660.2 274.4 684.6T334 709H459V625H334V375H459V291H334ZM584 291Q548.8 291 524.4 315.4T500 375V625Q500 660.2 524.4 684.6T584 709H666Q701.2 709 725.6 684.6T750 625V375Q750 339.8 725.6 315.4T666 291H584ZM584 375H666V625H584V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"molecule-co\"\n      ]\n    },\n    {\n      \"uid\": \"d0c8f44b22b0a44ef94813d7ad2c4f9e\",\n      \"css\": \"jump-rope\",\n      \"code\": 987903,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 187.5V437.5Q875 459 860.4 477.5T824.2 500V720.7Q824.2 775.4 793 820.3 750 878.9 666 878.9H603.5Q634.8 847.7 646.5 816.4H666Q722.7 816.4 746.1 775.4 757.8 752 757.8 724.6V500Q736.3 496.1 722.7 479.5T709 437.5V187.5Q709 162.1 727.5 143.6T771.5 125H812.5Q837.9 125 856.4 143.6T875 187.5ZM617.2 757.8Q617.2 806.6 583 840.8T500 875H334Q250 875 207 816.4 175.8 771.5 175.8 716.8V500Q154.3 496.1 139.6 477.5T125 437.5V187.5Q125 162.1 143.6 143.6T187.5 125H228.5Q253.9 125 272.5 143.6T291 187.5V437.5Q291 459 277.3 477.5T242.2 500V720.7Q242.2 750 253.9 773.4 277.3 812.5 334 812.5H400.4Q386.7 787.1 386.7 761.7V345.7Q386.7 298.8 420.9 263.7T504.9 228.5 585.9 261.7 617.2 345.7V757.8ZM550.8 341.8Q550.8 322.3 536.1 306.6T500 291 463.9 306.6 449.2 341.8V757.8Q449.2 779.3 464.8 793.9T500 808.6 535.2 793 550.8 757.8V341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"jump-rope\"\n      ]\n    },\n    {\n      \"uid\": \"e0c7acd1a579a70a96b5b7d3e676be3a\",\n      \"css\": \"kettlebell\",\n      \"code\": 987904,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M675.8 445.3L699.2 345.7Q707 324.2 707 298.8 709 257.8 687.5 224.6 648.4 166 541 166H459Q351.6 166 312.5 224.6 281.3 271.5 298.8 343.8L324.2 445.3Q289.1 480.5 269.5 526.4T250 625Q250 689.5 280.3 744.1T363.3 834H636.7Q689.5 798.8 719.7 744.1T750 625Q750 572.3 730.5 526.4T675.8 445.3ZM400.4 396.5L378.9 324.2 377 304.7Q375 285.2 382.8 275.4 396.5 250 459 250H541Q599.6 250 621.1 271.5 628.9 281.3 627 300.8L625 316.4 603.5 396.5Q548.8 375 499 375T400.4 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettlebell\"\n      ]\n    },\n    {\n      \"uid\": \"898992152bc33473665d23617348ee67\",\n      \"css\": \"account-convert-outline\",\n      \"code\": 987905,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 0L472.7 2 630.9 160.2 687.5 103.5Q791 154.3 857.4 248T935.5 459H998Q988.3 332 918.9 226.6T739.3 60.5 500 0ZM500 166Q439.5 166 396.5 209T353.5 312.5 396.5 416 500 459 603.5 416 646.5 312.5 603.5 209 500 166ZM500 250Q525.4 250 543.9 268.6T562.5 312.5 543.9 356.4 500 375 456.1 356.4 437.5 312.5 456.1 268.6 500 250ZM2 541Q11.7 668 81.1 773.4T260.7 939.5 500 1000L527.3 998 369.1 839.8 312.5 896.5Q209 845.7 142.6 752T64.5 541H2ZM500 541Q419.9 541 353.5 560.5T248 614.3 209 687.5V750H791V687.5Q791 648.4 752 614.3T646.5 560.5 500 541ZM500 625Q560.5 625 611.3 638.7 654.3 648.4 683.6 666H316.4Q345.7 648.4 388.7 638.7 439.5 625 500 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-convert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"315b620b12122826aee30eab2903a0d2\",\n      \"css\": \"bunk-bed\",\n      \"code\": 987906,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 84V959H125V875H875V959H959V291Q959 222.7 910.2 173.8T791 125H416V334H125V84H41ZM271.5 84Q228.5 84 197.3 114.3T166 187.5 197.3 260.7 271.5 291 344.7 260.7 375 187.5 344.7 114.3 271.5 84ZM125 459H875V564.5Q835.9 541 791 541H416V750H125V459ZM271.5 500Q228.5 500 197.3 530.3T166 603.5 197.3 677.7 271.5 709 344.7 677.7 375 603.5 344.7 530.3 271.5 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bunk-bed\"\n      ]\n    },\n    {\n      \"uid\": \"b8eb483e7f84f073917e4eae3f4fb40f\",\n      \"css\": \"fleur-de-lis\",\n      \"code\": 987907,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q490.2 89.8 480.5 97.7 457 117.2 437.5 140.6 410.2 171.9 394.5 207 375 248 375 289.1T386.7 373Q392.6 400.4 412.1 451.2 435.5 513.7 443.4 548.8 459 607.4 459 666H416V642.6Q412.1 611.3 404.3 580.1 392.6 537.1 375 500 345.7 441.4 300.8 418 261.7 398.4 220.7 411.1T152.3 460 125 540 138.7 613.3Q148.4 636.7 166 650.4 179.7 660.2 195.3 664.1L209 666Q209 623 230.5 597.7T281.3 572.3 332 597.7 353.5 666H291V750H437.5L375 834 386.7 841.8Q402.3 851.6 418 851.6 439.5 851.6 459 834L500 916 541 834Q560.5 851.6 582 851.6 597.7 851.6 613.3 841.8L625 834 562.5 750H709V666H646.5Q646.5 623 668 597.7T718.8 572.3 769.5 597.7 791 666L804.7 664.1Q820.3 660.2 834 650.4 851.6 636.7 861.3 613.3 875 584 875 540T847.7 460 779.3 411.1 699.2 418Q654.3 441.4 625 500 599.6 552.7 587.9 615.2 584 646.5 584 666H541Q541 607.4 556.6 548.8 564.5 513.7 587.9 451.2 607.4 400.4 613.3 373 625 330.1 625 291 625 212.9 562.5 140.6 531.3 103.5 500 84V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fleur-de-lis\"\n      ]\n    },\n    {\n      \"uid\": \"bacf58df314b2becd067ee551b038ac7\",\n      \"css\": \"ski\",\n      \"code\": 987908,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M636.7 761.7L709 537.1 767.6 554.7 695.3 779.3ZM720.7 216.8Q748 216.8 769.5 195.3T791 145.5 771.5 95.7 722.7 74.2 671.9 95.7 650.4 145.5 671.9 195.3 720.7 216.8ZM886.7 824.2Q837.9 849.6 808.6 853.5 759.8 861.3 720.7 849.6L459 771.5 558.6 488.3 455.1 363.3 574.2 294.9 625 429.7Q630.9 447.3 650.4 455.1L820.3 503.9 841.8 429.7 804.7 412.1 830.1 324.2 771.5 308.6 750 392.6 699.2 371.1 642.6 209Q628.9 183.6 601.6 172.9T544.9 175.8L353.5 279.3Q326.2 294.9 317.4 324.2T324.2 378.9Q328.1 384.8 388.7 449.2L449.2 511.7 378.9 750 95.7 666 84 720.7 705.1 904.3Q757.8 919.9 812.5 913.1T916 878.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ski\"\n      ]\n    },\n    {\n      \"uid\": \"cbc6021a2129e6b29d737310dcfa99c9\",\n      \"css\": \"ski-cross-country\",\n      \"code\": 987909,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 50.8Q656.3 50.8 677.7 72.3T699.2 125 677.7 177.7 625 199.2 572.3 177.7 550.8 125 572.3 72.3 625 50.8ZM459 959V904.3H386.7L488.3 621.1 584 750V904.3H541V959H834V904.3H658.2V687.5L554.7 500 584 382.8 628.9 459H834V378.9H683.6L599.6 242.2Q589.8 226.6 573.2 217.8T537.1 209Q533.2 209 527.3 210.9T517.6 212.9L291 283.2V500H367.2V345.7L459 320.3 308.6 904.3H166V959H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ski-cross-country\"\n      ]\n    },\n    {\n      \"uid\": \"67214a47a906d697a11e7f8e5c42f4bc\",\n      \"css\": \"ski-water\",\n      \"code\": 987910,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M175.8 146.5Q175.8 119.1 195.3 99.6T242.2 80.1 289.1 98.6 308.6 145.5 288.1 191.4 242.2 209 196.3 189.5 175.8 146.5ZM916 162.1L896.5 125 562.5 294.9 584 334ZM867.2 845.7L904.3 882.8Q869.1 918 824.2 937.5 777.3 959 728.5 959H84V904.3H195.3L283.2 757.8 187.5 625 154.3 300.8Q154.3 271.5 175.8 250T224.6 228.5Q242.2 228.5 257.8 238.3L404.3 345.7 500 312.5 533.2 378.9 386.7 441.4 361.3 421.9Q302.7 377 275.4 353.5L291 500 511.7 687.5 584 904.3H728.5Q771.5 904.3 804.7 886.7 835.9 877 867.2 845.7ZM291 904.3H500L433.6 742.2 337.9 662.1 386.7 767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ski-water\"\n      ]\n    },\n    {\n      \"uid\": \"1784008bc18c4ace32cbe9859d204bad\",\n      \"css\": \"snowboard\",\n      \"code\": 987911,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M642.6 224.6Q642.6 191.4 667 167T725.6 142.6 784.2 167 808.6 225.6 784.2 284.2 725.6 308.6 667 284.2 642.6 224.6ZM916 800.8Q880.9 835.9 837.9 853.5 789.1 875 742.2 875H257.8Q210.9 875 162.1 853.5 119.1 835.9 84 800.8L121.1 761.7Q152.3 793 183.6 804.7 210.9 820.3 246.1 820.3L404.3 666 353.5 521.5Q343.8 486.3 378.9 459L459 375H250V291H584Q597.7 291 606.4 293.9T625 304.7L720.7 396.5Q783.2 459 871.1 459L875 544.9Q755.9 544.9 662.1 459L632.8 429.7 537.1 529.3 625 625V820.3H742.2Q783.2 820.3 816.4 804.7 847.7 793 878.9 761.7ZM367.2 820.3H541V658.2L488.3 607.4V699.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"snowboard\"\n      ]\n    },\n    {\n      \"uid\": \"4d5c66cac3d1c0c3c8890455498ce9d4\",\n      \"css\": \"account-tie-voice\",\n      \"code\": 987912,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M697.3 181.6Q761.7 250 761.7 335.9T697.3 484.4L627 414.1Q654.3 377 654.3 333T627 252ZM835.9 41Q916 125 944.3 230.5T944.3 440.4 835.9 625L767.6 556.6Q824.2 492.2 844.7 411.1T844.7 251 767.6 109.4ZM375 166Q443.4 166 492.2 214.8T541 333 492.2 451.2 375 500 257.8 451.2 209 333 257.8 214.8 375 166ZM541 605.5Q541 654.3 525.4 710.9 502 793 449.2 867.2L416 666 455.1 587.9Q410.2 584 374 584T293 587.9L334 666 298.8 867.2Q246.1 793 224.6 710.9 209 654.3 209 605.5 130.9 628.9 85.9 666T41 750V916H709V750Q709 705.1 663.1 667T541 605.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-tie-voice\"\n      ]\n    },\n    {\n      \"uid\": \"4cd63b6b02376a41d8b76ecc7544b40a\",\n      \"css\": \"account-tie-voice-outline\",\n      \"code\": 987913,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M697.3 181.6Q761.7 250 761.7 335.9T697.3 484.4L627 414.1Q654.3 377 654.3 333T627 252ZM835.9 41Q916 125 944.3 230.5T944.3 440.4 835.9 625L767.6 556.6Q824.2 492.2 844.7 411.1T844.7 251 767.6 109.4ZM556.6 574.2Q623 595.7 662.1 627 709 664.1 709 709V916H41V709Q41 664.1 87.9 627 127 595.7 193.4 574.2L228.5 646.5Q183.6 660.2 152.3 677.7T121.1 709V837.9H296.9L334 627 294.9 548.8Q337.9 543 375 543T455.1 548.8L416 627 453.1 837.9H628.9V709Q628.9 695.3 597.7 677.7T521.5 646.5L531.3 625ZM375 250Q339.8 250 315.4 274.4T291 333 315.4 391.6 375 416 434.6 391.6 459 333 434.6 274.4 375 250ZM375 500Q306.6 500 257.8 451.2T209 333 257.8 214.8 375 166 492.2 214.8 541 333 492.2 451.2 375 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-tie-voice-outline\"\n      ]\n    },\n    {\n      \"uid\": \"50e0d382188c765c8ce1eaba670b678a\",\n      \"css\": \"account-tie-voice-off\",\n      \"code\": 987914,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M529.3 396.5L312.5 179.7Q341.8 166 375 166 443.4 166 492.2 214.8T541 334Q541 365.2 529.3 396.5ZM697.3 484.4Q761.7 421.9 761.7 335.9T697.3 181.6L627 252Q654.3 289.1 654.3 333T627 414.1ZM835.9 625Q916 544.9 944.3 440.4T944.3 230.5 835.9 41L767.6 109.4Q824.2 171.9 844.7 251T844.7 411.1 767.6 556.6ZM99.6 72.3L46.9 125 212.9 291Q209 314.5 209 334 209 402.3 257.8 451.2T375 500Q392.6 500 416 494.1L541 619.1Q535.2 746.1 449.2 867.2L416 666 455.1 587.9Q410.2 584 374 584T293 587.9L334 666 298.8 867.2Q246.1 793 224.6 710.9 209 654.3 209 605.5 130.9 628.9 85.9 666T41 750V916H709V787.1L869.1 947.3 921.9 894.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-tie-voice-off\"\n      ]\n    },\n    {\n      \"uid\": \"b9ca47132211ae0196911e22da0219ef\",\n      \"css\": \"account-tie-voice-off-outline\",\n      \"code\": 987915,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M384.8 250L312.5 179.7Q341.8 166 375 166 443.4 166 492.2 214.8T541 334Q541 365.2 529.3 396.5L459 324.2Q455.1 294.9 433.6 274.4T384.8 250ZM835.9 625Q916 544.9 944.3 440.4T944.3 230.5 835.9 41L767.6 109.4Q824.2 171.9 844.7 251T844.7 411.1 767.6 556.6ZM697.3 484.4Q761.7 421.9 761.7 335.9T697.3 181.6L627 252Q654.3 289.1 654.3 333T627 414.1ZM99.6 72.3L46.9 125 214.8 293Q209 316.4 209 334 209 402.3 257.8 451.2T375 500Q392.6 500 416 494.1L535.2 615.2 521.5 646.5Q566.4 660.2 601.6 679.7L628.9 709V837.9H453.1L416 627 455.1 548.8Q412.1 543 375 543T294.9 548.8L334 627 296.9 837.9H121.1V709Q121.1 695.3 152.3 677.7T228.5 646.5L193.4 574.2Q127 595.7 87.9 627 41 664.1 41 709V916H709V787.1L869.1 947.3 921.9 894.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-tie-voice-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2dd3ef98fb4453a4f5719aed8c151f56\",\n      \"css\": \"beer-outline\",\n      \"code\": 987916,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84L250 916H709L791 84H166ZM257.8 166H699.2L687.5 300.8Q543 357.4 474.6 304.7L464.8 296.9Q441.4 275.4 421.9 265.6 375 244.1 312.5 263.7 291 269.5 271.5 283.2ZM369.1 337.9Q378.9 337.9 385.7 340.8T404.3 355.5L423.8 371.1Q459 398.4 513.7 406.3 587.9 418 677.7 392.6L632.8 834H324.2L279.3 377Q281.3 375 298.8 363.3 324.2 347.7 334 343.8V343.8Q357.4 337.9 369.1 337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beer-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a5e566947efdca70f7b853b35a93755d\",\n      \"css\": \"glass-pint-outline\",\n      \"code\": 987917,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 84L250 916H709L791 84H166ZM257.8 166H699.2L632.8 834H324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"glass-pint-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f7c828644af46e88b0fc6c455312b928\",\n      \"css\": \"coffee-to-go-outline\",\n      \"code\": 987918,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125V459Q125 527.3 173.8 576.2T291 625H459Q527.3 625 576.2 576.2T625 459V416H709Q742.2 416 766.6 391.6T791 334V209Q791 173.8 766.6 149.4T709 125H125ZM209 209H541V459Q541 492.2 516.6 516.6T459 541H291Q257.8 541 233.4 516.6T209 459V209ZM625 209H709V334H625V209ZM695.3 576.2L636.7 634.8 709 709H125V791H709L636.7 865.2 695.3 923.8 869.1 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"coffee-to-go-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a38b485690444c6b28230f7257a6c877\",\n      \"css\": \"cup-outline\",\n      \"code\": 987919,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 84L209 843.8Q212.9 875 236.3 895.5T291 916H709Q740.2 916 763.7 895.5T791 843.8L875 84H125ZM216.8 166H783.2L709 834H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cup-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b058d08f16cd531d7befd8ac08c47b68\",\n      \"css\": \"bottle-wine-outline\",\n      \"code\": 987920,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 84Q470.7 84 464.8 89.8T459 103.5V291Q451.2 291 449.2 293 398.4 306.6 365.2 371.1 334 429.7 334 500V750 875Q334 892.6 345.7 904.3T375 916H625Q642.6 916 654.3 904.3T666 875Q668 791 668 625L666 500Q666 427.7 636.7 369.1 603.5 304.7 552.7 293 548.8 291 541 291V103.5Q541 95.7 535.2 89.8T521.5 84H478.5ZM500 369.1Q523.4 369.1 533.2 375 537.1 377 543 382.8 554.7 394.5 562.5 408.2 584 451.2 584 500V834H416V500Q416 451.2 437.5 408.2 445.3 394.5 457 382.8 462.9 377 466.8 375 476.6 369.1 500 369.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-wine-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6775bcc3f2cc06bf7a2d9a51f4bf43bd\",\n      \"css\": \"earth-arrow-right\",\n      \"code\": 987921,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 875V791H625V709H791V625L916 750ZM500 750Q500 681.6 534.2 625T625 533.2Q621.1 517.6 610.4 508.8T584 500H334V416H416Q435.5 416 447.3 405.3T459 375V291H541Q576.2 291 600.6 266.6T625 209V191.4Q718.8 230.5 776.4 313.5T834 500V511.7Q869.1 523.4 912.1 558.6 916 541 916 500 916 386.7 860.4 291T709 139.6 500 84 291 139.6 139.6 291 84 500 139.6 709 291 860.4 500 916Q541 916 558.6 912.1 500 841.8 500 750ZM459 830.1Q375 818.4 308.6 772.5T204.1 655.3 166 500Q166 474.6 175.8 425.8L375 625V666Q375 701.2 399.4 725.6T459 750V830.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"04c00cef4893c23abb54d2c42e8bfef8\",\n      \"css\": \"key-arrow-right\",\n      \"code\": 987922,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M445.3 250Q427.7 193.4 378.9 159.2T271.5 125Q193.4 125 138.7 179.7T84 312.5 138.7 445.3 271.5 500Q332 500 379.9 465.8T445.3 375H625V500H750V375H916V250H445.3ZM271.5 375Q246.1 375 227.5 356.4T209 312.5 227.5 268.6 270.5 250 314.5 268.6 334 312.5 314.5 356.4 271.5 375ZM541 875V791H334V709H541V625L666 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"key-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"85e022206685f5f4d3c61cb2956c7245\",\n      \"css\": \"format-color-marker-cancel\",\n      \"code\": 987923,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 334Q609.4 334 554.7 388.7T500 521.5 554.7 654.3 687.5 709 820.3 654.3 875 521.5 820.3 388.7 687.5 334ZM687.5 646.5Q634.8 646.5 598.6 610.4T562.5 521.5Q562.5 492.2 580.1 459L750 628.9Q716.8 646.5 687.5 646.5ZM794.9 584L625 412.1Q646.5 396.5 687.5 396.5 740.2 396.5 776.4 431.6T812.5 521.5Q812.5 550.8 794.9 584ZM503.9 320.3L441.4 257.8 580.1 121.1Q597.7 101.6 623 101.6T666 121.1L757.8 209Q781.3 230.5 775.4 261.7 738.3 250 691.4 250 589.8 250 503.9 320.3ZM437.5 621.1L375 679.7Q355.5 697.3 331.1 697.3T287.1 679.7L257.8 709H84L199.2 591.8Q181.6 572.3 181.6 547.9T199.2 503.9L396.5 308.6 462.9 375Q416 441.4 416 521.5 416 564.5 437.5 621.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"format-color-marker-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"0771202d4f0b39f54d73ba5d4671501c\",\n      \"css\": \"mother-heart\",\n      \"code\": 987924,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q552.7 84 588.9 120.1T625 208 588.9 296.9 500 334 411.1 296.9 375 208 411.1 120.1 500 84ZM834 750L750 523.4Q736.3 484.4 724.6 464.8 705.1 437.5 666 416 623 394.5 585.9 384.8T500 375 415 384.8 334 416Q296.9 435.5 277.3 464.8 265.6 482.4 250 521.5L166 750Q156.3 804.7 337.9 882.8 416 916 500 916T662.1 882.8Q845.7 804.7 834 750ZM642.6 728.5L500 875 357.4 728.5Q334 703.1 334 668T358.4 608.4 417 584 476.6 609.4L500 632.8 523.4 607.4Q548.8 584 583 584T641.6 608.4 666 668.9 642.6 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mother-heart\"\n      ]\n    },\n    {\n      \"uid\": \"ff654901742059f026cdd29d1298beec\",\n      \"css\": \"currency-eur-off\",\n      \"code\": 987925,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 250 328.1Q238.3 353.5 228.5 375H125L84 459H210.9L209 500 210.9 541H125L84 625H228.5Q269.5 736.3 366.2 805.7T584 875Q675.8 875 755.9 834L869.1 947.3ZM291 500L294.9 459H380.9L462.9 541H294.9ZM584 791Q498 791 426.8 746.1T320.3 625H546.9L691.4 771.5Q636.7 791 584 791ZM709 576.2L675.8 541H722.7ZM757.8 459H591.8L507.8 375H793ZM404.3 271.5L343.8 210.9Q449.2 125 584 125 660.2 125 729.5 155.3T851.6 238.3L814.5 324.2Q775.4 269.5 713.9 239.3T584 209Q484.4 209 404.3 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"currency-eur-off\"\n      ]\n    },\n    {\n      \"uid\": \"abc2c5ed36eaa0256ceb92a201039b03\",\n      \"css\": \"semantic-web\",\n      \"code\": 987926,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M537.1 175.8Q605.5 207 662.1 209 709 209 746.1 191.4 777.3 175.8 798.8 146.5 814.5 127 826.2 103.5L834 84 822.3 125Q806.6 175.8 783.2 222.7 750 289.1 705.1 339.8 648.4 404.3 574.2 439.5 531.3 460.9 503.9 472.7L156.3 302.7 503.9 158.2V160.2ZM462.9 916L138.7 740.2V377L462.9 543V916ZM537.1 916L861.3 740.2V377L537.1 543V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"semantic-web\"\n      ]\n    },\n    {\n      \"uid\": \"e2d0444546888923fb9c68516434ebc4\",\n      \"css\": \"kettle-alert\",\n      \"code\": 987927,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 125Q298.8 125 217.8 159.2T88.9 250 41 375Q41 447.3 99.6 511.7 41 589.8 41 687.5V834Q41 867.2 65.4 891.6T125 916H666Q701.2 916 725.6 891.6T750 834V687.5Q750 607.4 709 541L791 459 666 334 580.1 419.9Q494.1 375 396.5 375 339.8 375 286.1 390.6T191.4 433.6Q166 408.2 166 375 166 318.4 233.4 280.3T396.5 242.2 554.7 279.3L636.7 195.3Q591.8 162.1 528.3 143.6T396.5 125ZM396.5 459Q425.8 459 437.5 462.9 339.8 478.5 274.4 552.7T209 728.5V834H125V728.5Q125 656.3 161.1 593.8T259.8 495.1 396.5 459ZM875 541V291H959V541H875ZM875 709V625H959V709H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-alert\"\n      ]\n    },\n    {\n      \"uid\": \"4b01a20671dafe55723f829754efe178\",\n      \"css\": \"kettle-alert-outline\",\n      \"code\": 987928,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 125Q298.8 125 217.8 159.2T88.9 250 41 375Q41 447.3 99.6 511.7 41 589.8 41 687.5V834Q41 867.2 65.4 891.6T125 916H666Q701.2 916 725.6 891.6T750 834V687.5Q750 607.4 709 541L791 459 666 334 580.1 419.9Q488.3 371.1 383.8 374T191.4 433.6Q166 408.2 166 373T197.3 306.6 281.3 256.8 396.5 238.3Q439.5 238.3 480.5 249T554.7 279.3L636.7 195.3Q537.1 125 396.5 125ZM396.5 459Q466.8 459 531.3 494.1 591.8 527.3 628.9 581.1T666 687.5V834H125V687.5Q125 634.8 163.1 581.1T261.7 494.1Q326.2 459 396.5 459ZM416 521.5Q320.3 521.5 264.6 569.3T209 709V750H291V709Q291 650.4 306.6 615.2 335.9 546.9 416 521.5ZM875 541V291H959V541H875ZM875 709V625H959V709H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bfdba1f948b7201908f73205b0c1a01d\",\n      \"css\": \"kettle-steam\",\n      \"code\": 987929,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 459L666 334 580.1 419.9Q496.1 375 396.5 375 283.2 375 189.5 433.6 166 406.3 166 375 166 318.4 233.4 279.3T394.5 240.2 554.7 277.3L638.7 193.4Q589.8 160.2 527.3 142.6T396.5 125Q298.8 125 217.8 158.2T88.9 249 41 375Q41 451.2 101.6 513.7 41 591.8 41 687.5V834Q41 867.2 65.4 891.6T125 916H666Q701.2 916 725.6 891.6T750 834V687.5Q750 609.4 709 541ZM209 728.5V834H125V728.5Q125 656.3 161.1 593.8T259.8 495.1 396.5 459Q412.1 459 437.5 462.9 339.8 476.6 274.4 552.7T209 728.5ZM959 304.7Q959 355.5 927.7 400.4T849.6 457L791 400.4H822.3Q851.6 400.4 874 367.2T896.5 300.8 873 241.2 818.4 214.8V152.3Q875 152.3 917 199.2T959 304.7ZM736.3 281.3Q693.4 240.2 693.4 181.6T734.4 82 834 41V103.5Q802.7 103.5 779.3 127T755.9 181.6 779.3 235.4 834 257.8V320.3Q783.2 320.3 742.2 349.6L697.3 304.7Q714.8 291 736.3 281.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-steam\"\n      ]\n    },\n    {\n      \"uid\": \"bcc3ae9e60140233a95d2c24fa77492d\",\n      \"css\": \"kettle-steam-outline\",\n      \"code\": 987930,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M396.5 125Q298.8 125 217.8 159.2T88.9 250 41 375Q41 447.3 99.6 511.7 41 591.8 41 687.5V834Q41 867.2 65.4 891.6T125 916H666Q701.2 916 725.6 891.6T750 834V687.5Q750 607.4 709 541L791 459 666 334 580.1 419.9Q488.3 371.1 383.8 374T191.4 433.6Q166 408.2 166 373T197.3 306.6 281.3 256.8 396.5 238.3Q439.5 238.3 480.5 249T554.7 279.3L636.7 195.3Q529.3 123 396.5 125ZM396.5 459Q466.8 459 531.3 494.1 591.8 527.3 628.9 581.1T666 687.5V834H125V687.5Q125 634.8 163.1 581.1T261.7 494.1Q326.2 459 396.5 459ZM416 521.5Q320.3 521.5 264.6 569.3T209 709V750H291V709Q291 650.4 306.6 615.2 335.9 546.9 416 521.5ZM959 304.7Q959 355.5 927.7 400.4T849.6 457L791 400.4H822.3Q851.6 400.4 874 367.2T896.5 300.8 873 241.2 818.4 214.8V152.3Q875 152.3 917 199.2T959 304.7ZM736.3 281.3Q693.4 240.2 693.4 181.6T734.4 82 834 41V103.5Q802.7 103.5 779.3 127T755.9 181.6 779.3 235.4 834 257.8V320.3Q783.2 320.3 742.2 349.6L697.3 304.7Q714.8 291 736.3 281.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-steam-outline\"\n      ]\n    },\n    {\n      \"uid\": \"986a6db926430b1ade1b44d524f71f33\",\n      \"css\": \"kettle-off\",\n      \"code\": 987931,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 195.3 275.4Q166 326.2 166 375 166 447.3 224.6 511.7 166 589.8 166 687.5V834Q166 867.2 190.4 891.6T250 916H791Q804.7 916 830.1 908.2L867.2 945.3ZM341.8 419.9L316.4 433.6Q291 408.2 291 375V371.1ZM334 728.5V834H250V728.5Q250 648.4 292 583T404.3 482.4L437.5 517.6Q388.7 554.7 361.3 610.4T334 728.5ZM705.1 419.9L791 334 916 459 834 541Q875 607.4 875 687.5V742.2L507.8 375H521.5Q619.1 375 705.1 419.9ZM396.5 261.7L308.6 175.8Q408.2 125 521.5 125 589.8 125 653.3 143.6T761.7 195.3L679.7 279.3Q617.2 242.2 521.5 242.2 443.4 242.2 396.5 261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-off\"\n      ]\n    },\n    {\n      \"uid\": \"e6677b25917df0c8b5f2df4e5f76827b\",\n      \"css\": \"kettle-off-outline\",\n      \"code\": 987932,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 195.3 275.4Q166 326.2 166 375 166 447.3 224.6 511.7 166 589.8 166 687.5V834Q166 867.2 190.4 891.6T250 916H791Q804.7 916 830.1 908.2L867.2 945.3ZM341.8 419.9L316.4 433.6Q291 408.2 291 375V371.1ZM250 834V687.5Q250 630.9 293.9 573.2T404.3 482.4L455.1 533.2Q396.5 552.7 365.2 596.7T334 709V750H416V709Q416 666 423.8 636.7 437.5 585.9 474.6 554.7L753.9 834H250ZM705.1 419.9L791 334 916 459 834 541Q875 607.4 875 687.5V742.2L787.1 654.3Q775.4 597.7 725.6 546.9T607.4 474.6L507.8 375Q607.4 369.1 705.1 419.9ZM396.5 261.7L308.6 175.8Q408.2 125 521.5 125 662.1 125 761.7 195.3L679.7 279.3Q646.5 259.8 605.5 249T521.5 238.3Q445.3 238.3 396.5 261.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"kettle-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6f6a19f05da2871c848a52a1cb9a8894\",\n      \"css\": \"simple-icons\",\n      \"code\": 987933,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M759.8 709Q759.8 763.7 738.3 814.5H679.7Q709 765.6 709 710T681.6 605.5 605.5 528.3 500 500 395.5 471.7 319.3 395.5 291 291 319.3 186.5 395.5 111.3 500 84 604.5 111.3 680.7 186.5 709 291H656.3Q656.3 226.6 610.4 180.7T500 134.8 389.6 180.7 343.8 291 389.6 401.4 500 447.3Q570.3 447.3 629.9 482.4T724.6 578.1 759.8 709ZM261.7 814.5Q240.2 763.7 240.2 709H291Q291 765.6 320.3 814.5H261.7ZM759.8 865.2V916H240.2V865.2H396.5V656.3H343.8V603.5H656.3V656.3H603.5V865.2H759.8ZM552.7 656.3H447.3V865.2H552.7V656.3ZM601.6 294.9Q599.6 335.9 570.3 365.2T499 394.5 427.7 363.3 399.4 290 429.7 217.8 501 188.5 573.2 220.7 601.6 294.9ZM552.7 291Q552.7 269.5 537.1 254.9T500 240.2 462.9 254.9 447.3 291 462.9 328.1 500 343.8 537.1 328.1 552.7 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"simple-icons\"\n      ]\n    },\n    {\n      \"uid\": \"57a44b1544d3505f2b5469e3a15959b2\",\n      \"css\": \"briefcase-check-outline\",\n      \"code\": 987934,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 250Q869.1 250 892.6 275.4T916 334V791Q916 824.2 892.6 849.6T834 875H166Q130.9 875 107.4 849.6T84 791V334Q84 300.8 107.4 275.4T166 250H334V166Q334 130.9 357.4 107.4T416 84H584Q619.1 84 642.6 107.4T666 166V250H834ZM166 334V791H834V334H166ZM584 250V166H416V250H584ZM435.5 728.5L710.9 455.1 652.3 396.5 435.5 611.3 349.6 525.4 289.1 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b09bde2290ec4c6c102cee11efca5d20\",\n      \"css\": \"clipboard-plus-outline\",\n      \"code\": 987935,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H617.2Q603.5 87.9 571.3 64.5T500 41 428.7 64.5 382.8 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 125Q517.6 125 529.3 137.7T541 167 529.3 196.3 500 209 470.7 196.3 459 167 470.7 137.7 500 125ZM291 291H709V209H791V791H209V209H291V291ZM541 500H666V584H541V709H459V584H334V500H459V375H541V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clipboard-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3d0f12bfcabb0111b02e4f3aa1ff6583\",\n      \"css\": \"download-lock\",\n      \"code\": 987936,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 834H584V750H209V834ZM791 375H625V125H375V375H209L500 666ZM916 666Q933.6 668 945.3 679.7T959 709V875Q957 892.6 945.3 904.3T916 916H709Q691.4 916 679.7 904.3T666 875V709Q668 691.4 679.7 679.7T709 666V603.5Q709 560.5 739.3 530.3T812.5 500 885.7 530.3 916 603.5V666ZM875 666V603.5Q875 578.1 856.4 559.6T812.5 541 768.6 559.6 750 603.5V666H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-lock\"\n      ]\n    },\n    {\n      \"uid\": \"f895a9e174bc720585585b43c48f6619\",\n      \"css\": \"download-lock-outline\",\n      \"code\": 987937,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 666Q933.6 668 945.3 679.7T959 709V875Q957 892.6 945.3 904.3T916 916H709Q691.4 916 679.7 904.3T666 875V709Q668 691.4 679.7 679.7T709 666V603.5Q709 560.5 739.3 530.3T812.5 500 885.7 530.3 916 603.5V666ZM875 666V603.5Q875 578.1 856.4 559.6T812.5 541 768.6 559.6 750 603.5V666H875ZM541 209V459H589.8L500 548.8 410.2 459H459V209H541ZM625 125H375V375H209L500 666 791 375H625V125ZM584 750H209V834H584V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"953402485caba10533cb725fd0eabda7\",\n      \"css\": \"hammer-screwdriver\",\n      \"code\": 987938,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M669.9 544.9L904.3 779.3 765.6 914.1 533.2 681.6V644.5L630.9 544.9H669.9ZM707 439.5L666 400.4 466.8 599.6V681.6L232.4 916 95.7 779.3 328.1 544.9H410.2L443.4 513.7 283.2 351.6H228.5L111.3 234.4 220.7 125 337.9 242.2V296.9L500 457 611.3 345.7 570.3 302.7 625 248H513.7L486.3 220.7 625 84 652.3 111.3V220.7L707 166 843.8 302.7Q877 337.9 877 386.7T843.8 468.8L761.7 384.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hammer-screwdriver\"\n      ]\n    },\n    {\n      \"uid\": \"460bd9496918d796d9ba90e55e5957b1\",\n      \"css\": \"hammer-wrench\",\n      \"code\": 987939,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M574.2 636.7L824.2 886.7 912.1 796.9 662.1 546.9ZM728.5 419.9Q701.2 419.9 681.6 412.1L207 884.8 119.1 796.9 427.7 488.3 353.5 414.1 324.2 443.4 263.7 384.8V503.9L234.4 533.2 87.9 384.8 117.2 355.5H234.4L175.8 296.9 324.2 148.4Q361.3 113.3 412.1 113.3T500 148.4L412.1 238.3 470.7 296.9 441.4 326.2 515.6 400.4 591.8 322.3Q584 302.7 584 275.4 584 214.8 626 171.9T728.5 128.9Q765.6 128.9 794.9 146.5L683.6 257.8 746.1 320.3 857.4 209Q875 238.3 875 275.4 875 335.9 832 377.9T728.5 419.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hammer-wrench\"\n      ]\n    },\n    {\n      \"uid\": \"9e1657ca13c3c363d9bccd7b635af982\",\n      \"css\": \"hydraulic-oil-level\",\n      \"code\": 987940,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 750Q572.3 750 536.1 713.9T500 625 562.5 482.4Q593.8 435.5 625 400.4V400.4L658.2 441.4Q695.3 488.3 716.8 529.3 750 587.9 750 625 750 677.7 713.9 713.9T625 750ZM834 166V834H416V166H334V834Q334 867.2 358.4 891.6T416 916H834Q867.2 916 891.6 891.6T916 834V166H834ZM84 791L291 584 84 375V791ZM666 250V84H584V250H459V334H791V250H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hydraulic-oil-level\"\n      ]\n    },\n    {\n      \"uid\": \"31ecaebcadcf903000126d61a690dbba\",\n      \"css\": \"hydraulic-oil-temperature\",\n      \"code\": 987941,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 750Q322.3 750 286.1 713.9T250 625 312.5 482.4Q343.8 435.5 375 400.4V400.4L408.2 441.4Q445.3 488.3 466.8 529.3 500 587.9 500 625 500 677.7 463.9 713.9T375 750ZM584 166V834H166V166H84V834Q84 867.2 108.4 891.6T166 916H584Q617.2 916 641.6 891.6T666 834V166H584ZM416 250V84H334V250H209V334H541V250H416ZM875 728.5V228.5Q875 203.1 856.4 184.6T812.5 166 768.6 184.6 750 228.5V728.5Q730.5 744.1 719.7 765.6T709 812.5Q709 855.5 739.3 885.7T812.5 916 885.7 885.7 916 812.5Q916 761.7 875 728.5ZM834 541H791V250H834V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hydraulic-oil-temperature\"\n      ]\n    },\n    {\n      \"uid\": \"17161524072b4f62ee13c4e3dd43d816\",\n      \"css\": \"medal-outline\",\n      \"code\": 987942,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M623 812.5L500 740.2 377 812.5 410.2 673.8 302.7 580.1 443.4 568.4 500 437.5 556.6 568.4 697.3 580.1 589.8 673.8ZM834 84H166V166L369.1 318.4Q259.8 365.2 205.1 470.7T173.8 692.4 289.1 883.8 500 959 710.9 883.8 826.2 692.4 794.9 470.7 630.9 318.4L834 166V84ZM750 625Q750 689.5 718.8 745.1T634.8 835.9 516.6 875 393.6 851.6 297.9 773.4 252 658.2 267.6 534.2 338.9 433.6 451.2 380.9Q500 369.1 548.8 380.9 636.7 398.4 693.4 466.8T750 625ZM525.4 291H474.6L306.6 166H695.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"medal-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2fed6f0ab529b4c42e3709524864cd75\",\n      \"css\": \"rodent\",\n      \"code\": 987943,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M888.7 724.6Q916 750 916 786.1T891.6 848.6 830.1 875H460.9Q402.3 875 354.5 846.7T278.3 770.5 250 664.1V662.1Q177.7 646.5 130.9 589.8T84 459Q84 402.3 111.3 354.5T186.5 278.3 291 250H396.5Q404.3 250 410.2 244.1T416 229.5 410.2 214.8 396.5 209H291V125H396.5Q439.5 125 469.7 155.3T500 229.5 469.7 303.7 396.5 334H291Q240.2 334 203.1 370.1T166 459Q166 500 191.4 533.2T255.9 578.1Q273.4 507.8 330.1 461.9T460.9 416Q507.8 416 556.6 439.5 511.7 464.8 485.4 508.8T459 603.5Q459 683.6 513.7 736.3L543 707Q500 666 500 603.5 500 554.7 527.3 517.6 548.8 488.3 585.9 472.7 617.2 459 646.5 459 689.5 459 726.6 482.4T781.3 546.9 789.1 634.8ZM750 791Q767.6 791 779.3 779.3T791 750 779.3 720.7 750 709 720.7 720.7 709 750 720.7 779.3 750 791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rodent\"\n      ]\n    },\n    {\n      \"uid\": \"4dd06140cfd1653f4209b89e97e0d749\",\n      \"css\": \"abjad-arabic\",\n      \"code\": 987944,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q439.5 166 396.5 209T353.5 311.5 396.5 412.1Q347.7 445.3 319.3 496.1T291 606.4 322.3 718.8 406.3 802.7 521.5 834Q634.8 834 728.5 777.3L687.5 705.1Q609.4 750 521.5 750 460.9 750 418 707T375 603.5Q375 554.7 405.3 515.6T482.4 462.9L699.2 404.3 677.7 324.2 492.2 375Q468.8 371.1 453.1 353.5T437.5 311.5 456.1 268.6 500 250Q515.6 250 531.3 257.8L572.3 185.5Q539.1 166 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"abjad-arabic\"\n      ]\n    },\n    {\n      \"uid\": \"8e7f7516b82236692aaf682e09a9d552\",\n      \"css\": \"abjad-hebrew\",\n      \"code\": 987945,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M162.1 166L375 418Q330.1 421.9 295.9 451.2T250 525.4L166 834H252L330.1 546.9Q335.9 525.4 352.5 512.7T390.6 500H445.3L728.5 834H837.9L625 582Q669.9 578.1 704.1 548.8T750 474.6L834 166H748L669.9 453.1Q664.1 474.6 647.5 487.3T609.4 500H554.7L271.5 166H162.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"abjad-hebrew\"\n      ]\n    },\n    {\n      \"uid\": \"ea3d731d07c9a250e6673b00d372a8d2\",\n      \"css\": \"abugida-devanagari\",\n      \"code\": 987946,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 125V209H459Q498 209 530.3 231.4T576.2 291H250V375H584V416H500Q443.4 416 395.5 444.3T319.3 520.5 291 625 319.3 729.5 395.5 805.7 500 834Q546.9 834 584 804.7V875H666V709H584Q552.7 750 500 750T411.1 713.9 375 625 411.1 536.1 500 500H666V375H750V291H662.1Q648.4 220.7 590.8 172.9T459 125H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"abugida-devanagari\"\n      ]\n    },\n    {\n      \"uid\": \"8bc4cc930799ae42e34c0c2f17be208e\",\n      \"css\": \"abugida-thai\",\n      \"code\": 987947,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 834Q375 752 429.7 607.4T578.1 302.7Q591.8 277.3 615.2 263.7T666 250Q701.2 250 725.6 274.4T750 334V834H834V334Q834 263.7 785.2 214.8T666 166Q615.2 166 572.3 192.4T505.9 259.8Q418 412.1 375 543V271.5Q375 228.5 344.7 197.3T271.5 166 197.3 197.3 166 271.5 197.3 344.7 271.5 375Q285.2 375 291 373V834H375ZM271.5 250Q279.3 250 285.2 255.9T291 270.5 285.2 285.2 270.5 291 255.9 285.2 250 270.5 255.9 255.9 271.5 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"abugida-thai\"\n      ]\n    },\n    {\n      \"uid\": \"88aa12ad1b72943c9085e53972b1bf58\",\n      \"css\": \"alphabet-aurebesh\",\n      \"code\": 987948,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166V459H593.8L916 166H791L560.5 375H209V166H125ZM125 541V834H209V625H560.5L791 834H916L593.8 541H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabet-aurebesh\"\n      ]\n    },\n    {\n      \"uid\": \"25ccec33a09c1281125010ce95d8ccb9\",\n      \"css\": \"alphabet-cyrillic\",\n      \"code\": 987949,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250Q615.2 250 578.1 287.1T541 375V625Q541 675.8 578.1 712.9T666 750H709Q759.8 750 796.9 712.9T834 625V500Q834 449.2 796.9 412.1T709 375H625Q625 357.4 636.7 345.7T666 334H750Q783.2 334 808.6 308.6T834 250H666ZM209 375V459H334Q351.6 459 363.3 470.7T375 500H291Q240.2 500 203.1 537.1T166 625 203.1 712.9 291 750H459V500Q459 449.2 421.9 412.1T334 375H209ZM625 459H709Q726.6 459 738.3 470.7T750 500V625Q750 642.6 738.3 654.3T709 666H666Q648.4 666 636.7 654.3T625 625V459ZM291 584H375V666H291Q273.4 666 261.7 654.3T250 625 261.7 595.7 291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabet-cyrillic\"\n      ]\n    },\n    {\n      \"uid\": \"766e1777ad03b80bc74130e1428ddb53\",\n      \"css\": \"alphabet-greek\",\n      \"code\": 987950,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250Q615.2 250 578.1 287.1T541 375V875H625V375Q625 357.4 636.7 345.7T666 334H709Q726.6 334 738.3 345.7T750 375V416Q750 433.6 738.3 446.3T709 459H666V541H709Q726.6 541 738.3 553.7T750 584V625Q750 642.6 738.3 654.3T709 666H666V750H709Q759.8 750 796.9 712.9T834 625V584Q834 558.6 822.3 537.1T791 500Q810.5 484.4 822.3 462.9T834 416V375Q834 324.2 796.9 287.1T709 250H666ZM291 375Q240.2 375 203.1 412.1T166 500V625Q166 675.8 203.1 712.9T291 750H320.3Q351.6 750 375 728.5V750H459V375H375V396.5Q351.6 375 320.3 375H291ZM291 459H334Q351.6 459 363.3 470.7T375 500V625Q375 642.6 363.3 654.3T334 666H291Q273.4 666 261.7 654.3T250 625V500Q250 482.4 261.7 470.7T291 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabet-greek\"\n      ]\n    },\n    {\n      \"uid\": \"255d2bef8b3bad6bf4b874ed02a857e2\",\n      \"css\": \"alphabet-latin\",\n      \"code\": 987951,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 250V750H625V720.7Q650.4 750 687.5 750H709Q759.8 750 796.9 712.9T834 625V500Q834 449.2 796.9 412.1T709 375H687.5Q650.4 375 625 404.3V250H541ZM209 375V459H334Q351.6 459 363.3 470.7T375 500H291Q240.2 500 203.1 537.1T166 625 203.1 712.9 291 750H459V500Q459 449.2 421.9 412.1T334 375H209ZM666 459H709Q726.6 459 738.3 470.7T750 500V625Q750 642.6 738.3 654.3T709 666H666Q648.4 666 636.7 654.3T625 625V500Q625 482.4 636.7 470.7T666 459ZM291 584H375V666H291Q273.4 666 261.7 654.3T250 625 261.7 595.7 291 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabet-latin\"\n      ]\n    },\n    {\n      \"uid\": \"a1d09421f98967cb2cd76f0ba80bf1ad\",\n      \"css\": \"alphabet-piqad\",\n      \"code\": 987952,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M543 166L273.4 744.1Q261.7 765.6 241.2 778.3T197.3 791H166V834H666Q703.1 834 735.4 848.6T791 890.6H834Q802.7 826.2 743.2 788.1T613.3 750H500Q478.5 750 459 739.3T426.8 710 413.1 668.9 419.9 627L441.4 584H791V541H728.5Q660.2 541 611.3 492.2T562.5 375 611.3 257.8 728.5 209H834V166H543Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabet-piqad\"\n      ]\n    },\n    {\n      \"uid\": \"163ffb284fb36da289c1e51748fbc602\",\n      \"css\": \"ideogram-cjk\",\n      \"code\": 987953,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166V250H166V416H250V334H750V416H834V250H541V166H459ZM334 416V500H566.4L482.4 584H166V666H459V750H416V834H541V666H834V584H591.8L666 507.8V416H334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ideogram-cjk\"\n      ]\n    },\n    {\n      \"uid\": \"63a26e172646d9e3efffd1844c39ec33\",\n      \"css\": \"ideogram-cjk-variant\",\n      \"code\": 987954,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 166V250H166V334H640.6Q625 386.7 578.1 445.3 550.8 480.5 500 527.3 449.2 480.5 421.9 446.3T377 375H285.2Q306.6 435.5 357.4 498 388.7 539.1 437.5 584L222.7 759.8 277.3 824.2 500 638.7 722.7 824.2 777.3 759.8 562.5 584Q611.3 539.1 642.6 498 710.9 412.1 724.6 334H834V250H541V166H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ideogram-cjk-variant\"\n      ]\n    },\n    {\n      \"uid\": \"8ba024aef7c25ddea6cefcc83b2ee6a8\",\n      \"css\": \"syllabary-hangul\",\n      \"code\": 987955,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 166V250H166V334H265.6Q238.3 357.4 223.6 389.6T209 459Q209 527.3 257.8 576.2T375 625 492.2 576.2 541 459Q541 421.9 526.4 389.6T484.4 334H584V250H416V166H334ZM625 166V666H709V459H834V375H709V166H625ZM375 375Q410.2 375 434.6 399.4T459 459 434.6 517.6 375 541 315.4 517.6 291 459 315.4 399.4 375 375ZM291 666V834H709V750H375V666H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"syllabary-hangul\"\n      ]\n    },\n    {\n      \"uid\": \"941b2869878b7e1ba1953f61d5f0e154\",\n      \"css\": \"syllabary-hiragana\",\n      \"code\": 987956,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 166V250H250V334H375V416Q318.4 416 270.5 444.3T194.3 521.5 166 627 194.3 731.4 271.5 807.6 375 835.9 474.6 802.7L505.9 837.9 564.5 777.3Q552.7 765.6 535.2 746.1L578.1 703.1Q638.7 642.6 683.6 525.4 750 562.5 750 625 750 666 734.4 704.1T689.5 773.4L748 832Q789.1 791 811.5 737.3T834 624 800.8 514.6 714.8 439.5L728.5 386.7 648.4 365.2 632.8 418 623 416H459V334H666V250H459V166H375ZM459 500H603.5Q564.5 599.6 517.6 644.5L492.2 671.9Q459 599.6 459 500ZM375 500Q375 632.8 429.7 732.4 406.3 752 377 752 322.3 752 286.1 715.8T250 627 286.1 537.1 375 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"syllabary-hiragana\"\n      ]\n    },\n    {\n      \"uid\": \"576a31cec467fe8bb0a21a8ed8a58953\",\n      \"css\": \"syllabary-katakana\",\n      \"code\": 987957,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 166V250H750V253.9L595.7 408.2 654.3 466.8 834 287.1V166H166ZM459 375V541Q459 625 433.6 673.8 410.2 716.8 347.7 769.5L402.3 834Q470.7 775.4 503.9 710.9 541 638.7 541 541V375H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"syllabary-katakana\"\n      ]\n    },\n    {\n      \"uid\": \"31658f5cde51efa6918d10965c45f5bd\",\n      \"css\": \"syllabary-katakana-halfwidth\",\n      \"code\": 987958,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 166V250H584L541 451.2 625 466.8 666 253.9V166H334ZM416 375V500Q416 589.8 395.5 662.1T335.9 775.4L396.5 834Q500 724.6 500 500V375H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"syllabary-katakana-halfwidth\"\n      ]\n    },\n    {\n      \"uid\": \"241e898ccd1687c2d103b8b3cd5b4ec5\",\n      \"css\": \"alphabet-tengwar\",\n      \"code\": 987959,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 291L521.5 125H625L459 291H416ZM521.5 375Q488.3 375 459 388.7V375H334V459H375V875H459V521.5Q459 494.1 476.6 476.6T520.5 459 565.4 476.6 584 521.5V603.5Q584 630.9 565.4 648.4T521.5 666H500V750H521.5Q582 750 624 707T666 603.5V521.5Q666 460.9 624 418T521.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alphabet-tengwar\"\n      ]\n    },\n    {\n      \"uid\": \"c3c30d60e3bf2c70e11aef008933c3fd\",\n      \"css\": \"head-alert\",\n      \"code\": 987960,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM584 584H500V500H584V584ZM584 416H500V209H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-alert\"\n      ]\n    },\n    {\n      \"uid\": \"a87555c998eb383b582c13b8700c66e0\",\n      \"css\": \"head-alert-outline\",\n      \"code\": 987961,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459V459H101.6Q84 482.4 82 511.7T93.8 568.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 677.7 872.1 594.7T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41ZM584 584H500V500H584V584ZM584 416H500V209H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1d1f90e1346e15387ee3dce098d9720e\",\n      \"css\": \"head-check\",\n      \"code\": 987962,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM519.5 541L375 396.5 433.6 337.9 519.5 423.8 691.4 250 750 308.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-check\"\n      ]\n    },\n    {\n      \"uid\": \"f1fe9b38879ccd0ba8d9be5a1cd67f0a\",\n      \"css\": \"head-check-outline\",\n      \"code\": 987963,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459Q85.9 480.5 83 509.8T93.8 566.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 675.8 872.1 593.8T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41ZM519.5 541L375 396.5 433.6 337.9 519.5 423.8 691.4 250 750 308.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f72860ebbf9874a044acb43a412b90aa\",\n      \"css\": \"head-cog\",\n      \"code\": 987964,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 357.4Q566.4 357.4 584 375T601.6 417 584 459 542 476.6 500 459 482.4 417 499 375 541 357.4ZM541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM666 416Q666 406.3 664.1 400.4L701.2 373Q703.1 371.1 704.1 367.2T703.1 361.3L669.9 304.7Q668 300.8 664.1 299.8T658.2 300.8L617.2 318.4Q607.4 306.6 589.8 300.8L584 257.8Q582 250 574.2 250H507.8Q500 250 500 257.8L494.1 300.8Q478.5 306.6 466.8 318.4L423.8 300.8Q418 298.8 414.1 304.7L380.9 361.3Q377 371.1 382.8 373L418 400.4 416 416 418 433.6 382.8 460.9Q377 462.9 380.9 470.7L414.1 529.3Q416 533.2 423.8 533.2L464.8 515.6Q478.5 525.4 494.1 531.3L500 576.2Q500 584 507.8 584H574.2Q580.1 584 584 576.2L589.8 531.3Q609.4 523.4 617.2 515.6L658.2 533.2Q668 533.2 669.9 529.3L703.1 470.7Q705.1 464.8 701.2 460.9L666 433.6V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-cog\"\n      ]\n    },\n    {\n      \"uid\": \"0e10fe8f619276f1421ef4cb0be0f349\",\n      \"css\": \"head-cog-outline\",\n      \"code\": 987965,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459Q85.9 480.5 83 509.8T93.8 566.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 675.8 872.1 593.8T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41ZM669.9 392.6V375Q669.9 365.2 668 359.4L705.1 332Q709 330.1 709 320.3L673.8 263.7Q671.9 259.8 668.9 258.8T662.1 259.8L621.1 277.3Q611.3 265.6 593.8 259.8L587.9 216.8Q585.9 209 578.1 209H511.7Q503.9 209 503.9 216.8L498 259.8Q482.4 265.6 470.7 277.3L427.7 259.8Q421.9 255.9 418 263.7L384.8 320.3Q380.9 330.1 386.7 332L421.9 359.4 419.9 375 421.9 392.6 386.7 419.9Q380.9 421.9 384.8 429.7L418 488.3Q419.9 492.2 427.7 492.2L468.8 474.6Q482.4 484.4 498 490.2L503.9 535.2Q503.9 541 511.7 541H578.1Q585.9 541 587.9 535.2L593.8 490.2Q613.3 482.4 621.1 474.6L662.1 492.2Q671.9 492.2 673.8 488.3L709 429.7Q709 421.9 705.1 419.9ZM544.9 435.5Q521.5 435.5 503.9 418T486.3 375 503.9 333 545.9 316.4 587.9 333 605.5 375 587.9 418 544.9 435.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e89ff6fa02a91f3c7cc38783c212422b\",\n      \"css\": \"head-dots-horizontal\",\n      \"code\": 987966,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM416 459Q400.4 459 387.7 446.3T375 417 387.7 387.7 417 375 446.3 387.7 459 417 446.3 446.3 416 459ZM541 459Q525.4 459 512.7 446.3T500 417 512.7 387.7 542 375 571.3 387.7 584 417 571.3 446.3 541 459ZM666 459Q650.4 459 637.7 446.3T625 417 637.7 387.7 667 375 696.3 387.7 709 417 696.3 446.3 666 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-dots-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"49d1fb7c60c7933f76337b1f4a401faf\",\n      \"css\": \"head-dots-horizontal-outline\",\n      \"code\": 987967,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 326.2 293.9 262.7T398.4 162.1 541 125ZM541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q85.9 482.4 84 511.7T95.7 566.4Q123 615.2 166 621.1V666Q166 724.6 201.2 768.6T291 830.1V959H750V728.5Q828.1 675.8 872.1 593.8T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM416 416Q398.4 416 386.7 405.3T375 375 386.7 344.7 417 334 447.3 344.7 459 375 447.3 405.3 416 416ZM541 416Q523.4 416 511.7 405.3T500 375 511.7 344.7 542 334 572.3 344.7 584 375 572.3 405.3 541 416ZM666 416Q650.4 416 637.7 404.3T625 375 637.7 345.7 667 334 696.3 345.7 709 375 696.3 404.3 666 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-dots-horizontal-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8d3df4d82447fdc4c8e2acf91fee14c0\",\n      \"css\": \"head-flash\",\n      \"code\": 987968,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 263.7 250 404.3L169.9 507.8Q164.1 517.6 169.9 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 574.2T834 416Q834 335.9 794.9 269.5T688.5 164.1 541 125ZM625 375L496.1 625 521.5 459H437.5L521.5 250H625L562.5 375H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-flash\"\n      ]\n    },\n    {\n      \"uid\": \"5b4d3b404da493f420d341cdb1fcead6\",\n      \"css\": \"head-flash-outline\",\n      \"code\": 987969,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 326.2 293.9 262.7T398.4 162.1 541 125ZM541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q85.9 482.4 84 511.7T95.7 566.4Q123 615.2 166 621.1V666Q166 724.6 201.2 768.6T291 830.1V959H750V728.5Q828.1 675.8 872.1 593.8T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM625 375L496.1 625 521.5 459H433.6L521.5 250H625L562.5 375H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-flash-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cab2548e0251a59e4528184cbe490b88\",\n      \"css\": \"head-heart\",\n      \"code\": 987970,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM709 367.2Q709 412.1 669.9 459 644.5 490.2 566.4 560.5L541 584 517.6 560.5Q439.5 490.2 414.1 459 375 412.1 375 367.2 375 330.1 401.4 303.7T464.8 275.4H466.8Q511.7 275.4 541 310.5 572.3 275.4 617.2 275.4 654.3 275.4 681.6 301.8T709 367.2V367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-heart\"\n      ]\n    },\n    {\n      \"uid\": \"233e9fb72bbb87c199637799f79a55c6\",\n      \"css\": \"head-heart-outline\",\n      \"code\": 987971,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459V459H101.6Q84 482.4 82 511.7T93.8 568.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 677.7 872.1 594.7T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41ZM709 367.2Q709 412.1 669.9 459 644.5 490.2 566.4 560.5L541 584 517.6 560.5Q439.5 490.2 414.1 459 375 412.1 375 367.2 375 330.1 401.4 303.7T464.8 275.4H466.8Q511.7 275.4 541 310.5 572.3 275.4 617.2 275.4 654.3 275.4 681.6 301.8T709 367.2V367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"45099272544341f7856c700c75dc1ece\",\n      \"css\": \"head-lightbulb\",\n      \"code\": 987972,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM584 584H500V541H584V584ZM650.4 396.5Q632.8 423.8 603.5 441.4V500H478.5V441.4Q433.6 414.1 420.9 364.3T433.6 270.5 509.8 212.9 604.5 224.6 662.1 299.8 650.4 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-lightbulb\"\n      ]\n    },\n    {\n      \"uid\": \"8db3b265ec944a175dddc63f6da61066\",\n      \"css\": \"head-lightbulb-outline\",\n      \"code\": 987973,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 326.2 293.9 262.7T398.4 162.1 541 125ZM541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q85.9 482.4 84 511.7T95.7 566.4Q123 615.2 166 621.1V666Q166 724.6 201.2 768.6T291 830.1V959H750V728.5Q828.1 675.8 872.1 593.8T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM584 584H500V541H584V584ZM650.4 396.5Q625 429.7 603.5 441.4V500H478.5V441.4Q435.5 416 421.9 365.2T433.6 270.5 509.8 212.9 604.5 224.6 662.1 300.8 650.4 396.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-lightbulb-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cb1cb775742953fc390bd2a9316c7a8a\",\n      \"css\": \"head-minus\",\n      \"code\": 987974,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q462.9 125 398.4 162.1T293.9 262.7 250 404.3L169.9 507.8Q164.1 517.6 169.9 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 574.2T834 416Q834 335.9 794.9 269.5T688.5 164.1 541 125ZM709 416H375V334H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-minus\"\n      ]\n    },\n    {\n      \"uid\": \"6bbd4497a140c6617eae93190d059f36\",\n      \"css\": \"head-minus-outline\",\n      \"code\": 987975,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 326.2 293.9 262.7T398.4 162.1 541 125ZM541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q85.9 480.5 82 509.8T91.8 566.4Q117.2 613.3 166 625V666Q166 724.6 201.2 768.6T291 830.1V959H750V728.5Q828.1 679.7 872.1 596.7T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM709 416H375V334H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5e20df0b9b24b1005ff12d8fc715fad5\",\n      \"css\": \"head-plus\",\n      \"code\": 987976,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q462.9 125 398.4 162.1T293.9 262.7 250 404.3L169.9 507.8Q164.1 517.6 169.9 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 574.2T834 416Q834 335.9 794.9 269.5T688.5 164.1 541 125ZM709 416H584V541H500V416H375V334H500V209H584V334H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-plus\"\n      ]\n    },\n    {\n      \"uid\": \"a852f86796c346b86089623ddebce427\",\n      \"css\": \"head-plus-outline\",\n      \"code\": 987977,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 326.2 293.9 262.7T398.4 162.1 541 125ZM541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q85.9 480.5 82 509.8T91.8 566.4Q117.2 613.3 166 625V666Q166 724.6 201.2 768.6T291 830.1V959H750V728.5Q828.1 679.7 872.1 596.7T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM709 416H584V541H500V416H375V334H500V209H584V334H709V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"15c7bd56165782d211e8a0240cd137b1\",\n      \"css\": \"head-question\",\n      \"code\": 987978,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM584 584H500V500H584V584ZM656.3 367.2Q638.7 390.6 609.4 406.3 593.8 416 588.9 426.8T584 459H500Q500 425.8 512.7 409.2T556.6 371.1Q574.2 361.3 583 346.7T591.8 312.5 580.1 281.3 550.8 269.5 522.5 279.3 509.8 308.6H429.7V306.6Q429.7 257.8 462.9 233.4T551.8 209 640.6 237.3 673.8 312.5Q673.8 341.8 656.3 367.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-question\"\n      ]\n    },\n    {\n      \"uid\": \"ce9bb32a20e3fa206b02442e3b8c6684\",\n      \"css\": \"head-question-outline\",\n      \"code\": 987979,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM429.7 308.6H509.8Q511.7 289.1 522.5 279.3T550.8 269.5 580.1 281.3 591.8 312.5 583 346.7 556.6 371.1Q525.4 392.6 512.7 409.2T500 459H584Q584 437.5 588.9 426.8T609.4 406.3Q638.7 390.6 656.3 366.2T673.8 312.5Q673.8 265.6 640.6 237.3T551.8 209 462.9 233.4 429.7 306.6V308.6ZM500 584H584V500H500V584ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459V459H101.6Q84 482.4 82 511.7T93.8 568.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 677.7 872.1 594.7T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-question-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2b49a9929f97e8428b424cf256ab31f9\",\n      \"css\": \"head-remove\",\n      \"code\": 987980,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q462.9 125 398.4 162.1T293.9 262.7 250 404.3L169.9 507.8Q164.1 517.6 169.9 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 574.2T834 416Q834 335.9 794.9 269.5T688.5 164.1 541 125ZM628.9 521.5L541 433.6 455.1 521.5 396.5 462.9 482.4 375 396.5 287.1 455.1 228.5 541 316.4 628.9 228.5 687.5 287.1 599.6 375 687.5 462.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-remove\"\n      ]\n    },\n    {\n      \"uid\": \"4c115e9db41f265986ba3786c053b08a\",\n      \"css\": \"head-remove-outline\",\n      \"code\": 987981,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 326.2 293.9 262.7T398.4 162.1 541 125ZM541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q85.9 480.5 82 509.8T91.8 566.4Q117.2 613.3 166 625V666Q166 724.6 201.2 768.6T291 830.1V959H750V728.5Q828.1 679.7 872.1 596.7T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM687.5 287.1L599.6 375 687.5 462.9 628.9 521.5 541 433.6 455.1 521.5 396.5 462.9 482.4 375 396.5 287.1 455.1 228.5 541 316.4 628.9 228.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d3886735d03d709140aa56b5d022bd42\",\n      \"css\": \"head-snowflake\",\n      \"code\": 987982,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM710.9 398.4L628.9 419.9 689.5 480.5Q699.2 492.2 699.2 507.8T688.5 534.2 662.1 544.9 636.7 533.2L576.2 474.6 554.7 554.7Q550.8 570.3 537.1 578.1T508.8 582 486.3 564.5 482.4 537.1L503.9 455.1 421.9 476.6Q406.3 480.5 393.6 472.7T377 450.2 380.9 421.9 402.3 404.3L484.4 382.8 423.8 322.3Q414.1 310.5 414.1 295.9T424.8 269.5 451.2 257.8 476.6 269.5L537.1 330.1 560.5 248Q562.5 232.4 576.2 224.6T604.5 220.7 627 238.3 630.9 267.6L609.4 349.6 691.4 326.2Q707 322.3 720.7 330.1T738.3 353.5 734.4 381.8 710.9 398.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-snowflake\"\n      ]\n    },\n    {\n      \"uid\": \"ee87223fa01489a16dccaf12c0913a97\",\n      \"css\": \"head-snowflake-outline\",\n      \"code\": 987983,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459V459H101.6Q84 482.4 82 511.7T93.8 568.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 677.7 872.1 594.7T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41ZM722.7 386.7L640.6 408.2 701.2 468.8Q710.9 480.5 710.9 496.1T700.2 522.5 673.8 533.2 648.4 523.4L587.9 462.9 564.5 544.9Q562.5 558.6 548.8 566.4T520.5 570.3 498 552.7 494.1 525.4L515.6 443.4 433.6 464.8Q418 468.8 404.3 460.9T386.7 438.5 390.6 410.2 414.1 392.6L496.1 371.1 435.5 310.5Q425.8 300.8 425.8 285.2T436.5 257.8 462.9 246.1 488.3 257.8L548.8 318.4 570.3 236.3Q574.2 220.7 587.9 212.9T616.2 209 638.7 226.6 642.6 255.9L621.1 337.9 703.1 314.5Q718.8 310.5 731.4 318.4T748 341.8 744.1 370.1 722.7 386.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-snowflake-outline\"\n      ]\n    },\n    {\n      \"uid\": \"86e5b8f8066514bc1acbac6d7b1be7ca\",\n      \"css\": \"head-sync\",\n      \"code\": 987984,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q464.8 125 399.4 162.1T293.9 262.7 250 402.3L169.9 507.8Q162.1 517.6 168 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 573.2T834 416Q834 337.9 794.9 270.5T688.5 164.1 541 125ZM541 625V562.5Q472.7 562.5 423.8 513.7T375 396.5Q375 345.7 402.3 304.7L449.2 349.6Q437.5 371.1 437.5 396.5 437.5 439.5 467.8 469.7T541 500V437.5L634.8 531.3ZM679.7 488.3L634.8 443.4Q646.5 419.9 646.5 396.5 646.5 353.5 615.2 322.3T541 291V353.5L447.3 259.8 541 166V228.5Q611.3 228.5 660.2 277.3T709 396.5Q709 445.3 679.7 488.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-sync\"\n      ]\n    },\n    {\n      \"uid\": \"b9cfd35de796c38555f4a8c27416611e\",\n      \"css\": \"head-sync-outline\",\n      \"code\": 987985,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q621.1 125 688.5 164.1T794.9 270.5 834 416Q834 502 788.1 573.2T666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 402.3Q253.9 326.2 293.9 262.7T399.4 162.1 541 125ZM541 41Q447.3 41 366.2 85T232.4 204.1 169.9 371.1L103.5 459V459H101.6Q84 482.4 82 511.7T93.8 568.4Q117.2 613.3 166 623V666Q166 724.6 202.1 769.5T291 828.1V959H750V728.5Q828.1 677.7 872.1 594.7T916 416Q916 314.5 866.2 228.5T729.5 91.8 541 41ZM584 625V562.5Q513.7 562.5 464.8 513.7T416 396.5Q416 345.7 445.3 304.7L490.2 349.6Q478.5 371.1 478.5 396.5 478.5 439.5 509.8 469.7T584 500V437.5L677.7 531.3ZM722.7 488.3L675.8 443.4Q687.5 419.9 687.5 396.5 687.5 353.5 657.2 322.3T584 291V353.5L490.2 259.8 584 166V228.5Q652.3 228.5 701.2 277.3T750 396.5Q750 445.3 722.7 488.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8e783e89e17ebb4bddb56f35b2fdcfcc\",\n      \"css\": \"hvac\",\n      \"code\": 987986,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M357.4 584Q339.8 552.7 335.9 521.5H664.1Q662.1 550.8 644.5 584H357.4ZM500 666Q439.5 666 390.6 625H609.4Q560.5 666 500 666ZM500 334Q560.5 334 609.4 375H390.6Q439.5 334 500 334ZM357.4 416H642.6Q660.2 447.3 664.1 478.5H335.9Q339.8 447.3 357.4 416ZM125 125V875H875V125H125ZM500 750Q431.6 750 374 716.8T283.2 626 250 500 283.2 374 374 283.2 500 250 626 283.2 716.8 374 750 500 716.8 626 626 716.8 500 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hvac\"\n      ]\n    },\n    {\n      \"uid\": \"a79f691bb612e956192360457477ce79\",\n      \"css\": \"pencil-ruler\",\n      \"code\": 987987,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 718.8V875H281.3L742.2 414.1 585.9 257.8ZM941.4 765.6L765.6 941.4 548.8 724.6 623 652.3 664.1 693.4 767.6 589.8 826.2 648.4 765.6 709 808.6 750 869.1 691.4ZM275.4 451.2L58.6 234.4 234.4 58.6 308.6 130.9 205.1 234.4 250 279.3 351.6 175.8 412.1 234.4 351.6 293 394.5 335.9ZM863.3 291Q875 279.3 875 262.7T863.3 232.4L765.6 136.7Q753.9 125 736.3 125T707 136.7L630.9 212.9 787.1 369.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pencil-ruler\"\n      ]\n    },\n    {\n      \"uid\": \"90718ab2ae81f5cb67a6d4787b2404a7\",\n      \"css\": \"pipe-wrench\",\n      \"code\": 987988,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M673.8 234.4L585.9 324.2 496.1 234.4 673.8 58.6 820.3 205.1Q857.4 242.2 857.4 293.9T820.3 382.8ZM201.2 529.3L291 617.2 437.5 470.7 349.6 382.8ZM644.5 324.2L791 470.7 732.4 529.3 703.1 500 259.8 941.4 142.6 824.2 496.1 470.7 320.3 293 408.2 205.1 585.9 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pipe-wrench\"\n      ]\n    },\n    {\n      \"uid\": \"78db4d54c5a88ec47cee4e7c099b9759\",\n      \"css\": \"widgets-outline\",\n      \"code\": 987989,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M695.3 187.5L812.5 304.7 695.3 419.9 580.1 304.7ZM375 209V375H209V209H375ZM791 625V791H625V625H791ZM695.3 70.3L459 304.7 695.3 541H541V875H875V541H695.3L929.7 304.7ZM459 125H125V459H459V125ZM375 625V791H209V625H375ZM459 541H125V875H459V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"widgets-outline\"\n      ]\n    },\n    {\n      \"uid\": \"522d0c79ce2a82bf9cf24fea8b22a71d\",\n      \"css\": \"television-ambient-light\",\n      \"code\": 987990,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 459H0V375H125V459ZM125 584H0V666H125V584ZM209 212.9L119.1 125 60.5 183.6 150.4 273.4ZM416 209V84H334V209H416ZM1000 375H875V459H1000V375ZM666 209V84H584V209H666ZM849.6 273.4L939.5 183.6 880.9 125 791 212.9ZM1000 584H875V666H1000V584ZM791 375V666Q791 701.2 766.6 725.6T709 750H625V834H375V750H291Q257.8 750 233.4 725.6T209 666V375Q209 339.8 233.4 315.4T291 291H709Q742.2 291 766.6 315.4T791 375ZM709 375H291V666H709V375ZM791 828.1L880.9 916 939.5 857.4 849.6 769.5ZM150.4 769.5L60.5 857.4 119.1 916 209 828.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"television-ambient-light\"\n      ]\n    },\n    {\n      \"uid\": \"311886b14f1b945382c83fd19438f2be\",\n      \"css\": \"propane-tank\",\n      \"code\": 987991,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250V250 166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V250Q263.7 250 214.8 298.8T166 416V709Q166 765.6 201.2 810.5T291 869.1V916H709V869.1Q763.7 855.5 798.8 810.5T834 709V416Q834 347.7 785.2 298.8T666 250ZM416 166H584V250H416V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"propane-tank\"\n      ]\n    },\n    {\n      \"uid\": \"9c0693647021ad14c89d68771243a04d\",\n      \"css\": \"propane-tank-outline\",\n      \"code\": 987992,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 250V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V250Q263.7 250 214.8 298.8T166 416V709Q166 765.6 201.2 810.5T291 869.1V916H709V869.1Q763.7 855.5 798.8 810.5T834 709V416Q834 347.7 785.2 298.8T666 250ZM416 166H584V250H416V166ZM750 709Q750 742.2 725.6 766.6T666 791H334Q298.8 791 274.4 766.6T250 709V416Q250 382.8 274.4 358.4T334 334H666Q701.2 334 725.6 358.4T750 416V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"propane-tank-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5c266e59db69f1833d0b563bd6a963a9\",\n      \"css\": \"folder-music\",\n      \"code\": 987993,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166L500 250H834Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416ZM791 375H646.5V544.9L625 541Q589.8 541 565.4 565.4T541 625 565.4 684.6 625 709 684.6 684.6 709 625V459H791V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-music\"\n      ]\n    },\n    {\n      \"uid\": \"f652246899f769ecc4060ff941b86771\",\n      \"css\": \"folder-music-outline\",\n      \"code\": 987994,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 750V334H166V750H834ZM834 250Q867.2 250 891.6 274.4T916 334V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V250Q84 214.8 108.4 190.4T166 166H416L500 250H834ZM750 375V459H666V625Q666 660.2 641.6 684.6T583 709 524.4 684.6 500 625 524.4 565.4 584 541Q597.7 541 603.5 544.9V375H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-music-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9442e32d86b43f718c3288e1cf90ae6d\",\n      \"css\": \"klingon\",\n      \"code\": 987995,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M199.2 896.5L195.3 884.8Q185.5 849.6 187.5 808.6 193.4 744.1 242.2 691.4 230.5 652.3 230.5 613.3 230.5 560.5 252 512.7T310.5 429.7Q367.2 375 445.3 357.4 486.3 212.9 500 62.5 519.5 226.6 554.7 357.4 634.8 373 695.3 429.7 732.4 464.8 753.9 512.7T775.4 613.3Q775.4 650.4 763.7 687.5 818.4 712.9 896.5 720.7L892.6 726.6Q888.7 742.2 863.3 757.8H861.3Q812.5 791 744.1 791H724.6L705.1 789.1 695.3 798.8Q658.2 835.9 608.4 855.5T502.9 875 397.5 855.5 310.5 798.8L306.6 794.9Q244.1 828.1 205.1 886.7ZM271.5 664.1Q285.2 652.3 310.5 628.9 347.7 593.8 359.4 574.2L363.3 566.4Q408.2 632.8 476.6 753.9H466.8Q396.5 757.8 339.8 779.3 373 808.6 415 825.2T502 841.8Q593.8 841.8 662.1 781.3L623 771.5Q566.4 759.8 533.2 757.8H525.4L529.3 750Q539.1 730.5 595.7 634.8L634.8 568.4 638.7 576.2Q679.7 634.8 732.4 669.9 740.2 642.6 740.2 615.2 740.2 568.4 721.7 527.3T669.9 455.1Q625 410.2 564.5 396.5 585.9 466.8 607.4 513.7L609.4 517.6 607.4 519.5Q591.8 552.7 554.7 611.3 523.4 664.1 507.8 693.4L503.9 701.2 498 693.4Q478.5 666 404.3 543L392.6 521.5Q416 462.9 435.5 396.5 377 412.1 334 455.1 302.7 484.4 284.2 526.4T265.6 613.3Q265.6 638.7 271.5 664.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"klingon\"\n      ]\n    },\n    {\n      \"uid\": \"d1518dc9b53e8a81d373549afee1de23\",\n      \"css\": \"palette-swatch-outline\",\n      \"code\": 987996,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M103.5 816.4L158.2 841.8V466.8L58.6 709Q46.9 742.2 59.6 773.4T103.5 816.4ZM632.8 199.2L841.8 699.2 537.1 824.2 330.1 330.1V324.2ZM636.7 117.2Q617.2 117.2 603.5 121.1L294.9 250Q273.4 259.8 259.8 280.3T246.1 323.2 250 357.4L459 853.5Q466.8 878.9 487.3 891.6T533.2 904.3Q554.7 904.3 566.4 900.4L875 771.5Q906.3 757.8 919.9 725.6T919.9 662.1L712.9 166Q703.1 142.6 681.6 129.9T636.7 117.2ZM437.5 412.1Q418 412.1 407.2 400.4T396.5 370.1 407.2 340.8 436.5 330.1 466.8 341.8 478.5 370.1 466.8 399.4 437.5 412.1ZM246.1 824.2Q246.1 859.4 270.5 883.8T330.1 908.2H386.7L246.1 562.5V824.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"palette-swatch-outline\"\n      ]\n    },\n    {\n      \"uid\": \"888583f28062d676acb3c25e046ac4d2\",\n      \"css\": \"form-textbox-lock\",\n      \"code\": 987997,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291H250V375H166V625H250V709H84V291ZM416 291H916V500Q878.9 472.7 834 462.9V375H416V625H593.8Q572.3 625 556.6 640.6T541 677.7V709H416V791Q416 808.6 428.7 821.3T459 834H541V916H437.5Q418 916 396.5 903.3T375 875Q375 890.6 353.5 903.3T312.5 916H209V834H291Q308.6 834 321.3 821.3T334 791V209Q334 191.4 321.3 178.7T291 166H209V84H312.5Q332 84 353.5 96.7T375 125Q375 109.4 396.5 96.7T437.5 84H541V166H459Q441.4 166 428.7 178.7T416 209V291ZM908.2 709Q927.7 709 943.4 724.6T959 761.7V908.2Q959 927.7 942.4 943.4T904.3 959H675.8Q656.3 959 640.6 942.4T625 904.3V757.8Q625 740.2 640.6 724.6T675.8 709V646.5Q675.8 603.5 710.9 572.3T791 541 872.1 572.3 908.2 646.5V709ZM853.5 709V646.5Q853.5 621.1 835.9 606.4T792 591.8 747.1 606.4 728.5 646.5V709H853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"form-textbox-lock\"\n      ]\n    },\n    {\n      \"uid\": \"021624536022ec1d0566c8e1a8f47692\",\n      \"css\": \"head\",\n      \"code\": 987998,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 125Q462.9 125 398.4 162.1T293.9 262.7 250 404.3L169.9 507.8Q164.1 517.6 169.9 529.3T187.5 541H250V666Q250 701.2 274.4 725.6T334 750H375V875H666V679.7Q742.2 644.5 788.1 574.2T834 416Q834 335.9 794.9 269.5T688.5 164.1 541 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head\"\n      ]\n    },\n    {\n      \"uid\": \"d5ab5fe64fab8cea64e5dd28edcc86e1\",\n      \"css\": \"head-outline\",\n      \"code\": 987999,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 41Q447.3 41 366.2 84T233.4 202.1 169.9 371.1L103.5 459Q87.9 484.4 85.9 512.7T95.7 566.4Q123 615.2 166 621.1V666Q166 722.7 202.1 767.6T291 830.1V959H750V728.5Q828.1 675.8 872.1 593.8T916 416Q916 314.5 866.2 228.5T730.5 91.8 541 41ZM666 679.7V875H375V750H334Q298.8 750 274.4 725.6T250 666V541H187.5Q173.8 541 168 529.3T169.9 507.8L250 404.3Q253.9 328.1 293.9 263.7T399.4 162.1 543 125 688.5 164.1 794.9 269.5 834 416Q834 503.9 788.1 574.2T666 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"head-outline\"\n      ]\n    },\n    {\n      \"uid\": \"30d71b9b377b9413937d6f81bc3a3ec3\",\n      \"css\": \"shield-half\",\n      \"code\": 988000,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 41L125 209V459Q125 572.3 173.8 676.8T307.6 856.4 500 959V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-half\"\n      ]\n    },\n    {\n      \"uid\": \"6f5972ff8a52bdbda373ed57e801d317\",\n      \"css\": \"store-outline\",\n      \"code\": 988001,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M765.6 375L789.1 500H210.9L234.4 375H765.6ZM834 166H166V250H834V166ZM834 291H166L125 500V584H166V834H584V584H750V834H834V584H875V500ZM250 750V584H500V750H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"store-outline\"\n      ]\n    },\n    {\n      \"uid\": \"61b6432e37b87fb0a1badc97c093063f\",\n      \"css\": \"google-downasaur\",\n      \"code\": 988002,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 84V125H500V375H459V416H375V459H334V500H291V541H209V500H166V459H125V375H84V625H125V666H166V709H209V750H250V916H334V875H291V834H334V791H375V750H416V791H459V916H541V875H500V709H541V666H584V625H625V500H666V541H709V459H625V375H834V334H709V291H916V125H875V84H541ZM584 125H625V166H584V125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"google-downasaur\"\n      ]\n    },\n    {\n      \"uid\": \"d5f84fe4b38cad226a5212a4899204b0\",\n      \"css\": \"bottle-soda-classic-outline\",\n      \"code\": 988003,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 84V166H455.1Q449.2 203.1 421.9 248 406.3 275.4 369.1 326.2 343.8 359.4 334 375V574.2Q375 611.3 375 667T334 759.8V834Q334 867.2 358.4 891.6T416 916H584Q617.2 916 641.6 891.6T666 834V759.8Q625 722.7 625 667T666 574.2V375Q656.3 359.4 630.9 326.2 593.8 275.4 578.1 248 550.8 203.1 544.9 166H584V84H416ZM500 271.5Q511.7 293 580.1 371.1L584 375V541Q541 597.7 541 667T584 791V834H416V791Q459 736.3 459 667T416 541V375L419.9 371.1Q488.3 293 500 271.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bottle-soda-classic-outline\"\n      ]\n    },\n    {\n      \"uid\": \"09ef78bcc1d610c035b4169760fe88fc\",\n      \"css\": \"sticker\",\n      \"code\": 988004,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM625 834V771.5Q625 710.9 668 668T771.5 625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker\"\n      ]\n    },\n    {\n      \"uid\": \"d026ff7e4668bf68beb85e4a1170c48d\",\n      \"css\": \"sticker-alert\",\n      \"code\": 988005,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM541 666H459V584H541V666ZM541 500H459V334H541V500ZM625 834V771.5Q625 710.9 668 668T771.5 625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-alert\"\n      ]\n    },\n    {\n      \"uid\": \"6afc7c1bbb12052106f1c9fd45981af5\",\n      \"css\": \"sticker-alert-outline\",\n      \"code\": 988006,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 584H541V666H459V584ZM459 521.5H541V334H459V521.5ZM916 228.5V666L666 916H228.5Q169.9 916 127 873T84 771.5V228.5Q84 169.9 127 127T228.5 84H771.5Q830.1 84 873 127T916 228.5ZM834 242.2Q834 210.9 811.5 188.5T757.8 166H242.2Q210.9 166 188.5 188.5T166 242.2V761.7Q166 793 188.5 815.4T242.2 837.9H625V775.4Q625 714.8 668 671.9T771.5 628.9H834V242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-alert-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c9ab3831d46a099c64d7ec3d8a56386e\",\n      \"css\": \"sticker-check\",\n      \"code\": 988007,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM291 521.5L345.7 462.9 433.6 550.8 650.4 334 709 392.6 437.5 666ZM625 834V771.5Q625 710.9 668 668T771.5 625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-check\"\n      ]\n    },\n    {\n      \"uid\": \"c7868be5cce3b54cc6396e919d314848\",\n      \"css\": \"sticker-check-outline\",\n      \"code\": 988008,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM834 625H771.5Q710.9 625 668 668T625 771.5V834H242.2Q210.9 834 188.5 811.5T166 757.8V242.2Q166 210.9 188.5 188.5T242.2 166H761.7Q793 166 815.4 188.5T837.9 242.2V625H834ZM632.8 341.8L695.3 404.3 445.3 654.3 300.8 507.8 363.3 445.3 445.3 529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f3eca7999f74c12c5eb837e778945212\",\n      \"css\": \"sticker-minus\",\n      \"code\": 988009,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM334 459H666V541H334V459ZM625 834V771.5Q625 710.9 668 668T771.5 625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-minus\"\n      ]\n    },\n    {\n      \"uid\": \"a2a622abd514d643d2567a959f4b476d\",\n      \"css\": \"sticker-minus-outline\",\n      \"code\": 988010,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 459H666V541H334V459ZM916 228.5V666L666 916H228.5Q169.9 916 127 873T84 771.5V228.5Q84 169.9 127 127T228.5 84H771.5Q830.1 84 873 127T916 228.5ZM834 242.2Q834 210.9 811.5 188.5T757.8 166H242.2Q210.9 166 188.5 188.5T166 242.2V761.7Q166 793 188.5 815.4T242.2 837.9H625V775.4Q625 714.8 668 671.9T771.5 628.9H834V242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6335ada4f0c21b21aea441cf4e1f33c7\",\n      \"css\": \"sticker-outline\",\n      \"code\": 988011,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M228.5 84Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84H228.5ZM242.2 166H761.7Q793 166 815.4 188.5T837.9 242.2V625H775.4Q714.8 625 671.9 668T628.9 771.5V834H242.2Q210.9 834 188.5 811.5T166 757.8V242.2Q166 210.9 188.5 188.5T242.2 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1fe341b134b5804d3beba96c4993cb54\",\n      \"css\": \"sticker-plus\",\n      \"code\": 988012,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM541 666H459V541H334V459H459V334H541V459H666V541H541V666ZM625 834V771.5Q625 710.9 668 668T771.5 625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-plus\"\n      ]\n    },\n    {\n      \"uid\": \"881a090daa894ca656828bf4000ae54a\",\n      \"css\": \"sticker-plus-outline\",\n      \"code\": 988013,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 459H666V541H541V666H459V541H334V459H459V334H541V459ZM916 228.5V666L666 916H228.5Q169.9 916 127 873T84 771.5V228.5Q84 169.9 127 127T228.5 84H771.5Q830.1 84 873 127T916 228.5ZM834 242.2Q834 210.9 811.5 188.5T757.8 166H242.2Q210.9 166 188.5 188.5T166 242.2V761.7Q166 793 188.5 815.4T242.2 837.9H625V775.4Q625 714.8 668 671.9T771.5 628.9H834V242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7018f61e67032d73e62ae1c156ad60e1\",\n      \"css\": \"sticker-remove\",\n      \"code\": 988014,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 84H228.5Q169.9 84 127 127T84 228.5V771.5Q84 830.1 127 873T228.5 916H666L916 666V228.5Q916 169.9 873 127T771.5 84ZM500 558.6L412.1 646.5 353.5 587.9 441.4 500 353.5 412.1 412.1 353.5 500 441.4 587.9 353.5 646.5 412.1 558.6 500 646.5 587.9 587.9 646.5ZM625 834V771.5Q625 710.9 668 668T771.5 625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-remove\"\n      ]\n    },\n    {\n      \"uid\": \"bd55079474eeadcb9fd93eb7e436e4bf\",\n      \"css\": \"sticker-remove-outline\",\n      \"code\": 988015,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 392.6L558.6 500 666 607.4 607.4 666 500 558.6 392.6 666 334 607.4 441.4 500 334 392.6 392.6 334 500 441.4 607.4 334ZM916 228.5V666L666 916H228.5Q169.9 916 127 873T84 771.5V228.5Q84 169.9 127 127T228.5 84H771.5Q830.1 84 873 127T916 228.5ZM834 242.2Q834 210.9 811.5 188.5T757.8 166H242.2Q210.9 166 188.5 188.5T166 242.2V761.7Q166 793 188.5 815.4T242.2 837.9H625V775.4Q625 714.8 668 671.9T771.5 628.9H834V242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sticker-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a6fb7d369d207bea7329da5b42b4334b\",\n      \"css\": \"account-cog\",\n      \"code\": 988016,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166Q347.7 166 298.8 214.8T250 333 298.8 451.2 417 500 535.2 451.2 584 333 535.2 214.8 416 166ZM709 500Q699.2 500 697.3 507.8L689.5 564.5Q669.9 572.3 654.3 584L601.6 562.5Q591.8 562.5 589.8 568.4L548.8 640.6Q543 648.4 550.8 654.3L593.8 687.5V708 728.5L550.8 763.7Q543 769.5 548.8 777.3L589.8 849.6Q591.8 853.5 601.6 853.5L654.3 834Q673.8 845.7 689.5 853.5L697.3 908.2Q699.2 916 709 916H791Q800.8 916 800.8 908.2L810.5 853.5Q826.2 845.7 843.8 834L896.5 853.5Q906.3 853.5 910.2 849.6L951.2 777.3Q955.1 769.5 949.2 763.7L904.3 728.5 906.3 709Q906.3 697.3 904.3 687.5L949.2 654.3Q955.1 648.4 951.2 640.6L908.2 568.4Q906.3 562.5 896.5 562.5L843.8 584Q824.2 568.4 808.6 564.5L800.8 507.8Q800.8 500 791 500H709ZM416 584Q326.2 584 250 606.4T128.9 667 84 750V834H486.3Q459 773.4 459 709T484.4 587.9Q451.2 584 416 584ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cog\"\n      ]\n    },\n    {\n      \"uid\": \"c05aa05f55f5c0ed6b5f62da81611d2e\",\n      \"css\": \"account-cog-outline\",\n      \"code\": 988017,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 166Q347.7 166 298.8 214.8T250 333 298.8 451.2 417 500 535.2 451.2 584 333 535.2 214.8 416 166ZM416 250Q451.2 250 475.6 274.4T500 333 475.6 391.6 417 416 358.4 391.6 334 333 358.4 274.4 416 250ZM709 500Q699.2 500 699.2 509.8L687.5 562.5Q681.6 566.4 668 576.2L654.3 584 601.6 562.5Q591.8 562.5 587.9 566.4L548.8 640.6Q544.9 642.6 545.9 646.5T550.8 654.3L595.7 687.5V728.5L550.8 763.7Q543 771.5 548.8 777.3L587.9 849.6Q591.8 853.5 601.6 853.5L654.3 834 668 841.8Q681.6 849.6 687.5 853.5L699.2 906.3Q699.2 916 709 916H791Q794.9 916 797.9 914.1T800.8 906.3L808.6 853.5 845.7 834 896.5 853.5Q908.2 853.5 908.2 849.6L951.2 777.3Q957 771.5 949.2 763.7L904.3 728.5V687.5L949.2 654.3Q957 644.5 951.2 640.6L908.2 566.4Q908.2 562.5 896.5 562.5L845.7 584 808.6 562.5 800.8 509.8Q800.8 505.9 797.9 502.9T791 500H709ZM416 541Q355.5 541 281.3 560.5 197.3 582 144.5 615.2 84 656.3 84 709V834H486.3Q468.8 794.9 462.9 753.9H162.1V709Q162.1 695.3 201.2 673.8T294.9 636.7Q359.4 621.1 416 621.1 441.4 621.1 470.7 625 484.4 584 505.9 550.8 453.1 541 416 541ZM752 646.5Q777.3 646.5 794.9 665T812.5 709 794.9 752.9 751 771.5 706.1 752.9 687.5 708 706.1 664.1 752 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"723c91147e2beecf2349f8ad960f9994\",\n      \"css\": \"account-details-outline\",\n      \"code\": 988018,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 375Q459 427.7 421.9 463.9T333 500 245.1 463.9 209 375 245.1 286.1 333 250 421.9 286.1 459 375ZM584 834H84V750Q84 705.1 117.2 667T208 606.4 333 584 458 606.4 549.8 667 584 750V834ZM291 375Q291 392.6 303.7 404.3T333 416 362.3 404.3 375 375 362.3 345.7 333 334 303.7 345.7 291 375ZM166 750H500Q500 714.8 451.2 690.4T333 666 214.8 690.4 166 750ZM916 500V584H541V500H916ZM916 334V416H541V334H916ZM916 166V250H541V166H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"account-details-outline\"\n      ]\n    },\n    {\n      \"uid\": \"23d461f0541488645a88dc6027745560\",\n      \"css\": \"upload-lock\",\n      \"code\": 988019,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H709Q693.4 916 679.7 903.3T666 875V709Q666 693.4 679.7 679.7T709 666V603.5Q709 560.5 739.3 530.3T812.5 500 885.7 530.3 916 603.5V666Q931.6 666 945.3 679.7T959 709V875Q959 890.6 945.3 903.3T916 916ZM584 834H209V750H584V834ZM875 666V603.5Q875 580.1 856.4 560.5T812.5 541 768.6 560.5 750 603.5V666H875ZM625 666H375V416H209L500 125 791 416H625V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-lock\"\n      ]\n    },\n    {\n      \"uid\": \"20f1f1fe8cabc75d4d610ebc1c600156\",\n      \"css\": \"upload-lock-outline\",\n      \"code\": 988020,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 916H709Q693.4 916 679.7 903.3T666 875V709Q666 693.4 679.7 679.7T709 666V603.5Q709 560.5 739.3 530.3T812.5 500 885.7 530.3 916 603.5V666Q931.6 666 945.3 679.7T959 709V875Q959 890.6 945.3 903.3T916 916ZM209 750H584V834H209V750ZM875 666V603.5Q875 580.1 856.4 560.5T812.5 541 768.6 560.5 750 603.5V666H875ZM375 666V416H209L500 125 791 416H625V666H375ZM410.2 334H459V584H541V334H589.8L500 242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"upload-lock-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bb8317583210df9e408d63dca71e2905\",\n      \"css\": \"label-multiple\",\n      \"code\": 988021,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 791H541L459 875H166Q132.8 875 108.4 850.6T84 791V375H166V791ZM734.4 244.1Q722.7 226.6 705.1 217.8T666 209H334Q298.8 209 274.4 233.4T250 291V625Q250 660.2 274.4 684.6T334 709H666Q687.5 709 705.1 699.2T734.4 673.8L916 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"365ebeefe063758de0bb85b2335169a7\",\n      \"css\": \"label-multiple-outline\",\n      \"code\": 988022,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 750H541L459 834H166Q132.8 834 108.4 808.6T84 750V334H166V750ZM734.4 201.2Q722.7 185.5 705.1 175.8T666 166H334Q298.8 166 274.4 190.4T250 250V584Q250 617.2 274.4 641.6T334 666H666Q687.5 666 705.1 657.2T734.4 630.9L916 416ZM666 584H334V250H666L814.5 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"label-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6cf3471153366340fb0843fca9d50a9\",\n      \"css\": \"refresh-circle\",\n      \"code\": 988023,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500Q916 418 884.8 340.8T794.9 205.1 659.2 115.2 500 84ZM750 459H541L617.2 382.8Q568.4 334 502 334T387.7 377 334 485.4 368.2 601.6 471.7 664.1 589.8 640.6 660.2 541H746.1Q736.3 605.5 695.3 655.3T595.7 730.5 471.7 748 354.5 703.1 274.4 608.4 250 485.4 288.1 366.2 378.9 281.3 500 250Q548.8 250 594.7 269.5T675.8 324.2L750 250V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"refresh-circle\"\n      ]\n    },\n    {\n      \"uid\": \"9e43aa652967a43ce048f7afb4feebbd\",\n      \"css\": \"sync-circle\",\n      \"code\": 988024,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 500Q84 613.3 139.6 709T291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500ZM650.4 572.3Q666 537.1 666 500 666 431.6 617.2 382.8T500 334V416L369.1 291 500 166V250Q568.4 250 626 283.2T716.8 374 750 502 710.9 632.8ZM250 500Q250 427.7 289.1 367.2L349.6 427.7Q334 462.9 334 500 334 568.4 382.8 617.2T500 666V584L625 709 500 834V750Q431.6 750 374 716.8T283.2 626 250 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sync-circle\"\n      ]\n    },\n    {\n      \"uid\": \"9ade86eff4cb1999ae7881bf0e49ec81\",\n      \"css\": \"bookmark-music-outline\",\n      \"code\": 988025,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125Q257.8 125 233.4 149.4T209 209V875L500 750 791 875V209Q791 173.8 766.6 149.4T709 125H291ZM291 209H709V750L500 658.2 291 750V209ZM500 250V470.7Q480.5 459 459 459 423.8 459 399.4 483.4T375 542 399.4 600.6 458 625 516.6 600.6 541 541V334H625V250H500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-music-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9b3de0057f0fd4e38dd0ea58b5500c0b\",\n      \"css\": \"bookmark-remove-outline\",\n      \"code\": 988026,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 125Q257.8 125 233.4 149.4T209 209V875L500 750 791 875V209Q791 173.8 766.6 149.4T709 125H291ZM291 209H709V750L500 658.2 291 750V209ZM412.1 310.5L353.5 369.1 441.4 459 353.5 546.9 412.1 605.5 500 517.6 587.9 605.5 648.4 546.9 558.6 459 646.5 369.1 587.9 310.5 500 400.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"46828bd4bb51a7beff1f008c383164c2\",\n      \"css\": \"bookmark-check-outline\",\n      \"code\": 988027,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M394.5 402.3L335.9 460.9 459 584 673.8 367.2 615.2 308.6 459 466.8ZM709 125H291Q257.8 125 233.4 149.4T209 209V875L500 750 791 875V209Q791 173.8 766.6 149.4T709 125ZM709 750L500 658.2 291 750V209H709V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bookmark-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d5db407eb606e723b13af6f79830c55e\",\n      \"css\": \"traffic-cone\",\n      \"code\": 988028,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 625L750 791H875V916H125V791H250L291 625H709ZM625 334L666 500H334L375 334H625ZM541 41L584 209H416L459 41H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"traffic-cone\"\n      ]\n    },\n    {\n      \"uid\": \"749a9ab4a050bb41465e84f411380ac4\",\n      \"css\": \"cup-off-outline\",\n      \"code\": 988029,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M160.2 84L242.2 166H783.2L728.5 652.3 804.7 728.5 875 84H160.2ZM93.8 125L41 177.7 146.5 283.2 209 843.8Q212.9 875 236.3 895.5T291 916H709Q736.3 916 761.7 898.4L822.3 959 875 906.3ZM240.2 377L697.3 834H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cup-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e8da9036f7622410e521b309b2b0a26a\",\n      \"css\": \"auto-download\",\n      \"code\": 988030,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H459V709H916ZM791 187.5V396.5H916L687.5 625 459 396.5H584V187.5H791ZM445.3 625H367.2L337.9 541H205.1L175.8 625H95.7L228.5 250H312.5ZM318.4 486.3L271.5 334 222.7 486.3H318.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"auto-download\"\n      ]\n    },\n    {\n      \"uid\": \"05dbcdbe5c83d230ded89072ee2f50a5\",\n      \"css\": \"shuriken\",\n      \"code\": 988031,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 396.5L500 84 396.5 396.5 84 500 396.5 603.5 500 916 603.5 603.5 916 500ZM500 570.3Q470.7 570.3 450.2 550.8T429.7 501 449.2 450.2 499 429.7 549.8 449.2 570.3 498 548.8 548.8 500 570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shuriken\"\n      ]\n    },\n    {\n      \"uid\": \"64be829680d69c045648798198499c42\",\n      \"css\": \"chart-ppf\",\n      \"code\": 988032,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 250V334Q308.6 334 402.3 368.2T564.5 464.8Q628.9 521.5 666 595.7T709 750H791Q785.2 613.3 705.1 498T494.1 316.4 209 250ZM916 875H84V125H166V791H916V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chart-ppf\"\n      ]\n    },\n    {\n      \"uid\": \"356f264ba6151ad90d3e6380c3c5ee3b\",\n      \"css\": \"elevator-passenger\",\n      \"code\": 988033,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM334 209Q357.4 209 377 227.5T396.5 270.5 377 314.5 333 334 290 314.5 271.5 270.5 290 227.5 334 209ZM459 584H396.5V791H271.5V584H209V459Q209 423.8 233.4 399.4T291 375H375Q410.2 375 434.6 399.4T459 459V584ZM662.1 791L541 591.8H783.2ZM541 416L666 209 791 416H541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"elevator-passenger\"\n      ]\n    },\n    {\n      \"uid\": \"a184c105a2331ccef0d8540a2c7dea61\",\n      \"css\": \"compass-rose\",\n      \"code\": 988034,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 375L500 0 375 375 0 500 375 625 500 1000 625 625 1000 500ZM166 500L416 416 459 500H166ZM500 834L416 584 500 541V834ZM500 166L584 416 500 459V166ZM584 584L541 500H834ZM363.3 720.7L209 791 279.3 636.7 345.7 658.2ZM720.7 636.7L791 791 636.7 720.7 658.2 654.3ZM279.3 363.3L209 209 363.3 279.3 341.8 341.8ZM636.7 279.3L791 209 720.7 363.3 654.3 341.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compass-rose\"\n      ]\n    },\n    {\n      \"uid\": \"b69b6461b82d9c7072f14bc45e7e86b8\",\n      \"css\": \"space-station\",\n      \"code\": 988035,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M646.5 791V875H572.3Q560.5 894.5 542 905.3T500 916 458 905.3 427.7 875H353.5V791H427.7Q439.5 771.5 459 761.7V709H416Q400.4 709 387.7 696.3T375 666V541H250V709Q250 724.6 237.3 737.3T209 750H125Q107.4 750 95.7 737.3T84 709V334Q84 316.4 95.7 303.7T125 291H209Q224.6 291 237.3 303.7T250 334V459H375V334Q375 316.4 387.7 303.7T416 291H459V250H416Q400.4 250 387.7 237.3T375 209V166Q375 150.4 387.7 137.7T416 125H584Q599.6 125 612.3 137.7T625 166V209Q625 224.6 612.3 237.3T584 250H541V291H584Q599.6 291 612.3 303.7T625 334V459H750V334Q750 316.4 762.7 303.7T791 291H875Q892.6 291 904.3 303.7T916 334V709Q916 724.6 904.3 737.3T875 750H791Q775.4 750 762.7 737.3T750 709V541H625V666Q625 683.6 612.3 696.3T584 709H541V761.7Q560.5 771.5 572.3 791H646.5ZM125 666V709H209V666H125ZM125 584V625H209V584H125ZM125 500V541H209V500H125ZM125 416V459H209V416H125ZM125 334V375H209V334H125ZM791 666V709H875V666H791ZM791 584V625H875V584H791ZM791 500V541H875V500H791ZM791 416V459H875V416H791ZM791 334V375H875V334H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"space-station\"\n      ]\n    },\n    {\n      \"uid\": \"5a62b3cb52513b4b517ef1fe9931ccb8\",\n      \"css\": \"order-bool-descending\",\n      \"code\": 988036,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 541Q181.6 541 132.8 589.8T84 708 132.8 826.2 250 875 367.2 826.2 416 708 367.2 589.8 250 541ZM250 791Q214.8 791 190.4 766.6T166 708 190.4 649.4 250 625 309.6 649.4 334 708 309.6 766.6 250 791ZM250 125Q181.6 125 132.8 173.8T84 292 132.8 410.2 250 459 367.2 410.2 416 292 367.2 173.8 250 125ZM500 209H916V291H500V209ZM500 791V709H916V791H500ZM500 459H916V541H500V459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"order-bool-descending\"\n      ]\n    },\n    {\n      \"uid\": \"0edad3058ef1688d9235d36d22bfc794\",\n      \"css\": \"sort-bool-ascending\",\n      \"code\": 988037,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H916L750 875 584 709H709V125H791V709ZM291 125Q222.7 125 173.8 173.8T125 292 173.8 410.2 292 459 410.2 410.2 459 292 410.2 173.8 291 125ZM291 375Q257.8 375 233.4 350.6T209 292 233.4 233.4 292 209 350.6 233.4 375 292 350.6 350.6 291 375ZM291 541Q222.7 541 173.8 589.8T125 708 173.8 826.2 292 875 410.2 826.2 459 708 410.2 589.8 291 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-bool-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"20ac7e9a591723ebf35195d0a4bb5a95\",\n      \"css\": \"sort-bool-ascending-variant\",\n      \"code\": 988038,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H916L750 875 584 709H709V125H791V709ZM375 541H209Q173.8 541 149.4 565.4T125 625V791Q125 826.2 149.4 850.6T209 875H375Q410.2 875 434.6 850.6T459 791V625Q459 589.8 434.6 565.4T375 541ZM261.7 812.5L156.3 707 201.2 662.1 261.7 724.6 382.8 603.5 427.7 648.4ZM375 125H209Q173.8 125 149.4 149.4T125 209V375Q125 410.2 149.4 434.6T209 459H375Q410.2 459 434.6 434.6T459 375V209Q459 173.8 434.6 149.4T375 125ZM375 375H209V209H375V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-bool-ascending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"f917a52a28d341623928971fdde48f0d\",\n      \"css\": \"sort-bool-descending\",\n      \"code\": 988039,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H916L750 125 584 291H709V875H791V291ZM209 291Q209 326.2 233.4 350.6T292 375 350.6 350.6 375 292 350.6 233.4 292 209 233.4 233.4 209 291ZM291 125Q361.3 125 410.2 173.8T459 292 410.2 410.2 292 459 173.8 410.2 125 292 173.8 173.8 291 125ZM291 541Q222.7 541 173.8 589.8T125 708 173.8 826.2 292 875 410.2 826.2 459 708 410.2 589.8 291 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-bool-descending\"\n      ]\n    },\n    {\n      \"uid\": \"2c6be025532ddd295294e518cfd586ba\",\n      \"css\": \"sort-bool-descending-variant\",\n      \"code\": 988040,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H916L750 125 584 291H709V875H791V291ZM209 541Q173.8 541 149.4 565.4T125 625V791Q125 826.2 149.4 850.6T209 875H375Q410.2 875 434.6 850.6T459 791V625Q459 589.8 434.6 565.4T375 541H209ZM382.8 603.5L427.7 648.4 261.7 812.5 156.3 707 201.2 662.1 261.7 724.6ZM209 125Q173.8 125 149.4 149.4T125 209V375Q125 410.2 149.4 434.6T209 459H375Q410.2 459 434.6 434.6T459 375V209Q459 173.8 434.6 149.4T375 125H209ZM209 209H375V375H209V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-bool-descending-variant\"\n      ]\n    },\n    {\n      \"uid\": \"0eeabc2152cb9c21b64fc12117caca79\",\n      \"css\": \"sort-numeric-ascending\",\n      \"code\": 988041,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 709H916L750 875 584 709H709V125H791V709ZM375 541H291Q257.8 541 233.4 565.4T209 625V666Q209 701.2 233.4 725.6T291 750H375V791H209V875H375Q410.2 875 434.6 850.6T459 791V625Q459 589.8 434.6 565.4T375 541ZM375 666H291V625H375V666ZM375 125H291Q257.8 125 233.4 149.4T209 209V375Q209 410.2 233.4 434.6T291 459H375Q410.2 459 434.6 434.6T459 375V209Q459 173.8 434.6 149.4T375 125ZM375 375H291V209H375V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-numeric-ascending\"\n      ]\n    },\n    {\n      \"uid\": \"1648d8e91205a0cc7bfd41cd5173ccd2\",\n      \"css\": \"sort-numeric-descending\",\n      \"code\": 988042,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 291H916L750 125 584 291H709V875H791V291ZM375 875H209V791H375V750H291Q257.8 750 233.4 725.6T209 666V625Q209 589.8 233.4 565.4T291 541H375Q410.2 541 434.6 565.4T459 625V791Q459 826.2 434.6 850.6T375 875ZM375 625H291V666H375V625ZM291 125H375Q410.2 125 434.6 149.4T459 209V375Q459 410.2 434.6 434.6T375 459H291Q257.8 459 233.4 434.6T209 375V209Q209 173.8 233.4 149.4T291 125ZM291 375H375V209H291V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sort-numeric-descending\"\n      ]\n    },\n    {\n      \"uid\": \"7f764326ab996c33adf6b1a599368c4c\",\n      \"css\": \"human-baby-changing-table\",\n      \"code\": 988043,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 253.9Q246.1 253.9 225.6 269.5T197.3 308.6L125 505.9V916H291V535.2L351.6 373 445.3 416H584V334H464.8L304.7 257.8Q287.1 252 271.5 253.9ZM375 709H875V791H375V709ZM416 146.5Q416 179.7 391.6 204.1T333 228.5 274.4 204.1 250 145.5 274.4 86.9 333 62.5 391.6 86.9 416 146.5ZM875 603.5Q875 630.9 856.4 648.4T812.5 666 768.6 648.4 750 604.5 768.6 559.6 812.5 541 856.4 559.6 875 603.5ZM375 459V541H459V584Q459 617.2 483.4 641.6T541 666H625Q660.2 666 684.6 641.6T709 584V459H625V541H541V500Q541 482.4 529.3 470.7T500 459H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-baby-changing-table\"\n      ]\n    },\n    {\n      \"uid\": \"875d9c45ed8ea344baa99c53d3905aae\",\n      \"css\": \"human-male-child\",\n      \"code\": 988044,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84Q257.8 84 233.4 108.4T209 167 233.4 225.6 292 250 350.6 225.6 375 167 350.6 108.4 291 84ZM209 291Q173.8 291 149.4 315.4T125 375V625H209V916H416V482.4L521.5 666H623L666 611.3V916H834V709H875V584Q875 548.8 850.6 524.4T791 500H687.5Q650.4 500 627 528.3T584 584H570.3L416 318.4Q410.2 308.6 392.6 299.8T353.5 291H209ZM750 334Q724.6 334 706.1 351.6T687.5 395.5 706.1 440.4 750 459 793.9 440.4 812.5 395.5 793.9 351.6 750 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-male-child\"\n      ]\n    },\n    {\n      \"uid\": \"502adfe75b2601af5d799daa8ca3caf8\",\n      \"css\": \"human-wheelchair\",\n      \"code\": 988045,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M353.5 166Q353.5 201.2 329.1 225.6T270.5 250 211.9 225.6 187.5 167 211.9 108.4 270.5 84 329.1 108.4 353.5 166ZM209 291Q173.8 291 149.4 315.4T125 375V625H209V916H359.4Q316.4 875 293.9 821.3T271.5 709Q271.5 630.9 310.5 563.5T416 457V375Q416 339.8 391.6 315.4T334 291H209ZM541 334V666H771.5L882.8 816.4 949.2 767.6 812.5 584H625V334H541ZM500 509.8Q435.5 529.3 394.5 585T353.5 709Q353.5 750 370.1 788.1T416 855.5 483.4 900.4 562.5 916Q619.1 916 667 888.7T743.2 813.5 771.5 709H687.5Q687.5 759.8 651.4 796.9T562.5 834 473.6 796.9 437.5 709Q437.5 675.8 454.1 646.5T500 599.6V509.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"human-wheelchair\"\n      ]\n    },\n    {\n      \"uid\": \"1958a8018b290048d81197099096a18c\",\n      \"css\": \"microsoft-access\",\n      \"code\": 988046,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M603.5 109.4Q660.2 109.4 716.8 115.2L744.1 119.1 785.2 127Q806.6 130.9 830.1 137.7T873 153.3 904.3 173.8 916 201.2V798.8Q916 814.5 904.3 826.2T873 846.7 830.1 862.3 785.2 873L744.1 880.9 714.8 884.8Q660.2 890.6 604.5 890.6T492.2 884.8L464.8 880.9 423.8 873Q400.4 869.1 377 862.3T335 846.7 303.7 826.2 291 798.8V709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H291V201.2Q291 185.5 303.7 173.8T335 153.3 377 137.7 423.8 127L464.8 119.1 492.2 115.2Q548.8 109.4 603.5 109.4ZM603.5 162.1Q578.1 162.1 544.9 163.1T478.5 168.9 414.1 181.6 357.4 201.2Q382.8 212.9 414.1 219.7T478.5 231.4 543.9 238.3 603.5 240.2 663.1 238.3 728.5 231.4 793.9 219.7 851.6 201.2Q826.2 189.5 794.9 181.6T729.5 168.9 663.1 163.1 603.5 162.1ZM248 574.2H335.9L355.5 636.7H425.8L326.2 363.3H257.8L158.2 636.7H226.6ZM865.2 791V666Q837.9 679.7 804.7 687.5T736.3 700.2 667 707 603.5 709 544.9 707 486.3 701.2Q476.6 709 464.8 709H343.8V791Q355.5 800.8 376 807.6T419.9 820.3 469.7 830.1 521.5 835.9 568.4 837.9H603.5 640.6Q662.1 837.9 686.5 835.9T737.3 830.1 788.1 820.3 833 807.6 865.2 791ZM865.2 609.4V459Q837.9 470.7 804.7 478.5T736.3 491.2 667 498 605.5 500 552.7 498L500 494.1V650.4Q525.4 654.3 551.8 655.3T603.5 656.3H640.6L687.5 652.3Q710.9 650.4 737.3 646.5T788.1 637.7 832 626 865.2 609.4ZM865.2 400.4V250Q837.9 263.7 804.7 271.5T736.3 283.2 667 289.1 604.5 291 542 289.1 472.7 283.2 404.3 271.5 343.8 250V291H464.8Q478.5 291 489.3 301.8T500 326.2V443.4Q525.4 445.3 551.8 446.3T603.5 447.3H640.6L687.5 443.4Q710.9 441.4 737.3 438.5T788.1 429.7 832 417 865.2 400.4ZM263.7 521.5L291 437.5 318.4 521.5H263.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-access\"\n      ]\n    },\n    {\n      \"uid\": \"c1dafb91abd08dd348617cb38dfcc4d5\",\n      \"css\": \"microsoft-excel\",\n      \"code\": 988047,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M882.8 134.8Q896.5 134.8 906.3 145.5T916 169.9V830.1Q916 843.8 906.3 854.5T882.8 865.2H326.2Q312.5 865.2 301.8 854.5T291 830.1V709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H291V169.9Q291 156.3 301.8 145.5T326.2 134.8H882.8ZM291 544.9L341.8 636.7H416L334 502 414.1 371.1H341.8L294.9 459Q283.2 437.5 271.5 414.1L248 371.1H173.8L252 503.9 166 636.7H240.2ZM578.1 812.5V709H343.8V812.5H578.1ZM578.1 656.3V525.4H500V656.3H578.1ZM578.1 474.6V343.8H500V474.6H578.1ZM578.1 291V187.5H343.8V291H578.1ZM865.2 812.5V709H630.9V812.5H865.2ZM865.2 656.3V525.4H630.9V656.3H865.2ZM865.2 474.6V343.8H630.9V474.6H865.2ZM865.2 291V187.5H630.9V291H865.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-excel\"\n      ]\n    },\n    {\n      \"uid\": \"30fc71e3a85b90f98ae30f7bdc011c1d\",\n      \"css\": \"microsoft-powerpoint\",\n      \"code\": 988048,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M552.7 134.8Q601.6 134.8 648.4 148.4T736.3 185.5 810.5 242.2 867.2 315.4 903.3 402.3 916 500 903.3 597.7 867.2 684.6 810.5 757.8 736.3 814.5 648.4 851.6 552.7 865.2Q507.8 865.2 464.8 854.5T383.8 823.2 312.5 773.4 252 709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H252Q279.3 255.9 312.5 226.6T383.8 176.8 464.8 145.5 552.7 134.8ZM578.1 189.5V474.6H863.3Q857.4 416 834 367.2T772.5 280.3 684.6 217.8 578.1 189.5ZM396.5 451.2Q396.5 427.7 387.7 411.1T365.2 383.8 333 368.2 291 363.3H181.6V636.7H246.1V541H289.1Q308.6 541 328.1 535.2T362.3 518.6 386.7 490.2 396.5 451.2ZM552.7 812.5Q593.8 812.5 630.9 801.8T702.1 773.4 763.7 729.5 812.5 671.9 846.7 603.5 863.3 525.4H527.3V189.5Q466.8 193.4 413.1 220.7T320.3 291H464.8Q478.5 291 489.3 301.8T500 326.2V673.8Q500 687.5 489.3 698.2T464.8 709H320.3Q341.8 732.4 369.1 752T425.8 785.2 487.3 805.7 552.7 812.5ZM285.2 416Q304.7 416 316.4 423.8T328.1 453.1Q328.1 462.9 324.2 468.8T313.5 478.5 298.8 483.4 283.2 484.4H246.1V416H285.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-powerpoint\"\n      ]\n    },\n    {\n      \"uid\": \"682df5dcfee53d1603cba4001d2f4bf1\",\n      \"css\": \"microsoft-sharepoint\",\n      \"code\": 988049,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 552.7Q916 595.7 899.4 632.8T854.5 698.2 789.1 743.2 709 759.8Q681.6 759.8 656.3 753.9 652.3 789.1 636.7 818.4T596.7 870.1 540 904.3 471.7 916 402.3 902.3 344.7 863.3 305.7 804.7 291 734.4V720.7L293 709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H240.2Q246.1 248 266.6 210T318.4 143.6 389.6 99.6 476.6 84 565.4 102.5 639.6 152.3 690.4 226.6 709 318.4V330.1Q709 337.9 707 343.8 750 343.8 788.1 360.4T854.5 404.3 899.4 469.7 916 552.7ZM474.6 134.8Q439.5 134.8 409.2 146.5T354.5 179.7 314.5 229.5 293 291H464.8Q478.5 291 489.3 301.8T500 326.2V498L507.8 496.1Q513.7 470.7 527.3 447.3T560.5 405.3 603.5 372.1 652.3 351.6Q656.3 334 656.3 318.4 656.3 279.3 641.6 246.1T602.5 188.5 544.9 149.4 474.6 134.8ZM294.9 634.8Q314.5 634.8 333 630.9T365.2 618.2 387.7 594.7 396.5 558.6 387.7 522.5 365.2 498 335.9 482.4L304.7 468.8Q291 464.8 282.2 458T273.4 443.4 278.3 431.6 290 424.8 302.7 421.9L316.4 419.9Q335.9 419.9 352.5 425.8T384.8 441.4V380.9L351.6 371.1 334 369.1H314.5Q296.9 369.1 278.3 373T244.1 386.7 218.8 410.2 209 445.3 218.8 480.5 242.2 503.9 271.5 521.5L300.8 533.2Q314.5 539.1 324.2 544.9T334 559.6 329.1 573.2 318.4 581.1 304.7 584H291Q267.6 584 248 576.2T210.9 554.7V619.1Q252 634.8 294.9 634.8ZM474.6 865.2Q500 865.2 524.4 854.5T566.4 826.2 593.8 785.2 603.5 736.3 595.7 689.5 574.2 651.4 542 623 500 607.4V673.8Q500 687.5 489.3 698.2T464.8 709H345.7Q343.8 720.7 343.8 734.4 343.8 761.7 353.5 785.2T381.8 826.2 423.8 854.5 474.6 865.2ZM709 709Q740.2 709 768.6 696.3T818.4 662.1 852.5 612.3 865.2 552.7 852.5 492.2 818.4 441.4 768.6 408.2 708 396.5 647.5 408.2 597.7 441.4 564.5 492.2 552.7 552.7V570.3Q572.3 580.1 587.9 592.8T617.2 622.1 639.6 658.2 652.3 697.3Q679.7 709 709 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-sharepoint\"\n      ]\n    },\n    {\n      \"uid\": \"b8fcc07d77842fafbbb4baf25c1fdafb\",\n      \"css\": \"microsoft-word\",\n      \"code\": 988050,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M882.8 134.8Q896.5 134.8 906.3 145.5T916 169.9V830.1Q916 843.8 906.3 854.5T882.8 865.2H326.2Q312.5 865.2 301.8 854.5T291 830.1V709H117.2Q103.5 709 93.8 698.2T84 673.8V326.2Q84 312.5 93.8 301.8T117.2 291H291V169.9Q291 156.3 301.8 145.5T326.2 134.8H882.8ZM293 472.7L343.8 636.7H400.4L455.1 363.3H396.5L365.2 525.4 318.4 369.1H271.5L220.7 525.4 189.5 363.3H128.9L183.6 636.7H240.2ZM865.2 812.5V709H343.8V812.5H865.2ZM865.2 656.3V525.4H500V656.3H865.2ZM865.2 474.6V343.8H500V474.6H865.2ZM865.2 291V187.5H343.8V291H865.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microsoft-word\"\n      ]\n    },\n    {\n      \"uid\": \"0667d759c5bbee257a0c0df68d0b4813\",\n      \"css\": \"nintendo-game-boy\",\n      \"code\": 988051,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 41Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H584Q640.6 959 688.5 930.7T763.7 854.5 791 750V125Q791 89.8 766.6 65.4T709 41H291ZM334 166H666V459H334V166ZM375 584H416V666H500V709H416V791H375V709H291V666H375V584ZM666 625Q683.6 625 696.3 637.7T709 667 696.3 696.3 667 709 637.7 696.3 625 667 637.7 637.7 666 625ZM584 709Q599.6 709 612.3 720.7T625 750 612.3 779.3 583 791 553.7 779.3 541 750 553.7 720.7 584 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"nintendo-game-boy\"\n      ]\n    },\n    {\n      \"uid\": \"83dc3f19735e6bc1c810762d24e3aaf4\",\n      \"css\": \"cable-data\",\n      \"code\": 988052,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M293 146.5Q250 189.5 250 250T293 353.5L648.4 707Q666 724.6 666 751T647.5 794.9 603.5 812.5 558.6 794.9L382.8 617.2 425.8 574.2 279.3 425.8 263.7 441.4 205.1 382.8Q193.4 369.1 175.8 369.1T146.5 382.8L87.9 441.4Q76.2 453.1 76.2 470.7T87.9 500L146.5 558.6 130.9 574.2 279.3 720.7 324.2 675.8 500 853.5Q543 896.5 603.5 896.5T707 853.5 750 750 707 648.4L351.6 293Q334 275.4 334 249T352.5 205.1 396.5 187.5 441.4 205.1L617.2 382.8 574.2 425.8 720.7 574.2 736.3 558.6 794.9 617.2Q806.6 630.9 824.2 630.9T853.5 617.2L912.1 558.6Q923.8 546.9 923.8 529.3T912.1 500L853.5 441.4 869.1 425.8 720.7 279.3 675.8 324.2 500 146.5Q457 103.5 396.5 103.5T293 146.5ZM117.2 470.7L175.8 412.1 234.4 470.7 175.8 529.3ZM765.6 529.3L824.2 470.7 882.8 529.3 824.2 587.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cable-data\"\n      ]\n    },\n    {\n      \"uid\": \"ae81b68dd2b59139a570d4e3fd8e6144\",\n      \"css\": \"circle-half\",\n      \"code\": 988053,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916V84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-half\"\n      ]\n    },\n    {\n      \"uid\": \"69b5c5dbba1c1bcd1484d0d2b7053c22\",\n      \"css\": \"circle-half-full\",\n      \"code\": 988054,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q418 84 340.8 115.2T205.1 205.1 115.2 340.8 84 500 115.2 659.2 205.1 794.9 340.8 884.8 500 916 659.2 884.8 794.9 794.9 884.8 659.2 916 500 884.8 340.8 794.9 205.1 659.2 115.2 500 84ZM500 166Q589.8 166 667 210.9T789.1 333 834 500 789.1 667 667 789.1 500 834V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"circle-half-full\"\n      ]\n    },\n    {\n      \"uid\": \"8cb233d9847584e5373cb83cf0667154\",\n      \"css\": \"cellphone-charging\",\n      \"code\": 988055,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 771.5V541H375L541 228.5V459H625ZM709 791H291V209H709V791ZM709 41H291Q257.8 41 233.4 65.4T209 125V875Q209 910.2 233.4 934.6T291 959H709Q742.2 959 766.6 934.6T791 875V125Q791 89.8 766.6 65.4T709 41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cellphone-charging\"\n      ]\n    },\n    {\n      \"uid\": \"842df711ca26d3ff7fe6eee3ecaee448\",\n      \"css\": \"close-thick\",\n      \"code\": 988056,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 287.1L712.9 166 500 378.9 287.1 166 166 287.1 378.9 500 166 712.9 287.1 834 500 621.1 712.9 834 834 712.9 621.1 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"close-thick\"\n      ]\n    },\n    {\n      \"uid\": \"0ebabc4dfaae1c2e6ad622b991228650\",\n      \"css\": \"escalator-box\",\n      \"code\": 988057,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM597.7 250H710.9Q744.1 250 768.6 274.4T793 333 768.6 391.6 710.9 416H666L416 750H293Q259.8 750 235.4 725.6T210.9 667 235.4 608.4 293 584H347.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"escalator-box\"\n      ]\n    },\n    {\n      \"uid\": \"f825432b0dac25209558ff85c4aed6f9\",\n      \"css\": \"lock-check\",\n      \"code\": 988058,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V416Q166 382.8 190.4 358.4T250 334H291V250Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250V334H750ZM500 125Q447.3 125 411.1 161.1T375 250V334H625V250Q625 197.3 588.9 161.1T500 125ZM459 791L718.8 531.3 660.2 472.7 459 673.8 349.6 566.4 291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-check\"\n      ]\n    },\n    {\n      \"uid\": \"4cc87526673adeeeaff64fe76a5e77f8\",\n      \"css\": \"lock-open-alert\",\n      \"code\": 988059,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 250Q250 181.6 298.8 132.8T417 84 535.2 132.8 584 250V375H625Q660.2 375 684.6 399.4T709 459V791Q709 826.2 684.6 850.6T625 875H209Q173.8 875 149.4 850.6T125 791V459Q125 423.8 149.4 399.4T209 375H500V250Q500 214.8 475.6 190.4T417 166 358.4 190.4 334 250V291H250V250ZM791 375H875V584H791V375ZM791 666H875V750H791V666ZM416 541Q382.8 541 358.4 565.4T334 625 358.4 684.6 417 709 475.6 684.6 500 625 475.6 565.4 416 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-open-alert\"\n      ]\n    },\n    {\n      \"uid\": \"c94a8af3093c93d8a2f5de0388fe2d47\",\n      \"css\": \"lock-open-check\",\n      \"code\": 988060,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 334Q785.2 334 809.6 358.4T834 416V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V416Q166 382.8 190.4 358.4T250 334H625V250Q625 197.3 588.9 161.1T500 125 411.1 161.1 375 250H291Q291 193.4 319.3 145.5T395.5 69.3 500 41 604.5 69.3 680.7 145.5 709 250V334H750ZM459 791L718.8 531.3 660.2 472.7 459 673.8 349.6 566.4 291 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lock-open-check\"\n      ]\n    },\n    {\n      \"uid\": \"751e7ff2b98dfa07097f33cfa26c2cea\",\n      \"css\": \"recycle-variant\",\n      \"code\": 988061,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M298.8 330.1L371.1 371.1 503.9 142.6 597.7 304.7 488.3 367.2 716.8 427.7 777.3 201.2 669.9 263.7 576.2 99.6Q558.6 70.3 525.4 61.5T460.9 70.3Q445.3 80.1 433.6 95.7ZM416 834V750H152.3L246.1 587.9 353.5 650.4 293 421.9 64.5 482.4 173.8 544.9 80.1 709Q62.5 738.3 71.3 771.5T111.3 822.3Q127 832 148.4 834H416ZM794.9 478.5L720.7 521.5 853.5 750H666V625L500 791 666 959V834H853.5Q888.7 834 913.1 809.6T937.5 750Q937.5 730.5 927.7 712.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"recycle-variant\"\n      ]\n    },\n    {\n      \"uid\": \"6350f30b37958e31805a94c4f3791918\",\n      \"css\": \"stairs-box\",\n      \"code\": 988062,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125H209ZM584 291H791V375H666V500H541V625H416V750H209V666H334V541H459V416H584V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"stairs-box\"\n      ]\n    },\n    {\n      \"uid\": \"ed774f1e57a35b354c9628ebfce2906d\",\n      \"css\": \"hand-water\",\n      \"code\": 988063,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M726.6 937.5H222.7Q164.1 937.5 124 896.5T84 798.8V544.9Q84 486.3 125 445.3L359.4 214.8 402.3 259.8Q414.1 271.5 414.1 287.1 414.1 298.8 408.2 308.6L334 416H777.3Q798.8 416 814.5 431.6T830.1 468.8 814.5 505.9 777.3 521.5H535.2V554.7H865.2Q886.7 554.7 901.4 570.3T916 607.4 901.4 644.5 865.2 660.2H535.2V695.3H830.1Q851.6 695.3 867.2 710T882.8 746.1 867.2 783.2 830.1 798.8H535.2V834H726.6Q748 834 762.7 848.6T777.3 884.8 762.7 921.9 726.6 937.5ZM562.5 199.2L546.9 218.8Q527.3 244.1 515.6 263.7 500 293 500 312.5 500 351.6 531.3 367.2T593.8 367.2 625 312.5Q625 293 609.4 263.7 597.7 244.1 578.1 218.8ZM771.5 41Q757.8 58.6 744.1 74.2 712.9 113.3 693.4 148.4 666 197.3 666 228.5 666 277.3 699.2 306.6 728.5 334 770.5 334T841.8 306.6Q875 277.3 875 230.5T822.3 107.4Q796.9 70.3 771.5 41V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hand-water\"\n      ]\n    },\n    {\n      \"uid\": \"4397bd5a40e7e47b51f868a2e44e7751\",\n      \"css\": \"table-refresh\",\n      \"code\": 988064,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q818.4 603.5 867.2 652.3L916 603.5V771.5H750L824.2 697.3Q793 666 750 666T676.8 697.3 646.5 771.5 676.8 844.7 750 875Q775.4 875 796.9 864.3T834 834H904.3Q886.7 880.9 844.7 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM166 125H750Q785.2 125 809.6 149.4T834 209V507.8Q800.8 500 771.5 500 693.4 500 627 541H500V709H507.8Q500 740.2 500 771.5V791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"955c13cdecb8acd00d2a31a48154124c\",\n      \"css\": \"table-sync\",\n      \"code\": 988065,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 500V562.5Q861.3 562.5 910.2 611.3T959 728.5Q959 781.3 929.7 820.3L884.8 775.4Q896.5 753.9 896.5 728.5 896.5 685.5 865.2 655.3T791 625V687.5L697.3 593.8ZM791 959V896.5Q722.7 896.5 673.8 847.7T625 728.5Q625 679.7 652.3 636.7L699.2 681.6Q687.5 705.1 687.5 728.5 687.5 771.5 717.8 802.7T791 834V771.5L884.8 865.2ZM166 125H750Q785.2 125 809.6 149.4T834 209V459H812.5Q755.9 459 705.1 480.5T617.2 541H500V709H541V728.5Q541 759.8 548.8 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-sync\"\n      ]\n    },\n    {\n      \"uid\": \"fdd98ddfa5e302d43c20508c6e498fd2\",\n      \"css\": \"size-xxs\",\n      \"code\": 988066,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 396.5 541 291H625L541 500 625 709H541L500 603.5 459 709H375L459 500ZM750 291H916V375H750V459H834Q867.2 459 891.6 483.4T916 541V625Q916 660.2 891.6 684.6T834 709H666V625H834V541H750Q714.8 541 690.4 516.6T666 459V375Q666 339.8 690.4 315.4T750 291ZM84 291H166L209 396.5 250 291H334L250 500 334 709H250L209 603.5 166 709H84L166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-xxs\"\n      ]\n    },\n    {\n      \"uid\": \"fe323cbbf0d97ac15de933985cce82da\",\n      \"css\": \"size-xs\",\n      \"code\": 988067,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291H334L375 396.5 416 291H500L416 500 500 709H416L375 603.5 334 709H250L334 500ZM625 291H791V375H625V459H709Q742.2 459 766.6 483.4T791 541V625Q791 660.2 766.6 684.6T709 709H541V625H709V541H625Q589.8 541 565.4 516.6T541 459V375Q541 339.8 565.4 315.4T625 291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-xs\"\n      ]\n    },\n    {\n      \"uid\": \"9c5045ae3d61b81a9f12c88ea8dfcabd\",\n      \"css\": \"size-s\",\n      \"code\": 988068,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 291Q423.8 291 399.4 315.4T375 375V459Q375 492.2 399.4 516.6T459 541H541V625H375V709H541Q576.2 709 600.6 684.6T625 625V541Q625 507.8 600.6 483.4T541 459H459V375H625V291H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-s\"\n      ]\n    },\n    {\n      \"uid\": \"6e56fe8dfe29109f243f62f0bc040229\",\n      \"css\": \"size-m\",\n      \"code\": 988069,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291Q339.8 291 315.4 315.4T291 375V709H375V375H459V666H541V375H625V709H709V375Q709 339.8 684.6 315.4T625 291H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-m\"\n      ]\n    },\n    {\n      \"uid\": \"5b88730d06ffba8104403a493db1eca6\",\n      \"css\": \"size-xl\",\n      \"code\": 988071,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291H334L375 396.5 416 291H500L416 500 500 709H416L375 603.5 334 709H250L334 500ZM541 291H625V625H791V709H541V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-xl\"\n      ]\n    },\n    {\n      \"uid\": \"c5a2bbfd33d21cc5b01bfd6cae280dbe\",\n      \"css\": \"size-xxl\",\n      \"code\": 988072,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 396.5 541 291H625L541 500 625 709H541L500 603.5 459 709H375L459 500ZM666 291H750V625H916V709H666V291ZM84 291H166L209 396.5 250 291H334L250 500 334 709H250L209 603.5 166 709H84L166 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-xxl\"\n      ]\n    },\n    {\n      \"uid\": \"08beee8e7813a29c5d0787cb5e27158b\",\n      \"css\": \"size-xxxl\",\n      \"code\": 988073,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 291H459L500 396.5 541 291H625L541 500 625 709H541L500 603.5 459 709H375L459 500ZM666 291H750V625H916V709H666V291ZM334 625Q334 660.2 309.6 684.6T250 709H84V625H250V541H166V459H250V375H84V291H250Q285.2 291 309.6 315.4T334 375V437.5Q334 462.9 315.4 481.4T271.5 500Q296.9 500 315.4 518.6T334 562.5V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"size-xxxl\"\n      ]\n    },\n    {\n      \"uid\": \"a6ba42ed79f226d210871713e26fec07\",\n      \"css\": \"ticket-confirmation-outline\",\n      \"code\": 988074,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 416V250Q916 214.8 891.6 190.4T834 166H166Q132.8 166 108.4 190.4T84 250V416Q117.2 416 141.6 440.4T166 500 141.6 559.6 84 584V750Q84 785.2 108.4 809.6T166 834H834Q867.2 834 891.6 809.6T916 750V584Q882.8 584 858.4 559.6T834 500 858.4 440.4 916 416ZM834 355.5Q794.9 377 772.5 416T750 500 772.5 584 834 644.5V750H166V644.5Q205.1 623 227.5 584T250 499 227.5 415 166 355.5V250H834V355.5ZM459 625H541V709H459V625ZM459 459H541V541H459V459ZM459 291H541V375H459V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket-confirmation-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f76bb7b16708f7f2bc672782a045722\",\n      \"css\": \"timer\",\n      \"code\": 988075,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M793 308.6L851.6 248Q822.3 214.8 793 189.5L734.4 250Q630.9 166 500 166 398.4 166 312.5 216.8T175.8 353.5 125 541 175.8 729.5 312.5 866.2 500 916 688.5 866.2 825.2 730.5 875 541Q875 410.2 793 308.6ZM541 584H459V291H541V584ZM625 41H375V125H625V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer\"\n      ]\n    },\n    {\n      \"uid\": \"a14b1a004694436ad0057ac598d99ae2\",\n      \"css\": \"timer-off\",\n      \"code\": 988076,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166L72.3 218.8 187.5 334Q125 427.7 125 541 125 642.6 175.8 729.5T312.5 866.2 500 916Q613.3 916 709 853.5L812.5 959 865.2 906.3 543 584ZM625 41H375V125H625V41ZM875 541Q875 654.3 812.5 748L541 476.6V291H459V394.5L293 228.5Q386.7 166 500 166 630.9 166 734.4 248L793 189.5 851.6 248 793 308.6Q875 410.2 875 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"timer-off\"\n      ]\n    },\n    {\n      \"uid\": \"fa4a6b3c591bb56fbc2b4f0e3b28ce6c\",\n      \"css\": \"book-account\",\n      \"code\": 988077,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84H500V375L396.5 312.5 291 375V84H250Q214.8 84 190.4 108.4T166 166V834Q166 867.2 190.4 891.6T250 916H750Q785.2 916 809.6 891.6T834 834V166Q834 132.8 809.6 108.4T750 84ZM584 500Q609.4 500 629.9 513.7T660.2 550.8 665 599.6 642.6 642.6 599.6 665 550.8 660.2 513.7 629.9 500 584Q500 548.8 524.4 524.4T584 500ZM750 834H416V791Q416 753.9 478.5 728.5 531.3 709 583 709T687.5 728.5Q750 753.9 750 791V834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-account\"\n      ]\n    },\n    {\n      \"uid\": \"59b61c9bf19c7a3e75f772495258050e\",\n      \"css\": \"book-account-outline\",\n      \"code\": 988078,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 84Q785.2 84 809.6 108.4T834 166V834Q834 867.2 809.6 891.6T750 916H250Q214.8 916 190.4 891.6T166 834V166Q166 132.8 190.4 108.4T250 84H750ZM750 166H541V375L437.5 279.3 334 375V166H250V834H750V166ZM541 459Q566.4 459 587.9 472.7T619.1 509.8 624 557.6 600.6 600.6 557.6 624 509.8 619.1 472.7 587.9 459 541Q459 507.8 483.4 483.4T541 459ZM709 791H375V750Q375 712.9 437.5 687.5 490.2 666 542 666T646.5 687.5Q709 712.9 709 750V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"book-account-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4b481949af03c2e8df1e68fdd3b50ca9\",\n      \"css\": \"rocket-outline\",\n      \"code\": 988079,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q488.3 89.8 478.5 93.8 451.2 111.3 425.8 134.8 392.6 166 365.2 209 332 261.7 312.5 328.1 291 406.3 291 500 291 668 361.3 826.2 371.1 849.6 391.6 862.3T437.5 875H562.5Q587.9 875 608.4 862.3T638.7 826.2Q709 668 709 500 709 406.3 687.5 328.1 668 261.7 634.8 209 607.4 166 574.2 134.8 548.8 111.3 521.5 93.8ZM562.5 791H437.5Q375 652.3 375 500 375 373 419.9 281.3 451.2 218.8 500 179.7 548.8 218.8 580.1 281.3 625 373 625 500 625 652.3 562.5 791ZM834 916L671.9 851.6Q714.8 757.8 736.3 656.3ZM328.1 851.6L166 916 263.7 656.3Q285.2 757.8 328.1 851.6ZM500 500Q464.8 500 440.4 475.6T416 417 440.4 358.4 500 334 559.6 358.4 584 417 559.6 475.6 500 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rocket-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3574b419c324e989da2069446a28811b\",\n      \"css\": \"home-search\",\n      \"code\": 988080,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 787.1Q834 742.2 834 687.5 834 609.4 779.3 554.7T646.5 500 513.7 554.7 459 687.5 513.7 820.3 646.5 875Q699.2 875 744.1 845.7L875 974.6 933.6 916ZM646.5 791Q603.5 791 572.3 760.7T541 687.5 572.3 614.3 646.5 584 719.7 614.3 750 687.5 719.7 760.7 646.5 791ZM209 834V500H84L500 125 916 500H841.8Q802.7 460.9 752.9 438.5T646.5 416Q572.3 416 509.8 453.1T411.1 551.8 375 687.5Q375 767.6 418 834H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-search\"\n      ]\n    },\n    {\n      \"uid\": \"5f697d09f5cd045277cbf65908eced0f\",\n      \"css\": \"home-search-outline\",\n      \"code\": 988081,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 787.1Q834 742.2 834 687.5 834 609.4 779.3 554.7T646.5 500 513.7 554.7 459 687.5 513.7 820.3 646.5 875Q699.2 875 744.1 845.7L875 974.6 933.6 916ZM646.5 791Q603.5 791 572.3 760.7T541 687.5 572.3 614.3 646.5 584 719.7 614.3 750 687.5 719.7 760.7 646.5 791ZM209 834V500H84L500 125 916 500H841.8Q785.2 443.4 709 423.8L500 236.3 291 423.8V750H382.8Q392.6 794.9 418 834H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-search-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6ff11799db0e35b6c615c169c10a5ca4\",\n      \"css\": \"car-arrow-left\",\n      \"code\": 988082,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q500 681.6 533.2 624T624 533.2 749 500 875 533.2V500L789.1 250Q781.3 232.4 765.6 220.7T728.5 209H271.5Q250 209 234.4 220.7T210.9 250L125 500V834Q125 849.6 137.7 862.3T166 875H209Q224.6 875 237.3 862.3T250 834V791H503.9Q500 767.6 500 750ZM271.5 271.5H728.5L791 459H209ZM271.5 666Q244.1 666 226.6 648.4T209 604.5 226.6 559.6 270.5 541 315.4 559.6 334 604.5 315.4 648.4 271.5 666ZM750 625V709H916V791H750V875L625 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"643b591d01e1903eee9b07bb37ff4f53\",\n      \"css\": \"car-arrow-right\",\n      \"code\": 988083,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q500 681.6 533.2 624T624 533.2 749 500 875 533.2V500L789.1 250Q781.3 232.4 765.6 220.7T728.5 209H271.5Q250 209 234.4 220.7T210.9 250L125 500V834Q125 849.6 137.7 862.3T166 875H209Q224.6 875 237.3 862.3T250 834V791H503.9Q500 767.6 500 750ZM271.5 271.5H728.5L791 459H209ZM271.5 666Q244.1 666 226.6 648.4T209 604.5 226.6 559.6 270.5 541 315.4 559.6 334 604.5 315.4 648.4 271.5 666ZM791 875V791H625V709H791V625L916 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"79b503f4b305ea2c7e249d1a9bc5d958\",\n      \"css\": \"monitor-eye\",\n      \"code\": 988084,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166V666H875V166H125ZM125 84H875Q910.2 84 934.6 108.4T959 166V666Q959 701.2 934.6 725.6T875 750H584V834H666V916H334V834H416V750H125Q89.8 750 65.4 725.6T41 666V166Q41 132.8 65.4 108.4T125 84ZM451.2 373Q472.7 351.6 501 352.5T548.8 373 568.4 419.9 548.8 467.8 501 488.3 452.1 467.8 431.6 419.9 451.2 373ZM419.9 500Q453.1 533.2 500 533.2T580.1 500 613.3 419.9 580.1 339.8 500 306.6 419.9 339.8 386.7 419.9 419.9 500ZM250 419.9Q279.3 343.8 347.7 296.9T500 250 652.3 296.9 750 419.9Q720.7 496.1 652.3 543.9T500 591.8 347.7 543.9 250 419.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-eye\"\n      ]\n    },\n    {\n      \"uid\": \"fccb9d2b08ff2544dd652b197e5c3510\",\n      \"css\": \"lipstick\",\n      \"code\": 988085,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 959Q357.4 959 345.7 946.3T334 916V541Q334 525.4 345.7 512.7T375 500H625Q642.6 500 654.3 512.7T666 541V916Q666 933.6 654.3 946.3T625 959H375ZM416 459Q400.4 459 387.7 446.3T375 416V218.8L398.4 191.4Q423.8 158.2 445.3 125 476.6 78.1 490.2 41L492.2 43Q535.2 70.3 554.7 87.9 587.9 119.1 602.5 160.2T623 275.4Q625 320.3 625 416 625 433.6 612.3 446.3T584 459H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lipstick\"\n      ]\n    },\n    {\n      \"uid\": \"7fbc9d01403047332a08ff38f2974997\",\n      \"css\": \"virus\",\n      \"code\": 988086,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M826.2 584Q847.7 615.2 884.8 615.2 916 615.2 937.5 593.8T959 542 937.5 490.2 884.8 468.8Q847.7 468.8 826.2 500H791Q791 402.3 732.4 326.2L789.1 269.5Q826.2 275.4 853.5 250 875 228.5 875 198.2T853.5 146.5 801.8 125 750 146.5Q724.6 173.8 730.5 210.9L673.8 267.6Q615.2 222.7 541 210.9V154.3Q572.3 130.9 572.3 93.8 572.3 62.5 551.8 42T500 21.5 448.2 42 427.7 93.8Q427.7 130.9 459 154.3V210.9Q402.3 220.7 353.5 248L308.6 181.6Q320.3 144.5 298.8 115.2 281.3 89.8 252 85T198.2 96.7 168 143.6 179.7 197.3Q201.2 228.5 240.2 228.5L289.1 298.8Q263.7 324.2 244.1 359.4 224.6 351.6 203.1 355.5T166 375Q146.5 396.5 146.5 426.8T166 478.5Q183.6 496.1 209 500V500Q209 531.3 216.8 564.5L162.1 580.1Q132.8 554.7 95.7 564.5 66.4 572.3 51.8 598.6T44.9 654.3 79.1 698.2 132.8 705.1Q169.9 695.3 183.6 660.2L246.1 642.6Q273.4 691.4 318.4 728.5L273.4 812.5Q234.4 818.4 216.8 851.6 203.1 877 211.9 906.3T247.1 950.2 301.8 956.1 345.7 919.9Q363.3 886.7 345.7 853.5L390.6 771.5Q443.4 791 500 791H507.8Q500 806.6 500 828.1 502 859.4 525.4 878.9T578.1 896.5 627.9 871.1 645.5 816.4 619.1 765.6Q646.5 753.9 673.8 732.4L771.5 830.1Q765.6 869.1 791 896.5 814.5 916 843.8 916T895.5 895.5 917 844.7 896.5 791Q869.1 765.6 830.1 771.5L732.4 673.8Q765.6 632.8 779.3 584H826.2ZM437.5 500Q412.1 500 393.6 481.4T375 437.5 393.6 393.6 437.5 375 481.4 393.6 500 437.5 481.4 481.4 437.5 500ZM584 625Q566.4 625 553.7 612.3T541 583 553.7 553.7 583 541 612.3 553.7 625 583 612.3 612.3 584 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"virus\"\n      ]\n    },\n    {\n      \"uid\": \"a83b8fdbb76ea50ec879df91820b8fa6\",\n      \"css\": \"virus-outline\",\n      \"code\": 988087,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 21.5Q468.8 21.5 448.2 42T427.7 93.8Q427.7 130.9 459 154.3V210.9Q402.3 220.7 353.5 248L308.6 181.6Q320.3 144.5 298.8 114.3T240.2 84Q216.8 84 197.3 95.7 173.8 113.3 168 143.6T179.7 197.3Q201.2 228.5 240.2 228.5L289.1 298.8Q263.7 324.2 244.1 359.4 232.4 353.5 218.8 353.5 189.5 353.5 168 375T146.5 426.8 166 478.5Q183.6 494.1 209 500V500Q209 531.3 216.8 564.5L162.1 580.1Q140.6 562.5 115.2 562.5 101.6 562.5 95.7 564.5 66.4 572.3 51.8 598.6T44.9 654.3Q50.8 679.7 70.3 694.3T115.2 709Q127 709 132.8 705.1 169.9 695.3 183.6 660.2L246.1 642.6Q273.4 691.4 318.4 728.5L273.4 812.5Q234.4 818.4 216.8 851.6 203.1 877 211.9 906.3T246.1 949.2Q263.7 959 282.2 959T318.4 948.2 345.7 919.9Q363.3 886.7 345.7 853.5L390.6 771.5Q443.4 791 500 791H507.8Q500 806.6 500 828.1 502 857.4 523.4 877T572.3 896.5H578.1Q609.4 892.6 628.9 870.1T645.5 816.4 619.1 765.6Q646.5 753.9 673.8 732.4L771.5 830.1Q765.6 869.1 791 896.5 814.5 916 843.8 916T894.5 894.5 916 843.8 894.5 793 843.8 771.5H830.1L732.4 673.8Q765.6 632.8 779.3 584H826.2Q847.7 615.2 884.8 615.2 916 615.2 937.5 593.8T959 542 937.5 490.2 884.8 468.8Q847.7 468.8 826.2 500H791Q791 402.3 732.4 326.2L789.1 269.5Q793 271.5 802.7 271.5 832 271.5 853.5 250T875 198.2 853.5 146.5 801.8 125 750 146.5Q724.6 173.8 730.5 210.9L673.8 267.6Q615.2 222.7 541 210.9V154.3Q572.3 130.9 572.3 93.8 572.3 62.5 551.8 42T500 21.5ZM500 709Q443.4 709 395.5 680.7T319.3 604.5 291 500 319.3 395.5 395.5 319.3 500 291 604.5 319.3 680.7 395.5 709 500 680.7 604.5 604.5 680.7 500 709ZM437.5 375Q412.1 375 393.6 393.6T375 437.5 393.6 481.4 437.5 500 481.4 481.4 500 437.5 481.4 393.6 437.5 375ZM584 541Q566.4 541 553.7 553.7T541 583 553.7 612.3 583 625 612.3 612.3 625 583 612.3 553.7 584 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"virus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1675446904f37c5bfa987b6d16fa13ce\",\n      \"css\": \"text-search\",\n      \"code\": 988088,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M804.7 787.1L933.6 916 875 974.6 744.1 845.7Q699.2 875 646.5 875 568.4 875 513.7 820.3T459 687.5 513.7 554.7 646.5 500 779.3 554.7 834 687.5Q834 742.2 804.7 787.1ZM646.5 791Q689.5 791 719.7 760.7T750 687.5 719.7 614.3 646.5 584 572.3 614.3 541 687.5 572.3 760.7 646.5 791ZM875 166V250H125V166H875ZM125 666V584H375V666H125ZM125 459V375H875V459H791Q722.7 416 645.5 416T502 459H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"text-search\"\n      ]\n    },\n    {\n      \"uid\": \"7ea1347f9277f210ae85f920b835f69c\",\n      \"css\": \"table-account\",\n      \"code\": 988089,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM959 916V875Q959 837.9 896.5 812.5 843.8 791 792 791T687.5 812.5Q625 837.9 625 875V916H959ZM791 584Q757.8 584 733.4 608.4T709 667 733.4 725.6 792 750 850.6 725.6 875 667 850.6 608.4 791 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-account\"\n      ]\n    },\n    {\n      \"uid\": \"f8a6d16717243b4acd3260bc76248daa\",\n      \"css\": \"table-alert\",\n      \"code\": 988090,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H709Q742.2 166 766.6 190.4T791 250V750Q791 785.2 766.6 809.6T709 834H125Q89.8 834 65.4 809.6T41 750V250Q41 214.8 65.4 190.4T125 166ZM125 334V500H375V334H125ZM459 334V500H709V334H459ZM125 584V750H375V584H125ZM459 584V750H709V584H459ZM959 291H875V541H959V291ZM959 625H875V709H959V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-alert\"\n      ]\n    },\n    {\n      \"uid\": \"0277aafd18af9219a37c3e53bd7158cb\",\n      \"css\": \"table-arrow-down\",\n      \"code\": 988091,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM664.1 771.5H748V603.5H830.1V771.5H914.1L789.1 896.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-arrow-down\"\n      ]\n    },\n    {\n      \"uid\": \"72a37817d1bffd721aaa570c79aa6d3c\",\n      \"css\": \"table-arrow-left\",\n      \"code\": 988092,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM767.6 625V709H935.5V791H767.6V875L642.6 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-arrow-left\"\n      ]\n    },\n    {\n      \"uid\": \"8e2c581dbf98e18a79f9e58f83a68a88\",\n      \"css\": \"table-arrow-right\",\n      \"code\": 988093,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM810.5 875V791H642.6V709H810.5V625L935.5 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-arrow-right\"\n      ]\n    },\n    {\n      \"uid\": \"562dd2d079d52f60c5f46a96504a6fb0\",\n      \"css\": \"table-arrow-up\",\n      \"code\": 988094,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM914.1 728.5H830.1V896.5H748V728.5H664.1L789.1 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-arrow-up\"\n      ]\n    },\n    {\n      \"uid\": \"ea911d4decce3d2f7f5a9d7af01c870c\",\n      \"css\": \"table-cancel\",\n      \"code\": 988095,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H709Q742.2 125 766.6 149.4T791 209V503.9Q744.1 496.1 697.3 505.9T611.3 541H459V709H503.9Q496.1 750 503.9 791H125Q89.8 791 65.4 766.6T41 709V209Q41 173.8 65.4 149.4T125 125ZM125 291V459H375V291H125ZM459 291V459H709V291H459ZM125 541V709H375V541H125ZM771.5 584Q693.4 584 638.7 638.7T584 771.5 638.7 904.3 771.5 959 904.3 904.3 959 771.5 904.3 638.7 771.5 584ZM771.5 896.5Q718.8 896.5 682.6 859.4T646.5 771.5Q646.5 736.3 664.1 709L834 878.9Q806.6 896.5 771.5 896.5ZM878.9 834L709 664.1Q736.3 646.5 771.5 646.5 822.3 646.5 859.4 682.6T896.5 771.5Q896.5 806.6 878.9 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"30b0bf01efd9729de11f813e35e0beb0\",\n      \"css\": \"table-check\",\n      \"code\": 988096,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM740.2 875L625 750 673.8 701.2 740.2 767.6 888.7 619.1 937.5 677.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-check\"\n      ]\n    },\n    {\n      \"uid\": \"e5ed72cef448c05daa64e1a4acc0ed60\",\n      \"css\": \"table-clock\",\n      \"code\": 988097,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M687.5 658.2L789.1 718.8 757.8 771.5 625 695.3V541H687.5V658.2ZM834 427.7V209Q834 173.8 809.6 149.4T750 125H166Q132.8 125 108.4 149.4T84 209V709Q84 742.2 108.4 766.6T166 791H404.3Q439.5 867.2 509.8 913.1T666 959Q746.1 959 813.5 919.9T919.9 813.5 959 666Q959 593.8 924.8 531.3T834 427.7ZM750 291V386.7Q707 375 666 375 574.2 375 500 427.7V291H750ZM166 291H416V459H166V291ZM166 709V541H404.3Q375 601.6 375 666 375 685.5 378.9 709H166ZM666 875Q609.4 875 561.5 846.7T486.3 770.5 459 666 486.3 561.5 561.5 486.3 666 459 770.5 486.3 846.7 561.5 875 666 846.7 770.5 770.5 846.7 666 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-clock\"\n      ]\n    },\n    {\n      \"uid\": \"f75c657393e84ad27685176367690b89\",\n      \"css\": \"table-cog\",\n      \"code\": 988098,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 125H709Q742.2 125 766.6 149.4T791 209V503.9Q744.1 496.1 697.3 505.9T611.3 541H459V709H503.9Q496.1 750 503.9 791H125Q89.8 791 65.4 766.6T41 709V209Q41 173.8 65.4 149.4T125 125ZM125 291V459H375V291H125ZM459 291V459H709V291H459ZM125 541V709H375V541H125ZM949.2 804.7L904.3 771.5 906.3 750Q906.3 738.3 904.3 728.5L949.2 695.3Q955.1 689.5 951.2 681.6L910.2 609.4Q906.3 603.5 896.5 603.5L845.7 625H843.8Q822.3 609.4 810.5 605.5L800.8 550.8Q800.8 541 791 541H709Q699.2 541 697.3 550.8L689.5 605.5Q671.9 613.3 654.3 625L603.5 603.5Q593.8 603.5 589.8 609.4L548.8 681.6Q544.9 689.5 550.8 695.3L595.7 728.5Q593.8 740.2 593.8 750T595.7 771.5L550.8 804.7Q544.9 810.5 548.8 818.4L589.8 890.6Q591.8 896.5 603.5 896.5L654.3 875Q673.8 888.7 689.5 894.5L697.3 949.2Q699.2 959 709 959H791Q800.8 959 802.7 949.2L810.5 894.5Q824.2 888.7 845.7 875L896.5 896.5Q906.3 896.5 910.2 890.6L951.2 818.4Q955.1 810.5 949.2 804.7ZM750 812.5Q724.6 812.5 706.1 793.9T687.5 750 706.1 706.1 750 687.5 793.9 706.1 812.5 750 793.9 793.9 750 812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-cog\"\n      ]\n    },\n    {\n      \"uid\": \"220eecf3d4c1fce8a02291e99ac6853e\",\n      \"css\": \"table-eye-off\",\n      \"code\": 988099,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 367.2L257.8 125H750Q785.2 125 809.6 149.4T834 209V525.4Q773.4 500 709 500 677.7 500 640.6 507.8L591.8 459H750V291H500V367.2ZM712.9 578.1L929.7 796.9Q947.3 769.5 959 744.1 929.7 671.9 862.3 626T712.9 578.1ZM921.9 894.5L869.1 947.3 812.5 890.6Q759.8 912.1 709 912.1 625 912.1 556.6 865.2T459 744.1Q486.3 673.8 550.8 628.9L498 576.2Q449.2 615.2 416 666V541H166V709H392.6Q382.8 726.6 375 750 382.8 773.4 392.6 791H166Q132.8 791 108.4 766.6T84 709V209Q84 189.5 91.8 171.9L46.9 125 99.6 72.3ZM378.9 459L212.9 291H166V459H378.9ZM757.8 835.9L617.2 695.3Q603.5 718.8 603.5 744.1 603.5 789.1 634.8 819.3T709 849.6Q734.4 849.6 757.8 835.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-eye-off\"\n      ]\n    },\n    {\n      \"uid\": \"f2d1ba807f1e2875c67cf83ac87beb07\",\n      \"css\": \"table-heart\",\n      \"code\": 988100,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM791 929.7L767.6 908.2 748 890.6Q681.6 826.2 658.2 798.8 625 755.9 625 717.8T652.3 652.3 716.8 625Q738.3 625 758.8 633.8T791 658.2Q804.7 642.6 824.2 633.8T867.2 625Q904.3 625 931.6 650.4T959 715.8 923.8 798.8Q902.3 826.2 835.9 890.6L816.4 908.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-heart\"\n      ]\n    },\n    {\n      \"uid\": \"14791bbb293660f12799730ef106d9ec\",\n      \"css\": \"table-key\",\n      \"code\": 988101,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M701.2 709Q687.5 671.9 655.3 648.4T584 625Q531.3 625 495.1 661.1T459 750 495.1 838.9 584 875Q623 875 655.3 851.6T701.2 791H791V875H875V791H916V709H701.2ZM584 791Q566.4 791 553.7 779.3T541 750 553.7 720.7 583 709 612.3 720.7 625 750 612.3 779.3 584 791ZM375 750H166V584H416V627Q445.3 587.9 489.3 564.5T584 541Q652.3 541 709 584H750V625H834V250Q834 214.8 809.6 190.4T750 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H392.6Q375 793 375 750ZM500 334H750V500H500V334ZM166 334H416V500H166V334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-key\"\n      ]\n    },\n    {\n      \"uid\": \"0ed4ff11a3aa5ead608355cf675e1021\",\n      \"css\": \"table-lock\",\n      \"code\": 988102,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 666V646.5Q875 603.5 844.7 572.3T771.5 541 697.3 572.3 666 646.5V666Q650.4 666 637.7 678.7T625 709V875Q625 892.6 637.7 904.3T666 916H875Q892.6 916 904.3 904.3T916 875V709Q916 691.4 904.3 678.7T875 666ZM834 666H709V646.5Q709 619.1 726.6 601.6T770.5 584 815.4 601.6 834 646.5V666ZM541 750H500V584H593.8Q613.3 531.3 654.3 500H500V334H750V460.9L771.5 459Q800.8 459 834 468.8V250Q834 214.8 809.6 190.4T750 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H541V750ZM416 750H166V584H416V750ZM416 500H166V334H416V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-lock\"\n      ]\n    },\n    {\n      \"uid\": \"68b80bf16ec54ce5a6562c3c12f4db51\",\n      \"css\": \"table-minus\",\n      \"code\": 988103,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 791V709H959V791H625ZM166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-minus\"\n      ]\n    },\n    {\n      \"uid\": \"b2b5d064a40fc3bb746fa17544ab8321\",\n      \"css\": \"table-multiple\",\n      \"code\": 988104,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M291 84H875Q910.2 84 934.6 108.4T959 166V666Q959 701.2 934.6 725.6T875 750H291Q257.8 750 233.4 725.6T209 666V166Q209 132.8 233.4 108.4T291 84ZM291 250V416H541V250H291ZM625 250V416H875V250H625ZM291 500V666H541V500H291ZM625 500V666H875V500H625ZM125 834V250H41V834Q41 867.2 65.4 891.6T125 916H791V834H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"dc163e44219403e4c00c4274d2e9b9a8\",\n      \"css\": \"table-network\",\n      \"code\": 988105,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 834Q625 816.4 612.3 803.7T584 791H541V709H791Q826.2 709 850.6 684.6T875 625V125Q875 89.8 850.6 65.4T791 41H209Q173.8 41 149.4 65.4T125 125V625Q125 660.2 149.4 684.6T209 709H459V791H416Q400.4 791 387.7 803.7T375 834H84V916H375Q375 933.6 387.7 946.3T416 959H584Q599.6 959 612.3 946.3T625 916H916V834H625ZM541 209H791V375H541V209ZM541 459H791V625H541V459ZM209 209H459V375H209V209ZM209 625V459H459V625H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-network\"\n      ]\n    },\n    {\n      \"uid\": \"2fa8a8c048d36942fc08f4dad93209a4\",\n      \"css\": \"table-off\",\n      \"code\": 988106,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 134.8 212.9Q125 230.5 125 250V750Q125 785.2 149.4 809.6T209 834H753.9L869.1 947.3ZM421.9 500H209V334H253.9ZM459 750H209V584H459V750ZM541 750V621.1L671.9 750H541ZM541 408.2L300.8 166H791Q826.2 166 850.6 190.4T875 250V742.2L791 658.2V584H716.8L632.8 500H791V334H541V408.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-off\"\n      ]\n    },\n    {\n      \"uid\": \"621b948f3a12273f4ba705f21788335b\",\n      \"css\": \"table-star\",\n      \"code\": 988107,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 125H750Q785.2 125 809.6 149.4T834 209V503.9Q785.2 496.1 739.3 505.9T654.3 541H500V709H544.9Q539.1 750 544.9 791H166Q132.8 791 108.4 766.6T84 709V209Q84 173.8 108.4 149.4T166 125ZM166 291V459H416V291H166ZM500 291V459H750V291H500ZM166 541V709H416V541H166ZM687.5 900.4L716.8 783.2 625 705.1 746.1 695.3 791 584 837.9 691.4 959 699.2 867.2 779.3 896.5 896.5 791 837.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-star\"\n      ]\n    },\n    {\n      \"uid\": \"86d0f09ca1ea3b793bd88ed296319593\",\n      \"css\": \"car-cog\",\n      \"code\": 988108,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M271.5 209Q250 209 234.4 220.7T210.9 250L125 500V834Q125 851.6 136.7 863.3T166 875H209Q226.6 875 238.3 863.3T250 834V791H470.7Q459 750 459 709 459 630.9 497.1 564.5T599.6 459H209L271.5 271.5H728.5L779.3 418Q816.4 421.9 853.5 435.5L789.1 250Q781.3 232.4 765.6 220.7T728.5 209H271.5ZM709 500Q699.2 500 697.3 507.8L689.5 564.5Q669.9 572.3 654.3 584L601.6 562.5Q591.8 562.5 589.8 568.4L548.8 640.6Q543 648.4 550.8 654.3L593.8 687.5V708 728.5L550.8 763.7Q543 769.5 548.8 777.3L589.8 849.6Q591.8 853.5 601.6 853.5L654.3 834Q673.8 845.7 689.5 853.5L697.3 908.2Q699.2 916 709 916H791Q800.8 916 800.8 908.2L810.5 853.5Q826.2 845.7 843.8 834L896.5 853.5Q906.3 853.5 910.2 849.6L951.2 777.3Q955.1 769.5 949.2 763.7L904.3 728.5 906.3 709Q906.3 697.3 904.3 687.5L949.2 654.3Q955.1 648.4 951.2 640.6L908.2 568.4Q906.3 562.5 896.5 562.5L843.8 584Q824.2 568.4 808.6 564.5L800.8 507.8Q800.8 500 791 500H709ZM271.5 541Q296.9 541 315.4 559.6T334 604.5 315.4 648.4 270.5 666 226.6 648.4 209 604.5 226.6 559.6 271.5 541ZM750 646.5Q775.4 646.5 793.9 664.1T812.5 708 793.9 752.9 750 771.5 706.1 752.9 687.5 708 706.1 664.1 750 646.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-cog\"\n      ]\n    },\n    {\n      \"uid\": \"ec4d562f2a8eb85e3d00435e99f6f223\",\n      \"css\": \"car-settings\",\n      \"code\": 988109,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 916H709V1000H625V916ZM459 916H541V1000H459V916ZM291 916H375V1000H291V916ZM209 459L271.5 271.5H728.5L791 459H209ZM728.5 666Q703.1 666 684.6 648.4T666 604.5 684.6 559.6 729.5 541 773.4 559.6 791 604.5 773.4 648.4 728.5 666ZM271.5 666Q244.1 666 226.6 648.4T209 604.5 226.6 559.6 270.5 541 315.4 559.6 334 604.5 315.4 648.4 271.5 666ZM789.1 250Q781.3 232.4 765.6 220.7T728.5 209H271.5Q250 209 234.4 220.7T210.9 250L125 500V834Q125 851.6 136.7 863.3T166 875H209Q226.6 875 238.3 863.3T250 834V791H750V834Q750 851.6 761.7 863.3T791 875H834Q851.6 875 863.3 863.3T875 834V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"car-settings\"\n      ]\n    },\n    {\n      \"uid\": \"926b101e4db71fe7372d01bc5f166dff\",\n      \"css\": \"cog-off\",\n      \"code\": 988110,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 166 244.1 97.7 363.3Q93.8 371.1 94.7 377.9T101.6 390.6L189.5 459Q187.5 482.4 187.5 500T189.5 541L101.6 609.4Q95.7 615.2 94.7 622.1T97.7 636.7L181.6 781.3Q183.6 787.1 191.4 790T207 789.1L310.5 748Q345.7 775.4 380.9 789.1L396.5 898.4Q396.5 906.3 402.3 911.1T416 916H584Q591.8 916 597.7 911.1T603.5 898.4L619.1 789.1Q648.4 777.3 677.7 755.9L869.1 947.3ZM500 646.5Q439.5 646.5 396.5 603.5T353.5 500Q353.5 474.6 367.2 445.3L554.7 632.8Q527.3 646.5 500 646.5ZM488.3 355.5L357.4 222.7 380.9 210.9 396.5 101.6Q396.5 93.8 402.3 88.9T416 84H584Q591.8 84 597.7 88.9T603.5 101.6L619.1 210.9Q654.3 224.6 689.5 252L793 210.9Q800.8 207 808.6 210T818.4 218.8L902.3 363.3Q906.3 371.1 905.3 377.9T898.4 390.6L810.5 459Q812.5 482.4 812.5 500T810.5 541L898.4 609.4Q904.3 615.2 905.3 622.1T902.3 636.7L853.5 720.7 644.5 511.7Q646.5 507.8 646.5 500 646.5 439.5 603.5 396.5T500 353.5Q492.2 353.5 488.3 355.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-off\"\n      ]\n    },\n    {\n      \"uid\": \"516dad9e19e5c8974f09316ccc3253cd\",\n      \"css\": \"cog-off-outline\",\n      \"code\": 988111,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 166 244.1 97.7 363.3Q93.8 371.1 94.7 377.9T101.6 390.6L189.5 459 187.5 500 189.5 541 101.6 609.4Q95.7 615.2 94.7 622.1T97.7 636.7L181.6 781.3Q183.6 787.1 191.4 790T207 789.1L310.5 748Q345.7 775.4 380.9 789.1L396.5 898.4Q396.5 906.3 402.3 911.1T416 916H584Q591.8 916 597.7 911.1T603.5 898.4L619.1 789.1Q644.5 779.3 677.7 755.9L869.1 947.3ZM416 496.1L503.9 584H500Q464.8 584 440.4 559.6T416 500V496.1ZM546.9 724.6L531.3 834H468.8L453.1 724.6Q378.9 709 328.1 650.4L226.6 693.4 195.3 640.6 283.2 574.2Q257.8 500 283.2 425.8L195.3 361.3 226.6 306.6H228.5L349.6 429.7Q334 462.9 334 500 334 568.4 382.8 617.2T500 666Q539.1 666 570.3 650.4L617.2 697.3Q584 716.8 546.9 724.6ZM419.9 285.2L355.5 222.7 380.9 210.9 396.5 101.6Q396.5 93.8 402.3 88.9T416 84H584Q591.8 84 597.7 88.9T603.5 101.6L619.1 210.9Q654.3 224.6 689.5 252L793 210.9Q800.8 207 808.6 210T818.4 218.8L902.3 363.3Q906.3 371.1 905.3 377.9T898.4 390.6L810.5 459 812.5 500 810.5 541 898.4 609.4Q904.3 615.2 905.3 622.1T902.3 636.7L853.5 720.7 793 660.2 804.7 640.6 716.8 576.2Q742.2 500 716.8 425.8L804.7 361.3 773.4 306.6 673.8 349.6Q623 291 546.9 275.4L531.3 166H468.8L453.1 275.4Q433.6 279.3 419.9 285.2ZM500 334Q568.4 334 617.2 382.8T666 500Q666 513.7 664.1 531.3L468.8 335.9Q486.3 334 500 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a0e530a592c3edcc1b0658966725af4f\",\n      \"css\": \"credit-card-check\",\n      \"code\": 988112,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 166H166Q132.8 166 108.4 190.4T84 250V750Q84 785.2 108.4 809.6T166 834H544.9Q541 812.5 541 791 541 724.6 575.2 667T667 575.2 792 541 916 576.2V250Q916 214.8 891.6 190.4T834 166ZM834 459H166V334H834V459ZM740.2 916L625 791 673.8 744.1 740.2 810.5 888.7 660.2 937.5 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-check\"\n      ]\n    },\n    {\n      \"uid\": \"1d02d066a63998909c0f5a8fb2bfa6cb\",\n      \"css\": \"credit-card-check-outline\",\n      \"code\": 988113,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 775.4 544.9 750H125V500H791V541Q834 541 875 556.6V250Q875 214.8 850.6 190.4T791 166H125Q89.8 166 65.4 190.4T41 250V750Q41 785.2 65.4 809.6T125 834H544.9Q541 808.6 541 791ZM125 250H791V334H125V250ZM740.2 916L625 791 673.8 744.1 740.2 810.5 888.7 660.2 937.5 718.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"credit-card-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a17b7d0f2d8670c51f82bfbefab59258\",\n      \"css\": \"file-tree-outline\",\n      \"code\": 988114,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 541H291V750H500V834H209V416H291V459H500V541ZM334 166V250H166V166H334ZM416 84H84V334H416V84ZM834 459V541H666V459H834ZM916 375H584V625H916V375ZM834 750V834H666V750H834ZM916 666H584V916H916V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"file-tree-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0f3501e77c61d3bfbcec46f85a7a076b\",\n      \"css\": \"folder-star-multiple\",\n      \"code\": 988115,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250H0V834Q0 867.2 24.4 891.6T84 916H834V834H84V250ZM916 166H584L500 84H250Q214.8 84 190.4 108.4T166 166V666Q166 701.2 190.4 725.6T250 750H916Q951.2 750 975.6 725.6T1000 666V250Q1000 214.8 975.6 190.4T916 166ZM830.1 625L709 552.7 585.9 625 619.1 486.3 509.8 392.6 652.3 380.9 709 250 763.7 380.9 906.3 392.6 798.8 486.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-star-multiple\"\n      ]\n    },\n    {\n      \"uid\": \"515689b4be85a9ee1bd9eb919b412bce\",\n      \"css\": \"folder-star-multiple-outline\",\n      \"code\": 988116,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250V834H834V916H84Q48.8 916 24.4 891.6T0 834V250H84ZM533.2 418L658.2 408.2 709 291 757.8 408.2 884.8 418 789.1 502 816.4 625 709 560.5 599.6 625 628.9 502ZM1000 250V666Q1000 701.2 975.6 725.6T916 750H250Q214.8 750 190.4 725.6T166 666V166Q166 132.8 190.4 108.4T250 84H500L584 166H916Q951.2 166 975.6 190.4T1000 250ZM916 250H250V666H916V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-star-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c4959a87c1c53f41114ae97b3d483ad5\",\n      \"css\": \"home-minus-outline\",\n      \"code\": 988117,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L84 500H166V875H834V500H916ZM500 209L750 459V791H250V459ZM666 541V625H334V541H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"721fffb1af77b0215c5e9417f986c815\",\n      \"css\": \"home-plus-outline\",\n      \"code\": 988118,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L84 500H166V875H834V500H916ZM500 209L750 459V791H250V459ZM459 416H541V541H666V625H541V750H459V625H334V541H459V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"33a499d31b1d6ab8c2ba5f67d395fdb3\",\n      \"css\": \"home-remove-outline\",\n      \"code\": 988119,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L84 500H166V875H834V500H916ZM500 209L750 459V791H250V459ZM587.9 435.5L648.4 494.1 558.6 584 648.4 671.9 587.9 730.5 500 642.6 412.1 730.5 353.5 671.9 441.4 584 353.5 494.1 412.1 435.5 500 525.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"home-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3ce96898082822c87ac0874dd6aecd65\",\n      \"css\": \"scan-helper\",\n      \"code\": 988120,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M0 84Q0 48.8 24.4 24.4T84 0H250V84H84V250H0V84ZM1000 916Q1000 951.2 975.6 975.6T916 1000H750V916H916V750H1000V916ZM84 1000Q48.8 1000 24.4 975.6T0 916V750H84V916H250V1000H84ZM916 0Q951.2 0 975.6 24.4T1000 84V250H916V84H750V0H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"scan-helper\"\n      ]\n    },\n    {\n      \"uid\": \"bc735de0cd264126446ef244c525c698\",\n      \"css\": \"video-3d-off\",\n      \"code\": 988121,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M109.4 84L888.7 863.3 830.1 923.8 617.2 709H541V632.8L459 550.8V632.8Q453.1 664.1 432.6 683.6T382.8 709H209V625H375V541H250V459H367.2L283.2 375H209V300.8L50.8 142.6ZM666 291H675.8Q724.6 296.9 755.9 328.1T791 406.3V593.8Q787.1 621.1 779.3 636.7L709 566.4V410.2Q705.1 396.5 695.3 386.7T671.9 375H625V482.4L541 398.4V291H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"video-3d-off\"\n      ]\n    },\n    {\n      \"uid\": \"e213faf9efb181837b383d029317cfb1\",\n      \"css\": \"shield-bug\",\n      \"code\": 988122,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 541H541V584H459V541ZM875 209V459Q875 572.3 826.2 676.8T692.4 856.4 500 959Q392.6 931.6 307.6 856.4T173.8 676.8 125 459V209L500 41ZM709 416H617.2Q605.5 380.9 570.3 353.5L621.1 304.7 591.8 275.4 533.2 334H500Q478.5 334 470.7 337.9L412.1 275.4 378.9 308.6 429.7 357.4Q396.5 378.9 382.8 416H291V459H375V500H291V541H375V584H291V625H382.8Q396.5 662.1 427.7 685.5T500 709 572.3 685.5 617.2 625H709V584H625V541H709V500H625V459H709V416ZM459 500H541V459H459V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-bug\"\n      ]\n    },\n    {\n      \"uid\": \"d2bc310fb74c76324432c149daf39c86\",\n      \"css\": \"shield-bug-outline\",\n      \"code\": 988123,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M412.1 275.4L378.9 308.6 429.7 357.4Q396.5 378.9 382.8 416H291V459H375V500H291V541H375V584H291V625H382.8Q396.5 662.1 427.7 685.5T500 709 572.3 685.5 617.2 625H709V584H625V541H709V500H625V459H709V416H617.2Q605.5 380.9 570.3 353.5L621.1 304.7 591.8 275.4 533.2 334H500Q478.5 334 470.7 337.9ZM459 459H541V500H459V459ZM459 541H541V584H459V541ZM875 459Q875 572.3 826.2 676.8T692.4 856.4 500 959Q392.6 931.6 307.6 856.4T173.8 676.8 125 459V209L500 41 875 209V459ZM500 875Q578.1 855.5 645.5 792T752 641.6 791 466.8V261.7L500 132.8 209 261.7V466.8Q209 554.7 248 641.6T354.5 792 500 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"shield-bug-outline\"\n      ]\n    },\n    {\n      \"uid\": \"418ffcc803909f89f23bcaa9d8dbeb28\",\n      \"css\": \"eyedropper-plus\",\n      \"code\": 988124,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 488.3L716.8 576.2 658.2 517.6 337.9 839.8 146.5 916 84 853.5 160.2 662.1 482.4 341.8 423.8 283.2 511.7 193.4ZM699.2 125Q734.4 87.9 786.1 87.9T875 125 912.1 213.9 875 300.8L794.9 380.9 619.1 205.1ZM232.4 709L187.5 812.5 291 767.6 599.6 459 541 400.4ZM250 41V166H375V250H250V375H166V250H41V166H166V41H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eyedropper-plus\"\n      ]\n    },\n    {\n      \"uid\": \"2d64c9d76a5946017b6a92e82d09ccf8\",\n      \"css\": \"eyedropper-minus\",\n      \"code\": 988125,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 488.3L716.8 576.2 658.2 517.6 337.9 839.8 146.5 916 84 853.5 160.2 662.1 482.4 341.8 423.8 283.2 511.7 193.4ZM699.2 125Q734.4 87.9 786.1 87.9T875 125 912.1 213.9 875 300.8L794.9 380.9 619.1 205.1ZM232.4 709L187.5 812.5 291 767.6 599.6 459 541 400.4ZM375 166V250H41V166H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eyedropper-minus\"\n      ]\n    },\n    {\n      \"uid\": \"499a6149ceeba0ed47ec741d82cd8f14\",\n      \"css\": \"eyedropper-remove\",\n      \"code\": 988126,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M806.6 488.3L716.8 576.2 658.2 517.6 337.9 839.8 146.5 916 84 853.5 160.2 662.1 482.4 341.8 423.8 283.2 511.7 193.4ZM699.2 125Q734.4 87.9 786.1 87.9T875 125 912.1 213.9 875 300.8L794.9 380.9 619.1 205.1ZM232.4 709L187.5 812.5 291 767.6 599.6 459 541 400.4ZM355.5 119.1L267.6 209 355.5 296.9 296.9 355.5 209 267.6 119.1 355.5 60.5 296.9 150.4 209 60.5 119.1 119.1 60.5 209 150.4 296.9 60.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eyedropper-remove\"\n      ]\n    },\n    {\n      \"uid\": \"ab8c30828d0fab09bdebc868e6a131ef\",\n      \"css\": \"eyedropper-off\",\n      \"code\": 988127,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 300.8L794.9 380.9 619.1 205.1 699.2 125Q734.4 87.9 786.1 87.9T875 125 912.1 213.9 875 300.8ZM455.1 367.2L515.6 425.8 541 400.4 599.6 459 574.2 484.4 632.8 544.9 658.2 517.6 716.8 576.2 806.6 488.3 511.7 193.4 423.8 283.2 482.4 341.8ZM828.1 845.7L773.4 898.4 525.4 650.4 337.9 839.8 146.5 916 84 853.5 160.2 662.1 349.6 474.6 78.1 201.2 130.9 148.4ZM466.8 591.8L408.2 533.2 232.4 709 187.5 812.5 291 767.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"eyedropper-off\"\n      ]\n    },\n    {\n      \"uid\": \"92a4eb2089aa18437708e6cfd741d96e\",\n      \"css\": \"baby-buggy\",\n      \"code\": 988128,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 834Q709 867.2 684.6 891.6T625 916 565.4 891.6 541 833 565.4 774.4 625 750 684.6 774.4 709 834ZM291 834Q291 867.2 266.6 891.6T208 916 149.4 891.6 125 833 149.4 774.4 208 750 266.6 774.4 291 834ZM734.4 125Q697.3 125 666 146.5 644.5 158.2 615.2 197.3L238.3 638.7Q220.7 660.2 231.4 684.6T269.5 709H584Q617.2 709 641.6 684.6T666 625V265.6L681.6 248Q697.3 226.6 705.1 220.7 718.8 209 734.4 209 757.8 209 774.4 226.6T791 271.5V291H875V271.5Q875 210.9 834 168T734.4 125ZM369.1 128.9Q250 132.8 154.3 205.1L351.6 402.3 519.5 205.1Q541 179.7 554.7 166 482.4 132.8 402.3 128.9H369.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"baby-buggy\"\n      ]\n    },\n    {\n      \"uid\": \"535b108bd6568e8fafd05282be28a0c0\",\n      \"css\": \"umbrella-closed-variant\",\n      \"code\": 988129,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 291L541 250V146.5Q541 136.7 546.9 130.9T562.5 125 578.1 130.9 584 146.5V166H666V146.5Q666 101.6 635.7 71.3T562.5 41 489.3 71.3 459 146.5V250L375 291 250 250 462.9 886.7Q468.8 906.3 485.4 913.1T518.6 913.1 541 886.7L669.9 488.3 750 250ZM459 625L375 371.1 404.3 378.9 459 337.9V625ZM541 337.9L595.7 378.9 625 371.1 541 625V337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"umbrella-closed-variant\"\n      ]\n    },\n    {\n      \"uid\": \"99da94c2c1f1a814d1f0fd6496ef2711\",\n      \"css\": \"umbrella-closed-outline\",\n      \"code\": 988130,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q513.7 84 524.4 89.8T537.1 107.4L728.5 625H541V791Q541 845.7 505.9 880.9T417 916 327.1 880.9 291 791V750H375V791Q375 810.5 386.7 822.3T417 834 447.3 822.3 459 791V625H271.5L462.9 107.4Q464.8 95.7 475.6 89.8T500 84ZM500 246.1L392.6 541H613.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"umbrella-closed-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cf282c444785ac50a5bc37c3a5a2f621\",\n      \"css\": \"email-off\",\n      \"code\": 988131,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 107.4 187.5Q84 212.9 84 250V750Q84 785.2 108.4 809.6T166 834H753.9L867.2 945.3ZM166 334V250L179.7 257.8 400.4 478.5ZM558.6 425.8L300.8 166H834Q867.2 166 891.6 190.4T916 250V750Q916 771.5 912.1 779.3L607.4 474.6 834 334V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-off\"\n      ]\n    },\n    {\n      \"uid\": \"d59c10c4a5d637762f1b997cf792b10b\",\n      \"css\": \"email-off-outline\",\n      \"code\": 988132,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 107.4 187.5Q84 220.7 84 250V750Q84 785.2 108.4 809.6T166 834H753.9L867.2 945.3ZM166 750V334L400.4 478.5 669.9 750H166ZM382.8 250L300.8 166H834Q867.2 166 891.6 190.4T916 250V750Q916 771.5 912.1 779.3L834 699.2V334L607.4 474.6 558.6 425.8 834 250H382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"email-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e22ede8d766539f2d72df6b9ffa48ca4\",\n      \"css\": \"food-variant-off\",\n      \"code\": 988133,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M95.7 125L41 177.7 138.7 273.4Q107.4 431.6 97.7 535.2 87.9 623 85.9 728.5 84 791 84 916H375Q375 791 373 728.5 371.1 623 361.3 535.2L355.5 492.2 531.3 666H459V750Q459 818.4 507.8 867.2T625 916H750Q769.5 916 777.3 914.1L822.3 959 875 904.3ZM201.2 125L314.5 238.3 308.6 209H334V125H291 201.2ZM855.5 468.8L742.2 666 900.4 824.2Q916 789.1 916 750V666H828.1L921.9 505.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-variant-off\"\n      ]\n    },\n    {\n      \"uid\": \"d22ca6a2ce4742de7d5806279a24d4ed\",\n      \"css\": \"play-box-multiple-outline\",\n      \"code\": 988134,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H84V834Q84 867.2 108.4 891.6T166 916H750V834H166V250ZM834 166V666H334V166H834ZM834 84H334Q298.8 84 274.4 108.4T250 166V666Q250 701.2 274.4 725.6T334 750H834Q867.2 750 891.6 725.6T916 666V166Q916 132.8 891.6 108.4T834 84ZM500 603.5V228.5L750 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"play-box-multiple-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5bfa4fbbc92cdfb4a42bff68169f761e\",\n      \"css\": \"bell-cancel\",\n      \"code\": 988135,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 541Q691.4 541 657.2 555.7T596.7 596.7 555.7 657.2 541 728.5Q541 806.6 596.7 861.3T729.5 916 861.3 861.3 916 728.5Q916 691.4 902.3 657.2T862.3 596.7 800.8 555.7 728.5 541ZM728.5 603.5Q781.3 603.5 817.4 640.6T853.5 728.5Q853.5 763.7 835.9 791L666 621.1Q695.3 605.5 728.5 603.5ZM621.1 666L791 835.9Q763.7 853.5 728.5 853.5 677.7 853.5 640.6 817.4T603.5 728.5Q605.5 695.3 621.1 666ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H478.5Q459 783.2 459 728.5 459 656.3 495.1 593.8T593.8 495.1 728.5 459Q761.7 459 791 466.8V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T498 959 554.7 937.5Q523.4 910.2 502 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-cancel\"\n      ]\n    },\n    {\n      \"uid\": \"385453078dac560c86d59239ad48abbd\",\n      \"css\": \"bell-cancel-outline\",\n      \"code\": 988136,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M728.5 541Q691.4 541 657.2 555.7T596.7 596.7 555.7 657.2 541 728.5Q541 806.6 596.7 861.3T729.5 916 861.3 861.3 916 728.5Q916 691.4 902.3 657.2T862.3 596.7 800.8 555.7 728.5 541ZM728.5 603.5Q781.3 603.5 817.4 640.6T853.5 728.5Q853.5 763.7 835.9 791L666 621.1Q695.3 605.5 728.5 603.5ZM621.1 666L791 835.9Q763.7 853.5 728.5 853.5 677.7 853.5 640.6 817.4T603.5 728.5Q605.5 695.3 621.1 666ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H478.5Q462.9 793 459 750H291V459Q291 402.3 319.3 354.5T395.5 278.3 500 250 604.5 278.3 680.7 354.5 709 459H728.5Q761.7 459 791 466.8V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T498 959 554.7 937.5Q523.4 910.2 502 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-cancel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c1924081ae8fc34074a8d2397e129fd3\",\n      \"css\": \"bell-minus\",\n      \"code\": 988137,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H916V791H584V709ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H500V625H791V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T500 959 559.6 934.6 584 875H500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-minus\"\n      ]\n    },\n    {\n      \"uid\": \"08a560e070564b6bdbbb39af15495250\",\n      \"css\": \"bell-minus-outline\",\n      \"code\": 988138,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H500V750H291V459Q291 402.3 319.3 354.5T395.5 278.3 500 250 604.5 278.3 680.7 354.5 709 459V625H791V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM584 709V791H916V709H584ZM416 875Q416 910.2 440.4 934.6T500 959 559.6 934.6 584 875H500 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6102070d544cec8ef2356dd7d783a8f\",\n      \"css\": \"bell-remove\",\n      \"code\": 988139,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M837.9 601.6L750 691.4 662.1 601.6 601.6 662.1 691.4 750 601.6 837.9 662.1 898.4 750 808.6 837.9 898.4 898.4 837.9 808.6 750 898.4 662.1ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H513.7Q500 793 500 750 500 681.6 533.2 624T624 533.2 750 500Q771.5 500 791 503.9V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T500 959Q521.5 959 539.1 949.2T568.4 921.9Q548.8 900.4 533.2 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-remove\"\n      ]\n    },\n    {\n      \"uid\": \"f105bae16ff0e2f83abbe5071de34593\",\n      \"css\": \"bell-remove-outline\",\n      \"code\": 988140,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M837.9 601.6L750 691.4 662.1 601.6 601.6 662.1 691.4 750 601.6 837.9 662.1 898.4 750 808.6 837.9 898.4 898.4 837.9 808.6 750 898.4 662.1ZM500 84Q464.8 84 440.4 108.4T416 166V179.7Q326.2 205.1 267.6 282.2T209 459V709L125 791V834H513.7Q500 793 500 750H291V459Q291 402.3 319.3 354.5T395.5 278.3 500 250 604.5 278.3 680.7 354.5 709 459V503.9Q732.4 500 752 500T791 503.9V459Q791 359.4 732.4 282.2T584 179.7V166Q584 132.8 559.6 108.4T500 84ZM416 875Q416 910.2 440.4 934.6T500 959Q521.5 959 539.1 949.2T568.4 921.9Q548.8 900.4 533.2 875H416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bell-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"0fa6f98a9f247b532f0813b7dec87cf3\",\n      \"css\": \"beehive-off-outline\",\n      \"code\": 988141,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M44.9 125L195.3 271.5Q125 320.3 125 396.5 125 431.6 146.5 466.8 99.6 478.5 70.3 516.6T41 603.5Q41 679.7 113.3 728.5 84 757.8 84 812.5 84 871.1 127 915T228.5 959H771.5Q814.5 959 857.4 929.7L886.7 959 941.4 904.3 99.6 70.3ZM382.8 459H271.5Q246.1 459 227.5 439.5T209 397.5 222.7 357.4 257.8 334ZM375 875H228.5Q205.1 875 185.5 856.4T166 812.5 185.5 768.6 228.5 750H375V875ZM382.8 666H187.5Q162.1 666 143.6 647.5T125 604.5 143.6 560.5 187.5 541H466.8L507.8 584H500Q459 584 427.7 606.4T382.8 666ZM771.5 875H625V750H675.8L794.9 871.1Q787.1 875 771.5 875ZM294.9 162.1L238.3 103.5Q255.9 76.2 287.1 58.6T353.5 41H646.5Q705.1 41 748 85T791 187.5Q791 222.7 771.5 257.8 818.4 271.5 846.7 308.6T875 396.5Q875 431.6 853.5 466.8 898.4 482.4 928.7 520.5T959 603.5Q959 679.7 886.7 728.5 906.3 753.9 912.1 779.3L800.8 666H812.5Q837.9 666 856.4 647.5T875 604.5 856.4 560.5 812.5 541H675.8L591.8 459H728.5Q753.9 459 772.5 439.5T791 395.5 772.5 352.5 728.5 334H466.8L382.8 250H646.5Q669.9 250 689.5 231.4T709 187.5 689.5 143.6 646.5 125H353.5Q335.9 125 319.3 135.7T294.9 162.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"beehive-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a816c6b0bed4b77f4742f7baa3ee3523\",\n      \"css\": \"cheese-off\",\n      \"code\": 988142,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M146.5 70.3L91.8 125 253.9 287.1V375Q289.1 380.9 313.5 410.2T337.9 478.5 314.5 545.9 253.9 584V875L503.9 728.5Q503.9 705.1 522.5 685.5T566.4 666Q584 666 599.6 675.8L628.9 658.2 845.7 875 900.4 820.3ZM419.9 666Q404.3 666 391.6 653.3T378.9 625 391.6 596.7 419.9 584 449.2 596.7 462.9 625 449.2 653.3 419.9 666ZM574.2 396.5L412.1 232.4Q429.7 250 460.9 250T515.6 228.5 544.9 175.8Q703.1 244.1 804.7 349.6L800.8 355.5Q794.9 365.2 794.9 371.1 794.9 386.7 808.6 399.4T835.9 412.1 853.5 408.2Q875 433.6 908.2 492.2L761.7 574.2 691.4 503.9Q712.9 482.4 712.9 449.2T688.5 391.6 628.9 367.2Q587.9 382.8 574.2 396.5ZM396.5 216.8L304.7 125Q334 125 382.8 132.8 378.9 146.5 378.9 166 378.9 199.2 396.5 216.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cheese-off\"\n      ]\n    },\n    {\n      \"uid\": \"fc9435413220ca10454cd80d58e66c5e\",\n      \"css\": \"corn-off\",\n      \"code\": 988143,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 300.8 378.9Q291 429.7 291 459 187.5 416 84 416 160.2 451.2 212.9 533.2 242.2 582 283.2 691.4 312.5 767.6 330.1 802.7 359.4 857.4 396.5 884.8 439.5 916 500 916 572.3 916 621.1 875 660.2 841.8 691.4 771.5L871.1 949.2ZM337.9 416L378.9 459H334ZM367.2 500H419.9L459 537.1V570.3Q400.4 521.5 367.2 500ZM595.7 800.8Q589.8 759.8 568.4 714.8 544.9 666 507.8 625H544.9L632.8 712.9Q621.1 761.7 595.7 800.8ZM459 250V324.2L507.8 375H584V334H500V250H541V209H500V125Q543 125 580.1 174.8T640.6 308.6 666 492.2V533.2L750 617.2Q779.3 544.9 812.5 500 855.5 443.4 916 416 806.6 416 709 462.9 705.1 355.5 676.8 268.6T601.6 132.8 500 84Q455.1 84 415 118.2T345.7 212.9L382.8 250H459ZM459 136.7V209H396.5Q429.7 154.3 459 136.7ZM625 492.2L591.8 459H625V492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"corn-off\"\n      ]\n    },\n    {\n      \"uid\": \"8a7f16c71b326a5ea76dd4a1e37b68cc\",\n      \"css\": \"egg-off\",\n      \"code\": 988144,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 253.9 334Q222.7 404.3 205.1 477.5T187.5 603.5Q187.5 687.5 229.5 759.8T343.8 874 500 916Q566.4 916 627 888.7T732.4 812.5L867.2 945.3ZM812.5 603.5Q812.5 515.6 769.5 392.6 724.6 263.7 656.3 179.7 580.1 84 500 84 414.1 84 330.1 195.3L804.7 669.9Q812.5 628.9 812.5 603.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"egg-off\"\n      ]\n    },\n    {\n      \"uid\": \"f8cc23a81d85e237c68156c31e7ff917\",\n      \"css\": \"egg-off-outline\",\n      \"code\": 988145,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 253.9 334Q222.7 404.3 205.1 476.6T187.5 603.5Q187.5 689.5 229.5 760.7T343.8 874 500 916Q568.4 916 628.9 888.7T732.4 812.5L869.1 947.3ZM500 834Q437.5 834 384.8 802.7T301.8 718.8 271.5 603.5Q271.5 517.6 318.4 396.5L673.8 752Q640.6 791 595.7 812.5T500 834ZM390.6 255.9L330.1 197.3Q412.1 84 500 84 580.1 84 658.2 179.7 724.6 263.7 769.5 392.6 812.5 513.7 812.5 603.5 812.5 636.7 804.7 671.9L728.5 595.7Q726.6 517.6 688.5 415T599.6 242.2Q544.9 166 500 166 449.2 166 390.6 255.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"egg-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f4b1d38ec92360762c382da1cd83f5c5\",\n      \"css\": \"egg-outline\",\n      \"code\": 988146,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 166Q546.9 166 601.6 244.1 654.3 316.4 691.4 420.9T728.5 603.5Q728.5 666 698.2 718.8T615.2 802.7 500 834 384.8 802.7 301.8 718.8 271.5 603.5Q271.5 525.4 308.6 420.9T398.4 244.1Q453.1 166 500 166ZM500 84Q419.9 84 341.8 179.7 275.4 263.7 230.5 392.6 187.5 513.7 187.5 603.5 187.5 689.5 229.5 760.7T343.8 874 500 916 656.3 874 770.5 760.7 812.5 603.5Q812.5 513.7 769.5 392.6 724.6 263.7 658.2 179.7 580.1 84 500 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"egg-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c0a5904a4552a07182dc207e3ad27de5\",\n      \"css\": \"fish-off\",\n      \"code\": 988147,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L654.3 732.4 648.4 740.2Q607.4 789.1 587.9 804.7 564.5 824.2 543 830.1 527.3 834 500 834L533.2 709Q429.7 701.2 348.6 662.1T242.2 566.4Q234.4 601.6 224.6 617.2 205.1 650.4 164.1 660.2 138.7 666 84 666 115.2 666 130.9 623 146.5 585.9 146.5 520.5T130.9 418Q115.2 375 84 375 138.7 375 162.1 380.9 205.1 392.6 220.7 425.8 228.5 435.5 236.3 468.8L238.3 474.6Q257.8 429.7 316.4 396.5L44.9 125 99.6 70.3 919.9 892.6ZM408.2 275.4L375 209Q459 209 496.1 212.9 560.5 218.8 595.7 238.3 650.4 267.6 695.3 349.6 791 373 851.6 418 916 466.8 916 521.5 916 560.5 882.8 596.7T791 658.2ZM666 500Q666 519.5 677.7 530.3T708 541 738.3 530.3 750 500 738.3 469.7 708 459 677.7 469.7 666 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fish-off\"\n      ]\n    },\n    {\n      \"uid\": \"ed4d1b17cb8a843ad209220eae1ef9aa\",\n      \"css\": \"flask-empty-off\",\n      \"code\": 988148,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L816.4 896.5Q781.3 916 750 916H250Q197.3 916 161.1 880.9T125 791Q125 752 146.5 724.6L330.1 408.2 44.9 125 99.6 70.3 919.9 892.6ZM625 324.2V250Q644.5 250 655.3 238.3T666 209V166Q666 132.8 641.6 108.4T584 84H416Q382.8 84 358.4 108.4T334 166V199.2L849.6 716.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-off\"\n      ]\n    },\n    {\n      \"uid\": \"2eca8f1d94d9e5992f26d7d0c2e0947a\",\n      \"css\": \"flask-empty-off-outline\",\n      \"code\": 988149,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 330.1 408.2 146.5 724.6Q125 752 125 791 125 845.7 161.1 880.9T250 916H750Q789.1 916 816.4 896.5L867.2 945.3ZM750 834H250Q230.5 834 219.7 822.3T209 791Q209 783.2 216.8 767.6L392.6 466.8 750 834H752 750ZM459 324.2L334 199.2V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 655.3 238.3T625 250V324.2L849.6 716.8 625 492.2 541 349.6V166H459V324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-empty-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b27d9a7ff3e7e13c4c0e88b74acca963\",\n      \"css\": \"flask-off\",\n      \"code\": 988150,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 330.1 408.2 146.5 724.6Q125 752 125 791 125 845.7 161.1 880.9T250 916H750Q789.1 916 816.4 896.5L867.2 945.3ZM750 834H250Q230.5 834 219.7 822.3T209 791Q209 783.2 216.8 767.6L375 496.1 584 709 607.4 683.6 750 834H752 750ZM334 199.2V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 655.3 238.3T625 250V324.2L849.6 716.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-off\"\n      ]\n    },\n    {\n      \"uid\": \"64fec9eee4c217242b2cfcf61078d365\",\n      \"css\": \"flask-off-outline\",\n      \"code\": 988151,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 330.1 408.2 146.5 724.6Q125 752 125 791 125 845.7 161.1 880.9T250 916H750Q789.1 916 816.4 896.5L867.2 945.3ZM750 834H250Q230.5 834 219.7 822.3T209 791Q209 783.2 216.8 767.6L392.6 466.8 566.4 642.6 541 666 433.6 558.6 320.3 750H669.9L750 834H752 750ZM459 324.2L334 199.2V166Q334 132.8 358.4 108.4T416 84H584Q617.2 84 641.6 108.4T666 166V209Q666 226.6 655.3 238.3T625 250V324.2L849.6 716.8 625 492.2 541 349.6V166H459V324.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"flask-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"40fa07b5c23877d2b7e68b34fd4e6f63\",\n      \"css\": \"fruit-cherries-off\",\n      \"code\": 988152,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 363.3 441.4Q334 511.7 316.4 541 253.9 548.8 210 595.7T166 710 214.8 826.2 332 875 445.3 830.1Q416 763.7 416 708T445.3 587.9Q425.8 566.4 382.8 550.8L412.1 488.3 533.2 607.4Q500 654.3 500 709 500 777.3 548.8 826.2T666 875Q722.7 875 761.7 841.8L867.2 945.3ZM334 646.5Q308.6 646.5 290 665T271.5 709H228.5Q228.5 664.1 258.8 633.8T334 603.5V646.5ZM603.5 709H562.5Q562.5 679.7 574.2 654.3L607.4 687.5Q603.5 695.3 603.5 709ZM834 699.2L675.8 541Q738.3 544.9 784.2 590.8T834 699.2ZM470.7 337.9L419.9 287.1Q466.8 150.4 466.8 84L525.4 80.1Q527.3 87.9 529.3 111.3L533.2 142.6Q564.5 136.7 611.3 146.5 679.7 164.1 742.2 212.9 812.5 263.7 826.2 365.2 832 414.1 824.2 455.1V455.1H808.6Q785.2 455.1 761.7 451.2 726.6 445.3 693.4 431.6 650.4 414.1 613.3 382.8L574.2 345.7Q593.8 418 621.1 488.3L525.4 392.6Q511.7 349.6 496.1 267.6 478.5 316.4 470.7 337.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-cherries-off\"\n      ]\n    },\n    {\n      \"uid\": \"f4473ba03e9aa85289db1695d40a0e5d\",\n      \"css\": \"fruit-citrus-off\",\n      \"code\": 988153,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 183.6 261.7Q123 334 117.2 425.8 93.8 441.4 85.9 464.8T87.9 512.7 119.1 551.8 166 566.4Q201.2 607.4 254.9 631.8T375 662.1Q380.9 584 429.7 507.8L492.2 570.3Q459 625 459 686.5T490.2 800.8 574.2 884.8 688.5 916 804.7 882.8L867.2 945.3ZM541 687.5Q541 660.2 554.7 628.9L625 699.2 554.7 750Q541 718.8 541 687.5ZM580.1 783.2L654.3 732.4 666 746.1V834Q609.4 818.4 580.1 783.2ZM709 830.1V787.1L742.2 820.3 734.4 824.2Q718.8 830.1 709 830.1ZM834 699.2V687.5Q834 656.3 820.3 625L783.2 650.4 753.9 621.1 794.9 591.8Q765.6 556.6 709 541V574.2L607.4 474.6Q658.2 459 687.5 459 748 459 800.8 490.2T884.8 574.2 916 687.5Q916 732.4 900.4 767.6ZM541 408.2L294.9 162.1Q343.8 132.8 404.3 113.3 531.3 68.4 650.4 89.8T834 183.6Q859.4 183.6 880.9 198.2T912.1 237.3 914.1 285.2 882.8 324.2Q882.8 375 857.4 425.8 773.4 375 687.5 375 615.2 375 541 408.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fruit-citrus-off\"\n      ]\n    },\n    {\n      \"uid\": \"6e67a165fc64d39c29ca47fdab87a8db\",\n      \"css\": \"mushroom-off\",\n      \"code\": 988154,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 169.9 250Q128.9 300.8 106.4 365.2T84 500Q84 535.2 108.4 559.6T166 584H503.9L544.9 625H375L320.3 812.5V834Q320.3 867.2 344.7 891.6T404.3 916H599.6Q634.8 916 659.2 891.6T683.6 834L679.7 812.5 658.2 738.3 871.1 949.2ZM291 500Q257.8 500 233.4 475.6T209 416Q209 390.6 223.6 369.1T261.7 337.9L371.1 445.3Q361.3 470.7 338.9 485.4T291 500ZM416 250Q416 214.8 440.4 190.4T500 166 559.6 190.4 584 250 559.6 309.6 500 334Q472.7 334 445.3 312.5L716.8 584H834Q867.2 584 891.6 559.6T916 500Q916 386.7 860.4 291T709 139.6 502 84 279.3 146.5L433.6 300.8Q416 275.4 416 250ZM709 334Q742.2 334 766.6 358.4T791 417 766.6 475.6 708 500 649.4 475.6 625 417 649.4 358.4 709 334Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mushroom-off\"\n      ]\n    },\n    {\n      \"uid\": \"28cdadc968b1042f77a59e0e9b0ec93e\",\n      \"css\": \"mushroom-off-outline\",\n      \"code\": 988155,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 169.9 250Q128.9 300.8 106.4 365.2T84 500Q84 535.2 108.4 559.6T166 584H503.9L544.9 625H375L320.3 812.5Q312.5 845.7 330.1 876T378.9 912.1L404.3 916H599.6Q634.8 916 659.2 891.6T683.6 834L679.7 812.5 666 771.5 658.2 732.4 871.1 945.3ZM166 500Q166 398.4 228.5 308.6L257.8 337.9Q250 363.3 250 375 250 410.2 274.4 434.6T334 459Q345.7 459 371.1 449.2L419.9 500H166ZM404.3 834L416 791 441.4 709H566.4L603.5 834H404.3ZM666 459Q632.8 459 608.4 434.6T584 375 608.4 315.4 667 291 725.6 315.4 750 375 725.6 434.6 666 459ZM341.8 209L279.3 146.5Q390.6 84 502 84T709 139.6 860.4 291 916 500Q916 535.2 891.6 559.6T834 584H716.8L632.8 500H834Q834 384.8 762.7 293.9T584 175.8Q580.1 207 555.7 228.5T500 250 444.3 228.5 416 175.8Q373 189.5 341.8 209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"mushroom-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d1d7c74b742bab850ac4af026f20386b\",\n      \"css\": \"soy-sauce-off\",\n      \"code\": 988156,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 357.4 437.5 349.6 453.1Q302.7 543 283.2 591.8 250 673.8 250 732.4V816.4Q250 859.4 322.3 885.7T500 912.1Q597.7 912.1 668.9 888.7T750 830.1L871.1 949.2ZM500 625Q464.8 625 440.4 600.6T416 541Q416 529.3 425.8 503.9L537.1 617.2Q511.7 625 500 625ZM345.7 146.5H312.5V84H687.5V146.5H654.3L617.2 250H591.8L589.8 253.9Q580.1 287.1 580.1 312.5 580.1 326.2 593.8 353.5 601.6 371.1 628.9 418 687.5 519.5 712.9 580.1L419.9 287.1Q414.1 261.7 408.2 250H382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"soy-sauce-off\"\n      ]\n    },\n    {\n      \"uid\": \"50f7f6ce2eb96bc5a1358802138a1621\",\n      \"css\": \"seed-off\",\n      \"code\": 988157,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 246.1 324.2Q99.6 513.7 132.8 867.2 224.6 875 267.6 875 527.3 875 679.7 757.8L871.1 949.2ZM291 709Q293 687.5 294.9 668 300.8 619.1 314.5 570.3 335.9 503.9 371.1 449.2L425.8 503.9Q347.7 593.8 291 709ZM482.4 349.6L353.5 220.7Q496.1 125 716.8 125 804.7 125 863.3 136.7L869.1 185.5Q875 248 873 310.5 871.1 398.4 851.6 474.6 828.1 572.3 779.3 646.5L533.2 400.4Q576.2 363.3 621.1 334 654.3 314.5 683.6 300.8L709 291Q568.4 291 482.4 349.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seed-off\"\n      ]\n    },\n    {\n      \"uid\": \"d6ca1f22d22c696b73d8970eb7eb4397\",\n      \"css\": \"seed-off-outline\",\n      \"code\": 988158,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 246.1 324.2Q99.6 513.7 132.8 867.2 224.6 875 267.6 875 527.3 875 679.7 757.8L871.1 949.2ZM267.6 791H212.9Q199.2 525.4 304.7 382.8L371.1 449.2Q335.9 503.9 314.5 570.3 300.8 619.1 294.9 668L291 709Q347.7 593.8 425.8 503.9L617.2 695.3Q488.3 791 267.6 791ZM416 283.2L353.5 220.7Q496.1 125 716.8 125 804.7 125 863.3 136.7L869.1 185.5Q875 248 873 310.5 871.1 398.4 851.6 474.6 828.1 572.3 779.3 646.5L716.8 584Q767.6 498 783.2 380.9 793 308.6 787.1 212.9 767.6 209 716.8 209 531.3 209 416 283.2ZM533.2 400.4L482.4 349.6Q568.4 291 709 291L683.6 300.8Q654.3 314.5 621.1 334 576.2 363.3 533.2 400.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"seed-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bd5c15d5cbdbfb3ba13c7e0744739c6e\",\n      \"css\": \"tailwind\",\n      \"code\": 988159,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 250Q334 250 291 416 353.5 334 437.5 353.5 459 359.4 480.5 375 492.2 386.7 517.6 410.2V412.1Q560.5 455.1 589.8 470.7 640.6 500 709 500 875 500 916 334 853.5 416 771.5 396.5 750 390.6 728.5 375 716.8 365.2 693.4 341.8L689.5 337.9Q648.4 294.9 619.1 279.3 568.4 250 500 250ZM291 500Q125 500 84 666 146.5 584 228.5 603.5 250 609.4 271.5 625 283.2 634.8 306.6 658.2L310.5 662.1Q351.6 705.1 380.9 720.7 431.6 750 500 750 666 750 709 584 646.5 666 562.5 646.5 541 640.6 521.5 625 507.8 615.2 484.4 591.8L482.4 587.9Q439.5 544.9 410.2 529.3 359.4 500 291 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tailwind\"\n      ]\n    },\n    {\n      \"uid\": \"c81c12d61069abd59e4afa4d8c14d17c\",\n      \"css\": \"form-dropdown\",\n      \"code\": 988160,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 209H834L771.5 291ZM125 84H875Q910.2 84 934.6 108.4T959 166V334Q959 367.2 934.6 391.6T875 416H666V834Q666 867.2 641.6 891.6T584 916H125Q89.8 916 65.4 891.6T41 834V166Q41 132.8 65.4 108.4T125 84ZM125 166V334H584V166H125ZM875 334V166H666V334H875ZM125 834H584V416H125V834ZM209 500H500V584H209V500ZM209 666H500V750H209V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"form-dropdown\"\n      ]\n    },\n    {\n      \"uid\": \"7c641056e30d9d31aabf174dfe332ea3\",\n      \"css\": \"form-select\",\n      \"code\": 988161,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 209H750L687.5 291ZM209 84H791Q826.2 84 850.6 108.4T875 166V834Q875 867.2 850.6 891.6T791 916H209Q173.8 916 149.4 891.6T125 834V166Q125 132.8 149.4 108.4T209 84ZM209 166V334H791V166H209ZM209 834H791V416H209V834ZM291 500H709V584H291V500ZM291 666H709V750H291V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"form-select\"\n      ]\n    },\n    {\n      \"uid\": \"00f2177054d17857d859ed8f5c92c185\",\n      \"css\": \"pump\",\n      \"code\": 988162,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 875V625H146.5Q125 564.5 125 500 125 398.4 175.8 312.5T312.5 175.8 500 125H916V375H853.5Q875 435.5 875 500 875 601.6 824.2 687.5T687.5 824.2 500 875H84ZM209 500Q209 578.1 248 646.5L392.6 562.5Q375 533.2 375 500 375 460.9 398.4 427.7L261.7 330.1Q209 408.2 209 500ZM500 791Q580.1 791 647.5 752T752 646.5L607.4 562.5Q591.8 591.8 562.5 608.4T500 625H488.3L472.7 791H500ZM500 375Q537.1 375 568.4 395.5T613.3 449.2L765.6 378.9Q730.5 302.7 659.2 255.9T500 209V375ZM500 459Q482.4 459 470.7 470.7T459 500 470.7 529.3 500 541 529.3 529.3 541 500 529.3 470.7 500 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pump\"\n      ]\n    },\n    {\n      \"uid\": \"59f128f1155c446ed894fba234f03e89\",\n      \"css\": \"earth-plus\",\n      \"code\": 988163,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM834 500Q834 396.5 776.4 312.5T625 191.4V209Q625 242.2 600.6 266.6T541 291H459V375Q459 392.6 446.3 404.3T416 416H334V500H584Q599.6 500 610.4 509.8T625 533.2Q568.4 566.4 534.2 624T500 750Q500 841.8 560.5 912.1L500 916Q386.7 916 291 860.4T139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500L912.1 560.5Q877 529.3 834 513.7V500ZM459 830.1V750Q423.8 750 399.4 725.6T375 666V625L175.8 425.8Q166 462.9 166 500 166 584 205.1 655.3T310.5 773.4 459 830.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-plus\"\n      ]\n    },\n    {\n      \"uid\": \"41d4d2e553ee248d53d57de38a3c4a72\",\n      \"css\": \"earth-minus\",\n      \"code\": 988164,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 709H916V791H584V709ZM834 500Q834 396.5 776.4 312.5T625 191.4V209Q625 242.2 600.6 266.6T541 291H459V375Q459 392.6 446.3 404.3T416 416H334V500H584Q599.6 500 610.4 509.8T625 533.2Q568.4 566.4 534.2 624T500 750Q500 841.8 560.5 912.1L500 916Q386.7 916 291 860.4T139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500L912.1 560.5Q877 529.3 834 513.7V500ZM459 830.1V750Q423.8 750 399.4 725.6T375 666V625L175.8 425.8Q166 462.9 166 500 166 584 205.1 655.3T310.5 773.4 459 830.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-minus\"\n      ]\n    },\n    {\n      \"uid\": \"f51c4bc0b294c4a18f42a4fe908182ac\",\n      \"css\": \"earth-remove\",\n      \"code\": 988165,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 603.5 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750 603.5 662.1H601.6ZM834 500Q834 396.5 776.4 312.5T625 191.4V209Q625 242.2 600.6 266.6T541 291H459V375Q459 392.6 446.3 404.3T416 416H334V500H584Q599.6 500 610.4 509.8T625 533.2Q568.4 566.4 534.2 624T500 750Q500 841.8 560.5 912.1L500 916Q386.7 916 291 860.4T139.6 709 84 500 139.6 291 291 139.6 500 84 709 139.6 860.4 291 916 500L912.1 560.5Q877 529.3 834 513.7V500ZM459 830.1V750Q423.8 750 399.4 725.6T375 666V625L175.8 425.8Q166 462.9 166 500 166 584 205.1 655.3T310.5 773.4 459 830.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-remove\"\n      ]\n    },\n    {\n      \"uid\": \"3437e5d836f28d2cdfe5a71a824f6a55\",\n      \"css\": \"earth-box-plus\",\n      \"code\": 988166,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 584H791V709H916V791H791V916H709V791H584V709H709V584ZM209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H658.2Q654.3 240.2 630.9 261.7T574.2 283.2H492.2V367.2Q492.2 382.8 479.5 395.5T449.2 408.2H367.2V492.2H617.2Q630.9 492.2 641.6 499T656.3 517.6Q587.9 544.9 544.9 606.4T500 742.2Q459 742.2 433.6 717.8T408.2 658.2V617.2L209 429.7V791H503.9Q509.8 835.9 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-box-plus\"\n      ]\n    },\n    {\n      \"uid\": \"4f0e629b043ab5d957f89e5d0ac2bf43\",\n      \"css\": \"earth-box-minus\",\n      \"code\": 988167,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 709V791H584V709H916ZM209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H658.2Q654.3 240.2 630.9 261.7T574.2 283.2H492.2V367.2Q492.2 382.8 479.5 395.5T449.2 408.2H367.2V492.2H617.2Q630.9 492.2 641.6 499T656.3 517.6Q587.9 544.9 544.9 606.4T500 742.2Q459 742.2 433.6 717.8T408.2 658.2V617.2L209 429.7V791H503.9Q509.8 835.9 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-box-minus\"\n      ]\n    },\n    {\n      \"uid\": \"745a223516fd59f1049bf6257721c302\",\n      \"css\": \"earth-box-remove\",\n      \"code\": 988168,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M601.6 662.1L662.1 601.6 750 691.4 837.9 603.5 898.4 662.1 808.6 750 898.4 837.9 837.9 898.4 750 808.6 662.1 898.4 601.6 837.9 691.4 750 603.5 662.1H601.6ZM209 125H791Q826.2 125 850.6 149.4T875 209V533.2Q835.9 509.8 791 503.9V209H658.2Q654.3 240.2 630.9 261.7T574.2 283.2H492.2V367.2Q492.2 382.8 479.5 395.5T449.2 408.2H367.2V492.2H617.2Q630.9 492.2 641.6 499T656.3 517.6Q587.9 544.9 544.9 606.4T500 742.2Q459 742.2 433.6 717.8T408.2 658.2V617.2L209 429.7V791H503.9Q509.8 835.9 533.2 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"earth-box-remove\"\n      ]\n    },\n    {\n      \"uid\": \"b2d6758f60cf3f61c29ee4c2ec738de6\",\n      \"css\": \"gas-station-off\",\n      \"code\": 988169,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 875 904.3 822.3 959 738.3 875Q701.2 871.1 675.8 844.7T646.5 783.2L584 718.8V875H166V302.7ZM750 416Q767.6 416 779.3 404.3T791 375 779.3 345.7 750 334 720.7 345.7 709 375 720.7 404.3 750 416ZM500 416V209H283.2L210.9 134.8Q228.5 125 250 125H500Q535.2 125 559.6 149.4T584 209V500H625Q660.2 500 684.6 524.4T709 584V632.8L492.2 416H500ZM250 416H281.3L250 386.7V416ZM824.2 300.8Q853.5 332 853.5 375V777.3L791 716.8V470.7Q771.5 478.5 750 478.5 707 478.5 676.8 448.2T646.5 375Q646.5 341.8 665 315.4T712.9 277.3L625 189.5 669.9 146.5 824.2 300.8V300.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gas-station-off\"\n      ]\n    },\n    {\n      \"uid\": \"551d5e3cef745c840dcc3ffd9af545bf\",\n      \"css\": \"gas-station-off-outline\",\n      \"code\": 988170,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M41 177.7L95.7 125 875 904.3 822.3 959 738.3 875Q701.2 871.1 675.8 844.7T646.5 783.2L584 718.8V875H166V302.7ZM824.2 300.8Q853.5 332 853.5 375V777.3L791 716.8V470.7Q771.5 478.5 750 478.5 707 478.5 676.8 448.2T646.5 375Q646.5 341.8 665 315.4T712.9 277.3L625 189.5 669.9 146.5 824.2 300.8V300.8ZM492.2 416H500V209H283.2L210.9 134.8Q230.5 125 250 125H500Q535.2 125 559.6 149.4T584 209V500H625Q660.2 500 684.6 524.4T709 584V632.8ZM250 416H281.3L250 386.7V416ZM250 500V791H500V636.7L363.3 500H250ZM750 416Q767.6 416 779.3 404.3T791 375 779.3 345.7 750 334 720.7 345.7 709 375 720.7 404.3 750 416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"gas-station-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f5c49036c9670808c9f1ed30b230bd5c\",\n      \"css\": \"lightning-bolt\",\n      \"code\": 988171,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 625H250L541 41V375H750L459 959V625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightning-bolt\"\n      ]\n    },\n    {\n      \"uid\": \"ddd79531b27bd5145e7538696fb9ceb8\",\n      \"css\": \"lightning-bolt-outline\",\n      \"code\": 988172,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 394.5V459H615.2L541 605.5V541H384.8ZM541 41L250 625H459V959L750 375H541V41Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lightning-bolt-outline\"\n      ]\n    },\n    {\n      \"uid\": \"30f10491c0b486cb47017be5fa9a1fa1\",\n      \"css\": \"smoking-pipe\",\n      \"code\": 988173,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 541Q632.8 541 608.4 565.4T584 625V750H541Q503.9 750 480.5 744.1 449.2 738.3 429.7 718.8L271.5 560.5Q242.2 531.3 204.1 515.6T125 500H84V584H125Q175.8 584 212.9 619.1L371.1 777.3Q429.7 837.9 472.7 867.2T560.5 906.3Q601.6 916 666 916H750Q818.4 916 867.2 867.2T916 750V625Q916 589.8 891.6 565.4T834 541H666ZM584 300.8H521.5Q488.3 296.9 465.8 273.4T444.3 217.8 466.8 164.1 519.5 144.5H521.5V84Q462.9 84 421.9 125T380.9 223.6 421.9 322.3 521.5 363.3H584Q617.2 361.3 641.6 383.8T666 439.5V500H728.5V431.6Q726.6 375 684.6 335.9T585.9 300.8H584ZM834 406.3V500H771.5V404.3Q771.5 335.9 722.7 287.1T603.5 238.3V175.8Q634.8 175.8 658.2 152.3T681.6 97.7Q681.6 89.8 679.7 84H742.2Q748 152.3 701.2 197.3V197.3Q761.7 226.6 797.9 283.2T834 406.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smoking-pipe\"\n      ]\n    },\n    {\n      \"uid\": \"333212a68142ec4e91693a0dcc0dcaff\",\n      \"css\": \"axis-arrow-info\",\n      \"code\": 988174,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84L666 250H541V576.2L814.5 734.4 875 627 937.5 853.5 709 914.1 771.5 806.6 500 648.4 228.5 806.6 291 914.1 62.5 853.5 125 627 185.5 734.4 459 576.2V250H334ZM875 209H791V125H875V209ZM916 416V500H750V416H791V334H750V250H875V416H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"axis-arrow-info\"\n      ]\n    },\n    {\n      \"uid\": \"6ca23d518066ce00c05f44be459371c4\",\n      \"css\": \"chat-plus\",\n      \"code\": 988175,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 584H834V709H959V791H834V916H750V791H625V709H750V584ZM500 125Q613.3 125 709 169.9T860.4 291 916 459Q916 492.2 908.2 529.3 853.5 500 791 500 724.6 500 667 533.2T575.2 624 541 750L544.9 789.1 500 791Q423.8 791 353.5 771.5 310.5 806.6 259.8 830.1 218.8 849.6 171.9 861.3 140.6 869.1 107.4 873L84 875Q146.5 812.5 175.8 753.9 195.3 716.8 197.3 687.5 144.5 642.6 114.3 583T84 459Q84 367.2 139.6 291T291 169.9 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-plus\"\n      ]\n    },\n    {\n      \"uid\": \"184f5e461617e41f0f60273aafa08243\",\n      \"css\": \"chat-minus\",\n      \"code\": 988176,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 709V791H625V709H959ZM500 125Q613.3 125 709 169.9T860.4 291 916 459Q916 492.2 908.2 529.3 853.5 500 791 500 724.6 500 667 533.2T575.2 624 541 750L544.9 789.1 500 791Q423.8 791 353.5 771.5 310.5 806.6 259.8 830.1 218.8 849.6 171.9 861.3 140.6 869.1 107.4 873L84 875Q146.5 812.5 175.8 753.9 195.3 716.8 197.3 687.5 144.5 642.6 114.3 583T84 459Q84 367.2 139.6 291T291 169.9 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-minus\"\n      ]\n    },\n    {\n      \"uid\": \"dfc7e77888aad33d2aa506761a00a31b\",\n      \"css\": \"chat-remove\",\n      \"code\": 988177,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 898.4 644.5 837.9 732.4 750ZM500 125Q613.3 125 709 169.9T860.4 291 916 459Q916 492.2 908.2 529.3 853.5 500 791 500 724.6 500 667 533.2T575.2 624 541 750L544.9 789.1 500 791Q423.8 791 353.5 771.5 310.5 806.6 259.8 830.1 218.8 849.6 171.9 861.3 140.6 869.1 107.4 873L84 875Q146.5 812.5 175.8 753.9 195.3 716.8 197.3 687.5 144.5 642.6 114.3 583T84 459Q84 367.2 139.6 291T291 169.9 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-remove\"\n      ]\n    },\n    {\n      \"uid\": \"132fbb621374a10aa30a0db5978da165\",\n      \"css\": \"chat-plus-outline\",\n      \"code\": 988178,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q613.3 125 709 169.9T860.4 291 916 459Q916 492.2 908.2 529.3 869.1 507.8 828.1 502 834 480.5 834 459 834 390.6 789.1 333T667 242.2 500 209 333 242.2 210.9 333 166 458 210.9 583 333 674.8 500 709L544.9 707 541 750 544.9 789.1 500 791Q425.8 791 353.5 771.5 294.9 818.4 225.6 844.7T84 875Q146.5 810.5 177.7 753.9 197.3 714.8 197.3 687.5 144.5 646.5 114.3 585.9T84 459Q84 367.2 139.6 291T291 169.9 500 125ZM750 584H834V709H959V791H834V916H750V791H625V709H750V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ba309241f2979a160151db2fb6628ca4\",\n      \"css\": \"chat-minus-outline\",\n      \"code\": 988179,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 125Q613.3 125 709 169.9T860.4 291 916 457 861.3 625H748Q789.1 591.8 811.5 548.8T834 459Q834 390.6 789.1 333T667 242.2 500 209 333 242.2 210.9 333 166 458 210.9 583 333 674.8 500 709L541 707V789.1L500 791Q425.8 791 353.5 771.5 294.9 818.4 225.6 844.7T84 875Q146.5 810.5 177.7 753.9 197.3 714.8 197.3 687.5 144.5 646.5 114.3 585.9T84 459Q84 367.2 139.6 291T291 169.9 500 125ZM625 709H959V791H625V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a623c5f6403ef487f2f664d5922ab950\",\n      \"css\": \"chat-remove-outline\",\n      \"code\": 988180,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M644.5 662.1L703.1 601.6 791 691.4 880.9 603.5 939.5 662.1 849.6 750 939.5 837.9 880.9 898.4 791 808.6 703.1 898.4 644.5 837.9 732.4 750ZM500 125Q613.3 125 709 169.9T860.4 291 916 459Q916 492.2 908.2 529.3 869.1 507.8 828.1 502 834 480.5 834 459 834 390.6 789.1 333T667 242.2 500 209 333 242.2 210.9 333 166 458 210.9 583 333 674.8 500 709L544.9 707 541 750 544.9 789.1 500 791Q425.8 791 353.5 771.5 294.9 818.4 225.6 844.7T84 875Q146.5 810.5 177.7 753.9 197.3 714.8 197.3 687.5 144.5 646.5 114.3 585.9T84 459Q84 367.2 139.6 291T291 169.9 500 125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chat-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"545df28eb8d3917540c75e9755e68424\",\n      \"css\": \"bucket\",\n      \"code\": 988181,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H875V291H834L728.5 875H271.5L166 291H125V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bucket\"\n      ]\n    },\n    {\n      \"uid\": \"f3018513ae3e80ce710609809b54fe1a\",\n      \"css\": \"bucket-outline\",\n      \"code\": 988182,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 166H875V291H834L728.5 875H271.5L166 291H125V166ZM748 291H252L339.8 791H660.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"bucket-outline\"\n      ]\n    },\n    {\n      \"uid\": \"25712692472dca76575f7f3b7f1f1bf1\",\n      \"css\": \"pail\",\n      \"code\": 988183,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 318.4Q494.1 308.6 510.7 313.5T536.1 333 540 364.3 521.5 390.6L177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6ZM291 875L242.2 623 550.8 445.3Q576.2 431.6 589.8 407.2T603.5 353.5Q603.5 310.5 573.2 280.3T500 250Q470.7 250 445.3 265.6L199.2 408.2 166 250H125V166H875V250H834L709 875H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail\"\n      ]\n    },\n    {\n      \"uid\": \"71731321e7c6d25df2fd61279e3880bf\",\n      \"css\": \"image-remove\",\n      \"code\": 988184,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H587.9Q584 853.5 584 834 584 791 597.7 750H209L353.5 562.5 459 687.5 603.5 500 697.3 623Q759.8 584 834 584 853.5 584 875 587.9V209Q875 173.8 850.6 149.4T791 125H209ZM685.5 744.1L775.4 834 685.5 921.9 744.1 980.5 834 892.6 921.9 980.5 980.5 921.9 892.6 834 980.5 744.1 921.9 685.5 834 775.4 744.1 685.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-remove\"\n      ]\n    },\n    {\n      \"uid\": \"fa4bc967e8cafdabf845c78853f506c0\",\n      \"css\": \"image-minus\",\n      \"code\": 988185,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H587.9Q584 853.5 584 834 584 791 597.7 750H209L353.5 562.5 459 687.5 603.5 500 697.3 623Q759.8 584 834 584 853.5 584 875 587.9V209Q875 173.8 850.6 149.4T791 125H209ZM666 791V875H1000V791H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"image-minus\"\n      ]\n    },\n    {\n      \"uid\": \"948bfa9f34037de5055a537d6847c830\",\n      \"css\": \"pine-tree-fire\",\n      \"code\": 988186,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 619.1V619.1Q937.5 636.7 945.3 656.3L949.2 664.1Q970.7 716.8 958 772.5T904.3 867.2Q869.1 900.4 818.4 912.1 771.5 923.8 720.7 916 675.8 910.2 635.7 883.8T572.3 818.4Q556.6 791 550.8 763.7 544.9 748 541 718.8 539.1 668 558.6 619.1T615.2 539.1Q597.7 578.1 601.6 621.1T630.9 697.3L636.7 701.2Q644.5 709 655.3 705.1T666 689.5L664.1 679.7Q636.7 607.4 657.2 531.3T736.3 406.3Q773.4 377 810.5 367.2 789.1 410.2 795.9 460T837.9 541Q847.7 552.7 873 572.3 890.6 585.9 898.4 593.8ZM828.1 812.5L826.2 810.5Q841.8 798.8 848.6 780.3T855.5 742.2L853.5 728.5Q849.6 710.9 837.9 695.3 832 685.5 813.5 669.9T785.2 641.6 767.6 611.3Q755.9 638.7 761.7 673.8L765.6 693.4Q773.4 724.6 771.5 742.2 765.6 763.7 749 781.3T705.1 804.7Q722.7 822.3 747.1 830.1T794.9 830.1Q810.5 826.2 828.1 812.5ZM375 875V750H84L291 541H166L375 334H250L459 125 666 334H541L617.2 408.2Q544.9 449.2 502 523.4T459 687.5Q459 794.9 517.6 875H375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pine-tree-fire\"\n      ]\n    },\n    {\n      \"uid\": \"1643634b6160e3ba69606d1bddd498cd\",\n      \"css\": \"cigar-off\",\n      \"code\": 988187,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L753.9 834H750V828.1L709 787.1V834H500V781.3Q519.5 769.5 531.3 750 546.9 720.7 538.1 687.5T500 636.7V584H503.9L46.9 125 99.6 72.3 921.9 894.5ZM603.5 404.3H666Q699.2 402.3 723.6 425.8T750 482.4V541H812.5V472.7Q810.5 416 768.6 377.9T668 341.8H603.5Q572.3 339.8 549.8 315.4T527.3 259.8 549.8 207 601.6 185.5H603.5V125Q546.9 125 505.9 166T464.8 264.6 505.9 363.3 603.5 404.3ZM853.5 445.3V449.2 541H916V449.2Q916 380.9 880.9 324.2T785.2 238.3H783.2Q806.6 216.8 817.4 186.5T824.2 125H763.7V138.7Q763.7 171.9 741.2 194.3T687.5 216.8V279.3Q755.9 279.3 804.7 328.1T853.5 445.3ZM386.7 666Q398.4 648.4 416 636.7V584H209Q156.3 584 120.1 620.1T84 708 121.1 796.9 209 834H416V781.3Q386.7 763.7 377.9 730.5T386.7 666ZM750 617.2L812.5 679.7V584H750V617.2ZM853.5 720.7L916 783.2V584H853.5V720.7ZM459 666Q441.4 666 428.7 678.7T416 708 428.7 737.3 458 750 487.3 737.3 500 708 487.3 678.7 459 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cigar-off\"\n      ]\n    },\n    {\n      \"uid\": \"4742190368108992da4920c92eeb75ea\",\n      \"css\": \"cube-off\",\n      \"code\": 988188,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L720.7 798.8 523.4 908.2Q513.7 916 500 916T476.6 908.2L146.5 724.6Q125 712.9 125 687.5V312.5Q125 287.1 146.5 275.4L179.7 257.8 46.9 125 99.6 72.3 921.9 894.5ZM500 173.8L748 312.5 554.7 421.9 855.5 722.7Q875 710.9 875 687.5V312.5Q875 287.1 853.5 275.4L523.4 91.8Q513.7 84 500 84T476.6 91.8L314.5 181.6 375 242.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube-off\"\n      ]\n    },\n    {\n      \"uid\": \"b1dbe0873a4fafbb29982d5d996f8151\",\n      \"css\": \"cube-off-outline\",\n      \"code\": 988189,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 179.7 257.8 146.5 275.4Q125 287.1 125 312.5V687.5Q125 712.9 146.5 724.6L476.6 908.2Q486.3 916 500 916T523.4 908.2L720.7 798.8 869.1 947.3ZM209 662.1V382.8L429.7 507.8 459 537.1V804.7ZM541 804.7V621.1L658.2 738.3ZM375 242.2L314.5 181.6 476.6 91.8Q486.3 84 500 84T523.4 91.8L853.5 275.4Q875 287.1 875 312.5V687.5Q875 710.9 855.5 722.7L791 658.2V382.8L615.2 482.4 554.7 421.9 748 312.5 500 173.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cube-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"fe760792237c9a29d927f3a20ce4347b\",\n      \"css\": \"dome-light\",\n      \"code\": 988190,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 416Q875 517.6 824.2 604.5T687.5 741.2 500 791 312.5 741.2 175.8 604.5 125 416V377Q125 359.4 137.7 346.7T168 334H834Q849.6 334 862.3 346.7T875 375V416ZM209 416Q209 496.1 248 562.5T354.5 668.9 500 709 645.5 668.9 752 562.5 791 416H209ZM834 250V291H166V250Q166 234.4 178.7 221.7T209 209H416V125H584V209H791Q808.6 209 821.3 221.7T834 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"dome-light\"\n      ]\n    },\n    {\n      \"uid\": \"46e67e1964453974d36e14ca14a2d458\",\n      \"css\": \"food-drumstick\",\n      \"code\": 988191,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M839.8 531.3Q896.5 472.7 911.1 395.5T895.5 244.1 794.9 125Q732.4 84 655.3 83T515.6 123Q460.9 158.2 430.7 210T394.5 320.3Q384.8 408.2 330.1 464.8L328.1 466.8Q293 502 292 550.8T326.2 632.8L367.2 673.8Q400.4 709 449.2 709T531.3 673.8Q589.8 615.2 681.6 605.5T839.8 531.3ZM261.7 828.1Q269.5 845.7 266.6 865.2T248 898.4Q230.5 916 205.1 916T162.1 898.4 142.6 857.4Q119.1 855.5 101.6 837.9T84 794.9 101.6 752Q115.2 736.3 134.8 733.4T171.9 738.3L275.4 638.7H277.3Q289.1 656.3 294.9 662.1L337.9 703.1Q351.6 718.8 365.2 724.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-drumstick\"\n      ]\n    },\n    {\n      \"uid\": \"4904d8fd3aa7bae4109ed9c3c185659b\",\n      \"css\": \"food-drumstick-outline\",\n      \"code\": 988192,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M654.3 166Q709 166 750 193.4 822.3 242.2 834 326.2 835.9 367.2 823.2 405.3T781.3 470.7Q736.3 515.6 673.8 523.4 550.8 535.2 472.7 615.2 462.9 625 449.2 625T425.8 615.2L384.8 574.2Q375 564.5 375 550.8T388.7 523.4Q464.8 445.3 476.6 328.1 480.5 287.1 502 252T560.5 193.4Q601.6 166 654.3 166ZM654.3 84Q578.1 84 515.6 123 460.9 158.2 430.7 210T394.5 320.3Q384.8 408.2 330.1 464.8L328.1 466.8Q293 502 292 550.8T326.2 632.8L367.2 673.8Q400.4 709 449.2 709T531.3 673.8Q589.8 615.2 681.6 605.5T839.8 531.3Q896.5 472.7 911.1 395.5T895.5 244.1 794.9 125Q732.4 84 654.3 84ZM261.7 828.1Q269.5 845.7 266.6 865.2T248 898.4Q230.5 916 205.1 916T162.1 898.4 142.6 857.4Q119.1 855.5 101.6 837.9T84 794.9 101.6 752Q115.2 736.3 134.8 733.4T171.9 738.3L275.4 638.7H277.3Q289.1 656.3 294.9 662.1L337.9 703.1Q351.6 718.8 365.2 724.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-drumstick-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6b16d3c34b91efc20e6bed542b77f5ed\",\n      \"css\": \"incognito-circle\",\n      \"code\": 988193,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM621.1 533.2Q587.9 533.2 562.5 553.7T529.3 607.4Q500 593.8 470.7 605.5 462.9 574.2 437.5 553.7T378.9 533.2Q339.8 533.2 311.5 560.5T283.2 627 311.5 694.3 377.9 722.7 442.4 697.3 472.7 634.8Q500 617.2 527.3 636.7 531.3 671.9 557.6 697.3T622.1 722.7 688.5 694.3 716.8 627 688.5 560.5 621.1 533.2ZM378.9 560.5Q406.3 560.5 425.8 580.1T445.3 627.9 425.8 675.8 377.9 695.3 330.1 675.8 310.5 627.9 330.1 580.1 378.9 560.5ZM621.1 560.5Q650.4 560.5 669.9 580.1T689.5 627.9 669.9 675.8 622.1 695.3 574.2 675.8 554.7 627.9 574.2 580.1 621.1 560.5ZM742.2 478.5H257.8V507.8H742.2V478.5ZM589.8 287.1Q584 277.3 575.2 273.4T556.6 271.5L500 291 443.4 271.5H441.4Q431.6 269.5 422.9 274.4T410.2 289.1L347.7 451.2H652.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"incognito-circle\"\n      ]\n    },\n    {\n      \"uid\": \"d8891a583d35e64130d10e52dadc4aed\",\n      \"css\": \"incognito-circle-off\",\n      \"code\": 988194,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 169.9 248Q84 359.4 84 500 84 613.3 139.6 709T291 860.4 500 916Q640.6 916 752 830.1L869.1 947.3ZM373 451.2H347.7L353.5 433.6ZM257.8 478.5H400.4L427.7 507.8H257.8V478.5ZM621.1 722.7Q584 722.7 557.6 697.3T527.3 636.7Q500 617.2 472.7 634.8 468.8 671.9 442.4 697.3T377.9 722.7 311.5 694.3 283.2 627 311.5 560.5 378.9 533.2Q412.1 533.2 437.5 553.7T470.7 605.5Q498 593.8 527.3 605.5L554.7 632.8Q556.6 658.2 574.2 675.8T615.2 695.3L640.6 718.8Q628.9 722.7 621.1 722.7ZM414.1 281.3L279.3 146.5Q380.9 84 500 84 613.3 84 709 139.6T860.4 291 916 500Q916 619.1 853.5 720.7L640.6 507.8H742.2V478.5H613.3L584 451.2H652.3L589.8 287.1Q584 277.3 575.2 273.4T556.6 271.5L500 291 443.4 271.5H441.4Q425.8 267.6 414.1 281.3ZM445.3 627Q445.3 656.3 425.8 675.8T377.9 695.3 330.1 675.8 310.5 627.9 330.1 580.1 377.9 560.5 425.8 580.1 445.3 627Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"incognito-circle-off\"\n      ]\n    },\n    {\n      \"uid\": \"251d61e6b4d216dbcdca3b5658e45a99\",\n      \"css\": \"microwave-off\",\n      \"code\": 988195,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 136.7 214.8Q111.3 224.6 97.7 245.1T84 291V709Q84 742.2 108.4 766.6T166 791H712.9L869.1 947.3ZM166 709V291H212.9L628.9 709H166ZM666 291V533.2L896.5 763.7Q916 738.3 916 709V291Q916 257.8 891.6 233.4T834 209H341.8L425.8 291H666ZM791 291Q808.6 291 821.3 303.7T834 333 821.3 362.3 792 375 762.7 362.3 750 333 762.7 303.7 791 291ZM791 459Q808.6 459 821.3 470.7T834 500 821.3 529.3 792 541 762.7 529.3 750 500 762.7 470.7 791 459ZM541 408.2V375H625V492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"microwave-off\"\n      ]\n    },\n    {\n      \"uid\": \"abfb15ee76a1822d7e6baa13386ce02d\",\n      \"css\": \"power-plug-off-outline\",\n      \"code\": 988196,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M921.9 894.5L99.6 72.3 46.9 125 259.8 339.8Q250 357.4 250 375V603.5L396.5 750V875H603.5V750L638.7 716.8 869.1 947.3ZM544.9 691.4L527.3 709H472.7L334 570.3V412.1L578.1 658.2ZM507.8 375L425.8 291H584V125H666V291Q697.3 291 723.6 317.4T750 375V603.5L744.1 611.3 666 533.2V378.9Q666 375 664.1 375H507.8ZM416 283.2L334 199.2V125H416V283.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-plug-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1032f03060f441d3a047e77252044370\",\n      \"css\": \"power-plug-outline\",\n      \"code\": 988197,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M666 291V125H584V291H416V125H334V291Q302.7 291 276.4 317.4T250 375V603.5L396.5 750V875H603.5V750L750 603.5V375Q750 343.8 723.6 317.4T666 291ZM666 570.3L544.9 691.4 527.3 709H472.7L334 570.3V378.9 377L337.9 375H664.1Q666 375 666 378.9V570.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"power-plug-outline\"\n      ]\n    },\n    {\n      \"uid\": \"f11f97d419a81ee8c0e5bcc4b20d5ab7\",\n      \"css\": \"puzzle-check\",\n      \"code\": 988198,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM853.5 459Q896.5 459 927.7 489.3T959 562.5Q959 580.1 951.2 599.6 884.8 541 791 541 724.6 541 667 575.2T575.2 667 541 791V814.5Q531.3 781.3 502 761.7T437.5 742.2Q390.6 742.2 357.4 774.4T324.2 853.5V916H166Q132.8 916 108.4 891.6T84 834V675.8H146.5Q193.4 675.8 225.6 642.6T257.8 562.5 225.6 482.4 146.5 449.2H84V291Q84 257.8 108.4 233.4T166 209H334V146.5Q334 103.5 364.3 72.3T437.5 41 510.7 72.3 541 146.5V209H709Q742.2 209 766.6 233.4T791 291V459H853.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-check\"\n      ]\n    },\n    {\n      \"uid\": \"934a6b11716202b8e09e0a5974cf8558\",\n      \"css\": \"puzzle-check-outline\",\n      \"code\": 988199,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M978.5 709L771.5 916 625 771.5 687.5 709 771.5 791 916 646.5ZM916 562.5V574.2Q877 552.7 830.1 544.9 824.2 525.4 807.6 512.7T771.5 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T435.5 709 546.9 742.2L541 791Q541 859.4 574.2 916H550.8V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q845.7 425.8 880.9 466.8T916 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-check-outline\"\n      ]\n    },\n    {\n      \"uid\": \"62549c3af3755914425b65da74017a58\",\n      \"css\": \"smoking-pipe-off\",\n      \"code\": 988200,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L820.3 900.4Q787.1 916 750 916H666Q601.6 916 560.5 906.3 515.6 896.5 472.7 867.2T371.1 777.3L212.9 619.1Q175.8 584 125 584H84V500H125Q166 500 204.1 515.6T271.5 560.5L429.7 718.8Q449.2 738.3 480.5 744.1 503.9 750 541 750H584V662.1L46.9 125 99.6 72.3 921.9 894.5ZM914.1 781.3Q916 763.7 916 750V625Q916 589.8 891.6 565.4T834 541H675.8ZM771.5 404.3V406.3 500H834V406.3Q834 339.8 797.9 283.2T701.2 197.3V197.3Q724.6 173.8 734.4 144.5T742.2 84H679.7Q681.6 89.8 681.6 97.7 681.6 128.9 658.2 152.3T603.5 175.8V238.3Q673.8 238.3 722.7 287.1T771.5 404.3ZM492.2 359.4Q505.9 363.3 521.5 363.3H584Q617.2 361.3 641.6 383.8T666 439.5V500H728.5V431.6Q726.6 375 684.6 335.9T585.9 300.8H521.5Q488.3 296.9 465.8 273.4T444.3 217.8 466.8 164.1 519.5 144.5H521.5V84Q462.9 84 421.9 125T380.9 222.7Q380.9 238.3 384.8 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"smoking-pipe-off\"\n      ]\n    },\n    {\n      \"uid\": \"414f4a39e2684dc91f6944a799bfc44b\",\n      \"css\": \"spoon-sugar\",\n      \"code\": 988201,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 541H125V416H250V541ZM416 416H291V541H416V416ZM334 250H209V375H334V250ZM750 500Q652.3 500 570.3 527.3 525.4 543 464.8 580.1L459 584H84Q84 652.3 132.8 701.2T250 750H291Q355.5 750 400.4 709 505.9 619.1 605.5 597.7 681.6 584 750 584H916V500H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"spoon-sugar\"\n      ]\n    },\n    {\n      \"uid\": \"52b18cf6c8c3c34b5f55dab177ea4cbd\",\n      \"css\": \"table-split-cell\",\n      \"code\": 988202,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 584H875V834H125V584H209V750H791V584ZM125 166V416H209V250H791V416H875V166H125ZM459 459V541H334V625L209 500 334 375V459H459ZM666 459V375L791 500 666 625V541H541V459H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"table-split-cell\"\n      ]\n    },\n    {\n      \"uid\": \"b3e67890870a02ce2c08448ea42aab95\",\n      \"css\": \"ticket-percent-outline\",\n      \"code\": 988203,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M617.2 334L666 382.8 382.8 666 334 617.2ZM166 166H834Q867.2 166 891.6 190.4T916 250V416Q882.8 416 858.4 440.4T834 500 858.4 559.6 916 584V750Q916 785.2 891.6 809.6T834 834H166Q132.8 834 108.4 809.6T84 750V584Q117.2 584 141.6 559.6T166 500 141.6 440.4 84 416V250Q84 214.8 108.4 190.4T166 166ZM166 250V355.5Q205.1 378.9 227.5 417T250 500 227.5 583 166 644.5V750H834V644.5Q794.9 621.1 772.5 583T750 500 772.5 417 834 355.5V250H166ZM396.5 334Q421.9 334 440.4 351.6T459 395.5 440.4 440.4 395.5 459 351.6 440.4 334 395.5 351.6 351.6 396.5 334ZM603.5 541Q630.9 541 648.4 559.6T666 604.5 648.4 648.4 604.5 666 559.6 648.4 541 604.5 559.6 559.6 603.5 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"ticket-percent-outline\"\n      ]\n    },\n    {\n      \"uid\": \"444d568b91ac0aa32cc5fd818f6bb2b5\",\n      \"css\": \"fuse-off\",\n      \"code\": 988204,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 492.2L425.8 291H625V492.2ZM666 250V84Q666 66.4 654.3 53.7T625 41H334Q316.4 41 303.7 53.7T291 84V158.2L382.8 250H666ZM99.6 72.3L46.9 125 334 412.1V709H628.9L869.1 947.3 921.9 894.5ZM291 916Q291 933.6 303.7 946.3T334 959H625Q642.6 959 654.3 946.3T666 916V750H291V916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fuse-off\"\n      ]\n    },\n    {\n      \"uid\": \"232e9368926e44aaa30181fed87a320b\",\n      \"css\": \"fuse-alert\",\n      \"code\": 988205,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M250 291V709H541V291H250ZM380.9 666V537.1H308.6L412.1 334V464.8H482.4ZM584 84V250H209V84Q209 66.4 220.7 53.7T250 41H541Q558.6 41 571.3 53.7T584 84ZM584 750V916Q584 933.6 571.3 946.3T541 959H250Q232.4 959 220.7 946.3T209 916V750H584ZM791 541H709V291H791V541ZM791 709H709V625H791V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fuse-alert\"\n      ]\n    },\n    {\n      \"uid\": \"b52d701b0610c7aa1cf1a244cf4d3691\",\n      \"css\": \"heart-plus\",\n      \"code\": 988206,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q500 810.5 527.3 863.3L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 437.5 859.4 525.4 806.6 500 750 500 681.6 500 624 533.2T533.2 624 500 750ZM791 584H709V709H584V791H709V916H791V791H916V709H791V584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-plus\"\n      ]\n    },\n    {\n      \"uid\": \"f85c12b41b3f70dc0eb165f4e805e88f\",\n      \"css\": \"heart-minus\",\n      \"code\": 988207,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q500 810.5 527.3 863.3L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 437.5 859.4 525.4 806.6 500 750 500 681.6 500 624 533.2T533.2 624 500 750ZM584 709V791H916V709H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-minus\"\n      ]\n    },\n    {\n      \"uid\": \"d72dd868835b0631b9e89e6256d4a557\",\n      \"css\": \"heart-remove\",\n      \"code\": 988208,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 750Q500 810.5 527.3 863.3L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 437.5 859.4 525.4 806.6 500 750 500 681.6 500 624 533.2T533.2 624 500 750ZM898.4 662.1L837.9 603.5 750 691.4 662.1 603.5 603.5 662.1 691.4 750 603.5 837.9 662.1 898.4 750 808.6 837.9 898.4 898.4 837.9 808.6 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-remove\"\n      ]\n    },\n    {\n      \"uid\": \"dae5f5a5cde14de9223bf0501e3febaf\",\n      \"css\": \"heart-plus-outline\",\n      \"code\": 988209,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M527.3 863.3L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 437.5 859.4 525.4 818.4 505.9 775.4 502 834 421.9 834 353.5 834 291 792 250T687.5 209Q638.7 209 596.7 236.3T539.1 306.6H460.9Q445.3 263.7 403.3 236.3T312.5 209Q250 209 208 250T166 353.5Q166 412.1 207 476.6 244.1 533.2 322.3 611.3 371.1 660.2 496.1 773.4L500 777.3 502 775.4Q505.9 822.3 527.3 863.3ZM709 584V709H584V791H709V916H791V791H916V709H791V584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1a54c486bc560637dc5dd645bb9cdf13\",\n      \"css\": \"heart-minus-outline\",\n      \"code\": 988210,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M527.3 863.3L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 437.5 859.4 525.4 818.4 505.9 775.4 502 834 421.9 834 353.5 834 291 792 250T687.5 209Q638.7 209 596.7 236.3T539.1 306.6H460.9Q445.3 263.7 403.3 236.3T312.5 209Q250 209 208 250T166 353.5Q166 412.1 207 476.6 244.1 533.2 322.3 611.3 371.1 660.2 496.1 773.4L500 777.3 502 775.4Q505.9 822.3 527.3 863.3ZM584 709V791H916V709H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"91041f51425bb12adf813bde1d9788b3\",\n      \"css\": \"heart-remove-outline\",\n      \"code\": 988211,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M527.3 863.3L500 888.7 439.5 834Q304.7 712.9 252 658.2 168 572.3 128.9 505.9 84 429.7 84 353.5 84 291 114.3 238.3T197.3 155.3 312.5 125Q367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 437.5 859.4 525.4 818.4 505.9 775.4 502 834 421.9 834 353.5 834 291 792 250T687.5 209Q638.7 209 596.7 236.3T539.1 306.6H460.9Q445.3 263.7 403.3 236.3T312.5 209Q250 209 208 250T166 353.5Q166 412.1 207 476.6 244.1 533.2 322.3 611.3 371.1 660.2 496.1 773.4L500 777.3 502 775.4Q505.9 822.3 527.3 863.3ZM837.9 601.6L750 691.4 662.1 603.5 603.5 662.1 691.4 750 603.5 837.9 662.1 898.4 750 808.6 837.9 898.4 898.4 837.9 808.6 750 898.4 662.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b3480fa98a01eea26f72ddd0827708e9\",\n      \"css\": \"heart-off-outline\",\n      \"code\": 988212,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M99.6 72.3L46.9 125 132.8 210.9Q84 273.4 84 353.5 84 429.7 128.9 505.9 168 572.3 252 658.2 304.7 712.9 439.5 834L500 888.7 662.1 742.2 834 916 886.7 863.3ZM503.9 773.4L500 777.3 496.1 773.4Q371.1 660.2 322.3 611.3 244.1 533.2 207 476.6 166 412.1 166 353.5 166 306.6 191.4 271.5L603.5 681.6ZM345.7 212.9L263.7 130.9Q289.1 125 312.5 125 367.2 125 416 148.4T500 210.9Q535.2 171.9 584 148.4T687.5 125Q750 125 802.7 155.3T885.7 238.3 916 353.5Q916 423.8 877 494.1 843.8 558.6 769.5 636.7L710.9 578.1Q771.5 511.7 800.8 460.9 834 404.3 834 353.5 834 291 792 250T687.5 209Q644.5 209 605.5 231.4T546.9 291H453.1Q437.5 261.7 409.2 241.2T345.7 212.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"heart-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"71aa4cfccb9c7840828474d3b5e0fdad\",\n      \"css\": \"motion-sensor-off\",\n      \"code\": 988213,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M474.6 341.8H625V416H550.8ZM820.3 41H763.7Q763.7 123 820.3 179.7T959 236.3V179.7Q900.4 179.7 860.4 139.6T820.3 41ZM875 41Q875 76.2 899.4 100.6T959 125V41H875ZM709 41H652.3Q652.3 125 693.4 195.3T804.7 306.6 959 347.7V291Q890.6 291 833 257.8T742.2 167 709 41ZM416 158.2Q447.3 158.2 469.7 136.7T492.2 84 469.7 30.3 416 7.8 363.3 30.3 341.8 84 363.3 136.7 416 158.2ZM99.6 72.3L46.9 125 144.5 222.7 84 242.2V459H158.2V304.7L210.9 289.1 236.3 314.5 84 916H158.2L277.3 578.1 375 709V916H449.2V650.4L345.7 460.9 353.5 431.6 869.1 947.3 921.9 894.5ZM390.6 203.1Q380.9 187.5 365.2 177.7T330.1 168Q320.3 168 308.6 171.9H306.6L472.7 339.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"motion-sensor-off\"\n      ]\n    },\n    {\n      \"uid\": \"5f2ac5519a6d076881d8085434f658c5\",\n      \"css\": \"pail-plus\",\n      \"code\": 988214,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 390.6L177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6L478.5 318.4Q494.1 308.6 510.7 313.5T536.1 333 540 364.3 521.5 390.6ZM541 791Q541 726.6 572.3 670.9T657.2 581.1 775.4 541L834 250H875V166H125V250H166L199.2 408.2 445.3 265.6Q470.7 250 500 250 543 250 573.2 280.3T603.5 353.5Q603.5 382.8 589.8 407.2T550.8 445.3L242.2 623 291 875H556.6Q541 834 541 791ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-plus\"\n      ]\n    },\n    {\n      \"uid\": \"00a81935a948f71ee26cfd4767842fd8\",\n      \"css\": \"pail-minus\",\n      \"code\": 988215,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 390.6L177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6L478.5 318.4Q494.1 308.6 510.7 313.5T536.1 333 540 364.3 521.5 390.6ZM541 791Q541 726.6 572.3 670.9T657.2 581.1 775.4 541L834 250H875V166H125V250H166L199.2 408.2 445.3 265.6Q470.7 250 500 250 543 250 573.2 280.3T603.5 353.5Q603.5 382.8 589.8 407.2T550.8 445.3L242.2 623 291 875H556.6Q541 834 541 791ZM625 750V834H959V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-minus\"\n      ]\n    },\n    {\n      \"uid\": \"65063213f31568a3c05ee96ac6f8241a\",\n      \"css\": \"pail-remove\",\n      \"code\": 988216,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M521.5 390.6L177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6L478.5 318.4Q494.1 308.6 510.7 313.5T536.1 333 540 364.3 521.5 390.6ZM541 791Q541 726.6 572.3 670.9T657.2 581.1 775.4 541L834 250H875V166H125V250H166L199.2 408.2 445.3 265.6Q470.7 250 500 250 543 250 573.2 280.3T603.5 353.5Q603.5 382.8 589.8 407.2T550.8 445.3L242.2 623 291 875H556.6Q541 834 541 791ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-remove\"\n      ]\n    },\n    {\n      \"uid\": \"b9e6c2a4c33a543f36aa14877996b4fc\",\n      \"css\": \"pail-off\",\n      \"code\": 988217,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L722.7 800.8 709 875H291L242.2 623 433.6 511.7 388.7 466.8 177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6L326.2 406.3 281.3 359.4 199.2 408.2 166 250H125V203.1L46.9 125 99.6 72.3 921.9 894.5ZM445.3 265.6Q470.7 250 500 250 543 250 573.2 280.3T603.5 353.5Q603.5 402.3 566.4 433.6L757.8 625 834 250H875V166H300.8L416 283.2ZM478.5 318.4L460.9 328.1 521.5 388.7Q535.2 380.9 540 364.3T536.1 333 510.7 313.5 478.5 318.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-off\"\n      ]\n    },\n    {\n      \"uid\": \"eea033a0df72891841334e7134c17e8d\",\n      \"css\": \"pail-outline\",\n      \"code\": 988218,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 318.4Q494.1 308.6 510.7 313.5T536.1 333 540 364.3 521.5 390.6L177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6ZM125 166V250H166L193.4 386.7 271.5 341.8 252 250H748L640.6 791H359.4L322.3 601.6 246.1 646.5 291 875H709L834 250H875V166H125Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e72fcaa5935497df6abec8fdf4a9c09f\",\n      \"css\": \"pail-plus-outline\",\n      \"code\": 988219,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H125V166H875V250H834L775.4 541Q726.6 546.9 685.5 566.4L748 250H252L271.5 341.8 193.4 386.7ZM535.2 334Q527.3 318.4 510.7 313.5T478.5 318.4L136.7 515.6Q121.1 525.4 116.2 542T120.1 573.2 145.5 591.8 177.7 587.9L521.5 390.6Q535.2 380.9 540 364.3T535.2 334ZM541 791H359.4L322.3 601.6 246.1 646.5 291 875H556.6Q541 834 541 791ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f29c16e2325515d9653e46c641f5082\",\n      \"css\": \"pail-minus-outline\",\n      \"code\": 988220,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H125V166H875V250H834L775.4 541Q726.6 546.9 685.5 566.4L748 250H252L271.5 341.8 193.4 386.7ZM535.2 334Q527.3 318.4 510.7 313.5T478.5 318.4L136.7 515.6Q121.1 525.4 116.2 542T120.1 573.2 145.5 591.8 177.7 587.9L521.5 390.6Q535.2 380.9 540 364.3T535.2 334ZM541 791H359.4L322.3 601.6 246.1 646.5 291 875H556.6Q541 834 541 791ZM625 750V834H959V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"da0f2bea6178e32eb44d91cf2b034142\",\n      \"css\": \"pail-remove-outline\",\n      \"code\": 988221,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250H125V166H875V250H834L775.4 541Q726.6 546.9 685.5 566.4L748 250H252L271.5 341.8 193.4 386.7ZM535.2 334Q527.3 318.4 510.7 313.5T478.5 318.4L136.7 515.6Q121.1 525.4 116.2 542T120.1 573.2 145.5 591.8 177.7 587.9L521.5 390.6Q535.2 380.9 540 364.3T535.2 334ZM541 791H359.4L322.3 601.6 246.1 646.5 291 875H556.6Q541 834 541 791ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9b2d77d5d9478d8f2edb24236789ac9c\",\n      \"css\": \"pail-off-outline\",\n      \"code\": 988222,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M869.1 947.3L722.7 800.8 709 875H291L246.1 646.5 322.3 601.6 359.4 791H640.6L652.3 730.5 388.7 466.8 177.7 587.9Q162.1 595.7 145.5 591.8T120.1 573.2 116.2 542 136.7 515.6L326.2 406.3 265.6 343.8 193.4 386.7 166 250H125V203.1L46.9 125 99.6 72.3 921.9 894.5ZM748 250L687.5 554.7 757.8 625 834 250H875V166H300.8L382.8 250H748ZM478.5 318.4L460.9 328.1 521.5 388.7Q535.2 380.9 540 364.3T536.1 333 510.7 313.5 478.5 318.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"pail-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"dc4cfe9f0a2dcabf3daec51eb7fe2d1f\",\n      \"css\": \"clock-time-one\",\n      \"code\": 988223,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM511.7 541H459V291H521.5V404.3L584 294.9 636.7 330.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-one\"\n      ]\n    },\n    {\n      \"uid\": \"eb47daf0c3e69c207081464f8a66adbb\",\n      \"css\": \"clock-time-two\",\n      \"code\": 988224,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 541H459V291H521.5V470.7L675.8 382.8 709 437.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-two\"\n      ]\n    },\n    {\n      \"uid\": \"29eb4dabd91f9fb0c19346a81065f0f5\",\n      \"css\": \"clock-time-three\",\n      \"code\": 988225,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM709 541H459V291H521.5V478.5H709V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-three\"\n      ]\n    },\n    {\n      \"uid\": \"220068fe90d6650c3fb1cdae9e554ba4\",\n      \"css\": \"clock-time-four\",\n      \"code\": 988226,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM679.7 632.8L459 511.7V291H521.5V474.6L709 580.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-four\"\n      ]\n    },\n    {\n      \"uid\": \"4cc6e926a31b3add1826d9dcef9a5e36\",\n      \"css\": \"clock-time-five\",\n      \"code\": 988227,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM584 709L459 492.2V291H521.5V474.6L636.7 679.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-five\"\n      ]\n    },\n    {\n      \"uid\": \"da829a14aea17615f4225c723b35ace5\",\n      \"css\": \"clock-time-six\",\n      \"code\": 988228,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 709H459V291H521.5V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-six\"\n      ]\n    },\n    {\n      \"uid\": \"ac63b480ff8b4ed6886251c4cf6b58f4\",\n      \"css\": \"clock-time-seven\",\n      \"code\": 988229,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 507.8L408.2 709 353.5 675.8 459 492.2V291H521.5V507.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-seven\"\n      ]\n    },\n    {\n      \"uid\": \"017112da3523f11841934095e9d97475\",\n      \"css\": \"clock-time-eight\",\n      \"code\": 988230,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM320.3 646.5L291 591.8 459 496.1V291H521.5V533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-eight\"\n      ]\n    },\n    {\n      \"uid\": \"3fbb9e062c5e728b7d3c9d1afe2cfe58\",\n      \"css\": \"clock-time-nine\",\n      \"code\": 988231,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 541H291V478.5H459V291H521.5V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-nine\"\n      ]\n    },\n    {\n      \"uid\": \"8b73c6453919aabcc7bebb8453bb87df\",\n      \"css\": \"clock-time-ten\",\n      \"code\": 988232,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 541H459L291 445.3 324.2 392.6 462.9 470.7V291H525.4V541H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-ten\"\n      ]\n    },\n    {\n      \"uid\": \"50b102c171b83dc58f001dceb93112a4\",\n      \"css\": \"clock-time-eleven\",\n      \"code\": 988233,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 541H459L353.5 357.4 408.2 324.2 459 416V291H521.5V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-eleven\"\n      ]\n    },\n    {\n      \"uid\": \"1c0dbe5930d422d3bb038992a44887c6\",\n      \"css\": \"clock-time-twelve\",\n      \"code\": 988234,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q386.7 84 291 139.6T139.6 291 84 500 139.6 709 291 860.4 500 916 709 860.4 860.4 709 916 500 860.4 291 709 139.6 500 84ZM521.5 541H459V291H521.5V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-twelve\"\n      ]\n    },\n    {\n      \"uid\": \"4623b97a0802ec2588dd515ee6eb2aa8\",\n      \"css\": \"clock-time-one-outline\",\n      \"code\": 988235,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM636.7 324.2L511.7 541H459V291H521.5V402.3L584 293Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-one-outline\"\n      ]\n    },\n    {\n      \"uid\": \"020d836ab4b38d9da7bdf312d6c800d6\",\n      \"css\": \"clock-time-two-outline\",\n      \"code\": 988236,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 541V541H459V291H521.5V468.8L675.8 380.9 707 435.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-two-outline\"\n      ]\n    },\n    {\n      \"uid\": \"9d430e9bcff8cb9cdf41579d864cdcd0\",\n      \"css\": \"clock-time-three-outline\",\n      \"code\": 988237,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM709 478.5V541H459V291H521.5V478.5H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-three-outline\"\n      ]\n    },\n    {\n      \"uid\": \"be2bb01034de0e2a64500d4e3403eb8a\",\n      \"css\": \"clock-time-four-outline\",\n      \"code\": 988238,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM709 580.1L679.7 632.8 459 511.7V291H521.5V474.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-four-outline\"\n      ]\n    },\n    {\n      \"uid\": \"b6bee726a283886250c04f86b84b362c\",\n      \"css\": \"clock-time-five-outline\",\n      \"code\": 988239,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM636.7 675.8L584 709 459 492.2V291H521.5V474.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-five-outline\"\n      ]\n    },\n    {\n      \"uid\": \"47595add9776f3f771ec509114f92c91\",\n      \"css\": \"clock-time-six-outline\",\n      \"code\": 988240,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 291V709H459V291H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-six-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3838a61ffa258269ea715da8f6d63c33\",\n      \"css\": \"clock-time-seven-outline\",\n      \"code\": 988241,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 291V507.8L408.2 709 353.5 675.8 459 492.2V291H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-seven-outline\"\n      ]\n    },\n    {\n      \"uid\": \"bacbfeced651112483ae4c570e787e35\",\n      \"css\": \"clock-time-eight-outline\",\n      \"code\": 988242,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 533.2L320.3 650.4 291 591.8 459 496.1V291H521.5V533.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-eight-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3c962dbb4d6f93594bbf681d05aa0282\",\n      \"css\": \"clock-time-nine-outline\",\n      \"code\": 988243,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 291V541H291V478.5H459V291H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-nine-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d628374414b9838e144bd9b2b7e7dbf6\",\n      \"css\": \"clock-time-ten-outline\",\n      \"code\": 988244,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 541H459L291 445.3 324.2 392.6 462.9 470.7V291H525.4V541H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-ten-outline\"\n      ]\n    },\n    {\n      \"uid\": \"834f530d03c70ea7ca994a08ae0216a9\",\n      \"css\": \"clock-time-eleven-outline\",\n      \"code\": 988245,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 291V541H459L353.5 357.4 408.2 324.2 459 416V291H521.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-eleven-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c517f4aaae229750829ea778488140c5\",\n      \"css\": \"clock-time-twelve-outline\",\n      \"code\": 988246,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 834Q589.8 834 667 789.1T789.1 667 834 500 789.1 333 667 210.9 500 166 333 210.9 210.9 333 166 500 210.9 667 333 789.1 500 834ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM521.5 543H459V291H521.5V543Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"clock-time-twelve-outline\"\n      ]\n    },\n    {\n      \"uid\": \"d22e720306c599686ab61d8a046eeafe\",\n      \"css\": \"printer-search\",\n      \"code\": 988247,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M845.7 787.1Q875 736.3 875 687.5 875 609.4 820.3 554.7T687.5 500 554.7 554.7 500 687.5 554.7 820.3 687.5 875Q746.1 875 787.1 845.7L916 974.6 974.6 916ZM687.5 791Q644.5 791 614.3 760.7T584 687.5 614.3 614.3 687.5 584 760.7 614.3 791 687.5 760.7 760.7 687.5 791ZM750 291H250V125H750V291ZM250 875V709H84V459Q84 404.3 119.1 369.1T209 334H791Q845.7 334 880.9 369.1T916 459V541Q878.9 484.4 818.4 450.2T687.5 416Q605.5 416 537.1 462.9T437.5 584H334V791H437.5Q453.1 830.1 492.2 875H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-search\"\n      ]\n    },\n    {\n      \"uid\": \"d36dbbbaa2296a474e27a51b035ee57f\",\n      \"css\": \"printer-eye\",\n      \"code\": 988248,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M408.2 875Q406.3 871.1 400.4 861.3 386.7 835.9 382.8 820.3L367.2 791H334V584H541Q625 541 709 541 824.2 541 916 607.4V459Q916 404.3 880.9 369.1T791 334H209Q154.3 334 119.1 369.1T84 459V709H250V875H408.2ZM791 416Q810.5 416 822.3 427.7T834 458 822.3 488.3 792 500 761.7 488.3 750 458 761.7 427.7 791 416ZM750 291H250V125H750V291ZM709 750Q726.6 750 738.3 761.7T750 792 738.3 822.3 708 834 677.7 822.3 666 792 677.7 761.7 709 750ZM709 625Q625 625 555.7 671.9T459 791Q486.3 865.2 555.7 912.1T708 959 860.4 912.1 959 791Q929.7 718.8 860.4 671.9T709 625ZM709 896.5Q664.1 896.5 633.8 866.2T603.5 792 633.8 717.8 708 687.5 782.2 717.8 812.5 792 782.2 866.2 709 896.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"printer-eye\"\n      ]\n    },\n    {\n      \"uid\": \"c067bdf29493fec9afd51a76fc8f34fc\",\n      \"css\": \"minus-circle-off\",\n      \"code\": 988249,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 169.9 250Q128.9 300.8 106.4 365.2T84 500Q84 613.3 139.6 709T291 860.4 500 916Q570.3 916 634.8 893.6T750 830.1L867.2 945.3ZM291 541V459H378.9L462.9 541H291ZM591.8 459L279.3 146.5Q390.6 84 502 84T709 139.6 860.4 291 916 498 853.5 720.7L675.8 541H709V459H591.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-circle-off\"\n      ]\n    },\n    {\n      \"uid\": \"e7525dee034095a99700fa6af25fa4aa\",\n      \"css\": \"minus-circle-off-outline\",\n      \"code\": 988250,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 169.9 250Q128.9 300.8 106.4 365.2T84 500Q84 613.3 139.6 709T291 860.4 500 916Q570.3 916 634.8 893.6T750 830.1L867.2 945.3ZM500 834Q410.2 834 333 789.1T210.9 667 166 500Q166 398.4 228.5 308.6L378.9 459H291V541H462.9L691.4 771.5Q601.6 834 500 834ZM341.8 209L279.3 146.5Q390.6 84 502 84T709 139.6 860.4 291 916 498 853.5 720.7L791 658.2Q834 582 834 500 834 410.2 789.1 333T667 210.9 500 166Q418 166 341.8 209ZM675.8 541L591.8 459H709V541H675.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"minus-circle-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7f7dca3680ef859bb0487c90e8554ffd\",\n      \"css\": \"content-save-cog\",\n      \"code\": 988251,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 488.3V291L709 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H488.3Q468.8 830.1 462.9 783.2 423.8 771.5 399.4 739.3T375 666Q375 613.3 411.1 577.1T500 541Q511.7 541 537.1 550.8 578.1 505.9 632.8 482.4T750 459Q822.3 459 875 488.3ZM625 375H209V209H625V375ZM949.2 804.7L904.3 771.5V728.5L949.2 695.3Q955.1 691.4 955.1 683.6L912.1 613.3Q908.2 607.4 900.4 607.4L845.7 625Q834 617.2 808.6 603.5L800.8 550.8Q800.8 546.9 797.9 543.9T791 541H709Q705.1 541 695.3 550.8L687.5 603.5Q668 611.3 654.3 625L603.5 603.5Q595.7 603.5 591.8 607.4L550.8 679.7Q544.9 683.6 554.7 691.4L599.6 724.6V767.6L554.7 800.8Q550.8 804.7 550.8 812.5L591.8 882.8Q595.7 886.7 603.5 886.7L654.3 867.2 687.5 886.7 695.3 941.4Q695.3 949.2 709 949.2H791Q794.9 949.2 797.9 947.3T800.8 941.4L808.6 886.7Q826.2 880.9 841.8 867.2L892.6 886.7Q904.3 886.7 904.3 882.8L945.3 812.5Q951.2 812.5 952.1 809.6T949.2 804.7ZM750 812.5Q724.6 812.5 706.1 793.9T687.5 750 706.1 706.1 750 687.5 793.9 706.1 812.5 750 793.9 793.9 750 812.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-cog\"\n      ]\n    },\n    {\n      \"uid\": \"5267c8cc522b301e776cc2ef54821c57\",\n      \"css\": \"content-save-cog-outline\",\n      \"code\": 988252,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M462.9 791Q468.8 837.9 488.3 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125H709L875 291V488.3Q837.9 468.8 791 462.9V324.2L675.8 209H209V791H462.9ZM500 500Q447.3 500 411.1 536.1T375 625Q375 666 397.5 697.3T459 742.2Q460.9 673.8 490.2 616.2T570.3 521.5Q535.2 500 500 500ZM625 416V250H250V416H625ZM949.2 816.4L908.2 886.7Q904.3 892.6 896.5 892.6L845.7 875 812.5 896.5 804.7 949.2Q804.7 953.1 801.8 956.1T794.9 959H712.9Q709 959 699.2 949.2L691.4 896.5Q673.8 888.7 658.2 875L607.4 896.5Q599.6 896.5 595.7 892.6L554.7 820.3Q550.8 816.4 558.6 808.6L603.5 775.4V732.4L558.6 699.2Q554.7 695.3 554.7 687.5L595.7 617.2Q599.6 613.3 607.4 613.3L658.2 632.8 691.4 613.3 699.2 558.6Q699.2 550.8 712.9 550.8H794.9Q798.8 550.8 801.8 552.7T804.7 558.6L812.5 613.3Q824.2 617.2 849.6 632.8L900.4 613.3Q912.1 613.3 912.1 617.2L955.1 687.5Q959 691.4 949.2 699.2L904.3 732.4V775.4L949.2 808.6Q953.1 808.6 953.1 811.5T949.2 816.4ZM812.5 750Q812.5 724.6 793.9 706.1T750 687.5 706.1 706.1 687.5 750 706.1 793.9 750 812.5 793.9 793.9 812.5 750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"content-save-cog-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4dc6e9f4f355896ca6232b4dd002da99\",\n      \"css\": \"set-square\",\n      \"code\": 988253,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M738.3 738.3L691.4 783.2 662.1 750 709 709 625 625 584 669.9 554.7 642.6 599.6 595.7 521.5 517.6 474.6 562.5 445.3 533.2 492.2 488.3 408.2 408.2 363.3 455.1 334 425.8 375 375 294.9 294.9 250 337.9 220.7 308.6 267.6 261.7 166 166V834H834ZM291 709V466.8L533.2 709H291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-square\"\n      ]\n    },\n    {\n      \"uid\": \"5a7805c6f8343ada2cbc5786e724398c\",\n      \"css\": \"cog-refresh\",\n      \"code\": 988254,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q822.3 603.5 867.2 654.3L916 603.5V771.5H750L824.2 695.3Q789.1 666 750 666 707 666 676.8 696.3T646.5 770.5 676.8 844.7 750 875Q798.8 875 834 834H904.3Q884.8 880.9 843.8 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM478.5 771.5Q478.5 710.9 507.8 646.5H500Q441.4 646.5 397.5 602.5T353.5 500 397.5 397.5 500 353.5 602.5 397.5 646.5 500Q646.5 517.6 642.6 521.5 697.3 500 750 500 771.5 500 812.5 507.8V500Q812.5 470.7 808.6 459L896.5 392.6Q906.3 380.9 900.4 367.2L816.4 220.7Q814.5 212.9 808.6 210.9T791 209L687.5 250Q666 232.4 617.2 209L599.6 95.7Q603.5 93.8 596.7 88.9T584 84H416Q410.2 84 403.3 88.9T396.5 99.6L378.9 212.9Q363.3 216.8 335.9 234.4L308.6 250 209 209Q197.3 209 191.4 210.9T179.7 220.7L95.7 367.2Q89.8 377 103.5 392.6L191.4 459Q191.4 464.8 189.5 479.5T187.5 500Q187.5 529.3 191.4 541L103.5 613.3Q93.8 623 99.6 636.7L183.6 783.2Q185.5 789.1 191.4 790T209 791L312.5 750Q334 767.6 382.8 791L400.4 904.3Q400.4 910.2 406.3 915T419.9 919.9H525.4Q478.5 849.6 478.5 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"50db1a3d4c5d4b242beba0e3a88813db\",\n      \"css\": \"cog-refresh-outline\",\n      \"code\": 988255,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M750 603.5Q822.3 603.5 867.2 654.3L916 603.5V771.5H750L824.2 695.3Q789.1 666 750 666 707 666 676.8 696.3T646.5 770.5 676.8 844.7 750 875Q798.8 875 834 834H904.3Q884.8 880.9 843.8 909.2T750 937.5Q681.6 937.5 632.8 888.7T584 770.5 632.8 652.3 750 603.5ZM488.3 834H470.7L455.1 724.6Q384.8 712.9 330.1 650.4L228.5 691.4 195.3 636.7 283.2 570.3Q257.8 496.1 283.2 419.9L195.3 363.3 228.5 308.6 330.1 349.6Q378.9 293 455.1 275.4L466.8 166H529.3L544.9 275.4Q582 281.3 615.2 301.8T669.9 349.6L771.5 308.6 804.7 363.3 716.8 425.8Q728.5 462.9 728.5 500H750Q771.5 500 812.5 507.8V500L808.6 459 896.5 392.6Q906.3 380.9 900.4 367.2L816.4 220.7Q814.5 212.9 808.6 210.9T791 209L687.5 250Q666 232.4 617.2 209L599.6 95.7Q603.5 93.8 596.7 88.9T584 84H416Q410.2 84 403.3 88.9T396.5 99.6L378.9 212.9Q363.3 216.8 335.9 234.4L308.6 250 209 209Q197.3 209 191.4 210.9T179.7 220.7L95.7 367.2Q89.8 377 103.5 392.6L191.4 459 187.5 500 191.4 541 103.5 613.3Q93.8 623 99.6 636.7L183.6 783.2Q185.5 789.1 191.4 790T209 791L312.5 750Q334 767.6 382.8 791L400.4 904.3Q400.4 910.2 406.3 915T419.9 919.9H525.4Q503.9 892.6 488.3 834V834ZM666 511.7V500Q666 431.6 617.2 382.8T500 334 382.8 382.8 334 500 382.8 617.2 500 666Q521.5 613.3 566.4 572.3T666 511.7ZM416 500Q416 464.8 440.4 440.4T500 416 559.6 440.4 584 500 559.6 559.6 500 584 440.4 559.6 416 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-refresh-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1e2f2230629066776c22e60983a35737\",\n      \"css\": \"cog-sync\",\n      \"code\": 988256,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M478.5 771.5Q478.5 710.9 507.8 646.5H500Q441.4 646.5 397.5 602.5T353.5 500 397.5 397.5 500 353.5 602.5 397.5 646.5 500Q646.5 517.6 642.6 521.5 697.3 500 750 500 771.5 500 812.5 507.8V500Q812.5 470.7 808.6 459L896.5 392.6Q906.3 380.9 900.4 367.2L816.4 220.7Q814.5 212.9 808.6 210.9T791 209L687.5 250Q666 232.4 617.2 209L599.6 95.7Q603.5 93.8 596.7 88.9T584 84H416Q410.2 84 403.3 88.9T396.5 99.6L378.9 212.9Q363.3 216.8 335.9 234.4L308.6 250 209 209Q197.3 209 191.4 210.9T179.7 220.7L95.7 367.2Q89.8 377 103.5 392.6L191.4 459Q191.4 464.8 189.5 479.5T187.5 500Q187.5 529.3 191.4 541L103.5 613.3Q93.8 623 99.6 636.7L183.6 783.2Q185.5 789.1 191.4 790T209 791L312.5 750Q334 767.6 382.8 791L400.4 904.3Q400.4 910.2 406.3 915T419.9 919.9H525.4Q478.5 849.6 478.5 771.5ZM750 603.5V541L658.2 632.8 750 724.6V666Q793 666 823.2 696.3T853.5 771.5Q853.5 798.8 841.8 816.4L886.7 863.3Q925.8 806.6 912.1 738.3T841.8 632.8Q806.6 603.5 750 603.5ZM750 875Q707 875 676.8 844.7T646.5 771.5Q646.5 744.1 658.2 724.6L613.3 679.7Q574.2 736.3 587.9 803.7T658.2 908.2Q709 937.5 750 937.5V1000L841.8 908.2 750 812.5V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-sync\"\n      ]\n    },\n    {\n      \"uid\": \"01fd788221f5f40e04bb34acf9f903be\",\n      \"css\": \"cog-sync-outline\",\n      \"code\": 988257,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M488.3 834H470.7L455.1 724.6Q384.8 712.9 330.1 650.4L228.5 691.4 195.3 636.7 283.2 570.3Q257.8 496.1 283.2 419.9L195.3 363.3 228.5 308.6 330.1 349.6Q378.9 293 455.1 275.4L466.8 166H529.3L544.9 275.4Q582 281.3 615.2 301.8T669.9 349.6L771.5 308.6 804.7 363.3 716.8 425.8Q728.5 462.9 728.5 500H750Q771.5 500 812.5 507.8V500L808.6 459 896.5 392.6Q906.3 380.9 900.4 367.2L816.4 220.7Q814.5 212.9 808.6 210.9T791 209L687.5 250Q666 232.4 617.2 209L599.6 95.7Q603.5 93.8 596.7 88.9T584 84H416Q410.2 84 403.3 88.9T396.5 99.6L378.9 212.9Q363.3 216.8 335.9 234.4L308.6 250 209 209Q197.3 209 191.4 210.9T179.7 220.7L95.7 367.2Q89.8 377 103.5 392.6L191.4 459 187.5 500 191.4 541 103.5 613.3Q93.8 623 99.6 636.7L183.6 783.2Q185.5 789.1 191.4 790T209 791L312.5 750Q334 767.6 382.8 791L400.4 904.3Q400.4 910.2 406.3 915T419.9 919.9H525.4Q503.9 892.6 488.3 834V834ZM666 511.7V500Q666 431.6 617.2 382.8T500 334 382.8 382.8 334 500 382.8 617.2 500 666Q521.5 613.3 566.4 572.3T666 511.7ZM416 500Q416 464.8 440.4 440.4T500 416 559.6 440.4 584 500 559.6 559.6 500 584 440.4 559.6 416 500ZM750 603.5V541L658.2 632.8 750 724.6V666Q793 666 823.2 696.3T853.5 771.5Q853.5 798.8 841.8 816.4L886.7 863.3Q925.8 806.6 912.1 738.3T841.8 632.8Q806.6 603.5 750 603.5ZM750 875Q707 875 676.8 844.7T646.5 771.5Q646.5 744.1 658.2 724.6L613.3 679.7Q574.2 736.3 587.9 803.7T658.2 908.2Q709 937.5 750 937.5V1000L841.8 908.2 750 812.5V875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cog-sync-outline\"\n      ]\n    },\n    {\n      \"uid\": \"05936c342078781355c2b1204e005d32\",\n      \"css\": \"download-box\",\n      \"code\": 988258,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM334 709H666V625H334V709ZM666 416H562.5V291H437.5V416H334L500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-box\"\n      ]\n    },\n    {\n      \"uid\": \"71bdf88d3827d7de2fde80a2bd7898e4\",\n      \"css\": \"download-box-outline\",\n      \"code\": 988259,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 709V625H666V709H334ZM666 416L500 584 334 416H437.5V291H562.5V416H666ZM209 125H791Q826.2 125 850.6 149.4T875 209V791Q875 826.2 850.6 850.6T791 875H209Q173.8 875 149.4 850.6T125 791V209Q125 173.8 149.4 149.4T209 125ZM209 209V791H791V209H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5851b8f85a3a50d669cdb11bfbaa99d1\",\n      \"css\": \"download-circle\",\n      \"code\": 988260,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM334 709H666V625H334V709ZM666 416H562.5V250H437.5V416H334L500 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-circle\"\n      ]\n    },\n    {\n      \"uid\": \"5444d74005b67251a8b085ea717524be\",\n      \"css\": \"download-circle-outline\",\n      \"code\": 988261,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 709V625H666V709H334ZM666 416L500 584 334 416H437.5V250H562.5V416H666ZM500 84Q613.3 84 709 139.6T860.4 291 916 500 860.4 709 709 860.4 500 916 291 860.4 139.6 709 84 500 139.6 291 291 139.6 500 84ZM500 166Q410.2 166 333 210.9T210.9 333 166 500 210.9 667 333 789.1 500 834 667 789.1 789.1 667 834 500 789.1 333 667 210.9 500 166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"download-circle-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7d727b9ef7996290afed390d9abf5021\",\n      \"css\": \"air-humidifier-off\",\n      \"code\": 988262,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 158.2 238.3Q125 277.3 125 334V916H750V830.1L867.2 945.3ZM400.4 478.5L517.6 595.7Q494.1 625 459 625T399.4 600.6 375 541Q375 511.7 400.4 478.5ZM666 746.1V834H209V334Q209 320.3 216.8 294.9L341.8 419.9Q318.4 443.4 304.7 475.6T291 541Q291 611.3 339.8 660.2T459 709Q492.2 709 524.4 695.3T580.1 658.2ZM709 574.2Q710.9 550.8 732.4 515.6 748 490.2 771.5 460.9L791 437.5 812.5 462.9Q837.9 494.1 853.5 521.5 875 558.6 875 584 875 615.2 853.5 639.6T800.8 666ZM382.8 250L300.8 166H584Q652.3 166 701.2 214.8T750 334V375H666V334Q666 298.8 641.6 274.4T584 250H382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"air-humidifier-off\"\n      ]\n    },\n    {\n      \"uid\": \"51a20f54a47bedf9ba1aac78818b0dcb\",\n      \"css\": \"chili-off\",\n      \"code\": 988263,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L666 746.1V908.2L632.8 898.4Q589.8 882.8 548.8 857.4 494.1 824.2 451.2 779.3 396.5 722.7 367.2 648.4 334 562.5 334 459V412.1L44.9 125 99.6 70.3 919.9 892.6ZM574.2 375L500 334 478.5 345.7 666 533.2V416Q666 369.1 625 341.8ZM500 271.5L574.2 312.5 636.7 275.4Q611.3 210.9 544.9 191.4 537.1 146.5 500 115.2T416 84V166Q429.7 166 440.4 174.8T455.1 195.3Q412.1 209 382.8 250L441.4 308.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"chili-off\"\n      ]\n    },\n    {\n      \"uid\": \"9a1ce28612923d1240da4f9617128a97\",\n      \"css\": \"food-drumstick-off\",\n      \"code\": 988264,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M867.2 945.3L566.4 646.5Q541 662.1 529.3 675.8 494.1 709 445.3 709T363.3 675.8L320.3 632.8Q287.1 599.6 287.1 549.8T324.2 466.8Q334 459 349.6 433.6L44.9 125 99.6 70.3 919.9 892.6ZM337.9 705.1L294.9 662.1 275.4 636.7 169.9 738.3Q132.8 718.8 99.6 750 82 769.5 82 793.9T99.6 835.9 142.6 853.5Q142.6 871.1 158.2 896.5 177.7 914.1 202.1 914.1T246.1 896.5Q277.3 863.3 257.8 824.2L363.3 724.6Q353.5 720.7 337.9 705.1ZM841.8 529.3Q898.4 472.7 913.1 394.5T897.5 243.2 794.9 125Q732.4 84 656.3 84T517.6 125Q429.7 181.6 404.3 271.5L728.5 595.7Q794.9 576.2 841.8 529.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-drumstick-off\"\n      ]\n    },\n    {\n      \"uid\": \"ca48b46e26e35e3234ca32409c2cacdf\",\n      \"css\": \"food-drumstick-off-outline\",\n      \"code\": 988265,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M919.9 896.5L99.6 70.3 44.9 125 353.5 433.6 330.1 466.8Q291 503.9 291 551.8T324.2 632.8L367.2 675.8Q382.8 689.5 405.3 699.2T449.2 709Q494.1 709 533.2 675.8 544.9 662.1 570.3 646.5L871.1 945.3ZM470.7 617.2Q462.9 625 448.2 625T425.8 617.2L382.8 574.2Q375 566.4 375 549.8T386.7 521.5L412.1 492.2 503.9 584Q498 591.8 484.4 605.5ZM474.6 341.8L404.3 271.5Q429.7 181.6 517.6 125 585.9 84 654.3 84 736.3 84 794.9 125 867.2 171.9 897.5 245.1T912.1 395.5 841.8 529.3Q794.9 576.2 728.5 595.7L658.2 525.4 664.1 523.4Q669.9 521.5 675.8 521.5 740.2 513.7 783.2 470.7 812.5 441.4 826.2 403.3T834 324.2Q826.2 242.2 750 191.4 707 166 653.3 166T558.6 195.3Q521.5 216.8 500 252T474.6 330.1V341.8ZM367.2 724.6L261.7 824.2Q281.3 863.3 250 896.5 230.5 914.1 206.1 914.1T164.1 896.5 146.5 853.5Q128.9 853.5 103.5 837.9 85.9 818.4 85.9 793.9T103.5 750Q136.7 718.8 175.8 738.3L279.3 636.7Q283.2 646.5 300.8 662.1L341.8 705.1Q349.6 718.8 367.2 724.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-drumstick-off-outline\"\n      ]\n    },\n    {\n      \"uid\": \"5f63241355ecd719662a2f9fcc6d4228\",\n      \"css\": \"food-steak\",\n      \"code\": 988266,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M496.1 84Q416 84 349.6 126T245.1 237.3 209 386.7 252.9 532.2 363.3 632.8Q406.3 654.3 432.6 695.3T459 783.2V791Q459 845.7 494.1 880.9T584 916Q701.2 916 750 771.5 791 646.5 791 375L789.1 343.8Q785.2 306.6 773.4 271.5 755.9 222.7 728.5 185.5 691.4 138.7 640.6 113.3 578.1 84 496.1 84ZM584 834Q564.5 834 552.7 822.3T541 791V783.2Q541 714.8 503.9 654.3T404.3 558.6Q353.5 533.2 324.2 486.3T291 382.8Q291 341.8 306.6 300.8T349.6 229.5 415 182.6 492.2 166Q621.1 166 675.8 257.8 709 310.5 709 375 709 650.4 666 759.8 636.7 834 584 834ZM658.2 316.4L345.7 429.7Q334 410.2 334 377T353.5 294.9L570.3 216.8Q636.7 250 658.2 316.4ZM537.1 628.9L654.3 587.9Q650.4 652.3 628.9 724.6L574.2 746.1Q574.2 685.5 537.1 628.9ZM666 382.8Q666 478.5 662.1 517.6L496.1 580.1Q457 541 419.9 525.4 396.5 511.7 375 492.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-steak\"\n      ]\n    },\n    {\n      \"uid\": \"5d54c70d1edaf1921dcd1fd70422d52d\",\n      \"css\": \"food-steak-off\",\n      \"code\": 988267,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M99.6 72.3L46.9 125 218.8 298.8Q209 337.9 209 386.7 210.9 464.8 253.9 531.3T363.3 632.8Q408.2 656.3 433.6 696.3T459 783.2V791Q459 843.8 495.1 879.9T584 916Q683.6 916 732.4 812.5L869.1 947.3 921.9 894.5ZM584 834Q566.4 834 553.7 821.3T541 791V783.2Q541 712.9 503.9 653.3T402.3 558.6Q353.5 533.2 323.2 485.4T291 382.8V371.1L339.8 418 343.8 431.6 349.6 429.7 400.4 478.5 378.9 488.3Q398.4 509.8 421.9 521.5 462.9 543 496.1 576.2H498L548.8 627 539.1 630.9Q572.3 683.6 580.1 744.1L632.8 724.6 636.7 714.8 669.9 748Q640.6 834 584 834ZM658.2 316.4L505.9 373 412.1 279.3 570.3 220.7Q636.7 246.1 658.2 316.4ZM357.4 224.6L298.8 166Q337.9 127 388.7 105.5T494.1 84V84Q578.1 84 640.6 113.3 691.4 138.7 728.5 185.5 755.9 222.7 773.4 271.5 785.2 306.6 789.1 343.8L791 375Q791 537.1 777.3 644.5L701.2 568.4Q709 482.4 709 375 709 310.5 677.7 257.8 623 166 494.1 166V166Q418 166 357.4 224.6ZM654.3 521.5L556.6 423.8 666 382.8Q666 453.1 664.1 517.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"food-steak-off\"\n      ]\n    },\n    {\n      \"uid\": \"8fa03636bb516ed4fdaf8b18d380c271\",\n      \"css\": \"fan-alert\",\n      \"code\": 988268,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 459Q398.4 459 386.7 470.7T375 500 386.7 529.3 416 541 446.3 529.3 459 500 446.3 470.7 416 459ZM437.5 84Q525.4 84 566.4 123 603.5 160.2 591.8 208T529.3 281.3 462.9 384.8Q492.2 396.5 513.7 421.9 589.8 380.9 664.1 377.9T786.1 412.1 834 521.5Q834 607.4 793 650.4 757.8 687.5 709 675.8T634.8 613.3 531.3 546.9Q519.5 576.2 494.1 597.7 535.2 673.8 538.1 748T503.9 869.1 396.5 916Q308.6 916 265.6 877 230.5 839.8 241.2 791T302.7 717.8 369.1 617.2Q337.9 603.5 318.4 578.1 242.2 619.1 168 622.1T46.9 587.9 0 478.5Q0 392.6 41 349.6 76.2 312.5 124 324.2T197.3 386.7 300.8 453.1Q312.5 421.9 337.9 402.3 296.9 326.2 293.9 252T328.1 130.9 437.5 84ZM916 541V291H1000V541H916ZM916 709V625H1000V709H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-alert\"\n      ]\n    },\n    {\n      \"uid\": \"8e1c42a037d07fcb833ad3d38af614df\",\n      \"css\": \"fan-chevron-down\",\n      \"code\": 988269,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM791 798.8L923.8 666 982.4 724.6 791 916 599.6 724.6 660.2 666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-chevron-down\"\n      ]\n    },\n    {\n      \"uid\": \"81902282d20dba1b53919956cb575506\",\n      \"css\": \"fan-chevron-up\",\n      \"code\": 988270,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM791 742.2L660.2 875 599.6 816.4 791 625 982.4 816.4 923.8 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-chevron-up\"\n      ]\n    },\n    {\n      \"uid\": \"c4c760b95de385b779e897b314e7a856\",\n      \"css\": \"fan-plus\",\n      \"code\": 988271,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM834 625V750H959V834H834V959H750V834H625V750H750V625H834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-plus\"\n      ]\n    },\n    {\n      \"uid\": \"116169bac93b924a6ff9d55abc2616b1\",\n      \"css\": \"fan-minus\",\n      \"code\": 988272,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM959 750V834H625V750H959Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-minus\"\n      ]\n    },\n    {\n      \"uid\": \"6fc419f384a045d719c57e8cc231dbc9\",\n      \"css\": \"fan-remove\",\n      \"code\": 988273,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM939.5 703.1L849.6 791 939.5 880.9 880.9 939.5 791 849.6 703.1 939.5 644.5 880.9 732.4 791 644.5 703.1 703.1 644.5 791 732.4 880.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-remove\"\n      ]\n    },\n    {\n      \"uid\": \"e1e8b43893115043e4e39b02fb4af237\",\n      \"css\": \"fan-speed-1\",\n      \"code\": 988274,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM709 625V709H750V959H834V625H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-speed-1\"\n      ]\n    },\n    {\n      \"uid\": \"1db4f4dd2eeba51ad821f6856ea0a6f6\",\n      \"css\": \"fan-speed-2\",\n      \"code\": 988275,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM666 625V709H791V750H750Q714.8 750 690.4 774.4T666 834V959H875V875H750V834H791Q826.2 834 850.6 809.6T875 750V709Q875 673.8 850.6 649.4T791 625H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-speed-2\"\n      ]\n    },\n    {\n      \"uid\": \"36322de534f029d260e3d66a6dbac908\",\n      \"css\": \"fan-speed-3\",\n      \"code\": 988276,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 791Q541 705.1 595.7 636.7 585.9 611.3 578.1 597.7 603.5 576.2 615.2 546.9 650.4 552.7 677.7 570.3 732.4 541 793.9 541T912.1 572.3Q916 544.9 916 521.5 916 449.2 869.1 412.1T748 377.9 597.7 421.9Q576.2 396.5 546.9 384.8 562.5 306.6 613.3 281.3T675.8 208 650.4 123Q607.4 84 521.5 84 449.2 84 412.1 130.9T377.9 252 421.9 402.3Q396.5 421.9 382.8 453.1 306.6 437.5 281.3 386.7T207 324.2 123 349.6Q84 392.6 84 478.5 84 550.8 130.9 587.9T251 622.1 402.3 578.1Q421.9 603.5 453.1 617.2 437.5 693.4 386.7 717.8T324.2 791 349.6 877Q392.6 916 478.5 916 529.3 916 562.5 892.6 541 841.8 541 791ZM500 541Q482.4 541 470.7 529.3T459 500 470.7 470.7 500 459 529.3 470.7 541 500 529.3 529.3 500 541ZM875 875V853.5Q875 828.1 856.4 809.6T812.5 791Q837.9 791 856.4 773.4T875 728.5V709Q875 673.8 850.6 649.4T791 625H666V709H791V750H709V834H791V875H666V959H791Q826.2 959 850.6 934.6T875 875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fan-speed-3\"\n      ]\n    },\n    {\n      \"uid\": \"e1b2a23cdad9f2a40e6635c9be9e2bd7\",\n      \"css\": \"rug\",\n      \"code\": 988277,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 584Q464.8 584 440.4 559.6T416 500 440.4 440.4 500 416 559.6 440.4 584 500 559.6 559.6 500 584ZM959 791H41V709H166V625H41V541H166V459H41V375H166V291H41V209H959V291H834V375H959V459H834V541H959V625H834V709H959V791ZM500 664.1Q519.5 685.5 548.8 690.4T604.5 680.7 640.6 637.7 642.6 582Q669.9 576.2 689.5 552.7T709 500 689.5 447.3 642.6 418Q650.4 390.6 640.6 362.3T604.5 319.3 548.8 309.6 500 335.9Q480.5 314.5 451.2 309.6T395.5 319.3 359.4 362.3 359.4 418Q330.1 423.8 310.5 447.3T291 500 310.5 552.7 359.4 582Q349.6 609.4 359.4 637.7T395.5 680.7 451.2 690.4 500 664.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rug\"\n      ]\n    },\n    {\n      \"uid\": \"bab1be651e01f67cb73df12167523a29\",\n      \"css\": \"lingerie\",\n      \"code\": 988278,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 291H834V84H750V181.6L500 287.1 250 181.6V84H166V291H84V375H168Q175.8 445.3 229.5 493.2T353.5 541Q398.4 541 436.5 522.5T500 470.7Q527.3 503.9 564.5 522.5T646.5 541Q716.8 541 770.5 493.2T832 375H916V291ZM353.5 459Q310.5 459 280.3 427.7T250 353.5V271.5L459 361.3Q455.1 402.3 424.8 430.7T353.5 459ZM750 353.5Q750 396.5 719.7 427.7T647.5 459 575.2 430.7 541 361.3L750 271.5V353.5ZM84 625V709H125Q216.8 709 286.1 768.6T371.1 916H628.9Q644.5 828.1 713.9 768.6T875 709H916V625H84ZM566.4 834H433.6Q404.3 761.7 345.7 709H654.3Q595.7 761.7 566.4 834Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"lingerie\"\n      ]\n    },\n    {\n      \"uid\": \"5e7ca77d715dad231f29ee5a02153552\",\n      \"css\": \"wizard-hat\",\n      \"code\": 988279,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 916H125V834H875V916ZM791 791H209L462.9 107.4Q474.6 84 500 84L750 209H580.1ZM416 312.5L460.9 332 478.5 375 498 332 541 312.5 498 293 478.5 250 460.9 293ZM541 625L455.1 585.9 416 500 377 585.9 291 625 377 664.1 416 750 455.1 664.1ZM582 498L625 478.5 582 459 562.5 416 543 459 500 478.5 543 498 562.5 541ZM666 666L709 646.5 666 627 646.5 584 627 627 584 646.5 627 666 646.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"wizard-hat\"\n      ]\n    },\n    {\n      \"uid\": \"522771b4f9c5d0769c63e451b5ee15de\",\n      \"css\": \"hours-24\",\n      \"code\": 988280,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 85.9V169.9Q623 179.7 689.5 226.6T794.9 344.7 834 500Q834 599.6 779.3 681.6T636.7 802.7L541 709V916H750L699.2 865.2Q798.8 812.5 857.4 713.9T916 500Q916 394.5 866.2 302.7T731.4 153.3 541 85.9ZM459 84Q334 95.7 236.3 175.8L294.9 234.4Q367.2 179.7 459 166V84ZM175.8 236.3Q95.7 334 84 459H166Q179.7 367.2 234.4 294.9ZM250 334V416H375V459H334Q298.8 459 274.4 483.4T250 541V666H459V584H334V541H375Q410.2 541 434.6 516.6T459 459V416Q459 382.8 434.6 358.4T375 334H250ZM500 334V541H625V666H709V541H750V459H709V334H625V459H584V334H500ZM84 541Q95.7 666 175.8 763.7L234.4 705.1Q179.7 632.8 166 541H84ZM296.9 765.6L236.3 824.2Q334 904.3 459 916V834Q367.2 820.3 296.9 765.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"hours-24\"\n      ]\n    },\n    {\n      \"uid\": \"eefebf60f5549cc5122b40175629899c\",\n      \"css\": \"cosine-wave\",\n      \"code\": 988281,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 84V166Q869.1 166 822.3 277.3 794.9 343.8 750 503.9L748 511.7Q709 650.4 687.5 709 652.3 808.6 611.3 857.4 562.5 916 500 916T388.7 857.4Q347.7 808.6 312.5 709 291 650.4 252 511.7L250 503.9Q205.1 343.8 177.7 277.3 130.9 166 84 166V84Q146.5 84 195.3 142.6 236.3 191.4 271.5 291 293 349.6 332 488.3L334 496.1Q378.9 656.3 406.3 722.7 453.1 834 500 834T593.8 722.7Q621.1 656.3 666 496.1L668 488.3Q707 349.6 728.5 291 763.7 191.4 804.7 142.6 853.5 84 916 84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"cosine-wave\"\n      ]\n    },\n    {\n      \"uid\": \"397ca5f7357d5fcd8ae52510630e7f6f\",\n      \"css\": \"sawtooth-wave\",\n      \"code\": 988282,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 916V285.2L84 666V548.8L541 84V714.8L916 334V451.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"sawtooth-wave\"\n      ]\n    },\n    {\n      \"uid\": \"9ea8fdd7bf05137e825869e34d4d2b10\",\n      \"css\": \"square-wave\",\n      \"code\": 988283,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 84V500H166V166H459V916H916V500H834V834H541V84H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"square-wave\"\n      ]\n    },\n    {\n      \"uid\": \"d6ae8bb6c20870f2ac261d5b6373537d\",\n      \"css\": \"triangle-wave\",\n      \"code\": 988284,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500L709 916 294.9 252 175.8 500H84L291 84 705.1 748 824.2 500H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"triangle-wave\"\n      ]\n    },\n    {\n      \"uid\": \"6f44699afc3cfdc1ec5b32433320f5b2\",\n      \"css\": \"waveform\",\n      \"code\": 988285,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 500L834 541 791 584 750 541 709 666 666 541 625 875 584 541 541 625 500 541 459 709 416 541 375 916 334 541 291 791 250 541 209 584 166 541 84 500 166 459 209 416 250 459 291 209 334 459 375 84 416 459 459 291 500 459 541 375 584 459 625 125 666 459 709 334 750 459 791 416 834 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"waveform\"\n      ]\n    },\n    {\n      \"uid\": \"e98b95165e90b81a1b26b95038fb776c\",\n      \"css\": \"folder-multiple-plus\",\n      \"code\": 988286,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 834V250H0V834Q0 867.2 24.4 891.6T84 916H834V834H84ZM916 166H584L500 84H250Q222.7 84 205.1 95.7L179.7 121.1Q166 138.7 166 166V666Q166 693.4 179.7 712.9 187.5 720.7 187.5 724.6 218.8 750 250 750H916Q951.2 750 975.6 725.6T1000 666V250Q1000 214.8 975.6 190.4T916 166ZM916 500H791V625H709V500H584V416H709V291H791V416H916V500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-multiple-plus\"\n      ]\n    },\n    {\n      \"uid\": \"6739bf58b1477ef9d9e3e7e3251acc6f\",\n      \"css\": \"folder-multiple-plus-outline\",\n      \"code\": 988287,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 166Q951.2 166 975.6 190.4T1000 250V666Q1000 701.2 975.6 725.6T916 750H250Q214.8 750 190.4 725.6T166 666V166Q166 132.8 190.4 108.4T250 84H500L584 166H916ZM84 250V834H834V916H84Q48.8 916 24.4 891.6T0 834V250H84ZM250 250V666H916V250H250ZM584 416H666V334H750V416H834V500H750V584H666V500H584V416Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"folder-multiple-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"8bf0f3ccbde2ac740edfff5991903873\",\n      \"css\": \"current-ac\",\n      \"code\": 988288,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M517.6 459Q517.6 457 513.7 451.2 404.3 291 291 291 210.9 291 146.5 361.3 103.5 408.2 84 459V541H482.4L486.3 548.8Q595.7 709 709 709 789.1 709 853.5 638.7 896.5 591.8 916 541V459H517.6ZM291 375Q357.4 375 416 459H179.7Q199.2 421.9 220.7 404.3 252 375 291 375ZM709 625Q642.6 625 584 541H820.3Q800.8 578.1 779.3 595.7 748 625 709 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"current-ac\"\n      ]\n    },\n    {\n      \"uid\": \"dc6578d900df4232a7a90fe729dff44f\",\n      \"css\": \"watering-can\",\n      \"code\": 988289,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 310.5Q748 334 742.2 364.3T746.1 423.8L625 544.9V459Q625 441.4 612.3 428.7T584 416H541V396.5Q541 334 510.7 281.3T427.7 197.3 312.5 166 197.3 197.3 114.3 281.3 84 396.5Q84 449.2 105.5 495.1T166 572.3V834Q166 849.6 178.7 862.3T209 875H584Q599.6 875 612.3 862.3T625 834V662.1L804.7 482.4Q834 492.2 864.3 486.3T916 459ZM168 416V410.2L166 396.5Q166 335.9 209 293T312.5 250 416 293 459 396.5L457 416H168Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watering-can\"\n      ]\n    },\n    {\n      \"uid\": \"9c5f30eebff1eed3f23d59dbe96c3965\",\n      \"css\": \"watering-can-outline\",\n      \"code\": 988290,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M771.5 310.5Q748 334 742.2 364.3T746.1 423.8L625 544.9V459Q625 441.4 612.3 428.7T584 416H541V396.5Q541 334 510.7 281.3T427.7 197.3 312.5 166 197.3 197.3 114.3 281.3 84 396.5Q84 449.2 105.5 495.1T166 572.3V834Q166 849.6 178.7 862.3T209 875H584Q599.6 875 612.3 862.3T625 834V662.1L804.7 482.4Q834 492.2 864.3 486.3T916 459ZM168 416V410.2L166 396.5Q166 335.9 209 293T312.5 250 416 293 459 396.5L457 416H168ZM541 791H250V500H541V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"watering-can-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a56ea1ffc5089bd3498f59f6fb148f36\",\n      \"css\": \"monitor-share\",\n      \"code\": 988291,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M959 166V666Q959 701.2 934.6 725.6T875 750H625V666H875V166H125V666H375V750H125Q89.8 750 65.4 725.6T41 666V166Q41 132.8 65.4 108.4T125 84H875Q910.2 84 934.6 108.4T959 166ZM541 541H666L500 375 334 541H459V834H334V916H666V834H541V541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"monitor-share\"\n      ]\n    },\n    {\n      \"uid\": \"fa848d0f04b82e190b704b0bcfd456a1\",\n      \"css\": \"laser-pointer\",\n      \"code\": 988292,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 541L209 666Q179.7 691.4 169.9 728.5 162.1 759.8 167 792T194.3 856.4 250 904.3Q296.9 923.8 341.8 914.1T418 871.1L791 541Q828.1 513.7 833 474.6T814.5 405.3 750 375H500L810.5 191.4Q837.9 173.8 835.9 140.6 834 117.2 817.4 100.6T775.4 84H773.4Q752 84 732.4 95.7L209 375Q162.1 400.4 166 459 168 492.2 190.4 516.6T250 541H375ZM209 771.5Q209 728.5 239.3 697.3T312.5 666 385.7 697.3 416 771.5 385.7 844.7 312.5 875 239.3 844.7 209 771.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"laser-pointer\"\n      ]\n    },\n    {\n      \"uid\": \"0115deb02acc028072d3b13768210905\",\n      \"css\": \"view-array-outline\",\n      \"code\": 988293,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M625 291V666H416V291H625ZM875 209H750V750H875V209ZM709 209H334V750H709V209ZM291 209H166V750H291V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-array-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e2a9c4fff316bf4d9b8ea254210b01b9\",\n      \"css\": \"view-carousel-outline\",\n      \"code\": 988294,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 250H250V709H84V250ZM291 791H709V166H291V791ZM375 250H625V709H375V250ZM750 250H916V709H750V250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-carousel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4efbc269bb19c15c20f0b0b79ca9dd5f\",\n      \"css\": \"view-column-outline\",\n      \"code\": 988295,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V750H875V209H166ZM584 291V666H459V291H584ZM250 291H375V666H250V291ZM791 666H666V291H791V666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-column-outline\"\n      ]\n    },\n    {\n      \"uid\": \"ef7aebb3c1fd9169463c9891561d8bfe\",\n      \"css\": \"view-comfy-outline\",\n      \"code\": 988296,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V791H916V209H125ZM834 375H740.2V291H834V375ZM384.8 459H478.5V541H384.8V459ZM302.7 541H209V459H302.7V541ZM478.5 375H384.8V291H478.5V375ZM562.5 291H656.3V375H562.5V291ZM478.5 625V709H384.8V625H478.5ZM562.5 625H656.3V709H562.5V625ZM562.5 541V459H656.3V541H562.5ZM740.2 459H834V541H740.2V459ZM302.7 291V375H209V291H302.7ZM209 625H302.7V709H209V625ZM740.2 709V625H834V709H740.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-comfy-outline\"\n      ]\n    },\n    {\n      \"uid\": \"4a0e822ef4c13178dec030eb3f615f0c\",\n      \"css\": \"view-day-outline\",\n      \"code\": 988298,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 750H84V834H875V750ZM791 416V584H166V416H791ZM834 334H125Q107.4 334 95.7 345.7T84 375V625Q84 642.6 95.7 654.3T125 666H834Q849.6 666 862.3 654.3T875 625V375Q875 357.4 862.3 345.7T834 334ZM875 166H84V250H875V166Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-day-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7fc2f9bd5716525ed9ecf219e73a0e0c\",\n      \"css\": \"view-list-outline\",\n      \"code\": 988299,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V791H834V209H125ZM291 291V375H209V291H291ZM209 541V459H291V541H209ZM209 625H291V709H209V625ZM750 709H375V625H750V709ZM750 541H375V459H750V541ZM750 375H375V291H750V375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-list-outline\"\n      ]\n    },\n    {\n      \"uid\": \"36c1e73e0672f8605ee0d195424ad3e7\",\n      \"css\": \"view-module-outline\",\n      \"code\": 988300,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V750H875V209H166ZM584 291V437.5H459V291H584ZM250 291H375V437.5H250V291ZM250 666V521.5H375V666H250ZM459 666V521.5H584V666H459ZM791 666H666V521.5H791V666ZM666 437.5V291H791V437.5H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-module-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c6447a77815381187e6abf334bb58ec9\",\n      \"css\": \"view-parallel-outline\",\n      \"code\": 988301,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209V875H791V125ZM709 791H625V209H709V791ZM541 791H459V209H541V791ZM291 209H375V791H291V209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-parallel-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a4a6d971486d0c1a935480abeba24f20\",\n      \"css\": \"view-quilt-outline\",\n      \"code\": 988302,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 209V750H875V209H166ZM250 666V291H375V666H250ZM459 666V521.5H584V666H459ZM791 666H666V521.5H791V666ZM459 437.5V291H791V437.5H459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-quilt-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a9cb6df9d9167725164228a213d54b56\",\n      \"css\": \"view-sequential-outline\",\n      \"code\": 988303,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 209V791H875V209H125ZM791 291V375H209V291H791ZM791 459V541H209V459H791ZM209 709V625H791V709H209Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-sequential-outline\"\n      ]\n    },\n    {\n      \"uid\": \"a2c61a68fced26b32b42b7f71597ca9d\",\n      \"css\": \"view-stream-outline\",\n      \"code\": 988304,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M166 250V750H875V250H166ZM791 666H250V541H791V666ZM250 459V334H791V459H250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-stream-outline\"\n      ]\n    },\n    {\n      \"uid\": \"cd35db645c7cb986f290db3c152deae9\",\n      \"css\": \"view-week-outline\",\n      \"code\": 988305,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 166H125Q107.4 166 95.7 178.7T84 209V791Q84 808.6 95.7 821.3T125 834H875Q892.6 834 904.3 821.3T916 791V209Q916 191.4 904.3 178.7T875 166ZM334 750H166V250H334V750ZM584 750H416V250H584V750ZM834 750H666V250H834V750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"view-week-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6ad4ab575b87f4e0411cf9755d0df9dc\",\n      \"css\": \"compare-horizontal\",\n      \"code\": 988306,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 584H84V666H375V791L541 625 375 459V584ZM625 541V416H916V334H625V209L459 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compare-horizontal\"\n      ]\n    },\n    {\n      \"uid\": \"64741225faa2b937bef31929581965bc\",\n      \"css\": \"compare-vertical\",\n      \"code\": 988307,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 625V916H666V625H791L625 459 459 625H584ZM541 375H416V84H334V375H209L375 541Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"compare-vertical\"\n      ]\n    },\n    {\n      \"uid\": \"4a4358cbb4105c252ff4aa78afebd6dc\",\n      \"css\": \"briefcase-variant\",\n      \"code\": 988308,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M416 666V625H125V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V625H584V666H416ZM834 291H666V209L584 125H416L334 209V291H166Q132.8 291 108.4 315.4T84 375V500Q84 535.2 108.4 559.6T166 584H416V500H584V584H834Q867.2 584 891.6 559.6T916 500V375Q916 339.8 891.6 315.4T834 291ZM584 291H416V209H584V291Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-variant\"\n      ]\n    },\n    {\n      \"uid\": \"05801fa04f5344bf6ccb730ec9b8a028\",\n      \"css\": \"briefcase-variant-outline\",\n      \"code\": 988309,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M834 291H666V209L584 125H416L334 209V291H166Q132.8 291 108.4 315.4T84 375V584Q84 605.5 94.7 625T125 656.3V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V654.3Q894.5 644.5 905.3 625T916 584V375Q916 339.8 891.6 315.4T834 291ZM416 209H584V291H416V209ZM166 375H834V584H625V459H375V584H166V375ZM541 625H459V541H541V625ZM791 791H209V666H375V709H625V666H791V791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"briefcase-variant-outline\"\n      ]\n    },\n    {\n      \"uid\": \"1d2c9e80122de61b33ba62358d6d3f67\",\n      \"css\": \"relation-many-to-many\",\n      \"code\": 988310,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709H459V375H209L125 459H84V209H125L209 291H541V625H791L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-many-to-many\"\n      ]\n    },\n    {\n      \"uid\": \"49cce4aac1f3d7b2b18924bea4c18bba\",\n      \"css\": \"relation-many-to-one\",\n      \"code\": 988311,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H791V791H709V709H459V375H209L125 459H84V209H125L209 291H541V625H709V541H791V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-many-to-one\"\n      ]\n    },\n    {\n      \"uid\": \"82eff9692f903962fda3cc70893af110\",\n      \"css\": \"relation-many-to-one-or-many\",\n      \"code\": 988312,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709V791H709V709H459V375H209L125 459H84V209H125L209 291H541V625H709V541H791V625L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-many-to-one-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"16eb45d22334d6c2763099ef28182b64\",\n      \"css\": \"relation-many-to-only-one\",\n      \"code\": 988313,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H875V791H791V709H750V791H666V709H459V375H209L125 459H84V209H125L209 291H541V625H666V541H750V625H791V541H875V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-many-to-only-one\"\n      ]\n    },\n    {\n      \"uid\": \"7ed9953dc6acfb9487cc81c3b3d63e20\",\n      \"css\": \"relation-many-to-zero-or-many\",\n      \"code\": 988314,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H209L125 209H84V459H125L209 375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791L875 791H916V541H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-many-to-zero-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"69f5e8d58cacc1a3f72475df8073bcd5\",\n      \"css\": \"relation-many-to-zero-or-one\",\n      \"code\": 988315,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H209L125 209H84V459H125L209 375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791V791H875V709H916V625H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-many-to-zero-or-one\"\n      ]\n    },\n    {\n      \"uid\": \"c8856debd0d67e474431a5da67ad866d\",\n      \"css\": \"relation-one-or-many-to-many\",\n      \"code\": 988316,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709H459V375H291V459H209V375L125 459H84V209H125L209 291V209H291V291H541V625H791L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-or-many-to-many\"\n      ]\n    },\n    {\n      \"uid\": \"3696f83badf61488c371fa8cf2b0b615\",\n      \"css\": \"relation-one-or-many-to-one\",\n      \"code\": 988317,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H791V791H709V709H459V375H291V459H209V375L125 459H84V209H125L209 291V209H291V291H541V625H709V541H791V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-or-many-to-one\"\n      ]\n    },\n    {\n      \"uid\": \"75ac10fdd603755ee87f957d3e504f92\",\n      \"css\": \"relation-one-or-many-to-one-or-many\",\n      \"code\": 988318,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709V791H709V709H459V375H291V459H209V375L125 459H84V209H125L209 291V209H291V291H541V625H709V541H791V625L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-or-many-to-one-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"0dc725d8c6dcc58cf1bbf069f6b70e1b\",\n      \"css\": \"relation-one-or-many-to-only-one\",\n      \"code\": 988319,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H875V791H791V709H750V791H666V709H459V375H291V459H209V375L125 459H84V209H125L209 291V209H291V291H541V625H666V541H750V625H791V541H875V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-or-many-to-only-one\"\n      ]\n    },\n    {\n      \"uid\": \"3c3ef39adfc0ebfb42a38d57842ed5d2\",\n      \"css\": \"relation-one-or-many-to-zero-or-many\",\n      \"code\": 988320,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H291V209H209V291L125 209H84V459H125L209 375V459H291V375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791L875 791H916V541H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-or-many-to-zero-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"26ffa9a450f97dfeb5017b63a17c6f41\",\n      \"css\": \"relation-one-or-many-to-zero-or-one\",\n      \"code\": 988321,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H291V209H209V291L125 209H84V459H125L209 375V459H291V375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791V791H875V709H916V625H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-or-many-to-zero-or-one\"\n      ]\n    },\n    {\n      \"uid\": \"0627cad6b9c2773c604660f8d14be81e\",\n      \"css\": \"relation-one-to-many\",\n      \"code\": 988322,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709H459V375H291V459H209V375H84V291H209V209H291V291H541V625H791L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-to-many\"\n      ]\n    },\n    {\n      \"uid\": \"bdcc883fb38ba74ad571cb08c3656dce\",\n      \"css\": \"relation-one-to-one\",\n      \"code\": 988323,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H791V791H709V709H459V375H291V459H209V375H84V291H209V209H291V291H541V625H709V541H791V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-to-one\"\n      ]\n    },\n    {\n      \"uid\": \"5444460481e952d14ff61139b260d7ec\",\n      \"css\": \"relation-one-to-one-or-many\",\n      \"code\": 988324,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709V791H709V709H459V375H291V459H209V375H84V291H209V209H291V291H541V625H709V541H791V625L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-to-one-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"a8f1dd59b0919f84a8026f68a3afddda\",\n      \"css\": \"relation-one-to-only-one\",\n      \"code\": 988325,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H875V791H791V709H750V791H666V709H459V375H291V459H209V375H84V291H209V209H291V291H541V625H666V541H750V625H791V541H875V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-to-only-one\"\n      ]\n    },\n    {\n      \"uid\": \"5b81d673f891b382b9f9d427370c7834\",\n      \"css\": \"relation-one-to-zero-or-many\",\n      \"code\": 988326,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H291V209H209V291H84V375H209V459H291V375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791L875 791H916V541H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-to-zero-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"4ebda51819b3121e27db373785c54bc0\",\n      \"css\": \"relation-one-to-zero-or-one\",\n      \"code\": 988327,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H291V209H209V291H84V375H209V459H291V375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791V791H875V709H916V625H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-one-to-zero-or-one\"\n      ]\n    },\n    {\n      \"uid\": \"be4e227589d690396def9b72f1c53991\",\n      \"css\": \"relation-only-one-to-many\",\n      \"code\": 988328,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709H459V375H334V459H250V375H209V459H125V375H84V291H125V209H209V291H250V209H334V291H541V625H791L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-only-one-to-many\"\n      ]\n    },\n    {\n      \"uid\": \"be8800072103cd36f571e3abf408f786\",\n      \"css\": \"relation-only-one-to-one\",\n      \"code\": 988329,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H791V791H709V709H459V375H334V459H250V375H209V459H125V375H84V291H125V209H209V291H250V209H334V291H541V625H709V541H791V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-only-one-to-one\"\n      ]\n    },\n    {\n      \"uid\": \"fb1516c2a16cc1ed3fb5fd05d8c7919f\",\n      \"css\": \"relation-only-one-to-one-or-many\",\n      \"code\": 988330,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 541V791H875L791 709V791H709V709H459V375H334V459H250V375H209V459H125V375H84V291H125V209H209V291H250V209H334V291H541V625H709V541H791V625L875 541H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-only-one-to-one-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"fb3c425e26da885c3537cc1d5ed0c6bf\",\n      \"css\": \"relation-only-one-to-only-one\",\n      \"code\": 988331,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 625V709H875V791H791V709H750V791H666V709H459V375H334V459H250V375H209V459H125V375H84V291H125V209H209V291H250V209H334V291H541V625H666V541H750V625H791V541H875V625H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-only-one-to-only-one\"\n      ]\n    },\n    {\n      \"uid\": \"6719d2a7fc73b6b2308cfdedc923f3b7\",\n      \"css\": \"relation-only-one-to-zero-or-many\",\n      \"code\": 988332,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H334V209H250V291H209V209H125V291H84V375H125V459H209V375H250V459H334V375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791L875 791H916V541H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-only-one-to-zero-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"bf7bb283eafd624c6eb16e5c2990bca5\",\n      \"css\": \"relation-only-one-to-zero-or-one\",\n      \"code\": 988333,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H334V209H250V291H209V209H125V291H84V375H125V459H209V375H250V459H334V375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791V791H875V709H916V625H875ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-only-one-to-zero-or-one\"\n      ]\n    },\n    {\n      \"uid\": \"5594e63284e61bc0453b19fc5b90d924\",\n      \"css\": \"relation-zero-or-many-to-many\",\n      \"code\": 988334,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209L125 209H84V459H125L209 375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H791L875 791H916V541H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-many-to-many\"\n      ]\n    },\n    {\n      \"uid\": \"608ebc9cfb2687c54cd1ec1fd5ccedbb\",\n      \"css\": \"relation-zero-or-many-to-one\",\n      \"code\": 988335,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V541H709V625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209L125 209H84V459H125L209 375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H709V791H791V709H916V625H791ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-many-to-one\"\n      ]\n    },\n    {\n      \"uid\": \"84ce3e4e921c1530cd855b5ec1cfe732\",\n      \"css\": \"relation-zero-or-many-to-one-or-many\",\n      \"code\": 988336,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625V541H709V625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209L125 209H84V459H125L209 375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H709V791H791V709L875 791H916V541H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-many-to-one-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"fd17039f3540f717942ee4f0e325d81f\",\n      \"css\": \"relation-zero-or-many-to-only-one\",\n      \"code\": 988337,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H750V541H666V625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209L125 209H84V459H125L209 375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H666V791H750V709H791V791H875V709H916V625H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-many-to-only-one\"\n      ]\n    },\n    {\n      \"uid\": \"45029628b3909ffbaf646e529cd186c2\",\n      \"css\": \"relation-zero-or-many-to-zero-or-many\",\n      \"code\": 988338,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209L125 209H84V459H125L209 375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791L875 791H916V541H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-many-to-zero-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"ac48afe964b5a68c17b5d2117c0baa6a\",\n      \"css\": \"relation-zero-or-many-to-zero-or-one\",\n      \"code\": 988339,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209L125 209H84V459H125L209 375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791V791H875V709H916V625H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-many-to-zero-or-one\"\n      ]\n    },\n    {\n      \"uid\": \"76015ae0f2abca1cb36421d17d2f2d40\",\n      \"css\": \"relation-zero-or-one-to-many\",\n      \"code\": 988340,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209V209H125V291H84V375H125V459H209V375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H791L875 791H916V541H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-one-to-many\"\n      ]\n    },\n    {\n      \"uid\": \"7e160d96b82615689d8ae3dd0c7707d1\",\n      \"css\": \"relation-zero-or-one-to-one\",\n      \"code\": 988341,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 625V541H709V625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209V209H125V291H84V375H125V459H209V375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H709V791H791V709H916V625H791ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-one-to-one\"\n      ]\n    },\n    {\n      \"uid\": \"94fab939fd844e617926bd56159f7f58\",\n      \"css\": \"relation-zero-or-one-to-one-or-many\",\n      \"code\": 988342,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625V541H709V625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209V209H125V291H84V375H125V459H209V375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H709V791H791V709L875 791H916V541H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-one-to-one-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"780b36b11fff6f1ea48c6e57db231f32\",\n      \"css\": \"relation-zero-or-one-to-only-one\",\n      \"code\": 988343,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H750V541H666V625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209V209H125V291H84V375H125V459H209V375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H666V791H750V709H791V791H875V709H916V625H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-one-to-only-one\"\n      ]\n    },\n    {\n      \"uid\": \"7310217b091bb79b761994b3a872f274\",\n      \"css\": \"relation-zero-or-one-to-zero-or-many\",\n      \"code\": 988344,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 541L791 625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209V209H125V291H84V375H125V459H209V375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791L875 791H916V541H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-one-to-zero-or-many\"\n      ]\n    },\n    {\n      \"uid\": \"e19dc206b151a1cbbd6ceb9fb1f57673\",\n      \"css\": \"relation-zero-or-one-to-zero-or-one\",\n      \"code\": 988345,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M875 625V541H791V625H783.2Q769.5 595.7 744.1 579.1T687.5 562.5 630.9 579.1 591.8 625H541V291H408.2Q394.5 263.7 369.1 246.1T312.5 228.5 255.9 246.1 216.8 291H209V209H125V291H84V375H125V459H209V375H216.8Q230.5 404.3 255.9 420.9T312.5 437.5 369.1 420.9 408.2 375H459V709H591.8Q605.5 736.3 630.9 753.9T687.5 771.5 744.1 753.9 783.2 709H791V791H875V709H916V625H875ZM312.5 375Q294.9 375 283.2 363.3T271.5 334 283.2 303.7 312.5 291 341.8 303.7 353.5 334 341.8 363.3 312.5 375ZM687.5 709Q669.9 709 658.2 696.3T646.5 666 658.2 636.7 687.5 625 716.8 636.7 728.5 666 716.8 696.3 687.5 709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"relation-zero-or-one-to-zero-or-one\"\n      ]\n    },\n    {\n      \"uid\": \"ebb6ffad65a539bfca497680257ac9d6\",\n      \"css\": \"alert-plus\",\n      \"code\": 988346,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 791Q584 705.1 636.7 637.7T771.5 550.8L500 84 41 875H597.7Q584 834 584 791ZM541 750H459V666H541V750ZM541 584H459V416H541V584ZM875 625V750H1000V834H875V959H791V834H666V750H791V625H875Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-plus\"\n      ]\n    },\n    {\n      \"uid\": \"a59dc9a69cb3953ba7c940ed166a4669\",\n      \"css\": \"alert-minus\",\n      \"code\": 988347,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 791Q584 705.1 636.7 637.7T771.5 550.8L500 84 41 875H597.7Q584 834 584 791ZM541 750H459V666H541V750ZM541 584H459V416H541V584ZM1000 750V834H666V750H1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-minus\"\n      ]\n    },\n    {\n      \"uid\": \"ac246c814297740b8ecc9c7885c8e903\",\n      \"css\": \"alert-remove\",\n      \"code\": 988348,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M584 791Q584 705.1 636.7 637.7T771.5 550.8L500 84 41 875H597.7Q584 834 584 791ZM541 750H459V666H541V750ZM541 584H459V416H541V584ZM980.5 703.1L892.6 791 980.5 880.9 921.9 939.5 834 849.6 744.1 939.5 685.5 880.9 775.4 791 685.5 703.1 744.1 644.5 834 732.4 921.9 644.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-remove\"\n      ]\n    },\n    {\n      \"uid\": \"3af2bbbdcce0b440af055c4a53a43292\",\n      \"css\": \"alert-plus-outline\",\n      \"code\": 988349,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 646.5H541V728.5H459V646.5ZM584 791V775.4H224.6L500 304.7 671.9 601.6Q703.1 574.2 744.1 558.6L500 136.7 84 857.4H591.8Q584 824.2 584 791ZM541 437.5H459V603.5H541V437.5ZM791 625V750H666V834H791V959H875V834H1000V750H875V625H791Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"11c7927d8831c543b245996cc8a41010\",\n      \"css\": \"alert-minus-outline\",\n      \"code\": 988350,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 646.5H541V728.5H459V646.5ZM584 791V775.4H224.6L500 304.7 671.9 601.6Q703.1 574.2 744.1 558.6L500 136.7 84 857.4H591.8Q584 824.2 584 791ZM541 437.5H459V603.5H541V437.5ZM666 750V834H1000V750H666Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"c968aab8553dc4c6a85fb5dd5b7e2ad9\",\n      \"css\": \"alert-remove-outline\",\n      \"code\": 988351,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M459 646.5H541V728.5H459V646.5ZM584 791V775.4H224.6L500 304.7 671.9 601.6Q703.1 574.2 744.1 558.6L500 136.7 84 857.4H591.8Q584 824.2 584 791ZM541 437.5H459V603.5H541V437.5ZM921.9 644.5L834 732.4 744.1 644.5 685.5 703.1 775.4 791 685.5 880.9 744.1 939.5 834 849.6 921.9 939.5 980.5 880.9 892.6 791 980.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"alert-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"7e3540460c29ebc8010d7808725448f8\",\n      \"css\": \"carabiner\",\n      \"code\": 988352,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M334 728.5Q334 755.9 315.4 773.4T270.5 791 226.6 773.4 209 729.5 226.6 684.6 270.5 666 315.4 684.6 334 728.5ZM750 232.4Q744.1 168 699.2 126T593.8 84H369.1Q310.5 84 265.6 126T214.8 230.5L209 275.4Q205.1 298.8 220.7 316.4T257.8 334 293.9 320.3 310.5 287.1L316.4 242.2Q318.4 218.8 334 203.1T369.1 187.5H593.8Q613.3 187.5 628.9 203.1T646.5 242.2L687.5 703.1Q689.5 730.5 673.8 751T634.8 771.5L418 742.2Q412.1 802.7 367.2 841.8L623 875H634.8Q668 875 697.3 861.3T749 823.2 783.2 764.6 791 693.4ZM486.3 330.1Q466.8 318.4 446.3 323.2T414.1 347.7L265.6 584H271.5Q324.2 584 367.2 619.1L502 402.3Q513.7 384.8 508.8 363.3T486.3 330.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"carabiner\"\n      ]\n    },\n    {\n      \"uid\": \"635261b174538007ffd540578d4f9f7a\",\n      \"css\": \"fencing\",\n      \"code\": 988353,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M187.5 726.6L232.4 771.5 136.7 865.2Q127 875 114.3 875T92.8 866.2 84 843.8 91.8 822.3ZM761.7 226.6V166L500 429.7 238.3 166V226.6L470.7 459 312.5 617.2Q275.4 589.8 229.5 593.8T150.4 630.9L328.1 806.6Q361.3 775.4 364.3 729.5T341.8 646.5ZM908.2 822.3L812.5 726.6 767.6 771.5 863.3 865.2Q873 875 885.7 875T907.2 866.2 916 843.8 908.2 822.3ZM687.5 617.2L558.6 488.3 529.3 517.6 658.2 646.5Q632.8 683.6 635.7 729.5T671.9 806.6L849.6 630.9Q816.4 597.7 770.5 593.8T687.5 617.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"fencing\"\n      ]\n    },\n    {\n      \"uid\": \"e0cda0306297d01c6709e4d52f2751ea\",\n      \"css\": \"skateboard\",\n      \"code\": 988354,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M375 603.5Q375 630.9 356.4 648.4T312.5 666 268.6 648.4 250 604.5 268.6 559.6 312.5 541 356.4 559.6 375 603.5ZM687.5 541Q662.1 541 643.6 559.6T625 604.5 643.6 648.4 687.5 666 731.4 648.4 750 604.5 731.4 559.6 687.5 541ZM900.4 382.8Q884.8 373 868.2 376T841.8 392.6L835.9 400.4Q824.2 416 802.7 416H197.3Q175.8 416 164.1 400.4L158.2 392.6Q148.4 378.9 131.8 376T100.6 382.8 84 410.2 91.8 441.4L95.7 449.2Q113.3 472.7 140.6 486.3T197.3 500H802.7Q832 500 859.4 486.3T904.3 449.2L908.2 441.4Q918 427.7 916 410.2T900.4 382.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skateboard\"\n      ]\n    },\n    {\n      \"uid\": \"241dbb82d7291179e52cdcfcd996dbfb\",\n      \"css\": \"polo\",\n      \"code\": 988355,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M916 396.5Q916 439.5 885.7 469.7T812.5 500 739.3 469.7 709 396.5 739.3 322.3 812.5 291 885.7 322.3 916 396.5ZM459 709V125H334V709H84L250 875H541V709H459ZM666 709H584V875H666V709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"polo\"\n      ]\n    },\n    {\n      \"uid\": \"14770c3186a30d554c7768560a241c54\",\n      \"css\": \"tractor-variant\",\n      \"code\": 988356,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M554.7 117.2L408.2 261.7 437.5 291 496.1 234.4 541 279.3V375Q541 410.2 516.6 434.6T459 459H435.5Q500 529.3 500 625 500 646.5 496.1 666H627Q634.8 595.7 687.5 547.9T812.5 500Q869.1 500 916 531.3V334Q916 298.8 891.6 274.4T834 250H570.3L525.4 205.1 584 146.5ZM166 291Q150.4 291 137.7 303.7T125 333 137.7 362.3 166 375H375Q375 339.8 350.6 315.4T291 291H166ZM250 416Q216.8 416 185.5 427.7L199.2 466.8 179.7 472.7 166 435.5Q97.7 464.8 64.5 531.3L101.6 548.8 93.8 566.4 56.6 550.8Q41 585.9 41 625 41 658.2 52.7 689.5L91.8 675.8 97.7 695.3 60.5 709Q89.8 777.3 156.3 810.5L171.9 773.4 191.4 781.3 175.8 818.4Q210.9 834 250 834 283.2 834 314.5 822.3L300.8 783.2 320.3 777.3 334 814.5Q402.3 785.2 435.5 718.8L398.4 703.1 406.3 683.6 443.4 699.2Q459 664.1 459 625 459 591.8 447.3 560.5L408.2 574.2 402.3 554.7 439.5 541Q410.2 472.7 343.8 439.5L328.1 476.6 308.6 468.8 324.2 431.6Q289.1 416 250 416ZM250 500Q302.7 500 338.9 536.1T375 625 338.9 713.9 250 750 161.1 713.9 125 625 161.1 536.1 250 500ZM812.5 541Q752 541 709 584T666 687.5 709 791 812.5 834 916 791 959 687.5 916 584 812.5 541ZM812.5 625Q837.9 625 856.4 643.6T875 687.5 856.4 731.4 812.5 750 768.6 731.4 750 687.5 768.6 643.6 812.5 625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"tractor-variant\"\n      ]\n    },\n    {\n      \"uid\": \"2c3f85f41735af13802c778c89e3188d\",\n      \"css\": \"radiology-box\",\n      \"code\": 988357,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM712.9 541H541V584H709L705.1 615.2Q701.2 652.3 689.5 675.8 671.9 709 646.5 709 627 709 613.3 697.3 605.5 691.4 594.7 672.9T576.2 646.5Q562.5 630.9 541 625V709Q541 724.6 529.3 737.3T500 750 470.7 737.3 459 709V625Q437.5 630.9 423.8 646.5 416 654.3 405.3 672.9T386.7 697.3Q373 709 353.5 709 316.4 709 300.8 646.5 293 615.2 291 584H459V541H287.1L283.2 500H459V459H283.2Q285.2 441.4 291 416H459V375H306.6L308.6 371.1Q320.3 345.7 326.2 334H459V291Q459 275.4 470.7 262.7T500 250 529.3 262.7 541 291V334H673.8Q679.7 345.7 691.4 371.1L693.4 375H541V416H709Q714.8 439.5 716.8 459H541V500H716.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radiology-box\"\n      ]\n    },\n    {\n      \"uid\": \"860b8356f8ed1e61a89dde7fc8ad2087\",\n      \"css\": \"radiology-box-outline\",\n      \"code\": 988358,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 209V791H209V209H791ZM791 125H209Q173.8 125 149.4 149.4T125 209V791Q125 826.2 149.4 850.6T209 875H791Q826.2 875 850.6 850.6T875 791V209Q875 173.8 850.6 149.4T791 125ZM500 250Q517.6 250 529.3 262.7T541 291V334H673.8Q679.7 345.7 691.4 371.1L693.4 375H541V416H709Q714.8 439.5 716.8 459H541V500H716.8L712.9 541H541V584H709L705.1 615.2Q701.2 652.3 689.5 675.8 671.9 709 646.5 709 627 709 613.3 697.3 605.5 691.4 594.7 672.9T576.2 646.5Q562.5 630.9 541 625V709Q541 724.6 529.3 737.3T500 750 470.7 737.3 459 709V625Q437.5 630.9 423.8 646.5 416 654.3 405.3 672.9T386.7 697.3Q373 709 353.5 709 316.4 709 300.8 646.5 293 615.2 291 584H459V541H287.1L283.2 500H459V459H283.2Q285.2 441.4 291 416H459V375H306.6L308.6 371.1Q320.3 345.7 326.2 334H459V291Q459 275.4 470.7 262.7T500 250Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"radiology-box-outline\"\n      ]\n    },\n    {\n      \"uid\": \"73f7be849cff5bac6b30862076ff5893\",\n      \"css\": \"skull-scan\",\n      \"code\": 988359,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 0Q48.8 0 24.4 24.4T0 84V250H84V84H250V0H84ZM750 0V84H916V250H1000V84Q1000 48.8 975.6 24.4T916 0H750ZM500 125Q410.2 125 333 169.9T210.9 292 166 459Q166 535.2 200.2 603.5T291 716.8V875H375V750H459V875H541V750H625V875H709V716.8Q765.6 668 799.8 601.6T834 459Q834 369.1 789.1 292T667 169.9 500 125ZM334 584Q298.8 584 274.4 559.6T250 500 274.4 440.4 333 416 391.6 440.4 416 500 391.6 559.6 334 584ZM437.5 666L500 541 562.5 666H437.5ZM666 584Q632.8 584 608.4 559.6T584 500 608.4 440.4 667 416 725.6 440.4 750 500 725.6 559.6 666 584ZM0 750V916Q0 951.2 24.4 975.6T84 1000H250V916H84V750H0ZM916 750V916H750V1000H916Q951.2 1000 975.6 975.6T1000 916V750H916Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skull-scan\"\n      ]\n    },\n    {\n      \"uid\": \"b5d0ae6c5dd7fe5e50810b8305ad70fc\",\n      \"css\": \"skull-scan-outline\",\n      \"code\": 988360,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 0Q48.8 0 24.4 24.4T0 84V250H84V84H250V0H84ZM750 0V84H916V250H1000V84Q1000 48.8 975.6 24.4T916 0H750ZM396.5 541Q371.1 541 352.5 522.5T334 479.5 352.5 435.5 395.5 416 439.5 435.5 459 479.5 439.5 522.5 396.5 541ZM459 625L500 541 541 625H459ZM603.5 541Q580.1 541 560.5 522.5T541 479.5 560.5 435.5 604.5 416 647.5 435.5 666 479.5 647.5 522.5 603.5 541ZM0 750V916Q0 951.2 24.4 975.6T84 1000H250V916H84V750H0ZM916 750V916H750V1000H916Q951.2 1000 975.6 975.6T1000 916V750H916ZM500 125Q410.2 125 333 169.9T210.9 292 166 459Q166 519.5 188.5 577.1T250 679.7V875H750V679.7Q834 582 834 459 834 369.1 789.1 292T667 169.9 500 125ZM666 642.6V791H584V709H541V791H459V709H416V791H334V642.6Q294.9 605.5 272.5 557.6T250 459Q250 390.6 284.2 333T375 242.2 500 209 625 242.2 715.8 333 750 459Q750 564.5 666 642.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"skull-scan-outline\"\n      ]\n    },\n    {\n      \"uid\": \"eaa16c0ddad2b86e013b69c01ce785d3\",\n      \"css\": \"plus-minus-variant\",\n      \"code\": 988361,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M125 291H250V166H334V291H459V375H334V500H250V375H125V291ZM541 625H875V709H541V625ZM668 125H763.7L332 875H236.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"plus-minus-variant\"\n      ]\n    },\n    {\n      \"uid\": \"ec9895726e1e01b41bf11c48a049e56d\",\n      \"css\": \"source-branch-plus\",\n      \"code\": 988362,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q275.4 750 262.7 762.7T250 792 262.7 821.3 292 834 321.3 821.3 334 792 321.3 762.7 291 750ZM291 166Q275.4 166 262.7 178.7T250 208 262.7 237.3 292 250 321.3 237.3 334 208 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 262.7T666 292 678.7 321.3 708 334 737.3 321.3 750 292 737.3 262.7 709 250ZM709 584V709H584V791H709V916H791V791H916V709H791V584H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch-plus\"\n      ]\n    },\n    {\n      \"uid\": \"1f921e4c9277c80ac8ca04d092b32910\",\n      \"css\": \"source-branch-minus\",\n      \"code\": 988363,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q275.4 750 262.7 762.7T250 792 262.7 821.3 292 834 321.3 821.3 334 792 321.3 762.7 291 750ZM291 166Q275.4 166 262.7 178.7T250 208 262.7 237.3 292 250 321.3 237.3 334 208 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 262.7T666 292 678.7 321.3 708 334 737.3 321.3 750 292 737.3 262.7 709 250ZM584 709V791H916V709H584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch-minus\"\n      ]\n    },\n    {\n      \"uid\": \"6a10d7f6d2947c3a3878d7caf692e093\",\n      \"css\": \"source-branch-remove\",\n      \"code\": 988364,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q275.4 750 262.7 762.7T250 792 262.7 821.3 292 834 321.3 821.3 334 792 321.3 762.7 291 750ZM291 166Q275.4 166 262.7 178.7T250 208 262.7 237.3 292 250 321.3 237.3 334 208 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 262.7T666 292 678.7 321.3 708 334 737.3 321.3 750 292 737.3 262.7 709 250ZM837.9 601.6L750 691.4 662.1 603.5 603.5 662.1 691.4 750 603.5 837.9 662.1 898.4 750 808.6 837.9 898.4 898.4 837.9 808.6 750 898.4 662.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch-remove\"\n      ]\n    },\n    {\n      \"uid\": \"805679697de4fe62ba82abff4602c322\",\n      \"css\": \"source-branch-refresh\",\n      \"code\": 988365,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q275.4 750 262.7 762.7T250 792 262.7 821.3 292 834 321.3 821.3 334 792 321.3 762.7 291 750ZM291 166Q275.4 166 262.7 178.7T250 208 262.7 237.3 292 250 321.3 237.3 334 208 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 262.7T666 292 678.7 321.3 708 334 737.3 321.3 750 292 737.3 262.7 709 250ZM750 584Q822.3 584 867.2 632.8L916 584V750H750L824.2 675.8Q789.1 646.5 750 646.5 707 646.5 676.8 676.8T646.5 750 676.8 823.2 750 853.5Q798.8 853.5 834 812.5H904.3Q884.8 859.4 843.8 887.7T750 916Q681.6 916 632.8 867.2T584 750 632.8 632.8 750 584Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch-refresh\"\n      ]\n    },\n    {\n      \"uid\": \"e68390f9666a908ede4a2e955c7fd6b3\",\n      \"css\": \"source-branch-sync\",\n      \"code\": 988366,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q275.4 750 262.7 762.7T250 792 262.7 821.3 292 834 321.3 821.3 334 792 321.3 762.7 291 750ZM291 166Q275.4 166 262.7 178.7T250 208 262.7 237.3 292 250 321.3 237.3 334 208 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 262.7T666 292 678.7 321.3 708 334 737.3 321.3 750 292 737.3 262.7 709 250ZM750 541V603.5Q818.4 603.5 867.2 652.3T916 771.5Q916 820.3 888.7 863.3L843.8 818.4Q853.5 794.9 853.5 771.5 853.5 728.5 823.2 697.3T750 666V728.5L656.3 634.8ZM750 1000V937.5Q681.6 937.5 632.8 888.7T584 771.5Q584 720.7 611.3 679.7L656.3 724.6Q646.5 746.1 646.5 771.5 646.5 814.5 676.8 844.7T750 875V812.5L843.8 908.2Q835.9 916 750 1000Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch-sync\"\n      ]\n    },\n    {\n      \"uid\": \"90c9824ba005286d476d8e84981bdd38\",\n      \"css\": \"source-branch-check\",\n      \"code\": 988367,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M541 584Q449.2 584 394.5 615.2 355.5 638.7 341.8 675.8 375 691.4 395.5 722.7T416 791Q416 843.8 379.9 879.9T292 916 203.1 879.9 166 791Q166 752 189.5 719.7T250 673.8V326.2Q212.9 312.5 189.5 280.3T166 209Q166 156.3 203.1 120.1T292 84 379.9 120.1 416 209Q416 248 393.6 280.3T334 326.2V546.9Q396.5 500 500 500 574.2 500 617.2 466.8 648.4 443.4 660.2 406.3 627 392.6 605.5 361.3T584 291Q584 240.2 620.1 203.1T708 166 796.9 203.1 834 291Q834 334 809.6 367.2T746.1 410.2Q734.4 476.6 697.3 519.5 642.6 584 541 584ZM291 750Q275.4 750 262.7 762.7T250 792 262.7 821.3 292 834 321.3 821.3 334 792 321.3 762.7 291 750ZM291 166Q275.4 166 262.7 178.7T250 208 262.7 237.3 292 250 321.3 237.3 334 208 321.3 178.7 291 166ZM709 250Q691.4 250 678.7 262.7T666 292 678.7 321.3 708 334 737.3 321.3 750 292 737.3 262.7 709 250ZM697.3 880.9L584 755.9 630.9 709 697.3 775.4 847.7 625 896.5 683.6Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"source-branch-check\"\n      ]\n    },\n    {\n      \"uid\": \"b479f836122783f73fb3ee91fa9668a1\",\n      \"css\": \"puzzle-plus\",\n      \"code\": 988368,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M543 816.4Q531.3 783.2 502.9 762.7T437.5 742.2Q390.6 742.2 357.4 774.4T324.2 853.5V916H166Q132.8 916 108.4 891.6T84 834V675.8H146.5Q193.4 675.8 225.6 642.6T257.8 562.5 225.6 482.4 146.5 449.2H84V291Q84 257.8 108.4 233.4T166 209H334V146.5Q334 103.5 364.3 72.3T437.5 41 510.7 72.3 541 146.5V209H709Q742.2 209 766.6 233.4T791 291V459H853.5Q896.5 459 927.7 489.3T959 562.5Q959 582 951.2 599.6 880.9 541 791 541 724.6 541 667 575.2T575.2 667 541 791Q541 808.6 543 816.4ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-plus\"\n      ]\n    },\n    {\n      \"uid\": \"a5b92860e047fada3e85d978a872bac0\",\n      \"css\": \"puzzle-minus\",\n      \"code\": 988369,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M543 816.4Q531.3 783.2 502.9 762.7T437.5 742.2Q390.6 742.2 357.4 774.4T324.2 853.5V916H166Q132.8 916 108.4 891.6T84 834V675.8H146.5Q193.4 675.8 225.6 642.6T257.8 562.5 225.6 482.4 146.5 449.2H84V291Q84 257.8 108.4 233.4T166 209H334V146.5Q334 103.5 364.3 72.3T437.5 41 510.7 72.3 541 146.5V209H709Q742.2 209 766.6 233.4T791 291V459H853.5Q896.5 459 927.7 489.3T959 562.5Q959 582 951.2 599.6 880.9 541 791 541 724.6 541 667 575.2T575.2 667 541 791Q541 808.6 543 816.4ZM625 750V834H959V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-minus\"\n      ]\n    },\n    {\n      \"uid\": \"69b208927086dc150d2dc8fc3358b6af\",\n      \"css\": \"puzzle-remove\",\n      \"code\": 988370,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M543 816.4Q531.3 783.2 502.9 762.7T437.5 742.2Q390.6 742.2 357.4 774.4T324.2 853.5V916H166Q132.8 916 108.4 891.6T84 834V675.8H146.5Q193.4 675.8 225.6 642.6T257.8 562.5 225.6 482.4 146.5 449.2H84V291Q84 257.8 108.4 233.4T166 209H334V146.5Q334 103.5 364.3 72.3T437.5 41 510.7 72.3 541 146.5V209H709Q742.2 209 766.6 233.4T791 291V459H853.5Q896.5 459 927.7 489.3T959 562.5Q959 582 951.2 599.6 880.9 541 791 541 724.6 541 667 575.2T575.2 667 541 791Q541 808.6 543 816.4ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-remove\"\n      ]\n    },\n    {\n      \"uid\": \"3cb425f634179e2fc1b824a1d99d76d6\",\n      \"css\": \"puzzle-edit\",\n      \"code\": 988371,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M877 505.9Q867.2 505.9 861.3 511.7L818.4 554.7 904.3 638.7 945.3 597.7Q953.1 591.8 953.1 582T945.3 566.4L892.6 511.7Q884.8 505.9 877 505.9ZM794.9 578.1L541 830.1V916H627L880.9 664.1ZM791 462.9L496.1 757.8Q468.8 742.2 437.5 742.2 390.6 742.2 357.4 774.4T324.2 853.5V916H166Q132.8 916 108.4 891.6T84 834V675.8H146.5Q193.4 675.8 225.6 642.6T257.8 562.5 225.6 482.4 146.5 449.2H84V291Q84 257.8 108.4 233.4T166 209H334V146.5Q334 103.5 364.3 72.3T437.5 41 510.7 72.3 541 146.5V209H709Q742.2 209 766.6 233.4T791 291V462.9Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-edit\"\n      ]\n    },\n    {\n      \"uid\": \"80cdcff7492e9fa8f697fb6925cb6065\",\n      \"css\": \"puzzle-heart\",\n      \"code\": 988372,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 929.7L767.6 908.2 748 890.6Q681.6 826.2 658.2 798.8 625 755.9 625 717.8T652.3 652.3 716.8 625Q738.3 625 758.8 633.8T791 658.2Q804.7 642.6 824.2 633.8T867.2 625Q904.3 625 931.6 650.4T959 715.8 923.8 798.8Q902.3 826.2 835.9 890.6L816.4 908.2ZM853.5 459H791V291Q791 257.8 766.6 233.4T709 209H541V146.5Q541 103.5 510.7 72.3T437.5 41 364.3 72.3 334 146.5V209H166Q132.8 209 108.4 233.4T84 291V449.2H146.5Q193.4 449.2 225.6 482.4T257.8 562.5 225.6 642.6 146.5 675.8H84V834Q84 867.2 108.4 891.6T166 916H324.2V853.5Q324.2 806.6 357.4 774.4T437.5 742.2Q466.8 742.2 491.2 754.9T531.3 791H544.9Q541 767.6 541 750 541 681.6 575.2 624T667 533.2 791 500Q886.7 500 959 564.5V562.5Q959 519.5 927.7 489.3T853.5 459Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-heart\"\n      ]\n    },\n    {\n      \"uid\": \"d93dec29c869601d1e4fad8394eb61ac\",\n      \"css\": \"puzzle-star\",\n      \"code\": 988373,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M791 837.9L894.5 898.4 867.2 781.3 959 703.1 837.9 693.4 791 584 744.1 693.4 625 703.1 716.8 781.3 687.5 898.4ZM959 562.5V564.5Q886.7 500 791 500 724.6 500 667 533.2T575.2 624 541 750Q541 767.6 544.9 791H531.3Q515.6 767.6 491.2 754.9T437.5 742.2Q390.6 742.2 357.4 774.4T324.2 853.5V916H166Q132.8 916 108.4 891.6T84 834V675.8H146.5Q193.4 675.8 225.6 642.6T257.8 562.5 225.6 482.4 146.5 449.2H84V291Q84 257.8 108.4 233.4T166 209H334V146.5Q334 103.5 364.3 72.3T437.5 41 510.7 72.3 541 146.5V209H709Q742.2 209 766.6 233.4T791 291V459H853.5Q896.5 459 927.7 489.3T959 562.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-star\"\n      ]\n    },\n    {\n      \"uid\": \"fe4a7181417cdf78f34482a18731a203\",\n      \"css\": \"puzzle-plus-outline\",\n      \"code\": 988374,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M550.8 916V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q845.7 425.8 880.9 466.8T916 562.5V574.2Q877 552.7 830.1 544.9 824.2 525.4 807.6 512.7T771.5 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T435.5 709 546.9 742.2Q541 765.6 541 791 541 859.4 576.2 916H550.8ZM750 625V750H625V834H750V959H834V834H959V750H834V625H750Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-plus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3d8a89312884c5d9acf068d9ac6ef8bd\",\n      \"css\": \"puzzle-minus-outline\",\n      \"code\": 988375,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M550.8 916V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q845.7 425.8 880.9 466.8T916 562.5V574.2Q877 552.7 830.1 544.9 824.2 525.4 807.6 512.7T771.5 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T435.5 709 546.9 742.2Q541 765.6 541 791 541 859.4 576.2 916H550.8ZM625 750V834H959V750H625Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-minus-outline\"\n      ]\n    },\n    {\n      \"uid\": \"e69294a7e971f14d7b1fa0bd3b3ebd07\",\n      \"css\": \"puzzle-remove-outline\",\n      \"code\": 988376,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M550.8 916V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q845.7 425.8 880.9 466.8T916 562.5V574.2Q877 552.7 830.1 544.9 824.2 525.4 807.6 512.7T771.5 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T435.5 709 546.9 742.2Q541 765.6 541 791 541 859.4 576.2 916H550.8ZM880.9 644.5L791 732.4 703.1 644.5 644.5 703.1 732.4 791 644.5 880.9 703.1 939.5 791 849.6 880.9 939.5 939.5 880.9 849.6 791 939.5 703.1Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-remove-outline\"\n      ]\n    },\n    {\n      \"uid\": \"6065207c941d397ec895420b623a2088\",\n      \"css\": \"puzzle-edit-outline\",\n      \"code\": 988377,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M877 505.9Q867.2 505.9 861.3 511.7L818.4 554.7 904.3 638.7 945.3 597.7Q953.1 591.8 953.1 582T945.3 566.4L892.6 511.7Q884.8 505.9 877 505.9ZM794.9 578.1L541 830.1V916H627L880.9 664.1ZM460.9 794.9Q453.1 791 437.5 791 390.6 791 357.4 824.2T324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q810.5 421.9 834 431.6 812.5 443.4 800.8 453.1L755.9 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T437.5 709Q486.3 709 525.4 728.5Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-edit-outline\"\n      ]\n    },\n    {\n      \"uid\": \"87a3d2dd791a8d7df8c1968f92b4a67b\",\n      \"css\": \"puzzle-heart-outline\",\n      \"code\": 988378,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M550.8 916V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q837.9 425.8 871.1 456.1T912.1 531.3Q855.5 500 791 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T437.5 709Q494.1 709 541 738.3V750Q541 845.7 605.5 916H550.8ZM791 929.7L816.4 908.2 835.9 890.6Q902.3 826.2 923.8 798.8 959 755.9 959 715.8T931.6 650.4 867.2 625Q843.8 625 824.2 633.8T791 658.2Q779.3 642.6 758.8 633.8T716.8 625Q679.7 625 652.3 652.3T625 717.8 658.2 798.8Q681.6 826.2 748 890.6L767.6 908.2Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-heart-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3cadb532eb7b8a11b032d0032deb93b0\",\n      \"css\": \"puzzle-star-outline\",\n      \"code\": 988379,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M550.8 916V904.3Q550.8 857.4 517.6 824.2T437.5 791 357.4 824.2 324.2 904.3V916H166Q132.8 916 108.4 891.6T84 834V675.8H95.7Q142.6 675.8 175.8 642.6T209 562.5 175.8 482.4 95.7 449.2H84V291Q84 257.8 108.4 233.4T166 209H293Q300.8 154.3 341.8 119.1T437.5 84 533.2 119.1 582 209H709Q742.2 209 766.6 233.4T791 291V418Q837.9 425.8 871.1 456.1T912.1 531.3Q855.5 500 791 500H709V291H500V228.5Q500 203.1 481.4 184.6T437.5 166 393.6 184.6 375 228.5V291H166V380.9Q222.7 402.3 256.8 451.2T291 562.5 256.8 673.8 166 744.1V834H255.9Q277.3 777.3 326.2 743.2T437.5 709Q494.1 709 541 738.3V750Q541 845.7 605.5 916H550.8ZM791 837.9L687.5 898.4 716.8 781.3 625 703.1 744.1 693.4 791 584 837.9 693.4 959 703.1 867.2 781.3 894.5 898.4Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"puzzle-star-outline\"\n      ]\n    },\n    {\n      \"uid\": \"3a9db5e2d512ae585bfd260977136cc5\",\n      \"css\": \"rhombus-medium-outline\",\n      \"code\": 988380,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 269.5Q480.5 269.5 466.8 283.2L283.2 466.8Q269.5 480.5 269.5 500T283.2 533.2L466.8 716.8Q480.5 730.5 500 730.5T533.2 716.8L716.8 533.2Q730.5 519.5 730.5 500T716.8 466.8L533.2 283.2Q519.5 269.5 500 269.5ZM500 367.2L632.8 500 500 632.8 367.2 500Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rhombus-medium-outline\"\n      ]\n    },\n    {\n      \"uid\": \"24831ea2e1cd245a471780c2d927959b\",\n      \"css\": \"rhombus-split-outline\",\n      \"code\": 988381,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M500 84Q466.8 84 441.4 107.4L107.4 441.4Q84 464.8 84 500T107.4 558.6L441.4 892.6Q464.8 916 500 916T558.6 892.6L892.6 558.6Q916 535.2 916 500T892.6 441.4L558.6 107.4Q533.2 84 500 84ZM500 166L636.7 304.7 500 441.4 363.3 304.7ZM304.7 363.3L441.4 500 304.7 636.7 166 500ZM695.3 363.3L834 500 695.3 636.7 558.6 500ZM500 558.6L636.7 695.3 500 834 363.3 695.3Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rhombus-split-outline\"\n      ]\n    },\n    {\n      \"uid\": \"2cd14ecad1c54c21687f150d6ac56949\",\n      \"css\": \"rocket-launch\",\n      \"code\": 988382,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M546.9 923.8L478.5 765.6Q572.3 730.5 662.1 669.9ZM234.4 521.5L76.2 453.1 330.1 337.9Q269.5 427.7 234.4 521.5ZM900.4 99.6L877 91.8Q847.7 84 812.5 84 765.6 82 716.8 93.8 654.3 107.4 595.7 140.6 523.4 181.6 459 248 343.8 361.3 277.3 527.3 267.6 550.8 273.4 574.2T296.9 615.2L384.8 703.1Q402.3 720.7 425.8 726.6T472.7 722.7Q632.8 662.1 752 541 818.4 476.6 859.4 404.3 892.6 345.7 906.3 283.2 918 234.4 916 187.5 916 152.3 908.2 123ZM605.5 394.5Q582 369.1 582 335T606.4 276.4 665 252 723.6 276.4 748 335 723.6 393.6 665 418 605.5 394.5ZM369.1 689.5L310.5 630.9ZM259.8 916L412.1 765.6Q390.6 759.8 371.1 746.1L201.2 916H259.8ZM84 916H142.6L341.8 718.8 281.3 660.2 84 857.4V916ZM84 798.8L253.9 628.9Q240.2 609.4 234.4 587.9L84 740.2V798.8Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"rocket-launch\"\n      ]\n    },\n    {\n      \"uid\": \"2896226a629ce36eeda9883819679072\",\n      \"css\": \"set-merge\",\n      \"code\": 988384,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M84 291V375H291V291H84ZM500 375V459H375V541H500V625L625 500ZM709 375V625H916V375H709ZM84 459V541H291V459H84ZM84 625V709H291V625H84Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-merge\"\n      ]\n    },\n    {\n      \"uid\": \"7cba60cb4d77708a5b0a9e08ce7030dd\",\n      \"css\": \"set-split\",\n      \"code\": 988385,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M709 291V375H916V291H709ZM84 375V625H291V375H84ZM500 375V459H375V541H500V625L625 500ZM709 459V541H916V459H709ZM709 625V709H916V625H709Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"set-split\"\n      ]\n    },\n    {\n      \"uid\": \"b39a043bdb10d9d11ccecca6f17a07fe\",\n      \"css\": \"logout-variant\",\n      \"code\": 64737,\n      \"src\": \"custom_icons\",\n      \"selected\": false,\n      \"svg\": {\n        \"path\": \"M586.7 649.6L694.6 541.7H291.7V458.3H694.6L586.7 350.4 645.8 291.7 854.2 500 645.8 708.3 586.7 649.6M791.7 125C837.5 125 875 162.5 875 208.3V402.9L791.7 319.6V208.3H208.3V791.7H791.7V680.4L875 597.1V791.7C875 837.5 837.5 875 791.7 875H208.3C162.1 875 125 837.5 125 791.7V208.3C125 162.1 162.1 125 208.3 125H791.7Z\",\n        \"width\": 1000\n      },\n      \"search\": [\n        \"logout-variant\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "frontend/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\" />\n    <link rel=\"icon\" href=\"/admin/static/favicon.png?v=asset_version\" />\n    <link href=\"/admin/custom.css?v=asset_version\" rel=\"stylesheet\" type=\"text/css\">\n    <script src=\"/admin/custom.js?v=asset_version\" async defer></script>\n    <title>listmonk</title>\n  </head>\n  <body>\n    <noscript>\n      <strong>We're sorry but listmonk doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>\n    </noscript>\n\n    <div id=\"app\"></div>\n\n    <script type=\"module\" src=\"/src/main.js\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "frontend/jsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"@/*\": [\"./src/*\"]\n    }\n  },\n  \"exclude\": [\"node_modules\", \"dist\"]\n}\n"
  },
  {
    "path": "frontend/package.json",
    "content": "{\n  \"name\": \"listmonk\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"vite build\",\n    \"serve\": \"vite preview\",\n    \"lint\": \"eslint --ext .js,.vue --ignore-path .gitignore src\",\n    \"prebuild\": \"eslint --ext .js,.vue --ignore-path .gitignore src\",\n    \"postinstall\": \"cp node_modules/altcha/dist/altcha.umd.cjs ../static/public/static/altcha.umd.js\"\n  },\n  \"dependencies\": {\n    \"@codemirror/commands\": \"^6.8.1\",\n    \"@codemirror/lang-css\": \"^6.3.1\",\n    \"@codemirror/lang-html\": \"^6.4.9\",\n    \"@codemirror/lang-javascript\": \"^6.2.3\",\n    \"@codemirror/lang-markdown\": \"^6.3.2\",\n    \"@codemirror/language\": \"^6.11.0\",\n    \"@codemirror/language-data\": \"^6.5.1\",\n    \"@codemirror/search\": \"^6.5.10\",\n    \"@codemirror/state\": \"^6.5.2\",\n    \"@codemirror/view\": \"^6.36.5\",\n    \"@lezer/highlight\": \"^1.2.1\",\n    \"@tinymce/tinymce-vue\": \"^3\",\n    \"axios\": \"^1.13.5\",\n    \"buefy\": \"^0.9.25\",\n    \"bulma\": \"^0.9.4\",\n    \"chart.js\": \"^4.4.1\",\n    \"codemirror\": \"^6.0.0\",\n    \"dayjs\": \"^1.11.10\",\n    \"indent.js\": \"^0.3.5\",\n    \"js-beautify\": \"^1.15.1\",\n    \"prismjs\": \"^1.30.0\",\n    \"qs\": \"^6.14.2\",\n    \"textversionjs\": \"^1.1.3\",\n    \"tinymce\": \"^5.10.9\",\n    \"turndown\": \"^7.1.2\",\n    \"vue\": \"^2.7.14\",\n    \"vue-chartjs\": \"^5.3.0\",\n    \"vue-i18n\": \"^8.28.2\",\n    \"vue-router\": \"^3.2.0\",\n    \"vuex\": \"^3.6.2\"\n  },\n  \"devDependencies\": {\n    \"altcha\": \"^2.3.0\",\n    \"@types/js-beautify\": \"^1.14.3\",\n    \"@vitejs/plugin-vue2\": \"^2.3.1\",\n    \"@vue/eslint-config-airbnb\": \"^7.0.1\",\n    \"cypress\": \"15.8.1\",\n    \"cypress-file-upload\": \"^5.0.2\",\n    \"cypress-wait-until\": \"^3.0.2\",\n    \"eslint\": \"^8.56.0\",\n    \"eslint-define-config\": \"^2.0.0\",\n    \"eslint-plugin-import\": \"^2.23.3\",\n    \"eslint-plugin-vue\": \"^9.19.2\",\n    \"sass\": \"^1.34.0\",\n    \"vite\": \"^5.4.21\",\n    \"vue-eslint-parser\": \"^9.3.2\",\n    \"vue-template-compiler\": \"^2.6.12\"\n  },\n  \"resolutions\": {\n    \"jackspeak\": \"2.1.1\"\n  },\n  \"packageManager\": \"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e\"\n}"
  },
  {
    "path": "frontend/public/static/tinymce/lang/cs.js",
    "content": "tinymce.addI18n('cs',{\n\"Redo\": \"Opakovat\",\n\"Undo\": \"Zp\\u011bt\",\n\"Cut\": \"Vyjmout\",\n\"Copy\": \"Kop\\u00edrovat\",\n\"Paste\": \"Vlo\\u017eit\",\n\"Select all\": \"Vybrat v\\u0161e\",\n\"New document\": \"Nov\\u00fd dokument\",\n\"Ok\": \"OK\",\n\"Cancel\": \"Storno\",\n\"Visual aids\": \"Vizu\\u00e1ln\\u00ed pom\\u016fcky\",\n\"Bold\": \"Tu\\u010dn\\u00e9\",\n\"Italic\": \"Kurz\\u00edva\",\n\"Underline\": \"Podtr\\u017een\\u00ed\",\n\"Strikethrough\": \"P\\u0159e\\u0161krtnut\\u00e9\",\n\"Superscript\": \"Horn\\u00ed index\",\n\"Subscript\": \"Doln\\u00ed index\",\n\"Clear formatting\": \"Vymazat form\\u00e1tov\\u00e1n\\u00ed\",\n\"Align left\": \"Zarovnat doleva\",\n\"Align center\": \"Zarovnat na st\\u0159ed\",\n\"Align right\": \"Zarovnat doprava\",\n\"Justify\": \"Zarovnat do bloku\",\n\"Bullet list\": \"Odr\\u00e1\\u017eky\",\n\"Numbered list\": \"\\u010c\\u00edslov\\u00e1n\\u00ed\",\n\"Decrease indent\": \"Zmen\\u0161it odsazen\\u00ed\",\n\"Increase indent\": \"Zv\\u011bt\\u0161it odsazen\\u00ed\",\n\"Close\": \"Zav\\u0159\\u00edt\",\n\"Formats\": \"Form\\u00e1ty\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"V\\u00e1\\u0161 prohl\\u00ed\\u017ee\\u010d nepodporuje p\\u0159\\u00edm\\u00fd p\\u0159\\u00edstup do schr\\u00e1nky. Pou\\u017eijte pros\\u00edm kl\\u00e1vesov\\u00e9 zkratky Ctrl+X\\/C\\/V.\",\n\"Headers\": \"Nadpisy\",\n\"Header 1\": \"Nadpis 1\",\n\"Header 2\": \"Nadpis 2\",\n\"Header 3\": \"Nadpis 3\",\n\"Header 4\": \"Nadpis 4\",\n\"Header 5\": \"Nadpis 5\",\n\"Header 6\": \"Nadpis 6\",\n\"Headings\": \"Nadpisy\",\n\"Heading 1\": \"Nadpis 1\",\n\"Heading 2\": \"Nadpis 2\",\n\"Heading 3\": \"Nadpis 3\",\n\"Heading 4\": \"Nadpis 4\",\n\"Heading 5\": \"Nadpis 5\",\n\"Heading 6\": \"Nadpis 6\",\n\"Preformatted\": \"P\\u0159edform\\u00e1tovan\\u00fd text\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"K\\u00f3d\",\n\"Paragraph\": \"Odstavec\",\n\"Blockquote\": \"Blokov\\u00e1 citace\",\n\"Inline\": \"\\u0158\\u00e1dkov\\u00e9 zobrazen\\u00ed (inline)\",\n\"Blocks\": \"Bloky\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Je zapnuto vkl\\u00e1d\\u00e1n\\u00ed \\u010dist\\u00e9ho textu. Dokud nebude tato volba vypnuta, bude ve\\u0161ker\\u00fd obsah vlo\\u017een jako \\u010dist\\u00fd text.\",\n\"Fonts\": \"P\\u00edsma\",\n\"Font Sizes\": \"Velikost p\\u00edsma\",\n\"Class\": \"T\\u0159\\u00edda\",\n\"Browse for an image\": \"Vyhledat obr\\u00e1zek\",\n\"OR\": \"OR\",\n\"Drop an image here\": \"P\\u0159esu\\u0148te obr\\u00e1zek sem\",\n\"Upload\": \"Nahr\\u00e1t\",\n\"Block\": \"Do bloku\",\n\"Align\": \"Zarovnat\",\n\"Default\": \"V\\u00fdchoz\\u00ed\",\n\"Circle\": \"Kole\\u010dko\",\n\"Disc\": \"Punt\\u00edk\",\n\"Square\": \"\\u010ctvere\\u010dek\",\n\"Lower Alpha\": \"Norm\\u00e1ln\\u00ed \\u010d\\u00edslov\\u00e1n\\u00ed\",\n\"Lower Greek\": \"Mal\\u00e9 p\\u00edsmenkov\\u00e1n\\u00ed\",\n\"Lower Roman\": \"Mal\\u00e9 \\u0159\\u00edmsk\\u00e9 \\u010d\\u00edslice\",\n\"Upper Alpha\": \"velk\\u00e9 p\\u00edsmenkov\\u00e1n\\u00ed\",\n\"Upper Roman\": \"\\u0158\\u00edmsk\\u00e9 \\u010d\\u00edslice\",\n\"Anchor...\": \"Kotva...\",\n\"Name\": \"N\\u00e1zev\",\n\"Id\": \"Id\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Id by m\\u011blo za\\u010d\\u00ednat p\\u00edsmenem a d\\u00e1le obsahovat pouze p\\u00edsmena, \\u010d\\u00edsla, poml\\u010dky, te\\u010dky, dvojte\\u010dky, nebo podtr\\u017e\\u00edtka.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"M\\u00e1te neulo\\u017een\\u00e9 zm\\u011bny. Opravdu chcete opustit str\\u00e1nku?\",\n\"Restore last draft\": \"Obnovit posledn\\u00ed koncept\",\n\"Special character...\": \"Speci\\u00e1ln\\u00ed znak\\u2026\",\n\"Source code\": \"Zdrojov\\u00fd k\\u00f3d\",\n\"Insert\\/Edit code sample\": \"Vlo\\u017eit \\/ Upravit uk\\u00e1zkov\\u00fd k\\u00f3d\",\n\"Language\": \"Jazyk\",\n\"Code sample...\": \"Uk\\u00e1zkov\\u00fd k\\u00f3d...\",\n\"Color Picker\": \"V\\u00fdb\\u011br barvy\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Zleva doprava\",\n\"Right to left\": \"Zprava doleva\",\n\"Emoticons\": \"Emotikony\",\n\"Emoticons...\": \"Emotikony...\",\n\"Metadata and Document Properties\": \"Metadata a vlastnosti dokumentu\",\n\"Title\": \"Titulek\",\n\"Keywords\": \"Kl\\u00ed\\u010dov\\u00e1 slova\",\n\"Description\": \"Popis\",\n\"Robots\": \"Roboti\",\n\"Author\": \"Autor\",\n\"Encoding\": \"K\\u00f3dov\\u00e1n\\u00ed\",\n\"Fullscreen\": \"Na celou obrazovku\",\n\"Action\": \"Akce\",\n\"Shortcut\": \"Kl\\u00e1vesov\\u00e1 zkratka\",\n\"Help\": \"N\\u00e1pov\\u011bda\",\n\"Address\": \"Blok s po\\u0161tovn\\u00ed adresou\",\n\"Focus to menubar\": \"P\\u0159ej\\u00edt do menu\",\n\"Focus to toolbar\": \"P\\u0159ej\\u00edt na panel n\\u00e1stroj\\u016f\",\n\"Focus to element path\": \"P\\u0159ej\\u00edt na element path\",\n\"Focus to contextual toolbar\": \"P\\u0159ej\\u00edt na kontextov\\u00fd panel n\\u00e1stroj\\u016f\",\n\"Insert link (if link plugin activated)\": \"Vlo\\u017eit odkaz (pokud je aktivn\\u00ed link plugin)\",\n\"Save (if save plugin activated)\": \"Ulo\\u017eit (pokud je aktivni save plugin)\",\n\"Find (if searchreplace plugin activated)\": \"Hledat (pokud je aktivn\\u00ed plugin searchreplace)\",\n\"Plugins installed ({0}):\": \"Instalovan\\u00e9 pluginy ({0}):\",\n\"Premium plugins:\": \"Pr\\u00e9miov\\u00e9 pluginy:\",\n\"Learn more...\": \"Zjistit v\\u00edce...\",\n\"You are using {0}\": \"Pou\\u017e\\u00edv\\u00e1te {0}\",\n\"Plugins\": \"Pluginy\",\n\"Handy Shortcuts\": \"U\\u017eite\\u010dn\\u00e9 kl\\u00e1vesov\\u00e9 zkratky\",\n\"Horizontal line\": \"Vodorovn\\u00e1 \\u010d\\u00e1ra\",\n\"Insert\\/edit image\": \"Vlo\\u017eit \\/ upravit obr\\u00e1zek\",\n\"Alternative description\": \"Alternativn\\u00ed text\",\n\"Accessibility\": \"Bez alternativn\\u00edho textu\",\n\"Image is decorative\": \"(dekorativn\\u00ed obr\\u00e1zek bez alternativn\\u00edho textu)\",\n\"Source\": \"URL\",\n\"Dimensions\": \"Rozm\\u011bry\",\n\"Constrain proportions\": \"Zachovat proporce\",\n\"General\": \"Obecn\\u00e9\",\n\"Advanced\": \"Pokro\\u010dil\\u00e9\",\n\"Style\": \"Styl\",\n\"Vertical space\": \"Vertik\\u00e1ln\\u00ed mezera\",\n\"Horizontal space\": \"Horizont\\u00e1ln\\u00ed mezera\",\n\"Border\": \"R\\u00e1me\\u010dek\",\n\"Insert image\": \"Vlo\\u017eit obr\\u00e1zek\",\n\"Image...\": \"Obr\\u00e1zek\\u2026\",\n\"Image list\": \"Seznam obr\\u00e1zk\\u016f\",\n\"Rotate counterclockwise\": \"Oto\\u010dit doleva\",\n\"Rotate clockwise\": \"Oto\\u010dit doprava\",\n\"Flip vertically\": \"P\\u0159evr\\u00e1tit svisle\",\n\"Flip horizontally\": \"P\\u0159evr\\u00e1tit vodorovn\\u011b\",\n\"Edit image\": \"Upravit obr\\u00e1zek\",\n\"Image options\": \"Vlastnosti obr\\u00e1zku\",\n\"Zoom in\": \"P\\u0159ibl\\u00ed\\u017eit\",\n\"Zoom out\": \"Odd\\u00e1lit\",\n\"Crop\": \"O\\u0159\\u00edznout\",\n\"Resize\": \"Zm\\u011bnit velikost\",\n\"Orientation\": \"Transformovat\",\n\"Brightness\": \"Jas\",\n\"Sharpen\": \"Ostrost\",\n\"Contrast\": \"Kontrast\",\n\"Color levels\": \"\\u00darovn\\u011b barev\",\n\"Gamma\": \"Gama\",\n\"Invert\": \"Invertovat\",\n\"Apply\": \"Pou\\u017e\\u00edt\",\n\"Back\": \"Zp\\u011bt\",\n\"Insert date\\/time\": \"Vlo\\u017eit datum \\/ \\u010das\",\n\"Date\\/time\": \"Datum\\/\\u010das\",\n\"Insert\\/edit link\": \"Vlo\\u017eit \\/ upravit odkaz\",\n\"Text to display\": \"Text k zobrazen\\u00ed\",\n\"Url\": \"URL\",\n\"Open link in...\": \"Otev\\u0159\\u00edt odkaz v...\",\n\"Current window\": \"Aktu\\u00e1ln\\u00ed okno\",\n\"None\": \"\\u017d\\u00e1dn\\u00e9\",\n\"New window\": \"Nov\\u00e9 okno\",\n\"Open link\": \"C\\u00edlov\\u00e9 okno URL\",\n\"Remove link\": \"Odstranit odkaz\",\n\"Anchors\": \"Kotvy\",\n\"Link...\": \"Odkaz...\",\n\"Paste or type a link\": \"Vlo\\u017eit nebo napsat odkaz\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"Zadan\\u00e9 URL vypad\\u00e1 jako e-mailov\\u00e1 adresa. Chcete doplnit povinn\\u00fd prefix mailto:?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"Zadan\\u00e9 URL vypad\\u00e1 jako odkaz na jin\\u00fd web. Chcete doplnit povinn\\u00fd prefix http:\\/\\/?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"Zadan\\u00e9 URL vypad\\u00e1 jako odkaz na jin\\u00fd web. Chcete doplnit povinn\\u00fd prefix https:\\/\\/?\",\n\"Link list\": \"Seznam odkaz\\u016f\",\n\"Insert video\": \"Vlo\\u017eit video\",\n\"Insert\\/edit video\": \"Vlo\\u017eit \\/ upravit video\",\n\"Insert\\/edit media\": \"Vlo\\u017eit \\/ upravit m\\u00e9dia\",\n\"Alternative source\": \"Alternativn\\u00ed zdroj\",\n\"Alternative source URL\": \"Alternativn\\u00ed zdrojov\\u00e1 URL\",\n\"Media poster (Image URL)\": \"Medi\\u00e1ln\\u00ed plak\\u00e1t (URL obr\\u00e1zku)\",\n\"Paste your embed code below:\": \"Vlo\\u017ete k\\u00f3d pro vlo\\u017een\\u00ed n\\u00ed\\u017ee:\",\n\"Embed\": \"Vlo\\u017eit\",\n\"Media...\": \"M\\u00e9dium...\",\n\"Nonbreaking space\": \"Pevn\\u00e1 mezera\",\n\"Page break\": \"Konec str\\u00e1nky\",\n\"Paste as text\": \"Vlo\\u017eit jako \\u010dist\\u00fd text\",\n\"Preview\": \"N\\u00e1hled\",\n\"Print...\": \"Tisk...\",\n\"Save\": \"Ulo\\u017eit\",\n\"Find\": \"Naj\\u00edt\",\n\"Replace with\": \"Nahradit za\",\n\"Replace\": \"Nahradit\",\n\"Replace all\": \"Nahradit v\\u0161e\",\n\"Previous\": \"P\\u0159edchoz\\u00ed\",\n\"Next\": \"Dal\\u0161\\u00ed\",\n\"Find and Replace\": \"Naj\\u00edt a nahradit\",\n\"Find and replace...\": \"Naj\\u00edt a nahradit...\",\n\"Could not find the specified string.\": \"Zadan\\u00fd \\u0159et\\u011bzec nebyl nalezen.\",\n\"Match case\": \"Rozli\\u0161ovat mal\\u00e1 a velk\\u00e1 p\\u00edsmena\",\n\"Find whole words only\": \"Hledat pouze cel\\u00e1 slova\",\n\"Find in selection\": \"Ozna\\u010den\\u00fd text\",\n\"Spellcheck\": \"Kontrola pravopisu\",\n\"Spellcheck Language\": \"Jazyk kontroly pravopisu\",\n\"No misspellings found.\": \"Nebyly nalezeny \\u017e\\u00e1dn\\u00e9 p\\u0159eklepy.\",\n\"Ignore\": \"Ignorovat\",\n\"Ignore all\": \"Ignorovat v\\u0161e\",\n\"Finish\": \"Ukon\\u010dit\",\n\"Add to Dictionary\": \"P\\u0159idat do slovn\\u00edku\",\n\"Insert table\": \"Vlo\\u017eit tabulku\",\n\"Table properties\": \"Vlastnosti tabulky\",\n\"Delete table\": \"Smazat tabulku\",\n\"Cell\": \"Bu\\u0148ka\",\n\"Row\": \"\\u0158\\u00e1dek\",\n\"Column\": \"Sloupec\",\n\"Cell properties\": \"Vlastnosti bu\\u0148ky\",\n\"Merge cells\": \"Slou\\u010dit bu\\u0148ky\",\n\"Split cell\": \"Rozd\\u011blit bu\\u0148ky\",\n\"Insert row before\": \"Vlo\\u017eit \\u0159\\u00e1dek nad\",\n\"Insert row after\": \"Vlo\\u017eit \\u0159\\u00e1dek pod\",\n\"Delete row\": \"Smazat \\u0159\\u00e1dek\",\n\"Row properties\": \"Vlastnosti \\u0159\\u00e1dku\",\n\"Cut row\": \"Vyjmout \\u0159\\u00e1dek\",\n\"Copy row\": \"Kop\\u00edrovat \\u0159\\u00e1dek\",\n\"Paste row before\": \"Vlo\\u017eit \\u0159\\u00e1dek nad\",\n\"Paste row after\": \"Vlo\\u017eit \\u0159\\u00e1dek pod\",\n\"Insert column before\": \"Vlo\\u017eit sloupec vlevo\",\n\"Insert column after\": \"Vlo\\u017eit sloupec vpravo\",\n\"Delete column\": \"Smazat sloupec\",\n\"Cols\": \"Sloupc\\u016f\",\n\"Rows\": \"\\u0158\\u00e1dek\",\n\"Width\": \"\\u0160\\u00ed\\u0159ka\",\n\"Height\": \"V\\u00fd\\u0161ka\",\n\"Cell spacing\": \"Vn\\u011bj\\u0161\\u00ed okraj bun\\u011bk\",\n\"Cell padding\": \"Vnit\\u0159n\\u00ed okraj bun\\u011bk\",\n\"Caption\": \"Nadpis\",\n\"Show caption\": \"Zobrazit titulku\",\n\"Left\": \"Vlevo\",\n\"Center\": \"Na st\\u0159ed\",\n\"Right\": \"Vpravo\",\n\"Cell type\": \"Typ bu\\u0148ky\",\n\"Scope\": \"Rozsah\",\n\"Alignment\": \"Zarovn\\u00e1n\\u00ed\",\n\"H Align\": \"Horizont\\u00e1ln\\u00ed zarovn\\u00e1n\\u00ed\",\n\"V Align\": \"Vertik\\u00e1ln\\u00ed zarovn\\u00e1n\\u00ed\",\n\"Top\": \"Nahoru\",\n\"Middle\": \"Uprost\\u0159ed\",\n\"Bottom\": \"Dol\\u016f\",\n\"Header cell\": \"Hlavi\\u010dkov\\u00e1 bu\\u0148ka\",\n\"Row group\": \"Skupina \\u0159\\u00e1dk\\u016f\",\n\"Column group\": \"Skupina sloupc\\u016f\",\n\"Row type\": \"Typ \\u0159\\u00e1dku\",\n\"Header\": \"Hlavi\\u010dka\",\n\"Body\": \"T\\u011blo\",\n\"Footer\": \"Pati\\u010dka\",\n\"Border color\": \"Barva r\\u00e1me\\u010dku\",\n\"Insert template...\": \"Vlo\\u017eit \\u0161ablonu...\",\n\"Templates\": \"\\u0160ablony\",\n\"Template\": \"\\u0160ablona\",\n\"Text color\": \"Barva p\\u00edsma\",\n\"Background color\": \"Barva pozad\\u00ed\",\n\"Custom...\": \"Vlastn\\u00ed...\",\n\"Custom color\": \"Vlastn\\u00ed barva\",\n\"No color\": \"Bez barvy\",\n\"Remove color\": \"Odebrat barvu\",\n\"Table of Contents\": \"Obsah\",\n\"Show blocks\": \"Uk\\u00e1zat bloky\",\n\"Show invisible characters\": \"Zobrazit speci\\u00e1ln\\u00ed znaky\",\n\"Word count\": \"Po\\u010det slov\",\n\"Count\": \"Po\\u010det\",\n\"Document\": \"Dokument\",\n\"Selection\": \"V\\u00fdb\\u011br\",\n\"Words\": \"Slova\",\n\"Words: {0}\": \"Po\\u010det slov: {0}\",\n\"{0} words\": \"Po\\u010det slov: {0}\",\n\"File\": \"Soubor\",\n\"Edit\": \"\\u00dapravy\",\n\"Insert\": \"Vlo\\u017eit\",\n\"View\": \"Zobrazit\",\n\"Format\": \"Form\\u00e1t\",\n\"Table\": \"Tabulka\",\n\"Tools\": \"N\\u00e1stroje\",\n\"Powered by {0}\": \"Vytvo\\u0159il {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Editor. Stiskn\\u011bte ALT-F9 pro menu, ALT-F10 pro n\\u00e1strojovou li\\u0161tu a ALT-0 pro n\\u00e1pov\\u011bdu.\",\n\"Image title\": \"N\\u00e1zev obr\\u00e1zku\",\n\"Border width\": \"\\u0160\\u00ed\\u0159ka ohrani\\u010den\\u00ed\",\n\"Border style\": \"Styl ohrani\\u010den\\u00ed\",\n\"Error\": \"Chyba\",\n\"Warn\": \"Varov\\u00e1n\\u00ed\",\n\"Valid\": \"Platn\\u00fd\",\n\"To open the popup, press Shift+Enter\": \"Vyskakovac\\u00ed okno otev\\u0159ete stisknut\\u00edm Shift+Enter\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Oblast Rich Text, stiskn\\u011bte ALT-0 pro n\\u00e1pov\\u011bdu.\",\n\"System Font\": \"Syst\\u00e9mov\\u00e9 p\\u00edsmo\",\n\"Failed to upload image: {0}\": \"Nahr\\u00e1n\\u00ed obr\\u00e1zku selhalo:\",\n\"Failed to load plugin: {0} from url {1}\": \"Na\\u010dten\\u00ed z\\u00e1suvn\\u00e9ho modulu selhalo: {0} z URL {1}\",\n\"Failed to load plugin url: {0}\": \"Na\\u010dten\\u00ed z\\u00e1suvn\\u00e9ho modulu URL selhalo: {0}\",\n\"Failed to initialize plugin: {0}\": \"Inicializace z\\u00e1suvn\\u00e9ho modulu selhala:\",\n\"example\": \"p\\u0159\\u00edklad\",\n\"Search\": \"Hledat\",\n\"All\": \"V\\u0161e\",\n\"Currency\": \"M\\u011bna\",\n\"Text\": \"Text\",\n\"Quotations\": \"Citace\",\n\"Mathematical\": \"Matematick\\u00e9 symboly\",\n\"Extended Latin\": \"Roz\\u0161\\u00ed\\u0159en\\u00e9 Latin\",\n\"Symbols\": \"Symboly\",\n\"Arrows\": \"\\u0160ipky\",\n\"User Defined\": \"Definovan\\u00e9 u\\u017eivatelem\",\n\"dollar sign\": \"znak dolaru\",\n\"currency sign\": \"znak m\\u011bny\",\n\"euro-currency sign\": \"znak m\\u011bny euro\",\n\"colon sign\": \"znak dvojte\\u010dky\",\n\"cruzeiro sign\": \"znak cruzeiro\",\n\"french franc sign\": \"znak francouzsk\\u00e9ho franku\",\n\"lira sign\": \"znak liry\",\n\"mill sign\": \"znak mill\",\n\"naira sign\": \"znak nairy\",\n\"peseta sign\": \"znak pesety\",\n\"rupee sign\": \"znak rupie\",\n\"won sign\": \"znak wonu\",\n\"new sheqel sign\": \"znak nov\\u00e9ho \\u0161ekelu\",\n\"dong sign\": \"znak dongu\",\n\"kip sign\": \"znak kipu\",\n\"tugrik sign\": \"znak tugriku\",\n\"drachma sign\": \"znak drachmy\",\n\"german penny symbol\": \"znak n\\u011bmeck\\u00e9ho feniku\",\n\"peso sign\": \"znak pesa\",\n\"guarani sign\": \"znak guaran\\u00ed\",\n\"austral sign\": \"znak austral\",\n\"hryvnia sign\": \"znak h\\u0159ivny\",\n\"cedi sign\": \"znak cedi\",\n\"livre tournois sign\": \"znak tournois libry\",\n\"spesmilo sign\": \"znak spesmilo\",\n\"tenge sign\": \"znak tenge\",\n\"indian rupee sign\": \"znak indick\\u00e9 rupie\",\n\"turkish lira sign\": \"znak tureck\\u00e9 liry\",\n\"nordic mark sign\": \"znak norsk\\u00e9 marky\",\n\"manat sign\": \"znak manatu\",\n\"ruble sign\": \"znak rublu\",\n\"yen character\": \"znak jenu\",\n\"yuan character\": \"znak juanu\",\n\"yuan character, in hong kong and taiwan\": \"znak juanu v hongkongu a tchaj-wanu\",\n\"yen\\/yuan character variant one\": \"znak jenu\\/juanu, varianta 1\",\n\"Loading emoticons...\": \"Na\\u010d\\u00edt\\u00e1n\\u00ed emotikon\\u016f...\",\n\"Could not load emoticons\": \"Nelze na\\u010d\\u00edst emotikony\",\n\"People\": \"Lid\\u00e9\",\n\"Animals and Nature\": \"Zv\\u00ed\\u0159ata a p\\u0159\\u00edroda\",\n\"Food and Drink\": \"J\\u00eddlo a pit\\u00ed\",\n\"Activity\": \"Aktivita\",\n\"Travel and Places\": \"Cestov\\u00e1n\\u00ed a m\\u00edsta\",\n\"Objects\": \"Objekty\",\n\"Flags\": \"Vlajky\",\n\"Characters\": \"Znaky\",\n\"Characters (no spaces)\": \"Znaky (bez mezer)\",\n\"{0} characters\": \"{0} znak\\u016f\",\n\"Error: Form submit field collision.\": \"Chyba: Kolize odes\\u00edlac\\u00edho formul\\u00e1\\u0159ov\\u00e9ho pole.\",\n\"Error: No form element found.\": \"Chyba: Nebyl nalezen \\u017e\\u00e1dn\\u00fd prvek formul\\u00e1\\u0159e.\",\n\"Update\": \"Aktualizovat\",\n\"Color swatch\": \"Vzorek barvy\",\n\"Turquoise\": \"Tyrkysov\\u00e1\",\n\"Green\": \"Zelen\\u00e1\",\n\"Blue\": \"Modr\\u00e1\",\n\"Purple\": \"Fialov\\u00e1\",\n\"Navy Blue\": \"N\\u00e1mo\\u0159nick\\u00e1 mod\\u0159\",\n\"Dark Turquoise\": \"Tmav\\u011b tyrkysov\\u00e1\",\n\"Dark Green\": \"Tmav\\u011b zelen\\u00e1\",\n\"Medium Blue\": \"St\\u0159edn\\u011b modr\\u00e1\",\n\"Medium Purple\": \"St\\u0159edn\\u011b fialov\\u00e1\",\n\"Midnight Blue\": \"P\\u016flno\\u010dn\\u00ed modr\\u00e1\",\n\"Yellow\": \"\\u017dlut\\u00e1\",\n\"Orange\": \"Oran\\u017eov\\u00e1\",\n\"Red\": \"\\u010cerven\\u00e1\",\n\"Light Gray\": \"Sv\\u011btle \\u0161ed\\u00e1\",\n\"Gray\": \"\\u0160ed\\u00e1\",\n\"Dark Yellow\": \"Tmav\\u011b \\u017elut\\u00e1\",\n\"Dark Orange\": \"Tmav\\u011b oran\\u017eov\\u00e1\",\n\"Dark Red\": \"Tmav\\u011b \\u010derven\\u00e1\",\n\"Medium Gray\": \"St\\u0159edn\\u011b \\u0161ed\\u00e1\",\n\"Dark Gray\": \"Tmav\\u011b \\u0161ed\\u00e1\",\n\"Light Green\": \"Sv\\u011btle zelen\\u00e1\",\n\"Light Yellow\": \"Sv\\u011btle \\u017elut\\u00e1\",\n\"Light Red\": \"Sv\\u011btle \\u010derven\\u00e1\",\n\"Light Purple\": \"Sv\\u011btle fialov\\u00e1\",\n\"Light Blue\": \"Sv\\u011btle modr\\u00e1\",\n\"Dark Purple\": \"Tmav\\u011b fialov\\u00e1\",\n\"Dark Blue\": \"Tmav\\u011b modr\\u00e1\",\n\"Black\": \"\\u010cern\\u00e1\",\n\"White\": \"B\\u00edl\\u00e1\",\n\"Switch to or from fullscreen mode\": \"P\\u0159ep\\u00edn\\u00e1n\\u00ed mezi re\\u017eimem cel\\u00e9 obrazovky\",\n\"Open help dialog\": \"Otev\\u0159\\u00edt okno n\\u00e1pov\\u011bdy\",\n\"history\": \"historie\",\n\"styles\": \"styly\",\n\"formatting\": \"form\\u00e1tov\\u00e1n\\u00ed\",\n\"alignment\": \"zarovn\\u00e1n\\u00ed\",\n\"indentation\": \"odsazen\\u00ed\",\n\"Font\": \"P\\u00edsmo\",\n\"Size\": \"Velikost\",\n\"More...\": \"Dal\\u0161\\u00ed\\u2026\",\n\"Select...\": \"Vybrat\\u2026\",\n\"Preferences\": \"P\\u0159edvolby\",\n\"Yes\": \"Ano\",\n\"No\": \"Ne\",\n\"Keyboard Navigation\": \"Navigace pomoc\\u00ed kl\\u00e1vesnice\",\n\"Version\": \"Verze\",\n\"Code view\": \"Zobrazit k\\u00f3d\",\n\"Open popup menu for split buttons\": \"Otev\\u0159ete vyskakovac\\u00ed nab\\u00eddku pro rozd\\u011blen\\u00e1 tla\\u010d\\u00edtka\",\n\"List Properties\": \"Vlastnosti seznamu\",\n\"List properties...\": \"Vlastnosti seznamu...\",\n\"Start list at number\": \"Po\\u010d\\u00e1te\\u010dn\\u00ed \\u010d\\u00edslo seznamu\",\n\"Line height\": \"V\\u00fd\\u0161ka \\u0159\\u00e1dku\",\n\"comments\": \"koment\\u00e1\\u0159e\",\n\"Format Painter\": \"Kop\\u00edrovat form\\u00e1t\",\n\"Insert\\/edit iframe\": \"Vlo\\u017eit\\/upravit prvek iframe\",\n\"Capitalization\": \"Velk\\u00e1 p\\u00edsmena\",\n\"lowercase\": \"mal\\u00e1 p\\u00edsmena\",\n\"UPPERCASE\": \"VELK\\u00c1 P\\u00cdSMENA\",\n\"Title Case\": \"V\\u0161echna Prvn\\u00ed Velk\\u00e1\",\n\"permanent pen\": \"permanentn\\u00ed pero\",\n\"Permanent Pen Properties\": \"Vlastnosti permanentn\\u00edho pera\",\n\"Permanent pen properties...\": \"Vlastnosti permanentn\\u00edho pera\\u2026\",\n\"case change\": \"Zm\\u011bna velikosti p\\u00edsmen\",\n\"page embed\": \"Vlo\\u017eit str\\u00e1nku\",\n\"Advanced sort...\": \"Roz\\u0161\\u00ed\\u0159en\\u00e9 \\u0159azen\\u00ed...\",\n\"Advanced Sort\": \"Roz\\u0161\\u00ed\\u0159en\\u00e9 \\u0159azen\\u00ed\",\n\"Sort table by column ascending\": \"Se\\u0159adit tabulku podle sloupce vzestupn\\u011b\",\n\"Sort table by column descending\": \"Se\\u0159adit tabulku podle sloupce sestupn\\u011b\",\n\"Sort\": \"\\u0158adit\",\n\"Order\": \"\\u0158azen\\u00ed\",\n\"Sort by\": \"\\u0158adit dle\",\n\"Ascending\": \"Vzestupn\\u011b\",\n\"Descending\": \"Sestupn\\u011b\",\n\"Column {0}\": \"Sloupec {0}\",\n\"Row {0}\": \"\\u0158\\u00e1dek {0}\",\n\"Spellcheck...\": \"Kontrola pravopisu\",\n\"Misspelled word\": \"\\u0160patn\\u011b napsan\\u00e9 slovo\",\n\"Suggestions\": \"N\\u00e1vrhy\",\n\"Change\": \"Zm\\u011bnit\",\n\"Finding word suggestions\": \"Hled\\u00e1n\\u00ed n\\u00e1vrh\\u016f slov\",\n\"Success\": \"\\u00dasp\\u011b\\u0161n\\u00e9\",\n\"Repair\": \"Opraveno\",\n\"Issue {0} of {1}\": \"Probl\\u00e9m {0} z {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"Obr\\u00e1zky mus\\u00ed b\\u00fdt ozna\\u010deny jako dekorativn\\u00ed nebo mus\\u00ed m\\u00edt alternativn\\u00ed textov\\u00fd popis.\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"Obr\\u00e1zky mus\\u00ed m\\u00edt alternativn\\u00ed textov\\u00fd popis. Dekorativn\\u00ed obr\\u00e1zky nejsou povoleny.\",\n\"Or provide alternative text:\": \"Nebo zadejte alternativn\\u00ed text:\",\n\"Make image decorative:\": \"Nastavit obr\\u00e1zek jako dekorativn\\u00ed:\",\n\"ID attribute must be unique\": \"ID atributu mus\\u00ed b\\u00fdt jedine\\u010dn\\u00e9\",\n\"Make ID unique\": \"Nastavit ID jako jedine\\u010dn\\u00e9\",\n\"Keep this ID and remove all others\": \"Ponechat toto ID a odstranit v\\u0161echny ostatn\\u00ed\",\n\"Remove this ID\": \"Odebrat toto ID\",\n\"Remove all IDs\": \"Odebrat v\\u0161echna ID\",\n\"Checklist\": \"Kontroln\\u00ed seznam\",\n\"Anchor\": \"Kotva\",\n\"Special character\": \"Speci\\u00e1ln\\u00ed znak\",\n\"Code sample\": \"Uk\\u00e1zkov\\u00fd k\\u00f3d\",\n\"Color\": \"Barva\",\n\"Document properties\": \"Vlastnosti dokumentu\",\n\"Image description\": \"Popis obr\\u00e1zku\",\n\"Image\": \"Obr\\u00e1zek\",\n\"Insert link\": \"Vlo\\u017eit odkaz\",\n\"Target\": \"C\\u00edl\",\n\"Link\": \"Odkaz\",\n\"Poster\": \"N\\u00e1hled\",\n\"Media\": \"M\\u00e9dia\",\n\"Print\": \"Tisk\",\n\"Prev\": \"P\\u0159edchoz\\u00ed\",\n\"Find and replace\": \"Naj\\u00edt a nahradit\",\n\"Whole words\": \"Pouze cel\\u00e1 slova\",\n\"Insert template\": \"Vlo\\u017eit \\u0161ablonu\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/de.js",
    "content": "tinymce.addI18n('de',{\n\"Redo\": \"Wiederholen\",\n\"Undo\": \"R\\u00fcckg\\u00e4ngig machen\",\n\"Cut\": \"Ausschneiden\",\n\"Copy\": \"Kopieren\",\n\"Paste\": \"Einf\\u00fcgen\",\n\"Select all\": \"Alles ausw\\u00e4hlen\",\n\"New document\": \"Neues Dokument\",\n\"Ok\": \"Ok\",\n\"Cancel\": \"Abbrechen\",\n\"Visual aids\": \"Visuelle Hilfen\",\n\"Bold\": \"Fett\",\n\"Italic\": \"Kursiv\",\n\"Underline\": \"Unterstrichen\",\n\"Strikethrough\": \"Durchgestrichen\",\n\"Superscript\": \"Hochgestellt\",\n\"Subscript\": \"Tiefgestellt\",\n\"Clear formatting\": \"Formatierung entfernen\",\n\"Align left\": \"Linksb\\u00fcndig ausrichten\",\n\"Align center\": \"Zentrieren\",\n\"Align right\": \"Rechtsb\\u00fcndig ausrichten\",\n\"Justify\": \"Blocksatz\",\n\"Bullet list\": \"Aufz\\u00e4hlung\",\n\"Numbered list\": \"Nummerierte Liste\",\n\"Decrease indent\": \"Einzug verkleinern\",\n\"Increase indent\": \"Einzug vergr\\u00f6\\u00dfern\",\n\"Close\": \"Schlie\\u00dfen\",\n\"Formats\": \"Formate\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Ihr Browser unterst\\u00fctzt leider keinen direkten Zugriff auf die Zwischenablage. Bitte benutzen Sie die Tastenkombinationen Strg+X\\/C\\/V.\",\n\"Headers\": \"\\u00dcberschriften\",\n\"Header 1\": \"\\u00dcberschrift 1\",\n\"Header 2\": \"\\u00dcberschrift 2\",\n\"Header 3\": \"\\u00dcberschrift 3\",\n\"Header 4\": \"\\u00dcberschrift 4\",\n\"Header 5\": \"\\u00dcberschrift 5\",\n\"Header 6\": \"\\u00dcberschrift 6\",\n\"Headings\": \"\\u00dcberschriften\",\n\"Heading 1\": \"Kopfzeile 1\",\n\"Heading 2\": \"Kopfzeile 2\",\n\"Heading 3\": \"Kopfzeile 3\",\n\"Heading 4\": \"Kopfzeile 4\",\n\"Heading 5\": \"Kopfzeile 5\",\n\"Heading 6\": \"Kopfzeile 6\",\n\"Preformatted\": \"Vorformatiert\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"Code\",\n\"Paragraph\": \"Absatz\",\n\"Blockquote\": \"Blockquote\",\n\"Inline\": \"Zeichenformate\",\n\"Blocks\": \"Bl\\u00f6cke\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Einf\\u00fcgen ist nun im einfachen Textmodus. Inhalte werden ab jetzt als unformatierter Text eingef\\u00fcgt, bis Sie diese Einstellung wieder ausschalten!\",\n\"Fonts\": \"Schriftarten\",\n\"Font Sizes\": \"Schriftgr\\u00f6\\u00dfe\",\n\"Class\": \"Klasse\",\n\"Browse for an image\": \"Bild...\",\n\"OR\": \"ODER\",\n\"Drop an image here\": \"Bild hier ablegen\",\n\"Upload\": \"Hochladen\",\n\"Block\": \"Blocksatz\",\n\"Align\": \"Ausrichten\",\n\"Default\": \"Standard\",\n\"Circle\": \"Kreis\",\n\"Disc\": \"Punkt\",\n\"Square\": \"Quadrat\",\n\"Lower Alpha\": \"Kleinbuchstaben\",\n\"Lower Greek\": \"Griechische Kleinbuchstaben\",\n\"Lower Roman\": \"R\\u00f6mische Zahlen (Kleinbuchstaben)\",\n\"Upper Alpha\": \"Gro\\u00dfbuchstaben\",\n\"Upper Roman\": \"R\\u00f6mische Zahlen (Gro\\u00dfbuchstaben)\",\n\"Anchor...\": \"Textmarke\",\n\"Name\": \"Name\",\n\"Id\": \"Kennung\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Die Kennung sollte mit einem Buchstaben anfangen. Nachfolgend nur Buchstaben, Zahlen, Striche (Minus), Punkte, Kommas und Unterstriche.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Die \\u00c4nderungen wurden noch nicht gespeichert, sind Sie sicher, dass Sie diese Seite verlassen wollen?\",\n\"Restore last draft\": \"Letzten Entwurf wiederherstellen\",\n\"Special character...\": \"Sonderzeichen...\",\n\"Source code\": \"Quelltext\",\n\"Insert\\/Edit code sample\": \"Codebeispiel einf\\u00fcgen\\/bearbeiten\",\n\"Language\": \"Sprache\",\n\"Code sample...\": \"Codebeispiel...\",\n\"Color Picker\": \"Farbwahl\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Von links nach rechts\",\n\"Right to left\": \"Von rechts nach links\",\n\"Emoticons\": \"Emoticons\",\n\"Emoticons...\": \"Emoticons...\",\n\"Metadata and Document Properties\": \"Dokument-Eigenschaften und -Metadaten\",\n\"Title\": \"Titel\",\n\"Keywords\": \"Sch\\u00fcsselw\\u00f6rter\",\n\"Description\": \"Beschreibung\",\n\"Robots\": \"Robots\",\n\"Author\": \"Verfasser\",\n\"Encoding\": \"Zeichenkodierung\",\n\"Fullscreen\": \"Vollbild\",\n\"Action\": \"Aktion\",\n\"Shortcut\": \"Shortcut\",\n\"Help\": \"Hilfe\",\n\"Address\": \"Adresse\",\n\"Focus to menubar\": \"Fokus auf Men\\u00fcleiste\",\n\"Focus to toolbar\": \"Fokus auf Werkzeugleiste\",\n\"Focus to element path\": \"Fokus auf Elementpfad\",\n\"Focus to contextual toolbar\": \"Fokus auf kontextbezogene Werkzeugleiste\",\n\"Insert link (if link plugin activated)\": \"Link einf\\u00fcgen (wenn Link-Plugin aktiviert ist)\",\n\"Save (if save plugin activated)\": \"Speichern (wenn Save-Plugin aktiviert ist)\",\n\"Find (if searchreplace plugin activated)\": \"Suchen einf\\u00fcgen (wenn Suchen\\/Ersetzen-Plugin aktiviert ist)\",\n\"Plugins installed ({0}):\": \"installierte Plugins ({0}):\",\n\"Premium plugins:\": \"Premium Plugins:\",\n\"Learn more...\": \"Erfahren Sie mehr dazu...\",\n\"You are using {0}\": \"Sie verwenden {0}\",\n\"Plugins\": \"Plugins\",\n\"Handy Shortcuts\": \"Praktische Tastenkombinationen\",\n\"Horizontal line\": \"Horizontale Linie\",\n\"Insert\\/edit image\": \"Bild einf\\u00fcgen\\/bearbeiten\",\n\"Alternative description\": \"Alternative Beschreibung\",\n\"Accessibility\": \"Barrierefreiheit\",\n\"Image is decorative\": \"Bild ist dekorativ\",\n\"Source\": \"Quelle\",\n\"Dimensions\": \"Abmessungen\",\n\"Constrain proportions\": \"Seitenverh\\u00e4ltnis beibehalten\",\n\"General\": \"Allgemein\",\n\"Advanced\": \"Erweitert\",\n\"Style\": \"Stil\",\n\"Vertical space\": \"Vertikaler Abstand\",\n\"Horizontal space\": \"Horizontaler Abstand\",\n\"Border\": \"Rahmen\",\n\"Insert image\": \"Bild einf\\u00fcgen\",\n\"Image...\": \"Bild...\",\n\"Image list\": \"Bildliste\",\n\"Rotate counterclockwise\": \"Gegen den Uhrzeigersinn drehen\",\n\"Rotate clockwise\": \"Im Uhrzeigersinn drehen\",\n\"Flip vertically\": \"Vertikal spiegeln\",\n\"Flip horizontally\": \"Horizontal spiegeln\",\n\"Edit image\": \"Bild bearbeiten\",\n\"Image options\": \"Bildeigenschaften\",\n\"Zoom in\": \"Ansicht vergr\\u00f6\\u00dfern\",\n\"Zoom out\": \"Ansicht verkleinern\",\n\"Crop\": \"Bescheiden\",\n\"Resize\": \"Skalieren\",\n\"Orientation\": \"Ausrichtung\",\n\"Brightness\": \"Helligkeit\",\n\"Sharpen\": \"Sch\\u00e4rfen\",\n\"Contrast\": \"Kontrast\",\n\"Color levels\": \"Farbwerte\",\n\"Gamma\": \"Gamma\",\n\"Invert\": \"Invertieren\",\n\"Apply\": \"Anwenden\",\n\"Back\": \"Zur\\u00fcck\",\n\"Insert date\\/time\": \"Datum\\/Uhrzeit einf\\u00fcgen \",\n\"Date\\/time\": \"Datum\\/Uhrzeit\",\n\"Insert\\/edit link\": \"Link einf\\u00fcgen\\/bearbeiten\",\n\"Text to display\": \"Anzuzeigender Text\",\n\"Url\": \"URL\",\n\"Open link in...\": \"Link \\u00f6ffnen in...\",\n\"Current window\": \"Aktuelles Fenster\",\n\"None\": \"Keine\",\n\"New window\": \"Neues Fenster\",\n\"Open link\": \"Link \\u00f6ffnen\",\n\"Remove link\": \"Link entfernen\",\n\"Anchors\": \"Textmarken\",\n\"Link...\": \"Link...\",\n\"Paste or type a link\": \"Link einf\\u00fcgen oder eintippen\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"Diese Adresse scheint eine E-Mail-Adresse zu sein. M\\u00f6chten Sie das dazu ben\\u00f6tigte \\\"mailto:\\\" voranstellen?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"Diese Adresse scheint ein externer Link zu sein. M\\u00f6chten Sie das dazu ben\\u00f6tigte \\\"http:\\/\\/\\\" voranstellen?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"Die eingegebene URL scheint ein externer Link zu sein. Soll das fehlende https:\\/\\/ davor erg\\u00e4nzt werden?\",\n\"Link list\": \"Linkliste\",\n\"Insert video\": \"Video einf\\u00fcgen\",\n\"Insert\\/edit video\": \"Video einf\\u00fcgen\\/bearbeiten\",\n\"Insert\\/edit media\": \"Medien einf\\u00fcgen\\/bearbeiten\",\n\"Alternative source\": \"Alternative Quelle\",\n\"Alternative source URL\": \"URL der alternativen Quelle\",\n\"Media poster (Image URL)\": \"Medienposter (Bild-URL)\",\n\"Paste your embed code below:\": \"F\\u00fcgen Sie Ihren Einbettungscode hier ein:\",\n\"Embed\": \"Einbetten\",\n\"Media...\": \"Medien...\",\n\"Nonbreaking space\": \"Gesch\\u00fctztes Leerzeichen\",\n\"Page break\": \"Seitenumbruch\",\n\"Paste as text\": \"Als Text einf\\u00fcgen\",\n\"Preview\": \"Vorschau\",\n\"Print...\": \"Drucken...\",\n\"Save\": \"Speichern\",\n\"Find\": \"Suchen\",\n\"Replace with\": \"Ersetzen durch\",\n\"Replace\": \"Ersetzen\",\n\"Replace all\": \"Alles ersetzen\",\n\"Previous\": \"Vorherige\",\n\"Next\": \"Weiter\",\n\"Find and Replace\": \"Suchen und Ersetzen\",\n\"Find and replace...\": \"Suchen und ersetzen...\",\n\"Could not find the specified string.\": \"Die Zeichenfolge wurde nicht gefunden.\",\n\"Match case\": \"Gro\\u00df-\\/Kleinschreibung beachten\",\n\"Find whole words only\": \"Nur ganze W\\u00f6rter suchen\",\n\"Find in selection\": \"In Auswahl suchen\",\n\"Spellcheck\": \"Rechtschreibpr\\u00fcfung\",\n\"Spellcheck Language\": \"Sprache f\\u00fcr die Rechtschreibpr\\u00fcfung\",\n\"No misspellings found.\": \"Keine Rechtschreibfehler gefunden\",\n\"Ignore\": \"Ignorieren\",\n\"Ignore all\": \"Alles Ignorieren\",\n\"Finish\": \"Ende\",\n\"Add to Dictionary\": \"Zum W\\u00f6rterbuch hinzuf\\u00fcgen\",\n\"Insert table\": \"Tabelle einf\\u00fcgen\",\n\"Table properties\": \"Tabelleneigenschaften\",\n\"Delete table\": \"Tabelle l\\u00f6schen\",\n\"Cell\": \"Zelle\",\n\"Row\": \"Zeile\",\n\"Column\": \"Spalte\",\n\"Cell properties\": \"Zelleneigenschaften\",\n\"Merge cells\": \"Zellen verbinden\",\n\"Split cell\": \"Zelle aufteilen\",\n\"Insert row before\": \"Neue Zeile davor einf\\u00fcgen \",\n\"Insert row after\": \"Neue Zeile danach einf\\u00fcgen\",\n\"Delete row\": \"Zeile l\\u00f6schen\",\n\"Row properties\": \"Zeileneigenschaften\",\n\"Cut row\": \"Zeile ausschneiden\",\n\"Copy row\": \"Zeile kopieren\",\n\"Paste row before\": \"Zeile davor einf\\u00fcgen\",\n\"Paste row after\": \"Zeile danach einf\\u00fcgen\",\n\"Insert column before\": \"Neue Spalte davor einf\\u00fcgen\",\n\"Insert column after\": \"Neue Spalte danach einf\\u00fcgen\",\n\"Delete column\": \"Spalte l\\u00f6schen\",\n\"Cols\": \"Spalten\",\n\"Rows\": \"Zeilen\",\n\"Width\": \"Breite\",\n\"Height\": \"H\\u00f6he\",\n\"Cell spacing\": \"Zellenabstand\",\n\"Cell padding\": \"Zelleninnenabstand\",\n\"Caption\": \"Beschriftung\",\n\"Show caption\": \"Beschriftung anzeigen\",\n\"Left\": \"Linksb\\u00fcndig\",\n\"Center\": \"Zentriert\",\n\"Right\": \"Rechtsb\\u00fcndig\",\n\"Cell type\": \"Zellentyp\",\n\"Scope\": \"G\\u00fcltigkeitsbereich\",\n\"Alignment\": \"Ausrichtung\",\n\"H Align\": \"Horizontale Ausrichtung\",\n\"V Align\": \"Vertikale Ausrichtung\",\n\"Top\": \"Oben\",\n\"Middle\": \"Mitte\",\n\"Bottom\": \"Unten\",\n\"Header cell\": \"Kopfzelle\",\n\"Row group\": \"Zeilengruppe\",\n\"Column group\": \"Spaltengruppe\",\n\"Row type\": \"Zeilentyp\",\n\"Header\": \"Kopfzeile\",\n\"Body\": \"Inhalt\",\n\"Footer\": \"Fu\\u00dfzeile\",\n\"Border color\": \"Rahmenfarbe\",\n\"Insert template...\": \"Vorlage einf\\u00fcgen...\",\n\"Templates\": \"Vorlagen\",\n\"Template\": \"Vorlage\",\n\"Text color\": \"Textfarbe\",\n\"Background color\": \"Hintergrundfarbe\",\n\"Custom...\": \"Benutzerdefiniert...\",\n\"Custom color\": \"Benutzerdefinierte Farbe\",\n\"No color\": \"Keine Farbe\",\n\"Remove color\": \"Farbauswahl aufheben\",\n\"Table of Contents\": \"Inhaltsverzeichnis\",\n\"Show blocks\": \"Bl\\u00f6cke anzeigen\",\n\"Show invisible characters\": \"Unsichtbare Zeichen anzeigen\",\n\"Word count\": \"Anzahl der W\\u00f6rter\",\n\"Count\": \"Anzahl\",\n\"Document\": \"Dokument\",\n\"Selection\": \"Auswahl\",\n\"Words\": \"W\\u00f6rter\",\n\"Words: {0}\": \"W\\u00f6rter: {0}\",\n\"{0} words\": \"{0} W\\u00f6rter\",\n\"File\": \"Datei\",\n\"Edit\": \"Bearbeiten\",\n\"Insert\": \"Einf\\u00fcgen\",\n\"View\": \"Ansicht\",\n\"Format\": \"Format\",\n\"Table\": \"Tabelle\",\n\"Tools\": \"Werkzeuge\",\n\"Powered by {0}\": \"Betrieben von {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Rich-Text- Area. Dr\\u00fccken Sie ALT-F9 f\\u00fcr das Men\\u00fc. Dr\\u00fccken Sie ALT-F10 f\\u00fcr Symbolleiste. Dr\\u00fccken Sie ALT-0 f\\u00fcr Hilfe\",\n\"Image title\": \"Bildtitel\",\n\"Border width\": \"Rahmenbreite\",\n\"Border style\": \"Rahmenstil\",\n\"Error\": \"Fehler\",\n\"Warn\": \"Warnung\",\n\"Valid\": \"G\\u00fcltig\",\n\"To open the popup, press Shift+Enter\": \"Dr\\u00fccken Sie Umschalt+Eingabe, um das Popup-Fenster zu \\u00f6ffnen.\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Rich-Text-Bereich. Dr\\u00fccken Sie Alt+0 f\\u00fcr Hilfe.\",\n\"System Font\": \"Betriebssystemschriftart\",\n\"Failed to upload image: {0}\": \"Bild konnte nicht hochgeladen werden: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Plugin konnte nicht geladen werden: {0} von URL {1}\",\n\"Failed to load plugin url: {0}\": \"Plugin-URL konnte nicht geladen werden: {0}\",\n\"Failed to initialize plugin: {0}\": \"Plugin konnte nicht initialisiert werden: {0}\",\n\"example\": \"Beispiel\",\n\"Search\": \"Suchen\",\n\"All\": \"Alles\",\n\"Currency\": \"W\\u00e4hrung\",\n\"Text\": \"Text\",\n\"Quotations\": \"Anf\\u00fchrungszeichen\",\n\"Mathematical\": \"Mathematisch\",\n\"Extended Latin\": \"Erweitertes Latein\",\n\"Symbols\": \"Symbole\",\n\"Arrows\": \"Pfeile\",\n\"User Defined\": \"Benutzerdefiniert\",\n\"dollar sign\": \"Dollarzeichen\",\n\"currency sign\": \"W\\u00e4hrungssymbol\",\n\"euro-currency sign\": \"Eurozeichen\",\n\"colon sign\": \"Doppelpunkt\",\n\"cruzeiro sign\": \"Cruzeirozeichen\",\n\"french franc sign\": \"Franczeichen\",\n\"lira sign\": \"Lirezeichen\",\n\"mill sign\": \"Millzeichen\",\n\"naira sign\": \"Nairazeichen\",\n\"peseta sign\": \"Pesetazeichen\",\n\"rupee sign\": \"Rupiezeichen\",\n\"won sign\": \"Wonzeichen\",\n\"new sheqel sign\": \"Schekelzeichen\",\n\"dong sign\": \"Dongzeichen\",\n\"kip sign\": \"Kipzeichen\",\n\"tugrik sign\": \"Tugrikzeichen\",\n\"drachma sign\": \"Drachmezeichen\",\n\"german penny symbol\": \"Pfennigzeichen\",\n\"peso sign\": \"Pesozeichen\",\n\"guarani sign\": \"Guaranizeichen\",\n\"austral sign\": \"Australzeichen\",\n\"hryvnia sign\": \"Hrywnjazeichen\",\n\"cedi sign\": \"Cedizeichen\",\n\"livre tournois sign\": \"Livrezeichen\",\n\"spesmilo sign\": \"Spesmilozeichen\",\n\"tenge sign\": \"Tengezeichen\",\n\"indian rupee sign\": \"Indisches Rupiezeichen\",\n\"turkish lira sign\": \"T\\u00fcrkisches Lirazeichen\",\n\"nordic mark sign\": \"Zeichen nordische Mark\",\n\"manat sign\": \"Manatzeichen\",\n\"ruble sign\": \"Rubelzeichen\",\n\"yen character\": \"Yenzeichen\",\n\"yuan character\": \"Yuanzeichen\",\n\"yuan character, in hong kong and taiwan\": \"Yuanzeichen in Hongkong und Taiwan\",\n\"yen\\/yuan character variant one\": \"Yen-\\/Yuanzeichen Variante 1\",\n\"Loading emoticons...\": \"Emoticons werden geladen...\",\n\"Could not load emoticons\": \"Emoticons konnten nicht geladen werden\",\n\"People\": \"Menschen\",\n\"Animals and Nature\": \"Tiere und Natur\",\n\"Food and Drink\": \"Essen und Trinken\",\n\"Activity\": \"Aktivit\\u00e4t\",\n\"Travel and Places\": \"Reisen und Orte\",\n\"Objects\": \"Objekte\",\n\"Flags\": \"Flaggen\",\n\"Characters\": \"Zeichen\",\n\"Characters (no spaces)\": \"Zeichen (ohne Leerzeichen)\",\n\"{0} characters\": \"{0}\\u00a0Zeichen\",\n\"Error: Form submit field collision.\": \"Fehler: Kollision der Formularbest\\u00e4tigungsfelder.\",\n\"Error: No form element found.\": \"Fehler: Kein Formularelement gefunden.\",\n\"Update\": \"Aktualisieren\",\n\"Color swatch\": \"Farbpalette\",\n\"Turquoise\": \"T\\u00fcrkis\",\n\"Green\": \"Gr\\u00fcn\",\n\"Blue\": \"Blau\",\n\"Purple\": \"Violett\",\n\"Navy Blue\": \"Marineblau\",\n\"Dark Turquoise\": \"Dunkelt\\u00fcrkis\",\n\"Dark Green\": \"Dunkelgr\\u00fcn\",\n\"Medium Blue\": \"Mittleres Blau\",\n\"Medium Purple\": \"Mittelviolett\",\n\"Midnight Blue\": \"Mitternachtsblau\",\n\"Yellow\": \"Gelb\",\n\"Orange\": \"Orange\",\n\"Red\": \"Rot\",\n\"Light Gray\": \"Hellgrau\",\n\"Gray\": \"Grau\",\n\"Dark Yellow\": \"Dunkelgelb\",\n\"Dark Orange\": \"Dunkelorange\",\n\"Dark Red\": \"Dunkelrot\",\n\"Medium Gray\": \"Mittelgrau\",\n\"Dark Gray\": \"Dunkelgrau\",\n\"Light Green\": \"Hellgr\\u00fcn\",\n\"Light Yellow\": \"Hellgelb\",\n\"Light Red\": \"Hellrot\",\n\"Light Purple\": \"Helllila\",\n\"Light Blue\": \"Hellblau\",\n\"Dark Purple\": \"Dunkellila\",\n\"Dark Blue\": \"Dunkelblau\",\n\"Black\": \"Schwarz\",\n\"White\": \"Wei\\u00df\",\n\"Switch to or from fullscreen mode\": \"Vollbildmodus umschalten\",\n\"Open help dialog\": \"Hilfe-Dialog \\u00f6ffnen\",\n\"history\": \"Historie\",\n\"styles\": \"Stile\",\n\"formatting\": \"Formatierung\",\n\"alignment\": \"Ausrichtung\",\n\"indentation\": \"Einr\\u00fcckungen\",\n\"Font\": \"Schriftart\",\n\"Size\": \"Schriftgr\\u00f6\\u00dfe\",\n\"More...\": \"Mehr...\",\n\"Select...\": \"Auswahl...\",\n\"Preferences\": \"Einstellungen\",\n\"Yes\": \"Ja\",\n\"No\": \"Nein\",\n\"Keyboard Navigation\": \"Tastaturnavigation\",\n\"Version\": \"Version\",\n\"Code view\": \"Code Ansicht\",\n\"Open popup menu for split buttons\": \"\\u00d6ffne Popup Menge um Buttons zu trennen\",\n\"List Properties\": \"Liste Eigenschaften\",\n\"List properties...\": \"Liste Eigenschaften\",\n\"Start list at number\": \"Beginne Liste mit Nummer\",\n\"Line height\": \"Liniendicke\",\n\"comments\": \"Anmerkungen\",\n\"Format Painter\": \"Format-Painter\",\n\"Insert\\/edit iframe\": \"iframe einf\\u00fcgen\\/bearbeiten\",\n\"Capitalization\": \"Gro\\u00dfschreibung\",\n\"lowercase\": \"Kleinbuchstaben\",\n\"UPPERCASE\": \"Gro\\u00dfbuchstaben\",\n\"Title Case\": \"Gro\\u00df-\\/Kleinschreibung des Titels\",\n\"permanent pen\": \"Textmarker\",\n\"Permanent Pen Properties\": \"Eigenschaften von Permanent Pen\",\n\"Permanent pen properties...\": \"Eigenschaften von Permanent Pen...\",\n\"case change\": \"Gro\\u00df-\\/Kleinschreibung\",\n\"page embed\": \"Seite einbetten\",\n\"Advanced sort...\": \"Erweiterte Sortierung...\",\n\"Advanced Sort\": \"Erweiterte Sortierung\",\n\"Sort table by column ascending\": \"Tabelle aufsteigend nach Spalten sortieren\",\n\"Sort table by column descending\": \"Tabelle absteigend nach Spalten sortieren\",\n\"Sort\": \"Sortieren\",\n\"Order\": \"Reihenfolge\",\n\"Sort by\": \"Sortieren nach\",\n\"Ascending\": \"Aufsteigend\",\n\"Descending\": \"Absteigend\",\n\"Column {0}\": \"Spalte {0}\",\n\"Row {0}\": \"Reihe {0}\",\n\"Spellcheck...\": \"Rechtschreibpr\\u00fcfung...\",\n\"Misspelled word\": \"Rechtschreibfehler\",\n\"Suggestions\": \"Vorschl\\u00e4ge\",\n\"Change\": \"Ver\\u00e4ndere\",\n\"Finding word suggestions\": \"Finde Wort Vorschl\\u00e4ge\",\n\"Success\": \"Erfolg\",\n\"Repair\": \"Reparieren\",\n\"Issue {0} of {1}\": \"Fehler {0} von {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"Bilder m\\u00fcssen entweder als dekorativ markiert werden oder eine alternative Beschreibung bekommen\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"Bilder ben\\u00f6tigen alternativen Text. Dekorative Bilder nicht erlaubt!\",\n\"Or provide alternative text:\": \"Oder definiere alternativen Text:\",\n\"Make image decorative:\": \"Markiere Bild als dekorativ:\",\n\"ID attribute must be unique\": \"ID muss einzigartig sein\",\n\"Make ID unique\": \"Mache diese ID einzigartig\",\n\"Keep this ID and remove all others\": \"Behalte diese ID und entferne alle anderen\",\n\"Remove this ID\": \"Entferne diese ID\",\n\"Remove all IDs\": \"Entferne alle IDs\",\n\"Checklist\": \"Checkliste\",\n\"Anchor\": \"Textmarke\",\n\"Special character\": \"Sonderzeichen\",\n\"Code sample\": \"Codebeispiel\",\n\"Color\": \"Farbe\",\n\"Document properties\": \"Dokumenteigenschaften\",\n\"Image description\": \"Bildbeschreibung\",\n\"Image\": \"Bild\",\n\"Insert link\": \"Link einf\\u00fcgen\",\n\"Target\": \"Ziel\",\n\"Link\": \"Link\",\n\"Poster\": \"Poster\",\n\"Media\": \"Medium\",\n\"Print\": \"Drucken\",\n\"Prev\": \"Zur\\u00fcck\",\n\"Find and replace\": \"Suchen und ersetzen\",\n\"Whole words\": \"Nur ganze W\\u00f6rter\",\n\"Insert template\": \"Vorlage einf\\u00fcgen \"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/es_419.js",
    "content": "tinymce.addI18n('es_419',{\n\"Redo\": \"Rehacer\",\n\"Undo\": \"Deshacer\",\n\"Cut\": \"Cortar\",\n\"Copy\": \"Copiar\",\n\"Paste\": \"Pegar\",\n\"Select all\": \"Seleccionar todo\",\n\"New document\": \"Nuevo documento\",\n\"Ok\": \"Ok\",\n\"Cancel\": \"Cancelar\",\n\"Visual aids\": \"Ayudas visuales\",\n\"Bold\": \"Negrita\",\n\"Italic\": \"Cursiva\",\n\"Underline\": \"Subrayado\",\n\"Strikethrough\": \"Tachado\",\n\"Superscript\": \"Super\\u00edndice\",\n\"Subscript\": \"Sub\\u00edndice\",\n\"Clear formatting\": \"Limpiar formato\",\n\"Align left\": \"Alinear a la izquierda\",\n\"Align center\": \"Centrar\",\n\"Align right\": \"Alinear a la derecha\",\n\"Justify\": \"Justificar\",\n\"Bullet list\": \"Lista de vi\\u00f1etas\",\n\"Numbered list\": \"Lista numerada\",\n\"Decrease indent\": \"Disminuir sangr\\u00eda\",\n\"Increase indent\": \"Aumentar sangr\\u00eda\",\n\"Close\": \"Cerrar\",\n\"Formats\": \"Formatos\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Tu navegador no soporta acceso directo al portapapeles. Favor usar los comandos de teclado Ctrl+X\\/C\\/V\",\n\"Headers\": \"Encabezados\",\n\"Header 1\": \"Encabezado 1\",\n\"Header 2\": \"Encabezado 2\",\n\"Header 3\": \"Encabezado 3\",\n\"Header 4\": \"Encabezado 4\",\n\"Header 5\": \"Encabezado 5\",\n\"Header 6\": \"Encabezado 6\",\n\"Headings\": \"T\\u00edtulos\",\n\"Heading 1\": \"T\\u00edtulo 1\",\n\"Heading 2\": \"T\\u00edtulo 2\",\n\"Heading 3\": \"T\\u00edtulo 3\",\n\"Heading 4\": \"T\\u00edtulo 4\",\n\"Heading 5\": \"T\\u00edtulo 5\",\n\"Heading 6\": \"T\\u00edtulo 6\",\n\"Preformatted\": \"Preformateado\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"C\\u00f3digo\",\n\"Paragraph\": \"P\\u00e1rrafo\",\n\"Blockquote\": \"Cita\",\n\"Inline\": \"En l\\u00ednea\",\n\"Blocks\": \"Bloques\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\",\n\"Fonts\": \"Fonts\",\n\"Font Sizes\": \"Tama\\u00f1os de Fuente\",\n\"Class\": \"Class\",\n\"Browse for an image\": \"Examinar imagen\",\n\"OR\": \"O\",\n\"Drop an image here\": \"Arrastrar imagen aqu\\u00ed\",\n\"Upload\": \"Subir\",\n\"Block\": \"Bloque\",\n\"Align\": \"Alinear\",\n\"Default\": \"Default\",\n\"Circle\": \"Circle\",\n\"Disc\": \"Disc\",\n\"Square\": \"Square\",\n\"Lower Alpha\": \"Lower Alpha\",\n\"Lower Greek\": \"Lower Greek\",\n\"Lower Roman\": \"Lower Roman\",\n\"Upper Alpha\": \"Upper Alpha\",\n\"Upper Roman\": \"Upper Roman\",\n\"Anchor...\": \"Anchor...\",\n\"Name\": \"Name\",\n\"Id\": \"Id\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"You have unsaved changes are you sure you want to navigate away?\",\n\"Restore last draft\": \"Restore last draft\",\n\"Special character...\": \"Special character...\",\n\"Source code\": \"Source code\",\n\"Insert\\/Edit code sample\": \"Insert\\/Edit code sample\",\n\"Language\": \"Language\",\n\"Code sample...\": \"Code sample...\",\n\"Color Picker\": \"Color Picker\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Left to right\",\n\"Right to left\": \"Right to left\",\n\"Emoticons\": \"Emoticons\",\n\"Emoticons...\": \"Emoticons...\",\n\"Metadata and Document Properties\": \"Metadata and Document Properties\",\n\"Title\": \"Title\",\n\"Keywords\": \"Keywords\",\n\"Description\": \"Description\",\n\"Robots\": \"Robots\",\n\"Author\": \"Author\",\n\"Encoding\": \"Encoding\",\n\"Fullscreen\": \"Fullscreen\",\n\"Action\": \"Action\",\n\"Shortcut\": \"Shortcut\",\n\"Help\": \"Help\",\n\"Address\": \"Address\",\n\"Focus to menubar\": \"Focus to menubar\",\n\"Focus to toolbar\": \"Focus to toolbar\",\n\"Focus to element path\": \"Focus to element path\",\n\"Focus to contextual toolbar\": \"Focus to contextual toolbar\",\n\"Insert link (if link plugin activated)\": \"Insert link (if link plugin activated)\",\n\"Save (if save plugin activated)\": \"Save (if save plugin activated)\",\n\"Find (if searchreplace plugin activated)\": \"Find (if searchreplace plugin activated)\",\n\"Plugins installed ({0}):\": \"Plugins installed ({0}):\",\n\"Premium plugins:\": \"Premium plugins:\",\n\"Learn more...\": \"Learn more...\",\n\"You are using {0}\": \"You are using {0}\",\n\"Plugins\": \"Plugins\",\n\"Handy Shortcuts\": \"Handy Shortcuts\",\n\"Horizontal line\": \"Horizontal line\",\n\"Insert\\/edit image\": \"Insert\\/edit image\",\n\"Alternative description\": \"Descripci\\u00f3n alternativa\",\n\"Accessibility\": \"Accesibilidad\",\n\"Image is decorative\": \"La imagen es decorativa\",\n\"Source\": \"Source\",\n\"Dimensions\": \"Dimensions\",\n\"Constrain proportions\": \"Constrain proportions\",\n\"General\": \"General\",\n\"Advanced\": \"Advanced\",\n\"Style\": \"Style\",\n\"Vertical space\": \"Vertical space\",\n\"Horizontal space\": \"Horizontal space\",\n\"Border\": \"Border\",\n\"Insert image\": \"Insert image\",\n\"Image...\": \"Image...\",\n\"Image list\": \"Image list\",\n\"Rotate counterclockwise\": \"Rotate counterclockwise\",\n\"Rotate clockwise\": \"Rotate clockwise\",\n\"Flip vertically\": \"Flip vertically\",\n\"Flip horizontally\": \"Flip horizontally\",\n\"Edit image\": \"Edit image\",\n\"Image options\": \"Image options\",\n\"Zoom in\": \"Zoom in\",\n\"Zoom out\": \"Zoom out\",\n\"Crop\": \"Crop\",\n\"Resize\": \"Resize\",\n\"Orientation\": \"Orientation\",\n\"Brightness\": \"Brightness\",\n\"Sharpen\": \"Sharpen\",\n\"Contrast\": \"Contrast\",\n\"Color levels\": \"Color levels\",\n\"Gamma\": \"Gamma\",\n\"Invert\": \"Invert\",\n\"Apply\": \"Apply\",\n\"Back\": \"Back\",\n\"Insert date\\/time\": \"Insert date\\/time\",\n\"Date\\/time\": \"Date\\/time\",\n\"Insert\\/edit link\": \"Insert\\/edit link\",\n\"Text to display\": \"Text to display\",\n\"Url\": \"Url\",\n\"Open link in...\": \"Open link in...\",\n\"Current window\": \"Current window\",\n\"None\": \"None\",\n\"New window\": \"New window\",\n\"Open link\": \"Enlace abierto\",\n\"Remove link\": \"Remove link\",\n\"Anchors\": \"Anchors\",\n\"Link...\": \"Link...\",\n\"Paste or type a link\": \"Paste or type a link\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"La URL que ingres\\u00f3 parece ser un enlace externo. \\u00bfDesea agregar el prefijo https:\\/\\/ requerido?\",\n\"Link list\": \"Link list\",\n\"Insert video\": \"Insert video\",\n\"Insert\\/edit video\": \"Insert\\/edit video\",\n\"Insert\\/edit media\": \"Insert\\/edit media\",\n\"Alternative source\": \"Alternative source\",\n\"Alternative source URL\": \"Alternative source URL\",\n\"Media poster (Image URL)\": \"Media poster (Image URL)\",\n\"Paste your embed code below:\": \"Paste your embed code below:\",\n\"Embed\": \"Embed\",\n\"Media...\": \"Media...\",\n\"Nonbreaking space\": \"Nonbreaking space\",\n\"Page break\": \"Page break\",\n\"Paste as text\": \"Paste as text\",\n\"Preview\": \"Preview\",\n\"Print...\": \"Print...\",\n\"Save\": \"Save\",\n\"Find\": \"Find\",\n\"Replace with\": \"Replace with\",\n\"Replace\": \"Replace\",\n\"Replace all\": \"Replace all\",\n\"Previous\": \"Previous\",\n\"Next\": \"Next\",\n\"Find and Replace\": \"Encontrar y Reemplazar\",\n\"Find and replace...\": \"Find and replace...\",\n\"Could not find the specified string.\": \"Could not find the specified string.\",\n\"Match case\": \"Match case\",\n\"Find whole words only\": \"Find whole words only\",\n\"Find in selection\": \"Encontrar en la selecci\\u00f3n\",\n\"Spellcheck\": \"Spellcheck\",\n\"Spellcheck Language\": \"Spellcheck Language\",\n\"No misspellings found.\": \"No se encontraron errores ortogr\\u00e1ficos.\",\n\"Ignore\": \"Ignore\",\n\"Ignore all\": \"Ignore all\",\n\"Finish\": \"Finish\",\n\"Add to Dictionary\": \"Add to Dictionary\",\n\"Insert table\": \"Insert table\",\n\"Table properties\": \"Table properties\",\n\"Delete table\": \"Delete table\",\n\"Cell\": \"Cell\",\n\"Row\": \"Row\",\n\"Column\": \"Column\",\n\"Cell properties\": \"Cell properties\",\n\"Merge cells\": \"Merge cells\",\n\"Split cell\": \"Split cell\",\n\"Insert row before\": \"Insert row before\",\n\"Insert row after\": \"Insert row after\",\n\"Delete row\": \"Delete row\",\n\"Row properties\": \"Row properties\",\n\"Cut row\": \"Cut row\",\n\"Copy row\": \"Copy row\",\n\"Paste row before\": \"Paste row before\",\n\"Paste row after\": \"Paste row after\",\n\"Insert column before\": \"Insert column before\",\n\"Insert column after\": \"Insert column after\",\n\"Delete column\": \"Delete column\",\n\"Cols\": \"Cols\",\n\"Rows\": \"Rows\",\n\"Width\": \"Width\",\n\"Height\": \"Height\",\n\"Cell spacing\": \"Cell spacing\",\n\"Cell padding\": \"Cell padding\",\n\"Caption\": \"Caption\",\n\"Show caption\": \"Show caption\",\n\"Left\": \"Left\",\n\"Center\": \"Center\",\n\"Right\": \"Right\",\n\"Cell type\": \"Cell type\",\n\"Scope\": \"Scope\",\n\"Alignment\": \"Alignment\",\n\"H Align\": \"H Align\",\n\"V Align\": \"V Align\",\n\"Top\": \"Top\",\n\"Middle\": \"Middle\",\n\"Bottom\": \"Bottom\",\n\"Header cell\": \"Header cell\",\n\"Row group\": \"Row group\",\n\"Column group\": \"Column group\",\n\"Row type\": \"Row type\",\n\"Header\": \"Header\",\n\"Body\": \"Body\",\n\"Footer\": \"Footer\",\n\"Border color\": \"Border color\",\n\"Insert template...\": \"Insert template...\",\n\"Templates\": \"Templates\",\n\"Template\": \"Template\",\n\"Text color\": \"Text color\",\n\"Background color\": \"Background color\",\n\"Custom...\": \"Custom...\",\n\"Custom color\": \"Custom color\",\n\"No color\": \"No color\",\n\"Remove color\": \"Remove color\",\n\"Table of Contents\": \"Table of Contents\",\n\"Show blocks\": \"Show blocks\",\n\"Show invisible characters\": \"Show invisible characters\",\n\"Word count\": \"Word count\",\n\"Count\": \"Count\",\n\"Document\": \"Document\",\n\"Selection\": \"Selection\",\n\"Words\": \"Words\",\n\"Words: {0}\": \"Words: {0}\",\n\"{0} words\": \"{0} words\",\n\"File\": \"File\",\n\"Edit\": \"Edit\",\n\"Insert\": \"Insert\",\n\"View\": \"View\",\n\"Format\": \"Format\",\n\"Table\": \"Table\",\n\"Tools\": \"Tools\",\n\"Powered by {0}\": \"Powered by {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\",\n\"Image title\": \"Image title\",\n\"Border width\": \"Border width\",\n\"Border style\": \"Border style\",\n\"Error\": \"Error\",\n\"Warn\": \"Warn\",\n\"Valid\": \"Valid\",\n\"To open the popup, press Shift+Enter\": \"To open the popup, press Shift+Enter\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Rich Text Area. Press ALT-0 for help.\",\n\"System Font\": \"System Font\",\n\"Failed to upload image: {0}\": \"Failed to upload image: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Failed to load plugin: {0} from url {1}\",\n\"Failed to load plugin url: {0}\": \"Failed to load plugin url: {0}\",\n\"Failed to initialize plugin: {0}\": \"Failed to initialize plugin: {0}\",\n\"example\": \"example\",\n\"Search\": \"Search\",\n\"All\": \"All\",\n\"Currency\": \"Currency\",\n\"Text\": \"Text\",\n\"Quotations\": \"Quotations\",\n\"Mathematical\": \"Mathematical\",\n\"Extended Latin\": \"Extended Latin\",\n\"Symbols\": \"Symbols\",\n\"Arrows\": \"Arrows\",\n\"User Defined\": \"User Defined\",\n\"dollar sign\": \"dollar sign\",\n\"currency sign\": \"currency sign\",\n\"euro-currency sign\": \"euro-currency sign\",\n\"colon sign\": \"colon sign\",\n\"cruzeiro sign\": \"cruzeiro sign\",\n\"french franc sign\": \"french franc sign\",\n\"lira sign\": \"lira sign\",\n\"mill sign\": \"mill sign\",\n\"naira sign\": \"naira sign\",\n\"peseta sign\": \"peseta sign\",\n\"rupee sign\": \"rupee sign\",\n\"won sign\": \"won sign\",\n\"new sheqel sign\": \"new sheqel sign\",\n\"dong sign\": \"dong sign\",\n\"kip sign\": \"kip sign\",\n\"tugrik sign\": \"tugrik sign\",\n\"drachma sign\": \"drachma sign\",\n\"german penny symbol\": \"german penny symbol\",\n\"peso sign\": \"peso sign\",\n\"guarani sign\": \"guarani sign\",\n\"austral sign\": \"austral sign\",\n\"hryvnia sign\": \"hryvnia sign\",\n\"cedi sign\": \"cedi sign\",\n\"livre tournois sign\": \"livre tournois sign\",\n\"spesmilo sign\": \"spesmilo sign\",\n\"tenge sign\": \"tenge sign\",\n\"indian rupee sign\": \"indian rupee sign\",\n\"turkish lira sign\": \"turkish lira sign\",\n\"nordic mark sign\": \"nordic mark sign\",\n\"manat sign\": \"manat sign\",\n\"ruble sign\": \"ruble sign\",\n\"yen character\": \"yen character\",\n\"yuan character\": \"yuan character\",\n\"yuan character, in hong kong and taiwan\": \"yuan character, in hong kong and taiwan\",\n\"yen\\/yuan character variant one\": \"yen\\/yuan character variant one\",\n\"Loading emoticons...\": \"Loading emoticons...\",\n\"Could not load emoticons\": \"Could not load emoticons\",\n\"People\": \"People\",\n\"Animals and Nature\": \"Animals and Nature\",\n\"Food and Drink\": \"Food and Drink\",\n\"Activity\": \"Activity\",\n\"Travel and Places\": \"Travel and Places\",\n\"Objects\": \"Objects\",\n\"Flags\": \"Flags\",\n\"Characters\": \"Characters\",\n\"Characters (no spaces)\": \"Characters (no spaces)\",\n\"{0} characters\": \"{0} characters\",\n\"Error: Form submit field collision.\": \"Error: Form submit field collision.\",\n\"Error: No form element found.\": \"Error: No form element found.\",\n\"Update\": \"Update\",\n\"Color swatch\": \"Color swatch\",\n\"Turquoise\": \"Turquoise\",\n\"Green\": \"Green\",\n\"Blue\": \"Blue\",\n\"Purple\": \"Purple\",\n\"Navy Blue\": \"Navy Blue\",\n\"Dark Turquoise\": \"Dark Turquoise\",\n\"Dark Green\": \"Dark Green\",\n\"Medium Blue\": \"Medium Blue\",\n\"Medium Purple\": \"Medium Purple\",\n\"Midnight Blue\": \"Midnight Blue\",\n\"Yellow\": \"Yellow\",\n\"Orange\": \"Orange\",\n\"Red\": \"Red\",\n\"Light Gray\": \"Light Gray\",\n\"Gray\": \"Gray\",\n\"Dark Yellow\": \"Dark Yellow\",\n\"Dark Orange\": \"Dark Orange\",\n\"Dark Red\": \"Dark Red\",\n\"Medium Gray\": \"Medium Gray\",\n\"Dark Gray\": \"Dark Gray\",\n\"Light Green\": \"Light Green\",\n\"Light Yellow\": \"Light Yellow\",\n\"Light Red\": \"Light Red\",\n\"Light Purple\": \"Light Purple\",\n\"Light Blue\": \"Light Blue\",\n\"Dark Purple\": \"Dark Purple\",\n\"Dark Blue\": \"Dark Blue\",\n\"Black\": \"Black\",\n\"White\": \"White\",\n\"Switch to or from fullscreen mode\": \"Switch to or from fullscreen mode\",\n\"Open help dialog\": \"Open help dialog\",\n\"history\": \"history\",\n\"styles\": \"styles\",\n\"formatting\": \"formatting\",\n\"alignment\": \"alignment\",\n\"indentation\": \"indentation\",\n\"Font\": \"Font\",\n\"Size\": \"Size\",\n\"More...\": \"More...\",\n\"Select...\": \"Select...\",\n\"Preferences\": \"Preferences\",\n\"Yes\": \"Yes\",\n\"No\": \"No\",\n\"Keyboard Navigation\": \"Keyboard Navigation\",\n\"Version\": \"Version\",\n\"Code view\": \"Vista de c\\u00f3digo\",\n\"Open popup menu for split buttons\": \"Abrir men\\u00fa emergente para botones divididos\",\n\"List Properties\": \"Propiedades de Lista\",\n\"List properties...\": \"Propiedades de lista...\",\n\"Start list at number\": \"Iniciar lista en el n\\u00famero\",\n\"Line height\": \"Altura de la l\\u00ednea\",\n\"comments\": \"comments\",\n\"Format Painter\": \"Format Painter\",\n\"Insert\\/edit iframe\": \"Insert\\/edit iframe\",\n\"Capitalization\": \"Capitalization\",\n\"lowercase\": \"lowercase\",\n\"UPPERCASE\": \"UPPERCASE\",\n\"Title Case\": \"Title Case\",\n\"permanent pen\": \"permanent pen\",\n\"Permanent Pen Properties\": \"Permanent Pen Properties\",\n\"Permanent pen properties...\": \"Permanent pen properties...\",\n\"case change\": \"Cambiar May\\u00fasculas y Min\\u00fasculas\",\n\"page embed\": \"p\\u00e1gina incrustada\",\n\"Advanced sort...\": \"Orden avanzado...\",\n\"Advanced Sort\": \"Orden Avanzado\",\n\"Sort table by column ascending\": \"Ordenar tabla por columna ascendente\",\n\"Sort table by column descending\": \"Ordenar tabla por columna descendente\",\n\"Sort\": \"Ordenar\",\n\"Order\": \"Orden\",\n\"Sort by\": \"Ordenar por\",\n\"Ascending\": \"Ascendente\",\n\"Descending\": \"Descendiente\",\n\"Column {0}\": \"Columna {0}\",\n\"Row {0}\": \"Fila {0}\",\n\"Spellcheck...\": \"Corrector...\",\n\"Misspelled word\": \"Palabra mal escrita\",\n\"Suggestions\": \"Sugerencias\",\n\"Change\": \"Cambiar\",\n\"Finding word suggestions\": \"Encontrar sugerencias de palabras\",\n\"Success\": \"\\u00c9xito\",\n\"Repair\": \"Reparar\",\n\"Issue {0} of {1}\": \"Problema {0} de {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"Las im\\u00e1genes deben estar marcadas como decorativas o tener una descripci\\u00f3n de texto alternativa\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"Las im\\u00e1genes deben tener una descripci\\u00f3n de texto alternativa. No se permiten im\\u00e1genes decorativas.\",\n\"Or provide alternative text:\": \"O proporcione texto alternativo:\",\n\"Make image decorative:\": \"Hacer la imagen decorativa:\",\n\"ID attribute must be unique\": \"El atributo de ID debe ser \\u00fanico\",\n\"Make ID unique\": \"Hacer que ID sea \\u00fanica\",\n\"Keep this ID and remove all others\": \"Conserve esta ID y elimine todas las dem\\u00e1s\",\n\"Remove this ID\": \"Eliminar esta ID\",\n\"Remove all IDs\": \"Eliminar todos los ID\",\n\"Checklist\": \"Lista de Verificaci\\u00f3n\",\n\"Anchor\": \"Anchor\",\n\"Special character\": \"Special character\",\n\"Code sample\": \"Code sample\",\n\"Color\": \"Color\",\n\"Document properties\": \"Document properties\",\n\"Image description\": \"Image description\",\n\"Image\": \"Image\",\n\"Insert link\": \"Insert link\",\n\"Target\": \"Target\",\n\"Link\": \"Link\",\n\"Poster\": \"Poster\",\n\"Media\": \"Media\",\n\"Print\": \"Print\",\n\"Prev\": \"Prev\",\n\"Find and replace\": \"Find and replace\",\n\"Whole words\": \"Whole words\",\n\"Insert template\": \"Insert template\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/fr_FR.js",
    "content": "tinymce.addI18n('fr_FR',{\n\"Redo\": \"R\\u00e9tablir\",\n\"Undo\": \"Annuler\",\n\"Cut\": \"Couper\",\n\"Copy\": \"Copier\",\n\"Paste\": \"Coller\",\n\"Select all\": \"S\\u00e9lectionner tout\",\n\"New document\": \"Nouveau document\",\n\"Ok\": \"OK\",\n\"Cancel\": \"Annuler\",\n\"Visual aids\": \"Aides visuelles\",\n\"Bold\": \"Gras\",\n\"Italic\": \"Italique\",\n\"Underline\": \"Soulign\\u00e9\",\n\"Strikethrough\": \"Barr\\u00e9\",\n\"Superscript\": \"Exposant\",\n\"Subscript\": \"Indice\",\n\"Clear formatting\": \"Effacer la mise en forme\",\n\"Align left\": \"Aligner \\u00e0 gauche\",\n\"Align center\": \"Centrer\",\n\"Align right\": \"Aligner \\u00e0 droite\",\n\"Justify\": \"Justifier\",\n\"Bullet list\": \"Liste \\u00e0 puces\",\n\"Numbered list\": \"Liste num\\u00e9rot\\u00e9e\",\n\"Decrease indent\": \"R\\u00e9duire le retrait\",\n\"Increase indent\": \"Augmenter le retrait\",\n\"Close\": \"Fermer\",\n\"Formats\": \"Formats\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Votre navigateur ne supporte pas l\\u2019acc\\u00e8s direct au presse-papiers. Merci d'utiliser les raccourcis clavier Ctrl+X\\/C\\/V.\",\n\"Headers\": \"En-t\\u00eates\",\n\"Header 1\": \"En-t\\u00eate 1\",\n\"Header 2\": \"En-t\\u00eate 2\",\n\"Header 3\": \"En-t\\u00eate 3\",\n\"Header 4\": \"En-t\\u00eate 4\",\n\"Header 5\": \"En-t\\u00eate 5\",\n\"Header 6\": \"En-t\\u00eate 6\",\n\"Headings\": \"Titres\",\n\"Heading 1\": \"Titre\\u00a01\",\n\"Heading 2\": \"Titre\\u00a02\",\n\"Heading 3\": \"Titre\\u00a03\",\n\"Heading 4\": \"Titre\\u00a04\",\n\"Heading 5\": \"Titre\\u00a05\",\n\"Heading 6\": \"Titre\\u00a06\",\n\"Preformatted\": \"Pr\\u00e9format\\u00e9\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"Code\",\n\"Paragraph\": \"Paragraphe\",\n\"Blockquote\": \"Blockquote\",\n\"Inline\": \"En ligne\",\n\"Blocks\": \"Blocs\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Le presse-papiers est maintenant en mode \\\"texte plein\\\". Les contenus seront coll\\u00e9s sans retenir les formatages jusqu'\\u00e0 ce que vous d\\u00e9sactiviez cette option.\",\n\"Fonts\": \"Polices\",\n\"Font Sizes\": \"Tailles de police\",\n\"Class\": \"Classe\",\n\"Browse for an image\": \"Rechercher une image\",\n\"OR\": \"OU\",\n\"Drop an image here\": \"D\\u00e9poser une image ici\",\n\"Upload\": \"T\\u00e9l\\u00e9charger\",\n\"Block\": \"Bloc\",\n\"Align\": \"Aligner\",\n\"Default\": \"Par d\\u00e9faut\",\n\"Circle\": \"Cercle\",\n\"Disc\": \"Disque\",\n\"Square\": \"Carr\\u00e9\",\n\"Lower Alpha\": \"Alpha minuscule\",\n\"Lower Greek\": \"Grec minuscule\",\n\"Lower Roman\": \"Romain minuscule\",\n\"Upper Alpha\": \"Alpha majuscule\",\n\"Upper Roman\": \"Romain majuscule\",\n\"Anchor...\": \"Ancre...\",\n\"Name\": \"Nom\",\n\"Id\": \"Id\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"L'Id doit commencer par une lettre suivi par des lettres, nombres, tirets, points, deux-points ou underscores\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Vous avez des modifications non enregistr\\u00e9es, \\u00eates-vous s\\u00fbr de quitter la page?\",\n\"Restore last draft\": \"Restaurer le dernier brouillon\",\n\"Special character...\": \"Caract\\u00e8re sp\\u00e9cial...\",\n\"Source code\": \"Code source\",\n\"Insert\\/Edit code sample\": \"Ins\\u00e9rer \\/ modifier une exemple de code\",\n\"Language\": \"Langue\",\n\"Code sample...\": \"Exemple de code...\",\n\"Color Picker\": \"S\\u00e9lecteur de couleurs\",\n\"R\": \"R\",\n\"G\": \"V\",\n\"B\": \"B\",\n\"Left to right\": \"Gauche \\u00e0 droite\",\n\"Right to left\": \"Droite \\u00e0 gauche\",\n\"Emoticons\": \"Emotic\\u00f4nes\",\n\"Emoticons...\": \"\\u00c9motic\\u00f4nes...\",\n\"Metadata and Document Properties\": \"M\\u00e9tadonn\\u00e9es et propri\\u00e9t\\u00e9s du document\",\n\"Title\": \"Titre\",\n\"Keywords\": \"Mots-cl\\u00e9s\",\n\"Description\": \"Description\",\n\"Robots\": \"Robots\",\n\"Author\": \"Auteur\",\n\"Encoding\": \"Encodage\",\n\"Fullscreen\": \"Plein \\u00e9cran\",\n\"Action\": \"Action\",\n\"Shortcut\": \"Raccourci\",\n\"Help\": \"Aide\",\n\"Address\": \"Adresse\",\n\"Focus to menubar\": \"Cibler la barre de menu\",\n\"Focus to toolbar\": \"Cibler la barre d'outils\",\n\"Focus to element path\": \"Cibler le chemin vers l'\\u00e9l\\u00e9ment\",\n\"Focus to contextual toolbar\": \"Cibler la barre d'outils contextuelle\",\n\"Insert link (if link plugin activated)\": \"Ins\\u00e9rer un lien (si le module link est activ\\u00e9)\",\n\"Save (if save plugin activated)\": \"Enregistrer (si le module save est activ\\u00e9)\",\n\"Find (if searchreplace plugin activated)\": \"Rechercher (si le module searchreplace est activ\\u00e9)\",\n\"Plugins installed ({0}):\": \"Modules install\\u00e9s ({0}) : \",\n\"Premium plugins:\": \"Modules premium :\",\n\"Learn more...\": \"En savoir plus...\",\n\"You are using {0}\": \"Vous utilisez {0}\",\n\"Plugins\": \"Plugins\",\n\"Handy Shortcuts\": \"Raccourcis utiles\",\n\"Horizontal line\": \"Ligne horizontale\",\n\"Insert\\/edit image\": \"Ins\\u00e9rer\\/modifier une image\",\n\"Alternative description\": \"Description alternative\",\n\"Accessibility\": \"Accessibilit\\u00e9\",\n\"Image is decorative\": \"L'image est d\\u00e9corative\",\n\"Source\": \"Source\",\n\"Dimensions\": \"Dimensions\",\n\"Constrain proportions\": \"Conserver les proportions\",\n\"General\": \"G\\u00e9n\\u00e9ral\",\n\"Advanced\": \"Avanc\\u00e9\",\n\"Style\": \"Style\",\n\"Vertical space\": \"Espacement vertical\",\n\"Horizontal space\": \"Espacement horizontal\",\n\"Border\": \"Bordure\",\n\"Insert image\": \"Ins\\u00e9rer une image\",\n\"Image...\": \"Image...\",\n\"Image list\": \"Liste d'images\",\n\"Rotate counterclockwise\": \"Rotation anti-horaire\",\n\"Rotate clockwise\": \"Rotation horaire\",\n\"Flip vertically\": \"Retournement vertical\",\n\"Flip horizontally\": \"Retournement horizontal\",\n\"Edit image\": \"Modifier l'image\",\n\"Image options\": \"Options de l'image\",\n\"Zoom in\": \"Zoomer\",\n\"Zoom out\": \"D\\u00e9zoomer\",\n\"Crop\": \"Rogner\",\n\"Resize\": \"Redimensionner\",\n\"Orientation\": \"Orientation\",\n\"Brightness\": \"Luminosit\\u00e9\",\n\"Sharpen\": \"Affiner\",\n\"Contrast\": \"Contraste\",\n\"Color levels\": \"Niveaux de couleur\",\n\"Gamma\": \"Gamma\",\n\"Invert\": \"Inverser\",\n\"Apply\": \"Appliquer\",\n\"Back\": \"Retour\",\n\"Insert date\\/time\": \"Ins\\u00e9rer date\\/heure\",\n\"Date\\/time\": \"Date\\/heure\",\n\"Insert\\/edit link\": \"Ins\\u00e9rer\\/modifier un lien\",\n\"Text to display\": \"Texte \\u00e0 afficher\",\n\"Url\": \"Url\",\n\"Open link in...\": \"Ouvrir le lien dans...\",\n\"Current window\": \"Fen\\u00eatre active\",\n\"None\": \"n\\/a\",\n\"New window\": \"Nouvelle fen\\u00eatre\",\n\"Open link\": \"Ouvrir le lien\",\n\"Remove link\": \"Enlever le lien\",\n\"Anchors\": \"Ancres\",\n\"Link...\": \"Lien...\",\n\"Paste or type a link\": \"Coller ou taper un lien\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"L'URL que vous avez entr\\u00e9e semble \\u00eatre une adresse e-mail. Voulez-vous ajouter le pr\\u00e9fixe mailto: n\\u00e9cessaire?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"L'URL que vous avez entr\\u00e9e semble \\u00eatre un lien externe. Voulez-vous ajouter le pr\\u00e9fixe http:\\/\\/ n\\u00e9cessaire?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"L'URL que vous avez saisie semble \\u00eatre un lien externe. Voulez-vous ajouter le pr\\u00e9fixe https:\\/\\/ requis\\u00a0?\",\n\"Link list\": \"Liste de liens\",\n\"Insert video\": \"Ins\\u00e9rer une vid\\u00e9o\",\n\"Insert\\/edit video\": \"Ins\\u00e9rer\\/modifier une vid\\u00e9o\",\n\"Insert\\/edit media\": \"Ins\\u00e9rer\\/modifier un m\\u00e9dia\",\n\"Alternative source\": \"Source alternative\",\n\"Alternative source URL\": \"URL de la source alternative\",\n\"Media poster (Image URL)\": \"Affiche de m\\u00e9dia (URL de l'image)\",\n\"Paste your embed code below:\": \"Collez votre code d'int\\u00e9gration ci-dessous :\",\n\"Embed\": \"Int\\u00e9grer\",\n\"Media...\": \"M\\u00e9dia...\",\n\"Nonbreaking space\": \"Espace ins\\u00e9cable\",\n\"Page break\": \"Saut de page\",\n\"Paste as text\": \"Coller comme texte\",\n\"Preview\": \"Pr\\u00e9visualiser\",\n\"Print...\": \"Imprimer...\",\n\"Save\": \"Enregistrer\",\n\"Find\": \"Chercher\",\n\"Replace with\": \"Remplacer par\",\n\"Replace\": \"Remplacer\",\n\"Replace all\": \"Tout remplacer\",\n\"Previous\": \"Pr\\u00e9c\\u00e9dente\",\n\"Next\": \"Suiv\",\n\"Find and Replace\": \"Trouver et remplacer\",\n\"Find and replace...\": \"Trouver et remplacer...\",\n\"Could not find the specified string.\": \"Impossible de trouver la cha\\u00eene sp\\u00e9cifi\\u00e9e.\",\n\"Match case\": \"Respecter la casse\",\n\"Find whole words only\": \"Mot entier\",\n\"Find in selection\": \"Trouver dans la s\\u00e9lection\",\n\"Spellcheck\": \"V\\u00e9rification orthographique\",\n\"Spellcheck Language\": \"Langue du correcteur orthographique\",\n\"No misspellings found.\": \"Aucune faute d'orthographe trouv\\u00e9e.\",\n\"Ignore\": \"Ignorer\",\n\"Ignore all\": \"Tout ignorer\",\n\"Finish\": \"Finie\",\n\"Add to Dictionary\": \"Ajouter au dictionnaire\",\n\"Insert table\": \"Ins\\u00e9rer un tableau\",\n\"Table properties\": \"Propri\\u00e9t\\u00e9s du tableau\",\n\"Delete table\": \"Supprimer le tableau\",\n\"Cell\": \"Cellule\",\n\"Row\": \"Ligne\",\n\"Column\": \"Colonne\",\n\"Cell properties\": \"Propri\\u00e9t\\u00e9s de la cellule\",\n\"Merge cells\": \"Fusionner les cellules\",\n\"Split cell\": \"Diviser la cellule\",\n\"Insert row before\": \"Ins\\u00e9rer une ligne avant\",\n\"Insert row after\": \"Ins\\u00e9rer une ligne apr\\u00e8s\",\n\"Delete row\": \"Effacer la ligne\",\n\"Row properties\": \"Propri\\u00e9t\\u00e9s de la ligne\",\n\"Cut row\": \"Couper la ligne\",\n\"Copy row\": \"Copier la ligne\",\n\"Paste row before\": \"Coller la ligne avant\",\n\"Paste row after\": \"Coller la ligne apr\\u00e8s\",\n\"Insert column before\": \"Ins\\u00e9rer une colonne avant\",\n\"Insert column after\": \"Ins\\u00e9rer une colonne apr\\u00e8s\",\n\"Delete column\": \"Effacer la colonne\",\n\"Cols\": \"Colonnes\",\n\"Rows\": \"Lignes\",\n\"Width\": \"Largeur\",\n\"Height\": \"Hauteur\",\n\"Cell spacing\": \"Espacement inter-cellulles\",\n\"Cell padding\": \"Espacement interne cellule\",\n\"Caption\": \"Titre\",\n\"Show caption\": \"Afficher le sous-titrage\",\n\"Left\": \"Gauche\",\n\"Center\": \"Centr\\u00e9\",\n\"Right\": \"Droite\",\n\"Cell type\": \"Type de cellule\",\n\"Scope\": \"Etendue\",\n\"Alignment\": \"Alignement\",\n\"H Align\": \"Alignement H\",\n\"V Align\": \"Alignement V\",\n\"Top\": \"Haut\",\n\"Middle\": \"Milieu\",\n\"Bottom\": \"Bas\",\n\"Header cell\": \"Cellule d'en-t\\u00eate\",\n\"Row group\": \"Groupe de lignes\",\n\"Column group\": \"Groupe de colonnes\",\n\"Row type\": \"Type de ligne\",\n\"Header\": \"En-t\\u00eate\",\n\"Body\": \"Corps\",\n\"Footer\": \"Pied\",\n\"Border color\": \"Couleur de la bordure\",\n\"Insert template...\": \"Ins\\u00e9rer un mod\\u00e8le...\",\n\"Templates\": \"Th\\u00e8mes\",\n\"Template\": \"Mod\\u00e8le\",\n\"Text color\": \"Couleur du texte\",\n\"Background color\": \"Couleur d'arri\\u00e8re-plan\",\n\"Custom...\": \"Personnalis\\u00e9...\",\n\"Custom color\": \"Couleur personnalis\\u00e9e\",\n\"No color\": \"Aucune couleur\",\n\"Remove color\": \"Supprimer la couleur\",\n\"Table of Contents\": \"Table des mati\\u00e8res\",\n\"Show blocks\": \"Afficher les blocs\",\n\"Show invisible characters\": \"Afficher les caract\\u00e8res invisibles\",\n\"Word count\": \"Nombre de mots\",\n\"Count\": \"Total\",\n\"Document\": \"Document\",\n\"Selection\": \"S\\u00e9lection\",\n\"Words\": \"Mots\",\n\"Words: {0}\": \"Mots : {0}\",\n\"{0} words\": \"{0} mots\",\n\"File\": \"Fichier\",\n\"Edit\": \"Editer\",\n\"Insert\": \"Ins\\u00e9rer\",\n\"View\": \"Voir\",\n\"Format\": \"Format\",\n\"Table\": \"Tableau\",\n\"Tools\": \"Outils\",\n\"Powered by {0}\": \"Propuls\\u00e9 par {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Zone Texte Riche. Appuyer sur ALT-F9 pour le menu. Appuyer sur ALT-F10 pour la barre d'outils. Appuyer sur ALT-0 pour de l'aide.\",\n\"Image title\": \"Titre d'image\",\n\"Border width\": \"\\u00c9paisseur de la bordure\",\n\"Border style\": \"Style de la bordure\",\n\"Error\": \"Erreur\",\n\"Warn\": \"Avertir\",\n\"Valid\": \"Valide\",\n\"To open the popup, press Shift+Enter\": \"Pour ouvrir la popup, appuyez sur Maj+Entr\\u00e9e\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Zone de texte riche. Appuyez sur ALT-0 pour l'aide.\",\n\"System Font\": \"Police syst\\u00e8me\",\n\"Failed to upload image: {0}\": \"\\u00c9chec d'envoi de l'image\\u00a0: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"\\u00c9chec de chargement du plug-in\\u00a0: {0} \\u00e0 partir de l\\u2019URL {1}\",\n\"Failed to load plugin url: {0}\": \"\\u00c9chec de chargement de l'URL du plug-in\\u00a0: {0}\",\n\"Failed to initialize plugin: {0}\": \"\\u00c9chec d'initialisation du plug-in\\u00a0: {0}\",\n\"example\": \"exemple\",\n\"Search\": \"Rechercher\",\n\"All\": \"Tout\",\n\"Currency\": \"Devise\",\n\"Text\": \"Texte\",\n\"Quotations\": \"Citations\",\n\"Mathematical\": \"Op\\u00e9rateurs math\\u00e9matiques\",\n\"Extended Latin\": \"Latin \\u00e9tendu\",\n\"Symbols\": \"Symboles\",\n\"Arrows\": \"Fl\\u00e8ches\",\n\"User Defined\": \"D\\u00e9fini par l'utilisateur\",\n\"dollar sign\": \"Symbole dollar\",\n\"currency sign\": \"Symbole devise\",\n\"euro-currency sign\": \"Symbole euro\",\n\"colon sign\": \"Symbole col\\u00f3n\",\n\"cruzeiro sign\": \"Symbole cruzeiro\",\n\"french franc sign\": \"Symbole franc fran\\u00e7ais\",\n\"lira sign\": \"Symbole lire\",\n\"mill sign\": \"Symbole milli\\u00e8me\",\n\"naira sign\": \"Symbole naira\",\n\"peseta sign\": \"Symbole peseta\",\n\"rupee sign\": \"Symbole roupie\",\n\"won sign\": \"Symbole won\",\n\"new sheqel sign\": \"Symbole nouveau ch\\u00e9kel\",\n\"dong sign\": \"Symbole dong\",\n\"kip sign\": \"Symbole kip\",\n\"tugrik sign\": \"Symbole tougrik\",\n\"drachma sign\": \"Symbole drachme\",\n\"german penny symbol\": \"Symbole pfennig\",\n\"peso sign\": \"Symbole peso\",\n\"guarani sign\": \"Symbole guarani\",\n\"austral sign\": \"Symbole austral\",\n\"hryvnia sign\": \"Symbole hryvnia\",\n\"cedi sign\": \"Symbole cedi\",\n\"livre tournois sign\": \"Symbole livre tournois\",\n\"spesmilo sign\": \"Symbole spesmilo\",\n\"tenge sign\": \"Symbole tenge\",\n\"indian rupee sign\": \"Symbole roupie indienne\",\n\"turkish lira sign\": \"Symbole lire turque\",\n\"nordic mark sign\": \"Symbole du mark nordique\",\n\"manat sign\": \"Symbole manat\",\n\"ruble sign\": \"Symbole rouble\",\n\"yen character\": \"Sinogramme Yen\",\n\"yuan character\": \"Sinogramme Yuan\",\n\"yuan character, in hong kong and taiwan\": \"Sinogramme Yuan, Hong Kong et Taiwan\",\n\"yen\\/yuan character variant one\": \"Sinogramme Yen\\/Yuan, premi\\u00e8re variante\",\n\"Loading emoticons...\": \"Chargement des \\u00e9motic\\u00f4nes en cours...\",\n\"Could not load emoticons\": \"\\u00c9chec de chargement des \\u00e9motic\\u00f4nes\",\n\"People\": \"Personnes\",\n\"Animals and Nature\": \"Animaux & nature\",\n\"Food and Drink\": \"Nourriture & boissons\",\n\"Activity\": \"Activit\\u00e9\",\n\"Travel and Places\": \"Voyages & lieux\",\n\"Objects\": \"Objets\",\n\"Flags\": \"Drapeaux\",\n\"Characters\": \"Caract\\u00e8res\",\n\"Characters (no spaces)\": \"Caract\\u00e8res (espaces non compris)\",\n\"{0} characters\": \"{0}\\u00a0caract\\u00e8res\",\n\"Error: Form submit field collision.\": \"Erreur\\u00a0: conflit de champs lors de la soumission du formulaire.\",\n\"Error: No form element found.\": \"Erreur : aucun \\u00e9l\\u00e9ment de formulaire trouv\\u00e9.\",\n\"Update\": \"Mettre \\u00e0 jour\",\n\"Color swatch\": \"\\u00c9chantillon de couleurs\",\n\"Turquoise\": \"Turquoise\",\n\"Green\": \"Vert\",\n\"Blue\": \"Bleu\",\n\"Purple\": \"Violet\",\n\"Navy Blue\": \"Bleu marine\",\n\"Dark Turquoise\": \"Turquoise fonc\\u00e9\",\n\"Dark Green\": \"Vert fonc\\u00e9\",\n\"Medium Blue\": \"Bleu moyen\",\n\"Medium Purple\": \"Violet moyen\",\n\"Midnight Blue\": \"Bleu de minuit\",\n\"Yellow\": \"Jaune\",\n\"Orange\": \"Orange\",\n\"Red\": \"Rouge\",\n\"Light Gray\": \"Gris clair\",\n\"Gray\": \"Gris\",\n\"Dark Yellow\": \"Jaune fonc\\u00e9\",\n\"Dark Orange\": \"Orange fonc\\u00e9\",\n\"Dark Red\": \"Rouge fonc\\u00e9\",\n\"Medium Gray\": \"Gris moyen\",\n\"Dark Gray\": \"Gris fonc\\u00e9\",\n\"Light Green\": \"Vert clair\",\n\"Light Yellow\": \"Jaune clair\",\n\"Light Red\": \"Rouge clair\",\n\"Light Purple\": \"Violet clair\",\n\"Light Blue\": \"Bleu clair\",\n\"Dark Purple\": \"Violet fonc\\u00e9\",\n\"Dark Blue\": \"Bleu fonc\\u00e9\",\n\"Black\": \"Noir\",\n\"White\": \"Blanc\",\n\"Switch to or from fullscreen mode\": \"Passer en ou quitter le mode plein \\u00e9cran\",\n\"Open help dialog\": \"Ouvrir la bo\\u00eete de dialogue d'aide\",\n\"history\": \"historique\",\n\"styles\": \"styles\",\n\"formatting\": \"mise en forme\",\n\"alignment\": \"alignement\",\n\"indentation\": \"retrait\",\n\"Font\": \"Police\",\n\"Size\": \"Taille\",\n\"More...\": \"Plus...\",\n\"Select...\": \"S\\u00e9lectionner...\",\n\"Preferences\": \"Pr\\u00e9f\\u00e9rences\",\n\"Yes\": \"Oui\",\n\"No\": \"Non\",\n\"Keyboard Navigation\": \"Navigation au clavier\",\n\"Version\": \"Version\",\n\"Code view\": \"Affichage du code\",\n\"Open popup menu for split buttons\": \"Ouvrir le menu contextuel pour les boutons partag\\u00e9s\",\n\"List Properties\": \"Propri\\u00e9t\\u00e9s de la liste\",\n\"List properties...\": \"Lister les propri\\u00e9t\\u00e9s...\",\n\"Start list at number\": \"Liste de d\\u00e9part au num\\u00e9ro\",\n\"Line height\": \"Hauteur de la ligne\",\n\"comments\": \"commentaires\",\n\"Format Painter\": \"Reproduire la mise en forme\",\n\"Insert\\/edit iframe\": \"Ins\\u00e9rer\\/modifier iframe\",\n\"Capitalization\": \"Mise en majuscules\",\n\"lowercase\": \"minuscule\",\n\"UPPERCASE\": \"MAJUSCULE\",\n\"Title Case\": \"Casse du titre\",\n\"permanent pen\": \"feutre ind\\u00e9l\\u00e9bile\",\n\"Permanent Pen Properties\": \"Propri\\u00e9t\\u00e9s du feutre ind\\u00e9l\\u00e9bile\",\n\"Permanent pen properties...\": \"Propri\\u00e9t\\u00e9s du feutre ind\\u00e9l\\u00e9bile...\",\n\"case change\": \"changement de cas\",\n\"page embed\": \"int\\u00e9gration de page\",\n\"Advanced sort...\": \"Tri avanc\\u00e9...\",\n\"Advanced Sort\": \"Tri avanc\\u00e9\",\n\"Sort table by column ascending\": \"Trier le tableau par colonne ascendante\",\n\"Sort table by column descending\": \"Trier le tableau par colonne en ordre d\\u00e9croissant\",\n\"Sort\": \"Sorte\",\n\"Order\": \"Ordre\",\n\"Sort by\": \"Trier par\",\n\"Ascending\": \"Ascendant\",\n\"Descending\": \"Descendant\",\n\"Column {0}\": \"Colonne {0}\",\n\"Row {0}\": \"Ligne {0}\",\n\"Spellcheck...\": \"V\\u00e9rification orthographique...\",\n\"Misspelled word\": \"Mot mal orthographi\\u00e9\",\n\"Suggestions\": \"Suggestions\",\n\"Change\": \"Changement\",\n\"Finding word suggestions\": \"Trouver des suggestions de mots\",\n\"Success\": \"Succ\\u00e8s\",\n\"Repair\": \"R\\u00e9paration\",\n\"Issue {0} of {1}\": \" {0} Erreur sur  {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"Les images doivent \\u00eatre marqu\\u00e9es comme d\\u00e9coratives ou avoir une description textuelle alternative\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"Les images doivent avoir une description textuelle alternative. Les images d\\u00e9coratives ne sont pas autoris\\u00e9es.\",\n\"Or provide alternative text:\": \"Ou fournissez un texte alternatif\\u00a0:\",\n\"Make image decorative:\": \"Rendre l'image d\\u00e9corative\\u00a0:\",\n\"ID attribute must be unique\": \"L'attribut ID doit \\u00eatre unique\",\n\"Make ID unique\": \"Rendre l'identifiant unique\",\n\"Keep this ID and remove all others\": \"Conservez cet identifiant et supprimez tous les autres\",\n\"Remove this ID\": \"Supprimer cet identifiant\",\n\"Remove all IDs\": \"Supprimer tous les identifiants\",\n\"Checklist\": \"Liste de contr\\u00f4le\",\n\"Anchor\": \"Ancre\",\n\"Special character\": \"Caract\\u00e8res sp\\u00e9ciaux\",\n\"Code sample\": \"Extrait de code\",\n\"Color\": \"Couleur\",\n\"Document properties\": \"Propri\\u00e9t\\u00e9 du document\",\n\"Image description\": \"Description de l'image\",\n\"Image\": \"Image\",\n\"Insert link\": \"Ins\\u00e9rer un lien\",\n\"Target\": \"Cible\",\n\"Link\": \"Lien\",\n\"Poster\": \"Publier\",\n\"Media\": \"M\\u00e9dia\",\n\"Print\": \"Imprimer\",\n\"Prev\": \"Pr\\u00e9c \",\n\"Find and replace\": \"Trouver et remplacer\",\n\"Whole words\": \"Mots entiers\",\n\"Insert template\": \"Ajouter un th\\u00e8me\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/it_IT.js",
    "content": "tinymce.addI18n('it_IT',{\n\"Redo\": \"Ripristina\",\n\"Undo\": \"Annulla\",\n\"Cut\": \"Taglia\",\n\"Copy\": \"Copia\",\n\"Paste\": \"Incolla\",\n\"Select all\": \"Seleziona tutto\",\n\"New document\": \"Nuovo documento\",\n\"Ok\": \"OK\",\n\"Cancel\": \"Annulla\",\n\"Visual aids\": \"Aiuti visivi\",\n\"Bold\": \"Grassetto\",\n\"Italic\": \"Corsivo\",\n\"Underline\": \"Sottolineato\",\n\"Strikethrough\": \"Barrato\",\n\"Superscript\": \"Apice\",\n\"Subscript\": \"Pedice\",\n\"Clear formatting\": \"Cancella la formattazione\",\n\"Align left\": \"Allinea a sinistra\",\n\"Align center\": \"Allinea al centro\",\n\"Align right\": \"Allinea a destra\",\n\"Justify\": \"Giustifica\",\n\"Bullet list\": \"Elenco puntato\",\n\"Numbered list\": \"Elenco numerato\",\n\"Decrease indent\": \"Riduci rientro\",\n\"Increase indent\": \"Aumenta rientro\",\n\"Close\": \"Chiudi\",\n\"Formats\": \"Formati\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Il browser non supporta l'accesso diretto alla cartella degli appunti. Usare i tasti di scelta rapida Ctrl+X\\/C\\/V.\",\n\"Headers\": \"Intestazioni\",\n\"Header 1\": \"Intestazione 1\",\n\"Header 2\": \"Intestazione 2\",\n\"Header 3\": \"Intestazione 3\",\n\"Header 4\": \"Intestazione 4\",\n\"Header 5\": \"Intestazione 5\",\n\"Header 6\": \"Intestazione 6\",\n\"Headings\": \"Titoli\",\n\"Heading 1\": \"Titolo 1\",\n\"Heading 2\": \"Titolo 2\",\n\"Heading 3\": \"Titolo 3\",\n\"Heading 4\": \"Titolo 4\",\n\"Heading 5\": \"Titolo 5\",\n\"Heading 6\": \"Titolo 6\",\n\"Preformatted\": \"Preformattato\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"Codice\",\n\"Paragraph\": \"Paragrafo\",\n\"Blockquote\": \"Blockquote\",\n\"Inline\": \"In linea\",\n\"Blocks\": \"Blocchi\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Incolla \\u00e8 in modalit\\u00e0 testo normale. I contenuti saranno incollati come testo normale se non viene disattivata questa opzione.\",\n\"Fonts\": \"Caratteri\",\n\"Font Sizes\": \"Dimensioni caratteri\",\n\"Class\": \"Classe\",\n\"Browse for an image\": \"Cerca un'immagine\",\n\"OR\": \"OPPURE\",\n\"Drop an image here\": \"Rilasciare un'immagine qui\",\n\"Upload\": \"Carica\",\n\"Block\": \"Blocco\",\n\"Align\": \"Allinea\",\n\"Default\": \"Predefinito\",\n\"Circle\": \"Circolo\",\n\"Disc\": \"Disco\",\n\"Square\": \"Quadrato\",\n\"Lower Alpha\": \"Alfabetico minuscolo\",\n\"Lower Greek\": \"Greco minuscolo\",\n\"Lower Roman\": \"Romano minuscolo\",\n\"Upper Alpha\": \"Alfabetico maiuscolo\",\n\"Upper Roman\": \"Romano maiuscolo\",\n\"Anchor...\": \"Ancoraggio...\",\n\"Name\": \"Nome\",\n\"Id\": \"ID\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"L'ID dovrebbe cominciare con una lettera, seguita unicamente da lettere, numeri, linee, punti, due punti o caratteri di sottolineatura.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Ci sono modifiche non salvate, si \\u00e8 sicuro di volere uscire?\",\n\"Restore last draft\": \"Ripristina l'ultima bozza\",\n\"Special characters...\": \"Caratteri speciali...\",\n\"Source code\": \"Codice sorgente\",\n\"Insert\\/Edit code sample\": \"Inserisci\\/modifica esempio di codice\",\n\"Language\": \"Lingua\",\n\"Code sample...\": \"Esempio di codice...\",\n\"Color Picker\": \"Selezione colori\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Da sinistra a destra\",\n\"Right to left\": \"Da destra a sinistra\",\n\"Emoticons...\": \"Emoticon...\",\n\"Metadata and Document Properties\": \"Metadata e propriet\\u00e0 del documento\",\n\"Title\": \"Titolo\",\n\"Keywords\": \"Parole chiave\",\n\"Description\": \"Descrizione\",\n\"Robots\": \"Robot\",\n\"Author\": \"Autore\",\n\"Encoding\": \"Codifica\",\n\"Fullscreen\": \"A tutto schermo\",\n\"Action\": \"Azione\",\n\"Shortcut\": \"Collegamento\",\n\"Help\": \"Guida\",\n\"Address\": \"Indirizzo\",\n\"Focus to menubar\": \"Imposta stato attivo per la barra dei menu\",\n\"Focus to toolbar\": \"Imposta stato attivo per la barra degli strumenti\",\n\"Focus to element path\": \"Imposta stato attivo per il percorso dell'elemento\",\n\"Focus to contextual toolbar\": \"Imposta stato attivo per la barra degli strumenti contestuale\",\n\"Insert link (if link plugin activated)\": \"Inserisci un collegamento (se \\u00e8 attivato l'apposito plugin)\",\n\"Save (if save plugin activated)\": \"Salva (se \\u00e8 attivato l'apposito plugin)\",\n\"Find (if searchreplace plugin activated)\": \"Trova (se \\u00e8 attivato l'apposito plugin)\",\n\"Plugins installed ({0}):\": \"Plugin installati ({0}):\",\n\"Premium plugins:\": \"Plugin Premium:\",\n\"Learn more...\": \"Maggiori informazioni...\",\n\"You are using {0}\": \"Si sta utilizzando {0}\",\n\"Plugins\": \"Plugin\",\n\"Handy Shortcuts\": \"Scorciatoie utili\",\n\"Horizontal line\": \"Linea orizzontale\",\n\"Insert\\/edit image\": \"Inserisci\\/modifica immagine\",\n\"Image description\": \"Descrizione immagine\",\n\"Source\": \"Fonte\",\n\"Dimensions\": \"Dimensioni\",\n\"Constrain proportions\": \"Mantieni proporzioni\",\n\"General\": \"Generali\",\n\"Advanced\": \"Avanzate\",\n\"Style\": \"Stile\",\n\"Vertical space\": \"Spazio verticale\",\n\"Horizontal space\": \"Spazio orizzontale\",\n\"Border\": \"Bordo\",\n\"Insert image\": \"Inserisci immagine\",\n\"Image...\": \"Immagine...\",\n\"Image list\": \"Elenco immagini\",\n\"Rotate counterclockwise\": \"Ruota in senso antiorario\",\n\"Rotate clockwise\": \"Ruota in senso orario\",\n\"Flip vertically\": \"Rifletti verticalmente\",\n\"Flip horizontally\": \"Rifletti orizzontalmente\",\n\"Edit image\": \"Modifica immagine\",\n\"Image options\": \"Opzioni immagine\",\n\"Zoom in\": \"Ingrandisci\",\n\"Zoom out\": \"Zoom indietro\",\n\"Crop\": \"Ritaglia\",\n\"Resize\": \"Ridimensiona\",\n\"Orientation\": \"Orientamento\",\n\"Brightness\": \"Luminosit\\u00e0\",\n\"Sharpen\": \"Nitidezza\",\n\"Contrast\": \"Contrasto\",\n\"Color levels\": \"Livelli di colore\",\n\"Gamma\": \"Gamma\",\n\"Invert\": \"Inverti\",\n\"Apply\": \"Applica\",\n\"Back\": \"Indietro\",\n\"Insert date\\/time\": \"Inserisci data\\/ora\",\n\"Date\\/time\": \"Data\\/ora\",\n\"Insert\\/Edit Link\": \"Inserisci\\/modifica collegamento\",\n\"Insert\\/edit link\": \"Inserisci\\/modifica collegamento\",\n\"Text to display\": \"Testo da visualizzare\",\n\"Url\": \"URL\",\n\"Open link in...\": \"Apri collegamento in...\",\n\"Current window\": \"Finestra corrente\",\n\"None\": \"Nessuno\",\n\"New window\": \"Nuova finestra\",\n\"Remove link\": \"Rimuovi collegamento\",\n\"Anchors\": \"Ancoraggi\",\n\"Link...\": \"Collegamento...\",\n\"Paste or type a link\": \"Incolla o digita un collegamento\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"L'URL inserito sembra essere un indirizzo email. Si vuole aggiungere il necessario prefisso mailto:?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"L'URL inserito sembra essere un collegamento esterno. Si vuole aggiungere il necessario prefisso http:\\/\\/?\",\n\"Link list\": \"Elenco collegamenti\",\n\"Insert video\": \"Inserisci video\",\n\"Insert\\/edit video\": \"Inserisci\\/modifica video\",\n\"Insert\\/edit media\": \"Inserisci\\/modifica oggetti multimediali\",\n\"Alternative source\": \"Sorgente alternativa\",\n\"Alternative source URL\": \"URL sorgente alternativa\",\n\"Media poster (Image URL)\": \"Poster dell'oggetto multimediale (URL dell'immagine)\",\n\"Paste your embed code below:\": \"Incolla il codice d'incorporamento di seguito:\",\n\"Embed\": \"Incorpora\",\n\"Media...\": \"Oggetto multimediale...\",\n\"Nonbreaking space\": \"Spazio indivisibile\",\n\"Page break\": \"Interruzione di pagina\",\n\"Paste as text\": \"Incolla senza formattazioni\",\n\"Preview\": \"Anteprima\",\n\"Print...\": \"Stampa...\",\n\"Save\": \"Salva\",\n\"Find\": \"Trova\",\n\"Replace with\": \"Sostituisci con\",\n\"Replace\": \"Sostituisci\",\n\"Replace all\": \"Sostituisci tutto\",\n\"Previous\": \"Indietro\",\n\"Next\": \"Avanti\",\n\"Find and replace...\": \"Trova e sostituisci...\",\n\"Could not find the specified string.\": \"Impossibile trovare la stringa specificata.\",\n\"Match case\": \"Maiuscole\\/minuscole\",\n\"Find whole words only\": \"Trova solo parole intere\",\n\"Spell check\": \"Controllo ortografia\",\n\"Ignore\": \"Ignora\",\n\"Ignore all\": \"Ignora tutto\",\n\"Finish\": \"Fine\",\n\"Add to Dictionary\": \"Aggiungi al dizionario\",\n\"Insert table\": \"Inserisci tabella\",\n\"Table properties\": \"Propriet\\u00e0 della tabella\",\n\"Delete table\": \"Elimina tabella\",\n\"Cell\": \"Cella\",\n\"Row\": \"Riga\",\n\"Column\": \"Colonna\",\n\"Cell properties\": \"Propriet\\u00e0 cella\",\n\"Merge cells\": \"Unisci le celle\",\n\"Split cell\": \"Dividi la cella\",\n\"Insert row before\": \"Inserisci riga prima\",\n\"Insert row after\": \"Inserisci riga dopo\",\n\"Delete row\": \"Elimina riga\",\n\"Row properties\": \"Propriet\\u00e0 della riga\",\n\"Cut row\": \"Taglia riga\",\n\"Copy row\": \"Copia riga\",\n\"Paste row before\": \"Incolla riga prima\",\n\"Paste row after\": \"Incolla riga dopo\",\n\"Insert column before\": \"Inserisci colonna prima\",\n\"Insert column after\": \"Inserisci colonna dopo\",\n\"Delete column\": \"Elimina colonna\",\n\"Cols\": \"Colonne\",\n\"Rows\": \"Righe\",\n\"Width\": \"Larghezza\",\n\"Height\": \"Altezza\",\n\"Cell spacing\": \"Spaziatura tra celle\",\n\"Cell padding\": \"Spaziatura interna celle\",\n\"Show caption\": \"Mostra didascalia\",\n\"Left\": \"Sinistra\",\n\"Center\": \"Centro\",\n\"Right\": \"Destra\",\n\"Cell type\": \"Tipo di cella\",\n\"Scope\": \"Ambito\",\n\"Alignment\": \"Allineamento\",\n\"H Align\": \"Allineamento H\",\n\"V Align\": \"Allineamento V\",\n\"Top\": \"In alto\",\n\"Middle\": \"Centrato\",\n\"Bottom\": \"In basso\",\n\"Header cell\": \"Cella d'intestazione\",\n\"Row group\": \"Gruppo di righe\",\n\"Column group\": \"Gruppo di colonne\",\n\"Row type\": \"Tipo di riga\",\n\"Header\": \"Intestazione\",\n\"Body\": \"Corpo\",\n\"Footer\": \"Pi\\u00e8 di pagina\",\n\"Border color\": \"Colore del bordo\",\n\"Insert template...\": \"Inserisci modello...\",\n\"Templates\": \"Modelli\",\n\"Template\": \"Modello\",\n\"Text color\": \"Colore testo\",\n\"Background color\": \"Colore dello sfondo\",\n\"Custom...\": \"Personalizzato...\",\n\"Custom color\": \"Colore personalizzato\",\n\"No color\": \"Nessun colore\",\n\"Remove color\": \"Rimuovi colore\",\n\"Table of Contents\": \"Sommario\",\n\"Show blocks\": \"Mostra blocchi\",\n\"Show invisible characters\": \"Mostra caratteri invisibili\",\n\"Word count\": \"Conteggio parole\",\n\"Words: {0}\": \"Parole: {0}\",\n\"{0} words\": \"{0} parole\",\n\"File\": \"File\",\n\"Edit\": \"Modifica\",\n\"Insert\": \"Inserisci\",\n\"View\": \"Visualizza\",\n\"Format\": \"Formato\",\n\"Table\": \"Tabella\",\n\"Tools\": \"Strumenti\",\n\"Powered by {0}\": \"Con tecnologia {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Area di testo RTF. Premere ALT-F9 per il menu. Premere ALT-F10 per la barra degli strumenti. Premere ALT-0 per la guida.\",\n\"Image title\": \"Titolo immagine\",\n\"Border width\": \"Larghezza del bordo\",\n\"Border style\": \"Stile del bordo\",\n\"Error\": \"Errore\",\n\"Warn\": \"Avviso\",\n\"Valid\": \"Valido\",\n\"To open the popup, press Shift+Enter\": \"Per aprire il popup, premere Shift+Invio\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Area di testo RTF. Premere ALT-0 per la guida.\",\n\"System Font\": \"Carattere di sistema\",\n\"Failed to upload image: {0}\": \"Caricamento immagine fallito: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Caricamento plugin fallito: {0} dall'URL {1}\",\n\"Failed to load plugin url: {0}\": \"Caricamento URL plugin fallito: {0}\",\n\"Failed to initialize plugin: {0}\": \"Inizializzazione plugin fallita: {0}\",\n\"example\": \"esempio\",\n\"Search\": \"Cerca\",\n\"All\": \"Tutto\",\n\"Currency\": \"Valuta\",\n\"Text\": \"Testo\",\n\"Quotations\": \"Citazioni\",\n\"Mathematical\": \"Caratteri matematici\",\n\"Extended Latin\": \"Latino esteso\",\n\"Symbols\": \"Simboli\",\n\"Arrows\": \"Frecce\",\n\"User Defined\": \"Definito dall'utente\",\n\"dollar sign\": \"simbolo del dollaro\",\n\"currency sign\": \"simbolo di valuta\",\n\"euro-currency sign\": \"simbolo dell'euro\",\n\"colon sign\": \"simbolo del col\\u00f3n\",\n\"cruzeiro sign\": \"simbolo del cruzeiro\",\n\"french franc sign\": \"simbolo del franco francese\",\n\"lira sign\": \"simbolo della lira\",\n\"mill sign\": \"simbolo del mill\",\n\"naira sign\": \"simbolo della naira\",\n\"peseta sign\": \"simbolo della peseta\",\n\"rupee sign\": \"simbolo della rup\\u00eca\",\n\"won sign\": \"simbolo del won\",\n\"new sheqel sign\": \"simbolo del nuovo shekel\",\n\"dong sign\": \"simbolo del dong\",\n\"kip sign\": \"simbolo del kip\",\n\"tugrik sign\": \"simbolo del tugrik\",\n\"drachma sign\": \"simbolo della dracma\",\n\"german penny symbol\": \"simbolo del pfennig tedesco\",\n\"peso sign\": \"simbolo del peso\",\n\"guarani sign\": \"simbolo del guaran\\u00ec\",\n\"austral sign\": \"simbolo dell'austral\",\n\"hryvnia sign\": \"simbolo della hryvnia\",\n\"cedi sign\": \"simbolo del cedi\",\n\"livre tournois sign\": \"simbolo della lira di Tours\",\n\"spesmilo sign\": \"simbolo dello spesmilo\",\n\"tenge sign\": \"simbolo del tenge\",\n\"indian rupee sign\": \"simbolo della rup\\u00eca indiana\",\n\"turkish lira sign\": \"simbolo della lira turca\",\n\"nordic mark sign\": \"simbolo del marco nordico\",\n\"manat sign\": \"simbolo del manat\",\n\"ruble sign\": \"simbolo del rublo\",\n\"yen character\": \"simbolo dello yen\",\n\"yuan character\": \"simbolo dello yuan\",\n\"yuan character, in hong kong and taiwan\": \"simbolo dello yuan, Hong Kong e Taiwan\",\n\"yen\\/yuan character variant one\": \"simbolo yen\\/yuan variante uno\",\n\"Loading emoticons...\": \"Caricamento emoticon in corso\",\n\"Could not load emoticons\": \"Impossibile caricare emoticon\",\n\"People\": \"Persone\",\n\"Animals and Nature\": \"Animali e natura\",\n\"Food and Drink\": \"Cibi e bevande\",\n\"Activity\": \"Attivit\\u00e0\",\n\"Travel and Places\": \"Viaggi e luoghi\",\n\"Objects\": \"Oggetti\",\n\"Flags\": \"Bandiere\",\n\"Characters\": \"Caratteri\",\n\"Characters (no spaces)\": \"Caratteri (senza spazi)\",\n\"Error: Form submit field collision.\": \"Errore: Conflitto di campi nel modulo inviato.\",\n\"Error: No form element found.\": \"Errore: Nessun elemento di modulo trovato.\",\n\"Update\": \"Aggiorna\",\n\"Color swatch\": \"Campione di colore\",\n\"Turquoise\": \"Turchese\",\n\"Green\": \"Verde\",\n\"Blue\": \"Blu\",\n\"Purple\": \"Viola\",\n\"Navy Blue\": \"Blu scuro\",\n\"Dark Turquoise\": \"Turchese scuro\",\n\"Dark Green\": \"Verde scuro\",\n\"Medium Blue\": \"Blu medio\",\n\"Medium Purple\": \"Viola medio\",\n\"Midnight Blue\": \"Blu notte\",\n\"Yellow\": \"Giallo\",\n\"Orange\": \"Arancio\",\n\"Red\": \"Rosso\",\n\"Light Gray\": \"Grigio chiaro\",\n\"Gray\": \"Grigio\",\n\"Dark Yellow\": \"Giallo scuro\",\n\"Dark Orange\": \"Arancio scuro\",\n\"Dark Red\": \"Rosso scuro\",\n\"Medium Gray\": \"Grigio medio\",\n\"Dark Gray\": \"Grigio scuro\",\n\"Black\": \"Nero\",\n\"White\": \"Bianco\",\n\"Switch to or from fullscreen mode\": \"Attiva\\/disattiva la modalit\\u00e0 schermo intero\",\n\"Open help dialog\": \"Apri la finestra di aiuto\",\n\"history\": \"cronologia\",\n\"styles\": \"stili\",\n\"formatting\": \"formattazione\",\n\"alignment\": \"allineamento\",\n\"indentation\": \"indentazione\",\n\"permanent pen\": \"penna indelebile\",\n\"comments\": \"commenti\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/pl.js",
    "content": "tinymce.addI18n('pl',{\n\"Redo\": \"Powt\\u00f3rz\",\n\"Undo\": \"Cofnij\",\n\"Cut\": \"Wytnij\",\n\"Copy\": \"Kopiuj\",\n\"Paste\": \"Wklej\",\n\"Select all\": \"Zaznacz wszystko\",\n\"New document\": \"Nowy dokument\",\n\"Ok\": \"Ok\",\n\"Cancel\": \"Anuluj\",\n\"Visual aids\": \"Pomoce wizualne\",\n\"Bold\": \"Pogrubienie\",\n\"Italic\": \"Kursywa\",\n\"Underline\": \"Podkre\\u015blenie\",\n\"Strikethrough\": \"Przekre\\u015blenie\",\n\"Superscript\": \"Indeks g\\u00f3rny\",\n\"Subscript\": \"Indeks dolny\",\n\"Clear formatting\": \"Wyczy\\u015b\\u0107 formatowanie\",\n\"Align left\": \"Wyr\\u00f3wnaj do lewej\",\n\"Align center\": \"Wyr\\u00f3wnaj do \\u015brodka\",\n\"Align right\": \"Wyr\\u00f3wnaj do prawej\",\n\"Justify\": \"Wyjustuj\",\n\"Bullet list\": \"Lista wypunktowana\",\n\"Numbered list\": \"Lista numerowana\",\n\"Decrease indent\": \"Zmniejsz wci\\u0119cie\",\n\"Increase indent\": \"Zwi\\u0119ksz wci\\u0119cie\",\n\"Close\": \"Zamknij\",\n\"Formats\": \"Formaty\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Twoja przegl\\u0105darka nie obs\\u0142uguje bezpo\\u015bredniego dost\\u0119pu do schowka. U\\u017cyj zamiast tego kombinacji klawiszy Ctrl+X\\/C\\/V.\",\n\"Headers\": \"Nag\\u0142\\u00f3wki\",\n\"Header 1\": \"Nag\\u0142\\u00f3wek 1\",\n\"Header 2\": \"Nag\\u0142\\u00f3wek 2\",\n\"Header 3\": \"Nag\\u0142\\u00f3wek 3\",\n\"Header 4\": \"Nag\\u0142\\u00f3wek 4\",\n\"Header 5\": \"Nag\\u0142\\u00f3wek 5\",\n\"Header 6\": \"Nag\\u0142\\u00f3wek 6\",\n\"Headings\": \"Nag\\u0142\\u00f3wki\",\n\"Heading 1\": \"Nag\\u0142\\u00f3wek 1\",\n\"Heading 2\": \"Nag\\u0142\\u00f3wek 2\",\n\"Heading 3\": \"Nag\\u0142\\u00f3wek 3\",\n\"Heading 4\": \"Nag\\u0142\\u00f3wek 4\",\n\"Heading 5\": \"Nag\\u0142\\u00f3wek 5\",\n\"Heading 6\": \"Nag\\u0142\\u00f3wek 6\",\n\"Preformatted\": \"Wst\\u0119pne formatowanie\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"Kod\",\n\"Paragraph\": \"Akapit\",\n\"Blockquote\": \"Blok cytatu\",\n\"Inline\": \"W tek\\u015bcie\",\n\"Blocks\": \"Bloki\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Wklejanie jest w trybie tekstowym. Zawarto\\u015b\\u0107 zostanie wklejona jako zwyk\\u0142y tekst dop\\u00f3ki nie wy\\u0142\\u0105czysz tej opcji.\",\n\"Fonts\": \"Fonty\",\n\"Font Sizes\": \"Rozmiar fontu\",\n\"Class\": \"Klasa\",\n\"Browse for an image\": \"Przegl\\u0105daj za zdj\\u0119ciem\",\n\"OR\": \"LUB\",\n\"Drop an image here\": \"Upu\\u015b\\u0107 obraz tutaj\",\n\"Upload\": \"Prze\\u015blij\",\n\"Block\": \"Zablokuj\",\n\"Align\": \"Wyr\\u00f3wnaj\",\n\"Default\": \"Domy\\u015blne\",\n\"Circle\": \"K\\u00f3\\u0142ko\",\n\"Disc\": \"Dysk\",\n\"Square\": \"Kwadrat\",\n\"Lower Alpha\": \"Ma\\u0142e litery\",\n\"Lower Greek\": \"Ma\\u0142e greckie\",\n\"Lower Roman\": \"Ma\\u0142e rzymskie\",\n\"Upper Alpha\": \"Wielkie litery\",\n\"Upper Roman\": \"Wielkie rzymskie\",\n\"Anchor...\": \"Kotwica...\",\n\"Name\": \"Nazwa\",\n\"Id\": \"Identyfikator\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Identyfikator powinien zaczyna\\u0107 si\\u0119 liter\\u0105, dozwolone s\\u0105 tylko litery, numery, uko\\u015bniki, kropki, dwukropki i podkre\\u015blniki - tzw. pod\\u0142ogi\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Masz niezapisane zmiany. Czy na pewno chcesz opu\\u015bci\\u0107 stron\\u0119?\",\n\"Restore last draft\": \"Przywr\\u00f3\\u0107 ostatni szkic\",\n\"Special character...\": \"Znak specjalny...\",\n\"Source code\": \"Kod \\u017ar\\u00f3d\\u0142owy\",\n\"Insert\\/Edit code sample\": \"Dodaj\\/Edytuj przyk\\u0142adowy kod\",\n\"Language\": \"J\\u0119zyk\",\n\"Code sample...\": \"Przyk\\u0142ad kodu...\",\n\"Color Picker\": \"Selektor kolor\\u00f3w\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Od lewej do prawej\",\n\"Right to left\": \"Od prawej do lewej\",\n\"Emoticons...\": \"Emotikony...\",\n\"Metadata and Document Properties\": \"Metadane i w\\u0142a\\u015bciwo\\u015bci dokumentu\",\n\"Title\": \"Tytu\\u0142\",\n\"Keywords\": \"S\\u0142owa kluczowe\",\n\"Description\": \"Opis\",\n\"Robots\": \"Roboty\",\n\"Author\": \"Autor\",\n\"Encoding\": \"Kodowanie\",\n\"Fullscreen\": \"Pe\\u0142ny ekran\",\n\"Action\": \"Akcja\",\n\"Shortcut\": \"Skr\\u00f3t\",\n\"Help\": \"Pomoc\",\n\"Address\": \"Adres\",\n\"Focus to menubar\": \"Skup si\\u0119 na pasku menu\",\n\"Focus to toolbar\": \"Skupi\\u0107 si\\u0119 na pasku\",\n\"Focus to element path\": \"Skup si\\u0119 na \\u015bcie\\u017cce elementu\",\n\"Focus to contextual toolbar\": \"Skupi\\u0107 si\\u0119 na pasku narz\\u0119dzi kontekstowych\",\n\"Insert link (if link plugin activated)\": \"Wstaw \\u0142\\u0105cze (je\\u015bli w\\u0142\\u0105czysz wtyczk\\u0119 link\\u00f3w)\",\n\"Save (if save plugin activated)\": \"Zapisz (je\\u015bli aktywowana jest wtyczka do zapisu)\",\n\"Find (if searchreplace plugin activated)\": \"Znajd\\u017a (je\\u015bli w\\u0142\\u0105czysz wtyczk\\u0119 do wyszukiwania)\",\n\"Plugins installed ({0}):\": \"Zainstalowane wtyczki ({0}):\",\n\"Premium plugins:\": \"Wtyczki Premium:\",\n\"Learn more...\": \"Dowiedz si\\u0119 wi\\u0119cej...\",\n\"You are using {0}\": \"U\\u017cywasz {0}\",\n\"Plugins\": \"Pluginy\",\n\"Handy Shortcuts\": \"Przydatne skr\\u00f3ty\",\n\"Horizontal line\": \"Pozioma linia\",\n\"Insert\\/edit image\": \"Wstaw\\/edytuj obrazek\",\n\"Image description\": \"Opis obrazka\",\n\"Source\": \"\\u0179r\\u00f3d\\u0142o\",\n\"Dimensions\": \"Wymiary\",\n\"Constrain proportions\": \"Zachowaj proporcje\",\n\"General\": \"Og\\u00f3lne\",\n\"Advanced\": \"Zaawansowane\",\n\"Style\": \"Styl\",\n\"Vertical space\": \"Odst\\u0119p pionowy\",\n\"Horizontal space\": \"Odst\\u0119p poziomy\",\n\"Border\": \"Ramka\",\n\"Insert image\": \"Wstaw obrazek\",\n\"Image...\": \"Obraz...\",\n\"Image list\": \"Lista obrazk\\u00f3w\",\n\"Rotate counterclockwise\": \"Obr\\u00f3\\u0107 w lewo\",\n\"Rotate clockwise\": \"Obr\\u00f3\\u0107 w prawo\",\n\"Flip vertically\": \"Przerzu\\u0107 w pionie\",\n\"Flip horizontally\": \"Przerzu\\u0107 w poziomie\",\n\"Edit image\": \"Edytuj obrazek\",\n\"Image options\": \"Opcje obrazu\",\n\"Zoom in\": \"Powi\\u0119ksz\",\n\"Zoom out\": \"Pomniejsz\",\n\"Crop\": \"Przytnij\",\n\"Resize\": \"Zmiana rozmiaru\",\n\"Orientation\": \"Orientacja\",\n\"Brightness\": \"Jasno\\u015b\\u0107\",\n\"Sharpen\": \"Wyostrz\",\n\"Contrast\": \"Kontrast\",\n\"Color levels\": \"Poziom koloru\",\n\"Gamma\": \"Gamma\",\n\"Invert\": \"Odwr\\u00f3\\u0107\",\n\"Apply\": \"Zaakceptuj\",\n\"Back\": \"Cofnij\",\n\"Insert date\\/time\": \"Wstaw dat\\u0119\\/czas\",\n\"Date\\/time\": \"Data\\/Czas\",\n\"Insert\\/Edit Link\": \"Wstaw\\/Edytuj \\u0142\\u0105cze\",\n\"Insert\\/edit link\": \"Wstaw\\/edytuj \\u0142\\u0105cze\",\n\"Text to display\": \"Tekst do wy\\u015bwietlenia\",\n\"Url\": \"URL\",\n\"Open link in...\": \"Otw\\u00f3rz \\u0142\\u0105cze w...\",\n\"Current window\": \"Bie\\u017c\\u0105ce okno\",\n\"None\": \"\\u017baden\",\n\"New window\": \"Nowe okno\",\n\"Remove link\": \"Usu\\u0144 \\u0142\\u0105cze\",\n\"Anchors\": \"Kotwice\",\n\"Link...\": \"\\u0141\\u0105cze...\",\n\"Paste or type a link\": \"Wklej lub wpisz adres \\u0142\\u0105cza\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"URL, kt\\u00f3ry wprowadzi\\u0142e\\u015b wygl\\u0105da na adres e-mail. Czy chcesz doda\\u0107 mailto: jako prefiks?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"URL, kt\\u00f3ry wprowadzi\\u0142e\\u015b wygl\\u0105da na link zewn\\u0119trzny. Czy chcesz doda\\u0107 http:\\/\\/ jako prefiks?\",\n\"Link list\": \"Lista link\\u00f3w\",\n\"Insert video\": \"Wstaw wideo\",\n\"Insert\\/edit video\": \"Wstaw\\/edytuj wideo\",\n\"Insert\\/edit media\": \"Wstaw\\/Edytuj media\",\n\"Alternative source\": \"Alternatywne \\u017ar\\u00f3d\\u0142o\",\n\"Alternative source URL\": \"Alternatywny URL \\u017ar\\u00f3d\\u0142a\",\n\"Media poster (Image URL)\": \"Plakat (URL obrazu)\",\n\"Paste your embed code below:\": \"Wklej tutaj kod do osadzenia:\",\n\"Embed\": \"Osad\\u017a\",\n\"Media...\": \"Multimedia...\",\n\"Nonbreaking space\": \"Nie\\u0142amliwa spacja\",\n\"Page break\": \"Podzia\\u0142 strony\",\n\"Paste as text\": \"Wklej jako zwyk\\u0142y tekst\",\n\"Preview\": \"Podgl\\u0105d\",\n\"Print...\": \"Drukuj...\",\n\"Save\": \"Zapisz\",\n\"Find\": \"Znajd\\u017a\",\n\"Replace with\": \"Zamie\\u0144 na\",\n\"Replace\": \"Zamie\\u0144\",\n\"Replace all\": \"Zamie\\u0144 wszystko\",\n\"Previous\": \"Poprzedni\",\n\"Next\": \"Nast.\",\n\"Find and replace...\": \"Znajd\\u017a i zamie\\u0144...\",\n\"Could not find the specified string.\": \"Nie znaleziono szukanego tekstu.\",\n\"Match case\": \"Dopasuj wielko\\u015b\\u0107 liter\",\n\"Find whole words only\": \"Znajd\\u017a tylko ca\\u0142e wyrazy\",\n\"Spell check\": \"Sprawd\\u017a pisowni\\u0119\",\n\"Ignore\": \"Ignoruj\",\n\"Ignore all\": \"Ignoruj wszystko\",\n\"Finish\": \"Zako\\u0144cz\",\n\"Add to Dictionary\": \"Dodaj do s\\u0142ownika\",\n\"Insert table\": \"Wstaw tabel\\u0119\",\n\"Table properties\": \"W\\u0142a\\u015bciwo\\u015bci tabeli\",\n\"Delete table\": \"Usu\\u0144 tabel\\u0119\",\n\"Cell\": \"Kom\\u00f3rka\",\n\"Row\": \"Wiersz\",\n\"Column\": \"Kolumna\",\n\"Cell properties\": \"W\\u0142a\\u015bciwo\\u015bci kom\\u00f3rki\",\n\"Merge cells\": \"\\u0141\\u0105cz kom\\u00f3rki\",\n\"Split cell\": \"Podziel kom\\u00f3rk\\u0119\",\n\"Insert row before\": \"Wstaw wiersz przed\",\n\"Insert row after\": \"Wstaw wiersz po\",\n\"Delete row\": \"Usu\\u0144 wiersz\",\n\"Row properties\": \"W\\u0142a\\u015bciwo\\u015bci wiersza\",\n\"Cut row\": \"Wytnij wiersz\",\n\"Copy row\": \"Kopiuj wiersz\",\n\"Paste row before\": \"Wklej wiersz przed\",\n\"Paste row after\": \"Wklej wiersz po\",\n\"Insert column before\": \"Wstaw kolumn\\u0119 przed\",\n\"Insert column after\": \"Wstaw kolumn\\u0119 po\",\n\"Delete column\": \"Usu\\u0144 kolumn\\u0119\",\n\"Cols\": \"Kol.\",\n\"Rows\": \"Wiersz.\",\n\"Width\": \"Szeroko\\u015b\\u0107\",\n\"Height\": \"Wysoko\\u015b\\u0107\",\n\"Cell spacing\": \"Odst\\u0119py kom\\u00f3rek\",\n\"Cell padding\": \"Dope\\u0142nienie kom\\u00f3rki\",\n\"Show caption\": \"Poka\\u017c podpis\",\n\"Left\": \"Lewo\",\n\"Center\": \"\\u015arodek\",\n\"Right\": \"Prawo\",\n\"Cell type\": \"Typ kom\\u00f3rki\",\n\"Scope\": \"Kontekst\",\n\"Alignment\": \"Wyr\\u00f3wnanie\",\n\"H Align\": \"Wyr\\u00f3wnanie w pionie\",\n\"V Align\": \"Wyr\\u00f3wnanie w poziomie\",\n\"Top\": \"G\\u00f3ra\",\n\"Middle\": \"\\u015arodek\",\n\"Bottom\": \"D\\u00f3\\u0142\",\n\"Header cell\": \"Kom\\u00f3rka nag\\u0142\\u00f3wka\",\n\"Row group\": \"Grupa wierszy\",\n\"Column group\": \"Grupa kolumn\",\n\"Row type\": \"Typ wiersza\",\n\"Header\": \"Nag\\u0142\\u00f3wek\",\n\"Body\": \"Tre\\u015b\\u0107\",\n\"Footer\": \"Stopka\",\n\"Border color\": \"Kolor ramki\",\n\"Insert template...\": \"Wstaw szablon...\",\n\"Templates\": \"Szablony\",\n\"Template\": \"Szablon\",\n\"Text color\": \"Kolor tekstu\",\n\"Background color\": \"Kolor t\\u0142a\",\n\"Custom...\": \"Niestandardowy...\",\n\"Custom color\": \"Kolor niestandardowy\",\n\"No color\": \"Bez koloru\",\n\"Remove color\": \"Usu\\u0144 kolor\",\n\"Table of Contents\": \"Spis tre\\u015bci\",\n\"Show blocks\": \"Poka\\u017c bloki\",\n\"Show invisible characters\": \"Poka\\u017c niewidoczne znaki\",\n\"Word count\": \"Liczba s\\u0142\\u00f3w\",\n\"Count\": \"Liczba\",\n\"Document\": \"Dokument\",\n\"Selection\": \"Zaznaczenie\",\n\"Words\": \"S\\u0142owa\",\n\"Words: {0}\": \"S\\u0142\\u00f3w: {0}\",\n\"{0} words\": \"{0} s\\u0142\\u00f3w\",\n\"File\": \"Plik\",\n\"Edit\": \"Edycja\",\n\"Insert\": \"Wstaw\",\n\"View\": \"Widok\",\n\"Format\": \"Format\",\n\"Table\": \"Tabela\",\n\"Tools\": \"Narz\\u0119dzia\",\n\"Powered by {0}\": \"Powered by {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Obszar Edycji. ALT-F9 - menu. ALT-F10 - pasek narz\\u0119dzi. ALT-0 - pomoc\",\n\"Image title\": \"Tytu\\u0142 obrazu\",\n\"Border width\": \"Grubo\\u015b\\u0107 ramki\",\n\"Border style\": \"Styl ramki\",\n\"Error\": \"B\\u0142\\u0105d\",\n\"Warn\": \"Ostrze\\u017cenie\",\n\"Valid\": \"Prawid\\u0142owe\",\n\"To open the popup, press Shift+Enter\": \"Aby otworzy\\u0107 okienko, naci\\u015bnij Shift+Enter\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Obszar tekstu sformatowanego. Naci\\u015bnij ALT-0, aby uzyska\\u0107 pomoc.\",\n\"System Font\": \"Font systemowy\",\n\"Failed to upload image: {0}\": \"Nie uda\\u0142o si\\u0119 przes\\u0142a\\u0107 obrazu: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Nie uda\\u0142o si\\u0119 za\\u0142adowa\\u0107 dodatku: {0} spod adresu url {1}\",\n\"Failed to load plugin url: {0}\": \"Nie uda\\u0142o si\\u0119 za\\u0142adowa\\u0107 adresu url dodatku: {0}\",\n\"Failed to initialize plugin: {0}\": \"Nie mo\\u017cna zainicjowa\\u0107 dodatku: {0}\",\n\"example\": \"przyk\\u0142ad\",\n\"Search\": \"Wyszukaj\",\n\"All\": \"Wszystkie\",\n\"Currency\": \"Waluta\",\n\"Text\": \"Tekst\",\n\"Quotations\": \"Cudzys\\u0142owy\",\n\"Mathematical\": \"Matematyczne\",\n\"Extended Latin\": \"Rozszerzony \\u0142aci\\u0144ski\",\n\"Symbols\": \"Symbole\",\n\"Arrows\": \"Strza\\u0142ki\",\n\"User Defined\": \"W\\u0142asny\",\n\"dollar sign\": \"znak dolara\",\n\"currency sign\": \"znak waluty\",\n\"euro-currency sign\": \"znak euro\",\n\"colon sign\": \"znak colon\",\n\"cruzeiro sign\": \"znak cruzeiro\",\n\"french franc sign\": \"znak franka francuskiego\",\n\"lira sign\": \"znak liry\",\n\"mill sign\": \"znak mill\",\n\"naira sign\": \"znak nairy\",\n\"peseta sign\": \"znak pesety\",\n\"rupee sign\": \"znak rupii\",\n\"won sign\": \"znak wona\",\n\"new sheqel sign\": \"znak nowego szekla\",\n\"dong sign\": \"znak donga\",\n\"kip sign\": \"znak kipa\",\n\"tugrik sign\": \"znak tugrika\",\n\"drachma sign\": \"znak drachmy\",\n\"german penny symbol\": \"znak feniga\",\n\"peso sign\": \"znak peso\",\n\"guarani sign\": \"znak guarani\",\n\"austral sign\": \"znak australa\",\n\"hryvnia sign\": \"znak hrywny\",\n\"cedi sign\": \"znak cedi\",\n\"livre tournois sign\": \"znak livre tournois\",\n\"spesmilo sign\": \"znak spesmilo\",\n\"tenge sign\": \"znak tenge\",\n\"indian rupee sign\": \"znak rupii indyjskiej\",\n\"turkish lira sign\": \"znak liry tureckiej\",\n\"nordic mark sign\": \"znak nordic mark\",\n\"manat sign\": \"znak manata\",\n\"ruble sign\": \"znak rubla\",\n\"yen character\": \"znak jena\",\n\"yuan character\": \"znak juana\",\n\"yuan character, in hong kong and taiwan\": \"znak juana w Hongkongu i na Tajwanie\",\n\"yen\\/yuan character variant one\": \"jen\\/juan, wariant pierwszy\",\n\"Loading emoticons...\": \"\\u0141adowanie emotikon\\u00f3w...\",\n\"Could not load emoticons\": \"Nie mo\\u017cna za\\u0142adowa\\u0107 emotikon\\u00f3w\",\n\"People\": \"Ludzie\",\n\"Animals and Nature\": \"Zwierz\\u0119ta i natura\",\n\"Food and Drink\": \"Jedzenie i picie\",\n\"Activity\": \"Aktywno\\u015b\\u0107\",\n\"Travel and Places\": \"Podr\\u00f3\\u017ce i miejsca\",\n\"Objects\": \"Obiekty\",\n\"Flags\": \"Flagi\",\n\"Characters\": \"Znaki\",\n\"Characters (no spaces)\": \"Znaki (bez spacji)\",\n\"{0} characters\": \"{0} znak\\u00f3w\",\n\"Error: Form submit field collision.\": \"B\\u0142\\u0105d: kolizja pola przesy\\u0142ania formularza.\",\n\"Error: No form element found.\": \"B\\u0142\\u0105d: nie znaleziono elementu formularza.\",\n\"Update\": \"Aktualizuj\",\n\"Color swatch\": \"Pr\\u00f3bka koloru\",\n\"Turquoise\": \"Turkusowy\",\n\"Green\": \"Zielony\",\n\"Blue\": \"Niebieski\",\n\"Purple\": \"Purpurowy\",\n\"Navy Blue\": \"Ciemnoniebieski\",\n\"Dark Turquoise\": \"Ciemnoturkusowy\",\n\"Dark Green\": \"Ciemnozielony\",\n\"Medium Blue\": \"\\u015arednioniebieski\",\n\"Medium Purple\": \"\\u015aredniopurpurowy\",\n\"Midnight Blue\": \"Nocny b\\u0142\\u0119kit\",\n\"Yellow\": \"\\u017b\\u00f3\\u0142ty\",\n\"Orange\": \"Pomara\\u0144czowy\",\n\"Red\": \"Czerwony\",\n\"Light Gray\": \"Jasnoszary\",\n\"Gray\": \"Szary\",\n\"Dark Yellow\": \"Ciemno\\u017c\\u00f3\\u0142ty\",\n\"Dark Orange\": \"Ciemnopomara\\u0144czowy\",\n\"Dark Red\": \"Ciemnoczerwony\",\n\"Medium Gray\": \"\\u015arednioszary\",\n\"Dark Gray\": \"Ciemnoszary\",\n\"Light Green\": \"Jasnozielony\",\n\"Light Yellow\": \"Jasno\\u017c\\u00f3\\u0142ty\",\n\"Light Red\": \"Jasnoczerwony\",\n\"Light Purple\": \"Jasnopurpurowy\",\n\"Light Blue\": \"Jasnoniebieski\",\n\"Dark Purple\": \"Ciemnopurpurowy\",\n\"Dark Blue\": \"Ciemnoniebieski\",\n\"Black\": \"Czarny\",\n\"White\": \"Bia\\u0142y\",\n\"Switch to or from fullscreen mode\": \"W\\u0142\\u0105cz lub wy\\u0142\\u0105cz tryb pe\\u0142noekranowy\",\n\"Open help dialog\": \"Otw\\u00f3rz okno dialogowe pomocy\",\n\"history\": \"historia\",\n\"styles\": \"style\",\n\"formatting\": \"formatowanie\",\n\"alignment\": \"wyr\\u00f3wnanie\",\n\"indentation\": \"wci\\u0119cie\",\n\"permanent pen\": \"marker\",\n\"comments\": \"komentarze\",\n\"Format Painter\": \"Malarz format\\u00f3w\",\n\"Insert\\/edit iframe\": \"Wstaw\\/edytuj iframe\",\n\"Capitalization\": \"Jak w zdaniu\",\n\"lowercase\": \"ma\\u0142e litery\",\n\"UPPERCASE\": \"WIELKIE LITERY\",\n\"Title Case\": \"Jak Nazwy W\\u0142asne\",\n\"Permanent Pen Properties\": \"W\\u0142a\\u015bciwo\\u015bci markera\",\n\"Permanent pen properties...\": \"W\\u0142a\\u015bciwo\\u015bci markera...\",\n\"Font\": \"Font\",\n\"Size\": \"Rozmiar\",\n\"More...\": \"Wi\\u0119cej...\",\n\"Spellcheck Language\": \"J\\u0119zyk sprawdzania pisowni\",\n\"Select...\": \"Wybierz...\",\n\"Preferences\": \"Ustawienia\",\n\"Yes\": \"Tak\",\n\"No\": \"Nie\",\n\"Keyboard Navigation\": \"Nawigacja za pomoc\\u0105 klawiatury\",\n\"Version\": \"Wersja\",\n\"Anchor\": \"Kotwica\",\n\"Special character\": \"Znak specjalny\",\n\"Code sample\": \"Przyk\\u0142ad kodu \\u017ar\\u00f3d\\u0142owego\",\n\"Color\": \"Kolor\",\n\"Emoticons\": \"Ikony emocji\",\n\"Document properties\": \"W\\u0142a\\u015bciwo\\u015bci dokumentu\",\n\"Image\": \"Obraz\",\n\"Insert link\": \"Wstaw \\u0142\\u0105cze\",\n\"Target\": \"Cel\",\n\"Link\": \"Adres \\u0142\\u0105cza\",\n\"Poster\": \"Plakat\",\n\"Media\": \"Media\",\n\"Print\": \"Drukuj\",\n\"Prev\": \"Poprz.\",\n\"Find and replace\": \"Znajd\\u017a i zamie\\u0144\",\n\"Whole words\": \"Ca\\u0142e s\\u0142owa\",\n\"Spellcheck\": \"Sprawdzanie pisowni\",\n\"Caption\": \"Tytu\\u0142\",\n\"Insert template\": \"Wstaw szablon\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/pt_BR.js",
    "content": "tinymce.addI18n('pt_BR',{\n\"Redo\": \"Refazer\",\n\"Undo\": \"Desfazer\",\n\"Cut\": \"Cortar\",\n\"Copy\": \"Copiar\",\n\"Paste\": \"Colar\",\n\"Select all\": \"Selecionar tudo\",\n\"New document\": \"Novo documento\",\n\"Ok\": \"Ok\",\n\"Cancel\": \"Cancelar\",\n\"Visual aids\": \"Ajuda visual\",\n\"Bold\": \"Negrito\",\n\"Italic\": \"It\\u00e1lico\",\n\"Underline\": \"Sublinhado\",\n\"Strikethrough\": \"Tachado\",\n\"Superscript\": \"Sobrescrito\",\n\"Subscript\": \"Subscrito\",\n\"Clear formatting\": \"Limpar formata\\u00e7\\u00e3o\",\n\"Align left\": \"Alinhar \\u00e0 esquerda\",\n\"Align center\": \"Centralizar\",\n\"Align right\": \"Alinhar \\u00e0 direita\",\n\"Justify\": \"Justificar\",\n\"Bullet list\": \"Lista n\\u00e3o ordenada\",\n\"Numbered list\": \"Lista ordenada\",\n\"Decrease indent\": \"Diminuir recuo\",\n\"Increase indent\": \"Aumentar recuo\",\n\"Close\": \"Fechar\",\n\"Formats\": \"Formatos\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Seu navegador n\\u00e3o suporta acesso direto \\u00e0 \\u00e1rea de transfer\\u00eancia. Por favor use os atalhos Ctrl+X - C - V do teclado\",\n\"Headers\": \"Cabe\\u00e7alhos\",\n\"Header 1\": \"Cabe\\u00e7alho 1\",\n\"Header 2\": \"Cabe\\u00e7alho 2\",\n\"Header 3\": \"Cabe\\u00e7alho 3\",\n\"Header 4\": \"Cabe\\u00e7alho 4\",\n\"Header 5\": \"Cabe\\u00e7alho 5\",\n\"Header 6\": \"Cabe\\u00e7alho 6\",\n\"Headings\": \"T\\u00edtulos\",\n\"Heading 1\": \"T\\u00edtulo 1\",\n\"Heading 2\": \"T\\u00edtulo 2\",\n\"Heading 3\": \"T\\u00edtulo 3\",\n\"Heading 4\": \"T\\u00edtulo 4\",\n\"Heading 5\": \"T\\u00edtulo 5\",\n\"Heading 6\": \"T\\u00edtulo 6\",\n\"Preformatted\": \"Pr\\u00e9-formatado\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"C\\u00f3digo\",\n\"Paragraph\": \"Par\\u00e1grafo\",\n\"Blockquote\": \"Aspas\",\n\"Inline\": \"Em linha\",\n\"Blocks\": \"Blocos\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"O comando colar est\\u00e1 agora em modo texto plano. O conte\\u00fado ser\\u00e1 colado como texto plano at\\u00e9 voc\\u00ea desligar esta op\\u00e7\\u00e3o.\",\n\"Fonts\": \"Fontes\",\n\"Font Sizes\": \"Tamanhos da fonte\",\n\"Class\": \"Classe\",\n\"Browse for an image\": \"Procure uma imagem\",\n\"OR\": \"OU\",\n\"Drop an image here\": \"Solte uma imagem aqui\",\n\"Upload\": \"Carregar\",\n\"Block\": \"Bloco\",\n\"Align\": \"Alinhamento\",\n\"Default\": \"Padr\\u00e3o\",\n\"Circle\": \"C\\u00edrculo\",\n\"Disc\": \"Disco\",\n\"Square\": \"Quadrado\",\n\"Lower Alpha\": \"a. b. c. ...\",\n\"Lower Greek\": \"\\u03b1. \\u03b2. \\u03b3. ...\",\n\"Lower Roman\": \"i. ii. iii. ...\",\n\"Upper Alpha\": \"A. B. C. ...\",\n\"Upper Roman\": \"I. II. III. ...\",\n\"Anchor...\": \"\\u00c2ncora...\",\n\"Name\": \"Nome\",\n\"Id\": \"Id\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Id deve come\\u00e7ar com uma letra, seguido apenas por letras, n\\u00fameros, tra\\u00e7os, pontos, dois pontos ou sublinhados.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Voc\\u00ea tem mudan\\u00e7as n\\u00e3o salvas. Voc\\u00ea tem certeza que deseja sair?\",\n\"Restore last draft\": \"Restaurar \\u00faltimo rascunho\",\n\"Special character...\": \"Caractere especial...\",\n\"Source code\": \"C\\u00f3digo fonte\",\n\"Insert\\/Edit code sample\": \"Inserir\\/Editar c\\u00f3digo de exemplo\",\n\"Language\": \"Idioma\",\n\"Code sample...\": \"Exemplo de c\\u00f3digo...\",\n\"Color Picker\": \"Seletor de Cores\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Da esquerda para a direita\",\n\"Right to left\": \"Da direita para a esquerda\",\n\"Emoticons\": \"Emoticons\",\n\"Emoticons...\": \"Emojis...\",\n\"Metadata and Document Properties\": \"Metadados e Propriedades do Documento\",\n\"Title\": \"T\\u00edtulo\",\n\"Keywords\": \"Palavras-chave\",\n\"Description\": \"Descri\\u00e7\\u00e3o\",\n\"Robots\": \"Rob\\u00f4s\",\n\"Author\": \"Autor\",\n\"Encoding\": \"Codifica\\u00e7\\u00e3o\",\n\"Fullscreen\": \"Tela cheia\",\n\"Action\": \"A\\u00e7\\u00e3o\",\n\"Shortcut\": \"Atalho\",\n\"Help\": \"Ajuda\",\n\"Address\": \"Endere\\u00e7o\",\n\"Focus to menubar\": \"Foco no menu\",\n\"Focus to toolbar\": \"Foco na barra de ferramentas\",\n\"Focus to element path\": \"Foco no caminho do elemento\",\n\"Focus to contextual toolbar\": \"Foco na barra de ferramentas contextual\",\n\"Insert link (if link plugin activated)\": \"Inserir link (se o plugin de link estiver ativado)\",\n\"Save (if save plugin activated)\": \"Salvar (se o plugin de salvar estiver ativado)\",\n\"Find (if searchreplace plugin activated)\": \"Procurar (se o plugin de procurar e substituir estiver ativado)\",\n\"Plugins installed ({0}):\": \"Plugins instalados ({0}):\",\n\"Premium plugins:\": \"Plugins premium:\",\n\"Learn more...\": \"Saiba mais...\",\n\"You are using {0}\": \"Voc\\u00ea est\\u00e1 usando {0}\",\n\"Plugins\": \"Plugins\",\n\"Handy Shortcuts\": \"Atalhos \\u00fateis\",\n\"Horizontal line\": \"Linha horizontal\",\n\"Insert\\/edit image\": \"Inserir\\/editar imagem\",\n\"Alternative description\": \"Descri\\u00e7\\u00e3o alternativa\",\n\"Accessibility\": \"Acessibilidade\",\n\"Image is decorative\": \"A imagem \\u00e9 decorativa\",\n\"Source\": \"Endere\\u00e7o da imagem\",\n\"Dimensions\": \"Dimens\\u00f5es\",\n\"Constrain proportions\": \"Manter propor\\u00e7\\u00f5es\",\n\"General\": \"Geral\",\n\"Advanced\": \"Avan\\u00e7ado\",\n\"Style\": \"Estilo\",\n\"Vertical space\": \"Espa\\u00e7amento vertical\",\n\"Horizontal space\": \"Espa\\u00e7amento horizontal\",\n\"Border\": \"Borda\",\n\"Insert image\": \"Inserir imagem\",\n\"Image...\": \"Imagem...\",\n\"Image list\": \"Lista de Imagens\",\n\"Rotate counterclockwise\": \"Girar em sentido hor\\u00e1rio\",\n\"Rotate clockwise\": \"Girar em sentido anti-hor\\u00e1rio\",\n\"Flip vertically\": \"Virar verticalmente\",\n\"Flip horizontally\": \"Virar horizontalmente\",\n\"Edit image\": \"Editar imagem\",\n\"Image options\": \"Op\\u00e7\\u00f5es de Imagem\",\n\"Zoom in\": \"Aumentar zoom\",\n\"Zoom out\": \"Diminuir zoom\",\n\"Crop\": \"Cortar\",\n\"Resize\": \"Redimensionar\",\n\"Orientation\": \"Orienta\\u00e7\\u00e3o\",\n\"Brightness\": \"Brilho\",\n\"Sharpen\": \"Aumentar nitidez\",\n\"Contrast\": \"Contraste\",\n\"Color levels\": \"N\\u00edveis de cor\",\n\"Gamma\": \"Gama\",\n\"Invert\": \"Inverter\",\n\"Apply\": \"Aplicar\",\n\"Back\": \"Voltar\",\n\"Insert date\\/time\": \"Inserir data\\/hora\",\n\"Date\\/time\": \"data\\/hora\",\n\"Insert\\/edit link\": \"Inserir\\/editar link\",\n\"Text to display\": \"Texto para mostrar\",\n\"Url\": \"Url\",\n\"Open link in...\": \"Abrir link em...\",\n\"Current window\": \"Janela atual\",\n\"None\": \"Nenhum\",\n\"New window\": \"Nova janela\",\n\"Open link\": \"Abrir link\",\n\"Remove link\": \"Remover link\",\n\"Anchors\": \"\\u00c2ncoras\",\n\"Link...\": \"Link...\",\n\"Paste or type a link\": \"Cole ou digite um Link\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"A URL que voc\\u00ea informou parece ser um link externo. Deseja incluir o prefixo http:\\/\\/?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"A URL informada parece ser um link externo. Voc\\u00ea quer adicionar o prefixo necess\\u00e1rio https:\\/\\/ ?\",\n\"Link list\": \"Lista de Links\",\n\"Insert video\": \"Inserir v\\u00eddeo\",\n\"Insert\\/edit video\": \"Inserir\\/editar v\\u00eddeo\",\n\"Insert\\/edit media\": \"Inserir\\/editar imagem\",\n\"Alternative source\": \"Fonte alternativa\",\n\"Alternative source URL\": \"Endere\\u00e7o URL alternativo\",\n\"Media poster (Image URL)\": \"Post de m\\u00eddia (URL da Imagem)\",\n\"Paste your embed code below:\": \"Insira o c\\u00f3digo de incorpora\\u00e7\\u00e3o abaixo:\",\n\"Embed\": \"Incorporar\",\n\"Media...\": \"M\\u00eddia...\",\n\"Nonbreaking space\": \"Espa\\u00e7o n\\u00e3o separ\\u00e1vel\",\n\"Page break\": \"Quebra de p\\u00e1gina\",\n\"Paste as text\": \"Colar como texto\",\n\"Preview\": \"Pr\\u00e9-visualizar\",\n\"Print...\": \"Imprimir...\",\n\"Save\": \"Salvar\",\n\"Find\": \"Localizar\",\n\"Replace with\": \"Substituir por\",\n\"Replace\": \"Substituir\",\n\"Replace all\": \"Substituir tudo\",\n\"Previous\": \"Anterior\",\n\"Next\": \"Pr\\u00f3ximo\",\n\"Find and Replace\": \"Localizar e substituir\",\n\"Find and replace...\": \"Encontrar e substituir...\",\n\"Could not find the specified string.\": \"N\\u00e3o foi poss\\u00edvel encontrar o termo especificado\",\n\"Match case\": \"Diferenciar mai\\u00fasculas e min\\u00fasculas\",\n\"Find whole words only\": \"Encontrar somente palavras inteiras\",\n\"Find in selection\": \"Localizar na sele\\u00e7\\u00e3o\",\n\"Spellcheck\": \"Corretor ortogr\\u00e1fico\",\n\"Spellcheck Language\": \"Idioma de verifica\\u00e7\\u00e3o ortogr\\u00e1fica\",\n\"No misspellings found.\": \"Sem erros ortogr\\u00e1ficos\",\n\"Ignore\": \"Ignorar\",\n\"Ignore all\": \"Ignorar tudo\",\n\"Finish\": \"Finalizar\",\n\"Add to Dictionary\": \"Adicionar ao Dicion\\u00e1rio\",\n\"Insert table\": \"Inserir tabela\",\n\"Table properties\": \"Propriedades da tabela\",\n\"Delete table\": \"Excluir tabela\",\n\"Cell\": \"C\\u00e9lula\",\n\"Row\": \"Linha\",\n\"Column\": \"Coluna\",\n\"Cell properties\": \"Propriedades da c\\u00e9lula\",\n\"Merge cells\": \"Agrupar c\\u00e9lulas\",\n\"Split cell\": \"Dividir c\\u00e9lula\",\n\"Insert row before\": \"Inserir linha antes\",\n\"Insert row after\": \"Inserir linha depois\",\n\"Delete row\": \"Excluir linha\",\n\"Row properties\": \"Propriedades da linha\",\n\"Cut row\": \"Recortar linha\",\n\"Copy row\": \"Copiar linha\",\n\"Paste row before\": \"Colar linha antes\",\n\"Paste row after\": \"Colar linha depois\",\n\"Insert column before\": \"Inserir coluna antes\",\n\"Insert column after\": \"Inserir coluna depois\",\n\"Delete column\": \"Excluir coluna\",\n\"Cols\": \"Colunas\",\n\"Rows\": \"Linhas\",\n\"Width\": \"Largura\",\n\"Height\": \"Altura\",\n\"Cell spacing\": \"Espa\\u00e7amento da c\\u00e9lula\",\n\"Cell padding\": \"Espa\\u00e7amento interno da c\\u00e9lula\",\n\"Caption\": \"Legenda\",\n\"Show caption\": \"Mostrar descri\\u00e7\\u00e3o\",\n\"Left\": \"Esquerdo\",\n\"Center\": \"Centro\",\n\"Right\": \"Direita\",\n\"Cell type\": \"Tipo de c\\u00e9lula\",\n\"Scope\": \"Escopo\",\n\"Alignment\": \"Alinhamento\",\n\"H Align\": \"Alinhamento H\",\n\"V Align\": \"Alinhamento V\",\n\"Top\": \"Superior\",\n\"Middle\": \"Meio\",\n\"Bottom\": \"Inferior\",\n\"Header cell\": \"C\\u00e9lula cabe\\u00e7alho\",\n\"Row group\": \"Agrupar linha\",\n\"Column group\": \"Agrupar coluna\",\n\"Row type\": \"Tipo de linha\",\n\"Header\": \"Cabe\\u00e7alho\",\n\"Body\": \"Corpo\",\n\"Footer\": \"Rodap\\u00e9\",\n\"Border color\": \"Cor da borda\",\n\"Insert template...\": \"Inserir modelo...\",\n\"Templates\": \"Modelos\",\n\"Template\": \"Modelo\",\n\"Text color\": \"Cor do texto\",\n\"Background color\": \"Cor do fundo\",\n\"Custom...\": \"Personalizado...\",\n\"Custom color\": \"Cor personalizada\",\n\"No color\": \"Nenhuma cor\",\n\"Remove color\": \"Remover cor\",\n\"Table of Contents\": \"\\u00edndice de Conte\\u00fado\",\n\"Show blocks\": \"Mostrar blocos\",\n\"Show invisible characters\": \"Exibir caracteres invis\\u00edveis\",\n\"Word count\": \"Contador de palavras\",\n\"Count\": \"Contar\",\n\"Document\": \"Documento\",\n\"Selection\": \"Sele\\u00e7\\u00e3o\",\n\"Words\": \"Palavras\",\n\"Words: {0}\": \"Palavras: {0}\",\n\"{0} words\": \"{0} palavras\",\n\"File\": \"Arquivo\",\n\"Edit\": \"Editar\",\n\"Insert\": \"Inserir\",\n\"View\": \"Visualizar\",\n\"Format\": \"Formatar\",\n\"Table\": \"Tabela\",\n\"Tools\": \"Ferramentas\",\n\"Powered by {0}\": \"Distribu\\u00eddo por  {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"\\u00c1rea de texto formatado. Pressione ALT-F9 para exibir o menu, ALT-F10 para exibir a barra de ferramentas ou ALT-0 para exibir a ajuda\",\n\"Image title\": \"T\\u00edtulo da imagem\",\n\"Border width\": \"Espessura da borda\",\n\"Border style\": \"Estilo da borda\",\n\"Error\": \"Erro\",\n\"Warn\": \"Aviso\",\n\"Valid\": \"V\\u00e1lido\",\n\"To open the popup, press Shift+Enter\": \"Para abrir a popup, aperte Shit+Enter\",\n\"Rich Text Area. Press ALT-0 for help.\": \"\\u00c1rea Rich Text. Aperte ALT-0 para ajuda.\",\n\"System Font\": \"Fonte do sistema\",\n\"Failed to upload image: {0}\": \"Falha no upload da imagem: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Falha ao carregar plugin: {0} da url {1}\",\n\"Failed to load plugin url: {0}\": \"Falha ao carregar url do plugin: {0}\",\n\"Failed to initialize plugin: {0}\": \"Falha ao inicializar plugin: {0}\",\n\"example\": \"exemplo\",\n\"Search\": \"Pesquisar\",\n\"All\": \"Tudo\",\n\"Currency\": \"Moeda\",\n\"Text\": \"Texto\",\n\"Quotations\": \"Cita\\u00e7\\u00f5es\",\n\"Mathematical\": \"Matem\\u00e1tico\",\n\"Extended Latin\": \"Latino estendido\",\n\"Symbols\": \"S\\u00edmbolos\",\n\"Arrows\": \"Setas\",\n\"User Defined\": \"Definido pelo Usu\\u00e1rio\",\n\"dollar sign\": \"s\\u00edmbolo de d\\u00f3lar\",\n\"currency sign\": \"s\\u00edmbolo de moeda\",\n\"euro-currency sign\": \"s\\u00edmbolo de euro\",\n\"colon sign\": \"s\\u00edmbolo de dois pontos\",\n\"cruzeiro sign\": \"s\\u00edmbolo de cruzeiro\",\n\"french franc sign\": \"s\\u00edmbolo de franco franc\\u00eas\",\n\"lira sign\": \"s\\u00edmbolo de lira\",\n\"mill sign\": \"s\\u00edmbolo do mill\",\n\"naira sign\": \"s\\u00edmbolo da naira\",\n\"peseta sign\": \"s\\u00edmbolo da peseta\",\n\"rupee sign\": \"s\\u00edmbolo da r\\u00fapia\",\n\"won sign\": \"s\\u00edmbolo do won\",\n\"new sheqel sign\": \"s\\u00edmbolo do novo sheqel\",\n\"dong sign\": \"s\\u00edmbolo do dong\",\n\"kip sign\": \"s\\u00edmbolo do kip\",\n\"tugrik sign\": \"s\\u00edmbolo do tugrik\",\n\"drachma sign\": \"s\\u00edmbolo do drachma\",\n\"german penny symbol\": \"s\\u00edmbolo de centavo alem\\u00e3o\",\n\"peso sign\": \"s\\u00edmbolo do peso\",\n\"guarani sign\": \"s\\u00edmbolo do guarani\",\n\"austral sign\": \"s\\u00edmbolo do austral\",\n\"hryvnia sign\": \"s\\u00edmbolo do hryvnia\",\n\"cedi sign\": \"s\\u00edmbolo do cedi\",\n\"livre tournois sign\": \"s\\u00edmbolo do livre tournois\",\n\"spesmilo sign\": \"s\\u00edmbolo do spesmilo\",\n\"tenge sign\": \"s\\u00edmbolo do tenge\",\n\"indian rupee sign\": \"s\\u00edmbolo de r\\u00fapia indiana\",\n\"turkish lira sign\": \"s\\u00edmbolo de lira turca\",\n\"nordic mark sign\": \"s\\u00edmbolo do marco n\\u00f3rdico\",\n\"manat sign\": \"s\\u00edmbolo do manat\",\n\"ruble sign\": \"s\\u00edmbolo do rublo\",\n\"yen character\": \"caractere do yen\",\n\"yuan character\": \"caractere do yuan\",\n\"yuan character, in hong kong and taiwan\": \"caractere do yuan, em Hong Kong e Taiwan\",\n\"yen\\/yuan character variant one\": \"varia\\u00e7\\u00e3o do caractere de yen\\/yuan\",\n\"Loading emoticons...\": \"Carregando emojis...\",\n\"Could not load emoticons\": \"N\\u00e3o foi poss\\u00edvel carregar emojis\",\n\"People\": \"Pessoas\",\n\"Animals and Nature\": \"Animais e Natureza\",\n\"Food and Drink\": \"Comida e Bebida\",\n\"Activity\": \"Atividade\",\n\"Travel and Places\": \"Viagem e Lugares\",\n\"Objects\": \"Objetos\",\n\"Flags\": \"Bandeiras\",\n\"Characters\": \"Caracteres\",\n\"Characters (no spaces)\": \"Caracteres (sem espa\\u00e7os)\",\n\"{0} characters\": \"{0} caracteres\",\n\"Error: Form submit field collision.\": \"Erro: colis\\u00e3o de bot\\u00e3o de envio do formul\\u00e1rio.\",\n\"Error: No form element found.\": \"Erro: elemento de formul\\u00e1rio n\\u00e3o encontrado.\",\n\"Update\": \"Atualizar\",\n\"Color swatch\": \"Amostra de cor\",\n\"Turquoise\": \"Turquesa\",\n\"Green\": \"Verde\",\n\"Blue\": \"Azul\",\n\"Purple\": \"Roxo\",\n\"Navy Blue\": \"Azul marinho\",\n\"Dark Turquoise\": \"Turquesa escuro\",\n\"Dark Green\": \"Verde escuro\",\n\"Medium Blue\": \"Azul m\\u00e9dio\",\n\"Medium Purple\": \"Roxo m\\u00e9dio\",\n\"Midnight Blue\": \"Azul meia-noite\",\n\"Yellow\": \"Amarelo\",\n\"Orange\": \"Laranja\",\n\"Red\": \"Vermelho\",\n\"Light Gray\": \"Cinza claro\",\n\"Gray\": \"Cinza\",\n\"Dark Yellow\": \"Amarelo escuro\",\n\"Dark Orange\": \"Laranja escuro\",\n\"Dark Red\": \"Vermelho escuro\",\n\"Medium Gray\": \"Cinza m\\u00e9dio\",\n\"Dark Gray\": \"Cinza escuro\",\n\"Light Green\": \"Verde claro\",\n\"Light Yellow\": \"Amarelo claro\",\n\"Light Red\": \"Vermelho claro\",\n\"Light Purple\": \"Roxo claro\",\n\"Light Blue\": \"Azul claro\",\n\"Dark Purple\": \"Roxo escuro\",\n\"Dark Blue\": \"Azul escuro\",\n\"Black\": \"Preto\",\n\"White\": \"Branco\",\n\"Switch to or from fullscreen mode\": \"Abrir ou fechar modo de tela cheia\",\n\"Open help dialog\": \"Abrir janela de ajuda\",\n\"history\": \"hist\\u00f3rico\",\n\"styles\": \"estilos\",\n\"formatting\": \"formata\\u00e7\\u00e3o\",\n\"alignment\": \"alinhamento\",\n\"indentation\": \"indenta\\u00e7\\u00e3o\",\n\"Font\": \"Fonte\",\n\"Size\": \"Tamanho\",\n\"More...\": \"Mais...\",\n\"Select...\": \"Selecionar...\",\n\"Preferences\": \"Prefer\\u00eancias\",\n\"Yes\": \"Sim\",\n\"No\": \"N\\u00e3o\",\n\"Keyboard Navigation\": \"Navega\\u00e7\\u00e3o por Teclado\",\n\"Version\": \"Vers\\u00e3o\",\n\"Code view\": \"Ver c\\u00f3digo\",\n\"Open popup menu for split buttons\": \"Abrir menu popup para bot\\u00f5es com divis\\u00e3o\",\n\"List Properties\": \"Listar Propriedades\",\n\"List properties...\": \"Listar propriedades...\",\n\"Start list at number\": \"Iniciar a lista no n\\u00famero\",\n\"Line height\": \"Altura da linha\",\n\"comments\": \"coment\\u00e1rios\",\n\"Format Painter\": \"Pincel de Formata\\u00e7\\u00e3o\",\n\"Insert\\/edit iframe\": \"Inserir\\/editar iframe\",\n\"Capitalization\": \"Capitaliza\\u00e7\\u00e3o\",\n\"lowercase\": \"min\\u00fasculos\",\n\"UPPERCASE\": \"MAI\\u00daSCULAS\",\n\"Title Case\": \"T\\u00edtulo do caso\",\n\"permanent pen\": \"caneta permanente\",\n\"Permanent Pen Properties\": \"Propriedades da caneta permanente\",\n\"Permanent pen properties...\": \"Propriedades de caneta permanentes...\",\n\"case change\": \"mudar caixa\",\n\"page embed\": \"embutir p\\u00e1gina\",\n\"Advanced sort...\": \"Ordena\\u00e7\\u00e3o avan\\u00e7ada...\",\n\"Advanced Sort\": \"Ordena\\u00e7\\u00e3o Avan\\u00e7ada...\",\n\"Sort table by column ascending\": \"Ordenar tabela por coluna ascendente\",\n\"Sort table by column descending\": \"Ordenar tabela por coluna descendente\",\n\"Sort\": \"Ordenar\",\n\"Order\": \"Ordem\",\n\"Sort by\": \"Ordenar por\",\n\"Ascending\": \"Ascendente\",\n\"Descending\": \"Descendente\",\n\"Column {0}\": \"Coluna {0}\",\n\"Row {0}\": \"Linha {0}\",\n\"Spellcheck...\": \"Verifica\\u00e7\\u00e3o ortogr\\u00e1fica\",\n\"Misspelled word\": \"Palavra com erro ortogr\\u00e1fico\",\n\"Suggestions\": \"Sugest\\u00f5es\",\n\"Change\": \"Mudar\",\n\"Finding word suggestions\": \"Encontrando sugest\\u00f5es de palavras\",\n\"Success\": \"Sucesso\",\n\"Repair\": \"Reparo\",\n\"Issue {0} of {1}\": \"Problema {0} de {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"Imagens precisam ser marcadas como decorativas ou terem uma descri\\u00e7\\u00e3o alternativa de texto\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"Imagens precisam ter uma descri\\u00e7\\u00e3o alternativa de texto. Imagens decorativas n\\u00e3o s\\u00e3o permitidas.\",\n\"Or provide alternative text:\": \"Ou informe um texto alternativo:\",\n\"Make image decorative:\": \"Fa\\u00e7a imagem decorativa:\",\n\"ID attribute must be unique\": \"O atributo ID precisa ser \\u00fanico\",\n\"Make ID unique\": \"Fa\\u00e7a um ID \\u00fanico\",\n\"Keep this ID and remove all others\": \"Mantenha esse ID e remova todos os outros\",\n\"Remove this ID\": \"Remova esse ID\",\n\"Remove all IDs\": \"Remova todos os IDs\",\n\"Checklist\": \"Lista de checagem\",\n\"Anchor\": \"\\u00c2ncora\",\n\"Special character\": \"Caracteres especiais\",\n\"Code sample\": \"Exemplo de c\\u00f3digo\",\n\"Color\": \"Cor\",\n\"Document properties\": \"Propriedades do documento\",\n\"Image description\": \"Inserir descri\\u00e7\\u00e3o\",\n\"Image\": \"Imagem\",\n\"Insert link\": \"Inserir link\",\n\"Target\": \"Alvo\",\n\"Link\": \"Link\",\n\"Poster\": \"Autor\",\n\"Media\": \"imagem\",\n\"Print\": \"Imprimir\",\n\"Prev\": \"Anterior\",\n\"Find and replace\": \"Localizar e substituir\",\n\"Whole words\": \"Palavras inteiras\",\n\"Insert template\": \"Inserir modelo\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/pt_PT.js",
    "content": "tinymce.addI18n('pt_PT',{\n\"Redo\": \"Refazer\",\n\"Undo\": \"Anular\",\n\"Cut\": \"Cortar\",\n\"Copy\": \"Copiar\",\n\"Paste\": \"Colar\",\n\"Select all\": \"Selecionar tudo\",\n\"New document\": \"Novo documento\",\n\"Ok\": \"Ok\",\n\"Cancel\": \"Cancelar\",\n\"Visual aids\": \"Ajuda visual\",\n\"Bold\": \"Negrito\",\n\"Italic\": \"It\\u00e1lico\",\n\"Underline\": \"Sublinhado\",\n\"Strikethrough\": \"Rasurado\",\n\"Superscript\": \"Superior \\u00e0 linha\",\n\"Subscript\": \"Inferior \\u00e0 linha\",\n\"Clear formatting\": \"Limpar formata\\u00e7\\u00e3o\",\n\"Align left\": \"Alinhar \\u00e0 esquerda\",\n\"Align center\": \"Alinhar ao centro\",\n\"Align right\": \"Alinhar \\u00e0 direita\",\n\"Justify\": \"Justificar\",\n\"Bullet list\": \"Lista com marcas\",\n\"Numbered list\": \"Lista numerada\",\n\"Decrease indent\": \"Diminuir avan\\u00e7o\",\n\"Increase indent\": \"Aumentar avan\\u00e7o\",\n\"Close\": \"Fechar\",\n\"Formats\": \"Formatos\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"O seu navegador n\\u00e3o suporta acesso direto \\u00e0 \\u00e1rea de transfer\\u00eancia. Por favor, use os atalhos Ctrl+X\\/C\\/V do seu teclado.\",\n\"Headers\": \"Cabe\\u00e7alhos\",\n\"Header 1\": \"Cabe\\u00e7alho 1\",\n\"Header 2\": \"Cabe\\u00e7alho 2\",\n\"Header 3\": \"Cabe\\u00e7alho 3\",\n\"Header 4\": \"Cabe\\u00e7alho 4\",\n\"Header 5\": \"Cabe\\u00e7alho 5\",\n\"Header 6\": \"Cabe\\u00e7alho 6\",\n\"Headings\": \"T\\u00edtulos\",\n\"Heading 1\": \"T\\u00edtulo 1\",\n\"Heading 2\": \"T\\u00edtulo 2\",\n\"Heading 3\": \"T\\u00edtulo 3\",\n\"Heading 4\": \"T\\u00edtulo 4\",\n\"Heading 5\": \"T\\u00edtulo 5\",\n\"Heading 6\": \"T\\u00edtulo 6\",\n\"Preformatted\": \"Pr\\u00e9-formatado\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"C\\u00f3digo\",\n\"Paragraph\": \"Par\\u00e1grafo\",\n\"Blockquote\": \"Blockquote\",\n\"Inline\": \"Inline\",\n\"Blocks\": \"Blocos\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"O comando colar est\\u00e1 em modo de texto simples. O conte\\u00fado ser\\u00e1 colado como texto simples at\\u00e9 desativar esta op\\u00e7\\u00e3o.\",\n\"Fonts\": \"Tipos de letra\",\n\"Font Sizes\": \"Tamanhos dos tipos de letra\",\n\"Class\": \"Classe\",\n\"Browse for an image\": \"Procurar uma imagem\",\n\"OR\": \"OU\",\n\"Drop an image here\": \"Largar aqui uma imagem\",\n\"Upload\": \"Carregar\",\n\"Block\": \"Bloco\",\n\"Align\": \"Alinhar\",\n\"Default\": \"Padr\\u00e3o\",\n\"Circle\": \"C\\u00edrculo\",\n\"Disc\": \"Disco\",\n\"Square\": \"Quadrado\",\n\"Lower Alpha\": \"a. b. c. ...\",\n\"Lower Greek\": \"\\\\u03b1. \\\\u03b2. \\\\u03b3. ...\",\n\"Lower Roman\": \"i. ii. iii. ...\",\n\"Upper Alpha\": \"A. B. C. ...\",\n\"Upper Roman\": \"I. II. III. ...\",\n\"Anchor...\": \"\\u00c2ncora...\",\n\"Name\": \"Nome\",\n\"Id\": \"ID\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"O ID deve come\\u00e7ar com uma letra, seguido apenas por letras, n\\u00fameros, pontos, dois pontos, tra\\u00e7os ou sobtra\\u00e7os.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Existem altera\\u00e7\\u00f5es que ainda n\\u00e3o foram guardadas. Tem a certeza que pretende sair?\",\n\"Restore last draft\": \"Restaurar o \\u00faltimo rascunho\",\n\"Special character...\": \"Car\\u00e1ter especial...\",\n\"Source code\": \"C\\u00f3digo fonte\",\n\"Insert\\/Edit code sample\": \"Inserir\\/editar amostra de c\\u00f3digo\",\n\"Language\": \"Idioma\",\n\"Code sample...\": \"Amostra de c\\u00f3digo...\",\n\"Color Picker\": \"Seletor de cores\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Da esquerda para a direita\",\n\"Right to left\": \"Da direita para a esquerda\",\n\"Emoticons\": \"Emo\\u00e7\\u00f5es\",\n\"Emoticons...\": \"\\u00cdcones expressivos...\",\n\"Metadata and Document Properties\": \"Metadados e propriedades do documento\",\n\"Title\": \"T\\u00edtulo\",\n\"Keywords\": \"Palavras-chave\",\n\"Description\": \"Descri\\u00e7\\u00e3o\",\n\"Robots\": \"Rob\\u00f4s\",\n\"Author\": \"Autor\",\n\"Encoding\": \"Codifica\\u00e7\\u00e3o\",\n\"Fullscreen\": \"Ecr\\u00e3 completo\",\n\"Action\": \"A\\u00e7\\u00e3o\",\n\"Shortcut\": \"Atalho\",\n\"Help\": \"Ajuda\",\n\"Address\": \"Endere\\u00e7o\",\n\"Focus to menubar\": \"Foco na barra de menu\",\n\"Focus to toolbar\": \"Foco na barra de ferramentas\",\n\"Focus to element path\": \"Foco no caminho do elemento\",\n\"Focus to contextual toolbar\": \"Foco na barra de contexto\",\n\"Insert link (if link plugin activated)\": \"Inserir hiperliga\\u00e7\\u00e3o (se o plugin de liga\\u00e7\\u00f5es estiver ativado)\",\n\"Save (if save plugin activated)\": \"Guardar (se o plugin de guardar estiver ativado)\",\n\"Find (if searchreplace plugin activated)\": \"Pesquisar (se o plugin pesquisar e substituir estiver ativado)\",\n\"Plugins installed ({0}):\": \"Plugins instalados ({0}):\",\n\"Premium plugins:\": \"Plugins comerciais:\",\n\"Learn more...\": \"Saiba mais...\",\n\"You are using {0}\": \"Est\\u00e1 a usar {0}\",\n\"Plugins\": \"Plugins\",\n\"Handy Shortcuts\": \"Atalhos \\u00fateis\",\n\"Horizontal line\": \"Linha horizontal\",\n\"Insert\\/edit image\": \"Inserir\\/editar imagem\",\n\"Alternative description\": \"Descri\\u00e7\\u00e3o alternativa\",\n\"Accessibility\": \"Acessibilidade\",\n\"Image is decorative\": \"Imagem \\u00e9 decorativa\",\n\"Source\": \"Localiza\\u00e7\\u00e3o\",\n\"Dimensions\": \"Dimens\\u00f5es\",\n\"Constrain proportions\": \"Manter propor\\u00e7\\u00f5es\",\n\"General\": \"Geral\",\n\"Advanced\": \"Avan\\u00e7ado\",\n\"Style\": \"Estilo\",\n\"Vertical space\": \"Espa\\u00e7amento vertical\",\n\"Horizontal space\": \"Espa\\u00e7amento horizontal\",\n\"Border\": \"Contorno\",\n\"Insert image\": \"Inserir imagem\",\n\"Image...\": \"Imagem...\",\n\"Image list\": \"Lista de imagens\",\n\"Rotate counterclockwise\": \"Rota\\u00e7\\u00e3o anti-hor\\u00e1ria\",\n\"Rotate clockwise\": \"Rota\\u00e7\\u00e3o hor\\u00e1ria\",\n\"Flip vertically\": \"Inverter verticalmente\",\n\"Flip horizontally\": \"Inverter horizontalmente\",\n\"Edit image\": \"Editar imagem\",\n\"Image options\": \"Op\\u00e7\\u00f5es de imagem\",\n\"Zoom in\": \"Mais zoom\",\n\"Zoom out\": \"Menos zoom\",\n\"Crop\": \"Recortar\",\n\"Resize\": \"Redimensionar\",\n\"Orientation\": \"Orienta\\u00e7\\u00e3o\",\n\"Brightness\": \"Brilho\",\n\"Sharpen\": \"Mais nitidez\",\n\"Contrast\": \"Contraste\",\n\"Color levels\": \"N\\u00edveis de cor\",\n\"Gamma\": \"Gama\",\n\"Invert\": \"Inverter\",\n\"Apply\": \"Aplicar\",\n\"Back\": \"Voltar\",\n\"Insert date\\/time\": \"Inserir data\\/hora\",\n\"Date\\/time\": \"Data\\/hora\",\n\"Insert\\/edit link\": \"Inserir\\/editar liga\\u00e7\\u00e3o\",\n\"Text to display\": \"Texto a exibir\",\n\"Url\": \"URL\",\n\"Open link in...\": \"Abrir liga\\u00e7\\u00e3o em...\",\n\"Current window\": \"Janela atual\",\n\"None\": \"Nenhum\",\n\"New window\": \"Nova janela\",\n\"Open link\": \"Abrir liga\\u00e7\\u00e3o\",\n\"Remove link\": \"Remover liga\\u00e7\\u00e3o\",\n\"Anchors\": \"\\u00c2ncora\",\n\"Link...\": \"Liga\\u00e7\\u00e3o...\",\n\"Paste or type a link\": \"Copiar ou escrever uma hiperliga\\u00e7\\u00e3o\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"O URL que indicou parece ser um endere\\u00e7o de email. Quer adicionar o prefixo mailto: tal como necess\\u00e1rio?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"O URL que indicou parece ser um endere\\u00e7o web. Quer adicionar o prefixo http:\\/\\/ tal como necess\\u00e1rio?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"O URL que introduziu parece ser uma liga\\u00e7\\u00e3o externa. Deseja adicionar-lhe o prefixo https:\\/\\/ ?\",\n\"Link list\": \"Lista de liga\\u00e7\\u00f5es\",\n\"Insert video\": \"Inserir v\\u00eddeo\",\n\"Insert\\/edit video\": \"Inserir\\/editar v\\u00eddeo\",\n\"Insert\\/edit media\": \"Inserir\\/editar media\",\n\"Alternative source\": \"Localiza\\u00e7\\u00e3o alternativa\",\n\"Alternative source URL\": \"URL da origem alternativa\",\n\"Media poster (Image URL)\": \"Publicador de media (URL da imagem)\",\n\"Paste your embed code below:\": \"Colar c\\u00f3digo para embeber:\",\n\"Embed\": \"Embeber\",\n\"Media...\": \"Media...\",\n\"Nonbreaking space\": \"Espa\\u00e7o n\\u00e3o quebr\\u00e1vel\",\n\"Page break\": \"Quebra de p\\u00e1gina\",\n\"Paste as text\": \"Colar como texto\",\n\"Preview\": \"Pr\\u00e9-visualizar\",\n\"Print...\": \"Imprimir...\",\n\"Save\": \"Guardar\",\n\"Find\": \"Pesquisar\",\n\"Replace with\": \"Substituir por\",\n\"Replace\": \"Substituir\",\n\"Replace all\": \"Substituir tudo\",\n\"Previous\": \"Anterior\",\n\"Next\": \"Pr\\u00f3ximo\",\n\"Find and Replace\": \"Pesquisar e substituir\",\n\"Find and replace...\": \"Localizar e substituir...\",\n\"Could not find the specified string.\": \"N\\u00e3o foi poss\\u00edvel localizar o termo especificado.\",\n\"Match case\": \"Diferenciar mai\\u00fasculas e min\\u00fasculas\",\n\"Find whole words only\": \"Localizar apenas palavras inteiras\",\n\"Find in selection\": \"Pesquisar na selec\\u00e7\\u00e3o\",\n\"Spellcheck\": \"Corretor ortogr\\u00e1fico\",\n\"Spellcheck Language\": \"Idioma de verifica\\u00e7\\u00e3o lingu\\u00edstica\",\n\"No misspellings found.\": \"N\\u00e3o foram encontrados erros ortogr\\u00e1ficos.\",\n\"Ignore\": \"Ignorar\",\n\"Ignore all\": \"Ignorar tudo\",\n\"Finish\": \"Concluir\",\n\"Add to Dictionary\": \"Adicionar ao dicion\\u00e1rio\",\n\"Insert table\": \"Inserir tabela\",\n\"Table properties\": \"Propriedades da tabela\",\n\"Delete table\": \"Eliminar tabela\",\n\"Cell\": \"C\\u00e9lula\",\n\"Row\": \"Linha\",\n\"Column\": \"Coluna\",\n\"Cell properties\": \"Propriedades da c\\u00e9lula\",\n\"Merge cells\": \"Unir c\\u00e9lulas\",\n\"Split cell\": \"Dividir c\\u00e9lula\",\n\"Insert row before\": \"Inserir linha antes\",\n\"Insert row after\": \"Inserir linha depois\",\n\"Delete row\": \"Eliminar linha\",\n\"Row properties\": \"Propriedades da linha\",\n\"Cut row\": \"Cortar linha\",\n\"Copy row\": \"Copiar linha\",\n\"Paste row before\": \"Colar linha antes\",\n\"Paste row after\": \"Colar linha depois\",\n\"Insert column before\": \"Inserir coluna antes\",\n\"Insert column after\": \"Inserir coluna depois\",\n\"Delete column\": \"Eliminar coluna\",\n\"Cols\": \"Colunas\",\n\"Rows\": \"Linhas\",\n\"Width\": \"Largura\",\n\"Height\": \"Altura\",\n\"Cell spacing\": \"Espa\\u00e7amento entre c\\u00e9lulas\",\n\"Cell padding\": \"Espa\\u00e7amento interno da c\\u00e9lula\",\n\"Caption\": \"Legenda\",\n\"Show caption\": \"Mostrar legenda\",\n\"Left\": \"Esquerda\",\n\"Center\": \"Centro\",\n\"Right\": \"Direita\",\n\"Cell type\": \"Tipo de c\\u00e9lula\",\n\"Scope\": \"Escopo\",\n\"Alignment\": \"Alinhamento\",\n\"H Align\": \"Alinhamento H\",\n\"V Align\": \"Alinhamento V\",\n\"Top\": \"Superior\",\n\"Middle\": \"Meio\",\n\"Bottom\": \"Inferior\",\n\"Header cell\": \"C\\u00e9lula de cabe\\u00e7alho\",\n\"Row group\": \"Agrupar linha\",\n\"Column group\": \"Agrupar coluna\",\n\"Row type\": \"Tipo de linha\",\n\"Header\": \"Cabe\\u00e7alho\",\n\"Body\": \"Corpo\",\n\"Footer\": \"Rodap\\u00e9\",\n\"Border color\": \"Cor de contorno\",\n\"Insert template...\": \"Inserir modelo...\",\n\"Templates\": \"Modelos\",\n\"Template\": \"Tema\",\n\"Text color\": \"Cor do texto\",\n\"Background color\": \"Cor de fundo\",\n\"Custom...\": \"Personalizada...\",\n\"Custom color\": \"Cor personalizada\",\n\"No color\": \"Sem cor\",\n\"Remove color\": \"Remover cor\",\n\"Table of Contents\": \"\\u00cdndice\",\n\"Show blocks\": \"Mostrar blocos\",\n\"Show invisible characters\": \"Mostrar caracteres invis\\u00edveis\",\n\"Word count\": \"Contagem de palavras\",\n\"Count\": \"Contagem\",\n\"Document\": \"Documento\",\n\"Selection\": \"Sele\\u00e7\\u00e3o\",\n\"Words\": \"Palavras\",\n\"Words: {0}\": \"Palavras: {0}\",\n\"{0} words\": \"{0} palavras\",\n\"File\": \"Ficheiro\",\n\"Edit\": \"Editar\",\n\"Insert\": \"Inserir\",\n\"View\": \"Ver\",\n\"Format\": \"Formatar\",\n\"Table\": \"Tabela\",\n\"Tools\": \"Ferramentas\",\n\"Powered by {0}\": \"Criado em {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Caixa de texto formatado. Pressione ALT-F9 para exibir o menu. Pressione ALT-F10 para exibir a barra de ferramentas. Pressione ALT-0 para exibir a ajuda\",\n\"Image title\": \"T\\u00edtulo da imagem\",\n\"Border width\": \"Largura do limite\",\n\"Border style\": \"Estilo do limite\",\n\"Error\": \"Erro\",\n\"Warn\": \"Aviso\",\n\"Valid\": \"V\\u00e1lido\",\n\"To open the popup, press Shift+Enter\": \"Para abrir o pop-up, prima Shift+Enter\",\n\"Rich Text Area. Press ALT-0 for help.\": \"\\u00c1rea de texto formatado. Prima ALT-0 para exibir a ajuda.\",\n\"System Font\": \"Tipo de letra do sistema\",\n\"Failed to upload image: {0}\": \"Falha ao carregar imagem: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Falha ao carregar plugin: {0} do URL {1}\",\n\"Failed to load plugin url: {0}\": \"Falha ao carregar o URL do plugin: {0}\",\n\"Failed to initialize plugin: {0}\": \"Falha ao inicializar plugin: {0}\",\n\"example\": \"exemplo\",\n\"Search\": \"Pesquisar\",\n\"All\": \"Tudo\",\n\"Currency\": \"Moeda\",\n\"Text\": \"Texto\",\n\"Quotations\": \"Aspas\",\n\"Mathematical\": \"Matem\\u00e1tico\",\n\"Extended Latin\": \"Carateres latinos estendidos\",\n\"Symbols\": \"S\\u00edmbolos\",\n\"Arrows\": \"Setas\",\n\"User Defined\": \"Definido pelo utilizador\",\n\"dollar sign\": \"cifr\\u00e3o\",\n\"currency sign\": \"sinal monet\\u00e1rio\",\n\"euro-currency sign\": \"sinal monet\\u00e1rio do euro\",\n\"colon sign\": \"sinal de dois pontos\",\n\"cruzeiro sign\": \"sinal de cruzeiro\",\n\"french franc sign\": \"sinal de franco franc\\u00eas\",\n\"lira sign\": \"sinal de lira\",\n\"mill sign\": \"sinal de por mil\",\n\"naira sign\": \"sinal de naira\",\n\"peseta sign\": \"sinal de peseta\",\n\"rupee sign\": \"sinal de r\\u00fapia\",\n\"won sign\": \"sinal de won\",\n\"new sheqel sign\": \"sinal de novo sheqel\",\n\"dong sign\": \"sinal de dong\",\n\"kip sign\": \"sinal kip\",\n\"tugrik sign\": \"sinal tugrik\",\n\"drachma sign\": \"sinal drachma\",\n\"german penny symbol\": \"sinal de penny alem\\u00e3o\",\n\"peso sign\": \"sinal de peso\",\n\"guarani sign\": \"sinal de guarani\",\n\"austral sign\": \"sinal de austral\",\n\"hryvnia sign\": \"sinal hryvnia\",\n\"cedi sign\": \"sinal de cedi\",\n\"livre tournois sign\": \"sinal de libra de tours\",\n\"spesmilo sign\": \"sinal de spesmilo\",\n\"tenge sign\": \"sinal de tengue\",\n\"indian rupee sign\": \"sinal de rupia indiana\",\n\"turkish lira sign\": \"sinal de lira turca\",\n\"nordic mark sign\": \"sinal de marca n\\u00f3rdica\",\n\"manat sign\": \"sinal manat\",\n\"ruble sign\": \"sinal de rublo\",\n\"yen character\": \"sinal de iene\",\n\"yuan character\": \"sinal de iuane\",\n\"yuan character, in hong kong and taiwan\": \"sinal de iuane, em Hong Kong e Taiwan\",\n\"yen\\/yuan character variant one\": \"variante um de sinal de iene\\/iuane\",\n\"Loading emoticons...\": \"A carregar \\u00edcones expressivos...\",\n\"Could not load emoticons\": \"N\\u00e3o foi poss\\u00edvel carregar \\u00edcones expressivos\",\n\"People\": \"Pessoas\",\n\"Animals and Nature\": \"Animais e natureza\",\n\"Food and Drink\": \"Comida e bebida\",\n\"Activity\": \"Atividade\",\n\"Travel and Places\": \"Viagens e lugares\",\n\"Objects\": \"Objetos\",\n\"Flags\": \"Bandeiras\",\n\"Characters\": \"Carateres\",\n\"Characters (no spaces)\": \"Carateres (sem espa\\u00e7os)\",\n\"{0} characters\": \"{0} carateres\",\n\"Error: Form submit field collision.\": \"Erro: conflito no campo de submiss\\u00e3o de formul\\u00e1rio.\",\n\"Error: No form element found.\": \"Erro: nenhum elemento de formul\\u00e1rio encontrado.\",\n\"Update\": \"Atualizar\",\n\"Color swatch\": \"Cole\\u00e7\\u00e3o de cores\",\n\"Turquoise\": \"Turquesa\",\n\"Green\": \"Verde\",\n\"Blue\": \"Azul\",\n\"Purple\": \"P\\u00farpura\",\n\"Navy Blue\": \"Azul-atl\\u00e2ntico\",\n\"Dark Turquoise\": \"Turquesa escuro\",\n\"Dark Green\": \"Verde escuro\",\n\"Medium Blue\": \"Azul interm\\u00e9dio\",\n\"Medium Purple\": \"P\\u00farpura interm\\u00e9dio\",\n\"Midnight Blue\": \"Azul muito escuro\",\n\"Yellow\": \"Amarelo\",\n\"Orange\": \"Laranja\",\n\"Red\": \"Vermelho\",\n\"Light Gray\": \"Cinzento claro\",\n\"Gray\": \"Cinzento\",\n\"Dark Yellow\": \"Amarelo escuro\",\n\"Dark Orange\": \"Laranja escuro\",\n\"Dark Red\": \"Vermelho escuro\",\n\"Medium Gray\": \"Cinzento m\\u00e9dio\",\n\"Dark Gray\": \"Cinzento escuro\",\n\"Light Green\": \"Verde claro\",\n\"Light Yellow\": \"Amarelo claro\",\n\"Light Red\": \"Vermelho claro\",\n\"Light Purple\": \"P\\u00farpura claro\",\n\"Light Blue\": \"Azul claro\",\n\"Dark Purple\": \"P\\u00farpura escuro\",\n\"Dark Blue\": \"Azul escuro\",\n\"Black\": \"Preto\",\n\"White\": \"Branco\",\n\"Switch to or from fullscreen mode\": \"Entrar ou sair do modo de ecr\\u00e3 inteiro\",\n\"Open help dialog\": \"Abrir caixa de di\\u00e1logo Ajuda\",\n\"history\": \"hist\\u00f3rico\",\n\"styles\": \"estilos\",\n\"formatting\": \"formata\\u00e7\\u00e3o\",\n\"alignment\": \"alinhamento\",\n\"indentation\": \"avan\\u00e7o\",\n\"Font\": \"Tipo de letra\",\n\"Size\": \"Tamanho\",\n\"More...\": \"Mais...\",\n\"Select...\": \"Selecionar...\",\n\"Preferences\": \"Prefer\\u00eancias\",\n\"Yes\": \"Sim\",\n\"No\": \"N\\u00e3o\",\n\"Keyboard Navigation\": \"Navega\\u00e7\\u00e3o com teclado\",\n\"Version\": \"Vers\\u00e3o\",\n\"Code view\": \"Vista do c\\u00f3digo-fonte\",\n\"Open popup menu for split buttons\": \"Abrir o menu popup para bot\\u00f5es divididos\",\n\"List Properties\": \"Propriedades da lista\",\n\"List properties...\": \"Propriedades da lista\\u2026\",\n\"Start list at number\": \"Come\\u00e7ar a lista pelo n\\u00famero\",\n\"Line height\": \"Altura da linha\",\n\"comments\": \"coment\\u00e1rios\",\n\"Format Painter\": \"Pincel de formata\\u00e7\\u00e3o\",\n\"Insert\\/edit iframe\": \"Inserir\\/editar iframe\",\n\"Capitalization\": \"Capitaliza\\u00e7\\u00e3o\",\n\"lowercase\": \"min\\u00fasculas\",\n\"UPPERCASE\": \"MAI\\u00daSCULAS\",\n\"Title Case\": \"Iniciais mai\\u00fasculas\",\n\"permanent pen\": \"caneta permanente\",\n\"Permanent Pen Properties\": \"Propriedades da Caneta Permanente\",\n\"Permanent pen properties...\": \"Propriedades da caneta permanente...\",\n\"case change\": \"mudan\\u00e7a de capitaliza\\u00e7\\u00e3o\",\n\"page embed\": \"incorporar p\\u00e1gina\",\n\"Advanced sort...\": \"Ordena\\u00e7\\u00e3o avan\\u00e7ada\\u2026\",\n\"Advanced Sort\": \"Ordena\\u00e7\\u00e3o avan\\u00e7ada\",\n\"Sort table by column ascending\": \"Ordenar tabela por coluna ascendente\",\n\"Sort table by column descending\": \"Ordenar tabela por coluna descendente\",\n\"Sort\": \"Ordenar\",\n\"Order\": \"Ordem\",\n\"Sort by\": \"Ordenar por\",\n\"Ascending\": \"Ascendente\",\n\"Descending\": \"Descendente\",\n\"Column {0}\": \"Coluna {0}\",\n\"Row {0}\": \"Linha {0}\",\n\"Spellcheck...\": \"Verifica\\u00e7\\u00e3o ortogr\\u00e1fica...\",\n\"Misspelled word\": \"Palavra mal escrita\",\n\"Suggestions\": \"Sugest\\u00f5es\",\n\"Change\": \"Alterar\",\n\"Finding word suggestions\": \"Encontrar sugest\\u00f5es de palavras\",\n\"Success\": \"Sucesso\",\n\"Repair\": \"Reparar\",\n\"Issue {0} of {1}\": \"Problema {0} de {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"As imagens devem ser marcadas como decorativas ou ter uma descri\\u00e7\\u00e3o textual alternativa\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"As imagens devem ter uma descri\\u00e7\\u00e3o textual alternativa. N\\u00e3o s\\u00e3o permitidas imagens meramente decorativas.\",\n\"Or provide alternative text:\": \"Ou forne\\u00e7a um texto alternativo:\",\n\"Make image decorative:\": \"Marque a imagem como decorativa:\",\n\"ID attribute must be unique\": \"O atributo ID tem de ser \\u00fanico\",\n\"Make ID unique\": \"Tornar o ID \\u00fanico\",\n\"Keep this ID and remove all others\": \"Mantenha este ID e remova todos os outros\",\n\"Remove this ID\": \"Remover este ID\",\n\"Remove all IDs\": \"Remover todos os IDs\",\n\"Checklist\": \"Lista de verifica\\u00e7\\u00e3o\",\n\"Anchor\": \"\\u00c2ncora\",\n\"Special character\": \"Car\\u00e1cter especial\",\n\"Code sample\": \"Amostra de c\\u00f3digo\",\n\"Color\": \"Cor\",\n\"Document properties\": \"Propriedades do documento\",\n\"Image description\": \"Descri\\u00e7\\u00e3o da imagem\",\n\"Image\": \"Imagem\",\n\"Insert link\": \"Inserir liga\\u00e7\\u00e3o\",\n\"Target\": \"Alvo\",\n\"Link\": \"Liga\\u00e7\\u00e3o\",\n\"Poster\": \"Autor\",\n\"Media\": \"Media\",\n\"Print\": \"Imprimir\",\n\"Prev\": \"Anterior\",\n\"Find and replace\": \"Pesquisar e substituir\",\n\"Whole words\": \"Palavras completas\",\n\"Insert template\": \"Inserir modelo\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/ro.js",
    "content": "tinymce.addI18n('ro',{\n\"Redo\": \"Refacere\",\n\"Undo\": \"Anulare\",\n\"Cut\": \"Decupare\",\n\"Copy\": \"Copiere\",\n\"Paste\": \"Lipire\",\n\"Select all\": \"Selecteaz\\u0103 tot\",\n\"New document\": \"Document nou\",\n\"Ok\": \"Ok\",\n\"Cancel\": \"Revocare\",\n\"Visual aids\": \"Ajutoare vizuale\",\n\"Bold\": \"Aldin\",\n\"Italic\": \"Cursiv\",\n\"Underline\": \"Subliniere\",\n\"Strikethrough\": \"T\\u0103iere\",\n\"Superscript\": \"Exponent\",\n\"Subscript\": \"Indice\",\n\"Clear formatting\": \"\\u00cendep\\u0103rtare formatare\",\n\"Align left\": \"Aliniere st\\u00e2nga\",\n\"Align center\": \"Aliniere centru\",\n\"Align right\": \"Aliniere dreapta\",\n\"Justify\": \"Aliniere st\\u00e2nga-dreapta\",\n\"Bullet list\": \"List\\u0103 marcatori\",\n\"Numbered list\": \"List\\u0103 numerotat\\u0103\",\n\"Decrease indent\": \"Mic\\u0219orare indent\",\n\"Increase indent\": \"M\\u0103rire indent\",\n\"Close\": \"\\u00cenchidere\",\n\"Formats\": \"Formate\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Browser-ul dumneavoastr\\u0103 nu are acces direct la clipboard. V\\u0103 rug\\u0103m s\\u0103 folosi\\u021bi \\u00een schimb scurt\\u0103turile de tastatur\\u0103 Ctrl+X\\/C\\/V.\",\n\"Headers\": \"Antete\",\n\"Header 1\": \"Antet 1\",\n\"Header 2\": \"Antet 2\",\n\"Header 3\": \"Antet 3\",\n\"Header 4\": \"Antet 4\",\n\"Header 5\": \"Antet 5\",\n\"Header 6\": \"Antet 6\",\n\"Headings\": \"Rubrici\",\n\"Heading 1\": \"Titlu 1\",\n\"Heading 2\": \"Titlu 2\",\n\"Heading 3\": \"Titlu 3\",\n\"Heading 4\": \"Titlu 4\",\n\"Heading 5\": \"Titlu 5\",\n\"Heading 6\": \"Titlu 6\",\n\"Preformatted\": \"Preformatat\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"Cod\",\n\"Paragraph\": \"Paragraf\",\n\"Blockquote\": \"Blockquote\",\n\"Inline\": \"\\u00cen linie\",\n\"Blocks\": \"Blocuri\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"Functia \\\"lipe\\u015fte\\\" este acum \\u00een modul text simplu. Continutul va fi acum inserat ca text simplu p\\u00e2n\\u0103 c\\u00e2nd aceast\\u0103 op\\u021biune va fi dezactivat.\",\n\"Fonts\": \"Fonturi\",\n\"Font Sizes\": \"Dimensiuni font\",\n\"Class\": \"Clas\\u0103\",\n\"Browse for an image\": \"C\\u0103uta\\u021bi o imagine\",\n\"OR\": \"OR\",\n\"Drop an image here\": \"Glisa\\u021bi o imagine aici\",\n\"Upload\": \"\\u00cenc\\u0103rcare\",\n\"Block\": \"Sec\\u021biune\",\n\"Align\": \"Aliniere\",\n\"Default\": \"Implicit\",\n\"Circle\": \"Cerc\",\n\"Disc\": \"Disc\",\n\"Square\": \"P\\u0103trat\",\n\"Lower Alpha\": \"Minuscule Alfanumerice\",\n\"Lower Greek\": \"Minuscule Grecesti\",\n\"Lower Roman\": \"Minuscule Romane\",\n\"Upper Alpha\": \"Majuscule Alfanumerice\",\n\"Upper Roman\": \"Majuscule Romane\",\n\"Anchor...\": \"Ancor\\u0103\\u2026\",\n\"Name\": \"Nume\",\n\"Id\": \"Id\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Id-ul trebuie s\\u0103 inceap\\u0103 cu o liter\\u0103, urmat\\u0103 exclusiv de litere, numere, cratime, puncte, punct \\u0219i virgul\\u0103 sau underscore-uri.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Ave\\u021bi modific\\u0103ri nesalvate! Sunte\\u0163i sigur c\\u0103 dori\\u0163i s\\u0103 ie\\u015fiti?\",\n\"Restore last draft\": \"Restaurare la ultima salvare\",\n\"Special character...\": \"Caracter special\\u2026\",\n\"Source code\": \"Codul surs\\u0103\",\n\"Insert\\/Edit code sample\": \"Inserare\\/Editare mostr\\u0103 cod\",\n\"Language\": \"Limba\",\n\"Code sample...\": \"Mostr\\u0103 cod\\u2026\",\n\"Color Picker\": \"Selector culori\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"St\\u00e2nga la dreapta\",\n\"Right to left\": \"Dreapta la st\\u00e2nga\",\n\"Emoticons\": \"Emoticoane\",\n\"Emoticons...\": \"Emoticoane\\u2026\",\n\"Metadata and Document Properties\": \"Meta date \\u0219i Propriet\\u0103\\u021bi Document\",\n\"Title\": \"Titlu\",\n\"Keywords\": \"Cuvinte cheie\",\n\"Description\": \"Descriere\",\n\"Robots\": \"Robo\\u021bi\",\n\"Author\": \"Autor\",\n\"Encoding\": \"Codare\",\n\"Fullscreen\": \"Pe tot ecranul\",\n\"Action\": \"Ac\\u0163iune\",\n\"Shortcut\": \"Comand\\u0103 rapid\\u0103\",\n\"Help\": \"Ajutor\",\n\"Address\": \"Adres\\u0103\",\n\"Focus to menubar\": \"Centrare pe bara de meniuri\",\n\"Focus to toolbar\": \"Centrare pe bara de unelte\",\n\"Focus to element path\": \"Centrare pe calea elementului\",\n\"Focus to contextual toolbar\": \"Centrare pe bara de unelte contextual\\u0103\",\n\"Insert link (if link plugin activated)\": \"Inserare link (dac\\u0103 modulul de link-uri este activat)\",\n\"Save (if save plugin activated)\": \"Salvare (dac\\u0103 modulul de salvare este activat)\",\n\"Find (if searchreplace plugin activated)\": \"C\\u0103utare (dac\\u0103 modulul de c\\u0103utare \\u0219i \\u00eenlocuire este activat)\",\n\"Plugins installed ({0}):\": \"Module instalate ({0}):\",\n\"Premium plugins:\": \"Module premium:\",\n\"Learn more...\": \"Afla\\u021bi mai multe\\u2026\",\n\"You are using {0}\": \"Folosi\\u021bi {0}\",\n\"Plugins\": \"Inserturi\",\n\"Handy Shortcuts\": \"Comenzi rapide accesibile\",\n\"Horizontal line\": \"Linie orizontal\\u0103\",\n\"Insert\\/edit image\": \"Inserare\\/editarea imaginilor\",\n\"Alternative description\": \"Descriere alternativ\\u0103\",\n\"Accessibility\": \"Accesibilitate\",\n\"Image is decorative\": \"Imaginea este decorativ\\u0103\",\n\"Source\": \"Surs\\u0103\",\n\"Dimensions\": \"Dimensiuni\",\n\"Constrain proportions\": \"Constr\\u00e2nge propor\\u021biile\",\n\"General\": \"General\",\n\"Advanced\": \"Avansat\",\n\"Style\": \"Stil\",\n\"Vertical space\": \"Spa\\u021biul vertical\",\n\"Horizontal space\": \"Spa\\u021biul orizontal\",\n\"Border\": \"Bordur\\u0103\",\n\"Insert image\": \"Inserare imagine\",\n\"Image...\": \"Imagine\\u2026\",\n\"Image list\": \"List\\u0103 de imagini\",\n\"Rotate counterclockwise\": \"Rotire \\u00een sensul antiorar\",\n\"Rotate clockwise\": \"Rotire \\u00een sensul orar\",\n\"Flip vertically\": \"R\\u0103sturn\\u0103 vertical\",\n\"Flip horizontally\": \"R\\u0103sturn\\u0103 orizontal\",\n\"Edit image\": \"Editare imagine\",\n\"Image options\": \"Op\\u021biuni imagine\",\n\"Zoom in\": \"M\\u0103rire\",\n\"Zoom out\": \"Mic\\u015forare\",\n\"Crop\": \"Decupare\",\n\"Resize\": \"Redimensionare\",\n\"Orientation\": \"Orientare\",\n\"Brightness\": \"Str\\u0103lucire\",\n\"Sharpen\": \"Accentuare\",\n\"Contrast\": \"Contrast\",\n\"Color levels\": \"Niveluri de culoare\",\n\"Gamma\": \"Gamma\",\n\"Invert\": \"Invers\\u0103\",\n\"Apply\": \"Salveaz\\u0103\",\n\"Back\": \"\\u00cenapoi\",\n\"Insert date\\/time\": \"Insereaz\\u0103 data\\/ora\",\n\"Date\\/time\": \"Data\\/ora\",\n\"Insert\\/edit link\": \"Inserare\\/editare link\",\n\"Text to display\": \"Text de afi\\u0219at\",\n\"Url\": \"Url\",\n\"Open link in...\": \"Deschide link \\u00een\\u2026\",\n\"Current window\": \"Fereastra curent\\u0103\",\n\"None\": \"Nici unul\",\n\"New window\": \"Fereastr\\u0103 nou\\u0103\",\n\"Open link\": \"Deschide leg\\u0103tur\\u0103\",\n\"Remove link\": \"\\u0218terge link-ul\",\n\"Anchors\": \"Ancor\\u0103\",\n\"Link...\": \"Link\\u2026\",\n\"Paste or type a link\": \"Introduce\\u021bi un link\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"URL-ul introdus pare s\\u0103 fie o adres\\u0103 de e-mail. Dori\\u021bi s\\u0103 ad\\u0103uga\\u021bi prefixul mailto: ?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"URL-ul introdus pare s\\u0103 fie o adres\\u0103 web. Dori\\u021bi s\\u0103 ad\\u0103uga\\u021bi prefixul http:\\/\\/ ?\",\n\"The URL you entered seems to be an external link. Do you want to add the required https:\\/\\/ prefix?\": \"Adresa URL pe care a\\u021bi introdus-o pare a fi un leg\\u0103tur\\u0103 extern\\u0103. Dori\\u021bi s\\u0103 ad\\u0103uga\\u021bi prefixul https:\\/\\/ necesar?\",\n\"Link list\": \"List\\u0103 linkuri\",\n\"Insert video\": \"Inserare video\",\n\"Insert\\/edit video\": \"Inserare\\/editare video\",\n\"Insert\\/edit media\": \"Inserare\\/editare media\",\n\"Alternative source\": \"Surs\\u0103 alternativ\\u0103\",\n\"Alternative source URL\": \"URL surs\\u0103 alternativ\\u0103\",\n\"Media poster (Image URL)\": \"Poster media (URL imagine)\",\n\"Paste your embed code below:\": \"Insera\\u021bi codul:\",\n\"Embed\": \"Embed\",\n\"Media...\": \"Media\\u2026\",\n\"Nonbreaking space\": \"Spa\\u021biu neseparator\",\n\"Page break\": \"\\u00centrerupere de pagin\\u0103\",\n\"Paste as text\": \"Lipe\\u015fte ca text\",\n\"Preview\": \"Previzualizare\",\n\"Print...\": \"Tip\\u0103rire\\u2026\",\n\"Save\": \"Salveaz\\u0103\",\n\"Find\": \"Caut\\u0103\",\n\"Replace with\": \"\\u00cenlocuie\\u015fte cu\",\n\"Replace\": \"\\u00cenlocuie\\u015fte\",\n\"Replace all\": \"\\u00cenlocuie\\u015fte toate\",\n\"Previous\": \"Anterior\",\n\"Next\": \"Precedent\",\n\"Find and Replace\": \"G\\u0103si\\u021bi \\u0219i \\u00eenlocui\\u021bi\",\n\"Find and replace...\": \"C\\u0103utare \\u0219i \\u00eenlocuire\\u2026\",\n\"Could not find the specified string.\": \"Nu am putut g\\u0103si \\u0219irul specificat.\",\n\"Match case\": \"Distinge majuscule\\/minuscule\",\n\"Find whole words only\": \"G\\u0103se\\u0219te doar cuvintele \\u00eentregi\",\n\"Find in selection\": \"G\\u0103si\\u021bi \\u00een selec\\u021bie\",\n\"Spellcheck\": \"Verificarea ortografic\\u0103\",\n\"Spellcheck Language\": \"Verificare ortografic\\u0103 a limbii\",\n\"No misspellings found.\": \"Nu s-au g\\u0103sit gre\\u0219eli de ortografie.\",\n\"Ignore\": \"Ignor\\u0103\",\n\"Ignore all\": \"Ignor\\u0103 toate\",\n\"Finish\": \"Finalizeaz\\u0103\",\n\"Add to Dictionary\": \"Adaug\\u0103 \\u00een Dic\\u021bionar\",\n\"Insert table\": \"Insereaz\\u0103 tabel\\u0103\",\n\"Table properties\": \"Propriet\\u0103\\u021bi tabel\\u0103\",\n\"Delete table\": \"\\u0218terge tabel\\u0103\",\n\"Cell\": \"Celul\\u0103\",\n\"Row\": \"Linie\",\n\"Column\": \"Coloan\\u0103\",\n\"Cell properties\": \"Propriet\\u0103\\u021bi celul\\u0103\",\n\"Merge cells\": \"\\u00cembinarea celulelor\",\n\"Split cell\": \"\\u00cemp\\u0103r\\u021birea celulelor\",\n\"Insert row before\": \"Insereaz\\u0103 \\u00eenainte de linie\",\n\"Insert row after\": \"Insereaz\\u0103 dup\\u0103 linie\",\n\"Delete row\": \"\\u0218terge linia\",\n\"Row properties\": \"Propriet\\u0103\\u021bi linie\",\n\"Cut row\": \"Taie linie\",\n\"Copy row\": \"Copiaz\\u0103 linie\",\n\"Paste row before\": \"Lipe\\u015fte \\u00eenainte de linie\",\n\"Paste row after\": \"Lipe\\u015fte linie dup\\u0103\",\n\"Insert column before\": \"Insereaza \\u00eenainte de coloan\\u0103\",\n\"Insert column after\": \"Insereaza dup\\u0103 coloan\\u0103\",\n\"Delete column\": \"\\u0218terge coloana\",\n\"Cols\": \"Coloane\",\n\"Rows\": \"Linii\",\n\"Width\": \"L\\u0103\\u0163ime\",\n\"Height\": \"\\u00cen\\u0103l\\u0163ime\",\n\"Cell spacing\": \"Spa\\u021biere celule\",\n\"Cell padding\": \"Spa\\u021biere\",\n\"Caption\": \"Titlu\",\n\"Show caption\": \"Afi\\u0219are captur\\u0103\",\n\"Left\": \"St\\u00e2nga\",\n\"Center\": \"Centru\",\n\"Right\": \"Dreapta\",\n\"Cell type\": \"Tip celul\\u0103\",\n\"Scope\": \"Domeniu\",\n\"Alignment\": \"Aliniament\",\n\"H Align\": \"Aliniere H\",\n\"V Align\": \"Aliniere V\",\n\"Top\": \"Sus\",\n\"Middle\": \"Mijloc\",\n\"Bottom\": \"Jos\",\n\"Header cell\": \"Antet celul\\u0103\",\n\"Row group\": \"Grup de linii\",\n\"Column group\": \"Grup de coloane\",\n\"Row type\": \"Tip de linie\",\n\"Header\": \"Antet\",\n\"Body\": \"Corp\",\n\"Footer\": \"Subsol\",\n\"Border color\": \"Culoare bordur\\u0103\",\n\"Insert template...\": \"Inserare \\u0219ablon\\u2026\",\n\"Templates\": \"\\u015eabloane\",\n\"Template\": \"\\u0218ablon\",\n\"Text color\": \"Culoare text\",\n\"Background color\": \"Culoare fundal\",\n\"Custom...\": \"Personalizat...\",\n\"Custom color\": \"Culoare personalizat\\u0103\",\n\"No color\": \"F\\u0103r\\u0103 culoare\",\n\"Remove color\": \"Eliminare culoare\",\n\"Table of Contents\": \"Cuprins\",\n\"Show blocks\": \"Afi\\u0219are blocuri\",\n\"Show invisible characters\": \"Afi\\u0219are caractere invizibile\",\n\"Word count\": \"Num\\u0103r\\u0103toare cuvinte\",\n\"Count\": \"Num\\u0103r\\u0103toare\",\n\"Document\": \"Document\",\n\"Selection\": \"Selec\\u021bie\",\n\"Words\": \"Cuvinte\",\n\"Words: {0}\": \"Cuvinte: {0}\",\n\"{0} words\": \"{0} cuvinte\",\n\"File\": \"Fil\\u0103\",\n\"Edit\": \"Editeaz\\u0103\",\n\"Insert\": \"Insereaz\\u0103\",\n\"View\": \"Vezi\",\n\"Format\": \"Formateaz\\u0103\",\n\"Table\": \"Tabel\\u0103\",\n\"Tools\": \"Unelte\",\n\"Powered by {0}\": \"Sus\\u021binut de {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Zon\\u0103 cu Rich Text. Apas\\u0103 ALT-F9 pentru meniu. Apas\\u0103 ALT-F10 pentru bara de unelte. Apas\\u0103 ALT-0 pentru ajutor\",\n\"Image title\": \"Titlu imagine\",\n\"Border width\": \"Grosime chenar\",\n\"Border style\": \"Stil chenar\",\n\"Error\": \"Eroare\",\n\"Warn\": \"Aten\\u021bionare\",\n\"Valid\": \"Valid\",\n\"To open the popup, press Shift+Enter\": \"Pentru a deschide fereastra popup, ap\\u0103sa\\u021bi Shift+Enter\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Zon\\u0103 Text Formatat. Ap\\u0103sa\\u021bi ALT-0 pentru ajutor.\",\n\"System Font\": \"Font Sistem\",\n\"Failed to upload image: {0}\": \"Nu s-a putut \\u00eenc\\u0103rca imaginea: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Nu s-a putut \\u00eenc\\u0103rca modulul: {0} de la URL-ul {1}\",\n\"Failed to load plugin url: {0}\": \"Nu s-a putut \\u00eenc\\u0103rca URL-ul modulului: {0}\",\n\"Failed to initialize plugin: {0}\": \"Nu s-a putut ini\\u021bializa modulul: {0}\",\n\"example\": \"exemplu\",\n\"Search\": \"C\\u0103utare\",\n\"All\": \"Tot\",\n\"Currency\": \"Moned\\u0103\",\n\"Text\": \"Text\",\n\"Quotations\": \"Ghilimele\",\n\"Mathematical\": \"Simboluri matematice\",\n\"Extended Latin\": \"Simboluri alfabet latin extins\",\n\"Symbols\": \"Simboluri\",\n\"Arrows\": \"S\\u0103ge\\u021bi\",\n\"User Defined\": \"Definite de utilizator\",\n\"dollar sign\": \"simbol dolar\",\n\"currency sign\": \"simbol moned\\u0103\",\n\"euro-currency sign\": \"simbol euro\",\n\"colon sign\": \"dou\\u0103 puncte\",\n\"cruzeiro sign\": \"simbol cruzeiro\",\n\"french franc sign\": \"simbol franc francez\",\n\"lira sign\": \"simbol lir\\u0103\",\n\"mill sign\": \"simbol mill\",\n\"naira sign\": \"simbol naira\",\n\"peseta sign\": \"simbol peset\\u0103\",\n\"rupee sign\": \"simbol rupie\",\n\"won sign\": \"simbol won\",\n\"new sheqel sign\": \"simbol shekel nou\",\n\"dong sign\": \"simbol dong\",\n\"kip sign\": \"simbol kip\",\n\"tugrik sign\": \"simbol tugrik\",\n\"drachma sign\": \"simbol drahm\\u0103\",\n\"german penny symbol\": \"simbol peni german\",\n\"peso sign\": \"simbol peso\",\n\"guarani sign\": \"simbol guarani\",\n\"austral sign\": \"simbol austral\",\n\"hryvnia sign\": \"simbol grivn\\u0103\",\n\"cedi sign\": \"simbol cedi\",\n\"livre tournois sign\": \"simbol livr\\u0103 tournois\",\n\"spesmilo sign\": \"simbol spesmilo\",\n\"tenge sign\": \"simbol tenge\",\n\"indian rupee sign\": \"simbol rupie indian\\u0103\",\n\"turkish lira sign\": \"simbol lir\\u0103 turceasc\\u0103\",\n\"nordic mark sign\": \"simbol marc\\u0103 nordic\\u0103\",\n\"manat sign\": \"simbol manat\",\n\"ruble sign\": \"simbol rubl\\u0103\",\n\"yen character\": \"simbol yen\",\n\"yuan character\": \"simbol yuan\",\n\"yuan character, in hong kong and taiwan\": \"simbol yuan \\u00een Hong Kong \\u0219i Taiwan\",\n\"yen\\/yuan character variant one\": \"simbol yen\\/yuan prima variant\\u0103\",\n\"Loading emoticons...\": \"Se \\u00eencarc\\u0103 emoticoanele\\u2026\",\n\"Could not load emoticons\": \"Nu s-au putut \\u00eenc\\u0103rca emoticoanele\",\n\"People\": \"Persoane\",\n\"Animals and Nature\": \"Animale \\u0219i natur\\u0103\",\n\"Food and Drink\": \"M\\u00e2ncare \\u0219i b\\u0103uturi\",\n\"Activity\": \"Activit\\u0103\\u021bi\",\n\"Travel and Places\": \"C\\u0103l\\u0103torii \\u0219i loca\\u021bii\",\n\"Objects\": \"Obiecte\",\n\"Flags\": \"Steaguri\",\n\"Characters\": \"Caractere\",\n\"Characters (no spaces)\": \"Caractere (f\\u0103r\\u0103 spa\\u021bii)\",\n\"{0} characters\": \"{0} caractere\",\n\"Error: Form submit field collision.\": \"Eroare: Coliziune c\\u00e2mpuri la trimiterea formularului.\",\n\"Error: No form element found.\": \"Eroare: Niciun element de formular g\\u0103sit.\",\n\"Update\": \"Actualizare\",\n\"Color swatch\": \"Mostr\\u0103 de culori\",\n\"Turquoise\": \"Turcoaz\",\n\"Green\": \"Verde\",\n\"Blue\": \"Albastru\",\n\"Purple\": \"Mov\",\n\"Navy Blue\": \"Albastru marin\",\n\"Dark Turquoise\": \"Turcoaz \\u00eenchis\",\n\"Dark Green\": \"Verde \\u00eenchis\",\n\"Medium Blue\": \"Albastru mediu\",\n\"Medium Purple\": \"Mov mediu\",\n\"Midnight Blue\": \"Albastru \\u00eenchis\",\n\"Yellow\": \"Galben\",\n\"Orange\": \"Portocaliu\",\n\"Red\": \"Ro\\u0219u\",\n\"Light Gray\": \"Gri deschis\",\n\"Gray\": \"Gri\",\n\"Dark Yellow\": \"Galben \\u00eenchis\",\n\"Dark Orange\": \"Portocaliu \\u00eenchis\",\n\"Dark Red\": \"Ro\\u0219u \\u00eenchis\",\n\"Medium Gray\": \"Gri mediu\",\n\"Dark Gray\": \"Gri \\u00eenchis\",\n\"Light Green\": \"Verde deschis\",\n\"Light Yellow\": \"Galben deschis\",\n\"Light Red\": \"Ro\\u015fu deschis\",\n\"Light Purple\": \"Violet deschis\",\n\"Light Blue\": \"Albastru deschis\",\n\"Dark Purple\": \"Violet \\u00eenchis\",\n\"Dark Blue\": \"Negru \\u00eenchis\",\n\"Black\": \"Negru\",\n\"White\": \"Alb\",\n\"Switch to or from fullscreen mode\": \"Comutare pe sau de la modul ecran complet\",\n\"Open help dialog\": \"Deschide dialogul de ajutor\",\n\"history\": \"istoric\",\n\"styles\": \"stiluri\",\n\"formatting\": \"formatare\",\n\"alignment\": \"aliniere\",\n\"indentation\": \"indentare\",\n\"Font\": \"Font\",\n\"Size\": \"Dimensiuni\",\n\"More...\": \"Mai multe...\",\n\"Select...\": \"Selectare...\",\n\"Preferences\": \"Preferin\\u021be\",\n\"Yes\": \"Da\",\n\"No\": \"Nu\",\n\"Keyboard Navigation\": \"Navigare de la tastatur\\u0103\",\n\"Version\": \"Versiune\",\n\"Code view\": \"Vizualizare cod\",\n\"Open popup menu for split buttons\": \"Deschide\\u021bi meniul pop-up pentru butoanele divizate\",\n\"List Properties\": \"Propriet\\u0103\\u021bi list\\u0103\",\n\"List properties...\": \"Propriet\\u0103\\u021bi list\\u0103...\",\n\"Start list at number\": \"\\u00cencepe\\u021bi lista la num\\u0103rul\",\n\"Line height\": \"\\u00cen\\u0103l\\u021bimea liniei\",\n\"comments\": \"comentarii\",\n\"Format Painter\": \"Descriptor de formate\",\n\"Insert\\/edit iframe\": \"Inserare\\/editare icadru\",\n\"Capitalization\": \"Scriere cu majuscule\",\n\"lowercase\": \"litere mici\",\n\"UPPERCASE\": \"MAJUSCULE\",\n\"Title Case\": \"Ini\\u021bial\\u0103 majuscul\\u0103\",\n\"permanent pen\": \"stilou permanent\",\n\"Permanent Pen Properties\": \"Propriet\\u0103\\u021bile stiloului permanent\",\n\"Permanent pen properties...\": \"Propriet\\u0103\\u021bile stiloului permanent...\",\n\"case change\": \"schimbarea cazului\",\n\"page embed\": \"\\u00eencorporare pagin\\u0103\",\n\"Advanced sort...\": \"Sortare avansat\\u0103...\",\n\"Advanced Sort\": \"Sortare avansat\\u0103\",\n\"Sort table by column ascending\": \"Sorta\\u021bi tabelul dup\\u0103 coloan\\u0103 cresc\\u0103toare\",\n\"Sort table by column descending\": \"Sorta\\u021bi tabelul dup\\u0103 coloan\\u0103 descresc\\u0103toare\",\n\"Sort\": \"Sortare\",\n\"Order\": \"Ordonare\",\n\"Sort by\": \"Soreaz\\u0103 dup\\u0103\",\n\"Ascending\": \"Cresc\\u0103tor\",\n\"Descending\": \"Descresc\\u0103tor\",\n\"Column {0}\": \"Coloan\\u0103 {0}\",\n\"Row {0}\": \"R\\u00e2nd {0}\",\n\"Spellcheck...\": \"Verificare a ortografiei...\",\n\"Misspelled word\": \"Cuv\\u00e2nt scris gre\\u0219it\",\n\"Suggestions\": \"Sugestii\",\n\"Change\": \"Schimbare\",\n\"Finding word suggestions\": \"G\\u0103se\\u0219te sugestii de cuvinte\",\n\"Success\": \"Succes\",\n\"Repair\": \"Repar\\u0103\",\n\"Issue {0} of {1}\": \"Num\\u0103rul {0} din {1}\",\n\"Images must be marked as decorative or have an alternative text description\": \"Imaginile trebuie s\\u0103 fie marcate ca decorative sau s\\u0103 aib\\u0103 o descriere alternativ\\u0103 a textului\",\n\"Images must have an alternative text description. Decorative images are not allowed.\": \"Imaginile trebuie s\\u0103 aib\\u0103 o descriere alternativ\\u0103 a textului. Imaginile decorative nu sunt permise.\",\n\"Or provide alternative text:\": \"Sau furniza\\u021bi un text alternativ:\",\n\"Make image decorative:\": \"Face\\u021bi imaginea decorativ\\u0103:\",\n\"ID attribute must be unique\": \"Atributul ID trebuie s\\u0103 fie unic\",\n\"Make ID unique\": \"Face\\u021bi ID-ul unic\",\n\"Keep this ID and remove all others\": \"P\\u0103stra\\u021bi acest ID \\u0219i elimina\\u021bi pe toate celelalte\",\n\"Remove this ID\": \"Elimina\\u021bi acest ID\",\n\"Remove all IDs\": \"Elimina\\u021bi toate ID-urile\",\n\"Checklist\": \"Lista de verificare\",\n\"Anchor\": \"Ancor\\u0103\",\n\"Special character\": \"Caractere speciale\",\n\"Color\": \"Culoare\",\n\"Document properties\": \"Propriet\\u0103\\u021bi document\",\n\"Image description\": \"Descrierea imaginii\",\n\"Image\": \"Imagine\",\n\"Insert link\": \"Inserare link\",\n\"Link\": \"Link\",\n\"Target\": \"\\u021aint\\u0103\",\n\"Media\": \"Media\",\n\"Poster\": \"Poster\",\n\"Print\": \"Tip\\u0103re\\u0219te\",\n\"Whole words\": \"Doar cuv\\u00eentul \\u00eentreg\",\n\"Find and replace\": \"Caut\\u0103 \\u015fi \\u00eenlocuie\\u015fte\",\n\"Prev\": \"Anterior\",\n\"Insert template\": \"Insereaz\\u0103 \\u0219ablon\"\n});"
  },
  {
    "path": "frontend/public/static/tinymce/lang/tr.js",
    "content": "tinymce.addI18n('tr',{\n\"Redo\": \"Yinele\",\n\"Undo\": \"Geri al\",\n\"Cut\": \"Kes\",\n\"Copy\": \"Kopyala\",\n\"Paste\": \"Yap\\u0131\\u015ft\\u0131r\",\n\"Select all\": \"T\\u00fcm\\u00fcn\\u00fc se\\u00e7\",\n\"New document\": \"Yeni dok\\u00fcman\",\n\"Ok\": \"Tamam\",\n\"Cancel\": \"\\u0130ptal\",\n\"Visual aids\": \"G\\u00f6rsel ara\\u00e7lar\",\n\"Bold\": \"Kal\\u0131n\",\n\"Italic\": \"\\u0130talik\",\n\"Underline\": \"Alt\\u0131 \\u00e7izili\",\n\"Strikethrough\": \"\\u00dcst\\u00fc \\u00e7izgili\",\n\"Superscript\": \"\\u00dcst simge\",\n\"Subscript\": \"Alt simge\",\n\"Clear formatting\": \"Bi\\u00e7imi temizle\",\n\"Align left\": \"Sola hizala\",\n\"Align center\": \"Ortala\",\n\"Align right\": \"Sa\\u011fa hizala\",\n\"Justify\": \"\\u0130ki yana yasla\",\n\"Bullet list\": \"S\\u0131ras\\u0131z liste\",\n\"Numbered list\": \"S\\u0131ral\\u0131 liste\",\n\"Decrease indent\": \"Girintiyi azalt\",\n\"Increase indent\": \"Girintiyi art\\u0131r\",\n\"Close\": \"Kapat\",\n\"Formats\": \"Bi\\u00e7imler\",\n\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\\/C\\/V keyboard shortcuts instead.\": \"Taray\\u0131c\\u0131n\\u0131z panoya direk eri\\u015fimi desteklemiyor. L\\u00fctfen Ctrl+X\\/C\\/V klavye k\\u0131sayollar\\u0131n\\u0131 kullan\\u0131n.\",\n\"Headers\": \"Ba\\u015fl\\u0131klar\",\n\"Header 1\": \"Ba\\u015fl\\u0131k 1\",\n\"Header 2\": \"Ba\\u015fl\\u0131k 2\",\n\"Header 3\": \"Ba\\u015fl\\u0131k 3\",\n\"Header 4\": \"Ba\\u015fl\\u0131k 4\",\n\"Header 5\": \"Ba\\u015fl\\u0131k 5\",\n\"Header 6\": \"Ba\\u015fl\\u0131k 6\",\n\"Headings\": \"Ba\\u015fl\\u0131klar\",\n\"Heading 1\": \"Ba\\u015fl\\u0131k 1\",\n\"Heading 2\": \"Ba\\u015fl\\u0131k 2\",\n\"Heading 3\": \"Ba\\u015fl\\u0131k 3\",\n\"Heading 4\": \"Ba\\u015fl\\u0131k 4\",\n\"Heading 5\": \"Ba\\u015fl\\u0131k 5\",\n\"Heading 6\": \"Ba\\u015fl\\u0131k 6\",\n\"Preformatted\": \"\\u00d6nceden bi\\u00e7imlendirilmi\\u015f\",\n\"Div\": \"Div\",\n\"Pre\": \"Pre\",\n\"Code\": \"Kod\",\n\"Paragraph\": \"Paragraf\",\n\"Blockquote\": \"Blockquote\",\n\"Inline\": \"Sat\\u0131r i\\u00e7i\",\n\"Blocks\": \"Bloklar\",\n\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\": \"D\\u00fcz metin modunda yap\\u0131\\u015ft\\u0131r. Bu se\\u00e7ene\\u011fi kapatana kadar i\\u00e7erikler d\\u00fcz metin olarak yap\\u0131\\u015ft\\u0131r\\u0131l\\u0131r.\",\n\"Fonts\": \"Yaz\\u0131 Tipleri\",\n\"Font Sizes\": \"Yaz\\u0131tipi B\\u00fcy\\u00fckl\\u00fc\\u011f\\u00fc\",\n\"Class\": \"S\\u0131n\\u0131f\",\n\"Browse for an image\": \"Bir resim aray\\u0131n\",\n\"OR\": \"VEYA\",\n\"Drop an image here\": \"Buraya bir resim koyun\",\n\"Upload\": \"Y\\u00fckle\",\n\"Block\": \"Blok\",\n\"Align\": \"Hizala\",\n\"Default\": \"Varsay\\u0131lan\",\n\"Circle\": \"Daire\",\n\"Disc\": \"Disk\",\n\"Square\": \"Kare\",\n\"Lower Alpha\": \"K\\u00fc\\u00e7\\u00fck Harf\",\n\"Lower Greek\": \"K\\u00fc\\u00e7\\u00fck Yunan Harfleri\",\n\"Lower Roman\": \"K\\u00fc\\u00e7\\u00fck Roman Harfleri \",\n\"Upper Alpha\": \"B\\u00fcy\\u00fck Harf\",\n\"Upper Roman\": \"B\\u00fcy\\u00fck Roman Harfleri \",\n\"Anchor...\": \"\\u00c7apa...\",\n\"Name\": \"\\u0130sim\",\n\"Id\": \"Kimlik\",\n\"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.\": \"Id bir harf ile ba\\u015flamal\\u0131d\\u0131r ve harf, rakam, \\u00e7izgi, nokta, iki nokta \\u00fcst\\u00fcste veya alt \\u00e7izgi kullan\\u0131labilir.\",\n\"You have unsaved changes are you sure you want to navigate away?\": \"Kaydedilmemi\\u015f de\\u011fi\\u015fiklikler var, sayfadan ayr\\u0131lmak istedi\\u011finize emin misiniz?\",\n\"Restore last draft\": \"Son tasla\\u011f\\u0131 geri y\\u00fckle\",\n\"Special character...\": \"\\u00d6zel karakter...\",\n\"Source code\": \"Kaynak kodu\",\n\"Insert\\/Edit code sample\": \"\\u00d6rnek kod ekle\\/d\\u00fczenle\",\n\"Language\": \"Dil\",\n\"Code sample...\": \"Kod \\u00f6rne\\u011fi...\",\n\"Color Picker\": \"Renk Se\\u00e7ici\",\n\"R\": \"R\",\n\"G\": \"G\",\n\"B\": \"B\",\n\"Left to right\": \"Soldan sa\\u011fa\",\n\"Right to left\": \"Sa\\u011fdan sola\",\n\"Emoticons...\": \"\\u0130fadeler...\",\n\"Metadata and Document Properties\": \"\\u00d6nbilgi ve Belge \\u00d6zellikleri\",\n\"Title\": \"Ba\\u015fl\\u0131k\",\n\"Keywords\": \"Anahtar kelimeler\",\n\"Description\": \"A\\u00e7\\u0131klama\",\n\"Robots\": \"Robotlar\",\n\"Author\": \"Yazar\",\n\"Encoding\": \"Kodlama\",\n\"Fullscreen\": \"Tam ekran\",\n\"Action\": \"Eylem\",\n\"Shortcut\": \"K\\u0131sayol\",\n\"Help\": \"Yard\\u0131m\",\n\"Address\": \"Adres\",\n\"Focus to menubar\": \"Men\\u00fcye odaklan\",\n\"Focus to toolbar\": \"Ara\\u00e7 tak\\u0131m\\u0131na odaklan\",\n\"Focus to element path\": \"\\u00d6\\u011fe yoluna odaklan\",\n\"Focus to contextual toolbar\": \"Ba\\u011flamsal ara\\u00e7 tak\\u0131m\\u0131na odaklan\",\n\"Insert link (if link plugin activated)\": \"Ba\\u011flant\\u0131 ekle (Ba\\u011flant\\u0131 eklentisi aktif ise)\",\n\"Save (if save plugin activated)\": \"Kaydet (Kay\\u0131t eklentisi aktif ise)\",\n\"Find (if searchreplace plugin activated)\": \"Bul (Bul\\/De\\u011fi\\u015ftir eklentisi aktif ise)\",\n\"Plugins installed ({0}):\": \"Eklentiler y\\u00fcklendi ({0}):\",\n\"Premium plugins:\": \"Premium eklentiler:\",\n\"Learn more...\": \"Detayl\\u0131 bilgi...\",\n\"You are using {0}\": \"\\u015eu an {0} kullan\\u0131yorsunuz\",\n\"Plugins\": \"Plugins\",\n\"Handy Shortcuts\": \"Handy Shortcuts\",\n\"Horizontal line\": \"Yatay \\u00e7izgi\",\n\"Insert\\/edit image\": \"Resim ekle\\/d\\u00fczenle\",\n\"Image description\": \"Resim a\\u00e7\\u0131klamas\\u0131\",\n\"Source\": \"Kaynak\",\n\"Dimensions\": \"Boyutlar\",\n\"Constrain proportions\": \"Oranlar\\u0131 koru\",\n\"General\": \"Genel\",\n\"Advanced\": \"Geli\\u015fmi\\u015f\",\n\"Style\": \"Stil\",\n\"Vertical space\": \"Dikey bo\\u015fluk\",\n\"Horizontal space\": \"Yatay bo\\u015fluk\",\n\"Border\": \"Kenarl\\u0131k\",\n\"Insert image\": \"Resim ekle\",\n\"Image...\": \"Resim...\",\n\"Image list\": \"G\\u00f6rsel listesi\",\n\"Rotate counterclockwise\": \"Saatin tersi y\\u00f6n\\u00fcnde d\\u00f6nd\\u00fcr\",\n\"Rotate clockwise\": \"Saat y\\u00f6n\\u00fcnde d\\u00f6nd\\u00fcr\",\n\"Flip vertically\": \"Dikine \\u00e7evir\",\n\"Flip horizontally\": \"Enine \\u00e7evir\",\n\"Edit image\": \"Resmi d\\u00fczenle\",\n\"Image options\": \"Resim ayarlar\\u0131\",\n\"Zoom in\": \"Yak\\u0131nla\\u015ft\\u0131r\",\n\"Zoom out\": \"Uzakla\\u015ft\\u0131r\",\n\"Crop\": \"K\\u0131rp\",\n\"Resize\": \"Yeniden Boyutland\\u0131r\",\n\"Orientation\": \"Oryantasyon\",\n\"Brightness\": \"Parlakl\\u0131k\",\n\"Sharpen\": \"Keskinle\\u015ftir\",\n\"Contrast\": \"Kontrast\",\n\"Color levels\": \"Renk d\\u00fczeyleri\",\n\"Gamma\": \"Gama\",\n\"Invert\": \"Ters \\u00c7evir\",\n\"Apply\": \"Uygula\",\n\"Back\": \"Geri\",\n\"Insert date\\/time\": \"Tarih\\/saat ekle\",\n\"Date\\/time\": \"Tarih\\/saat\",\n\"Insert\\/Edit Link\": \"Ba\\u011flant\\u0131 Ekle\\/D\\u00fczenle\",\n\"Insert\\/edit link\": \"Ba\\u011flant\\u0131 ekle\\/d\\u00fczenle\",\n\"Text to display\": \"Yaz\\u0131y\\u0131 g\\u00f6r\\u00fcnt\\u00fcle\",\n\"Url\": \"Url\",\n\"Open link in...\": \"Ba\\u011flant\\u0131y\\u0131 a\\u00e7...\",\n\"Current window\": \"Mevcut pencere\",\n\"None\": \"Hi\\u00e7biri\",\n\"New window\": \"Yeni pencere\",\n\"Remove link\": \"Ba\\u011flant\\u0131y\\u0131 kald\\u0131r\",\n\"Anchors\": \"\\u00c7apalar\",\n\"Link...\": \"Ba\\u011flant\\u0131...\",\n\"Paste or type a link\": \"Bir ba\\u011flant\\u0131 yaz\\u0131n yada yap\\u0131\\u015ft\\u0131r\\u0131n\",\n\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\": \"Girdi\\u011finiz URL bir e-posta adresi gibi g\\u00f6r\\u00fcn\\u00fcyor. Gerekli olan mailto: \\u00f6nekini eklemek ister misiniz?\",\n\"The URL you entered seems to be an external link. Do you want to add the required http:\\/\\/ prefix?\": \"Girdi\\u011finiz URL bir d\\u0131\\u015f ba\\u011flant\\u0131 gibi g\\u00f6r\\u00fcn\\u00fcyor. Gerekli olan http:\\/\\/ \\u00f6nekini eklemek ister misiniz?\",\n\"Link list\": \"Ba\\u011flant\\u0131 listesi\",\n\"Insert video\": \"Video ekle\",\n\"Insert\\/edit video\": \"Video ekle\\/d\\u00fczenle\",\n\"Insert\\/edit media\": \"Medya ekle\\/d\\u00fczenle\",\n\"Alternative source\": \"Alternatif kaynak\",\n\"Alternative source URL\": \"Alternatif kaynak URL\",\n\"Media poster (Image URL)\": \"Medya posteri (Resim URL)\",\n\"Paste your embed code below:\": \"Video g\\u00f6mme kodunu a\\u015fa\\u011f\\u0131ya yap\\u0131\\u015ft\\u0131r\\u0131n\\u0131z:\",\n\"Embed\": \"G\\u00f6mme\",\n\"Media...\": \"Medya...\",\n\"Nonbreaking space\": \"B\\u00f6l\\u00fcnemez bo\\u015fluk\",\n\"Page break\": \"Sayfa sonu\",\n\"Paste as text\": \"Metin olarak yap\\u0131\\u015ft\\u0131r\",\n\"Preview\": \"\\u00d6nizleme\",\n\"Print...\": \"Yazd\\u0131r...\",\n\"Save\": \"Kaydet\",\n\"Find\": \"Bul\",\n\"Replace with\": \"Bununla de\\u011fi\\u015ftir\",\n\"Replace\": \"De\\u011fi\\u015ftir\",\n\"Replace all\": \"T\\u00fcm\\u00fcn\\u00fc de\\u011fi\\u015ftir\",\n\"Previous\": \"Geri\",\n\"Next\": \"Sonraki\",\n\"Find and replace...\": \"Bul ve de\\u011fi\\u015ftir...\",\n\"Could not find the specified string.\": \"Herhangi bir sonu\\u00e7 bulunamad\\u0131.\",\n\"Match case\": \"B\\u00fcy\\u00fck\\/k\\u00fc\\u00e7\\u00fck harf duyarl\\u0131\",\n\"Find whole words only\": \"Sadece t\\u00fcm kelimeyi ara\",\n\"Spell check\": \"Yaz\\u0131m denetimi\",\n\"Ignore\": \"Yoksay\",\n\"Ignore all\": \"T\\u00fcm\\u00fcn\\u00fc yoksay\",\n\"Finish\": \"Bitir\",\n\"Add to Dictionary\": \"S\\u00f6zl\\u00fc\\u011fe Ekle\",\n\"Insert table\": \"Tablo ekle\",\n\"Table properties\": \"Tablo \\u00f6zellikleri\",\n\"Delete table\": \"Tablo sil\",\n\"Cell\": \"H\\u00fccre\",\n\"Row\": \"Sat\\u0131r\",\n\"Column\": \"S\\u00fctun\",\n\"Cell properties\": \"H\\u00fccre \\u00f6zellikleri\",\n\"Merge cells\": \"H\\u00fccreleri birle\\u015ftir\",\n\"Split cell\": \"H\\u00fccre b\\u00f6l\",\n\"Insert row before\": \"\\u00dcste sat\\u0131r ekle\",\n\"Insert row after\": \"Alta sat\\u0131r ekle \",\n\"Delete row\": \"Sat\\u0131r sil\",\n\"Row properties\": \"Sat\\u0131r \\u00f6zellikleri\",\n\"Cut row\": \"Sat\\u0131r\\u0131 kes\",\n\"Copy row\": \"Sat\\u0131r\\u0131 kopyala\",\n\"Paste row before\": \"\\u00dcste sat\\u0131r yap\\u0131\\u015ft\\u0131r\",\n\"Paste row after\": \"Alta sat\\u0131r yap\\u0131\\u015ft\\u0131r\",\n\"Insert column before\": \"Sola s\\u00fctun ekle\",\n\"Insert column after\": \"Sa\\u011fa s\\u00fctun ekle\",\n\"Delete column\": \"S\\u00fctun sil\",\n\"Cols\": \"S\\u00fctunlar\",\n\"Rows\": \"Sat\\u0131rlar\",\n\"Width\": \"Geni\\u015flik\",\n\"Height\": \"Y\\u00fckseklik\",\n\"Cell spacing\": \"H\\u00fccre aral\\u0131\\u011f\\u0131\",\n\"Cell padding\": \"H\\u00fccre dolgusu\",\n\"Show caption\": \"Ba\\u015fl\\u0131\\u011f\\u0131 g\\u00f6ster\",\n\"Left\": \"Sol\",\n\"Center\": \"Orta\",\n\"Right\": \"Sa\\u011f\",\n\"Cell type\": \"H\\u00fccre tipi\",\n\"Scope\": \"Kapsam\",\n\"Alignment\": \"Hizalama\",\n\"H Align\": \"Yatay Hizalama\",\n\"V Align\": \"Dikey Hizalama\",\n\"Top\": \"\\u00dcst\",\n\"Middle\": \"Orta\",\n\"Bottom\": \"Alt\",\n\"Header cell\": \"Ba\\u015fl\\u0131k h\\u00fccresi\",\n\"Row group\": \"Sat\\u0131r grubu\",\n\"Column group\": \"S\\u00fctun grubu\",\n\"Row type\": \"Sat\\u0131r tipi\",\n\"Header\": \"Ba\\u015fl\\u0131k\",\n\"Body\": \"G\\u00f6vde\",\n\"Footer\": \"Alt\",\n\"Border color\": \"Kenarl\\u0131k rengi\",\n\"Insert template...\": \"\\u015eablon ekle...\",\n\"Templates\": \"\\u015eablonlar\",\n\"Template\": \"Taslak\",\n\"Text color\": \"Yaz\\u0131 rengi\",\n\"Background color\": \"Arka plan rengi\",\n\"Custom...\": \"\\u00d6zel...\",\n\"Custom color\": \"\\u00d6zel renk\",\n\"No color\": \"Renk yok\",\n\"Remove color\": \"Rengi kald\\u0131r\",\n\"Table of Contents\": \"\\u0130\\u00e7erik tablosu\",\n\"Show blocks\": \"Bloklar\\u0131 g\\u00f6ster\",\n\"Show invisible characters\": \"G\\u00f6r\\u00fcnmez karakterleri g\\u00f6ster\",\n\"Word count\": \"Kelime say\\u0131s\\u0131\",\n\"Count\": \"Say\\u0131m\",\n\"Document\": \"Belge\",\n\"Selection\": \"Se\\u00e7im\",\n\"Words\": \"S\\u00f6zc\\u00fck\",\n\"Words: {0}\": \"Kelime: {0}\",\n\"{0} words\": \"{0} words\",\n\"File\": \"Dosya\",\n\"Edit\": \"D\\u00fczenle\",\n\"Insert\": \"Ekle\",\n\"View\": \"G\\u00f6r\\u00fcn\\u00fcm\",\n\"Format\": \"Bi\\u00e7im\",\n\"Table\": \"Tablo\",\n\"Tools\": \"Ara\\u00e7lar\",\n\"Powered by {0}\": \"Powered by {0}\",\n\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\": \"Zengin Metin Alan\\u0131. Men\\u00fc i\\u00e7in ALT-F9 tu\\u015funa bas\\u0131n\\u0131z. Ara\\u00e7 \\u00e7ubu\\u011fu i\\u00e7in ALT-F10 tu\\u015funa bas\\u0131n\\u0131z. Yard\\u0131m i\\u00e7in ALT-0 tu\\u015funa bas\\u0131n\\u0131z.\",\n\"Image title\": \"Resim ba\\u015fl\\u0131\\u011f\\u0131\",\n\"Border width\": \"Kenar geni\\u015fli\\u011fi\",\n\"Border style\": \"Kenar sitili\",\n\"Error\": \"Hata\",\n\"Warn\": \"Uyar\\u0131\",\n\"Valid\": \"Ge\\u00e7erli\",\n\"To open the popup, press Shift+Enter\": \"Popup'\\u0131 a\\u00e7mak i\\u00e7in Shift+Enter'a bas\\u0131n\",\n\"Rich Text Area. Press ALT-0 for help.\": \"Zengin Metin Alan\\u0131. Yard\\u0131m i\\u00e7in Alt-0'a bas\\u0131n.\",\n\"System Font\": \"Sistem Yaz\\u0131 Tipi\",\n\"Failed to upload image: {0}\": \"Resim y\\u00fcklenemedi: {0}\",\n\"Failed to load plugin: {0} from url {1}\": \"Eklenti y\\u00fcklenemedi: {1} url\\u2019sinden {0}\",\n\"Failed to load plugin url: {0}\": \"Url eklentisi y\\u00fcklenemedi: {0}\",\n\"Failed to initialize plugin: {0}\": \"Eklenti ba\\u015flat\\u0131lamad\\u0131: {0}\",\n\"example\": \"\\u00f6rnek\",\n\"Search\": \"Ara\",\n\"All\": \"T\\u00fcm\\u00fc\",\n\"Currency\": \"Para birimi\",\n\"Text\": \"Metin\",\n\"Quotations\": \"Al\\u0131nt\\u0131\",\n\"Mathematical\": \"Matematik\",\n\"Extended Latin\": \"Uzat\\u0131lm\\u0131\\u015f Latin\",\n\"Symbols\": \"Semboller\",\n\"Arrows\": \"Oklar\",\n\"User Defined\": \"Kullan\\u0131c\\u0131 Tan\\u0131ml\\u0131\",\n\"dollar sign\": \"dolar i\\u015fareti\",\n\"currency sign\": \"para birimi i\\u015fareti\",\n\"euro-currency sign\": \"euro para birimi i\\u015fareti\",\n\"colon sign\": \"colon i\\u015fareti\",\n\"cruzeiro sign\": \"cruzeiro i\\u015fareti\",\n\"french franc sign\": \"frans\\u0131z frang\\u0131 i\\u015fareti\",\n\"lira sign\": \"lira i\\u015fareti\",\n\"mill sign\": \"mill i\\u015fareti\",\n\"naira sign\": \"naira i\\u015fareti\",\n\"peseta sign\": \"peseta i\\u015fareti\",\n\"rupee sign\": \"rupi i\\u015fareti\",\n\"won sign\": \"won i\\u015fareti\",\n\"new sheqel sign\": \"yeni \\u015fekel i\\u015fareti\",\n\"dong sign\": \"dong i\\u015fareti\",\n\"kip sign\": \"kip i\\u015fareti\",\n\"tugrik sign\": \"tugrik i\\u015fareti\",\n\"drachma sign\": \"drahma i\\u015fareti\",\n\"german penny symbol\": \"alman kuru\\u015f sembol\\u00fc\",\n\"peso sign\": \"peso i\\u015fareti\",\n\"guarani sign\": \"guarani i\\u015fareti\",\n\"austral sign\": \"austral i\\u015fareti\",\n\"hryvnia sign\": \"hrivniya i\\u015fareti\",\n\"cedi sign\": \"cedi i\\u015fareti\",\n\"livre tournois sign\": \"livre tournois i\\u015fareti\",\n\"spesmilo sign\": \"spesmilo i\\u015fareti\",\n\"tenge sign\": \"tenge i\\u015fareti\",\n\"indian rupee sign\": \"hindistan rupisi i\\u015fareti\",\n\"turkish lira sign\": \"t\\u00fcrk liras\\u0131 i\\u015fareti\",\n\"nordic mark sign\": \"nordic i\\u015fareti\",\n\"manat sign\": \"manat i\\u015fareti\",\n\"ruble sign\": \"ruble i\\u015fareti\",\n\"yen character\": \"yen karakteri\",\n\"yuan character\": \"yuan karakteri\",\n\"yuan character, in hong kong and taiwan\": \"yuan karakteri, hong kong ve tayvan'da kullan\\u0131lan\",\n\"yen\\/yuan character variant one\": \"yen\\/yuan karakter de\\u011fi\\u015fkeni\",\n\"Loading emoticons...\": \"\\u0130fadeler y\\u00fckleniyor...\",\n\"Could not load emoticons\": \"\\u0130fadeler y\\u00fcklenemedi\",\n\"People\": \"\\u0130nsan\",\n\"Animals and Nature\": \"Hayvanlar ve Do\\u011fa\",\n\"Food and Drink\": \"Yiyecek ve \\u0130\\u00e7ecek\",\n\"Activity\": \"Etkinlik\",\n\"Travel and Places\": \"Gezi ve Yerler\",\n\"Objects\": \"Nesneler\",\n\"Flags\": \"Bayraklar\",\n\"Characters\": \"Karakter\",\n\"Characters (no spaces)\": \"Karakter (bo\\u015fluksuz)\",\n\"{0} characters\": \"{0} karakter\",\n\"Error: Form submit field collision.\": \"Hata: Form g\\u00f6nderme alan\\u0131 \\u00e7at\\u0131\\u015fmas\\u0131.\",\n\"Error: No form element found.\": \"Hata: Form eleman\\u0131 bulunamad\\u0131.\",\n\"Update\": \"G\\u00fcncelle\\u015ftir\",\n\"Color swatch\": \"Renk \\u00f6rne\\u011fi\",\n\"Turquoise\": \"Turkuaz\",\n\"Green\": \"Ye\\u015fil\",\n\"Blue\": \"Mavi\",\n\"Purple\": \"Mor\",\n\"Navy Blue\": \"Lacivert\",\n\"Dark Turquoise\": \"Koyu Turkuaz\",\n\"Dark Green\": \"Koyu Ye\\u015fil\",\n\"Medium Blue\": \"Donuk Mavi\",\n\"Medium Purple\": \"Orta Mor\",\n\"Midnight Blue\": \"Gece Yar\\u0131s\\u0131 Mavisi\",\n\"Yellow\": \"Sar\\u0131\",\n\"Orange\": \"Turuncu\",\n\"Red\": \"K\\u0131rm\\u0131z\\u0131\",\n\"Light Gray\": \"A\\u00e7\\u0131k Gri\",\n\"Gray\": \"Gri\",\n\"Dark Yellow\": \"Koyu Sar\\u0131\",\n\"Dark Orange\": \"Koyu Turuncu\",\n\"Dark Red\": \"Koyu K\\u0131rm\\u0131z\\u0131\",\n\"Medium Gray\": \"Orta Gri\",\n\"Dark Gray\": \"Koyu Gri\",\n\"Light Green\": \"A\\u00e7\\u0131k Ye\\u015fil\",\n\"Light Yellow\": \"A\\u00e7\\u0131k Sar\\u0131\",\n\"Light Red\": \"A\\u00e7\\u0131k K\\u0131rm\\u0131z\\u0131\",\n\"Light Purple\": \"A\\u00e7\\u0131k Mor\",\n\"Light Blue\": \"A\\u00e7\\u0131k Mavi\",\n\"Dark Purple\": \"Koyu Mor\",\n\"Dark Blue\": \"Lacivert\",\n\"Black\": \"Siyah\",\n\"White\": \"Beyaz\",\n\"Switch to or from fullscreen mode\": \"Tam ekran moduna ge\\u00e7 veya \\u00e7\\u0131k\",\n\"Open help dialog\": \"Yard\\u0131m penceresini a\\u00e7\",\n\"history\": \"ge\\u00e7mi\\u015f\",\n\"styles\": \"stiller\",\n\"formatting\": \"bi\\u00e7imlendirme\",\n\"alignment\": \"hizalanma\",\n\"indentation\": \"girinti\",\n\"permanent pen\": \"kal\\u0131c\\u0131 kalem\",\n\"comments\": \"yorumlar\",\n\"Format Painter\": \"Bi\\u00e7im Boyac\\u0131s\\u0131\",\n\"Insert\\/edit iframe\": \"\\u0130frame ekle\\/d\\u00fczenle\",\n\"Capitalization\": \"B\\u00fcy\\u00fck Harfle Yaz\\u0131m\",\n\"lowercase\": \"k\\u00fc\\u00e7\\u00fck harf\",\n\"UPPERCASE\": \"B\\u00dcY\\u00dcK HARF\",\n\"Title Case\": \"\\u0130lk Harfler B\\u00fcy\\u00fck\",\n\"Permanent Pen Properties\": \"Kal\\u0131c\\u0131 Kalem \\u00d6zellikleri\",\n\"Permanent pen properties...\": \"Kal\\u0131c\\u0131 kalem \\u00f6zellikleri...\",\n\"Font\": \"Yaz\\u0131 Tipi\",\n\"Size\": \"Boyut\",\n\"More...\": \"Devam\\u0131...\",\n\"Spellcheck Language\": \"Yaz\\u0131m Denetimi Dili\",\n\"Select...\": \"Se\\u00e7...\",\n\"Preferences\": \"Tercihler\",\n\"Yes\": \"Evet\",\n\"No\": \"Hay\\u0131r\",\n\"Keyboard Navigation\": \"Klavye Tu\\u015flar\\u0131\",\n\"Version\": \"S\\u00fcr\\u00fcm\",\n\"Anchor\": \"\\u00c7apa\",\n\"Special character\": \"\\u00d6zel karakter\",\n\"Code sample\": \"Code sample\",\n\"Color\": \"Renk\",\n\"Emoticons\": \"\\u0130fadeler\",\n\"Document properties\": \"Dok\\u00fcman \\u00f6zellikleri\",\n\"Image\": \"Resim\",\n\"Insert link\": \"Ba\\u011flant\\u0131 ekle\",\n\"Target\": \"Hedef\",\n\"Link\": \"Ba\\u011flant\\u0131\",\n\"Poster\": \"Poster\",\n\"Media\": \"Medya\",\n\"Print\": \"Yazd\\u0131r\",\n\"Prev\": \"\\u00d6nceki\",\n\"Find and replace\": \"Bul ve de\\u011fi\\u015ftir\",\n\"Whole words\": \"Tam kelimeler\",\n\"Spellcheck\": \"Yaz\\u0131m denetimi\",\n\"Caption\": \"Ba\\u015fl\\u0131k\",\n\"Insert template\": \"\\u015eablon ekle\"\n});"
  },
  {
    "path": "frontend/src/App.vue",
    "content": "<template>\n  <div id=\"app\">\n    <b-navbar :fixed-top=\"true\" v-if=\"$root.isLoaded\">\n      <template #brand>\n        <div class=\"logo\">\n          <router-link :to=\"{ name: 'dashboard' }\">\n            <img class=\"full\" src=\"@/assets/logo.svg\" alt=\"\" />\n            <img class=\"favicon\" src=\"@/assets/favicon.png\" alt=\"\" />\n          </router-link>\n        </div>\n      </template>\n      <template #end>\n        <navigation v-if=\"isMobile\" :is-mobile=\"isMobile\" :active-item=\"activeItem\" :active-group=\"activeGroup\"\n          @toggleGroup=\"toggleGroup\" @doLogout=\"doLogout\" />\n\n        <b-navbar-item tag=\"a\" href=\"#\" @click.prevent=\"emitPageRefresh\" data-cy=\"btn-refresh\"\n          :aria-label=\"$t('globals.buttons.refresh')\">\n          <b-tooltip :label=\"$t('globals.buttons.refresh')\" type=\"is-dark\" position=\"is-bottom\">\n            <b-icon icon=\"refresh\" /> <span class=\"is-hidden-tablet\">{{ $t('globals.buttons.refresh') }}</span>\n          </b-tooltip>\n        </b-navbar-item>\n\n        <b-navbar-dropdown class=\"user\" tag=\"div\" right>\n          <template v-if=\"profile.username\" #label>\n            <span class=\"user-avatar\">\n              <img v-if=\"profile.avatar\" :src=\"profile.avatar\" alt=\"\" />\n              <span v-else>{{ profile.username[0].toUpperCase() }}</span>\n            </span>\n          </template>\n\n          <b-navbar-item class=\"user-name\" tag=\"router-link\" to=\"/user/profile\">\n            <strong>{{ profile.username }}</strong>\n            <div class=\"is-size-7\">{{ profile.name }}</div>\n          </b-navbar-item>\n\n          <b-navbar-item href=\"#\">\n            <router-link to=\"/user/profile\">\n              <b-icon icon=\"account-outline\" /> {{ $t('users.profile') }}\n            </router-link>\n          </b-navbar-item>\n          <b-navbar-item href=\"#\">\n            <a href=\"#\" @click.prevent=\"doLogout\"><b-icon icon=\"logout-variant\" /> {{ $t('users.logout') }}</a>\n          </b-navbar-item>\n        </b-navbar-dropdown>\n      </template>\n    </b-navbar>\n\n    <div class=\"wrapper\" v-if=\"$root.isLoaded\">\n      <section class=\"sidebar\">\n        <b-sidebar position=\"static\" mobile=\"hide\" :fullheight=\"true\" :open=\"true\" :can-cancel=\"false\">\n          <div>\n            <b-menu :accordion=\"false\">\n              <navigation v-if=\"!isMobile\" :is-mobile=\"isMobile\" :active-item=\"activeItem\" :active-group=\"activeGroup\"\n                @toggleGroup=\"toggleGroup\" />\n            </b-menu>\n          </div>\n        </b-sidebar>\n      </section>\n      <!-- sidebar-->\n\n      <!-- body //-->\n      <div class=\"main\">\n        <div class=\"global-notices\" v-if=\"isGlobalNotices\">\n          <div v-if=\"serverConfig.needs_restart\" class=\"notification is-danger\">\n            {{ $t('settings.needsRestart') }}\n            &mdash;\n            <b-button class=\"is-primary\" size=\"is-small\"\n              @click=\"$utils.confirm($t('settings.confirmRestart'), reloadApp)\">\n              {{ $t('settings.restart') }}\n            </b-button>\n          </div>\n\n          <template v-if=\"serverConfig.update\">\n            <div v-if=\"serverConfig.update.update.is_new\" class=\"notification is-success\">\n              {{ $t('settings.updateAvailable', {\n                version: `${serverConfig.update.update.release_version}\n              (${$utils.getDate(serverConfig.update.update.release_date).format('DD MMM YY')})`,\n              }) }}\n              <a :href=\"serverConfig.update.update.url\" target=\"_blank\" rel=\"noopener noreferer\">View</a>\n            </div>\n\n            <template v-if=\"serverConfig.update.messages && serverConfig.update.messages.length > 0\">\n              <div v-for=\"m in serverConfig.update.messages\" class=\"notification\"\n                :class=\"{ [m.priority === 'high' ? 'is-danger' : 'is-info']: true }\" :key=\"m.title\">\n                <h3 class=\"is-size-5\" v-if=\"m.title\"><strong>{{ m.title }}</strong></h3>\n                <p v-if=\"m.description\">{{ m.description }}</p>\n                <a v-if=\"m.url\" :href=\"m.url\" target=\"_blank\" rel=\"noopener noreferer\">View</a>\n              </div>\n            </template>\n          </template>\n\n          <div v-if=\"serverConfig.has_legacy_user\" class=\"notification is-danger\">\n            <b-icon icon=\"warning-empty\" />\n            Remove the <code>admin_username</code> and <code>admin_password</code> fields from the TOML\n            configuration file or environment variables. If you are using APIs, create and use new API credentials\n            before removing them. Visit\n            <router-link :to=\"{ name: 'users' }\">\n              Admin -> Settings -> Users\n            </router-link> dashboard. <a href=\"https://listmonk.app/docs/upgrade/#upgrading-to-v4xx\" target=\"_blank\"\n              rel=\"noopener noreferer\">Learn more.</a>\n          </div>\n        </div>\n\n        <router-view :key=\"$route.fullPath\" />\n      </div>\n    </div>\n\n    <b-loading v-if=\"!$root.isLoaded\" active />\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport { uris } from './constants';\n\nimport Navigation from './components/Navigation.vue';\n\nexport default Vue.extend({\n  name: 'App',\n\n  components: {\n    Navigation,\n  },\n\n  data() {\n    return {\n      activeItem: {},\n      activeGroup: {},\n      windowWidth: window.innerWidth,\n    };\n  },\n\n  watch: {\n    $route(to) {\n      // Set the current route name to true for active+expanded keys in the\n      // menu to pick up.\n      this.activeItem = { [to.name]: true };\n      if (to.meta.group) {\n        this.activeGroup = { [to.meta.group]: true };\n      } else {\n        // Reset activeGroup to collapse menu items on navigating\n        // to non group items from sidebar\n        this.activeGroup = {};\n      }\n    },\n  },\n\n  methods: {\n    toggleGroup(group, state) {\n      this.activeGroup = state ? { [group]: true } : {};\n    },\n\n    emitPageRefresh() {\n      this.$root.$emit('page.refresh');\n    },\n\n    reloadApp() {\n      this.$api.reloadApp().then(() => {\n        this.$utils.toast('Reloading app ...');\n\n        // Poll until there's a 200 response, waiting for the app\n        // to restart and come back up.\n        const pollId = setInterval(() => {\n          this.$api.getHealth().then(() => {\n            clearInterval(pollId);\n            document.location.reload();\n          });\n        }, 500);\n      });\n    },\n\n    doLogout() {\n      this.$api.logout().then(() => {\n        document.location.href = uris.root;\n      });\n    },\n\n    listenEvents() {\n      const reMatchLog = /(.+?)\\.go:\\d+:(.+?)$/im;\n      const evtSource = new EventSource(uris.errorEvents, { withCredentials: true });\n      let numEv = 0;\n      evtSource.onmessage = (e) => {\n        if (numEv > 50) {\n          return;\n        }\n        numEv += 1;\n\n        const d = JSON.parse(e.data);\n        if (d && d.type === 'error') {\n          const msg = reMatchLog.exec(d.message.trim());\n          this.$utils.toast(msg[2], 'is-danger', null, true);\n        }\n      };\n    },\n  },\n\n  computed: {\n    ...mapState(['serverConfig', 'profile']),\n\n    isGlobalNotices() {\n      return (this.serverConfig.needs_restart\n        || this.serverConfig.has_legacy_user\n        || (this.serverConfig.update\n          && this.serverConfig.update.messages\n          && this.serverConfig.update.messages.length > 0));\n    },\n\n    version() {\n      return import.meta.env.VUE_APP_VERSION;\n    },\n\n    isMobile() {\n      return this.windowWidth <= 768;\n    },\n  },\n\n  mounted() {\n    // Lists is required across different views. On app load, fetch the lists\n    // and have them in the store.\n    this.$api.getLists({ minimal: true, per_page: 'all', status: 'active' });\n\n    window.addEventListener('resize', () => {\n      this.windowWidth = window.innerWidth;\n    });\n\n    this.listenEvents();\n  },\n});\n</script>\n\n<style lang=\"scss\">\n@import \"assets/style.scss\";\n@import \"assets/icons/fontello.css\";\n</style>\n"
  },
  {
    "path": "frontend/src/api/index.js",
    "content": "import { ToastProgrammatic as Toast } from 'buefy';\nimport axios from 'axios';\nimport qs from 'qs';\nimport store from '../store';\nimport { models } from '../constants';\nimport Utils from '../utils';\n\nconst http = axios.create({\n  baseURL: import.meta.env.VUE_APP_ROOT_URL || '/',\n  withCredentials: false,\n  responseType: 'json',\n\n  // Override the default serializer to switch params from becoming []id=a&[]id=b ...\n  // in GET and DELETE requests to id=a&id=b.\n  paramsSerializer: (params) => qs.stringify(params, { arrayFormat: 'repeat' }),\n});\n\nconst utils = new Utils();\n\n// Intercept requests to set the 'loading' state of a model.\nhttp.interceptors.request.use((config) => {\n  if ('loading' in config) {\n    store.commit('setLoading', { model: config.loading, status: true });\n  }\n  return config;\n}, (error) => Promise.reject(error));\n\n// Intercept responses to set them to store.\nhttp.interceptors.response.use((resp) => {\n  // Clear the loading state for a model.\n  if ('loading' in resp.config) {\n    store.commit('setLoading', { model: resp.config.loading, status: false });\n  }\n\n  let data = {};\n  if (typeof resp.data.data === 'object') {\n    if (resp.data.data.constructor === Object) {\n      data = { ...resp.data.data };\n    } else {\n      data = [...resp.data.data];\n    }\n\n    // Transform keys to camelCase.\n    switch (typeof resp.config.camelCase) {\n      case 'function':\n        data = utils.camelKeys(data, resp.config.camelCase);\n        break;\n      case 'boolean':\n        if (resp.config.camelCase) {\n          data = utils.camelKeys(data);\n        }\n        break;\n      default:\n        data = utils.camelKeys(data);\n        break;\n    }\n  } else {\n    data = resp.data.data;\n  }\n\n  // Store the API response for a model.\n  if ('store' in resp.config) {\n    store.commit('setModelResponse', { model: resp.config.store, data });\n  }\n\n  return data;\n}, (err) => {\n  // Clear the loading state for a model.\n  if ('loading' in err.config) {\n    store.commit('setLoading', { model: err.config.loading, status: false });\n  }\n\n  let msg = '';\n  if (err.response && err.response.data && err.response.data.message) {\n    msg = err.response.data.message;\n  } else {\n    msg = err.toString();\n  }\n\n  if (!err.config.disableToast) {\n    Toast.open({\n      message: msg,\n      type: 'is-danger',\n      queue: false,\n      position: 'is-top',\n      pauseOnHover: true,\n    });\n  }\n\n  return Promise.reject(err);\n});\n\n// API calls accept the following config keys.\n// loading: modelName (set's the loading status in the global store: eg: store.loading.lists = true)\n// store: modelName (set's the API response in the global store. eg: store.lists: { ... } )\n\n// Health check endpoint that does not throw a toast.\nexport const getHealth = () => http.get(\n  '/api/health',\n  { disableToast: true },\n);\n\nexport const reloadApp = () => http.post('/api/admin/reload');\n\n// Dashboard\nexport const getDashboardCounts = () => http.get(\n  '/api/dashboard/counts',\n  { loading: models.dashboard },\n);\n\nexport const getDashboardCharts = () => http.get(\n  '/api/dashboard/charts',\n  { loading: models.dashboard },\n);\n\n// Lists.\nexport const getLists = (params) => http.get(\n  '/api/lists',\n  {\n    params: (!params ? { per_page: 'all' } : params),\n    loading: models.lists,\n    store: models.lists,\n  },\n);\n\nexport const queryLists = (params) => http.get(\n  '/api/lists',\n  {\n    params: (!params ? { per_page: 'all' } : params),\n    loading: models.listsFull,\n  },\n);\n\nexport const getList = async (id) => http.get(\n  `/api/lists/${id}`,\n  { loading: models.list },\n);\n\nexport const createList = (data) => http.post(\n  '/api/lists',\n  data,\n  { loading: models.lists },\n);\n\nexport const updateList = (data) => http.put(\n  `/api/lists/${data.id}`,\n  data,\n  { loading: models.lists },\n);\n\nexport const deleteList = (id) => http.delete(\n  `/api/lists/${id}`,\n  { loading: models.lists },\n);\n\nexport const deleteLists = (params) => http.delete(\n  '/api/lists',\n  { params, loading: models.lists },\n);\n\n// Subscribers.\nexport const getSubscribers = async (params) => http.get(\n  '/api/subscribers',\n  {\n    params,\n    loading: models.subscribers,\n    store: models.subscribers,\n    camelCase: (keyPath) => !keyPath.startsWith('.results.*.attribs'),\n  },\n);\n\nexport const getSubscriber = async (id) => http.get(\n  `/api/subscribers/${id}`,\n  { loading: models.subscribers },\n);\n\nexport const getSubscriberActivity = async (id) => http.get(\n  `/api/subscribers/${id}/activity`,\n  { loading: models.subscribers },\n);\n\nexport const getSubscriberBounces = async (id) => http.get(\n  `/api/subscribers/${id}/bounces`,\n  { loading: models.bounces },\n);\n\nexport const deleteSubscriberBounces = async (id) => http.delete(\n  `/api/subscribers/${id}/bounces`,\n  { loading: models.bounces },\n);\n\nexport const deleteBounce = async (id) => http.delete(\n  `/api/bounces/${id}`,\n  { loading: models.bounces },\n);\n\nexport const deleteBounces = async (params) => http.delete(\n  '/api/bounces',\n  { params, loading: models.bounces },\n);\n\nexport const blocklistBouncedSubscribers = async () => http.put(\n  '/api/bounces/blocklist',\n  { loading: models.bounces },\n);\n\nexport const createSubscriber = (data) => http.post(\n  '/api/subscribers',\n  data,\n  { loading: models.subscribers },\n);\n\nexport const updateSubscriber = (data) => http.put(\n  `/api/subscribers/${data.id}`,\n  data,\n  { loading: models.subscribers },\n);\n\nexport const sendSubscriberOptin = (id) => http.post(\n  `/api/subscribers/${id}/optin`,\n  {},\n  { loading: models.subscribers },\n);\n\nexport const deleteSubscriber = (id) => http.delete(\n  `/api/subscribers/${id}`,\n  { loading: models.subscribers },\n);\n\nexport const addSubscribersToLists = (data) => http.put(\n  '/api/subscribers/lists',\n  data,\n  { loading: models.subscribers },\n);\n\nexport const addSubscribersToListsByQuery = (data) => http.put(\n  '/api/subscribers/query/lists',\n  data,\n\n  { loading: models.subscribers },\n);\n\nexport const blocklistSubscribers = (data) => http.put(\n  '/api/subscribers/blocklist',\n  data,\n  { loading: models.subscribers },\n);\n\nexport const blocklistSubscribersByQuery = (data) => http.put(\n  '/api/subscribers/query/blocklist',\n  data,\n  { loading: models.subscribers },\n);\n\nexport const deleteSubscribers = (params) => http.delete(\n  '/api/subscribers',\n  { params, loading: models.subscribers },\n);\n\nexport const deleteSubscribersByQuery = (data) => http.post(\n  '/api/subscribers/query/delete',\n  data,\n  { loading: models.subscribers },\n);\n\n// Subscriber import.\nexport const importSubscribers = (data) => http.post('/api/import/subscribers', data);\n\nexport const getImportStatus = () => http.get('/api/import/subscribers');\n\nexport const getImportLogs = async () => http.get(\n  '/api/import/subscribers/logs',\n  { camelCase: false },\n);\n\nexport const stopImport = () => http.delete('/api/import/subscribers');\n\n// Bounces.\nexport const getBounces = async (params) => http.get(\n  '/api/bounces',\n  { params, loading: models.bounces },\n);\n\n// Campaigns.\nexport const getCampaigns = async (params) => http.get('/api/campaigns', {\n  params,\n  loading: models.campaigns,\n  store: models.campaigns,\n  camelCase: (keyPath) => !keyPath.startsWith('.results.*.headers'),\n});\n\nexport const getCampaign = async (id) => http.get(`/api/campaigns/${id}`, {\n  loading: models.campaigns,\n  camelCase: (keyPath) => !keyPath.startsWith('.headers'),\n});\n\nexport const getCampaignStats = async () => http.get('/api/campaigns/running/stats', {});\n\nexport const createCampaign = async (data) => http.post(\n  '/api/campaigns',\n  data,\n  { loading: models.campaigns },\n);\n\nexport const getCampaignViewCounts = async (params) => http.get(\n  '/api/campaigns/analytics/views',\n  { params, loading: models.campaigns },\n);\n\nexport const getCampaignClickCounts = async (params) => http.get(\n  '/api/campaigns/analytics/clicks',\n  { params, loading: models.campaigns },\n);\n\nexport const getCampaignBounceCounts = async (params) => http.get(\n  '/api/campaigns/analytics/bounces',\n  { params, loading: models.campaigns },\n);\n\nexport const getCampaignLinkCounts = async (params) => http.get(\n  '/api/campaigns/analytics/links',\n  { params, loading: models.campaigns },\n);\n\nexport const convertCampaignContent = async (data) => http.post(\n  `/api/campaigns/${data.id}/content`,\n  data,\n  { loading: models.campaigns },\n);\n\nexport const testCampaign = async (data) => http.post(\n  `/api/campaigns/${data.id}/test`,\n  data,\n  { loading: models.campaigns },\n);\n\nexport const updateCampaign = async (id, data) => http.put(\n  `/api/campaigns/${id}`,\n  data,\n  { loading: models.campaigns },\n);\n\nexport const changeCampaignStatus = async (id, status) => http.put(\n  `/api/campaigns/${id}/status`,\n  { status },\n\n  { loading: models.campaigns },\n);\n\nexport const updateCampaignArchive = async (id, data) => http.put(\n  `/api/campaigns/${id}/archive`,\n  data,\n  { loading: models.campaigns },\n);\n\nexport const deleteCampaign = async (id) => http.delete(\n  `/api/campaigns/${id}`,\n  { loading: models.campaigns },\n);\n\nexport const deleteCampaigns = (params) => http.delete(\n  '/api/campaigns',\n  { params, loading: models.campaigns },\n);\n\n// Media.\nexport const getMedia = async (params) => http.get(\n  '/api/media',\n  { params, loading: models.media, store: models.media },\n);\n\nexport const uploadMedia = (data) => http.post(\n  '/api/media',\n  data,\n  { loading: models.media },\n);\n\nexport const deleteMedia = (id) => http.delete(\n  `/api/media/${id}`,\n  { loading: models.media },\n);\n\n// Templates.\nexport const createTemplate = async (data) => http.post(\n  '/api/templates',\n  data,\n  { loading: models.templates },\n);\n\nexport const getTemplates = async () => http.get(\n  '/api/templates',\n  { loading: models.templates, store: models.templates },\n);\n\nexport const getTemplate = async (id) => http.get(\n  `/api/templates/${id}`,\n  { loading: models.templates },\n);\n\nexport const updateTemplate = async (data) => http.put(\n  `/api/templates/${data.id}`,\n  data,\n  { loading: models.templates },\n);\n\nexport const makeTemplateDefault = async (id) => http.put(\n  `/api/templates/${id}/default`,\n  {},\n  { loading: models.templates },\n);\n\nexport const deleteTemplate = async (id) => http.delete(\n  `/api/templates/${id}`,\n  { loading: models.templates },\n);\n\n// Settings.\nexport const getServerConfig = async () => http.get(\n  '/api/config',\n  { loading: models.serverConfig, store: models.serverConfig, camelCase: false },\n);\n\nexport const getSettings = async () => http.get(\n  '/api/settings',\n  { loading: models.settings, store: models.settings, camelCase: false },\n);\n\nexport const updateSettings = async (data) => http.put(\n  '/api/settings',\n  data,\n  { loading: models.settings },\n);\n\nexport const updateSettingsByKey = async (key, data) => http.put(\n  `/api/settings/${key}`,\n  data,\n  { loading: models.settings },\n);\n\nexport const testSMTP = async (data) => http.post(\n  '/api/settings/smtp/test',\n  data,\n  { loading: models.settings, disableToast: true },\n);\n\nexport const getLogs = async () => http.get(\n  '/api/logs',\n  { loading: models.logs, camelCase: false },\n);\n\nexport const getLang = async (lang) => http.get(\n  `/api/lang/${lang}`,\n  { loading: models.lang, camelCase: false },\n);\n\nexport const logout = async () => http.post('/api/logout');\n\nexport const deleteGCCampaignAnalytics = async (typ, beforeDate) => http.delete(\n  `/api/maintenance/analytics/${typ}`,\n  { loading: models.maintenance, params: { before_date: beforeDate } },\n);\n\nexport const deleteGCSubscribers = async (typ) => http.delete(\n  `/api/maintenance/subscribers/${typ}`,\n  { loading: models.maintenance },\n);\n\nexport const deleteGCSubscriptions = async (beforeDate) => http.delete(\n  '/api/maintenance/subscriptions/unconfirmed',\n  { loading: models.maintenance, params: { before_date: beforeDate } },\n);\n\n// Users.\nexport const getUsers = () => http.get(\n  '/api/users',\n  {\n    loading: models.users,\n    store: models.users,\n  },\n);\n\nexport const queryUsers = () => http.get(\n  '/api/users',\n  {\n    loading: models.users,\n    store: models.users,\n  },\n);\n\nexport const getUser = async (id) => http.get(\n  `/api/users/${id}`,\n  { loading: models.users },\n);\n\nexport const createUser = (data) => http.post(\n  '/api/users',\n  data,\n  { loading: models.users },\n);\n\nexport const updateUser = (data) => http.put(\n  `/api/users/${data.id}`,\n  data,\n  { loading: models.users },\n);\n\nexport const deleteUser = (id) => http.delete(\n  `/api/users/${id}`,\n  { loading: models.users },\n);\n\nexport const getUserProfile = () => http.get(\n  '/api/profile',\n  { loading: models.users, store: models.profile },\n);\n\nexport const updateUserProfile = (data) => http.put(\n  '/api/profile',\n  data,\n  { loading: models.users, store: models.profile },\n);\n\nexport const getUserRoles = async () => http.get(\n  '/api/roles/users',\n  { loading: models.userRoles, store: models.userRoles },\n);\n\nexport const getListRoles = async () => http.get(\n  '/api/roles/lists',\n  { loading: models.listRoles, store: models.listRoles },\n);\n\nexport const createUserRole = (data) => http.post(\n  '/api/roles/users',\n  data,\n  { loading: models.userRoles },\n);\n\nexport const createListRole = (data) => http.post(\n  '/api/roles/lists',\n  data,\n  { loading: models.listRoles },\n);\n\nexport const updateUserRole = (data) => http.put(\n  `/api/roles/users/${data.id}`,\n  data,\n  { loading: models.userRoles },\n);\n\nexport const updateListRole = (data) => http.put(\n  `/api/roles/lists/${data.id}`,\n  data,\n  { loading: models.userRoles },\n);\n\nexport const deleteRole = (id) => http.delete(\n  `/api/roles/${id}`,\n  { loading: models.userRoles },\n);\n\n// TOTP 2FA APIs\nexport const getTOTPQR = (id) => http.get(\n  `/api/users/${id}/twofa/totp`,\n  { camelCase: true },\n);\n\nexport const enableTOTP = (id, data) => http.put(\n  `/api/users/${id}/twofa`,\n  data,\n);\n\nexport const disableTOTP = (id, data) => http.delete(\n  `/api/users/${id}/twofa`,\n  { data },\n);\n"
  },
  {
    "path": "frontend/src/assets/icons/fontello.css",
    "content": "@font-face {\n  font-family: 'fontello';\n  src: url('fontello.woff2') format('woff2');\n  font-weight: normal;\n  font-style: normal;\n}\n \n[class^=\"mdi-\"]:before, [class*=\" mdi-\"]:before {\n  font-family: \"fontello\";\n  font-style: normal;\n  font-weight: normal;\n  speak: never;\n\n  display: inline-block;\n  text-decoration: inherit;\n  width: 1em;\n  margin-right: .2em;\n  text-align: center;\n  /* opacity: .8; */\n\n  /* For safety - reset parent styles, that can break glyph codes*/\n  font-variant: normal;\n  text-transform: none;\n\n  /* fix buttons height, for twitter bootstrap */\n  line-height: 1em;\n\n  /* Animation center compensation - margins should be symmetric */\n  /* remove if not needed */\n  margin-left: .2em;\n\n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n\n  /* Font smoothing. That was taken from TWBS */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n  /* Uncomment for 3D effect */\n  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n\n[class^=\"mdi-\"]:before, [class*=\" mdi-\"]:before {\n  font-family: \"fontello\";\n  font-style: normal;\n  font-weight: normal;\n  speak: never;\n\n  display: inline-block;\n  text-decoration: inherit;\n  width: 1em;\n  margin-right: .2em;\n  text-align: center;\n  /* opacity: .8; */\n\n  /* For safety - reset parent styles, that can break glyph codes*/\n  font-variant: normal;\n  text-transform: none;\n\n  /* fix buttons height, for twitter bootstrap */\n  line-height: 1em;\n\n  /* Animation center compensation - margins should be symmetric */\n  /* remove if not needed */\n  margin-left: .2em;\n\n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n\n  /* Font smoothing. That was taken from TWBS */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n  /* Uncomment for 3D effect */\n  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n\n\n.mdi-view-dashboard-variant-outline:before { content: '\\e800'; } /* '' */\n.mdi-format-list-bulleted-square:before { content: '\\e801'; } /* '' */\n.mdi-newspaper-variant-outline:before { content: '\\e802'; } /* '' */\n.mdi-account-multiple:before { content: '\\e803'; } /* '' */\n.mdi-file-upload-outline:before { content: '\\e804'; } /* '' */\n.mdi-rocket-launch-outline:before { content: '\\e805'; } /* '' */\n.mdi-plus:before { content: '\\e806'; } /* '' */\n.mdi-image-outline:before { content: '\\e807'; } /* '' */\n.mdi-file-image-outline:before { content: '\\e808'; } /* '' */\n.mdi-cog-outline:before { content: '\\e809'; } /* '' */\n.mdi-tag-outline:before { content: '\\e80a'; } /* '' */\n.mdi-calendar-clock:before { content: '\\e80b'; } /* '' */\n.mdi-email-outline:before { content: '\\e80c'; } /* '' */\n.mdi-text:before { content: '\\e80d'; } /* '' */\n.mdi-alarm:before { content: '\\e80e'; } /* '' */\n.mdi-pause-circle-outline:before { content: '\\e80f'; } /* '' */\n.mdi-file-find-outline:before { content: '\\e810'; } /* '' */\n.mdi-clock-start:before { content: '\\e811'; } /* '' */\n.mdi-file-multiple-outline:before { content: '\\e812'; } /* '' */\n.mdi-trash-can-outline:before { content: '\\e813'; } /* '' */\n.mdi-pencil-outline:before { content: '\\e814'; } /* '' */\n.mdi-arrow-top-right:before { content: '\\e815'; } /* '' */\n.mdi-link-variant:before { content: '\\e816'; } /* '' */\n.mdi-cloud-download-outline:before { content: '\\e817'; } /* '' */\n.mdi-account-search-outline:before { content: '\\e818'; } /* '' */\n.mdi-check-circle-outline:before { content: '\\e819'; } /* '' */\n.mdi-account-check-outline:before { content: '\\e81a'; } /* '' */\n.mdi-account-off-outline:before { content: '\\e81b'; } /* '' */\n.mdi-chevron-right:before { content: '\\e81c'; } /* '' */\n.mdi-chevron-left:before { content: '\\e81d'; } /* '' */\n.mdi-content-save-outline:before { content: '\\e81e'; } /* '' */\n.mdi-minus:before { content: '\\e81f'; } /* '' */\n.mdi-arrow-up:before { content: '\\e820'; } /* '' */\n.mdi-arrow-down:before { content: '\\e821'; } /* '' */\n.mdi-cancel:before { content: '\\e822'; } /* '' */\n.mdi-magnify:before { content: '\\e823'; } /* '' */\n.mdi-chart-bar:before { content: '\\e824'; } /* '' */\n.mdi-email-bounce:before { content: '\\e825'; } /* '' */\n.mdi-speedometer:before { content: '\\e826'; } /* '' */\n.mdi-warning-empty:before { content: '\\e827'; } /* '' */\n.mdi-account-outline:before { content: '󰀓'; } /* '\\f0013' */\n.mdi-code:before { content: '󰅩'; } /* '\\f0169' */\n.mdi-refresh:before { content: '󰑐'; } /* '\\f0450' */\n.mdi-logout-variant:before { content: '󰗽'; } /* '\\f05fd' */\n.mdi-wrench-outline:before { content: '󰯠'; } /* '\\f0be0' */\n"
  },
  {
    "path": "frontend/src/assets/style.scss",
    "content": "/* Import Bulma to set variables */\n@import \"../node_modules/bulma/sass/utilities/_all\";\n\n/* import inter-regular */\n@font-face {\n  font-family: 'Inter';\n  font-style: normal;\n  font-weight: 400;\n  src: local(''),\n       url('assets/fonts/Inter-Regular.woff2') format('woff2'),\n}\n\n/* import inter-600 */\n@font-face {\n  font-family: 'Inter';\n  font-style: normal;\n  font-weight: 600;\n  src: local(''),\n       url('assets/fonts/Inter-Bold.woff2') format('woff2'),\n}\n\n$body-family: \"Inter\", \"Helvetica Neue\", sans-serif;\n$body-size: 15px;\n$background: $white-bis;\n$body-background-color: $white-bis;\n$primary: #0055d4;\n$green: #36995b;\n$turquoise: $green;\n$red: #FF5722;\n\n$link: $primary;\n$input-placeholder-color: $grey-light;\n$grey-lightest: #eaeaea;\n\n$colors: map-merge($colors, (\n    \"turquoise\": ($green, $green-invert),\n    \"green\": ($green, $green-invert),\n    \"success\": ($green, $green-invert),\n    \"danger\": ($red, $green-invert),\n));\n\n$sidebar-box-shadow: none;\n$sidebar-width: 240px;\n$menu-item-active-background-color: $white-bis;\n$menu-item-active-color: $primary;\n\n\n/* Buefy */\n$modal-background-background-color: rgba(0, 0, 0, .30);\n\n.line-chart {\n  min-height: 300px;\n}\n\n/* Import full Bulma and Buefy */\n@import \"bulma\";\n@import \"buefy/src/scss/buefy\";\n\n/* Custom style overrides */\nhtml, body {\n  height: 100%;\n}\n\ncode {\n  color: $grey;\n}\n\npre {\n  background: none;\n  border: 1px solid $grey-lightest;\n}\n\nul.no {\n  list-style-type: none;\n  padding: 0;\n  margin: 0;\n}\n\n.relative {\n  position: relative;\n}\n\n.content pre {\n  white-space: pre-wrap;\n}\n\nsection {\n  &.wrap {\n    max-width: 1100px;\n  }\n\n  &.section-mini {\n    max-width: 500px;\n  }\n}\n\n.spinner.is-tiny {\n  display: inline-block;\n  height: 10px;\n  width: 10px;\n  position: relative;\n\n  .loading-overlay {\n    .loading-background {\n      background: none;\n    }\n    .loading-icon::after {\n      width: 10px;\n      height: 10px;\n      top: 0;\n      left: 0;\n      position: static;\n    }\n  }\n}\n\n.is-disabled {\n  opacity: 0.30;\n}\n\n.b-checkbox.checkbox:hover input[type=\"checkbox\"]:not(:disabled) + .check.is-primary:hover {\n  border-color: $primary;\n}\n.b-checkbox.checkbox input[type=\"checkbox\"]:checked + .check.is-primary {\n  border-color: $primary;\n  background-color: $primary;\n}\n\n.has-text-primary {\n  color: $primary !important;\n}\n\n.box {\n  background: $white;\n  box-shadow: 2px 2px 0 #f3f3f3;\n  border: 1px solid #e6e6e6;\n}\n  .box hr {\n    background-color: #efefef;\n  }\n\n.navbar-item.user {\n  .navbar-link:not(.is-arrowless)::after {\n    margin-top: -0.6rem;\n  }\n\n  .user-name {\n    display: block;\n    min-width: 150px;\n  }\n}\n\n.navbar-dropdown {\n  font-size: 1rem;\n}\n\n.user-avatar {\n  img {\n    display: inline-block;\n    border-radius: 100%;\n    width: 32px;\n    height: 32px;\n    max-height: none;\n  }\n  span {\n    background-color: #ddd;\n    border-radius: 100%;\n    width: 32px;\n    height: 32px;\n    text-align: center;\n    display: inline-block;\n    font-size: 0.875rem;\n    font-weight: bold;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n  }\n}\n\n.copy-text {\n  color: inherit;\n  .icon {\n    visibility: hidden;\n  }\n\n  &:hover {\n    color: $primary;\n    .icon {\n      visibility: visible;\n    }\n  }\n}\n\n.spaced-links a {\n  margin-right: 15px;\n  display: inline-block;\n}\n\n/* Two column sidebar+body layout */\n#app {\n  min-height: 100%;\n  .wrapper {\n    display: flex;\n    flex-direction: row;\n    min-height: 100vh;\n    margin-top: 0px;\n  }\n\n  .sidebar {\n    flex-shrink: 1;\n    box-shadow: 0 0 3px $grey-lighter;\n    background: $white;\n  }\n\n  .main {\n    background: $white;\n    margin-left: 15px;\n    padding: 30px;\n    flex-grow: 1;\n    position: relative;\n  }\n}\n\n.navbar {\n  box-shadow: 0 0 3px $grey-lighter;\n}\n.navbar-brand {\n  padding: 0 0 0 25px;\n  .favicon {\n    display: none;\n  }\n  .full {\n    max-height: 17px;\n    margin-top: 15px;\n  }\n  .favicon {\n    margin-top: 12px;\n    max-height: 24px;\n  }\n}\n\n.b-sidebar {\n  position: sticky;\n  top: 75px;\n\n  .sidebar-content {\n    background: transparent;\n  }\n  .menu-list {\n    .router-link-exact-active {\n      border-right: 5px solid $primary;\n      outline: 0 none;\n    }\n    li ul {\n      margin-right: 0;\n    }\n    > li {\n      margin-bottom: 10px;\n      a {\n        padding-left: 25px;\n      }\n    }\n    a {\n      border-radius: 0;\n    }\n    .icon {\n      margin-right: 8px;\n    }\n  }\n}\n\n/* Fix for sidebar jumping on modals */\nbody.is-noscroll {\n  position: static;\n  overflow-y: visible;\n  width: auto;\n}\n\n/* Global notices */\n.global-notices {\n  margin-bottom: 30px;\n}\n.notification {\n  padding: 10px 15px;\n  border-left: 10px solid #eee;\n\n  &.is-danger {\n    background: $white-ter;\n    color: $black;\n    border-left-color: $red;\n  }\n  &.is-success {\n    background: $white-ter;\n    color: $black;\n    border-left-color: $green;\n  }\n  &.is-info {\n    background: $white-ter;\n    border-left-color: $primary;\n    color: $grey-dark;\n  }\n}\n\n/* WYSIWYG / HTML code editor */\n.plain-editor textarea, .code-editor {\n  position: relative;\n  width: 100%;\n  min-height: 250px;\n  height: 65vh;\n  border: 1px solid $grey-lighter;\n  border-radius: 2px;\n\n  .cm-editor {\n    height: 100%;\n  }\n}\n\n.code-editor {\n  .cm-lineNumbers .cm-gutterElement{\n    color: #aaa;\n    font-size: 0.875rem;\n    padding-right: 10px;\n  }\n  .cm-gutters {\n    margin-right: 10px;\n  }\n}\n\n.alt-body textarea {\n  height: 30vh;\n}\n\n.editor {\n  margin-bottom: 30px;\n\n  .copy-visual-template-list {\n    select {\n      min-width: 200px;\n    }\n  }\n}\n\n.richtext-editor {\n  .tox-tinymce {\n    height: 100%;\n    box-shadow: 2px 2px 0 #f3f3f3;\n    border: 1px solid #e6e6e6;\n    border-radius: 3px;\n\n    .tox-toolbar__primary {\n      border-color: #e6e6e6 !important;\n    }\n  }\n  .tox-statusbar__branding {\n    display: none;\n  }\n  .tox .tox-statusbar {\n    border: 0;\n  }\n\n  .tox-tinymce--toolbar-sticky-on .tox-editor-header {\n    padding-top: 48px !important;\n  }\n}\n\n.tox.tox-silver-sink {\n  z-index: 850;\n\n  .tox-dialog-wrap {\n    z-index: 900;\n  }\n  .tox-dialog {\n    @extend .box;\n  }\n\n  .tox-track-link {\n    display: block;\n    cursor: pointer;\n\n    margin: 5px 0 10px 0;\n    input {\n      margin-right: 5px;\n    }\n  }\n\n  .tox-button {\n    border-radius: 4px;\n  }\n  .tox-button:not(.tox-button--secondary):not(.tox-button--naked) {\n    background: $primary;\n  }\n\n  .tox-textfield {\n    box-shadow: 2px 2px 0 $white-ter;\n    border: 1px solid $grey-lighter;\n  }\n}\n\n.tox, .tox-tinymce, .tox-tinymce-aux, .tox .tox-button, .tox .tox-button-link, .tox .tox-dialog__title,\n  .tox .tox-textfield,\n  .tox .tox-toolbar-textfield,\n  .tox .tox-listboxfield .tox-listbox--select,\n  .tox .tox-textarea,\n  .tox .tox-selectfield select {\n    /* All TinyMCE components */\n    font-family: $body-family !important;\n  }\n\n/* Table colors and padding */\n.main table {\n  thead th {\n    background: $white-bis;\n    border-bottom: 1px solid $grey-lighter;\n  }\n  thead th, tbody td {\n    padding: 15px 10px;\n    border-color: $grey-lightest;\n  }\n\n  .actions a, .actions .a {\n    margin: 0 10px;\n    display: inline-block;\n  }\n  .actions a[data-disabled],\n  .actions .icon[data-disabled] {\n    pointer-events: none;\n    cursor: not-allowed;\n    color: $grey-light;\n  }\n\n  td {\n    .fields {\n      font-size: $size-7;\n\n      p {\n        line-height: 0.775rem;\n        display: flex;\n        flex-direction: row;\n        flex-wrap: wrap;\n      }\n\n      label {\n        font-weight: bold;\n        text-align: left;\n        padding-bottom: 6px;\n        min-width: 100px;\n      }\n      span {\n        display: inline-block;\n      }\n      [class*=\" mdi-\"]::before {\n        margin-left: 0;\n      }\n    }\n\n  }\n}\n\n/* Modal */\n.modal {\n  z-index: 950;\n\n  &.has-overflow {\n    overflow: auto !important;\n    .modal-content {\n      overflow: visible !important;\n    }\n    .modal-card {\n      overflow: visible !important;\n    }\n    .modal-card-body {\n      overflow: visible !important;\n    }\n  }\n}\n.modal-background {\n  background: rgba(241, 241, 241, 0.7);\n}\n.modal-content, .modal.dialog .modal-card {\n  background: $white;\n  box-shadow: 0 0 10px #ddd;\n  border: 1px solid #ddd;\n  padding: 0;\n  border-radius: 5px;\n}\n.modal-card-head {\n  display: block;\n  border-bottom: 0;\n}\n.modal-card-body {\n  padding: 30px 20px;\n}\n.modal .modal-card-foot {\n  background: none;\n  justify-content: flex-end;\n  border-top: 0;\n}\n.modal .modal-card-foot button {\n  flex-grow: 1;\n  &.is-primary {\n    font-weight: bold;\n  }\n}\n.modal .modal-close.is-large {\n  display: none;\n}\n\n\n/* Table */\n.b-table .level-left {\n  min-width: 60%;\n  display: block;\n\n  .actions .a {\n    display: inline-block;\n    margin-right: 30px;\n  }\n}\n\n\n/* Fix for input colours */\n.button {\n  &.is-primary {\n    background: $primary;\n\n    &:hover, &:active {\n      background: darken($primary, 15%);\n    }\n    &:disabled {\n      background: $grey-light;\n    }\n    &:focus:not(:active), &.is-focused:not(:active) {\n      box-shadow: 0 0 0 0.2em rgba($primary, 0.25);\n    }\n\n    .has-kbd {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.5rem;\n    }\n\n    .kbd {\n      font-size: 0.575rem;\n      font-family: monospace;\n      color: #cbdefa;\n      border: 1px solid #5381c5;\n      border-radius: 3px;\n      padding: 1px 5px;\n      display: inline-block;\n      border-width: 1px 2px 2px 1px;\n    }\n  }\n\n  &.is-light.is-outlined {\n    background: lighten($primary, 55%);\n\n    &.is-focused {\n      background: lighten($primary, 55%);\n    }\n\n    &.is-selected {\n      border-color: $primary;\n      color: $primary;\n      font-weight: bold;\n    }\n  }\n\n  &:not(.is-small) {\n    height: auto;\n    padding: 10px 20px;\n  }\n}\n\n.button.is-primary[disabled] {\n  border-color: $grey-light;\n}\n.has-addons {\n  .controls .button.is-primary {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n\n  .input:hover {\n    box-shadow: none;\n  }\n}\n\n.autocomplete {\n  .dropdown-content {\n    background-color: $white-bis;\n    border: 1px solid $primary;\n  }\n  a.dropdown-item {\n    font-size: $size-6;\n    &:hover, &.is-hovered {\n      background-color: $grey-lightest;\n      color: $primary;\n    }\n  }\n  .dropdown-menu {\n    top: 92%;\n  }\n  .dropdown-menu.is-opened-top {\n    top: auto;\n    bottom: 92%;\n  }\n}\n\n.input, .taginput .taginput-container.is-focusable, .textarea {\n  box-shadow: 2px 2px 0 $white-ter;\n  border: 1px solid $grey-lighter;\n}\n\n.select:not(.is-multiple) {\n  height: auto;\n}\n\n.input, .select select {\n  height: auto;\n  padding: 10px 12px;\n}\n  .control.has-icons-left .icon.is-left {\n    height: 3rem;\n  }\n\n.taginput .taginput-container .autocomplete {\n  input {\n    padding: 16px 32px 17px 32px;\n  }\n\n  .control.has-icons-left .icon.is-left {\n    height: 2rem;\n  }\n}\n\n/* Form fields */\n.field {\n  &:not(:last-child) {\n    margin-bottom: 2rem;\n  }\n\n  .control {\n    position: relative;\n\n    .help.counter {\n      position: absolute;\n      top: -20px;\n      right: 0;\n    }\n  }\n\n  label {\n    color: $grey-dark;\n  }\n\n  &.is-floating-label label.label {\n    background-color: $white;\n    font-size: 0.875rem;\n  }\n\n  .help {\n    color: $grey;\n  }\n}\n.has-numberinput .field, .field.is-grouped {\n  margin-bottom: 0;\n}\n.b-numberinput.field.is-grouped div.control {\n  flex-grow: 0;\n}\n\n/* Tabs */\n.b-tabs {\n  .tab-content {\n    padding: 30px 20px;\n\n    border: 1px solid #ddd;\n    border-width: 0 1px 1px 1px;\n    border-radius: 5px;\n\n    box-shadow: 2px 2px 0 #f3f3f3;\n  }\n\n  ul[role=tablist] {\n    margin-left: 0;\n  }\n}\n\n/* Tags */\n.tag {\n  border-radius: 30px !important;\n  border: 0;\n  padding: 0 20px !important;\n\n  &.is-small {\n    font-size: 0.65rem;\n    background: $white-ter;\n    // border: 1px solid $white-ter;\n    padding: 3px 5px;\n    min-width: auto !important;\n  }\n\n  &:not(body) {\n    background-color: #eee;\n    font-size: 0.85em;\n    color: $grey;\n  }\n\n  &.private, &.scheduled, &.paused, &.tx, &.api {\n    $color: #ed7b00;\n    color: $color;\n    background: lighten($color, 47);\n  }\n  &.public, &.running, &.list, &.campaign, &.user, &.primary {\n    $color: $primary;\n    color: lighten($color, 20%);\n    background: #e6f7ff;\n  }\n  &.finished, &.enabled, &.status-confirmed {\n    color: $green;\n    background: #dcfce7;\n  }\n  &.blocklisted, &.cancelled, &.status-unsubscribed, &.campaign_visual {\n    $color: $red;\n    color: $color;\n    background: #fff1f0;\n  }\n\n  sup {\n    font-weight: $weight-semibold;\n    letter-spacing: 0.03em;\n  }\n  &.unsubscribed sup {\n    color: #fa8c16;\n  }\n  &.confirmed sup {\n    color: #52c41a;\n  }\n\n  &:not(body) .icon:first-child:last-child {\n    margin-right: 1px;\n  }\n}\n\n\n/* Page header */\n.page-header {\n  .buttons {\n    justify-content: flex-end;\n  }\n}\n\n.page-404 h1 {\n  font-size: 100px;\n}\n\n/* Dashboard */\nsection.dashboard {\n  .title {\n    margin-bottom: 0.5rem;\n  }\n\n  .tile.notification {\n    @extend .box;\n    padding: 10px;\n  }\n\n  .counts .column {\n    padding: 30px;\n  }\n\n  .level-item {\n    background-color: $white-bis;\n    padding: 30px;\n    margin: 10px;\n\n    &:first-child, &:last-child {\n      margin: 0;\n    }\n  }\n\n  label {\n    font-weight: bold;\n    display: inline-block;\n    min-width: 50px;\n    text-align: right;\n  }\n\n  .charts {\n    min-height: 200px;\n  }\n\n  .notification {\n    border-width: 0;\n  }\n}\n\n/* Lists page */\nsection.lists {\n  td {\n    .tag {\n      min-width: 65px;\n    }\n  }\n\n  .view {\n    display: block;\n    color: $grey-light;\n\n    &:hover {\n      color: $primary;\n    }\n  }\n}\n\n/* List selector */\n.list-tags {\n  margin-bottom: 1rem;\n}\n\n/* Subscribers page */\n.subscribers {\n  .subscribers-controls .buttons {\n    margin-top: 15px;\n  }\n\n  .toggle-advanced {\n    margin-top: 10px;\n  }\n\n  .blocklisted {\n    color: red;\n  }\n\n  td.link-click-url {\n    max-width: 200px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.b-table.subscriptions {\n  overflow-y: scroll;\n  max-height: 250px;\n\n  thead th, tbody td {\n    padding: 10px;\n  }\n\n  td.status .tag {\n    width: 100%;\n  }\n}\n\n.bounces {\n  tr.detail td {\n    max-width: 0;\n  }\n  pre {\n    padding: 5px 10px;\n    overflow-x: auto;\n    max-width: 100%;\n  }\n  .blocklisted {\n    color: red;\n  }\n}\n\n/* Import page */\nsection.import {\n  .delimiter input {\n    max-width: 100px;\n  }\n  .status {\n    padding: 60px;\n  }\n  .log-view .lines {\n    max-height: 240px;\n    text-align: left;\n  }\n}\n\n/* Campaigns page */\nsection.campaigns {\n  table tbody {\n    .spinner {\n      margin-left: 10px;\n      .loading-overlay .loading-icon::after {\n        border-bottom-color: lighten(#1890ff, 30%);\n        border-left-color: lighten(#1890ff, 30%);\n      }\n    }\n\n    tr.running {\n      background: lighten(#1890ff, 43%);\n      td {\n        border-bottom: 1px solid lighten(#1890ff, 30%);\n      }\n    }\n\n    td {\n      .tags {\n        margin-top: 5px;\n      }\n\n      &.lists ul {\n        // font-size: $size-7;\n        list-style-type: circle;\n      }\n\n      &.draft {\n        color: $grey-lighter;\n      }\n\n      .progress-wrapper {\n        .progress.is-small {\n          height: 0.4em;\n        }\n        display: inline-block;\n      }\n    }\n  }\n}\n\nsection.analytics {\n  .charts {\n    position: relative;\n    min-height: 100px;\n  }\n\n  .chart {\n    margin-bottom: 100px;\n    max-width: 100%;\n  }\n\n  .donut-container {\n    position: relative;\n  }\n}\n\n.chart canvas {\n  height: 400px;\n  max-width: 100%;\n}\n\n/* Campaign / template preview popup */\n.preview {\n  padding: 0;\n\n  /* Contain the spinner background in the content area. */\n  position: relative;\n\n  #iframe {\n    border: 0;\n    width: 100%;\n    max-height: 100%;\n    min-height: 70vh;\n    padding: 0;\n    margin: 0 0 -5px 0;\n  }\n}\n\n/* Media gallery */\n.media-files {\n  img {\n    border-radius: 3px;\n    max-width: 170px;\n    max-height: 170px;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    transition: transform 0.2s ease;\n\n    .item:hover & {\n      transform: scale(1.05);\n    }\n  }\n\n  .grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n    gap: 1.5rem;\n    padding: 1rem 0;\n  }\n\n  .item {\n    background: $white;\n    box-shadow: 2px 2px 0 #f3f3f3;\n    border: 1px solid #e6e6e6;\n\n    border-radius: 8px;\n    overflow: hidden;\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\n\n    &:hover {\n      transform: translateY(-2px);\n      box-shadow: 2px 2px 5px #eee;\n\n      .actions {\n        opacity: 1;\n      }\n    }\n  }\n\n  .thumb {\n    position: relative;\n    aspect-ratio: 1;\n    overflow: hidden;\n  }\n\n  .thumb-link {\n    display: block;\n    width: 100%;\n    height: 100%;\n  }\n\n  .thumb-container {\n    width: 100%;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #f8f9fa;\n  }\n\n  .thumb-placeholder {\n    width: 100%;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: $grey-dark;\n    color: white;\n  }\n\n  .file-ext {\n    text-transform: uppercase;\n  }\n\n  .actions {\n    background: rgba(255, 255, 255, 0.9);\n    border-radius: 50%;\n    width: 28px;\n    height: 28px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    position: absolute;\n    top: 8px;\n    right: 8px;\n    opacity: 0;\n    transition: opacity 0.2s ease;\n\n    .item:hover & {\n      opacity: 1;\n    }\n  }\n\n  .info {\n    padding: 10px;\n\n    .filename {\n      margin-bottom: 5px;\n      font-size: 0.9rem;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    .date {\n      font-size: 0.75rem;\n      color: $grey-light;\n      margin-bottom: 0;\n    }\n  }\n}\n\n/* Template form */\n.templates {\n  td .tag {\n    min-width: 100px;\n  }\n}\n.template-modal {\n  .template-modal-content {\n    height: 95vh;\n    max-height: none;\n  }\n  .textarea {\n    max-height: none;\n    height: 55vh;\n  }\n}\n\n/* Settings */\n.settings {\n  .disabled {\n    opacity: 0.30;\n  }\n  .box {\n    margin-bottom: 30px;\n  }\n  .code-editor {\n    height: 20vh;\n    min-height: 350px;\n  }\n}\n\n/* Logs */\n.log-view {\n  .lines {\n    height: 70vh;\n    overflow-y: scroll;\n    font-family: monospace;\n    font-size: 0.90rem;\n\n    padding: 15px;\n    border: 1px solid $grey-lightest;\n\n    .line {\n      display: block;\n      margin-bottom: 2px;\n    }\n\n    .timestamp, .file {\n      color: $primary;\n      display: inline-block;\n      min-width: 175px;\n      margin-right: 5px;\n      user-select: auto;\n    }\n    .timestamp {\n      margin-right: 15px;\n    }\n\n    .line:hover {\n      background: $white-bis;\n    }\n  }\n}\n\n/* Users */\nsection.users {\n  td .tag {\n    margin: 0 3px;\n  }\n}\n.user-api-token .copy-text {\n  background: rgba($green, .1);\n  display: block;\n  width: 100%;\n  border-radius: 3px;\n  padding: 15px;\n  font-size: 1.2rem;\n  color: $green;\n}\n\n.permissions-group {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n\n  label {\n    flex: 1 1 45%;\n    max-width: 45%;\n    display: flex;\n  }\n}\n\nth.role-toggle-select a {\n  font-weight: normal;\n}\n\n/* C3 charting lib */\n.c3 {\n  .c3-text.c3-empty {\n    font-family: $body-family;\n    font-size: $size-6;\n  }\n  .c3-chart-lines .c3-line {\n    stroke-width: 2px;\n  }\n  .c3-axis-x .tick line,\n  .c3-axis-y .tick line {\n    display: none;\n  }\n  text {\n    fill: $grey;\n    font-family: $body-family;\n    font-size: 11px;\n  }\n  .c3-axis path, .c3-axis line {\n    stroke: #eee;\n  }\n\n  .c3-tooltip {\n    @extend .box;\n    padding: 10px;\n    empty-cells: show;\n    opacity: 0.95;\n\n    tr {\n      border: 0;\n    }\n    th {\n      background: $white;\n    }\n  }\n}\n\n/* Vue animations */\n.slide-enter-active, .slide-leave-active {\n  transition: opacity 50ms;\n  max-height: none;\n}\n.slide-enter, .slide-leave-to {\n  transition: opacity 50ms;\n  opacity: 0;\n  max-height: none;\n}\n.slide-leave-active, .slide-leave-to {\n  transition: none;\n  display: none;\n}\n\n\n/* Toasts */\n.notices {\n  .toast {\n    @extend .box;\n    border-left: 15px solid $grey;\n    border-radius: 3px;\n    padding: 20px;\n\n    &.is-danger {\n      background: $white;\n      border-left-color: $red;\n      color: $grey-dark;\n    }\n    &.is-success {\n      background: $white;\n      border-left-color: $green;\n      color: $grey-dark;\n    }\n  }\n}\n\n@media screen and (max-width: 1500px) {\n  .b-table {\n    .top.level {\n      display: block;\n    }\n  }\n  .b-table .level-left {\n    display: block;\n    width: 100%;\n    min-width: 0;\n  }\n}\n\n@media screen and (max-width: 1100px) {\n  html, body {\n    overflow-x: auto;\n  }\n\n  #app .main {\n    margin-left: 5px;\n    padding: 30px 20px 30px 20px;\n  }\n\n  .navbar-brand {\n    .full {\n      display: none;\n    }\n    .favicon {\n      display: block;\n    }\n    padding-left: 10px;\n  }\n\n  .b-sidebar {\n    top: 30px;\n  }\n\n  /* Hide sidebar menu captions on mobile */\n  .b-sidebar .sidebar-content.is-mini-mobile {\n    max-width: 90px;\n    .menu-list {\n      li {\n        margin-bottom: 30px;\n\n        span:nth-child(2) {\n          display: none;\n        }\n        .icon.is-small {\n          scale: 1.4;\n        }\n      }\n      > li {\n        a {\n          padding-left: 15px;\n        }\n      }\n    }\n  }\n\n  td .tags {\n    .tag:not(:last-child) {\n      margin-right: 0;\n    }\n  }\n\n  section.dashboard label {\n    min-width: auto;\n  }\n\n  /* Tabs */\n  nav.tabs.is-boxed ul {\n    display: block;\n    text-align: left;\n    flex-grow: 1;\n\n    li {\n      a {\n        justify-content: left;\n        border: 1px solid $grey-lighter !important;\n      }\n\n      &.is-active a {\n        border-bottom: 1px solid $grey-lighter !important;\n        padding-left: 30px;\n      }\n    }\n  }\n\n  /* Table top-left controls */\n  .b-table .level-left {\n    .actions .a {\n      display: block;\n      margin: 0 0 5px 0;\n    }\n  }\n}\n\n@media screen and (max-width: 1024px) {\n  .navbar-item.user {\n    border-top: 1px solid #ddd;\n    margin-top: 15px;\n  }\n  .navbar-item.user .navbar-link {\n    padding: 15px;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  .page-header .buttons {\n    display: block;\n  }\n\n  .b-tabs .tab-content {\n    padding: 15px 0 0 0;\n  }\n}\n\n/* On big sizes, keep the header buttons small and non-expanded. */\n@media screen and (min-width: 769px) {\n  .page-header .button {\n    display: inline-block;\n    width: auto;\n  }\n}\n"
  },
  {
    "path": "frontend/src/components/BarChart.vue",
    "content": "<template>\n  <section class=\"bar-chart\">\n    <canvas class=\"bar-chart-canvas\" />\n  </section>\n</template>\n\n<script>\nimport Chart from 'chart.js/auto';\n\nconst DEFAULT = {\n  type: 'bar',\n  data: {},\n  options: {\n    responsive: true,\n    indexAxis: 'y',\n    plugins: {\n      legend: {\n        display: false,\n      },\n      tooltip: {\n        backgroundColor: '#fff',\n        borderColor: '#ddd',\n        borderWidth: 1,\n        titleColor: '#666',\n        bodyColor: '#666',\n        bodyFont: {\n          size: 15,\n        },\n        bodySpacing: 10,\n        padding: 10,\n      },\n    },\n  },\n};\n\nexport default {\n  name: 'BarChart',\n\n  props: {\n    data: { type: Object, default: () => { } },\n  },\n\n  mounted() {\n    const ctx = this.$el.querySelector('.bar-chart-canvas');\n    this.chart = new Chart(ctx, { ...DEFAULT, data: this.$props.data });\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/CampaignPreview.vue",
    "content": "<template>\n  <div>\n    <b-modal scroll=\"keep\" @close=\"close\" :aria-modal=\"true\" :active=\"isVisible\">\n      <div>\n        <div class=\"modal-card\" style=\"width: auto\">\n          <header class=\"modal-card-head\">\n            <h4>{{ title }}</h4>\n          </header>\n        </div>\n        <section expanded class=\"modal-card-body preview\">\n          <b-loading :active=\"isLoading\" :is-full-page=\"false\" />\n          <form v-if=\"isPost\" method=\"post\" :action=\"previewURL\" target=\"iframe\" ref=\"form\">\n            <input v-if=\"templateId\" type=\"hidden\" name=\"template_id\" :value=\"templateId\" />\n            <input v-if=\"contentType\" type=\"hidden\" name=\"content_type\" :value=\"contentType\" />\n            <input v-if=\"templateType\" type=\"hidden\" name=\"template_type\" :value=\"templateType\" />\n            <input v-if=\"archiveMeta\" type=\"hidden\" name=\"archive_meta\" :value=\"archiveMeta\" />\n            <input v-if=\"body\" type=\"hidden\" name=\"body\" :value=\"body\" />\n          </form>\n\n          <iframe id=\"iframe\" name=\"iframe\" ref=\"iframe\" :title=\"title\" :src=\"isPost ? 'about:blank' : previewURL\"\n            @load=\"onLoaded\" sandbox=\"allow-scripts\" />\n        </section>\n        <footer class=\"modal-card-foot has-text-right\">\n          <b-button @click=\"close\">\n            {{ $t('globals.buttons.close') }}\n          </b-button>\n        </footer>\n      </div>\n    </b-modal>\n  </div>\n</template>\n\n<script>\nimport { uris } from '../constants';\n\nexport default {\n  name: 'CampaignPreview',\n\n  props: {\n    isPost: { type: Boolean, default: false },\n\n    // Template or campaign ID.\n    id: { type: Number, default: 0 },\n    title: { type: String, default: '' },\n\n    // campaign | template.\n    type: { type: String, default: '' },\n\n    // campaign | tx.\n    templateType: { type: String, default: '' },\n\n    archiveMeta: { type: String, default: null },\n\n    body: { type: String, default: '' },\n    contentType: { type: String, default: '' },\n    templateId: { type: [Number, null], default: null },\n    isArchive: { type: Boolean, default: false },\n  },\n\n  data() {\n    return {\n      isVisible: true,\n      isLoading: true,\n      formSubmitted: false,\n    };\n  },\n\n  methods: {\n    close() {\n      this.$emit('close');\n      this.isVisible = false;\n    },\n\n    // On iframe load, kill the spinner.\n    onLoaded() {\n      if (!this.isPost) {\n        this.isLoading = false;\n        return;\n      }\n\n      if (this.formSubmitted) {\n        this.isLoading = false;\n      }\n    },\n  },\n\n  computed: {\n    previewURL() {\n      let uri = 'about:blank';\n\n      if (this.type === 'campaign') {\n        uri = this.isArchive ? uris.previewCampaignArchive : uris.previewCampaign;\n      } else if (this.type === 'template') {\n        if (this.id) {\n          uri = uris.previewTemplate;\n        } else {\n          uri = uris.previewRawTemplate;\n        }\n      }\n\n      return uri.replace(':id', this.id);\n    },\n  },\n\n  mounted() {\n    if (this.isPost) {\n      setTimeout(() => {\n        this.$refs.form.submit();\n        this.formSubmitted = true;\n      }, 100);\n    }\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/Chart.vue",
    "content": "<template>\n  <section class=\"chart\">\n    <canvas class=\"chart-canvas\" />\n  </section>\n</template>\n\n<script>\nimport Chart from 'chart.js/auto';\n\nconst DEFAULT_DONUT = {\n  type: 'doughnut',\n  data: {},\n  options: {\n    responsive: true,\n    cutout: '70%',\n    maintainAspectRatio: false,\n    plugins: {\n      legend: {\n        display: false,\n      },\n      tooltip: {\n        backgroundColor: '#fff',\n        borderColor: '#ddd',\n        borderWidth: 1,\n        titleColor: '#666',\n        bodyColor: '#666',\n        bodyFont: {\n          size: 15,\n        },\n        bodySpacing: 10,\n        padding: 10,\n        callbacks: {\n          label: (item) => {\n            const data = item.chart.data.datasets[item.datasetIndex];\n            const total = data.data.reduce((acc, val) => acc + val, 0);\n            const val = data.data[item.dataIndex];\n            const percentage = ((val / total) * 100).toFixed(2);\n            return `${val} (${percentage}%)`;\n          },\n        },\n      },\n    },\n  },\n};\n\nconst DEFAULT_LINE = {\n  type: 'line',\n  data: {},\n  options: {\n    responsive: true,\n    lineTension: 0.5,\n    maintainAspectRatio: false,\n    interaction: {\n      intersect: false,\n      axis: 'index',\n    },\n    plugins: {\n      legend: {\n        display: false,\n      },\n      tooltip: {\n        backgroundColor: '#fff',\n        borderColor: '#ddd',\n        borderWidth: 1,\n        bodyColor: '#666',\n        displayColors: true,\n        bodyFont: {\n          size: 15,\n        },\n        bodySpacing: 10,\n        padding: 10,\n      },\n    },\n    scales: {\n      x: {\n        grid: {\n          display: false,\n        },\n      },\n      y: {\n        grid: {\n          display: false,\n        },\n        ticks: {\n          precision: 0,\n        },\n      },\n    },\n  },\n};\n\nconst DEFAULT_BAR = {\n  type: 'bar',\n  data: {},\n  options: {\n    responsive: true,\n    indexAxis: 'y',\n    barThickness: 40,\n    maintainAspectRatio: false,\n    plugins: {\n      legend: {\n        display: false,\n      },\n      tooltip: {\n        backgroundColor: '#fff',\n        borderColor: '#ddd',\n        borderWidth: 1,\n        titleColor: '#666',\n        bodyColor: '#666',\n        bodyFont: {\n          size: 15,\n        },\n        bodySpacing: 10,\n        padding: 10,\n      },\n    },\n    scales: {\n      x: {\n        grid: {\n          display: false,\n        },\n      },\n      y: {\n        grid: {\n          display: false,\n        },\n      },\n    },\n  },\n};\n\nexport default {\n  name: 'Chart',\n\n  props: {\n    data: { type: Object, default: () => { } },\n    type: { type: String, default: 'line' },\n    onClick: { type: Function, default: () => { } },\n  },\n\n  mounted() {\n    const ctx = this.$el.querySelector('.chart-canvas');\n\n    let def = {};\n    switch (this.$props.type) {\n      case 'donut':\n        def = DEFAULT_DONUT;\n        break;\n      case 'bar':\n        def = DEFAULT_BAR;\n        break;\n      default:\n        def = DEFAULT_LINE;\n        break;\n    }\n\n    const conf = { ...def, data: this.$props.data };\n    if (this.$props.onClick) {\n      conf.options.onClick = this.$props.onClick;\n    }\n    this.chart = new Chart(ctx, conf);\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/CodeEditor.vue",
    "content": "<template>\n  <div ref=\"editor\" class=\"code-editor\" />\n</template>\n\n<script>\nimport { EditorState } from '@codemirror/state';\nimport {\n  EditorView, keymap, highlightActiveLine, lineNumbers, highlightActiveLineGutter,\n} from '@codemirror/view';\nimport { markdown } from '@codemirror/lang-markdown';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { css } from '@codemirror/lang-css';\nimport { html } from '@codemirror/lang-html';\nimport {\n  defaultKeymap, history, historyKeymap, indentWithTab,\n} from '@codemirror/commands';\nimport { defaultHighlightStyle, syntaxHighlighting, bracketMatching } from '@codemirror/language';\nimport { search, searchKeymap, highlightSelectionMatches } from '@codemirror/search';\nimport { vsCodeLight } from './editor-theme';\n\nexport default {\n  props: {\n    value: { type: String, default: '' },\n    lang: { type: String, default: 'html' },\n    disabled: Boolean,\n  },\n\n  data() {\n    return {\n      data: '',\n      editor: null,\n      internalUpdate: false,\n    };\n  },\n\n  methods: {\n  },\n\n  mounted() {\n    const onUpdate = EditorView.updateListener.of((update) => {\n      if (update.docChanged) {\n        this.internalUpdate = true;\n        this.$emit('input', update.state.doc.toString());\n      }\n    });\n\n    // Set the chosen language.\n    let langs = [];\n    switch (this.lang) {\n      case 'html':\n        langs = [html()];\n        break;\n      case 'css':\n        langs = [css()];\n        break;\n      case 'javascript':\n        langs = [javascript()];\n        break;\n      case 'markdown':\n        langs = [markdown()];\n        break;\n      default:\n        langs = [html()];\n    }\n\n    // Prepare the full config.\n    const stateCfg = EditorState.create({\n      // Initial value.\n      doc: this.value,\n\n      extensions: [\n        EditorView.baseTheme({}),\n        ...langs,\n        history(),\n        highlightActiveLine(),\n        bracketMatching(),\n        highlightSelectionMatches(),\n        lineNumbers(),\n        highlightActiveLineGutter(),\n        keymap.of([...defaultKeymap, ...historyKeymap, ...searchKeymap, indentWithTab]),\n\n        // Readonly?\n        EditorState.readOnly.of(this.disabled),\n        EditorView.editable.of(!this.disabled),\n\n        // Syntax highlighting and theme.\n        syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n        EditorView.lineWrapping,\n\n        vsCodeLight,\n\n        search({\n          top: true, // Places the search panel at the top of the editor\n        }),\n\n        // On content change.\n        onUpdate,\n      ],\n    });\n\n    // Create the editor.\n    this.editor = new EditorView({\n      state: stateCfg,\n      parent: this.$refs.editor,\n    });\n\n    this.$nextTick(() => {\n      window.setTimeout(() => {\n        this.editor.focus();\n      }, 100);\n    });\n  },\n\n  beforeDestroy() {\n    if (this.editor) {\n      this.editor.destroy();\n    }\n  },\n\n  watch: {\n    value(val) {\n      if (!this.internalUpdate) {\n        this.editor.dispatch({\n          changes: { from: 0, to: this.editor.state.doc.length, insert: val },\n        });\n        this.internalUpdate = false;\n      }\n    },\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/CopyText.vue",
    "content": "<template>\n  <a href=\"#\" class=\"copy-text\" ref=\"text\" @click.prevent=\"onClick\">\n    <template v-if=\"!hideText\">{{ $props.text }}</template>\n    <b-icon icon=\"file-multiple-outline\" size=\"is-small\" />\n  </a>\n</template>\n\n<script>\nexport default {\n  name: 'CopyText',\n\n  props: {\n    text: { type: String, default: '' },\n    hideText: { type: Boolean, default: false },\n  },\n\n  methods: {\n    onClick(e) {\n      e.preventDefault();\n      e.stopPropagation();\n\n      const input = document.createElement('input');\n      input.setAttribute('type', 'text');\n      input.style.opacity = '0';\n      input.value = this.$props.text;\n      document.body.appendChild(input);\n      input.select();\n      document.execCommand('copy');\n      document.body.removeChild(input);\n\n      this.$utils.toast(this.$t('globals.messages.copied'));\n    },\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/Editor.vue",
    "content": "<template>\n  <!-- Two-way Data-Binding -->\n  <section class=\"editor\">\n    <div class=\"columns\">\n      <div class=\"column is-three-quarters is-inline-flex\">\n        <b-field :label=\"$t('campaigns.format')\" label-position=\"on-border\" class=\"mr-4 mb-0\">\n          <b-select v-model=\"contentTypeSel\" :disabled=\"disabled\" name=\"content_type\">\n            <option v-for=\"(name, f) in contentTypes\" :key=\"f\" name=\"format\" :value=\"f\" :data-cy=\"`check-${f}`\">\n              {{ name }}\n            </option>\n          </b-select>\n        </b-field>\n\n        <b-field v-if=\"self.contentType !== 'visual'\" :label=\"$tc('globals.terms.template')\" label-position=\"on-border\">\n          <b-select :placeholder=\"$t('globals.terms.none')\" v-model=\"templateId\" name=\"template\" :disabled=\"disabled\">\n            <template v-for=\"t in validTemplates\">\n              <option :value=\"t.id\" :key=\"t.id\">\n                {{ t.name }}\n              </option>\n            </template>\n          </b-select>\n        </b-field>\n\n        <div v-else>\n          <b-button v-if=\"!isVisualTplSelector\" @click=\"onShowVisualTplSelector\" type=\"is-ghost\"\n            icon-left=\"file-find-outline\" data-cy=\"btn-select-visual-tpl\">\n            {{ $t('campaigns.importVisualTemplate') }}\n          </b-button>\n          <b-field v-else :label=\"$tc('globals.terms.template')\" label-position=\"on-border\">\n            <b-select :placeholder=\"$t('globals.terms.none')\" v-model=\"visualTemplateId\"\n              @input=\"() => isVisualTplDisabled = false\" name=\"template\" :disabled=\"disabled\"\n              class=\"copy-visual-template-list\">\n              <template v-for=\"t in validTemplates\">\n                <option :value=\"t.id\" :key=\"t.id\">\n                  {{ t.name }}\n                </option>\n              </template>\n            </b-select>\n\n            <b-button :disabled=\"disabled || isVisualTplDisabled || !visualTemplateId\" class=\"ml-3\"\n              @click=\"onImportVisualTpl\" type=\"is-primary\" icon-left=\"content-save-outline\"\n              data-cy=\"btn-save-visual-tpl\">\n              {{ $t('globals.terms.import') }}\n\n              <span class=\"spinner is-tiny\" v-if=\"loading.templates\">\n                <b-loading :is-full-page=\"false\" active />\n              </span>\n            </b-button>\n          </b-field>\n        </div>\n      </div>\n      <div class=\"column is- has-text-right\">\n        <b-button @click=\"onTogglePreview\" type=\"is-primary\" icon-left=\"file-find-outline\" data-cy=\"btn-preview\"\n          aria-keyshortcuts=\"F9\">\n          <span class=\"has-kbd\">{{ $t('campaigns.preview') }} <span class=\"kbd\">F9</span></span>\n        </b-button>\n      </div>\n    </div>\n\n    <!-- wsywig //-->\n    <richtext-editor v-if=\"self.contentType === 'richtext'\" :disabled=\"disabled\" v-model=\"self.body\" />\n\n    <!-- visual editor //-->\n    <visual-editor v-if=\"self.contentType === 'visual'\" :source=\"self.bodySource\" @change=\"onVisualEditorChange\"\n      height=\"65vh\" ref=\"visualEditor\" />\n\n    <!-- raw html editor //-->\n    <code-editor lang=\"html\" v-if=\"self.contentType === 'html'\" v-model=\"self.body\" key=\"editor-html\" />\n\n    <!-- markdown editor //-->\n    <code-editor lang=\"markdown\" v-if=\"self.contentType === 'markdown'\" v-model=\"self.body\" key=\"editor-markdown\" />\n\n    <!-- plain text //-->\n    <b-input v-if=\"self.contentType === 'plain'\" v-model=\"self.body\" type=\"textarea\" name=\"content\" ref=\"plainEditor\"\n      class=\"plain-editor\" />\n\n    <!-- campaign preview //-->\n    <campaign-preview v-if=\"isPreviewing\" is-post @close=\"onTogglePreview\" type=\"campaign\" :id=\"id\" :title=\"title\"\n      :content-type=\"self.contentType\" :template-id=\"templateId\" :body=\"self.body\" />\n  </section>\n</template>\n\n<script>\nimport { html as beautifyHTML } from 'js-beautify';\nimport TurndownService from 'turndown';\nimport { mapState } from 'vuex';\n\nimport CampaignPreview from './CampaignPreview.vue';\nimport VisualEditor from './VisualEditor.vue';\nimport RichtextEditor from './RichtextEditor.vue';\nimport markdownToVisualBlock from './editor';\nimport CodeEditor from './CodeEditor.vue';\n\nconst turndown = new TurndownService();\n\nexport default {\n  components: {\n    CampaignPreview,\n    'code-editor': CodeEditor,\n    'visual-editor': VisualEditor,\n    'richtext-editor': RichtextEditor,\n  },\n\n  props: {\n    contentTypes: { type: Object, default: () => ({}) },\n    id: { type: Number, default: 0 },\n    title: { type: String, default: '' },\n    disabled: { type: Boolean, default: false },\n    templates: { type: Array, default: null },\n\n    // value is provided by the parent component.\n    // Throught the editor, `this.self` (a mutable clone of `value`) is used,\n    // instead of `this.value` directly.\n    value: {\n      type: Object,\n      default: () => ({\n        body: '',\n        bodySource: null,\n        contentType: '',\n        templateId: null,\n      }),\n    },\n  },\n\n  data() {\n    return {\n      isPreviewing: false,\n      isVisualTplSelector: false,\n      isVisualTplDisabled: false,\n      contentTypeSel: this.$props.value.contentType,\n      templateId: null,\n      visualTemplateId: null,\n    };\n  },\n\n  methods: {\n    onContentTypeChange(to, from) {\n      if (!this.self.body.trim()) {\n        this.convertContentType(to, from);\n        return;\n      }\n\n      // Ask for confirmation as pretty much all conversions are lossy.\n      this.$utils.confirm(\n        this.$t('campaigns.confirmSwitchFormat'),\n        () => {\n          this.convertContentType(to, from);\n        },\n        () => {\n          // Cancelled. Reset the <select> to the last value.\n          this.contentTypeSel = from;\n        },\n      );\n    },\n\n    convertContentType(to, from) {\n      let body = this.self.body ?? '';\n      let bodySource = null;\n\n      // Skip UI update (markdown => richtext, html requires a backenbd call).\n      let skip = false;\n\n      // If `from` is HTML content, strip out `<body>..` etc. and keep the beautified HTML.\n      let isHTML = false;\n      if (from === 'richtext' || from === 'html' || from === 'visual') {\n        const d = document.createElement('div');\n        d.innerHTML = body;\n        body = this.beautifyHTML(d.innerHTML.trim());\n        isHTML = true;\n      }\n\n      // HTML => Non-HTML.\n      if (isHTML) {\n        switch (to) {\n          case 'plain': {\n            const d = document.createElement('div');\n            d.innerHTML = body;\n            body = this.trimLines(d.innerText.trim(), true);\n            break;\n          }\n\n          case 'markdown': {\n            body = turndown.turndown(body).replace(/\\n\\n+/ig, '\\n\\n');\n            break;\n          }\n\n          case 'visual': {\n            const md = turndown.turndown(body).replace(/\\n\\n+/ig, '\\n\\n');\n            bodySource = JSON.stringify(markdownToVisualBlock(md));\n            break;\n          }\n\n          default:\n            // Switching between HTML formats, no need to do anything further\n            // as body is already beautified.\n            // richtext|html => visual, the contents are simply lost.\n            break;\n        }\n\n        // Markdown to HTML requires a backend call.\n      } else if (from === 'markdown' && (to === 'richtext' || to === 'html')) {\n        skip = true;\n        this.$api.convertCampaignContent({\n          id: 1, body, from, to,\n        }).then((data) => {\n          this.$nextTick(() => {\n            // Both type + body should be updated in one cycle to avoid firing\n            // multiple events.\n            this.self.contentType = to;\n            this.self.body = this.beautifyHTML(data.trim());\n          });\n        });\n\n        // Plain to an HTML type, change plain line breaks to HTML breaks.\n      } else if (from === 'plain' && (to === 'richtext' || to === 'html')) {\n        body = body.replace(/\\n/ig, '<br>\\n');\n      } else if (to === 'visual') {\n        bodySource = JSON.stringify(markdownToVisualBlock(body));\n      }\n\n      // =======================================================================\n      // Reset the campaign template ID if its converted to or from visual template.\n      if (to === 'visual' || from === 'visual') {\n        this.templateId = null;\n        this.self.templateId = null;\n      }\n\n      // =======================================================================\n      // Apply the conversion on the editor UI.\n      if (!skip) {\n        this.$nextTick(() => {\n          // Both type + body should be updated in one cycle to avoid firing\n          // multiple events.\n          this.self.contentType = to;\n          this.self.body = body;\n          this.self.bodySource = bodySource;\n        });\n      }\n    },\n\n    onTogglePreview() {\n      this.isPreviewing = !this.isPreviewing;\n    },\n\n    onKeyboardShortcut(e) {\n      // On F9, toggle the preview.\n      if (e.key === 'F9') {\n        this.onTogglePreview();\n        e.preventDefault();\n      }\n\n      // On Ctrl+S, trigger save.\n      if (e.ctrlKey && e.key === 's') {\n        this.$events.$emit('campaign.update');\n        e.preventDefault();\n      }\n    },\n\n    onVisualEditorChange({ body, source }) {\n      this.self.body = body;\n      this.self.bodySource = source;\n    },\n\n    beautifyHTML(str) {\n      // Pad all tags with linebreaks.\n      let s = this.trimLines(str.replace(/(<(?!(\\/)?a|span)([^>]+)>)/ig, '\\n$1\\n'), true);\n      // Remove extra linebreaks.\n      s = s.replace(/\\n+/g, '\\n');\n\n      return beautifyHTML(s, {\n        indent_size: 4,\n        indent_char: ' ',\n        max_preserve_newlines: 2,\n        inline: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'b', 'strong', 'span', 'em', 'i', 'code', 'a'],\n      }).trim();\n    },\n\n    trimLines(str, removeEmptyLines) {\n      const out = str.split('\\n');\n      for (let i = 0; i < out.length; i += 1) {\n        const line = out[i].trim();\n        if (removeEmptyLines) {\n          out[i] = line;\n        } else if (line === '') {\n          out[i] = '';\n        }\n      }\n\n      return out.join('\\n').replace(/\\n\\s*\\n\\s*\\n/g, '\\n\\n');\n    },\n\n    onShowVisualTplSelector() {\n      this.isVisualTplSelector = true;\n      this.setDefaultTemplate();\n    },\n\n    onImportVisualTpl() {\n      if (!this.visualTemplateId) {\n        return;\n      }\n\n      this.$utils.confirm(\n        this.$t('campaigns.confirmOverwriteContent'),\n        () => {\n          // Fetch the template body from the server.\n          this.$api.getTemplate(this.visualTemplateId).then((data) => {\n            this.self.body = data.body;\n            this.self.bodySource = data.bodySource;\n            this.isVisualTplDisabled = true;\n\n            this.$refs.visualEditor.render(JSON.parse(data.bodySource));\n          });\n        },\n      );\n    },\n\n    setDefaultTemplate() {\n      if (this.self.contentType === 'visual') {\n        this.visualTemplateId = this.validTemplates[0]?.id || null;\n      } else {\n        if (this.templateId) {\n          return;\n        }\n\n        const defaultTemplate = this.validTemplates.find((t) => t.isDefault === true);\n        this.templateId = defaultTemplate?.id || this.validTemplates[0]?.id || null;\n      }\n    },\n  },\n\n  mounted() {\n    // Set initial content type for the selector.\n    this.contentTypeSel = this.value.contentType;\n    this.templateId = this.value.templateId;\n\n    window.addEventListener('keydown', this.onKeyboardShortcut);\n\n    this.$events.$on('campaign.preview', () => {\n      this.isPreviewing = true;\n    });\n  },\n\n  beforeDestroy() {\n    window.removeEventListener('keydown', this.onKeyboardShortcut);\n    this.$events.$off('campaign.preview');\n  },\n\n  computed: {\n    ...mapState(['serverConfig', 'loading']),\n\n    // This is a clone of the incoming `value` prop that's mutated here.\n    self: {\n      get() {\n        return this.value;\n      },\n\n      // Any change to the local copy, emit it to the parent.\n      set(val) {\n        this.$emit('input', val);\n      },\n    },\n\n    // Returns the list of valid (visual vs. normal) templates for the template dropdown.\n    validTemplates() {\n      const typ = this.self.contentType === 'visual' ? 'campaign_visual' : 'campaign';\n      return this.templates.filter((t) => (t.type === typ));\n    },\n  },\n\n  watch: {\n    validTemplates() {\n      // When the filtered list of validTemplates changes (visual vs. regular),\n      // select the appropriate 'default' in the template select list.\n      this.setDefaultTemplate();\n    },\n\n    contentTypeSel(to, from) {\n      // Show the conversion prompt if the value in the dropdown isn't the same\n      // as the current selection. This happens when eg: contentTypeSel = html -> visual happens\n      // in the selector, the prompt is shown, and Cancel is clicked,\n      // at which point, contentTypeSel = html again, which triggers this event.\n      if (from !== to && to !== this.self.contentType) {\n        this.onContentTypeChange(to, from);\n      }\n    },\n\n    templateId(to) {\n      if (this.self.templateId === to) {\n        return;\n      }\n\n      this.self.templateId = to;\n    },\n  },\n};\n\n</script>\n"
  },
  {
    "path": "frontend/src/components/EmptyPlaceholder.vue",
    "content": "<template>\n  <section class=\"section\">\n    <div class=\"content has-text-grey has-text-centered\">\n      <p>\n        <b-icon :icon=\"!icon ? 'plus' : icon\" size=\"is-large\" />\n      </p>\n      <p>{{ !label ? $t('globals.messages.emptyState') : label }}</p>\n    </div>\n  </section>\n</template>\n\n<script>\nexport default {\n  name: 'EmptyPlaceholder',\n\n  props: {\n    icon: { type: String, default: '' },\n    label: { type: String, default: '' },\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/ListSelector.vue",
    "content": "<template>\n  <div class=\"field list-selector\">\n    <div :class=\"['list-tags', ...classes]\">\n      <b-taglist>\n        <b-tag v-for=\"l in selectedItems\" :key=\"l.id\" :class=\"l.subscriptionStatus\" :closable=\"!$props.disabled\"\n          :data-id=\"l.id\" @close=\"removeList(l.id)\" class=\"list\">\n          {{ l.name }}\n          <sup v-if=\"l.optin === 'double' && l.subscriptionStatus\">\n            {{ $t(`subscribers.status.${l.subscriptionStatus}`) }}\n          </sup>\n        </b-tag>\n      </b-taglist>\n    </div>\n\n    <b-field :message=\"message\" :label=\"label + (selectedItems ? ` (${selectedItems.length})` : '')\"\n      label-position=\"on-border\">\n      <b-autocomplete v-model=\"query\" :placeholder=\"placeholder\" clearable dropdown-position=\"top\"\n        :disabled=\"all.length === 0 || $props.disabled\" :keep-first=\"true\" :clear-on-select=\"true\" :open-on-focus=\"true\"\n        :data=\"filteredLists\" @select=\"selectList\" field=\"name\" />\n    </b-field>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nexport default {\n  name: 'ListSelector',\n\n  props: {\n    label: { type: String, default: '' },\n    placeholder: { type: String, default: '' },\n    message: { type: String, default: '' },\n    required: Boolean,\n    disabled: Boolean,\n    classes: {\n      type: Array,\n      default: () => [],\n    },\n    selected: {\n      type: Array,\n      default: () => [],\n    },\n    all: {\n      type: Array,\n      default: () => [],\n    },\n  },\n\n  data() {\n    return {\n      query: '',\n      selectedItems: [],\n    };\n  },\n\n  methods: {\n    selectList(l) {\n      if (!l) {\n        return;\n      }\n      this.selectedItems.push(l);\n      this.query = '';\n\n      // Propagate the items to the parent's v-model binding.\n      Vue.nextTick(() => {\n        this.$emit('input', this.selectedItems);\n      });\n    },\n\n    removeList(id) {\n      this.selectedItems = this.selectedItems.filter((l) => l.id !== id);\n\n      // Propagate the items to the parent's v-model binding.\n      Vue.nextTick(() => {\n        this.$emit('input', this.selectedItems);\n      });\n    },\n  },\n\n  computed: {\n    // Return the list of unselected lists.\n    filteredLists() {\n      // Get a map of IDs of the user subscriptions. eg: {1: true, 2: true};\n      const subIDs = this.selectedItems.reduce((obj, item) => ({ ...obj, [item.id]: true }), {});\n\n      // Filter lists from the global lists whose IDs are not in the user's\n      // subscribed ist.\n      const q = this.query.toLowerCase();\n      return this.$props.all.filter(\n        (l) => (!(l.id in subIDs) && l.name.toLowerCase().indexOf(q) >= 0),\n      );\n    },\n  },\n\n  watch: {\n    // This is required to update the array of lists to propagate from parent\n    // components and \"react\" on the selector.\n    selected() {\n      // Deep-copy.\n      this.selectedItems = JSON.parse(JSON.stringify(this.selected));\n    },\n  },\n\n  mounted() {\n    if (this.selected) {\n      this.selectedItems = JSON.parse(JSON.stringify(this.selected));\n    }\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/LogView.vue",
    "content": "<template>\n  <section class=\"log-view\">\n    <b-loading :active=\"loading\" :is-full-page=\"false\" />\n    <div class=\"lines\" ref=\"lines\">\n      <template v-for=\"(l, i) in lines\">\n        <template v-if=\"l\">\n          <span :set=\"line = splitLine(l)\" :key=\"i\" class=\"line\">\n            <span class=\"timestamp\">{{ line.timestamp }}&nbsp;</span>\n            <span v-if=\"line.file !== '*'\" class=\"file\">{{ line.file }}:&nbsp;</span>\n            <span class=\"log-message\">{{ line.message }}</span>\n          </span>\n        </template>\n      </template>\n    </div>\n  </section>\n</template>\n\n<script>\n// Regexp for splitting log lines in the following format to\n// [timestamp] [file] [message].\n// 2021/05/01 00:00:00:00 init.go:99: reading config: config.toml\nconst reFormatLine = /^([0-9\\s:/]+\\.[0-9]{6}) (.+?\\.go:[0-9]+|\\*):\\s(.+)$/;\n\nexport default {\n  name: 'LogView',\n\n  props: {\n    loading: Boolean,\n    lines: {\n      type: Array,\n      default: () => [],\n    },\n  },\n\n  methods: {\n    splitLine: (l) => {\n      const parts = l.split(reFormatLine);\n      if (parts.length !== 5) {\n        return {\n          timestamp: '',\n          file: '',\n          message: l,\n        };\n      }\n\n      return {\n        timestamp: parts[1],\n        file: parts[2],\n        message: parts[3],\n      };\n    },\n\n    formatLine: (l) => l.replace(reFormatLine, '<span class=\"stamp\">$1</span> '),\n  },\n\n  watch: {\n    lines() {\n      this.$nextTick(() => {\n        this.$refs.lines.scrollTop = this.$refs.lines.scrollHeight;\n      });\n    },\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/Navigation.vue",
    "content": "<template>\n  <b-menu-list>\n    <b-menu-item :to=\"{ name: 'dashboard' }\" tag=\"router-link\" :active=\"activeItem.dashboard\"\n      icon=\"view-dashboard-variant-outline\" :label=\"$t('menu.dashboard')\" /><!-- dashboard -->\n\n    <b-menu-item :expanded=\"activeGroup.lists\" :active=\"activeGroup.lists\" data-cy=\"lists\"\n      @update:active=\"(state) => toggleGroup('lists', state)\" icon=\"format-list-bulleted-square\"\n      :label=\"$t('globals.terms.lists')\">\n      <b-menu-item :to=\"{ name: 'lists' }\" tag=\"router-link\" :active=\"activeItem.lists\" data-cy=\"all-lists\"\n        icon=\"format-list-bulleted-square\" :label=\"$t('menu.allLists')\" />\n      <b-menu-item :to=\"{ name: 'forms' }\" tag=\"router-link\" :active=\"activeItem.forms\" class=\"forms\"\n        icon=\"newspaper-variant-outline\" :label=\"$t('menu.forms')\" />\n    </b-menu-item><!-- lists -->\n\n    <b-menu-item v-if=\"$can('subscribers:*')\" :expanded=\"activeGroup.subscribers\" :active=\"activeGroup.subscribers\"\n      data-cy=\"subscribers\" @update:active=\"(state) => toggleGroup('subscribers', state)\" icon=\"account-multiple\"\n      :label=\"$t('globals.terms.subscribers')\">\n      <b-menu-item v-if=\"$can('subscribers:get_all', 'subscribers:get')\" :to=\"{ name: 'subscribers' }\" tag=\"router-link\"\n        :active=\"activeItem.subscribers\" data-cy=\"all-subscribers\" icon=\"account-multiple\"\n        :label=\"$t('menu.allSubscribers')\" />\n      <b-menu-item v-if=\"$can('subscribers:import')\" :to=\"{ name: 'import' }\" tag=\"router-link\"\n        :active=\"activeItem.import\" data-cy=\"import\" icon=\"file-upload-outline\" :label=\"$t('menu.import')\" />\n      <b-menu-item v-if=\"$can('bounces:get')\" :to=\"{ name: 'bounces' }\" tag=\"router-link\" :active=\"activeItem.bounces\"\n        data-cy=\"bounces\" icon=\"email-bounce\" :label=\"$t('globals.terms.bounces')\" />\n    </b-menu-item><!-- subscribers -->\n\n    <b-menu-item v-if=\"$can('campaigns:*')\" :expanded=\"activeGroup.campaigns\" :active=\"activeGroup.campaigns\"\n      data-cy=\"campaigns\" @update:active=\"(state) => toggleGroup('campaigns', state)\" icon=\"rocket-launch-outline\"\n      :label=\"$t('globals.terms.campaigns')\">\n      <b-menu-item v-if=\"$can('campaigns:get')\" :to=\"{ name: 'campaigns' }\" tag=\"router-link\"\n        :active=\"activeItem.campaigns\" data-cy=\"all-campaigns\" icon=\"rocket-launch-outline\"\n        :label=\"$t('menu.allCampaigns')\" />\n      <b-menu-item v-if=\"$can('campaigns:manage')\" :to=\"{ name: 'campaign', params: { id: 'new' } }\" tag=\"router-link\"\n        :active=\"activeItem.campaign\" data-cy=\"new-campaign\" icon=\"plus\" :label=\"$t('menu.newCampaign')\" />\n      <b-menu-item v-if=\"$can('media:*')\" :to=\"{ name: 'media' }\" tag=\"router-link\" :active=\"activeItem.media\"\n        data-cy=\"media\" icon=\"image-outline\" :label=\"$t('menu.media')\" />\n      <b-menu-item v-if=\"$can('templates:get')\" :to=\"{ name: 'templates' }\" tag=\"router-link\"\n        :active=\"activeItem.templates\" data-cy=\"templates\" icon=\"file-image-outline\"\n        :label=\"$t('globals.terms.templates')\" />\n      <b-menu-item v-if=\"$can('campaigns:get_analytics')\" :to=\"{ name: 'campaignAnalytics' }\" tag=\"router-link\"\n        :active=\"activeItem.campaignAnalytics\" data-cy=\"analytics\" icon=\"chart-bar\"\n        :label=\"$t('globals.terms.analytics')\" />\n    </b-menu-item><!-- campaigns -->\n\n    <b-menu-item v-if=\"$can('users:*', 'roles:*')\" :expanded=\"activeGroup.users\" :active=\"activeGroup.users\"\n      data-cy=\"users\" @update:active=\"(state) => toggleGroup('users', state)\" icon=\"account-multiple\"\n      :label=\"$t('globals.terms.users')\">\n      <b-menu-item v-if=\"$can('users:get')\" :to=\"{ name: 'users' }\" tag=\"router-link\" :active=\"activeItem.users\"\n        data-cy=\"users\" icon=\"account-multiple\" :label=\"$t('globals.terms.users')\" />\n      <b-menu-item v-if=\"$can('roles:get')\" :to=\"{ name: 'userRoles' }\" tag=\"router-link\" :active=\"activeItem.userRoles\"\n        data-cy=\"userRoles\" icon=\"newspaper-variant-outline\" :label=\"$t('users.userRoles')\" />\n      <b-menu-item v-if=\"$can('roles:get')\" :to=\"{ name: 'listRoles' }\" tag=\"router-link\" :active=\"activeItem.listRoles\"\n        data-cy=\"listRoles\" icon=\"format-list-bulleted-square\" :label=\"$t('users.listRoles')\" />\n    </b-menu-item><!-- users -->\n\n    <b-menu-item v-if=\"$can('settings:*')\" :expanded=\"activeGroup.settings\" :active=\"activeGroup.settings\"\n      data-cy=\"settings\" @update:active=\"(state) => toggleGroup('settings', state)\" icon=\"cog-outline\"\n      :label=\"$t('menu.settings')\">\n      <b-menu-item v-if=\"$can('settings:get')\" :to=\"{ name: 'settings' }\" tag=\"router-link\"\n        :active=\"activeItem.settings\" data-cy=\"all-settings\" icon=\"cog-outline\" :label=\"$t('menu.settings')\" />\n      <b-menu-item v-if=\"$can('settings:maintain')\" :to=\"{ name: 'maintenance' }\" tag=\"router-link\"\n        :active=\"activeItem.maintenance\" data-cy=\"maintenance\" icon=\"wrench-outline\" :label=\"$t('menu.maintenance')\" />\n      <b-menu-item v-if=\"$can('settings:get')\" :to=\"{ name: 'logs' }\" tag=\"router-link\" :active=\"activeItem.logs\"\n        data-cy=\"logs\" icon=\"format-list-bulleted-square\" :label=\"$t('menu.logs')\" />\n    </b-menu-item><!-- settings -->\n  </b-menu-list>\n</template>\n\n<script>\nimport { mapState } from 'vuex';\n\nexport default {\n  name: 'Navigation',\n\n  props: {\n    activeItem: { type: Object, default: () => { } },\n    activeGroup: { type: Object, default: () => { } },\n    isMobile: Boolean,\n  },\n\n  methods: {\n    toggleGroup(group, state) {\n      this.$emit('toggleGroup', group, state);\n    },\n\n    doLogout() {\n      this.$emit('doLogout');\n    },\n  },\n\n  computed: {\n    ...mapState(['profile']),\n  },\n\n  mounted() {\n    // A hack to close the open accordion burger menu items on click.\n    // Buefy does not have a way to do this.\n    if (this.isMobile) {\n      document.querySelectorAll('.navbar li a[href]').forEach((e) => {\n        e.onclick = () => {\n          document.querySelector('.navbar-burger').click();\n        };\n      });\n    }\n  },\n};\n\n</script>\n"
  },
  {
    "path": "frontend/src/components/RichtextEditor.vue",
    "content": "<template>\n  <div class=\"richtext-editor\" v-if=\"isRichtextReady\">\n    <tiny-mce v-model=\"computedValue\" :disabled=\"disabled\" :init=\"richtextConf\" />\n\n    <b-modal scroll=\"keep\" :width=\"1200\" :aria-modal=\"true\" :active.sync=\"isRichtextSourceVisible\">\n      <div>\n        <section expanded class=\"modal-card-body preview\">\n          <code-editor lang=\"html\" v-model=\"richTextSourceBody\" key=\"richtext-source\" />\n        </section>\n        <footer class=\"modal-card-foot has-text-right\">\n          <b-button @click=\"onFormatRichtextHTML\">\n            {{ $t('campaigns.formatHTML') }}\n          </b-button>\n          <b-button @click=\"() => { this.isRichtextSourceVisible = false; }\">\n            {{ $t('globals.buttons.close') }}\n          </b-button>\n          <b-button @click=\"onSaveRichTextSource\" class=\"is-primary\">\n            {{ $t('globals.buttons.save') }}\n          </b-button>\n        </footer>\n      </div>\n    </b-modal>\n\n    <b-modal scroll=\"keep\" :width=\"750\" :aria-modal=\"true\" :active.sync=\"isInsertHTMLVisible\">\n      <div>\n        <section expanded class=\"modal-card-body preview\">\n          <code-editor lang=\"html\" v-model=\"insertHTMLSnippet\" key=\"richtext-snippet\" />\n        </section>\n        <footer class=\"modal-card-foot has-text-right\">\n          <b-button @click=\"onFormatRichtextHTMLSnippet\">\n            {{ $t('campaigns.formatHTML') }}\n          </b-button>\n          <b-button @click=\"() => { this.isInsertHTMLVisible = false; }\">\n            {{ $t('globals.buttons.close') }}\n          </b-button>\n          <b-button @click=\"onInsertHTML\" class=\"is-primary\">\n            {{ $t('globals.buttons.insert') }}\n          </b-button>\n        </footer>\n      </div>\n    </b-modal>\n\n    <!-- image picker -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isMediaVisible\" :width=\"900\">\n      <div class=\"modal-card content\" style=\"width: auto\">\n        <section expanded class=\"modal-card-body\">\n          <media is-modal @selected=\"onMediaSelect\" />\n        </section>\n      </div>\n    </b-modal>\n  </div>\n</template>\n\n<script>\nimport { html } from 'js-beautify';\nimport { mapState } from 'vuex';\n\nimport TinyMce from '@tinymce/tinymce-vue';\nimport 'tinymce';\nimport 'tinymce/icons/default';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/autoresize';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/colorpicker';\nimport 'tinymce/plugins/contextmenu';\nimport 'tinymce/plugins/emoticons';\nimport 'tinymce/plugins/emoticons/js/emojis';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/hr';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/imagetools';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/textcolor';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/visualchars';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/skins/ui/oxide/skin.css';\nimport 'tinymce/themes/silver';\n\nimport { colors, uris } from '../constants';\nimport CodeEditor from './CodeEditor.vue';\nimport Media from '../views/Media.vue';\n\n// Map of listmonk language codes to corresponding TinyMCE language files.\nconst LANGS = {\n  'cs-cz': 'cs',\n  de: 'de',\n  es: 'es_419',\n  fr: 'fr_FR',\n  it: 'it_IT',\n  pl: 'pl',\n  pt: 'pt_PT',\n  'pt-BR': 'pt_BR',\n  ro: 'ro',\n  tr: 'tr',\n};\n\nexport default {\n  components: {\n    Media,\n    'tiny-mce': TinyMce,\n    'code-editor': CodeEditor,\n  },\n\n  props: {\n    disabled: { type: Boolean, default: false },\n    value: {\n      type: String,\n      default: '',\n    },\n  },\n\n  data() {\n    return {\n      isPreviewing: false,\n      isMediaVisible: false,\n      isReady: false,\n      isRichtextReady: false,\n      isRichtextSourceVisible: false,\n      isInsertHTMLVisible: false,\n      insertHTMLSnippet: '',\n      isTrackLink: false,\n      richtextConf: {},\n      richTextSourceBody: '',\n      contentType: '',\n    };\n  },\n\n  methods: {\n    initRichtextEditor() {\n      const { lang } = this.serverConfig;\n\n      this.richtextConf = {\n        init_instance_callback: () => { this.isReady = true; },\n        urlconverter_callback: this.onEditorURLConvert,\n\n        setup: (editor) => {\n          editor.addShortcut('ctrl+s', 'Save content', () => {\n            this.$events.$emit('campaign.update', {});\n          });\n          editor.addShortcut('f9', 'Preview', () => {\n            this.$events.$emit('campaign.preview', {});\n          });\n\n          editor.on('init', () => {\n            editor.focus();\n            this.onEditorDialogOpen(editor);\n          });\n\n          // Custom HTML editor.\n          editor.ui.registry.addButton('html', {\n            icon: 'sourcecode',\n            tooltip: 'Source code',\n            onAction: this.onRichtextViewSource,\n          });\n\n          editor.ui.registry.addButton('insert-html', {\n            icon: 'code-sample',\n            tooltip: 'Insert HTML',\n            onAction: this.onOpenInsertHTML,\n          });\n\n          editor.on('CloseWindow', () => {\n            editor.selection.getNode().scrollIntoView(false);\n          });\n        },\n\n        browser_spellcheck: true,\n        min_height: 500,\n        toolbar_sticky: true,\n        entity_encoding: 'raw',\n        convert_urls: true,\n        plugins: [\n          'anchor', 'autoresize', 'autolink', 'charmap', 'emoticons', 'fullscreen',\n          'help', 'hr', 'image', 'imagetools', 'link', 'lists', 'paste', 'searchreplace',\n          'table', 'visualblocks', 'visualchars', 'wordcount',\n        ],\n        toolbar: `undo redo | formatselect styleselect fontsizeselect |\n                  bold italic underline strikethrough forecolor backcolor subscript superscript |\n                  alignleft aligncenter alignright alignjustify |\n                  bullist numlist table image insert-html | outdent indent | link hr removeformat |\n                  html fullscreen help`,\n        fontsize_formats: '10px 11px 12px 14px 15px 16px 18px 24px 36px',\n        skin: false,\n        content_css: false,\n        content_style: `\n          body { font-family: 'Inter', sans-serif; font-size: 15px; }\n          img { max-width: 100%; }\n          img.img-float-left { float: left; margin: 0 1em 1em 0; }\n          img.img-float-right { float: right; margin: 0 0 1em 1em; }\n          a { color: ${colors.primary}; }\n          table, td { border-color: #ccc;}\n        `,\n\n        language: LANGS[lang] || null,\n        language_url: LANGS[lang] ? `${uris.static}/tinymce/lang/${LANGS[lang]}.js` : null,\n\n        image_advtab: true,\n        image_class_list: [\n          { title: 'None', value: '' },\n          { title: 'Float left', value: 'img-float-left' },\n          { title: 'Float right', value: 'img-float-right' },\n        ],\n\n        file_picker_types: 'image',\n        file_picker_callback: (callback) => {\n          this.isMediaVisible = true;\n          this.imageCallack = callback;\n        },\n      };\n\n      this.isRichtextReady = true;\n    },\n\n    onEditorURLConvert(url) {\n      let u = url;\n      if (this.isTrackLink) {\n        u = `${u}@TrackLink`;\n      }\n\n      this.isTrackLink = false;\n      return u;\n    },\n\n    onRichtextViewSource() {\n      this.richTextSourceBody = this.computedValue;\n      this.isRichtextSourceVisible = true;\n    },\n\n    onOpenInsertHTML() {\n      this.isInsertHTMLVisible = true;\n    },\n\n    onInsertHTML() {\n      this.isInsertHTMLVisible = false;\n      window.tinymce.editors[0].execCommand('mceInsertContent', false, this.insertHTMLSnippet);\n      this.insertHTMLSnippet = '';\n    },\n\n    onFormatRichtextHTML() {\n      this.richTextSourceBody = this.beautifyHTML(this.richTextSourceBody);\n    },\n\n    onFormatRichtextHTMLSnippet() {\n      this.insertHTMLSnippet = this.beautifyHTML(this.insertHTMLSnippet);\n    },\n\n    onSaveRichTextSource() {\n      this.computedValue = this.richTextSourceBody;\n      window.tinymce.editors[0].setContent(this.computedValue);\n      this.richTextSourceBody = '';\n      this.isRichtextSourceVisible = false;\n    },\n\n    onEditorDialogOpen(editor) {\n      const ed = editor;\n      const oldEd = ed.windowManager.open;\n      const self = this;\n\n      ed.windowManager.open = (t, r) => {\n        const isOK = t.initialData && 'url' in t.initialData && 'anchor' in t.initialData;\n\n        // Not the link modal.\n        if (!isOK) {\n          return oldEd.apply(this, [t, r]);\n        }\n\n        // If an existing link is being edited, check for the tracking flag `@TrackLink` at the end\n        // of the url. Remove that from the URL and instead check the checkbox.\n        // Default to true for new links (better UX - tracking enabled by default).\n        let checked = true;\n\n        // Check if this is an existing link being edited\n        if (t.initialData.url && t.initialData.url.value && t.initialData.url.value !== '') {\n          const t2 = t;\n          const url = t2.initialData.url.value.replace(/@TrackLink$/, '');\n\n          if (t2.initialData.url.value !== url) {\n            // Link has @TrackLink suffix - keep it checked\n            t2.initialData.url.value = url;\n            checked = true;\n          } else {\n            // Link doesn't have @TrackLink suffix - uncheck it\n            checked = false;\n          }\n        }\n\n        // Execute the modal.\n        const modal = oldEd.apply(this, [t, r]);\n\n        // Is it the link dialog?\n        if (isOK) {\n          // Insert tracking checkbox.\n          const c = document.createElement('input');\n          c.setAttribute('type', 'checkbox');\n\n          if (checked) {\n            c.setAttribute('checked', checked);\n            // CRITICAL FIX: Sync the Vue instance state with the checkbox state\n            // This ensures that when the checkbox appears checked, the tracking\n            // will actually work when the user saves without manually toggling.\n            self.isTrackLink = true;\n          }\n\n          // Store the checkbox's state in the Vue instance to pick up from\n          // the TinyMCE link conversion callback.\n          c.onchange = (e) => {\n            self.isTrackLink = e.target.checked;\n          };\n\n          const l = document.createElement('label');\n          l.appendChild(c);\n          l.appendChild(document.createTextNode('Track link?'));\n          l.classList.add('tox-label', 'tox-track-link');\n\n          document.querySelector('.tox-form__controls-h-stack .tox-control-wrap').appendChild(l);\n        }\n        return modal;\n      };\n    },\n\n    onMediaSelect(media) {\n      this.imageCallack(media.url);\n    },\n\n    beautifyHTML(str) {\n      // Pad all tags with linebreaks.\n      let s = this.trimLines(str.replace(/(<(?!(\\/)?a|span)([^>]+)>)/ig, '\\n$1\\n'), true);\n      // Remove extra linebreaks.\n      s = s.replace(/\\n+/g, '\\n');\n\n      try {\n        s = html(s).trim();\n      } catch (error) {\n        // eslint-disable-next-line no-console\n        console.log('error formatting HTML', error);\n      }\n\n      return s;\n    },\n\n    trimLines(str, removeEmptyLines) {\n      const out = str.split('\\n');\n      for (let i = 0; i < out.length; i += 1) {\n        const line = out[i].trim();\n        if (removeEmptyLines) {\n          out[i] = line;\n        } else if (line === '') {\n          out[i] = '';\n        }\n      }\n\n      return out.join('\\n').replace(/\\n\\s*\\n\\s*\\n/g, '\\n\\n');\n    },\n  },\n\n  mounted() {\n    this.initRichtextEditor();\n  },\n\n  computed: {\n    ...mapState(['serverConfig']),\n\n    computedValue: {\n      get() {\n        return this.value;\n      },\n      set(newValue) {\n        this.$emit('input', newValue);\n      },\n    },\n  },\n};\n</script>\n"
  },
  {
    "path": "frontend/src/components/SubscriberActivity.vue",
    "content": "<template>\n  <div class=\"subscriber-activity\">\n    <div v-if=\"isLoading\" class=\"has-text-centered\">\n      <b-loading :active=\"true\" :is-full-page=\"false\" />\n    </div>\n\n    <div v-else>\n      <!-- Summary Stats -->\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <div class=\"box has-text-centered\">\n            <p class=\"heading\">{{ $t('globals.terms.campaigns') }}</p>\n            <p class=\"title\">{{ activity.campaignViews ? activity.campaignViews.length : 0 }}</p>\n          </div>\n        </div>\n        <div class=\"column is-4\">\n          <div class=\"box has-text-centered\">\n            <p class=\"heading\">{{ $t('campaigns.views') }}</p>\n            <p class=\"title\">{{ totalViews }}</p>\n          </div>\n        </div>\n        <div class=\"column is-4\">\n          <div class=\"box has-text-centered\">\n            <p class=\"heading\">{{ $t('campaigns.clicks') }}</p>\n            <p class=\"title\">{{ totalClicks }}</p>\n          </div>\n        </div>\n      </div>\n\n      <!-- Campaign Views Section -->\n      <div class=\"section-header mb-4\">\n        <h5 class=\"title is-5\">\n          {{ $t('campaigns.views') }}\n        </h5>\n      </div>\n\n      <div v-if=\"activity.campaignViews && activity.campaignViews.length > 0\">\n        <b-table :data=\"activity.campaignViews\" hoverable default-sort=\"lastViewedAt\" default-sort-direction=\"desc\"\n          paginated :per-page=\"10\" :pagination-simple=\"false\" class=\"campaign-views-table\">\n          <b-table-column v-slot=\"props\" field=\"subject\" :label=\"$tc('globals.terms.campaign', 1)\" sortable>\n            <div v-if=\"props.row.uuid\">\n              <router-link :to=\"{ name: 'campaign', params: { id: props.row.id } }\">\n                {{ props.row.name }}\n              </router-link>\n              <p class=\"is-size-7 has-text-grey\">{{ props.row.subject }}</p>\n            </div>\n            <div v-else>\n              <em class=\"has-text-grey\">{{ $t('subscribers.activity.campaignDeleted') }}</em>\n            </div>\n          </b-table-column>\n\n          <b-table-column v-slot=\"props\" field=\"viewCount\" :label=\"$t('campaigns.views')\" sortable numeric>\n            <span class=\"tag is-light\">{{ props.row.viewCount }}</span>\n          </b-table-column>\n\n          <b-table-column v-slot=\"props\" field=\"lastViewedAt\" :label=\"$t('globals.fields.createdAt')\" sortable>\n            <span v-if=\"props.row.lastViewedAt\">\n              {{ $utils.niceDate(props.row.lastViewedAt, true) }}\n            </span>\n          </b-table-column>\n        </b-table>\n      </div>\n      <div v-else class=\"has-text-centered has-text-grey p-6\">\n        <p class=\"mt-2\">{{ $t('globals.messages.emptyState') }}</p>\n      </div>\n\n      <!-- Link Clicks Section -->\n      <div class=\"section-header mb-4 mt-6\">\n        <h5 class=\"title is-5\">\n          {{ $t('campaigns.clicks') }}\n        </h5>\n      </div>\n\n      <div v-if=\"activity.linkClicks && activity.linkClicks.length > 0\">\n        <b-table :data=\"activity.linkClicks\" hoverable default-sort=\"lastClickedAt\" default-sort-direction=\"desc\"\n          paginated :per-page=\"10\" :pagination-simple=\"false\" class=\"link-clicks-table\">\n          <b-table-column v-slot=\"props\" field=\"url\" :label=\"$t('globals.terms.url')\" cell-class=\"link-click-url\"\n            sortable>\n            <a :href=\"props.row.url\" target=\"_blank\" rel=\"noopener noreferrer\">\n              {{ props.row.url }}\n            </a>\n          </b-table-column>\n\n          <b-table-column v-slot=\"props\" field=\"campaignName\" :label=\"$tc('globals.terms.campaign', 1)\" sortable>\n            <div v-if=\"props.row.campaignUuid\">\n              <router-link :to=\"{ name: 'campaign', params: { id: props.row.campaignId } }\">\n                {{ props.row.campaignSubject || props.row.campaignName }}\n              </router-link>\n            </div>\n            <div v-else>\n              &mdash;\n            </div>\n          </b-table-column>\n\n          <b-table-column v-slot=\"props\" field=\"clickCount\" :label=\"$t('campaigns.clicks')\" sortable numeric>\n            <span class=\"tag is-light\">{{ props.row.clickCount }}</span>\n          </b-table-column>\n\n          <b-table-column v-slot=\"props\" field=\"lastClickedAt\" :label=\"$t('globals.fields.createdAt')\" sortable>\n            <span v-if=\"props.row.lastClickedAt\">\n              {{ $utils.niceDate(props.row.lastClickedAt, true) }}\n            </span>\n          </b-table-column>\n        </b-table>\n      </div>\n      <div v-else class=\"has-text-centered has-text-grey p-6\">\n        <p class=\"mt-2\">{{ $t('globals.messages.emptyState') }}</p>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nexport default Vue.extend({\n  props: {\n    subscriberId: {\n      type: Number,\n      required: true,\n    },\n  },\n\n  data() {\n    return {\n      isLoading: false,\n      activity: {\n        campaignViews: [],\n        linkClicks: [],\n      },\n    };\n  },\n\n  computed: {\n    totalViews() {\n      if (!this.activity.campaignViews) return 0;\n      return this.activity.campaignViews.reduce((sum, v) => sum + (v.viewCount || 0), 0);\n    },\n\n    totalClicks() {\n      if (!this.activity.linkClicks) return 0;\n      return this.activity.linkClicks.reduce((sum, c) => sum + (c.clickCount || 0), 0);\n    },\n  },\n\n  mounted() {\n    this.getActivity();\n  },\n\n  methods: {\n    getActivity() {\n      this.isLoading = true;\n      this.$api.getSubscriberActivity(this.subscriberId).then((data) => {\n        this.activity = data;\n        this.isLoading = false;\n      }).catch(() => {\n        this.isLoading = false;\n      });\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/components/VisualEditor.vue",
    "content": "<template>\n  <div class=\"visual-editor-wrapper\">\n    <iframe ref=\"visualEditor\" id=\"visual-editor\" class=\"visual-editor email-builder-container\"\n      title=\"Visual email editor\" />\n\n    <!-- image picker -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isMediaVisible\" :width=\"900\">\n      <div class=\"modal-card content\" style=\"width: auto\">\n        <section expanded class=\"modal-card-body\">\n          <media is-modal @selected=\"onMediaSelect\" />\n        </section>\n      </div>\n    </b-modal>\n  </div>\n</template>\n\n<script>\nimport Media from '../views/Media.vue';\n\nexport default {\n  components: {\n    Media,\n  },\n\n  props: {\n    source: { type: String, default: '' },\n    height: { type: String, default: 'auto' },\n  },\n\n  data() {\n    return {\n      isMediaVisible: false,\n    };\n  },\n\n  methods: {\n    loadScript() {\n      return new Promise((resolve, reject) => {\n        const iframe = this.$refs.visualEditor;\n        if (iframe.contentWindow.EmailBuilder) {\n          resolve();\n          return;\n        }\n\n        const script = document.createElement('script');\n        script.id = 'email-builder-script';\n        script.src = '/admin/static/email-builder/email-builder.umd.js';\n        script.onload = () => {\n          resolve();\n        };\n        script.onerror = reject;\n\n        // Append script to iframe's head\n        iframe.contentDocument.head.appendChild(script);\n      });\n    },\n\n    render(source) {\n      const iframe = this.$refs.visualEditor;\n\n      // If the editor is not-rendered, render it the first time. This can happen\n      // on first loads and importing an email template via render().\n      const em = iframe.contentWindow.EmailBuilder;\n      if (!em || !em.isRendered('visual-editor-container')) {\n        iframe.contentWindow.EmailBuilder.render('visual-editor-container', {\n          data: {},\n          onChange: (data, body) => {\n            // Hack to fix quotes in Go {{ templating }} in the HTML body.\n            const tpl = body.replace(/\\{\\{[^}]*\\}\\}/g, (match) => match.replace(/&quot;/g, '\"'));\n            this.$emit('change', { source: JSON.stringify(data), body: tpl });\n          },\n        });\n      }\n\n      if (!source) {\n        return;\n      }\n\n      // setDocument() will trigger onChange() that produces both bodySource and body (HTML).\n      // On init, the `data: source` above sets the content in the editor, but doesn't trigger\n      // onChange(), which is required to set the source+HTML state in the parent for preview to work.\n      // Couldn't figure out if there was an on load/on init event etc. in email-builder, so brute force it\n      // with a timer.\n      let n = 10;\n      const timer = window.setInterval(() => {\n        const container = iframe.contentWindow.document.getElementById('visual-editor-container');\n        if (container && container.hasChildNodes()) {\n          em.resetDocument(source);\n          window.clearInterval(timer);\n          return;\n        }\n\n        n += 1;\n        if (n > 10) {\n          window.clearInterval(timer);\n        }\n      }, 100);\n    },\n\n    // Inject media URL into the image URL input field in the visual edior sidebar.\n    onMediaSelect(media) {\n      const iframe = this.$refs.visualEditor;\n      const input = iframe.contentDocument.querySelector('.image-url input');\n      if (input) {\n        const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n          window.HTMLInputElement.prototype,\n          'value',\n        ).set;\n        nativeInputValueSetter.call(input, media.url);\n\n        const inputEvent = new Event('input', { bubbles: true });\n        input.dispatchEvent(inputEvent);\n      }\n    },\n\n    // Observe DOM changes in the iframe to inject media selector\n    // into the image URL input fields.\n    onSidebarMount(msg) {\n      if (!msg.data) {\n        return;\n      }\n\n      if (msg.data === 'visualeditor.select-media') {\n        this.isMediaVisible = true;\n      }\n    },\n  },\n\n  mounted() {\n    // Initialize iframe content\n    const iframe = this.$refs.visualEditor;\n    iframe.style.height = this.height;\n\n    // Set basic iframe HTML structure\n    iframe.srcdoc = `\n      <!DOCTYPE html>\n      <html>\n        <head>\n          <style>\n            body { margin: 0; padding: 0; }\n            #visual-editor-container { width: 100%; height: 100%; }\n          </style>\n        </head>\n        <body>\n          <div id=\"visual-editor-container\"></div>\n        </body>\n      </html>\n    `;\n\n    iframe.onload = () => {\n      this.loadScript().then(() => {\n        let source = null;\n        if (this.$props.source) {\n          source = JSON.parse(this.$props.source);\n        }\n\n        this.render(source);\n      }).catch((error) => {\n        /* eslint-disable-next-line no-console */\n        console.error('Failed to load email-builer script:', error);\n      });\n    };\n\n    window.addEventListener('message', this.onSidebarMount, false);\n  },\n\n  unmounted() {\n    window.removeEventListener('message', this.onSidebarMount, false);\n  },\n};\n</script>\n\n<style lang=\"css\">\n.visual-editor-wrapper {\n  width: 100%;\n  border: 1px solid #eaeaea;\n  max-width: 100vw;\n}\n\n#visual-editor {\n  position: relative;\n  border: none;\n  width: 100%;\n  min-height: 500px;\n}\n</style>\n"
  },
  {
    "path": "frontend/src/components/editor-theme.js",
    "content": "// Forked from https://github.com/fsegurai/codemirror-themes\n// MIT License - Copyright (c) 2025 fsegurai\n\nimport { EditorView } from '@codemirror/view';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { tags } from '@lezer/highlight';\n\n// VSCode Light theme color definitions\nconst background = '#ffffff';\nconst foreground = '#383a42';\nconst caret = '#000000';\nconst selection = '#add6ff';\nconst selectionMatch = '#a8ac94';\nconst lineHighlight = '#99999926';\nconst gutterBackground = '#ffffff';\nconst gutterForeground = '#0055d4';\nconst gutterActiveForeground = '#0b216f';\nconst keywordColor = '#0055d4';\nconst controlKeywordColor = '#af00db';\nconst variableColor = '#e45649';\nconst classTypeColor = '#0055d4';\nconst functionColor = '#795e26';\nconst numberColor = '#098658';\nconst operatorColor = '#383a42';\nconst regexpColor = '#af00db';\nconst stringColor = '#50a14f';\nconst commentColor = '#999';\nconst linkColor = '#0055d4';\nconst invalidColor = '#e45649';\n\n// Define the editor theme styles for VSCode Light\nconst vsCodeLightTheme = /* @__PURE__ */EditorView.theme({\n  '&': {\n    color: foreground,\n    backgroundColor: background,\n    fontFamily: 'Menlo, Monaco, Consolas, \"Andale Mono\", \"Ubuntu Mono\", \"Courier New\", monospace',\n  },\n  '.cm-content': {\n    caretColor: caret,\n  },\n  '.cm-cursor, .cm-dropCursor': {\n    borderLeftColor: caret,\n  },\n  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {\n    backgroundColor: selection,\n  },\n  '.cm-searchMatch': {\n    backgroundColor: selectionMatch,\n    outline: `1px solid ${lineHighlight}`,\n  },\n  '.cm-activeLine': {\n    backgroundColor: lineHighlight,\n  },\n  '.cm-gutters': {\n    backgroundColor: gutterBackground,\n    color: gutterForeground,\n  },\n  '.cm-activeLineGutter': {\n    color: gutterActiveForeground,\n  },\n}, { dark: false });\n// Define the highlighting style for code in the VSCode Light theme\nconst vsCodeLightHighlightStyle = /* @__PURE__ */HighlightStyle.define([\n  {\n    tag: [\n      tags.keyword,\n      tags.operatorKeyword,\n      tags.modifier,\n      tags.color,\n      /* @__PURE__ */tags.constant(tags.name),\n      /* @__PURE__ */tags.standard(tags.name),\n      /* @__PURE__ */tags.standard(tags.tagName),\n      /* @__PURE__ */tags.special(tags.brace),\n      tags.atom,\n      tags.bool,\n      /* @__PURE__ */tags.special(tags.variableName),\n    ],\n    color: keywordColor,\n  },\n  { tag: [tags.moduleKeyword, tags.controlKeyword], color: controlKeywordColor },\n  {\n    tag: [\n      tags.name,\n      tags.deleted,\n      tags.character,\n      tags.macroName,\n      tags.propertyName,\n      tags.variableName,\n      tags.labelName,\n      /* @__PURE__ */tags.definition(tags.name),\n    ],\n    color: variableColor,\n  },\n  { tag: tags.heading, fontWeight: 'bold', color: variableColor },\n  {\n    tag: [\n      tags.typeName,\n      tags.className,\n      tags.tagName,\n      tags.number,\n      tags.changed,\n      tags.annotation,\n      tags.self,\n      tags.namespace,\n    ],\n    color: classTypeColor,\n  },\n  {\n    tag: [/* @__PURE__ */tags.function(tags.variableName), /* @__PURE__ */tags.function(tags.propertyName)],\n    color: functionColor,\n  },\n  { tag: [tags.number], color: numberColor },\n  {\n    tag: [tags.operator, tags.punctuation, tags.separator, tags.url, tags.escape, tags.regexp],\n    color: operatorColor,\n  },\n  { tag: [tags.regexp], color: regexpColor },\n  {\n    tag: [/* @__PURE__ */tags.special(tags.string), tags.processingInstruction, tags.string, tags.inserted],\n    color: stringColor,\n  },\n  { tag: [tags.meta, tags.comment], color: commentColor },\n  { tag: tags.link, color: linkColor, textDecoration: 'underline' },\n  { tag: tags.invalid, color: invalidColor },\n  { tag: tags.strong, fontWeight: 'bold' },\n  { tag: tags.emphasis, fontStyle: 'italic' },\n  { tag: tags.strikethrough, textDecoration: 'line-through' },\n]);\n// Extension to enable the VSCode Light theme (both the editor theme and the highlight style)\nconst vsCodeLight = [\n  vsCodeLightTheme,\n  /* @__PURE__ */syntaxHighlighting(vsCodeLightHighlightStyle),\n];\n\nexport { vsCodeLight, vsCodeLightHighlightStyle, vsCodeLightTheme };\n"
  },
  {
    "path": "frontend/src/components/editor.js",
    "content": "const markdownToVisualBlock = (markdown) => {\n  const lines = markdown.split('\\n');\n  const blocks = [];\n  const idBase = Date.now();\n  let textBuf = [];\n\n  const createBlock = (type, props, style = {}) => ({\n    id: `block-${idBase + blocks.length}`,\n    type,\n    data: {\n      props,\n      style: {\n        padding: {\n          top: 16, bottom: 16, right: 24, left: 24,\n        },\n        ...style,\n      },\n    },\n  });\n\n  const flushText = () => {\n    if (textBuf.length > 0) {\n      blocks.push(createBlock('Text', { markdown: true, text: textBuf.join('\\n') }));\n\n      textBuf = [];\n    }\n  };\n\n  lines.forEach((line) => {\n    // Handle ATX headings (# Heading)\n    const heading = line.match(/^(#+)\\s+(.*)/);\n    if (heading) {\n      flushText();\n\n      blocks.push(createBlock('Heading', {\n        text: heading[2],\n        level: `h${Math.min(heading[1].length, 6)}`,\n      }));\n      return;\n    }\n\n    // Handle Setext headings (===== or -----)\n    const trimmed = line.trim();\n    if (/^(=+|-+)$/.test(trimmed) && textBuf.length > 0) {\n      const lastLine = textBuf.pop();\n      if (lastLine.trim()) {\n        flushText();\n\n        blocks.push(createBlock('Heading', {\n          text: lastLine,\n          level: trimmed[0] === '=' ? 'h1' : 'h2',\n        }));\n\n        return;\n      }\n\n      textBuf.push(lastLine, line);\n    } else {\n      textBuf.push(line);\n    }\n  });\n\n  flushText();\n\n  return {\n    root: {\n      type: 'EmailLayout',\n      data: { childrenIds: blocks.map((b) => b.id) },\n    },\n    ...Object.fromEntries(blocks.map((b) => [b.id, { type: b.type, data: b.data }])),\n  };\n};\n\nexport default markdownToVisualBlock;\n"
  },
  {
    "path": "frontend/src/constants.js",
    "content": "export const models = Object.freeze({\n  serverConfig: 'serverConfig',\n  lang: 'lang',\n  dashboard: 'dashboard',\n  // This loading state is used across all contexts where lists are loaded\n  // via the instant \"minimal\" API.\n  lists: 'lists',\n  // This is used only on the lists page where lists are loaded with full\n  // context (subscriber counts), which can be slow and expensive.\n  listsFull: 'listsFull',\n  subscribers: 'subscribers',\n  campaigns: 'campaigns',\n  templates: 'templates',\n  media: 'media',\n  bounces: 'bounces',\n  users: 'users',\n  profile: 'profile',\n  userRoles: 'userRoles',\n  listRoles: 'listRoles',\n  settings: 'settings',\n  logs: 'logs',\n  maintenance: 'maintenance',\n});\n\n// Ad-hoc URIs that are used outside of vuex requests.\nconst rootURL = import.meta.env.VUE_APP_ROOT_URL || '/';\nconst baseURL = import.meta.env.BASE_URL.replace(/\\/$/, '');\n\nexport const uris = Object.freeze({\n  previewCampaign: '/api/campaigns/:id/preview',\n  previewCampaignArchive: '/api/campaigns/:id/preview/archive',\n  previewTemplate: '/api/templates/:id/preview',\n  previewRawTemplate: '/api/templates/preview',\n  exportSubscribers: '/api/subscribers/export',\n  errorEvents: '/api/events?type=error',\n  base: `${baseURL}/static`,\n  root: rootURL,\n  static: `${baseURL}/static`,\n});\n\n// Keys used in Vuex store.\nexport const storeKeys = Object.freeze({\n  models: 'models',\n  isLoading: 'isLoading',\n});\n\nexport const timestamp = 'ddd D MMM YYYY, hh:mm A';\n\nexport const colors = Object.freeze({\n  primary: '#0055d4',\n});\n\nexport const regDuration = '[0-9]+(ms|s|m|h|d)';\n"
  },
  {
    "path": "frontend/src/main.js",
    "content": "import Vue from 'vue';\nimport Buefy from 'buefy';\nimport VueI18n from 'vue-i18n';\n\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\nimport * as api from './api';\nimport Utils from './utils';\n\n// Internationalisation.\nVue.use(VueI18n);\nconst i18n = new VueI18n();\n\nVue.use(Buefy, {});\nVue.config.productionTip = false;\n\n// Setup the router.\nrouter.beforeEach((to, from, next) => {\n  if (to.matched.length === 0) {\n    next('/404');\n  } else {\n    next();\n  }\n});\n\nrouter.afterEach((to) => {\n  Vue.nextTick(() => {\n    const t = to.meta.title && i18n.te(to.meta.title) ? `${i18n.tc(to.meta.title, 0)} /` : '';\n    document.title = `${t} listmonk`;\n  });\n});\n\nasync function initConfig(app) {\n  // Load logged in user profile, server side config, and the language file before mounting the app.\n  const [profile, cfg] = await Promise.all([api.getUserProfile(), api.getServerConfig()]);\n\n  const lang = await api.getLang(cfg.lang);\n  i18n.locale = cfg.lang;\n  i18n.setLocaleMessage(i18n.locale, lang);\n\n  Vue.prototype.$utils = new Utils(i18n);\n  Vue.prototype.$api = api;\n  Vue.prototype.$events = app;\n\n  // $can('permission:name') is used in the UI to check whether the logged in user\n  // has a certain permission to toggle visibility of UI objects and UI functionality.\n  Vue.prototype.$can = (...perms) => {\n    if (profile.userRole.id === 1) {\n      return true;\n    }\n\n    // If the perm ends with a wildcard, check whether at least one permission\n    // in the group is present. Eg: campaigns:* will return true if at least\n    // one of campaigns:get, campaigns:manage etc. are present.\n    return perms.some((perm) => {\n      if (perm.endsWith('*')) {\n        const group = `${perm.split(':')[0]}:`;\n        return profile.userRole.permissions.some((p) => p.startsWith(group));\n      }\n\n      return profile.userRole.permissions.includes(perm);\n    });\n  };\n\n  Vue.prototype.$canList = (id, perm) => {\n    if (profile.userRole.id === 1) {\n      return true;\n    }\n\n    // If the user role has global list permissions, return true.\n    const can = Vue.prototype.$can('lists:get_all', 'lists:manage_all');\n    if (can) {\n      return true;\n    }\n\n    return profile.listRole.lists.some((list) => list.id === id && list.permissions.includes(perm));\n  };\n\n  // Set the page title after i18n has loaded.\n  const to = router.history.current;\n  const title = to.meta.title ? `${i18n.tc(to.meta.title, 0)} /` : '';\n  document.title = `${title} listmonk`;\n\n  if (app) {\n    app.$mount('#app');\n  }\n}\n\nconst v = new Vue({\n  router,\n  store,\n  i18n,\n  render: (h) => h(App),\n\n  data: {\n    isLoaded: false,\n  },\n\n  methods: {\n    loadConfig() {\n      initConfig();\n    },\n\n    // awaitRestart handles app restart polling after settings changes.\n    // Shows a toast and polls until the backend is back up.\n    // Returns a promise that resolves with { needsRestart: boolean }.\n    awaitRestart(response) {\n      return new Promise((resolve) => {\n        // If there are running campaigns, app won't auto restart.\n        if (response && typeof response === 'object' && response.needsRestart) {\n          this.loadConfig();\n          resolve({ needsRestart: true });\n          return;\n        }\n\n        Vue.prototype.$utils.toast(i18n.t('settings.messengers.messageSaved'));\n\n        // Poll until backend is back up.\n        const pollId = setInterval(() => {\n          api.getHealth().then(() => {\n            clearInterval(pollId);\n            this.loadConfig();\n            resolve({ needsRestart: false });\n          });\n        }, 1000);\n      });\n    },\n  },\n\n  mounted() {\n    v.isLoaded = true;\n  },\n});\n\ninitConfig(v);\n"
  },
  {
    "path": "frontend/src/router/index.js",
    "content": "import Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nVue.use(VueRouter);\n\n// The meta.group param is used in App.vue to expand menu group by name.\nconst routes = [\n  {\n    path: '/404',\n    name: '404_page',\n    meta: { title: '404' },\n    component: () => import('../views/404.vue'),\n  },\n  {\n    path: '/',\n    name: 'dashboard',\n    meta: { title: '' },\n    component: () => import('../views/Dashboard.vue'),\n  },\n  {\n    path: '/lists',\n    name: 'lists',\n    meta: { title: 'globals.terms.lists', group: 'lists' },\n    component: () => import('../views/Lists.vue'),\n  },\n  {\n    path: '/lists/forms',\n    name: 'forms',\n    meta: { title: 'forms.title', group: 'lists' },\n    component: () => import('../views/Forms.vue'),\n  },\n  {\n    path: '/lists/:id',\n    name: 'list',\n    meta: { title: 'globals.terms.lists', group: 'lists' },\n    component: () => import('../views/Lists.vue'),\n  },\n  {\n    path: '/subscribers',\n    name: 'subscribers',\n    meta: { title: 'globals.terms.subscribers', group: 'subscribers' },\n    component: () => import('../views/Subscribers.vue'),\n  },\n  {\n    path: '/subscribers/import',\n    name: 'import',\n    meta: { title: 'import.title', group: 'subscribers' },\n    component: () => import('../views/Import.vue'),\n  },\n  {\n    path: '/subscribers/bounces',\n    name: 'bounces',\n    meta: { title: 'globals.terms.bounces', group: 'subscribers' },\n    component: () => import('../views/Bounces.vue'),\n  },\n  {\n    path: '/subscribers/lists/:listID',\n    name: 'subscribers_list',\n    meta: { title: 'globals.terms.subscribers', group: 'subscribers' },\n    component: () => import('../views/Subscribers.vue'),\n  },\n  {\n    path: '/subscribers/:id',\n    name: 'subscriber',\n    meta: { title: 'globals.terms.subscribers', group: 'subscribers' },\n    component: () => import('../views/Subscribers.vue'),\n  },\n  {\n    path: '/campaigns',\n    name: 'campaigns',\n    meta: { title: 'globals.terms.campaigns', group: 'campaigns' },\n    component: () => import('../views/Campaigns.vue'),\n  },\n  {\n    path: '/campaigns/media',\n    name: 'media',\n    meta: { title: 'globals.terms.media', group: 'campaigns' },\n    component: () => import('../views/Media.vue'),\n  },\n  {\n    path: '/campaigns/templates',\n    name: 'templates',\n    meta: { title: 'globals.terms.templates', group: 'campaigns' },\n    component: () => import('../views/Templates.vue'),\n  },\n  {\n    path: '/campaigns/analytics',\n    name: 'campaignAnalytics',\n    meta: { title: 'analytics.title', group: 'campaigns' },\n    component: () => import('../views/CampaignAnalytics.vue'),\n  },\n  {\n    path: '/campaigns/:id',\n    name: 'campaign',\n    meta: { title: 'globals.terms.campaign', group: 'campaigns' },\n    component: () => import('../views/Campaign.vue'),\n  },\n  {\n    path: '/user/profile',\n    name: 'userProfile',\n    meta: { title: 'users.profile', group: 'settings' },\n    component: () => import('../views/UserProfile.vue'),\n  },\n  {\n    path: '/settings',\n    name: 'settings',\n    meta: { title: 'globals.terms.settings', group: 'settings' },\n    component: () => import('../views/Settings.vue'),\n  },\n  {\n    path: '/settings/logs',\n    name: 'logs',\n    meta: { title: 'logs.title', group: 'settings' },\n    component: () => import('../views/Logs.vue'),\n  },\n  {\n    path: '/users',\n    name: 'users',\n    meta: { title: 'globals.terms.users', group: 'users' },\n    component: () => import('../views/Users.vue'),\n  },\n  {\n    path: '/users/roles/users',\n    name: 'userRoles',\n    meta: { title: 'users.userRoles', group: 'users' },\n    component: () => import('../views/Roles.vue'),\n  },\n  {\n    path: '/users/roles/lists',\n    name: 'listRoles',\n    meta: { title: 'users.listRoles', group: 'users' },\n    component: () => import('../views/Roles.vue'),\n  },\n  {\n    path: '/settings/maintenance',\n    name: 'maintenance',\n    meta: { title: 'maintenance.title', group: 'settings' },\n    component: () => import('../views/Maintenance.vue'),\n  },\n];\n\nconst router = new VueRouter({\n  mode: 'history',\n  base: import.meta.env.BASE_URL,\n  routes,\n\n  scrollBehavior(to) {\n    if (to.hash) {\n      return { selector: to.hash };\n    }\n    return { x: 0, y: 0 };\n  },\n});\n\nexport default router;\n"
  },
  {
    "path": "frontend/src/store/index.js",
    "content": "import Vue from 'vue';\nimport Vuex from 'vuex';\nimport { models } from '../constants';\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n  state: {\n    // Data from API responses for different models, eg: lists, campaigns.\n    // The API responses are stored in this map as-is. This is invoked by\n    // API requests in `http`. This initialises lists: {}, campaigns: {}\n    // etc. on state.\n    ...Object.keys(models).reduce((obj, cur) => ({ ...obj, [cur]: [] }), {}),\n\n    // Map of loading status (true, false) indicators for different model keys\n    // like lists, campaigns etc. loading: {lists: true, campaigns: true ...}.\n    // The Axios API global request interceptor marks a model as loading=true\n    // and the response interceptor marks it as false. The model keys are being\n    // pre-initialised here to fix \"reactivity\" issues on first loads.\n    loading: Object.keys(models).reduce((obj, cur) => ({ ...obj, [cur]: false }), {}),\n  },\n\n  mutations: {\n    // Set data from API responses. `model` is 'lists', 'campaigns' etc.\n    setModelResponse(state, { model, data }) {\n      state[model] = data;\n    },\n\n    // Set the loading status for a model globally. When a request starts,\n    // status is set to true which is used by the UI to show loaders and block\n    // forms. When a response is received, the status is set to false. This is\n    // invoked by API requests in `http`.\n    setLoading(state, { model, status }) {\n      state.loading[model] = status;\n    },\n  },\n\n  getters: {\n    [models.lists]: (state) => state[models.lists],\n    [models.subscribers]: (state) => state[models.subscribers],\n    [models.campaigns]: (state) => state[models.campaigns],\n    [models.media]: (state) => state[models.media],\n    [models.templates]: (state) => state[models.templates],\n    [models.users]: (state) => state[models.users],\n    [models.profile]: (state) => state[models.profile],\n    [models.userRoles]: (state) => state[models.userRoles],\n    [models.listRoles]: (state) => state[models.listRoles],\n    [models.settings]: (state) => state[models.settings],\n    [models.serverConfig]: (state) => state[models.serverConfig],\n    [models.logs]: (state) => state[models.logs],\n  },\n\n  modules: {\n  },\n});\n"
  },
  {
    "path": "frontend/src/utils.js",
    "content": "import {\n  DialogProgrammatic as Dialog,\n  ToastProgrammatic as Toast,\n} from 'buefy';\nimport dayjs from 'dayjs';\nimport dayDuration from 'dayjs/plugin/duration';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport updateLocale from 'dayjs/plugin/updateLocale';\n\ndayjs.extend(updateLocale);\ndayjs.extend(relativeTime);\ndayjs.extend(dayDuration);\n\nconst reEmail = /(.+?)@(.+?)/ig;\nconst prefKey = 'listmonk_pref';\n\nconst htmlEntities = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&quot;',\n  \"'\": '&#39;',\n  '/': '&#x2F;',\n  '`': '&#x60;',\n  '=': '&#x3D;',\n};\n\nexport default class Utils {\n  constructor(i18n) {\n    this.i18n = i18n;\n    this.intlNumFormat = new Intl.NumberFormat();\n\n    if (i18n) {\n      dayjs.updateLocale('en', {\n        relativeTime: {\n          future: '%s',\n          past: '%s',\n          s: `${i18n.tc('globals.terms.second', 2)}`,\n          m: `1 ${i18n.tc('globals.terms.minute', 1)}`,\n          mm: `%d ${i18n.tc('globals.terms.minute', 2)}`,\n          h: `1 ${i18n.tc('globals.terms.hour', 1)}`,\n          hh: `%d ${i18n.tc('globals.terms.hour', 2)}`,\n          d: `1 ${i18n.tc('globals.terms.day', 1)}`,\n          dd: `%d ${i18n.tc('globals.terms.day', 2)}`,\n          M: `1 ${i18n.tc('globals.terms.month', 1)}`,\n          MM: `%d ${i18n.tc('globals.terms.month', 2)}`,\n          y: `${i18n.tc('globals.terms.year', 1)}`,\n          yy: `%d ${i18n.tc('globals.terms.year', 2)}`,\n        },\n      });\n    }\n  }\n\n  getDate = (d) => dayjs(d);\n\n  // Parses an ISO timestamp to a simpler form.\n  niceDate = (stamp, showTime) => {\n    if (!stamp) {\n      return '';\n    }\n\n    const d = dayjs(stamp);\n    const day = this.i18n.t(`globals.days.${d.day() + 1}`);\n    const month = this.i18n.t(`globals.months.${d.month() + 1}`);\n    let out = d.format(`[${day},] DD [${month}] YYYY`);\n    if (showTime) {\n      out += d.format(', HH:mm');\n    }\n\n    return out;\n  };\n\n  duration = (start, end) => {\n    const a = dayjs(start);\n    const b = dayjs(end);\n    const d = dayjs.duration(Math.abs(b.diff(a)));\n\n    const parts = [\n      Math.floor(d.asDays()) && `${Math.floor(d.asDays())}d`,\n      d.hours() && `${d.hours()}h`,\n      d.minutes() && `${d.minutes()}m`,\n      d.seconds() && `${d.seconds()}s`,\n    ].filter(Boolean);\n\n    return `${b.isBefore(a) ? '-' : ''}${parts.join(' ')}`;\n  };\n\n  // Simple, naive, e-mail address check.\n  validateEmail = (e) => e.match(reEmail);\n\n  niceNumber = (n) => {\n    if (n === null || n === undefined) {\n      return 0;\n    }\n\n    let pfx = '';\n    let div = 1;\n\n    if (n >= 1.0e+9) {\n      pfx = 'b';\n      div = 1.0e+9;\n    } else if (n >= 1.0e+6) {\n      pfx = 'm';\n      div = 1.0e+6;\n    } else if (n >= 1.0e+4) {\n      pfx = 'k';\n      div = 1.0e+3;\n    } else {\n      return n;\n    }\n\n    // Whole number without decimals.\n    const out = (n / div);\n    if (Math.floor(out) === n) {\n      return out + pfx;\n    }\n\n    return out.toFixed(2) + pfx;\n  };\n\n  formatNumber(v) {\n    return this.intlNumFormat.format(v);\n  }\n\n  // Parse one or more numeric ids as query params and return as an array of ints.\n  parseQueryIDs = (ids) => {\n    if (!ids) {\n      return [];\n    }\n\n    if (typeof ids === 'string') {\n      return [parseInt(ids, 10)];\n    }\n\n    if (typeof ids === 'number') {\n      return [parseInt(ids, 10)];\n    }\n\n    return ids.map((id) => parseInt(id, 10));\n  };\n\n  // https://stackoverflow.com/a/12034334\n  escapeHTML = (html) => html.replace(/[&<>\"'`=/]/g, (s) => htmlEntities[s]);\n\n  titleCase = (str) => str[0].toUpperCase() + str.substr(1).toLowerCase();\n\n  // UI shortcuts.\n  confirm = (msg, onConfirm, onCancel) => {\n    Dialog.confirm({\n      scroll: 'keep',\n      message: !msg ? this.i18n.t('globals.messages.confirm') : this.escapeHTML(msg),\n      confirmText: this.i18n.t('globals.buttons.ok'),\n      cancelText: this.i18n.t('globals.buttons.cancel'),\n      onConfirm,\n      onCancel,\n    });\n  };\n\n  prompt = (msg, inputAttrs, onConfirm, onCancel, params) => {\n    const p = params || {};\n\n    Dialog.prompt({\n      scroll: 'keep',\n      message: this.escapeHTML(msg),\n      confirmText: p.confirmText || this.i18n.t('globals.buttons.ok'),\n      cancelText: p.cancelText || this.i18n.t('globals.buttons.cancel'),\n      inputAttrs: {\n        type: 'string',\n        maxlength: 200,\n        ...inputAttrs,\n      },\n      trapFocus: true,\n      onConfirm,\n      onCancel,\n    });\n  };\n\n  toast = (msg, typ, duration, queue) => {\n    Toast.open({\n      message: this.escapeHTML(msg),\n      type: !typ ? 'is-success' : typ,\n      queue,\n      duration: duration || 3000,\n      position: 'is-top',\n      pauseOnHover: true,\n    });\n  };\n\n  // Takes a props.row from a Buefy b-column <td> template and\n  // returns a `data-id` attribute which Buefy then applies to the td.\n  tdID = (row) => ({ 'data-id': row.id.toString() });\n\n  camelString = (str) => {\n    const s = str.replace(/[-_\\s]+(.)?/g, (match, chr) => (chr ? chr.toUpperCase() : ''));\n    return s.substr(0, 1).toLowerCase() + s.substr(1);\n  };\n\n  // camelKeys recursively camelCases all keys in a given object (array or {}).\n  // For each key it traverses, it passes a dot separated key path to an optional testFunc() bool.\n  // so that it can camelcase or leave a particular key alone based on what testFunc() returns.\n  // eg: The keypath for {\"data\": {\"results\": [\"created_at\": 123]}} is\n  // .data.results.*.created_at (array indices become *)\n  // testFunc() can examine this key and return true to convert it to camelcase\n  // or false to leave it as-is.\n  camelKeys = (obj, testFunc, keys) => {\n    if (obj === null) {\n      return obj;\n    }\n\n    if (Array.isArray(obj)) {\n      return obj.map((o) => this.camelKeys(o, testFunc, `${keys || ''}.*`));\n    }\n\n    if (obj.constructor === Object) {\n      return Object.keys(obj).reduce((result, key) => {\n        const keyPath = `${keys || ''}.${key}`;\n        let k = key;\n\n        // If there's no testfunc or if a function is defined and it returns true, convert.\n        if (testFunc === undefined || testFunc(keyPath)) {\n          k = this.camelString(key);\n        }\n\n        return {\n          ...result,\n          [k]: this.camelKeys(obj[key], testFunc, keyPath),\n        };\n      }, {});\n    }\n\n    return obj;\n  };\n\n  getPref = (key) => {\n    if (localStorage.getItem(prefKey) === null) {\n      return null;\n    }\n\n    const p = JSON.parse(localStorage.getItem(prefKey));\n    return key in p ? p[key] : null;\n  };\n\n  setPref = (key, val) => {\n    let p = {};\n    if (localStorage.getItem(prefKey) !== null) {\n      p = JSON.parse(localStorage.getItem(prefKey));\n    }\n\n    p[key] = val;\n    localStorage.setItem(prefKey, JSON.stringify(p));\n  };\n}\n"
  },
  {
    "path": "frontend/src/views/404.vue",
    "content": "<template>\n  <section class=\"page-404\">\n    <h1 class=\"title\">\n      404\n    </h1>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nexport default Vue.extend({\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/About.vue",
    "content": "<template>\n  <div class=\"about\">\n    <h1>This is an about page</h1>\n  </div>\n</template>\n"
  },
  {
    "path": "frontend/src/views/Bounces.vue",
    "content": "<template>\n  <section class=\"bounces\">\n    <header class=\"page-header columns\">\n      <div class=\"column is-two-thirds\">\n        <h1 class=\"title is-4\">\n          {{ $t('globals.terms.bounces') }}\n          <span v-if=\"bounces.total > 0\">({{ bounces.total }})</span>\n        </h1>\n      </div>\n    </header>\n\n    <b-table :data=\"bounces.results\" :hoverable=\"true\" :loading=\"loading.bounces\" default-sort=\"createdAt\" checkable\n      @check-all=\"onTableCheck\" @check=\"onTableCheck\" :checked-rows.sync=\"bulk.checked\" detailed show-detail-icon\n      paginated backend-pagination pagination-position=\"both\" @page-change=\"onPageChange\"\n      :current-page=\"queryParams.page\" :per-page=\"bounces.perPage\" :total=\"bounces.total\" backend-sorting\n      @sort=\"onSort\">\n      <template #top-left>\n        <div class=\"actions\">\n          <template v-if=\"bulk.checked.length > 0\">\n            <a class=\"a\" href=\"#\" @click.prevent=\"$utils.confirm(null, () => deleteBounces())\" data-cy=\"btn-delete\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" /> {{ $t('globals.buttons.delete') }}\n            </a>\n            <a class=\"a\" href=\"#\" @click.prevent=\"$utils.confirm(null, () => blocklistSubscribers())\"\n              data-cy=\"btn-manage-blocklist\">\n              <b-icon icon=\"account-off-outline\" size=\"is-small\" /> {{ $t('import.blocklist') }}\n            </a>\n            <span>\n              {{ $t('globals.messages.numSelected', { num: numSelectedBounces }) }}\n              <span v-if=\"!bulk.all && bounces.total > bounces.perPage\">\n                &mdash;\n                <a href=\"#\" @click.prevent=\"selectAllBounces\">\n                  {{ $t('subscribers.selectAll', { num: bounces.total }) }}\n                </a>\n              </span>\n            </span>\n          </template>\n        </div>\n      </template>\n      <b-table-column v-slot=\"props\" field=\"email\" :label=\"$t('subscribers.email')\" :td-attrs=\"$utils.tdID\" sortable>\n        <router-link :to=\"{ name: 'subscriber', params: { id: props.row.subscriberId } }\"\n          :class=\"{ 'blocklisted': props.row.subscriberStatus === 'blocklisted' }\">\n          {{ props.row.email }}\n          <b-tag v-if=\"props.row.subscriberStatus !== 'enabled'\" :class=\"props.row.subscriberStatus\"\n            data-cy=\"blocklisted\">\n            {{ $t(`subscribers.status.${props.row.subscriberStatus}`) }}\n          </b-tag>\n        </router-link>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"campaign\" :label=\"$tc('globals.terms.campaign')\" sortable>\n        <router-link v-if=\"props.row.campaign\" :to=\"{ name: 'bounces', query: { campaign_id: props.row.campaign.id } }\">\n          {{ props.row.campaign.name }}\n        </router-link>\n        <span v-else>-</span>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"source\" :label=\"$t('bounces.source')\" sortable>\n        <router-link :to=\"{ name: 'bounces', query: { source: props.row.source } }\">\n          {{ props.row.source }}\n        </router-link>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"type\" :label=\"$t('globals.fields.type')\" sortable>\n        <router-link :to=\"{ name: 'bounces', query: { type: props.row.type } }\">\n          {{ $t(`bounces.${props.row.type}`) }}\n        </router-link>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"created_at\" :label=\"$t('globals.fields.createdAt')\" sortable>\n        {{ $utils.niceDate(props.row.createdAt, true) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions\" align=\"right\">\n        <div>\n          <a v-if=\"!props.row.isDefault\" href=\"#\" @click.prevent=\"$utils.confirm(null, () => deleteBounce(props.row))\"\n            data-cy=\"btn-delete\" :aria-label=\"$t('globals.buttons.delete')\">\n            <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <span v-else class=\"a has-text-grey-light\">\n            <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n          </span>\n        </div>\n      </b-table-column>\n\n      <template #detail=\"props\">\n        <pre class=\"is-size-7\">{{ props.row.meta }}</pre>\n      </template>\n\n      <template #empty v-if=\"!loading.templates\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\n\nexport default Vue.extend({\n  components: {\n    EmptyPlaceholder,\n  },\n\n  data() {\n    return {\n      bounces: {},\n\n      // Table bulk row selection states.\n      bulk: {\n        checked: [],\n        all: false,\n      },\n\n      // Query params to filter the getSubscribers() API call.\n      queryParams: {\n        page: 1,\n        orderBy: 'created_at',\n        order: 'desc',\n        campaignID: 0,\n        source: '',\n      },\n    };\n  },\n\n  methods: {\n    onSort(field, direction) {\n      this.queryParams.orderBy = field;\n      this.queryParams.order = direction;\n      this.getBounces();\n    },\n\n    onPageChange(p) {\n      this.queryParams.page = p;\n      this.getBounces();\n    },\n    // Mark all bounces in the query as selected.\n    selectAllBounces() {\n      this.bulk.all = true;\n    },\n    onTableCheck() {\n      // Disable bulk.all selection if there are no rows checked in the table.\n      if (this.bulk.checked.length !== this.bounces.total) {\n        this.bulk.all = false;\n      }\n    },\n\n    getBounces() {\n      this.bulk.checked = [];\n      this.bulk.all = false;\n\n      this.$api.getBounces({\n        page: this.queryParams.page,\n        order_by: this.queryParams.orderBy,\n        order: this.queryParams.order,\n        campaign_id: this.queryParams.campaign_id,\n        source: this.queryParams.source,\n      }).then((data) => {\n        this.bounces = data;\n      });\n    },\n\n    deleteBounce(b) {\n      this.$api.deleteBounce(b.id).then(() => {\n        this.getBounces();\n        this.$utils.toast(this.$t('globals.messages.deleted', { name: b.email }));\n      });\n    },\n\n    deleteBounces() {\n      const params = {};\n      if (!this.bulk.all && this.bulk.checked.length > 0) {\n        params.id = this.bulk.checked.map((s) => s.id);\n      } else if (this.bulk.all) {\n        params.all = true;\n      }\n\n      this.$api.deleteBounces(params).then(() => {\n        this.getBounces();\n        this.$utils.toast(this.$t(\n          'globals.messages.deletedCount',\n          { name: this.$tc('globals.terms.bounces'), num: this.numSelectedBounces },\n        ));\n      });\n    },\n\n    blocklistSubscribers() {\n      const cb = () => {\n        this.getBounces();\n        this.$utils.toast(this.$t('globals.messages.done'));\n      };\n\n      if (!this.bulk.all && this.bulk.checked.length > 0) {\n        const subIds = this.bulk.checked.map((s) => s.subscriberId);\n        this.$api.blocklistSubscribers({ ids: subIds }).then(cb);\n        return;\n      }\n\n      this.$api.blocklistBouncedSubscribers({ all: true }).then(cb);\n    },\n  },\n\n  computed: {\n    ...mapState(['templates', 'loading']),\n    numSelectedBounces() {\n      if (this.bulk.all) {\n        return this.bounces.total;\n      }\n      return this.bulk.checked.length;\n    },\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.getBounces);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.getBounces);\n  },\n\n  mounted() {\n    if (this.$route.query.campaign_id) {\n      this.queryParams.campaign_id = parseInt(this.$route.query.campaign_id, 10);\n    }\n\n    if (this.$route.query.source) {\n      this.queryParams.source = this.$route.query.source;\n    }\n\n    this.getBounces();\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Campaign.vue",
    "content": "<template>\n  <section class=\"campaign\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-6\">\n        <p v-if=\"isEditing && data.status\" class=\"tags\">\n          <b-tag v-if=\"isEditing\" :class=\"data.status\">\n            {{ $t(`campaigns.status.${data.status}`) }}\n          </b-tag>\n          <b-tag v-if=\"data.type === 'optin'\" :class=\"data.type\">\n            {{ $t('lists.optin') }}\n          </b-tag>\n          <span v-if=\"isEditing\" class=\"has-text-grey-light is-size-7\" :data-campaign-id=\"data.id\">\n            {{ $t('globals.fields.id') }}: <copy-text :text=\"`${data.id}`\" />\n            {{ $t('globals.fields.uuid') }}: <copy-text :text=\"data.uuid\" />\n          </span>\n        </p>\n        <h4 v-if=\"isEditing\" class=\"title is-4\">\n          {{ data.name }}\n        </h4>\n        <h4 v-else class=\"title is-4\">\n          {{ $t('campaigns.newCampaign') }}\n        </h4>\n      </div>\n\n      <div class=\"column is-6\">\n        <div v-if=\"canManage\" class=\"buttons\">\n          <b-field grouped v-if=\"isEditing && canEdit\">\n            <b-field expanded>\n              <b-button expanded @click=\"() => onSubmit('update')\" :loading=\"loading.campaigns\" type=\"is-primary\"\n                icon-left=\"content-save-outline\" data-cy=\"btn-save\" aria-keyshortcuts=\"ctrl+s\">\n                <span class=\"has-kbd\">{{ $t('globals.buttons.saveChanges') }} <span class=\"kbd\">Ctrl+S</span></span>\n              </b-button>\n            </b-field>\n            <b-field expanded v-if=\"canStart\">\n              <b-button expanded @click=\"startCampaign\" :loading=\"loading.campaigns\" type=\"is-primary\"\n                icon-left=\"rocket-launch-outline\" data-cy=\"btn-start\">\n                {{ $t('campaigns.start') }}\n              </b-button>\n            </b-field>\n            <b-field expanded v-if=\"canSchedule\">\n              <b-button expanded @click=\"startCampaign\" :loading=\"loading.campaigns\" type=\"is-primary\"\n                icon-left=\"clock-start\" data-cy=\"btn-schedule\">\n                {{ $t('campaigns.schedule') }}\n              </b-button>\n            </b-field>\n            <b-field expanded v-if=\"canUnSchedule\">\n              <b-button expanded @click=\"$utils.confirm(null, unscheduleCampaign)\" :loading=\"loading.campaigns\"\n                type=\"is-primary\" icon-left=\"clock-start\" data-cy=\"btn-unschedule\">\n                {{ $t('campaigns.unSchedule') }}\n              </b-button>\n            </b-field>\n          </b-field>\n        </div>\n      </div>\n    </header>\n\n    <b-loading :active=\"loading.campaigns\" />\n\n    <b-tabs type=\"is-boxed\" :animated=\"false\" v-model=\"activeTab\" @input=\"onTab\">\n      <b-tab-item :label=\"$tc('globals.terms.campaign')\" label-position=\"on-border\" value=\"campaign\"\n        icon=\"rocket-launch-outline\">\n        <section class=\"wrap\">\n          <div class=\"columns\">\n            <div class=\"column is-7\">\n              <form @submit.prevent=\"() => onSubmit(isNew ? 'create' : 'update')\">\n                <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n                  <b-input :maxlength=\"200\" :ref=\"'focus'\" v-model=\"form.name\" name=\"name\" :disabled=\"!canEdit\"\n                    :placeholder=\"$t('globals.fields.name')\" required autofocus />\n                </b-field>\n\n                <b-field :label=\"$t('campaigns.subject')\" label-position=\"on-border\">\n                  <b-input :maxlength=\"5000\" v-model=\"form.subject\" name=\"subject\" :disabled=\"!canEdit\"\n                    :placeholder=\"$t('campaigns.subject')\" required />\n                </b-field>\n\n                <b-field :label=\"$t('campaigns.fromAddress')\" label-position=\"on-border\">\n                  <b-input :maxlength=\"200\" v-model=\"form.fromEmail\" name=\"from_email\" :disabled=\"!canEdit\"\n                    :placeholder=\"$t('campaigns.fromAddressPlaceholder')\" required />\n                </b-field>\n\n                <list-selector v-model=\"form.lists\" :selected=\"form.lists\" :all=\"lists.results\" :disabled=\"!canEdit\"\n                  :label=\"$t('globals.terms.lists')\" :placeholder=\"$t('campaigns.sendToLists')\" />\n\n                <div class=\"columns\">\n                  <div class=\"column is-6\">\n                    <b-field :label=\"$tc('globals.terms.messenger')\" label-position=\"on-border\">\n                      <b-select :placeholder=\"$tc('globals.terms.messenger')\" v-model=\"form.messenger\" name=\"messenger\"\n                        :disabled=\"!canEdit\" required expanded>\n                        <template v-if=\"emailMessengers.length > 1\">\n                          <optgroup label=\"email\">\n                            <option v-for=\"m in emailMessengers\" :value=\"m\" :key=\"m\">\n                              {{ m }}\n                            </option>\n                          </optgroup>\n                        </template>\n                        <template v-else>\n                          <option value=\"email\">email</option>\n                        </template>\n                        <option v-for=\"m in otherMessengers\" :value=\"m\" :key=\"m\">{{ m }}</option>\n                      </b-select>\n                    </b-field>\n                  </div>\n                  <div class=\"column is-6\">\n                    <b-field :label=\"$t('campaigns.format')\" label-position=\"on-border\" class=\"mr-4 mb-0\">\n                      <b-select v-model=\"form.content.contentType\" :disabled=\"!canEdit || isEditing\" value=\"richtext\"\n                        expanded>\n                        <option v-for=\"(name, f) in contentTypes\" :key=\"f\" name=\"format\" :value=\"f\"\n                          :data-cy=\"`check-${f}`\">\n                          {{ name }}\n                        </option>\n                      </b-select>\n                    </b-field>\n                  </div>\n                </div>\n\n                <b-field :label=\"$t('globals.terms.tags')\" label-position=\"on-border\">\n                  <b-taginput v-model=\"form.tags\" name=\"tags\" :disabled=\"!canEdit\" ellipsis icon=\"tag-outline\"\n                    :placeholder=\"$t('globals.terms.tags')\" />\n                </b-field>\n                <hr />\n\n                <div class=\"columns\">\n                  <div class=\"column is-4\">\n                    <b-field :label=\"$t('campaigns.sendLater')\" data-cy=\"btn-send-later\">\n                      <b-switch v-model=\"form.sendLater\" :disabled=\"!canEdit\" />\n                    </b-field>\n                  </div>\n                  <div class=\"column\">\n                    <br />\n                    <b-field v-if=\"form.sendLater\" data-cy=\"send_at\"\n                      :message=\"form.sendAtDate ? $utils.duration(Date(), form.sendAtDate) : ''\">\n                      <b-datetimepicker v-model=\"form.sendAtDate\" :disabled=\"!canEdit\" required editable mobile-native\n                        position=\"is-top-right\" :placeholder=\"$t('campaigns.dateAndTime')\" icon=\"calendar-clock\"\n                        :timepicker=\"{ hourFormat: '24' }\" :datetime-formatter=\"formatDateTime\"\n                        horizontal-time-picker />\n                    </b-field>\n                  </div>\n                </div>\n\n                <div>\n                  <p class=\"has-text-right\">\n                    <a href=\"#\" @click.prevent=\"onShowHeaders\" data-cy=\"btn-headers\">\n                      <b-icon icon=\"plus\" />{{ $t('settings.smtp.setCustomHeaders') }}\n                    </a>\n                  </p>\n                  <b-field v-if=\"form.headersStr !== '[]' || isHeadersVisible\" label-position=\"on-border\"\n                    :message=\"$t('campaigns.customHeadersHelp')\">\n                    <b-input v-model=\"form.headersStr\" name=\"headers\" type=\"textarea\"\n                      placeholder=\"[{&quot;X-Custom&quot;: &quot;value&quot;}, {&quot;X-Custom2&quot;: &quot;value&quot;}]\"\n                      :disabled=\"!canEdit\" />\n                  </b-field>\n                </div>\n                <hr />\n\n                <b-field v-if=\"isNew\">\n                  <b-button native-type=\"submit\" type=\"is-primary\" :loading=\"loading.campaigns\" data-cy=\"btn-continue\">\n                    {{ $t('campaigns.continue') }}\n                  </b-button>\n                </b-field>\n              </form>\n            </div>\n            <div v-if=\"canManage\" class=\"column is-4 is-offset-1\">\n              <br />\n              <div class=\"box\">\n                <h3 class=\"title is-size-6\">\n                  {{ $t('campaigns.sendTest') }}\n                </h3>\n                <b-field :message=\"$t('campaigns.sendTestHelp')\">\n                  <b-taginput v-model=\"form.testEmails\" :before-adding=\"$utils.validateEmail\" :disabled=\"isNew\" ellipsis\n                    icon=\"email-outline\" :placeholder=\"$t('campaigns.testEmails')\" />\n                </b-field>\n                <b-field>\n                  <b-button @click=\"() => onSubmit('test')\" :loading=\"loading.campaigns\" :disabled=\"isNew\"\n                    type=\"is-primary\" icon-left=\"email-outline\">\n                    {{ $t('campaigns.send') }}\n                  </b-button>\n                </b-field>\n              </div>\n            </div>\n          </div>\n        </section>\n      </b-tab-item><!-- campaign -->\n\n      <b-tab-item :label=\"$t('campaigns.content')\" icon=\"text\" :disabled=\"isNew\" value=\"content\">\n        <editor v-if=\"data.id\" v-model=\"form.content\" :id=\"data.id\" :title=\"data.name\" :disabled=\"!canEdit\"\n          :templates=\"templates\" :content-types=\"contentTypes\" />\n\n        <div class=\"columns\">\n          <div class=\"column is-6\">\n            <p v-if=\"!isAttachFieldVisible\" class=\"is-size-6 has-text-grey\">\n              <a href=\"#\" @click.prevent=\"onShowAttachField()\" data-cy=\"btn-attach\">\n                <b-icon icon=\"file-upload-outline\" size=\"is-small\" />\n                {{ $t('campaigns.addAttachments') }}\n              </a>\n            </p>\n\n            <b-field v-if=\"isAttachFieldVisible\" :label=\"$t('campaigns.attachments')\" label-position=\"on-border\"\n              expanded data-cy=\"media\">\n              <b-taginput v-model=\"form.media\" name=\"media\" ellipsis icon=\"tag-outline\" ref=\"media\" field=\"filename\"\n                @focus=\"onOpenAttach\" :disabled=\"!canEdit\" />\n            </b-field>\n          </div>\n          <div class=\"column has-text-right\">\n            <a href=\"https://listmonk.app/docs/templating/#template-expressions\" target=\"_blank\"\n              rel=\"noopener noreferer\">\n              <b-icon icon=\"code\" /> {{ $t('campaigns.templatingRef') }}</a>\n            <span v-if=\"canEdit && form.content.contentType !== 'plain'\" class=\"is-size-6 has-text-grey ml-6\">\n              <a v-if=\"form.altbody === null\" href=\"#\" @click.prevent=\"onAddAltBody\">\n                <b-icon icon=\"text\" size=\"is-small\" /> {{ $t('campaigns.addAltText') }}\n              </a>\n              <a v-else href=\"#\" @click.prevent=\"$utils.confirm(null, onRemoveAltBody)\">\n                <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n                {{ $t('campaigns.removeAltText') }}\n              </a>\n            </span>\n          </div>\n        </div>\n\n        <div v-if=\"canEdit && form.content.contentType !== 'plain'\" class=\"alt-body\">\n          <b-input v-if=\"form.altbody !== null\" v-model=\"form.altbody\" type=\"textarea\" :disabled=\"!canEdit\" />\n        </div>\n      </b-tab-item><!-- content -->\n\n      <b-tab-item :label=\"$t('globals.terms.attribs')\" icon=\"code\" value=\"attribs\" :disabled=\"isNew\">\n        <section class=\"wrap\">\n          <b-field :label=\"$t('globals.terms.attribs')\" :message=\"$t('campaigns.attribsHelp')\"\n            label-position=\"on-border\">\n            <b-input v-model=\"form.attribsStr\" type=\"textarea\" :disabled=\"!canEdit\" rows=\"15\" />\n          </b-field>\n        </section>\n      </b-tab-item><!-- attribs -->\n\n      <b-tab-item :label=\"$t('campaigns.archive')\" icon=\"newspaper-variant-outline\" value=\"archive\" :disabled=\"isNew\">\n        <section class=\"wrap\">\n          <div class=\"columns\">\n            <div class=\"column is-4\">\n              <b-field :label=\"$t('campaigns.archiveEnable')\" data-cy=\"btn-archive\"\n                :message=\"$t('campaigns.archiveHelp')\">\n                <div class=\"columns\">\n                  <div class=\"column\">\n                    <b-switch data-cy=\"btn-archive\" v-model=\"form.archive\" :disabled=\"!canArchive\" />\n                  </div>\n                  <div class=\"column is-12\">\n                    <a :href=\"`${serverConfig.root_url}/archive/${data.uuid}`\" target=\"_blank\" rel=\"noopener noreferer\"\n                      :class=\"{ 'has-text-grey-light': !form.archive }\" aria-label=\"$t('campaigns.archive')\">\n                      <b-icon icon=\"link-variant\" />\n                    </a>\n                  </div>\n                </div>\n              </b-field>\n            </div>\n            <div class=\"column is-8\">\n              <b-field grouped position=\"is-right\">\n                <b-field v-if=\"!canEdit && canArchive\">\n                  <b-button @click=\"onUpdateCampaignArchive\" :loading=\"loading.campaigns\" type=\"is-primary\"\n                    icon-left=\"content-save-outline\" data-cy=\"btn-save\">\n                    {{ $t('globals.buttons.saveChanges') }}\n                  </b-button>\n                </b-field>\n              </b-field>\n            </div>\n          </div>\n\n          <div class=\"columns\">\n            <div class=\"column is-6\">\n              <b-field :label=\"$tc('globals.terms.template')\" label-position=\"on-border\">\n                <b-select :placeholder=\"$tc('globals.terms.template')\" v-model=\"form.archiveTemplateId\" name=\"template\"\n                  :disabled=\"!canArchive || !form.archive || form.content.contentType === 'visual'\" required>\n                  <template v-for=\"t in templates\">\n                    <option v-if=\"t.type === 'campaign'\" :value=\"t.id\" :key=\"t.id\">\n                      {{ t.name }}\n                    </option>\n                  </template>\n                </b-select>\n              </b-field>\n            </div>\n\n            <div class=\"column is-6\">\n              <b-field grouped position=\"is-right\">\n                <b-field v-if=\"form.archive && (!this.form.archiveMetaStr || this.form.archiveMetaStr === '{}')\">\n                  <a class=\"button is-primary\" href=\"#\" @click.prevent=\"onFillArchiveMeta\" aria-label=\"{}\"><b-icon\n                      icon=\"code\" /></a>\n                </b-field>\n                <b-field v-if=\"form.archive\">\n                  <b-button @click=\"onToggleArchivePreview\" type=\"is-primary\" icon-left=\"file-find-outline\"\n                    data-cy=\"btn-preview\">\n                    {{ $t('campaigns.preview') }}\n                  </b-button>\n                </b-field>\n              </b-field>\n            </div>\n          </div>\n          <b-field>\n            <b-field :label=\"$t('campaigns.archiveSlug')\" label-position=\"on-border\"\n              :message=\"$t('campaigns.archiveSlugHelp')\">\n              <b-input :maxlength=\"200\" :ref=\"'focus'\" v-model=\"form.archiveSlug\" name=\"archive_slug\"\n                data-cy=\"archive-slug\" :disabled=\"!canArchive || !form.archive\" />\n            </b-field>\n          </b-field>\n          <b-field :label=\"$t('campaigns.archiveMeta')\" :message=\"$t('campaigns.archiveMetaHelp')\"\n            label-position=\"on-border\">\n            <b-input v-model=\"form.archiveMetaStr\" name=\"archive_meta\" type=\"textarea\" data-cy=\"archive-meta\"\n              :disabled=\"!canArchive || !form.archive\" rows=\"20\" />\n          </b-field>\n        </section>\n      </b-tab-item><!-- archive -->\n    </b-tabs>\n\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isAttachModalOpen\" :width=\"900\">\n      <div class=\"modal-card content\" style=\"width: auto\">\n        <section expanded class=\"modal-card-body\">\n          <media is-modal @selected=\"onAttachSelect\" />\n        </section>\n      </div>\n    </b-modal>\n\n    <campaign-preview v-if=\"isPreviewingArchive\" @close=\"onToggleArchivePreview\" type=\"campaign\" :id=\"data.id\"\n      :archive-meta=\"form.archiveMetaStr\" :title=\"data.title\" :content-type=\"data.contentType\"\n      :template-id=\"form.archiveTemplateId\" is-post is-archive />\n  </section>\n</template>\n\n<script>\nimport dayjs from 'dayjs';\nimport htmlToPlainText from 'textversionjs';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport CampaignPreview from '../components/CampaignPreview.vue';\nimport CopyText from '../components/CopyText.vue';\nimport Editor from '../components/Editor.vue';\nimport ListSelector from '../components/ListSelector.vue';\nimport Media from './Media.vue';\n\nexport default Vue.extend({\n  components: {\n    ListSelector,\n    Editor,\n    Media,\n    CopyText,\n    CampaignPreview,\n  },\n\n  data() {\n    return {\n      contentTypes: Object.freeze({\n        richtext: this.$t('campaigns.richText'),\n        html: this.$t('campaigns.rawHTML'),\n        markdown: this.$t('campaigns.markdown'),\n        plain: this.$t('campaigns.plainText'),\n        visual: this.$t('campaigns.visual'),\n      }),\n\n      isNew: false,\n      isEditing: false,\n      isHeadersVisible: false,\n      isAttachFieldVisible: false,\n      isAttachModalOpen: false,\n      isPreviewingArchive: false,\n      activeTab: 'campaign',\n\n      data: {},\n\n      // IDs from ?list_id query param.\n      selListIDs: [],\n\n      // Binds form input values.\n      form: {\n        archiveSlug: null,\n        name: '',\n        subject: '',\n        fromEmail: '',\n        headersStr: '[]',\n        headers: [],\n        attribsStr: '{}',\n        messenger: 'email',\n        lists: [],\n        tags: [],\n        sendAt: null,\n        content: {\n          contentType: 'richtext',\n          body: '',\n          bodySource: null,\n          templateId: null,\n        },\n        altbody: null,\n        media: [],\n\n        // Parsed Date() version of send_at from the API.\n        sendAtDate: null,\n        sendLater: false,\n        archive: false,\n        archiveMetaStr: '{}',\n        archiveMeta: {},\n        testEmails: [],\n      },\n    };\n  },\n\n  methods: {\n    formatDateTime(s) {\n      return dayjs(s).format('YYYY-MM-DD HH:mm');\n    },\n\n    onToggleArchivePreview() {\n      this.isPreviewingArchive = !this.isPreviewingArchive;\n    },\n\n    onAddAltBody() {\n      this.form.altbody = htmlToPlainText(this.form.content.body);\n    },\n\n    onRemoveAltBody() {\n      this.form.altbody = null;\n    },\n\n    onShowHeaders() {\n      this.isHeadersVisible = !this.isHeadersVisible;\n    },\n\n    onShowAttachField() {\n      this.isAttachFieldVisible = true;\n      this.$nextTick(() => {\n        this.$refs.media.focus();\n      });\n    },\n\n    onOpenAttach() {\n      this.isAttachModalOpen = true;\n    },\n\n    onAttachSelect(o) {\n      if (this.form.media.some((m) => m.id === o.id)) {\n        return;\n      }\n\n      this.form.media.push(o);\n    },\n\n    isUnsaved() {\n      return this.data.body !== this.form.content.body\n        || this.data.contentType !== this.form.content.contentType;\n    },\n\n    onTab(tab) {\n      if (tab === 'content' && window.tinymce && window.tinymce.editors.length > 0) {\n        this.$nextTick(() => {\n          window.tinymce.editors[0].focus();\n        });\n      }\n\n      // this.$router.replace({ hash: `#${tab}` });\n      window.history.replaceState({}, '', `#${tab}`);\n    },\n\n    onFillArchiveMeta() {\n      const archiveStr = `{\"email\": \"email@domain.com\", \"name\": \"${this.$t('globals.fields.name')}\", \"attribs\": {}}`;\n      this.form.archiveMetaStr = this.$utils.getPref('campaign.archiveMetaStr') || JSON.stringify(JSON.parse(archiveStr), null, 4);\n    },\n\n    onSubmit(typ) {\n      // Validate custom JSON headers.\n      if (this.form.headersStr && this.form.headersStr !== '[]') {\n        try {\n          this.form.headers = JSON.parse(this.form.headersStr);\n        } catch (e) {\n          this.$utils.toast(e.toString(), 'is-danger');\n          return;\n        }\n      } else {\n        this.form.headers = [];\n      }\n\n      // Validate archive JSON body.\n      if (this.form.archive && this.form.archiveMetaStr) {\n        try {\n          this.form.archiveMeta = JSON.parse(this.form.archiveMetaStr);\n        } catch (e) {\n          this.$utils.toast(e.toString(), 'is-danger');\n          return;\n        }\n      }\n\n      // Validate custom JSON attribs.\n      let attribs = null;\n      if (this.form.attribsStr && this.form.attribsStr.trim()) {\n        try {\n          attribs = JSON.parse(this.form.attribsStr);\n        } catch (e) {\n          this.$utils.toast(\n            `${this.$t('subscribers.invalidJSON')}: ${e.toString()}`,\n            'is-danger',\n\n            3000,\n          );\n          return;\n        }\n      }\n      this.form.attribs = attribs;\n\n      switch (typ) {\n        case 'create':\n          this.createCampaign();\n          break;\n        case 'test':\n          this.sendTest();\n          break;\n        default:\n          this.updateCampaign();\n          break;\n      }\n    },\n\n    getCampaign(id) {\n      return this.$api.getCampaign(id).then((data) => {\n        this.data = data;\n        this.form = {\n          ...this.form,\n          ...data,\n          headersStr: JSON.stringify(data.headers, null, 4),\n          archiveMetaStr: data.archiveMeta ? JSON.stringify(data.archiveMeta, null, 4) : '{}',\n          attribsStr: data.attribs ? JSON.stringify(data.attribs, null, 4) : '{}',\n\n          // The structure that is populated by editor input event.\n          content: {\n            contentType: data.contentType,\n            body: data.body,\n            bodySource: data.bodySource,\n            templateId: data.templateId,\n          },\n        };\n        this.isAttachFieldVisible = this.form.media.length > 0;\n\n        this.form.media = this.form.media.map((f) => {\n          if (!f.id) {\n            return { ...f, filename: `❌ ${f.filename}` };\n          }\n          return f;\n        });\n      });\n    },\n\n    sendTest() {\n      const data = {\n        id: this.data.id,\n        name: this.form.name,\n        subject: this.form.subject,\n        lists: this.form.lists.map((l) => l.id),\n        from_email: this.form.fromEmail,\n        messenger: this.form.messenger,\n        type: 'regular',\n        headers: this.form.headers,\n        tags: this.form.tags,\n        template_id: this.form.content.templateId,\n        content_type: this.form.content.contentType,\n        body: this.form.content.body,\n        altbody: this.form.content.contentType !== 'plain' ? this.form.altbody : null,\n        subscribers: this.form.testEmails,\n        media: this.form.media.map((m) => m.id),\n      };\n\n      this.$api.testCampaign(data).then(() => {\n        this.$utils.toast(this.$t('campaigns.testSent'));\n      });\n      return false;\n    },\n\n    createCampaign() {\n      const data = {\n        archiveSlug: this.form.subject,\n        name: this.form.name,\n        subject: this.form.subject,\n        lists: this.form.lists.map((l) => l.id),\n        from_email: this.form.fromEmail,\n        content_type: this.form.content.contentType,\n        messenger: this.form.messenger,\n        type: 'regular',\n        tags: this.form.tags,\n        send_at: this.form.sendLater ? this.form.sendAtDate : null,\n        headers: this.form.headers,\n        attribs: this.form.attribs,\n        media: this.form.media.map((m) => m.id),\n      };\n\n      this.$api.createCampaign(data).then((d) => {\n        this.$router.push({ name: 'campaign', hash: '#content', params: { id: d.id } });\n      });\n      return false;\n    },\n\n    async updateCampaign(typ) {\n      const data = {\n        archive_slug: this.form.archiveSlug,\n        name: this.form.name,\n        subject: this.form.subject,\n        lists: this.form.lists.map((l) => l.id),\n        from_email: this.form.fromEmail,\n        messenger: this.form.messenger,\n        type: 'regular',\n        tags: this.form.tags,\n        send_at: this.form.sendLater ? this.form.sendAtDate : null,\n        headers: this.form.headers,\n        attribs: this.form.attribs,\n        template_id: this.form.content.templateId,\n        content_type: this.form.content.contentType,\n        body: this.form.content.body,\n        body_source: this.form.content.bodySource,\n        altbody: this.form.content.contentType !== 'plain' ? this.form.altbody : null,\n        archive: this.form.archive,\n        archive_template_id: this.form.archiveTemplateId,\n        archive_meta: this.form.archiveMeta,\n        media: this.form.media.map((m) => m.id),\n      };\n\n      let typMsg = 'globals.messages.updated';\n      if (typ === 'start') {\n        typMsg = 'campaigns.started';\n      }\n\n      if (!this.form.sendAtDate) {\n        this.form.sendLater = false;\n      }\n\n      // This promise is used by startCampaign to first save before starting.\n      return new Promise((resolve) => {\n        this.$api.updateCampaign(this.data.id, data).then((d) => {\n          this.data = d;\n          this.form.archiveSlug = d.archiveSlug;\n          this.form.attribsStr = d.attribs ? JSON.stringify(d.attribs, null, 4) : '{}';\n\n          this.$utils.toast(this.$t(typMsg, { name: d.name }));\n          resolve();\n        });\n      });\n    },\n\n    onUpdateCampaignArchive() {\n      if (this.isEditing && this.canEdit) {\n        return;\n      }\n\n      const data = {\n        archive: this.form.archive,\n        archive_template_id: this.form.archiveTemplateId,\n        archive_meta: JSON.parse(this.form.archiveMetaStr),\n        archive_slug: this.form.archiveSlug,\n      };\n\n      this.$api.updateCampaignArchive(this.data.id, data).then((d) => {\n        this.form.archiveSlug = d.archiveSlug;\n      });\n    },\n\n    // Starts or schedule a campaign.\n    startCampaign() {\n      if (!this.canStart && !this.canSchedule) {\n        return;\n      }\n\n      this.$utils.confirm(\n        null,\n        () => {\n          // First save the campaign.\n          this.updateCampaign().then(() => {\n            // Then start/schedule it.\n            let status = '';\n            if (this.canStart) {\n              status = 'running';\n            } else if (this.canSchedule) {\n              status = 'scheduled';\n            } else {\n              return;\n            }\n\n            this.$api.changeCampaignStatus(this.data.id, status).then(() => {\n              this.$router.push({ name: 'campaigns' });\n            });\n          });\n        },\n      );\n    },\n\n    unscheduleCampaign() {\n      this.$api.changeCampaignStatus(this.data.id, 'draft').then((d) => {\n        this.data = d;\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['serverConfig', 'loading', 'lists', 'templates']),\n\n    canManage() {\n      return this.$can('campaigns:manage_all', 'campaigns:manage');\n    },\n\n    canEdit() {\n      return this.isNew\n        || this.data.status === 'draft' || this.data.status === 'scheduled' || this.data.status === 'paused';\n    },\n\n    canSchedule() {\n      return (this.data.status === 'draft' || this.data.status === 'paused') && (this.form.sendLater && this.form.sendAtDate);\n    },\n\n    canUnSchedule() {\n      return this.data.status === 'scheduled';\n    },\n\n    canStart() {\n      return (this.data.status === 'draft' || this.data.status === 'paused') && !this.form.sendLater;\n    },\n\n    canArchive() {\n      return this.data.status !== 'cancelled' && this.data.type !== 'optin';\n    },\n\n    selectedLists() {\n      if (this.selListIDs.length === 0 || !this.lists.results) {\n        return [];\n      }\n\n      return this.lists.results.filter((l) => this.selListIDs.indexOf(l.id) > -1);\n    },\n\n    emailMessengers() {\n      return ['email', ...this.serverConfig.messengers.filter((m) => m.startsWith('email-'))];\n    },\n\n    otherMessengers() {\n      return this.serverConfig.messengers.filter((m) => m !== 'email' && !m.startsWith('email-'));\n    },\n  },\n\n  beforeRouteLeave(to, from, next) {\n    if (this.isUnsaved()) {\n      this.$utils.confirm(this.$t('globals.messages.confirmDiscard'), () => next(true));\n      return;\n    }\n    next(true);\n  },\n\n  watch: {\n    selectedLists() {\n      this.form.lists = this.selectedLists;\n    },\n\n    // eslint-disable-next-line func-names\n    'data.sendAt': function () {\n      if (this.data.sendAt !== null) {\n        this.form.sendLater = true;\n        this.form.sendAtDate = dayjs(this.data.sendAt).toDate();\n      } else {\n        this.form.sendLater = false;\n        this.form.sendAtDate = null;\n      }\n    },\n  },\n\n  mounted() {\n    window.onbeforeunload = () => this.isUnsaved() || null;\n\n    // Fill default form fields.\n    this.form.fromEmail = this.serverConfig.from_email;\n\n    // New campaign.\n    const { id } = this.$route.params;\n    if (id === 'new') {\n      this.isNew = true;\n\n      if (this.$route.query.list_id) {\n        // Multiple list_id query params.\n        let strIds = [];\n        if (typeof this.$route.query.list_id === 'object') {\n          strIds = this.$route.query.list_id;\n        } else {\n          strIds = [this.$route.query.list_id];\n        }\n\n        this.selListIDs = strIds.map((v) => parseInt(v, 10));\n      }\n    } else {\n      const intID = parseInt(id, 10);\n      if (intID <= 0 || Number.isNaN(intID)) {\n        this.$utils.toast(this.$t('campaigns.invalid'));\n        return;\n      }\n\n      this.isEditing = true;\n    }\n\n    // Get templates list.\n    this.$api.getTemplates().then((data) => {\n      if (data.length > 0) {\n        if (!this.form.templateId) {\n          const tpl = data.find((i) => i.isDefault === true);\n          this.form.templateId = tpl.id;\n        }\n      }\n    });\n\n    // Fetch campaign.\n    if (this.isEditing) {\n      this.getCampaign(id).then(() => {\n        if (this.$route.hash !== '') {\n          this.activeTab = this.$route.hash.replace('#', '');\n        }\n      });\n    } else {\n      this.form.messenger = 'email';\n    }\n\n    this.$nextTick(() => {\n      this.$refs.focus.focus();\n    });\n\n    this.$events.$on('campaign.update', () => {\n      this.onSubmit('update');\n    });\n  },\n\n  beforeDestroy() {\n    this.$events.$off('campaign.update');\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/CampaignAnalytics.vue",
    "content": "<template>\n  <section class=\"analytics content relative\">\n    <h1 class=\"title is-4\">\n      {{ $t('analytics.title') }}\n    </h1>\n    <div v-if=\"serverConfig.privacy.disable_tracking || !serverConfig.privacy.individual_tracking\"\n      class=\"notification is-info\">\n      <template v-if=\"serverConfig.privacy.disable_tracking\">\n        {{ $t('analytics.trackingDisabled') }}\n      </template>\n      <template v-else-if=\"!serverConfig.privacy.individual_tracking\">\n        {{ $t('analytics.nonIndividualTracking') }}\n      </template>\n    </div>\n    <hr />\n\n    <form @submit.prevent=\"onSubmit\">\n      <div class=\"columns\">\n        <div class=\"column is-6\">\n          <b-field :label=\"$t('globals.terms.campaigns')\" label-position=\"on-border\">\n            <b-taginput v-model=\"form.campaigns\" :data=\"queriedCampaigns\" name=\"campaigns\" ellipsis icon=\"tag-outline\"\n              :placeholder=\"$t('globals.terms.campaigns')\" autocomplete :allow-new=\"false\"\n              :before-adding=\"isCampaignSelected\" @typing=\"queryCampaigns\" field=\"name\" :loading=\"isSearchLoading\" />\n          </b-field>\n        </div>\n\n        <div class=\"column is-5\">\n          <div class=\"columns\">\n            <div class=\"column is-6\">\n              <b-field data-cy=\"from\" :label=\"$t('analytics.fromDate')\" label-position=\"on-border\">\n                <b-datetimepicker v-model=\"form.from\" icon=\"calendar-clock\" :timepicker=\"{ hourFormat: '24' }\"\n                  :datetime-formatter=\"formatDateTime\" @input=\"onFromDateChange\" />\n              </b-field>\n            </div>\n            <div class=\"column is-6\">\n              <b-field data-cy=\"to\" :label=\"$t('analytics.toDate')\" label-position=\"on-border\">\n                <b-datetimepicker v-model=\"form.to\" icon=\"calendar-clock\" :timepicker=\"{ hourFormat: '24' }\"\n                  :datetime-formatter=\"formatDateTime\" @input=\"onToDateChange\" />\n              </b-field>\n            </div>\n          </div><!-- columns -->\n        </div><!-- columns -->\n\n        <div class=\"column is-1\">\n          <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" :disabled=\"form.campaigns.length === 0\"\n            data-cy=\"btn-search\" />\n        </div>\n      </div><!-- columns -->\n    </form>\n\n    <section class=\"charts mt-5\">\n      <div class=\"chart\" v-for=\"(v, k) in charts\" :key=\"k\">\n        <div class=\"columns\">\n          <div class=\"column is-9\">\n            <b-loading v-if=\"v.loading\" :active=\"v.loading\" :is-full-page=\"false\" />\n            <h4 v-if=\"v.chart !== null\">\n              {{ v.name }}\n              <span class=\"has-text-grey-light\">({{ $utils.niceNumber(counts[k]) }})</span>\n            </h4>\n            <chart :type=\"v.type\" v-if=\"!v.loading\" :data=\"v.data\" :on-click=\"v.onClick\" />\n          </div>\n          <div class=\"column is-2 donut-container\">\n            <chart type=\"donut\" v-if=\"!v.loading\" :data=\"v.donutData\" />\n          </div>\n        </div>\n      </div>\n    </section>\n  </section>\n</template>\n\n<script>\nimport dayjs from 'dayjs';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport { colors } from '../constants';\nimport Chart from '../components/Chart.vue';\n\nconst chartColorRed = '#ee7d5b';\nconst chartColors = [\n  colors.primary,\n  '#FFB50D',\n  '#41AC9C',\n  chartColorRed,\n  '#7FC7BC',\n  '#3a82d6',\n  '#688ED9',\n  '#FFC43D',\n];\n\nexport default Vue.extend({\n  components: {\n    Chart,\n  },\n\n  data() {\n    return {\n      isSearchLoading: false,\n      queriedCampaigns: [],\n\n      // Data for each view.\n      counts: {\n        views: 0,\n        clicks: 0,\n        bounces: 0,\n        links: 0,\n      },\n      urls: [],\n      charts: {\n        views: {\n          name: this.$t('campaigns.views'),\n          type: 'line',\n          data: null,\n          fn: this.$api.getCampaignViewCounts,\n          chartFn: this.makeCharts,\n          loading: false,\n        },\n\n        clicks: {\n          name: this.$t('campaigns.clicks'),\n          type: 'line',\n          data: null,\n          fn: this.$api.getCampaignClickCounts,\n          chartFn: this.makeCharts,\n          loading: false,\n        },\n\n        bounces: {\n          name: this.$t('globals.terms.bounces'),\n          type: 'line',\n          data: null,\n          fn: this.$api.getCampaignBounceCounts,\n          chartFn: this.makeCharts,\n          donutColor: chartColorRed,\n          loading: false,\n        },\n\n        links: {\n          name: this.$t('analytics.links'),\n          type: 'bar',\n          data: null,\n          chart: null,\n          loading: false,\n          fn: this.$api.getCampaignLinkCounts,\n          chartFn: this.makeLinksChart,\n          onClick: this.onLinkClick,\n        },\n      },\n\n      form: {\n        campaigns: [],\n        from: null,\n        to: null,\n      },\n    };\n  },\n\n  methods: {\n    onFromDateChange() {\n      if (this.form.from > this.form.to) {\n        this.form.to = dayjs(this.form.from).add(7, 'day').toDate();\n      }\n    },\n\n    onToDateChange() {\n      if (this.form.from > this.form.to) {\n        this.form.from = dayjs(this.form.to).add(-7, 'day').toDate();\n      }\n    },\n\n    formatDateTime(s) {\n      return dayjs(s).format('YYYY-MM-DD HH:mm');\n    },\n\n    isCampaignSelected(camp) {\n      return !this.form.campaigns.find(({ id }) => id === camp.id);\n    },\n\n    makeLinksChart(typ, camps, data) {\n      const labels = data.map((l) => {\n        try {\n          this.urls.push(l.url);\n          const u = new URL(l.url);\n          if (l.url.length > 80) {\n            return `${u.hostname}${u.pathname.substr(0, 50)}..`;\n          }\n          return u.hostname + u.pathname;\n        } catch {\n          return l.url;\n        }\n      });\n\n      const out = {\n        labels,\n        datasets: [\n          {\n            data: data.map((l) => l.count),\n            backgroundColor: chartColors,\n          }],\n      };\n\n      return { points: out, donut: null };\n    },\n\n    makeCharts(typ, campaigns, data) {\n      // Make a campaign id => camp lookup map to group incoming\n      // data by campaigns.\n      const camps = campaigns.reduce((obj, c) => {\n        const out = { ...obj };\n        out[c.id] = c;\n        return out;\n      }, {});\n      const campIDs = Object.keys(camps);\n      // datasets[] array for line chart.\n      const lines = campIDs.map((id, n) => {\n        const cId = parseInt(id, 10);\n        const points = data.filter((item) => item.campaignId === cId);\n\n        return {\n          label: camps[id].name,\n          data: points.map((item) => ({ x: this.formatDateTime(item.timestamp), y: item.count })),\n          borderColor: chartColors[n % campIDs.length],\n          borderWidth: 2,\n          pointHoverBorderWidth: 5,\n          pointBorderWidth: 0.5,\n        };\n      });\n\n      // Donut.\n      const labels = [];\n      const points = campIDs.map((id) => {\n        labels.push(camps[id].name);\n        const cId = parseInt(id, 10);\n        const sum = data.reduce((a, item) => (item.campaignId === cId ? a + item.count : a), 0);\n        return sum;\n      });\n\n      const donut = {\n        labels,\n        datasets: [{\n          data: points, backgroundColor: chartColors, borderWidth: 6,\n        }],\n      };\n      return { points: { datasets: lines }, donut };\n    },\n\n    onSubmit() {\n      this.$router.push({ query: { id: this.form.campaigns.map((c) => c.id), from: dayjs(this.form.from).unix(), to: dayjs(this.form.to).unix() } });\n    },\n\n    queryCampaigns(q) {\n      this.isSearchLoading = true;\n      this.$api.getCampaigns({\n        query: q,\n        order_by: 'created_at',\n        order: 'DESC',\n      }).then((data) => {\n        this.isSearchLoading = false;\n        this.queriedCampaigns = data.results.map((c) => {\n          // Change the name to include the ID in the auto-suggest results.\n          const camp = c;\n          camp.name = `#${c.id}: ${c.name}`;\n          return camp;\n        });\n      });\n    },\n\n    getData(typ, camps) {\n      this.charts[typ].loading = true;\n      // Call the HTTP API.\n      this.charts[typ].fn({\n        id: camps.map((c) => c.id),\n        from: this.form.from,\n        to: this.form.to,\n      }).then((data) => {\n        // Set the total count.\n        this.counts[typ] = data.reduce((sum, d) => sum + d.count, 0);\n\n        const { points, donut } = this.charts[typ].chartFn(typ, camps, data);\n        this.charts[typ].data = points;\n        this.charts[typ].donutData = donut;\n        this.charts[typ].loading = false;\n      });\n    },\n\n    onLinkClick(e) {\n      const bars = e.chart.getElementsAtEventForMode(e, 'nearest', { intersect: true }, true);\n      if (bars.length > 0) {\n        window.open(this.urls[bars[0].index], '_blank', 'noopener noreferrer');\n      }\n    },\n  },\n\n  computed: {\n    ...mapState(['serverConfig']),\n  },\n\n  created() {\n    const now = dayjs().set('hour', 23).set('minute', 59).set('seconds', 0);\n    const weekAgo = now.subtract(7, 'day').set('hour', 0).set('minute', 0);\n    const from = this.$route.query.from ? dayjs.unix(this.$route.query.from) : weekAgo;\n    const to = this.$route.query.to ? dayjs.unix(this.$route.query.to) : now;\n    this.form.from = from.toDate();\n    this.form.to = to.toDate();\n  },\n\n  mounted() {\n    // Fetch one or more campaigns if there are ?id params, wait for the fetches\n    // to finish, add them to the campaign selector and submit the form.\n    const ids = this.$utils.parseQueryIDs(this.$route.query.id);\n    if (ids.length > 0) {\n      this.isSearchLoading = true;\n      Promise.allSettled(ids.map((id) => this.$api.getCampaign(id))).then((data) => {\n        data.forEach((d) => {\n          if (d.status !== 'fulfilled') {\n            return;\n          }\n\n          const camp = d.value;\n          camp.name = `#${camp.id}: ${camp.name}`;\n          this.form.campaigns.push(camp);\n        });\n\n        this.$nextTick(() => {\n          this.isSearchLoading = false;\n\n          // Fetch count for each analytics type (views, counts, bounces);\n          Object.keys(this.charts).forEach((k) => {\n            this.charts[k].data = null;\n            this.charts[k].donutData = null;\n\n            // Fetch views, clicks, bounces for every campaign.\n            this.getData(k, this.form.campaigns);\n          });\n        });\n      });\n    }\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Campaigns.vue",
    "content": "<template>\n  <section class=\"campaigns\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-10\">\n        <h1 class=\"title is-4\">\n          {{ $t('globals.terms.campaigns') }}\n          <span v-if=\"!isNaN(campaigns.total)\">({{ campaigns.total }})</span>\n        </h1>\n      </div>\n      <div class=\"column has-text-right\">\n        <b-field v-if=\"$can('campaigns:manage')\" expanded>\n          <b-button expanded :to=\"{ name: 'campaign', params: { id: 'new' } }\" tag=\"router-link\" class=\"btn-new\"\n            type=\"is-primary\" icon-left=\"plus\" data-cy=\"btn-new\">\n            {{ $t('globals.buttons.new') }}\n          </b-button>\n        </b-field>\n      </div>\n    </header>\n\n    <b-table :data=\"campaigns.results\" :loading=\"loading.campaigns\" :row-class=\"highlightedRow\"\n      @check-all=\"onTableCheck\" @check=\"onTableCheck\" :checked-rows.sync=\"bulk.checked\" paginated backend-pagination\n      pagination-position=\"both\" @page-change=\"onPageChange\" :current-page=\"queryParams.page\"\n      :per-page=\"campaigns.perPage\" :total=\"campaigns.total\" hoverable checkable backend-sorting @sort=\"onSort\">\n      <template #top-left>\n        <div class=\"columns\">\n          <div class=\"column is-6\">\n            <form @submit.prevent=\"getCampaigns\">\n              <div>\n                <b-field>\n                  <b-input v-model=\"queryParams.query\" name=\"query\" expanded\n                    :placeholder=\"$t('campaigns.queryPlaceholder')\" icon=\"magnify\" ref=\"query\" />\n                  <p class=\"controls\">\n                    <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" />\n                  </p>\n                </b-field>\n              </div>\n            </form>\n          </div>\n        </div>\n\n        <div class=\"actions\" v-if=\"bulk.checked.length > 0\">\n          <a class=\"a\" href=\"#\" @click.prevent=\"deleteCampaigns\" data-cy=\"btn-delete-campaigns\">\n            <b-icon icon=\"trash-can-outline\" size=\"is-small\" /> Delete\n          </a>\n          <span class=\"a\">\n            {{ $tc('globals.messages.numSelected', numSelectedCampaigns, { num: numSelectedCampaigns }) }}\n            <span v-if=\"!bulk.all && campaigns.total > campaigns.perPage\">\n              &mdash;\n              <a href=\"#\" @click.prevent=\"onSelectAll\" data-cy=\"select-all-campaigns\">\n                {{ $tc('globals.messages.selectAll', campaigns.total, { num: campaigns.total }) }}\n              </a>\n            </span>\n          </span>\n        </div>\n      </template>\n\n      <b-table-column v-slot=\"props\" cell-class=\"status\" field=\"status\" :label=\"$t('globals.fields.status')\" width=\"10%\"\n        sortable :td-attrs=\"$utils.tdID\" header-class=\"cy-status\">\n        <div>\n          <p>\n            <router-link :to=\"{ name: 'campaign', params: { id: props.row.id } }\">\n              <b-tag :class=\"props.row.status\">\n                {{ $t(`campaigns.status.${props.row.status}`) }}\n              </b-tag>\n              <span class=\"spinner is-tiny\" v-if=\"isRunning(props.row.id)\">\n                <b-loading :is-full-page=\"false\" active />\n              </span>\n            </router-link>\n          </p>\n          <p v-if=\"isSheduled(props.row)\">\n            <span class=\"is-size-7 has-text-grey scheduled\">\n              <b-icon icon=\"alarm\" size=\"is-small\" />\n              <span v-if=\"!isDone(props.row) && !isRunning(props.row)\">\n                {{ $utils.duration(new Date(), props.row.sendAt, true) }}\n                <br />\n              </span>\n              {{ $utils.niceDate(props.row.sendAt, true) }}\n            </span>\n          </p>\n        </div>\n      </b-table-column>\n      <b-table-column v-slot=\"props\" field=\"name\" :label=\"$t('globals.fields.name')\" width=\"25%\" sortable\n        header-class=\"cy-name\">\n        <div>\n          <p>\n            <b-tag v-if=\"props.row.type === 'optin'\" class=\"is-small\">\n              {{ $t('lists.optin') }}\n            </b-tag>\n            <router-link :to=\"{ name: 'campaign', params: { id: props.row.id } }\">\n              {{ props.row.name }}\n              <copy-text :text=\"props.row.name\" hide-text />\n            </router-link>\n          </p>\n          <p class=\"is-size-7 has-text-grey\">\n            <copy-text :text=\"props.row.subject\" />\n          </p>\n          <b-taglist>\n            <b-tag class=\"is-small\" v-for=\"t in props.row.tags\" :key=\"t\">\n              {{ t }}\n            </b-tag>\n          </b-taglist>\n        </div>\n      </b-table-column>\n      <b-table-column v-slot=\"props\" cell-class=\"lists\" field=\"lists\" :label=\"$t('globals.terms.lists')\" width=\"15%\">\n        <ul>\n          <li v-for=\"l in props.row.lists\" :key=\"l.id\">\n            <router-link :to=\"{ name: 'subscribers_list', params: { listID: l.id } }\">\n              {{ l.name }}\n            </router-link>\n          </li>\n        </ul>\n      </b-table-column>\n      <b-table-column v-slot=\"props\" field=\"created_at\" :label=\"$t('campaigns.timestamps')\" width=\"19%\" sortable\n        header-class=\"cy-timestamp\">\n        <div class=\"fields timestamps\" :set=\"stats = getCampaignStats(props.row)\">\n          <p>\n            <label for=\"#\">{{ $t('globals.fields.createdAt') }}</label>\n            <span>{{ $utils.niceDate(props.row.createdAt, true) }}</span>\n          </p>\n          <p v-if=\"stats.startedAt\">\n            <label for=\"#\">{{ $t('campaigns.startedAt') }}</label>\n            <span>{{ $utils.niceDate(stats.startedAt, true) }}</span>\n          </p>\n          <p v-if=\"isDone(props.row)\">\n            <label for=\"#\">{{ $t('campaigns.ended') }}</label>\n            <span>{{ $utils.niceDate(stats.updatedAt, true) }}</span>\n          </p>\n          <p v-if=\"stats.startedAt && stats.updatedAt\" class=\"is-capitalized\">\n            <label for=\"#\"><b-icon icon=\"alarm\" size=\"is-small\" /></label>\n            <span>{{ $utils.duration(stats.startedAt, stats.updatedAt) }}</span>\n          </p>\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"stats\" :label=\"$t('campaigns.stats')\" width=\"15%\">\n        <div class=\"fields stats\" :set=\"stats = getCampaignStats(props.row)\">\n          <p>\n            <label for=\"#\">{{ $t('campaigns.views') }}</label>\n            <span>{{ $utils.formatNumber(props.row.views) }}</span>\n          </p>\n          <p>\n            <label for=\"#\">{{ $t('campaigns.clicks') }}</label>\n            <span>{{ $utils.formatNumber(props.row.clicks) }}</span>\n          </p>\n          <p>\n            <label for=\"#\">{{ $t('campaigns.sent') }}</label>\n            <span>\n              {{ $utils.formatNumber(stats.sent) }} /\n              {{ $utils.formatNumber(stats.toSend) }}\n            </span>\n          </p>\n          <p>\n            <label for=\"#\">{{ $t('globals.terms.bounces') }}</label>\n            <span>\n              <router-link :to=\"{ name: 'bounces', query: { campaign_id: props.row.id } }\">\n                {{ $utils.formatNumber(props.row.bounces) }}\n              </router-link>\n            </span>\n          </p>\n          <p v-if=\"stats.rate\">\n            <label for=\"#\"><b-icon icon=\"speedometer\" size=\"is-small\" /></label>\n            <span class=\"send-rate\">\n              <b-tooltip\n                :label=\"`${stats.netRate} / ${$t('campaigns.rateMinuteShort')} @ ${$utils.duration(stats.startedAt, stats.updatedAt)}`\"\n                type=\"is-dark\">\n                {{ stats.rate.toFixed(0) }} / {{ $t('campaigns.rateMinuteShort') }}\n              </b-tooltip>\n            </span>\n          </p>\n          <p v-if=\"isRunning(props.row.id)\">\n            <label for=\"#\">\n              {{ $t('campaigns.progress') }}\n              <span class=\"spinner is-tiny\">\n                <b-loading :is-full-page=\"false\" active />\n              </span>\n            </label>\n            <span>\n              <b-progress :value=\"stats.sent / stats.toSend * 100\" size=\"is-small\" />\n            </span>\n          </p>\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions\" width=\"15%\" align=\"right\">\n        <div>\n          <!-- start / pause / resume / scheduled -->\n          <template v-if=\"$can('campaigns:manage')\">\n            <a v-if=\"canStart(props.row)\" href=\"#\"\n              @click.prevent=\"$utils.confirm(null, () => changeCampaignStatus(props.row, 'running'))\"\n              data-cy=\"btn-start\" :aria-label=\"$t('campaigns.start')\">\n              <b-tooltip :label=\"$t('campaigns.start')\" type=\"is-dark\">\n                <b-icon icon=\"rocket-launch-outline\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n\n            <a v-if=\"canPause(props.row)\" href=\"#\"\n              @click.prevent=\"$utils.confirm(null, () => changeCampaignStatus(props.row, 'paused'))\" data-cy=\"btn-pause\"\n              :aria-label=\"$t('campaigns.pause')\">\n              <b-tooltip :label=\"$t('campaigns.pause')\" type=\"is-dark\">\n                <b-icon icon=\"pause-circle-outline\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n\n            <a v-if=\"canResume(props.row)\" href=\"#\"\n              @click.prevent=\"$utils.confirm(null, () => changeCampaignStatus(props.row, 'running'))\"\n              data-cy=\"btn-resume\" :aria-label=\"$t('campaigns.send')\">\n              <b-tooltip :label=\"$t('campaigns.send')\" type=\"is-dark\">\n                <b-icon icon=\"rocket-launch-outline\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n\n            <a v-if=\"canSchedule(props.row)\" href=\"#\"\n              @click.prevent=\"$utils.confirm($t('campaigns.confirmSchedule'), () => changeCampaignStatus(props.row, 'scheduled'))\"\n              data-cy=\"btn-schedule\" :aria-label=\"$t('campaigns.schedule')\">\n              <b-tooltip :label=\"$t('campaigns.schedule')\" type=\"is-dark\">\n                <b-icon icon=\"clock-start\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n\n            <!-- placeholder for finished campaigns -->\n            <a v-if=\"!canCancel(props.row) && !canSchedule(props.row) && !canStart(props.row)\" href=\"#\" data-disabled\n              aria-label=\" \">\n              <b-icon icon=\"rocket-launch-outline\" size=\"is-small\" />\n            </a>\n\n            <a v-if=\"canCancel(props.row)\" href=\"#\"\n              @click.prevent=\"$utils.confirm(null, () => changeCampaignStatus(props.row, 'cancelled'))\"\n              data-cy=\"btn-cancel\" :aria-label=\"$t('globals.buttons.cancel')\">\n              <b-tooltip :label=\"$t('globals.buttons.cancel')\" type=\"is-dark\">\n                <b-icon icon=\"cancel\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n            <a v-else href=\"#\" data-disabled aria-label=\" \">\n              <b-icon icon=\"cancel\" size=\"is-small\" />\n            </a>\n          </template>\n\n          <a href=\"#\" @click.prevent=\"previewCampaign(props.row)\" data-cy=\"btn-preview\"\n            :aria-label=\"$t('campaigns.preview')\">\n            <b-tooltip :label=\"$t('campaigns.preview')\" type=\"is-dark\">\n              <b-icon icon=\"file-find-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <a v-if=\"$can('campaigns:manage')\" href=\"#\" @click.prevent=\"$utils.prompt($t('globals.buttons.clone'),\n            {\n              placeholder: $t('globals.fields.name'),\n              value: $t('campaigns.copyOf', { name: props.row.name }),\n            },\n            (name) => cloneCampaign(name, props.row))\" data-cy=\"btn-clone\" :aria-label=\"$t('globals.buttons.clone')\">\n            <b-tooltip :label=\"$t('globals.buttons.clone')\" type=\"is-dark\">\n              <b-icon icon=\"file-multiple-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <router-link v-if=\"$can('campaigns:get_analytics')\"\n            :to=\"{ name: 'campaignAnalytics', query: { id: props.row.id } }\">\n            <b-tooltip :label=\"$t('globals.terms.analytics')\" type=\"is-dark\">\n              <b-icon icon=\"chart-bar\" size=\"is-small\" />\n            </b-tooltip>\n          </router-link>\n          <a v-if=\"$can('campaigns:manage')\" href=\"#\"\n            @click.prevent=\"$utils.confirm($t('campaigns.confirmDelete', { name: props.row.name }), () => deleteCampaign(props.row))\"\n            data-cy=\"btn-delete\" :aria-label=\"$t('globals.buttons.delete')\">\n            <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n          </a>\n        </div>\n      </b-table-column>\n\n      <template #empty v-if=\"!loading.campaigns\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n\n    <campaign-preview v-if=\"previewItem\" type=\"campaign\" :id=\"previewItem.id\" :title=\"previewItem.name\"\n      @close=\"closePreview\" />\n  </section>\n</template>\n\n<script>\nimport dayjs from 'dayjs';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CampaignPreview from '../components/CampaignPreview.vue';\nimport CopyText from '../components/CopyText.vue';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\n\nexport default Vue.extend({\n  components: {\n    CampaignPreview,\n    EmptyPlaceholder,\n    CopyText,\n  },\n\n  data() {\n    return {\n      previewItem: null,\n      queryParams: {\n        page: 1,\n        query: '',\n        orderBy: 'created_at',\n        order: 'desc',\n      },\n      pollID: null,\n      campaignStatsData: {},\n\n      // Table bulk row selection states.\n      bulk: {\n        checked: [],\n        all: false,\n      },\n    };\n  },\n\n  methods: {\n    // Campaign statuses.\n    canStart(c) {\n      return c.status === 'draft' && !c.sendAt;\n    },\n    canSchedule(c) {\n      return c.status === 'draft' && c.sendAt;\n    },\n    canPause(c) {\n      return c.status === 'running';\n    },\n    canCancel(c) {\n      return c.status === 'running' || c.status === 'paused';\n    },\n    canResume(c) {\n      return c.status === 'paused';\n    },\n    isSheduled(c) {\n      return c.status === 'scheduled' || c.sendAt !== null;\n    },\n    isDone(c) {\n      return c.status === 'finished' || c.status === 'cancelled';\n    },\n\n    isRunning(id) {\n      if (id in this.campaignStatsData) {\n        return true;\n      }\n      return false;\n    },\n\n    highlightedRow(data) {\n      if (data.status === 'running') {\n        return ['running'];\n      }\n      return '';\n    },\n\n    onPageChange(p) {\n      this.queryParams.page = p;\n      this.getCampaigns();\n    },\n\n    onSort(field, direction) {\n      this.queryParams.orderBy = field;\n      this.queryParams.order = direction;\n      this.getCampaigns();\n    },\n\n    // Campaign actions.\n    previewCampaign(c) {\n      this.previewItem = c;\n    },\n\n    closePreview() {\n      this.previewItem = null;\n    },\n\n    getCampaigns() {\n      this.$api.getCampaigns({\n        page: this.queryParams.page,\n        query: this.queryParams.query.replace(/[^\\p{L}\\p{N}\\s]/gu, ' '),\n        order_by: this.queryParams.orderBy,\n        order: this.queryParams.order,\n        no_body: true,\n      });\n    },\n\n    // Stats returns the campaign object with stats (sent, toSend etc.)\n    // if there's live stats available for running campaigns. Otherwise,\n    // it returns the incoming campaign object that has the static stats\n    // values.\n    getCampaignStats(c) {\n      if (c.id in this.campaignStatsData) {\n        return this.campaignStatsData[c.id];\n      }\n      return c;\n    },\n\n    pollStats() {\n      // Clear any running status polls.\n      clearInterval(this.pollID);\n\n      // Poll for the status as long as the import is running.\n      this.pollID = setInterval(() => {\n        this.$api.getCampaignStats().then((data) => {\n          // Stop polling. No running campaigns.\n          if (data.length === 0) {\n            clearInterval(this.pollID);\n\n            // There were running campaigns and stats earlier. Clear them\n            // and refetch the campaigns list with up-to-date fields.\n            if (Object.keys(this.campaignStatsData).length > 0) {\n              this.getCampaigns();\n              this.campaignStatsData = {};\n            }\n          } else {\n            // Turn the list of campaigns [{id: 1, ...}, {id: 2, ...}] into\n            // a map indexed by the id: {1: {}, 2: {}}.\n            this.campaignStatsData = data.reduce((obj, cur) => ({ ...obj, [cur.id]: cur }), {});\n          }\n        }, () => {\n          clearInterval(this.pollID);\n        });\n      }, 1000);\n    },\n\n    changeCampaignStatus(c, status) {\n      this.$api.changeCampaignStatus(c.id, status).then(() => {\n        this.$utils.toast(this.$t('campaigns.statusChanged', { name: c.name, status }));\n        this.getCampaigns();\n        this.pollStats();\n      });\n    },\n\n    async cloneCampaign(name, c) {\n      // Fetch the template body from the server.\n      let body = '';\n      let bodySource = null;\n      await this.$api.getCampaign(c.id).then((data) => {\n        body = data.body;\n        bodySource = data.bodySource;\n      });\n\n      const now = this.$utils.getDate();\n      const sendLater = !!c.sendAt;\n      let sendAt = null;\n      if (sendLater) {\n        sendAt = dayjs(c.sendAt).isAfter(now) ? c.sendAt : now.add(7, 'day');\n      }\n\n      const data = {\n        name,\n        subject: c.subject,\n        lists: c.lists.map((l) => l.id),\n        type: c.type,\n        from_email: c.fromEmail,\n        content_type: c.contentType,\n        messenger: c.messenger,\n        tags: c.tags,\n        template_id: c.templateId,\n        body,\n        body_source: bodySource,\n        altbody: c.altbody,\n        headers: c.headers,\n        send_later: sendLater,\n        send_at: sendAt,\n        archive: c.archive,\n        archive_template_id: c.archiveTemplateId,\n        archive_meta: c.archiveMeta,\n        media: c.media.map((m) => m.id),\n      };\n\n      if (c.archive) {\n        data.archive_slug = `${name.toLowerCase().replace(/[^a-z0-9]/g, '-')}-${Date.now().toString().slice(-4)}`;\n      }\n\n      this.$api.createCampaign(data).then((d) => {\n        this.$router.push({ name: 'campaign', params: { id: d.id } });\n      });\n    },\n\n    deleteCampaign(c) {\n      this.$api.deleteCampaign(c.id).then(() => {\n        this.getCampaigns();\n        this.$utils.toast(this.$t('globals.messages.deleted', { name: c.name }));\n      });\n    },\n\n    // Mark all campaigns in the query as selected.\n    onSelectAll() {\n      this.bulk.all = true;\n    },\n\n    onTableCheck() {\n      // Disable bulk.all selection if there are no rows checked in the table.\n      if (this.bulk.checked.length !== this.campaigns.total) {\n        this.bulk.all = false;\n      }\n    },\n\n    deleteCampaigns() {\n      const name = this.$tc('globals.terms.campaign', this.numSelectedCampaigns);\n\n      const fn = () => {\n        const params = {};\n        if (!this.bulk.all && this.bulk.checked.length > 0) {\n          // If 'all' is not selected, delete campaigns by IDs.\n          params.id = this.bulk.checked.map((c) => c.id);\n        } else {\n          // 'All' is selected, delete by query.\n          params.query = this.queryParams.query.replace(/[^\\p{L}\\p{N}\\s]/gu, ' ');\n          params.all = this.bulk.all;\n        }\n\n        this.$api.deleteCampaigns(params)\n          .then(() => {\n            this.getCampaigns();\n            this.$utils.toast(this.$tc(\n              'globals.messages.deletedCount',\n              this.numSelectedCampaigns,\n              { num: this.numSelectedCampaigns, name },\n            ));\n          });\n      };\n\n      this.$utils.confirm(this.$tc(\n        'globals.messages.confirmDelete',\n        this.numSelectedCampaigns,\n        { num: this.numSelectedCampaigns, name: name.toLowerCase() },\n      ), fn);\n    },\n  },\n\n  computed: {\n    ...mapState(['campaigns', 'loading']),\n\n    numSelectedCampaigns() {\n      return this.bulk.all ? this.campaigns.total : this.bulk.checked.length;\n    },\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.getCampaigns);\n  },\n\n  mounted() {\n    this.getCampaigns();\n    this.pollStats();\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.getCampaigns);\n    clearInterval(this.pollID);\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Dashboard.vue",
    "content": "<template>\n  <section class=\"dashboard content\">\n    <header class=\"columns\">\n      <div class=\"column is-two-thirds\">\n        <h1 class=\"title is-5\">\n          {{ $utils.niceDate(new Date()) }}\n        </h1>\n      </div>\n    </header>\n\n    <section class=\"counts wrap\">\n      <div class=\"tile is-ancestor\">\n        <div class=\"tile is-vertical is-12\">\n          <div class=\"tile\">\n            <div class=\"tile is-parent is-vertical relative\">\n              <b-loading v-if=\"isCountsLoading\" active :is-full-page=\"false\" />\n              <article class=\"tile is-child notification\" data-cy=\"lists\">\n                <div class=\"columns is-mobile\">\n                  <div class=\"column is-6\">\n                    <p class=\"title\">\n                      <b-icon icon=\"format-list-bulleted-square\" />\n                      {{ $utils.niceNumber(counts.lists.total) }}\n                    </p>\n                    <p class=\"is-size-6 has-text-grey\">\n                      {{ $tc('globals.terms.list', counts.lists.total) }}\n                    </p>\n                  </div>\n                  <div class=\"column is-6\">\n                    <ul class=\"no has-text-grey\">\n                      <li>\n                        <label for=\"#\">{{ $utils.niceNumber(counts.lists.public) }}</label>\n                        {{ $t('lists.types.public') }}\n                      </li>\n                      <li>\n                        <label for=\"#\">{{ $utils.niceNumber(counts.lists.private) }}</label>\n                        {{ $t('lists.types.private') }}\n                      </li>\n                      <li>\n                        <label for=\"#\">{{ $utils.niceNumber(counts.lists.optinSingle) }}</label>\n                        {{ $t('lists.optins.single') }}\n                      </li>\n                      <li>\n                        <label for=\"#\">{{ $utils.niceNumber(counts.lists.optinDouble) }}</label>\n                        {{ $t('lists.optins.double') }}\n                      </li>\n                    </ul>\n                  </div>\n                </div>\n              </article><!-- lists -->\n\n              <article class=\"tile is-child notification\" data-cy=\"campaigns\">\n                <div class=\"columns is-mobile\">\n                  <div class=\"column is-6\">\n                    <p class=\"title\">\n                      <b-icon icon=\"rocket-launch-outline\" />\n                      {{ $utils.niceNumber(counts.campaigns.total) }}\n                    </p>\n                    <p class=\"is-size-6 has-text-grey\">\n                      {{ $tc('globals.terms.campaign', counts.campaigns.total) }}\n                    </p>\n                  </div>\n                  <div class=\"column is-6\">\n                    <ul class=\"no has-text-grey\">\n                      <li v-for=\"(num, status) in counts.campaigns.byStatus\" :key=\"status\">\n                        <label for=\"#\" :data-cy=\"`campaigns-${status}`\">{{ num }}</label>\n                        {{ $t(`campaigns.status.${status}`) }}\n                        <span v-if=\"status === 'running'\" class=\"spinner is-tiny\">\n                          <b-loading :is-full-page=\"false\" active />\n                        </span>\n                      </li>\n                    </ul>\n                  </div>\n                </div>\n              </article><!-- campaigns -->\n            </div><!-- block -->\n\n            <div class=\"tile is-parent relative\">\n              <b-loading v-if=\"isCountsLoading\" active :is-full-page=\"false\" />\n              <article class=\"tile is-child notification\" data-cy=\"subscribers\">\n                <div class=\"columns is-mobile\">\n                  <div class=\"column is-6\">\n                    <p class=\"title\">\n                      <b-icon icon=\"account-multiple\" />\n                      {{ $utils.niceNumber(counts.subscribers.total) }}\n                    </p>\n                    <p class=\"is-size-6 has-text-grey\">\n                      {{ $tc('globals.terms.subscriber', counts.subscribers.total) }}\n                    </p>\n                  </div>\n\n                  <div class=\"column is-6\">\n                    <ul class=\"no has-text-grey\">\n                      <li>\n                        <label for=\"#\">{{ $utils.niceNumber(counts.subscribers.blocklisted) }}</label>\n                        {{ $t('subscribers.status.blocklisted') }}\n                      </li>\n                      <li>\n                        <label for=\"#\">{{ $utils.niceNumber(counts.subscribers.orphans) }}</label>\n                        {{ $t('dashboard.orphanSubs') }}\n                      </li>\n                    </ul>\n                  </div><!-- subscriber breakdown -->\n                </div><!-- subscriber columns -->\n                <hr />\n                <div class=\"columns\" data-cy=\"messages\">\n                  <div class=\"column is-12\">\n                    <p class=\"title\">\n                      <b-icon icon=\"email-outline\" />\n                      {{ $utils.niceNumber(counts.messages) }}\n                    </p>\n                    <p class=\"is-size-6 has-text-grey\">\n                      {{ $t('dashboard.messagesSent') }}\n                    </p>\n                  </div>\n                </div>\n              </article><!-- subscribers -->\n            </div>\n          </div>\n          <div class=\"tile is-parent relative\">\n            <b-loading v-if=\"isChartsLoading\" active :is-full-page=\"false\" />\n            <article class=\"tile is-child notification charts\">\n              <div class=\"columns\">\n                <div class=\"column is-6\">\n                  <h3 class=\"title is-size-6\">\n                    {{ $t('dashboard.campaignViews') }}\n                  </h3><br />\n                  <chart type=\"line\" v-if=\"campaignViews\" :data=\"campaignViews\" />\n                </div>\n                <div class=\"column is-6\">\n                  <h3 class=\"title is-size-6 has-text-right\">\n                    {{ $t('dashboard.linkClicks') }}\n                  </h3><br />\n                  <chart type=\"line\" v-if=\"campaignClicks\" :data=\"campaignClicks\" />\n                </div>\n              </div>\n            </article>\n          </div>\n        </div>\n      </div><!-- tile block -->\n      <p v-if=\"settings['app.cache_slow_queries']\" class=\"has-text-grey\">\n        *{{ $t('globals.messages.slowQueriesCached') }}\n        <a href=\"https://listmonk.app/docs/maintenance/performance/\" target=\"_blank\" rel=\"noopener noreferer\"\n          class=\"has-text-grey\">\n          <b-icon icon=\"link-variant\" /> {{ $t('globals.buttons.learnMore') }}\n        </a>\n      </p>\n    </section>\n  </section>\n</template>\n\n<script>\nimport dayjs from 'dayjs';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport { colors } from '../constants';\nimport Chart from '../components/Chart.vue';\n\nexport default Vue.extend({\n  components: {\n    Chart,\n  },\n\n  data() {\n    return {\n      isChartsLoading: true,\n      isCountsLoading: true,\n      campaignViews: null,\n      campaignClicks: null,\n      counts: {\n        lists: {},\n        subscribers: {},\n        campaigns: {},\n        messages: 0,\n      },\n    };\n  },\n\n  methods: {\n    fetchData() {\n      this.isCountsLoading = true;\n      this.isChartsLoading = true;\n\n      this.$api.getDashboardCounts().then((data) => {\n        this.counts = data;\n        this.isCountsLoading = false;\n      });\n\n      this.$api.getDashboardCharts().then((data) => {\n        this.isChartsLoading = false;\n        this.campaignViews = this.makeChart(data.campaignViews);\n        this.campaignClicks = this.makeChart(data.linkClicks);\n      });\n    },\n\n    makeChart(data) {\n      if (data.length === 0) {\n        return {};\n      }\n      return {\n        labels: data.map((d) => dayjs(d.date).format('DD MMM')),\n        datasets: [\n          {\n            data: [...data.map((d) => d.count)],\n            borderColor: colors.primary,\n            borderWidth: 2,\n            pointHoverBorderWidth: 5,\n            pointBorderWidth: 0.5,\n          },\n        ],\n      };\n    },\n  },\n\n  computed: {\n    ...mapState(['settings']),\n    dayjs() {\n      return dayjs;\n    },\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.fetchData);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.fetchData);\n  },\n\n  mounted() {\n    this.fetchData();\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Forms.vue",
    "content": "<template>\n  <section class=\"forms content relative\">\n    <h1 class=\"title is-4\">\n      {{ $t('forms.title') }}\n    </h1>\n    <hr />\n\n    <b-loading v-if=\"loading.lists\" :active=\"loading.lists\" :is-full-page=\"false\" />\n    <p v-else-if=\"publicLists.length === 0\">\n      {{ $t('forms.noPublicLists') }}\n    </p>\n    <div class=\"columns\" v-else-if=\"publicLists.length > 0\">\n      <div class=\"column is-4\">\n        <h4>{{ $t('forms.publicLists') }}</h4>\n        <p>{{ $t('forms.selectHelp') }}</p>\n\n        <b-loading :active=\"loading.lists\" :is-full-page=\"false\" />\n        <ul class=\"no\" data-cy=\"lists\">\n          <li v-for=\"(l, i) in publicLists\" :key=\"l.id\">\n            <b-checkbox v-model=\"checked\" :native-value=\"i\">\n              {{ l.name }}\n            </b-checkbox>\n          </li>\n        </ul>\n\n        <template v-if=\"serverConfig.public_subscription.enabled\">\n          <hr />\n          <h4>{{ $t('forms.publicSubPage') }}</h4>\n          <p>\n            <a :href=\"`${serverConfig.root_url}/subscription/form`\" target=\"_blank\" rel=\"noopener noreferer\"\n              data-cy=\"url\">\n              {{ serverConfig.root_url }}/subscription/form\n            </a>\n          </p>\n        </template>\n      </div>\n      <div class=\"column\" data-cy=\"form\">\n        <h4>{{ $t('forms.formHTML') }}</h4>\n        <p>\n          {{ $t('forms.formHTMLHelp') }}\n        </p>\n\n        <code-editor lang=\"html\" v-if=\"checked.length > 0\" v-model=\"html\" disabled />\n      </div>\n    </div><!-- columns -->\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CodeEditor from '../components/CodeEditor.vue';\n\nexport default Vue.extend({\n  name: 'ListForm',\n\n  components: {\n    'code-editor': CodeEditor,\n  },\n\n  data() {\n    return {\n      checked: [],\n      html: '',\n    };\n  },\n\n  methods: {\n    renderHTML() {\n      let h = `<form method=\"post\" action=\"${this.serverConfig.root_url}/subscription/form\" class=\"listmonk-form\">\\n`\n        + '  <div>\\n'\n        + `    <h3>${this.$t('public.sub')}</h3>\\n`\n        + '    <input type=\"hidden\" name=\"nonce\" />\\n\\n'\n        + `    <p><input type=\"email\" name=\"email\" required placeholder=\"${this.$t('subscribers.email')}\" /></p>\\n`\n        + `    <p><input type=\"text\" name=\"name\" placeholder=\"${this.$t('public.subName')}\" /></p>\\n\\n`;\n\n      this.checked.forEach((i) => {\n        const l = this.publicLists[parseInt(i, 10)];\n\n        h += '    <p>\\n'\n          + `      <input id=\"${l.uuid.substr(0, 5)}\" type=\"checkbox\" name=\"l\" checked value=\"${l.uuid}\" />\\n`\n          + `      <label for=\"${l.uuid.substr(0, 5)}\">${l.name}</label>\\n`;\n\n        if (l.description) {\n          h += '      <br />\\n'\n            + `      <span>${l.description}</span>\\n`;\n        }\n\n        h += '    </p>\\n';\n      });\n\n      // Captcha?\n      if (this.serverConfig.public_subscription.captcha_enabled) {\n        if (this.serverConfig.public_subscription.captcha_provider === 'altcha') {\n          h += '\\n'\n            + `    <altcha-widget challengeurl=\"${this.serverConfig.root_url}/api/public/captcha/altcha\"></altcha-widget>\\n`\n            + `    <${'script'} type=\"module\" src=\"${this.serverConfig.root_url}/public/static/altcha.umd.js\" async defer></${'script'}>\\n`;\n        } else if (this.serverConfig.public_subscription.captcha_provider === 'hcaptcha') {\n          h += '\\n'\n            + `    <div class=\"h-captcha\" data-sitekey=\"${this.serverConfig.public_subscription.captcha_key}\"></div>\\n`\n            + `    <${'script'} src=\"https://js.hcaptcha.com/1/api.js\" async defer></${'script'}>\\n`;\n        }\n      }\n\n      h += '\\n'\n        + `    <input type=\"submit\" value=\"${this.$t('public.sub')} \" />\\n`\n        + '  </div>\\n'\n        + '</form>';\n\n      this.html = h;\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'lists', 'serverConfig']),\n\n    publicLists() {\n      if (!this.lists.results) {\n        return [];\n      }\n      return this.lists.results.filter((l) => l.type === 'public');\n    },\n  },\n\n  watch: {\n    checked() {\n      this.renderHTML();\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Import.vue",
    "content": "<template>\n  <section class=\"import\">\n    <h1 class=\"title is-4\">\n      {{ $t('import.title') }}\n    </h1>\n    <b-loading :active=\"isLoading\" />\n\n    <section v-if=\"isFree()\" class=\"wrap\">\n      <form @submit.prevent=\"onUpload\" class=\"box\">\n        <div>\n          <div class=\"columns\">\n            <div class=\"column\">\n              <b-field :label=\"$t('import.mode')\" :addons=\"false\">\n                <div>\n                  <b-radio v-model=\"form.mode\" name=\"mode\" native-value=\"subscribe\" data-cy=\"check-subscribe\">\n                    {{ $t('import.subscribe') }}\n                  </b-radio>\n                  <br />\n                  <b-radio v-model=\"form.mode\" name=\"mode\" native-value=\"blocklist\" data-cy=\"check-blocklist\">\n                    {{ $t('import.blocklist') }}\n                  </b-radio>\n                </div>\n              </b-field>\n            </div>\n            <div class=\"column\">\n              <b-field :label=\"$t('globals.fields.status')\" :addons=\"false\">\n                <template v-if=\"form.mode === 'subscribe'\">\n                  <b-radio v-model=\"form.subStatus\" name=\"subStatus\" native-value=\"unconfirmed\"\n                    data-cy=\"check-unconfirmed\">\n                    {{ $t('subscribers.status.unconfirmed') }}\n                  </b-radio>\n                  <b-radio v-model=\"form.subStatus\" name=\"subStatus\" native-value=\"confirmed\" data-cy=\"check-confirmed\">\n                    {{ $t('subscribers.status.confirmed') }}\n                  </b-radio>\n                </template>\n\n                <b-radio v-else v-model=\"form.subStatus\" name=\"subStatus\" native-value=\"unsubscribed\"\n                  data-cy=\"check-unsubscribed\">\n                  {{ $t('subscribers.status.unsubscribed') }}\n                </b-radio>\n              </b-field>\n            </div>\n\n            <div class=\"column\">\n              <b-field :label=\"$t('import.csvDelim')\" :message=\"$t('import.csvDelimHelp')\" class=\"delimiter\">\n                <b-input v-model=\"form.delim\" name=\"delim\" placeholder=\",\" maxlength=\"1\" required />\n              </b-field>\n            </div>\n          </div>\n\n          <div class=\"columns\">\n            <div class=\"column is-4\">\n              <b-field v-if=\"form.mode === 'subscribe'\" :label=\"$t('import.overwriteUserInfo')\"\n                :message=\"$t('import.overwriteUserInfoHelp')\">\n                <div>\n                  <b-switch v-model=\"form.overwriteUserInfo\" name=\"overwriteUserInfo\" data-cy=\"overwrite-user-info\" />\n                </div>\n              </b-field>\n            </div>\n\n            <div class=\"column\">\n              <b-field v-if=\"form.mode === 'subscribe'\" :label=\"$t('import.overwriteSubStatus')\"\n                :message=\"$t('import.overwriteSubStatusHelp')\">\n                <div>\n                  <b-switch v-model=\"form.overwriteSubStatus\" name=\"overwriteSubStatus\"\n                    data-cy=\"overwrite-sub-status\" />\n                </div>\n              </b-field>\n            </div>\n          </div>\n\n          <list-selector v-if=\"form.mode === 'subscribe'\" :label=\"$t('globals.terms.lists')\"\n            :placeholder=\"$t('import.listSubHelp')\" :message=\"$t('import.listSubHelp')\" v-model=\"form.lists\"\n            :selected=\"form.lists\" :all=\"lists.results\" />\n          <hr />\n\n          <b-field :label=\"$t('import.csvFile')\" label-position=\"on-border\">\n            <b-upload v-model=\"form.file\" drag-drop expanded>\n              <div class=\"has-text-centered section\">\n                <p>\n                  <b-icon icon=\"file-upload-outline\" size=\"is-large\" />\n                </p>\n                <p>{{ $t('import.csvFileHelp') }}</p>\n              </div>\n            </b-upload>\n          </b-field>\n          <div class=\"tags\" v-if=\"form.file\">\n            <b-tag size=\"is-medium\" closable @close=\"clearFile\">\n              {{ form.file.name }}\n            </b-tag>\n          </div>\n          <div class=\"buttons\">\n            <b-button native-type=\"submit\" type=\"is-primary\"\n              :disabled=\"!form.file || (form.mode === 'subscribe' && form.lists.length === 0)\" :loading=\"isProcessing\">\n              {{ $t('import.upload') }}\n            </b-button>\n          </div>\n        </div>\n      </form>\n      <br /><br />\n\n      <div class=\"import-help\">\n        <h5 class=\"title is-size-6\">\n          {{ $t('import.instructions') }}\n        </h5>\n        <p>{{ $t('import.instructionsHelp') }}</p>\n        <br />\n        <blockquote class=\"csv-example\">\n          <code class=\"csv-headers\"> <span>email,</span> <span>name,</span> <span>attributes</span></code>\n        </blockquote>\n\n        <hr />\n\n        <h5 class=\"title is-size-6\">\n          {{ $t('import.csvExample') }}\n        </h5>\n\n        <pre class=\"csv-example\" v-text=\"example\" />\n      </div>\n    </section><!-- upload //-->\n\n    <section v-if=\"isRunning() || isDone()\" class=\"wrap status box has-text-centered\">\n      <b-progress :value=\"progress\" show-value type=\"is-success\" />\n      <br />\n      <p\n        :class=\"['is-size-5', 'is-capitalized', { 'has-text-success': status.status === 'finished' }, { 'has-text-danger': (status.status === 'failed' || status.status === 'stopped') }]\">\n        {{ status.status }}\n      </p>\n\n      <p>{{ $t('import.recordsCount', { num: status.imported, total: status.total }) }}</p>\n      <br />\n\n      <p>\n        <b-button @click=\"stopImport\" :loading=\"isProcessing\" icon-left=\"file-upload-outline\" type=\"is-primary\">\n          {{ isDone() ? $t('import.importDone') : $t('import.stopImport') }}\n        </b-button>\n      </p>\n      <br />\n\n      <div class=\"import-logs\">\n        <log-view :lines=\"logs\" :loading=\"false\" />\n      </div>\n    </section>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport ListSelector from '../components/ListSelector.vue';\nimport LogView from '../components/LogView.vue';\n\nexport default Vue.extend({\n  components: {\n    ListSelector,\n    LogView,\n  },\n\n  props: {\n    data: { type: Object, default: () => { } },\n    isEditing: { type: Boolean, default: false },\n  },\n\n  data() {\n    return {\n      form: {\n        mode: 'subscribe',\n        subStatus: 'unconfirmed',\n        delim: ',',\n        lists: [],\n        overwriteUserInfo: false,\n        overwriteSubStatus: false,\n        file: null,\n        example: '',\n      },\n\n      // Initial page load still has to wait for the status API to return\n      // to either show the form or the status box.\n      isLoading: true,\n\n      isProcessing: false,\n      status: { status: '' },\n      logs: [],\n      pollID: null,\n    };\n  },\n\n  watch: {\n    'form.mode': function formMode() {\n      // Select the appropriate status radio whenever mode changes.\n      this.$nextTick(() => {\n        if (this.form.mode === 'subscribe') {\n          this.form.subStatus = 'unconfirmed';\n        } else {\n          this.form.subStatus = 'unsubscribed';\n        }\n      });\n    },\n  },\n\n  methods: {\n    clearFile() {\n      this.form.file = null;\n    },\n\n    // Returns true if we're free to do an upload.\n    isFree() {\n      if (this.status.status === 'none') {\n        return true;\n      }\n      return false;\n    },\n\n    // Returns true if an import is running.\n    isRunning() {\n      if (this.status.status === 'importing'\n        || this.status.status === 'stopping') {\n        return true;\n      }\n      return false;\n    },\n\n    isSuccessful() {\n      return this.status.status === 'finished';\n    },\n\n    isFailed() {\n      return (\n        this.status.status === 'stopped'\n        || this.status.status === 'failed'\n      );\n    },\n\n    // Returns true if an import has finished (failed or successful).\n    isDone() {\n      if (this.status.status === 'finished'\n        || this.status.status === 'stopped'\n        || this.status.status === 'failed'\n      ) {\n        return true;\n      }\n      return false;\n    },\n\n    pollStatus() {\n      // Clear any running status polls.\n      clearInterval(this.pollID);\n\n      // Poll for the status as long as the import is running.\n      this.pollID = setInterval(() => {\n        this.$api.getImportStatus().then((data) => {\n          this.isProcessing = false;\n          this.isLoading = false;\n          this.status = data;\n          this.getLogs();\n\n          if (!this.isRunning()) {\n            clearInterval(this.pollID);\n          }\n        }, () => {\n          this.isProcessing = false;\n          this.isLoading = false;\n          this.status = { status: 'none' };\n          clearInterval(this.pollID);\n        });\n        return true;\n      }, 250);\n    },\n\n    getLogs() {\n      this.$api.getImportLogs().then((data) => {\n        this.logs = data.split('\\n').map((line) => line.replace(/\\s+importer\\.go:\\d+:\\s*/, ' *: '));\n        Vue.nextTick(() => {\n          // vue.$refs doesn't work as the logs textarea is rendered dynamically.\n          const ref = document.getElementById('import-log');\n          if (ref) {\n            ref.scrollTop = ref.scrollHeight;\n          }\n        });\n      });\n    },\n\n    // Cancel a running import or clears a finished import.\n    stopImport() {\n      this.isProcessing = true;\n      this.$api.stopImport().then(() => {\n        this.pollStatus();\n        this.form.file = null;\n      });\n    },\n\n    renderExample() {\n      const h = 'email,name,attributes\\n'\n        + 'user1@mail.com,\"User One\",\"{\"\"age\"\": 42, \"\"planet\"\": \"\"Mars\"\"}\"\\n'\n        + 'user2@mail.com,\"User Two\",\"{\"\"age\"\": 24, \"\"job\"\": \"\"Time Traveller\"\"}\"';\n\n      this.example = h;\n    },\n\n    resetForm() {\n      this.form.mode = 'subscribe';\n      this.form.overwriteUserInfo = false;\n      this.form.overwriteSubStatus = false;\n      this.form.file = null;\n      this.form.lists = [];\n      this.form.subStatus = 'unconfirmed';\n      this.form.delim = ',';\n    },\n\n    onUpload() {\n      if (this.form.mode === 'subscribe' && this.form.overwriteSubStatus) {\n        this.$utils.confirm(this.$t('import.subscribeWarning'), this.onSubmit, this.resetForm);\n        return;\n      }\n\n      this.onSubmit();\n    },\n\n    onSubmit() {\n      this.isProcessing = true;\n\n      // Prepare the upload payload.\n      const params = new FormData();\n      params.set('params', JSON.stringify({\n        mode: this.form.mode,\n        subscription_status: this.form.subStatus,\n        delim: this.form.delim,\n        lists: this.form.lists.map((l) => l.id),\n        overwrite_userinfo: this.form.overwriteUserInfo,\n        overwrite_subscription_status: this.form.overwriteSubStatus,\n      }));\n      params.set('file', this.form.file);\n\n      // Post.\n      this.$api.importSubscribers(params).then(() => {\n        // On file upload, show a confirmation.\n        this.$utils.toast(this.$t('import.importStarted'));\n\n        // Start polling status.\n        this.pollStatus();\n      }, () => {\n        this.isProcessing = false;\n        this.form.file = null;\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['lists']),\n\n    // Import progress bar value.\n    progress() {\n      if (!this.status || !this.status.total > 0) {\n        return 0;\n      }\n      return Math.ceil((this.status.imported / this.status.total) * 100);\n    },\n  },\n\n  mounted() {\n    this.renderExample();\n    this.pollStatus();\n\n    const ids = this.$utils.parseQueryIDs(this.$route.query.list_id);\n    if (ids.length > 0 && this.lists.results) {\n      this.$nextTick(() => {\n        this.form.lists = this.lists.results.filter((l) => ids.indexOf(l.id) > -1);\n      });\n    }\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/ListForm.vue",
    "content": "<template>\n  <form @submit.prevent=\"onSubmit\">\n    <div class=\"modal-card content\" style=\"width: auto\">\n      <header class=\"modal-card-head\">\n        <p v-if=\"isEditing\" class=\"has-text-grey-light is-size-7\">\n          {{ $t('globals.fields.id') }}: <copy-text :text=\"`${data.id}`\" />\n          {{ $t('globals.fields.uuid') }}: <copy-text :text=\"data.uuid\" />\n        </p>\n        <b-tag v-if=\"isEditing\" :class=\"[data.type, 'is-pulled-right']\">\n          {{ $t(`lists.types.${data.type}`) }}\n        </b-tag>\n        <h4 v-if=\"isEditing\">\n          {{ data.name }}\n        </h4>\n        <h4 v-else>\n          {{ $t('lists.newList') }}\n        </h4>\n      </header>\n      <section expanded class=\"modal-card-body\">\n        <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n          <b-input :maxlength=\"200\" :ref=\"'focus'\" v-model=\"form.name\" name=\"name\"\n            :placeholder=\"$t('globals.fields.name')\" required />\n        </b-field>\n\n        <b-field :label=\"$t('lists.type')\" label-position=\"on-border\" :message=\"$t('lists.typeHelp')\">\n          <b-select v-model=\"form.type\" name=\"type\" :placeholder=\"$t('lists.typeHelp')\" required expanded>\n            <option value=\"private\">\n              {{ $t('lists.types.private') }}\n            </option>\n            <option value=\"public\">\n              {{ $t('lists.types.public') }}\n            </option>\n          </b-select>\n        </b-field>\n\n        <b-field :label=\"$t('lists.optin')\" label-position=\"on-border\" :message=\"$t('lists.optinHelp')\">\n          <b-select v-model=\"form.optin\" name=\"optin\" placeholder=\"Opt-in type\" required expanded>\n            <option value=\"single\">\n              {{ $t('lists.optins.single') }}\n            </option>\n            <option value=\"double\">\n              {{ $t('lists.optins.double') }}\n            </option>\n          </b-select>\n        </b-field>\n\n        <b-field :label=\"$t('globals.terms.tags')\" label-position=\"on-border\">\n          <b-taginput v-model=\"form.tags\" name=\"tags\" ellipsis icon=\"tag-outline\"\n            :placeholder=\"$t('globals.terms.tags')\" />\n        </b-field>\n\n        <b-field :label=\"$t('globals.fields.description')\" label-position=\"on-border\">\n          <b-input :maxlength=\"2000\" v-model=\"form.description\" name=\"description\" type=\"textarea\"\n            :placeholder=\"$t('globals.fields.description')\" />\n        </b-field>\n\n        <b-field :message=\"$t('lists.archivedHelp')\" :label=\"$t('lists.archived')\">\n          <b-switch v-model=\"isArchived\" name=\"status\" />\n        </b-field>\n      </section>\n      <footer class=\"modal-card-foot has-text-right\">\n        <b-button @click=\"$parent.close()\">\n          {{ $t('globals.buttons.close') }}\n        </b-button>\n        <b-button v-if=\"$can('lists:manage_all') || $canList(data.id, 'list:manage')\" native-type=\"submit\"\n          type=\"is-primary\" :loading=\"loading.lists\" data-cy=\"btn-save\">\n          {{ $t('globals.buttons.save') }}\n        </b-button>\n      </footer>\n    </div>\n  </form>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CopyText from '../components/CopyText.vue';\n\nexport default Vue.extend({\n  name: 'ListForm',\n\n  components: {\n    CopyText,\n  },\n\n  props: {\n    data: { type: Object, default: () => ({}) },\n    isEditing: { type: Boolean, default: false },\n  },\n\n  data() {\n    return {\n      // Binds form input values.\n      form: {\n        name: '',\n        type: 'private',\n        optin: 'single',\n        status: 'active',\n        tags: [],\n      },\n    };\n  },\n\n  methods: {\n    onSubmit() {\n      if (this.isEditing) {\n        this.updateList();\n        return;\n      }\n\n      this.createList();\n    },\n\n    createList() {\n      this.$api.createList(this.form).then((data) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(this.$t('globals.messages.created', { name: data.name }));\n      });\n    },\n\n    updateList() {\n      this.$api.updateList({ id: this.data.id, ...this.form }).then((data) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(this.$t('globals.messages.updated', { name: data.name }));\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'profile']),\n\n    isArchived: {\n      get() {\n        return this.form.status === 'archived';\n      },\n      set(v) {\n        this.form.status = v ? 'archived' : 'active';\n      },\n    },\n  },\n\n  mounted() {\n    this.form = { ...this.form, ...this.$props.data };\n\n    this.$nextTick(() => {\n      this.$refs.focus.focus();\n    });\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Lists.vue",
    "content": "<template>\n  <section class=\"lists\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-10\">\n        <h1 class=\"title is-4 mb-2\">\n          {{ $t('globals.terms.lists') }}\n          <span v-if=\"queryParams.status === 'archived'\" class=\"has-text-grey-light\">/ {{ queryParams.status }} </span>\n          <span v-if=\"!isNaN(lists.total)\">({{ lists.total }})</span>\n        </h1>\n\n        <div class=\"is-size-7\">\n          <router-link v-if=\"queryParams.status !== 'archived'\" :to=\"{ name: 'lists', query: { status: 'archived' } }\">\n            {{ $t('globals.buttons.view') }} {{ $t('lists.archived').toLowerCase() }} &rarr;\n          </router-link>\n          <router-link v-else :to=\"{ name: 'lists' }\">\n            {{ $t('globals.buttons.view') }} {{ $t('menu.allLists').toLowerCase() }} &rarr;\n          </router-link>\n        </div>\n      </div>\n      <div class=\"column has-text-right\">\n        <b-field v-if=\"$can('lists:manage_all')\" expanded>\n          <b-button expanded type=\"is-primary\" icon-left=\"plus\" class=\"btn-new\" @click=\"showNewForm\" data-cy=\"btn-new\">\n            {{ $t('globals.buttons.new') }}\n          </b-button>\n        </b-field>\n      </div>\n    </header>\n\n    <b-table :data=\"lists.results\" :loading=\"loading.listsFull\" @check-all=\"onTableCheck\" @check=\"onTableCheck\"\n      :checked-rows.sync=\"bulk.checked\" hoverable default-sort=\"createdAt\" paginated backend-pagination\n      pagination-position=\"both\" @page-change=\"onPageChange\" :current-page=\"queryParams.page\" :per-page=\"lists.perPage\"\n      :total=\"lists.total\" checkable backend-sorting @sort=\"onSort\">\n      <template #top-left>\n        <div class=\"columns\">\n          <div class=\"column is-6\">\n            <form @submit.prevent=\"getLists\">\n              <b-field>\n                <b-input v-model=\"queryParams.query\" name=\"query\" expanded icon=\"magnify\" ref=\"query\" data-cy=\"query\" />\n                <p class=\"controls\">\n                  <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" data-cy=\"btn-query\" />\n                </p>\n              </b-field>\n            </form>\n          </div>\n        </div>\n        <div class=\"actions\" v-if=\"bulk.checked.length > 0\">\n          <a class=\"a\" href=\"#\" @click.prevent=\"deleteLists\" data-cy=\"btn-delete-lists\">\n            <b-icon icon=\"trash-can-outline\" size=\"is-small\" /> {{ $t('globals.buttons.delete') }}\n          </a>\n          <span class=\"a\">\n            {{ $tc('globals.messages.numSelected', numSelectedLists, { num: numSelectedLists }) }}\n            <span v-if=\"!bulk.all && lists.total > lists.perPage\">\n              &mdash;\n              <a href=\"#\" @click.prevent=\"onSelectAll\" data-cy=\"select-all-lists\">\n                {{ $tc('globals.messages.selectAll', lists.total, { num: lists.total }) }}\n              </a>\n            </span>\n          </span>\n        </div>\n      </template>\n\n      <b-table-column v-slot=\"props\" field=\"name\" :label=\"$t('globals.fields.name')\" header-class=\"cy-name\" sortable\n        width=\"25%\" paginated backend-pagination pagination-position=\"both\" :td-attrs=\"$utils.tdID\"\n        @page-change=\"onPageChange\">\n        <div>\n          <a :href=\"`/lists/${props.row.id}`\" @click.prevent=\"showEditForm(props.row)\">\n            {{ props.row.name }}\n          </a>\n          <b-taglist>\n            <b-tag class=\"is-small\" v-for=\"t in props.row.tags\" :key=\"t\">\n              {{ t }}\n            </b-tag>\n          </b-taglist>\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"type\" :label=\"$t('globals.fields.type')\" header-class=\"cy-type\" sortable\n        width=\"15%\">\n        <div class=\"tags\">\n          <b-tag :class=\"props.row.type\" :data-cy=\"`type-${props.row.type}`\">\n            {{ $t(`lists.types.${props.row.type}`) }}\n          </b-tag>\n          {{ ' ' }}\n\n          <b-tag :class=\"props.row.optin\" :data-cy=\"`optin-${props.row.optin}`\">\n            <b-icon :icon=\"props.row.optin === 'double' ? 'account-check-outline' : 'account-off-outline'\"\n              size=\"is-small\" />\n            {{ ' ' }}\n            {{ $t(`lists.optins.${props.row.optin}`) }}\n          </b-tag>{{ ' ' }}\n\n          <a v-if=\"props.row.optin === 'double'\" class=\"is-size-7 send-optin\" href=\"#\"\n            @click=\"$utils.confirm(null, () => createOptinCampaign(props.row))\" data-cy=\"btn-send-optin-campaign\">\n            <b-tooltip :label=\"$t('lists.sendOptinCampaign')\" type=\"is-dark\">\n              <b-icon icon=\"rocket-launch-outline\" size=\"is-small\" />\n              {{ $t('lists.sendOptinCampaign') }}\n            </b-tooltip>\n          </a>\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"subscriber_count\" :label=\"$t('globals.terms.subscribers')\"\n        header-class=\"cy-subscribers\" numeric sortable centered>\n        <template v-if=\"$can('subscribers:get_all', 'subscribers:get')\">\n          <router-link :to=\"`/subscribers/lists/${props.row.id}`\">\n            {{ $utils.formatNumber(props.row.subscriberCount) }}\n            <span class=\"is-size-7 view\">{{ $t('globals.buttons.view') }}</span>\n          </router-link>\n        </template>\n        <template v-else>\n          {{ $utils.formatNumber(props.row.subscriberCount) }}\n        </template>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"subscriber_counts\" header-class=\"cy-subscribers\" width=\"10%\">\n        <div class=\"fields stats\">\n          <p v-for=\"(count, status) in filterStatuses(props.row)\" :key=\"status\">\n            <label for=\"#\">{{ $tc(`subscribers.status.${status}`, count) }}</label>\n            <router-link :to=\"`/subscribers/lists/${props.row.id}?subscription_status=${status}`\" :class=\"status\">\n              {{ $utils.formatNumber(count) }}\n            </router-link>\n          </p>\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"created_at\" :label=\"$t('globals.fields.createdAt')\"\n        header-class=\"cy-created_at\" sortable>\n        {{ $utils.niceDate(props.row.createdAt) }}\n      </b-table-column>\n      <b-table-column v-slot=\"props\" field=\"updated_at\" :label=\"$t('globals.fields.updatedAt')\"\n        header-class=\"cy-updated_at\" sortable>\n        {{ $utils.niceDate(props.row.updatedAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions\" align=\"right\">\n        <div>\n          <router-link v-if=\"$can('campaigns:manage')\" :to=\"`/campaigns/new?list_id=${props.row.id}`\"\n            data-cy=\"btn-campaign\">\n            <b-tooltip :label=\"$t('lists.sendCampaign')\" type=\"is-dark\">\n              <b-icon icon=\"rocket-launch-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </router-link>\n\n          <a v-if=\"$can('lists:manage') || $canList(props.row.id, 'list:manage')\" href=\"#\"\n            @click.prevent=\"showEditForm(props.row)\" data-cy=\"btn-edit\" :aria-label=\"$t('globals.buttons.edit')\">\n            <b-tooltip :label=\"$t('globals.buttons.edit')\" type=\"is-dark\">\n              <b-icon icon=\"pencil-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n\n          <router-link v-if=\"$can('subscribers:import')\" :to=\"{ name: 'import', query: { list_id: props.row.id } }\"\n            data-cy=\"btn-import\">\n            <b-tooltip :label=\"$t('import.title')\" type=\"is-dark\">\n              <b-icon icon=\"file-upload-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </router-link>\n\n          <a v-if=\"$can('lists:manage') || $canList(props.row.id, 'list:manage')\" href=\"#\"\n            @click.prevent=\"deleteList(props.row)\" data-cy=\"btn-delete\" :aria-label=\"$t('globals.buttons.delete')\">\n            <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n        </div>\n      </b-table-column>\n\n      <template #empty v-if=\"!loading.listsFull\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n\n    <!-- Add / edit form modal -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isFormVisible\" :width=\"600\" @close=\"onFormClose\">\n      <list-form :data=\"curItem\" :is-editing=\"isEditing\" @finished=\"formFinished\" />\n    </b-modal>\n\n    <p v-if=\"settings['app.cache_slow_queries']\" class=\"has-text-grey\">\n      *{{ $t('globals.messages.slowQueriesCached') }}\n      <a href=\"https://listmonk.app/docs/maintenance/performance/\" target=\"_blank\" rel=\"noopener noreferer\"\n        class=\"has-text-grey\">\n        <b-icon icon=\"link-variant\" /> {{ $t('globals.buttons.learnMore') }}\n      </a>\n    </p>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\nimport ListForm from './ListForm.vue';\n\nexport default Vue.extend({\n  components: {\n    ListForm,\n    EmptyPlaceholder,\n  },\n\n  data() {\n    return {\n      // Current list item being edited.\n      curItem: null,\n      isEditing: false,\n      isFormVisible: false,\n      lists: [],\n      queryParams: {\n        page: 1,\n        query: '',\n        orderBy: 'id',\n        order: 'asc',\n        status: this.$route.query.status || 'active',\n      },\n\n      // Table bulk row selection states.\n      bulk: {\n        checked: [],\n        all: false,\n      },\n    };\n  },\n\n  methods: {\n    onPageChange(p) {\n      this.queryParams.page = p;\n      this.getLists();\n    },\n\n    onSort(field, direction) {\n      this.queryParams.orderBy = field;\n      this.queryParams.order = direction;\n      this.getLists();\n    },\n\n    // Show the edit list form.\n    showEditForm(list) {\n      this.curItem = list;\n      this.isFormVisible = true;\n      this.isEditing = true;\n    },\n\n    // Show the new list form.\n    showNewForm() {\n      this.curItem = {};\n      this.isFormVisible = true;\n      this.isEditing = false;\n    },\n\n    formFinished() {\n      this.getLists();\n    },\n\n    onFormClose() {\n      if (this.$route.params.id) {\n        this.$router.push({ name: 'lists' });\n      }\n    },\n\n    filterStatuses(list) {\n      const out = { ...list.subscriberStatuses };\n      if (list.optin === 'single') {\n        delete out.unconfirmed;\n        delete out.confirmed;\n      }\n      return out;\n    },\n\n    getLists() {\n      this.$api.queryLists({\n        page: this.queryParams.page,\n        query: this.queryParams.query.replace(/[^\\p{L}\\p{N}\\s]/gu, ' '),\n        order_by: this.queryParams.orderBy,\n        order: this.queryParams.order,\n        status: this.queryParams.status,\n      }).then((resp) => {\n        this.lists = resp;\n      });\n\n      // Also fetch the minimal lists for the global store that appears\n      // in dropdown menus on other pages like import and campaigns.\n      this.$api.getLists({ minimal: true, per_page: 'all', status: 'active' });\n    },\n\n    deleteList(list) {\n      this.$utils.confirm(\n        this.$t('lists.confirmDelete'),\n        () => {\n          this.$api.deleteList(list.id).then(() => {\n            this.getLists();\n\n            this.$utils.toast(this.$t('globals.messages.deleted', { name: list.name }));\n          });\n        },\n      );\n    },\n\n    // Mark all lists in the query as selected.\n    onSelectAll() {\n      this.bulk.all = true;\n    },\n\n    onTableCheck() {\n      // Disable bulk.all selection if there are no rows checked in the table.\n      if (this.bulk.checked.length !== this.lists.total) {\n        this.bulk.all = false;\n      }\n    },\n\n    deleteLists() {\n      const name = this.$tc('globals.terms.list', this.numSelectedCampaigns);\n\n      const fn = () => {\n        const params = {};\n        if (!this.bulk.all && this.bulk.checked.length > 0) {\n          // If 'all' is not selected, delete lists by IDs.\n          params.id = this.bulk.checked.map((l) => l.id);\n        } else {\n          // 'All' is selected, delete by query.\n          params.query = this.queryParams.query.replace(/[^\\p{L}\\p{N}\\s]/gu, ' ');\n          params.all = this.bulk.all;\n        }\n\n        this.$api.deleteLists(params)\n          .then(() => {\n            this.getLists();\n            this.$utils.toast(this.$tc(\n              'globals.messages.deletedCount',\n              this.numSelectedLists,\n              { num: this.numSelectedLists, name },\n            ));\n          });\n      };\n\n      this.$utils.confirm(this.$tc(\n        'globals.messages.confirmDelete',\n        this.numSelectedLists,\n        { num: this.numSelectedLists, name: name.toLowerCase() },\n      ), fn);\n    },\n\n    createOptinCampaign(list) {\n      const data = {\n        name: this.$t('lists.optinTo', { name: list.name }),\n        subject: this.$t('lists.confirmSub', { name: list.name }),\n        lists: [list.id],\n        from_email: this.settings['app.from_email'],\n        content_type: 'richtext',\n        messenger: 'email',\n        type: 'optin',\n      };\n\n      this.$api.createCampaign(data).then((d) => {\n        this.$router.push({ name: 'campaign', hash: '#content', params: { id: d.id } });\n      });\n      return false;\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'settings']),\n\n    numSelectedLists() {\n      return this.bulk.all ? this.lists.total : this.bulk.checked.length;\n    },\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.getLists);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.getLists);\n  },\n\n  mounted() {\n    if (this.$route.params.id) {\n      this.$api.getList(parseInt(this.$route.params.id, 10)).then((data) => {\n        this.showEditForm(data);\n      });\n    } else {\n      this.getLists();\n    }\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Logs.vue",
    "content": "<template>\n  <section class=\"logs content relative\">\n    <h1 class=\"title is-4\">\n      {{ $t('logs.title') }}\n    </h1>\n    <hr />\n    <log-view :loading=\"loading.logs\" :lines=\"lines\" />\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport LogView from '../components/LogView.vue';\n\nexport default Vue.extend({\n  components: {\n    LogView,\n  },\n\n  data() {\n    return {\n      lines: [],\n      pollId: null,\n    };\n  },\n\n  methods: {\n    getLogs() {\n      this.$api.getLogs().then((data) => {\n        this.lines = data;\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['logs', 'loading']),\n  },\n\n  mounted() {\n    this.getLogs();\n\n    // Update the logs every 10 seconds.\n    this.pollId = setInterval(() => this.getLogs(), 10000);\n  },\n\n  destroyed() {\n    clearInterval(this.pollId);\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Maintenance.vue",
    "content": "<template>\n  <section class=\"maintenance wrap\">\n    <h1 class=\"title is-4\">\n      {{ $t('maintenance.title') }}\n    </h1>\n    <hr />\n    <p class=\"has-text-grey\">\n      {{ $t('maintenance.help') }}\n    </p>\n    <br />\n\n    <div class=\"box\">\n      <h4 class=\"is-size-4\">\n        {{ $t('globals.terms.subscribers') }}\n      </h4><br />\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <b-field label=\"Data\" :message=\"$t('maintenance.orphanHelp')\">\n            <b-select v-model=\"subscriberType\" expanded>\n              <option value=\"orphan\">\n                {{ $t('dashboard.orphanSubs') }}\n              </option>\n              <option value=\"blocklisted\">\n                {{ $t('subscribers.status.blocklisted') }}\n              </option>\n            </b-select>\n          </b-field>\n        </div>\n        <div class=\"column is-5\" />\n        <div class=\"column\">\n          <br />\n          <b-field>\n            <b-button class=\"is-primary\" :loading=\"loading.maintenance\" @click=\"deleteSubscribers\" expanded>\n              {{ $t('globals.buttons.delete') }}\n            </b-button>\n          </b-field>\n        </div>\n      </div>\n    </div><!-- subscribers -->\n\n    <div class=\"box mt-6\">\n      <h4 class=\"is-size-4\">\n        {{ $tc('globals.terms.subscriptions', 2) }}\n      </h4><br />\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <b-field label=\"Data\">\n            <b-select v-model=\"subscriptionType\" expanded>\n              <option value=\"optin\">\n                {{ $t('maintenance.maintenance.unconfirmedOptins') }}\n              </option>\n            </b-select>\n          </b-field>\n        </div>\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('maintenance.olderThan')\">\n            <b-datepicker v-model=\"subscriptionDate\" required expanded icon=\"calendar-clock\"\n              :date-formatter=\"formatDateTime\" />\n          </b-field>\n        </div>\n        <div class=\"column is-1\" />\n        <div class=\"column\">\n          <br />\n          <b-field>\n            <b-button class=\"is-primary\" :loading=\"loading.maintenance\" @click=\"deleteSubscriptions\" expanded>\n              {{ $t('globals.buttons.delete') }}\n            </b-button>\n          </b-field>\n        </div>\n      </div>\n    </div><!-- subscriptions -->\n\n    <div class=\"box mt-6\">\n      <h4 class=\"is-size-4\">\n        {{ $t('globals.terms.analytics') }}\n      </h4><br />\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <b-field label=\"Data\">\n            <b-select v-model=\"analyticsType\" expanded>\n              <option selected value=\"all\">\n                {{ $t('globals.terms.all') }}\n              </option>\n              <option value=\"views\">\n                {{ $t('dashboard.campaignViews') }}\n              </option>\n              <option value=\"clicks\">\n                {{ $t('dashboard.linkClicks') }}\n              </option>\n            </b-select>\n          </b-field>\n        </div>\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('maintenance.olderThan')\">\n            <b-datepicker v-model=\"analyticsDate\" required expanded icon=\"calendar-clock\"\n              :date-formatter=\"formatDateTime\" />\n          </b-field>\n        </div>\n        <div class=\"column is-1\" />\n        <div class=\"column\">\n          <br />\n          <b-field>\n            <b-button expanded class=\"is-primary\" :loading=\"loading.maintenance\" @click=\"deleteAnalytics\">\n              {{ $t('globals.buttons.delete') }}\n            </b-button>\n          </b-field>\n        </div>\n      </div>\n    </div><!-- analytics -->\n\n    <form @submit.prevent=\"onUpdateDBSettings\" class=\"box mt-6\">\n      <h4 class=\"is-size-4\">\n        {{ $t('maintenance.database.title') }}\n      </h4><br />\n      <h5 class=\"is-size-5\">Vacuum</h5>\n      <p class=\"has-text-grey is-size-7\">\n        {{ $t('maintenance.database.vacuumHelp') }}\n      </p>\n      <br />\n      <div class=\"columns\">\n        <div class=\"column is-2\">\n          <b-field :label=\"$t('globals.buttons.enabled')\">\n            <b-switch v-model=\"dbSettings.vacuum\" />\n          </b-field>\n        </div>\n        <div class=\"column is-4\" :class=\"{ disabled: !dbSettings.vacuum }\">\n          <b-field :label=\"$t('settings.maintenance.cron')\">\n            <b-input v-model=\"dbSettings.vacuum_cron_interval\" placeholder=\"0 2 * * *\" :disabled=\"!dbSettings.vacuum\"\n              pattern=\"((\\*|[0-9,\\-\\/]+)\\s+){4}(\\*|[0-9,\\-\\/]+)\" />\n          </b-field>\n        </div>\n        <div class=\"column is-3\" />\n        <div class=\"column is-3\">\n          <br />\n          <b-button type=\"is-primary\" native-type=\"submit\" :loading=\"loading.settings\" expanded>\n            {{ $t('globals.buttons.save') }}\n          </b-button>\n        </div>\n      </div>\n    </form><!-- database -->\n\n    <b-loading :is-full-page=\"true\" v-if=\"isLoading\" active />\n  </section>\n</template>\n\n<script>\nimport dayjs from 'dayjs';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n  components: {\n  },\n\n  data() {\n    return {\n      isLoading: false,\n      subscriberType: 'orphan',\n      analyticsType: 'all',\n      subscriptionType: 'optin',\n      analyticsDate: dayjs().subtract(7, 'day').toDate(),\n      subscriptionDate: dayjs().subtract(7, 'day').toDate(),\n      dbSettings: {\n        vacuum: false,\n        vacuum_cron_interval: '0 2 * * *',\n      },\n    };\n  },\n\n  mounted() {\n    this.loadDBSettings();\n  },\n\n  methods: {\n    formatDateTime(s) {\n      return dayjs(s).format('YYYY-MM-DD');\n    },\n\n    deleteSubscribers() {\n      this.$utils.confirm(\n        null,\n        () => {\n          this.$api.deleteGCSubscribers(this.subscriberType).then((data) => {\n            this.$utils.toast(this.$t(\n              'globals.messages.deletedCount',\n              { name: this.$tc('globals.terms.subscribers', 2), num: data.count },\n            ));\n          });\n        },\n      );\n    },\n\n    deleteSubscriptions() {\n      this.$utils.confirm(\n        null,\n        () => {\n          this.$api.deleteGCSubscriptions(this.subscriptionDate).then((data) => {\n            this.$utils.toast(this.$t(\n              'globals.messages.deletedCount',\n              { name: this.$tc('globals.terms.subscriptions', 2), num: data.count },\n            ));\n          });\n        },\n      );\n    },\n\n    deleteAnalytics() {\n      this.$utils.confirm(\n        null,\n        () => {\n          this.$api.deleteGCCampaignAnalytics(this.analyticsType, this.analyticsDate)\n            .then(() => {\n              this.$utils.toast(this.$t('globals.messages.done'));\n            });\n        },\n      );\n    },\n\n    loadDBSettings() {\n      this.$api.getSettings().then((data) => {\n        if (data['maintenance.db'] !== undefined) {\n          this.dbSettings = { ...data['maintenance.db'] };\n        }\n      });\n    },\n\n    async onUpdateDBSettings() {\n      this.isLoading = true;\n      const data = await this.$api.updateSettingsByKey('maintenance.db', this.dbSettings);\n      await this.$root.awaitRestart(data);\n      this.isLoading = false;\n    },\n  },\n\n  computed: {\n    ...mapState(['loading']),\n  },\n\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Media.vue",
    "content": "<template>\n  <section class=\"media-files\">\n    <h1 class=\"title is-4\">\n      {{ $t('media.title') }}\n      <span v-if=\"media.results && media.results.length > 0\">({{ media.results.length }})</span>\n      <span class=\"has-text-grey-light\"> / {{ serverConfig.media_provider }}</span>\n    </h1>\n\n    <b-loading :active=\"isProcessing || loading.media\" />\n\n    <section class=\"wrap gallery mt-6\">\n      <div class=\"columns mb-4\">\n        <div class=\"column\">\n          <form @submit.prevent=\"onQueryMedia\" class=\"search\">\n            <div>\n              <b-field>\n                <b-input v-model=\"queryParams.query\" name=\"query\" expanded icon=\"magnify\" ref=\"query\" data-cy=\"query\" />\n                <p class=\"controls\">\n                  <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" data-cy=\"btn-query\" />\n                </p>\n              </b-field>\n            </div>\n          </form>\n        </div>\n        <div v-if=\"$can('media:manage')\" class=\"column is-narrow\">\n          <b-button @click=\"onToggleForm\" icon-left=\"file-upload-outline\" data-cy=\"btn-toggle-upload\">\n            {{ $t('media.upload') }}\n          </b-button>\n        </div>\n      </div>\n\n      <b-collapse v-if=\"$can('media:manage')\" v-model=\"showUploadForm\" animation=\"\">\n        <form @submit.prevent=\"onSubmit\" class=\"mb-6\" data-cy=\"upload\">\n          <div>\n            <b-field :label=\"$t('media.upload')\">\n              <b-upload v-model=\"form.files\" drag-drop multiple xaccept=\".png,.jpg,.jpeg,.gif,.svg\" expanded>\n                <div class=\"has-text-centered section\">\n                  <p>\n                    <b-icon icon=\"file-upload-outline\" size=\"is-large\" />\n                  </p>\n                  <p>{{ $t('media.uploadHelp') }}</p>\n                </div>\n              </b-upload>\n            </b-field>\n            <div class=\"tags\" v-if=\"form.files.length > 0\">\n              <b-tag v-for=\"(f, i) in form.files\" :key=\"i\" size=\"is-medium\" closable @close=\"removeUploadFile(i)\">\n                {{ f.name }}\n              </b-tag>\n            </div>\n            <div class=\"buttons\">\n              <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"file-upload-outline\"\n                :disabled=\"form.files.length === 0\" :loading=\"isProcessing\">\n                {{ $tc('media.upload') }}\n              </b-button>\n            </div>\n          </div>\n        </form>\n      </b-collapse>\n\n      <!-- Pagination -->\n      <div v-if=\"media.total > media.perPage\" class=\"pagination-wrapper mt-5\">\n        <b-pagination :total=\"media.total\" :current.sync=\"media.page\" :per-page=\"media.perPage\"\n          @change=\"onPageChange\" />\n      </div>\n\n      <div v-if=\"loading.media\" class=\"has-text-centered py-6\">\n        <b-loading :active=\"loading.media\" />\n      </div>\n      <div v-else-if=\"media.results && media.results.length > 0\" class=\"grid\">\n        <div v-for=\"item in media.results\" :key=\"item.id\" class=\"item\">\n          <div class=\"thumb\">\n            <a @click=\"(e) => onMediaSelect(item, e)\" :href=\"item.url\" target=\"_blank\" rel=\"noopener noreferer\"\n              class=\"thumb-link\">\n              <div class=\"thumb-container\">\n                <img v-if=\"item.thumbUrl\" :src=\"item.thumbUrl\" :title=\"item.filename\" :alt=\"item.filename\" />\n                <div v-else class=\"thumb-placeholder\">\n                  <span class=\"file-ext\">\n                    {{ item.filename.split(\".\").pop().toUpperCase() }}\n                  </span>\n                </div>\n              </div>\n            </a>\n            <div class=\"actions\">\n              <a href=\"#\" @click.prevent=\"$utils.confirm(null, () => onDeleteMedia(item.id))\" data-cy=\"btn-delete\"\n                :aria-label=\"$t('globals.buttons.delete')\" class=\"delete-btn\">\n                <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n              </a>\n            </div>\n          </div>\n          <div class=\"info\">\n            <p class=\"filename\" :title=\"item.filename\">{{ item.filename }}</p>\n            <p class=\"date\">{{ $utils.niceDate(item.createdAt, false) }}</p>\n          </div>\n        </div>\n      </div>\n\n      <!-- Empty State -->\n      <div v-else-if=\"!loading.media\">\n        <empty-placeholder />\n      </div>\n\n      <!-- Pagination -->\n      <div v-if=\"media.total > media.perPage\" class=\"pagination-wrapper mt-5\">\n        <b-pagination :total=\"media.total\" :current.sync=\"media.page\" :per-page=\"media.perPage\"\n          @change=\"onPageChange\" />\n      </div>\n    </section>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\n\nexport default Vue.extend({\n  components: {\n    EmptyPlaceholder,\n  },\n\n  name: 'Media',\n\n  props: {\n    isModal: Boolean,\n    type: { type: String, default: '' },\n  },\n\n  data() {\n    return {\n      form: {\n        files: [],\n      },\n      toUpload: 0,\n      uploaded: 0,\n      showUploadForm: false,\n\n      queryParams: {\n        page: 1,\n        query: '',\n      },\n    };\n  },\n\n  methods: {\n    removeUploadFile(i) {\n      this.form.files.splice(i, 1);\n    },\n\n    getMedia() {\n      this.$api.getMedia({\n        page: this.queryParams.page,\n        query: this.queryParams.query,\n      });\n    },\n\n    onToggleForm() {\n      this.showUploadForm = !this.showUploadForm;\n      this.$utils.setPref('media.upload', this.showUploadForm);\n    },\n\n    onQueryMedia() {\n      this.queryParams.page = 1;\n      this.getMedia();\n    },\n\n    onMediaSelect(m, e) {\n      // If the component is open in the modal mode, close the modal and\n      // fire the selection event.\n      // Otherwise, do nothing and let the image open like a normal link.\n      if (this.isModal) {\n        e.preventDefault();\n        this.$emit('selected', m);\n        this.$parent.close();\n      }\n    },\n\n    onSubmit() {\n      this.toUpload = this.form.files.length;\n\n      // Upload N files with N requests.\n      for (let i = 0; i < this.toUpload; i += 1) {\n        const params = new FormData();\n        params.set('file', this.form.files[i]);\n        this.$api.uploadMedia(params).then(() => {\n          this.onUploaded();\n        }, () => {\n          this.onUploaded();\n        });\n      }\n    },\n\n    onDeleteMedia(id) {\n      this.$api.deleteMedia(id).then(() => {\n        this.getMedia();\n      });\n    },\n\n    onUploaded() {\n      this.uploaded += 1;\n      if (this.uploaded >= this.toUpload) {\n        this.toUpload = 0;\n        this.uploaded = 0;\n        this.form.files = [];\n\n        this.getMedia();\n      }\n    },\n\n    onPageChange(p) {\n      this.queryParams.page = p;\n      this.getMedia();\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'media', 'serverConfig']),\n\n    isProcessing() {\n      if (this.toUpload > 0 && this.uploaded < this.toUpload) {\n        return true;\n      }\n      return false;\n    },\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.getMedia);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.getMedia);\n  },\n\n  mounted() {\n    this.$api.getMedia();\n\n    if (this.$utils.getPref('media.upload')) {\n      this.showUploadForm = true;\n    }\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/RoleForm.vue",
    "content": "<template>\n  <form @submit.prevent=\"onSubmit\">\n    <div class=\"modal-card content\" style=\"width: auto\">\n      <header class=\"modal-card-head\">\n        <p v-if=\"isEditing\" class=\"has-text-grey-light is-size-7\">\n          {{ $t('globals.fields.id') }}: <copy-text :text=\"`${data.id}`\" />\n        </p>\n        <h4 v-if=\"isEditing\">\n          {{ data.name }}\n        </h4>\n        <h4 v-else>\n          {{ type === 'user' ? $t('users.newUserRole') : $t('users.newListRole') }}\n        </h4>\n      </header>\n\n      <section expanded class=\"modal-card-body\">\n        <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n          <b-input autofocus :disabled=\"disabled\" :maxlength=\"200\" v-model=\"form.name\" name=\"name\" ref=\"focus\"\n            required />\n        </b-field>\n\n        <div v-if=\"type === 'list'\" class=\"box\">\n          <h5>{{ $t('users.listPerms') }}</h5>\n          <div class=\"mb-5\">\n            <div class=\"columns\">\n              <div class=\"column is-9\">\n                <b-select :placeholder=\"$tc('globals.terms.list')\" v-model=\"form.curList\" name=\"list\"\n                  :disabled=\"disabled || filteredLists.length < 1\" expanded class=\"mb-3\">\n                  <template v-for=\"l in filteredLists\">\n                    <option :value=\"l.id\" :key=\"l.id\">\n                      {{ l.name }}\n                    </option>\n                  </template>\n                </b-select>\n              </div>\n              <div class=\"column\">\n                <b-button @click=\"onAddListPerm\" :disabled=\"!form.curList\" class=\"is-primary\" expanded>\n                  {{ $t('globals.buttons.add') }}\n                </b-button>\n              </div>\n            </div>\n            <span\n              v-if=\"form.lists.length > 0 && (form.permissions['lists:get_all'] || form.permissions['lists:manage_all'])\"\n              class=\"is-size-6 has-text-danger\">\n              <b-icon icon=\"warning-empty\" />\n              {{ $t('users.listPermsWarning') }}\n            </span>\n          </div>\n\n          <b-table :data=\"form.lists\">\n            <b-table-column v-slot=\"props\" field=\"name\" :label=\"$tc('globals.terms.list')\">\n              <router-link :to=\"`/lists/${props.row.id}`\" target=\"_blank\">\n                {{ props.row.name }}\n              </router-link>\n            </b-table-column>\n\n            <b-table-column v-slot=\"props\" field=\"permissions\" :label=\"$t('users.perms')\" width=\"40%\">\n              <b-checkbox v-model=\"props.row.permissions\" native-value=\"list:get\">\n                {{ $t('globals.buttons.view') }}\n              </b-checkbox>\n              <b-checkbox v-model=\"props.row.permissions\" native-value=\"list:manage\">\n                {{ $t('globals.buttons.manage') }}\n              </b-checkbox>\n            </b-table-column>\n\n            <b-table-column v-slot=\"props\" width=\"10%\">\n              <a href=\"#\" @click.prevent=\"onDeleteListPerm(props.row.id)\" data-cy=\"btn-delete\"\n                :aria-label=\"$t('globals.buttons.delete')\">\n                <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n                  <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n                </b-tooltip>\n              </a>\n            </b-table-column>\n          </b-table>\n        </div>\n\n        <template v-if=\"type === 'user'\">\n          <div class=\"columns\">\n            <div class=\"column is-7\">\n              <h5 class=\"mb-0\">\n                {{ $t('users.perms') }}\n              </h5>\n            </div>\n            <div class=\"column has-text-right\" v-if=\"!disabled\">\n              <a href=\"#\" @click.prevent=\"onToggleSelect\">{{ $t('globals.buttons.toggleSelect') }}</a>\n            </div>\n          </div>\n\n          <b-table :data=\"serverConfig.permissions\">\n            <b-table-column v-slot=\"props\" field=\"group\" :label=\"$t('users.roleGroup')\">\n              {{ $tc(`globals.terms.${props.row.group}`) }}\n            </b-table-column>\n\n            <b-table-column v-slot=\"props\" field=\"permissions\" label=\"Permissions\">\n              <div v-for=\"p in props.row.permissions\" :key=\"p\">\n                <b-checkbox v-model=\"form.permissions\" :native-value=\"p\" :disabled=\"disabled\">\n                  {{ p }}\n                  <a v-if=\"p === 'subscribers:sql_query'\"\n                    href=\"https://listmonk.app/docs/roles-and-permissions/#subscriberssql_query\" target=\"_blank\"\n                    rel=\"noopener noreferrer\" aria-label=\"Warning: high risk permission\">\n                    <b-icon icon=\"warning-empty\" type=\"is-danger\" size=\"is-small\" />\n                  </a>\n                </b-checkbox>\n              </div>\n            </b-table-column>\n          </b-table>\n        </template>\n        <a href=\"https://listmonk.app/docs/roles-and-permissions\" target=\"_blank\" rel=\"noopener noreferrer\">\n          <b-icon icon=\"link-variant\" /> {{ $t('globals.buttons.learnMore') }}\n        </a>\n      </section>\n\n      <footer class=\"modal-card-foot has-text-right\">\n        <b-button @click=\"$parent.close()\">\n          {{ $t('globals.buttons.close') }}\n        </b-button>\n        <b-button v-if=\"!disabled\" native-type=\"submit\" type=\"is-primary\" :loading=\"loading.roles\" data-cy=\"btn-save\">\n          {{ $t('globals.buttons.save') }}\n        </b-button>\n      </footer>\n    </div>\n  </form>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CopyText from '../components/CopyText.vue';\n\nexport default Vue.extend({\n  name: 'RoleForm',\n\n  components: {\n    CopyText,\n  },\n\n  props: {\n    data: { type: Object, default: () => ({}) },\n    isEditing: { type: Boolean, default: false },\n    type: { type: String, default: 'user' },\n  },\n\n  data() {\n    return {\n      // Binds form input values.\n      form: {\n        curList: null,\n        lists: [],\n        name: null,\n        permissions: {},\n      },\n      hasToggle: false,\n      disabled: false,\n    };\n  },\n\n  methods: {\n    onAddListPerm() {\n      const list = this.lists.results.find((l) => l.id === this.form.curList);\n      this.form.lists.push({ id: list.id, name: list.name, permissions: ['list:get', 'list:manage'] });\n\n      this.form.curList = (this.filteredLists.length > 0) ? this.filteredLists[0].id : null;\n    },\n\n    onDeleteListPerm(id) {\n      this.form.lists = this.form.lists.filter((p) => p.id !== id);\n      this.form.curList = (this.filteredLists.length > 0) ? this.filteredLists[0].id : null;\n    },\n\n    onSubmit() {\n      if (this.isEditing) {\n        this.updateRole();\n        return;\n      }\n\n      this.createRole();\n    },\n\n    onToggleSelect() {\n      if (this.hasToggle) {\n        this.form.permissions = [];\n      } else {\n        this.form.permissions = this.serverConfig.permissions.reduce((acc, item) => {\n          item.permissions.forEach((p) => {\n            acc.push(p);\n          });\n          return acc;\n        }, []);\n      }\n\n      this.hasToggle = !this.hasToggle;\n    },\n\n    createRole() {\n      let fn;\n      const form = { name: this.form.name };\n\n      if (this.$props.type === 'user') {\n        fn = this.$api.createUserRole;\n        form.permissions = this.form.permissions;\n      } else {\n        fn = this.$api.createListRole;\n        form.lists = this.form.lists.reduce((acc, item) => {\n          acc.push({ id: item.id, permissions: item.permissions });\n          return acc;\n        }, []);\n      }\n\n      fn(form).then((data) => {\n        this.$emit('finished');\n        this.$utils.toast(this.$t('globals.messages.created', { name: data.name }));\n        this.$parent.close();\n      });\n    },\n\n    updateRole() {\n      let fn;\n      const form = { id: this.$props.data.id, name: this.form.name };\n\n      if (this.$props.type === 'user') {\n        fn = this.$api.updateUserRole;\n        form.permissions = this.form.permissions;\n      } else {\n        fn = this.$api.updateListRole;\n        form.lists = this.form.lists.reduce((acc, item) => {\n          acc.push({ id: item.id, permissions: item.permissions });\n          return acc;\n        }, []);\n      }\n\n      fn(form).then((data) => {\n        this.$emit('finished');\n        this.$utils.toast(this.$t('globals.messages.updated', { name: data.name }));\n        this.$parent.close();\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'serverConfig', 'lists']),\n\n    // Return the list of unselected lists.\n    filteredLists() {\n      if (!this.lists.results || this.type !== 'list') {\n        return [];\n      }\n\n      const subIDs = this.form.lists.reduce((obj, item) => ({ ...obj, [item.id]: true }), {});\n      return this.lists.results.filter((l) => (!(l.id in subIDs)));\n    },\n\n  },\n\n  mounted() {\n    if (this.isEditing) {\n      this.form = { ...this.form, ...this.$props.data };\n\n      // It's the superadmin role. Disable the form.\n      if (this.$props.data.id === 1 || !this.$can('roles:manage')) {\n        this.disabled = true;\n      }\n    } else {\n      const skip = ['admin', 'users'];\n      this.form.permissions = this.serverConfig.permissions.reduce((acc, item) => {\n        if (skip.includes(item.group)) {\n          return acc;\n        }\n        item.permissions.forEach((p) => {\n          if (p !== 'subscribers:sql_query' && !p.startsWith('lists:') && !p.startsWith('settings:')) {\n            acc.push(p);\n          }\n        });\n        return acc;\n      }, []);\n    }\n\n    this.$nextTick(() => {\n      if (this.filteredLists.length > 0) {\n        this.form.curList = this.filteredLists[0].id;\n      }\n      this.$refs.focus.focus();\n    });\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Roles.vue",
    "content": "<template>\n  <section class=\"roles\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-10\">\n        <h1 class=\"title is-4\">\n          {{ $t(isUser ? 'users.userRoles' : 'users.listRoles') }}\n          <span v-if=\"!isNaN(roles.length)\">({{ roles.length }})</span>\n        </h1>\n      </div>\n      <div class=\"column has-text-right\">\n        <b-field v-if=\"$can('users:manage')\" expanded>\n          <b-button expanded type=\"is-primary\" icon-left=\"plus\" class=\"btn-new\" @click=\"showNewForm('user')\"\n            data-cy=\"btn-new\">\n            {{ $t('globals.buttons.new') }}\n          </b-button>\n        </b-field>\n      </div>\n    </header>\n    <b-table :data=\"roles\" :loading=\"isLoading()\" hoverable>\n      <b-table-column v-slot=\"props\" field=\"role\" :label=\"$tc('users.role')\" sortable>\n        <a href=\"#\" @click.prevent=\"showEditForm(props.row, 'user')\">\n          <b-tag v-if=\"props.row.id === 1\" class=\"enabled\">\n            {{ props.row.name }}\n          </b-tag>\n          <template v-else>{{ props.row.name }}</template>\n        </a>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"created_at\" :label=\"$t('globals.fields.createdAt')\"\n        header-class=\"cy-created_at\" sortable>\n        {{ $utils.niceDate(props.row.createdAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"updated_at\" :label=\"$t('globals.fields.updatedAt')\"\n        header-class=\"cy-updated_at\" sortable>\n        {{ $utils.niceDate(props.row.updatedAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions has-text-right\">\n        <template v-if=\"$can('roles:manage')\">\n          <a href=\"#\" @click.prevent=\"$utils.prompt($t('globals.buttons.clone'),\n            {\n              placeholder: $t('globals.fields.name'),\n              value: $t('campaigns.copyOf', { name: props.row.name }),\n            },\n            (name) => onCloneRole(name, props.row))\" data-cy=\"btn-clone\" :aria-label=\"$t('globals.buttons.clone')\">\n            <b-tooltip :label=\"$t('globals.buttons.clone')\" type=\"is-dark\">\n              <b-icon icon=\"file-multiple-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n\n          <template v-if=\"props.row.id !== 1\">\n            <a href=\"#\" @click.prevent=\"showEditForm(props.row, 'user')\" data-cy=\"btn-edit\"\n              :aria-label=\"$t('globals.buttons.edit')\">\n              <b-tooltip :label=\"$t('globals.buttons.edit')\" type=\"is-dark\">\n                <b-icon icon=\"pencil-outline\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n\n            <a href=\"#\" @click.prevent=\"onDeleteRole(props.row)\" data-cy=\"btn-delete\"\n              :aria-label=\"$t('globals.buttons.delete')\">\n              <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n                <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n              </b-tooltip>\n            </a>\n          </template>\n        </template>\n      </b-table-column>\n\n      <template #empty v-if=\"!isLoading()\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n\n    <!-- Add / edit form modal -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isFormVisible\" :width=\"700\" @close=\"onFormClose\">\n      <role-form :data=\"curItem\" :type=\"curType\" :is-editing=\"isEditing\" @finished=\"formFinished\" />\n    </b-modal>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\nimport RoleForm from './RoleForm.vue';\n\nexport default Vue.extend({\n  components: {\n    EmptyPlaceholder,\n    RoleForm,\n  },\n\n  data() {\n    return {\n      curItem: null,\n      curType: null,\n      isEditing: false,\n      isFormVisible: false,\n    };\n  },\n\n  methods: {\n    isLoading() {\n      return this.curType === 'user' ? this.loading.userRoles : this.loading.listRoles;\n    },\n\n    fetchRoles() {\n      if (this.isUser) {\n        this.$api.getUserRoles();\n      } else {\n        this.$api.getListRoles();\n      }\n    },\n\n    // Show the edit form.\n    showEditForm(item) {\n      this.curItem = item;\n      this.curType = this.isUser ? 'user' : 'list';\n      this.isFormVisible = true;\n      this.isEditing = true;\n    },\n\n    // Show the new form.\n    showNewForm() {\n      this.isEditing = false;\n      this.isFormVisible = true;\n    },\n\n    formFinished() {\n      this.fetchRoles();\n    },\n\n    onFormClose() {\n      if (this.$route.params.id) {\n        this.$router.push({ name: 'users' });\n      }\n    },\n\n    onCloneRole(name, item) {\n      const form = { name };\n      let fn;\n      if (this.isUser) {\n        fn = this.$api.createUserRole;\n        form.permissions = item.permissions;\n      } else {\n        fn = this.$api.createListRole;\n        form.lists = item.lists;\n      }\n\n      fn(form).then(() => {\n        this.fetchRoles();\n        this.$utils.toast(this.$t('globals.messages.created', { name }));\n      });\n    },\n\n    onDeleteRole(item) {\n      this.$utils.confirm(\n        this.$t('globals.messages.confirm'),\n        () => {\n          this.$api.deleteRole(item.id).then(() => {\n            this.fetchRoles();\n\n            this.$utils.toast(this.$t('globals.messages.deleted', { name: item.name }));\n          });\n        },\n      );\n    },\n\n  },\n\n  computed: {\n    ...mapState(['loading', 'userRoles', 'listRoles']),\n\n    isUser() {\n      return this.curType === 'user';\n    },\n\n    isList() {\n      return this.curType === 'list';\n    },\n\n    roles() {\n      return this.isUser ? this.userRoles : this.listRoles;\n    },\n  },\n\n  mounted() {\n    this.curType = this.$route.name === 'userRoles' ? 'user' : 'list';\n    this.fetchRoles();\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Settings.vue",
    "content": "<template>\n  <form @submit.prevent=\"onSubmit\">\n    <section class=\"settings\">\n      <b-loading :is-full-page=\"true\" v-if=\"loading.settings || isLoading\" active />\n      <header class=\"columns page-header\">\n        <div class=\"column is-half\">\n          <h1 class=\"title is-4\">\n            {{ $t('settings.title') }}\n            <span class=\"has-text-grey-light\">({{ serverConfig.version }})</span>\n          </h1>\n        </div>\n        <div class=\"column has-text-right\">\n          <b-field v-if=\"$can('settings:manage')\" expanded>\n            <b-button expanded :disabled=\"!hasFormChanged\" type=\"is-primary\" icon-left=\"content-save-outline\"\n              native-type=\"submit\" class=\"isSaveEnabled\" data-cy=\"btn-save\">\n              {{ $t('globals.buttons.save') }}\n            </b-button>\n          </b-field>\n        </div>\n      </header>\n      <hr />\n\n      <section class=\"wrap\" v-if=\"form\">\n        <b-tabs type=\"is-boxed\" :animated=\"false\" v-model=\"tab\">\n          <b-tab-item :label=\"$t('settings.general.name')\" label-position=\"on-border\">\n            <general-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- general -->\n\n          <b-tab-item :label=\"$t('settings.performance.name')\">\n            <performance-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- performance -->\n\n          <b-tab-item :label=\"$t('settings.privacy.name')\">\n            <privacy-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- privacy -->\n\n          <b-tab-item :label=\"$t('settings.security.name')\">\n            <security-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- security -->\n\n          <b-tab-item :label=\"$t('settings.media.title')\">\n            <media-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- media -->\n\n          <b-tab-item :label=\"$t('settings.smtp.name')\">\n            <smtp-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- mail servers -->\n\n          <b-tab-item :label=\"$t('settings.bounces.name')\">\n            <bounce-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- bounces -->\n\n          <b-tab-item :label=\"$t('settings.messengers.name')\">\n            <messenger-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- messengers -->\n\n          <b-tab-item :label=\"$t('settings.appearance.name')\">\n            <appearance-settings :form=\"form\" :key=\"key\" />\n          </b-tab-item><!-- appearance -->\n        </b-tabs>\n      </section>\n    </section>\n  </form>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport AppearanceSettings from './settings/appearance.vue';\nimport BounceSettings from './settings/bounces.vue';\nimport GeneralSettings from './settings/general.vue';\nimport MediaSettings from './settings/media.vue';\nimport MessengerSettings from './settings/messengers.vue';\nimport PerformanceSettings from './settings/performance.vue';\nimport PrivacySettings from './settings/privacy.vue';\nimport SecuritySettings from './settings/security.vue';\nimport SmtpSettings from './settings/smtp.vue';\n\nexport default Vue.extend({\n  components: {\n    GeneralSettings,\n    PerformanceSettings,\n    PrivacySettings,\n    SecuritySettings,\n    MediaSettings,\n    SmtpSettings,\n    BounceSettings,\n    MessengerSettings,\n    AppearanceSettings,\n  },\n\n  data() {\n    return {\n      // :key=\"key\" is a ack to re-render child components every time settings\n      // is pulled. Otherwise, props don't react.\n      key: 0,\n\n      isLoading: false,\n\n      // formCopy is a stringified copy of the original settings against which\n      // form is compared to detect changes.\n      formCopy: '',\n      form: null,\n      tab: 0,\n    };\n  },\n\n  methods: {\n    async onSubmit() {\n      const form = JSON.parse(JSON.stringify(this.form));\n\n      // SMTP boxes.\n      let hasDummy = '';\n      for (let i = 0; i < form.smtp.length; i += 1) {\n        // trim the host before saving\n        form.smtp[i].host = form.smtp[i].host?.trim();\n\n        // If it's the dummy UI password placeholder, ignore it.\n        if (this.isDummy(form.smtp[i].password)) {\n          form.smtp[i].password = '';\n        } else if (this.hasDummy(form.smtp[i].password)) {\n          hasDummy = `smtp #${i + 1}`;\n        }\n\n        if (form.smtp[i].strEmailHeaders && form.smtp[i].strEmailHeaders !== '[]') {\n          form.smtp[i].email_headers = JSON.parse(form.smtp[i].strEmailHeaders);\n        } else {\n          form.smtp[i].email_headers = [];\n        }\n      }\n\n      // Bounces boxes.\n      for (let i = 0; i < form['bounce.mailboxes'].length; i += 1) {\n        // trim the host before saving\n        form['bounce.mailboxes'][i].host = form['bounce.mailboxes'][i].host?.trim();\n\n        // If it's the dummy UI password placeholder, ignore it.\n        if (this.isDummy(form['bounce.mailboxes'][i].password)) {\n          form['bounce.mailboxes'][i].password = '';\n        } else if (this.hasDummy(form['bounce.mailboxes'][i].password)) {\n          hasDummy = `bounce #${i + 1}`;\n        }\n      }\n\n      if (this.isDummy(form['upload.s3.aws_secret_access_key'])) {\n        form['upload.s3.aws_secret_access_key'] = '';\n      } else if (this.hasDummy(form['upload.s3.aws_secret_access_key'])) {\n        hasDummy = 's3';\n      }\n\n      if (this.isDummy(form['bounce.sendgrid_key'])) {\n        form['bounce.sendgrid_key'] = '';\n      } else if (this.hasDummy(form['bounce.sendgrid_key'])) {\n        hasDummy = 'sendgrid';\n      }\n\n      if (this.isDummy(form['security.captcha'].hcaptcha.secret)) {\n        form['security.captcha'].hcaptcha.secret = '';\n      } else if (this.hasDummy(form['security.captcha'].hcaptcha.secret)) {\n        hasDummy = 'captcha';\n      }\n\n      if (this.isDummy(form['security.oidc'].client_secret)) {\n        form['security.oidc'].client_secret = '';\n      } else if (this.hasDummy(form['security.oidc'].client_secret)) {\n        hasDummy = 'oidc';\n      }\n\n      if (this.isDummy(form['bounce.postmark'].password)) {\n        form['bounce.postmark'].password = '';\n      } else if (this.hasDummy(form['bounce.postmark'].password)) {\n        hasDummy = 'postmark';\n      }\n\n      if (this.isDummy(form['bounce.forwardemail'].key)) {\n        form['bounce.forwardemail'].key = '';\n      } else if (this.hasDummy(form['bounce.forwardemail'].key)) {\n        hasDummy = 'forwardemail';\n      }\n\n      for (let i = 0; i < form.messengers.length; i += 1) {\n        // If it's the dummy UI password placeholder, ignore it.\n        if (this.isDummy(form.messengers[i].password)) {\n          form.messengers[i].password = '';\n        } else if (this.hasDummy(form.messengers[i].password)) {\n          hasDummy = `messenger #${i + 1}`;\n        }\n      }\n\n      if (hasDummy) {\n        this.$utils.toast(this.$t('globals.messages.passwordChangeFull', { name: hasDummy }), 'is-danger');\n        return false;\n      }\n\n      // Domain blocklist array from multi-line strings.\n      form['privacy.domain_blocklist'] = form['privacy.domain_blocklist'].split('\\n').map((v) => v.trim().toLowerCase()).filter((v) => v !== '');\n      form['privacy.domain_allowlist'] = form['privacy.domain_allowlist'].split('\\n').map((v) => v.trim().toLowerCase()).filter((v) => v !== '');\n\n      this.isLoading = true;\n      try {\n        const data = await this.$api.updateSettings(form);\n        await this.$root.awaitRestart(data);\n        this.getSettings();\n      } finally {\n        this.isLoading = false;\n      }\n\n      return false;\n    },\n\n    getSettings() {\n      this.isLoading = true;\n      this.$api.getSettings().then((data) => {\n        let d = {};\n        try {\n          // Create a deep-copy of the settings hierarchy.\n          d = JSON.parse(JSON.stringify(data));\n        } catch (err) {\n          return;\n        }\n\n        // Serialize the `email_headers` array map to display on the form.\n        for (let i = 0; i < d.smtp.length; i += 1) {\n          d.smtp[i].strEmailHeaders = JSON.stringify(d.smtp[i].email_headers, null, 4);\n        }\n\n        // Domain blocklist array to multi-line string.\n        d['privacy.domain_blocklist'] = d['privacy.domain_blocklist'].join('\\n');\n        d['privacy.domain_allowlist'] = d['privacy.domain_allowlist'].join('\\n');\n\n        this.key += 1;\n        this.form = d;\n        this.formCopy = JSON.stringify(d);\n\n        this.$nextTick(() => {\n          this.isLoading = false;\n        });\n      });\n    },\n\n    isDummy(pwd) {\n      return !pwd || (pwd.match(/•/g) || []).length === pwd.length;\n    },\n\n    hasDummy(pwd) {\n      return pwd.includes('•');\n    },\n  },\n\n  computed: {\n    ...mapState(['serverConfig', 'loading']),\n\n    hasFormChanged() {\n      if (!this.formCopy) {\n        return false;\n      }\n      return JSON.stringify(this.form) !== this.formCopy;\n    },\n  },\n\n  beforeRouteLeave(to, from, next) {\n    if (this.hasFormChanged) {\n      this.$utils.confirm(this.$t('globals.messages.confirmDiscard'), () => next(true));\n      return;\n    }\n    next(true);\n  },\n\n  mounted() {\n    this.tab = this.$utils.getPref('settings.tab') || 0;\n    this.getSettings();\n  },\n\n  watch: {\n    tab(t) {\n      this.$utils.setPref('settings.tab', t);\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/SubscriberBulkList.vue",
    "content": "<template>\n  <form @submit.prevent=\"onSubmit\">\n    <div class=\"modal-card\" style=\"width: auto\">\n      <header class=\"modal-card-head\">\n        <h4 class=\"title is-size-5\">\n          {{ $t('subscribers.manageLists') }}\n        </h4>\n      </header>\n\n      <section expanded class=\"modal-card-body\">\n        <b-field label=\"Action\">\n          <div>\n            <b-radio v-model=\"form.action\" name=\"action\" native-value=\"add\" data-cy=\"check-list-add\">\n              {{ $t('globals.buttons.add') }}\n            </b-radio>\n            <b-radio v-model=\"form.action\" name=\"action\" native-value=\"remove\" data-cy=\"check-list-remove\">\n              {{ $t('globals.buttons.remove') }}\n            </b-radio>\n            <b-radio v-model=\"form.action\" name=\"action\" native-value=\"unsubscribe\" data-cy=\"check-list-unsubscribe\">\n              {{ $t('subscribers.markUnsubscribed') }}\n            </b-radio>\n          </div>\n        </b-field>\n\n        <list-selector label=\"Target lists\" placeholder=\"Lists to apply to\" v-model=\"form.lists\" :selected=\"form.lists\"\n          :all=\"lists.results\" />\n\n        <b-field :message=\"$t('subscribers.preconfirmHelp')\">\n          <b-checkbox v-model=\"form.preconfirm\" data-cy=\"preconfirm\" :native-value=\"true\" :disabled=\"!hasOptinList\">\n            {{ $t('subscribers.preconfirm') }}\n          </b-checkbox>\n        </b-field>\n      </section>\n\n      <footer class=\"modal-card-foot has-text-right\">\n        <b-button @click=\"$parent.close()\">\n          {{ $t('globals.buttons.close') }}\n        </b-button>\n        <b-button native-type=\"submit\" type=\"is-primary\" :disabled=\"form.lists.length === 0\">\n          {{ $t('globals.buttons.save') }}\n        </b-button>\n      </footer>\n    </div>\n  </form>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport ListSelector from '../components/ListSelector.vue';\n\nexport default Vue.extend({\n  components: {\n    ListSelector,\n  },\n\n  props: {\n    numSubscribers: { type: Number, default: 0 },\n  },\n\n  data() {\n    return {\n      // Binds form input values.\n      form: {\n        action: 'add',\n        lists: [],\n        preconfirm: false,\n      },\n    };\n  },\n\n  methods: {\n    onSubmit() {\n      this.$emit('finished', this.form.action, this.form.preconfirm, this.form.lists);\n      this.$parent.close();\n    },\n  },\n\n  computed: {\n    ...mapState(['lists', 'loading']),\n\n    hasOptinList() {\n      return this.form.lists.some((l) => l.optin === 'double');\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/SubscriberForm.vue",
    "content": "<template>\n  <form @submit.prevent=\"onSubmit\">\n    <div class=\"modal-card content\" style=\"width: auto\">\n      <header class=\"modal-card-head\">\n        <b-tag v-if=\"isEditing\" :class=\"[data.status, 'is-pulled-right']\">\n          {{ $t(`subscribers.status.${data.status}`) }}\n        </b-tag>\n        <h4 v-if=\"isEditing\">\n          {{ data.name }}\n        </h4>\n        <h4 v-else>\n          {{ $t('subscribers.newSubscriber') }}\n        </h4>\n\n        <p v-if=\"isEditing\" class=\"has-text-grey is-size-7\">\n          {{ $t('globals.fields.id') }}: <span data-cy=\"id\"><copy-text :text=\"`${data.id}`\" /></span>\n          {{ $t('globals.fields.uuid') }}: <copy-text :text=\"data.uuid\" />\n        </p>\n      </header>\n\n      <section expanded class=\"modal-card-body\">\n        <b-field :label=\"$t('subscribers.email')\" label-position=\"on-border\">\n          <b-input :maxlength=\"200\" v-model=\"form.email\" name=\"email\" :ref=\"'focus'\"\n            :placeholder=\"$t('subscribers.email')\" required />\n        </b-field>\n\n        <div class=\"columns\">\n          <div class=\"column is-8\">\n            <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n              <b-input :maxlength=\"200\" v-model=\"form.name\" name=\"name\" :placeholder=\"$t('globals.fields.name')\" />\n            </b-field>\n          </div>\n          <div class=\"column is-4\">\n            <b-field :label=\"$t('globals.fields.status')\" label-position=\"on-border\"\n              :message=\"$t('subscribers.blocklistedHelp')\">\n              <b-select v-model=\"form.status\" name=\"status\" :placeholder=\"$t('globals.fields.status')\" required\n                expanded>\n                <option value=\"enabled\">\n                  {{ $t('subscribers.status.enabled') }}\n                </option>\n                <option value=\"blocklisted\">\n                  {{ $t('subscribers.status.blocklisted') }}\n                </option>\n              </b-select>\n            </b-field>\n          </div>\n        </div>\n\n        <b-tabs type=\"is-boxed\" :animated=\"false\">\n          <b-tab-item :label=\"$t('globals.terms.lists')\" label-position=\"on-border\">\n            <list-selector :label=\"$t('subscribers.lists')\" :placeholder=\"$t('subscribers.listsPlaceholder')\"\n              :message=\"$t('subscribers.listsHelp')\" v-model=\"form.lists\" :selected=\"form.lists\" :all=\"lists.results\" />\n            <div class=\"columns\">\n              <div class=\"column is-7\">\n                <b-field :message=\"$t('subscribers.preconfirmHelp')\">\n                  <b-checkbox v-model=\"form.preconfirm\" :native-value=\"true\" :disabled=\"!hasOptinList\">\n                    {{ $t('subscribers.preconfirm') }}\n                  </b-checkbox>\n                </b-field>\n              </div>\n              <div v-if=\"$can('subscribers:manage') && isEditing\" class=\"column is-5 has-text-right\">\n                <a href=\"#\" @click.prevent=\"sendOptinConfirmation\" :class=\"{ 'is-disabled': !hasOptinList }\">\n                  <b-icon icon=\"email-outline\" size=\"is-small\" />\n                  {{ $t('subscribers.sendOptinConfirm') }}</a>\n              </div>\n            </div>\n          </b-tab-item><!-- lists -->\n\n          <b-tab-item :label=\"`${$tc('globals.terms.subscriptions', 2)} (${data.lists ? data.lists.length : 0})`\"\n            label-position=\"on-border\" :disabled=\"!data.lists || data.lists.length === 0\">\n            <template v-if=\"data.lists\">\n              <b-table :data=\"data.lists\" hoverable default-sort=\"createdAt\" class=\"subscriptions\">\n                <b-table-column v-slot=\"props\" field=\"name\" :label=\"$tc('globals.terms.list', 1)\">\n                  <div>\n                    <router-link :to=\"`/lists/${props.row.id}`\">\n                      {{ props.row.name }}\n                    </router-link>\n                    <br />\n                    <b-tag :class=\"props.row.optin\" :data-cy=\"`optin-${props.row.optin}`\">\n                      <b-icon :icon=\"props.row.optin === 'double' ? 'account-check-outline' : 'account-off-outline'\"\n                        size=\"is-small\" />\n                      {{ ' ' }}\n                      {{ $t(`lists.optins.${props.row.optin}`) }}\n                    </b-tag>{{ ' ' }}\n                  </div>\n                </b-table-column>\n\n                <b-table-column v-slot=\"props\" field=\"status\" cell-class=\"status\" :label=\"$t('globals.fields.status')\">\n                  <b-tag :class=\"`status-${props.row.subscriptionStatus}`\">\n                    {{ $t(`subscribers.status.${props.row.subscriptionStatus}`) }}\n                  </b-tag>\n                  <template v-if=\"props.row.optin === 'double' && props.row.subscriptionMeta.optinIp\">\n                    <br /><span class=\"is-size-7\">{{ props.row.subscriptionMeta.optinIp }}</span>\n                  </template>\n                </b-table-column>\n\n                <b-table-column v-slot=\"props\" field=\"createdAt\" :label=\"$t('globals.fields.createdAt')\">\n                  {{ $utils.niceDate(props.row.subscriptionCreatedAt, true) }}\n                </b-table-column>\n\n                <b-table-column v-slot=\"props\" field=\"updatedAt\" :label=\"$t('globals.fields.updatedAt')\">\n                  {{ $utils.niceDate(props.row.subscriptionCreatedAt, true) }}\n                </b-table-column>\n              </b-table>\n            </template>\n          </b-tab-item><!-- subscriptions -->\n\n          <b-tab-item :label=\"`${$t('globals.terms.bounces')} (${bounces.length})`\" class=\"bounces\"\n            :disabled=\"bounces.length === 0\">\n            <a href=\"#\" class=\"is-size-6 is-pulled-right\" disabed=\"true\" @click.prevent=\"deleteBounces\"\n              v-if=\"isBounceVisible\">\n              <b-icon icon=\"trash-can-outline\" />\n              {{ $t('globals.buttons.delete') }}\n            </a>\n\n            <b-table :data=\"bounces\" hoverable default-sort=\"createdAt\" class=\"bounces\">\n              <b-table-column field=\"campaign\" :label=\"$tc('globals.terms.campaign', 1)\" v-slot=\"props\">\n                <div v-if=\"props.row.campaign\">\n                  <router-link :to=\"{ name: 'bounces', query: { campaign_id: props.row.campaign.id } }\">\n                    {{ props.row.campaign.name }}\n                  </router-link>\n                </div>\n              </b-table-column>\n\n              <b-table-column field=\"createdAt\" :label=\"$t('globals.fields.createdAt')\" v-slot=\"props\">\n                {{ $utils.niceDate(props.row.createdAt, true) }}\n              </b-table-column>\n\n              <b-table-column field=\"action\" :label=\"$t('globals.fields.type')\" v-slot=\"props\">\n                <span class=\"is-pulled-right\">\n                  <a href=\"#\" @click.prevent=\"toggleMeta(props.row.id)\">\n                    {{ props.row.source }}\n                    <b-icon :icon=\"visibleMeta[props.row.id] ? 'arrow-up' : 'arrow-down'\" />\n                  </a>\n                </span>\n                <span class=\"is-clearfix\" />\n                <pre v-if=\"visibleMeta[props.row.id]\">{{ props.row.meta }}</pre>\n              </b-table-column>\n            </b-table>\n          </b-tab-item><!-- bounces -->\n\n          <b-tab-item :label=\"$t('subscribers.activity')\" class=\"activity\" :disabled=\"!isEditing\">\n            <subscriber-activity v-if=\"isEditing && data.id\" :subscriber-id=\"data.id\" />\n          </b-tab-item><!-- activity -->\n        </b-tabs>\n\n        <b-field :message=\"$t('subscribers.attribsHelp') + ' ' + egAttribs\" class=\"mt-6\">\n          <div>\n            <h5>{{ $t('globals.terms.attribs') }}</h5>\n            <b-input v-model=\"form.strAttribs\" name=\"attribs\" type=\"textarea\" />\n            <a href=\"https://listmonk.app/docs/concepts\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"is-size-7\">\n              {{ $t('globals.buttons.learnMore') }} <b-icon icon=\"link-variant\" size=\"is-small\" />\n            </a>\n          </div>\n        </b-field>\n      </section>\n      <footer class=\"modal-card-foot has-text-right\">\n        <b-button @click=\"$parent.close()\">\n          {{ $t('globals.buttons.close') }}\n        </b-button>\n        <b-button v-if=\"$can('subscribers:manage')\" native-type=\"submit\" type=\"is-primary\"\n          :loading=\"loading.subscribers\">\n          {{ $t('globals.buttons.save') }}\n        </b-button>\n      </footer>\n    </div>\n  </form>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport ListSelector from '../components/ListSelector.vue';\nimport CopyText from '../components/CopyText.vue';\nimport SubscriberActivity from '../components/SubscriberActivity.vue';\n\nexport default Vue.extend({\n  components: {\n    ListSelector,\n    CopyText,\n    SubscriberActivity,\n  },\n\n  props: {\n    data: {\n      type: Object,\n      default: () => ({ lists: [] }),\n    },\n    isEditing: Boolean,\n  },\n\n  data() {\n    return {\n      // Binds form input values. This is populated by subscriber props passed\n      // from the parent component in mounted().\n      form: {\n        lists: [],\n        strAttribs: '{}',\n        status: 'enabled',\n        preconfirm: false,\n      },\n      isBounceVisible: false,\n      bounces: [],\n      visibleMeta: {},\n\n      egAttribs: '{\"job\": \"developer\", \"location\": \"Mars\", \"has_rocket\": true}',\n    };\n  },\n\n  methods: {\n    toggleBounces() {\n      this.isBounceVisible = !this.isBounceVisible;\n    },\n\n    toggleMeta(id) {\n      let v = false;\n      if (!this.visibleMeta[id]) {\n        v = true;\n      }\n      Vue.set(this.visibleMeta, id, v);\n    },\n\n    deleteBounces(sub) {\n      this.$utils.confirm(\n        null,\n        () => {\n          this.$api.deleteSubscriberBounces(this.form.id).then(() => {\n            this.getBounces();\n            this.$utils.toast(this.$t('globals.messages.deleted', { name: sub.name }));\n          });\n        },\n      );\n    },\n\n    getBounces() {\n      this.$api.getSubscriberBounces(this.form.id).then((data) => {\n        this.bounces = data;\n      });\n    },\n\n    onSubmit() {\n      if (this.isEditing) {\n        this.updateSubscriber();\n        return;\n      }\n\n      this.createSubscriber();\n    },\n\n    createSubscriber() {\n      let attribs = {};\n      if (this.form.strAttribs) {\n        attribs = this.validateAttribs(this.form.strAttribs);\n        if (!attribs) {\n          return;\n        }\n      }\n\n      const data = {\n        email: this.form.email,\n        name: this.form.name,\n        status: this.form.status,\n        attribs,\n        preconfirm_subscriptions: this.form.preconfirm,\n\n        // List IDs.\n        lists: this.form.lists.map((l) => l.id),\n      };\n\n      this.$api.createSubscriber(data).then((d) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(this.$t('globals.messages.created', { name: d.name }));\n      });\n    },\n\n    updateSubscriber() {\n      let attribs = {};\n      if (this.form.strAttribs) {\n        attribs = this.validateAttribs(this.form.strAttribs);\n        if (!attribs) {\n          return;\n        }\n      }\n\n      const data = {\n        id: this.form.id,\n        email: this.form.email,\n        name: this.form.name,\n        status: this.form.status,\n        preconfirm_subscriptions: this.form.preconfirm,\n        attribs,\n\n        // List IDs.\n        lists: this.form.lists.map((l) => l.id),\n      };\n\n      this.$api.updateSubscriber(data).then((d) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(this.$t('globals.messages.updated', { name: d.name }));\n      });\n    },\n\n    sendOptinConfirmation() {\n      this.$api.sendSubscriberOptin(this.form.id).then(() => {\n        this.$utils.toast(this.$t('subscribers.sentOptinConfirm'));\n      });\n    },\n\n    validateAttribs(str) {\n      // Parse and validate attributes JSON.\n      let attribs = {};\n      try {\n        attribs = JSON.parse(str);\n      } catch (e) {\n        this.$utils.toast(\n          `${this.$t('subscribers.invalidJSON')}: ${e.toString()}`,\n          'is-danger',\n\n          3000,\n        );\n        return null;\n      }\n      if (attribs instanceof Array) {\n        this.$utils.toast('Attributes should be a map {} and not an array []', 'is-danger', 3000);\n        return null;\n      }\n\n      return attribs;\n    },\n  },\n\n  computed: {\n    ...mapState(['lists', 'loading']),\n\n    hasOptinList() {\n      return this.form.lists.some((l) => l.optin === 'double');\n    },\n  },\n\n  mounted() {\n    if (this.$props.isEditing) {\n      this.form = {\n        ...this.$props.data,\n\n        // Deep-copy the lists array on to the form.\n        strAttribs: JSON.stringify(this.$props.data.attribs, null, 4),\n      };\n    }\n\n    if (this.form.id) {\n      this.getBounces();\n    }\n\n    this.$nextTick(() => {\n      this.$refs.focus.focus();\n    });\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Subscribers.vue",
    "content": "<template>\n  <section class=\"subscribers\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-10\">\n        <h1 class=\"title is-4\">\n          {{ $t('globals.terms.subscribers') }}\n          <span v-if=\"!isNaN(subscribers.total)\">\n            (<span data-cy=\"count\">{{ subscribers.total }}</span>)\n          </span>\n          <span v-if=\"currentList\">\n            &raquo; {{ currentList.name }}\n            <span v-if=\"queryParams.subStatus\" class=\"has-text-grey has-text-weight-normal is-capitalized\">({{\n              queryParams.subStatus }})</span>\n          </span>\n        </h1>\n      </div>\n      <div class=\"column has-text-right\">\n        <b-field v-if=\"$can('subscribers:manage')\" expanded>\n          <b-button expanded type=\"is-primary\" icon-left=\"plus\" @click=\"showNewForm\" data-cy=\"btn-new\" class=\"btn-new\">\n            {{ $t('globals.buttons.new') }}\n          </b-button>\n        </b-field>\n      </div>\n    </header>\n\n    <section class=\"subscribers-controls\">\n      <div class=\"columns\">\n        <div class=\"column is-8\">\n          <form @submit.prevent=\"onSubmit\">\n            <div>\n              <b-field addons>\n                <b-input @input=\"onSimpleQueryInput\" v-model=\"queryInput\" expanded\n                  :placeholder=\"$t('subscribers.queryPlaceholder')\" icon=\"magnify\" ref=\"query\"\n                  :disabled=\"isSearchAdvanced\" data-cy=\"search\" />\n                <p class=\"controls\">\n                  <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" :disabled=\"isSearchAdvanced\"\n                    data-cy=\"btn-search\" />\n                </p>\n              </b-field>\n\n              <div v-if=\"isSearchAdvanced\">\n                <b-input v-model=\"queryParams.queryExp\" @keydown.native.enter=\"onAdvancedQueryEnter\" type=\"textarea\"\n                  ref=\"queryExp\" placeholder=\"subscribers.name LIKE '%user%' or subscribers.status='blocklisted'\"\n                  data-cy=\"query\" />\n                <span class=\"is-size-6 has-text-grey\">\n                  {{ $t('subscribers.advancedQueryHelp') }}.{{ ' ' }}\n                  <a href=\"https://listmonk.app/docs/querying-and-segmentation\" target=\"_blank\"\n                    rel=\"noopener noreferrer\">\n                    {{ $t('globals.buttons.learnMore') }}.\n                  </a>\n                </span>\n                <div class=\"buttons\">\n                  <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" data-cy=\"btn-query\">\n                    {{\n                      $t('subscribers.query') }}\n                  </b-button>\n                  <b-button @click.prevent=\"toggleAdvancedSearch\" icon-left=\"cancel\" data-cy=\"btn-query-reset\">\n                    {{ $t('subscribers.reset') }}\n                  </b-button>\n                </div>\n              </div><!-- advanced query -->\n            </div>\n          </form>\n          <div v-if=\"!isSearchAdvanced\" class=\"toggle-advanced\">\n            <a href=\"#\" @click.prevent=\"toggleAdvancedSearch\" data-cy=\"btn-advanced-search\">\n              <b-icon icon=\"cog-outline\" size=\"is-small\" />\n              {{ $t('subscribers.advancedQuery') }}\n            </a>\n          </div>\n        </div><!-- search -->\n      </div>\n    </section><!-- control -->\n\n    <br />\n    <b-table :data=\"subscribers.results ?? []\" :loading=\"loading.subscribers\" @check-all=\"onTableCheck\"\n      @check=\"onTableCheck\" :checked-rows.sync=\"bulk.checked\" paginated backend-pagination pagination-position=\"both\"\n      @page-change=\"onPageChange\" :current-page=\"queryParams.page\" :per-page=\"subscribers.perPage\"\n      :total=\"subscribers.total\" hoverable checkable backend-sorting @sort=\"onSort\">\n      <template #top-left>\n        <div class=\"actions\">\n          <a class=\"a\" href=\"#\" @click.prevent=\"exportSubscribers\" data-cy=\"btn-export-subscribers\">\n            <b-icon icon=\"cloud-download-outline\" size=\"is-small\" />\n            {{ $t('subscribers.export') }}\n          </a>\n          <template v-if=\"bulk.checked.length > 0\">\n            <a class=\"a\" href=\"#\" @click.prevent=\"showBulkListForm\" data-cy=\"btn-manage-lists\">\n              <b-icon icon=\"format-list-bulleted-square\" size=\"is-small\" /> Manage lists\n            </a>\n            <a class=\"a\" href=\"#\" @click.prevent=\"deleteSubscribers\" data-cy=\"btn-delete-subscribers\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" /> Delete\n            </a>\n            <a class=\"a\" href=\"#\" @click.prevent=\"blocklistSubscribers\" data-cy=\"btn-manage-blocklist\">\n              <b-icon icon=\"account-off-outline\" size=\"is-small\" /> Blocklist\n            </a>\n            <span class=\"a\">\n              {{ $t('globals.messages.numSelected', { num: numSelectedSubscribers }) }}\n              <span v-if=\"!bulk.all && subscribers.total > subscribers.perPage\">\n                &mdash;\n                <a href=\"#\" @click.prevent=\"selectAllSubscribers\">\n                  {{ $t('globals.messages.selectAll', { num: subscribers.total }) }}\n                </a>\n              </span>\n            </span>\n          </template>\n        </div>\n      </template>\n\n      <b-table-column v-slot=\"props\" field=\"email\" :label=\"$t('subscribers.email')\" header-class=\"cy-email\" sortable\n        :td-attrs=\"$utils.tdID\">\n        <a :href=\"`/subscribers/${props.row.id}`\" @click.prevent=\"showEditForm(props.row)\"\n          :class=\"{ 'blocklisted': props.row.status === 'blocklisted' }\">\n          {{ props.row.email }}\n          <copy-text :text=\"`${props.row.email}`\" hide-text />\n        </a>\n        <b-tag v-if=\"props.row.status !== 'enabled'\" :class=\"props.row.status\" data-cy=\"blocklisted\">\n          {{ $t(`subscribers.status.${props.row.status}`) }}\n        </b-tag>\n        <b-taglist>\n          <template v-for=\"l in props.row.lists\">\n            <router-link :to=\"`/subscribers/lists/${l.id}`\" :key=\"l.id\" style=\"padding-right:0.5em;\">\n              <b-tag :class=\"l.subscriptionStatus\" size=\"is-small\" :key=\"l.id\">\n                {{ l.name }}\n                <sup v-if=\"l.optin === 'double' || l.subscriptionStatus == 'unsubscribed'\">\n                  {{ $t(`subscribers.status.${l.subscriptionStatus}`) }}\n                </sup>\n              </b-tag>\n            </router-link>\n          </template>\n        </b-taglist>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"name\" :label=\"$t('globals.fields.name')\" header-class=\"cy-name\" sortable>\n        <a :href=\"`/subscribers/${props.row.id}`\" @click.prevent=\"showEditForm(props.row)\"\n          :class=\"{ 'blocklisted': props.row.status === 'blocklisted' }\">\n          {{ props.row.name }}\n          <copy-text :text=\"`${props.row.name}`\" hide-text />\n        </a>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"lists\" :label=\"$t('globals.terms.lists')\" header-class=\"cy-lists\" centered>\n        {{ listCount(props.row.lists) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"created_at\" :label=\"$t('globals.fields.createdAt')\"\n        header-class=\"cy-created_at\" sortable>\n        {{ $utils.niceDate(props.row.createdAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"updated_at\" :label=\"$t('globals.fields.updatedAt')\"\n        header-class=\"cy-updated_at\" sortable>\n        {{ $utils.niceDate(props.row.updatedAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions\" align=\"right\">\n        <div>\n          <a :href=\"`/api/subscribers/${props.row.id}/export`\" data-cy=\"btn-download\"\n            :aria-label=\"$t('subscribers.downloadData')\">\n            <b-tooltip :label=\"$t('subscribers.downloadData')\" type=\"is-dark\">\n              <b-icon icon=\"cloud-download-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <a v-if=\"$can('subscribers:manage')\" :href=\"`/subscribers/${props.row.id}`\"\n            @click.prevent=\"showEditForm(props.row)\" data-cy=\"btn-edit\" :aria-label=\"$t('globals.buttons.edit')\">\n            <b-tooltip :label=\"$t('globals.buttons.edit')\" type=\"is-dark\">\n              <b-icon icon=\"pencil-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <a v-if=\"$can('subscribers:manage')\" href=\"#\" @click.prevent=\"deleteSubscriber(props.row)\"\n            data-cy=\"btn-delete\" :aria-label=\"$t('globals.buttons.delete')\">\n            <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n        </div>\n      </b-table-column>\n\n      <template #empty v-if=\"!loading.subscribers\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n\n    <!-- Manage list modal -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isBulkListFormVisible\" :width=\"500\" class=\"has-overflow\">\n      <subscriber-bulk-list :num-subscribers=\"this.numSelectedSubscribers\" @finished=\"bulkChangeLists\" />\n    </b-modal>\n\n    <!-- Add / edit form modal -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isFormVisible\" :width=\"850\" @close=\"onFormClose\">\n      <subscriber-form :data=\"curItem\" :is-editing=\"isEditing\" @finished=\"querySubscribers\" />\n    </b-modal>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\nimport { uris } from '../constants';\nimport SubscriberBulkList from './SubscriberBulkList.vue';\nimport SubscriberForm from './SubscriberForm.vue';\nimport CopyText from '../components/CopyText.vue';\n\nexport default Vue.extend({\n  components: {\n    SubscriberForm,\n    SubscriberBulkList,\n    CopyText,\n    EmptyPlaceholder,\n  },\n\n  data() {\n    return {\n      // Current subscriber item being edited.\n      curItem: null,\n      isSearchAdvanced: false,\n      isEditing: false,\n      isFormVisible: false,\n      isBulkListFormVisible: false,\n\n      // Table bulk row selection states.\n      bulk: {\n        checked: [],\n        all: false,\n      },\n\n      queryInput: '',\n\n      // Query params to filter the getSubscribers() API call.\n      queryParams: {\n        // Search query expression.\n        queryExp: '',\n        search: '',\n\n        // ID of the list the current subscriber view is filtered by.\n        listID: null,\n        page: 1,\n        orderBy: 'id',\n        order: 'desc',\n        subStatus: null,\n      },\n    };\n  },\n\n  methods: {\n    // Count the lists from which a subscriber has not unsubscribed.\n    listCount(lists) {\n      return lists.reduce((defVal, item) => (defVal + (item.subscriptionStatus !== 'unsubscribed' ? 1 : 0)), 0);\n    },\n\n    toggleAdvancedSearch() {\n      this.isSearchAdvanced = !this.isSearchAdvanced;\n      this.queryParams.search = '';\n\n      // Toggling to simple search.\n      if (!this.isSearchAdvanced) {\n        this.queryInput = '';\n        this.queryParams.queryExp = '';\n        this.queryParams.page = 1;\n        this.querySubscribers();\n        this.$refs.query.focus();\n        return;\n      }\n\n      // Toggling to advanced search.\n      const q = this.queryInput.replace(/'/, \"''\").trim();\n      if (q) {\n        if (this.$utils.validateEmail(q)) {\n          this.queryParams.queryExp = `email = '${q.toLowerCase()}'`;\n        } else {\n          this.queryParams.queryExp = `(name ~* '${q}' OR email ~* '${q.toLowerCase()}')`;\n        }\n      }\n\n      // Toggling to advanced search.\n      this.$nextTick(() => {\n        this.$refs.queryExp.focus();\n      });\n    },\n\n    // Mark all subscribers in the query as selected.\n    selectAllSubscribers() {\n      this.bulk.all = true;\n    },\n\n    onTableCheck() {\n      // Disable bulk.all selection if there are no rows checked in the table.\n      if (this.bulk.checked.length !== this.subscribers.total) {\n        this.bulk.all = false;\n      }\n    },\n\n    // Show the edit list form.\n    showEditForm(sub) {\n      this.curItem = sub;\n      this.isFormVisible = true;\n      this.isEditing = true;\n    },\n\n    // Show the new list form.\n    showNewForm() {\n      this.curItem = {};\n      this.isFormVisible = true;\n      this.isEditing = false;\n    },\n\n    showBulkListForm() {\n      this.isBulkListFormVisible = true;\n    },\n\n    onFormClose() {\n      if (this.$route.params.id) {\n        this.$router.push({ name: 'subscribers' });\n      }\n    },\n\n    onPageChange(p) {\n      this.querySubscribers({ page: p });\n    },\n\n    onSort(field, direction) {\n      this.querySubscribers({ orderBy: field, order: direction });\n    },\n\n    // Prepares an SQL expression for simple name search inputs and saves it\n    // in this.queryExp.\n    onSimpleQueryInput(v) {\n      const q = v.replace(/'/, \"''\").trim();\n      this.queryParams.queryExp = '';\n      this.queryParams.page = 1;\n      this.queryParams.search = q.toLowerCase();\n    },\n\n    // Ctrl + Enter on the advanced query searches.\n    onAdvancedQueryEnter(e) {\n      if (e.ctrlKey) {\n        this.onSubmit();\n      }\n    },\n\n    onSubmit() {\n      this.querySubscribers({ page: 1 });\n    },\n\n    // Search / query subscribers.\n    querySubscribers(params) {\n      this.queryParams = { ...this.queryParams, ...params };\n\n      const qp = {\n        list_id: this.queryParams.listID,\n        search: this.queryParams.search,\n        query: this.queryParams.queryExp,\n        page: this.queryParams.page,\n        subscription_status: this.queryParams.subStatus,\n        order_by: this.queryParams.orderBy,\n        order: this.queryParams.order,\n      };\n\n      if (this.queryParams.queryExp) {\n        delete qp.search;\n      } else {\n        delete qp.queryExp;\n      }\n\n      this.$nextTick(() => {\n        this.$api.getSubscribers(qp).then(() => {\n          this.bulk.checked = [];\n        });\n      });\n    },\n\n    deleteSubscriber(sub) {\n      this.$utils.confirm(\n        null,\n        () => {\n          this.$api.deleteSubscriber(sub.id).then(() => {\n            this.querySubscribers();\n\n            this.$utils.toast(this.$t('globals.messages.deleted', { name: sub.name }));\n          });\n        },\n      );\n    },\n\n    blocklistSubscribers() {\n      let fn = null;\n      if (!this.bulk.all && this.bulk.checked.length > 0) {\n        // If 'all' is not selected, blocklist subscribers by IDs.\n        fn = () => {\n          const ids = this.bulk.checked.map((s) => s.id);\n          this.$api.blocklistSubscribers({ ids })\n            .then(() => this.querySubscribers());\n        };\n      } else {\n        // 'All' is selected, blocklist by query.\n        fn = () => {\n          this.$api.blocklistSubscribersByQuery({\n            search: this.queryParams.search,\n            query: this.queryParams.queryExp,\n            list_ids: this.queryParams.listID ? [this.queryParams.listID] : null,\n            subscription_status: this.queryParams.subStatus,\n          }).then(() => this.querySubscribers());\n        };\n      }\n\n      this.$utils.confirm(this.$t('subscribers.confirmBlocklist', { num: this.numSelectedSubscribers }), fn);\n    },\n\n    exportSubscribers() {\n      const num = !this.bulk.all && this.bulk.checked.length > 0\n        ? this.bulk.checked.length : this.subscribers.total;\n\n      this.$utils.confirm(this.$t('subscribers.confirmExport', { num }), () => {\n        const q = new URLSearchParams();\n\n        if (this.queryParams.search) {\n          q.append('search', this.queryParams.search);\n        } else if (this.queryParams.queryExp) {\n          q.append('query', this.queryParams.queryExp);\n        }\n\n        if (this.queryParams.listID) {\n          q.append('list_id', this.queryParams.listID);\n        }\n\n        if (this.queryParams.subStatus) {\n          q.append('subscription_status', this.queryParams.subStatus);\n        }\n\n        // Export selected subscribers.\n        if (!this.bulk.all && this.bulk.checked.length > 0) {\n          this.bulk.checked.map((s) => q.append('id', s.id));\n        }\n\n        document.location.href = `${uris.exportSubscribers}?${q.toString()}`;\n      });\n    },\n\n    deleteSubscribers() {\n      let fn = null;\n      if (!this.bulk.all && this.bulk.checked.length > 0) {\n        // If 'all' is not selected, delete subscribers by IDs.\n        fn = () => {\n          const ids = this.bulk.checked.map((s) => s.id);\n          this.$api.deleteSubscribers({ id: ids })\n            .then(() => {\n              this.querySubscribers();\n\n              this.$utils.toast(this.$t('subscribers.subscribersDeleted', { num: this.numSelectedSubscribers }));\n            });\n        };\n      } else {\n        // 'All' is selected, delete by query.\n        fn = () => {\n          this.$api.deleteSubscribersByQuery({\n            // If the query expression is empty, explicitly pass `all=true`\n            // so that the backend deletes all records in the DB with an empty query string.\n            all: this.queryParams.queryExp.trim() === '' && this.queryParams.search.trim() === '',\n            search: this.queryParams.search,\n            query: this.queryParams.queryExp,\n            list_ids: this.queryParams.listID ? [this.queryParams.listID] : null,\n            subscription_status: this.queryParams.subStatus,\n          }).then(() => {\n            this.querySubscribers();\n\n            this.$utils.toast(this.$t(\n              'subscribers.subscribersDeleted',\n              { num: this.numSelectedSubscribers },\n            ));\n          });\n        };\n      }\n\n      this.$utils.confirm(this.$t('subscribers.confirmDelete', { num: this.numSelectedSubscribers }), fn);\n    },\n\n    bulkChangeLists(action, preconfirm, lists) {\n      const data = {\n        action,\n        query: this.fullQueryExp,\n        search: this.queryParams.search,\n        list_ids: this.queryParams.listID ? [this.queryParams.listID] : null,\n        target_list_ids: lists.map((l) => l.id),\n      };\n\n      if (preconfirm) {\n        data.status = 'confirmed';\n      }\n\n      let fn = null;\n      if (!this.bulk.all && this.bulk.checked.length > 0) {\n        // If 'all' is not selected, perform by IDs.\n        fn = this.$api.addSubscribersToLists;\n        data.ids = this.bulk.checked.map((s) => s.id);\n      } else {\n        // 'All' is selected, perform by query.\n        data.query = this.queryParams.queryExp;\n        data.subscription_status = this.queryParams.subStatus;\n        fn = this.$api.addSubscribersToListsByQuery;\n      }\n\n      fn(data).then(() => {\n        this.querySubscribers();\n        this.$utils.toast(this.$t('subscribers.listChangeApplied'));\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['subscribers', 'lists', 'loading']),\n\n    numSelectedSubscribers() {\n      if (this.bulk.all) {\n        return this.subscribers.total;\n      }\n      return this.bulk.checked.length;\n    },\n\n    // Returns the list that the subscribers are being filtered by in.\n    currentList() {\n      if (!this.queryParams.listID || !this.lists.results) {\n        return null;\n      }\n\n      return this.lists.results.find((l) => l.id === this.queryParams.listID);\n    },\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.querySubscribers);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.querySubscribers);\n  },\n\n  mounted() {\n    if (this.$route.params.listID) {\n      this.queryParams.listID = parseInt(this.$route.params.listID, 10);\n    }\n    if (this.$route.query.subscription_status) {\n      this.queryParams.subStatus = this.$route.query.subscription_status;\n    }\n\n    if (this.$route.params.id) {\n      this.$api.getSubscriber(parseInt(this.$route.params.id, 10)).then((data) => {\n        this.showEditForm(data);\n      });\n    } else {\n      // Get subscribers on load.\n      this.querySubscribers();\n    }\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/TemplateForm.vue",
    "content": "<template>\n  <section>\n    <form @submit.prevent=\"onSubmit\">\n      <div class=\"modal-card content template-modal-content\" style=\"width: auto\">\n        <header class=\"modal-card-head\">\n          <b-button @click=\"onTogglePreview\" class=\"is-pulled-right\" type=\"is-primary\" icon-left=\"file-find-outline\">\n            {{ $t('templates.preview') }} (F9)\n          </b-button>\n\n          <template v-if=\"isEditing\">\n            <h4>{{ data.name }}</h4>\n            <p class=\"has-text-grey is-size-7\">\n              {{ $t('globals.fields.id') }}: <span data-cy=\"id\"><copy-text :text=\"`${data.id}`\" /></span>\n            </p>\n          </template>\n          <h4 v-else>\n            {{ $t('templates.newTemplate') }}\n          </h4>\n        </header>\n        <section expanded class=\"modal-card-body mb-0 pb-0\">\n          <div class=\"columns\">\n            <div class=\"column is-9\">\n              <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n                <b-input :maxlength=\"200\" :ref=\"'focus'\" v-model=\"form.name\" name=\"name\"\n                  :placeholder=\"$t('globals.fields.name')\" required />\n              </b-field>\n            </div>\n            <div class=\"column is-3\">\n              <b-field :label=\"$t('globals.fields.type')\" label-position=\"on-border\">\n                <b-select v-model=\"form.type\" :disabled=\"isEditing\" expanded>\n                  <option value=\"campaign\">\n                    {{ $tc('templates.typeCampaignHTML') }}\n                  </option>\n                  <option value=\"campaign_visual\">\n                    {{ $tc('templates.typeCampaignVisual') }}\n                  </option>\n                  <option value=\"tx\">\n                    {{ $tc('templates.typeTransactional') }}\n                  </option>\n                </b-select>\n              </b-field>\n            </div>\n          </div>\n          <div class=\"columns\" v-if=\"form.type === 'tx'\">\n            <div class=\"column is-12\">\n              <b-field :label=\"$t('templates.subject')\" label-position=\"on-border\">\n                <b-input :maxlength=\"200\" :ref=\"'focus'\" v-model=\"form.subject\" name=\"name\"\n                  :placeholder=\"$t('templates.subject')\" required />\n              </b-field>\n            </div>\n          </div>\n\n          <template v-if=\"form.body !== null\">\n            <b-field v-if=\"form.type === 'campaign_visual'\" label-position=\"on-border\" class=\"mb-1\">\n              <visual-editor v-if=\"form.type === 'campaign_visual'\" name=\"body\" :source=\"form.bodySource\"\n                @change=\"onChangeVisualEditor\" height=\"70vh\" />\n            </b-field>\n\n            <b-field v-else :label=\"$t('templates.rawHTML')\" label-position=\"on-border\">\n              <code-editor lang=\"html\" v-model=\"form.body\" name=\"body\" />\n            </b-field>\n          </template>\n\n          <p class=\"is-size-7\">\n            <template v-if=\"form.type === 'campaign'\">\n              {{ $t('templates.placeholderHelp', { placeholder: egPlaceholder }) }}\n            </template>\n            <a target=\"_blank\" rel=\"noopener noreferer\" href=\"https://listmonk.app/docs/templating\">\n              {{ $t('globals.buttons.learnMore') }}\n            </a>\n          </p>\n        </section>\n        <footer class=\"modal-card-foot has-text-right\">\n          <b-button @click=\"$parent.close()\">\n            {{ $t('globals.buttons.close') }}\n          </b-button>\n          <b-button v-if=\"$can('templates:manage')\" native-type=\"submit\" type=\"is-primary\" :loading=\"loading.templates\">\n            {{ $t('globals.buttons.save') }}\n          </b-button>\n        </footer>\n      </div>\n    </form>\n    <campaign-preview v-if=\"previewItem\" is-post type=\"template\" :title=\"previewItem.name\"\n      :template-type=\"previewItem.type\" :body=\"form.body\" @close=\"onTogglePreview\" />\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CampaignPreview from '../components/CampaignPreview.vue';\nimport CodeEditor from '../components/CodeEditor.vue';\nimport VisualEditor from '../components/VisualEditor.vue';\nimport CopyText from '../components/CopyText.vue';\n\nexport default Vue.extend({\n  components: {\n    CampaignPreview,\n    CopyText,\n    'code-editor': CodeEditor,\n    'visual-editor': VisualEditor,\n  },\n\n  props: {\n    data: { type: Object, default: () => { } },\n    isEditing: { type: Boolean, default: false },\n  },\n\n  data() {\n    return {\n      // Binds form input values.\n      form: {\n        name: '',\n        subject: '',\n        type: 'campaign',\n        optin: '',\n        body: null,\n        bodySource: null,\n      },\n      previewItem: null,\n      egPlaceholder: '{{ template \"content\" . }}',\n    };\n  },\n\n  methods: {\n    onTogglePreview() {\n      this.previewItem = !this.previewItem ? this.form : null;\n    },\n\n    onPreviewShortcut(e) {\n      if (e.key === 'F9') {\n        this.onTogglePreview();\n        e.preventDefault();\n      }\n    },\n\n    onSubmit() {\n      if (this.isEditing) {\n        this.updateTemplate();\n        return;\n      }\n\n      this.createTemplate();\n    },\n\n    createTemplate() {\n      const data = {\n        id: this.data.id,\n        name: this.form.name,\n        type: this.form.type,\n        subject: this.form.subject,\n        body: this.form.body,\n        body_source: this.form.bodySource,\n      };\n\n      this.$api.createTemplate(data).then((d) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(this.$t('globals.messages.created', { name: d.name }));\n      });\n    },\n\n    updateTemplate() {\n      const data = {\n        id: this.data.id,\n        name: this.form.name,\n        type: this.form.type,\n        subject: this.form.subject,\n        body: this.form.body,\n        body_source: this.form.bodySource,\n      };\n\n      this.$api.updateTemplate(data).then((d) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(`'${d.name}' updated`);\n      });\n    },\n\n    onChangeVisualEditor({ source, body }) {\n      this.form.body = body;\n      this.form.bodySource = source;\n    },\n  },\n\n  computed: {\n    ...mapState(['loading']),\n  },\n\n  mounted() {\n    this.form = { ...this.$props.data };\n\n    this.$nextTick(() => {\n      this.$refs.focus.focus();\n    });\n\n    window.addEventListener('keydown', this.onPreviewShortcut);\n  },\n\n  beforeDestroy() {\n    window.removeEventListener('keydown', this.onPreviewShortcut);\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Templates.vue",
    "content": "<template>\n  <section class=\"templates\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-10\">\n        <h1 class=\"title is-4\">\n          {{ $t('globals.terms.templates') }}\n          <span v-if=\"templates.length > 0\">({{ templates.length }})</span>\n        </h1>\n      </div>\n      <div class=\"column has-text-right\">\n        <b-field v-if=\"$can('templates:manage')\" expanded>\n          <b-button expanded type=\"is-primary\" icon-left=\"plus\" class=\"btn-new\" @click=\"showNewForm\">\n            {{ $t('globals.buttons.new') }}\n          </b-button>\n        </b-field>\n      </div>\n    </header>\n\n    <b-table :data=\"templates\" :hoverable=\"true\" :loading=\"loading.templates\" default-sort=\"createdAt\">\n      <b-table-column v-slot=\"props\" field=\"name\" :label=\"$t('globals.fields.name')\" :td-attrs=\"$utils.tdID\" sortable>\n        <a href=\"#\" @click.prevent=\"showEditForm(props.row)\">\n          {{ props.row.name }}\n        </a>\n        <b-tag v-if=\"props.row.isDefault\">\n          {{ $t('templates.default') }}\n        </b-tag>\n\n        <p class=\"is-size-7 has-text-grey\" v-if=\"props.row.type === 'tx'\">\n          {{ props.row.subject }}\n        </p>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"type\" :label=\"$t('globals.fields.type')\" sortable>\n        <b-tag v-if=\"props.row.type === 'campaign'\" :class=\"props.row.type\" :data-cy=\"`type-${props.row.type}`\">\n          {{ $tc('templates.typeCampaignHTML') }}\n        </b-tag>\n        <b-tag v-else-if=\"props.row.type === 'campaign_visual'\" :class=\"props.row.type\"\n          :data-cy=\"`type-${props.row.type}`\">\n          {{ $tc('templates.typeCampaignVisual') }}\n        </b-tag>\n        <b-tag v-else :class=\"props.row.type\" :data-cy=\"`type-${props.row.type}`\">\n          {{ $tc('templates.typeTransactional') }}\n        </b-tag>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"id\" :label=\"$t('globals.fields.id')\" sortable>\n        {{ props.row.id }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"createdAt\" :label=\"$t('globals.fields.createdAt')\" sortable>\n        {{ $utils.niceDate(props.row.createdAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"updatedAt\" :label=\"$t('globals.fields.updatedAt')\" sortable>\n        {{ $utils.niceDate(props.row.updatedAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions\" align=\"right\">\n        <div>\n          <a href=\"#\" @click.prevent=\"previewTemplate(props.row)\" data-cy=\"btn-preview\"\n            :aria-label=\"$t('templates.preview')\">\n            <b-tooltip :label=\"$t('templates.preview')\" type=\"is-dark\">\n              <b-icon icon=\"file-find-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <a href=\"#\" @click.prevent=\"showEditForm(props.row)\" data-cy=\"btn-edit\"\n            :aria-label=\"$t('globals.buttons.edit')\">\n            <b-tooltip :label=\"$t('globals.buttons.edit')\" type=\"is-dark\">\n              <b-icon icon=\"pencil-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <a href=\"#\" @click.prevent=\"$utils.prompt(`Clone template`,\n            { placeholder: 'Name', value: `Copy of ${props.row.name}` },\n            (name) => cloneTemplate(name, props.row))\" data-cy=\"btn-clone\" :aria-label=\"$t('globals.buttons.clone')\">\n            <b-tooltip :label=\"$t('globals.buttons.clone')\" type=\"is-dark\">\n              <b-icon icon=\"file-multiple-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <a v-if=\"!props.row.isDefault && props.row.type === 'campaign'\" href=\"#\"\n            @click.prevent=\"$utils.confirm(null, () => makeTemplateDefault(props.row))\" data-cy=\"btn-set-default\"\n            :aria-label=\"$t('templates.makeDefault')\">\n            <b-tooltip :label=\"$t('templates.makeDefault')\" type=\"is-dark\">\n              <b-icon icon=\"check-circle-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <span v-else class=\"a has-text-grey-light\">\n            <b-icon icon=\"check-circle-outline\" size=\"is-small\" />\n          </span>\n\n          <a v-if=\"!props.row.isDefault\" href=\"#\" @click.prevent=\"$utils.confirm(null, () => deleteTemplate(props.row))\"\n            data-cy=\"btn-delete\" :aria-label=\"$t('globals.buttons.delete')\">\n            <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n          <span v-else class=\"a has-text-grey-light\">\n            <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n          </span>\n        </div>\n      </b-table-column>\n\n      <template #empty v-if=\"!loading.templates\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n\n    <!-- Add / edit form modal -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isFormVisible\" :width=\"1200\" :can-cancel=\"false\"\n      class=\"template-modal\">\n      <template-form :data=\"curItem\" :is-editing=\"isEditing\" @finished=\"formFinished\" />\n    </b-modal>\n\n    <campaign-preview v-if=\"previewItem\" type=\"template\" :id=\"previewItem.id\" :template-type=\"previewItem.type\"\n      :title=\"previewItem.name\" @close=\"closePreview\" />\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CampaignPreview from '../components/CampaignPreview.vue';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\n\nimport TemplateForm from './TemplateForm.vue';\n\nexport default Vue.extend({\n  components: {\n    CampaignPreview,\n    TemplateForm,\n    EmptyPlaceholder,\n  },\n\n  data() {\n    return {\n      curItem: null,\n      isEditing: false,\n      isFormVisible: false,\n      previewItem: null,\n    };\n  },\n\n  methods: {\n    fetchTemplates() {\n      this.$api.getTemplates();\n    },\n\n    // Show the edit form.\n    showEditForm(data) {\n      this.curItem = data;\n      this.isFormVisible = true;\n      this.isEditing = true;\n    },\n\n    // Show the new form.\n    showNewForm() {\n      this.curItem = { type: 'campaign' };\n      this.isFormVisible = true;\n      this.isEditing = false;\n    },\n\n    formFinished() {\n      this.$api.getTemplates();\n    },\n\n    previewTemplate(c) {\n      this.previewItem = c;\n    },\n\n    closePreview() {\n      this.previewItem = null;\n    },\n\n    cloneTemplate(name, t) {\n      const data = {\n        name,\n        type: t.type,\n        subject: t.subject,\n        body: t.body,\n        body_source: t.bodySource,\n      };\n      this.$api.createTemplate(data).then((d) => {\n        this.$api.getTemplates();\n        this.$emit('finished');\n        this.$utils.toast(`'${d.name}' created`);\n      });\n    },\n\n    makeTemplateDefault(tpl) {\n      this.$api.makeTemplateDefault(tpl.id).then(() => {\n        this.$api.getTemplates();\n        this.$utils.toast(this.$t('globals.messages.created', { name: tpl.name }));\n      });\n    },\n\n    deleteTemplate(tpl) {\n      this.$api.deleteTemplate(tpl.id).then(() => {\n        this.$api.getTemplates();\n        this.$utils.toast(this.$t('globals.messages.deleted', { name: tpl.name }));\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['templates', 'loading']),\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.fetchTemplates);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.fetchTemplates);\n  },\n\n  mounted() {\n    this.$api.getTemplates();\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/UserForm.vue",
    "content": "<template>\n  <form @submit.prevent=\"onSubmit\">\n    <div class=\"modal-card content\" style=\"width: auto\">\n      <header class=\"modal-card-head\">\n        <p v-if=\"isEditing\" class=\"has-text-grey-light is-size-7\">\n          {{ $t('globals.fields.id') }}: <copy-text :text=\"`${data.id}`\" />\n        </p>\n        <h4 v-if=\"isEditing\">\n          {{ data.name }}\n        </h4>\n        <h4 v-else>\n          {{ $t('users.newUser') }}\n        </h4>\n      </header>\n      <section expanded class=\"modal-card-body\">\n        <div class=\"columns\">\n          <div class=\"column is-6\">\n            <b-field label-position=\"on-border\" class=\"mb-6\">\n              <b-radio-button v-model=\"form.type\" name=\"type\" native-value=\"user\" :disabled=\"isEditing\" expanded\n                type=\"is-light is-outlined\">\n                <b-icon icon=\"account-outline\" />\n                {{ $t('users.type.user') }}\n              </b-radio-button>\n              <b-radio-button v-model=\"form.type\" name=\"type\" native-value=\"api\" :disabled=\"isEditing\" expanded\n                type=\"is-light is-outlined\">\n                <b-icon icon=\"code\" />\n                {{ $t('users.type.api') }}\n              </b-radio-button>\n            </b-field>\n          </div>\n          <div class=\"column is-6\">\n            <b-field :label=\"$t('globals.fields.status')\" label-position=\"on-border\">\n              <b-select v-model=\"form.status\" name=\"status\" required expanded>\n                <option value=\"enabled\">\n                  {{ $t('users.status.enabled') }}\n                </option>\n                <option value=\"disabled\">\n                  {{ $t('users.status.disabled') }}\n                </option>\n              </b-select>\n            </b-field>\n          </div>\n        </div>\n\n        <b-field :label=\"$t('users.username')\" label-position=\"on-border\">\n          <b-input :maxlength=\"200\" v-model=\"form.username\" name=\"username\" ref=\"focus\" autofocus\n            :placeholder=\"$t('users.username')\" required :message=\"$t('users.usernameHelp')\" autocomplete=\"off\"\n            pattern=\"[a-zA-Z0-9_\\-\\.@]+$\" />\n        </b-field>\n\n        <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n          <b-input :maxlength=\"200\" v-model=\"form.name\" name=\"name\" :placeholder=\"$t('globals.fields.name')\" />\n        </b-field>\n\n        <b-field v-if=\"form.type !== 'api'\" :label=\"$t('subscribers.email')\" label-position=\"on-border\">\n          <b-input :maxlength=\"200\" v-model=\"form.email\" name=\"email\" :placeholder=\"$t('subscribers.email')\" required />\n        </b-field>\n\n        <template v-if=\"form.type !== 'api'\">\n          <div class=\"box\">\n            <b-field>\n              <b-checkbox v-model=\"form.passwordLogin\" :native-value=\"true\" name=\"password_login\">\n                {{ $t('users.passwordEnable') }}\n              </b-checkbox>\n            </b-field>\n\n            <div class=\"columns\">\n              <div class=\"column is-6\">\n                <b-field :label=\"$t('users.password')\" label-position=\"on-border\">\n                  <b-input :disabled=\"!form.passwordLogin\" minlength=\"8\" :maxlength=\"200\" v-model=\"form.password\"\n                    type=\"password\" name=\"password\" :placeholder=\"$t('users.password')\"\n                    :required=\"form.passwordLogin && !isEditing\" />\n                </b-field>\n              </div>\n              <div class=\"column is-6\">\n                <b-field :label=\"$t('users.passwordRepeat')\" label-position=\"on-border\">\n                  <b-input :disabled=\"!form.passwordLogin\" minlength=\"8\" :maxlength=\"200\" v-model=\"form.password2\"\n                    type=\"password\" name=\"password2\" :required=\"form.passwordLogin && !isEditing && form.password\" />\n                </b-field>\n              </div>\n            </div>\n          </div>\n        </template>\n\n        <h5>{{ $tc('users.roles') }}</h5>\n        <div class=\"box\">\n          <div class=\"columns\">\n            <div class=\"column is-6\">\n              <b-field :label=\"$tc('users.userRole')\" label-position=\"on-border\">\n                <b-select v-model=\"form.userRoleId\" name=\"user_role\" required expanded>\n                  <option v-for=\"r in userRoles\" :value=\"r.id\" :key=\"r.id\">\n                    {{ r.name }}\n                  </option>\n                </b-select>\n              </b-field>\n            </div>\n\n            <div class=\"column is-6\">\n              <b-field :label=\"$tc('users.listRole', 0)\" label-position=\"on-border\">\n                <b-select v-model=\"form.listRoleId\" name=\"list_role\" expanded>\n                  <option value=\"\">&mdash; {{ $t(\"globals.terms.none\") }} &mdash;</option>\n                  <option v-for=\"r in listRoles\" :value=\"r.id\" :key=\"r.id\">\n                    {{ r.name }}\n                  </option>\n                </b-select>\n              </b-field>\n            </div>\n          </div>\n        </div>\n\n        <div v-if=\"apiToken\" class=\"user-api-token\">\n          <p>{{ $t('users.apiOneTimeToken') }}</p>\n          <copy-text :text=\"apiToken\" />\n        </div>\n      </section>\n      <footer class=\"modal-card-foot has-text-right\">\n        <b-button @click=\"$parent.close()\">\n          {{ $t('globals.buttons.close') }}\n        </b-button>\n        <b-button v-if=\"$can('users:manage') && !apiToken\" native-type=\"submit\" type=\"is-primary\"\n          :loading=\"loading.lists\" data-cy=\"btn-save\">\n          {{ $t('globals.buttons.save') }}\n        </b-button>\n      </footer>\n    </div>\n  </form>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CopyText from '../components/CopyText.vue';\n\nexport default Vue.extend({\n  name: 'UserForm',\n\n  components: {\n    CopyText,\n  },\n\n  props: {\n    data: { type: Object, default: () => ({}) },\n    isEditing: { type: Boolean, default: false },\n  },\n\n  data() {\n    return {\n      // Binds form input values.\n      form: {\n        username: '',\n        email: '',\n        name: '',\n        password: '',\n        passwordLogin: false,\n        type: 'user',\n        status: 'enabled',\n      },\n      apiToken: null,\n    };\n  },\n\n  methods: {\n    onSubmit() {\n      if (!this.form.passwordLogin) {\n        this.form.password = null;\n        this.form.password2 = null;\n      }\n\n      if (this.isEditing) {\n        if (this.form.type !== 'api' && this.form.passwordLogin && this.form.password && this.form.password !== this.form.password2) {\n          this.$utils.toast(this.$t('users.passwordMismatch'), 'is-danger');\n          return;\n        }\n\n        this.updateUser();\n        return;\n      }\n\n      if (this.form.type !== 'api' && this.form.passwordLogin && this.form.password !== this.form.password2) {\n        this.$utils.toast(this.$t('users.passwordMismatch'), 'is-danger');\n        return;\n      }\n\n      this.createUser();\n    },\n\n    createUser() {\n      const form = {\n        ...this.form, password_login: this.form.passwordLogin, user_role_id: this.form.userRoleId, list_role_id: this.form.listRoleId || null,\n      };\n      this.$api.createUser(form).then((data) => {\n        this.$emit('finished');\n        this.$utils.toast(this.$t('globals.messages.created', { name: data.name }));\n\n        // If the user is an API user, show the one-time token.\n        if (form.type === 'api') {\n          this.apiToken = data.password;\n          return;\n        }\n\n        this.$emit('finished');\n        this.$parent.close();\n      });\n    },\n\n    updateUser() {\n      const form = {\n        ...this.form, password_login: this.form.passwordLogin, user_role_id: this.form.userRoleId, list_role_id: this.form.listRoleId || null,\n      };\n      this.$api.updateUser({ id: this.data.id, ...form }).then((data) => {\n        this.$emit('finished');\n        this.$parent.close();\n        this.$utils.toast(this.$t('globals.messages.updated', { name: data.name }));\n      });\n    },\n\n    hasType(t) {\n      // If the user being edited is API, then the only valid field is API.\n      // Otherwise, all fields are valid except API.\n      return !this.$props.isEditing || (this.form.type === 'api' ? t === 'api' : t !== 'api');\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'userRoles', 'listRoles']),\n  },\n\n  mounted() {\n    this.form = { ...this.form, ...this.$props.data };\n    if (this.$props.data.userRole) {\n      this.form.userRoleId = this.$props.data.userRole.id;\n    }\n\n    this.form.listRoleId = this.$props.data.listRole ? this.$props.data.listRole.id : '';\n\n    this.$api.getUserRoles();\n    this.$api.getListRoles();\n\n    this.$nextTick(() => {\n      this.$refs.focus.focus();\n    });\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/UserProfile.vue",
    "content": "<template>\n  <section class=\"user-profile section-mini\">\n    <b-loading v-if=\"loading.users\" :active=\"loading.users\" :is-full-page=\"false\" />\n\n    <h1 class=\"title\">\n      @{{ data.username }}\n    </h1>\n    <b-tag v-if=\"data.userRole\">{{ data.userRole.name }}</b-tag>\n\n    <br /><br /><br />\n    <form @submit.prevent=\"onSubmit\">\n      <b-field v-if=\"data.type !== 'api'\" :label=\"$t('subscribers.email')\" label-position=\"on-border\">\n        <b-input :maxlength=\"200\" v-model=\"form.email\" name=\"email\" :placeholder=\"$t('subscribers.email')\"\n          :disabled=\"!data.passwordLogin\" required autofocus />\n      </b-field>\n\n      <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\">\n        <b-input :maxlength=\"200\" v-model=\"form.name\" name=\"name\" :placeholder=\"$t('globals.fields.name')\" />\n      </b-field>\n\n      <div v-if=\"data.passwordLogin\" class=\"columns\">\n        <div class=\"column is-6\">\n          <b-field :label=\"$t('users.password')\" label-position=\"on-border\">\n            <b-input minlength=\"8\" :maxlength=\"200\" v-model=\"form.password\" type=\"password\" name=\"password\"\n              :placeholder=\"$t('users.password')\" />\n          </b-field>\n        </div>\n        <div class=\"column is-6\">\n          <b-field :label=\"$t('users.passwordRepeat')\" label-position=\"on-border\">\n            <b-input minlength=\"8\" :maxlength=\"200\" v-model=\"form.password2\" type=\"password\" name=\"password2\" />\n          </b-field>\n        </div>\n      </div>\n\n      <b-field expanded>\n        <b-button type=\"is-primary\" icon-left=\"content-save-outline\" native-type=\"submit\" data-cy=\"btn-save\">\n          {{ $t('globals.buttons.save') }}\n        </b-button>\n      </b-field>\n    </form>\n\n    <br /><br />\n\n    <!-- 2FA -->\n    <section v-if=\"this.data.passwordLogin\" class=\"twofa-section\">\n      <!-- TOTP disabled -->\n      <div v-if=\"data.twofaType === 'none'\" class=\"box\">\n        <div class=\"columns is-vcentered mb-4\">\n          <div class=\"column\">\n            <h3 class=\"title is-size-5 mb-0\">{{ $t('users.twoFA') }}</h3>\n          </div>\n          <div class=\"column is-narrow\">\n            <b-switch v-if=\"!isTotpVisible\" v-model=\"twofaEnabled\" @input=\"onToggleEnableTotp\" />\n          </div>\n        </div>\n\n        <p>{{ $t('users.twoFANotEnabled') }}</p>\n        <br />\n\n        <!-- TOTP setup -->\n        <div v-if=\"isTotpVisible\" class=\"totp-setup\">\n          <div v-if=\"totpQR\" class=\"qr-section\">\n            <p class=\"has-text-grey\">{{ $t('users.totpScanQR') }}</p><br />\n\n            <img :src=\"'data:image/png;base64,' + totpQR\" alt=\"QR Code\" />\n\n            <br /><br />\n            <p>\n              <strong>{{ $t('users.totpSecret') }}</strong><br />\n              <code><copy-text :text=\"`${totpSecret}`\" /></code>\n            </p>\n\n            <br /><br />\n            <form @submit.prevent=\"confirmTOTP\">\n              <b-field :label=\"$t('users.totpCode')\" label-position=\"on-border\">\n                <b-input ref=\"totpCodeInput\" v-model=\"totpCode\" maxlength=\"6\" pattern=\"[0-9]{6}\" placeholder=\"000000\"\n                  required />\n              </b-field>\n              <div class=\"buttons\">\n                <b-button type=\"is-primary\" native-type=\"submit\">\n                  {{ $t('globals.buttons.enable') }}\n                </b-button>\n                <b-button type=\"button\" @click=\"onCancelTOTPSetup\">\n                  {{ $t('globals.buttons.cancel') }}\n                </b-button>\n              </div>\n            </form>\n          </div>\n        </div>\n      </div>\n\n      <!-- TOTP Enabled -->\n      <div v-if=\"data.twofaType === 'totp'\" class=\"box\">\n        <div class=\"columns is-vcentered\">\n          <div class=\"column\">\n            <h3 class=\"title is-size-5\">\n              <b-icon icon=\"check-circle-outline\" type=\"is-success\" /> {{ $t('users.twoFAEnabled') }}\n            </h3>\n          </div>\n          <div class=\"column is-narrow\">\n            <b-switch v-if=\"!showDisableTOTP\" v-model=\"twofaEnabled\" @input=\"toggleDisableTOTP\" />\n          </div>\n        </div>\n\n        <p>{{ $t('users.twoFAEnabledDesc', { type: data.twofaType.toUpperCase() }) }}</p>\n\n        <!-- Disable TOTP Flow -->\n        <form v-if=\"showDisableTOTP\" class=\"disable-totp mt-5\" @submit.prevent=\"confirmDisableTOTP\">\n          <b-field :label=\"$t('users.password')\" label-position=\"on-border\">\n            <b-input ref=\"disablePasswordInput\" v-model=\"disableTOTPPassword\" type=\"password\" minlength=\"8\" required />\n          </b-field>\n          <div class=\"buttons\">\n            <b-button type=\"is-danger\" native-type=\"submit\">\n              {{ $t('globals.buttons.disable') }}\n            </b-button>\n            <b-button type=\"button\" @click=\"onCancelTOTPSetup\">\n              {{ $t('globals.buttons.cancel') }}\n            </b-button>\n          </div>\n        </form>\n      </div>\n    </section>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CopyText from '../components/CopyText.vue';\n\nexport default Vue.extend({\n  name: 'UserProfile',\n\n  components: {\n    CopyText,\n  },\n\n  data() {\n    return {\n      form: {},\n      data: {},\n      isTotpVisible: false,\n      totpQR: null,\n      totpSecret: null,\n      totpCode: '',\n      showDisableTOTP: false,\n      disableTOTPPassword: '',\n      twofaEnabled: false,\n    };\n  },\n\n  methods: {\n    onSubmit() {\n      const params = {\n        name: this.form.name,\n        email: this.form.email,\n      };\n\n      if (this.data.passwordLogin && this.form.password) {\n        if (this.form.password !== this.form.password2) {\n          this.$utils.toast(this.$t('users.passwordMismatch'), 'is-danger');\n          return;\n        }\n\n        params.password = this.form.password;\n        params.password2 = this.form.password2;\n      }\n\n      this.$api.updateUserProfile(params).then(() => {\n        this.form.password = '';\n        this.form.password2 = '';\n        this.$utils.toast(this.$t('globals.messages.updated', { name: this.data.username }));\n      });\n    },\n\n    onToggleEnableTotp() {\n      this.$api.getTOTPQR(this.data.id).then((data) => {\n        this.totpQR = data.qr;\n        this.totpSecret = data.secret;\n        this.isTotpVisible = true;\n\n        this.$nextTick(() => {\n          if (this.$refs.totpCodeInput) {\n            this.$refs.totpCodeInput.focus();\n          }\n        });\n      }).catch(() => {\n        this.$utils.toast(this.$t('globals.messages.errorFetching'), 'is-danger');\n      });\n    },\n\n    onCancelTOTPSetup() {\n      this.isTotpVisible = false;\n      this.totpQR = null;\n      this.totpSecret = null;\n      this.totpCode = '';\n      this.twofaEnabled = this.data.twofaType === 'totp';\n      this.showDisableTOTP = false;\n      this.disableTOTPPassword = '';\n    },\n\n    confirmTOTP() {\n      if (!this.totpCode || this.totpCode.length !== 6) {\n        this.$utils.toast(this.$t('globals.messages.invalidValue'), 'is-danger');\n        return;\n      }\n\n      const d = new FormData();\n      d.append('secret', this.totpSecret);\n      d.append('code', this.totpCode);\n\n      this.$api.enableTOTP(this.data.id, d).then(() => {\n        this.$utils.toast(this.$t('users.twoFAEnabled'));\n        this.onCancelTOTPSetup();\n\n        // Reload user profile\n        this.$api.getUserProfile().then((data) => {\n          this.data = { ...data };\n          this.twofaEnabled = data.twofaType === 'totp';\n        });\n      }).catch(() => {\n        this.$utils.toast(this.$t('globals.messages.invalidValue'), 'is-danger');\n      });\n    },\n\n    toggleDisableTOTP() {\n      this.showDisableTOTP = true;\n\n      this.$nextTick(() => {\n        if (this.$refs.disablePasswordInput) {\n          this.$refs.disablePasswordInput.focus();\n        }\n      });\n    },\n\n    cancelDisableTOTP() {\n      this.showDisableTOTP = false;\n      this.disableTOTPPassword = '';\n    },\n\n    confirmDisableTOTP() {\n      if (!this.disableTOTPPassword) {\n        this.$utils.toast(this.$t('globals.messages.invalidFields'), 'is-danger');\n        return;\n      }\n\n      const formData = new FormData();\n      formData.append('password', this.disableTOTPPassword);\n\n      this.$api.disableTOTP(this.data.id, formData).then(() => {\n        this.$utils.toast(this.$t('globals.messages.done'));\n        this.showDisableTOTP = false;\n        this.disableTOTPPassword = '';\n        // Reload user profile\n        this.$api.getUserProfile().then((data) => {\n          this.data = { ...data };\n          this.twofaEnabled = data.twofaType === 'totp';\n        });\n      }).catch(() => {\n        this.$utils.toast(this.$t('users.invalidPassword'), 'is-danger');\n      });\n    },\n  },\n\n  mounted() {\n    this.$api.getUserProfile().then((data) => {\n      this.data = { ...data };\n      this.form = { name: data.name, email: data.email };\n      this.twofaEnabled = data.twofaType === 'totp';\n    });\n  },\n\n  computed: {\n    ...mapState(['loading']),\n  },\n\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/Users.vue",
    "content": "<template>\n  <section class=\"users\">\n    <header class=\"columns page-header\">\n      <div class=\"column is-10\">\n        <h1 class=\"title is-4\">\n          {{ $t('globals.terms.users') }}\n          <span v-if=\"!isNaN(users.length)\">({{ users.length }})</span>\n        </h1>\n      </div>\n      <div class=\"column has-text-right\">\n        <b-field v-if=\"$can('users:manage')\" expanded>\n          <b-button expanded type=\"is-primary\" icon-left=\"plus\" class=\"btn-new\" @click=\"showNewForm\" data-cy=\"btn-new\">\n            {{ $t('globals.buttons.new') }}\n          </b-button>\n        </b-field>\n      </div>\n    </header>\n\n    <b-table :data=\"users\" :loading=\"loading.users\" hoverable checkable :checked-rows.sync=\"checked\"\n      default-sort=\"createdAt\" backend-sorting @sort=\"onSort\" @check-all=\"onTableCheck\" @check=\"onTableCheck\">\n      <template #top-left>\n        <div class=\"columns\">\n          <div class=\"column is-6\">\n            <form @submit.prevent=\"getUsers\">\n              <div>\n                <b-field>\n                  <b-input v-model=\"queryParams.query\" name=\"query\" expanded icon=\"magnify\" ref=\"query\"\n                    data-cy=\"query\" />\n                  <p class=\"controls\">\n                    <b-button native-type=\"submit\" type=\"is-primary\" icon-left=\"magnify\" data-cy=\"btn-query\" />\n                  </p>\n                </b-field>\n              </div>\n            </form>\n          </div>\n        </div>\n      </template>\n\n      <b-table-column v-slot=\"props\" field=\"username\" :label=\"$t('users.username')\" header-class=\"cy-username\" sortable\n        :td-attrs=\"$utils.tdID\">\n        <a :href=\"`/users/${props.row.id}`\" @click.prevent=\"showEditForm(props.row)\"\n          :class=\"{ 'has-text-grey': props.row.status === 'disabled' }\">\n          {{ props.row.username }}\n        </a>\n        <b-tag v-if=\"props.row.status === 'disabled'\">\n          {{ $t(`users.status.${props.row.status}`) }}\n        </b-tag>\n        <b-tag v-if=\"props.row.type === 'api'\" class=\"api\">\n          <b-icon icon=\"code\" />\n          {{ $t(`users.type.${props.row.type}`) }}\n        </b-tag>\n        <div class=\"has-text-grey is-size-7 mt-2\">\n          {{ props.row.name }}\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"status\" :label=\"$tc('users.role')\" header-class=\"cy-status\" sortable\n        :td-attrs=\"$utils.tdID\">\n        <router-link :to=\"{ name: 'userRoles' }\">\n          <b-tag :class=\"props.row.userRole.id === 1 ? 'enabled' : 'primary'\">\n            <b-icon icon=\"account-outline\" />\n            {{ props.row.userRole.name }}\n          </b-tag>\n        </router-link>\n        <router-link :to=\"{ name: 'listRoles' }\">\n          <b-tag v-if=\"props.row.listRole\">\n            <b-icon icon=\"newspaper-variant-outline\" />\n            {{ props.row.listRole.name }}\n          </b-tag>\n        </router-link>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"name\" :label=\"$t('subscribers.email')\" header-class=\"cy-name\" sortable\n        :td-attrs=\"$utils.tdID\">\n        <div>\n          <a v-if=\"props.row.email\" :href=\"`/users/${props.row.id}`\" @click.prevent=\"showEditForm(props.row)\"\n            :class=\"{ 'has-text-grey': props.row.status === 'disabled' }\">\n            {{ props.row.email }}\n          </a>\n          <template v-else>\n            —\n          </template>\n        </div>\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"created_at\" :label=\"$t('globals.fields.createdAt')\"\n        header-class=\"cy-created_at\" sortable>\n        {{ $utils.niceDate(props.row.createdAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"updated_at\" :label=\"$t('globals.fields.updatedAt')\"\n        header-class=\"cy-updated_at\" sortable>\n        {{ $utils.niceDate(props.row.updatedAt) }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" field=\"last_login\" :label=\"$t('users.lastLogin')\" header-class=\"cy-updated_at\"\n        sortable>\n        {{ props.row.loggedinAt ? $utils.niceDate(props.row.loggedinAt, true) : '—' }}\n      </b-table-column>\n\n      <b-table-column v-slot=\"props\" cell-class=\"actions\" align=\"right\">\n        <div>\n          <a v-if=\"$can('users:manage')\" href=\"#\" @click.prevent=\"showEditForm(props.row)\" data-cy=\"btn-edit\"\n            :aria-label=\"$t('globals.buttons.edit')\">\n            <b-tooltip :label=\"$t('globals.buttons.edit')\" type=\"is-dark\">\n              <b-icon icon=\"pencil-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n\n          <a v-if=\"$can('users:manage')\" href=\"#\" @click.prevent=\"deleteUser(props.row)\" data-cy=\"btn-delete\"\n            :aria-label=\"$t('globals.buttons.delete')\">\n            <b-tooltip :label=\"$t('globals.buttons.delete')\" type=\"is-dark\">\n              <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n            </b-tooltip>\n          </a>\n        </div>\n      </b-table-column>\n\n      <template #empty v-if=\"!loading.users\">\n        <empty-placeholder />\n      </template>\n    </b-table>\n\n    <!-- Add / edit form modal -->\n    <b-modal scroll=\"keep\" :aria-modal=\"true\" :active.sync=\"isFormVisible\" :width=\"600\" @close=\"onFormClose\">\n      <user-form :data=\"curItem\" :is-editing=\"isEditing\" @finished=\"formFinished\" />\n    </b-modal>\n  </section>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport EmptyPlaceholder from '../components/EmptyPlaceholder.vue';\n\nimport UserForm from './UserForm.vue';\n\nexport default Vue.extend({\n  components: {\n    EmptyPlaceholder,\n    UserForm,\n  },\n\n  data() {\n    return {\n      curItem: null,\n      isEditing: false,\n      isFormVisible: false,\n      users: [],\n      checked: [],\n      queryParams: {\n        page: 1,\n        query: '',\n        orderBy: 'id',\n        order: 'asc',\n      },\n    };\n  },\n\n  methods: {\n    onSort(field, direction) {\n      this.queryParams.orderBy = field;\n      this.queryParams.order = direction;\n      this.getUsers();\n    },\n\n    onTableCheck() {\n      // Disable bulk.all selection if there are no rows checked in the table.\n      if (this.bulk.checked.length !== this.subscribers.total) {\n        this.bulk.all = false;\n      }\n    },\n\n    // Show the edit form.\n    showEditForm(item) {\n      this.curItem = item;\n      this.isFormVisible = true;\n      this.isEditing = true;\n    },\n\n    // Show the new form.\n    showNewForm() {\n      this.curItem = {};\n      this.isFormVisible = true;\n      this.isEditing = false;\n    },\n\n    formFinished() {\n      this.getUsers();\n    },\n\n    onFormClose() {\n      if (this.$route.params.id) {\n        this.$router.push({ name: 'users' });\n      }\n    },\n\n    getUsers() {\n      this.$api.queryUsers({\n        query: this.queryParams.query.replace(/[^\\p{L}\\p{N}\\s]/gu, ' '),\n        order_by: this.queryParams.orderBy,\n        order: this.queryParams.order,\n      }).then((resp) => {\n        this.users = resp;\n      });\n    },\n\n    deleteUser(item) {\n      this.$utils.confirm(\n        this.$t('globals.messages.confirm'),\n        () => {\n          this.$api.deleteUser(item.id).then(() => {\n            this.getUsers();\n\n            this.$utils.toast(this.$t('globals.messages.deleted', { name: item.name }));\n          });\n        },\n      );\n    },\n  },\n\n  computed: {\n    ...mapState(['loading', 'settings']),\n  },\n\n  created() {\n    this.$root.$on('page.refresh', this.getUsers);\n  },\n\n  destroyed() {\n    this.$root.$off('page.refresh', this.getUsers);\n  },\n\n  mounted() {\n    if (this.$route.params.id) {\n      this.$api.getUser(parseInt(this.$route.params.id, 10)).then((data) => {\n        this.showEditForm(data);\n      });\n    } else {\n      this.getUsers();\n    }\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/appearance.vue",
    "content": "<template>\n  <div class=\"items\">\n    <b-tabs :animated=\"false\" v-model=\"tab\">\n      <b-tab-item :label=\"$t('settings.appearance.adminName')\" label-position=\"on-border\">\n        <div class=\"block\">\n          {{ $t('settings.appearance.adminHelp') }}\n        </div>\n\n        <b-field :label=\"$t('settings.appearance.customCSS')\" label-position=\"on-border\">\n          <code-editor lang=\"css\" v-model=\"data['appearance.admin.custom_css']\" name=\"body\" key=\"editor-admin-css\" />\n        </b-field>\n\n        <b-field :label=\"$t('settings.appearance.customJS')\" label-position=\"on-border\">\n          <code-editor lang=\"javascript\" v-model=\"data['appearance.admin.custom_js']\" name=\"body\"\n            key=\"editor-admin-js\" />\n        </b-field>\n      </b-tab-item><!-- admin -->\n\n      <b-tab-item :label=\"$t('settings.appearance.publicName')\" label-position=\"on-border\">\n        <div class=\"block\">\n          {{ $t('settings.appearance.publicHelp') }}\n        </div>\n\n        <b-field :label=\"$t('settings.appearance.customCSS')\" label-position=\"on-border\">\n          <code-editor lang=\"css\" v-model=\"data['appearance.public.custom_css']\" name=\"body\" key=\"editor-public-css\" />\n        </b-field>\n\n        <b-field :label=\"$t('settings.appearance.customJS')\" label-position=\"on-border\">\n          <code-editor lang=\"javascript\" v-model=\"data['appearance.public.custom_js']\" name=\"body\"\n            key=\"editor-public-js\" />\n        </b-field>\n      </b-tab-item><!-- public -->\n    </b-tabs>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CodeEditor from '../../components/CodeEditor.vue';\n\nexport default Vue.extend({\n  components: {\n    'code-editor': CodeEditor,\n  },\n\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n      tab: 0,\n    };\n  },\n\n  mounted() {\n    this.tab = this.$utils.getPref('settings.apperanceTab') || 0;\n  },\n\n  watch: {\n    tab(t) {\n      this.$utils.setPref('settings.apperanceTab', t);\n    },\n  },\n\n  computed: {\n    ...mapState(['settings']),\n  },\n});\n\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/bounces.vue",
    "content": "<template>\n  <div>\n    <div class=\"columns mb-6\">\n      <div class=\"column is-3\">\n        <b-field :label=\"$t('settings.bounces.enable')\" data-cy=\"btn-enable-bounce\">\n          <b-switch v-model=\"data['bounce.enabled']\" name=\"bounce.enabled\" />\n        </b-field>\n      </div>\n      <div class=\"column\">\n        <div v-for=\"typ in bounceTypes\" :key=\"typ\" class=\"columns\">\n          <div class=\"column is-2\" :class=\"{ disabled: !data['bounce.enabled'] }\" :label=\"$t('settings.bounces.count')\"\n            label-position=\"on-border\">\n            {{ $t(`bounces.${typ}`) }}\n          </div>\n          <div class=\"column is-4\" :class=\"{ disabled: !data['bounce.enabled'] }\">\n            <b-field :label=\"$t('settings.bounces.count')\" label-position=\"on-border\"\n              :message=\"$t('settings.bounces.countHelp')\" data-cy=\"btn-bounce-count\">\n              <b-numberinput v-model=\"data['bounce.actions'][typ]['count']\" name=\"bounce.count\" type=\"is-light\"\n                controls-position=\"compact\" placeholder=\"3\" min=\"1\" max=\"1000\" />\n            </b-field>\n          </div>\n          <div class=\"column is-4\" :class=\"{ disabled: !data['bounce.enabled'] }\">\n            <b-field :label=\"$t('settings.bounces.action')\" label-position=\"on-border\">\n              <b-select name=\"bounce.action\" v-model=\"data['bounce.actions'][typ]['action']\" expanded>\n                <option value=\"none\">\n                  {{ $t('globals.terms.none') }}\n                </option>\n                <option value=\"unsubscribe\">\n                  {{ $t('email.unsub') }}\n                </option>\n                <option value=\"blocklist\">\n                  {{ $t('settings.bounces.blocklist') }}\n                </option>\n                <option value=\"delete\">\n                  {{ $t('globals.buttons.delete') }}\n                </option>\n              </b-select>\n            </b-field>\n          </div>\n        </div>\n      </div>\n    </div><!-- columns -->\n\n    <div class=\"mb-6\">\n      <b-field :label=\"$t('settings.bounces.enableWebhooks')\" data-cy=\"btn-enable-bounce-webhook\">\n        <b-switch v-model=\"data['bounce.webhooks_enabled']\" :disabled=\"!data['bounce.enabled']\" name=\"webhooks_enabled\"\n          :native-value=\"true\" data-cy=\"btn-enable-bounce-webhook\" />\n        <p class=\"has-text-grey\">\n          <a href=\"https://listmonk.app/docs/bounces\" target=\"_blank\" rel=\"noopener noreferer\">{{\n            $t('globals.buttons.learnMore') }} &rarr;</a>\n        </p>\n      </b-field>\n      <div class=\"box\" v-if=\"data['bounce.webhooks_enabled']\">\n        <div class=\"columns\">\n          <div class=\"column\">\n            <b-field :label=\"$t('settings.bounces.enableSES')\">\n              <b-switch v-model=\"data['bounce.ses_enabled']\" name=\"ses_enabled\" :native-value=\"true\"\n                data-cy=\"btn-enable-bounce-ses\" />\n            </b-field>\n          </div>\n        </div>\n        <div class=\"columns\">\n          <div class=\"column is-3\">\n            <b-field :label=\"$t('settings.bounces.enableSendgrid')\">\n              <b-switch v-model=\"data['bounce.sendgrid_enabled']\" name=\"sendgrid_enabled\" :native-value=\"true\"\n                data-cy=\"btn-enable-bounce-sendgrid\" />\n            </b-field>\n          </div>\n          <div class=\"column\">\n            <b-field :label=\"$t('settings.bounces.sendgridKey')\" :message=\"$t('globals.messages.passwordChange')\">\n              <b-input v-model=\"data['bounce.sendgrid_key']\" type=\"password\"\n                :disabled=\"!data['bounce.sendgrid_enabled']\" name=\"sendgrid_enabled\" :native-value=\"true\"\n                data-cy=\"btn-enable-bounce-sendgrid\" />\n            </b-field>\n          </div>\n        </div>\n        <div class=\"columns\">\n          <div class=\"column is-3\">\n            <b-field :label=\"$t('settings.bounces.enablePostmark')\">\n              <b-switch v-model=\"data['bounce.postmark'].enabled\" name=\"postmark_enabled\" :native-value=\"true\"\n                data-cy=\"btn-enable-bounce-postmark\" />\n            </b-field>\n          </div>\n          <div class=\"column\">\n            <b-field :label=\"$t('settings.bounces.postmarkUsername')\"\n              :message=\"$t('settings.bounces.postmarkUsernameHelp')\">\n              <b-input v-model=\"data['bounce.postmark'].username\" type=\"text\"\n                :disabled=\"!data['bounce.postmark'].enabled\" name=\"postmark_username\"\n                data-cy=\"btn-enable-bounce-postmark\" />\n            </b-field>\n          </div>\n          <div class=\"column\">\n            <b-field :label=\"$t('settings.bounces.postmarkPassword')\" :message=\"$t('globals.messages.passwordChange')\">\n              <b-input v-model=\"data['bounce.postmark'].password\" type=\"password\"\n                :disabled=\"!data['bounce.postmark'].enabled\" name=\"postmark_password\"\n                data-cy=\"btn-enable-bounce-postmark\" />\n            </b-field>\n          </div>\n        </div>\n        <div class=\"columns\">\n          <div class=\"column is-3\">\n            <b-field :label=\"$t('settings.bounces.enableForwardemail')\">\n              <b-switch v-model=\"data['bounce.forwardemail'].enabled\" name=\"forwardemail_enabled\" :native-value=\"true\"\n                data-cy=\"btn-enable-bounce-forwardemail\" />\n            </b-field>\n          </div>\n          <div class=\"column\">\n            <b-field :label=\"$t('settings.bounces.forwardemailKey')\" :message=\"$t('globals.messages.passwordChange')\">\n              <b-input v-model=\"data['bounce.forwardemail'].key\" type=\"password\"\n                :disabled=\"!data['bounce.forwardemail'].enabled\" name=\"forwardemail_enabled\" :native-value=\"true\"\n                data-cy=\"btn-enable-bounce-forwardemail\" />\n            </b-field>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <!-- bounce mailbox -->\n    <b-field :label=\"$t('settings.bounces.enableMailbox')\">\n      <b-switch v-if=\"data['bounce.mailboxes']\" v-model=\"data['bounce.mailboxes'][0].enabled\"\n        :disabled=\"!data['bounce.enabled']\" name=\"enabled\" :native-value=\"true\" data-cy=\"btn-enable-bounce-mailbox\" />\n    </b-field>\n\n    <template v-if=\"data['bounce.enabled'] && data['bounce.mailboxes'][0].enabled\">\n      <div class=\"block box\" v-for=\"(item, n) in data['bounce.mailboxes']\" :key=\"n\">\n        <div class=\"columns\">\n          <div class=\"column\" :class=\"{ disabled: !item.enabled }\">\n            <div class=\"columns\">\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.bounces.type')\" label-position=\"on-border\">\n                  <b-select v-model=\"item.type\" name=\"type\">\n                    <option value=\"pop\">\n                      POP\n                    </option>\n                  </b-select>\n                </b-field>\n              </div>\n              <div class=\"column is-6\">\n                <b-field :label=\"$t('settings.mailserver.host')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.hostHelp')\">\n                  <b-input v-model=\"item.host\" name=\"host\" placeholder=\"bounce.yourmailserver.net\" :maxlength=\"200\" />\n                </b-field>\n              </div>\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.mailserver.port')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.portHelp')\">\n                  <b-numberinput v-model=\"item.port\" name=\"port\" type=\"is-light\" controls-position=\"compact\"\n                    placeholder=\"25\" min=\"1\" max=\"65535\" />\n                </b-field>\n              </div>\n            </div><!-- host -->\n\n            <div class=\"columns\">\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.mailserver.authProtocol')\" label-position=\"on-border\">\n                  <b-select v-model=\"item.auth_protocol\" name=\"auth_protocol\">\n                    <option value=\"none\">\n                      none\n                    </option>\n                    <option v-if=\"item.type === 'pop'\" value=\"userpass\">\n                      userpass\n                    </option>\n                    <template v-else>\n                      <option value=\"cram\">\n                        cram\n                      </option>\n                      <option value=\"plain\">\n                        plain\n                      </option>\n                      <option value=\"login\">\n                        login\n                      </option>\n                    </template>\n                  </b-select>\n                </b-field>\n              </div>\n              <div class=\"column\">\n                <b-field grouped>\n                  <b-field :label=\"$t('settings.mailserver.username')\" label-position=\"on-border\" expanded>\n                    <b-input v-model=\"item.username\" :disabled=\"item.auth_protocol === 'none'\" name=\"username\"\n                      placeholder=\"mysmtp\" :maxlength=\"200\" />\n                  </b-field>\n                  <b-field :label=\"$t('settings.mailserver.password')\" label-position=\"on-border\" expanded\n                    :message=\"$t('settings.mailserver.passwordHelp')\">\n                    <b-input v-model=\"item.password\" :disabled=\"item.auth_protocol === 'none'\" name=\"password\"\n                      type=\"password\" :placeholder=\"$t('settings.mailserver.passwordHelp')\" :maxlength=\"200\" />\n                  </b-field>\n                </b-field>\n              </div>\n            </div><!-- auth -->\n\n            <div class=\"columns\">\n              <div class=\"column is-6\">\n                <b-field grouped>\n                  <b-field :label=\"$t('settings.mailserver.tls')\" expanded :message=\"$t('settings.mailserver.tlsHelp')\">\n                    <b-switch v-model=\"item.tls_enabled\" name=\"item.tls_enabled\" />\n                  </b-field>\n                  <b-field :label=\"$t('settings.mailserver.skipTLS')\" expanded\n                    :message=\"$t('settings.mailserver.skipTLSHelp')\">\n                    <b-switch v-model=\"item.tls_skip_verify\" :disabled=\"!item.tls_enabled\"\n                      name=\"item.tls_skip_verify\" />\n                  </b-field>\n                </b-field>\n              </div>\n              <div class=\"column\" />\n              <div class=\"column is-4\">\n                <b-field :label=\"$t('settings.bounces.scanInterval')\" expanded label-position=\"on-border\"\n                  :message=\"$t('settings.bounces.scanIntervalHelp')\">\n                  <b-input v-model=\"item.scan_interval\" name=\"scan_interval\" placeholder=\"15m\" :pattern=\"regDuration\"\n                    :maxlength=\"10\" />\n                </b-field>\n              </div>\n            </div><!-- TLS -->\n          </div>\n        </div><!-- second container column -->\n      </div><!-- block -->\n    </template>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { regDuration } from '../../constants';\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      bounceTypes: ['soft', 'hard', 'complaint'],\n      data: this.form,\n      regDuration,\n    };\n  },\n\n  methods: {\n    removeBounceBox(i) {\n      this.data['bounce.mailboxes'].splice(i, 1);\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/general.vue",
    "content": "<template>\n  <div class=\"items\">\n    <b-field :label=\"$t('settings.general.siteName')\" label-position=\"on-border\">\n      <b-input v-model=\"data['app.site_name']\" name=\"app.site_name\" :label=\"$t('settings.general.siteName')\"\n        :maxlength=\"300\" required />\n    </b-field>\n\n    <b-field :label=\"$t('settings.general.rootURL')\" label-position=\"on-border\"\n      :message=\"$t('settings.general.rootURLHelp')\">\n      <b-input v-model=\"data['app.root_url']\" name=\"app.root_url\" placeholder=\"https://listmonk.yoursite.com\"\n        :maxlength=\"300\" required type=\"url\" pattern=\"https?://.*\" />\n    </b-field>\n\n    <div class=\"columns\">\n      <div class=\"column is-6\">\n        <b-field :label=\"$t('settings.general.logoURL')\" label-position=\"on-border\"\n          :message=\"$t('settings.general.logoURLHelp')\">\n          <b-input v-model=\"data['app.logo_url']\" name=\"app.logo_url\" placeholder=\"https://listmonk.yoursite.com/logo.png\"\n            :maxlength=\"300\" type=\"url\" pattern=\"https?://.*\" />\n        </b-field>\n      </div>\n      <div class=\"column is-6\">\n        <b-field :label=\"$t('settings.general.faviconURL')\" label-position=\"on-border\"\n          :message=\"$t('settings.general.faviconURLHelp')\">\n          <b-input v-model=\"data['app.favicon_url']\" name=\"app.favicon_url\"\n            placeholder=\"https://listmonk.yoursite.com/favicon.png\" :maxlength=\"300\"\n            type=\"url\" pattern=\"https?://.*\" />\n        </b-field>\n      </div>\n    </div>\n\n    <hr />\n    <b-field :label=\"$t('settings.general.fromEmail')\" label-position=\"on-border\"\n      :message=\"$t('settings.general.fromEmailHelp')\">\n      <b-input v-model=\"data['app.from_email']\" name=\"app.from_email\"\n        placeholder=\"Listmonk <noreply@listmonk.yoursite.com>\" pattern=\"((.+?)\\s)?<(.+?)@(.+?)>\" :maxlength=\"300\" />\n    </b-field>\n    <b-field :label=\"$t('settings.general.adminNotifEmails')\" label-position=\"on-border\"\n      :message=\"$t('settings.general.adminNotifEmailsHelp')\">\n      <b-taginput v-model=\"data['app.notify_emails']\" name=\"app.notify_emails\"\n        :before-adding=\"(v) => v.match(/(.+?)@(.+?)/)\" placeholder=\"you@yoursite.com\" />\n    </b-field>\n\n    <hr />\n\n    <div>\n      <h2 class=\"is-size-4 mb-5\">\n        {{ $tc('globals.terms.subscriptions', 2) }}\n      </h2>\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('settings.general.enablePublicSubPage')\"\n            :message=\"$t('settings.general.enablePublicSubPageHelp')\">\n            <b-switch v-model=\"data['app.enable_public_subscription_page']\" name=\"app.enable_public_subscription_page\" />\n          </b-field>\n        </div>\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('settings.general.sendOptinConfirm')\"\n            :message=\"$t('settings.general.sendOptinConfirmHelp')\">\n            <b-switch v-model=\"data['app.send_optin_confirmation']\" name=\"app.send_optin_confirmation\" />\n          </b-field>\n        </div>\n      </div>\n    </div>\n    <hr />\n\n    <div>\n      <h2 class=\"is-size-4 mb-5\">\n        {{ $t('campaigns.archive') }}\n      </h2>\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('settings.general.enablePublicArchive')\"\n            :message=\"$t('settings.general.enablePublicArchiveHelp')\">\n            <b-switch v-model=\"data['app.enable_public_archive']\" name=\"app.enable_public_archive\" />\n          </b-field>\n        </div>\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('settings.general.enablePublicArchiveRSSContent')\"\n            :message=\"$t('settings.general.enablePublicArchiveRSSContentHelp')\">\n            <b-switch v-model=\"data['app.enable_public_archive_rss_content']\"\n              name=\"app.enable_public_archive_rss_content\" />\n          </b-field>\n        </div>\n      </div>\n    </div>\n\n    <hr />\n    <b-field :label=\"$t('settings.general.checkUpdates')\" :message=\"$t('settings.general.checkUpdatesHelp')\">\n      <b-switch v-model=\"data['app.check_updates']\" name=\"app.check_updates\" />\n    </b-field>\n\n    <hr />\n    <b-field :label=\"$t('settings.general.language')\" label-position=\"on-border\" :addons=\"false\">\n      <b-select v-model=\"data['app.lang']\" name=\"app.lang\">\n        <option v-for=\"l in serverConfig.langs\" :key=\"l.code\" :value=\"l.code\">\n          {{ l.name }}\n        </option>\n      </b-select>\n      <p class=\"mt-2\">\n        <a href=\"https://listmonk.app/docs/i18n/#additional-language-packs\" target=\"_blank\" rel=\"noopener noreferer\">{{\n          $t('globals.buttons.more') }} &rarr;</a>\n      </p>\n    </b-field>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n    };\n  },\n\n  computed: {\n    ...mapState(['serverConfig', 'loading']),\n  },\n\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/media.vue",
    "content": "<template>\n  <div class=\"items\">\n    <div class=\"columns\">\n      <div class=\"column\">\n        <b-field :label=\"$t('settings.media.provider')\" label-position=\"on-border\">\n          <b-select v-model=\"data['upload.provider']\" name=\"upload.provider\">\n            <option value=\"filesystem\">\n              filesystem\n            </option>\n            <option value=\"s3\">\n              s3\n            </option>\n          </b-select>\n        </b-field>\n      </div>\n      <div class=\"column is-10\">\n        <b-field :label=\"$t('settings.media.upload.extensions')\" label-position=\"on-border\" expanded>\n          <b-taginput v-model=\"data['upload.extensions']\" name=\"tags\" ellipsis icon=\"tag-outline\"\n            placeholder=\"jpg, png, gif ..\" />\n        </b-field>\n      </div>\n    </div>\n    <hr />\n\n    <div class=\"block\" v-if=\"data['upload.provider'] === 'filesystem'\">\n      <b-field :label=\"$t('settings.media.upload.path')\" label-position=\"on-border\"\n        :message=\"$t('settings.media.upload.pathHelp')\">\n        <b-input v-model=\"data['upload.filesystem.upload_path']\" name=\"app.upload_path\"\n          placeholder=\"/home/listmonk/uploads\" :maxlength=\"200\" required />\n      </b-field>\n\n      <b-field :label=\"$t('settings.media.upload.uri')\" label-position=\"on-border\"\n        :message=\"$t('settings.media.upload.uriHelp')\">\n        <b-input v-model=\"data['upload.filesystem.upload_uri']\" name=\"app.upload_uri\" placeholder=\"/uploads\"\n          :maxlength=\"200\" required pattern=\"^\\/(.+?)\" />\n      </b-field>\n    </div><!-- filesystem -->\n\n    <div class=\"block\" v-if=\"data['upload.provider'] === 's3'\">\n      <div class=\"columns\">\n        <div class=\"column is-3\">\n          <b-field :label=\"$t('settings.media.s3.region')\" label-position=\"on-border\" expanded>\n            <b-input v-model=\"data['upload.s3.aws_default_region']\" @input=\"onS3URLChange\"\n              name=\"upload.s3.aws_default_region\" :maxlength=\"200\" placeholder=\"ap-south-1\" />\n          </b-field>\n        </div>\n        <div class=\"column\">\n          <b-field grouped>\n            <b-field :label=\"$t('settings.media.s3.key')\" label-position=\"on-border\" expanded>\n              <b-input v-model=\"data['upload.s3.aws_access_key_id']\" name=\"upload.s3.aws_access_key_id\"\n                :maxlength=\"200\" />\n            </b-field>\n            <b-field :label=\"$t('settings.media.s3.secret')\" label-position=\"on-border\" expanded\n              message=\"Enter a value to change.\">\n              <b-input v-model=\"data['upload.s3.aws_secret_access_key']\" name=\"upload.s3.aws_secret_access_key\"\n                type=\"password\" :maxlength=\"200\" />\n            </b-field>\n          </b-field>\n        </div>\n      </div>\n\n      <div class=\"columns\">\n        <div class=\"column is-3\">\n          <b-field :label=\"$t('settings.media.s3.bucketType')\" label-position=\"on-border\">\n            <b-select v-model=\"data['upload.s3.bucket_type']\" name=\"upload.s3.bucket_type\" expanded>\n              <option value=\"private\">\n                {{ $t('settings.media.s3.bucketTypePrivate') }}\n              </option>\n              <option value=\"public\">\n                {{ $t('settings.media.s3.bucketTypePublic') }}\n              </option>\n            </b-select>\n          </b-field>\n        </div>\n        <div class=\"column\">\n          <b-field grouped>\n            <b-field :label=\"$t('settings.media.s3.bucket')\" label-position=\"on-border\" expanded>\n              <b-input v-model=\"data['upload.s3.bucket']\" @input=\"onS3URLChange\" name=\"upload.s3.bucket\"\n                :maxlength=\"200\" placeholder=\"\" />\n            </b-field>\n            <b-field :label=\"$t('settings.media.s3.bucketPath')\" label-position=\"on-border\"\n              :message=\"$t('settings.media.s3.bucketPathHelp')\" expanded>\n              <b-input v-model=\"data['upload.s3.bucket_path']\" name=\"upload.s3.bucket_path\" :maxlength=\"200\"\n                placeholder=\"/\" />\n            </b-field>\n          </b-field>\n        </div>\n      </div>\n\n      <div class=\"columns\">\n        <div class=\"column is-3\">\n          <b-field :label=\"$t('settings.media.s3.uploadExpiry')\" label-position=\"on-border\"\n            :message=\"$t('settings.media.s3.uploadExpiryHelp')\" expanded>\n            <b-input v-model=\"data['upload.s3.expiry']\" name=\"upload.s3.expiry\" placeholder=\"14d\" :pattern=\"regDuration\"\n              :maxlength=\"10\" />\n          </b-field>\n        </div>\n        <div class=\"column is-9\">\n          <b-field :label=\"$t('settings.media.s3.url')\" label-position=\"on-border\"\n            :message=\"$t('settings.media.s3.urlHelp')\">\n            <b-input v-model=\"data['upload.s3.url']\" name=\"upload.s3.url\" required\n              placeholder=\"https://s3.$region.amazonaws.com\" :maxlength=\"200\" expanded type=\"url\"\n              pattern=\"https?://.*\" />\n          </b-field>\n          <b-field :label=\"$t('settings.media.s3.publicURL')\" label-position=\"on-border\" :message=\"$t('settings.media.s3.publicURLHelp')\" expanded>\n            <b-input v-model=\"data['upload.s3.public_url']\"\n              name=\"upload.s3.public_url\" placeholder=\"https://files.yourdomain.com\" :maxlength=\"200\" type=\"string\"\n              pattern=\"(https?://.*|/.+)\" />\n          </b-field>\n        </div>\n      </div>\n    </div><!-- s3 -->\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { regDuration } from '../../constants';\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n      regDuration,\n      extensions: [],\n    };\n  },\n\n  methods: {\n    onS3URLChange() {\n      // If a custom non-AWS URL has been entered, don't update it automatically.\n      if (this.data['upload.s3.url'] !== '' && !this.data['upload.s3.url'].match(/amazonaws\\.com/)) {\n        return;\n      }\n      this.data['upload.s3.url'] = `https://s3.${this.data['upload.s3.aws_default_region']}.amazonaws.com`;\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/messengers.vue",
    "content": "<template>\n  <div>\n    <div class=\"items messengers\">\n      <div class=\"block box\" v-for=\"(item, n) in data.messengers\" :key=\"n\">\n        <div class=\"columns\">\n          <div class=\"column is-2\">\n            <b-field :label=\"$t('globals.buttons.enabled')\">\n              <b-switch v-model=\"item.enabled\" name=\"enabled\" :native-value=\"true\" />\n            </b-field>\n            <b-field>\n              <a @click.prevent=\"$utils.confirm(null, () => removeMessenger(n))\" href=\"#\" class=\"is-size-7\">\n                <b-icon icon=\"trash-can-outline\" size=\"is-small\" />\n                {{ $t('globals.buttons.delete') }}\n              </a>\n            </b-field>\n          </div><!-- first column -->\n\n          <div class=\"column\" :class=\"{ disabled: !item.enabled }\">\n            <div class=\"columns\">\n              <div class=\"column is-4\">\n                <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\"\n                  :message=\"$t('settings.messengers.nameHelp')\">\n                  <b-input v-model=\"item.name\" name=\"name\" placeholder=\"mymessenger\" :maxlength=\"200\" />\n                </b-field>\n              </div>\n              <div class=\"column is-8\">\n                <b-field :label=\"$t('settings.messengers.url')\" label-position=\"on-border\"\n                  :message=\"$t('settings.messengers.urlHelp')\">\n                  <b-input v-model=\"item.root_url\" name=\"root_url\" placeholder=\"https://postback.messenger.net/path\"\n                    :maxlength=\"200\" expanded type=\"url\" pattern=\"https?://.*\" />\n                </b-field>\n              </div>\n            </div><!-- host -->\n\n            <div class=\"columns\">\n              <div class=\"column\">\n                <b-field grouped>\n                  <b-field :label=\"$t('settings.messengers.username')\" label-position=\"on-border\" expanded>\n                    <b-input v-model=\"item.username\" name=\"username\" :maxlength=\"200\" />\n                  </b-field>\n                  <b-field :label=\"$t('settings.messengers.password')\" label-position=\"on-border\" expanded\n                    :message=\"$t('globals.messages.passwordChange')\">\n                    <b-input v-model=\"item.password\" name=\"password\" type=\"password\"\n                      :placeholder=\"$t('globals.messages.passwordChange')\" :maxlength=\"200\" />\n                  </b-field>\n                </b-field>\n              </div>\n            </div><!-- auth -->\n            <hr />\n\n            <div class=\"columns\">\n              <div class=\"column is-4\">\n                <b-field :label=\"$t('settings.messengers.maxConns')\" label-position=\"on-border\"\n                  :message=\"$t('settings.messengers.maxConnsHelp')\">\n                  <b-numberinput v-model=\"item.max_conns\" name=\"max_conns\" type=\"is-light\" controls-position=\"compact\"\n                    placeholder=\"25\" min=\"1\" max=\"65535\" />\n                </b-field>\n              </div>\n              <div class=\"column is-4\">\n                <b-field :label=\"$t('settings.messengers.retries')\" label-position=\"on-border\"\n                  :message=\"$t('settings.messengers.retriesHelp')\">\n                  <b-numberinput v-model=\"item.max_msg_retries\" name=\"max_msg_retries\" type=\"is-light\"\n                    controls-position=\"compact\" placeholder=\"2\" min=\"1\" max=\"1000\" />\n                </b-field>\n              </div>\n              <div class=\"column is-4\">\n                <b-field :label=\"$t('settings.messengers.timeout')\" label-position=\"on-border\"\n                  :message=\"$t('settings.messengers.timeoutHelp')\">\n                  <b-input v-model=\"item.timeout\" name=\"timeout\" placeholder=\"5s\" :pattern=\"regDuration\"\n                    :maxlength=\"10\" />\n                </b-field>\n              </div>\n            </div>\n            <hr />\n          </div>\n        </div><!-- second container column -->\n      </div><!-- block -->\n    </div><!-- mail-servers -->\n\n    <b-button @click=\"addMessenger\" icon-left=\"plus\" type=\"is-primary\">\n      {{ $t('globals.buttons.addNew') }}\n    </b-button>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { regDuration } from '../../constants';\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n      regDuration,\n    };\n  },\n\n  methods: {\n    addMessenger() {\n      this.data.messengers.push({\n        enabled: true,\n        root_url: '',\n        name: '',\n        username: '',\n        password: '',\n        max_conns: 25,\n        max_msg_retries: 2,\n        timeout: '5s',\n      });\n\n      this.$nextTick(() => {\n        const items = document.querySelectorAll('.messengers input[name=\"name\"]');\n        items[items.length - 1].focus();\n      });\n    },\n\n    removeMessenger(i) {\n      this.data.messengers.splice(i, 1);\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/performance.vue",
    "content": "<template>\n  <div class=\"items\">\n    <b-field :label=\"$t('settings.performance.concurrency')\" label-position=\"on-border\"\n      :message=\"$t('settings.performance.concurrencyHelp')\">\n      <b-numberinput v-model=\"data['app.concurrency']\" name=\"app.concurrency\" type=\"is-light\" placeholder=\"5\" min=\"1\"\n        max=\"10000\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.performance.messageRate')\" label-position=\"on-border\"\n      :message=\"$t('settings.performance.messageRateHelp')\">\n      <b-numberinput v-model=\"data['app.message_rate']\" name=\"app.message_rate\" type=\"is-light\" placeholder=\"5\" min=\"1\"\n        max=\"100000\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.performance.batchSize')\" label-position=\"on-border\"\n      :message=\"$t('settings.performance.batchSizeHelp')\">\n      <b-numberinput v-model=\"data['app.batch_size']\" name=\"app.batch_size\" type=\"is-light\" placeholder=\"1000\" min=\"1\"\n        max=\"100000\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.performance.maxErrThreshold')\" label-position=\"on-border\"\n      :message=\"$t('settings.performance.maxErrThresholdHelp')\">\n      <b-numberinput v-model=\"data['app.max_send_errors']\" name=\"app.max_send_errors\" type=\"is-light\" placeholder=\"1999\"\n        min=\"0\" max=\"100000\" />\n    </b-field>\n\n    <div>\n      <div class=\"columns\">\n        <div class=\"column is-6\">\n          <b-field :label=\"$t('settings.performance.slidingWindow')\"\n            :message=\"$t('settings.performance.slidingWindowHelp')\">\n            <b-switch v-model=\"data['app.message_sliding_window']\" name=\"app.message_sliding_window\" />\n          </b-field>\n        </div>\n\n        <div class=\"column is-3\" :class=\"{ disabled: !data['app.message_sliding_window'] }\">\n          <b-field :label=\"$t('settings.performance.slidingWindowRate')\" label-position=\"on-border\"\n            :message=\"$t('settings.performance.slidingWindowRateHelp')\">\n            <b-numberinput v-model=\"data['app.message_sliding_window_rate']\" name=\"sliding_window_rate\" type=\"is-light\"\n              controls-position=\"compact\" :disabled=\"!data['app.message_sliding_window']\" placeholder=\"25\" min=\"1\"\n              max=\"10000000\" />\n          </b-field>\n        </div>\n\n        <div class=\"column is-3\" :class=\"{ disabled: !data['app.message_sliding_window'] }\">\n          <b-field :label=\"$t('settings.performance.slidingWindowDuration')\" label-position=\"on-border\"\n            :message=\"$t('settings.performance.slidingWindowDurationHelp')\">\n            <b-input v-model=\"data['app.message_sliding_window_duration']\" name=\"sliding_window_duration\"\n              :disabled=\"!data['app.message_sliding_window']\" placeholder=\"1h\" :pattern=\"regDuration\" :maxlength=\"10\" />\n          </b-field>\n        </div>\n      </div>\n    </div><!-- sliding window -->\n\n    <div>\n      <hr />\n      <div class=\"columns\">\n        <div class=\"column is-4\">\n          <b-field :label=\"$t('settings.performance.cacheSlowQueries')\"\n            :message=\"$t('settings.performance.cacheSlowQueriesHelp')\">\n            <b-switch v-model=\"data['app.cache_slow_queries']\" name=\"app.cache_slow_queries\" />\n          </b-field>\n        </div>\n        <div class=\"column is-4\" :class=\"{ disabled: !data['app.cache_slow_queries'] }\">\n          <b-field :label=\"$t('settings.maintenance.cron')\">\n            <b-input v-model=\"data['app.cache_slow_queries_interval']\" :disabled=\"!data['app.cache_slow_queries']\"\n              placeholder=\"0 3 * * *\" />\n          </b-field>\n        </div>\n        <div class=\"column\">\n          <br /><br />\n          <a href=\"https://listmonk.app/docs/maintenance/performance/\" target=\"_blank\" rel=\"noopener noreferer\">\n            <b-icon icon=\"link-variant\" /> {{ $t('globals.buttons.learnMore') }}\n          </a>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { regDuration } from '../../constants';\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n      regDuration,\n    };\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/privacy.vue",
    "content": "<template>\n  <div class=\"items\">\n    <div class=\"columns\">\n      <div class=\"column is-6\">\n        <b-field :label=\"$t('settings.privacy.disableTracking')\" :message=\"$t('settings.privacy.disableTrackingHelp')\">\n          <b-switch v-model=\"data['privacy.disable_tracking']\" name=\"privacy.disable_tracking\" />\n        </b-field>\n      </div>\n      <div class=\"column is-6\" :class=\"{ 'is-disabled': data['privacy.disable_tracking'] }\">\n        <b-field :label=\"$t('settings.privacy.individualSubTracking')\"\n          :message=\"$t('settings.privacy.individualSubTrackingHelp')\">\n          <b-switch v-model=\"data['privacy.individual_tracking']\" :disabled=\"data['privacy.disable_tracking']\"\n            name=\"privacy.individual_tracking\" />\n        </b-field>\n      </div>\n    </div>\n\n    <b-field :label=\"$t('settings.privacy.listUnsubHeader')\" :message=\"$t('settings.privacy.listUnsubHeaderHelp')\">\n      <b-switch v-model=\"data['privacy.unsubscribe_header']\" name=\"privacy.unsubscribe_header\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.privacy.allowBlocklist')\" :message=\"$t('settings.privacy.allowBlocklistHelp')\">\n      <b-switch v-model=\"data['privacy.allow_blocklist']\" name=\"privacy.allow_blocklist\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.privacy.allowPrefs')\" :message=\"$t('settings.privacy.allowPrefsHelp')\">\n      <b-switch v-model=\"data['privacy.allow_preferences']\" name=\"privacy.allow_blocklist\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.privacy.allowExport')\" :message=\"$t('settings.privacy.allowExportHelp')\">\n      <b-switch v-model=\"data['privacy.allow_export']\" name=\"privacy.allow_export\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.privacy.allowWipe')\" :message=\"$t('settings.privacy.allowWipeHelp')\">\n      <b-switch v-model=\"data['privacy.allow_wipe']\" name=\"privacy.allow_wipe\" />\n    </b-field>\n\n    <b-field :label=\"$t('settings.privacy.recordOptinIP')\" :message=\"$t('settings.privacy.recordOptinIPHelp')\">\n      <b-switch v-model=\"data['privacy.record_optin_ip']\" name=\"privacy.record_optin_ip\" />\n    </b-field>\n\n    <hr />\n\n    <b-tabs v-model=\"tab\" type=\"is-boxed\" :animated=\"false\">\n      <b-tab-item :label=\"`${$t('settings.privacy.domainBlocklist')} (${numBlocked})`\">\n        <b-field :message=\"$t('settings.privacy.domainBlocklistHelp')\">\n          <b-input type=\"textarea\" v-model=\"data['privacy.domain_blocklist']\" name=\"privacy.domain_blocklist\" />\n        </b-field>\n      </b-tab-item>\n      <b-tab-item :label=\"`${$t('settings.privacy.domainAllowlist')} (${numAllowed})`\">\n        <b-field :message=\"$t('settings.privacy.domainAllowlistHelp')\">\n          <b-input type=\"textarea\" v-model=\"data['privacy.domain_allowlist']\" name=\"privacy.domain_allowlist\" />\n        </b-field>\n      </b-tab-item>\n    </b-tabs>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n      tab: 0,\n    };\n  },\n\n  methods: {\n    countItems(str) {\n      return str.split('\\n').filter((line) => line.trim()).length;\n    },\n  },\n\n  mounted() {\n    this.tab = this.$utils.getPref('settings.privacyDomainTab') || 0;\n  },\n\n  computed: {\n    numBlocked() {\n      return this.countItems(this.form['privacy.domain_blocklist']);\n    },\n    numAllowed() {\n      return this.countItems(this.form['privacy.domain_allowlist']);\n    },\n  },\n\n  watch: {\n    tab(t) {\n      this.$utils.setPref('settings.privacyDomainTab', t);\n    },\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/security.vue",
    "content": "<template>\n  <div class=\"items\">\n    <div class=\"columns\">\n      <div class=\"column is-3\">\n        <b-field :label=\"$t('settings.security.enableOIDC')\" :message=\"$t('settings.security.OIDCHelp')\">\n          <b-switch v-model=\"data['security.oidc']['enabled']\" name=\"security.oidc\" />\n        </b-field>\n      </div>\n      <div class=\"column is-9\">\n        <div class=\"columns\">\n          <div class=\"column is-7\">\n            <b-field :label=\"$t('settings.security.OIDCURL')\" label-position=\"on-border\">\n              <div>\n                <b-input v-model=\"data['security.oidc']['provider_url']\" name=\"oidc.provider_url\"\n                  placeholder=\"https://login.yoursite.com\" :disabled=\"!data['security.oidc']['enabled']\"\n                  :maxlength=\"300\" required type=\"url\" pattern=\"https?://.*\" />\n\n                <div class=\"spaced-links is-size-7 mt-2\" :class=\"{ 'disabled': !data['security.oidc']['enabled'] }\">\n                  <a href=\"#\" @click.prevent=\"() => setProvider('google')\">Google</a>\n                  <a href=\"#\" @click.prevent=\"() => setProvider('microsoft')\">Microsoft</a>\n                  <a href=\"#\" @click.prevent=\"() => setProvider('apple')\">Apple</a>\n                </div>\n              </div>\n            </b-field>\n          </div>\n          <div class=\"column is-5\">\n            <b-field :label=\"$t('settings.security.OIDCName')\" label-position=\"on-border\">\n              <b-input v-model=\"data['security.oidc']['provider_name']\" name=\"oidc.provider_name\" ref=\"provider_name\"\n                :disabled=\"!data['security.oidc']['enabled']\" :maxlength=\"200\" />\n            </b-field>\n          </div>\n        </div>\n\n        <div class=\"columns\">\n          <div class=\"column is-6\">\n            <b-field :label=\"$t('settings.security.OIDCClientID')\" label-position=\"on-border\">\n              <b-input v-model=\"data['security.oidc']['client_id']\" name=\"oidc.client_id\" ref=\"client_id\"\n                :disabled=\"!data['security.oidc']['enabled']\" :maxlength=\"200\" required />\n            </b-field>\n          </div>\n\n          <div class=\"column is-6\">\n            <b-field :label=\"$t('settings.security.OIDCClientSecret')\" label-position=\"on-border\">\n              <b-input v-model=\"data['security.oidc']['client_secret']\" name=\"oidc.client_secret\" type=\"password\"\n                :disabled=\"!data['security.oidc']['enabled']\" :maxlength=\"200\" required />\n            </b-field>\n          </div>\n        </div>\n\n        <hr />\n        <div class=\"columns\">\n          <div class=\"column is-4\">\n            <b-field :label=\"$t('settings.security.OIDCAutoCreateUsers')\"\n              :message=\"$t('settings.security.OIDCAutoCreateUsersHelp')\">\n              <b-switch v-model=\"data['security.oidc']['auto_create_users']\"\n                :disabled=\"!data['security.oidc']['enabled']\" name=\"oidc.auto_create_users\" />\n            </b-field>\n          </div>\n          <div class=\"column is-4\">\n            <b-field :label=\"$t('settings.security.OIDCDefaultUserRole')\" label-position=\"on-border\"\n              :message=\"$t('settings.security.OIDCDefaultRoleHelp')\">\n              <b-select v-model=\"data['security.oidc']['default_user_role_id']\"\n                :disabled=\"!data['security.oidc']['enabled'] || !data['security.oidc']['auto_create_users']\"\n                name=\"oidc.default_user_role_id\" expanded>\n                <option v-for=\"role in userRoles\" :key=\"role.id\" :value=\"role.id\">\n                  {{ role.name }}\n                </option>\n              </b-select>\n            </b-field>\n          </div>\n          <div class=\"column is-4\">\n            <b-field :label=\"$t('settings.security.OIDCDefaultListRole')\" label-position=\"on-border\"\n              :message=\"$t('settings.security.OIDCDefaultRoleHelp')\">\n              <b-select v-model=\"data['security.oidc']['default_list_role_id']\"\n                :disabled=\"!data['security.oidc']['enabled'] || !data['security.oidc']['auto_create_users']\"\n                name=\"oidc.default_list_role_id\" expanded>\n                <option :value=\"null\">&mdash; {{ $t(\"globals.terms.none\") }} &mdash;</option>\n                <option v-for=\"role in listRoles\" :key=\"role.id\" :value=\"role.id\">\n                  {{ role.name }}\n                </option>\n              </b-select>\n            </b-field>\n          </div>\n        </div>\n\n        <hr />\n        <b-field :label=\"$t('settings.security.OIDCRedirectURL')\">\n          <code><copy-text :text=\"`${serverConfig.root_url}/auth/oidc`\" /></code>\n        </b-field>\n        <p v-if=\"data['security.oidc']['enabled'] && !isURLOk\" class=\"has-text-danger\">\n          <b-icon icon=\"warning-empty\" />\n          {{ $t('settings.security.OIDCRedirectWarning') }}\n        </p>\n      </div>\n    </div>\n\n    <hr />\n    <div class=\"columns\">\n      <div class=\"column is-3\">\n        <b-field :label=\"$t('settings.security.enableCaptcha')\" :message=\"$t('settings.security.enableCaptchaHelp')\">\n          <b-switch v-model=\"captchaEnabled\" name=\"security.captcha\" />\n        </b-field>\n      </div>\n      <div class=\"column is-9\" v-if=\"captchaEnabled\">\n        <b-field>\n          <b-radio v-model=\"selectedProvider\" native-value=\"altcha\" name=\"captcha_provider\">\n            ALTCHA\n          </b-radio>\n          <b-radio v-model=\"selectedProvider\" native-value=\"hcaptcha\" name=\"captcha_provider\">\n            hCaptcha (deprecated)\n          </b-radio>\n        </b-field>\n\n        <!-- captcha settings -->\n        <div v-if=\"selectedProvider === 'altcha'\">\n          <b-field :label=\"$t('settings.security.altchaComplexity')\" label-position=\"on-border\"\n            :message=\"$t('settings.security.altchaComplexityHelp')\">\n            <b-input v-model.number=\"data['security.captcha']['altcha']['complexity']\" name=\"altcha_complexity\"\n              type=\"number\" min=\"1000\" max=\"1000000\" required />\n          </b-field>\n        </div>\n        <div v-if=\"selectedProvider === 'hcaptcha'\">\n          <b-field :label=\"$t('settings.security.captchaKey')\" label-position=\"on-border\"\n            :message=\"$t('settings.security.captchaKeyHelp')\">\n            <b-input v-model=\"data['security.captcha']['hcaptcha']['key']\" name=\"hcaptcha_key\" :maxlength=\"200\"\n              required />\n          </b-field>\n          <b-field :label=\"$t('settings.security.captchaSecret')\" label-position=\"on-border\">\n            <b-input v-model=\"data['security.captcha']['hcaptcha']['secret']\" name=\"hcaptcha_secret\" type=\"password\"\n              :maxlength=\"200\" required />\n          </b-field>\n        </div>\n      </div>\n    </div><!-- captcha -->\n\n    <hr />\n\n    <!-- CORS -->\n    <div class=\"columns\">\n      <div class=\"column is-12\">\n        <h3 class=\"is-size-6\"><strong>CORS</strong></h3><br />\n        <b-field :label=\"$t('settings.security.CORSDomains')\" label-position=\"on-border\"\n          :message=\"$t('settings.security.CORSDomainsHelp')\">\n          <b-input v-model=\"corsDomains\" name=\"cors_origins\" type=\"textarea\" rows=\"5\"\n            placeholder=\"https://example.com\" />\n        </b-field>\n      </div>\n    </div><!-- cors -->\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport CopyText from '../../components/CopyText.vue';\n\nconst OIDC_PROVIDERS = {\n  google: 'https://accounts.google.com',\n  github: 'https://token.actions.githubusercontent.com',\n  microsoft: 'https://login.microsoftonline.com/{TENANT_HERE}/v2.0',\n  apple: 'https://appleid.apple.com',\n};\n\nexport default Vue.extend({\n  components: {\n    CopyText,\n  },\n\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  computed: {\n    ...mapState(['serverConfig', 'userRoles', 'listRoles']),\n\n    corsDomains: {\n      get() {\n        // Convert array to newline-separated string.\n        const domains = this.data['security.cors_origins'];\n        return domains && Array.isArray(domains) ? domains.join('\\n') : '';\n      },\n      set(value) {\n        this.$set(this.data, 'security.cors_origins', value.split('\\n'));\n      },\n    },\n\n    captchaEnabled: {\n      get() {\n        return this.data['security.captcha'].altcha.enabled || this.data['security.captcha'].hcaptcha.enabled;\n      },\n      set(value) {\n        this.data['security.captcha'].altcha.enabled = !!value;\n        this.data['security.captcha'].hcaptcha.enabled = false;\n      },\n    },\n\n    selectedProvider: {\n      get() {\n        if (this.data['security.captcha'].hcaptcha.enabled) {\n          return 'hcaptcha';\n        }\n\n        return 'altcha';\n      },\n      set(value) {\n        this.data['security.captcha'].hcaptcha.enabled = value === 'hcaptcha';\n        this.data['security.captcha'].altcha.enabled = value === 'altcha';\n      },\n    },\n\n    version() {\n      return import.meta.env.VUE_APP_VERSION;\n    },\n\n    isMobile() {\n      return this.windowWidth <= 768;\n    },\n\n    isURLOk() {\n      try {\n        const u = new URL(this.serverConfig.root_url);\n        return u.hostname !== 'localhost' && u.hostname !== '127.0.0.1';\n      } catch (e) {\n        return false;\n      }\n    },\n  },\n\n  mounted() {\n    this.$api.getUserRoles();\n    this.$api.getListRoles();\n  },\n\n  methods: {\n    setProvider(provider) {\n      this.$set(this.data['security.oidc'], 'provider_url', OIDC_PROVIDERS[provider]);\n      this.$set(this.data['security.oidc'], 'provider_name', provider.charAt(0).toUpperCase() + provider.slice(1));\n\n      this.$nextTick(() => {\n        this.$refs.client_id.focus();\n      });\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n    };\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/src/views/settings/smtp.vue",
    "content": "<template>\n  <div>\n    <div class=\"items mail-servers\">\n      <div class=\"block box\" v-for=\"(item, n) in form.smtp\" :key=\"n\">\n        <div class=\"columns\">\n          <div class=\"column is-2\">\n            <b-field :label=\"$t('globals.buttons.enabled')\">\n              <b-switch v-model=\"item.enabled\" name=\"enabled\" :native-value=\"true\" data-cy=\"btn-enable-smtp\" />\n            </b-field>\n            <b-field v-if=\"form.smtp.length > 1\">\n              <a @click.prevent=\"$utils.confirm(null, () => removeSMTP(n))\" href=\"#\" data-cy=\"btn-delete-smtp\">\n                <b-icon icon=\"trash-can-outline\" />\n                {{ $t('globals.buttons.delete') }}\n              </a>\n            </b-field>\n          </div><!-- first column -->\n\n          <div class=\"column\" :class=\"{ disabled: !item.enabled }\">\n            <div class=\"columns\">\n              <div class=\"column is-9\">\n                <b-field :label=\"$t('settings.mailserver.host')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.hostHelp')\">\n                  <b-input v-model=\"item.host\" name=\"host\" placeholder=\"smtp.yourmailserver.net\" :maxlength=\"200\" />\n                </b-field>\n              </div>\n              <div class=\"column\">\n                <b-field :label=\"$t('settings.mailserver.port')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.portHelp')\">\n                  <b-numberinput v-model=\"item.port\" name=\"port\" type=\"is-light\" controls-position=\"compact\"\n                    placeholder=\"25\" min=\"1\" max=\"65535\" />\n                </b-field>\n              </div>\n            </div><!-- host -->\n\n            <div class=\"columns\">\n              <div class=\"column is-2\">\n                <b-field :label=\"$t('settings.mailserver.authProtocol')\" label-position=\"on-border\">\n                  <b-select v-model=\"item.auth_protocol\" name=\"auth_protocol\">\n                    <option value=\"login\">\n                      LOGIN\n                    </option>\n                    <option value=\"cram\">\n                      CRAM\n                    </option>\n                    <option value=\"plain\">\n                      PLAIN\n                    </option>\n                    <option value=\"none\">\n                      None\n                    </option>\n                  </b-select>\n                </b-field>\n              </div>\n              <div class=\"column\">\n                <b-field grouped>\n                  <b-field :label=\"$t('settings.mailserver.username')\" label-position=\"on-border\" expanded>\n                    <b-input v-model=\"item.username\" :custom-class=\"`smtp-username-${n}`\"\n                      :disabled=\"item.auth_protocol === 'none'\" name=\"username\" placeholder=\"mysmtp\" :maxlength=\"200\" />\n                  </b-field>\n                  <b-field :label=\"$t('settings.mailserver.password')\" label-position=\"on-border\" expanded\n                    :message=\"$t('settings.mailserver.passwordHelp')\">\n                    <b-input v-model=\"item.password\" :disabled=\"item.auth_protocol === 'none'\" name=\"password\"\n                      type=\"password\" :custom-class=\"`password-${n}`\"\n                      :placeholder=\"$t('settings.mailserver.passwordHelp')\" :maxlength=\"200\" />\n                  </b-field>\n                </b-field>\n              </div>\n            </div><!-- auth -->\n            <div class=\"spaced-links is-size-7\">\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'gmail')\">Gmail</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'ses')\">Amazon SES</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'mailgun')\">Mailgun</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'mailjet')\">Mailjet</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'sendgrid')\">Sendgrid</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'postmark')\">Postmark</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'forwardemail')\">Forward Email</a>\n              <a href=\"#\" @click.prevent=\"() => fillSettings(n, 'lettermint')\">Lettermint</a>\n            </div>\n            <hr />\n\n            <div class=\"columns\">\n              <div class=\"column is-6\">\n                <b-field :label=\"$t('settings.smtp.heloHost')\" label-position=\"on-border\"\n                  :message=\"$t('settings.smtp.heloHostHelp')\">\n                  <b-input v-model=\"item.hello_hostname\" name=\"hello_hostname\" placeholder=\"\" :maxlength=\"200\" />\n                </b-field>\n              </div>\n              <div class=\"column\">\n                <b-field grouped>\n                  <b-field :label=\"$t('settings.mailserver.tls')\" expanded :message=\"$t('settings.mailserver.tlsHelp')\"\n                    label-position=\"on-border\">\n                    <b-select v-model=\"item.tls_type\" name=\"items.tls_type\">\n                      <option value=\"none\">\n                        {{ $t('globals.states.off') }}\n                      </option>\n                      <option value=\"STARTTLS\">\n                        STARTTLS\n                      </option>\n                      <option value=\"TLS\">\n                        SSL/TLS\n                      </option>\n                    </b-select>\n                  </b-field>\n                  <b-field :label=\"$t('settings.mailserver.skipTLS')\" expanded\n                    :message=\"$t('settings.mailserver.skipTLSHelp')\">\n                    <b-switch v-model=\"item.tls_skip_verify\" :disabled=\"item.tls_type === 'none'\"\n                      name=\"item.tls_skip_verify\" />\n                  </b-field>\n                </b-field>\n              </div>\n            </div><!-- TLS -->\n            <hr />\n\n            <div class=\"columns\">\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.mailserver.maxConns')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.maxConnsHelp')\">\n                  <b-numberinput v-model=\"item.max_conns\" name=\"max_conns\" type=\"is-light\" controls-position=\"compact\"\n                    placeholder=\"25\" min=\"1\" max=\"65535\" />\n                </b-field>\n              </div>\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.smtp.retries')\" label-position=\"on-border\"\n                  :message=\"$t('settings.smtp.retriesHelp')\">\n                  <b-numberinput v-model=\"item.max_msg_retries\" name=\"max_msg_retries\" type=\"is-light\"\n                    controls-position=\"compact\" placeholder=\"2\" min=\"1\" max=\"1000\" />\n                </b-field>\n              </div>\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.mailserver.idleTimeout')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.idleTimeoutHelp')\">\n                  <b-input v-model=\"item.idle_timeout\" name=\"idle_timeout\" placeholder=\"15s\" :pattern=\"regDuration\"\n                    :maxlength=\"10\" />\n                </b-field>\n              </div>\n              <div class=\"column is-3\">\n                <b-field :label=\"$t('settings.mailserver.waitTimeout')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.waitTimeoutHelp')\">\n                  <b-input v-model=\"item.wait_timeout\" name=\"wait_timeout\" placeholder=\"5s\" :pattern=\"regDuration\"\n                    :maxlength=\"10\" />\n                </b-field>\n              </div>\n            </div>\n\n            <div class=\"columns\">\n              <div class=\"column is-6\">\n                <b-field :label=\"$t('globals.fields.name')\" label-position=\"on-border\"\n                  :message=\"$t('settings.mailserver.nameHelp')\">\n                  <b-input v-model=\"item.name\" name=\"name\" placeholder=\"email-primary\" :maxlength=\"100\" />\n                </b-field>\n              </div>\n            </div>\n\n            <div class=\"columns\">\n              <div class=\"column\">\n                <p v-if=\"item.email_headers.length === 0 && !item.showHeaders\">\n                  <a href=\"#\" @click.prevent=\"() => showSMTPHeaders(n)\">\n                    <b-icon icon=\"plus\" />{{ $t('settings.smtp.setCustomHeaders') }}</a>\n                </p>\n                <b-field v-if=\"item.email_headers.length > 0 || item.showHeaders\" label-position=\"on-border\"\n                  :message=\"$t('settings.smtp.customHeadersHelp')\">\n                  <b-input v-model=\"item.strEmailHeaders\" name=\"email_headers\" type=\"textarea\"\n                    placeholder=\"[{&quot;X-Custom&quot;: &quot;value&quot;}, {&quot;X-Custom2&quot;: &quot;value&quot;}]\" />\n                </b-field>\n              </div>\n            </div>\n            <hr />\n\n            <form @submit.prevent=\"() => doSMTPTest(item, n)\">\n              <div class=\"columns\">\n                <template v-if=\"smtpTestItem === n\">\n                  <div class=\"column is-5\">\n                    <strong>{{ $t('settings.general.fromEmail') }}</strong>\n                    <br />\n                    {{ settings['app.from_email'] }}\n                  </div>\n                  <div class=\"column is-4\">\n                    <b-field :label=\"$t('settings.smtp.toEmail')\" label-position=\"on-border\">\n                      <b-input type=\"email\" required v-model=\"testEmail\" :ref=\"'testEmailTo'\"\n                        placeholder=\"email@site.com\" :custom-class=\"`test-email-${n}`\" />\n                    </b-field>\n                  </div>\n                </template>\n                <div class=\"column has-text-right\">\n                  <b-button v-if=\"smtpTestItem === n\" class=\"is-primary\" @click.prevent=\"() => doSMTPTest(item, n)\">\n                    {{ $t('settings.smtp.sendTest') }}\n                  </b-button>\n                  <a href=\"#\" v-else class=\"is-primary\" @click.prevent=\"showTestForm(n)\">\n                    <b-icon icon=\"rocket-launch-outline\" /> {{ $t('settings.smtp.testConnection') }}\n                  </a>\n                </div>\n                <div class=\"columns\">\n                  <div class=\"column\" />\n                </div>\n              </div>\n              <div v-if=\"errMsg && smtpTestItem === n\">\n                <b-field class=\"mt-4\" type=\"is-danger\">\n                  <b-input v-model=\"errMsg\" type=\"textarea\" custom-class=\"has-text-danger is-size-6\" readonly />\n                </b-field>\n              </div>\n            </form><!-- smtp test -->\n          </div>\n        </div><!-- second container column -->\n      </div><!-- block -->\n    </div><!-- mail-servers -->\n\n    <b-button @click=\"addSMTP\" icon-left=\"plus\" type=\"is-primary\">\n      {{ $t('globals.buttons.addNew') }}\n    </b-button>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport { regDuration } from '../../constants';\n\nconst smtpTemplates = {\n  gmail: {\n    host: 'smtp.gmail.com', port: 465, auth_protocol: 'login', tls_type: 'TLS',\n  },\n  ses: {\n    host: 'email-smtp.YOUR-REGION.amazonaws.com', port: 465, auth_protocol: 'login', tls_type: 'TLS',\n  },\n  mailjet: {\n    host: 'in-v3.mailjet.com', port: 465, auth_protocol: 'cram', tls_type: 'TLS',\n  },\n  mailgun: {\n    host: 'smtp.mailgun.org', port: 465, auth_protocol: 'login', tls_type: 'TLS',\n  },\n  sendgrid: {\n    host: 'smtp.sendgrid.net', port: 465, auth_protocol: 'login', tls_type: 'TLS',\n  },\n  forwardemail: {\n    host: 'smtp.forwardemail.net', port: 465, auth_protocol: 'login', tls_type: 'TLS',\n  },\n  postmark: {\n    host: 'smtp.postmarkapp.com', port: 587, auth_protocol: 'cram', tls_type: 'STARTTLS',\n  },\n  lettermint: {\n    host: 'smtp.lettermint.co', port: 465, auth_protocol: 'login', tls_type: 'TLS',\n  },\n};\n\nexport default Vue.extend({\n  props: {\n    form: {\n      type: Object, default: () => { },\n    },\n  },\n\n  data() {\n    return {\n      data: this.form,\n      regDuration,\n      // Index of the SMTP block item in the array to show the\n      // test form in.\n      smtpTestItem: null,\n      testEmail: '',\n      errMsg: '',\n    };\n  },\n\n  methods: {\n    addSMTP() {\n      this.data.smtp.push({\n        name: '',\n        enabled: true,\n        host: '',\n        hello_hostname: '',\n        port: 587,\n        auth_protocol: 'none',\n        username: '',\n        password: '',\n        email_headers: [],\n        max_conns: 10,\n        max_msg_retries: 2,\n        idle_timeout: '15s',\n        wait_timeout: '5s',\n        tls_type: 'STARTTLS',\n        tls_skip_verify: false,\n      });\n\n      this.$nextTick(() => {\n        const items = document.querySelectorAll('.mail-servers input[name=\"host\"]');\n        items[items.length - 1].focus();\n      });\n    },\n\n    removeSMTP(i) {\n      this.data.smtp.splice(i, 1);\n    },\n\n    showSMTPHeaders(i) {\n      const s = this.data.smtp[i];\n      s.showHeaders = true;\n      this.data.smtp.splice(i, 1, s);\n    },\n\n    testConnection() {\n      let em = this.settings['app.from_email'].replace('>', '').split('<');\n      if (em.length > 1) {\n        em = `<${em[em.length - 1]}>`;\n      }\n    },\n\n    doSMTPTest(item, n) {\n      if (!this.isTestEnabled(item)) {\n        this.$utils.toast(this.$t('settings.smtp.testEnterEmail'), 'is-danger');\n        this.$nextTick(() => {\n          const i = document.querySelector(`.password-${n}`);\n          this.data.smtp[n].password = '';\n          i.focus();\n          i.select();\n        });\n        return;\n      }\n\n      this.errMsg = '';\n      this.$api.testSMTP({ ...item, email: this.testEmail }).then(() => {\n        this.$utils.toast(this.$t('campaigns.testSent'));\n      }).catch((err) => {\n        if (err.response?.data?.message) {\n          this.errMsg = err.response.data.message;\n        }\n      });\n    },\n\n    showTestForm(n) {\n      this.smtpTestItem = n;\n      this.testItem = this.form.smtp[n];\n      this.errMsg = '';\n\n      this.$nextTick(() => {\n        document.querySelector(`.test-email-${n}`).focus();\n      });\n    },\n\n    isTestEnabled(item) {\n      if (!item.host || !item.port) {\n        return false;\n      }\n      if (item.auth_protocol !== 'none' && item.password.includes('•')) {\n        return false;\n      }\n\n      return true;\n    },\n\n    fillSettings(n, key) {\n      this.data.smtp.splice(n, 1, {\n        ...this.data.smtp[n],\n        ...smtpTemplates[key],\n        username: '',\n        password: '',\n        hello_hostname: '',\n        tls_skip_verify: false,\n      });\n\n      this.$nextTick(() => {\n        document.querySelector(`.smtp-username-${n}`).focus();\n      });\n    },\n  },\n\n  computed: {\n    ...mapState(['settings']),\n  },\n});\n</script>\n"
  },
  {
    "path": "frontend/vite.config.js",
    "content": "import vue from '@vitejs/plugin-vue2';\nimport { defineConfig, loadEnv } from 'vite';\n\nconst path = require('path');\n\n// https://vitejs.dev/config/\nexport default defineConfig(({ _, mode }) => {\n  const env = loadEnv(mode, process.cwd(), '');\n  return {\n    plugins: [vue()],\n    base: '/admin',\n    mode,\n    resolve: {\n      alias: {\n        '@': path.resolve(__dirname, './src'),\n        bulma: require.resolve('bulma/bulma.sass'),\n      },\n    },\n    build: {\n      assetsDir: 'static',\n    },\n    server: {\n      port: env.LISTMONK_FRONTEND_PORT || 8080,\n      proxy: {\n        '^/$': {\n          target: env.LISTMONK_API_URL || 'http://127.0.0.1:9000',\n        },\n        '^/(api|webhooks|subscription|public|health)': {\n          target: env.LISTMONK_API_URL || 'http://127.0.0.1:9000',\n        },\n        '^/admin/login': {\n          target: env.LISTMONK_API_URL || 'http://127.0.0.1:9000',\n        },\n        '^/(admin\\/custom\\.(css|js))': {\n          target: env.LISTMONK_API_URL || 'http://127.0.0.1:9000',\n        },\n      },\n    },\n  };\n});\n"
  },
  {
    "path": "go.mod",
    "content": "module github.com/knadh/listmonk\n\ngo 1.26.1\n\nrequire (\n\tgithub.com/Masterminds/sprig/v3 v3.3.0\n\tgithub.com/altcha-org/altcha-lib-go v1.0.0\n\tgithub.com/coreos/go-oidc/v3 v3.14.1\n\tgithub.com/disintegration/imaging v1.6.2\n\tgithub.com/emersion/go-message v0.18.2\n\tgithub.com/gdgvda/cron v0.4.0\n\tgithub.com/gofrs/uuid/v5 v5.3.2\n\tgithub.com/gorilla/feeds v1.2.0\n\tgithub.com/jmoiron/sqlx v1.4.0\n\tgithub.com/knadh/go-pop3 v1.0.0\n\tgithub.com/knadh/goyesql/v2 v2.2.0\n\tgithub.com/knadh/koanf/maps v0.1.2\n\tgithub.com/knadh/koanf/parsers/json v1.0.0\n\tgithub.com/knadh/koanf/parsers/toml v0.1.0\n\tgithub.com/knadh/koanf/providers/confmap v1.0.0\n\tgithub.com/knadh/koanf/providers/env v1.1.0\n\tgithub.com/knadh/koanf/providers/file v1.2.0\n\tgithub.com/knadh/koanf/providers/posflag v1.0.1\n\tgithub.com/knadh/koanf/providers/rawbytes v1.0.0\n\tgithub.com/knadh/koanf/v2 v2.2.2\n\tgithub.com/knadh/paginator v1.0.1\n\tgithub.com/knadh/smtppool/v2 v2.0.2\n\tgithub.com/knadh/stuffbin v1.3.0\n\tgithub.com/labstack/echo/v4 v4.13.4\n\tgithub.com/lib/pq v1.10.9\n\tgithub.com/paulbellamy/ratecounter v0.2.0\n\tgithub.com/pquerna/otp v1.5.0\n\tgithub.com/rhnvrm/simples3 v0.9.1\n\tgithub.com/spf13/pflag v1.0.6\n\tgithub.com/yuin/goldmark v1.7.12\n\tgithub.com/zerodha/easyjson v1.0.1\n\tgithub.com/zerodha/simplesessions/stores/postgres/v3 v3.0.0\n\tgithub.com/zerodha/simplesessions/v3 v3.0.0\n\tgolang.org/x/mod v0.29.0\n\tgolang.org/x/oauth2 v0.30.0\n\tgolang.org/x/text v0.31.0\n\tgopkg.in/volatiletech/null.v6 v6.0.0-20170828023728-0bef4e07ae1b\n)\n\nrequire (\n\tdario.cat/mergo v1.0.2 // indirect\n\tgithub.com/Masterminds/goutils v1.1.1 // indirect\n\tgithub.com/Masterminds/semver/v3 v3.4.0 // indirect\n\tgithub.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect\n\tgithub.com/fsnotify/fsnotify v1.9.0 // indirect\n\tgithub.com/go-jose/go-jose/v4 v4.1.1 // indirect\n\tgithub.com/go-viper/mapstructure/v2 v2.4.0 // indirect\n\tgithub.com/google/uuid v1.6.0 // indirect\n\tgithub.com/huandu/xstrings v1.5.0 // indirect\n\tgithub.com/josharian/intern v1.0.0 // indirect\n\tgithub.com/labstack/gommon v0.4.2 // indirect\n\tgithub.com/mattn/go-colorable v0.1.14 // indirect\n\tgithub.com/mattn/go-isatty v0.0.20 // indirect\n\tgithub.com/mitchellh/copystructure v1.2.0 // indirect\n\tgithub.com/mitchellh/reflectwalk v1.0.2 // indirect\n\tgithub.com/pelletier/go-toml v1.9.5 // indirect\n\tgithub.com/shopspring/decimal v1.4.0 // indirect\n\tgithub.com/spf13/cast v1.9.2 // indirect\n\tgithub.com/valyala/bytebufferpool v1.0.0 // indirect\n\tgithub.com/valyala/fasttemplate v1.2.2 // indirect\n\tgolang.org/x/crypto v0.45.0 // indirect\n\tgolang.org/x/image v0.29.0 // indirect\n\tgolang.org/x/net v0.47.0 // indirect\n\tgolang.org/x/sys v0.38.0 // indirect\n\tgolang.org/x/time v0.12.0 // indirect\n)\n"
  },
  {
    "path": "go.sum",
    "content": "dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=\ndario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=\nfilippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=\nfilippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=\ngithub.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=\ngithub.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=\ngithub.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=\ngithub.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=\ngithub.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=\ngithub.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=\ngithub.com/altcha-org/altcha-lib-go v1.0.0 h1:7oPti0aUS+YCep8nwt5b9g4jYfCU55ZruWESL8G9K5M=\ngithub.com/altcha-org/altcha-lib-go v1.0.0/go.mod h1:I8ESLVWR9C58uvGufB/AJDPhaSU4+4Oh3DLpVtgwDAk=\ngithub.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI=\ngithub.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=\ngithub.com/coreos/go-oidc/v3 v3.14.1 h1:9ePWwfdwC4QKRlCXsJGou56adA/owXczOzwKdOumLqk=\ngithub.com/coreos/go-oidc/v3 v3.14.1/go.mod h1:HaZ3szPaZ0e4r6ebqvsLWlk2Tn+aejfmrfah6hnSYEU=\ngithub.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=\ngithub.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=\ngithub.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=\ngithub.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c=\ngithub.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4=\ngithub.com/emersion/go-message v0.15.0/go.mod h1:wQUEfE+38+7EW8p8aZ96ptg6bAb1iwdgej19uXASlE4=\ngithub.com/emersion/go-message v0.18.2 h1:rl55SQdjd9oJcIoQNhubD2Acs1E6IzlZISRTK7x/Lpg=\ngithub.com/emersion/go-message v0.18.2/go.mod h1:XpJyL70LwRvq2a8rVbHXikPgKj8+aI0kGdHlg16ibYA=\ngithub.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U=\ngithub.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=\ngithub.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=\ngithub.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=\ngithub.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=\ngithub.com/gdgvda/cron v0.4.0 h1:hGXFhEXisTqOByNVf2YEL3pWcND90Acjf4gjF4S+ICg=\ngithub.com/gdgvda/cron v0.4.0/go.mod h1:caBF+mzTZGtQqFE05T1m6u9OmCASY3EK51XAICf3wio=\ngithub.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI=\ngithub.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA=\ngithub.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=\ngithub.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=\ngithub.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=\ngithub.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=\ngithub.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=\ngithub.com/gofrs/uuid/v5 v5.3.2 h1:2jfO8j3XgSwlz/wHqemAEugfnTlikAYHhnqQ8Xh4fE0=\ngithub.com/gofrs/uuid/v5 v5.3.2/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8=\ngithub.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=\ngithub.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=\ngithub.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=\ngithub.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=\ngithub.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=\ngithub.com/gorilla/feeds v1.2.0 h1:O6pBiXJ5JHhPvqy53NsjKOThq+dNFm8+DFrxBEdzSCc=\ngithub.com/gorilla/feeds v1.2.0/go.mod h1:WMib8uJP3BbY+X8Szd1rA5Pzhdfh+HCCAYT2z7Fza6Y=\ngithub.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=\ngithub.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=\ngithub.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=\ngithub.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o=\ngithub.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY=\ngithub.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=\ngithub.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=\ngithub.com/knadh/go-pop3 v1.0.0 h1:ICAINSl+uqwwCW6p7RjhY+AbPWC2KMLtdQCpuiSqe1g=\ngithub.com/knadh/go-pop3 v1.0.0/go.mod h1:a5kUJzrBB6kec+tNJl+3Z64ROgByKBdcyub+mhZMAfI=\ngithub.com/knadh/goyesql/v2 v2.2.0 h1:DNQIzgITmMTXA+z+jDzbXCpgr7fGD6Hp0AJ7ZLEAem4=\ngithub.com/knadh/goyesql/v2 v2.2.0/go.mod h1:is+wK/XQBukYK3DdKfpJRyDH9U/ZTMyX2u6DFijjRnI=\ngithub.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo=\ngithub.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=\ngithub.com/knadh/koanf/parsers/json v1.0.0 h1:1pVR1JhMwbqSg5ICzU+surJmeBbdT4bQm7jjgnA+f8o=\ngithub.com/knadh/koanf/parsers/json v1.0.0/go.mod h1:zb5WtibRdpxSoSJfXysqGbVxvbszdlroWDHGdDkkEYU=\ngithub.com/knadh/koanf/parsers/toml v0.1.0 h1:S2hLqS4TgWZYj4/7mI5m1CQQcWurxUz6ODgOub/6LCI=\ngithub.com/knadh/koanf/parsers/toml v0.1.0/go.mod h1:yUprhq6eo3GbyVXFFMdbfZSo928ksS+uo0FFqNMnO18=\ngithub.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=\ngithub.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=\ngithub.com/knadh/koanf/providers/env v1.1.0 h1:U2VXPY0f+CsNDkvdsG8GcsnK4ah85WwWyJgef9oQMSc=\ngithub.com/knadh/koanf/providers/env v1.1.0/go.mod h1:QhHHHZ87h9JxJAn2czdEl6pdkNnDh/JS1Vtsyt65hTY=\ngithub.com/knadh/koanf/providers/file v1.2.0 h1:hrUJ6Y9YOA49aNu/RSYzOTFlqzXSCpmYIDXI7OJU6+U=\ngithub.com/knadh/koanf/providers/file v1.2.0/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA=\ngithub.com/knadh/koanf/providers/posflag v1.0.1 h1:EnMxHSrPkYCFnKgBUl5KBgrjed8gVFrcXDzaW4l/C6Y=\ngithub.com/knadh/koanf/providers/posflag v1.0.1/go.mod h1:3Wn3+YG3f4ljzRyCUgIwH7G0sZ1pMjCOsNBovrbKmAk=\ngithub.com/knadh/koanf/providers/rawbytes v1.0.0 h1:MrKDh/HksJlKJmaZjgs4r8aVBb/zsJyc/8qaSnzcdNI=\ngithub.com/knadh/koanf/providers/rawbytes v1.0.0/go.mod h1:KxwYJf1uezTKy6PBtfE+m725NGp4GPVA7XoNTJ/PtLo=\ngithub.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=\ngithub.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=\ngithub.com/knadh/paginator v1.0.1 h1:mzbhjx167qRpvv9ym7BBaaNa1//qXU2YKk7mTmSmW9o=\ngithub.com/knadh/paginator v1.0.1/go.mod h1:NDzJofYUQiHbDrWukKRi3E2vIKb0dzOZKY8VmxbM2Sk=\ngithub.com/knadh/smtppool/v2 v2.0.2 h1:8nE1NkG/SP4wUgyXK8C+FuJB6JnQ9pJ6MeAiUZxjb+o=\ngithub.com/knadh/smtppool/v2 v2.0.2/go.mod h1:D7HcfSS8Xd3jpZ9LRwQ3aGdqp9FzFE66uW6w/BTpy4E=\ngithub.com/knadh/stuffbin v1.3.0 h1:HaVSuYV+KnrlCHl7DrLNyOCgpTU2K8x5Hb+J4Ck3gww=\ngithub.com/knadh/stuffbin v1.3.0/go.mod h1:yVCFaWaKPubSNibBsTAJ939q2ABHudJQxRWZWV5yh+4=\ngithub.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=\ngithub.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=\ngithub.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=\ngithub.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=\ngithub.com/labstack/echo/v4 v4.13.4 h1:oTZZW+T3s9gAu5L8vmzihV7/lkXGZuITzTQkTEhcXEA=\ngithub.com/labstack/echo/v4 v4.13.4/go.mod h1:g63b33BZ5vZzcIUF8AtRH40DrTlXnx4UMC8rBdndmjQ=\ngithub.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0=\ngithub.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU=\ngithub.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=\ngithub.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=\ngithub.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=\ngithub.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=\ngithub.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=\ngithub.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=\ngithub.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=\ngithub.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=\ngithub.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=\ngithub.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=\ngithub.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=\ngithub.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=\ngithub.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=\ngithub.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=\ngithub.com/paulbellamy/ratecounter v0.2.0 h1:2L/RhJq+HA8gBQImDXtLPrDXK5qAj6ozWVK/zFXVJGs=\ngithub.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE=\ngithub.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=\ngithub.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=\ngithub.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=\ngithub.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=\ngithub.com/pquerna/otp v1.5.0 h1:NMMR+WrmaqXU4EzdGJEE1aUUI0AMRzsp96fFFWNPwxs=\ngithub.com/pquerna/otp v1.5.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=\ngithub.com/rhnvrm/simples3 v0.9.1 h1:pYfEe2wTjx8B2zFzUdy4kZn3I3Otd9ZvzIhHkFR85kE=\ngithub.com/rhnvrm/simples3 v0.9.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA=\ngithub.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=\ngithub.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=\ngithub.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=\ngithub.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=\ngithub.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE=\ngithub.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=\ngithub.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=\ngithub.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=\ngithub.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=\ngithub.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=\ngithub.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=\ngithub.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=\ngithub.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=\ngithub.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=\ngithub.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=\ngithub.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=\ngithub.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=\ngithub.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=\ngithub.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=\ngithub.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=\ngithub.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=\ngithub.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=\ngithub.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY=\ngithub.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=\ngithub.com/zerodha/easyjson v1.0.1 h1:GTdVnhd1RxUSeTGua6YTy2ZC7ivywWBeZ9NoyoFaQdM=\ngithub.com/zerodha/easyjson v1.0.1/go.mod h1:mA8d8Xs8Yp4Q95ppRb4dRGROERgKSLQIK9Y7iuC5mog=\ngithub.com/zerodha/simplesessions/stores/postgres/v3 v3.0.0 h1:50BNRW/VYOgCf5v6vbhKMT40sFA+yZ7xUrdM/vbI1G8=\ngithub.com/zerodha/simplesessions/stores/postgres/v3 v3.0.0/go.mod h1:PifZh0lGfmx4sN3+YvDCjkIDrTzZoILL9jkczV1SsiA=\ngithub.com/zerodha/simplesessions/v3 v3.0.0 h1:seHwxVNnlCbp5nG8GFxSsRUdiHnfb39QdEW3J536O9Y=\ngithub.com/zerodha/simplesessions/v3 v3.0.0/go.mod h1:lAK+CJmZRlbvfq+OnkB8Iyf6LWgjzvUuWYKX1XA51P0=\ngolang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=\ngolang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=\ngolang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=\ngolang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=\ngolang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=\ngolang.org/x/image v0.29.0 h1:HcdsyR4Gsuys/Axh0rDEmlBmB68rW1U9BUdB3UVHsas=\ngolang.org/x/image v0.29.0/go.mod h1:RVJROnf3SLK8d26OW91j4FrIHGbsJ8QnbEocVTOWQDA=\ngolang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=\ngolang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=\ngolang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=\ngolang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=\ngolang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=\ngolang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=\ngolang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=\ngolang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=\ngolang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=\ngolang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=\ngolang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=\ngolang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=\ngolang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=\ngolang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=\ngolang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=\ngolang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=\ngolang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=\ngolang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=\ngolang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=\ngolang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=\ngolang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=\ngolang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=\ngolang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=\ngolang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=\ngolang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=\ngolang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=\ngolang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=\ngolang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=\ngolang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=\ngolang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=\ngolang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=\ngolang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=\ngolang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=\ngolang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=\ngolang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngoogle.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=\ngopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=\ngopkg.in/volatiletech/null.v6 v6.0.0-20170828023728-0bef4e07ae1b h1:P+3+n9hUbqSDkSdtusWHVPQRrpRpLiLFzlZ02xXskM0=\ngopkg.in/volatiletech/null.v6 v6.0.0-20170828023728-0bef4e07ae1b/go.mod h1:0LRKfykySnChgQpG3Qpk+bkZFWazQ+MMfc5oldQCwnY=\ngopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\ngopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=\ngopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\n"
  },
  {
    "path": "i18n/bg.json",
    "content": "{\n    \"_.code\": \"bg\",\n    \"_.name\": \"Bulgarian (bg)\",\n    \"admin.errorMarshallingConfig\": \"Грешка при обработване на конфигурацията: {error}\",\n    \"analytics.count\": \"Брой\",\n    \"analytics.fromDate\": \"От\",\n    \"analytics.invalidDates\": \"Невалидни дати `от` или `до`.\",\n    \"analytics.isUnique\": \"Броенето е уникално за всеки абонат.\",\n    \"analytics.links\": \"Връзки\",\n    \"analytics.nonUnique\": \"Броенето не е уникално, тъй като индивидуалното проследяване на абонатите е изключено.\",\n    \"analytics.title\": \"Анализи\",\n    \"analytics.toDate\": \"До\",\n    \"bounces.complaint\": \"Оплакване\",\n    \"bounces.hard\": \"Твърдо\",\n    \"bounces.soft\": \"Меко\",\n    \"bounces.source\": \"Източник\",\n    \"bounces.unknownService\": \"Неизвестна услуга.\",\n    \"bounces.view\": \"Преглед на bounces\",\n    \"campaigns.addAltText\": \"Добавяне на алтернативно текстово съобщение\",\n    \"campaigns.addAttachments\": \"Добавяне на прикачени файлове\",\n    \"campaigns.archive\": \"Архив\",\n    \"campaigns.archiveEnable\": \"Публикуване в публичен архив\",\n    \"campaigns.archiveHelp\": \"Публикувайте (активни, спрени, завършени) кампании в публичния архив.\",\n    \"campaigns.archiveMeta\": \"Метаданни на кампанията\",\n    \"campaigns.archiveMetaHelp\": \"Примерни данни за абонати, които да се използват в публичното съобщение, включително име, имейл и всякакви допълнителни атрибути, използвани в съобщението на кампанията или шаблона.\",\n    \"campaigns.archiveSlug\": \"URL слъг\",\n    \"campaigns.archiveSlugHelp\": \"Кратко име за страницата, което ще се използва в публичния URL. Например: my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Прикачени файлове\",\n    \"campaigns.attribsHelp\": \"Персонализиран JSON обект {} атрибути за тази кампания. Използвайте в шаблон с {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Не може да се актуализира активна или завършена кампания.\",\n    \"campaigns.clicks\": \"Кликове\",\n    \"campaigns.confirmDelete\": \"Изтриване на {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Това ще презапише цялото съдържание. Продължавате ли?\",\n    \"campaigns.confirmSchedule\": \"Тази кампания ще започне автоматично в планираната дата и час. Планирай сега?\",\n    \"campaigns.confirmSwitchFormat\": \"Съдържанието може да загуби форматиране. Продължаване?\",\n    \"campaigns.content\": \"Съдържание\",\n    \"campaigns.contentHelp\": \"Съдържание тук\",\n    \"campaigns.continue\": \"Продължи\",\n    \"campaigns.copyOf\": \"Копие на {name}\",\n    \"campaigns.customHeadersHelp\": \"Масив от персонализирани хедъри, които да се прикачат към изходящите съобщения. Напр.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Дата и час\",\n    \"campaigns.ended\": \"Приключила\",\n    \"campaigns.errorSendTest\": \"Грешка при изпращане на тест: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Грешка при съставяне на тялото на кампанията: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Невалиден `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Невалидни ID на списъци.\",\n    \"campaigns.fieldInvalidMessenger\": \"Неизвестен месинджър {name}.\",\n    \"campaigns.fieldInvalidName\": \"Невалидна дължина на името.\",\n    \"campaigns.fieldInvalidSendAt\": \"Планираната дата трябва да бъде в бъдещето.\",\n    \"campaigns.fieldInvalidSubject\": \"Невалидна дължина на темата.\",\n    \"campaigns.format\": \"Формат\",\n    \"campaigns.formatHTML\": \"Форматиране на HTML\",\n    \"campaigns.fromAddress\": \"Адрес на подател\",\n    \"campaigns.fromAddressPlaceholder\": \"Вашето Име <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Импортиране на визуален шаблон\",\n    \"campaigns.invalid\": \"Невалидна кампания\",\n    \"campaigns.invalidCustomHeaders\": \"Невалидни персонализирани хедъри: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Кампанията се нуждае от дата, за да бъде планирана.\",\n    \"campaigns.newCampaign\": \"Нова кампания\",\n    \"campaigns.noKnownSubsToTest\": \"Няма известни абонати за тестване.\",\n    \"campaigns.noOptinLists\": \"Не са намерени opt-in списъци за създаване на кампания.\",\n    \"campaigns.noSubs\": \"Няма абонати в избраните списъци за създаване на кампания.\",\n    \"campaigns.noSubsToTest\": \"Няма абонати за целева група.\",\n    \"campaigns.notFound\": \"Кампанията не е намерена.\",\n    \"campaigns.onlyActiveCancel\": \"Само активни кампании могат да бъдат отменени.\",\n    \"campaigns.onlyActivePause\": \"Само активни кампании могат да бъдат паузирани.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Само чернови кампании могат да бъдат планирани.\",\n    \"campaigns.onlyPausedDraft\": \"Само паузирани кампании и чернови могат да бъдат стартирани.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Само планирани кампании могат да бъдат запазени като чернови.\",\n    \"campaigns.pause\": \"Пауза\",\n    \"campaigns.plainText\": \"Обикновен текст\",\n    \"campaigns.preview\": \"Преглед\",\n    \"campaigns.progress\": \"Прогрес\",\n    \"campaigns.queryPlaceholder\": \"Име или тема\",\n    \"campaigns.rateMinuteShort\": \"мин\",\n    \"campaigns.rawHTML\": \"Raw HTML\",\n    \"campaigns.removeAltText\": \"Премахване на алтернативното текстово съобщение\",\n    \"campaigns.richText\": \"Rich текст\",\n    \"campaigns.schedule\": \"Планиране на кампания\",\n    \"campaigns.scheduled\": \"Планирана\",\n    \"campaigns.send\": \"Изпращане\",\n    \"campaigns.sendLater\": \"Изпрати по-късно\",\n    \"campaigns.sendTest\": \"Изпращане на тестово съобщение\",\n    \"campaigns.sendTestHelp\": \"Натиснете Enter след въвеждане на адрес, за да добавите няколко получателя. Адресите трябва да принадлежат на съществуващи абонати.\",\n    \"campaigns.sendToLists\": \"Списъци за изпращане\",\n    \"campaigns.sent\": \"Изпратени\",\n    \"campaigns.start\": \"Стартиране на кампания\",\n    \"campaigns.started\": \"\\\"{name}\\\" е стартирана\",\n    \"campaigns.startedAt\": \"Стартирана\",\n    \"campaigns.stats\": \"Статистика\",\n    \"campaigns.status.cancelled\": \"Отменена\",\n    \"campaigns.status.draft\": \"Чернови\",\n    \"campaigns.status.finished\": \"Завършени\",\n    \"campaigns.status.paused\": \"Паузирани\",\n    \"campaigns.status.running\": \"Активни\",\n    \"campaigns.status.scheduled\": \"Планирани\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" е {status}\",\n    \"campaigns.subject\": \"Тема\",\n    \"campaigns.templatingRef\": \"Справка за шаблоните\",\n    \"campaigns.testEmails\": \"Имейли\",\n    \"campaigns.testSent\": \"Тестовото съобщение е изпратено\",\n    \"campaigns.timestamps\": \"Времеви показатели\",\n    \"campaigns.trackLink\": \"Проследяване на връзка\",\n    \"campaigns.unSchedule\": \"Отмяна на планиране\",\n    \"campaigns.views\": \"Прегледи\",\n    \"campaigns.visual\": \"Визуален\",\n    \"dashboard.campaignViews\": \"Прегледи на кампании\",\n    \"dashboard.linkClicks\": \"Кликове върху връзки\",\n    \"dashboard.messagesSent\": \"Изпратени съобщения\",\n    \"dashboard.orphanSubs\": \"Без списък\",\n    \"email.data.info\": \"Копие на всички данни, записани за вас, е прикачено като файл в JSON формат. Може да се прегледа в текстов редактор.\",\n    \"email.data.title\": \"Вашите данни\",\n    \"email.forgotPassword.button\": \"Възстановяване на парола\",\n    \"email.forgotPassword.info\": \"Ако не сте поискали това, можете безопасно да игнорирате този имейл. Този линк ще изтече за 30 минути.\",\n    \"email.forgotPassword.subject\": \"Възстановяване на вашата парола\",\n    \"email.optin.confirmSub\": \"Потвърждаване на абонамент\",\n    \"email.optin.confirmSubHelp\": \"Потвърдете абонамента си, като щракнете върху бутона по-долу.\",\n    \"email.optin.confirmSubInfo\": \"Бяхте добавени към следните списъци:\",\n    \"email.optin.confirmSubTitle\": \"Потвърждаване на абонамент\",\n    \"email.optin.confirmSubWelcome\": \"Здравейте\",\n    \"email.optin.privateList\": \"Частен списък\",\n    \"email.status.campaignReason\": \"Причина\",\n    \"email.status.campaignSent\": \"Изпратени\",\n    \"email.status.campaignUpdateTitle\": \"Актуализация на кампания\",\n    \"email.status.importFile\": \"Файл\",\n    \"email.status.importRecords\": \"Записи\",\n    \"email.status.importTitle\": \"Актуализация на импорта\",\n    \"email.status.status\": \"Статус\",\n    \"email.unsub\": \"Отписване\",\n    \"email.unsubHelp\": \"Не желаете да получавате тези имейли?\",\n    \"email.viewInBrowser\": \"Преглед в браузър\",\n    \"forms.formHTML\": \"HTML на формуляра\",\n    \"forms.formHTMLHelp\": \"Използвайте следния HTML, за да покажете формуляр за абонамент на външна уеб страница. Формулярът трябва да има полето за имейл и едно или повече полета `l` (UUID на списък). Полето за име е по избор.\",\n    \"forms.noPublicLists\": \"Няма публични списъци за генериране на формуляри.\",\n    \"forms.publicLists\": \"Публични списъци\",\n    \"forms.publicSubPage\": \"Публична страница за абониране\",\n    \"forms.selectHelp\": \"Изберете списъци, които да добавите към формуляра.\",\n    \"forms.title\": \"Формуляри\",\n    \"globals.buttons.add\": \"Добавяне\",\n    \"globals.buttons.addNew\": \"Добавяне на нов\",\n    \"globals.buttons.back\": \"Назад\",\n    \"globals.buttons.cancel\": \"Отказ\",\n    \"globals.buttons.clear\": \"Изчистване\",\n    \"globals.buttons.clearAll\": \"Изчистване на всички\",\n    \"globals.buttons.clone\": \"Клониране\",\n    \"globals.buttons.close\": \"Затваряне\",\n    \"globals.buttons.continue\": \"Продължаване\",\n    \"globals.buttons.copy\": \"Копиране\",\n    \"globals.buttons.delete\": \"Изтриване\",\n    \"globals.buttons.deleteAll\": \"Изтриване на всички\",\n    \"globals.buttons.disable\": \"Деактивиране\",\n    \"globals.buttons.edit\": \"Редактиране\",\n    \"globals.buttons.enable\": \"Активиране\",\n    \"globals.buttons.enabled\": \"Активирано\",\n    \"globals.buttons.insert\": \"Вмъкване\",\n    \"globals.buttons.learnMore\": \"Научете повече\",\n    \"globals.buttons.manage\": \"Управление\",\n    \"globals.buttons.more\": \"Още\",\n    \"globals.buttons.new\": \"Нов\",\n    \"globals.buttons.ok\": \"ОК\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Премахване\",\n    \"globals.buttons.save\": \"Запазване\",\n    \"globals.buttons.saveChanges\": \"Запазване на промените\",\n    \"globals.buttons.toggleSelect\": \"Превключване на избора\",\n    \"globals.buttons.view\": \"Преглед\",\n    \"globals.days.0\": \"Нед\",\n    \"globals.days.1\": \"Нед\",\n    \"globals.days.2\": \"Пон\",\n    \"globals.days.3\": \"Вто\",\n    \"globals.days.4\": \"Сря\",\n    \"globals.days.5\": \"Чет\",\n    \"globals.days.6\": \"Пет\",\n    \"globals.days.7\": \"Съб\",\n    \"globals.fields.createdAt\": \"Създаден\",\n    \"globals.fields.description\": \"Описание\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Име\",\n    \"globals.fields.status\": \"Статус\",\n    \"globals.fields.type\": \"Тип\",\n    \"globals.fields.updatedAt\": \"Актуализиран\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Сигурни ли сте?\",\n    \"globals.messages.confirmDelete\": \"Изтриване на {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Отхвърляне на промените?\",\n    \"globals.messages.copied\": \"Копирано\",\n    \"globals.messages.created\": \"\\\"{name}\\\" е създаден\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" е изтрит\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) изтрити\",\n    \"globals.messages.done\": \"Готово\",\n    \"globals.messages.emptyState\": \"Няма нищо тук\",\n    \"globals.messages.errorCreating\": \"Грешка при създаване на {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Грешка при изтриване на {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Грешка при извличане на {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Едно или повече ID са невалидни: {error}\",\n    \"globals.messages.errorUUID\": \"Грешка при генериране на UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Грешка при актуализиране на {name}: {error}\",\n    \"globals.messages.internalError\": \"Вътрешна грешка на сървъра\",\n    \"globals.messages.invalidData\": \"Невалидни данни\",\n    \"globals.messages.invalidFields\": \"Невалидни полета: {name}\",\n    \"globals.messages.invalidID\": \"Невалидно ID(и)\",\n    \"globals.messages.invalidUUID\": \"Невалиден UUID(и)\",\n    \"globals.messages.invalidValue\": \"Невалидна стойност\",\n    \"globals.messages.missingFields\": \"Липсващи полета: {name}\",\n    \"globals.messages.notFound\": \"{name} не е намерен\",\n    \"globals.messages.numSelected\": \"{num} избрани\",\n    \"globals.messages.passwordChange\": \"Въведете стойност за промяна\",\n    \"globals.messages.passwordChangeFull\": \"Изчистете и въведете отново пълната парола в '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Достъпът е отказан: {name}\",\n    \"globals.messages.selectAll\": \"Избиране на всички {num}\",\n    \"globals.messages.slowQueriesCached\": \"Бавните заявки се кешират. Някои числа на тази страница може да не са актуални.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" е актуализиран\",\n    \"globals.months.1\": \"Яну\",\n    \"globals.months.10\": \"Окт\",\n    \"globals.months.11\": \"Ное\",\n    \"globals.months.12\": \"Дек\",\n    \"globals.months.2\": \"Фев\",\n    \"globals.months.3\": \"Мар\",\n    \"globals.months.4\": \"Апр\",\n    \"globals.months.5\": \"Май\",\n    \"globals.months.6\": \"Юни\",\n    \"globals.months.7\": \"Юли\",\n    \"globals.months.8\": \"Авг\",\n    \"globals.months.9\": \"Сеп\",\n    \"globals.states.off\": \"Изкл\",\n    \"globals.terms.all\": \"Всички\",\n    \"globals.terms.analytics\": \"Анализи\",\n    \"globals.terms.attribs\": \"Атрибути\",\n    \"globals.terms.bounce\": \"Отскок | Отскоци\",\n    \"globals.terms.bounces\": \"Отскоци\",\n    \"globals.terms.campaign\": \"Кампания | Кампании\",\n    \"globals.terms.campaigns\": \"Кампании\",\n    \"globals.terms.dashboard\": \"Табло\",\n    \"globals.terms.day\": \"Ден | Дни\",\n    \"globals.terms.hour\": \"Час | Часове\",\n    \"globals.terms.import\": \"Импорт\",\n    \"globals.terms.list\": \"Списък | Списъци\",\n    \"globals.terms.lists\": \"Списъци\",\n    \"globals.terms.media\": \"Медия | Медии\",\n    \"globals.terms.messenger\": \"Месинджър | Месинджъри\",\n    \"globals.terms.messengers\": \"Месинджъри\",\n    \"globals.terms.minute\": \"Минута | Минути\",\n    \"globals.terms.month\": \"Месец | Месеци\",\n    \"globals.terms.new\": \"Нов\",\n    \"globals.terms.none\": \"Няма\",\n    \"globals.terms.second\": \"Секунда | Секунди\",\n    \"globals.terms.settings\": \"Настройки\",\n    \"globals.terms.subscriber\": \"Абонат | Абонати\",\n    \"globals.terms.subscribers\": \"Абонати\",\n    \"globals.terms.subscriptions\": \"Абонамент | Абонаменти\",\n    \"globals.terms.tag\": \"Таг | Тагове\",\n    \"globals.terms.tags\": \"Тагове\",\n    \"globals.terms.template\": \"Шаблон | Шаблони\",\n    \"globals.terms.templates\": \"Шаблони\",\n    \"globals.terms.tx\": \"Транзакционен | Транзакционни\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Потребител | Потребители\",\n    \"globals.terms.users\": \"Потребители\",\n    \"globals.terms.year\": \"Година | Години\",\n    \"import.alreadyRunning\": \"Импортирането вече се изпълнява. Изчакайте да приключи или го спрете, преди да опитате отново.\",\n    \"import.blocklist\": \"Черен списък\",\n    \"import.csvDelim\": \"CSV разделител\",\n    \"import.csvDelimHelp\": \"Стандартният разделител е запетая.\",\n    \"import.csvExample\": \"Пример за raw CSV\",\n    \"import.csvFile\": \"CSV или ZIP файл\",\n    \"import.csvFileHelp\": \"Щракнете или плъзнете CSV или ZIP файл тук\",\n    \"import.errorCopyingFile\": \"Грешка при копиране на файл: {error}\",\n    \"import.errorProcessingZIP\": \"Грешка при обработка на ZIP файл: {error}\",\n    \"import.errorStarting\": \"Грешка при стартиране на импорт: {error}\",\n    \"import.importDone\": \"Готово\",\n    \"import.importStarted\": \"Импортирането е започнато\",\n    \"import.instructions\": \"Инструкции\",\n    \"import.instructionsHelp\": \"Качете CSV файл или ZIP файл с един CSV файл в него, за да импортирате абонати масово. CSV файлът трябва да има следните заглавки с точните имена на колоните. Атрибутите (по избор) трябва да бъдат валиден JSON низ с двойно избягвани кавички.\",\n    \"import.invalidDelim\": \"Разделителят трябва да бъде един символ.\",\n    \"import.invalidFile\": \"Невалиден файл: {error}\",\n    \"import.invalidMode\": \"Невалиден режим\",\n    \"import.invalidParams\": \"Невалидни параметри: {error}\",\n    \"import.invalidSubStatus\": \"Невалиден статус на абонамент\",\n    \"import.listSubHelp\": \"Списъци за абониране.\",\n    \"import.mode\": \"Режим\",\n    \"import.overwriteSubStatus\": \"Презаписване на статус на абонамент\",\n    \"import.overwriteSubStatusHelp\": \"Презаписване на статус на съществуващи абонаменти в списъка\",\n    \"import.overwriteUserInfo\": \"Презаписване на информация на потребител\",\n    \"import.overwriteUserInfoHelp\": \"Презаписване на име и атрибути на съществуващи абонати\",\n    \"import.recordsCount\": \"{num} / {total} записа\",\n    \"import.stopImport\": \"Спиране на импорта\",\n    \"import.subscribe\": \"Абониране\",\n    \"import.subscribeWarning\": \"Презаписването ще абонира отново отписаните имейли. Продължавате ли?\",\n    \"import.title\": \"Импортиране на абонати\",\n    \"import.upload\": \"Качване\",\n    \"lists.archived\": \"Архивирани\",\n    \"lists.archivedHelp\": \"Архивирането скрива списъците от страницата на списъците, кампаниите и публичните форми. Той може да бъде разархивиран по всяко време. Полезно е за скриване на стари и редко използвани списъци.\",\n    \"lists.confirmDelete\": \"Сигурни ли сте? Това не изтрива абонатите.\",\n    \"lists.confirmSub\": \"Потвърждаване на абонамент(и) за {name}\",\n    \"lists.invalidName\": \"Невалидно име\",\n    \"lists.newList\": \"Нов списък\",\n    \"lists.optin\": \"Opt-in\",\n    \"lists.optinHelp\": \"Двойният opt-in изпраща имейл до абоната, искайки потвърждение. При списъци с двоен opt-in кампаниите се изпращат само на потвърдени абонати.\",\n    \"lists.optinTo\": \"Opt-in за {name}\",\n    \"lists.optins.double\": \"Двоен opt-in\",\n    \"lists.optins.single\": \"Единичен opt-in\",\n    \"lists.sendCampaign\": \"Изпращане на кампания\",\n    \"lists.sendOptinCampaign\": \"Изпращане на opt-in кампания\",\n    \"lists.type\": \"Тип\",\n    \"lists.typeHelp\": \"Публичните списъци са отворени за света за абониране и техните имена могат да се появят на публични страници като страницата за управление на абонаменти.\",\n    \"lists.types.private\": \"Частен\",\n    \"lists.types.public\": \"Публичен\",\n    \"logs.title\": \"Логове\",\n    \"maintenance.database.title\": \"База данни\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE освобождава място, използвано от изтритите редове, и значително ускорява производителността на базата данни на големи бази данни. ВАЖНО: За големи бази данни, това е бавна, блокираща операция. Планирайте да се изпълни това през часовете на слаб трафик.\",\n    \"maintenance.help\": \"Някои действия могат да отнемат време за завършване в зависимост от количеството данни.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Непотвърдени opt-in абонаменти\",\n    \"maintenance.olderThan\": \"По-стари от\",\n    \"maintenance.orphanHelp\": \"Без списък = абонати без списъци\",\n    \"maintenance.title\": \"Поддръжка\",\n    \"maintenance.unconfirmedSubs\": \"Непотвърдени абонаменти по-стари от {name} дни.\",\n    \"media.errorReadingFile\": \"Грешка при четене на файл: {error}\",\n    \"media.errorResizing\": \"Грешка при преоразмеряване на изображение: {error}\",\n    \"media.errorSavingThumbnail\": \"Грешка при запазване на миниатюра: {error}\",\n    \"media.errorUploading\": \"Грешка при качване на файл: {error}\",\n    \"media.invalidFile\": \"Невалиден файл: {error}\",\n    \"media.title\": \"Медия\",\n    \"media.unsupportedFileType\": \"Неподдържан тип файл ({type})\",\n    \"media.upload\": \"Качване\",\n    \"media.uploadHelp\": \"Щракнете или плъзнете едно или повече изображения тук\",\n    \"menu.allCampaigns\": \"Всички кампании\",\n    \"menu.allLists\": \"Всички списъци\",\n    \"menu.allSubscribers\": \"Всички абонати\",\n    \"menu.dashboard\": \"Табло\",\n    \"menu.forms\": \"Формуляри\",\n    \"menu.import\": \"Импортиране\",\n    \"menu.logs\": \"Логове\",\n    \"menu.maintenance\": \"Поддръжка\",\n    \"menu.media\": \"Медия\",\n    \"menu.newCampaign\": \"Създаване на нова\",\n    \"menu.settings\": \"Настройки\",\n    \"public.archiveEmpty\": \"Все още няма архивирани съобщения.\",\n    \"public.archiveTitle\": \"Архив на пощенския списък\",\n    \"public.blocklisted\": \"Постоянно отписан.\",\n    \"public.campaignNotFound\": \"Имейл съобщението не е намерено.\",\n    \"public.confirmOptinSubTitle\": \"Потвърждаване на абонамент\",\n    \"public.confirmSub\": \"Потвърждаване на абонамент\",\n    \"public.confirmSubInfo\": \"Бяхте добавени към следните списъци:\",\n    \"public.confirmSubTitle\": \"Потвърждаване\",\n    \"public.dataRemoved\": \"Вашите абонаменти и всички свързани данни бяха премахнати.\",\n    \"public.dataRemovedTitle\": \"Данните са премахнати\",\n    \"public.dataSent\": \"Вашите данни са изпратени по имейл като прикачен файл.\",\n    \"public.dataSentTitle\": \"Данните са изпратени по имейл\",\n    \"public.errorFetchingCampaign\": \"Грешка при извличане на имейл съобщение.\",\n    \"public.errorFetchingEmail\": \"Имейл съобщението не е намерено\",\n    \"public.errorFetchingLists\": \"Грешка при извличане на списъци. Моля, опитайте отново.\",\n    \"public.errorProcessingRequest\": \"Грешка при обработка на заявката. Моля, опитайте отново.\",\n    \"public.errorTitle\": \"Грешка\",\n    \"public.invalidCaptcha\": \"Невалидна CAPTCHA.\",\n    \"public.invalidFeature\": \"Тази функция не е налична.\",\n    \"public.invalidLink\": \"Невалидна връзка\",\n    \"public.managePrefs\": \"Управление на предпочитанията\",\n    \"public.managePrefsUnsub\": \"Премахнете отметката от списъците, за да се отпишете от тях.\",\n    \"public.noListsAvailable\": \"Няма налични списъци за абониране.\",\n    \"public.noListsSelected\": \"Не са избрани валидни списъци за абониране.\",\n    \"public.noSubInfo\": \"Няма абонаменти за потвърждаване.\",\n    \"public.noSubTitle\": \"Няма абонаменти\",\n    \"public.notFoundTitle\": \"Не е намерено\",\n    \"public.poweredBy\": \"С подкрепата на\",\n    \"public.prefsSaved\": \"Вашите предпочитания бяха запазени.\",\n    \"public.privacyConfirmWipe\": \"Сигурни ли сте, че искате да изтриете всички свои данни за абонамент завинаги?\",\n    \"public.privacyExport\": \"Експортиране на вашите данни\",\n    \"public.privacyExportHelp\": \"Копие от вашите данни ще ви бъде изпратено по имейл.\",\n    \"public.privacyTitle\": \"Поверителност и данни\",\n    \"public.privacyWipe\": \"Изтриване на вашите данни\",\n    \"public.privacyWipeHelp\": \"Изтрийте всички свои абонаменти и свързани данни завинаги.\",\n    \"public.sub\": \"Абониране\",\n    \"public.subConfirmed\": \"Успешно абониране.\",\n    \"public.subConfirmedTitle\": \"Потвърдено\",\n    \"public.subName\": \"Име (по избор)\",\n    \"public.subNotFound\": \"Абонаментът не е намерен.\",\n    \"public.subOptinPending\": \"Изпратен е имейл, за да потвърдите абонамента(ите) си.\",\n    \"public.subPrivateList\": \"Частен списък\",\n    \"public.subTitle\": \"Абониране\",\n    \"public.unsub\": \"Отписване\",\n    \"public.unsubFull\": \"Отписване от всички бъдещи имейли.\",\n    \"public.unsubHelp\": \"Искате ли да се отпишете от този пощенски списък?\",\n    \"public.unsubTitle\": \"Отписване\",\n    \"public.unsubbedInfo\": \"Успешно сте отписани.\",\n    \"public.unsubbedTitle\": \"Отписан\",\n    \"public.unsubscribeTitle\": \"Отписване от пощенски списък\",\n    \"settings.appearance.adminHelp\": \"Персонализиран CSS, който да се приложи към администраторския интерфейс.\",\n    \"settings.appearance.adminName\": \"Администратор\",\n    \"settings.appearance.customCSS\": \"Персонализиран CSS\",\n    \"settings.appearance.customJS\": \"Персонализиран JavaScript\",\n    \"settings.appearance.name\": \"Външен вид\",\n    \"settings.appearance.publicHelp\": \"Персонализиран CSS и JavaScript, който да се приложи към публичните страници.\",\n    \"settings.appearance.publicName\": \"Публичен\",\n    \"settings.bounces.action\": \"Действие\",\n    \"settings.bounces.blocklist\": \"Черен списък\",\n    \"settings.bounces.count\": \"Брой bounces\",\n    \"settings.bounces.countHelp\": \"Брой bounces на абонат\",\n    \"settings.bounces.enable\": \"Активиране на обработката на bounces\",\n    \"settings.bounces.enableForwardemail\": \"Активиране на Forward Email\",\n    \"settings.bounces.enableMailbox\": \"Активиране на пощенска кутия за bounces\",\n    \"settings.bounces.enablePostmark\": \"Активиране на Postmark\",\n    \"settings.bounces.enableSES\": \"Активиране на SES\",\n    \"settings.bounces.enableSendgrid\": \"Активиране на SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Активиране на webhooks за bounces\",\n    \"settings.bounces.enabled\": \"Активирано\",\n    \"settings.bounces.folder\": \"Папка\",\n    \"settings.bounces.folderHelp\": \"Име на IMAP папката за сканиране. Напр.: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Forward Email ключ\",\n    \"settings.bounces.invalidScanInterval\": \"Интервалът за сканиране на bounces трябва да бъде минимум 1 минута.\",\n    \"settings.bounces.name\": \"Отскоци\",\n    \"settings.bounces.none\": \"Няма\",\n    \"settings.bounces.postmarkPassword\": \"Postmark парола\",\n    \"settings.bounces.postmarkUsername\": \"Postmark потребителско име\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark ви позволява да активирате базова оторизация за webhooks. Уверете се, че въвеждате едни и същи идентификационни данни тук и в настройките на Postmark webhook.\",\n    \"settings.bounces.scanInterval\": \"Интервал на сканиране\",\n    \"settings.bounces.scanIntervalHelp\": \"Интервал, при който пощенската кутия за bounces трябва да се сканира за bounces (s за секунда, m за минута).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid ключ\",\n    \"settings.bounces.type\": \"Тип\",\n    \"settings.bounces.username\": \"Потребителско име\",\n    \"settings.confirmRestart\": \"Уверете се, че активните кампании са паузирани. Рестартиране?\",\n    \"settings.duplicateMessengerName\": \"Дублирано име на месинджър: {name}\",\n    \"settings.errorEncoding\": \"Грешка при кодиране на настройките: {error}\",\n    \"settings.errorNoSMTP\": \"Поне един SMTP блок трябва да бъде активиран\",\n    \"settings.general.adminNotifEmails\": \"Имейли за административни известия\",\n    \"settings.general.adminNotifEmailsHelp\": \"Списък с имейл адреси, разделени със запетая, на които да се изпращат административни известия като актуализации на импорт, завършване на кампания, неуспех и т.н.\",\n    \"settings.general.checkUpdates\": \"Проверка за актуализации\",\n    \"settings.general.checkUpdatesHelp\": \"Периодично проверявайте за нови версии на приложението и известявайте.\",\n    \"settings.general.enablePublicArchive\": \"Активиране на публичен архив на пощенски списък\",\n    \"settings.general.enablePublicArchiveHelp\": \"Публикувайте кампании, за които е активирано архивирането, на публичния уебсайт.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Показване на пълно съдържание в RSS емисията\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Показване на пълно съдържание на имейл в RSS емисията. Ако е деактивирано, се показват само заглавието и елементите на връзката.\",\n    \"settings.general.enablePublicSubPage\": \"Активиране на публична страница за абониране\",\n    \"settings.general.enablePublicSubPageHelp\": \"Показване на публична страница за абониране с всички публични списъци, за които хората могат да се абонират.\",\n    \"settings.general.faviconURL\": \"URL на фавикон\",\n    \"settings.general.faviconURLHelp\": \"(По избор) пълен URL към статичния фавикон, който да се показва в изгледа, насочен към потребителя, като страницата за отписване.\",\n    \"settings.general.fromEmail\": \"Имейл по подразбиране `от`\",\n    \"settings.general.fromEmailHelp\": \"Имейл по подразбиране `от`, който да се показва в изходящите имейли на кампанията. Това може да бъде променено за всяка кампания.\",\n    \"settings.general.language\": \"Език\",\n    \"settings.general.logoURL\": \"URL на лого\",\n    \"settings.general.logoURLHelp\": \"(По избор) пълен URL към статичното лого, което да се показва в изгледа, насочен към потребителя, като страницата за отписване.\",\n    \"settings.general.name\": \"Общи\",\n    \"settings.general.rootURL\": \"Основен URL\",\n    \"settings.general.rootURLHelp\": \"Публичен URL на инсталацията (без наклонена черта накрая).\",\n    \"settings.general.sendOptinConfirm\": \"Изпращане на потвърждение за opt-in\",\n    \"settings.general.sendOptinConfirmHelp\": \"Изпращане на имейл за потвърждение на opt-in, когато абонатите се регистрират чрез публичния формуляр или когато са добавени от администратора.\",\n    \"settings.general.siteName\": \"Име на сайта\",\n    \"settings.invalidMessengerName\": \"Невалидно име на месинджър.\",\n    \"settings.mailserver.authProtocol\": \"Протокол за удостоверяване\",\n    \"settings.mailserver.host\": \"Хост\",\n    \"settings.mailserver.hostHelp\": \"Адрес на SMTP сървъра.\",\n    \"settings.mailserver.idleTimeout\": \"Таймаут при бездействие\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Време за изчакване на нова активност по връзка, преди да бъде затворена и премахната от пула (s за секунда, m за минута).\",\n    \"settings.mailserver.maxConns\": \"Макс. връзки\",\n    \"settings.mailserver.maxConnsHelp\": \"Максимален брой едновременни връзки към сървъра.\",\n    \"settings.mailserver.nameHelp\": \"По избор уникално име за SMTP сървъра. Трябва да започва с префикса email-. Тази настройка позволява сървърът да бъде избран специално за кампания. Пример: email-primary-server. Буквено-цифрови символи и тире.\",\n    \"settings.mailserver.password\": \"Парола\",\n    \"settings.mailserver.passwordHelp\": \"Въведете за промяна\",\n    \"settings.mailserver.port\": \"Порт\",\n    \"settings.mailserver.portHelp\": \"Порт на SMTP сървъра.\",\n    \"settings.mailserver.skipTLS\": \"Пропускане на TLS верификация\",\n    \"settings.mailserver.skipTLSHelp\": \"Пропускане на проверка на името на хоста в TLS сертификата.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL криптиране. STARTTLS е често използван.\",\n    \"settings.mailserver.username\": \"Потребителско име\",\n    \"settings.mailserver.waitTimeout\": \"Таймаут на изчакване\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Време за изчакване на нова активност по връзка, преди да бъде затворена и премахната от пула (s за секунда, m за минута).\",\n    \"settings.maintenance.cron\": \"Cron интервал\",\n    \"settings.media.provider\": \"Доставчик\",\n    \"settings.media.s3.bucket\": \"Кофа\",\n    \"settings.media.s3.bucketPath\": \"Път на кофата\",\n    \"settings.media.s3.bucketPathHelp\": \"Път в кофата за качване на файлове. По подразбиране е /\",\n    \"settings.media.s3.bucketType\": \"Тип на кофата\",\n    \"settings.media.s3.bucketTypePrivate\": \"Частна\",\n    \"settings.media.s3.bucketTypePublic\": \"Публична\",\n    \"settings.media.s3.key\": \"AWS ключ за достъп\",\n    \"settings.media.s3.publicURL\": \"Персонализиран публичен URL (по избор)\",\n    \"settings.media.s3.publicURLHelp\": \"Персонализиран S3 домейн, който да се използва за връзки към изображения вместо URL-а на S3 бекенда по подразбиране.\",\n    \"settings.media.s3.region\": \"Регион\",\n    \"settings.media.s3.secret\": \"AWS таен ключ за достъп\",\n    \"settings.media.s3.uploadExpiry\": \"Изтичане на качването\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(По избор) Задайте изтичане за генерирания предварително подписан URL. Приложимо само за частни кофи (s, m, h, d за секунди, минути, часове, дни).\",\n    \"settings.media.s3.url\": \"S3 URL на бекенда\",\n    \"settings.media.s3.urlHelp\": \"Променете само ако използвате персонализиран S3-съвместим бекенд като Minio.\",\n    \"settings.media.title\": \"Качване на медия\",\n    \"settings.media.upload.extensions\": \"Разрешени файлови разширения\",\n    \"settings.media.upload.extensionsHelp\": \"Добавете * за разрешаване на всички разширения\",\n    \"settings.media.upload.path\": \"Път за качване\",\n    \"settings.media.upload.pathHelp\": \"Път към директорията, където ще се качва медията.\",\n    \"settings.media.upload.uri\": \"URI за качване\",\n    \"settings.media.upload.uriHelp\": \"URI за качване, който е видим за външния свят. Медията, качена в upload_path, ще бъде публично достъпна под {root_url}, например https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Макс. връзки\",\n    \"settings.messengers.maxConnsHelp\": \"Максимален брой едновременни връзки към сървъра.\",\n    \"settings.messengers.messageSaved\": \"Настройките са запазени. Презареждане на приложението ...\",\n    \"settings.messengers.name\": \"Месинджъри\",\n    \"settings.messengers.nameHelp\": \"напр.: my-sms. Буквено-цифрово / тире.\",\n    \"settings.messengers.password\": \"Парола\",\n    \"settings.messengers.retries\": \"Повторни опити\",\n    \"settings.messengers.retriesHelp\": \"Брой опити за повторен опит, когато съобщението не успее.\",\n    \"settings.messengers.skipTLSHelp\": \"Пропускане на проверка на името на хоста в TLS сертификата.\",\n    \"settings.messengers.timeout\": \"Таймаут при бездействие\",\n    \"settings.messengers.timeoutHelp\": \"Време за изчакване на нова активност по връзка, преди да бъде затворена и премахната от пула (s за секунда, m за минута).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Основен URL на Postback сървъра.\",\n    \"settings.messengers.username\": \"Потребителско име\",\n    \"settings.needsRestart\": \"Настройките са променени. Паузирайте всички активни кампании и рестартирайте приложението\",\n    \"settings.performance.batchSize\": \"Размер на партидата\",\n    \"settings.performance.batchSizeHelp\": \"Броят на абонатите, които да се извлекат от базата данни в една итерация. Всяка итерация извлича абонати от базата данни, изпраща им съобщения и след това преминава към следващата итерация, за да извлече следващата партида. Това в идеалния случай трябва да бъде по-високо от максималната постижима пропускателна способност (concurrency * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Кеширане на бавни заявки към базата данни\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Активирайте това само в големи бази данни, които са се забавили значително. Кешира броя на абонатите в списъка, статистиката на таблото и т.н.\",\n    \"settings.performance.concurrency\": \"Едновременност\",\n    \"settings.performance.concurrencyHelp\": \"Максимален брой едновременни работници (нишки), които ще се опитат да изпращат съобщения едновременно.\",\n    \"settings.performance.maxErrThreshold\": \"Максимален праг на грешки\",\n    \"settings.performance.maxErrThresholdHelp\": \"Броят на грешките (напр.: SMTP таймаути при имейл), които една активна кампания трябва да толерира, преди да бъде паузирана за ръчно разследване или намеса. Задайте на 0, за да не паузирате никога.\",\n    \"settings.performance.messageRate\": \"Честота на съобщенията\",\n    \"settings.performance.messageRateHelp\": \"Максимален брой съобщения, които да бъдат изпратени за секунда на работник за секунда. Ако concurrency = 10 и message_rate = 10, тогава до 10x10=100 съобщения могат да бъдат изпратени всяка секунда. Това, заедно с едновременността, трябва да бъде настроено така, че нетните съобщения, излизащи за секунда, да са под целевите ограничения на скоростта на съобщенията на сървърите, ако има такива.\",\n    \"settings.performance.name\": \"Производителност\",\n    \"settings.performance.slidingWindow\": \"Активиране на лимит с плъзгащ се прозорец\",\n    \"settings.performance.slidingWindowDuration\": \"Продължителност\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Продължителност на периода на плъзгащия се прозорец (m за минута, h за час).\",\n    \"settings.performance.slidingWindowHelp\": \"Ограничаване на общия брой съобщения, които се изпращат в даден период. При достигане на този лимит съобщенията се задържат от изпращане, докато времевият прозорец не се изчисти.\",\n    \"settings.performance.slidingWindowRate\": \"Макс. съобщения\",\n    \"settings.performance.slidingWindowRateHelp\": \"Максимален брой съобщения за изпращане в рамките на продължителността на прозореца.\",\n    \"settings.privacy.allowBlocklist\": \"Разрешаване на черен списък\",\n    \"settings.privacy.allowBlocklistHelp\": \"Разрешаване на абонатите да се отписват от всички пощенски списъци и да се маркират като в черен списък?\",\n    \"settings.privacy.allowExport\": \"Разрешаване на експортиране\",\n    \"settings.privacy.allowExportHelp\": \"Разрешаване на абонатите да експортират данни, събрани за тях?\",\n    \"settings.privacy.allowPrefs\": \"Разрешаване на промени в предпочитанията\",\n    \"settings.privacy.allowPrefsHelp\": \"Разрешаване на абонатите да променят предпочитанията си, като например техните имена и множество абонаменти за списъци.\",\n    \"settings.privacy.allowWipe\": \"Разрешаване на изтриване\",\n    \"settings.privacy.allowWipeHelp\": \"Разрешаване на абонатите да изтриват себе си, включително техните абонаменти и всички други данни от базата данни. Прегледите на кампаниите и кликовете върху връзките също се премахват, докато броят на прегледите и кликовете остава (без абонат, свързан с тях), така че статистиката и анализите да не бъдат засегнати.\",\n    \"settings.privacy.domainAllowlist\": \"Списък с разрешени домейни\",\n    \"settings.privacy.domainAllowlistHelp\": \"Само имейл адреси с тези домейни могат да се абонират. Въведете един домейн на ред, например: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Черен списък на домейни\",\n    \"settings.privacy.domainBlocklistHelp\": \"Имейл адреси с тези домейни не могат да се абонират. Въведете по един домейн на ред, напр.: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Индивидуално проследяване на абонати\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Проследяване на прегледи на кампании и кликове на ниво абонат. Когато е деактивирано, проследяването на прегледи и кликове продължава, без да бъде свързано с индивидуални абонати.\",\n    \"settings.privacy.listUnsubHeader\": \"Включване на хедър `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Включване на хедъри за отписване, които позволяват на имейл клиентите да позволяват на потребителите да се отпишат с един клик.\",\n    \"settings.privacy.name\": \"Поверителност\",\n    \"settings.privacy.recordOptinIP\": \"Записване на IP адреса на opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Записване на IP адреса на двойния opt-in в атрибутите на абоната.\",\n    \"settings.restart\": \"Рестартиране\",\n    \"settings.security.CORSDomains\": \"Разрешени произход\",\n    \"settings.security.CORSDomainsHelp\": \"Разрешаване на достъп до API крайни точки чрез браузърния Javascript от външни домейни. Въведете един домейн на ред (например: https://example.com). Оставете празно, за да деактивирате CORS, или добавете * за разрешаване на всички (не се препоръчва).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Автоматично създаване на потребители\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Автоматично създаване на потребител при първо влизане, ако акаунтът не съществува.\",\n    \"settings.security.OIDCClientID\": \"ID на клиент\",\n    \"settings.security.OIDCClientSecret\": \"Клиентска тайна\",\n    \"settings.security.OIDCDefaultListRole\": \"По подразбиране роля в списъка\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Роля по подразбиране, задавана на потребители, създадени автоматично чрез OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"По подразбиране роля на потребителя\",\n    \"settings.security.OIDCHelp\": \"Активиране на OpenID Connect OAuth2 вход чрез OAuth доставчик.\",\n    \"settings.security.OIDCName\": \"Име на доставчика\",\n    \"settings.security.OIDCRedirectURL\": \"URL за пренасочване за oAuth доставчик\",\n    \"settings.security.OIDCRedirectWarning\": \"Това не изглежда като производствен URL. Променете основния URL в настройките 'Общи'.\",\n    \"settings.security.OIDCURL\": \"URL на доставчика\",\n    \"settings.security.OIDCWarning\": \"Когато OIDC е активиран, входът с парола по подразбиране е деактивиран. Невалидната конфигурация може да ви заключи.\",\n    \"settings.security.altchaComplexity\": \"Altcha сложност\",\n    \"settings.security.altchaComplexityHelp\": \"По-високи стойности осигуряват по-добра сигурност, но по-бавно решаване (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com SiteKey\",\n    \"settings.security.captchaKeyHelp\": \"Посетете www.hcaptcha.com, за да получите ключа и тайната.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com тайна\",\n    \"settings.security.enableCaptcha\": \"Активиране на CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Активиране на CAPTCHA във формуляра за публично абониране.\",\n    \"settings.security.enableOIDC\": \"Активиране на OIDC SSO\",\n    \"settings.security.name\": \"Сигурност\",\n    \"settings.smtp.customHeaders\": \"Персонализирани хедъри\",\n    \"settings.smtp.customHeadersHelp\": \"По избор масив от имейл хедъри, които да бъдат включени във всички съобщения, изпратени от този сървър. напр.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Активирано\",\n    \"settings.smtp.heloHost\": \"HELO име на хост\",\n    \"settings.smtp.heloHostHelp\": \"По избор. Някои SMTP сървъри изискват FQDN в името на хоста. По подразбиране HELLO се извършва с `localhost`. Задайте това, ако трябва да се използва персонализирано име на хост.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Повторни опити\",\n    \"settings.smtp.retriesHelp\": \"Брой опити за повторен опит, когато съобщението не успее.\",\n    \"settings.smtp.sendTest\": \"Изпращане на имейл\",\n    \"settings.smtp.setCustomHeaders\": \"Задаване на персонализирани хедъри\",\n    \"settings.smtp.testConnection\": \"Тестване на връзката\",\n    \"settings.smtp.testEnterEmail\": \"Въведете отново паролата, за да тествате\",\n    \"settings.smtp.toEmail\": \"До имейл\",\n    \"settings.title\": \"Настройки\",\n    \"settings.updateAvailable\": \"Налична е нова актуализация {version}.\",\n    \"subscribers.activity\": \"Активност\",\n    \"subscribers.advancedQuery\": \"Разширено\",\n    \"subscribers.advancedQueryHelp\": \"Частичен SQL израз за заявка за атрибути на абонати\",\n    \"subscribers.attribsHelp\": \"Атрибутите се дефинират като JSON карта, например:\",\n    \"subscribers.blocklistedHelp\": \"Абонатите в черния списък никога няма да получават имейли.\",\n    \"subscribers.confirmBlocklist\": \"Черен списък {num} абонат(и)?\",\n    \"subscribers.confirmDelete\": \"Изтриване на {num} абонат(и)?\",\n    \"subscribers.confirmExport\": \"Експортиране на {num} абонат(и)?\",\n    \"subscribers.domainBlocklisted\": \"Имейл домейнът е в черния списък.\",\n    \"subscribers.downloadData\": \"Изтегляне на данни\",\n    \"subscribers.email\": \"Имейл\",\n    \"subscribers.emailExists\": \"Имейлът вече съществува.\",\n    \"subscribers.errorBlocklisting\": \"Грешка при добавяне на абонати в черния списък: {error}\",\n    \"subscribers.errorNoIDs\": \"Няма дадени ID-та.\",\n    \"subscribers.errorNoListsGiven\": \"Няма дадени списъци.\",\n    \"subscribers.errorPreparingQuery\": \"Грешка при подготвяне на заявка за абонати: {error}\",\n    \"subscribers.errorSendingOptin\": \"Грешка при изпращане на имейл за opt-in.\",\n    \"subscribers.export\": \"Експортиране\",\n    \"subscribers.invalidAction\": \"Невалидно действие.\",\n    \"subscribers.invalidEmail\": \"Невалиден имейл.\",\n    \"subscribers.invalidJSON\": \"Невалиден JSON в атрибутите.\",\n    \"subscribers.invalidName\": \"Невалидно име.\",\n    \"subscribers.listChangeApplied\": \"Промяната в списъка е приложена.\",\n    \"subscribers.lists\": \"Списъци\",\n    \"subscribers.listsHelp\": \"Списъци, от които абонатите са се отписали сами, не могат да бъдат премахнати.\",\n    \"subscribers.listsPlaceholder\": \"Списъци за абониране\",\n    \"subscribers.manageLists\": \"Управление на списъци\",\n    \"subscribers.markUnsubscribed\": \"Маркиране като отписан\",\n    \"subscribers.newSubscriber\": \"Нов абонат\",\n    \"subscribers.numSelected\": \"{num} абонат(и) избрани\",\n    \"subscribers.optinSubject\": \"Потвърждаване на абонамент\",\n    \"subscribers.preconfirm\": \"Предварително потвърждаване на абонаменти\",\n    \"subscribers.preconfirmHelp\": \"Не изпращайте имейли за opt-in и маркирайте всички абонаменти за списъци като 'абонирани'.\",\n    \"subscribers.query\": \"Заявка\",\n    \"subscribers.queryPlaceholder\": \"Имейл или име\",\n    \"subscribers.reset\": \"Нулиране\",\n    \"subscribers.selectAll\": \"Избиране на всички {num}\",\n    \"subscribers.sendOptinConfirm\": \"Изпращане на потвърждение за opt-in\",\n    \"subscribers.sentOptinConfirm\": \"Потвърждението за opt-in е изпратено\",\n    \"subscribers.status.blocklisted\": \"В черния списък\",\n    \"subscribers.status.confirmed\": \"Потвърден\",\n    \"subscribers.status.enabled\": \"Активиран\",\n    \"subscribers.status.subscribed\": \"Абониран\",\n    \"subscribers.status.unconfirmed\": \"Непотвърден\",\n    \"subscribers.status.unsubscribed\": \"Отписан\",\n    \"subscribers.subscribersDeleted\": \"{num} абонат(и) изтрити\",\n    \"templates.cantDeleteDefault\": \"Не може да се изтрие несъществуващ или шаблон по подразбиране\",\n    \"templates.default\": \"По подразбиране\",\n    \"templates.dummyName\": \"Примерна кампания\",\n    \"templates.dummySubject\": \"Тема на примерна кампания\",\n    \"templates.errorCompiling\": \"Грешка при компилиране на шаблон: {error}\",\n    \"templates.errorRendering\": \"Грешка при рендериране на съобщение: {error}\",\n    \"templates.fieldInvalidName\": \"Невалидна дължина на името.\",\n    \"templates.makeDefault\": \"Задаване по подразбиране\",\n    \"templates.newTemplate\": \"Нов шаблон\",\n    \"templates.placeholderHelp\": \"Плейсхолдърът {placeholder} трябва да се появи точно веднъж в шаблона.\",\n    \"templates.preview\": \"Преглед\",\n    \"templates.rawHTML\": \"Raw HTML\",\n    \"templates.subject\": \"Тема\",\n    \"templates.typeCampaignHTML\": \"Кампания / HTML\",\n    \"templates.typeCampaignVisual\": \"Кампания / Визуален\",\n    \"templates.typeTransactional\": \"Транзакционен\",\n    \"users.apiOneTimeToken\": \"Копирайте API токена за достъп сега. Той няма да бъде показан отново.\",\n    \"users.cantDeleteRole\": \"Не може да се изтрие роля, която се използва.\",\n    \"users.firstTime\": \"Това е нова инсталация. Изберете потребителско име и парола за акаунта на Super Admin.\",\n    \"users.forgotPassword\": \"Забравихте ли парола?\",\n    \"users.invalidLogin\": \"Невалидно потребителско име или парола\",\n    \"users.invalidPassword\": \"Невалидна парола\",\n    \"users.invalidRequest\": \"Невалидна заявка за удостоверяване\",\n    \"users.invalidResetLink\": \"Невалиден или изтекъл линк за възстановяване\",\n    \"users.lastLogin\": \"Последно влизане\",\n    \"users.listPerms\": \"Разрешения за списъци\",\n    \"users.listPermsWarning\": \"lists:get_all или lists:manage_all са активирани, което отменя разрешенията за отделните списъци\",\n    \"users.listRole\": \"Роли на списъци | Роля на списък\",\n    \"users.listRoles\": \"Роли на списъци\",\n    \"users.login\": \"Вход\",\n    \"users.loginOIDC\": \"Вход с {name}\",\n    \"users.logout\": \"Изход\",\n    \"users.needSuper\": \"Потребител(и) не можеха да бъдат актуализирани. Трябва да има поне един активен потребител Super Admin.\",\n    \"users.newListRole\": \"Нова роля на списък\",\n    \"users.newPassword\": \"Нова парола\",\n    \"users.newUser\": \"Нов потребител\",\n    \"users.newUserRole\": \"Нова потребителска роля\",\n    \"users.password\": \"Парола\",\n    \"users.passwordEnable\": \"Активиране на вход с парола\",\n    \"users.passwordMismatch\": \"Паролите не съвпадат\",\n    \"users.passwordRepeat\": \"Повторете паролата\",\n    \"users.perms\": \"Разрешения\",\n    \"users.profile\": \"Профил\",\n    \"users.resetLinkSent\": \"Ако акаунтът е активен, ще получите имейл за възстановяване на парола.\",\n    \"users.resetPassword\": \"Възстановяване на парола\",\n    \"users.role\": \"Роля | Роли\",\n    \"users.roleGroup\": \"Група\",\n    \"users.roles\": \"Роли\",\n    \"users.status.disabled\": \"Деактивиран\",\n    \"users.status.enabled\": \"Активиран\",\n    \"users.totpCode\": \"TOTP код\",\n    \"users.totpCodeHelp\": \"Въведете 6-цифровия код от вашето приложение за удостоверяване\",\n    \"users.totpScanQR\": \"Сканирайте QR кода със вашето приложение за удостоверяване като Ente или Google Authenticator и въведете TOTP кода по-долу.\",\n    \"users.totpSecret\": \"Тайна ключ\",\n    \"users.twoFA\": \"Двуфакторна идентификация\",\n    \"users.twoFAAlreadyEnabled\": \"Двуфакторна идентификация вече е активирана.\",\n    \"users.twoFAEnabled\": \"Двуфакторна идентификация е включена\",\n    \"users.twoFAEnabledDesc\": \"Вашият акаунт е защитен с {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Активирайте 2FA за допълнителна безопасност при вход в вашия акаунт.\",\n    \"users.type\": \"Тип\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Супер Админ\",\n    \"users.type.user\": \"Потребител\",\n    \"users.userRole\": \"Потребителска роля | Потребителски роли\",\n    \"users.userRoles\": \"Потребителски роли\",\n    \"users.username\": \"Потребителско име\",\n    \"users.usernameHelp\": \"Използва се с вход с парола\"\n}\n"
  },
  {
    "path": "i18n/ca.json",
    "content": "{\n    \"_.code\": \"ca\",\n    \"_.name\": \"Català (ca)\",\n    \"admin.errorMarshallingConfig\": \"Error de configuració de classificació: {error}\",\n    \"analytics.count\": \"Recompte\",\n    \"analytics.fromDate\": \"Des de\",\n    \"analytics.invalidDates\": \"Dates  `des de` o `fins a` Invàlides.\",\n    \"analytics.isUnique\": \"Els recomptes són únics per a cada subscriptor.\",\n    \"analytics.links\": \"Enllaços\",\n    \"analytics.nonUnique\": \"Els recomptes no són únics, ja que el seguiment dels subscriptors individuals està desactivat.\",\n    \"analytics.title\": \"Indicadors\",\n    \"analytics.toDate\": \"Fins a\",\n    \"bounces.complaint\": \"Reclamació\",\n    \"bounces.hard\": \"Dur\",\n    \"bounces.soft\": \"Suau\",\n    \"bounces.source\": \"Font\",\n    \"bounces.unknownService\": \"Servei desconegut\",\n    \"bounces.view\": \"Veure rebots\",\n    \"campaigns.addAltText\": \"Afegeix un missatge de text pla alternatiu\",\n    \"campaigns.addAttachments\": \"Afegir adjunts\",\n    \"campaigns.archive\": \"Arxiu\",\n    \"campaigns.archiveEnable\": \"Publica a l'arxiu públic\",\n    \"campaigns.archiveHelp\": \"Publica (en curs, aturada, finalitzada) el missatge de campanya a l'arxiu públic \",\n    \"campaigns.archiveMeta\": \"Metadades de la campanya\",\n    \"campaigns.archiveMetaHelp\": \"Dades del subscriptor de prova per ser usat en el missatge públic que inclou nom, correu electrònic i qualsevol atribut opcional emprat en el missatge de campanya o plantilla.\",\n    \"campaigns.archiveSlug\": \"Slug de l'URL\",\n    \"campaigns.archiveSlugHelp\": \"Un nom curt per a la pàgina que s'utilitzarà a l'URL públic, per exemple: la-meva-edicio-de-newsletter-2\",\n    \"campaigns.attachments\": \"Adjunts\",\n    \"campaigns.attribsHelp\": \"Atributs del objecte JSON {} personalitzat per a aquesta campanya. Utilitzar a la plantilla amb {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"No es pot actualitzar una campanya en curs o ja finalitzada.\",\n    \"campaigns.clicks\": \"Clics\",\n    \"campaigns.confirmDelete\": \"Esborra {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Això sobreescriurà tot el contingut. Continuar?\",\n    \"campaigns.confirmSchedule\": \"Aquesta campanya començarà automàticament a la data i hora programades. Vols programar-la ara?\",\n    \"campaigns.confirmSwitchFormat\": \"El contingut pot perdre el format. Vols continuar?\",\n    \"campaigns.content\": \"Contingut\",\n    \"campaigns.contentHelp\": \"Contingut aquí\",\n    \"campaigns.continue\": \"Continua\",\n    \"campaigns.copyOf\": \"Còpia de {name}\",\n    \"campaigns.customHeadersHelp\": \"Matriu de capçaleres personalitzades per adjuntar als missatges de sortida. p. ex.: [{\\\"X-Custom\\\": \\\"valor\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Data i hora\",\n    \"campaigns.ended\": \"Finalitzada\",\n    \"campaigns.errorSendTest\": \"S'ha produit un error en enviar la prova: {error}\",\n    \"campaigns.fieldInvalidBody\": \"S'ha produït un error en compilar el cos de la campanya: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`from_email` no vàlid.\",\n    \"campaigns.fieldInvalidListIDs\": \"Identificadors de llista no vàlids.\",\n    \"campaigns.fieldInvalidMessenger\": \"Canal desconegut {name}.\",\n    \"campaigns.fieldInvalidName\": \"La longitud del nom no és vàlida.\",\n    \"campaigns.fieldInvalidSendAt\": \"La data prevista hauria de ser en el futur.\",\n    \"campaigns.fieldInvalidSubject\": \"Longitud no vàlida per a l'assumpte.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Campanya en format HTML\",\n    \"campaigns.fromAddress\": \"Adreça remitent\",\n    \"campaigns.fromAddressPlaceholder\": \"El teu nom <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importa plantilla visual\",\n    \"campaigns.invalid\": \"Campanya invàlida\",\n    \"campaigns.invalidCustomHeaders\": \"Capçaleres personalitzades no vàlides: {error}\",\n    \"campaigns.markdown\": \"Campanya en format Markdown\",\n    \"campaigns.needsSendAt\": \"La campanya necessita una data per ser programada.\",\n    \"campaigns.newCampaign\": \"Nova campanya\",\n    \"campaigns.noKnownSubsToTest\": \"No hi ha subscriptors coneguts per fer una prova.\",\n    \"campaigns.noOptinLists\": \"No s'han trobat llistes opt-in  per crear una campanya.\",\n    \"campaigns.noSubs\": \"No hi ha subscriptors a les llistes seleccionades per crear la campanya.\",\n    \"campaigns.noSubsToTest\": \"No hi ha subscriptors a qui enviar.\",\n    \"campaigns.notFound\": \"No s'ha trobat la campanya.\",\n    \"campaigns.onlyActiveCancel\": \"Només es poden cancel·lar les campanyes actives.\",\n    \"campaigns.onlyActivePause\": \"Només es poden posar en pausa les campanyes actives.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Només es poden programar les campanyes en esborrany.\",\n    \"campaigns.onlyPausedDraft\": \"Només es poden iniciar campanyes en pausa o en esborrany.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Només les campanyes programades es poden desar com a esborranys.\",\n    \"campaigns.pause\": \"Pausa\",\n    \"campaigns.plainText\": \"Text pla\",\n    \"campaigns.preview\": \"Prèvia\",\n    \"campaigns.progress\": \"Progrés\",\n    \"campaigns.queryPlaceholder\": \"Nom o assumpte\",\n    \"campaigns.rateMinuteShort\": \"valoració de campanyes de minut curt\",\n    \"campaigns.rawHTML\": \"Codi HTML \",\n    \"campaigns.removeAltText\": \"Elimina el missatge de text pla alternatiu\",\n    \"campaigns.richText\": \"Text enriquit\",\n    \"campaigns.schedule\": \"Programa campanya\",\n    \"campaigns.scheduled\": \"Programada\",\n    \"campaigns.send\": \"Envia\",\n    \"campaigns.sendLater\": \"Envia més tard\",\n    \"campaigns.sendTest\": \"Envia missatge de prova\",\n    \"campaigns.sendTestHelp\": \"Premeu Intro després d'escriure una adreça per afegir diversos destinataris. Les adreces han de pertànyer als subscriptors existents.\",\n    \"campaigns.sendToLists\": \"Llistes a les quals s'envia\",\n    \"campaigns.sent\": \"Enviada\",\n    \"campaigns.start\": \"Inicia campanya\",\n    \"campaigns.started\": \"\\\"{name}\\\" iniciada\",\n    \"campaigns.startedAt\": \"Iniciada\",\n    \"campaigns.stats\": \"Indicadors\",\n    \"campaigns.status.cancelled\": \"Cancel·lada\",\n    \"campaigns.status.draft\": \"Esborrany\",\n    \"campaigns.status.finished\": \"Finalitzada\",\n    \"campaigns.status.paused\": \"Pausada\",\n    \"campaigns.status.running\": \"En curs\",\n    \"campaigns.status.scheduled\": \"Programada\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" està {status}\",\n    \"campaigns.subject\": \"Assumpte\",\n    \"campaigns.templatingRef\": \"Referència de plantilles\",\n    \"campaigns.testEmails\": \"Adreces de correu electrònic\",\n    \"campaigns.testSent\": \"S'ha enviat el missatge de prova\",\n    \"campaigns.timestamps\": \"Segells de temps\",\n    \"campaigns.trackLink\": \"Enllaç de seguiment\",\n    \"campaigns.unSchedule\": \"SenseProgramar\",\n    \"campaigns.views\": \"Visualitzacions\",\n    \"campaigns.visual\": \"Visual\",\n    \"dashboard.campaignViews\": \"Visualitzacions de la campanya\",\n    \"dashboard.linkClicks\": \"Clics a enllaços\",\n    \"dashboard.messagesSent\": \"Missatges enviats\",\n    \"dashboard.orphanSubs\": \"Orfes\",\n    \"email.data.info\": \"S'adjunta una còpia de totes les dades enregistrades sobre la teva persona en un fitxer en format JSON. Es pot veure en un editor de text.\",\n    \"email.data.title\": \"Les teves dades \",\n    \"email.forgotPassword.button\": \"Restableir contrasenya\",\n    \"email.forgotPassword.info\": \"Si no vas sol·licitar això, pots ignorar aquest correu de forma segura. Aquest enllaç expirarà en 30 minuts.\",\n    \"email.forgotPassword.subject\": \"Restableir la teva contrasenya\",\n    \"email.optin.confirmSub\": \"Confirma la subscripció\",\n    \"email.optin.confirmSubHelp\": \"Confirmeu la terva subscripció fent clic al botó següent.\",\n    \"email.optin.confirmSubInfo\": \"Heu estat afegit a les llistes següents:\",\n    \"email.optin.confirmSubTitle\": \"Confirmació de la subscrpció\",\n    \"email.optin.confirmSubWelcome\": \"Hola\",\n    \"email.optin.privateList\": \"Llista privada\",\n    \"email.status.campaignReason\": \"Motiu\",\n    \"email.status.campaignSent\": \"Enviada\",\n    \"email.status.campaignUpdateTitle\": \"Campanya actualitzada\",\n    \"email.status.importFile\": \"Fitxer\",\n    \"email.status.importRecords\": \"Registres\",\n    \"email.status.importTitle\": \"Importació actualitzada\",\n    \"email.status.status\": \"Estat\",\n    \"email.unsub\": \"Desubscripció\",\n    \"email.unsubHelp\": \"No voleu rebre aquests correus electrònics?\",\n    \"email.viewInBrowser\": \"Veure al navegador\",\n    \"forms.formHTML\": \"Format HTML\",\n    \"forms.formHTMLHelp\": \"Utilitzeu l'HTML següent per mostrar un formulari de subscripció en una pàgina web externa. El formulari hauria de tenir el camp de correu electrònic i un o més camps `l` (llista UUID). El camp del nom és opcional.\",\n    \"forms.noPublicLists\": \"No hi ha llistes públiques per generar formularis.\",\n    \"forms.publicLists\": \"Llistes públiques\",\n    \"forms.publicSubPage\": \"Pàgina de subscripció pública\",\n    \"forms.selectHelp\": \"Selecciona les llistes que vols afegir al formulari.\",\n    \"forms.title\": \"Formularis\",\n    \"globals.buttons.add\": \"Afegeix\",\n    \"globals.buttons.addNew\": \"Afegeix nou\",\n    \"globals.buttons.back\": \"Enrere\",\n    \"globals.buttons.cancel\": \"Cancel·la\",\n    \"globals.buttons.clear\": \"Esborra\",\n    \"globals.buttons.clearAll\": \"Esborra tot\",\n    \"globals.buttons.clone\": \"Clona\",\n    \"globals.buttons.close\": \"Tanca\",\n    \"globals.buttons.continue\": \"Continua\",\n    \"globals.buttons.copy\": \"Copiar\",\n    \"globals.buttons.delete\": \"Esborra\",\n    \"globals.buttons.deleteAll\": \"Esborra tot\",\n    \"globals.buttons.disable\": \"Desactivar\",\n    \"globals.buttons.edit\": \"Edita\",\n    \"globals.buttons.enable\": \"Activar\",\n    \"globals.buttons.enabled\": \"Habilitat\",\n    \"globals.buttons.insert\": \"Inserta\",\n    \"globals.buttons.learnMore\": \"Saber-nes més\",\n    \"globals.buttons.manage\": \"Gestionar\",\n    \"globals.buttons.more\": \"Més\",\n    \"globals.buttons.new\": \"Nou\",\n    \"globals.buttons.ok\": \"D'acord\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Elimina\",\n    \"globals.buttons.save\": \"Desa\",\n    \"globals.buttons.saveChanges\": \"Desa els canvis\",\n    \"globals.buttons.toggleSelect\": \"Alternar selecció\",\n    \"globals.buttons.view\": \"Visualitzar\",\n    \"globals.days.0\": \"dg.\",\n    \"globals.days.1\": \"dg.\",\n    \"globals.days.2\": \"dl.\",\n    \"globals.days.3\": \"dt.\",\n    \"globals.days.4\": \"dc.\",\n    \"globals.days.5\": \"dj.\",\n    \"globals.days.6\": \"dv.\",\n    \"globals.days.7\": \"ds.\",\n    \"globals.fields.createdAt\": \"Creat\",\n    \"globals.fields.description\": \"Descripció\",\n    \"globals.fields.id\": \"Identificador\",\n    \"globals.fields.name\": \"Nom\",\n    \"globals.fields.status\": \"Estat\",\n    \"globals.fields.type\": \"Tipus\",\n    \"globals.fields.updatedAt\": \"Actualitzat\",\n    \"globals.fields.uuid\": \"camp UUID\",\n    \"globals.messages.confirm\": \"Estàs segur?\",\n    \"globals.messages.confirmDelete\": \"Eliminar {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Vols descartar els canvis?\",\n    \"globals.messages.copied\": \"Copiat\",\n    \"globals.messages.created\": \"\\\"{name}\\\" ha estat creat\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" ha estat esborrat\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) ha estat esborrat\",\n    \"globals.messages.done\": \"Fet\",\n    \"globals.messages.emptyState\": \"No hi ha res aquí\",\n    \"globals.messages.errorCreating\": \"Error en crear {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Error en esborrar {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Error en obtenir {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Un o més identificadors no són vàlids: {error}\",\n    \"globals.messages.errorUUID\": \"Error en generar UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Error en actualitzar {name}: {error}\",\n    \"globals.messages.internalError\": \"Error del servidor intern\",\n    \"globals.messages.invalidData\": \"Dades no vàlides\",\n    \"globals.messages.invalidFields\": \"Camps no vàlids: {name}\",\n    \"globals.messages.invalidID\": \"ID(s) no vàlid\",\n    \"globals.messages.invalidUUID\": \"UUID(s) no vàlid\",\n    \"globals.messages.invalidValue\": \"Valor no vàlid\",\n    \"globals.messages.missingFields\": \"Falten camps: {name}\",\n    \"globals.messages.notFound\": \"No s'ha trobat {name} \",\n    \"globals.messages.numSelected\": \"{num} seleccionats\",\n    \"globals.messages.passwordChange\": \"Introduïu un valor per canviar\",\n    \"globals.messages.passwordChangeFull\": \"Buida i torna a introduir la contrasenya completa a '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permís denegat: {name}\",\n    \"globals.messages.selectAll\": \"Seleccionar tots {num}\",\n    \"globals.messages.slowQueriesCached\": \"Les consultes lentes s'estan emmagatzemant en memòria cau. Algunes xifres en aquesta pàgina no seran actuals.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" actualitzat\",\n    \"globals.months.1\": \"gen.\",\n    \"globals.months.10\": \"oct.\",\n    \"globals.months.11\": \"nov.\",\n    \"globals.months.12\": \"des.\",\n    \"globals.months.2\": \"febr.\",\n    \"globals.months.3\": \"març\",\n    \"globals.months.4\": \"abr.\",\n    \"globals.months.5\": \"maig\",\n    \"globals.months.6\": \"juny\",\n    \"globals.months.7\": \"jul.\",\n    \"globals.months.8\": \"ag.\",\n    \"globals.months.9\": \"set.\",\n    \"globals.states.off\": \"Apagat\",\n    \"globals.terms.all\": \"Tot\",\n    \"globals.terms.analytics\": \"Indicadors\",\n    \"globals.terms.attribs\": \"Atributs\",\n    \"globals.terms.bounce\": \"Rebot | Rebots\",\n    \"globals.terms.bounces\": \"Rebots\",\n    \"globals.terms.campaign\": \"Campanya | Campanyes\",\n    \"globals.terms.campaigns\": \"Campanyes\",\n    \"globals.terms.dashboard\": \"Taulell\",\n    \"globals.terms.day\": \"Dia | Dies\",\n    \"globals.terms.hour\": \"Hora | Hores\",\n    \"globals.terms.import\": \"Importa\",\n    \"globals.terms.list\": \"Llista | Llistes\",\n    \"globals.terms.lists\": \"Llistes\",\n    \"globals.terms.media\": \"Mèdia | Mèdia\",\n    \"globals.terms.messenger\": \"Canal | Canals\",\n    \"globals.terms.messengers\": \"Canals\",\n    \"globals.terms.minute\": \"Minut | Minuts\",\n    \"globals.terms.month\": \"Mes | Mesos\",\n    \"globals.terms.new\": \"Nou\",\n    \"globals.terms.none\": \"Cap\",\n    \"globals.terms.second\": \"Segon | Segons\",\n    \"globals.terms.settings\": \"Configuració\",\n    \"globals.terms.subscriber\": \"Subscriptor | Subscriptors\",\n    \"globals.terms.subscribers\": \"Subscriptors\",\n    \"globals.terms.subscriptions\": \"Subscripció | Subscripcions\",\n    \"globals.terms.tag\": \"Etiqueta | Etiquetes\",\n    \"globals.terms.tags\": \"Etiquetes\",\n    \"globals.terms.template\": \"Plantilla | Plantilles\",\n    \"globals.terms.templates\": \"Plantilles\",\n    \"globals.terms.tx\": \"Transaccional | Transaccionals\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Usuari | Usuaris\",\n    \"globals.terms.users\": \"Usuaris\",\n    \"globals.terms.year\": \"Any | Anys\",\n    \"import.alreadyRunning\": \"Ja s'està executant una importació. Espereu que acabi o atureu-lo abans de tornar-ho a provar.\",\n    \"import.blocklist\": \"Llista de bloqueig\",\n    \"import.csvDelim\": \"Delimitador CSV\",\n    \"import.csvDelimHelp\": \"El delimitador predeterminat és la coma.\",\n    \"import.csvExample\": \"Exemple de CSV en brut\",\n    \"import.csvFile\": \"Fitxer CSV o ZIP\",\n    \"import.csvFileHelp\": \"Feu clic o arrossegueu un fitxer CSV o ZIP aquí\",\n    \"import.errorCopyingFile\": \"Error en copiar el fitxer: {error}\",\n    \"import.errorProcessingZIP\": \"Error en processar el fitxer ZIP: {error}\",\n    \"import.errorStarting\": \"Error en iniciar la importació: {error}\",\n    \"import.importDone\": \"Fet\",\n    \"import.importStarted\": \"S'ha iniciat la importació\",\n    \"import.instructions\": \"Instruccions\",\n    \"import.instructionsHelp\": \"Carrega un fitxer CSV o un fitxer ZIP amb un únic fitxer CSV per importar subscriptors de forma massiva. El fitxer CSV hauria de tenir les capçaleres següents amb els noms exactes de les columnes. els atributs (opcional) han de ser una cadena JSON vàlida amb cometes dobles.\",\n    \"import.invalidDelim\": \"El delimitador ha de ser un sol caràcter.\",\n    \"import.invalidFile\": \"Fitxer no vàlid: {error}\",\n    \"import.invalidMode\": \"Mode no vàlid\",\n    \"import.invalidParams\": \"Paràmetres no vàlids: {error}\",\n    \"import.invalidSubStatus\": \"Estat de subscripció no vàlid\",\n    \"import.listSubHelp\": \"Llistes a les quals subscriure's.\",\n    \"import.mode\": \"Mode d'importació\",\n    \"import.overwriteSubStatus\": \"Sobrescriure l'estat de subscripció\",\n    \"import.overwriteSubStatusHelp\": \"Sobrescriure l'estat de subscripcions existents a la llista\",\n    \"import.overwriteUserInfo\": \"Sobrescriure informació de l'usuari\",\n    \"import.overwriteUserInfoHelp\": \"Sobrescriure nom i atributs dels subscriptors existents\",\n    \"import.recordsCount\": \"{num} / {total} registres\",\n    \"import.stopImport\": \"Atura la importació\",\n    \"import.subscribe\": \"Subscriu\",\n    \"import.subscribeWarning\": \"La sobrescriptura tornarà a subscriure els correus electrònics desubscrits. Vols continuar?\",\n    \"import.title\": \"Importa subscriptors\",\n    \"import.upload\": \"Carrega\",\n    \"lists.archived\": \"Arxivat\",\n    \"lists.archivedHelp\": \"L'arxivament amaga les llistes de la pàgina de llistes, campanyes i formularis públics. Es pot desarxivar en qualsevol moment. És útil per amagar llistes antigues i poc utilitzades.\",\n    \"lists.confirmDelete\": \"Estàs segur? Això no elimina els subscriptors.\",\n    \"lists.confirmSub\": \"Confirmeu les subscripcions a {name}\",\n    \"lists.invalidName\": \"Nom no vàlid\",\n    \"lists.newList\": \"Nova llista\",\n    \"lists.optin\": \"Opcions\",\n    \"lists.optinHelp\": \"El doble opt-in envia un correu electrònic al subscriptor demanant confirmació. A les llistes de doble subscripció, les campanyes només s'envien als subscriptors confirmats.\",\n    \"lists.optinTo\": \"Fes opt-in a {name}\",\n    \"lists.optins.double\": \"Doble opt-in\",\n    \"lists.optins.single\": \"Opt-in simple\",\n    \"lists.sendCampaign\": \"Envia campanya\",\n    \"lists.sendOptinCampaign\": \"Envia campanya opt-in \",\n    \"lists.type\": \"Tipus\",\n    \"lists.typeHelp\": \"Les llistes públiques estan obertes a tothom per subscriure's i els seus noms poden aparèixer a pàgines públiques com ara la pàgina de gestió de subscripcions.\",\n    \"lists.types.private\": \"Privatt\",\n    \"lists.types.public\": \"Públic\",\n    \"logs.title\": \"Registres\",\n    \"maintenance.database.title\": \"Base de dades\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE recupera l'emmagatzematge utilitzat per les files eliminades i accelera significativament el rendiment de la base de dades en bases de dades grans. IMPORTANT: Per a bases de dades grans, aquesta és una operació lenta i bloquejant. Programa-la per executar-se durant les hores de poca activitat.\",\n    \"maintenance.help\": \"Algunes accions poden trigar una estona a completar-se en funció de la quantitat de dades.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Subscripcions opt-in no confirmades\",\n    \"maintenance.olderThan\": \"Més antic de\",\n    \"maintenance.orphanHelp\": \"Orfes = subscriptors sense llistes\",\n    \"maintenance.title\": \"Manteniment\",\n    \"maintenance.unconfirmedSubs\": \"Subscripcions no confirmades més antigues de {name} dies.\",\n    \"media.errorReadingFile\": \"Error en llegir el fitxer: {error}\",\n    \"media.errorResizing\": \"Error en canviar la mida de la imatge: {error}\",\n    \"media.errorSavingThumbnail\": \"Error en desar la miniatura: {error}\",\n    \"media.errorUploading\": \"Error en carregar el fitxer: {error}\",\n    \"media.invalidFile\": \"Fitxer no vàlid: {error}\",\n    \"media.title\": \"Mèdia\",\n    \"media.unsupportedFileType\": \"El tipus de fitxer ({type}) no és compatible\",\n    \"media.upload\": \"Carrega\",\n    \"media.uploadHelp\": \"Fes clic o arrossega una o més imatges aquí\",\n    \"menu.allCampaigns\": \"Totes les campanyes\",\n    \"menu.allLists\": \"Totes les llistes\",\n    \"menu.allSubscribers\": \"Tots els subscriptors\",\n    \"menu.dashboard\": \"Taulell\",\n    \"menu.forms\": \"Formularis\",\n    \"menu.import\": \"Importació\",\n    \"menu.logs\": \"Registres\",\n    \"menu.maintenance\": \"Manteniment\",\n    \"menu.media\": \"Mèdia\",\n    \"menu.newCampaign\": \"Crea nova\",\n    \"menu.settings\": \"Configuració\",\n    \"public.archiveEmpty\": \"Sense missatges arxivats actualment.\",\n    \"public.archiveTitle\": \"Arxiu de la llista de correu\",\n    \"public.blocklisted\": \"Desubscrit de forma permanent.\",\n    \"public.campaignNotFound\": \"No s'ha trobat el missatge de correu electrònic.\",\n    \"public.confirmOptinSubTitle\": \"Confirmació de la subscripció\",\n    \"public.confirmSub\": \"Confirma la subscripció\",\n    \"public.confirmSubInfo\": \"Has estat afegit a les llistes següents:\",\n    \"public.confirmSubTitle\": \"Confirmació\",\n    \"public.dataRemoved\": \"S'han eliminat les vostres subscripcions i totes les dades associades.\",\n    \"public.dataRemovedTitle\": \"Eliminació de dades\",\n    \"public.dataSent\": \"Les teves dades t'han estat enviades per correu electrònic com a fitxer adjunt.\",\n    \"public.dataSentTitle\": \"Dades enviades per correu electrònic\",\n    \"public.errorFetchingCampaign\": \"S'ha produït un error en obtenir el missatge de correu electrònic.\",\n    \"public.errorFetchingEmail\": \"No s'ha trobat el missatge de correu electrònic\",\n    \"public.errorFetchingLists\": \"S'ha produït un error en obtenir les llistes. Si us plau, torna-ho a provar.\",\n    \"public.errorProcessingRequest\": \"S'ha produït un error en processar la sol·licitud. Si us plau, torna-ho a provar.\",\n    \"public.errorTitle\": \"Error de títol\",\n    \"public.invalidCaptcha\": \"CAPTCHA no vàlid.\",\n    \"public.invalidFeature\": \"Aquesta funció no està disponible.\",\n    \"public.invalidLink\": \"Enllaç no vàlid\",\n    \"public.managePrefs\": \"Gestiona les preferències\",\n    \"public.managePrefsUnsub\": \"Desmarca les llistes de les quals vols fer-ne la desubscripció.\",\n    \"public.noListsAvailable\": \"No hi ha llistes disponibles per subscriure's.\",\n    \"public.noListsSelected\": \"No s'han seleccionat llistes vàlides per subscriure's.\",\n    \"public.noSubInfo\": \"No hi ha subscripcions per confirmar.\",\n    \"public.noSubTitle\": \"No hi ha subscripcions \",\n    \"public.notFoundTitle\": \"No trobat\",\n    \"public.poweredBy\": \"Desenvolupat per\",\n    \"public.prefsSaved\": \"Les teves preferències han estat desades.\",\n    \"public.privacyConfirmWipe\": \"Estàs segur que vols suprimir totes les dades de la teva subscripció de manera permanent?\",\n    \"public.privacyExport\": \"Exporta les teves dades\",\n    \"public.privacyExportHelp\": \"Se t'enviarà per correu electrònic una còpia de les teves dades.\",\n    \"public.privacyTitle\": \"Privadesa i dades\",\n    \"public.privacyWipe\": \"Esborra permanentment les teves dades\",\n    \"public.privacyWipeHelp\": \"Suprimeix totes les teves subscripcions i dades relacionades de la base de dades de manera permanent.\",\n    \"public.sub\": \"Subscriu\",\n    \"public.subConfirmed\": \"T'has subscrit correctament.\",\n    \"public.subConfirmedTitle\": \"Confirmat\",\n    \"public.subName\": \"Nom (opcional)\",\n    \"public.subNotFound\": \"No s'ha trobat la subscripció.\",\n    \"public.subOptinPending\": \"S'ha enviat un correu electrònic per confirmar les teves subscripcions.\",\n    \"public.subPrivateList\": \"Llista privada\",\n    \"public.subTitle\": \"Subscripció\",\n    \"public.unsub\": \"Desubscriu\",\n    \"public.unsubFull\": \"També dona't de baixa de tots els futurs correus electrònics.\",\n    \"public.unsubHelp\": \"Vols donar-te de baixa d'aquesta llista de correu?\",\n    \"public.unsubTitle\": \"Desubscriu\",\n    \"public.unsubbedInfo\": \"Has cancel·lat la subscripció correctament.\",\n    \"public.unsubbedTitle\": \"Desubscrit\",\n    \"public.unsubscribeTitle\": \"Cancel·lació de la subscripció a la llista de correu\",\n    \"settings.appearance.adminHelp\": \"CSS personalitzat per aplicar a la interfície d'administració.\",\n    \"settings.appearance.adminName\": \"Administrador\",\n    \"settings.appearance.customCSS\": \"CSS personalitzats\",\n    \"settings.appearance.customJS\": \"JavaScript personalitzat\",\n    \"settings.appearance.name\": \"Aparença\",\n    \"settings.appearance.publicHelp\": \"CSS i JavaScript personalitzats per aplicar-los a les pàgines públiques.\",\n    \"settings.appearance.publicName\": \"Públic\",\n    \"settings.bounces.action\": \"Acció\",\n    \"settings.bounces.blocklist\": \"Llista de bloqueig\",\n    \"settings.bounces.count\": \"Recompte de rebots\",\n    \"settings.bounces.countHelp\": \"Nombre de rebots per subscriptor\",\n    \"settings.bounces.enable\": \"Activa el processament de rebots\",\n    \"settings.bounces.enableForwardemail\": \"Activar reenviament de correu\",\n    \"settings.bounces.enableMailbox\": \"Activa la bústia de rebots\",\n    \"settings.bounces.enablePostmark\": \"Activa Postmark\",\n    \"settings.bounces.enableSES\": \"Activa SES\",\n    \"settings.bounces.enableSendgrid\": \"Activa SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Activa els webhooks pels rebots\",\n    \"settings.bounces.enabled\": \"Activat\",\n    \"settings.bounces.folder\": \"Carpeta\",\n    \"settings.bounces.folderHelp\": \"Nom de la carpeta IMAP a escanejar. Ex: Safata d'entrada.\",\n    \"settings.bounces.forwardemailKey\": \"Reenviar clau de correu\",\n    \"settings.bounces.invalidScanInterval\": \"L'interval d'escaneig ha de ser com a mínim d'1 minut.\",\n    \"settings.bounces.name\": \"Rebots\",\n    \"settings.bounces.none\": \"Cap\",\n    \"settings.bounces.postmarkPassword\": \"Contrasenya de Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nom d'usuari de Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark permet activar l'autorització bàsica per als webhooks. Assegureu-vos d'introduir les mateixes credencials aquí i en la configuració del webhook de Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interval d'escaneig\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval en què s'hauria d'escanejar la bústia de rebot (s per segon, m per minut).\",\n    \"settings.bounces.sendgridKey\": \"Clau SendGrid \",\n    \"settings.bounces.type\": \"Tipus\",\n    \"settings.bounces.username\": \"Usuari\",\n    \"settings.confirmRestart\": \"Assegura't que les campanyes en curs estiguin en pausa. Reinicia?\",\n    \"settings.duplicateMessengerName\": \"Nom del canal duplicat: {name}\",\n    \"settings.errorEncoding\": \"Error en la configuració de codificació: {error}\",\n    \"settings.errorNoSMTP\": \"S'ha d'habilitar almenys un bloc SMTP\",\n    \"settings.general.adminNotifEmails\": \"Correu electrònic de notificació de l'administrador\",\n    \"settings.general.adminNotifEmailsHelp\": \"Llista d'adreces de correu electrònic separades per comes a les quals s'han d'enviar notificacions d'administrador, com ara actualitzacions d'importació, finalització de campanya, errors, etc.\",\n    \"settings.general.checkUpdates\": \"Busca actualitzacions\",\n    \"settings.general.checkUpdatesHelp\": \"Comprova periòdicament si hi ha noves versions d'aplicacions i notifica-ho.\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publica les campanyes on arxivar està habilitat en el lloc web públic.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Mostra tot el contingut a l'arxiu RSS públic\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Mostra el contingut complet del correu electrònic a l'aliment RSS. Si està desactivat, només es mostren els elements del títol i l'enllaç.\",\n    \"settings.general.enablePublicSubPage\": \"Activa la pàgina de subscripció pública\",\n    \"settings.general.enablePublicSubPageHelp\": \"Mostra una pàgina de subscripció pública amb totes les llistes públiques perquè la gent es subscrigui.\",\n    \"settings.general.faviconURL\": \"URL del favicon\",\n    \"settings.general.faviconURLHelp\": \"(Opcional) URL completa del favicon estàtic que serà visible a l'usuari, com ara la pàgina de cancel·lació de la subscripció.\",\n    \"settings.general.fromEmail\": \"Correu electrònic \\\"Remitent\\\" per defecte\",\n    \"settings.general.fromEmailHelp\": \"El correu electrònic `remitent` es mostra per defecte als correus electrònics de campanya sortints. Això es pot canviar per cada campanya.\",\n    \"settings.general.language\": \"Idioma\",\n    \"settings.general.logoURL\": \"URL del logotip\",\n    \"settings.general.logoURLHelp\": \"(Opcional) URL completa del logotip estàtic que serà visible a l'usuari, com ara la pàgina de cancel·lació de la subscripció.\",\n    \"settings.general.name\": \"Nom general\",\n    \"settings.general.rootURL\": \"URL arrel\",\n    \"settings.general.rootURLHelp\": \"URL públic de la instal·lació (sense barra inclinada).\",\n    \"settings.general.sendOptinConfirm\": \"Envia opt-in de confirmació\",\n    \"settings.general.sendOptinConfirmHelp\": \"Envia un correu electrònic de confirmació de l'opt-in quan els subscriptors s'inscriguin mitjançant el formulari públic o quan l'administrador els afegeixi.\",\n    \"settings.general.siteName\": \"Nom del lloc web\",\n    \"settings.invalidMessengerName\": \"Nom de canal no vàlid\",\n    \"settings.mailserver.authProtocol\": \"Protocol d'autenticació\",\n    \"settings.mailserver.host\": \"Amfitrió\",\n    \"settings.mailserver.hostHelp\": \"Adreça host del servidor SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Temps d'espera d'inactivitat\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Temps d'inactivitat per esperar una nova activitat en una connexió abans de tancar-la i eliminar-la de la grup (s per segon, m per minut).\",\n    \"settings.mailserver.maxConns\": \"Connexions màximes\",\n    \"settings.mailserver.maxConnsHelp\": \"Màxim de connexions concurrents al servidor.\",\n    \"settings.mailserver.nameHelp\": \"Nom únic opcional per al servidor SMTP. Ha de tenir el prefix email-. Configurar això permet que el servidor sigui seleccionat específicament per a una campanya. Ex: email-primary-server. Alfanumèric / guionet.\",\n    \"settings.mailserver.password\": \"Contrasenya\",\n    \"settings.mailserver.passwordHelp\": \"Fes intro per canviar\",\n    \"settings.mailserver.port\": \"Port del servidor de correu\",\n    \"settings.mailserver.portHelp\": \"Port del servidor SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Omet la verificació TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Omet la comprovació del hostname al certificat TLS.\",\n    \"settings.mailserver.tls\": \"opció de TLS\",\n    \"settings.mailserver.tlsHelp\": \"Xifratge TLS/SSL. STARTTLS s'utilitza habitualment.\",\n    \"settings.mailserver.username\": \"Usuari\",\n    \"settings.mailserver.waitTimeout\": \"Espera el timeout\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Temps per esperar una nova activitat en una connexió abans de tancar-la i eliminar-la del grup (s per segon, m per minut).\",\n    \"settings.maintenance.cron\": \"Interval de cron\",\n    \"settings.media.provider\": \"Proveïdor\",\n    \"settings.media.s3.bucket\": \"Contenidor\",\n    \"settings.media.s3.bucketPath\": \"Ruta del contenidor\",\n    \"settings.media.s3.bucketPathHelp\": \"Ruta dins del contenidor per carregar fitxers. El valor per defecte és /\",\n    \"settings.media.s3.bucketType\": \"Tipus de contenidor\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Públic\",\n    \"settings.media.s3.key\": \"Clau d'accés AWS\",\n    \"settings.media.s3.publicURL\": \"URL públic personalitzada (opcional)\",\n    \"settings.media.s3.publicURLHelp\": \"Domini S3 personalitzat per ser usat en enllaços a imatges en lloc de l'URL backend S3 predeterminada.\",\n    \"settings.media.s3.region\": \"Regió\",\n    \"settings.media.s3.secret\": \"Secret d'accés AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Caducitat de la càrrega\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opcional) Especifica TTL per a l'URL presignada generada. Només aplicable a contenidors privats (s, m, h, d per a segons, minuts, hores, dies).\",\n    \"settings.media.s3.url\": \"URL del backend S3\",\n    \"settings.media.s3.urlHelp\": \"Canvia només si fas servir un backend personalitzat compatible amb S3 com Minio.\",\n    \"settings.media.title\": \"Càrrega de mèdia\",\n    \"settings.media.upload.extensions\": \"Extensions de fitxers permeses\",\n    \"settings.media.upload.extensionsHelp\": \"Afegiu * per permetre totes les extensions\",\n    \"settings.media.upload.path\": \"Ruta de càrrega\",\n    \"settings.media.upload.pathHelp\": \"Ruta al directori on es carregaran els mèdia.\",\n    \"settings.media.upload.uri\": \"Carrega URI\",\n    \"settings.media.upload.uriHelp\": \"Carrega un URI visible per al tothom. Els mèdia carregats a upload_path seran accessibles públicament a {root_url}, per exemple, https://listmonk.yoursite.com/upload\",\n    \"settings.messengers.maxConns\": \"Connexions màxiomes\",\n    \"settings.messengers.maxConnsHelp\": \"Màxim nombre de connexions concurrents al servidor.\",\n    \"settings.messengers.messageSaved\": \"S'ha desat la configuració. S'està tornant a carregar l'aplicació...\",\n    \"settings.messengers.name\": \"Canals\",\n    \"settings.messengers.nameHelp\": \"ex: my-sms. Alfanumèric / guió.\",\n    \"settings.messengers.password\": \"Contrasenya\",\n    \"settings.messengers.retries\": \"Reintents\",\n    \"settings.messengers.retriesHelp\": \"Nombre de vegades que cal tornar a intentar quan un missatge falla.\",\n    \"settings.messengers.skipTLSHelp\": \"Omet la comprovació del hostname al certificat TLS.\",\n    \"settings.messengers.timeout\": \"Temps d'espera d'inactivitat\",\n    \"settings.messengers.timeoutHelp\": \"Temps per esperar una nova activitat en una connexió abans de tancar-la i eliminar-la del grup (s per segon, m per minut).\",\n    \"settings.messengers.url\": \"Enllaç URL\",\n    \"settings.messengers.urlHelp\": \"URL arrel del servidor Postback.\",\n    \"settings.messengers.username\": \"Usuari\",\n    \"settings.needsRestart\": \"La configuració ha canviat. Posa en pausa totes les campanyes en curs i reinicia l'aplicació\",\n    \"settings.performance.batchSize\": \"Mida del lot\",\n    \"settings.performance.batchSizeHelp\": \"El nombre de subscriptors que cal extreure de la base de dades en una sola iteració. Cada iteració extreu subscriptors de la base de dades, els envia missatges i després passa a la següent iteració per extreure el següent lot. Idealment, hauria de ser superior al rendiment màxim possible (concurrency * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Memòria cau de consultes lentes a la base de dades\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Només habiliteu-ho en bases de dades grans que s'hagin tornat significativament més lentes. Emmagatzema en memòria el compte de subscriptors de llista, les estadístiques del tauler de comandament, etc.\",\n    \"settings.performance.concurrency\": \"Concurrència\",\n    \"settings.performance.concurrencyHelp\": \"Màxim treballador concurrent (fils) que intentarà enviar missatges simultàniament.\",\n    \"settings.performance.maxErrThreshold\": \"Llindar d'error màxim\",\n    \"settings.performance.maxErrThresholdHelp\": \"El nombre d'errors (p. ex.: temps d'espera SMTP durant l'enviament de correu electrònic) que ha de tolerar una campanya en execució abans d'aturar-la per a una investigació o intervenció manual. Estableix a 0 per no fer mai una pausa.\",\n    \"settings.performance.messageRate\": \"Rati de missatges\",\n    \"settings.performance.messageRateHelp\": \"Nombre màxim de missatges a enviar per segon per treballador en un segon. Si concurrència = 10 i message_rate = 10, es poden enviar fins a 10x10 = 100 missatges cada segon. Això, juntament amb la concurrència, s'hauria d'ajustar per mantenir els missatges nets sortint per segon sota els límits dels servidors de missatges objectiu, si n'hi ha.\",\n    \"settings.performance.name\": \"Rendiment\",\n    \"settings.performance.slidingWindow\": \"Activa el límit de la finestra lliscant\",\n    \"settings.performance.slidingWindowDuration\": \"Durada\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Durada del període de la finestra lliscant (m per minut, h per hora).\",\n    \"settings.performance.slidingWindowHelp\": \"Limita el nombre total de missatges que s'envien en un període determinat. Quan s'arriba a aquest límit, els missatges es retenen des de l'enviament fins que s'esborra la finestra de temps.\",\n    \"settings.performance.slidingWindowRate\": \"Missatges màxims\",\n    \"settings.performance.slidingWindowRateHelp\": \"Nombre màxim de missatges per enviar dins de la durada de la finestra.\",\n    \"settings.privacy.allowBlocklist\": \"Permet la llista de bloqueig\",\n    \"settings.privacy.allowBlocklistHelp\": \"Vols permetre als subscriptors donar-se de baixa de totes les llistes de correu i marcar-se com a llista bloquejada?\",\n    \"settings.privacy.allowExport\": \"Permet l'exportació\",\n    \"settings.privacy.allowExportHelp\": \"Vols permetre als subscriptors exportar les dades recollides sobre ells?\",\n    \"settings.privacy.allowPrefs\": \"Permet fer canvis de les preferències\",\n    \"settings.privacy.allowPrefsHelp\": \"Permet als subscriptors fer canvis de les preferències tals com els seus noms o la subscripció a múltiples llistes.\",\n    \"settings.privacy.allowWipe\": \"Permet l'esborrat permanent\",\n    \"settings.privacy.allowWipeHelp\": \"Permet als subscriptors esborrar-se, incloses les seves subscripcions i totes les altres dades de la base de dades. Les visualitzacions de campanya i els clics als enllaços també s'eliminen mentre es mantenen les visualitzacions i els recomptes de clics (sense subscriptors associats a ells) de manera que les estadístiques i els indicadors no es veuran afectats.\",\n    \"settings.privacy.domainAllowlist\": \"Llista blanca de dominis\",\n    \"settings.privacy.domainAllowlistHelp\": \"Només es permet la subscripció adreces de correu electrònic amb aquests dominis. Introduïu un domini per línia, ex: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Llista de dominis bloquejats\",\n    \"settings.privacy.domainBlocklistHelp\": \"No es permet la subscripció a les adreces de correu electrònic amb aquests dominis. Introduïu un domini per línia, per exemple: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Seguiment individual de subscriptors\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Feu un seguiment de les visualitzacions i dels clics de la campanya a nivell de subscriptor. Quan està desactivat, el seguiment de visualitzacions i de clics continua disponible sense estar enllaçat a subscriptors individuals.\",\n    \"settings.privacy.listUnsubHeader\": \"Inclou la capçalera `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inclou capçaleres de cancel·lació de subscripció que permetin als clients de correu electrònic permetre als usuaris donar-se de baixa amb un sol clic.\",\n    \"settings.privacy.name\": \"Privadesa\",\n    \"settings.privacy.recordOptinIP\": \"Registra l'adreça IP de l'opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registra l'adreça IP dels opt-ins dobles en els atributs del subscrit.\",\n    \"settings.restart\": \"Reinicia\",\n    \"settings.security.CORSDomains\": \"Orígens permesos\",\n    \"settings.security.CORSDomainsHelp\": \"Permetre l'accés als punts finals de l'API mitjançant Javascript del navegador des de dominis externs. Introduïr un domini per línia (p. ex: https://example.com). Deixar en blanc per desactivar CORS o afegir * per permetre tots (no recomanat).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Crea usuaris automàticament\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Crea automàticament un usuari en el primer inici de sessió si el compte no existeix.\",\n    \"settings.security.OIDCClientID\": \"ID del client\",\n    \"settings.security.OIDCClientSecret\": \"Secret del client\",\n    \"settings.security.OIDCDefaultListRole\": \"Rol de llista per defecte\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Rol per defecte assignat als usuaris creats automàticament des d'OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Rol d'usuari per defecte\",\n    \"settings.security.OIDCHelp\": \"Activa l'inici de sessió OAuth2 OpenID Connect a través d'un proveïdor OAuth.\",\n    \"settings.security.OIDCName\": \"Nom del proveïdor\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirecció per al proveïdor OAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Això sembla no ser una URL de producció. Canvia la URL principal a la configuració 'General'.\",\n    \"settings.security.OIDCURL\": \"URL del proveïdor\",\n    \"settings.security.OIDCWarning\": \"Quan s'activa OIDC, l'inici de sessió de contrasenya per defecte es desactiva. Una configuració incorrecta pot bloquejar-te l'accés.\",\n    \"settings.security.altchaComplexity\": \"Complexitat Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Valors més alts proporcionen millor seguretat però resolució més lenta (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Clau del lloc hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Visiteu www.hcaptcha.com per obtenir la clau i el secret.\",\n    \"settings.security.captchaSecret\": \"Secret del lloc hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Habilita el CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Habilita el CAPTCHA al formulari públic de subscripció.\",\n    \"settings.security.enableOIDC\": \"Activa SSO OIDC\",\n    \"settings.security.name\": \"Seguretat\",\n    \"settings.smtp.customHeaders\": \"Capçaleres personalitzades\",\n    \"settings.smtp.customHeadersHelp\": \"Matriu opcional de capçaleres de correu electrònic per incloure en tots els missatges enviats des d'aquest servidor. p. ex.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Habilitat\",\n    \"settings.smtp.heloHost\": \"Nom d'amfitrió HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opcional. Alguns servidors SMTP requereixen un FQDN al hostname. Per defecte, HELLO va amb `localhost`. Estableix-loo si s'ha d'utilitzar un hostname personalitzat.\",\n    \"settings.smtp.name\": \"nom servidor SMTP\",\n    \"settings.smtp.retries\": \"Reintents\",\n    \"settings.smtp.retriesHelp\": \"Nombre de vegades que cal tornar a intentar quan un missatge falla.\",\n    \"settings.smtp.sendTest\": \"Envia el correu electrònic\",\n    \"settings.smtp.setCustomHeaders\": \"Estableix capçaleres personalitzades\",\n    \"settings.smtp.testConnection\": \"Prova de connexió\",\n    \"settings.smtp.testEnterEmail\": \"Introduïu la contrasenya per provar\",\n    \"settings.smtp.toEmail\": \"Destinatari del correu electrònic\",\n    \"settings.title\": \"Configuració\",\n    \"settings.updateAvailable\": \"Hi ha disponible una nova actualització {versió}.\",\n    \"subscribers.activity\": \"Activitat\",\n    \"subscribers.advancedQuery\": \"Avançat\",\n    \"subscribers.advancedQueryHelp\": \"Expressió SQL parcial per consultar els atributs del subscriptor\",\n    \"subscribers.attribsHelp\": \"Els atributs es defineixen com un mapa JSON, per exemple:\",\n    \"subscribers.blocklistedHelp\": \"Els subscriptors bloquejats no rebran mai cap correu electrònic.\",\n    \"subscribers.confirmBlocklist\": \"Afegir a la llista de bloqueig {nombre} subscriptors?\",\n    \"subscribers.confirmDelete\": \"Esborrar {num} subscriptors(s)?\",\n    \"subscribers.confirmExport\": \"Exportar {num} subscriptor(s)?\",\n    \"subscribers.domainBlocklisted\": \"El domini de correu electrònic està bloquejat.\",\n    \"subscribers.downloadData\": \"Descarrega les dades\",\n    \"subscribers.email\": \"Correu electrònic\",\n    \"subscribers.emailExists\": \"El correu electrònic ja existeix.\",\n    \"subscribers.errorBlocklisting\": \"Error en afegir a la llista de bloqueig els subscriptors: {error}\",\n    \"subscribers.errorNoIDs\": \"No s'han facilitat IDs.\",\n    \"subscribers.errorNoListsGiven\": \"No es troben llistes.\",\n    \"subscribers.errorPreparingQuery\": \"Error en preparar la consulta de subscriptor: {error}\",\n    \"subscribers.errorSendingOptin\": \"Error en enviar el correu electrònic d'opt-in.\",\n    \"subscribers.export\": \"Exportació\",\n    \"subscribers.invalidAction\": \"Acció no vàlida.\",\n    \"subscribers.invalidEmail\": \"Correu electroǹic no vàlid.\",\n    \"subscribers.invalidJSON\": \"JSON no vàlid als atributs.\",\n    \"subscribers.invalidName\": \"Nom no vàlid.\",\n    \"subscribers.listChangeApplied\": \"S'ha aplicat el canvi de llista.\",\n    \"subscribers.lists\": \"Llistes\",\n    \"subscribers.listsHelp\": \"Les llistes de les quals els subscriptors s'han donat de baixa no es poden eliminar.\",\n    \"subscribers.listsPlaceholder\": \"Llistes per subscriure's\",\n    \"subscribers.manageLists\": \"Gestionar llistes\",\n    \"subscribers.markUnsubscribed\": \"Marca com a no subscrit\",\n    \"subscribers.newSubscriber\": \"Nou subscriptor\",\n    \"subscribers.numSelected\": \"{num} subscriptors seleccionats\",\n    \"subscribers.optinSubject\": \"Confirma la teva subscripció\",\n    \"subscribers.preconfirm\": \"Preconfirmació de subscripcions\",\n    \"subscribers.preconfirmHelp\": \"No envieu correus electrònics d'opt-in i marqueu totes les subscripcions a la llista com a \\\"subscrites\\\".\",\n    \"subscribers.query\": \"Consulta\",\n    \"subscribers.queryPlaceholder\": \"Correu electrònic o nom\",\n    \"subscribers.reset\": \"Restableix\",\n    \"subscribers.selectAll\": \"Selecciona'n {num}\",\n    \"subscribers.sendOptinConfirm\": \"Envia la confirmació d'opt-in\",\n    \"subscribers.sentOptinConfirm\": \"Confirmació d'opt-in enviada\",\n    \"subscribers.status.blocklisted\": \"A la llista de bloqueig\",\n    \"subscribers.status.confirmed\": \"Confirmat\",\n    \"subscribers.status.enabled\": \"Actiu\",\n    \"subscribers.status.subscribed\": \"Subscrit\",\n    \"subscribers.status.unconfirmed\": \"Sense confirmar\",\n    \"subscribers.status.unsubscribed\": \"Donat de baixa\",\n    \"subscribers.subscribersDeleted\": \"S'han suprimit {num} subscriptors\",\n    \"templates.cantDeleteDefault\": \"No es pot suprimir la plantilla inexistent o predeterminada\",\n    \"templates.default\": \"Per defecte\",\n    \"templates.dummyName\": \"Campanya simulada\",\n    \"templates.dummySubject\": \"Assumpte de campanya simulat\",\n    \"templates.errorCompiling\": \"Error en compilar la plantilla: {error}\",\n    \"templates.errorRendering\": \"Error en renderitzar el missatge: {error}\",\n    \"templates.fieldInvalidName\": \"Longitud no vàlida per al nom.\",\n    \"templates.makeDefault\": \"Estableix per defecte\",\n    \"templates.newTemplate\": \"Nova plantilla\",\n    \"templates.placeholderHelp\": \"El marcador {placeholder} hauria d'aparèixer com a mínim una vegada a la plantilla.\",\n    \"templates.preview\": \"Previsualització\",\n    \"templates.rawHTML\": \"Codi HTML\",\n    \"templates.subject\": \"Assumpte\",\n    \"templates.typeCampaignHTML\": \"Campanya / HTML\",\n    \"templates.typeCampaignVisual\": \"Campanya / Visual\",\n    \"templates.typeTransactional\": \"Transaccional\",\n    \"users.apiOneTimeToken\": \"Copia l'API access token ara. No es mostrarà de nou.\",\n    \"users.cantDeleteRole\": \"No es pot eliminar el rol que s'està utilitzant.\",\n    \"users.firstTime\": \"Aquesta és una nova instal·lació. Trieu un nom d'usuari i una contrasenya per al compte d'Administrador Super.\",\n    \"users.forgotPassword\": \"Has oblidat la contrasenya?\",\n    \"users.invalidLogin\": \"Inici de sessió o contrasenya no vàlids\",\n    \"users.invalidPassword\": \"Contrasenya no vàlida\",\n    \"users.invalidRequest\": \"Sol·licitud d'autenticació no vàlida\",\n    \"users.invalidResetLink\": \"Enllaç de restabliment no vàlid o expirat\",\n    \"users.lastLogin\": \"Últim inici de sessió\",\n    \"users.listPerms\": \"Permisos de llista\",\n    \"users.listPermsWarning\": \"Estan habilitades les opcions lists:get_all o lists:manage_all, les quals substitueixen els permisos per llista\",\n    \"users.listRole\": \"Rols de llista | Rol de llista\",\n    \"users.listRoles\": \"Rols de llista\",\n    \"users.login\": \"Inicia sessió\",\n    \"users.loginOIDC\": \"Inicia sessió amb {name}\",\n    \"users.logout\": \"Tanca sessió\",\n    \"users.needSuper\": \"L'usuari(s) no s'ha actualitzat. S'ha de tenir com a mínim un usuari Super Administrador actiu.\",\n    \"users.newListRole\": \"Nou rol de llista\",\n    \"users.newPassword\": \"Nova contrasenya\",\n    \"users.newUser\": \"Nou usuari\",\n    \"users.newUserRole\": \"Nou rol d'usuari\",\n    \"users.password\": \"Contrasenya\",\n    \"users.passwordEnable\": \"Activa l'inici de sessió amb contrasenya\",\n    \"users.passwordMismatch\": \"Les contrasenyes no coincideixen\",\n    \"users.passwordRepeat\": \"Repeteix la contrasenya\",\n    \"users.perms\": \"Permisos\",\n    \"users.profile\": \"Perfil\",\n    \"users.resetLinkSent\": \"Si el compte està actiu, rebràs un correu de restabliment de contrasenya.\",\n    \"users.resetPassword\": \"Restableir contrasenya\",\n    \"users.role\": \"Rol | Rols\",\n    \"users.roleGroup\": \"Grup\",\n    \"users.roles\": \"Rols\",\n    \"users.status.disabled\": \"Deshabilitat\",\n    \"users.status.enabled\": \"Habilitat\",\n    \"users.totpCode\": \"Codi TOTP\",\n    \"users.totpCodeHelp\": \"Introduïr el codi de 6 dígits de la teva aplicació d'autenticació\",\n    \"users.totpScanQR\": \"Escaneja el codi QR amb la teva aplicació d'autenticació com ara Ente o Google Authenticator i introduïr el codi TOTP a continuació.\",\n    \"users.totpSecret\": \"Clau secreta\",\n    \"users.twoFA\": \"Autenticació de dos factors\",\n    \"users.twoFAAlreadyEnabled\": \"La autenticació de dos factors ja està activada.\",\n    \"users.twoFAEnabled\": \"La autenticació de dos factors està activada\",\n    \"users.twoFAEnabledDesc\": \"El teu compte està protegit amb {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Activa 2FA per a més seguretat quan inicis sessió al teu compte.\",\n    \"users.type\": \"Tipus\",\n    \"users.type.api\": \"API d'usuari\",\n    \"users.type.super\": \"Super Administrador\",\n    \"users.type.user\": \"Usuari\",\n    \"users.userRole\": \"Rol de l'usuari | Rols de l'usuari\",\n    \"users.userRoles\": \"Rols de l'usuari\",\n    \"users.username\": \"Nom d'usuari\",\n    \"users.usernameHelp\": \"Utilitzat amb l'inici de sessió de contrasenya\"\n}\n"
  },
  {
    "path": "i18n/cs-cz.json",
    "content": "{\n    \"_.code\": \"cs-cz\",\n    \"_.name\": \"Čeština (cs)\",\n    \"admin.errorMarshallingConfig\": \"Chyba při serializaci konfigurace: {error}\",\n    \"analytics.count\": \"Počet\",\n    \"analytics.fromDate\": \"Od\",\n    \"analytics.invalidDates\": \"Neplatné datum `od` nebo `do`.\",\n    \"analytics.isUnique\": \"Každý odběratel je započítán nejvýše jednou.\",\n    \"analytics.links\": \"Odkazy\",\n    \"analytics.nonUnique\": \"Počty nejsou jedinečné, sledování na úrovni odběratelů je vypnuté.\",\n    \"analytics.title\": \"Analytika\",\n    \"analytics.toDate\": \"Do\",\n    \"bounces.complaint\": \"Stížnost\",\n    \"bounces.hard\": \"Trvalý\",\n    \"bounces.soft\": \"Dočasný\",\n    \"bounces.source\": \"Zdroj\",\n    \"bounces.unknownService\": \"Neznámá služba.\",\n    \"bounces.view\": \"Zobrazit nedoručitelnosti\",\n    \"campaigns.addAltText\": \"Přidat alternativní zprávu ve formátu prostého textu\",\n    \"campaigns.addAttachments\": \"Přidat přílohy\",\n    \"campaigns.archive\": \"Archiv\",\n    \"campaigns.archiveEnable\": \"Zveřejnit ve veřejném archivu\",\n    \"campaigns.archiveHelp\": \"Zveřejnit (běžící, pozastavenou, dokončenou) zprávu kampaně ve veřejném archivu.\",\n    \"campaigns.archiveMeta\": \"Metadata kampaně\",\n    \"campaigns.archiveMetaHelp\": \"Použít ukázková (dummy) data odběratele ve veřejné zprávě, včetně jména, e-mailu a volitelných atributů použitých v textu kampaně nebo šabloně.\",\n    \"campaigns.archiveSlug\": \"URL identifikátor\",\n    \"campaigns.archiveSlugHelp\": \"Krátký název stránky používaný v URL. Například: moje-novinky-edice-2\",\n    \"campaigns.attachments\": \"Přílohy\",\n    \"campaigns.attribsHelp\": \"Vlastní atributy objektu JSON {} pro tuto kampaň. Použijte v šabloně s {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Nelze aktualizovat spuštěnou nebo dokončenou kampaň.\",\n    \"campaigns.clicks\": \"Kliknutí\",\n    \"campaigns.confirmDelete\": \"Odstranit {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Tato akce přepíše veškerý obsah. Pokračovat?\",\n    \"campaigns.confirmSchedule\": \"Tato kampaň se spustí automaticky v naplánované datum a čas. Naplánovat nyní?\",\n    \"campaigns.confirmSwitchFormat\": \"Obsah může ztratit formátování. Pokračovat?\",\n    \"campaigns.content\": \"Obsah\",\n    \"campaigns.contentHelp\": \"Obsah zde\",\n    \"campaigns.continue\": \"Pokračovat\",\n    \"campaigns.copyOf\": \"Kopie {name}\",\n    \"campaigns.customHeadersHelp\": \"Pole volitelných hlaviček k odchozím zprávám, například: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Datum a čas\",\n    \"campaigns.ended\": \"Ukončeno\",\n    \"campaigns.errorSendTest\": \"Chyba při odesílání testu: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Chyba při kompilaci těla kampaně: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Neplatný údaj `z_e-mailu`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Neplatný seznam ID.\",\n    \"campaigns.fieldInvalidMessenger\": \"Neznámý kurýr {name}.\",\n    \"campaigns.fieldInvalidName\": \"Neplatná délka jména.\",\n    \"campaigns.fieldInvalidSendAt\": \"Naplánované datum by mělo být v budoucnosti.\",\n    \"campaigns.fieldInvalidSubject\": \"Neplatná délka předmětu.\",\n    \"campaigns.format\": \"Formát\",\n    \"campaigns.formatHTML\": \"Formát HTML\",\n    \"campaigns.fromAddress\": \"Z adresy\",\n    \"campaigns.fromAddressPlaceholder\": \"Vaše jméno <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importovat vizuální šablonu\",\n    \"campaigns.invalid\": \"Neplatná kampaň\",\n    \"campaigns.invalidCustomHeaders\": \"Neplatné volitelné hlavičky: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampaň musí mít naplánované datum.\",\n    \"campaigns.newCampaign\": \"Nová kampaň\",\n    \"campaigns.noKnownSubsToTest\": \"Nejsou žádní známí odběratelé k testování.\",\n    \"campaigns.noOptinLists\": \"Nebyly nalezeny žádné seznamy přihlášení k odběru k vytvoření kampaně.\",\n    \"campaigns.noSubs\": \"Ve vybraných seznamech nejsou žádní odběratelé k vytvoření kampaně.\",\n    \"campaigns.noSubsToTest\": \"Nejsou žádní cíloví odběratelé.\",\n    \"campaigns.notFound\": \"Kampaň nebyla nalezena.\",\n    \"campaigns.onlyActiveCancel\": \"Zrušit lze pouze aktivní kampaně.\",\n    \"campaigns.onlyActivePause\": \"Pozastavit lze pouze aktivní kampaně.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Naplánovat lze pouze konceptové kampaně.\",\n    \"campaigns.onlyPausedDraft\": \"Spustit lze pouze pozastavené kampaně a koncepty.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Uložit jako koncepty lze pouze naplánované kampaně.\",\n    \"campaigns.pause\": \"Pozastavit\",\n    \"campaigns.plainText\": \"Prostý text\",\n    \"campaigns.preview\": \"Náhled\",\n    \"campaigns.progress\": \"Průběh\",\n    \"campaigns.queryPlaceholder\": \"Jméno nebo předmět\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Kód HTML\",\n    \"campaigns.removeAltText\": \"Odebrat alternativní zprávu ve formátu prostého textu\",\n    \"campaigns.richText\": \"Formátovaný text\",\n    \"campaigns.schedule\": \"Naplánovat kampaň\",\n    \"campaigns.scheduled\": \"Naplánovaná\",\n    \"campaigns.send\": \"Odeslat\",\n    \"campaigns.sendLater\": \"Odeslat později\",\n    \"campaigns.sendTest\": \"Odeslat testovací zprávu\",\n    \"campaigns.sendTestHelp\": \"Po zadání adresy stiskněte Enter pro přidání více příjemců. Adresy musí patřit existujícím odběratelům.\",\n    \"campaigns.sendToLists\": \"Seznamy k odeslání\",\n    \"campaigns.sent\": \"Odesláno\",\n    \"campaigns.start\": \"Spustit kampaň\",\n    \"campaigns.started\": \"\\\"{name}\\\" spuštěna\",\n    \"campaigns.startedAt\": \"Spuštěna\",\n    \"campaigns.stats\": \"Statistika\",\n    \"campaigns.status.cancelled\": \"Zrušena\",\n    \"campaigns.status.draft\": \"Koncept\",\n    \"campaigns.status.finished\": \"Dokončena\",\n    \"campaigns.status.paused\": \"Pozastavena\",\n    \"campaigns.status.running\": \"Běží\",\n    \"campaigns.status.scheduled\": \"Naplánovaná\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" je {status}\",\n    \"campaigns.subject\": \"Předmět\",\n    \"campaigns.templatingRef\": \"Referenční šablona\",\n    \"campaigns.testEmails\": \"E-maily\",\n    \"campaigns.testSent\": \"Testovací zpráva odeslána\",\n    \"campaigns.timestamps\": \"Časová razítka\",\n    \"campaigns.trackLink\": \"Sledovací odkaz\",\n    \"campaigns.unSchedule\": \"Zrušit naplánování\",\n    \"campaigns.views\": \"Zobrazení\",\n    \"campaigns.visual\": \"Vizuální\",\n    \"dashboard.campaignViews\": \"Zobrazení kampaně\",\n    \"dashboard.linkClicks\": \"Kliknutí na odkaz\",\n    \"dashboard.messagesSent\": \"Zprávy odeslány\",\n    \"dashboard.orphanSubs\": \"Sirotci\",\n    \"email.data.info\": \"Kopie všech dat, která jsou o vás zaznamenána, je přiložena jako soubor ve formátu JSON. Soubor lze otevřít v libovolném textovém editoru.\",\n    \"email.data.title\": \"Vaše data\",\n    \"email.forgotPassword.button\": \"Resetovat heslo\",\n    \"email.forgotPassword.info\": \"Pokud jste tuto žádost nezajistili, můžete tento e-mail bezpečně ignorovat. Tento odkaz vyprší za 30 minut.\",\n    \"email.forgotPassword.subject\": \"Resetujte své heslo\",\n    \"email.optin.confirmSub\": \"Potvrdit odběr\",\n    \"email.optin.confirmSubHelp\": \"Potvrďte svůj odběr kliknutím na níže uvedené tlačítko.\",\n    \"email.optin.confirmSubInfo\": \"Byli jste přidáni do následujících seznamů:\",\n    \"email.optin.confirmSubTitle\": \"Potvrdit odběr\",\n    \"email.optin.confirmSubWelcome\": \"Zdravím\",\n    \"email.optin.privateList\": \"Soukromý seznam\",\n    \"email.status.campaignReason\": \"Důvod\",\n    \"email.status.campaignSent\": \"Odesláno\",\n    \"email.status.campaignUpdateTitle\": \"Aktualizace kampaně\",\n    \"email.status.importFile\": \"Soubor\",\n    \"email.status.importRecords\": \"Záznamy\",\n    \"email.status.importTitle\": \"Aktualizace importu\",\n    \"email.status.status\": \"Stav\",\n    \"email.unsub\": \"Zrušit odběr\",\n    \"email.unsubHelp\": \"Nechcete dostávat tyto e-maily?\",\n    \"email.viewInBrowser\": \"Zobrazit v prohlížeči\",\n    \"forms.formHTML\": \"HTML formuláře\",\n    \"forms.formHTMLHelp\": \"Použijte následující HTML k zobrazení formuláře odběru na externí webové stránce. Formulář by měl mít pole e-mailu a jedno nebo více polí `l` (s hodnotou UUID seznamu). Pole jména je volitelné.\",\n    \"forms.noPublicLists\": \"Nejsou k dispozici žádné veřejné seznamy pro vytvoření formuláře.\",\n    \"forms.publicLists\": \"Veřejné seznamy\",\n    \"forms.publicSubPage\": \"Veřejná stránka přihlášení k odběru\",\n    \"forms.selectHelp\": \"Vyberte seznamy k přidání do formuláře.\",\n    \"forms.title\": \"Formuláře\",\n    \"globals.buttons.add\": \"Přidat\",\n    \"globals.buttons.addNew\": \"Přidat nový\",\n    \"globals.buttons.back\": \"Zpět\",\n    \"globals.buttons.cancel\": \"Zrušit\",\n    \"globals.buttons.clear\": \"Odstranit\",\n    \"globals.buttons.clearAll\": \"Odstranit vše\",\n    \"globals.buttons.clone\": \"Klonovat\",\n    \"globals.buttons.close\": \"Zavřít\",\n    \"globals.buttons.continue\": \"Pokračovat\",\n    \"globals.buttons.copy\": \"Kopírovat\",\n    \"globals.buttons.delete\": \"Odstranit\",\n    \"globals.buttons.deleteAll\": \"Odstranit vše\",\n    \"globals.buttons.disable\": \"Zakázat\",\n    \"globals.buttons.edit\": \"Upravit\",\n    \"globals.buttons.enable\": \"Povolit\",\n    \"globals.buttons.enabled\": \"Povoleno\",\n    \"globals.buttons.insert\": \"Vložit\",\n    \"globals.buttons.learnMore\": \"Další informace\",\n    \"globals.buttons.manage\": \"Spravovat\",\n    \"globals.buttons.more\": \"Více\",\n    \"globals.buttons.new\": \"Nový\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Odebrat\",\n    \"globals.buttons.save\": \"Uložit\",\n    \"globals.buttons.saveChanges\": \"Uložit změny\",\n    \"globals.buttons.toggleSelect\": \"Přepnout výběr\",\n    \"globals.buttons.view\": \"Zobrazit\",\n    \"globals.days.0\": \"Ne\",\n    \"globals.days.1\": \"Ne\",\n    \"globals.days.2\": \"Po\",\n    \"globals.days.3\": \"Út\",\n    \"globals.days.4\": \"St\",\n    \"globals.days.5\": \"Čt\",\n    \"globals.days.6\": \"Pá\",\n    \"globals.days.7\": \"So\",\n    \"globals.fields.createdAt\": \"Vytvořeno\",\n    \"globals.fields.description\": \"Popis\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Jméno\",\n    \"globals.fields.status\": \"Stav\",\n    \"globals.fields.type\": \"Typ\",\n    \"globals.fields.updatedAt\": \"Aktualizováno\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Jste si jisti?\",\n    \"globals.messages.confirmDelete\": \"Smazat {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Zrušit změny?\",\n    \"globals.messages.copied\": \"Zkopírováno\",\n    \"globals.messages.created\": \"\\\"{name}\\\" vytvořen\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" odstraněn\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) odstraněn\",\n    \"globals.messages.done\": \"Dokončeno\",\n    \"globals.messages.emptyState\": \"Nic zde není\",\n    \"globals.messages.errorCreating\": \"Chyba při vytváření {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Chyba při odstraňování {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Chyba při načítání {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Uvedeno jedno nebo více neplatných ID: {error}\",\n    \"globals.messages.errorUUID\": \"Chyba při generování UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Chyba při aktualizaci {name}: {error}\",\n    \"globals.messages.internalError\": \"Interní chyba serveru\",\n    \"globals.messages.invalidData\": \"Neplatná data\",\n    \"globals.messages.invalidFields\": \"Neplatné pole: {name}\",\n    \"globals.messages.invalidID\": \"Neplatné ID\",\n    \"globals.messages.invalidUUID\": \"Neplatné UUID\",\n    \"globals.messages.invalidValue\": \"Neplatná hodnota\",\n    \"globals.messages.missingFields\": \"Chybějící pole: {name}\",\n    \"globals.messages.notFound\": \"{name} nebyl nalezen\",\n    \"globals.messages.numSelected\": \"{num} vybráno\",\n    \"globals.messages.passwordChange\": \"Zadejte hodnotu ke změně\",\n    \"globals.messages.passwordChangeFull\": \"Vymazat a zadat úplné heslo znovu v '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Odmítnuto oprávnění: {name}\",\n    \"globals.messages.selectAll\": \"Vybrat všech {num}\",\n    \"globals.messages.slowQueriesCached\": \"Pomalé dotazy jsou ukládány do mezipaměti. Některá čísla na této stránce nemusí být aktuální.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" aktualizován\",\n    \"globals.months.1\": \"Led\",\n    \"globals.months.10\": \"Říj\",\n    \"globals.months.11\": \"Lis\",\n    \"globals.months.12\": \"Pro\",\n    \"globals.months.2\": \"Úno\",\n    \"globals.months.3\": \"Bře\",\n    \"globals.months.4\": \"Dub\",\n    \"globals.months.5\": \"Kvě\",\n    \"globals.months.6\": \"Čer\",\n    \"globals.months.7\": \"Čvc\",\n    \"globals.months.8\": \"Srp\",\n    \"globals.months.9\": \"Zář\",\n    \"globals.states.off\": \"Vypnout\",\n    \"globals.terms.all\": \"Vše\",\n    \"globals.terms.analytics\": \"Analytika\",\n    \"globals.terms.attribs\": \"Atributy\",\n    \"globals.terms.bounce\": \"Nedoručitelnost | Případy nedoručitelnosti\",\n    \"globals.terms.bounces\": \"Případy nedoručitelnosti\",\n    \"globals.terms.campaign\": \"Kampaň | Kampaně\",\n    \"globals.terms.campaigns\": \"Kampaně\",\n    \"globals.terms.dashboard\": \"Řídicí panel\",\n    \"globals.terms.day\": \"Den | Dny\",\n    \"globals.terms.hour\": \"Hodina | Hodiny\",\n    \"globals.terms.import\": \"Importovat\",\n    \"globals.terms.list\": \"Seznam | Seznamy\",\n    \"globals.terms.lists\": \"Seznamy\",\n    \"globals.terms.media\": \"Médium | Média\",\n    \"globals.terms.messenger\": \"Kurýr | Kurýři\",\n    \"globals.terms.messengers\": \"Kurýři\",\n    \"globals.terms.minute\": \"Minuta | Minuty\",\n    \"globals.terms.month\": \"Měsíc | Měsíce\",\n    \"globals.terms.new\": \"Nový\",\n    \"globals.terms.none\": \"Žádný\",\n    \"globals.terms.second\": \"Vteřina | Vteřiny\",\n    \"globals.terms.settings\": \"Nastavení\",\n    \"globals.terms.subscriber\": \"Odběratel | Odběratelé\",\n    \"globals.terms.subscribers\": \"Odběratelé\",\n    \"globals.terms.subscriptions\": \"Odběr | Odběry\",\n    \"globals.terms.tag\": \"Značka | Značky\",\n    \"globals.terms.tags\": \"Značky\",\n    \"globals.terms.template\": \"Šablona | Šablony\",\n    \"globals.terms.templates\": \"Šablony\",\n    \"globals.terms.tx\": \"Transakční | Transakční\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Uživatel | Uživatelé\",\n    \"globals.terms.users\": \"Uživatelé\",\n    \"globals.terms.year\": \"Rok | Roky\",\n    \"import.alreadyRunning\": \"Import již běží. Počkejte na jeho dokončení nebo jej zastavte před dalším pokusem.\",\n    \"import.blocklist\": \"Seznam blokovaných\",\n    \"import.csvDelim\": \"Oddělovač CSV\",\n    \"import.csvDelimHelp\": \"Výchozí oddělovač je čárka.\",\n    \"import.csvExample\": \"Ukázkové CSV (raw)\",\n    \"import.csvFile\": \"Soubor CSV nebo ZIP\",\n    \"import.csvFileHelp\": \"Klikněte nebo přetáhněte soubor CSV nebo ZIP sem\",\n    \"import.errorCopyingFile\": \"Chyba při kopírování souboru: {error}\",\n    \"import.errorProcessingZIP\": \"Chyba při zpracování souboru ZIP: {error}\",\n    \"import.errorStarting\": \"Chyba při spuštění importu: {error}\",\n    \"import.importDone\": \"Hotovo\",\n    \"import.importStarted\": \"Import spuštěn\",\n    \"import.instructions\": \"Pokyny\",\n    \"import.instructionsHelp\": \"Odešlete soubor CSV nebo soubor ZIP s jediným souborem CSV odběratelům sloučeného importu. Soubor CSV by měl mít následující záhlaví s přesnými názvy sloupců. Atribut (volitelný) by měl být platný řetězec JSON s dvojitými únikovými uvozovkami.\",\n    \"import.invalidDelim\": \"Oddělovač by měl být jednotlivý znak.\",\n    \"import.invalidFile\": \"Neplatný soubor: {error}\",\n    \"import.invalidMode\": \"Neplatný režim\",\n    \"import.invalidParams\": \"Neplatné parametry: {error}\",\n    \"import.invalidSubStatus\": \"Neplatný stav odběru\",\n    \"import.listSubHelp\": \"Seznamy k odběru.\",\n    \"import.mode\": \"Režim\",\n    \"import.overwriteSubStatus\": \"Přepsat stav předplatného\",\n    \"import.overwriteSubStatusHelp\": \"Přepsat stav existujících předplatných seznamů\",\n    \"import.overwriteUserInfo\": \"Přepsat informace o uživateli\",\n    \"import.overwriteUserInfoHelp\": \"Přepsat jméno a atributy stávajících odběratelů\",\n    \"import.recordsCount\": \"{num} / {total} záznamů\",\n    \"import.stopImport\": \"Zastavit import \",\n    \"import.subscribe\": \"Odebírat\",\n    \"import.subscribeWarning\": \"Přepsání znovu přihlásí odhlášené adresy. Pokračovat?\",\n    \"import.title\": \"Importovat odběratele\",\n    \"import.upload\": \"Odeslat\",\n    \"lists.archived\": \"Archivovano\",\n    \"lists.archivedHelp\": \"Archivování skrývá seznamy ze stránky seznamů, kampaní a veřejných formulářů. Lze jej kdykoli odarchivovat. Je užitečné pro skrytí starých a zřídka používaných seznamů.\",\n    \"lists.confirmDelete\": \"Jste si jisti? Tímto se neodstraní odběratelé.\",\n    \"lists.confirmSub\": \"Potvrdit odběr(y) pro {name}\",\n    \"lists.invalidName\": \"Neplatné jméno\",\n    \"lists.newList\": \"Nový seznam\",\n    \"lists.optin\": \"Přihlášení k odběru (opt-in)\",\n    \"lists.optinHelp\": \"Přihlášení k odběru s potvrzením (double opt-in) odešle odběrateli e-mail se žádostí o potvrzení. Na seznamech přihlášení k odběru s potvrzením se kampaně posílají pouze potvrzeným odběratelům.\",\n    \"lists.optinTo\": \"Přihlášení k odběru {name}\",\n    \"lists.optins.double\": \"Přihlášení k odběru s potvrzením\",\n    \"lists.optins.single\": \"Jednotlivé přihlášení k odběru\",\n    \"lists.sendCampaign\": \"Odeslat kampaň\",\n    \"lists.sendOptinCampaign\": \"Odeslat potvrzovací kampaň pro přihlášení\",\n    \"lists.type\": \"Typ\",\n    \"lists.typeHelp\": \"Veřejné seznamy jsou celosvětově přístupné k odběru a jejich názvy se mohou objevit na veřejných stránkách, jako je stránka pro správu odběrů.\",\n    \"lists.types.private\": \"Soukromý\",\n    \"lists.types.public\": \"Veřejný\",\n    \"logs.title\": \"Protokoly\",\n    \"maintenance.database.title\": \"Databáze\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE recykluje úložiště používané smazanými řádky a výrazně zlepšuje výkon databáze u velkých databází. DŮLEŽITÉ: U velkých databází se jedná o pomalou, blokující operaci. Naplánujte spuštění během hodin s nízkou zátěží.\",\n    \"maintenance.help\": \"Některé operace mohou trvat déle v závislosti na množství dat.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Nepotvrzené opt-in přihlášení\",\n    \"maintenance.olderThan\": \"Starší než\",\n    \"maintenance.orphanHelp\": \"Sirotci = Odběratelé bez přiřazených seznamů\",\n    \"maintenance.title\": \"Údržba\",\n    \"maintenance.unconfirmedSubs\": \"Nepotvrzená přihlášení starší než {name} dnů.\",\n    \"media.errorReadingFile\": \"Chyba při čtení souboru: {error}\",\n    \"media.errorResizing\": \"Chyba při změně velikosti obrázku: {error}\",\n    \"media.errorSavingThumbnail\": \"Chyba při ukládání miniatury: {error}\",\n    \"media.errorUploading\": \"Chyba při odesílání souboru: {error}\",\n    \"media.invalidFile\": \"Neplatný soubor: {error}\",\n    \"media.title\": \"Médium\",\n    \"media.unsupportedFileType\": \"Nepodporovaný typ souboru ({type})\",\n    \"media.upload\": \"Nahrát\",\n    \"media.uploadHelp\": \"Klikněte nebo přetáhněte jeden nebo více obrázků sem\",\n    \"menu.allCampaigns\": \"Všechny kampaně\",\n    \"menu.allLists\": \"Všechny seznamy\",\n    \"menu.allSubscribers\": \"Všichni odběratelé\",\n    \"menu.dashboard\": \"Řídicí panel\",\n    \"menu.forms\": \"Formuláře\",\n    \"menu.import\": \"Importovat\",\n    \"menu.logs\": \"Protokoly\",\n    \"menu.maintenance\": \"Údržba\",\n    \"menu.media\": \"Médium\",\n    \"menu.newCampaign\": \"Vytvořit nový\",\n    \"menu.settings\": \"Nastavení\",\n    \"public.archiveEmpty\": \"Žádné archivované zprávy.\",\n    \"public.archiveTitle\": \"Archiv kampaní\",\n    \"public.blocklisted\": \"Trvale odhlášen z odběru.\",\n    \"public.campaignNotFound\": \"E-mailová zpráva nebyla nalezena.\",\n    \"public.confirmOptinSubTitle\": \"Potvrdit odběr\",\n    \"public.confirmSub\": \"Potvrdit odběr\",\n    \"public.confirmSubInfo\": \"Byli jste přidáni do těchto seznamů:\",\n    \"public.confirmSubTitle\": \"Potvrdit\",\n    \"public.dataRemoved\": \"Vaše odběry a všechna přidružená data byla odebrána.\",\n    \"public.dataRemovedTitle\": \"Data odebrána\",\n    \"public.dataSent\": \"Vaše data vám byla odeslána e-mailem jako příloha.\",\n    \"public.dataSentTitle\": \"Data odeslána e-mailem\",\n    \"public.errorFetchingCampaign\": \"Chyba při načítání e-mailové zprávy.\",\n    \"public.errorFetchingEmail\": \"E-mailová zpráva nebyla nalezena\",\n    \"public.errorFetchingLists\": \"Chyba při načítání seznamů. Zopakujte pokus.\",\n    \"public.errorProcessingRequest\": \"Chyba při zpracování požadavku. Zopakujte pokus.\",\n    \"public.errorTitle\": \"Chyba\",\n    \"public.invalidCaptcha\": \"Neplatný CAPTCHA.\",\n    \"public.invalidFeature\": \"Tato funkce není k dispozici.\",\n    \"public.invalidLink\": \"Neplatný odkaz\",\n    \"public.managePrefs\": \"Správa předvoleb\",\n    \"public.managePrefsUnsub\": \"Zrušte zaškrtnutí seznamů, ze kterých se chcete odhlásit.\",\n    \"public.noListsAvailable\": \"Nejsou k dispozici žádné seznamy k odběru.\",\n    \"public.noListsSelected\": \"Nebyly vybrány žádné platné seznamy k odběru.\",\n    \"public.noSubInfo\": \"Nejsou zde žádné odběry k potvrzení.\",\n    \"public.noSubTitle\": \"Žádné odběry\",\n    \"public.notFoundTitle\": \"Nebyl nalezen\",\n    \"public.poweredBy\": \"Poskytováno\",\n    \"public.prefsSaved\": \"Předvolby byly uloženy.\",\n    \"public.privacyConfirmWipe\": \"Opravdu chcete trvale odstranit všechna data svých odběrů?\",\n    \"public.privacyExport\": \"Exportovat data\",\n    \"public.privacyExportHelp\": \"Kopie dat vám bude odeslána e-mailem.\",\n    \"public.privacyTitle\": \"Soukromí a data\",\n    \"public.privacyWipe\": \"Vymažte svá data\",\n    \"public.privacyWipeHelp\": \"Odstraňte všechny své odběry a související data z databáze trvale.\",\n    \"public.sub\": \"Odebírat\",\n    \"public.subConfirmed\": \"Přihlášení k odběru bylo potvrzeno.\",\n    \"public.subConfirmedTitle\": \"Potvrzeno\",\n    \"public.subName\": \"Jméno (volitelné)\",\n    \"public.subNotFound\": \"Odběr nebyl nalezen.\",\n    \"public.subOptinPending\": \"Byl vám odeslán e-mail pro potvrzení vašich odběrů.\",\n    \"public.subPrivateList\": \"Soukromý seznam\",\n    \"public.subTitle\": \"Odebírat\",\n    \"public.unsub\": \"Zrušit odběr\",\n    \"public.unsubFull\": \"Zrušit odběr i ze všech budoucích e-mailů.\",\n    \"public.unsubHelp\": \"Chcete zrušit odběr z tohoto seznamu adresátů?\",\n    \"public.unsubTitle\": \"Zrušit odběr\",\n    \"public.unsubbedInfo\": \"Odběr byl úspěšně zrušen.\",\n    \"public.unsubbedTitle\": \"Odběr zrušen\",\n    \"public.unsubscribeTitle\": \"Zrušit odběr ze seznamu adresátů\",\n    \"settings.appearance.adminHelp\": \"Volitelné CSS aplikované na admin UI.\",\n    \"settings.appearance.adminName\": \"Admin\",\n    \"settings.appearance.customCSS\": \"Volitelné CSS\",\n    \"settings.appearance.customJS\": \"Volitelný JavaScript\",\n    \"settings.appearance.name\": \"Vzhled\",\n    \"settings.appearance.publicHelp\": \"Volitelné CSS a JavaScript aplikované na veřejné stránky.\",\n    \"settings.appearance.publicName\": \"Veřejné\",\n    \"settings.bounces.action\": \"Akce\",\n    \"settings.bounces.blocklist\": \"Seznam blokovaných\",\n    \"settings.bounces.count\": \"Počet případů nedoručitelnosti\",\n    \"settings.bounces.countHelp\": \"Počet případů nedoručitelnosti na odběratele\",\n    \"settings.bounces.enable\": \"Povolit zpracování nedoručitelnosti\",\n    \"settings.bounces.enableForwardemail\": \"Povolit přeposílání e-mailů\",\n    \"settings.bounces.enableMailbox\": \"Povolit poštovní schránku v případě nedoručitelnosti\",\n    \"settings.bounces.enablePostmark\": \"Povolit Postmark\",\n    \"settings.bounces.enableSES\": \"Povolit SES\",\n    \"settings.bounces.enableSendgrid\": \"Povolit SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Povolit webhooky v případě nedoručitelnosti\",\n    \"settings.bounces.enabled\": \"Povoleno\",\n    \"settings.bounces.folder\": \"Složka\",\n    \"settings.bounces.folderHelp\": \"Název složky IMAP ke skenování. Např.: Došlá pošta.\",\n    \"settings.bounces.forwardemailKey\": \"Klíč pro přeposílání e-mailů\",\n    \"settings.bounces.invalidScanInterval\": \"Interval skenování v případě nedoručitelnosti by měl být minimálně 1 minuta.\",\n    \"settings.bounces.name\": \"Případy nedoručitelnosti\",\n    \"settings.bounces.none\": \"Žádné\",\n    \"settings.bounces.postmarkPassword\": \"Heslo Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Uživatelské jméno Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark umožňuje povolení základní autorizace pro webhooky. Ujistěte se, že zadáte stejné přihlašovací údaje zde i ve vašich nastaveních webhooku Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interval skenování\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval, ve kterém by se poštovní schránka v případě nedoručitelnosti měla skenovat na nedoručitelnost (s - sekundy, m - minuty).\",\n    \"settings.bounces.sendgridKey\": \"Klíč SendGrid\",\n    \"settings.bounces.type\": \"Typ\",\n    \"settings.bounces.username\": \"Jméno uživatele\",\n    \"settings.confirmRestart\": \"Ujistěte se, že jsou běžící kampaně pozastavené. Restartovat?\",\n    \"settings.duplicateMessengerName\": \"Duplicitní jméno odesílatele: {name}\",\n    \"settings.errorEncoding\": \"Chyba při kódování nastavení: {error}\",\n    \"settings.errorNoSMTP\": \"Měl by být povolen alespoň jeden blok SMTP\",\n    \"settings.general.adminNotifEmails\": \"E-mailová oznámení administrátora\",\n    \"settings.general.adminNotifEmailsHelp\": \"Seznam e-mailových adres oddělených čárkami, na které by se měla odeslat oznámení administrátora, jako jsou aktualizace importu, dokončení kampaní, selhání atd.\",\n    \"settings.general.checkUpdates\": \"Kontrola aktualizací\",\n    \"settings.general.checkUpdatesHelp\": \"Pravidelně kontrolovat nová vydání aplikace a upozornit.\",\n    \"settings.general.enablePublicArchive\": \"Povolit veřejný archiv kampaní\",\n    \"settings.general.enablePublicArchiveHelp\": \"Zveřejnit kampaně, pro které je povolena archivace na veřejné webové stránce.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Zobrazovat celý obsah v RSS feedu\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Zobrazovat celý obsah e-mailu v RSS feedu. Pokud je deaktivováno, budou zobrazeny pouze název a odkazy.\",\n    \"settings.general.enablePublicSubPage\": \"Povolit veřejnou stránku odběru\",\n    \"settings.general.enablePublicSubPageHelp\": \"Zobrazit veřejnou stránku odběru se všemi veřejnými seznamy pro lidi k odběru.\",\n    \"settings.general.faviconURL\": \"Adresa URL ikony favicon\",\n    \"settings.general.faviconURLHelp\": \"(Volitelné) Úplná URL statické favicon pro veřejné stránky. (např. stránka pro zrušení odběru).\",\n    \"settings.general.fromEmail\": \"Výchozí e-mail `od`\",\n    \"settings.general.fromEmailHelp\": \"Výchozí e-mail `od` k zobrazení odchozích e-mailů kampaní. Lze změnit podle kampaně.\",\n    \"settings.general.language\": \"Jazyk\",\n    \"settings.general.logoURL\": \"Adresa URL loga\",\n    \"settings.general.logoURLHelp\": \"(Volitelné) Úplná URL statického loga pro veřejné stránky (např. stránka pro zrušení odběru).\",\n    \"settings.general.name\": \"Obecné\",\n    \"settings.general.rootURL\": \"Kořenová adresa URL\",\n    \"settings.general.rootURLHelp\": \"Veřejná adresa URL instalace (bez koncového lomítka).\",\n    \"settings.general.sendOptinConfirm\": \"Odeslat souhlas s odběrem\",\n    \"settings.general.sendOptinConfirmHelp\": \"Odeslat e-mail se souhlasem po přihlášení nebo přidání nových odběratelů na admin formuláři.\",\n    \"settings.general.siteName\": \"Název stránky\",\n    \"settings.invalidMessengerName\": \"Neplatné jméno kurýra.\",\n    \"settings.mailserver.authProtocol\": \"Ověřovací protokol\",\n    \"settings.mailserver.host\": \"Hostitel\",\n    \"settings.mailserver.hostHelp\": \"Adresa hostitele SMTP serveru.\",\n    \"settings.mailserver.idleTimeout\": \"Časový limit nečinnosti\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Doba čekání na novou aktivitu na připojení před uzavřením a odebráním z fondu (s - sekundy, m - minuty).\",\n    \"settings.mailserver.maxConns\": \"Maximální počet připojení\",\n    \"settings.mailserver.maxConnsHelp\": \"Maximální počet souběžných připojení k serveru.\",\n    \"settings.mailserver.nameHelp\": \"Nepovinný jedinečný název pro SMTP server. Musí mít prefix email-. Nastavení umožňuje speciální výběr serveru pro kampaň. Např.: email-primary-server. Alfabetické / číselné znaky nebo pomlčka.\",\n    \"settings.mailserver.password\": \"Heslo\",\n    \"settings.mailserver.passwordHelp\": \"Klávesou Enter zadejte změnu\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Port SMTP serveru.\",\n    \"settings.mailserver.skipTLS\": \"Přeskočit ověření TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Přeskočit kontrolu názvu hostitele v TLS certifikátu.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Šifrování TLS/SSL. Běžně se používá STARTTLS.\",\n    \"settings.mailserver.username\": \"Jméno uživatele\",\n    \"settings.mailserver.waitTimeout\": \"Časový limit čekání\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Doba čekání na novou aktivitu na připojení před uzavřením a odebráním z fondu (s - sekundy, m - minuty).\",\n    \"settings.maintenance.cron\": \"Interval Cron\",\n    \"settings.media.provider\": \"Poskytovatel\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Cesta v bucketu\",\n    \"settings.media.s3.bucketPathHelp\": \"Cesta uvnitř bucketu, kam se budou nahrávat soubory. Výchozí je /.\",\n    \"settings.media.s3.bucketType\": \"Typ bucketu\",\n    \"settings.media.s3.bucketTypePrivate\": \"Soukromý\",\n    \"settings.media.s3.bucketTypePublic\": \"Veřejný\",\n    \"settings.media.s3.key\": \"Přístupový klíč AWS\",\n    \"settings.media.s3.publicURL\": \"Volitelné veřejné URL\",\n    \"settings.media.s3.publicURLHelp\": \"Vlastní S3 doména pro odkazy na obrázky místo výchozí backendové URL S3.\",\n    \"settings.media.s3.region\": \"Oblast\",\n    \"settings.media.s3.secret\": \"Přístupový tajný údaj AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Platnost nahrávání\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Volitelné) Uveďte TTL pro generovanou předem přihlášenou adresu URL. Vhodné pouze pro soukromé buckety (s, m, h, d pro sekundy, minuty, hodiny, dny).\",\n    \"settings.media.s3.url\": \"Adresa URL pro S3 backend\",\n    \"settings.media.s3.urlHelp\": \"Lze změnit, pouze pokud se použije S3 kompatibilní backend, jako je Minio.\",\n    \"settings.media.title\": \"Nahrávání médií\",\n    \"settings.media.upload.extensions\": \"Povolené přípony souborů\",\n    \"settings.media.upload.extensionsHelp\": \"Přidejte * pro povolení všech přípon\",\n    \"settings.media.upload.path\": \"Cesta pro nahrávání\",\n    \"settings.media.upload.pathHelp\": \"Cesta k adresáři, do kterého se budou nahrávat média.\",\n    \"settings.media.upload.uri\": \"Adresa pro nahrávání (URI)\",\n    \"settings.media.upload.uriHelp\": \"Adresa (URI) pro nahrávání, která je dostupná z internetu. Média nahraná do cesty_k_nahrání budou veřejně přístupná pod adresou {root_url}, například https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Maximální počet připojení\",\n    \"settings.messengers.maxConnsHelp\": \"Maximální počet souběžných připojení k serveru.\",\n    \"settings.messengers.messageSaved\": \"Nastavení uloženo. Znovu se načítá aplikace...\",\n    \"settings.messengers.name\": \"Odesílatelé\",\n    \"settings.messengers.nameHelp\": \"např.: my-sms. Alfa-numerické znaky / pomlčka.\",\n    \"settings.messengers.password\": \"Heslo\",\n    \"settings.messengers.retries\": \"Opakování\",\n    \"settings.messengers.retriesHelp\": \"Počet opakovaných pokusů, když zpráva selže.\",\n    \"settings.messengers.skipTLSHelp\": \"Přeskočit kontrolu názvu hostitele na certifikát TLS.\",\n    \"settings.messengers.timeout\": \"Časový limit nečinnosti\",\n    \"settings.messengers.timeoutHelp\": \"Doba čekání na novou aktivitu na připojení před uzavřením a odebráním z fondu (s - sekundy, m - minuty).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Kořenová URL postback serveru.\",\n    \"settings.messengers.username\": \"Jméno uživatele\",\n    \"settings.needsRestart\": \"Nastavení změněno. Pozastavte všechny spuštěné kampaně a restartujte aplikaci\",\n    \"settings.performance.batchSize\": \"Velikost dávky\",\n    \"settings.performance.batchSizeHelp\": \"Počet odběratelů ke stažení z databáze v jednotlivé iteraci. Každá iterace stáhne odběratele z databáze, odešle jim zprávy a pak se přesune na další iteraci, aby stáhla další dávku. Ideálně by měl být vyšší než je maximální dosažitelná propustnost (souběžnost * četnost_zpráv).\",\n    \"settings.performance.cacheSlowQueries\": \"Ukládat pomalé dotazy do mezipaměti\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Povolte pouze na velkých databázích, které výrazně zpomalují. Ukládá do paměti počty předplatitelů seznamu, statistiky přístrojové desky atd.\",\n    \"settings.performance.concurrency\": \"Souběžnost\",\n    \"settings.performance.concurrencyHelp\": \"Maximální počet souběžných modulů worker (podprocesů), které se pokusí současně odeslat zprávy.\",\n    \"settings.performance.maxErrThreshold\": \"Maximální prahová hodnota chyb\",\n    \"settings.performance.maxErrThresholdHelp\": \"Počet chyb (např.: časové limity SMTP při zasílání e-mailů), které by běžící kampaň měla tolerovat, než se pozastaví, aby se umožnilo manuální prozkoumání nebo intervence. Při nastavení na 0 se nikdy nepozastaví.\",\n    \"settings.performance.messageRate\": \"Četnost zpráv\",\n    \"settings.performance.messageRateHelp\": \"Maximální počet zpráv, které se mají odeslat za sekundu na modul worker za sekundu. Jestliže souběžnost = 10 a četnost_zpráv = 10, pak je možné každou sekundu odeslat až 10x10=100 zpráv. Toto, spolu se souběžností, by mělo platit, aby se zachovalo vysílání síťových zpráv za sekundu pod limity četnosti zpráv na cílových serverech, pokud jsou nastaveny.\",\n    \"settings.performance.name\": \"Výkon\",\n    \"settings.performance.slidingWindow\": \"Povolit limit posuvného okna\",\n    \"settings.performance.slidingWindowDuration\": \"Doba trvání posuvného okna\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Doba trvání období posuvného okna (m - minuty, h - hodiny).\",\n    \"settings.performance.slidingWindowHelp\": \"Limit celkového počtu odeslaných zpráv za dané období. Po dosažení limitu se odesílání pozastaví, dokud časové okno nevyprší.\",\n    \"settings.performance.slidingWindowRate\": \"Maximální počet zpráv\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maximální počet zpráv k odeslání v rámci doby trvání okna.\",\n    \"settings.privacy.allowBlocklist\": \"Povolit zařazení na seznam blokovaných\",\n    \"settings.privacy.allowBlocklistHelp\": \"Povolit odběratelům odhlásit se ze všech seznamů a označit svou adresu jako zablokovanou?\",\n    \"settings.privacy.allowExport\": \"Umožnit export\",\n    \"settings.privacy.allowExportHelp\": \"Umožnit odběratelům exportovat shromážděná data?\",\n    \"settings.privacy.allowPrefs\": \"Povolit změnu předvoleb\",\n    \"settings.privacy.allowPrefsHelp\": \"Povolit přihlášeným změnu předvoleb jako jsou jména a přihlášení k více seznamům.\",\n    \"settings.privacy.allowWipe\": \"Umožnit vymazání\",\n    \"settings.privacy.allowWipeHelp\": \"Umožnit odběratelům odstranit sebe včetně svých odběrů a všech ostatních dat z databáze. Pohledy na kampaně a kliknutí na odkazy se rovněž odeberou, zatímco pohledy a počty kliknutí se zachovají (aniž by měly přidruženého odběratele), takže statistiky a analýzy nebudou ovlivněny.\",\n    \"settings.privacy.domainAllowlist\": \"Povolené domény\",\n    \"settings.privacy.domainAllowlistHelp\": \"Přihlásit se mohou pouze e-mailové adresy s těmito doménami. Zadejte jednu doménu na řádek, např.: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Seznam blokovaných domén\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-mailové adresy z těchto domén se nemohou přihlásit k odběru. Uveďte jednu doménu na řádek, např.: example.com\",\n    \"settings.privacy.individualSubTracking\": \"Sledování jednotlivých odběratelů\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Sledovat kliknutí a pohledy na kampaně na úrovni odběratelů. Je-li to zakázáno, sledování kliknutí a pohledů pokračuje, aniž by bylo propojeno s jednotlivými odběrateli.\",\n    \"settings.privacy.listUnsubHeader\": \"Zahrnout záhlaví `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Zahrnout záhlaví zrušení odběrů, která umožňují e-mailovým klientům, aby povolili uživatelům zrušit odběr jediným kliknutím.\",\n    \"settings.privacy.name\": \"Soukromí\",\n    \"settings.privacy.recordOptinIP\": \"Zaznamenávat IP adresy pro opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Zaznamenávat IP adresy pro dvojí opt-in v atributu odběratele.\",\n    \"settings.restart\": \"Restartovat\",\n    \"settings.security.CORSDomains\": \"Povolené původy\",\n    \"settings.security.CORSDomainsHelp\": \"Povolte přístup k koncovým bodům API prostřednictvím prohlížeče Javascript z externích domén. Zadejte jednu doménu na řádek (např: https://example.com). Ponechte prázdné pro zakázání CORS nebo přidejte * pro povolení všech (není doporučeno).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Automaticky vytvořit uživatele\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Automaticky vytvořit uživatele při prvním přihlášení, pokud účet neexistuje.\",\n    \"settings.security.OIDCClientID\": \"ID klienta\",\n    \"settings.security.OIDCClientSecret\": \"Tajný klíč klienta\",\n    \"settings.security.OIDCDefaultListRole\": \"Výchozí role v seznamu\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Výchozí role přiřazená uživatelům automaticky vytvořeným z OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Výchozí uživatelská role\",\n    \"settings.security.OIDCHelp\": \"Povolit přihlášení OpenID Connect OAuth2 pomocí poskytovatele OAuth.\",\n    \"settings.security.OIDCName\": \"Název poskytovatele\",\n    \"settings.security.OIDCRedirectURL\": \"URL přesměrování pro poskytovatele oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Toto nevypadá jako produkční URL. Změňte kořenovou URL v \\\"Obecném\\\" nastavení.\",\n    \"settings.security.OIDCURL\": \"URL poskytovatele\",\n    \"settings.security.OIDCWarning\": \"Pokud je povoleno OIDC, výchozí přihlášení heslem je zakázáno. Neplatná konfigurace může vést k uzamčení.\",\n    \"settings.security.altchaComplexity\": \"Složitost Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Vyšší hodnoty poskytují lepší zabezpečení, ale pomalejší řešení (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Klíč z hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Navštivte www.hcaptcha.com pro získání klíče a tajného kódu.\",\n    \"settings.security.captchaSecret\": \"Tajný kód z hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Povolit CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Povolit CAPTCHA na veřejném formuláři pro přihlášení.\",\n    \"settings.security.enableOIDC\": \"Povolit OIDC SSO\",\n    \"settings.security.name\": \"Zabezpečení\",\n    \"settings.smtp.customHeaders\": \"Vlastní záhlaví\",\n    \"settings.smtp.customHeadersHelp\": \"Volitelné pole e-mailových záhlaví, která se mají zahrnout do všech zpráv odeslaných z tohoto serveru. Např.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Povoleno\",\n    \"settings.smtp.heloHost\": \"Název hostitele HELO\",\n    \"settings.smtp.heloHostHelp\": \"(Volitelné) Některé SMTP servery vyžadují úplný název domény (FQDN) v názvu hostitele. Ve výchozím nastavení se v příkazu HELO používá `localhost`. Nastavte, pokud má být použit vlastní hostname.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Opakování\",\n    \"settings.smtp.retriesHelp\": \"Počet opakovaných pokusů, když zpráva selže.\",\n    \"settings.smtp.sendTest\": \"Odeslat e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Nastavit vlastní záhlaví\",\n    \"settings.smtp.testConnection\": \"Ověřit spojení\",\n    \"settings.smtp.testEnterEmail\": \"Vložte heslo k otestování\",\n    \"settings.smtp.toEmail\": \"Na e-mail\",\n    \"settings.title\": \"Nastavení\",\n    \"settings.updateAvailable\": \"Nová aktualizace {version} je k dispozici.\",\n    \"subscribers.activity\": \"Aktivita\",\n    \"subscribers.advancedQuery\": \"Rozšířené\",\n    \"subscribers.advancedQueryHelp\": \"Dílčí výraz SQL k dotazu na atributy odběratele\",\n    \"subscribers.attribsHelp\": \"Atributy jsou definované jako mapa JSON, např.:\",\n    \"subscribers.blocklistedHelp\": \"Odběratelé na seznamu blokovaných nikdy neobdrží žádné e-maily.\",\n    \"subscribers.confirmBlocklist\": \"Blokovat {num} odběratelů?\",\n    \"subscribers.confirmDelete\": \"Odstranit {num} odběratelů?\",\n    \"subscribers.confirmExport\": \"Exportovat {num} odběratelů?\",\n    \"subscribers.domainBlocklisted\": \"E-mailová doména je blokována.\",\n    \"subscribers.downloadData\": \"Stáhnout data\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail již existuje.\",\n    \"subscribers.errorBlocklisting\": \"Chyba při uvádění odběratelů na seznam blokovaných: {error}\",\n    \"subscribers.errorNoIDs\": \"Nejsou uvedena žádná ID.\",\n    \"subscribers.errorNoListsGiven\": \"Nejsou uvedeny žádné seznamy.\",\n    \"subscribers.errorPreparingQuery\": \"Chyba při přípravě dotazu na odběratele: {error}\",\n    \"subscribers.errorSendingOptin\": \"Chyba při odesílání e-mailu při přihlášení k odběru.\",\n    \"subscribers.export\": \"Exportovat\",\n    \"subscribers.invalidAction\": \"Neplatná akce.\",\n    \"subscribers.invalidEmail\": \"Neplatný e-mail.\",\n    \"subscribers.invalidJSON\": \"Neplatný JSON v atributech.\",\n    \"subscribers.invalidName\": \"Neplatné jméno.\",\n    \"subscribers.listChangeApplied\": \"Změna seznamu použita.\",\n    \"subscribers.lists\": \"Seznamy\",\n    \"subscribers.listsHelp\": \"Seznamy, u nichž si odběratelé sami zrušili odběr, nelze odebrat.\",\n    \"subscribers.listsPlaceholder\": \"Seznamy k odběru\",\n    \"subscribers.manageLists\": \"Spravovat seznamy\",\n    \"subscribers.markUnsubscribed\": \"Označit jako zrušený odběr\",\n    \"subscribers.newSubscriber\": \"Nový odběratel\",\n    \"subscribers.numSelected\": \"{num} vybraných odběratelů\",\n    \"subscribers.optinSubject\": \"Potvrdit odběr\",\n    \"subscribers.preconfirm\": \"Předem potvrdit odběr\",\n    \"subscribers.preconfirmHelp\": \"Neodesílat potvrzovací e-maily a označit všechny odběry jako 'přihlášené'.\",\n    \"subscribers.query\": \"Dotaz\",\n    \"subscribers.queryPlaceholder\": \"E-mail nebo jméno\",\n    \"subscribers.reset\": \"Vynulovat\",\n    \"subscribers.selectAll\": \"Vybrat vše {num}\",\n    \"subscribers.sendOptinConfirm\": \"Odeslat potvrzení přihlášení (opt-in)\",\n    \"subscribers.sentOptinConfirm\": \"Potvrzení přihlášení (opt-in) odesláno\",\n    \"subscribers.status.blocklisted\": \"Uvedeno na seznamu blokovaných\",\n    \"subscribers.status.confirmed\": \"Potvrzeno\",\n    \"subscribers.status.enabled\": \"Povoleno\",\n    \"subscribers.status.subscribed\": \"Přihlášeno k odběru\",\n    \"subscribers.status.unconfirmed\": \"Nepotvrzeno\",\n    \"subscribers.status.unsubscribed\": \"Zrušen odběr\",\n    \"subscribers.subscribersDeleted\": \"{num} odstraněných odběratelů\",\n    \"templates.cantDeleteDefault\": \"Nelze odstranit výchozí šablonu\",\n    \"templates.default\": \"Výchozí\",\n    \"templates.dummyName\": \"Fiktivní kampaň\",\n    \"templates.dummySubject\": \"Předmět fiktivní kampaně\",\n    \"templates.errorCompiling\": \"Chyba při kompilaci šablony: {error}\",\n    \"templates.errorRendering\": \"Chyba při vykreslování zprávy: {error}\",\n    \"templates.fieldInvalidName\": \"Neplatná délka jména.\",\n    \"templates.makeDefault\": \"Nastavit výchozí\",\n    \"templates.newTemplate\": \"Nová šablona\",\n    \"templates.placeholderHelp\": \"Zástupný symbol {placeholder} by se měl v šabloně objevit právě jednou.\",\n    \"templates.preview\": \"Náhled\",\n    \"templates.rawHTML\": \"Kód HTML\",\n    \"templates.subject\": \"Předmět\",\n    \"templates.typeCampaignHTML\": \"Kampaň / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampaň / Vizuální\",\n    \"templates.typeTransactional\": \"Transakční\",\n    \"users.apiOneTimeToken\": \"Zkopírujte přístupový token k API nyní. Nebude znovu zobrazen.\",\n    \"users.cantDeleteRole\": \"Nelze smazat roli, která je používána.\",\n    \"users.firstTime\": \"Toto je čerstvá instalace. Vyberte si uživatelské jméno a heslo pro účet Super Admin.\",\n    \"users.forgotPassword\": \"Zapomněli jste heslo?\",\n    \"users.invalidLogin\": \"Neplatné přihlášení nebo heslo\",\n    \"users.invalidPassword\": \"Neplatné heslo\",\n    \"users.invalidRequest\": \"Neplatný požadavek ověření\",\n    \"users.invalidResetLink\": \"Neplatný nebo vypršelý odkaz pro obnovení\",\n    \"users.lastLogin\": \"Poslední přihlášení\",\n    \"users.listPerms\": \"Oprávnění k seznamům\",\n    \"users.listPermsWarning\": \"Oprávnění lists:get_all nebo lists:manage_all jsou povolená a přepisují oprávnění nastavená pro jednotlivé seznamy.\",\n    \"users.listRole\": \"Role ve seznamu | Role ve seznamu\",\n    \"users.listRoles\": \"Role ve seznamu\",\n    \"users.login\": \"Přihlásit\",\n    \"users.loginOIDC\": \"Přihlásit se pomocí {name}\",\n    \"users.logout\": \"Odhlásit\",\n    \"users.needSuper\": \"Uživatel(y) nelze aktualizovat. Musí být alespoň jeden aktivní uživatel se super administračními právy.\",\n    \"users.newListRole\": \"Nová role seznamu\",\n    \"users.newPassword\": \"Nové heslo\",\n    \"users.newUser\": \"Nový uživatel\",\n    \"users.newUserRole\": \"Nová uživatelská role\",\n    \"users.password\": \"Heslo\",\n    \"users.passwordEnable\": \"Povolit přihlášení pomocí hesla\",\n    \"users.passwordMismatch\": \"Hesla se neshodují\",\n    \"users.passwordRepeat\": \"Opakujte heslo\",\n    \"users.perms\": \"Oprávnění\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Pokud je účet aktivní, obdržíte e-mail pro obnovení hesla.\",\n    \"users.resetPassword\": \"Resetovat heslo\",\n    \"users.role\": \"Role | Role\",\n    \"users.roleGroup\": \"Skupina\",\n    \"users.roles\": \"Role\",\n    \"users.status.disabled\": \"Deaktivované\",\n    \"users.status.enabled\": \"Povolené\",\n    \"users.totpCode\": \"Kód TOTP\",\n    \"users.totpCodeHelp\": \"Zadejte 6místný kód z aplikace vašeho autentifikátoru\",\n    \"users.totpScanQR\": \"Naskenujte QR kód s aplikací autentifikátoru, jako je Ente nebo Google Authenticator, a zadejte níže uvedený kód TOTP.\",\n    \"users.totpSecret\": \"Tajný klíč\",\n    \"users.twoFA\": \"Dvoustupňové ověření\",\n    \"users.twoFAAlreadyEnabled\": \"Dvoustupňové ověření je již povoleno.\",\n    \"users.twoFAEnabled\": \"Dvoustupňové ověření je zapnuto\",\n    \"users.twoFAEnabledDesc\": \"Váš účet je chráněn s {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Povolte 2FA pro další bezpečnost při přihlašování do svého účtu.\",\n    \"users.type\": \"Typ\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Uživatel\",\n    \"users.userRole\": \"Uživatelská role | Uživatelské role\",\n    \"users.userRoles\": \"Uživatelské role\",\n    \"users.username\": \"Uživatelské jméno\",\n    \"users.usernameHelp\": \"Používá se s přihlášením pomocí hesla\"\n}\n"
  },
  {
    "path": "i18n/cy.json",
    "content": "{\n    \"_.code\": \"cy\",\n    \"_.name\": \"Cymraeg (cy)\",\n    \"admin.errorMarshallingConfig\": \"Gwall wrth farsialu ffurfweddiad: {error}\",\n    \"analytics.count\": \"Nifer\",\n    \"analytics.fromDate\": \"Gan\",\n    \"analytics.invalidDates\": \"Dyddiadau 'o' neu 'i' annilys\",\n    \"analytics.isUnique\": \"Mae'r niferoedd yn unigryw i bob tanysgrifiwr.\",\n    \"analytics.links\": \"Dolenni\",\n    \"analytics.nonUnique\": \"Nid yw'r niferoedd yn unigryw gan fod y system olrhain tanysgrifiwr unigol wedi'i diffodd\",\n    \"analytics.title\": \"Dadansoddeg\",\n    \"analytics.toDate\": \"At\",\n    \"bounces.complaint\": \"Cwyn\",\n    \"bounces.hard\": \"Caled\",\n    \"bounces.soft\": \"Meddal\",\n    \"bounces.source\": \"Ffynhonnell\",\n    \"bounces.unknownService\": \"Gwasanaeth anhysbys.\",\n    \"bounces.view\": \"Gweld beth sydd wedi sboncio\",\n    \"campaigns.addAltText\": \"Ychwanegu neges destun blaen\",\n    \"campaigns.addAttachments\": \"Ychwanegu atodiadau\",\n    \"campaigns.archive\": \"Archif\",\n    \"campaigns.archiveEnable\": \"Cyhoeddi i archif gyhoeddus\",\n    \"campaigns.archiveHelp\": \"Cyhoeddi neges yr ymgyrch (wrthi'n rhedeg\",\n    \"campaigns.archiveMeta\": \"Ymgyrch metaddata\",\n    \"campaigns.archiveMetaHelp\": \"Data tanysgrifiwr ffug i'w defnyddio yn y neges gyhoeddus\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Enw byr ar gyfer y dudalen a ddefnyddir yn yr URL cyhoeddus. e.e.: fy-lythyr-newyddiadur-edisiwn-2\",\n    \"campaigns.attachments\": \"Atodiadau\",\n    \"campaigns.attribsHelp\": \"Priodoleddau gwrthrych JSON {} yn ôl dewis ar gyfer yr ymgyrch hon. Defnyddiwch yn y nodyn gyda {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Does dim modd diweddaru ymgyrch fyw neu ymgyrch sydd wedi dod i ben.\",\n    \"campaigns.clicks\": \"Cliciau\",\n    \"campaigns.confirmDelete\": \"Dileu {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Bydd hyn yn disodli'r holl gynnwys. Parhau?\",\n    \"campaigns.confirmSchedule\": \"Bydd yr ymgyrch hon yn dechrau'n awtomatig ar y dyddiad a'r amser sydd wedi'i drefnu. Dechrau nawr?\",\n    \"campaigns.confirmSwitchFormat\": \"Gallai'r cynnwys golli ei fformat. Parhau?\",\n    \"campaigns.content\": \"Cynnwys\",\n    \"campaigns.contentHelp\": \"Cynnwys yma\",\n    \"campaigns.continue\": \"Parhau\",\n    \"campaigns.copyOf\": \"Copi o {name}\",\n    \"campaigns.customHeadersHelp\": \"Ystod eang o benynnau i'w hatodi i negeseuon. ee: [{\\\"\\\"X-Custom\\\"\\\": \\\"\\\"gwerth\\\"\\\"}\",\n    \"campaigns.dateAndTime\": \"Dyddiad ac amser\",\n    \"campaigns.ended\": \"Wedi gorffen\",\n    \"campaigns.errorSendTest\": \"Gwall wrth geisio anfon: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Gwall wrth lunio corff yr ymgyrch: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"'ebost_gan' annilys.\",\n    \"campaigns.fieldInvalidListIDs\": \"ID rhestr annilys\",\n    \"campaigns.fieldInvalidMessenger\": \"Negesydd anhysbys {name}.\",\n    \"campaigns.fieldInvalidName\": \"Hyd annilys ar gyfer enw.\",\n    \"campaigns.fieldInvalidSendAt\": \"Dylai'r dyddiad fod yn y dyfodol.\",\n    \"campaigns.fieldInvalidSubject\": \"Hyd annilys ar gyfer y pwnc.\",\n    \"campaigns.format\": \"Fformat\",\n    \"campaigns.formatHTML\": \"Fformat HTML\",\n    \"campaigns.fromAddress\": \"Cyfeiriad yr anfonwr\",\n    \"campaigns.fromAddressPlaceholder\": \"Eich Enw <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Mewnforio templed gweledol\",\n    \"campaigns.invalid\": \"Ymgyrch annilys\",\n    \"campaigns.invalidCustomHeaders\": \"Penawdau personol annilys: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Angen trefnu dyddiad ar gyfer yr ymgyrch\",\n    \"campaigns.newCampaign\": \"Ymgyrch newydd\",\n    \"campaigns.noKnownSubsToTest\": \"Dim tanysgrifwyr hysbys i'w profi.\",\n    \"campaigns.noOptinLists\": \"Heb ddod o hyd i restrau optio i mewn i greu ymgyrch.\",\n    \"campaigns.noSubs\": \"Nid oes tanysgrifwyr yn y rhestrau a ddewiswyd i greu'r ymgyrch.\",\n    \"campaigns.noSubsToTest\": \"Nid oes tanysgrifwyr i'w targedu.\",\n    \"campaigns.notFound\": \"Heb ddod o hyd i ymgyrch.\",\n    \"campaigns.onlyActiveCancel\": \"Dim ond ymgyrchoedd byw y mae modd eu canslo.\",\n    \"campaigns.onlyActivePause\": \"Dim ond ymgyrchoedd byw y mae modd eu rhewi.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Dim ond ymgyrchoedd drafft y mae modd eu trefnu.\",\n    \"campaigns.onlyPausedDraft\": \"Dim ond ymgyrchoedd drafft a rhai wedi'u rhewi y mae modd eu dechrau.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Dim ond ymgyrchoedd sydd wedi'u trefnu y mae modd eu harbed fel drafft.\",\n    \"campaigns.pause\": \"Rhewi\",\n    \"campaigns.plainText\": \"Testun Plaen\",\n    \"campaigns.preview\": \"Rhagolwg\",\n    \"campaigns.progress\": \"Cynnydd\",\n    \"campaigns.queryPlaceholder\": \"Enw neu bwnc\",\n    \"campaigns.rateMinuteShort\": \"isafswm\",\n    \"campaigns.rawHTML\": \"HTML crai\",\n    \"campaigns.removeAltText\": \"Dileu'r neges destun blaen arall\",\n    \"campaigns.richText\": \"Testun cyfoethog\",\n    \"campaigns.schedule\": \"Trefnu ymgyrch\",\n    \"campaigns.scheduled\": \"Wedi'i threfnu\",\n    \"campaigns.send\": \"Anfon\",\n    \"campaigns.sendLater\": \"Anfon yn nes ymlaen\",\n    \"campaigns.sendTest\": \"Anfon neges brawf\",\n    \"campaigns.sendTestHelp\": \"Pwyswch Enter ar ôl teipio cyfeiriad er mwyn ychwanegu derbynwyr. Rhaid i'r cyfeiriadau fod ar gyfer tanysgrifwyr presennol.\",\n    \"campaigns.sendToLists\": \"Rhestrau i'w hanfon at\",\n    \"campaigns.sent\": \"Wedi anfon\",\n    \"campaigns.start\": \"Dechrau ymgyrch\",\n    \"campaigns.started\": \"“[enw]” wedi dechrau\",\n    \"campaigns.startedAt\": \"Wedi dechrau\",\n    \"campaigns.stats\": \"Ystadegau\",\n    \"campaigns.status.cancelled\": \"Wedi canslo\",\n    \"campaigns.status.draft\": \"Drafft\",\n    \"campaigns.status.finished\": \"Wedi gorffen\",\n    \"campaigns.status.paused\": \"Wedi rhewi\",\n    \"campaigns.status.running\": \"Wrthi'n rhedeg\",\n    \"campaigns.status.scheduled\": \"Wedi'i drefnu\",\n    \"campaigns.statusChanged\": \"Mae “[enw]” {status}\",\n    \"campaigns.subject\": \"Pwnc\",\n    \"campaigns.templatingRef\": \"Cyfeirnod templedu\",\n    \"campaigns.testEmails\": \"E-byst\",\n    \"campaigns.testSent\": \"Wedi anfon neges brawf\",\n    \"campaigns.timestamps\": \"Stamp amser\",\n    \"campaigns.trackLink\": \"Olrhain dolen\",\n    \"campaigns.unSchedule\": \"Diddymu'r amserlen\",\n    \"campaigns.views\": \"Nifer y bobl sydd wedi'i gweld\",\n    \"campaigns.visual\": \"Gweledol\",\n    \"dashboard.campaignViews\": \"Nifer y bobl sydd wedi gweld yr ymgyrch\",\n    \"dashboard.linkClicks\": \"Nifer y bobl sydd wedi clicio'r ddolen\",\n    \"dashboard.messagesSent\": \"Negeseuon wedi'u hanfon\",\n    \"dashboard.orphanSubs\": \"Amddifad\",\n    \"email.data.info\": \"Mae copi o'r data sydd wedi'u cadw amdanoch chi wedi'i atodi fel ffeil JSON. Gallwch edrych ar y ffeil mewn golygydd testun.\",\n    \"email.data.title\": \"Eich data\",\n    \"email.forgotPassword.button\": \"Ailosod y cyfrinair\",\n    \"email.forgotPassword.info\": \"Os na wnaethoch chi ofyn am hyn, gallwch anwybyddu'r e-bost hwn yn ddiogel. Bydd y ddolen hon yn dod i ben ymhen 30 munud.\",\n    \"email.forgotPassword.subject\": \"Ailosodwch eich cyfrinair\",\n    \"email.optin.confirmSub\": \"Cadarnhau tanysgrifiad\",\n    \"email.optin.confirmSubHelp\": \"Cadarnhewch eich tanysgrifiad drwy glicio'r botwm isod\",\n    \"email.optin.confirmSubInfo\": \"Rydych chi wedi cael eich ychwanegu at y rhestrau canlynol:\",\n    \"email.optin.confirmSubTitle\": \"Cadarnhau tanysgrifiad\",\n    \"email.optin.confirmSubWelcome\": \"Helo\",\n    \"email.optin.privateList\": \"Rhestr Breifat\",\n    \"email.status.campaignReason\": \"Rheswm\",\n    \"email.status.campaignSent\": \"Wedi anfon\",\n    \"email.status.campaignUpdateTitle\": \"Yr wybodaeth diweddaraf am yr ymgyrch\",\n    \"email.status.importFile\": \"Ffeil\",\n    \"email.status.importRecords\": \"Cofnodion\",\n    \"email.status.importTitle\": \"Yr wybodaeth ddiweddaraf am fewngludo\",\n    \"email.status.status\": \"Statws\",\n    \"email.unsub\": \"Dad-danysgrifio\",\n    \"email.unsubHelp\": \"Ddim eisiau derbyn yr e-byst hyn?\",\n    \"email.viewInBrowser\": \"Gweld mewn porwr\",\n    \"forms.formHTML\": \"HTML ffurflen\",\n    \"forms.formHTMLHelp\": \"Defnyddiwch yr HTML canlynol i ddangos ffurflen tanysgrifio ar wefan allanol. Dylai'r ffurflen gynnwys maes cyfeiriad e-bost ac un neu fwy o feysydd 'at' (UUID rhestr). Mae'r maes enw yn ddewisol.\",\n    \"forms.noPublicLists\": \"Nid oes rhestrau cyhoeddus ar gyfer llunio ffurflenni.\",\n    \"forms.publicLists\": \"Rhestrau cyhoeddus\",\n    \"forms.publicSubPage\": \"Tudalen tanysgrifio gyhoeddus\",\n    \"forms.selectHelp\": \"Dewiswch restrau i'w hychwanegu at y ffurflen.\",\n    \"forms.title\": \"Ffurflenni\",\n    \"globals.buttons.add\": \"Ychwanegu\",\n    \"globals.buttons.addNew\": \"Ychwanegu newydd\",\n    \"globals.buttons.back\": \"Yn ôl\",\n    \"globals.buttons.cancel\": \"Canslo\",\n    \"globals.buttons.clear\": \"Dileu\",\n    \"globals.buttons.clearAll\": \"Dileu'r cyfan\",\n    \"globals.buttons.clone\": \"Clonio\",\n    \"globals.buttons.close\": \"Cau\",\n    \"globals.buttons.continue\": \"Parhau\",\n    \"globals.buttons.copy\": \"Copïwch\",\n    \"globals.buttons.delete\": \"Dileu\",\n    \"globals.buttons.deleteAll\": \"Dileu'r cyfan\",\n    \"globals.buttons.disable\": \"Analluogi\",\n    \"globals.buttons.edit\": \"Golygu\",\n    \"globals.buttons.enable\": \"Galluogi\",\n    \"globals.buttons.enabled\": \"Wedi galluogi\",\n    \"globals.buttons.insert\": \"Mewnosod\",\n    \"globals.buttons.learnMore\": \"Dysgu mwy\",\n    \"globals.buttons.manage\": \"Rheoli\",\n    \"globals.buttons.more\": \"Mwy\",\n    \"globals.buttons.new\": \"Newydd\",\n    \"globals.buttons.ok\": \"Iawn\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Dileu\",\n    \"globals.buttons.save\": \"Cadw\",\n    \"globals.buttons.saveChanges\": \"Cadw'r newidiadau\",\n    \"globals.buttons.toggleSelect\": \"Toglo dewis\",\n    \"globals.buttons.view\": \"Ymddangos\",\n    \"globals.days.0\": \"Sul\",\n    \"globals.days.1\": \"Sul\",\n    \"globals.days.2\": \"Llun\",\n    \"globals.days.3\": \"Maw\",\n    \"globals.days.4\": \"Mer\",\n    \"globals.days.5\": \"Iau\",\n    \"globals.days.6\": \"Gwen\",\n    \"globals.days.7\": \"Sad\",\n    \"globals.fields.createdAt\": \"Wedi creu\",\n    \"globals.fields.description\": \"Disgrifiad\",\n    \"globals.fields.id\": \"Dynodwr\",\n    \"globals.fields.name\": \"Enw\",\n    \"globals.fields.status\": \"Statws\",\n    \"globals.fields.type\": \"Math\",\n    \"globals.fields.updatedAt\": \"Diweddaru\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Ydych yn siŵr?\",\n    \"globals.messages.confirmDelete\": \"Dileu {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Dileu'r newidiadau?\",\n    \"globals.messages.copied\": \"Copïwyd\",\n    \"globals.messages.created\": \"wedi creu “[enw]”\",\n    \"globals.messages.deleted\": \"wedi dileu “{name}”\",\n    \"globals.messages.deletedCount\": \"wedi dileu {name} ({num})\",\n    \"globals.messages.done\": \"Gorffen\",\n    \"globals.messages.emptyState\": \"Dim yma\",\n    \"globals.messages.errorCreating\": \"Gwall wrth greu {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Gwall wrth ddileu {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Gwall wrth nôl {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Mae un ID neu fwy yn annilys: {error}\",\n    \"globals.messages.errorUUID\": \"Gwall wrth gynhyrchu UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Gwall wrth ddiweddaru {name}: {error}\",\n    \"globals.messages.internalError\": \"Gwall ar y gweinydd mewnol\",\n    \"globals.messages.invalidData\": \"Data annilys\",\n    \"globals.messages.invalidFields\": \"Meysydd annilys: {name}\",\n    \"globals.messages.invalidID\": \"ID annilys\",\n    \"globals.messages.invalidUUID\": \"UUID annilys\",\n    \"globals.messages.invalidValue\": \"Gwerth annilys\",\n    \"globals.messages.missingFields\": \"Maes/meysydd coll: {name}\",\n    \"globals.messages.notFound\": \"Heb ddod o hyd i {enw]\",\n    \"globals.messages.numSelected\": \"{num} wedi'u dewis\",\n    \"globals.messages.passwordChange\": \"Rhoi gwerth i'w newid\",\n    \"globals.messages.passwordChangeFull\": \"Clirio ac ailgyflwyno'r cyfrinair llawn yn '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Gwrthodwr cydrannau: {name}\",\n    \"globals.messages.selectAll\": \"Dewis pob un o {num}\",\n    \"globals.messages.slowQueriesCached\": \"Mae ymholiadau araf yn cael eu cadw. Ni fydd rhai rhifau ar y dudalen hon yn ddiweddar.\",\n    \"globals.messages.updated\": \"Wedi diweddaru “{name}”\",\n    \"globals.months.1\": \"Ion\",\n    \"globals.months.10\": \"Hyd\",\n    \"globals.months.11\": \"Tach\",\n    \"globals.months.12\": \"Rhag\",\n    \"globals.months.2\": \"Chwe\",\n    \"globals.months.3\": \"Maw\",\n    \"globals.months.4\": \"Ebr\",\n    \"globals.months.5\": \"Mai\",\n    \"globals.months.6\": \"Meh\",\n    \"globals.months.7\": \"Gorff\",\n    \"globals.months.8\": \"Awst\",\n    \"globals.months.9\": \"Med\",\n    \"globals.states.off\": \"Ffwrdd\",\n    \"globals.terms.all\": \"Pawb\",\n    \"globals.terms.analytics\": \"Dadansoddeg\",\n    \"globals.terms.attribs\": \"Priodoleddau\",\n    \"globals.terms.bounce\": \"Wedi sboncio'n ôl\",\n    \"globals.terms.bounces\": \"Wedi sboncio'n ôl\",\n    \"globals.terms.campaign\": \"Ymgyrch | Ymgyrchoedd\",\n    \"globals.terms.campaigns\": \"Ymgyrchoedd\",\n    \"globals.terms.dashboard\": \"Dangosfwrdd\",\n    \"globals.terms.day\": \"Diwrnod | Diwrnodau\",\n    \"globals.terms.hour\": \"Awr | Oriau\",\n    \"globals.terms.import\": \"Mewnforio\",\n    \"globals.terms.list\": \"Rhestr | Rhestrau\",\n    \"globals.terms.lists\": \"Rhestrau\",\n    \"globals.terms.media\": \"Cyfryngau\",\n    \"globals.terms.messenger\": \"Negesydd | Negeseuwyr\",\n    \"globals.terms.messengers\": \"Negeseuwyr\",\n    \"globals.terms.minute\": \"Munud | Munudau\",\n    \"globals.terms.month\": \"Mis | Misoedd\",\n    \"globals.terms.new\": \"Newydd\",\n    \"globals.terms.none\": \"Dim\",\n    \"globals.terms.second\": \"Eiliad | Eiliadau\",\n    \"globals.terms.settings\": \"Gosodiadau\",\n    \"globals.terms.subscriber\": \"Tanysgrifiwr | Tanysgrifwyr\",\n    \"globals.terms.subscribers\": \"Tanysgrifwyr\",\n    \"globals.terms.subscriptions\": \"Tanysgrifiad  | Tanysgrifiadau\",\n    \"globals.terms.tag\": \"Tag | Tagiau\",\n    \"globals.terms.tags\": \"Tagiau\",\n    \"globals.terms.template\": \"Templed | Templedi\",\n    \"globals.terms.templates\": \"Templedi\",\n    \"globals.terms.tx\": \"Trafodion\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Defnyddiwr | Defnyddwyr\",\n    \"globals.terms.users\": \"Defnyddwyr\",\n    \"globals.terms.year\": \"Blwyddyn | Blynyddoedd\",\n    \"import.alreadyRunning\": \"Mae rhywbeth wrthi'n cael ei fewngludo. Arhoswch iddo orffen neu ei stopio cyn rhoi cynnig arall arni.\",\n    \"import.blocklist\": \"Rhestr rwystro\",\n    \"import.csvDelim\": \"Amffinydd CSV\",\n    \"import.csvDelimHelp\": \"Yr amffinydd diofyn yw coma.\",\n    \"import.csvExample\": \"CSV crai enghreifftiol\",\n    \"import.csvFile\": \"Ffeil CSV neu ZIP\",\n    \"import.csvFileHelp\": \"Cliciwch neu lusgo'r ffeil CSV neu Zip yma\",\n    \"import.errorCopyingFile\": \"Gwall wrth gopïo ffeil: {error}\",\n    \"import.errorProcessingZIP\": \"Gwall wrth brosesu ffeil ZIP: {error}\",\n    \"import.errorStarting\": \"Gwall wrth ddechrau mewngludo: {error}\",\n    \"import.importDone\": \"Gorffen\",\n    \"import.importStarted\": \"Wedi dechrau mewngludo\",\n    \"import.instructions\": \"Cyfarwyddiadau\",\n    \"import.instructionsHelp\": \"Llwythwch ffeil CSV neu ZIP i fyny sy'n cynnwys un ffeil CSV er mwyn mewngludo tanysgrifwyr mewn swp. Dylai'r ffeil CSV gynnwys y penynnau a'r enwau colofnau canlynol. Dylai priodoleddau (dewisol) fod yn llinyn JSON dilys gyda dyfynnod bob ochr.\",\n    \"import.invalidDelim\": \"Ni ddylai'r amffinydd fod yn fwy nag un nod.\",\n    \"import.invalidFile\": \"Ffeil annilys: {error}\",\n    \"import.invalidMode\": \"Modd annilys\",\n    \"import.invalidParams\": \"Paramedrau annilys: {error}\",\n    \"import.invalidSubStatus\": \"Statws tanysgrifio annilys\",\n    \"import.listSubHelp\": \"Rhestrau y gellid tanysgrifio iddynt.\",\n    \"import.mode\": \"Modd\",\n    \"import.overwriteSubStatus\": \"Gorysyrifennu'r statws tanysgrifiad\",\n    \"import.overwriteSubStatusHelp\": \"Gorysyrifennu statws tanysgrifiadau rhestr bresennol\",\n    \"import.overwriteUserInfo\": \"Gorysyrifennu gwybodaeth y defnyddiwr\",\n    \"import.overwriteUserInfoHelp\": \"Gorysyrifennu enw a phriodoleddau tanysgrifwyr presennol\",\n    \"import.recordsCount\": \"{num} / {total} cofnod\",\n    \"import.stopImport\": \"Rhoi'r gorau i fewngludo\",\n    \"import.subscribe\": \"Tanysgrifio\",\n    \"import.subscribeWarning\": \"Bydd troi'n ôl yn adysgrifio negeseuon e-bost wedi'u hallgofrestru. Cofiwch?\",\n    \"import.title\": \"Mewngludo tanysgrifwyr\",\n    \"import.upload\": \"Llwytho i fyny\",\n    \"lists.archived\": \"Llawenyf\",\n    \"lists.archivedHelp\": \"Mae llawenyfu'n cuddio'r rhestrau o dudalen rhestrau, ymgyrchoedd, a ffurflenni cyhoeddus. Gellir ei datglawenyfu ar unrhyw adeg. Mae'n ddefnyddiol ar gyfer cuddio hen restrau a chwerthin rhywfaint.\",\n    \"lists.confirmDelete\": \"Ydych chi'n siŵr? Nid yw hyn yn dileu tanysgrifwyr.\",\n    \"lists.confirmSub\": \"Cadarnhau tanysgrifiad i {name}\",\n    \"lists.invalidName\": \"Enw annilys\",\n    \"lists.newList\": \"Rhestr newydd\",\n    \"lists.optin\": \"Optio i mewn\",\n    \"lists.optinHelp\": \"Wrth optio i mewn ddwywaith\",\n    \"lists.optinTo\": \"Optio i mewn i {name}\",\n    \"lists.optins.double\": \"Optio i mewn ddwywaith\",\n    \"lists.optins.single\": \"Optio i mewn unwaith\",\n    \"lists.sendCampaign\": \"Anfon ymgyrch\",\n    \"lists.sendOptinCampaign\": \"Anfon ymgyrch optio i mewn\",\n    \"lists.type\": \"Math\",\n    \"lists.typeHelp\": \"Gall unrhyw un yn y byd danysgrifio i restrau cyhoeddus a gall eu henwau ymddangos ar dudalennau cyhoeddus fel y dudalen rheoli tanysgrifiadau.\",\n    \"lists.types.private\": \"Preifat\",\n    \"lists.types.public\": \"Cyhoeddus\",\n    \"logs.title\": \"Logos\",\n    \"maintenance.database.title\": \"Cronfa ddata\",\n    \"maintenance.database.vacuumHelp\": \"Mae PostgreSQL VACUUM ANALYZE yn adennill storio a ddefnyddiwyd gan resi wedi'u dileu ac yn cyflymu perfformiad cronfa ddata yn sylweddol ar gronfeydd data mawr. PWYSIG: Ar gyfer cronfeydd data mawr, dyma weithrediad araf a rhwystredig. Amseru i redeg hwn yn ystod oriau digwyddiadau dim-sicrwydd.\",\n    \"maintenance.help\": \"Efallai y bydd yn cymryd amser i gwblhau rhai gweithredoedd yn dibynnu ar nifer y data.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Tanysgrifiadau optio i mewn sydd heb eu cadarnhau\",\n    \"maintenance.olderThan\": \"Cyn\",\n    \"maintenance.orphanHelp\": \"Plant amddifad = tanysgrifwyr heb restrau\",\n    \"maintenance.title\": \"Cynnal a chadw\",\n    \"maintenance.unconfirmedSubs\": \"Tanysgrifiadau sydd heb eu cadarnhau a wnaed dros {name} diwrnod yn ôl.\",\n    \"media.errorReadingFile\": \"Gwall wrth ddarllen ffeil: {error}\",\n    \"media.errorResizing\": \"Gwall wrth addasu maint y llun: {error}\",\n    \"media.errorSavingThumbnail\": \"Gwall wrth arbed mân-lun: {error}\",\n    \"media.errorUploading\": \"Gwall wrth lwytho ffeil i fyny: {error}\",\n    \"media.invalidFile\": \"Ffeil annilys: {error}\",\n    \"media.title\": \"Cyfryngau\",\n    \"media.unsupportedFileType\": \"Math o ffeil nad yw'n cael ei gefnogi ({type})\",\n    \"media.upload\": \"Llwytho i fyny\",\n    \"media.uploadHelp\": \"Clicio neu lusgo un llun neu fwy yma\",\n    \"menu.allCampaigns\": \"Pob ymgyrch\",\n    \"menu.allLists\": \"Pob rhestr\",\n    \"menu.allSubscribers\": \"Pob tanysgrifiwr\",\n    \"menu.dashboard\": \"Dangosfwrdd\",\n    \"menu.forms\": \"Ffurflenni\",\n    \"menu.import\": \"Mewngludo\",\n    \"menu.logs\": \"Cofnodion\",\n    \"menu.maintenance\": \"Cynnal a chadw\",\n    \"menu.media\": \"Cyfryngau\",\n    \"menu.newCampaign\": \"Creu newydd\",\n    \"menu.settings\": \"Gosodiadau\",\n    \"public.archiveEmpty\": \"Nid oes negeseuon wedi'u harchifo eto.\",\n    \"public.archiveTitle\": \"Archif y rhestr bostio\",\n    \"public.blocklisted\": \"Wedi tanysgrifio'n barhaol.\",\n    \"public.campaignNotFound\": \"Heb ddod o hyd i'r neges e-bost.\",\n    \"public.confirmOptinSubTitle\": \"Cadarnhau tanysgrifiad\",\n    \"public.confirmSub\": \"Cadarnhau tanysgrifiad\",\n    \"public.confirmSubInfo\": \"Rydych chi wedi cael eich ychwanegu at y rhestrau canlynol:\",\n    \"public.confirmSubTitle\": \"Cadarnhau\",\n    \"public.dataRemoved\": \"Mae eich tanysgrifiadau a'r holl ddata amdanoch chi wedi cael eu dileu.\",\n    \"public.dataRemovedTitle\": \"Wedi dileu data\",\n    \"public.dataSent\": \"Mae eich data wedi cael eu hanfon atoch chi dros e-bost fel atodiad.\",\n    \"public.dataSentTitle\": \"Wedi anfon data dros e-bost\",\n    \"public.errorFetchingCampaign\": \"Gwall wrth chwilio am y neges e-bost.\",\n    \"public.errorFetchingEmail\": \"Heb ddod o hyd i'r neges e-bost\",\n    \"public.errorFetchingLists\": \"Gwall wrth chwilio am y rhestrau. Rhowch gynnig arall arni.\",\n    \"public.errorProcessingRequest\": \"Gwall wrth brosesu'r cais. Rhowch gynnig arall arni.\",\n    \"public.errorTitle\": \"Gwall\",\n    \"public.invalidCaptcha\": \"CAPTCHA annilys.\",\n    \"public.invalidFeature\": \"Nid yw'r nodwedd ar gael.\",\n    \"public.invalidLink\": \"Dolen annilys\",\n    \"public.managePrefs\": \"Rheoli dewisiadau\",\n    \"public.managePrefsUnsub\": \"Dad-ddewiswch y rhestrau i ddad-danysgrifio.\",\n    \"public.noListsAvailable\": \"Nid oes rhestrau ar gael i danysgrifio iddynt.\",\n    \"public.noListsSelected\": \"Nid ydych wedi dewis rhestrau dilys i danysgrifio iddynt.\",\n    \"public.noSubInfo\": \"Nid oes tanysgrifiadau i'w cadarnhau.\",\n    \"public.noSubTitle\": \"Dim tanysgrifiadau\",\n    \"public.notFoundTitle\": \"Heb ddod o hyd i unrhyw beth\",\n    \"public.poweredBy\": \"Pwerus gan\",\n    \"public.prefsSaved\": \"Mae eich dewisiadau wedi cael eu cadw.\",\n    \"public.privacyConfirmWipe\": \"Ydych chi'n siŵr eich bod chi am ddileu'r holl ddata am eich tanysgrifiad yn barhaol?\",\n    \"public.privacyExport\": \"Allgludo eich data\",\n    \"public.privacyExportHelp\": \"Bydd copi o'ch data yn cael ei anfon atoch dros e-bost.\",\n    \"public.privacyTitle\": \"Preifatrwydd a data\",\n    \"public.privacyWipe\": \"Dileu eich data\",\n    \"public.privacyWipeHelp\": \"Dileu eich holl danysgrifiadau a'ch data cysylltiedig yn barhaol.\",\n    \"public.sub\": \"Tanysgrifio\",\n    \"public.subConfirmed\": \"Wedi llwyddo i danysgrifio.\",\n    \"public.subConfirmedTitle\": \"Wedi cadarnhau\",\n    \"public.subName\": \"Enw (dewisol)\",\n    \"public.subNotFound\": \"Heb ddod o hyd i'r tanysgrifiad.\",\n    \"public.subOptinPending\": \"Rydyn ni wedi anfon e-bost atoch er mwyn i chi gadarnhau eich tanysgrifiad(au).\",\n    \"public.subPrivateList\": \"Rhestr breifat\",\n    \"public.subTitle\": \"Tanysgrifio\",\n    \"public.unsub\": \"Dad-danysgrifio\",\n    \"public.unsubFull\": \"Dad-danysgrifio o bob e-bost yn y dyfodol.\",\n    \"public.unsubHelp\": \"Ydych chi am dad-danysgrifio o'r rhestr bostio hon?\",\n    \"public.unsubTitle\": \"Dad-danysgrifio\",\n    \"public.unsubbedInfo\": \"Rydych chi wedi llwyddo i dad-danysgrifio.\",\n    \"public.unsubbedTitle\": \"Dad-danysgrifio\",\n    \"public.unsubscribeTitle\": \"Dad-danysgrifio o'r rhestr bostio\",\n    \"settings.appearance.adminHelp\": \"CSS personol ar gyfer yr UI gweinyddol.\",\n    \"settings.appearance.adminName\": \"Gweinyddwr\",\n    \"settings.appearance.customCSS\": \"CSS personol\",\n    \"settings.appearance.customJS\": \"JavaScript personol\",\n    \"settings.appearance.name\": \"Golwg\",\n    \"settings.appearance.publicHelp\": \"CSS a JavaScript personol ar gyfer y tudalennau cyhoeddus.\",\n    \"settings.appearance.publicName\": \"Cyhoeddus\",\n    \"settings.bounces.action\": \"Gweithred\",\n    \"settings.bounces.blocklist\": \"Rhestr rwystro\",\n    \"settings.bounces.count\": \"Nifer y pethau sydd wedi sboncio'n ôl\",\n    \"settings.bounces.countHelp\": \"Nifer y pethau sydd wedi sboncio'n ôl fesul tanysgrifiwr\",\n    \"settings.bounces.enable\": \"Galluogi proses sboncio'n ôl\",\n    \"settings.bounces.enableForwardemail\": \"Galluogi Anfon E-bost ymlaen\",\n    \"settings.bounces.enableMailbox\": \"Galluogi blwch post negeseuon sydd wedi sboncio'n ôl\",\n    \"settings.bounces.enablePostmark\": \"Galluogi Postmark\",\n    \"settings.bounces.enableSES\": \"Galluogi SES\",\n    \"settings.bounces.enableSendgrid\": \"Galluogi SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Galluogi bachau gwe sydd wedi sboncio'n ôl\",\n    \"settings.bounces.enabled\": \"Wedi galluogi\",\n    \"settings.bounces.folder\": \"Ffolder\",\n    \"settings.bounces.folderHelp\": \"Enw'r ffolder IMAP i'w sganio. ee: blwch derbyn.\",\n    \"settings.bounces.forwardemailKey\": \"Allwedd Anfon E-bost ymlaen\",\n    \"settings.bounces.invalidScanInterval\": \"Dylai'r cyfnod sganio ar gyfer negeseuon sydd wedi sboncio'n ôl bara o leiaf 1 munud\",\n    \"settings.bounces.name\": \"Wedi sboncio'n ôl\",\n    \"settings.bounces.none\": \"Dim\",\n    \"settings.bounces.postmarkPassword\": \"Cyfrinair Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Enw defnyddiwr Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Mae Postmark yn caniatáu i chi alluogi dilysu sylfaenol ar gyfer gwebeithion. Sicrhewch eich bod yn rhoi'r un creddfau yma ac yn eich gosodiadau gwebeithion Postmark.\",\n    \"settings.bounces.scanInterval\": \"Cyfnod sganio\",\n    \"settings.bounces.scanIntervalHelp\": \"Y cyfnod ar gyfer sganio'r blwch post ar gyfer negeseuon sydd wedi sboncio'n ôl (e ar gyfer eiliad\",\n    \"settings.bounces.sendgridKey\": \"Allwedd SendGrid\",\n    \"settings.bounces.type\": \"Math\",\n    \"settings.bounces.username\": \"Enw defnyddiwr\",\n    \"settings.confirmRestart\": \"Sicrhewch bod yr ymgyrchoedd byw wedi'u rhewi. Ailddechrau?\",\n    \"settings.duplicateMessengerName\": \"Enw negesydd dyblyg: {name}\",\n    \"settings.errorEncoding\": \"Gwall wrth amgodio gosodiadau: {error}\",\n    \"settings.errorNoSMTP\": \"Dylid galluogi o leiaf un rhwystr SMTP\",\n    \"settings.general.adminNotifEmails\": \"E-byst atgoffa gweinyddol\",\n    \"settings.general.adminNotifEmailsHelp\": \"Rhestr o gyfeiriadau e-byst sydd wedi cael eu gwahanu gan goma ac y dylid eu defnyddio i anfon negeseuon atgoffa gweinyddol fel diweddariadau mewngludo\",\n    \"settings.general.checkUpdates\": \"Gwirio ar gyfer diweddariadau\",\n    \"settings.general.checkUpdatesHelp\": \"Gwirio ar gyfer apiau newydd sy'n cael eu rhyddhau o bryd i'w gilydd.\",\n    \"settings.general.enablePublicArchive\": \"Galluogi archif rhestr bostio gyhoeddus\",\n    \"settings.general.enablePublicArchiveHelp\": \"Cyhoeddi ymgyrchoedd lle mae archifo wedi'i alluogi ar y wefan gyhoeddus.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Dangos cynnwys llawn yn y porthiant RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Dangos cynnwys llawn yr e-bost yn y porthiant RSS. Os anablwyd, dim ond y teitl a'r ddolen yn cael eu dangos.\",\n    \"settings.general.enablePublicSubPage\": \"Galluogi tudalen tanysgrifio gyhoeddus\",\n    \"settings.general.enablePublicSubPageHelp\": \"Dangos tudalen tanysgrifio gyhoeddus gyda'r holl restrau cyhoeddus y gall pobl danysgrifio iddynt.\",\n    \"settings.general.faviconURL\": \"URL Favicon\",\n    \"settings.general.faviconURLHelp\": \"Dangos URL llawn (dewisol) i'r favicon statig ar y gwedd defnyddiwr\",\n    \"settings.general.fromEmail\": \"E-bost 'gan' diofyn\",\n    \"settings.general.fromEmailHelp\": \"E-bost 'gan' diofyn i'w ddangos ar e-byst yr ymgyrch. Mae modd newid hyn ar gyfer pob ymgyrch.\",\n    \"settings.general.language\": \"Iaith\",\n    \"settings.general.logoURL\": \"URL logo\",\n    \"settings.general.logoURLHelp\": \"Dangos URL llawn (dewisol) i'r logo statig ar y gwedd defnyddiwr\",\n    \"settings.general.name\": \"Cyffredinol\",\n    \"settings.general.rootURL\": \"URL gwraidd\",\n    \"settings.general.rootURLHelp\": \"URL cyhoeddus y gosodiad (dim slaes llusg).\",\n    \"settings.general.sendOptinConfirm\": \"Anfon cadarnhad optio i mewn\",\n    \"settings.general.sendOptinConfirmHelp\": \"Anfon e-bost cadarnhau optio i mewn pan fydd tanysgrifwyr yn cofrestru drwy'r ffurflen gyhoeddus neu pan fyddant yn cael eu hychwanegu gan y gweinyddwr.\",\n    \"settings.general.siteName\": \"Enw'r wefan\",\n    \"settings.invalidMessengerName\": \"Enw negesydd annilys.\",\n    \"settings.mailserver.authProtocol\": \"Protocol dilysu\",\n    \"settings.mailserver.host\": \"Lletywr\",\n    \"settings.mailserver.hostHelp\": \"Cyfeiriad lletya'r gweinydd SMTP\",\n    \"settings.mailserver.idleTimeout\": \"Terfyn amser segur\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Amser aros ar gyfer gweithgaredd newydd ar gysylltiad cyn ei gau a'i ddileu o'r gronfa (e ar gyfer eiliad\",\n    \"settings.mailserver.maxConns\": \"Uchafswm nifer y cysylltiadau\",\n    \"settings.mailserver.maxConnsHelp\": \"Uchafswm nifer y cysylltiadau cydamserol â'r gweinydd\",\n    \"settings.mailserver.nameHelp\": \"Enw unigol opsiynol ar gyfer y gweinydd SMTP. Rhaid iddo fod â'r rhagddodiad email-. Mae gosod hyn yn caniatáu i'r gweinydd gael ei ddewis yn benodol ar gyfer ymgyrch. Er enghraifft: email-primary-server. Alffaniwmerig / toriad.\",\n    \"settings.mailserver.password\": \"Cyfrinair\",\n    \"settings.mailserver.passwordHelp\": \"Pwyswch enter i'w newid\",\n    \"settings.mailserver.port\": \"Porth\",\n    \"settings.mailserver.portHelp\": \"Porth gweinydd SMTP\",\n    \"settings.mailserver.skipTLS\": \"Hepgor dilysiad TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Hepgor y broses wirio enw lletywr ar y dystysgrif TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Amgryptiad TLS/SSL. Mae STARTTLS yn cael ei ddefnyddio'n aml.\",\n    \"settings.mailserver.username\": \"Enw defnyddiwr\",\n    \"settings.mailserver.waitTimeout\": \"Terfyn amser aros\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Amser aros ar gyfer gweithgaredd newydd ar gysylltiad cyn ei gau a'i ddileu o'r gronfa (e ar gyfer eiliad\",\n    \"settings.maintenance.cron\": \"Amserlen Cron\",\n    \"settings.media.provider\": \"Darparwr\",\n    \"settings.media.s3.bucket\": \"Bwced\",\n    \"settings.media.s3.bucketPath\": \"Llwybr bwced\",\n    \"settings.media.s3.bucketPathHelp\": \"Llwybr yn y bwced i lwytho ffeiliau i fyny. Yr opsiwn diofyn yw /\",\n    \"settings.media.s3.bucketType\": \"Math o fwced\",\n    \"settings.media.s3.bucketTypePrivate\": \"Preifat\",\n    \"settings.media.s3.bucketTypePublic\": \"Cyhoeddus\",\n    \"settings.media.s3.key\": \"Allwedd mynediad AWS\",\n    \"settings.media.s3.publicURL\": \"URL cyhoeddus personol (dewisol)\",\n    \"settings.media.s3.publicURLHelp\": \"Parth S3 personol i'w ddefnyddio ar gyfer dolenni delweddau yn lle'r URL cefn ôl S3 diofyn.\",\n    \"settings.media.s3.region\": \"Rhanbarth\",\n    \"settings.media.s3.secret\": \"Cyfrinach mynediad AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Dyddiad dod i ben ar gyfer llwytho i fyny\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Dewisol) Nodwch y TTL ar gyfer yr URL a lofnodwyd ymlaen llaw. Dim ond yn berthnasol ar gyfer bwcedi preifat (e\",\n    \"settings.media.s3.url\": \"URL cefn ôl S3\",\n    \"settings.media.s3.urlHelp\": \"Dim ond ei newid os ydych yn defnyddio URL cefn ôl personol sy'n gydnaws â S3 fel Minio.\",\n    \"settings.media.title\": \"Cyfryngau sydd wedi'u llwytho i fyny\",\n    \"settings.media.upload.extensions\": \"Estyniadau ffeiliau sy'n cael eu caniatáu\",\n    \"settings.media.upload.extensionsHelp\": \"Ychwanegwch * i alluogi pob estyniad\",\n    \"settings.media.upload.path\": \"Llwytho llwybr i fyny\",\n    \"settings.media.upload.pathHelp\": \"Llwybr i'r gyfarwyddiaeth lle bydd cyfryngau'n cael eu llwytho i fyny.\",\n    \"settings.media.upload.uri\": \"Llwytho URI i fyny\",\n    \"settings.media.upload.uriHelp\": \"Llwytho URI sy'n weledol i'r byd tu allan. Bydd y cyfryngau sy'n cael eu llwytho i fyny i'r upload_path yn hygyrch i'r cyhoedd dan {root_url}\",\n    \"settings.messengers.maxConns\": \"Uchafswm nifer y cysylltiadau\",\n    \"settings.messengers.maxConnsHelp\": \"Uchafswm nifer y cysylltiadau â'r gweinydd ar yr un pryd\",\n    \"settings.messengers.messageSaved\": \"Wedi arbed y gosodiadau. Wrthi'n llwytho'r ap eto...\",\n    \"settings.messengers.name\": \"Negeseuwyr\",\n    \"settings.messengers.nameHelp\": \"Ee: my-sms. Llythrennau a rhifau / dash.\",\n    \"settings.messengers.password\": \"Cyfrinair\",\n    \"settings.messengers.retries\": \"Ailgynigion\",\n    \"settings.messengers.retriesHelp\": \"Nifer o weithiau y cewch roi cynnig arall arni pan fydd neges yn methu\",\n    \"settings.messengers.skipTLSHelp\": \"Hepgor y broses o wirio enw'r lletywr ar y dystysgrif TLS\",\n    \"settings.messengers.timeout\": \"Terfyn amser segur\",\n    \"settings.messengers.timeoutHelp\": \"Amser aros ar gyfer gweithgarwch newydd ar gysylltiad cyn ei gau a'i ddileu o'r gronfa (e ar gyfer eiliad\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL gwraidd y gweinydd anfon yn ôl.\",\n    \"settings.messengers.username\": \"Enw defnyddiwr\",\n    \"settings.needsRestart\": \"Wedi newid y gosodiadau. Rhewi'r holl ymgyrchoedd byw ac ailgychwyn yr ap\",\n    \"settings.performance.batchSize\": \"Maint y swp\",\n    \"settings.performance.batchSizeHelp\": \"Nifer y tanysgrifwyr y mae modd eu tynnu o'r gronfa ddata ar yr un pryd. Bydd pob iteriad yn tynnu tanysgrifwyr o'r gronfa ddata\",\n    \"settings.performance.cacheSlowQueries\": \"Cadw ymholiadau cronfeydd data araf\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Gallwch onogi hyn ar sail cronfeydd data mawr sydd wedi arafu'n sylweddol. Mae'n casglu nifer y tanysgrifwyr mewn rhestrau, ystadegau'r ddelweddlyfr ac ati.\",\n    \"settings.performance.concurrency\": \"Cydamseru\",\n    \"settings.performance.concurrencyHelp\": \"Uchafswm nifer y gweithwyr (llinynnau) a fydd yn ceisio anfon negeseuon yr un pryd.\",\n    \"settings.performance.maxErrThreshold\": \"Uchafswm nifer y gwallau\",\n    \"settings.performance.maxErrThresholdHelp\": \"Nifer y gwallau (ee: SMTP yn dod i ben wrth anfon e-bost) y dylai ymgyrch fyw eu goddef cyn cael ei rhewi ar gyfer ymchwiliad neu ymyrryd. Ei osod yn 0 er mwyn osgoi ei rhewi.\",\n    \"settings.performance.messageRate\": \"Cyfradd negeseuon\",\n    \"settings.performance.messageRateHelp\": \"Uchafswm nifer y negeseuon i'w hanfon bob eiliad fesul gweithiwr. Os yw'r cydredeg yn 10 a bod cyfradd y negeseuon yn 10, yna mae modd anfon 10x10-100 neges bob eiliad. Dylid addasu hyn\",\n    \"settings.performance.name\": \"Perfformiad\",\n    \"settings.performance.slidingWindow\": \"Cyfyngu ar y ffenestr llithro\",\n    \"settings.performance.slidingWindowDuration\": \"Hyd\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Hyd y ffenestr llithro (m ar gyfer munud\",\n    \"settings.performance.slidingWindowHelp\": \"Cyfyngu ar nifer y negeseuon sy'n cael eu hanfon mewn cyfnod penodol. Ar ôl cyrraedd yr uchafswm\",\n    \"settings.performance.slidingWindowRate\": \"Uchafswm nifer y negeseuon\",\n    \"settings.performance.slidingWindowRateHelp\": \"Uchafswm nifer y negeseuon y mae modd eu hanfon mewn cyfnod penodol.\",\n    \"settings.privacy.allowBlocklist\": \"Caniatáu rhestrau rhwystro\",\n    \"settings.privacy.allowBlocklistHelp\": \"Caniatáu i danysgrifwyr dad-danysgrifio o'r holl restrau postio a rhoi eu hunain ar y rhestr rwystro?\",\n    \"settings.privacy.allowExport\": \"Caniatáu allgludo\",\n    \"settings.privacy.allowExportHelp\": \"Caniatáu i danysgrifwyr allgludo data sydd wedi'u casglu amdanynt?\",\n    \"settings.privacy.allowPrefs\": \"Caniatáu newid dewisiadau\",\n    \"settings.privacy.allowPrefsHelp\": \"Caniatáu i danysgrifwyr newid dewisiadau fel eu henw a pha restrau maent wedi tanysgrifio iddynt.\",\n    \"settings.privacy.allowWipe\": \"Caniatáu sgubo\",\n    \"settings.privacy.allowWipeHelp\": \"Caniatáu i danysgrifwyr ddileu eu hunain\",\n    \"settings.privacy.domainAllowlist\": \"Rhestr ganiatáu domain\",\n    \"settings.privacy.domainAllowlistHelp\": \"Dim ond cyfeiriadau e-bost gyda'r rheini domainau sydd wedi'u caniatáu i danysgrifio. Rhowch un domain fesul llinell, er enghraifft: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Rhestr rhwystro parthau\",\n    \"settings.privacy.domainBlocklistHelp\": \"Nid oes gan gyfeiriadau e-bost yn y parthau hyn yr hawl i danysgrifio. Rhowch un parth i bob llinell\",\n    \"settings.privacy.individualSubTracking\": \"Olrhain tanysgrifwyr unigol\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Olrhain nifer y tanysgrifwyr sy'n gweld ac yn clicio'r ymgyrch. Pan fydd wedi'i analluogi\",\n    \"settings.privacy.listUnsubHeader\": \"Cynnwys y pennawd 'Dad-danysgrifio o'r rhestr'\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Cynnwys penynnau dad-danysgrifio sy'n caniatáu i ddefnyddwyr dad-danysgrifio drwy glicio un botwm.\",\n    \"settings.privacy.name\": \"Preifatrwydd\",\n    \"settings.privacy.recordOptinIP\": \"Cofnodi cyfeiriad IP dewis mewn\",\n    \"settings.privacy.recordOptinIPHelp\": \"Cofnodi cyfeiriad IP ar bwyntio dwbl yn manylion tanysgrifiwr.\",\n    \"settings.restart\": \"Ailgychwyn\",\n    \"settings.security.CORSDomains\": \"Tarddiadau a ganiateir\",\n    \"settings.security.CORSDomainsHelp\": \"Caniatáu cymryd mynediad i bwyntiau terfyn API drwy Javascript porwr o barthau allanol. Nodwch un parth ym mhob llinell (ee: https://example.com). Gadewch yn wag i anablogi CORS neu ychwanegwch * i ganiatáu pob un (ni chymeradwyir).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Creu defnyddwyr yn awtomatig\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Creu defnyddiwr yn awtomatig ar y mewngofnodi cyntaf os nad yw'r cyfrif yn bodoli.\",\n    \"settings.security.OIDCClientID\": \"ID Cleient\",\n    \"settings.security.OIDCClientSecret\": \"Cyfrinach Cleient\",\n    \"settings.security.OIDCDefaultListRole\": \"Rôl rhestr ddiofyn\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Rôl ddiofyn a ychwanegir i ddefnyddwyr a grëwyd yn awtomatig o OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Rôl defnyddiwr ddiofyn\",\n    \"settings.security.OIDCHelp\": \"Galluogi mewngofnodi OAuth2 Connect OpenID Connect drwy ddarparwr OAuth.\",\n    \"settings.security.OIDCName\": \"Enw'r darparwr\",\n    \"settings.security.OIDCRedirectURL\": \"URL ailgyfeirio ar gyfer darparwr oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Nid yw hwn yn ymddangos fel URL cynhyrchu. Newidiwch y URL Gwraidd yn y gosodiadau 'Cyffredinol'.\",\n    \"settings.security.OIDCURL\": \"URL Darparwr\",\n    \"settings.security.OIDCWarning\": \"Pan gaiff OIDC ei alluogi, mewngofnodi â chyfrinair diofyn yn cael ei analluogi. Gellir eich cloi yn gyfan gwbl os yw'r cyfluniad yn annilys.\",\n    \"settings.security.altchaComplexity\": \"Cymhlethdod Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Mae gwerthoedd uwch yn cynnig gwell diogelwch ond datrys yn arafach (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Allwedd Safle hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Ewch i www.hcaptcha.com i gael yr allwedd a'r hymwerydd.\",\n    \"settings.security.captchaSecret\": \"Cyfrinach Safle hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Galluogi CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Galluogi CAPTCHA ar y ffurflen tanysgrifiad cyhoeddus.\",\n    \"settings.security.enableOIDC\": \"Galluogi SSO OIDC\",\n    \"settings.security.name\": \"Diogelwch\",\n    \"settings.smtp.customHeaders\": \"Penynnau personol\",\n    \"settings.smtp.customHeadersHelp\": \"Ystod eang o bennynau e-bost i'w cynnwys mewn negeseuon a anfonir gan y gweinydd hwn. ee: [{\\\"\\\"X-Custom\\\"\\\": \\\"\\\"gwerth\\\"\\\"}\",\n    \"settings.smtp.enabled\": \"Wedi galluogi\",\n    \"settings.smtp.heloHost\": \"HELO enw lletywr\",\n    \"settings.smtp.heloHostHelp\": \"Dewisol. Mae rhai gweinyddion SMTP yn gofyn am FQDN yn yr Enw Lletywr. Fel rhagosodiad\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Ailgynigion\",\n    \"settings.smtp.retriesHelp\": \"Faint o weithiau y gallwch roi cynnig arall arni pan fydd neges yn methu.\",\n    \"settings.smtp.sendTest\": \"Anfon e-bost\",\n    \"settings.smtp.setCustomHeaders\": \"Gosod pennyn personol\",\n    \"settings.smtp.testConnection\": \"Profi cysylltiad\",\n    \"settings.smtp.testEnterEmail\": \"Rhowch gyfrinair i'w brofi\",\n    \"settings.smtp.toEmail\": \"E-bost derbynnydd\",\n    \"settings.title\": \"Gosodiadau\",\n    \"settings.updateAvailable\": \"Mae diweddariad {version} newydd ar gael.\",\n    \"subscribers.activity\": \"Gweithgaredd\",\n    \"subscribers.advancedQuery\": \"Uwch\",\n    \"subscribers.advancedQueryHelp\": \"Mynegiad SQL rhannol i wneud ymholiad ynghylch priodoleddau tanysgrifiwr\",\n    \"subscribers.attribsHelp\": \"Mae priodoleddau'n cael eu diffinio fel map JSON\",\n    \"subscribers.blocklistedHelp\": \"Ni fydd tanysgrifwyr ar y rhestr rwystro byth yn derbyn unrhyw e-byst.\",\n    \"subscribers.confirmBlocklist\": \"Rhoi {num} tanysgrifiwr ar y rhestr rwystro?\",\n    \"subscribers.confirmDelete\": \"Dileu {num} tanysgrifiwr?\",\n    \"subscribers.confirmExport\": \"Allgludo {num} tanysgrifiwr?\",\n    \"subscribers.domainBlocklisted\": \"Wedi rhoi'r parth e-bost ar y rhestr rhwystro.\",\n    \"subscribers.downloadData\": \"Llwytho data i lawr\",\n    \"subscribers.email\": \"E-bost\",\n    \"subscribers.emailExists\": \"Mae'r e-bost hwn yn bodoli'n barod.\",\n    \"subscribers.errorBlocklisting\": \"Gwall wrth roi tanysgrifwyr ar y rhestr rwystro: {error}\",\n    \"subscribers.errorNoIDs\": \"Heb roi ID.\",\n    \"subscribers.errorNoListsGiven\": \"Heb roi rhestrau.\",\n    \"subscribers.errorPreparingQuery\": \"Gwall wrth baratoi ymholiad tanysgrifiwr: {error}\",\n    \"subscribers.errorSendingOptin\": \"Gwall wrth anfon e-bost optio i mewn.\",\n    \"subscribers.export\": \"Allgludo\",\n    \"subscribers.invalidAction\": \"Gweithred annilys.\",\n    \"subscribers.invalidEmail\": \"E-bost annilys.\",\n    \"subscribers.invalidJSON\": \"JSON annilys yn y priodoleddau.\",\n    \"subscribers.invalidName\": \"Enw annilys.\",\n    \"subscribers.listChangeApplied\": \"Wedi newid y rhestr.\",\n    \"subscribers.lists\": \"Rhestrau\",\n    \"subscribers.listsHelp\": \"Does dim modd dileu rhestrau y mae pobl wedi dad-danysgrifio iddynt.\",\n    \"subscribers.listsPlaceholder\": \"Rhestrau y mae modd tanysgrifio iddynt\",\n    \"subscribers.manageLists\": \"Rheoli rhestrau\",\n    \"subscribers.markUnsubscribed\": \"Marcio ei fod wedi dad-danysgrifio\",\n    \"subscribers.newSubscriber\": \"Tanysgrifiwr newydd\",\n    \"subscribers.numSelected\": \"Wedi dewis {num} tanysgrifiwr\",\n    \"subscribers.optinSubject\": \"Cadarnhau tanysgrifiadau\",\n    \"subscribers.preconfirm\": \"Cadarnhau tanysgrifiadau ymlaen llaw\",\n    \"subscribers.preconfirmHelp\": \"Ni ddylid anfon e-byst optio i mewn a marcio bod holl danysgrifiadau'r rhestr 'wedi tanysgrifio'.\",\n    \"subscribers.query\": \"Ymholiad\",\n    \"subscribers.queryPlaceholder\": \"E-bost neu enw\",\n    \"subscribers.reset\": \"Ailosod\",\n    \"subscribers.selectAll\": \"Dewis y cyfan {num}\",\n    \"subscribers.sendOptinConfirm\": \"Anfon cadarnhad optio i mewn\",\n    \"subscribers.sentOptinConfirm\": \"Wedi anfon cadarnhad optio i mewn\",\n    \"subscribers.status.blocklisted\": \"Wedi'i roi ar y rhestr rhwystro\",\n    \"subscribers.status.confirmed\": \"Wedi cadarnhau\",\n    \"subscribers.status.enabled\": \"Wedi galluogi\",\n    \"subscribers.status.subscribed\": \"Wedi tanysgrifio\",\n    \"subscribers.status.unconfirmed\": \"Heb gadarnhau\",\n    \"subscribers.status.unsubscribed\": \"Wedi dad-danysgrifio\",\n    \"subscribers.subscribersDeleted\": \"Wedi dileu {num} tanysgrifiwr\",\n    \"templates.cantDeleteDefault\": \"Does dim modd dileu templed diofyn neu dempled nad yw'n bodoli\",\n    \"templates.default\": \"Rhagosodiad\",\n    \"templates.dummyName\": \"Ymgyrch ffug\",\n    \"templates.dummySubject\": \"Pwnc ymgyrch ffug\",\n    \"templates.errorCompiling\": \"Gwall wrth lunio templed: {error}\",\n    \"templates.errorRendering\": \"Gwall wrth rendro neges: {error}\",\n    \"templates.fieldInvalidName\": \"Hyd annilys ar gyfer enw.\",\n    \"templates.makeDefault\": \"Rhagosod\",\n    \"templates.newTemplate\": \"Templed newydd\",\n    \"templates.placeholderHelp\": \"Dylai'r ddalfan {placeholder} ond ymddangos unwaith yn y templed.\",\n    \"templates.preview\": \"Rhagolwg\",\n    \"templates.rawHTML\": \"HTML crai\",\n    \"templates.subject\": \"Pwnc\",\n    \"templates.typeCampaignHTML\": \"Ymgyrch / HTML\",\n    \"templates.typeCampaignVisual\": \"Ymgyrch / Gweledol\",\n    \"templates.typeTransactional\": \"Triniaethol\",\n    \"users.apiOneTimeToken\": \"Copiwch y token mynediad API nawr. Ni chaiff ei ddangos eto.\",\n    \"users.cantDeleteRole\": \"Ni all dileu rôl sy'n cael ei defnyddio.\",\n    \"users.firstTime\": \"Dyma osodiad ffres. Dewiswch enw defnyddiwr a chyfrinair ar gyfer cyfrif Yr Uwch Weinydd.\",\n    \"users.forgotPassword\": \"Anghofio'r cyfrinair?\",\n    \"users.invalidLogin\": \"Mewngofnodi neu gyfrinair annilys\",\n    \"users.invalidPassword\": \"Cyfrinair annilys\",\n    \"users.invalidRequest\": \"Cais dilys annilys\",\n    \"users.invalidResetLink\": \"Ddolen ailosod annilys neu ddaeth i ben\",\n    \"users.lastLogin\": \"Mewngofnodi diwethaf\",\n    \"users.listPerms\": \"Caniatadau rhestru\",\n    \"users.listPermsWarning\": \"mae caniatadau lists:get_all neu lists:manage_all wedi'u galluogi sy'n gor-wysgo caniatadau'r rhestr.\",\n    \"users.listRole\": \"Rôl y Rhestr | Rôl y Rhestr\",\n    \"users.listRoles\": \"Rôl y Rhestr\",\n    \"users.login\": \"Mewngofnodi\",\n    \"users.loginOIDC\": \"Mewngofnodwch gyda {name}\",\n    \"users.logout\": \"Allgofnodi\",\n    \"users.needSuper\": \"Ni ellir diweddaru Defnyddiwr(iaid). Rhaid i un Ddefnyddiwr Super Weinydd bod ar waith o leiaf.\",\n    \"users.newListRole\": \"Rôl rhestr newydd\",\n    \"users.newPassword\": \"Cyfrinair newydd\",\n    \"users.newUser\": \"Defnyddiwr newydd\",\n    \"users.newUserRole\": \"Rôl defnyddiwr newydd\",\n    \"users.password\": \"Cyfrinair\",\n    \"users.passwordEnable\": \"Galluogi mewngofnodi drwy gyfrinair\",\n    \"users.passwordMismatch\": \"Does dim cyfatebiaeth gyda'r cyfrineiriau\",\n    \"users.passwordRepeat\": \"Ailadrodd y cyfrinair\",\n    \"users.perms\": \"Caniatadau\",\n    \"users.profile\": \"Proffil\",\n    \"users.resetLinkSent\": \"Os yw'r cyfrif yn weithredol, byddwch yn derbyn e-bost ailosod cyfrinair.\",\n    \"users.resetPassword\": \"Ailosod y cyfrinair\",\n    \"users.role\": \"Rôl | Rolau\",\n    \"users.roleGroup\": \"Grŵp\",\n    \"users.roles\": \"Rolau\",\n    \"users.status.disabled\": \"Analluog\",\n    \"users.status.enabled\": \"Galluog\",\n    \"users.totpCode\": \"Cod TOTP\",\n    \"users.totpCodeHelp\": \"Nodwch y cod 6-digid o'ch ap dilysu\",\n    \"users.totpScanQR\": \"Sganiwch y cod QR gyda'ch ap dilysu megis Ente neu Google Authenticator a nodwch y cod TOTP isod.\",\n    \"users.totpSecret\": \"Allwedd gyfrinach\",\n    \"users.twoFA\": \"Dilysu dau-ffactor\",\n    \"users.twoFAAlreadyEnabled\": \"Ceir dilysu dau-ffactor eisoes yn galluogi.\",\n    \"users.twoFAEnabled\": \"Dilysu dau-ffactor ymlaen\",\n    \"users.twoFAEnabledDesc\": \"Mae eich cyfrif yn cael ei ddiogelu gyda {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Galluogwch 2FA ar gyfer diogelwch ychwanegol wrth fewngofnodi i'ch cyfrif.\",\n    \"users.type\": \"Math\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Uwch Weinydd\",\n    \"users.type.user\": \"Defnyddiwr\",\n    \"users.userRole\": \"Rôl y Defnyddiwr | Rolau'r Defnyddiwr\",\n    \"users.userRoles\": \"Rolau'r Defnyddiwr\",\n    \"users.username\": \"Enw defnyddiwr\",\n    \"users.usernameHelp\": \"Defnyddir gyda mewngofnodi gyda chyfrinair\"\n}\n"
  },
  {
    "path": "i18n/da.json",
    "content": "{\n    \"_.code\": \"da\",\n    \"_.name\": \"Dansk (da)\",\n    \"admin.errorMarshallingConfig\": \"Fejl i konvertering af konfiguration: {error}\",\n    \"analytics.count\": \"Tæl\",\n    \"analytics.fromDate\": \"Fra\",\n    \"analytics.invalidDates\": \"Ugyldig `fra`- eller `til`-dato.\",\n    \"analytics.isUnique\": \"Antal er unikt pr. abonnent.\",\n    \"analytics.links\": \"Links\",\n    \"analytics.nonUnique\": \"Antallet er ikke unikt da sporing af individuelle abonnenter er deaktiveret.\",\n    \"analytics.title\": \"Statistik\",\n    \"analytics.toDate\": \"Til\",\n    \"bounces.complaint\": \"Klage\",\n    \"bounces.hard\": \"Hård\",\n    \"bounces.soft\": \"Blød\",\n    \"bounces.source\": \"Kilde\",\n    \"bounces.unknownService\": \"Ukendt service.\",\n    \"bounces.view\": \"Se afviste mails\",\n    \"campaigns.addAltText\": \"Tilføj supplerende ren tekst til beskeden\",\n    \"campaigns.addAttachments\": \"Tilføj vedhæftninger\",\n    \"campaigns.archive\": \"Arkiv\",\n    \"campaigns.archiveEnable\": \"Udgiv til offentligt arkiv\",\n    \"campaigns.archiveHelp\": \"Udgiv (igangværende, sat på pause, afsluttet) udsendelsen til det offentlige arkiv.\",\n    \"campaigns.archiveMeta\": \"Udsendelses-metadata\",\n    \"campaigns.archiveMetaHelp\": \"Eksempel-abonnentsdata til brug i den offentlige besked herunder navn, e-mail og valgfrie egenskaber, der bruges i beskeden eller skabelonen.\",\n    \"campaigns.archiveSlug\": \"URL-identifikationskode\",\n    \"campaigns.archiveSlugHelp\": \"Et kort navn til siden, der skal bruges i den offentlige URL. fx: mit-nyhedsbrev-nr-2\",\n    \"campaigns.attachments\": \"Vedhæftninger\",\n    \"campaigns.attribsHelp\": \"Brugerdefineret JSON-objekt {} attributter for denne udsendelse. Brug i skabelon med {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Kan ikke opdatere et igangværende eller afsluttet udsendelse.\",\n    \"campaigns.clicks\": \"Klik\",\n    \"campaigns.confirmDelete\": \"Slet {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Dette vil overskrive alt indhold. Fortsæt?\",\n    \"campaigns.confirmSchedule\": \"Denne udsendelse starter automatisk ved den planlagte dato og tid. Planlæg nu?\",\n    \"campaigns.confirmSwitchFormat\": \"Indholdet kan miste formatering. Fortsæt?\",\n    \"campaigns.content\": \"Indhold\",\n    \"campaigns.contentHelp\": \"Indhold here\",\n    \"campaigns.continue\": \"Fortsæt\",\n    \"campaigns.copyOf\": \"Kopi af {name}\",\n    \"campaigns.customHeadersHelp\": \"Række af tilpassede headere der tilføjes nyheder der udsendes. F.eks: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Dato og tid\",\n    \"campaigns.ended\": \"Afslutet\",\n    \"campaigns.errorSendTest\": \"Fejl under udsendelse af test: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Fejl under samling af udsendelsesindholdet: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Ugyldig `fra_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Ugyldige liste-ID'er.\",\n    \"campaigns.fieldInvalidMessenger\": \"Ukendte beskeder {name}.\",\n    \"campaigns.fieldInvalidName\": \"Ugyldig længde for navn.\",\n    \"campaigns.fieldInvalidSendAt\": \"Planlagt dato skal være i fremtiden.\",\n    \"campaigns.fieldInvalidSubject\": \"Ugyldig længde på emne.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formater HTML\",\n    \"campaigns.fromAddress\": \"Fra-adresse\",\n    \"campaigns.fromAddressPlaceholder\": \"Dit navn <intetsvar@dinside.dk>\",\n    \"campaigns.importVisualTemplate\": \"Importer visuel skabelon\",\n    \"campaigns.invalid\": \"Ugyldig udsendelse\",\n    \"campaigns.invalidCustomHeaders\": \"Ugyldige brugerdefinerede headere: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Der skal angives en dato for udsendelsen for at den kan planlægges.\",\n    \"campaigns.newCampaign\": \"Ny udsendelse\",\n    \"campaigns.noKnownSubsToTest\": \"Ingen kendte abonnenter at teste.\",\n    \"campaigns.noOptinLists\": \"Ingen tilmeldings-lister fundet til brug for udsendelsen.\",\n    \"campaigns.noSubs\": \"Der er ingen abonnenter i den valgte liste til brug for udsendelsen.\",\n    \"campaigns.noSubsToTest\": \"Der er ingen abonnenter at sende til.\",\n    \"campaigns.notFound\": \"Udsendelse ikke fundet.\",\n    \"campaigns.onlyActiveCancel\": \"Kun aktive udsendelser kan annulleres.\",\n    \"campaigns.onlyActivePause\": \"Kun aktive udsendelser kan sættes på pause.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Kun udkast til udsendelser eller udsendelser sat på pause kan planlægges.\",\n    \"campaigns.onlyPausedDraft\": \"Kun udsendelser der er sat på pause, og kladder kan startes.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Kun planlagte udsendelser kan gemmes som kladder.\",\n    \"campaigns.pause\": \"Pause\",\n    \"campaigns.plainText\": \"Almindelig tekst\",\n    \"campaigns.preview\": \"Forhåndsvisning\",\n    \"campaigns.progress\": \"Fremdrift\",\n    \"campaigns.queryPlaceholder\": \"Navn eller emne\",\n    \"campaigns.rateMinuteShort\": \"minimum\",\n    \"campaigns.rawHTML\": \"Ren HTML\",\n    \"campaigns.removeAltText\": \"Fjern supplerende ren tekst fra beskeden\",\n    \"campaigns.richText\": \"Formateret tekst\",\n    \"campaigns.schedule\": \"Planlæg udsendelse\",\n    \"campaigns.scheduled\": \"Planlagt\",\n    \"campaigns.send\": \"Send\",\n    \"campaigns.sendLater\": \"Send senere\",\n    \"campaigns.sendTest\": \"Send testmeddelelse\",\n    \"campaigns.sendTestHelp\": \"For at tilføje flere modtagere, trykke på Enter efter at have indtastet en adresse. Adresserne skal tilhøre eksisterende abonnenter.\",\n    \"campaigns.sendToLists\": \"Lister, der skal sendes til\",\n    \"campaigns.sent\": \"Sendt\",\n    \"campaigns.start\": \"Start udsendelse\",\n    \"campaigns.started\": \"\\\"{name}\\\" startet\",\n    \"campaigns.startedAt\": \"Startet\",\n    \"campaigns.stats\": \"Statistik\",\n    \"campaigns.status.cancelled\": \"Aflyst\",\n    \"campaigns.status.draft\": \"Udkast\",\n    \"campaigns.status.finished\": \"Færdig\",\n    \"campaigns.status.paused\": \"Sat på pause\",\n    \"campaigns.status.running\": \"Igangværende\",\n    \"campaigns.status.scheduled\": \"Planlagt\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" er {status}\",\n    \"campaigns.subject\": \"Emne\",\n    \"campaigns.templatingRef\": \"Skabelon-reference\",\n    \"campaigns.testEmails\": \"E-mails\",\n    \"campaigns.testSent\": \"Testmeddelelse sendt\",\n    \"campaigns.timestamps\": \"Tidsstempler\",\n    \"campaigns.trackLink\": \"Sporingslink\",\n    \"campaigns.unSchedule\": \"Fortryd planlagt udsendelse\",\n    \"campaigns.views\": \"Set af\",\n    \"campaigns.visual\": \"Visuel\",\n    \"dashboard.campaignViews\": \"Udsendelse set af\",\n    \"dashboard.linkClicks\": \"Klik på link\",\n    \"dashboard.messagesSent\": \"Sendte meddelelser\",\n    \"dashboard.orphanSubs\": \"Forældreløse\",\n    \"email.data.info\": \"En kopi af alle data, der er registreret på dig, vedhæftes som en fil i JSON-format. Det kan ses i en teksteditor.\",\n    \"email.data.title\": \"Dine data\",\n    \"email.forgotPassword.button\": \"Nulstil adgangskode\",\n    \"email.forgotPassword.info\": \"Hvis du ikke har anmodet om dette, kan du roligt ignorere denne e-mail. Dette link udløber om 30 minutter.\",\n    \"email.forgotPassword.subject\": \"Nulstil din adgangskode\",\n    \"email.optin.confirmSub\": \"Bekræft abonnement\",\n    \"email.optin.confirmSubHelp\": \"Bekræft dit abonnement ved at klikke på nedenstående knap.\",\n    \"email.optin.confirmSubInfo\": \"Du er blevet føjet til følgende lister:\",\n    \"email.optin.confirmSubTitle\": \"Bekræft abonnement\",\n    \"email.optin.confirmSubWelcome\": \"Hej\",\n    \"email.optin.privateList\": \"Privat liste\",\n    \"email.status.campaignReason\": \"Årsag\",\n    \"email.status.campaignSent\": \"Sendt\",\n    \"email.status.campaignUpdateTitle\": \"Opdatering af udsendelse\",\n    \"email.status.importFile\": \"Fil\",\n    \"email.status.importRecords\": \"Arkiv\",\n    \"email.status.importTitle\": \"Importer opdatering\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Afmeld\",\n    \"email.unsubHelp\": \"Ønsker du ikke at modtage disse e-mails?\",\n    \"email.viewInBrowser\": \"Vis i browser\",\n    \"forms.formHTML\": \"Formular HTML\",\n    \"forms.formHTMLHelp\": \"Brug følgende HTML til at vise en abonnementsformular på en ekstern webside. Formularen skal have e-mail-feltet og et eller flere 'l' (liste UUID) felter. Navnefeltet er valgfrit.\",\n    \"forms.noPublicLists\": \"Der er ingen offentlige lister til at generere formularer.\",\n    \"forms.publicLists\": \"Offentlige lister\",\n    \"forms.publicSubPage\": \"Offentlig abonnementsside\",\n    \"forms.selectHelp\": \"Vælg lister, der skal føjes til formularen.\",\n    \"forms.title\": \"Formularer\",\n    \"globals.buttons.add\": \"Tilføj\",\n    \"globals.buttons.addNew\": \"Tilføj ny\",\n    \"globals.buttons.back\": \"Tilbage\",\n    \"globals.buttons.cancel\": \"Annuller\",\n    \"globals.buttons.clear\": \"Ryd\",\n    \"globals.buttons.clearAll\": \"Ryd alle\",\n    \"globals.buttons.clone\": \"Klon\",\n    \"globals.buttons.close\": \"Luk\",\n    \"globals.buttons.continue\": \"Fortsæt\",\n    \"globals.buttons.copy\": \"Kopier\",\n    \"globals.buttons.delete\": \"Slet\",\n    \"globals.buttons.deleteAll\": \"Slet alle\",\n    \"globals.buttons.disable\": \"Deaktiver\",\n    \"globals.buttons.edit\": \"Rediger\",\n    \"globals.buttons.enable\": \"Aktiver\",\n    \"globals.buttons.enabled\": \"Aktiveret\",\n    \"globals.buttons.insert\": \"Indsæt\",\n    \"globals.buttons.learnMore\": \"Få mere at vide\",\n    \"globals.buttons.manage\": \"Administrer\",\n    \"globals.buttons.more\": \"Flere\",\n    \"globals.buttons.new\": \"Ny\",\n    \"globals.buttons.ok\": \"Ok\",\n    \"globals.buttons.refresh\": \"Opdater\",\n    \"globals.buttons.remove\": \"Fjern\",\n    \"globals.buttons.save\": \"Gem\",\n    \"globals.buttons.saveChanges\": \"Gem ændringer\",\n    \"globals.buttons.toggleSelect\": \"Omvend markering\",\n    \"globals.buttons.view\": \"Vis\",\n    \"globals.days.0\": \"Søn\",\n    \"globals.days.1\": \"Søn\",\n    \"globals.days.2\": \"Man\",\n    \"globals.days.3\": \"Tirs\",\n    \"globals.days.4\": \"Ons\",\n    \"globals.days.5\": \"Tors\",\n    \"globals.days.6\": \"Fre\",\n    \"globals.days.7\": \"Lør\",\n    \"globals.fields.createdAt\": \"Oprettet\",\n    \"globals.fields.description\": \"Beskrivelse\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Navn\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Type\",\n    \"globals.fields.updatedAt\": \"Opdateret\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Er du sikker?\",\n    \"globals.messages.confirmDelete\": \"Slet {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Kasser ændringer?\",\n    \"globals.messages.copied\": \"Kopieret\",\n    \"globals.messages.created\": \"\\\"{name}\\\" oprettet\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" slettet\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) slettet\",\n    \"globals.messages.done\": \"Gjort\",\n    \"globals.messages.emptyState\": \"Intet her\",\n    \"globals.messages.errorCreating\": \"Fejl ved oprettelse af {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Fejl ved sletning af {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Fejl ved hentning af {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Et eller flere id'er er ugyldige: {error}\",\n    \"globals.messages.errorUUID\": \"Fejl ved generering af UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Fejl ved opdatering af {name}: {error}\",\n    \"globals.messages.internalError\": \"Intern serverfejl\",\n    \"globals.messages.invalidData\": \"Ugyldige data\",\n    \"globals.messages.invalidFields\": \"Ugyldige felter: {name}\",\n    \"globals.messages.invalidID\": \"Ugyldige ID'er\",\n    \"globals.messages.invalidUUID\": \"Ugyldig(e) UUID(s)\",\n    \"globals.messages.invalidValue\": \"Ugyldig værdi\",\n    \"globals.messages.missingFields\": \"Manglende felt(er): {name}\",\n    \"globals.messages.notFound\": \"{name} ikke fundet\",\n    \"globals.messages.numSelected\": \"{num} valgt\",\n    \"globals.messages.passwordChange\": \"Indtast en værdi f ændres\",\n    \"globals.messages.passwordChangeFull\": \"Ryd og indtast den fulde adgangskode igen i '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Adgang nægtet: {name}\",\n    \"globals.messages.selectAll\": \"Vælg alle {num}\",\n    \"globals.messages.slowQueriesCached\": \"Langsomme forespørgsler bliver gemt i cache. Nogle tal på denne side er derfor ikke opdaterede.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" opdateret\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Okt\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dec\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Maj\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Lukket\",\n    \"globals.terms.all\": \"Alle\",\n    \"globals.terms.analytics\": \"Statistik\",\n    \"globals.terms.attribs\": \"Attributter\",\n    \"globals.terms.bounce\": \"Afvist | Afviste\",\n    \"globals.terms.bounces\": \"Afviste\",\n    \"globals.terms.campaign\": \"Udsendelse | Udsendelser\",\n    \"globals.terms.campaigns\": \"Udsendelser\",\n    \"globals.terms.dashboard\": \"Oversigt\",\n    \"globals.terms.day\": \"Dag | Dage\",\n    \"globals.terms.hour\": \"Time | Timer\",\n    \"globals.terms.import\": \"Import\",\n    \"globals.terms.list\": \"Liste | Lister\",\n    \"globals.terms.lists\": \"Lister\",\n    \"globals.terms.media\": \"Medie | Medier\",\n    \"globals.terms.messenger\": \"Beskedtjeneste | Beskedtjenester\",\n    \"globals.terms.messengers\": \"Beskedtjenester\",\n    \"globals.terms.minute\": \"Minut | Minutter\",\n    \"globals.terms.month\": \"Måned | Måneder\",\n    \"globals.terms.new\": \"Ny\",\n    \"globals.terms.none\": \"Ingen\",\n    \"globals.terms.second\": \"Sekund | Sekunder\",\n    \"globals.terms.settings\": \"Indstillinger\",\n    \"globals.terms.subscriber\": \"Abonnent | Abonnenter\",\n    \"globals.terms.subscribers\": \"Abonnenter\",\n    \"globals.terms.subscriptions\": \"Abonnement | Abonnementer\",\n    \"globals.terms.tag\": \"Mærkat | Mærkater\",\n    \"globals.terms.tags\": \"Mærkater\",\n    \"globals.terms.template\": \"Skabelon | Skabeloner\",\n    \"globals.terms.templates\": \"Skabeloner\",\n    \"globals.terms.tx\": \"Handling | Handling\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Bruger | Brugere\",\n    \"globals.terms.users\": \"Brugere\",\n    \"globals.terms.year\": \"År | År\",\n    \"import.alreadyRunning\": \"Der kører allerede en import. Vent på, at den er færdig eller stopper, før du prøver igen.\",\n    \"import.blocklist\": \"Blokeringsliste\",\n    \"import.csvDelim\": \"CSV-afgrænser\",\n    \"import.csvDelimHelp\": \"Standardafgrænseren er komma.\",\n    \"import.csvExample\": \"Rå eksempel-CSV\",\n    \"import.csvFile\": \"CSV- eller ZIP-fil\",\n    \"import.csvFileHelp\": \"Klik eller træk en CSV- eller ZIP-fil hertil\",\n    \"import.errorCopyingFile\": \"Fejl ved kopiering af fil: {error}\",\n    \"import.errorProcessingZIP\": \"Fejl ved behandling af ZIP-fil: {error}\",\n    \"import.errorStarting\": \"Fejl ved start af import: {error}\",\n    \"import.importDone\": \"Udført\",\n    \"import.importStarted\": \"Import startet\",\n    \"import.instructions\": \"Instruktioner\",\n    \"import.instructionsHelp\": \"Upload en CSV-fil eller en ZIP-fil med en enkelt CSV-fil til import af flere abonnenter på en gang. Første række i CSV-filen skal have nøjagtig de følgende kolonnenavne. attributes (valgfrit) skal være en gyldig JSON-streng med dobbelt undslupne anførselstegn.\",\n    \"import.invalidDelim\": \"Afgrænser skal være et enkelt tegn.\",\n    \"import.invalidFile\": \"Ugyldig fil: {error}\",\n    \"import.invalidMode\": \"Ugyldig tilstand\",\n    \"import.invalidParams\": \"Ugyldige parametre: {error}\",\n    \"import.invalidSubStatus\": \"Ugyldig abonnementsstatus\",\n    \"import.listSubHelp\": \"Lister der kan abonneres på.\",\n    \"import.mode\": \"Tilstand\",\n    \"import.overwriteSubStatus\": \"Overskriv abonnementsstatus\",\n    \"import.overwriteSubStatusHelp\": \"Overskriv status for eksisterende listeabonnementer\",\n    \"import.overwriteUserInfo\": \"Overskriv brugerinfo\",\n    \"import.overwriteUserInfoHelp\": \"Overskriv navn og attributter for eksisterende abonnenter\",\n    \"import.recordsCount\": \"{num} / {total} poster\",\n    \"import.stopImport\": \"Stop importen\",\n    \"import.subscribe\": \"Abonner\",\n    \"import.subscribeWarning\": \"Overskrivning vil tilmelde afmeldte e-mails igen. Vil du fortsætte?\",\n    \"import.title\": \"Importer abonnenter\",\n    \"import.upload\": \"Upload\",\n    \"lists.archived\": \"Arkiveret\",\n    \"lists.archivedHelp\": \"Arkivering skjuler listerne fra listesiden, udsendelser og offentlige formularer. Det kan altid genåbnes. Det er nyttigt til at skjule gamle og sjældent brugte lister.\",\n    \"lists.confirmDelete\": \"Er du sikker? Dette sletter ikke abonnenter.\",\n    \"lists.confirmSub\": \"Bekræft abonnement(er) på {name}\",\n    \"lists.invalidName\": \"Ugyldigt navn\",\n    \"lists.newList\": \"Ny liste\",\n    \"lists.optin\": \"Tilmelding\",\n    \"lists.optinHelp\": \"Tilmelding med bekræftigelse sender en e-mail til abonnenten, der beder om bekræftelse. På lister med tilmelding med bekræftigelse sendes kun til bekræftede abonnenter.\",\n    \"lists.optinTo\": \"Tilmeld dig {name}\",\n    \"lists.optins.double\": \"Tilmelding med bekræftigelse\",\n    \"lists.optins.single\": \"Tilmelding\",\n    \"lists.sendCampaign\": \"Start udsendelse\",\n    \"lists.sendOptinCampaign\": \"Start udsendelse til tilmeldte\",\n    \"lists.type\": \"Type\",\n    \"lists.typeHelp\": \"Alle kan abonnere på offentlige lister, og listernes navne kan optræde på offentlige sider såsom abonnementsadministrationssiden.\",\n    \"lists.types.private\": \"Privat\",\n    \"lists.types.public\": \"Offentlig\",\n    \"logs.title\": \"Logfiler\",\n    \"maintenance.database.title\": \"Database\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE genvinder lagerplads brugt af slettede rækker og forbedrer databasens ydeevne betydeligt på store databaser. VIGTIGT: For store databaser er dette en langsom, blokerende operation. Planlæg at køre dette i perioder med lav aktivitet.\",\n    \"maintenance.help\": \"Nogle handlinger kan tage et stykke tid at fuldføre, afhængigt af mængden af data.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Ubekræftede tilmeldingsabonnementer\",\n    \"maintenance.olderThan\": \"Ældre end\",\n    \"maintenance.orphanHelp\": \"Forældreløse = abonnenter uden lister\",\n    \"maintenance.title\": \"Vedligeholdelse\",\n    \"maintenance.unconfirmedSubs\": \"Ubekræftede abonnementer, der er ældre end {name} dage.\",\n    \"media.errorReadingFile\": \"Fejl ved læsning af fil: {error}\",\n    \"media.errorResizing\": \"Fejl ved ændring af størrelse på billede: {error}\",\n    \"media.errorSavingThumbnail\": \"Fejl ved lagring af miniaturebillede: {error}\",\n    \"media.errorUploading\": \"Fejl ved upload af fil: {error}\",\n    \"media.invalidFile\": \"Ugyldig fil: {error}\",\n    \"media.title\": \"Medier\",\n    \"media.unsupportedFileType\": \"Ikke-understøttet filtype ({type})\",\n    \"media.upload\": \"Upload\",\n    \"media.uploadHelp\": \"Klik eller træk et eller flere billeder hertil\",\n    \"menu.allCampaigns\": \"Alle udsendelser\",\n    \"menu.allLists\": \"Alle lister\",\n    \"menu.allSubscribers\": \"Alle abonnenter\",\n    \"menu.dashboard\": \"Oversigt\",\n    \"menu.forms\": \"Formularer\",\n    \"menu.import\": \"Importer\",\n    \"menu.logs\": \"Logfiler\",\n    \"menu.maintenance\": \"Vedligeholdelse\",\n    \"menu.media\": \"Medier\",\n    \"menu.newCampaign\": \"Opret ny\",\n    \"menu.settings\": \"Indstillinger\",\n    \"public.archiveEmpty\": \"Ingen arkiverede meddelelser endnu.\",\n    \"public.archiveTitle\": \"Udsendelsesarkiv\",\n    \"public.blocklisted\": \"Permanent afmeldt.\",\n    \"public.campaignNotFound\": \"E-mailenbeskeden blev ikke fundet.\",\n    \"public.confirmOptinSubTitle\": \"Bekræft abonnement\",\n    \"public.confirmSub\": \"Bekræft abonnement\",\n    \"public.confirmSubInfo\": \"Du er blevet føjet til følgende lister:\",\n    \"public.confirmSubTitle\": \"Bekræft\",\n    \"public.dataRemoved\": \"Dine abonnementer og alle tilknyttede data er blevet fjernet.\",\n    \"public.dataRemovedTitle\": \"Data fjernet\",\n    \"public.dataSent\": \"Dine data er blevet sendt til dig via e-mail som en vedhæftet fil.\",\n    \"public.dataSentTitle\": \"Data e-mailet\",\n    \"public.errorFetchingCampaign\": \"Fejl ved hentning af e-mail.\",\n    \"public.errorFetchingEmail\": \"E-mail ikke fundet\",\n    \"public.errorFetchingLists\": \"Der opstod en fejl ved hentning af lister. Prøv venligst igen.\",\n    \"public.errorProcessingRequest\": \"Anmodning om fejlbehandling. Prøv venligst igen.\",\n    \"public.errorTitle\": \"Fejl\",\n    \"public.invalidCaptcha\": \"Ugyldig CAPTCHA.\",\n    \"public.invalidFeature\": \"Denne funktion er ikke tilgængelig.\",\n    \"public.invalidLink\": \"Ugyldigt link\",\n    \"public.managePrefs\": \"Administrer foretruk\",\n    \"public.managePrefsUnsub\": \"Fjern markeringen ved lister for at afmelde dem.\",\n    \"public.noListsAvailable\": \"Der er ikke nogen lister at abonnere på.\",\n    \"public.noListsSelected\": \"Der er ikke valgt nogen lister det er muligt at abonnere på.\",\n    \"public.noSubInfo\": \"Der er ingen abonnementer at bekræfte.\",\n    \"public.noSubTitle\": \"Ingen abonnementer\",\n    \"public.notFoundTitle\": \"Ikke fundet\",\n    \"public.poweredBy\": \"Drevet af\",\n    \"public.prefsSaved\": \"Dine præferencer er blevet gemt.\",\n    \"public.privacyConfirmWipe\": \"Er du sikker på, at du vil slette alle dine abonnementsdata permanent?\",\n    \"public.privacyExport\": \"Eksporter dine data\",\n    \"public.privacyExportHelp\": \"En kopi af dine data vil blive sendt til dig via e-mail.\",\n    \"public.privacyTitle\": \"Beskyttelse af personlige oplysninger og data\",\n    \"public.privacyWipe\": \"Slet dine data\",\n    \"public.privacyWipeHelp\": \"Slet alle dine abonnementer og relaterede data permanent.\",\n    \"public.sub\": \"Abonner\",\n    \"public.subConfirmed\": \"Abonnementet/-erne er nu aktivt/-e.\",\n    \"public.subConfirmedTitle\": \"Bekræftet\",\n    \"public.subName\": \"Navn (valgfrit)\",\n    \"public.subNotFound\": \"Abonnement ikke fundet.\",\n    \"public.subOptinPending\": \"Der er sendt en e-mail til dig for at bekræfte dit/dine abonnement(er).\",\n    \"public.subPrivateList\": \"Privat liste\",\n    \"public.subTitle\": \"Abonner\",\n    \"public.unsub\": \"Afmeld\",\n    \"public.unsubFull\": \"Afmeld alle fremtidige e-mails.\",\n    \"public.unsubHelp\": \"Ønsker du at afmelde dig denne mailingliste?\",\n    \"public.unsubTitle\": \"Afmeld\",\n    \"public.unsubbedInfo\": \"Du har afmeldt dig.\",\n    \"public.unsubbedTitle\": \"Afmeldt\",\n    \"public.unsubscribeTitle\": \"Afmeld mailingliste\",\n    \"settings.appearance.adminHelp\": \"Brugerdefineret CSS, der vil blive anvendt på administratorbrugergrænsefladen.\",\n    \"settings.appearance.adminName\": \"Admin\",\n    \"settings.appearance.customCSS\": \"Brugerdefineret CSS\",\n    \"settings.appearance.customJS\": \"Brugerdefineret JavaScript\",\n    \"settings.appearance.name\": \"Udseende\",\n    \"settings.appearance.publicHelp\": \"Brugerdefineret CSS og JavaScript, der skal gælde for de offentlige sider.\",\n    \"settings.appearance.publicName\": \"Offentlig\",\n    \"settings.bounces.action\": \"Handling\",\n    \"settings.bounces.blocklist\": \"Blokeringsliste\",\n    \"settings.bounces.count\": \"Antal afvisninger\",\n    \"settings.bounces.countHelp\": \"Antal afvisninger pr. abonnent\",\n    \"settings.bounces.enable\": \"Aktiver behandling af afviste emails\",\n    \"settings.bounces.enableForwardemail\": \"Aktiver videresendelse af e-mail\",\n    \"settings.bounces.enableMailbox\": \"Aktiver postkasse til afviste emails\",\n    \"settings.bounces.enablePostmark\": \"Aktiver Postmark\",\n    \"settings.bounces.enableSES\": \"Aktiver SES\",\n    \"settings.bounces.enableSendgrid\": \"Aktiver SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Aktiver webhooks for afviste emails\",\n    \"settings.bounces.enabled\": \"Aktiveret\",\n    \"settings.bounces.folder\": \"Mappe\",\n    \"settings.bounces.folderHelp\": \"Navnet på den IMAP-mappe, der skal scannes. F.eks.: Indbakke.\",\n    \"settings.bounces.forwardemailKey\": \"Nøgle til videresendelse af e-mail\",\n    \"settings.bounces.invalidScanInterval\": \"Skanningsinterval for afviste emails skal være mindst 1 minut.\",\n    \"settings.bounces.name\": \"Afviste emails\",\n    \"settings.bounces.none\": \"Ingen\",\n    \"settings.bounces.postmarkPassword\": \"Postmark-adgangskode\",\n    \"settings.bounces.postmarkUsername\": \"Postmark-brugernavn\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark giver dig mulighed for at aktivere grundlæggende godkendelse af webhooks. Sørg for at indtaste de samme adgangsoplysninger her og i dine Postmark-webhook-indstillinger.\",\n    \"settings.bounces.scanInterval\": \"Scanningsinterval\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval, hvor afvisningspostkassen skal scannes for afvisninger (s for sekund, m for minut).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid-nøgle\",\n    \"settings.bounces.type\": \"Type\",\n    \"settings.bounces.username\": \"Brugernavn\",\n    \"settings.confirmRestart\": \"Sørg for, at igangværende udsendelser er sat på pause. Genstart?\",\n    \"settings.duplicateMessengerName\": \"Beskednavn brugt flere gange: {name}\",\n    \"settings.errorEncoding\": \"Fejl i encoding: {error}\",\n    \"settings.errorNoSMTP\": \"Mindst en SMTP-blok skal være aktiveret\",\n    \"settings.general.adminNotifEmails\": \"E-mails med administratormeddelelser\",\n    \"settings.general.adminNotifEmailsHelp\": \"Kommasepareret liste over e-mailadresser, som administratormeddelelser såsom importopdateringer, udsendelsesfuldførelse, fejl osv. skal sendes til.\",\n    \"settings.general.checkUpdates\": \"Søg efter opdateringer\",\n    \"settings.general.checkUpdatesHelp\": \"Kontroller regelmæssigt, om der er nye appudgivelser, og underret.\",\n    \"settings.general.enablePublicArchive\": \"Aktiver arkiv for offentlige postlister\",\n    \"settings.general.enablePublicArchiveHelp\": \"Offentliggør udsendelser, hvor arkivering er aktiveret på det offentlige websted.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Vis fuldt indhold i RSS-feed\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Vis fuldt e-mailindhold i RSS-feedet. Hvis deaktiveret, vises kun titel- og linkelementerne.\",\n    \"settings.general.enablePublicSubPage\": \"Aktiver offentlig abonnementsside\",\n    \"settings.general.enablePublicSubPageHelp\": \"Vis en offentlig abonnementsside med alle de offentlige lister, som folk kan abonnere på.\",\n    \"settings.general.faviconURL\": \"Favicon-URL\",\n    \"settings.general.faviconURLHelp\": \"(Valgfrit) fuld URL til det statiske favicon, der skal vises på brugervendt visning, såsom afmeldingssiden.\",\n    \"settings.general.fromEmail\": \"Standard 'fra'-e-mail\",\n    \"settings.general.fromEmailHelp\": \"Standard 'fra'-e-mail til at blive vist på udgående udsendelser. Dette kan ændres pr. udsendelse.\",\n    \"settings.general.language\": \"Sprog\",\n    \"settings.general.logoURL\": \"URL-adresse til logo\",\n    \"settings.general.logoURLHelp\": \"(Valgfrit) fuld URL til det statiske logo, der skal vises på brugervendt visning, såsom afmeldingssiden.\",\n    \"settings.general.name\": \"Generelt\",\n    \"settings.general.rootURL\": \"Rod-URL\",\n    \"settings.general.rootURLHelp\": \"Installationens offentlige URL (ingen efterfølgende skråstreg).\",\n    \"settings.general.sendOptinConfirm\": \"Send tilmeldingsbekræftelse\",\n    \"settings.general.sendOptinConfirmHelp\": \"Send en tilmeldingsbekræftelses-e-mail, når abonnenter tilmelder sig via den offentlige formularer, eller når de tilføjes af administratoren.\",\n    \"settings.general.siteName\": \"Webstedets navn\",\n    \"settings.invalidMessengerName\": \"Ugyldigt beskedstjeneste-navn.\",\n    \"settings.mailserver.authProtocol\": \"Auth protokol\",\n    \"settings.mailserver.host\": \"Vært\",\n    \"settings.mailserver.hostHelp\": \"SMTP-serverens værtsadresse.\",\n    \"settings.mailserver.idleTimeout\": \"Timeout for inaktivitet\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tid der skal bruges på at vente på ny aktivitet på en forbindelse, før den lukkes og fjernes fra poolen (s for sekund, m for minut).\",\n    \"settings.mailserver.maxConns\": \"Maksimant antal tilslutninger\",\n    \"settings.mailserver.maxConnsHelp\": \"Maksimalt antal samtidige forbindelser til serveren.\",\n    \"settings.mailserver.nameHelp\": \"Valgfrit unikt navn til SMTP-serveren. Skal have præfikset email-. Denne indstilling gør det muligt at vælge serveren specifikt til en udsendelse, f.eks.: primaer-email-server. Alfanumerisk / bindestreg.\",\n    \"settings.mailserver.password\": \"Adgangskode\",\n    \"settings.mailserver.passwordHelp\": \"Indtast for at ændre\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"SMTP-serverens port.\",\n    \"settings.mailserver.skipTLS\": \"Drop TLS-godkendelse\",\n    \"settings.mailserver.skipTLSHelp\": \"Drop værtsnavnekontrol på TLS-certifikatet.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL-kryptering. STARTTLS er almindeligt anvendt.\",\n    \"settings.mailserver.username\": \"Brugernavn\",\n    \"settings.mailserver.waitTimeout\": \"Ventetidstimeout\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tid der skal bruges på at vente på ny aktivitet på en forbindelse, før den lukkes og fjernes fra poolen (s for sekund, m for minut).\",\n    \"settings.maintenance.cron\": \"Cron-interval\",\n    \"settings.media.provider\": \"Udbyder\",\n    \"settings.media.s3.bucket\": \"Pulje\",\n    \"settings.media.s3.bucketPath\": \"Puljesti\",\n    \"settings.media.s3.bucketPathHelp\": \"Sti inden i puljen til at uploade filer. Standard er /\",\n    \"settings.media.s3.bucketType\": \"Puljetype\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Offentlig\",\n    \"settings.media.s3.key\": \"AWS adgangsnøgle\",\n    \"settings.media.s3.publicURL\": \"Brugerdefineret offentlig URL (valgfrit)\",\n    \"settings.media.s3.publicURLHelp\": \"Brugerdefineret URL (https://cdn.eksempel.dk) som skal bruges til billedlinks, eller en sti der starter med / (fx /uploads) for at bruge listmonk som proxy for filer.\",\n    \"settings.media.s3.region\": \"Region\",\n    \"settings.media.s3.secret\": \"AWS adgangshemmelighed\",\n    \"settings.media.s3.uploadExpiry\": \"Uploadudløb\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Valgfrit) Angiv udløb for den genererede præsignerede URL-adresse. Gælder kun for private puljer (s, m, h, d for sekunder, minutter, timer, dage).\",\n    \"settings.media.s3.url\": \"S3-backend-URL\",\n    \"settings.media.s3.urlHelp\": \"Skift kun, hvis du bruger en brugerdefineret S3-kompatibel backend som Minio.\",\n    \"settings.media.title\": \"Medieuploads\",\n    \"settings.media.upload.extensions\": \"Tilladte filtypenavne\",\n    \"settings.media.upload.extensionsHelp\": \"Tilføj * for at tillade alle filtypenavne\",\n    \"settings.media.upload.path\": \"Uploadsti\",\n    \"settings.media.upload.pathHelp\": \"Sti til den mappe, hvor medier vil blive uploadet.\",\n    \"settings.media.upload.uri\": \"Upload-URI\",\n    \"settings.media.upload.uriHelp\": \"Upload-URI, der er synlig for omverdenen. De medier, der uploades til upload_path, vil være offentligt tilgængelige under {root_url}, f.eks. https://listmonk.dinside.dk/uploads.\",\n    \"settings.messengers.maxConns\": \"Maksimalt antal forbindelser\",\n    \"settings.messengers.maxConnsHelp\": \"Maksimalt antal samtidige forbindelser til serveren.\",\n    \"settings.messengers.messageSaved\": \"Indstillinger gemt. Genindlæsning af app ...\",\n    \"settings.messengers.name\": \"Beskedtjenester\",\n    \"settings.messengers.nameHelp\": \"fx: min-sms. Alfanumerisk / bindestreg.\",\n    \"settings.messengers.password\": \"Adgangskode\",\n    \"settings.messengers.retries\": \"Gentagne forsøg\",\n    \"settings.messengers.retriesHelp\": \"Antal gange, der skal forsøges igen, når en meddelelse mislykkes.\",\n    \"settings.messengers.skipTLSHelp\": \"Spring værtsnavnekontrol over TLS-certifikatet.\",\n    \"settings.messengers.timeout\": \"Timeout for inaktivitet\",\n    \"settings.messengers.timeoutHelp\": \"Tid til at vente på ny aktivitet på en forbindelse, før du lukker den og fjerner den fra poolen (s for sekund, m for minut).\",\n    \"settings.messengers.url\": \"URL-adresse\",\n    \"settings.messengers.urlHelp\": \"Root URL af Postback serveren.\",\n    \"settings.messengers.username\": \"Brugernavn\",\n    \"settings.needsRestart\": \"Indstillinger ændret. Sæt alle igangværende udsendelser på pause, og genstart appen\",\n    \"settings.performance.batchSize\": \"Batch størrelse\",\n    \"settings.performance.batchSizeHelp\": \"Antallet af abonnenter, der skal trækkes fra databasen i en enkelt iteration. Hver iteration trækker abonnenter fra databasen, sender meddelelser til dem og går derefter videre til den næste iteration for at trække den næste batch. Dette bør ideelt set være højere end den maksimalt opnåelige gennemstrømning (samtidighed * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Cache langsomme database forespørgsler\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Aktiver kun dette for store databaser, der er blevet markant langsommere. Cacher liste over abonnenter, dashboardstatistikker osv.\",\n    \"settings.performance.concurrency\": \"Samtidighed\",\n    \"settings.performance.concurrencyHelp\": \"Maksimalt antal samtidige arbejdere (tråde), der forsøger at sende meddelelser samtidigt.\",\n    \"settings.performance.maxErrThreshold\": \"Maksimal fejltærskel\",\n    \"settings.performance.maxErrThresholdHelp\": \"Antallet af fejl (f.eks. SMTP-timeouts under e-mail), som en igangværende udsendelser bør tolerere, før den sættes på pause til manuel undersøgelse eller indgriben. Indstil til 0 for aldrig at holde pause.\",\n    \"settings.performance.messageRate\": \"Besked sats\",\n    \"settings.performance.messageRateHelp\": \"Maksimalt antal meddelelser, der skal sendes ud pr. sekund pr. arbejder i et sekund. Hvis samtidighed = 10 og message_rate = 10, kan op til 10x10 = 100 meddelelser skubbes ud hvert sekund. Dette sammen med samtidighed bør finjusteres for at holde netmeddelelserne ude pr. Sekund under målmeddelelsesservernes hastighedsgrænser, hvis nogen.\",\n    \"settings.performance.name\": \"Præstation\",\n    \"settings.performance.slidingWindow\": \"Aktivér glidende vinduesgrænse\",\n    \"settings.performance.slidingWindowDuration\": \"Varighed\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Varigheden af glidende vinduesperiode (m for minut, h for time).\",\n    \"settings.performance.slidingWindowHelp\": \"Begræns det samlede antal meddelelser, der sendes ud i en given periode. Når denne grænse nås, tilbageholdes meddelelser fra afsendelse, indtil tidsvinduet ryddes.\",\n    \"settings.performance.slidingWindowRate\": \"Maks. antal meddelelser\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maksimalt antal meddelelser, der skal sendes inden for vinduets varighed.\",\n    \"settings.privacy.allowBlocklist\": \"Tillad blokering\",\n    \"settings.privacy.allowBlocklistHelp\": \"Tillad abonnenter at afmelde sig fra alle mailinglister og markere sig selv som blokerede?\",\n    \"settings.privacy.allowExport\": \"Tillad eksport\",\n    \"settings.privacy.allowExportHelp\": \"Tillad abonnenter at eksportere data indsamlet om dem?\",\n    \"settings.privacy.allowPrefs\": \"Tillad præferenceændringer\",\n    \"settings.privacy.allowPrefsHelp\": \"Tillad abonnenter at ændre præferencer såsom deres navne og abonnementer på flere lister.\",\n    \"settings.privacy.allowWipe\": \"Tillad aftørring\",\n    \"settings.privacy.allowWipeHelp\": \"Tillad abonnenter at slette sig selv, herunder deres abonnementer og alle andre data fra databasen. Visninger og klik på link fjernes også, mens visninger og klikantal forbliver (uden abonnent tilknyttet dem), så statistik og analyser ikke påvirkes.\",\n    \"settings.privacy.domainAllowlist\": \"Domæne allowlist\",\n    \"settings.privacy.domainAllowlistHelp\": \"Kun e-mailadresser med disse domæner må abonnere. Indtast ét domæne pr. linje, fx: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Domæne blokeringsliste\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-mail-adresser med disse domæner må ikke abonnere. Indtast et domæne pr. linje, f.eks.: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Sporing af individuelle abonnenter\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Spor visninger og klik på abonnentniveau. Når den er deaktiveret, fortsætter visnings- og kliksporing uden at være knyttet til individuelle abonnenter.\",\n    \"settings.privacy.listUnsubHeader\": \"Inkluder overskriften 'Liste-afmeld'\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Medtag afmeldingsheadere, der gør det muligt for e-mail-klienter at give brugerne mulighed for at afmelde abonnementet med et enkelt klik.\",\n    \"settings.privacy.name\": \"Privatliv\",\n    \"settings.privacy.recordOptinIP\": \"Optag opt-in IP-adresse\",\n    \"settings.privacy.recordOptinIPHelp\": \"Optag IP-adressen for dobbelt opt-ins i abonnentattributter.\",\n    \"settings.restart\": \"Genstart\",\n    \"settings.security.CORSDomains\": \"Tilladte oprindelser\",\n    \"settings.security.CORSDomainsHelp\": \"Tillad adgang til API-endpoints via browser Javascript fra eksterne domæner. Indtast ét domæne pr. linje (fx: https://example.com). Lad feltet være tomt for at deaktivere CORS eller tilføj * for at tillade alle (ikke anbefalet).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Opret automatisk brugere\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Opret automatisk bruger ved første login, hvis kontoen ikke eksisterer.\",\n    \"settings.security.OIDCClientID\": \"Klient-ID\",\n    \"settings.security.OIDCClientSecret\": \"Klient-hemmelighed\",\n    \"settings.security.OIDCDefaultListRole\": \"Standard liste rolle\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Standardrolle tildelt brugere, der automatisk oprettes fra OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Standard brugerrolle\",\n    \"settings.security.OIDCHelp\": \"Aktivér OpenID Connect OAuth2-login via en OAuth-udbyder.\",\n    \"settings.security.OIDCName\": \"Udbyderens navn\",\n    \"settings.security.OIDCRedirectURL\": \"Redirect-URL til OAuth-udbyder\",\n    \"settings.security.OIDCRedirectWarning\": \"Dette ser ikke ud til at være en produktions-URL. Skift 'Root URL' i 'Generelt' indstillinger.\",\n    \"settings.security.OIDCURL\": \"Udbyder-URL\",\n    \"settings.security.OIDCWarning\": \"Når OIDC er aktiveret, deaktiveres standard adgang med adgangskode. Forkert konfiguration kan låse dig ude.\",\n    \"settings.security.altchaComplexity\": \"Altcha kompleksitet\",\n    \"settings.security.altchaComplexityHelp\": \"Højere værdier giver bedre sikkerhed, men langsommere løsning (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com SiteKey\",\n    \"settings.security.captchaKeyHelp\": \"Besøg www.hcaptcha.com for at få nøglen og hemmeligheden.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com hemmelighed\",\n    \"settings.security.enableCaptcha\": \"Aktiver CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Aktivér CAPTCHA på den offentlige abonnementsformular.\",\n    \"settings.security.enableOIDC\": \"Aktivér OIDC SSO\",\n    \"settings.security.name\": \"Sikkerhed\",\n    \"settings.smtp.customHeaders\": \"Brugerdefinerede overskrifter\",\n    \"settings.smtp.customHeadersHelp\": \"Valgfrit udvalg af e-mail-brevhoveder, der skal medtages i alle meddelelser, der sendes fra denne server. f.eks.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Aktiveret\",\n    \"settings.smtp.heloHost\": \"HELO værtsnavn\",\n    \"settings.smtp.heloHostHelp\": \"Valgfri. Nogle SMTP-servere kræver et FQDN i værtsnavnet. Som standard går HELLO'er med 'localhost'. Indstil dette, hvis der skal bruges et brugerdefineret værtsnavn.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Forsøg\",\n    \"settings.smtp.retriesHelp\": \"Antal gange, der skal forsøges igen, når en meddelelse mislykkes.\",\n    \"settings.smtp.sendTest\": \"Send e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Indstil brugerdefinerede overskrifter\",\n    \"settings.smtp.testConnection\": \"Test forbindelse\",\n    \"settings.smtp.testEnterEmail\": \"Indtast adgangskoden igen for at teste\",\n    \"settings.smtp.toEmail\": \"For at e-maile\",\n    \"settings.title\": \"Indstillinger\",\n    \"settings.updateAvailable\": \"En ny opdatering {version} er tilgængelig.\",\n    \"subscribers.activity\": \"Aktivitet\",\n    \"subscribers.advancedQuery\": \"Avanceret\",\n    \"subscribers.advancedQueryHelp\": \"Delvist SQL-udtryk til forespørgsel på abonnentattributter\",\n    \"subscribers.attribsHelp\": \"Attributter defineres som et JSON-kort, f.eks.:\",\n    \"subscribers.blocklistedHelp\": \"Blokerede abonnenter vil aldrig modtage nogen e-mails.\",\n    \"subscribers.confirmBlocklist\": \"Bloker {num} abonnent(er)?\",\n    \"subscribers.confirmDelete\": \"Slet {num} abonnent(er)?\",\n    \"subscribers.confirmExport\": \"Eksporter {num} abonnent(er)?\",\n    \"subscribers.domainBlocklisted\": \"E-mail-domænet er blokeret.\",\n    \"subscribers.downloadData\": \"Download data\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail findes allerede.\",\n    \"subscribers.errorBlocklisting\": \"Fejl ved blokering af abonnenter: {error}\",\n    \"subscribers.errorNoIDs\": \"Ingen ID'er angivet.\",\n    \"subscribers.errorNoListsGiven\": \"Ingen lister angivet.\",\n    \"subscribers.errorPreparingQuery\": \"Fejl under forberedelse af abonnentforespørgsel: {error}\",\n    \"subscribers.errorSendingOptin\": \"Fejl ved afsendelse af tilmeldings-e-mail.\",\n    \"subscribers.export\": \"Eksport\",\n    \"subscribers.invalidAction\": \"Ugyldig handling.\",\n    \"subscribers.invalidEmail\": \"Ugyldig e-mail.\",\n    \"subscribers.invalidJSON\": \"Ugyldig JSON i attributter.\",\n    \"subscribers.invalidName\": \"Ugyldigt navn.\",\n    \"subscribers.listChangeApplied\": \"Listeændring anvendt.\",\n    \"subscribers.lists\": \"Lister\",\n    \"subscribers.listsHelp\": \"Lister, som abonnenterne selv har afmeldt sig fra, kan ikke fjernes.\",\n    \"subscribers.listsPlaceholder\": \"Lister at abonnere på\",\n    \"subscribers.manageLists\": \"Administrer lister\",\n    \"subscribers.markUnsubscribed\": \"Marker som afmeldt\",\n    \"subscribers.newSubscriber\": \"Ny abonnent\",\n    \"subscribers.numSelected\": \"{num} valgte abonnent(er)\",\n    \"subscribers.optinSubject\": \"Bekræft abonnement\",\n    \"subscribers.preconfirm\": \"Bekræft abonnementer på forhånd\",\n    \"subscribers.preconfirmHelp\": \"Send ikke tilmeldings-e-mails, og marker alle listeabonnementer som 'abonnerede'.\",\n    \"subscribers.query\": \"Forespørgsel\",\n    \"subscribers.queryPlaceholder\": \"E-mail eller navn\",\n    \"subscribers.reset\": \"Nulstil\",\n    \"subscribers.selectAll\": \"Vælg alle {num}\",\n    \"subscribers.sendOptinConfirm\": \"Send tilmeldingsbekræftelse\",\n    \"subscribers.sentOptinConfirm\": \"Tilmeldingsbekræftelse sendt\",\n    \"subscribers.status.blocklisted\": \"Blokeret\",\n    \"subscribers.status.confirmed\": \"Konfirmeret\",\n    \"subscribers.status.enabled\": \"Aktiveret\",\n    \"subscribers.status.subscribed\": \"Abonnerede\",\n    \"subscribers.status.unconfirmed\": \"Ubekræftet\",\n    \"subscribers.status.unsubscribed\": \"Afmeldt\",\n    \"subscribers.subscribersDeleted\": \"{num} abonnent(er) udgår\",\n    \"templates.cantDeleteDefault\": \"Kan ikke slette ikke-eksisterende eller standardskabelon\",\n    \"templates.default\": \"Standard\",\n    \"templates.dummyName\": \"Eksempel-udsendelse\",\n    \"templates.dummySubject\": \"Eksempel-udsendelsesemne\",\n    \"templates.errorCompiling\": \"Fejl ved kompilering af skabelon: {error}\",\n    \"templates.errorRendering\": \"Fejlmeddelelse om fejlgengivelse: {error}\",\n    \"templates.fieldInvalidName\": \"Ugyldig længde for navn.\",\n    \"templates.makeDefault\": \"Indstil standard\",\n    \"templates.newTemplate\": \"Ny skabelon\",\n    \"templates.placeholderHelp\": \"Pladsholderen {placeholder} skal vises nøjagtigt én gang i skabelonen.\",\n    \"templates.preview\": \"Forhåndsvisning\",\n    \"templates.rawHTML\": \"Rå HTML\",\n    \"templates.subject\": \"Emne\",\n    \"templates.typeCampaignHTML\": \"Udsendelse / HTML\",\n    \"templates.typeCampaignVisual\": \"Udsendelse / Visuel\",\n    \"templates.typeTransactional\": \"Handling\",\n    \"users.apiOneTimeToken\": \"Kopier API-adgangstokenen nu. Den vil ikke blive vist igen.\",\n    \"users.cantDeleteRole\": \"Kan ikke slette en rolle, der er i brug.\",\n    \"users.firstTime\": \"Dette er en ny installation. Vælg et brugernavn og adgangskode til Superadministrator-kontoen.\",\n    \"users.forgotPassword\": \"Glemt adgangskode?\",\n    \"users.invalidLogin\": \"Ugyldig login eller adgangskode\",\n    \"users.invalidPassword\": \"Ugyldig adgangskode\",\n    \"users.invalidRequest\": \"Ugyldig godkendelsesanmodning\",\n    \"users.invalidResetLink\": \"Ugyldigt eller udløbet nulstillingslink\",\n    \"users.lastLogin\": \"Sidste login\",\n    \"users.listPerms\": \"Listetilladelser\",\n    \"users.listPermsWarning\": \"lists:get_all eller lists:manage_all er aktiveret og overskriver per-listetilladelser\",\n    \"users.listRole\": \"Listerolle | Listeroller\",\n    \"users.listRoles\": \"Listeroller\",\n    \"users.login\": \"Log ind\",\n    \"users.loginOIDC\": \"Log ind med {name}\",\n    \"users.logout\": \"Log ud\",\n    \"users.needSuper\": \"Bruger(e) kunne ikke opdateres. Der skal være mindst én aktiv Super-administrator-bruger.\",\n    \"users.newListRole\": \"Ny listerolle\",\n    \"users.newPassword\": \"Ny adgangskode\",\n    \"users.newUser\": \"Ny bruger\",\n    \"users.newUserRole\": \"Ny brugerrolle\",\n    \"users.password\": \"Adgangskode\",\n    \"users.passwordEnable\": \"Aktiver adgangskodelogin\",\n    \"users.passwordMismatch\": \"Adgangskoderne stemmer ikke overens\",\n    \"users.passwordRepeat\": \"Gentag adgangskode\",\n    \"users.perms\": \"Tilladelser\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Hvis kontoen er aktiv, vil du modtage en e-mail til nulstilling af adgangskode.\",\n    \"users.resetPassword\": \"Nulstil adgangskode\",\n    \"users.role\": \"Rolle | Roller\",\n    \"users.roleGroup\": \"Gruppe\",\n    \"users.roles\": \"Roller\",\n    \"users.status.disabled\": \"Deaktiveret\",\n    \"users.status.enabled\": \"Aktiveret\",\n    \"users.totpCode\": \"TOTP-kode\",\n    \"users.totpCodeHelp\": \"Indtast den 6-cifrede kode fra din autentificeringsapp\",\n    \"users.totpScanQR\": \"Scan QR-koden med din autentificeringsapp såsom Ente eller Google Authenticator og indtast TOTP-koden nedenfor.\",\n    \"users.totpSecret\": \"Hemmelig nøgle\",\n    \"users.twoFA\": \"To-faktor-autentificering\",\n    \"users.twoFAAlreadyEnabled\": \"To-faktor-autentificering er allerede aktiveret.\",\n    \"users.twoFAEnabled\": \"To-faktor-autentificering er aktiveret\",\n    \"users.twoFAEnabledDesc\": \"Din konto er beskyttet med {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Aktiver 2FA for ekstra sikkerhed, når du logger ind på din konto.\",\n    \"users.type\": \"Type\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super-administrator\",\n    \"users.type.user\": \"Bruger\",\n    \"users.userRole\": \"Brugerrolle | Brugerroller\",\n    \"users.userRoles\": \"Brugerroller\",\n    \"users.username\": \"Brugernavn\",\n    \"users.usernameHelp\": \"Bruges sammen med adgangskodelogin\"\n}\n"
  },
  {
    "path": "i18n/de.json",
    "content": "{\n    \"_.code\": \"de\",\n    \"_.name\": \"Deutsch (de)\",\n    \"admin.errorMarshallingConfig\": \"Fehler beim Einlesen der Konfiguration: {error}\",\n    \"analytics.count\": \"Anzahl\",\n    \"analytics.fromDate\": \"Von\",\n    \"analytics.invalidDates\": \"Ungültiges Datum in `von` oder `bis`.\",\n    \"analytics.isUnique\": \"Statistiken können Abonnenten zugeordnet werden.\",\n    \"analytics.links\": \"Verweise\",\n    \"analytics.nonUnique\": \"Statistiken sind anonym, da das Einzelabonnenten Tracking abgeschaltet ist.\",\n    \"analytics.title\": \"Statistiken\",\n    \"analytics.toDate\": \"Bis\",\n    \"bounces.complaint\": \"Beschwerde\",\n    \"bounces.hard\": \"Hart\",\n    \"bounces.soft\": \"Weich\",\n    \"bounces.source\": \"Quelle\",\n    \"bounces.unknownService\": \"Unbekannter Dienst.\",\n    \"bounces.view\": \"Bounces anzeigen\",\n    \"campaigns.addAltText\": \"Füge eine alternative Nachricht in unformatiertem Text hinzu (falls HTML nicht angezeigt werden kann).\",\n    \"campaigns.addAttachments\": \"Anhänge hinzufügen\",\n    \"campaigns.archive\": \"Archiv\",\n    \"campaigns.archiveEnable\": \"Im öffentlichen Archiv veröffentlichen\",\n    \"campaigns.archiveHelp\": \"Veröffentliche die Nachricht (laufende, pausierte, beendete) der Kampagne im öffentlichen Archiv.\",\n    \"campaigns.archiveMeta\": \"Metadaten der Kampagne \",\n    \"campaigns.archiveMetaHelp\": \"Dummy-Abonnentendaten, die in der öffentlichen Nachricht verwendet werden sollen, einschließlich Name, E-Mail und alle optionalen Attribute, die in der Kampagnennachricht oder -vorlage verwendet werden.\",\n    \"campaigns.archiveSlug\": \"URL-Slug\",\n    \"campaigns.archiveSlugHelp\": \"Ein kurzer Name für die Seite, der in der öffentlichen URL verwendet wird. z. B.: meine-newsletter-ausgabe-2\",\n    \"campaigns.attachments\": \"Anhänge\",\n    \"campaigns.attribsHelp\": \"Benutzerdefiniertes JSON-Objekt {} Attribute für diese Kampagne. Verwenden Sie in der Vorlage mit {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Eine laufende oder abgeschlossene Kampagne kann nicht verändert werden.\",\n    \"campaigns.clicks\": \"Klicks\",\n    \"campaigns.confirmDelete\": \"Lösche {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Dies überschreibt alle Inhalte. Fortfahren?\",\n    \"campaigns.confirmSchedule\": \"Diese Kampagne startet zu einem konfigurierten Zeitpunkt. Jetzt starten?\",\n    \"campaigns.confirmSwitchFormat\": \"Wenn du fortfährst, kann es sein, dass deine Formatierung verloren geht.\",\n    \"campaigns.content\": \"Inhalt\",\n    \"campaigns.contentHelp\": \"Inhalt hier\",\n    \"campaigns.continue\": \"Fortsetzen\",\n    \"campaigns.copyOf\": \"Kopie von {name}\",\n    \"campaigns.customHeadersHelp\": \"Liste von benutzerdefinierten Headern, welche in ausgehenden Nachrichten gesetzt werden sollen . Beispiel: [{\\\"X-Header\\\": \\\"wert\\\"}, {\\\"X-Header2\\\": \\\"wert\\\"}]\",\n    \"campaigns.dateAndTime\": \"Datum und Zeit\",\n    \"campaigns.ended\": \"Abgeschlossen\",\n    \"campaigns.errorSendTest\": \"Fehler beim Senden der Testmail: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Fehler beim Erstellen des Kampagneninhalts: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Ungültiges Format `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Ungültige Listen IDs.\",\n    \"campaigns.fieldInvalidMessenger\": \"Unbekannter Messenger {name}.\",\n    \"campaigns.fieldInvalidName\": \"Ungültige Länge für `name`.\",\n    \"campaigns.fieldInvalidSendAt\": \"Das Datum muss in der Zukunft liegen.\",\n    \"campaigns.fieldInvalidSubject\": \"Ungültige Länge für `subject`.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"HTML formatieren\",\n    \"campaigns.fromAddress\": \"Absender\",\n    \"campaigns.fromAddressPlaceholder\": \"Dein Name <noreply@deineseite.de>\",\n    \"campaigns.importVisualTemplate\": \"Visuelle Vorlage importieren\",\n    \"campaigns.invalid\": \"Ungültige Kampagne\",\n    \"campaigns.invalidCustomHeaders\": \"Ungültige benutzerdefinierte Header: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Die Kampagne benötigt ein `send_at` Sendedatum, um automatisch verschickt zu werden.\",\n    \"campaigns.newCampaign\": \"Neue Kampagne\",\n    \"campaigns.noKnownSubsToTest\": \"Es sind keine Abonnenten für den Test vorhanden.\",\n    \"campaigns.noOptinLists\": \"Keine Opt-In Liste gefunden um die Kampagne anzulegen.\",\n    \"campaigns.noSubs\": \"Die Kampagne kann nicht angelegt werden, da in den ausgewählten Listen keine Abonnenten vorhanden sind.\",\n    \"campaigns.noSubsToTest\": \"Das Ziel hat keine Abonnenten.\",\n    \"campaigns.notFound\": \"Die Kampagne konnte nicht gefunden werden.\",\n    \"campaigns.onlyActiveCancel\": \"Nur aktive Kampagnen können abgebrochen werden.\",\n    \"campaigns.onlyActivePause\": \"Nur aktive Kampagnen können pausiert werden.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Nur Kampagnen in Vorbereitung können geplant werden.\",\n    \"campaigns.onlyPausedDraft\": \"Nur Kampagnen in Vorbereitung oder pausierte Kampagnen können gestartet werden.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Nur geplante Kampagnen können als Vorbereitung gespeichert werden.\",\n    \"campaigns.pause\": \"Kampagne pausieren\",\n    \"campaigns.plainText\": \"Unformatierter Text\",\n    \"campaigns.preview\": \"Vorschau\",\n    \"campaigns.progress\": \"Fortschritt\",\n    \"campaigns.queryPlaceholder\": \"Name oder Betreff\",\n    \"campaigns.rateMinuteShort\": \"Min\",\n    \"campaigns.rawHTML\": \"HTML Code\",\n    \"campaigns.removeAltText\": \"Lösche den alternativen unformatierten Text\",\n    \"campaigns.richText\": \"Rich-Text\",\n    \"campaigns.schedule\": \"Kampagne planen\",\n    \"campaigns.scheduled\": \"geplant\",\n    \"campaigns.send\": \"Senden\",\n    \"campaigns.sendLater\": \"Später senden\",\n    \"campaigns.sendTest\": \"Testnachricht versenden\",\n    \"campaigns.sendTestHelp\": \"Drücke `Enter` nach einer E-Mail-Adresse um mehrere Adressaten hinzuzufügen. Die Adressaten müssen Abonnenten sein.\",\n    \"campaigns.sendToLists\": \"Listen an die gesendet wird:\",\n    \"campaigns.sent\": \"Gesendet\",\n    \"campaigns.start\": \"Kampagne starten\",\n    \"campaigns.started\": \"\\\"{name}\\\" gestartet\",\n    \"campaigns.startedAt\": \"Gestartet\",\n    \"campaigns.stats\": \"Statistiken\",\n    \"campaigns.status.cancelled\": \"Abgebrochen\",\n    \"campaigns.status.draft\": \"Entwurf\",\n    \"campaigns.status.finished\": \"Beendet\",\n    \"campaigns.status.paused\": \"Pausiert\",\n    \"campaigns.status.running\": \"Laufend\",\n    \"campaigns.status.scheduled\": \"Geplant\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" ist {status}\",\n    \"campaigns.subject\": \"Betreff\",\n    \"campaigns.templatingRef\": \"Vorlagenreferenz\",\n    \"campaigns.testEmails\": \"E-Mails\",\n    \"campaigns.testSent\": \"Testnachricht gesendet\",\n    \"campaigns.timestamps\": \"Zeitstempel\",\n    \"campaigns.trackLink\": \"Track Link\",\n    \"campaigns.unSchedule\": \"Planung rückgängig machen\",\n    \"campaigns.views\": \"Ansichten\",\n    \"campaigns.visual\": \"Visuell\",\n    \"dashboard.campaignViews\": \"Kampagnenansichten\",\n    \"dashboard.linkClicks\": \"Linkklicks\",\n    \"dashboard.messagesSent\": \"Nachrichten gesendet\",\n    \"dashboard.orphanSubs\": \"Verwaiste\",\n    \"email.data.info\": \"Eine Kopie aller gespeicherten Daten ist in der angehängten JSON-Datei gespeichert. Sie kann in einem Texteditor angezeigt werden.\",\n    \"email.data.title\": \"Deine Daten\",\n    \"email.forgotPassword.button\": \"Passwort zurücksetzen\",\n    \"email.forgotPassword.info\": \"Falls du diese Mail nicht angefordert hast, kannst du sie einfach ignorieren. Der Link läuft nach 30 Minuten ab.\",\n    \"email.forgotPassword.subject\": \"Setze dein Passwort zurück\",\n    \"email.optin.confirmSub\": \"Abonnement bestätigen\",\n    \"email.optin.confirmSubHelp\": \"Bestätige dein Abonnement mit einem Klick auf den nachfolgenden Button.\",\n    \"email.optin.confirmSubInfo\": \"Du hast dich für folgende Listen angemeldet:\",\n    \"email.optin.confirmSubTitle\": \"Abonnement bestätigen\",\n    \"email.optin.confirmSubWelcome\": \"Hallo\",\n    \"email.optin.privateList\": \"Private Liste\",\n    \"email.status.campaignReason\": \"Grund\",\n    \"email.status.campaignSent\": \"Gesendet\",\n    \"email.status.campaignUpdateTitle\": \"Kampagnen Update\",\n    \"email.status.importFile\": \"Datei\",\n    \"email.status.importRecords\": \"Aufzeichnungen\",\n    \"email.status.importTitle\": \"Update importieren\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Abmelden\",\n    \"email.unsubHelp\": \"Du möchtest diese E-Mails nicht mehr?\",\n    \"email.viewInBrowser\": \"Im Browser anzeigen\",\n    \"forms.formHTML\": \"Formular HTML\",\n    \"forms.formHTMLHelp\": \"Benutze den folgenden HTML-Code, um das Formular zum Anmelden auf einer externen Seite anzuzeigen. Das Formular sollte das `email` Feld und eines oder mehrere `l` (Listen UUID) Felder enthalten. `name` ist optional.\",\n    \"forms.noPublicLists\": \"Es existieren keine öffentlichen Listen, für die ein Formular erstellt werden kann.\",\n    \"forms.publicLists\": \"Öffentliche Listen\",\n    \"forms.publicSubPage\": \"Öffentliche Abonnement Seite\",\n    \"forms.selectHelp\": \"Wähle die Listen, die du zum Formular hinzufügen möchtest.\",\n    \"forms.title\": \"Formulare\",\n    \"globals.buttons.add\": \"Hinzufügen\",\n    \"globals.buttons.addNew\": \"Neu hinzufügen\",\n    \"globals.buttons.back\": \"Zurück\",\n    \"globals.buttons.cancel\": \"Abbrechen\",\n    \"globals.buttons.clear\": \"Löschen\",\n    \"globals.buttons.clearAll\": \"Alle Löschen\",\n    \"globals.buttons.clone\": \"Duplizieren\",\n    \"globals.buttons.close\": \"Schließen\",\n    \"globals.buttons.continue\": \"Fortfahren\",\n    \"globals.buttons.copy\": \"Kopieren\",\n    \"globals.buttons.delete\": \"Löschen\",\n    \"globals.buttons.deleteAll\": \"Alle Löschen\",\n    \"globals.buttons.disable\": \"Deaktivieren\",\n    \"globals.buttons.edit\": \"Bearbeiten\",\n    \"globals.buttons.enable\": \"Aktivieren\",\n    \"globals.buttons.enabled\": \"Aktiviert\",\n    \"globals.buttons.insert\": \"Einfügen\",\n    \"globals.buttons.learnMore\": \"Erfahre mehr\",\n    \"globals.buttons.manage\": \"Verwalten\",\n    \"globals.buttons.more\": \"Mehr\",\n    \"globals.buttons.new\": \"Neu\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Entfernen\",\n    \"globals.buttons.save\": \"Speichern\",\n    \"globals.buttons.saveChanges\": \"Änderungen speichern\",\n    \"globals.buttons.toggleSelect\": \"Auswahl umschalten\",\n    \"globals.buttons.view\": \"Anzeigen\",\n    \"globals.days.0\": \"So\",\n    \"globals.days.1\": \"So\",\n    \"globals.days.2\": \"Mo\",\n    \"globals.days.3\": \"Di\",\n    \"globals.days.4\": \"Mi\",\n    \"globals.days.5\": \"Do\",\n    \"globals.days.6\": \"Fr\",\n    \"globals.days.7\": \"Sa\",\n    \"globals.fields.createdAt\": \"Erstellt\",\n    \"globals.fields.description\": \"Beschreibung\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Name\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Typ\",\n    \"globals.fields.updatedAt\": \"Aktualisiert\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Bist du sicher?\",\n    \"globals.messages.confirmDelete\": \"{num} {name} löschen?\",\n    \"globals.messages.confirmDiscard\": \"Änderungen verwerfen?\",\n    \"globals.messages.copied\": \"Kopiert\",\n    \"globals.messages.created\": \"\\\"{name}\\\" erstellt\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" gelöscht\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) gelöscht\",\n    \"globals.messages.done\": \"Abgeschlossen\",\n    \"globals.messages.emptyState\": \"Hier ist nichts\",\n    \"globals.messages.errorCreating\": \"Fehler beim Erstellen von {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Fehler beim Löschen von {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Fehler beim Abrufen von {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Eine oder mehrere IDs sind ungültig: {error}\",\n    \"globals.messages.errorUUID\": \"Fehler beim Erzeugen einer UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Fehler beim Aktualisieren von {name}: {error}\",\n    \"globals.messages.internalError\": \"Interner Serverfehler\",\n    \"globals.messages.invalidData\": \"Ungültige Daten\",\n    \"globals.messages.invalidFields\": \"Ungültige Felder: {name}\",\n    \"globals.messages.invalidID\": \"Ungültige ID\",\n    \"globals.messages.invalidUUID\": \"Ungültige UUID\",\n    \"globals.messages.invalidValue\": \"Ungültiger Wert\",\n    \"globals.messages.missingFields\": \"Fehlende Felder: {name}\",\n    \"globals.messages.notFound\": \"{name} nicht gefunden\",\n    \"globals.messages.numSelected\": \"{num} ausgewählt\",\n    \"globals.messages.passwordChange\": \"Gib dein Passwort für die Änderung ein\",\n    \"globals.messages.passwordChangeFull\": \"Löschen und das vollständige Passwort in '{name}' erneut eingeben.\",\n    \"globals.messages.permissionDenied\": \"Zugriff verweigert: {name}\",\n    \"globals.messages.selectAll\": \"Wähle alle {num} aus\",\n    \"globals.messages.slowQueriesCached\": \"Langsame Abfragen werden zwischengespeichert. Einige Zahlen auf dieser Seite werden möglicherweise nicht aktuell sein.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" aktualisiert\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Okt\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dez\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mär\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Mai\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Aus\",\n    \"globals.terms.all\": \"Alle\",\n    \"globals.terms.analytics\": \"Statistiken\",\n    \"globals.terms.attribs\": \"Attribute\",\n    \"globals.terms.bounce\": \"Bounce | Bounces\",\n    \"globals.terms.bounces\": \"Bounces\",\n    \"globals.terms.campaign\": \"Kampagne | Kampagnen\",\n    \"globals.terms.campaigns\": \"Kampagnen\",\n    \"globals.terms.dashboard\": \"Überblick\",\n    \"globals.terms.day\": \"Tag | Tage\",\n    \"globals.terms.hour\": \"Stunde | Stunden\",\n    \"globals.terms.import\": \"Import\",\n    \"globals.terms.list\": \"Liste | Listen\",\n    \"globals.terms.lists\": \"Listen\",\n    \"globals.terms.media\": \"Medien | Medien\",\n    \"globals.terms.messenger\": \"Messenger | Messenger\",\n    \"globals.terms.messengers\": \"Messenger\",\n    \"globals.terms.minute\": \"Minute | Minuten\",\n    \"globals.terms.month\": \"Monat | Monate\",\n    \"globals.terms.new\": \"Neu\",\n    \"globals.terms.none\": \"Keine\",\n    \"globals.terms.second\": \"Sekunde | Sekunden\",\n    \"globals.terms.settings\": \"Einstellungen\",\n    \"globals.terms.subscriber\": \"Abonnent | Abonnenten\",\n    \"globals.terms.subscribers\": \"Abonnenten\",\n    \"globals.terms.subscriptions\": \"Abonnement | Abonnements\",\n    \"globals.terms.tag\": \"Tag | Tags\",\n    \"globals.terms.tags\": \"Tags\",\n    \"globals.terms.template\": \"Vorlage | Vorlagen\",\n    \"globals.terms.templates\": \"Vorlagen\",\n    \"globals.terms.tx\": \"Transaktion | Transaktionen\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Benutzer | Benutzer\",\n    \"globals.terms.users\": \"Benutzer\",\n    \"globals.terms.year\": \"Jahr | Jahre\",\n    \"import.alreadyRunning\": \"Bitte warte bis der aktuelle Importvorgang beendet wurde.\",\n    \"import.blocklist\": \"Sperrliste\",\n    \"import.csvDelim\": \"CSV-Trennzeichen\",\n    \"import.csvDelimHelp\": \"Das Standard-Trennzeichen ist ein Komma.\",\n    \"import.csvExample\": \"Beispiel CSV (Rohdaten)\",\n    \"import.csvFile\": \"CSV- oder ZIP-Datei\",\n    \"import.csvFileHelp\": \"Klicke oder ziehe eine CSV- oder ZIP-Datei hierher\",\n    \"import.errorCopyingFile\": \"Fehler beim Kopieren der Datei: {error}\",\n    \"import.errorProcessingZIP\": \"Fehler beim Verarbeiten der ZIP Datei: {error}\",\n    \"import.errorStarting\": \"Fehler beim Import: {error}\",\n    \"import.importDone\": \"Abgeschlossen\",\n    \"import.importStarted\": \"Import gestartet\",\n    \"import.instructions\": \"Anleitung\",\n    \"import.instructionsHelp\": \"Lade eine CSV Datei (wahlweise auch als ZIP-Archiv) hoch, um eine Liste von Abonnenten zu importieren. Die CSV Datei muss folgende Spalten mit den exakten Namen haben. Attribute (optional) müssen valides JSON mit escapten, doppelten Anführungszeichen sein.\",\n    \"import.invalidDelim\": \"`delim` muss ein einzelnes Zeichen sein\",\n    \"import.invalidFile\": \"Ungültige Datei: {error}\",\n    \"import.invalidMode\": \"Ungültiger Modus\",\n    \"import.invalidParams\": \"Ungültiger Parameter: {error}\",\n    \"import.invalidSubStatus\": \"Ungültiger Abonnement Status\",\n    \"import.listSubHelp\": \"Listen, die abonniert werden.\",\n    \"import.mode\": \"Modus\",\n    \"import.overwriteSubStatus\": \"Abonnementstatus überschreiben\",\n    \"import.overwriteSubStatusHelp\": \"Status vorhandener Listenabonnements überschreiben\",\n    \"import.overwriteUserInfo\": \"Benutzerinformationen überschreiben\",\n    \"import.overwriteUserInfoHelp\": \"Name und Attribute vorhandener Abonnenten überschreiben\",\n    \"import.recordsCount\": \"{num} / {total} Einträge\",\n    \"import.stopImport\": \"Import stoppen\",\n    \"import.subscribe\": \"Abonnieren\",\n    \"import.subscribeWarning\": \"Das Überschreiben führt zur erneuten Anmeldung von abgemeldeten E-Mails. Fortfahren?\",\n    \"import.title\": \"Abonnenten importieren\",\n    \"import.upload\": \"Hochladen\",\n    \"lists.archived\": \"Archiviert\",\n    \"lists.archivedHelp\": \"Archivieren entfernt die Liste von Listenseiten, Kampagnen und öffentlichen Formularen. Das kann jederzeit rückgängig gemacht werden. Das ist nützlich, um alte oder selten genutzte Listen auszublenden.\",\n    \"lists.confirmDelete\": \"Bist du sicher? Das Löschen einer Liste löscht keine Abonnenten.\",\n    \"lists.confirmSub\": \"Bestätige das/die Abonnement/s von {name}\",\n    \"lists.invalidName\": \"Ungültiger Name\",\n    \"lists.newList\": \"Neue Liste\",\n    \"lists.optin\": \"Opt-In\",\n    \"lists.optinHelp\": \"Double Opt-In sendet eine E-Mail an den Abonnenten mit der Frage nach Bestätigung. Kampagnen werden nur an bestätigte Abonnenten gesendet.\",\n    \"lists.optinTo\": \"Opt-In für {name}\",\n    \"lists.optins.double\": \"Double Opt-In\",\n    \"lists.optins.single\": \"Einfache Anmeldung\",\n    \"lists.sendCampaign\": \"Kampagne abschicken\",\n    \"lists.sendOptinCampaign\": \"Opt-In Kampagne senden\",\n    \"lists.type\": \"Typ\",\n    \"lists.typeHelp\": \"Öffentliche Listen können von allen abonniert werden. Die Namen der Listen könnten auf einer öffentlichen Seite, wie z.B. der Seite für die Abonnentenverwaltung erscheinen.\",\n    \"lists.types.private\": \"Privat\",\n    \"lists.types.public\": \"Öffentlich\",\n    \"logs.title\": \"Protokolle\",\n    \"maintenance.database.title\": \"Datenbank\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE gibt ungenutzten Speicher frei, der durch gelöschte Datensätze belegt ist, und verbessert die Leistung. WICHTIG: Der Vorgang blockiert die Datenbank für andere Zugriffe und kann bei großen Datenbanken lange dauern.\",\n    \"maintenance.help\": \"Je nach Datenmenge kann es eine Weile dauern, bis einige Aktionen abgeschlossen sind.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Unbestätigte Opt-in-Abonnements\",\n    \"maintenance.olderThan\": \"Älter als\",\n    \"maintenance.orphanHelp\": \"Waisen = Abonnenten ohne Listen\",\n    \"maintenance.title\": \"Wartung\",\n    \"maintenance.unconfirmedSubs\": \"Unbestätigte Abonnements älter als {name} Tage.\",\n    \"media.errorReadingFile\": \"Fehler beim Lesen der Datei: {error}\",\n    \"media.errorResizing\": \"Fehler beim Anpassen der Größe des Bildes: {error}\",\n    \"media.errorSavingThumbnail\": \"Fehler beim Speichern des Thumbnails: {error}\",\n    \"media.errorUploading\": \"Fehler beim Hochladen der Datei: {error}\",\n    \"media.invalidFile\": \"Ungültige Datei: {error}\",\n    \"media.title\": \"Medien\",\n    \"media.unsupportedFileType\": \"Nicht unterstützter Dateityp ({type})\",\n    \"media.upload\": \"Hochladen\",\n    \"media.uploadHelp\": \"Klicke oder ziehe ein oder mehrere Bilder hierhin\",\n    \"menu.allCampaigns\": \"Alle Kampagnen\",\n    \"menu.allLists\": \"Alle Listen\",\n    \"menu.allSubscribers\": \"Alle Abonnenten\",\n    \"menu.dashboard\": \"Übersicht\",\n    \"menu.forms\": \"Formulare\",\n    \"menu.import\": \"Importieren\",\n    \"menu.logs\": \"Protokolle\",\n    \"menu.maintenance\": \"Wartung\",\n    \"menu.media\": \"Medien\",\n    \"menu.newCampaign\": \"Neu Anlegen\",\n    \"menu.settings\": \"Einstellungen\",\n    \"public.archiveEmpty\": \"Noch keine archivierten Nachrichten.\",\n    \"public.archiveTitle\": \"Archiv der Mailinglisten\",\n    \"public.blocklisted\": \"Dauerhaft abgemeldet.\",\n    \"public.campaignNotFound\": \"Die E-Mail wurde nicht gefunden.\",\n    \"public.confirmOptinSubTitle\": \"Abonnement bestätigen\",\n    \"public.confirmSub\": \"Abonnement bestätigen\",\n    \"public.confirmSubInfo\": \"Du hast dich für folgende Listen angemeldet:\",\n    \"public.confirmSubTitle\": \"Bestätigen\",\n    \"public.dataRemoved\": \"Deine Anmeldung und alle Daten wurden entfernt.\",\n    \"public.dataRemovedTitle\": \"Daten gelöscht\",\n    \"public.dataSent\": \"Deine Daten wurden dir per E-Mail als Anhang gesendet.\",\n    \"public.dataSentTitle\": \"Daten gesendet\",\n    \"public.errorFetchingCampaign\": \"Fehler beim Abrufen der E-Mail\",\n    \"public.errorFetchingEmail\": \"E-Mail nicht gefunden\",\n    \"public.errorFetchingLists\": \"Fehler beim Abrufen der Listen. Bitte probiere es nochmal.\",\n    \"public.errorProcessingRequest\": \"Fehler bei der Anfrage. Bitte probiere es nochmal.\",\n    \"public.errorTitle\": \"Fehler\",\n    \"public.invalidCaptcha\": \"Ungültiges CAPTCHA.\",\n    \"public.invalidFeature\": \"Dieses Feature ist nicht verfügbar\",\n    \"public.invalidLink\": \"Ungültiger Link\",\n    \"public.managePrefs\": \"Einstellungen verwalten\",\n    \"public.managePrefsUnsub\": \"Deselektiere die Listen, um dich von ihnen abzumelden.\",\n    \"public.noListsAvailable\": \"Keine Listen zum Abonnieren verfügbar.\",\n    \"public.noListsSelected\": \"Keine Liste zum Abonnieren ausgewählt.\",\n    \"public.noSubInfo\": \"Es gibt keine zu bestätigenden Abonnements\",\n    \"public.noSubTitle\": \"Keine Abonnements\",\n    \"public.notFoundTitle\": \"Nicht gefunden\",\n    \"public.poweredBy\": \"Unterstützt von\",\n    \"public.prefsSaved\": \"Einstellungen wurden gespeichert.\",\n    \"public.privacyConfirmWipe\": \"Bist du sicher, dass du alle Abonnements und Daten dauerhaft löschen möchtest?\",\n    \"public.privacyExport\": \"Daten exportieren\",\n    \"public.privacyExportHelp\": \"Eine Kopie der gespeicherten Daten wird an deine E-Mail-Adresse versendet.\",\n    \"public.privacyTitle\": \"Privatsphäre und Datenschutz\",\n    \"public.privacyWipe\": \"Alle Daten löschen.\",\n    \"public.privacyWipeHelp\": \"Alle deine Abonnements, sowie die dazugehörigen Daten werden dauerhaft gelöscht.\",\n    \"public.sub\": \"Abonnieren\",\n    \"public.subConfirmed\": \"Abonnement erfolgreich.\",\n    \"public.subConfirmedTitle\": \"Bestätigt\",\n    \"public.subName\": \"Name (optional)\",\n    \"public.subNotFound\": \"Abonnement nicht gefunden.\",\n    \"public.subOptinPending\": \"Dir wurde eine E-Mail zur Bestätigung geschickt.\",\n    \"public.subPrivateList\": \"Private Liste\",\n    \"public.subTitle\": \"Abonnieren\",\n    \"public.unsub\": \"Abmelden\",\n    \"public.unsubFull\": \"Auch von allen zukünftigen E-Mails abmelden.\",\n    \"public.unsubHelp\": \"Möchtest du dich von dieser E-Mail Liste abmelden?\",\n    \"public.unsubTitle\": \"Abmelden\",\n    \"public.unsubbedInfo\": \"Du wurdest erfolgreich abgemeldet\",\n    \"public.unsubbedTitle\": \"Abgemeldet\",\n    \"public.unsubscribeTitle\": \"Von E-Mail Liste abmelden.\",\n    \"settings.appearance.adminHelp\": \"Eigenes CSS für die Adminoberfläche.\",\n    \"settings.appearance.adminName\": \"Administrator\",\n    \"settings.appearance.customCSS\": \"Eigenes CSS\",\n    \"settings.appearance.customJS\": \"Eigenes JavaScript\",\n    \"settings.appearance.name\": \"Aussehen\",\n    \"settings.appearance.publicHelp\": \"Eigenes CSS und JavaScript für öffentliche Seiten.\",\n    \"settings.appearance.publicName\": \"Öffentlich\",\n    \"settings.bounces.action\": \"Aktion\",\n    \"settings.bounces.blocklist\": \"Sperrliste\",\n    \"settings.bounces.count\": \"Bounce Anzahl\",\n    \"settings.bounces.countHelp\": \"Anzahl von Bounces pro Abonnent\",\n    \"settings.bounces.enable\": \"Verarbeiten von Bounces aktivieren\",\n    \"settings.bounces.enableForwardemail\": \"Weiterleitungs-E-Mail aktivieren\",\n    \"settings.bounces.enableMailbox\": \"Bounce-Postfach aktivieren\",\n    \"settings.bounces.enablePostmark\": \"Postmark aktivieren\",\n    \"settings.bounces.enableSES\": \"SES aktivieren\",\n    \"settings.bounces.enableSendgrid\": \"SendGrid aktivieren\",\n    \"settings.bounces.enableWebhooks\": \"Bounce-Webhooks aktivieren\",\n    \"settings.bounces.enabled\": \"Aktiviert\",\n    \"settings.bounces.folder\": \"Ordner\",\n    \"settings.bounces.folderHelp\": \"Name des zu scannenden IMAP-Ordners. z.B.: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Weiterleitungs-E-Mail Schlüssel\",\n    \"settings.bounces.invalidScanInterval\": \"Der Bounce Scan-Interval sollte mindestens 1 Minute betragen.\",\n    \"settings.bounces.name\": \"Bounces\",\n    \"settings.bounces.none\": \"Keine\",\n    \"settings.bounces.postmarkPassword\": \"Postmark Passwort\",\n    \"settings.bounces.postmarkUsername\": \"Postmark Benutzername\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark ermöglicht HTTP-Basic-Auth für Webhooks. Die Anmeldeinformationen müssen mit denen in den Postmark Webhook-Einstellungen übereinstimmen.\",\n    \"settings.bounces.scanInterval\": \"Scan-Interval\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval mit dem das Bounce-Postfach gescannt werden soll (s for Sekunden, m für Minuten).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid Schlüssel\",\n    \"settings.bounces.type\": \"Typ\",\n    \"settings.bounces.username\": \"Benutzername\",\n    \"settings.confirmRestart\": \"Stelle sicher, dass laufende Kampagnen pausiert sind. Neustarten?\",\n    \"settings.duplicateMessengerName\": \"Doppelter Messengerdienstname: {name}\",\n    \"settings.errorEncoding\": \"Fehler bei der Kodierung der Einstellungen: {error}\",\n    \"settings.errorNoSMTP\": \"Mindestens ein SMTP Block muss aktiviert sein\",\n    \"settings.general.adminNotifEmails\": \"Admin Benachrichtigungen\",\n    \"settings.general.adminNotifEmailsHelp\": \"Kommagetrennte Liste von E-Mail Adressen, welche Admin Benachrichtigungen erhalten sollen. Dies können Importupdates, Fertigstellung von Kampagnen, Fehler usw. sein\",\n    \"settings.general.checkUpdates\": \"Suche nach Aktualisierungen\",\n    \"settings.general.checkUpdatesHelp\": \"Prüfe regelmäßig nach Aktualisierungen und benachrichtige mich.\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"Veröffentlichen Sie Kampagnen, für die die Archivierung aktiviert ist, auf der öffentlichen Website.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Vollständigen Inhalt im RSS-Feed anzeigen\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Zeigen Sie den vollständigen E-Mail-Inhalt im RSS-Feed an. Wenn deaktiviert, werden nur der Titel und die Link-Elemente angezeigt.\",\n    \"settings.general.enablePublicSubPage\": \"Aktiviere eine öffentliche Abonnement Seite\",\n    \"settings.general.enablePublicSubPageHelp\": \"Zeige eine öffentliche Abonnement Seite mit allen öffentlichen Listen, die Personen abonnieren können.\",\n    \"settings.general.faviconURL\": \"Favicon-URL\",\n    \"settings.general.faviconURLHelp\": \"(Optional) Vollständige URL zu einem statischen Favicon, welches für angezeigten Seiten wie Abmelden benutzt werden kann.\",\n    \"settings.general.fromEmail\": \"Standard Absender-E-Mail\",\n    \"settings.general.fromEmailHelp\": \"(Optional) Standard E-Mail für z.B. Abmeldungen.\",\n    \"settings.general.language\": \"Sprache\",\n    \"settings.general.logoURL\": \"Logo-URL\",\n    \"settings.general.logoURLHelp\": \"(Optional) Vollständige URL zu einem statischen Logo, welches für angezeigten Seiten wie Abmelden benutzt werden kann.\",\n    \"settings.general.name\": \"Allgemein\",\n    \"settings.general.rootURL\": \"Root-URL\",\n    \"settings.general.rootURLHelp\": \"Öffentliche URL der Installation (ohne Slash am Ende).\",\n    \"settings.general.sendOptinConfirm\": \"Sende Opt-In Bestätigung\",\n    \"settings.general.sendOptinConfirmHelp\": \"Sende ein Opt-In Bestätigungsemail wenn Abonnenten sich über das öffentliche Formular anmelden oder vom Admin hinzugefügt werden.\",\n    \"settings.general.siteName\": \"Seiten name\",\n    \"settings.invalidMessengerName\": \"Der Name des Messengers ist ungültig\",\n    \"settings.mailserver.authProtocol\": \"Autentifizierungsprotokoll\",\n    \"settings.mailserver.host\": \"Server\",\n    \"settings.mailserver.hostHelp\": \"SMTP Server Adresse.\",\n    \"settings.mailserver.idleTimeout\": \"Maximale IDLE-Zeit\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Wartezeit auf neue Aktivität bevor eine Verbindung geschlossen und aus dem Pool entfernt wird. (s für Sekunden, m für Minuten).\",\n    \"settings.mailserver.maxConns\": \"Max. Verbindungen\",\n    \"settings.mailserver.maxConnsHelp\": \"Maximale gleichzeitige Verbindungen zum SMTP Server\",\n    \"settings.mailserver.nameHelp\": \"Optionaler eindeutiger Name für den SMTP-Server. Muss das Präfix email- haben. Diese Einstellung ermöglicht es, den Server speziell für eine Kampagne auszuwählen. z.B.: email-primary-server. Alphanumerisch / Bindestrich.\",\n    \"settings.mailserver.password\": \"Passwort\",\n    \"settings.mailserver.passwordHelp\": \"Gib dein Passwort ein, um es zu ändern\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"SMTP Server Port.\",\n    \"settings.mailserver.skipTLS\": \"TLS Verifikation überspringen\",\n    \"settings.mailserver.skipTLSHelp\": \"Überspringe die Hostname Prüfung im TLS Zertifikat.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Verwende STARTTLS.\",\n    \"settings.mailserver.username\": \"Benutzername\",\n    \"settings.mailserver.waitTimeout\": \"Maximale Wartezeit\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Wartezeit auf neue Aktivität bevor eine Verbindung geschlossen und aus dem Pool entfernt wird. (s für Sekunden, m für Minuten).\",\n    \"settings.maintenance.cron\": \"Cron-Intervall\",\n    \"settings.media.provider\": \"Anbieter\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Bucket Pfad\",\n    \"settings.media.s3.bucketPathHelp\": \"Pfad im Bucket, in welchen die Dateien hochgeladen werden sollen. Standard ist /\",\n    \"settings.media.s3.bucketType\": \"Bucket Typ\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Öffentlich\",\n    \"settings.media.s3.key\": \"AWS Access Key (Zugriffsschlüssel)\",\n    \"settings.media.s3.publicURL\": \"Eigene öffentliche URL (optional)\",\n    \"settings.media.s3.publicURLHelp\": \"Benutzerdefinierte S3-Domain zur Verwendung für Bilder-Links anstelle der standardmäßigen S3-Backend-URL.\",\n    \"settings.media.s3.region\": \"Region\",\n    \"settings.media.s3.secret\": \"AWS Access Secret\",\n    \"settings.media.s3.uploadExpiry\": \"Upload Ablaufdatum\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Optional) TTL für die generierte URL. Nur für private Buckets. (s, m, h, d für Sekunden, Minuten, Stunden, Tage).\",\n    \"settings.media.s3.url\": \"S3 Backend-URL\",\n    \"settings.media.s3.urlHelp\": \"Nur bei Verwendungen eines eigenen S3-kompatiblen Backends (wie Minio) ändern.\",\n    \"settings.media.title\": \"Medien Uploads\",\n    \"settings.media.upload.extensions\": \"Erlaubte Dateierweiterungen\",\n    \"settings.media.upload.extensionsHelp\": \"Fügen Sie * hinzu, um alle Erweiterungen zuzulassen\",\n    \"settings.media.upload.path\": \"Upload Pfad\",\n    \"settings.media.upload.pathHelp\": \"Pfad zum Upload Verzeichnis.\",\n    \"settings.media.upload.uri\": \"Upload-URI\",\n    \"settings.media.upload.uriHelp\": \"Upload URI, welche öffentlich sichtbar ist. Die hochgeladenen Medien sind öffentlich erreich unter {root_url}, z.B. https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Max. Verbindungen\",\n    \"settings.messengers.maxConnsHelp\": \"Maximale gleichzeitige Verbindungen zum SMTP Server.\",\n    \"settings.messengers.messageSaved\": \"Einstellungen gespeichert. Lade neu...\",\n    \"settings.messengers.name\": \"Messenger\",\n    \"settings.messengers.nameHelp\": \"z.B.: my-sms. Alphanumerisch / Bindestrich.\",\n    \"settings.messengers.password\": \"Passwort\",\n    \"settings.messengers.retries\": \"Versuche\",\n    \"settings.messengers.retriesHelp\": \"Anzahl der Wiederholungen, wenn eine Nachricht fehlschlägt.\",\n    \"settings.messengers.skipTLSHelp\": \"TLS Zertifikat nicht überprüfen.\",\n    \"settings.messengers.timeout\": \"Max. Wartezeit\",\n    \"settings.messengers.timeoutHelp\": \"Zeit bevor eine aktive Verbindung geschlossen und aus dem Pool entfernt wird. (s für Sekunden, m für Minuten).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Root URL des Postback Servers.\",\n    \"settings.messengers.username\": \"Benutzername\",\n    \"settings.needsRestart\": \"Einstellungen geändert. Pausiere alle laufenden Kampagnen und starte die App (Listmonk) neu\",\n    \"settings.performance.batchSize\": \"Durchlaufgröße\",\n    \"settings.performance.batchSizeHelp\": \"Die Anzahl an Abonnenten, die in einem Durchlauf verarbeitet werden. Jeder Durchlauf holt die angegebene Anzahl an Abonnenten und schickt die Nachrichten. Idealerweise sollte dies höher sein als der maximal erreichbare Durchsatz (Anzahl Threads * Nachrichtenrate).\",\n    \"settings.performance.cacheSlowQueries\": \"Langsame Datenbankabfragen zwischenspeichern\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Aktivieren Sie dies nur in großen Datenbanken, die signifikant verlangsamt wurden. Cachet Listen-Abonnentenanzahlen, Dashboard-Statistiken usw.\",\n    \"settings.performance.concurrency\": \"Anzahl Threads\",\n    \"settings.performance.concurrencyHelp\": \"Maximale Anzahl an Threads, welche versuchen Nachrichten versenden.\",\n    \"settings.performance.maxErrThreshold\": \"Maximale Anzahl Fehler\",\n    \"settings.performance.maxErrThresholdHelp\": \"Die Anzahl der Fehler, welche toleriert werden sollen bevor eine Kampagne für die manuelle Kontrolle pausiert wird. 0 bedeutet kein Pausieren.\",\n    \"settings.performance.messageRate\": \"Nachrichtenrate\",\n    \"settings.performance.messageRateHelp\": \"Maximale Anzahl der Nachrichten, welche ein Thread pro Sekunde zu senden versucht. Beispiel: Wenn die Anzahl der Threads auf 10 und die Nachrichtenrate auch auf 10 gestellt wird, werden bis zu 10*10=100 Nachrichten pro Sekunden versendet. Bitte passend zu den Serverlimits konfigurieren.\",\n    \"settings.performance.name\": \"Leistung\",\n    \"settings.performance.slidingWindow\": \"Zeitfenster aktivieren\",\n    \"settings.performance.slidingWindowDuration\": \"Dauer\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Dauer des Zeitfensters (m für Minuten, h für Stunden)\",\n    \"settings.performance.slidingWindowHelp\": \"Begrenzt die Gesamtzahl der Nachrichten pro Zeit, welche gesendet werden. Wenn das Limit erreicht ist, wird gewartet bis das Zeitfenster abgelaufen ist, bevor neue Nachrichten gesendet werden.\",\n    \"settings.performance.slidingWindowRate\": \"Max. Nachrichten\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maximale Anzahl Nachrichten, welche innerhalb des Zeitfensters versendet werden\",\n    \"settings.privacy.allowBlocklist\": \"Aktiviere Sperrliste\",\n    \"settings.privacy.allowBlocklistHelp\": \"Erlaube es Abonnenten ihre E-Mail-Adresse dauerhaft zu sperren.\",\n    \"settings.privacy.allowExport\": \"Export aktivieren\",\n    \"settings.privacy.allowExportHelp\": \"Erlaube Abonnenten alle ihre Daten zu exportieren?\",\n    \"settings.privacy.allowPrefs\": \"Einstellungsänderungen zulassen\",\n    \"settings.privacy.allowPrefsHelp\": \"Erlaube den Abonnenten, ihre Einstellungen zu ändern, wie z. B. ihren Namen und mehrere Listenabonnements.\",\n    \"settings.privacy.allowWipe\": \"Löschen aktivieren\",\n    \"settings.privacy.allowWipeHelp\": \"Erlaube Abonnenten alle Daten, welche über sie gespeichert sind zu löschen. Dies beinhaltet auch Klicks und Anzeigen, verändert allerdings nicht die Gesamtzahl. Statistiken bleiben auch unverändert.\",\n    \"settings.privacy.domainAllowlist\": \"Domain-Whitelist\",\n    \"settings.privacy.domainAllowlistHelp\": \"Nur E-Mail-Adressen mit diesen Domains dürfen sich anmelden. Geben Sie pro Zeile eine Domain ein, z.B.: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Domain-Sperrliste\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-Mail Adressen dieser Domains sind vom Abonnieren ausgeschlossen.  Eine Domain pro Zeile, z.B. somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Einzelabonnenten Tracking\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Abonnentenviews und Klicks werden einzeln getrackt. Wenn deaktiviert, werden die Daten ohne Zuordnung zu Abonnenten gespeichert.\",\n    \"settings.privacy.listUnsubHeader\": \"Inkludiere `List-Unsubscribe` (von Liste abmelden) Header\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inkludiere Header zum einfachen Abmelden in den E-Mails. Erlaubt es, den E-Mail Clients der Nutzer eine \\\",Ein Klick\\\"-Abmeldung anzubieten.\",\n    \"settings.privacy.name\": \"Privatsphäre\",\n    \"settings.privacy.recordOptinIP\": \"Opt-in-IP-Adresse protokollieren\",\n    \"settings.privacy.recordOptinIPHelp\": \"Protokollieren Sie die IP-Adresse der doppelten Einwilligung in den Abonnentenattributen.\",\n    \"settings.restart\": \"Neustarten\",\n    \"settings.security.CORSDomains\": \"Erlaubte Domains (origins)\",\n    \"settings.security.CORSDomainsHelp\": \"Erlaube den API-Zugriff mittels Web-Browser von externen Webseiten. Gib pro Zeile eine Domain an (z. B. https://example.com). Lass dieses Feld leer, um CORS zu deaktivieren. Füge * ein, um Browser-Zugriff von allen Webseiten zu erlauben (nicht empfohlen).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Benutzer automatisch erstellen\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Benutzer beim ersten Login automatisch erstellen, wenn das Konto nicht existiert.\",\n    \"settings.security.OIDCClientID\": \"Client-ID\",\n    \"settings.security.OIDCClientSecret\": \"Client Secret\",\n    \"settings.security.OIDCDefaultListRole\": \"Standardlistenrolle\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Standardrolle, die Benutzern zugewiesen wird, die automatisch über OIDC erstellt wurden.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Standardbenutzerrolle\",\n    \"settings.security.OIDCHelp\": \"Aktivieren Sie die Anmeldung über OpenID Connect OAuth2 über einen OAuth-Anbieter.\",\n    \"settings.security.OIDCName\": \"Anbietername\",\n    \"settings.security.OIDCRedirectURL\": \"Redirect-URL für oAuth-Anbieter\",\n    \"settings.security.OIDCRedirectWarning\": \"Dies scheint keine Produktions-URL zu sein. Ändern Sie die Stamm-URL in den 'Allgemeinen' Einstellungen.\",\n    \"settings.security.OIDCURL\": \"Provider-URL\",\n    \"settings.security.OIDCWarning\": \"Wenn OIDC aktiviert ist, ist die Standard-Anmeldung mit Passwort deaktiviert. Eine ungültige Konfiguration kann dazu führen, dass Sie ausgesperrt werden.\",\n    \"settings.security.altchaComplexity\": \"Altcha-Komplexität\",\n    \"settings.security.altchaComplexityHelp\": \"Höhere Werte bieten bessere Sicherheit, aber langsamere Lösung (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com Schlüssel\",\n    \"settings.security.captchaKeyHelp\": \"Besuchen Sie www.hcaptcha.com, um den Schlüssel und das Geheimnis zu erhalten.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com Geheimnis\",\n    \"settings.security.enableCaptcha\": \"CAPTCHA aktivieren\",\n    \"settings.security.enableCaptchaHelp\": \"Aktivieren Sie CAPTCHA auf dem öffentlichen Anmeldeformular.\",\n    \"settings.security.enableOIDC\": \"OIDC SSO aktivieren\",\n    \"settings.security.name\": \"Sicherheit\",\n    \"settings.smtp.customHeaders\": \"Benutzerdefinierte Header\",\n    \"settings.smtp.customHeadersHelp\": \"(Optional) Array von benutzerdefinierten E-Mail Headern, welche in die Nachricht eingefügt werden sollen. Z.B.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Aktiviert\",\n    \"settings.smtp.heloHost\": \"HELO Hostname\",\n    \"settings.smtp.heloHostHelp\": \"(Optional) Manche SMTP Server benötigen einen FQDN Hostnamen im HELO. Dieser kann hier gesetzt werden. Standard ist `localhost`.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Wiederholungen\",\n    \"settings.smtp.retriesHelp\": \"Maximale Anzahl an Wiederholungen, wenn eine Nachricht fehlschlägt.\",\n    \"settings.smtp.sendTest\": \"E-Mail senden\",\n    \"settings.smtp.setCustomHeaders\": \"Benutzerdefinierten Header verwenden\",\n    \"settings.smtp.testConnection\": \"Verbindung testen\",\n    \"settings.smtp.testEnterEmail\": \"Passwort zum Testen eingeben\",\n    \"settings.smtp.toEmail\": \"Empfänger E-Mail\",\n    \"settings.title\": \"Einstellungen\",\n    \"settings.updateAvailable\": \"Ein neues Update auf {version} ist verfügbar.\",\n    \"subscribers.activity\": \"Aktivität\",\n    \"subscribers.advancedQuery\": \"Erweitert\",\n    \"subscribers.advancedQueryHelp\": \"Partieller SQL Ausdruck um Attribute der Abonnenten abzufragen\",\n    \"subscribers.attribsHelp\": \"Attribute sind als JSON Map definiert, z.B.:\",\n    \"subscribers.blocklistedHelp\": \"Blockierte Abonnenten werden nie wieder E-Mails erhalten.\",\n    \"subscribers.confirmBlocklist\": \"Blockiere {num} Abonnent(en)?\",\n    \"subscribers.confirmDelete\": \"Lösche {num} Abonnent(en)?\",\n    \"subscribers.confirmExport\": \"Exportiere {num} Abonnent(en)?\",\n    \"subscribers.domainBlocklisted\": \"Diese e-Mail Domain ist blockiert.\",\n    \"subscribers.downloadData\": \"Daten herunterladen\",\n    \"subscribers.email\": \"E-Mail\",\n    \"subscribers.emailExists\": \"E-Mail existiert bereits.\",\n    \"subscribers.errorBlocklisting\": \"Fehler. Abonnement ist geblockt: {error}\",\n    \"subscribers.errorNoIDs\": \"Keine IDs angegeben.\",\n    \"subscribers.errorNoListsGiven\": \"Keine Listen angegeben.\",\n    \"subscribers.errorPreparingQuery\": \"Fehler beim Vorbereiten der Abonnentenabfrage: {error}\",\n    \"subscribers.errorSendingOptin\": \"Fehler beim Senden der Opt-In E-Mail.\",\n    \"subscribers.export\": \"Exportieren\",\n    \"subscribers.invalidAction\": \"Ungültiger Vorgang.\",\n    \"subscribers.invalidEmail\": \"Ungültige E-Mail.\",\n    \"subscribers.invalidJSON\": \"Ungültiges JSON in den Attributen.\",\n    \"subscribers.invalidName\": \"Ungültiger Name.\",\n    \"subscribers.listChangeApplied\": \"Änderungen an der Liste gespeichert.\",\n    \"subscribers.lists\": \"Listen\",\n    \"subscribers.listsHelp\": \"Listen, von denen sich Abonnenten selbst abgemeldet haben, können nicht entfernt werden.\",\n    \"subscribers.listsPlaceholder\": \"An den Listen anmelden \",\n    \"subscribers.manageLists\": \"Listen verwalten\",\n    \"subscribers.markUnsubscribed\": \"Als abgemeldet markieren\",\n    \"subscribers.newSubscriber\": \"Neuer Abonnent\",\n    \"subscribers.numSelected\": \"{num} Abonnent(en) ausgewählt\",\n    \"subscribers.optinSubject\": \"Abonnement bestätigen\",\n    \"subscribers.preconfirm\": \"Abonnement Opt-In überschreiben\",\n    \"subscribers.preconfirmHelp\": \"Keine Opt-In E-Mails senden und alle Abonnements als 'bestätigt' setzen.\",\n    \"subscribers.query\": \"Abfrage\",\n    \"subscribers.queryPlaceholder\": \"E-Mail oder Name\",\n    \"subscribers.reset\": \"Zurücksetzen\",\n    \"subscribers.selectAll\": \"Wähle alle {num}\",\n    \"subscribers.sendOptinConfirm\": \"Sende Opt-In Bestätigung\",\n    \"subscribers.sentOptinConfirm\": \"Opt-In Bestätigung gesendet\",\n    \"subscribers.status.blocklisted\": \"Blockiert\",\n    \"subscribers.status.confirmed\": \"Bestätigt\",\n    \"subscribers.status.enabled\": \"Aktiviert\",\n    \"subscribers.status.subscribed\": \"Angemeldet\",\n    \"subscribers.status.unconfirmed\": \"Bestätigung ausstehend\",\n    \"subscribers.status.unsubscribed\": \"Abgemeldet\",\n    \"subscribers.subscribersDeleted\": \"{num} Abonnenten gelöscht\",\n    \"templates.cantDeleteDefault\": \"Die Standardvorlage kann nicht gelöscht werden\",\n    \"templates.default\": \"Standard\",\n    \"templates.dummyName\": \"Test-Kampagne\",\n    \"templates.dummySubject\": \"Test-Kampagnen Betreff\",\n    \"templates.errorCompiling\": \"Fehler beim Kompilieren des Templates: {error}\",\n    \"templates.errorRendering\": \"Fehler beim Rendern der Nachricht: {error}\",\n    \"templates.fieldInvalidName\": \"Ungültige Länge für `name`.\",\n    \"templates.makeDefault\": \"Als Standard setzen\",\n    \"templates.newTemplate\": \"Neue Vorlage\",\n    \"templates.placeholderHelp\": \"Der Platzhalter \\\"{placeholder}\\\" darf nur einmal im Template vorkommen.\",\n    \"templates.preview\": \"Vorschau\",\n    \"templates.rawHTML\": \"HTML\",\n    \"templates.subject\": \"Betreff\",\n    \"templates.typeCampaignHTML\": \"Kampagne / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampagne / Visuell\",\n    \"templates.typeTransactional\": \"Transaktional\",\n    \"users.apiOneTimeToken\": \"Kopieren Sie jetzt den API-Zugriffstoken. Er wird nicht erneut angezeigt.\",\n    \"users.cantDeleteRole\": \"Rolle kann nicht gelöscht werden, da sie verwendet wird.\",\n    \"users.firstTime\": \"Dies ist eine neue Installation. Wählen Sie einen Benutzernamen und ein Passwort für das Super Admin-Konto.\",\n    \"users.forgotPassword\": \"Passwort vergessen?\",\n    \"users.invalidLogin\": \"Ungültige Anmeldung oder falsches Passwort\",\n    \"users.invalidPassword\": \"Ungültiges Passwort\",\n    \"users.invalidRequest\": \"Ungültige Auth-Anforderung\",\n    \"users.invalidResetLink\": \"Ungültiger oder abgelaufener Link\",\n    \"users.lastLogin\": \"Letzte Anmeldung\",\n    \"users.listPerms\": \"Berechtigungen für Listen\",\n    \"users.listPermsWarning\": \"lists:get_all oder lists:manage_all sind aktiviert wodurch die Berechtigungen pro Liste außer Kraft gesetzt werden.\",\n    \"users.listRole\": \"Listenrolle | Listenrolle\",\n    \"users.listRoles\": \"Listenrollen\",\n    \"users.login\": \"Anmelden\",\n    \"users.loginOIDC\": \"Anmelden mit {name}\",\n    \"users.logout\": \"Abmelden\",\n    \"users.needSuper\": \"Der/die Benutzer konnte(n) nicht aktualisiert werden. Es muss mindestens ein aktiver Super Admin-Benutzer vorhanden sein.\",\n    \"users.newListRole\": \"Neue Listenrolle\",\n    \"users.newPassword\": \"Neues Passwort\",\n    \"users.newUser\": \"Neuer Benutzer\",\n    \"users.newUserRole\": \"Neue Benutzerrolle\",\n    \"users.password\": \"Passwort\",\n    \"users.passwordEnable\": \"Anmeldung mit Passwort aktivieren\",\n    \"users.passwordMismatch\": \"Passwörter stimmen nicht überein\",\n    \"users.passwordRepeat\": \"Passwort wiederholen\",\n    \"users.perms\": \"Berechtigungen\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Wenn das Benutzerkonto aktiv ist, erhältst du eine E-Mail zum Rücksetzen des Passworts.\",\n    \"users.resetPassword\": \"Passwort zurücksetzen\",\n    \"users.role\": \"Rolle | Rollen\",\n    \"users.roleGroup\": \"Gruppe\",\n    \"users.roles\": \"Rollen\",\n    \"users.status.disabled\": \"Deaktiviert\",\n    \"users.status.enabled\": \"Aktiviert\",\n    \"users.totpCode\": \"TOTP Code\",\n    \"users.totpCodeHelp\": \"Gib den sechstelligen Code ein, den dir deine TOTP-App anzeigt\",\n    \"users.totpScanQR\": \"Scanne den QR-Code mit deiner TOTP-App wie z. B. Ente Auth oder Google Authenticator und gib dann den angezeigten TOTP Code aus der App hier ein.\",\n    \"users.totpSecret\": \"Geheimer Schlüssel\",\n    \"users.twoFA\": \"Zwei-Faktor-Authentifizierung\",\n    \"users.twoFAAlreadyEnabled\": \"Zwei-Faktor-Authentifizierung ist bereits aktiviert\",\n    \"users.twoFAEnabled\": \"Zwei-Faktor-Authentifizierung ist aktiv\",\n    \"users.twoFAEnabledDesc\": \"Dein Benutzerkonto ist mit {type} 2FA gesichert\",\n    \"users.twoFANotEnabled\": \"Aktiviere Zwei-Faktor-Authentifizierung, wenn du dich in dein Benutzerkonto einloggst\",\n    \"users.type\": \"Typ\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Benutzer\",\n    \"users.userRole\": \"Benutzerrolle | Benutzerrollen\",\n    \"users.userRoles\": \"Benutzerrollen\",\n    \"users.username\": \"Benutzername\",\n    \"users.usernameHelp\": \"Wird bei der Anmeldung mit Passwort verwendet\"\n}\n"
  },
  {
    "path": "i18n/el.json",
    "content": "{\n    \"_.code\": \"el\",\n    \"_.name\": \"Ελληνικά (el)\",\n    \"admin.errorMarshallingConfig\": \"Σφάλμα κατά τη μετατροπή του config: {error}\",\n    \"analytics.count\": \"Πλήθος\",\n    \"analytics.fromDate\": \"Από\",\n    \"analytics.invalidDates\": \"Μή έγκυρη ημερομηνία `από` ή `έως`.\",\n    \"analytics.isUnique\": \"Οι μετρήσεις είναι μοναδικές ανά συνδρομητή.\",\n    \"analytics.links\": \"Σύνδεσμοι\",\n    \"analytics.nonUnique\": \"Οι μετρήσεις δεν είναι μοναδικές, καθώς η παρακολούθηση του κάθε μεμονωμένου συνδρομητή έχει απενεργοποιηθεί.\",\n    \"analytics.title\": \"Στατιστικά\",\n    \"analytics.toDate\": \"Έως\",\n    \"bounces.complaint\": \"Διαμαρτυρία\",\n    \"bounces.hard\": \"Σκληρό\",\n    \"bounces.soft\": \"Μαλακό\",\n    \"bounces.source\": \"Πηγή\",\n    \"bounces.unknownService\": \"Άγνωστη υπηρεσία.\",\n    \"bounces.view\": \"Προβολή των bounce\",\n    \"campaigns.addAltText\": \"Προσθέστε εναλλακτικό μήνυμα σε μορφή απλού κειμένου\",\n    \"campaigns.addAttachments\": \"Προσθέστε συνημμένα\",\n    \"campaigns.archive\": \"Αρχείο\",\n    \"campaigns.archiveEnable\": \"Δημοσίευση στο δημόσιο αρχείο\",\n    \"campaigns.archiveHelp\": \"Δημοσιεύστε το μήνυμα της (σε εξέλιξη, σε παύση, ολοκληρωμένης) εκστρατείας στο δημόσιο αρχείο.\",\n    \"campaigns.archiveMeta\": \"Μεταδεδομένα εκστρατείας\",\n    \"campaigns.archiveMetaHelp\": \"Εικονικά δεδομένα συνδρομητή που χρησιμοποιούνται στο δημόσιο μήνυμα, συμπεριλαμβανομένου του ονόματος, της διεύθυνσης email και οποιωνδήποτε προαιρετικών χαρακτηριστικών που χρησιμοποιούνται στο μήνυμα ή το πρότυπο της εκστρατείας.\",\n    \"campaigns.archiveSlug\": \"URL Slug\",\n    \"campaigns.archiveSlugHelp\": \"Ένα σύντομο όνομα για τη σελίδα που θα χρησιμοποιείται στο δημόσιο URL. π.χ .: έκδοση-του-ενημερωτικού-δελτίου-μου-2\",\n    \"campaigns.attachments\": \"Συνημμένα\",\n    \"campaigns.attribsHelp\": \"Ιδιότητες Custom JSON object {} για αυτή την καμπάνια. Χρησιμοποιήστε στο template με {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Δεν είναι δυνατή η ενημέρωση μιας εκστρατείας που βρίσκεται σε εξέλιξη ή έχει ολοκληρωθεί.\",\n    \"campaigns.clicks\": \"Κλικ\",\n    \"campaigns.confirmDelete\": \"Διαγραφή {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Αυτό θα αντικαταστήσει όλο το περιεχόμενο. Να συνεχίσω;\",\n    \"campaigns.confirmSchedule\": \"Αυτή η εκστρατεία θα ξεκινήσει αυτόματα στην προγραμματισμένη ημερομηνία και ώρα. Θέλετε να την προγραμματίσετε τώρα;\",\n    \"campaigns.confirmSwitchFormat\": \"Το περιεχόμενο μπορεί να χάσει τη μορφοποίησή του. Θέλετε να συνεχίσετε;\",\n    \"campaigns.content\": \"Περιεχόμενο\",\n    \"campaigns.contentHelp\": \"Περιεχόμενο εδώ\",\n    \"campaigns.continue\": \"Συνέχεια\",\n    \"campaigns.copyOf\": \"Αντίγραφο του {name}\",\n    \"campaigns.customHeadersHelp\": \"Πίνακας με προσαρμοσμένες κεφαλίδες που θα προστεθούν στα εξερχόμενα μηνύματα. Π.χ.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Ημερομηνία και ώρα\",\n    \"campaigns.ended\": \"Ολοκληρώθηκε\",\n    \"campaigns.errorSendTest\": \"Σφάλμα κατά την αποστολή του δοκιμαστικού μηνύματος: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Σφάλμα κατά τη σύνταξη του περιεχομένου της εκστρατείας: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Μη έγκυρη διεύθυνση αποστολέα.\",\n    \"campaigns.fieldInvalidListIDs\": \"Μη έγκυρο(-α) ID λίστας.\",\n    \"campaigns.fieldInvalidMessenger\": \"Άγνωστος messenger {name}.\",\n    \"campaigns.fieldInvalidName\": \"Μη έγκυρο μήκος για το όνομα.\",\n    \"campaigns.fieldInvalidSendAt\": \"Η προγραμματισμένη ημερομηνία πρέπει να είναι στο μέλλον.\",\n    \"campaigns.fieldInvalidSubject\": \"Μη έγκυρο μήκος για το θέμα.\",\n    \"campaigns.format\": \"Μορφή\",\n    \"campaigns.formatHTML\": \"Μορφοποίηση HTML\",\n    \"campaigns.fromAddress\": \"Διεύθυνση αποστολέα\",\n    \"campaigns.fromAddressPlaceholder\": \"Όνομα που θα εμφανίζεται ως αποστολέας <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Εισαγωγή οπτικού προτύπου\",\n    \"campaigns.invalid\": \"Μη έγκυρη εκστρατεία\",\n    \"campaigns.invalidCustomHeaders\": \"Μη έγκυρες προσαρμοσμένες κεφαλίδες: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Απαιτείται ημερομηνία για να προγραμματιστεί μία εκστρατεία.\",\n    \"campaigns.newCampaign\": \"Νέα εκστρατεία\",\n    \"campaigns.noKnownSubsToTest\": \"Δεν υπάρχουν συνδρομητές για δοκιμή.\",\n    \"campaigns.noOptinLists\": \"Δεν βρέθηκαν λίστες συγκατάθεσης για τη δημιουργία εκστρατείας.\",\n    \"campaigns.noSubs\": \"Δεν υπάρχουν συνδρομητές στις επιλεγμένες λίστες για τη δημιουργία της εκστρατείας.\",\n    \"campaigns.noSubsToTest\": \"Δεν υπάρχουν συνδρομητές για στόχευση.\",\n    \"campaigns.notFound\": \"Η εκστρατεία δεν βρέθηκε.\",\n    \"campaigns.onlyActiveCancel\": \"Μόνο ενεργές εκστρατείες μπορούν να ακυρωθούν.\",\n    \"campaigns.onlyActivePause\": \"Μόνο ενεργές εκστρατείες μπορούν να τεθούν σε παύση.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Μόνο προσχέδια εκστρατειών μπορούν να προγραμματιστούν.\",\n    \"campaigns.onlyPausedDraft\": \"Μόνο εκστρατείες σε παύση και προσχέδια εκστρατειών μπορούν να εκκινηθούν.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Μόνο προγραμματισμένες εκστρατείες μπορούν να αποθηκευτούν ως πρόχειρες.\",\n    \"campaigns.pause\": \"Παύση\",\n    \"campaigns.plainText\": \"Μορφή απλού κειμένου\",\n    \"campaigns.preview\": \"Προεπισκόπηση\",\n    \"campaigns.progress\": \"Πρόοδος\",\n    \"campaigns.queryPlaceholder\": \"Όνομα ή θέμα\",\n    \"campaigns.rateMinuteShort\": \"λεπτά\",\n    \"campaigns.rawHTML\": \"Ακατέργαστη HTML\",\n    \"campaigns.removeAltText\": \"Αφαίρεση εναλλακτικού μηνύματος σε μορφή απλού κειμένου\",\n    \"campaigns.richText\": \"Πλούσιο κείμενο\",\n    \"campaigns.schedule\": \"Προγραμματισμός εκστρατείας\",\n    \"campaigns.scheduled\": \"Προγραμματισμένη\",\n    \"campaigns.send\": \"Αποστολή\",\n    \"campaigns.sendLater\": \"Αποστολή αργότερα\",\n    \"campaigns.sendTest\": \"Αποστολή δοκιμαστικού μηνύματος\",\n    \"campaigns.sendTestHelp\": \"Πατήστε Enter μετά την πληκτρολόγηση μιας διεύθυνσης email για να προσθέσετε πολλαπλούς παραλήπτες. Οι διευθύνσεις email πρέπει να αντιστοιχούν σε υπάρχοντες συνδρομητές.\",\n    \"campaigns.sendToLists\": \"Λίστες για αποστολή\",\n    \"campaigns.sent\": \"Απεσταλμένα\",\n    \"campaigns.start\": \"Έναρξη εκστρατείας\",\n    \"campaigns.started\": \"Η εκστρατεία \\\"{name}\\\" άρχισε\",\n    \"campaigns.startedAt\": \"Έναρξη\",\n    \"campaigns.stats\": \"Στατιστικά\",\n    \"campaigns.status.cancelled\": \"Ακυρώθηκε\",\n    \"campaigns.status.draft\": \"Προσχέδιο\",\n    \"campaigns.status.finished\": \"Ολοκληρώθηκε\",\n    \"campaigns.status.paused\": \"Σε παύση\",\n    \"campaigns.status.running\": \"Εκτελείται\",\n    \"campaigns.status.scheduled\": \"Προγραμματίστηκε\",\n    \"campaigns.statusChanged\": \"Η εκστρατεία \\\"{name}\\\" έχει την κατάσταση {status}\",\n    \"campaigns.subject\": \"Θέμα\",\n    \"campaigns.templatingRef\": \"Αναφορά Προτύπου\",\n    \"campaigns.testEmails\": \"Διευθύνσεις e-mail\",\n    \"campaigns.testSent\": \"Το δοκιμαστικό μήνυμα στάλθηκε\",\n    \"campaigns.timestamps\": \"Χρονοσήματα\",\n    \"campaigns.trackLink\": \"Σύνδεσμος παρακολούθησης\",\n    \"campaigns.unSchedule\": \"Ακύρωση προγραμματισμού\",\n    \"campaigns.views\": \"Προβολές\",\n    \"campaigns.visual\": \"Οπτικό\",\n    \"dashboard.campaignViews\": \"Προβολές εκστρατειών\",\n    \"dashboard.linkClicks\": \"Κλικ συνδέσμων\",\n    \"dashboard.messagesSent\": \"Απεσταλμένα μυνήματα\",\n    \"dashboard.orphanSubs\": \"\\\"Ορφανοί\\\" συνδρομητές\",\n    \"email.data.info\": \"Ένα αντίγραφο όλων των δεδομένων που έχουν καταγραφεί για εσάς είναι συνημμένο ως αρχείο σε μορφή JSON. Μπορεί να προβληθεί με έναν επεξεργαστή κειμένου.\",\n    \"email.data.title\": \"Τα δεδομένα σας\",\n    \"email.forgotPassword.button\": \"Επαναφορά κωδικού πρόσβασης\",\n    \"email.forgotPassword.info\": \"Εάν δεν ζητήσατε αυτό, μπορείτε να αγνοήσετε με ασφάλεια αυτό το email. Αυτός ο σύνδεσμος θα λήξει σε 30 λεπτά.\",\n    \"email.forgotPassword.subject\": \"Επαναφορά κωδικού πρόσβασης\",\n    \"email.optin.confirmSub\": \"Επιβεβαίωση συνδρομής\",\n    \"email.optin.confirmSubHelp\": \"Επιβεβαιώστε την εγγραφή σας κάνοντας κλικ στο κουμπί παρακάτω.\",\n    \"email.optin.confirmSubInfo\": \"Έχετε προστεθεί στις παρακάτω λίστες:\",\n    \"email.optin.confirmSubTitle\": \"Επιβεβαιώστε την εγγραφή\",\n    \"email.optin.confirmSubWelcome\": \"Γειά σας\",\n    \"email.optin.privateList\": \"Προσωπική λίστα\",\n    \"email.status.campaignReason\": \"Λόγος\",\n    \"email.status.campaignSent\": \"Απεστάλη\",\n    \"email.status.campaignUpdateTitle\": \"Ενημέρωση εκστρατείας\",\n    \"email.status.importFile\": \"Αρχείο\",\n    \"email.status.importRecords\": \"Εγγραφές\",\n    \"email.status.importTitle\": \"Εισαγωγή ενημέρωσης\",\n    \"email.status.status\": \"Κατάσταση\",\n    \"email.unsub\": \"Διαγραφή\",\n    \"email.unsubHelp\": \"Δεν θέλετε να λαμβάνετε αυτά τα email;\",\n    \"email.viewInBrowser\": \"Προβολή στον browser\",\n    \"forms.formHTML\": \"Φόρμα HTML\",\n    \"forms.formHTMLHelp\": \"Χρησιμοποιήστε την παρακάτω HTML για να εμφανίσετε ένα φόρμα εγγραφής σε μια εξωτερική ιστοσελίδα. Η φόρμα θα πρέπει να περιλαμβάνει το πεδίο διεύθυνσης email και ένα ή περισσότερα πεδία `l` (το UUID λίστας). Το πεδίο για το όνομα είναι προαιρετικό.\",\n    \"forms.noPublicLists\": \"Δεν υπάρχουν δημόσιες λίστες για τη δημιουργία φόρμας.\",\n    \"forms.publicLists\": \"Δημόσιες λίστες\",\n    \"forms.publicSubPage\": \"Δημόσια σελίδα εγγραφής\",\n    \"forms.selectHelp\": \"Επιλέξτε λίστες που θέλετε να προστεθούν στη φόρμα.\",\n    \"forms.title\": \"Φόρμες\",\n    \"globals.buttons.add\": \"Προσθήκη\",\n    \"globals.buttons.addNew\": \"Προσθήκη νέου\",\n    \"globals.buttons.back\": \"Πίσω\",\n    \"globals.buttons.cancel\": \"Ακύρωση\",\n    \"globals.buttons.clear\": \"Καθαρισμός\",\n    \"globals.buttons.clearAll\": \"Καθαρισμός όλων\",\n    \"globals.buttons.clone\": \"Κλωνοποίηση\",\n    \"globals.buttons.close\": \"Κλείσιμο\",\n    \"globals.buttons.continue\": \"Συνέχεια\",\n    \"globals.buttons.copy\": \"Αντιγραφή\",\n    \"globals.buttons.delete\": \"Διαγραφή\",\n    \"globals.buttons.deleteAll\": \"Διαγραφή όλων\",\n    \"globals.buttons.disable\": \"Απενεργοποίηση\",\n    \"globals.buttons.edit\": \"Επεξεργασία\",\n    \"globals.buttons.enable\": \"Ενεργοποίηση\",\n    \"globals.buttons.enabled\": \"Ενεργοποιημένο\",\n    \"globals.buttons.insert\": \"Εισαγωγή\",\n    \"globals.buttons.learnMore\": \"Μάθετε περισσότερα\",\n    \"globals.buttons.manage\": \"Διαχείριση\",\n    \"globals.buttons.more\": \"Περισσότερα\",\n    \"globals.buttons.new\": \"Νέο\",\n    \"globals.buttons.ok\": \"Εντάξει\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Αφαίρεση\",\n    \"globals.buttons.save\": \"Αποθήκευση\",\n    \"globals.buttons.saveChanges\": \"Αποθήκευση αλλαγών\",\n    \"globals.buttons.toggleSelect\": \"Εναλλαγή επιλογής\",\n    \"globals.buttons.view\": \"Προβολή\",\n    \"globals.days.0\": \"Κυρ\",\n    \"globals.days.1\": \"Κυρ\",\n    \"globals.days.2\": \"Δευ\",\n    \"globals.days.3\": \"Τρι\",\n    \"globals.days.4\": \"Τετ\",\n    \"globals.days.5\": \"Πεμ\",\n    \"globals.days.6\": \"Παρ\",\n    \"globals.days.7\": \"Σαβ\",\n    \"globals.fields.createdAt\": \"Δημιουργήθηκε\",\n    \"globals.fields.description\": \"Περιγραφή\",\n    \"globals.fields.id\": \"Ταυτότητα\",\n    \"globals.fields.name\": \"Όνομα\",\n    \"globals.fields.status\": \"Κατάσταση\",\n    \"globals.fields.type\": \"Τύπος\",\n    \"globals.fields.updatedAt\": \"Ενημερώθηκε\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Σίγουρα;\",\n    \"globals.messages.confirmDelete\": \"Διαγραφή {num} {name};\",\n    \"globals.messages.confirmDiscard\": \"Απόρριψη αλλαγών;\",\n    \"globals.messages.copied\": \"Αντιγράφηκε\",\n    \"globals.messages.created\": \"Το \\\"{name}\\\" δημιουργήθηκε\",\n    \"globals.messages.deleted\": \"Το \\\"{name}\\\" διαγράφηκε\",\n    \"globals.messages.deletedCount\": \"Το {name} ({num}) διαγράφηκε\",\n    \"globals.messages.done\": \"Ολοκληρώθηκε\",\n    \"globals.messages.emptyState\": \"Δεν υπάρχει τίποτα εδώ\",\n    \"globals.messages.errorCreating\": \"Σφάλμα δημιουργίας του {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Σφάλμα διαγραφής του {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Σφάλμα ανάκτησης του {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Ένα ή περισσότερα ID δεν είναι έγκυρα: {error}\",\n    \"globals.messages.errorUUID\": \"Σφάλμα δημιουργίας UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Σφάλμα ενημέρωσης του {name}: {error}\",\n    \"globals.messages.internalError\": \"Εσωτερικό σφάλμα διακομιστή\",\n    \"globals.messages.invalidData\": \"Μη έγκυρα δεδομένα\",\n    \"globals.messages.invalidFields\": \"Μη έγκυρα πεδία: {name}\",\n    \"globals.messages.invalidID\": \"Μυ έγκυρο/-α ID\",\n    \"globals.messages.invalidUUID\": \"Μυ έγκυρο/-α  UUID\",\n    \"globals.messages.invalidValue\": \"Μη έγκυρη τιμή\",\n    \"globals.messages.missingFields\": \"Λείπουν πεδία: {name}\",\n    \"globals.messages.notFound\": \"Το {name} δεν βρέθηκε\",\n    \"globals.messages.numSelected\": \"{num} επιλεγμένα\",\n    \"globals.messages.passwordChange\": \"Εισάγετε νέο περιεχόμενο για αλλαγή\",\n    \"globals.messages.passwordChangeFull\": \"Εκκαθάριση και επανεισαγωγή του συνθηματικού στο '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Δεν επιτρέπεται η πρόσβαση: {name}\",\n    \"globals.messages.selectAll\": \"Επιλογή όλων {num}\",\n    \"globals.messages.slowQueriesCached\": \"Οι αργές ερωτήσεις αποθηκεύονται στην μνήμη cache. Ορισμένοι αριθμοί σε αυτήν τη σελίδα δεν θα είναι ενημερωμένοι.\",\n    \"globals.messages.updated\": \"Το \\\"{name}\\\" ενημερώθηκε\",\n    \"globals.months.1\": \"Ιαν\",\n    \"globals.months.10\": \"Οκτ\",\n    \"globals.months.11\": \"Νοε\",\n    \"globals.months.12\": \"Δεκ\",\n    \"globals.months.2\": \"Φεβ\",\n    \"globals.months.3\": \"Μαρ\",\n    \"globals.months.4\": \"Απρ\",\n    \"globals.months.5\": \"Μάι\",\n    \"globals.months.6\": \"Ιουν\",\n    \"globals.months.7\": \"Ιουλ\",\n    \"globals.months.8\": \"Αυγ\",\n    \"globals.months.9\": \"Σεπ\",\n    \"globals.states.off\": \"Απενεργοποιημένο\",\n    \"globals.terms.all\": \"Όλα\",\n    \"globals.terms.analytics\": \"Στατιστικά\",\n    \"globals.terms.attribs\": \"Χαρακτηριστικά\",\n    \"globals.terms.bounce\": \"Bounce | Bounce\",\n    \"globals.terms.bounces\": \"Bounce\",\n    \"globals.terms.campaign\": \"Εκστρατεία | Εκστρατείες\",\n    \"globals.terms.campaigns\": \"Εκστρατείες\",\n    \"globals.terms.dashboard\": \"Επισκόπηση\",\n    \"globals.terms.day\": \"Ημέρα | Ημέρες\",\n    \"globals.terms.hour\": \"'Ωρα | Ώρες\",\n    \"globals.terms.import\": \"Εισαγωγή\",\n    \"globals.terms.list\": \"Λίστα | Λίστες\",\n    \"globals.terms.lists\": \"Λίστες\",\n    \"globals.terms.media\": \"Πολυμέσο | Πολυμέσα\",\n    \"globals.terms.messenger\": \"Αγγελιαφόρος | Αγγελιαφόροι\",\n    \"globals.terms.messengers\": \"Αγγελιαφόροι\",\n    \"globals.terms.minute\": \"Λεπτό | Λεπτά\",\n    \"globals.terms.month\": \"Μήνας | Μήνες\",\n    \"globals.terms.new\": \"Νέο\",\n    \"globals.terms.none\": \"Κανένα\",\n    \"globals.terms.second\": \"Δευτερόλεπτο | Δευτερόλεπτα\",\n    \"globals.terms.settings\": \"Ρυθμίσεις\",\n    \"globals.terms.subscriber\": \"Συνδρομητής | Συνδρομητές\",\n    \"globals.terms.subscribers\": \"Συνδρομητές\",\n    \"globals.terms.subscriptions\": \"Συνδρομή | Συνδρομές\",\n    \"globals.terms.tag\": \"Ετικέτα | Ετικέτες\",\n    \"globals.terms.tags\": \"Ετικέτες\",\n    \"globals.terms.template\": \"Προσχέδιο | Προσχέδια\",\n    \"globals.terms.templates\": \"Προσχέδια\",\n    \"globals.terms.tx\": \"Συναλλακτική | Συναλλακτικές\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Χρήστης | Χρήστες\",\n    \"globals.terms.users\": \"Χρήστες\",\n    \"globals.terms.year\": \"Έτος | Έτη\",\n    \"import.alreadyRunning\": \"Μια εισαγωγή εκτελείται ήδη. Περιμένετε να ολοκληρωθεί ή σταματήστε την πριν προσπαθήσετε ξανά.\",\n    \"import.blocklist\": \"Λίστα αποκλεισμού\",\n    \"import.csvDelim\": \"Διαχωριστικό πεδίων CSV\",\n    \"import.csvDelimHelp\": \"Το κόμμα είναι το προεπιλεγμένο διαχωριστικό.\",\n    \"import.csvExample\": \"Παράδειγμα CSV\",\n    \"import.csvFile\": \"Αρχείο CSV ή ZIP\",\n    \"import.csvFileHelp\": \"Κάντε κλικ ή σύρετε ένα αρχείο CSV ή ZIP εδώ\",\n    \"import.errorCopyingFile\": \"Σφάλμα αντιγραφής αρχείου: {error}\",\n    \"import.errorProcessingZIP\": \"Σφάλμα επεξεργασίας αρχείου ZIP: {error}\",\n    \"import.errorStarting\": \"Σφάλμα κατά την έναρξη της εισαγωγής: {error}\",\n    \"import.importDone\": \"Ολοκληρώθηκε\",\n    \"import.importStarted\": \"Η εισαγωγή ολοκληρώθηκε\",\n    \"import.instructions\": \"Οδηγίες\",\n    \"import.instructionsHelp\": \"Ανεβάστε ένα αρχείο CSV ή ένα αρχείο ZIP με ένα μόνο αρχείο CSV για μαζική εισαγωγή συνδρομητών. Το αρχείο CSV θα πρέπει να έχει τις ακόλουθες επικεφαλίδες με τα ακριβή ονόματα των στηλών. attributes (προαιρετικό) θα πρέπει να είναι ένα έγκυρο αλφαριθμητικό JSON με double-escaped quotes.\",\n    \"import.invalidDelim\": \"Ο διαχωριστής θα πρέπει να είναι ένας μόνο χαρακτήρας.\",\n    \"import.invalidFile\": \"Μη έγκυρο αρχείο: {error}\",\n    \"import.invalidMode\": \"Μη έγκυρος τρόπος λειτουργίας\",\n    \"import.invalidParams\": \"Μη έγκυρες παράμετροι: {error}\",\n    \"import.invalidSubStatus\": \"Μη έγκυρη κατάσταση εγγραφής\",\n    \"import.listSubHelp\": \"Λίστες προς εγγραφή.\",\n    \"import.mode\": \"Τρόπος λειτουργίας\",\n    \"import.overwriteSubStatus\": \"Αντικατάσταση κατάστασης συνδρομής\",\n    \"import.overwriteSubStatusHelp\": \"Αντικατάσταση κατάστασης υπάρχουσας συνδρομής λίστας\",\n    \"import.overwriteUserInfo\": \"Αντικατάσταση πληροφοριών χρήστη\",\n    \"import.overwriteUserInfoHelp\": \"Αντικατάσταση ονόματος και ιδιοτήτων υπάρχοντων συνδρομητών\",\n    \"import.recordsCount\": \"{num} / {total} εγγραφές\",\n    \"import.stopImport\": \"Διακοπή εισαγωγής\",\n    \"import.subscribe\": \"Εγγραφή\",\n    \"import.subscribeWarning\": \"Η αντικατάσταση θα επανεγγράψει τα μη συνδρομημένα e-mail. Να συνεχίσω;\",\n    \"import.title\": \"Εισαγωγή συνδρομητών\",\n    \"import.upload\": \"Μεταφόρτωση\",\n    \"lists.archived\": \"Αρχειοθετημένο\",\n    \"lists.archivedHelp\": \"Η αρχειοθέτηση κρύβει τις λίστες από τη σελίδα λιστών, τις καμπάνιες και τις δημόσιες φόρμες. Μπορεί να γίνει unarchived ανά πάσα στιγμή. Είναι χρήσιμο για την απόκρυψη παλιών και σπάνια χρησιμοποιούμενων λιστών.\",\n    \"lists.confirmDelete\": \"Σίγουρα; Αυτό δεν διαγράφει τους συνδρομητές.\",\n    \"lists.confirmSub\": \"Επιβεβαίωση εγγραφής(-ών) στο {name}\",\n    \"lists.invalidName\": \"Μη έγκυρο όνομα\",\n    \"lists.newList\": \"Νέα λίστα\",\n    \"lists.optin\": \"Συγκατάθεση\",\n    \"lists.optinHelp\": \"Η διπλή συγκατάθεση στέλνει ένα e-mail στον συνδρομητή ζητώντας επιβεβαίωση. Στις λίστες διπλής συγκατάθεσης, οι εκστρατείες αποστέλλονται μόνο σε επιβεβαιωμένους συνδρομητές.\",\n    \"lists.optinTo\": \"Συγκατάθεση για το {name}\",\n    \"lists.optins.double\": \"Διπλή συγκατάθεση\",\n    \"lists.optins.single\": \"Μονή συγκατάθεση\",\n    \"lists.sendCampaign\": \"Αποστολή εκστρατείας\",\n    \"lists.sendOptinCampaign\": \"Αποστολή εκστρατείας συγκατάθεσης\",\n    \"lists.type\": \"Τύπος\",\n    \"lists.typeHelp\": \"Οι δημόσιες λίστες είναι ανοιχτές στον κόσμο για εγγραφή και τα ονόματά τους μπορεί να εμφανίζονται σε δημόσιες σελίδες, όπως η σελίδα διαχείρισης εγγραφών.\",\n    \"lists.types.private\": \"Ιδιωτική\",\n    \"lists.types.public\": \"Δημόσια\",\n    \"logs.title\": \"Αρχεία καταγραφής\",\n    \"maintenance.database.title\": \"Βάση δεδομένων\",\n    \"maintenance.database.vacuumHelp\": \"Το PostgreSQL VACUUM ANALYZE ανακτά την αποθήκευση που χρησιμοποιείται από διαγραμμένες σειρές και επιταχύνει σημαντικά την απόδοση της βάσης δεδομένων σε μεγάλες βάσεις δεδομένων. ΣΗΜΑΝΤΙΚΟ: Για μεγάλες βάσεις δεδομένων, αυτή είναι μια αργή, διαδικασία blocking. Προγραμματίστε να εκτελεστεί αυτό κατά τις ώρες χαμηλής κίνησης.\",\n    \"maintenance.help\": \"Ορισμένες ενέργειες ενδέχεται να χρειαστούν λίγο χρόνο για να ολοκληρωθούν, ανάλογα με τον όγκο των δεδομένων.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Ανεπιβεβαίωτες συνδρομές συγκατάθεσης\",\n    \"maintenance.olderThan\": \"Παλαιότερο από\",\n    \"maintenance.orphanHelp\": \"\\\"Ορφανά\\\" = συνδρομητές χωρίς λίστα\",\n    \"maintenance.title\": \"Συντήρηση\",\n    \"maintenance.unconfirmedSubs\": \"Ανεπιβεβαίωτες συνδρομές παλαιότερες από {name} ημέρες.\",\n    \"media.errorReadingFile\": \"Σφάλμα ανάγνωσης αρχείου: {error}\",\n    \"media.errorResizing\": \"Σφάλμα αλλαγής μεγέθους εικόνας: {error}\",\n    \"media.errorSavingThumbnail\": \"Σφάλμα αποθήκευσης μικρογραφίας: {error}\",\n    \"media.errorUploading\": \"Σφάλμα μεταφόρτωσης αρχείου: {error}\",\n    \"media.invalidFile\": \"Μη έγκυρο αρχείο: {error}\",\n    \"media.title\": \"Πολυμέσα\",\n    \"media.unsupportedFileType\": \"Μη υποστηριζόμενος τύπος αρχείου ({type})\",\n    \"media.upload\": \"Μεταφόρτωση\",\n    \"media.uploadHelp\": \"Κάντε κλικ ή σύρετε μία ή περισσότερες εικόνες εδώ\",\n    \"menu.allCampaigns\": \"Όλες οι εκστρατείες\",\n    \"menu.allLists\": \"Όλες οι λίστες\",\n    \"menu.allSubscribers\": \"Όλοι οι συνδρομητές\",\n    \"menu.dashboard\": \"Επισκόπηση\",\n    \"menu.forms\": \"Φόρμες\",\n    \"menu.import\": \"Εισαγωγή\",\n    \"menu.logs\": \"Αρχεία καταγραφής\",\n    \"menu.maintenance\": \"Συντήρηση\",\n    \"menu.media\": \"Πολυμέσα\",\n    \"menu.newCampaign\": \"Δημιουργία νέας\",\n    \"menu.settings\": \"Ρυθμίσεις\",\n    \"public.archiveEmpty\": \"Δεν υπάρχουν ακόμα αρχειοθετημένα μηνύματα.\",\n    \"public.archiveTitle\": \"Αρχείο λίστας αλληλογραφίας\",\n    \"public.blocklisted\": \"Μόνιμη διαγραφή.\",\n    \"public.campaignNotFound\": \"Το μήνυμα ηλεκτρονικού ταχυδρομείου δεν βρέθηκε.\",\n    \"public.confirmOptinSubTitle\": \"Επιβεβαίωση εγγραφής\",\n    \"public.confirmSub\": \"Επιβεβαίωση εγγραφής\",\n    \"public.confirmSubInfo\": \"Έχετε προστεθεί στις ακόλουθες λίστες:\",\n    \"public.confirmSubTitle\": \"Επιβεβαίωση\",\n    \"public.dataRemoved\": \"Οι εγγραφές σας και όλα τα σχετικά δεδομένα έχουν αφαιρεθεί.\",\n    \"public.dataRemovedTitle\": \"Τα δεδομένα έχουν αφαιρεθεί\",\n    \"public.dataSent\": \"Τα δεδομένα σας έχουν αποσταλεί με ηλεκτρονικό ταχυδρομείο ως συνημμένο αρχείο.\",\n    \"public.dataSentTitle\": \"Τα δεδομένα έχουν αποσταλεί με ηλεκτρονικό ταχυδρομείο\",\n    \"public.errorFetchingCampaign\": \"Σφάλμα ανάκτησης μηνύματος ηλεκτρονικού ταχυδρομείου.\",\n    \"public.errorFetchingEmail\": \"Το μήνυμα ηλεκτρονικού ταχυδρομείου δεν βρέθηκε\",\n    \"public.errorFetchingLists\": \"Σφάλμα ανάκτησης λιστών. Επαναλάβετε την προσπάθεια.\",\n    \"public.errorProcessingRequest\": \"Σφάλμα επεξεργασίας αίτησης. Επαναλάβετε την προσπάθεια.\",\n    \"public.errorTitle\": \"Σφάλμα\",\n    \"public.invalidCaptcha\": \"Μη έγκυρο CAPTCHA.\",\n    \"public.invalidFeature\": \"Αυτή η λειτουργία δεν είναι διαθέσιμη.\",\n    \"public.invalidLink\": \"Μη έγκυρος σύνδεσμος\",\n    \"public.managePrefs\": \"Διαχείριση προτιμήσεων\",\n    \"public.managePrefsUnsub\": \"Αποεπιλέξτε τις λίστες για να διαγραφείτε από αυτές.\",\n    \"public.noListsAvailable\": \"Δεν υπάρχουν διαθέσιμες λίστες για εγγραφή.\",\n    \"public.noListsSelected\": \"Δεν έχουν επιλεγεί έγκυρες λίστες για εγγραφή.\",\n    \"public.noSubInfo\": \"Δεν υπάρχουν συνδρομές προς επιβεβαίωση.\",\n    \"public.noSubTitle\": \"Δεν υπάρχουν εγγραφές\",\n    \"public.notFoundTitle\": \"Δεν βρέθηκε\",\n    \"public.poweredBy\": \"Βασίζεται στο\",\n    \"public.prefsSaved\": \"Οι προτιμήσεις σας έχουν αποθηκευτεί.\",\n    \"public.privacyConfirmWipe\": \"Είστε σίγουροι ότι θέλετε να διαγράψετε μόνιμα όλα τα δεδομένα των εγγραφών σας;\",\n    \"public.privacyExport\": \"Εξαγωγή των δεδομένων σας\",\n    \"public.privacyExportHelp\": \"Ένα αντίγραφο των δεδομένων σας θα σας αποσταλεί με ηλεκτρονικό ταχυδρομείο.\",\n    \"public.privacyTitle\": \"Ιδιωτικότητα και δεδομένα\",\n    \"public.privacyWipe\": \"Διαγράψτε τα δεδομένα σας\",\n    \"public.privacyWipeHelp\": \"Διαγράψτε μόνιμα όλες τις εγγραφές σας και τα σχετικά δεδομένα.\",\n    \"public.sub\": \"Εγγραφή\",\n    \"public.subConfirmed\": \"Έγινε εγγραφή.\",\n    \"public.subConfirmedTitle\": \"Επιβεβαιώθηκε\",\n    \"public.subName\": \"Όνομα (προαιρετικό)\",\n    \"public.subNotFound\": \"Η εγγραφή δεν βρέθηκε.\",\n    \"public.subOptinPending\": \"Σας έχει σταλεί e-mail για να επιβεβαιώσετε την εγγραφή σας.\",\n    \"public.subPrivateList\": \"Ιδιωτική λίστα\",\n    \"public.subTitle\": \"Εγγραφή\",\n    \"public.unsub\": \"Διαγραφή\",\n    \"public.unsubFull\": \"Διαγραφή από όλα τα μελλοντικά μηνύματα ηλεκτρονικού ταχυδρομείου.\",\n    \"public.unsubHelp\": \"Θέλετε να διαγραφείτε από αυτή τη λίστα αλληλογραφίας;\",\n    \"public.unsubTitle\": \"Διαγραφή\",\n    \"public.unsubbedInfo\": \"Έχετε διαγραφεί επιτυχώς.\",\n    \"public.unsubbedTitle\": \"Μη εγγεγραμμένος\",\n    \"public.unsubscribeTitle\": \"Διαγραφή από τη λίστα αλληλογραφίας\",\n    \"settings.appearance.adminHelp\": \"Προσαρμοσμένη CSS για την εφαρμογή στο περιβάλλον διαχείρισης.\",\n    \"settings.appearance.adminName\": \"Διαχείριση\",\n    \"settings.appearance.customCSS\": \"Προσαρμοσμένο CSS\",\n    \"settings.appearance.customJS\": \"Προσαρμοσμένη JavaScript\",\n    \"settings.appearance.name\": \"Εμφάνιση\",\n    \"settings.appearance.publicHelp\": \"Προσαρμοσμένο CSS και JavaScript για την εφαρμογή στις δημόσιες σελίδες.\",\n    \"settings.appearance.publicName\": \"Δημόσια\",\n    \"settings.bounces.action\": \"Δράση\",\n    \"settings.bounces.blocklist\": \"Λίστα αποκλεισμού\",\n    \"settings.bounces.count\": \"Πλήθος bounce\",\n    \"settings.bounces.countHelp\": \"Αριθμός bounce ανά συνδρομητή\",\n    \"settings.bounces.enable\": \"Ενεργοποίηση επεξεργασίας bounce\",\n    \"settings.bounces.enableForwardemail\": \"Ενεργοποίηση προώθησης ηλεκτρονικού ταχυδρομείου\",\n    \"settings.bounces.enableMailbox\": \"Ενεργοποίηση γραμματοκιβωτίου για τα bounce\",\n    \"settings.bounces.enablePostmark\": \"Ενεργοποίηση Postmark\",\n    \"settings.bounces.enableSES\": \"Ενεργοποίηση SES\",\n    \"settings.bounces.enableSendgrid\": \"Ενεργοποίηση SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Ενεργοποίηση webhooks για τα bounce\",\n    \"settings.bounces.enabled\": \"Ενεργοποιημένο\",\n    \"settings.bounces.folder\": \"Φάκελος\",\n    \"settings.bounces.folderHelp\": \"Όνομα του φακέλου IMAP προς περιοδική σάρωση. Π.χ.: Εισερχόμενα.\",\n    \"settings.bounces.forwardemailKey\": \"Κλειδί προώθησης email\",\n    \"settings.bounces.invalidScanInterval\": \"Το διάστημα σάρωσης για αναγνώριση των bounce πρέπει να είναι τουλάχιστον 1 λεπτό.\",\n    \"settings.bounces.name\": \"Bounce\",\n    \"settings.bounces.none\": \"Κανένα\",\n    \"settings.bounces.postmarkPassword\": \"Κωδικός πρόσβασης Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Όνομα χρήστη Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Η υπηρεσία Postmark σας επιτρέπει να ενεργοποιήσετε τη βασική εξουσιοδότηση για τα webhooks. Βεβαιωθείτε ότι έχετε εισάγει τα ίδια διαπιστευτήρια εδώ και στις ρυθμίσεις Postmark webhook.\",\n    \"settings.bounces.scanInterval\": \"Χρονικό διάστημα σάρωσης\",\n    \"settings.bounces.scanIntervalHelp\": \"Διάστημα στο οποίο το γραμματοκιβώτιο των bounce θα πρέπει να σαρώνεται για αναπηδήσεις (s για το δευτερόλεπτο, m για το λεπτό).\",\n    \"settings.bounces.sendgridKey\": \"Κλειδί πρόσβασης SendGrid\",\n    \"settings.bounces.type\": \"Τύπος\",\n    \"settings.bounces.username\": \"Όνομα χρήστη\",\n    \"settings.confirmRestart\": \"Βεβαιωθείτε ότι οι τρέχουσες καμπάνιες είναι σε παύση. Επανεκκίνηση;\",\n    \"settings.duplicateMessengerName\": \"Διπλό όνομα messenger: {name}\",\n    \"settings.errorEncoding\": \"Σφάλμα κωδικοποίησης ρυθμίσεων: {error}\",\n    \"settings.errorNoSMTP\": \"Θα πρέπει να είναι ενεργοποιημένο τουλάχιστον ένα μπλοκ SMTP\",\n    \"settings.general.adminNotifEmails\": \"Ηλεκτρονικά μηνύματα ειδοποίησης διαχειριστή\",\n    \"settings.general.adminNotifEmailsHelp\": \"Λίστα με διαχωρισμό με κόμμα των διευθύνσεων e-mail στις οποίες θα πρέπει να αποστέλλονται ειδοποιήσεις του διαχειριστή, όπως ενημερώσεις εισαγωγής, ολοκλήρωση εκστρατείας, αποτυχία κ.λπ.\",\n    \"settings.general.checkUpdates\": \"Έλεγχος για ενημερώσεις\",\n    \"settings.general.checkUpdatesHelp\": \"Να γίνεται περιοδικός έλεγχος για νέες κυκλοφορίες εφαρμογών και ειδοποίηση.\",\n    \"settings.general.enablePublicArchive\": \"Ενεργοποίηση δημόσιου αρχείου λίστας αλληλογραφίας\",\n    \"settings.general.enablePublicArchiveHelp\": \"Να δημοσιεύονται εκστρατείες για τις οποίες έχει ενεργοποιηθεί η αρχειοθέτηση στον δημόσιο ιστότοπο.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Εμφάνιση πλήρους περιεχομένου στο RSS feed\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Εμφάνιση πλήρους περιεχομένου e-mail στο RSS feed. Εάν απενεργοποιηθεί, εμφανίζονται μόνο τίτλοι και σύνδεσμοι.\",\n    \"settings.general.enablePublicSubPage\": \"Ενεργοποίηση δημόσιας σελίδας εγγραφής\",\n    \"settings.general.enablePublicSubPageHelp\": \"Εμφάνιση μιας δημόσιας σελίδας εγγραφής με όλες τις δημόσιες λίστες για να εγγραφούν οι χρήστες.\",\n    \"settings.general.faviconURL\": \"URL του favicon\",\n    \"settings.general.faviconURLHelp\": \"(Προαιρετικό) Πλήρης διεύθυνση URL για το στατικό favicon που θα εμφανίζεται σε προβολή προς τον χρήστη, όπως στη σελίδα διαγραφής.\",\n    \"settings.general.fromEmail\": \"Προεπιλεγμένη διεύθυνση αποστολέα\",\n    \"settings.general.fromEmailHelp\": \"Προεπιλεγμένη διεύθυνση αποστολέα που θα εμφανίζεται στα εξερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου της εκστρατείας. Αυτό μπορεί να αλλάξει ανά εκστρατεία.\",\n    \"settings.general.language\": \"Γλώσσα\",\n    \"settings.general.logoURL\": \"URL του λογότυπου\",\n    \"settings.general.logoURLHelp\": \"(Προαιρετικό) Πλήρης διεύθυνση URL για το στατικό λογότυπο που θα εμφανίζεται σε προβολή που αφορά τον χρήστη, όπως η σελίδα διαγραφής.\",\n    \"settings.general.name\": \"Γενικά\",\n    \"settings.general.rootURL\": \"Ριζικό URL\",\n    \"settings.general.rootURLHelp\": \"Δημόσια URL της εγκατάστασης (χωρίς τελικό \\\"/\\\").\",\n    \"settings.general.sendOptinConfirm\": \"Αποστολή επιβεβαίωσης συγκατάθεσης\",\n    \"settings.general.sendOptinConfirmHelp\": \"Στείλτε ένα e-mail επιβεβαίωσης συγκατάθεσης όταν οι συνδρομητές εγγράφονται μέσω της δημόσιας φόρμας ή όταν προστίθενται από τον διαχειριστή.\",\n    \"settings.general.siteName\": \"Όνομα του ιστότοπου\",\n    \"settings.invalidMessengerName\": \"Μη έγκυρο όνομα messenger.\",\n    \"settings.mailserver.authProtocol\": \"Πρωτόκολλο ταυτοποίησης\",\n    \"settings.mailserver.host\": \"Διακομιστής\",\n    \"settings.mailserver.hostHelp\": \"Διεύθυνση του διακομιστή SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Χρονικό όριο αδράνειας\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Χρόνος αναμονής για νέα δραστηριότητα σε μια σύνδεση πριν από το κλείσιμό της και την αφαίρεσή της από τη δεξαμενή (s για το δευτερόλεπτο, m για το λεπτό).\",\n    \"settings.mailserver.maxConns\": \"Μέγιστες συνδέσεις\",\n    \"settings.mailserver.maxConnsHelp\": \"Μέγιστες ταυτόχρονες συνδέσεις στο διακομιστή.\",\n    \"settings.mailserver.nameHelp\": \"Προαιρετικό μοναδικό όνομα για τον διακομιστή SMTP. Πρέπει να έχει το πρόθεμα email-. Η ρύθμιση αυτή επιτρέπει την ειδική επιλογή του διακομιστή για μια καμπάνια. π.χ.: email-primary-server. Αλφαριθμητικό / παύλα.\",\n    \"settings.mailserver.password\": \"Κωδικός πρόσβασης\",\n    \"settings.mailserver.passwordHelp\": \"Enter για να το αλλάξετε\",\n    \"settings.mailserver.port\": \"Θύρα\",\n    \"settings.mailserver.portHelp\": \"Η θύρα του διακομιστή SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Παράλειψη επαλήθευσης TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Παράλειψη ελέγχου ονόματος διακομιστη στο πιστοποιητικό TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Κρυπτογράφηση TLS/SSL. Το STARTTLS χρησιμοποιείται συχνά.\",\n    \"settings.mailserver.username\": \"Όνομα χρήστη\",\n    \"settings.mailserver.waitTimeout\": \"Χρονικό όριο αναμονής\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Χρόνος αναμονής για νέα δραστηριότητα σε μια σύνδεση πριν από το κλείσιμό της και την αφαίρεσή της από τη δεξαμενή (s για το δευτερόλεπτο, m για το λεπτό).\",\n    \"settings.maintenance.cron\": \"Χρονικό διάστημα Cron\",\n    \"settings.media.provider\": \"Πάροχος\",\n    \"settings.media.s3.bucket\": \"Κάδος\",\n    \"settings.media.s3.bucketPath\": \"Διαδρομή του bucket\",\n    \"settings.media.s3.bucketPathHelp\": \"Διαδρομή μέσα στο bucket για να ανεβάσετε αρχεία. Η προεπιλογή είναι /\",\n    \"settings.media.s3.bucketType\": \"Τύπος bucket\",\n    \"settings.media.s3.bucketTypePrivate\": \"Ιδιωτικό\",\n    \"settings.media.s3.bucketTypePublic\": \"Δημόσιο\",\n    \"settings.media.s3.key\": \"Κλειδί πρόσβασης AWS\",\n    \"settings.media.s3.publicURL\": \"Προσαρμοσμένη δημόσια URL (προαιρετική)\",\n    \"settings.media.s3.publicURLHelp\": \"Προσαρμοσμένο S3 domain που θα χρησιμοποιείται για συνδέσμους εικόνων αντί για την προεπιλεγμένη URL του S3 backend.\",\n    \"settings.media.s3.region\": \"Περιοχή (Region)\",\n    \"settings.media.s3.secret\": \"Μυστικό πρόσβασης AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Χρονικό διάστημα λήξης μεταφόρτωσης\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Προαιρετικό) Καθορίστε τη λήξη για τη δημιουργούμενη προεπιλεγμένη URL. Ισχύει μόνο για ιδιωτικούς κάδους (s, m, h, d για δευτερόλεπτα, λεπτά, ώρες, ημέρες).\",\n    \"settings.media.s3.url\": \"URL του S3 backend\",\n    \"settings.media.s3.urlHelp\": \"Αλλάξτε το μόνο αν χρησιμοποιείτε ένα προσαρμοσμένο backend συμβατό με το S3, όπως το Minio.\",\n    \"settings.media.title\": \"Μεταφορτώσεις πολυμέσων\",\n    \"settings.media.upload.extensions\": \"Επιτρεπόμενες επεκτάσεις αρχείων\",\n    \"settings.media.upload.extensionsHelp\": \"Προσθέστε * για να επιτρέψετε όλες τις επεκτάσεις\",\n    \"settings.media.upload.path\": \"Διαδρομή μεταφόρτωσης\",\n    \"settings.media.upload.pathHelp\": \"Διαδρομή προς τον φάκελο όπου θα μεταφορτωθούν τα πολυμέσα.\",\n    \"settings.media.upload.uri\": \"URI μεταφόρτωσης\",\n    \"settings.media.upload.uriHelp\": \"URI μεταφόρτωσης που είναι ορατό στον έξω κόσμο. Τα πολυμέσα που μεταφορτώνονται στο upload_path θα είναι δημόσια προσβάσιμα στο {root_url}, για παράδειγμα στο https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Μέγιστες συνδέσεις\",\n    \"settings.messengers.maxConnsHelp\": \"Μέγιστες ταυτόχρονες συνδέσεις στο διακομιστή.\",\n    \"settings.messengers.messageSaved\": \"Οι ρυθμίσεις αποθηκεύτηκαν. Επαναφόρτωση εφαρμογής…\",\n    \"settings.messengers.name\": \"Αγγελιαφόροι\",\n    \"settings.messengers.nameHelp\": \"Π.χ.: my-sms. Αλφαριημητικό με παύλες.\",\n    \"settings.messengers.password\": \"Κωδικός πρόσβασης\",\n    \"settings.messengers.retries\": \"Επαναληπτικές προσπάθειες\",\n    \"settings.messengers.retriesHelp\": \"Αριθμός επαναληπτικών προσπαθειών όταν ένα μήνυμα αποτυγχάνει.\",\n    \"settings.messengers.skipTLSHelp\": \"Παράλειψη ελέγχου ονόματος διακομιστή στο πιστοποιητικό TLS.\",\n    \"settings.messengers.timeout\": \"Χρονικό όριο αδράνειας\",\n    \"settings.messengers.timeoutHelp\": \"Χρόνος αναμονής για νέα δραστηριότητα σε μια σύνδεση πριν από το κλείσιμό της και την αφαίρεσή της από τη δεξαμενή (s για το δευτερόλεπτο, m για το λεπτό).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Ριζικό URL του διακομιστή Postback.\",\n    \"settings.messengers.username\": \"Όνομα χρήστη\",\n    \"settings.needsRestart\": \"Οι ρυθμίσεις άλλαξαν. Διακόψτε όλες τις τρέχουσες καμπάνιες και επανεκκινήστε την εφαρμογή\",\n    \"settings.performance.batchSize\": \"Μέγεθος παρτίδας\",\n    \"settings.performance.batchSizeHelp\": \"Ο αριθμός των συνδρομητών που θα αντληθούν από τη βάση δεδομένων σε κάθε επανάληψη. Κάθε επανάληψη αντλεί συνδρομητές από τη βάση δεδομένων, στέλνει μηνύματα σε αυτούς και στη συνέχεια μεταβαίνει στην επόμενη επανάληψη για να αντλήσει την επόμενη παρτίδα. Αυτός ο αριθμός θα πρέπει ιδανικά να είναι υψηλότερος από τη μέγιστη επιτεύξιμη απόδοση (παραλληλισμός * ρυθμός μηνυμάτων).\",\n    \"settings.performance.cacheSlowQueries\": \"Αποθηκεύστε αργές ερωτήσεις βάσης δεδομένων στην cache\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Ενεργοποιήστε αυτήν την επιλογή μόνο σε μεγάλες βάσεις δεδομένων που έχουν επιβραδυνθεί σημαντικά. Προσωρινή αποθήκευση μετρήσεων υπογραφορών λιστών, στατιστικών πίνακα κ.λπ.\",\n    \"settings.performance.concurrency\": \"Παραλληλισμός\",\n    \"settings.performance.concurrencyHelp\": \"Μέγιστος αριθμός νημάτων που θα προσπαθήσει να στείλει μηνύματα ταυτόχρονα.\",\n    \"settings.performance.maxErrThreshold\": \"Μέγιστο όριο σφάλματος\",\n    \"settings.performance.maxErrThresholdHelp\": \"Ο αριθμός των σφαλμάτων (π.χ.: υπέρβαση χρονικού ορίου του διακομιστή SMTP κατά την αποστολή μηνυμάτων) που πρέπει να ανέχεται μια εκστρατεία που εκτελείται πριν διακοπεί για χειροκίνητη διερεύνηση ή παρέμβαση. Ορίστε την τιμή 0 για να μην γίνεται ποτέ παύση.\",\n    \"settings.performance.messageRate\": \"Ρυθμός μηνυμάτων\",\n    \"settings.performance.messageRateHelp\": \"Μέγιστος αριθμός μηνυμάτων που πρέπει να αποστέλλονται ανά δευτερόλεπτο ανά νήμα παράλληλης επεξεργασίας μέσα σε ένα δευτερόλεπτο. Εάν παραλληλισμός = 10 και ρυθμός μηνυμάτων = 10, τότε μπορούν να αποστέλλονται έως και 10x10=100 μηνύματα κάθε δευτερόλεπτο. Αυτό, μαζί με τον παραλληλισμό, θα πρέπει να ρυθμιστεί ώστε τα μηνύματα που αποστέλλονται επιτυχώς ανά δευτερόλεπτο να είναι κάτω από τα όρια ρυθμού των διακομιστών μηνυμάτων, αν αυτά υπάρχουν.\",\n    \"settings.performance.name\": \"Επιδόσεις\",\n    \"settings.performance.slidingWindow\": \"Ενεργοποίηση ορίου ολισθαίνοντος παραθύρου\",\n    \"settings.performance.slidingWindowDuration\": \"Διάρκεια\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Διάρκεια της περιόδου του ολισθαίνοντος παραθύρου (m για το λεπτό, h για την ώρα).\",\n    \"settings.performance.slidingWindowHelp\": \"Περιορισμός του συνολικού αριθμού των μηνυμάτων που αποστέλλονται σε δεδομένη περίοδο. Με την επίτευξη αυτού του ορίου, η αποστολή μηνυμάτων εμποδίζεται μέχρι να εκκαθαριστεί το χρονικό παράθυρο.\",\n    \"settings.performance.slidingWindowRate\": \"Μέγιστα μηνύματα\",\n    \"settings.performance.slidingWindowRateHelp\": \"Μέγιστος αριθμός μηνυμάτων προς αποστολή εντός της διάρκειας του παραθύρου.\",\n    \"settings.privacy.allowBlocklist\": \"Να επιτρέπεται ο αποκλεισμος (blocklisting)\",\n    \"settings.privacy.allowBlocklistHelp\": \"Να επιτρέπεται στους συνδρομητές να διαγραφούν από όλες τις λίστες αλληλογραφίας και να αυτοχαρακτηριστούν ως αποκλεισμένοι;\",\n    \"settings.privacy.allowExport\": \"Να επιτρέπεται η εξαγωγή\",\n    \"settings.privacy.allowExportHelp\": \"Να επιτρέπεται στους συνδρομητές να εξάγουν τα δεδομένα που έχουν συλλεχθεί γι' αυτούς;\",\n    \"settings.privacy.allowPrefs\": \"Να επιτρέπονται αλλαγές προτιμήσεων\",\n    \"settings.privacy.allowPrefsHelp\": \"Να επιτρέπεται στους συνδρομητές να αλλάξουν τις προτιμήσεις τους, όπως τα ονόματά τους και τις συνδρομές σε πολλαπλές λίστες.\",\n    \"settings.privacy.allowWipe\": \"Να επιτρέπεται η ολική εκκαθάριση\",\n    \"settings.privacy.allowWipeHelp\": \"Να επιτρέπεται στους συνδρομητές να διαγράφουν τους εαυτούς τους, συμπεριλαμβανομένων των εγγραφών τους και όλων των άλλων δεδομένων από τη βάση δεδομένων. Οι προβολές εκστρατειών και τα κλικ σε συνδέσμους διαγράφονται επίσης, ενώ οι καταγραφές του πλήθους των προβολές και των κλικ παραμένουν (χωρίς να συνδέεται με αυτά κανένας συνδρομητής), ώστε να μην επηρεάζονται τα στατιστικά και τα αναλυτικά στοιχεία.\",\n    \"settings.privacy.domainAllowlist\": \"Λευκή λίστα τομέων\",\n    \"settings.privacy.domainAllowlistHelp\": \"Επιτρέπονται μόνο διευθύνσεις email με αυτούς τους τομείς για εγγραφή. Εισάγετε έναν τομέα ανά γραμμή, π.χ.: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Λίστα αποκλεισμένων domain\",\n    \"settings.privacy.domainBlocklistHelp\": \"Οι διευθύνσεις ηλεκτρονικού ταχυδρομείου σε αυτά τα domain δεν μπορούν να εγγραφούν. Εισάγετε ένα domain ανά γραμμή, π.χ.: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Παρακολούθηση μεμονωμένων συνδρομητών\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Παρακολουθήστε τις προβολές και τα κλικ σε επίπεδο συνδρομητή. Όταν είναι απενεργοποιημένη, η παρακολούθηση προβολών και κλικ συνεχίζεται χωρίς να συνδέεται με μεμονωμένους συνδρομητές.\",\n    \"settings.privacy.listUnsubHeader\": \"Να περιλαμβάνεται η κεφαλίδα `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Να συμπεριλαμβάνονται επικεφαλίδες διαγραφής που επιτρέπουν σε χρήστες προγραμμάτων ηλεκτρονικού ταχυδρομείου να διαγραφούν από τη λίστα με ένα μόνο κλικ.\",\n    \"settings.privacy.name\": \"Ιδιωτικότητα\",\n    \"settings.privacy.recordOptinIP\": \"Καταγραφή διεύθυνσης IP με τη συγκατάθεση\",\n    \"settings.privacy.recordOptinIPHelp\": \"Καταγράψτε τη διεύθυνση IP της διπλής συγκατάθεσης στα χαρακτηριστικά των συνδρομητών.\",\n    \"settings.restart\": \"Επανεκίννηση\",\n    \"settings.security.CORSDomains\": \"Επιτρεπόμενες προελεύσεις\",\n    \"settings.security.CORSDomainsHelp\": \"Επιτρέπει την πρόσβαση στα API endpoints μέσω browser Javascript από εξωτερικούς τομείς. Εισάγετε έναν τομέα ανά γραμμή (π.χ: https://example.com). Αφήστε κενό για να απενεργοποιήσετε το CORS ή προσθέστε * για να επιτρέψετε όλα (δεν συνιστάται).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Αυτόματη δημιουργία χρηστών\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Δημιουργεί αυτόματα χρήστη κατά την πρώτη σύνδεση αν ο λογαριασμός δεν υπάρχει.\",\n    \"settings.security.OIDCClientID\": \"Ταυτοποίηση πελάτη\",\n    \"settings.security.OIDCClientSecret\": \"Μυστικό πελάτη\",\n    \"settings.security.OIDCDefaultListRole\": \"Προεπιλεγμένος ρόλος λίστας\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Προεπιλεγμένος ρόλος που ανατίθεται στους χρήστες που δημιουργούνται αυτόματα από OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Προεπιλεγμένος ρόλος χρήστη\",\n    \"settings.security.OIDCHelp\": \"Ενεργοποίηση σύνδεσης OAuth2 OpenID Connect μέσω ενός παροχέα OAuth.\",\n    \"settings.security.OIDCName\": \"Όνομα παρόχου\",\n    \"settings.security.OIDCRedirectURL\": \"URL ανακατεύθυνσης για τον πάροχο oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Αυτό δεν φαίνεται να είναι ένα URL παραγωγής. Αλλάξτε το URL ριζικού στο 'Γενικές' ρυθμίσεις.\",\n    \"settings.security.OIDCURL\": \"URL παρόχου\",\n    \"settings.security.OIDCWarning\": \"Όταν είναι ενεργοποιημένο το OIDC, η προεπιλεγμένη σύνδεση μέσω κωδικού πρόσβασης απενεργοποιείται. Μη έγκυρη ρύθμιση μπορεί να σας αποκλείσει.\",\n    \"settings.security.altchaComplexity\": \"Πολυπλοκότητα Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Μεγαλύτερες τιμές παρέχουν καλύτερη ασφάλεια, αλλά επιβραδύνουν τη λύση (1000-1000000).\",\n    \"settings.security.captchaKey\": \"SiteKey του hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Επισκεφθείτε το www.hcaptcha.com για να λάβετε το κλειδί και το μυστικό.\",\n    \"settings.security.captchaSecret\": \"Μυστικό (secret) του hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Ενεργοποίηση CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Ενεργοποιήστε το CAPTCHA στη δημόσια φόρμα εγγραφής.\",\n    \"settings.security.enableOIDC\": \"Ενεργοποίηση ηλεκτρονικής ταυτότητας OIDC SSO\",\n    \"settings.security.name\": \"Ασφάλεια\",\n    \"settings.smtp.customHeaders\": \"Προσαρμοσμένες επικεφαλίδες\",\n    \"settings.smtp.customHeadersHelp\": \"Προαιρετικός πίνακας κεφαλίδων e-mail που πρέπει να περιλαμβάνονται σε όλα τα μηνύματα που αποστέλλονται από αυτόν τον διακομιστή. π.χ.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Ενεργοποιημένο\",\n    \"settings.smtp.heloHost\": \"Όνομα διακομιστή για την εντολή HELO\",\n    \"settings.smtp.heloHostHelp\": \"Προαιρετικό. Ορισμένοι διακομιστές SMTP απαιτούν ένα FQDN στο όνομα κεντρικού υπολογιστή. Από προεπιλογή, οι εντολές HELLO ακολουθούνται από `localhost`. Ορίστε το εάν πρέπει να χρησιμοποιηθεί ένα προσαρμοσμένο όνομα κεντρικού υπολογιστή.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Επαναληπτικές προσπάθειες\",\n    \"settings.smtp.retriesHelp\": \"Αριθμός επαναληπτικών προσπαθειών όταν ένα μήνυμα αποτυγχάνει.\",\n    \"settings.smtp.sendTest\": \"Αποστολή δοκιμαστικού e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Ορισμός προσαρμοσμένων κεφαλίδων\",\n    \"settings.smtp.testConnection\": \"Δοκιμή σύνδεσης\",\n    \"settings.smtp.testEnterEmail\": \"Εισάγετε ξανά τον κωδικό πρόσβασης για δοκιμή\",\n    \"settings.smtp.toEmail\": \"Στο e-mail\",\n    \"settings.title\": \"Ρυθμίσεις\",\n    \"settings.updateAvailable\": \"Μια νέα ενημέρωση {version} είναι διαθέσιμη.\",\n    \"subscribers.activity\": \"Δραστηριότητα\",\n    \"subscribers.advancedQuery\": \"Για προχωρημένους\",\n    \"subscribers.advancedQueryHelp\": \"Μερική έκφραση SQL για την αναζήτηση χαρακτηριστικών συνδρομητών\",\n    \"subscribers.attribsHelp\": \"Τα χαρακτηριστικά ορίζονται ως JSON map, για παράδειγμα:\",\n    \"subscribers.blocklistedHelp\": \"Οι αποκλεισμένοι συνδρομητές δεν θα λάβουν ποτέ κανένα μήνυμα ηλεκτρονικού ταχυδρομείου.\",\n    \"subscribers.confirmBlocklist\": \"Να αποκλειστούν {αριθμός} συνδρομητές;\",\n    \"subscribers.confirmDelete\": \"Να διαγραφούν {αριθμός} συνδρομητές;\",\n    \"subscribers.confirmExport\": \"Να γίνει εξαγωγή {αριθμός} συνδρομητών;\",\n    \"subscribers.domainBlocklisted\": \"Το domain είναι αποκλεισμένο.\",\n    \"subscribers.downloadData\": \"Λήψη δεδομένων\",\n    \"subscribers.email\": \"Διεύθυνση e-mail\",\n    \"subscribers.emailExists\": \"Το e-mail υπάρχει ήδη.\",\n    \"subscribers.errorBlocklisting\": \"Σφάλμα αποκλεισμού συνδρομητών: {error}\",\n    \"subscribers.errorNoIDs\": \"Δεν δόθηκαν ID.\",\n    \"subscribers.errorNoListsGiven\": \"Δεν δόθηκαν λίστες.\",\n    \"subscribers.errorPreparingQuery\": \"Σφάλμα προετοιμασίας ερωτήματος συνδρομητή: {error}\",\n    \"subscribers.errorSendingOptin\": \"Σφάλμα αποστολής e-mail συγκατάθεσης.\",\n    \"subscribers.export\": \"Εξαγωγή\",\n    \"subscribers.invalidAction\": \"Μη έγκυρη δράση.\",\n    \"subscribers.invalidEmail\": \"Μη έγκυρο e-mail.\",\n    \"subscribers.invalidJSON\": \"Μη έγκυρο JSON στα χαρακτηριστικά.\",\n    \"subscribers.invalidName\": \"Μη έγκυρο όνομα.\",\n    \"subscribers.listChangeApplied\": \"Η μεταβολή της λίστας εφαρμόστηκε.\",\n    \"subscribers.lists\": \"Λίστες\",\n    \"subscribers.listsHelp\": \"Οι λίστες από τις οποίες οι ίδιοι οι συνδρομητές έχουν διαγραφεί δεν μπορούν να διαγραφούν.\",\n    \"subscribers.listsPlaceholder\": \"Λίστες προς εγγραφή\",\n    \"subscribers.manageLists\": \"Διαχείριση λιστών\",\n    \"subscribers.markUnsubscribed\": \"Χαρακτηρίστε ως μη εγγεγραμμένο\",\n    \"subscribers.newSubscriber\": \"Νέος συνδρομητής\",\n    \"subscribers.numSelected\": \"{αριθμός} επιλεγμένοι συνδρομητές\",\n    \"subscribers.optinSubject\": \"Επιβεβαίωση εγγραφής\",\n    \"subscribers.preconfirm\": \"Προεπιβεβαίωση εγγραφών\",\n    \"subscribers.preconfirmHelp\": \"Να μην αποσταλούν e-mail συγκατάθεσης, και να χαρακτηριστούν όλες οι εγγραφές στη λίστα ως \\\"εγγεγραμμένες\\\".\",\n    \"subscribers.query\": \"Ερώτημα\",\n    \"subscribers.queryPlaceholder\": \"E-mail ή όνομα\",\n    \"subscribers.reset\": \"Επαναφορά\",\n    \"subscribers.selectAll\": \"Επιλέξτε όλα τα {num}\",\n    \"subscribers.sendOptinConfirm\": \"Αποστολή επιβεβαίωσης συγκατάθεσης\",\n    \"subscribers.sentOptinConfirm\": \"Η επιβεβαίωση συγκατάθεσης απεστάλη\",\n    \"subscribers.status.blocklisted\": \"Αποκλεισμένο\",\n    \"subscribers.status.confirmed\": \"Επιβεβαιωμένο\",\n    \"subscribers.status.enabled\": \"Ενεργοποιημένο\",\n    \"subscribers.status.subscribed\": \"Εγγεγραμμένο\",\n    \"subscribers.status.unconfirmed\": \"Ανεπιβεβαίωτο\",\n    \"subscribers.status.unsubscribed\": \"Μη εγγεγραμμένο\",\n    \"subscribers.subscribersDeleted\": \"{αριθμός} συνδρομητής(-ές) διαγράφηκε(-αν)\",\n    \"templates.cantDeleteDefault\": \"Δεν είναι δυνατή η διαγραφή ανύπαρκτου ή προεπιλεγμένου προτύπου\",\n    \"templates.default\": \"Προεπιλεγμένο\",\n    \"templates.dummyName\": \"Εικονική εκστρατεία\",\n    \"templates.dummySubject\": \"Θέμα εικονικής καμπάνιας\",\n    \"templates.errorCompiling\": \"Σφάλμα σύνταξης προτύπου: {error}\",\n    \"templates.errorRendering\": \"Σφάλμα απεικόνισης μηνύματος: {error}\",\n    \"templates.fieldInvalidName\": \"Μη έγκυρο μήκος για το όνομα.\",\n    \"templates.makeDefault\": \"Ορισμός ως προεπιλεγμένο\",\n    \"templates.newTemplate\": \"Νέο πρότυπο\",\n    \"templates.placeholderHelp\": \"Το προσωρινό {placeholder} θα πρέπει να εμφανίζεται ακριβώς μία φορά στο πρότυπο.\",\n    \"templates.preview\": \"Προεπισκόπηση\",\n    \"templates.rawHTML\": \"Ακατέργαστη HTML\",\n    \"templates.subject\": \"Θέμα\",\n    \"templates.typeCampaignHTML\": \"Εκστρατεία / HTML\",\n    \"templates.typeCampaignVisual\": \"Εκστρατεία / Οπτικό\",\n    \"templates.typeTransactional\": \"Συναλλακτικό\",\n    \"users.apiOneTimeToken\": \"Αντιγράψτε το τυχαίο κλειδί πρόσβασης στο API τώρα. Δεν θα εμφανιστεί ξανά.\",\n    \"users.cantDeleteRole\": \"Δεν είναι δυνατή η διαγραφή του ρόλου που χρησιμοποιείται.\",\n    \"users.firstTime\": \"Αυτή είναι μια καινούργια εγκατάσταση. Επιλέξτε ένα όνομα χρήστη και έναν κωδικό πρόσβασης για τον υπερδιαχειριστή του συστήματος.\",\n    \"users.forgotPassword\": \"Ξεχάσατε τον κωδικό πρόσβασης;\",\n    \"users.invalidLogin\": \"Μη έγκυρη σύνδεση ή κωδικός πρόσβασης\",\n    \"users.invalidPassword\": \"Μη έγκυρος κωδικός πρόσβασης\",\n    \"users.invalidRequest\": \"Μη έγκυρο αίτημα εξουσιοδότησης\",\n    \"users.invalidResetLink\": \"Μη έγκυρος ή λήξης σύνδεσμος επαναφοράς\",\n    \"users.lastLogin\": \"Τελευταία σύνδεση\",\n    \"users.listPerms\": \"Αρμοδιότητες λίστας\",\n    \"users.listPermsWarning\": \"ενεργοποιήθηκε λειτουργία για lists:get_all ή lists:manage_all που αντικαθιστά τις αρμοδιότητες ανά λίστα\",\n    \"users.listRole\": \"Ρόλος λίστας | Ρόλος λίστας\",\n    \"users.listRoles\": \"Ρόλοι λίστας\",\n    \"users.login\": \"Σύνδεση\",\n    \"users.loginOIDC\": \"Σύνδεση με το {name}\",\n    \"users.logout\": \"Αποσύνδεση\",\n    \"users.needSuper\": \"Δεν ήταν δυνατή η ενημέρωση χρήστη(ών). Πρέπει να υπάρχει τουλάχιστον ένας ενεργός χρήστης ως υπερδιαχειριστής.\",\n    \"users.newListRole\": \"Νέος ρόλος λίστας\",\n    \"users.newPassword\": \"Νέος κωδικός πρόσβασης\",\n    \"users.newUser\": \"Νέος χρήστης\",\n    \"users.newUserRole\": \"Νέος ρόλος χρήστη\",\n    \"users.password\": \"Κωδικός πρόσβασης\",\n    \"users.passwordEnable\": \"Ενεργοποίηση σύνδεσης με κωδικό πρόσβασης\",\n    \"users.passwordMismatch\": \"Οι κωδικοί δεν ταιριάζουν\",\n    \"users.passwordRepeat\": \"Επανάληψη κωδικού πρόσβασης\",\n    \"users.perms\": \"Αρμοδιότητες\",\n    \"users.profile\": \"Προφίλ\",\n    \"users.resetLinkSent\": \"Εάν ο λογαριασμός είναι ενεργός, θα λάβετε ένα email επαναφοράς κωδικού πρόσβασης.\",\n    \"users.resetPassword\": \"Επαναφορά κωδικού πρόσβασης\",\n    \"users.role\": \"Ρόλος | Ρόλοι\",\n    \"users.roleGroup\": \"Ομάδα\",\n    \"users.roles\": \"Ρόλοι\",\n    \"users.status.disabled\": \"Απενεργοποιημένο\",\n    \"users.status.enabled\": \"Ενεργοποιημένο\",\n    \"users.totpCode\": \"TOTP code\",\n    \"users.totpCodeHelp\": \"Εισάγετε τον κωδικό 6 ψηφίων από την εφαρμογή authenticator\",\n    \"users.totpScanQR\": \"Σαρώστε τον κωδικό QR με την εφαρμογή authenticator σας, όπως το Ente ή Google Authenticator, και εισάγετε τον κωδικό TOTP παρακάτω.\",\n    \"users.totpSecret\": \"Secret key\",\n    \"users.twoFA\": \"Ταυτοποίηση δύο παραγόντων\",\n    \"users.twoFAAlreadyEnabled\": \"Η ταυτοποίηση δύο παραγόντων είναι ήδη ενεργοποιημένη.\",\n    \"users.twoFAEnabled\": \"Η ταυτοποίηση δύο παραγόντων είναι ενεργή\",\n    \"users.twoFAEnabledDesc\": \"Ο λογαριασμός σας προστατεύεται με {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Ενεργοποιήστε 2FA για πρόσθετη ασφάλεια κατά την είσοδό σας στον λογαριασμό σας.\",\n    \"users.type\": \"Τύπος\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Υπερδιαχειριστής\",\n    \"users.type.user\": \"Χρήστης\",\n    \"users.userRole\": \"Ρόλος χρήστη | Ρόλοι χρήστη\",\n    \"users.userRoles\": \"Ρόλοι χρήστη\",\n    \"users.username\": \"Όνομα χρήστη\",\n    \"users.usernameHelp\": \"Χρησιμοποιείται με τη σύνδεση κωδικού πρόσβασης\"\n}\n"
  },
  {
    "path": "i18n/en.json",
    "content": "{\n    \"_.code\": \"en\",\n    \"_.name\": \"English (en)\",\n    \"admin.errorMarshallingConfig\": \"Error marshalling config: {error}\",\n    \"analytics.count\": \"Count\",\n    \"analytics.fromDate\": \"From\",\n    \"analytics.invalidDates\": \"Invalid `from` or `to` dates.\",\n    \"analytics.links\": \"Links\",\n    \"analytics.nonIndividualTracking\": \"The counts are non-unique as individual subscriber tracking is turned off.\",\n    \"analytics.trackingDisabled\": \"E-mail tracking is globally disabled. No new views or clicks are being recorded.\",\n    \"analytics.title\": \"Analytics\",\n    \"analytics.toDate\": \"To\",\n    \"bounces.complaint\": \"Complaint\",\n    \"bounces.hard\": \"Hard\",\n    \"bounces.soft\": \"Soft\",\n    \"bounces.source\": \"Source\",\n    \"bounces.unknownService\": \"Unknown service.\",\n    \"bounces.view\": \"View bounces\",\n    \"campaigns.addAltText\": \"Add alternate plain text message\",\n    \"campaigns.addAttachments\": \"Add attachments\",\n    \"campaigns.archive\": \"Archive\",\n    \"campaigns.archiveEnable\": \"Publish to public archive\",\n    \"campaigns.archiveHelp\": \"Publish (running, paused, finished) the campaign message on the public archive.\",\n    \"campaigns.archiveMeta\": \"Campaign metadata\",\n    \"campaigns.archiveMetaHelp\": \"Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.\",\n    \"campaigns.archiveSlug\": \"URL Slug\",\n    \"campaigns.archiveSlugHelp\": \"A short name for the page to be used in the public URL. eg: my-newsletter-edition-2\",\n    \"globals.terms.attribs\": \"Attributes\",\n    \"campaigns.attribsHelp\": \"Custom JSON object {} attributes for this campaign. Use in template with {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.attachments\": \"Attachments\",\n    \"campaigns.cantUpdate\": \"Cannot update a running or a finished campaign.\",\n    \"campaigns.clicks\": \"Clicks\",\n    \"campaigns.confirmDelete\": \"Delete {name}\",\n    \"campaigns.confirmSchedule\": \"This campaign will start automatically at the scheduled date and time. Schedule now?\",\n    \"campaigns.confirmSwitchFormat\": \"The content may lose formatting. Continue?\",\n    \"campaigns.confirmOverwriteContent\": \"This will overwrite all content. Continue?\",\n    \"campaigns.content\": \"Content\",\n    \"campaigns.contentHelp\": \"Content here\",\n    \"campaigns.continue\": \"Continue\",\n    \"campaigns.copyOf\": \"Copy of {name}\",\n    \"campaigns.customHeadersHelp\": \"Array of custom headers to attach to outgoing messages. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Date and time\",\n    \"campaigns.ended\": \"Ended\",\n    \"campaigns.errorSendTest\": \"Error sending test: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Error compiling campaign body: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Invalid `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Invalid list IDs.\",\n    \"campaigns.fieldInvalidMessenger\": \"Unknown messenger {name}.\",\n    \"campaigns.fieldInvalidName\": \"Invalid length for name.\",\n    \"campaigns.fieldInvalidSendAt\": \"Scheduled date should be in the future.\",\n    \"campaigns.fieldInvalidSubject\": \"Invalid length for subject.\",\n    \"campaigns.formatHTML\": \"Format HTML\",\n    \"campaigns.fromAddress\": \"From address\",\n    \"campaigns.fromAddressPlaceholder\": \"Your Name <noreply@yoursite.com>\",\n    \"campaigns.invalid\": \"Invalid campaign\",\n    \"campaigns.invalidCustomHeaders\": \"Invalid custom headers: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Campaign needs a date to be scheduled.\",\n    \"campaigns.newCampaign\": \"New campaign\",\n    \"campaigns.noKnownSubsToTest\": \"No known subscribers to test.\",\n    \"campaigns.noOptinLists\": \"No opt-in lists found to create campaign.\",\n    \"campaigns.noSubs\": \"There are no subscribers in the selected lists to create the campaign.\",\n    \"campaigns.noSubsToTest\": \"There are no subscribers to target.\",\n    \"campaigns.notFound\": \"Campaign not found.\",\n    \"campaigns.onlyActiveCancel\": \"Only active campaigns can be cancelled.\",\n    \"campaigns.onlyActivePause\": \"Only active campaigns can be paused.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Only draft or paused campaigns can be scheduled.\",\n    \"campaigns.onlyPausedDraft\": \"Only paused campaigns and drafts can be started.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Only scheduled campaigns can be saved as drafts.\",\n    \"campaigns.pause\": \"Pause\",\n    \"campaigns.plainText\": \"Plain text\",\n    \"campaigns.preview\": \"Preview\",\n    \"campaigns.progress\": \"Progress\",\n    \"campaigns.queryPlaceholder\": \"Name or subject\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Raw HTML\",\n    \"campaigns.removeAltText\": \"Remove alternate plain text message\",\n    \"campaigns.richText\": \"Rich text\",\n    \"campaigns.importVisualTemplate\": \"Import visual template\",\n    \"campaigns.visual\": \"Visual\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.schedule\": \"Schedule campaign\",\n    \"campaigns.scheduled\": \"Scheduled\",\n    \"campaigns.send\": \"Send\",\n    \"campaigns.sendLater\": \"Send later\",\n    \"campaigns.sendTest\": \"Send test message\",\n    \"campaigns.sendTestHelp\": \"Hit Enter after typing an address to add multiple recipients. The addresses must belong to existing subscribers.\",\n    \"campaigns.sendToLists\": \"Lists to send to\",\n    \"campaigns.sent\": \"Sent\",\n    \"campaigns.start\": \"Start campaign\",\n    \"campaigns.started\": \"\\\"{name}\\\" started\",\n    \"campaigns.startedAt\": \"Started\",\n    \"campaigns.stats\": \"Stats\",\n    \"campaigns.status.cancelled\": \"Cancelled\",\n    \"campaigns.status.draft\": \"Draft\",\n    \"campaigns.status.finished\": \"Finished\",\n    \"campaigns.status.paused\": \"Paused\",\n    \"campaigns.status.running\": \"Running\",\n    \"campaigns.status.scheduled\": \"Scheduled\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" is {status}\",\n    \"campaigns.subject\": \"Subject\",\n    \"campaigns.templatingRef\": \"Templating reference\",\n    \"campaigns.testEmails\": \"E-mails\",\n    \"campaigns.testSent\": \"Test message sent\",\n    \"campaigns.timestamps\": \"Timestamps\",\n    \"campaigns.trackLink\": \"Track link\",\n    \"campaigns.unSchedule\": \"Unschedule\",\n    \"campaigns.views\": \"Views\",\n    \"dashboard.campaignViews\": \"Campaign views\",\n    \"dashboard.linkClicks\": \"Link clicks\",\n    \"dashboard.messagesSent\": \"Messages sent\",\n    \"dashboard.orphanSubs\": \"Orphans\",\n    \"email.data.info\": \"A copy of all data recorded on you is attached as a file in JSON format. It can be viewed in a text editor.\",\n    \"email.data.title\": \"Your data\",\n    \"email.optin.confirmSub\": \"Confirm subscription\",\n    \"email.optin.confirmSubHelp\": \"Confirm your subscription by clicking the below button.\",\n    \"email.optin.confirmSubInfo\": \"You have been added to the following lists:\",\n    \"email.optin.confirmSubTitle\": \"Confirm subscription\",\n    \"email.optin.confirmSubWelcome\": \"Hi\",\n    \"email.optin.privateList\": \"Private list\",\n    \"email.status.campaignReason\": \"Reason\",\n    \"email.status.campaignSent\": \"Sent\",\n    \"email.status.campaignUpdateTitle\": \"Campaign update\",\n    \"email.status.importFile\": \"File\",\n    \"email.status.importRecords\": \"Records\",\n    \"email.status.importTitle\": \"Import update\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Unsubscribe\",\n    \"email.unsubHelp\": \"Don't want to receive these e-mails?\",\n    \"email.viewInBrowser\": \"View in browser\",\n    \"forms.formHTML\": \"Form HTML\",\n    \"forms.formHTMLHelp\": \"Use the following HTML to show a subscription form on an external webpage. The form should have the email field and one or more `l` (list UUID) fields. The name field is optional.\",\n    \"forms.noPublicLists\": \"There are no public lists to generate a forms.\",\n    \"forms.publicLists\": \"Public lists\",\n    \"forms.publicSubPage\": \"Public subscription page\",\n    \"forms.selectHelp\": \"Select lists to add to the form.\",\n    \"forms.title\": \"Forms\",\n    \"globals.buttons.add\": \"Add\",\n    \"globals.buttons.addNew\": \"Add new\",\n    \"globals.buttons.back\": \"Back\",\n    \"globals.buttons.cancel\": \"Cancel\",\n    \"globals.buttons.clear\": \"Clear\",\n    \"globals.buttons.clearAll\": \"Clear all\",\n    \"globals.buttons.clone\": \"Clone\",\n    \"globals.buttons.close\": \"Close\",\n    \"globals.buttons.continue\": \"Continue\",\n    \"globals.buttons.enable\": \"Enable\",\n    \"globals.buttons.disable\": \"Disable\",\n    \"globals.buttons.copy\": \"Copy\",\n    \"globals.buttons.delete\": \"Delete\",\n    \"globals.buttons.deleteAll\": \"Delete all\",\n    \"globals.buttons.edit\": \"Edit\",\n    \"globals.buttons.enabled\": \"Enabled\",\n    \"globals.buttons.insert\": \"Insert\",\n    \"globals.buttons.learnMore\": \"Learn more\",\n    \"globals.buttons.manage\": \"Manage\",\n    \"globals.buttons.more\": \"More\",\n    \"globals.buttons.new\": \"New\",\n    \"globals.buttons.ok\": \"Ok\",\n    \"globals.buttons.remove\": \"Remove\",\n    \"globals.buttons.save\": \"Save\",\n    \"globals.buttons.saveChanges\": \"Save changes\",\n    \"globals.buttons.toggleSelect\": \"Toggle selection\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.view\": \"View\",\n    \"globals.days.0\": \"Sun\",\n    \"globals.days.1\": \"Sun\",\n    \"globals.days.2\": \"Mon\",\n    \"globals.days.3\": \"Tue\",\n    \"globals.days.4\": \"Wed\",\n    \"globals.days.5\": \"Thu\",\n    \"globals.days.6\": \"Fri\",\n    \"globals.days.7\": \"Sat\",\n    \"globals.fields.createdAt\": \"Created\",\n    \"globals.fields.description\": \"Description\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Name\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Type\",\n    \"globals.fields.updatedAt\": \"Updated\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.selectAll\": \"Select all {num}\",\n    \"globals.messages.confirmDelete\": \"Delete {num} {name}?\",\n    \"globals.messages.numSelected\": \"{num} selected\",\n    \"globals.messages.confirm\": \"Are you sure?\",\n    \"globals.messages.confirmDiscard\": \"Discard changes?\",\n    \"globals.messages.copied\": \"Copied\",\n    \"globals.messages.created\": \"\\\"{name}\\\" created\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" deleted\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) deleted\",\n    \"globals.messages.done\": \"Done\",\n    \"globals.messages.emptyState\": \"Nothing here\",\n    \"globals.messages.errorCreating\": \"Error creating {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Error deleting {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Error fetching {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"One or more IDs are invalid: {error}\",\n    \"globals.messages.errorUUID\": \"Error generating UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Error updating {name}: {error}\",\n    \"globals.messages.internalError\": \"Internal server error\",\n    \"globals.messages.invalidData\": \"Invalid data\",\n    \"globals.messages.invalidValue\": \"Invalid value\",\n    \"globals.messages.invalidFields\": \"Invalid fields: {name}\",\n    \"globals.messages.invalidID\": \"Invalid ID(s)\",\n    \"globals.messages.invalidUUID\": \"Invalid UUID(s)\",\n    \"globals.messages.missingFields\": \"Missing field(s): {name}\",\n    \"globals.messages.notFound\": \"{name} not found\",\n    \"globals.messages.passwordChange\": \"Enter a value to change\",\n    \"globals.messages.passwordChangeFull\": \"Clear and re-enter the full password in '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permission denied: {name}\",\n    \"globals.messages.slowQueriesCached\": \"Slow queries are being cached. Some numbers on this page will not be up-to-date.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" updated\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Oct\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dec\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"May\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Off\",\n    \"globals.terms.all\": \"All\",\n    \"globals.terms.analytics\": \"Analytics\",\n    \"globals.terms.bounce\": \"Bounce | Bounces\",\n    \"globals.terms.bounces\": \"Bounces\",\n    \"globals.terms.campaign\": \"Campaign | Campaigns\",\n    \"globals.terms.campaigns\": \"Campaigns\",\n    \"globals.terms.dashboard\": \"Dashboard\",\n    \"globals.terms.day\": \"Day | Days\",\n    \"globals.terms.hour\": \"Hour | Hours\",\n    \"globals.terms.list\": \"List | Lists\",\n    \"globals.terms.lists\": \"Lists\",\n    \"globals.terms.media\": \"Media | Media\",\n    \"globals.terms.messenger\": \"Messenger | Messengers\",\n    \"globals.terms.messengers\": \"Messengers\",\n    \"globals.terms.minute\": \"Minute | Minutes\",\n    \"globals.terms.month\": \"Month | Months\",\n    \"globals.terms.none\": \"None\",\n    \"globals.terms.new\": \"New\",\n    \"globals.terms.second\": \"Second | Seconds\",\n    \"globals.terms.settings\": \"Settings\",\n    \"globals.terms.subscriber\": \"Subscriber | Subscribers\",\n    \"globals.terms.subscribers\": \"Subscribers\",\n    \"globals.terms.subscriptions\": \"Subscription | Subscriptions\",\n    \"globals.terms.tag\": \"Tag | Tags\",\n    \"globals.terms.tags\": \"Tags\",\n    \"globals.terms.template\": \"Template | Templates\",\n    \"globals.terms.templates\": \"Templates\",\n    \"globals.terms.tx\": \"Transactional | Transactional\",\n    \"globals.terms.user\": \"User | Users\",\n    \"globals.terms.users\": \"Users\",\n    \"globals.terms.year\": \"Year | Years\",\n    \"globals.terms.import\": \"Import\",\n    \"globals.terms.url\": \"URL\",\n    \"import.alreadyRunning\": \"An import is already running. Wait for it to finish or stop it before trying again.\",\n    \"import.blocklist\": \"Blocklist\",\n    \"import.csvDelim\": \"CSV delimiter\",\n    \"import.csvDelimHelp\": \"Default delimiter is comma.\",\n    \"import.csvExample\": \"Example raw CSV\",\n    \"import.csvFile\": \"CSV or ZIP file\",\n    \"import.csvFileHelp\": \"Click or drag a CSV or ZIP file here\",\n    \"import.errorCopyingFile\": \"Error copying file: {error}\",\n    \"import.errorProcessingZIP\": \"Error processing ZIP file: {error}\",\n    \"import.errorStarting\": \"Error starting import: {error}\",\n    \"import.importDone\": \"Done\",\n    \"import.importStarted\": \"Import started\",\n    \"import.instructions\": \"Instructions\",\n    \"import.instructionsHelp\": \"Upload a CSV file or a ZIP file with a single CSV file in it to bulk import subscribers. The CSV file should have the following headers with the exact column names. attributes (optional) should be a valid JSON string with double escaped quotes.\",\n    \"import.invalidDelim\": \"Delimiter should be a single character.\",\n    \"import.invalidFile\": \"Invalid file: {error}\",\n    \"import.invalidMode\": \"Invalid mode\",\n    \"import.invalidParams\": \"Invalid params: {error}\",\n    \"import.invalidSubStatus\": \"Invalid subscription status\",\n    \"import.listSubHelp\": \"Lists to subscribe to.\",\n    \"import.mode\": \"Mode\",\n    \"import.overwriteUserInfo\": \"Overwrite user info\",\n    \"import.overwriteUserInfoHelp\": \"Overwrite name and attributes of existing subscribers\",\n    \"import.overwriteSubStatus\": \"Overwrite subscription status\",\n    \"import.overwriteSubStatusHelp\": \"Overwrite status of existing list subscriptions\",\n    \"import.recordsCount\": \"{num} / {total} records\",\n    \"import.stopImport\": \"Stop import\",\n    \"import.subscribe\": \"Subscribe\",\n    \"import.subscribeWarning\": \"Overwriting will re-subscribe unusbscribed e-mails. Continue?\",\n    \"import.title\": \"Import subscribers\",\n    \"import.upload\": \"Upload\",\n    \"lists.confirmDelete\": \"Are you sure? This does not delete subscribers.\",\n    \"lists.confirmSub\": \"Confirm subscription(s) to {name}\",\n    \"lists.invalidName\": \"Invalid name\",\n    \"lists.newList\": \"New list\",\n    \"lists.optin\": \"Opt-in\",\n    \"lists.optinHelp\": \"Double opt-in sends an e-mail to the subscriber asking for confirmation. On Double opt-in lists, campaigns are only sent to confirmed subscribers.\",\n    \"lists.optinTo\": \"Opt-in to {name}\",\n    \"lists.optins.double\": \"Double opt-in\",\n    \"lists.optins.single\": \"Single opt-in\",\n    \"lists.sendCampaign\": \"Send campaign\",\n    \"lists.sendOptinCampaign\": \"Send opt-in campaign\",\n    \"lists.type\": \"Type\",\n    \"lists.typeHelp\": \"Public lists are open to the world to subscribe and their names may appear on public pages such as the subscription management page.\",\n    \"lists.types.private\": \"Private\",\n    \"lists.types.public\": \"Public\",\n    \"logs.title\": \"Logs\",\n    \"maintenance.help\": \"Some actions may take a while to complete depending on the amount of data.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Unconfirmed opt-in subscriptions\",\n    \"maintenance.olderThan\": \"Older than\",\n    \"maintenance.orphanHelp\": \"Orphans = subscribers with no lists\",\n    \"maintenance.title\": \"Maintenance\",\n    \"maintenance.unconfirmedSubs\": \"Unconfirmed subscriptions older than {name} days.\",\n    \"media.errorReadingFile\": \"Error reading file: {error}\",\n    \"media.errorResizing\": \"Error resizing image: {error}\",\n    \"media.errorSavingThumbnail\": \"Error saving thumbnail: {error}\",\n    \"media.errorUploading\": \"Error uploading file: {error}\",\n    \"media.invalidFile\": \"Invalid file: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Unsupported file type ({type})\",\n    \"media.upload\": \"Upload\",\n    \"media.uploadHelp\": \"Click or drag one or more images here\",\n    \"menu.allCampaigns\": \"All campaigns\",\n    \"menu.allLists\": \"All lists\",\n    \"menu.allSubscribers\": \"All subscribers\",\n    \"menu.dashboard\": \"Dashboard\",\n    \"menu.forms\": \"Forms\",\n    \"menu.import\": \"Import\",\n    \"menu.logs\": \"Logs\",\n    \"menu.maintenance\": \"Maintenance\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Create new\",\n    \"menu.settings\": \"Settings\",\n    \"public.archiveEmpty\": \"No archived messages yet.\",\n    \"public.archiveTitle\": \"Mailing list archive\",\n    \"public.blocklisted\": \"Permanently unsubscribed.\",\n    \"public.campaignNotFound\": \"The e-mail message was not found.\",\n    \"public.confirmOptinSubTitle\": \"Confirm subscription\",\n    \"public.confirmSub\": \"Confirm subscription\",\n    \"public.confirmSubInfo\": \"You have been added to the following lists:\",\n    \"public.confirmSubTitle\": \"Confirm\",\n    \"public.dataRemoved\": \"Your subscriptions and all associated data has been removed.\",\n    \"public.dataRemovedTitle\": \"Data removed\",\n    \"public.dataSent\": \"Your data has been e-mailed to you as an attachment.\",\n    \"public.dataSentTitle\": \"Data e-mailed\",\n    \"public.errorFetchingCampaign\": \"Error fetching e-mail message.\",\n    \"public.errorFetchingEmail\": \"E-mail message not found\",\n    \"public.errorFetchingLists\": \"Error fetching lists. Please retry.\",\n    \"public.errorProcessingRequest\": \"Error processing request. Please retry.\",\n    \"public.errorTitle\": \"Error\",\n    \"public.invalidCaptcha\": \"Invalid CAPTCHA.\",\n    \"public.invalidFeature\": \"That feature is not available.\",\n    \"public.invalidLink\": \"Invalid link\",\n    \"public.managePrefs\": \"Manage preferences\",\n    \"public.managePrefsUnsub\": \"Uncheck lists to unsubscribe from them.\",\n    \"public.noListsAvailable\": \"No lists available to subscribe.\",\n    \"public.noListsSelected\": \"No valid lists selected to subscribe.\",\n    \"public.noSubInfo\": \"There are no subscriptions to confirm.\",\n    \"public.noSubTitle\": \"No subscriptions\",\n    \"public.notFoundTitle\": \"Not found\",\n    \"public.poweredBy\": \"Powered by\",\n    \"public.prefsSaved\": \"Your preferences have been saved.\",\n    \"public.privacyConfirmWipe\": \"Are you sure you want to delete all your subscription data permanently?\",\n    \"public.privacyExport\": \"Export your data\",\n    \"public.privacyExportHelp\": \"A copy of your data will be e-mailed to you.\",\n    \"public.privacyTitle\": \"Privacy and data\",\n    \"public.privacyWipe\": \"Wipe your data\",\n    \"public.privacyWipeHelp\": \"Delete all your subscriptions and related data permanently.\",\n    \"public.sub\": \"Subscribe\",\n    \"public.subConfirmed\": \"Subscribed successfully.\",\n    \"public.subConfirmedTitle\": \"Confirmed\",\n    \"public.subName\": \"Name (optional)\",\n    \"public.subNotFound\": \"Subscription not found.\",\n    \"public.subOptinPending\": \"An e-mail has been sent to you to confirm your subscription(s).\",\n    \"public.subPrivateList\": \"Private list\",\n    \"public.subTitle\": \"Subscribe\",\n    \"public.unsub\": \"Unsubscribe\",\n    \"public.unsubFull\": \"Unsubscribe from all future e-mails.\",\n    \"public.unsubHelp\": \"Do you want to unsubscribe from this mailing list?\",\n    \"public.unsubTitle\": \"Unsubscribe\",\n    \"public.unsubbedInfo\": \"You have unsubscribed successfully.\",\n    \"public.unsubbedTitle\": \"Unsubscribed\",\n    \"public.unsubscribeTitle\": \"Unsubscribe from mailing list\",\n    \"settings.appearance.adminHelp\": \"Custom CSS to apply to the admin UI.\",\n    \"settings.appearance.adminName\": \"Admin\",\n    \"settings.appearance.customCSS\": \"Custom CSS\",\n    \"settings.appearance.customJS\": \"Custom JavaScript\",\n    \"settings.appearance.name\": \"Appearance\",\n    \"settings.appearance.publicHelp\": \"Custom CSS and JavaScript to apply to the public pages.\",\n    \"settings.appearance.publicName\": \"Public\",\n    \"settings.bounces.action\": \"Action\",\n    \"settings.bounces.blocklist\": \"Blocklist\",\n    \"settings.bounces.count\": \"Bounce count\",\n    \"settings.bounces.countHelp\": \"Number of bounces per subscriber\",\n    \"settings.bounces.enable\": \"Enable bounce processing\",\n    \"settings.bounces.enableForwardemail\": \"Enable Forward Email\",\n    \"settings.bounces.enableMailbox\": \"Enable bounce mailbox\",\n    \"settings.bounces.enablePostmark\": \"Enable Postmark\",\n    \"settings.bounces.enableSES\": \"Enable SES\",\n    \"settings.bounces.enableSendgrid\": \"Enable SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Enable bounce webhooks\",\n    \"settings.bounces.enabled\": \"Enabled\",\n    \"settings.bounces.folder\": \"Folder\",\n    \"settings.bounces.folderHelp\": \"Name of the IMAP folder to scan. Eg: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Forward Email Key\",\n    \"settings.bounces.invalidScanInterval\": \"Bounce scan interval should be minimum 1 minute.\",\n    \"settings.bounces.name\": \"Bounces\",\n    \"settings.bounces.none\": \"None\",\n    \"settings.bounces.postmarkPassword\": \"Postmark Password\",\n    \"settings.bounces.postmarkUsername\": \"Postmark Username\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark allows you to enable basic authorization for webhooks. Make sure to enter the same credentials here and in your Postmark webhook settings.\",\n    \"settings.bounces.scanInterval\": \"Scan interval\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid Key\",\n    \"settings.bounces.type\": \"Type\",\n    \"settings.bounces.username\": \"Username\",\n    \"settings.confirmRestart\": \"Ensure running campaigns are paused. Restart?\",\n    \"settings.duplicateMessengerName\": \"Duplicate messenger name: {name}\",\n    \"settings.errorEncoding\": \"Error encoding settings: {error}\",\n    \"settings.errorNoSMTP\": \"At least one SMTP block should be enabled\",\n    \"settings.general.adminNotifEmails\": \"Admin notification e-mails\",\n    \"settings.general.adminNotifEmailsHelp\": \"Comma separated list of e-mail addresses to which admin notifications such as import updates, campaign completion, failure etc. should be sent.\",\n    \"settings.general.checkUpdates\": \"Check for updates\",\n    \"settings.general.checkUpdatesHelp\": \"Periodically check for new app releases and notify.\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publish campaigns on which archiving is enabled on the public website.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Show full content in RSS feed\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Show full e-mail content in the RSS feed. If disabled, only the title and link elements are shown.\",\n    \"settings.general.enablePublicSubPage\": \"Enable public subscription page\",\n    \"settings.general.enablePublicSubPageHelp\": \"Show a public subscription page with all the public lists for people to subscribe.\",\n    \"settings.general.faviconURL\": \"Favicon URL\",\n    \"settings.general.faviconURLHelp\": \"(Optional) full URL to the static favicon to be displayed on user facing view such as the unsubscription page.\",\n    \"settings.general.fromEmail\": \"Default `from` email\",\n    \"settings.general.fromEmailHelp\": \"Default `from` e-mail to show on outgoing campaign e-mails. This can be changed per campaign.\",\n    \"settings.general.language\": \"Language\",\n    \"settings.general.logoURL\": \"Logo URL\",\n    \"settings.general.logoURLHelp\": \"(Optional) full URL to the static logo to be displayed on user facing view such as the unsubscription page.\",\n    \"settings.general.name\": \"General\",\n    \"settings.general.rootURL\": \"Root URL\",\n    \"settings.general.rootURLHelp\": \"Public URL of the installation (no trailing slash).\",\n    \"settings.general.sendOptinConfirm\": \"Send opt-in confirmation\",\n    \"settings.general.sendOptinConfirmHelp\": \"Send an opt-in confirmation e-mail when subscribers signup via the public form or when they are added by the admin.\",\n    \"settings.general.siteName\": \"Site name\",\n    \"settings.invalidMessengerName\": \"Invalid messenger name.\",\n    \"settings.mailserver.authProtocol\": \"Auth protocol\",\n    \"settings.mailserver.host\": \"Host\",\n    \"settings.mailserver.hostHelp\": \"SMTP server's host address.\",\n    \"settings.mailserver.idleTimeout\": \"Idle timeout\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).\",\n    \"settings.mailserver.maxConns\": \"Max. connections\",\n    \"settings.mailserver.maxConnsHelp\": \"Maximum concurrent connections to the server.\",\n    \"settings.mailserver.nameHelp\": \"Optional unique name for the SMTP server. Must have the prefix email-. Setting this allows the server to be specifically selected for a campaign. eg: email-primary-server. Alphanumeric / dash.\",\n    \"settings.mailserver.password\": \"Password\",\n    \"settings.mailserver.passwordHelp\": \"Enter to change\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"SMTP server's port.\",\n    \"settings.mailserver.skipTLS\": \"Skip TLS verification\",\n    \"settings.mailserver.skipTLSHelp\": \"Skip hostname check on the TLS certificate.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL encryption. STARTTLS is commonly used.\",\n    \"settings.mailserver.username\": \"Username\",\n    \"settings.mailserver.waitTimeout\": \"Wait timeout\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).\",\n    \"settings.maintenance.cron\": \"Cron interval\",\n    \"settings.media.provider\": \"Provider\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Bucket path\",\n    \"settings.media.s3.bucketPathHelp\": \"Path inside the bucket to upload files. Default is /\",\n    \"settings.media.s3.bucketType\": \"Bucket type\",\n    \"settings.media.s3.bucketTypePrivate\": \"Private\",\n    \"settings.media.s3.bucketTypePublic\": \"Public\",\n    \"settings.media.s3.key\": \"AWS access key\",\n    \"settings.media.s3.publicURL\": \"Custom public URL or path (optional)\",\n    \"settings.media.s3.publicURLHelp\": \"Custom URL (https://cdn.example.com) to use for image links, or a path starting with / (e.g., /uploads) to proxy files through listmonk.\",\n    \"settings.media.s3.region\": \"Region\",\n    \"settings.media.s3.secret\": \"AWS access secret\",\n    \"settings.media.s3.uploadExpiry\": \"Upload expiry\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Optional) Specify expiry for the generated presigned URL. Only applicable for private buckets (s, m, h, d for seconds, minutes, hours, days).\",\n    \"settings.media.s3.url\": \"S3 backend URL\",\n    \"settings.media.s3.urlHelp\": \"Only change if using a custom S3 compatible backend like Minio.\",\n    \"settings.media.title\": \"Media uploads\",\n    \"settings.media.upload.extensions\": \"Permitted file extensions\",\n    \"settings.media.upload.extensionsHelp\": \"Add * to allow all extensions\",\n    \"settings.media.upload.path\": \"Upload path\",\n    \"settings.media.upload.pathHelp\": \"Path to the directory where media will be uploaded.\",\n    \"settings.media.upload.uri\": \"Upload URI\",\n    \"settings.media.upload.uriHelp\": \"Upload URI that is visible to the outside world. The media uploaded to upload_path will be publicly accessible under {root_url}, for instance, https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Max. connections\",\n    \"settings.messengers.maxConnsHelp\": \"Maximum concurrent connections to the server.\",\n    \"settings.messengers.messageSaved\": \"Settings saved. Reloading app ...\",\n    \"settings.messengers.name\": \"Messengers\",\n    \"settings.messengers.nameHelp\": \"eg: my-sms. Alphanumeric / dash.\",\n    \"settings.messengers.password\": \"Password\",\n    \"settings.messengers.retries\": \"Retries\",\n    \"settings.messengers.retriesHelp\": \"Number of times to retry when a message fails.\",\n    \"settings.messengers.skipTLSHelp\": \"Skip hostname check on the TLS certificate.\",\n    \"settings.messengers.timeout\": \"Idle timeout\",\n    \"settings.messengers.timeoutHelp\": \"Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Root URL of the Postback server.\",\n    \"settings.messengers.username\": \"Username\",\n    \"settings.needsRestart\": \"Settings changed. Pause all running campaigns and restart the app\",\n    \"settings.performance.batchSize\": \"Batch size\",\n    \"settings.performance.batchSizeHelp\": \"The number of subscribers to pull from the database in a single iteration. Each iteration pulls subscribers from the database, sends messages to them, and then moves on to the next iteration to pull the next batch. This should ideally be higher than the maximum achievable throughput (concurrency * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Cache slow database queries\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Only enable this on large databases that have slowed down significantly. Caches list subscriber counts, dashboard statistics etc.\",\n    \"settings.performance.concurrency\": \"Concurrency\",\n    \"settings.performance.concurrencyHelp\": \"Maximum concurrent worker (threads) that will attempt to send messages simultaneously.\",\n    \"settings.performance.maxErrThreshold\": \"Maximum error threshold\",\n    \"settings.performance.maxErrThresholdHelp\": \"The number of errors (eg: SMTP timeouts while e-mailing) a running campaign should tolerate before it is paused for manual investigation or intervention. Set to 0 to never pause.\",\n    \"settings.performance.messageRate\": \"Message rate\",\n    \"settings.performance.messageRateHelp\": \"Maximum number of messages to be sent out per second per worker in a second. If concurrency = 10 and message_rate = 10, then up to 10x10=100 messages may be pushed out every second. This, along with concurrency, should be tweaked to keep the net messages going out per second under the target message servers rate limits if any.\",\n    \"settings.performance.name\": \"Performance\",\n    \"settings.performance.slidingWindow\": \"Enable sliding window limit\",\n    \"settings.performance.slidingWindowDuration\": \"Duration\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Duration of the sliding window period (m for minute, h for hour).\",\n    \"settings.performance.slidingWindowHelp\": \"Limit the total number of messages that are sent out in given period. On reaching this limit, messages are be held from sending until the time window clears.\",\n    \"settings.performance.slidingWindowRate\": \"Max. messages\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maximum number of messages to send within the window duration.\",\n    \"settings.privacy.allowBlocklist\": \"Allow blocklisting\",\n    \"settings.privacy.allowBlocklistHelp\": \"Allow subscribers to unsubscribe from all mailing lists and mark themselves as blocklisted?\",\n    \"settings.privacy.allowExport\": \"Allow exporting\",\n    \"settings.privacy.allowExportHelp\": \"Allow subscribers to export data collected on them?\",\n    \"settings.privacy.allowPrefs\": \"Allow preference changes\",\n    \"settings.privacy.allowPrefsHelp\": \"Allow subscribers to change preferences such as their names and multiple list subscriptions.\",\n    \"settings.privacy.allowWipe\": \"Allow wiping\",\n    \"settings.privacy.allowWipeHelp\": \"Allow subscribers to delete themselves including their subscriptions and all other data from the database. Campaign views and link clicks are also removed while views and click counts remain (with no subscriber associated to them) so that stats and analytics are not affected.\",\n    \"settings.privacy.domainBlocklist\": \"Domain blocklist\",\n    \"settings.privacy.domainAllowlist\": \"Domain allowlist\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-mail addresses with these domains are disallowed from subscribing. Enter one domain per line, eg: example.com\",\n    \"settings.privacy.domainAllowlistHelp\": \"Only e-mail addresses with these domains are allowed to subscribe. Enter one domain per line, eg: example.com, *.example.com\",\n    \"settings.privacy.disableTracking\": \"Disable tracking\",\n    \"settings.privacy.disableTrackingHelp\": \"Completely disable view and click tracking from campaigns.\",\n    \"settings.privacy.individualSubTracking\": \"Individual subscriber tracking\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Track subscriber-level campaign views and clicks. When disabled, view and click tracking continue without being linked to individual subscribers.\",\n    \"settings.privacy.listUnsubHeader\": \"Include `List-Unsubscribe` header\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Include unsubscription headers that allow e-mail clients to allow users to unsubscribe in a single click.\",\n    \"settings.privacy.name\": \"Privacy\",\n    \"settings.privacy.recordOptinIP\": \"Record opt-in IP address\",\n    \"settings.privacy.recordOptinIPHelp\": \"Record IP address of double opt-ins in subscriber attributes.\",\n    \"settings.restart\": \"Restart\",\n    \"settings.security.OIDCClientID\": \"Client ID\",\n    \"settings.security.OIDCClientSecret\": \"Client secret\",\n    \"settings.security.OIDCHelp\": \"Enable OpenID Connect OAuth2 login via an OAuth provider.\",\n    \"settings.security.OIDCRedirectURL\": \"Redirect URL for oAuth provider\",\n    \"settings.security.OIDCRedirectWarning\": \"This does not seem to be a production URL. Change the Root URL in 'General' settings.\",\n    \"settings.security.OIDCURL\": \"Provider URL\",\n    \"settings.security.OIDCName\": \"Provider name\",\n    \"settings.security.OIDCWarning\": \"When OIDC is enabled, default password login is disabled. Invalid config can lock you out.\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Auto-create users\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Automatically create user on first login if the account doesn't exist.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Default user role\",\n    \"settings.security.OIDCDefaultListRole\": \"Default list role\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Default role assigned to users auto-created from OIDC.\",\n    \"settings.security.altchaComplexity\": \"Altcha Complexity\",\n    \"settings.security.altchaComplexityHelp\": \"Higher values provide better security but slower solving (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com SiteKey\",\n    \"settings.security.captchaKeyHelp\": \"Visit www.hcaptcha.com to obtain the key and secret.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com secret\",\n    \"settings.security.enableCaptcha\": \"Enable CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Enable CAPTCHA on the public subscription form.\",\n    \"settings.security.enableOIDC\": \"Enable OIDC SSO\",\n    \"settings.security.name\": \"Security\",\n    \"settings.smtp.customHeaders\": \"Custom headers\",\n    \"settings.smtp.customHeadersHelp\": \"Optional array of e-mail headers to include in all messages sent from this server. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Enabled\",\n    \"settings.smtp.heloHost\": \"HELO hostname\",\n    \"settings.smtp.heloHostHelp\": \"Optional. Some SMTP servers require a FQDN in the hostname. By default, HELLOs go with `localhost`. Set this if a custom hostname should be used.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Retries\",\n    \"settings.smtp.retriesHelp\": \"Number of times to retry when a message fails.\",\n    \"settings.smtp.sendTest\": \"Send e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Set custom headers\",\n    \"settings.smtp.testConnection\": \"Test connection\",\n    \"settings.smtp.testEnterEmail\": \"Re-enter password to test\",\n    \"settings.smtp.toEmail\": \"To e-mail\",\n    \"settings.title\": \"Settings\",\n    \"settings.updateAvailable\": \"A new update {version} is available.\",\n    \"subscribers.advancedQuery\": \"Advanced\",\n    \"subscribers.advancedQueryHelp\": \"Partial SQL expression to query subscriber attributes\",\n    \"subscribers.attribsHelp\": \"Attributes are defined as a JSON map, for example:\",\n    \"subscribers.blocklistedHelp\": \"Blocklisted subscribers will never receive any e-mails.\",\n    \"subscribers.confirmBlocklist\": \"Blocklist {num} subscriber(s)?\",\n    \"subscribers.confirmDelete\": \"Delete {num} subscriber(s)?\",\n    \"subscribers.confirmExport\": \"Export {num} subscriber(s)?\",\n    \"subscribers.domainBlocklisted\": \"The e-mail domain is blocklisted.\",\n    \"subscribers.downloadData\": \"Download data\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail already exists.\",\n    \"subscribers.errorBlocklisting\": \"Error blocklisting subscribers: {error}\",\n    \"subscribers.errorNoIDs\": \"No IDs given.\",\n    \"subscribers.errorNoListsGiven\": \"No lists given.\",\n    \"subscribers.errorPreparingQuery\": \"Error preparing subscriber query: {error}\",\n    \"subscribers.errorSendingOptin\": \"Error sending opt-in e-mail.\",\n    \"subscribers.export\": \"Export\",\n    \"subscribers.invalidAction\": \"Invalid action.\",\n    \"subscribers.invalidEmail\": \"Invalid email.\",\n    \"subscribers.invalidJSON\": \"Invalid JSON in attributes.\",\n    \"subscribers.invalidName\": \"Invalid name.\",\n    \"subscribers.listChangeApplied\": \"List change applied.\",\n    \"subscribers.lists\": \"Lists\",\n    \"subscribers.listsHelp\": \"Lists from which subscribers have unsubscribed themselves cannot be removed.\",\n    \"subscribers.listsPlaceholder\": \"Lists to subscribe to\",\n    \"subscribers.manageLists\": \"Manage lists\",\n    \"subscribers.markUnsubscribed\": \"Mark as unsubscribed\",\n    \"subscribers.newSubscriber\": \"New subscriber\",\n    \"subscribers.numSelected\": \"{num} subscriber(s) selected\",\n    \"subscribers.optinSubject\": \"Confirm subscription\",\n    \"subscribers.preconfirm\": \"Preconfirm subscriptions\",\n    \"subscribers.preconfirmHelp\": \"Don't send opt-in e-mails and mark all list subscriptions as 'subscribed'.\",\n    \"subscribers.query\": \"Query\",\n    \"subscribers.queryPlaceholder\": \"E-mail or name\",\n    \"subscribers.reset\": \"Reset\",\n    \"subscribers.selectAll\": \"Select all {num}\",\n    \"subscribers.sendOptinConfirm\": \"Send opt-in confirmation\",\n    \"subscribers.sentOptinConfirm\": \"Opt-in confirmation sent\",\n    \"subscribers.status.blocklisted\": \"Blocklisted\",\n    \"subscribers.status.confirmed\": \"Confirmed\",\n    \"subscribers.status.enabled\": \"Enabled\",\n    \"subscribers.status.subscribed\": \"Subscribed\",\n    \"subscribers.status.unconfirmed\": \"Unconfirmed\",\n    \"subscribers.status.unsubscribed\": \"Unsubscribed\",\n    \"subscribers.subscribersDeleted\": \"{num} subscriber(s) deleted\",\n    \"subscribers.activity\": \"Activity\",\n    \"templates.cantDeleteDefault\": \"Cannot delete non-existent or default template\",\n    \"templates.default\": \"Default\",\n    \"templates.dummyName\": \"Dummy campaign\",\n    \"templates.dummySubject\": \"Dummy campaign subject\",\n    \"templates.errorCompiling\": \"Error compiling template: {error}\",\n    \"templates.errorRendering\": \"Error rendering message: {error}\",\n    \"templates.fieldInvalidName\": \"Invalid length for name.\",\n    \"templates.makeDefault\": \"Set default\",\n    \"templates.newTemplate\": \"New template\",\n    \"templates.placeholderHelp\": \"The placeholder {placeholder} should appear exactly once in the template.\",\n    \"templates.preview\": \"Preview\",\n    \"templates.rawHTML\": \"Raw HTML\",\n    \"templates.subject\": \"Subject\",\n    \"templates.typeCampaignHTML\": \"Campaign / HTML\",\n    \"templates.typeCampaignVisual\": \"Campaign / Visual\",\n    \"templates.typeTransactional\": \"Transactional\",\n    \"users.apiOneTimeToken\": \"Copy the API access token now. It will not be shown again.\",\n    \"users.cantDeleteRole\": \"Cannot delete role that is in use.\",\n    \"users.firstTime\": \"This is a fresh install. Pick a username and password for the Super Admin account.\",\n    \"users.invalidLogin\": \"Invalid login or password\",\n    \"users.invalidRequest\": \"Invalid auth request\",\n    \"users.lastLogin\": \"Last login\",\n    \"users.listPerms\": \"List permissions\",\n    \"users.listPermsWarning\": \"lists:get_all or lists:manage_all are enabled which overrides per-list permissions\",\n    \"users.listRole\": \"List roles | List role\",\n    \"users.listRoles\": \"List roles\",\n    \"users.login\": \"Login\",\n    \"users.loginOIDC\": \"Login with {name}\",\n    \"users.logout\": \"Logout\",\n    \"users.needSuper\": \"User(s) couldn't be updated. There has to be at least one active Super Admin user.\",\n    \"users.newListRole\": \"New list role\",\n    \"users.newUser\": \"New user\",\n    \"users.newUserRole\": \"New user role\",\n    \"users.password\": \"Password\",\n    \"users.passwordEnable\": \"Enable password login\",\n    \"users.passwordMismatch\": \"Passwords don't match\",\n    \"users.passwordRepeat\": \"Repeat password\",\n    \"users.perms\": \"Permissions\",\n    \"users.profile\": \"Profile\",\n    \"users.role\": \"Role | Roles\",\n    \"users.roleGroup\": \"Group\",\n    \"users.roles\": \"Roles\",\n    \"users.status.disabled\": \"Disabled\",\n    \"users.status.enabled\": \"Enabled\",\n    \"users.type\": \"Type\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"User\",\n    \"users.userRole\": \"User role | User roles\",\n    \"users.userRoles\": \"User roles\",\n    \"users.username\": \"Username\",\n    \"users.usernameHelp\": \"Used with password login\",\n    \"users.forgotPassword\": \"Forgot password?\",\n    \"users.resetLinkSent\": \"If the account is active, you will receive a password reset email.\",\n    \"users.resetPassword\": \"Reset password\",\n    \"users.newPassword\": \"New password\",\n    \"users.invalidResetLink\": \"Invalid or expired reset link\",\n    \"email.forgotPassword.subject\": \"Reset your password\",\n    \"email.forgotPassword.button\": \"Reset password\",\n    \"email.forgotPassword.info\": \"If you didn't request this, you can safely ignore this email. This link will expire in 30 minutes.\",\n    \"settings.security.CORSDomains\": \"Allowed origins\",\n    \"settings.security.CORSDomainsHelp\": \"Permit accessing API endpoints via browser Javascript from external domains. Enter one domain per line (e.g: https://example.com). Leave empty to disable CORS or add * to allow all (not recommended).\",\n    \"users.twoFA\": \"Two-factor authentication\",\n    \"users.twoFAEnabled\": \"Two-factor authentication is on\",\n    \"users.twoFAEnabledDesc\": \"Your account is protected with {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Enable 2FA for additional security when logging into your account.\",\n    \"users.twoFAAlreadyEnabled\": \"Two-factor authentication is already enabled.\",\n    \"users.totpCode\": \"TOTP code\",\n    \"users.totpCodeHelp\": \"Enter the 6-digit code from your authenticator app\",\n    \"users.totpScanQR\": \"Scan the QR code with your authenticator app such as Ente or Google Authenticator and enter the TOTP code below.\",\n    \"users.totpSecret\": \"Secret key\",\n    \"users.invalidPassword\": \"Invalid password\",\n    \"lists.archived\": \"Archived\",\n    \"lists.archivedHelp\": \"Archiving hides the lists from lists page, campaigns, and public forms. It can be unarchived anytime. It is useful for hiding old and rarely used lists.\",\n    \"maintenance.database.title\": \"Database\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE reclaims storage used by deleted rows and significantly speeds up database performance on large databases. IMPORTANT: For large databases, this is a slow, blocking operation. Schedule to run this during off-peak hours.\"\n}\n"
  },
  {
    "path": "i18n/eo.json",
    "content": "{\n    \"_.code\": \"eo\",\n    \"_.name\": \"Esperanto (eo)\",\n    \"admin.errorMarshallingConfig\": \"Agorderaro de klasado: {error}\",\n    \"analytics.count\": \"Kalkulado\",\n    \"analytics.fromDate\": \"De\",\n    \"analytics.invalidDates\": \"Datoj  `de` aŭ `ĝis` nevalidaj.\",\n    \"analytics.isUnique\": \"Kalkuladoj estas solaj por ĉiu abonanto.\",\n    \"analytics.links\": \"Ligiloj\",\n    \"analytics.nonUnique\": \"La kalkuladoj ne estas solaj, ĉar la sekvado de abonantoj ne estas aktiva.\",\n    \"analytics.title\": \"Indikiloj\",\n    \"analytics.toDate\": \"Ĝis\",\n    \"bounces.complaint\": \"Reklamacio\",\n    \"bounces.hard\": \"Malmola\",\n    \"bounces.soft\": \"Mola\",\n    \"bounces.source\": \"Origino\",\n    \"bounces.unknownService\": \"Nekonata servo\",\n    \"bounces.view\": \"Vidi robotojn\",\n    \"campaigns.addAltText\": \"Aldonu alt-tekston\",\n    \"campaigns.addAttachments\": \"Aldonu kunsendaĵojn\",\n    \"campaigns.archive\": \"Arĥivo\",\n    \"campaigns.archiveEnable\": \"Publikigu en la publika arĥivo\",\n    \"campaigns.archiveHelp\": \"Publikugu (sendata, haltigita, finita) la mesaĝon de kampajno en la publika arĥivo \",\n    \"campaigns.archiveMeta\": \"Metadatumoj de la kampajno\",\n    \"campaigns.archiveMetaHelp\": \"Datumoj de la test-abonanto kiun oni povas uzi en la publika mesaĝo, inkluzive nomo, respoŝtadreso kaj ia ajn atributo uzata en la mesaĝo de kampajno aŭ ŝablono.\",\n    \"campaigns.archiveSlug\": \"URL-nomo\",\n    \"campaigns.archiveSlugHelp\": \"Mallonga nomo por la paĝo, kiu estos uzita en la publika URL, ekzemple: mia-bulteno-2\",\n    \"campaigns.attachments\": \"Kunsendaĵoj\",\n    \"campaigns.attribsHelp\": \"Propra JSON-objekto {} atributoj por ĉi tiu kampanjo. Uzu en ŝablono kun {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Oni ne povas ĝisdatigi kurantan kampajnon aŭ finitan kampajnon.\",\n    \"campaigns.clicks\": \"Klakoj\",\n    \"campaigns.confirmDelete\": \"Forviŝu {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Ĉi tio superskribos ĉiujn enhavojn. Ĉu daŭrigi?\",\n    \"campaigns.confirmSchedule\": \"Tiu kampajno ekkomencos aŭtomate je la dato kaj horo progamitaj. Ĉu vi volas programi ĝin nun?\",\n    \"campaigns.confirmSwitchFormat\": \"Enhavo povas perdi aranĝon. Ĉu vi volas daŭrigi?\",\n    \"campaigns.content\": \"Enhavo\",\n    \"campaigns.contentHelp\": \"Enhavo tie\",\n    \"campaigns.continue\": \"Daŭrigu\",\n    \"campaigns.copyOf\": \"Kopio de {name}\",\n    \"campaigns.customHeadersHelp\": \"Matriu de capçaleres personalitzades per adjuntar als missatges de sortida. p. ex.: [{\\\"X-Custom\\\": \\\"valor\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Data i hora\",\n    \"campaigns.ended\": \"Finalitzada\",\n    \"campaigns.errorSendTest\": \"S'ha produit un error en enviar la prova: {error}\",\n    \"campaigns.fieldInvalidBody\": \"S'ha produït un error en compilar el cos de la campanya: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`from_email` no vàlid.\",\n    \"campaigns.fieldInvalidListIDs\": \"Identificadors de llista no vàlids.\",\n    \"campaigns.fieldInvalidMessenger\": \"Canal desconegut {name}.\",\n    \"campaigns.fieldInvalidName\": \"La longitud del nom no és vàlida.\",\n    \"campaigns.fieldInvalidSendAt\": \"La data prevista hauria de ser en el futur.\",\n    \"campaigns.fieldInvalidSubject\": \"Longitud no vàlida per a l'assumpte.\",\n    \"campaigns.format\": \"Formato\",\n    \"campaigns.formatHTML\": \"Formati HTML-on\",\n    \"campaigns.fromAddress\": \"Adreça remitent\",\n    \"campaigns.fromAddressPlaceholder\": \"El teu nom <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importi vidan ŝablonon\",\n    \"campaigns.invalid\": \"Campanya invàlida\",\n    \"campaigns.invalidCustomHeaders\": \"Capçaleres personalitzades no vàlides: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"La campanya necessita una data per ser programada.\",\n    \"campaigns.newCampaign\": \"Nova campanya\",\n    \"campaigns.noKnownSubsToTest\": \"No hi ha subscriptors coneguts per fer una prova.\",\n    \"campaigns.noOptinLists\": \"No s'han trobat llistes opt-in  per crear una campanya.\",\n    \"campaigns.noSubs\": \"No hi ha subscriptors a les llistes seleccionades per crear la campanya.\",\n    \"campaigns.noSubsToTest\": \"No hi ha subscriptors a qui enviar.\",\n    \"campaigns.notFound\": \"No s'ha trobat la campanya.\",\n    \"campaigns.onlyActiveCancel\": \"Només es poden cancel·lar les campanyes actives.\",\n    \"campaigns.onlyActivePause\": \"Només es poden posar en pausa les campanyes actives.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Només es poden programar les campanyes en esborrany.\",\n    \"campaigns.onlyPausedDraft\": \"Només es poden iniciar campanyes en pausa o en esborrany.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Només les campanyes programades es poden desar com a esborranys.\",\n    \"campaigns.pause\": \"Pausa\",\n    \"campaigns.plainText\": \"Text pla\",\n    \"campaigns.preview\": \"Prèvia\",\n    \"campaigns.progress\": \"Progrés\",\n    \"campaigns.queryPlaceholder\": \"Nom o assumpte\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Codi HTML \",\n    \"campaigns.removeAltText\": \"Elimina el missatge de text pla alternatiu\",\n    \"campaigns.richText\": \"Text enriquit\",\n    \"campaigns.schedule\": \"Programa campanya\",\n    \"campaigns.scheduled\": \"Programada\",\n    \"campaigns.send\": \"Envia\",\n    \"campaigns.sendLater\": \"Envia més tard\",\n    \"campaigns.sendTest\": \"Envia missatge de prova\",\n    \"campaigns.sendTestHelp\": \"Premeu Intro després d'escriure una adreça per afegir diversos destinataris. Les adreces han de pertànyer als subscriptors existents.\",\n    \"campaigns.sendToLists\": \"Llistes a les quals s'envia\",\n    \"campaigns.sent\": \"Enviada\",\n    \"campaigns.start\": \"Inicia campanya\",\n    \"campaigns.started\": \"\\\"{name}\\\" iniciada\",\n    \"campaigns.startedAt\": \"Iniciada\",\n    \"campaigns.stats\": \"Indicadors\",\n    \"campaigns.status.cancelled\": \"Cancel·lada\",\n    \"campaigns.status.draft\": \"Esborrany\",\n    \"campaigns.status.finished\": \"Finalitzada\",\n    \"campaigns.status.paused\": \"Pausada\",\n    \"campaigns.status.running\": \"En curs\",\n    \"campaigns.status.scheduled\": \"Programada\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" està {status}\",\n    \"campaigns.subject\": \"Assumpte\",\n    \"campaigns.templatingRef\": \"Referència de plantilles\",\n    \"campaigns.testEmails\": \"Adreces de correu electrònic\",\n    \"campaigns.testSent\": \"S'ha enviat el missatge de prova\",\n    \"campaigns.timestamps\": \"Segells de temps\",\n    \"campaigns.trackLink\": \"Enllaç de seguiment\",\n    \"campaigns.unSchedule\": \"Nuligi planadon\",\n    \"campaigns.views\": \"Visualitzacions\",\n    \"campaigns.visual\": \"Vizaĝa\",\n    \"dashboard.campaignViews\": \"Visualitzacions de la campanya\",\n    \"dashboard.linkClicks\": \"Clics a enllaços\",\n    \"dashboard.messagesSent\": \"Missatges enviats\",\n    \"dashboard.orphanSubs\": \"Orfes\",\n    \"email.data.info\": \"S'adjunta una còpia de totes les dades enregistrades sobre la teva persona en un fitxer en format JSON. Es pot veure en un editor de text.\",\n    \"email.data.title\": \"Les teves dades \",\n    \"email.forgotPassword.button\": \"Restarigi pasvorton\",\n    \"email.forgotPassword.info\": \"Se vi ne petis ĉi tion, vi povas sekure ignori ĉi tiun mesaĝon. Ĉi tiu ligo senvalidiĝos post 30 minutoj.\",\n    \"email.forgotPassword.subject\": \"Restarigi vian pasvorton\",\n    \"email.optin.confirmSub\": \"Confirma la subscripció\",\n    \"email.optin.confirmSubHelp\": \"Confirmeu la terva subscripció fent clic al botó següent.\",\n    \"email.optin.confirmSubInfo\": \"Heu estat afegit a les llistes següents:\",\n    \"email.optin.confirmSubTitle\": \"Confirmació de la subscrpció\",\n    \"email.optin.confirmSubWelcome\": \"Hola\",\n    \"email.optin.privateList\": \"Llista privada\",\n    \"email.status.campaignReason\": \"Motiu\",\n    \"email.status.campaignSent\": \"Enviada\",\n    \"email.status.campaignUpdateTitle\": \"Campanya actualitzada\",\n    \"email.status.importFile\": \"Fitxer\",\n    \"email.status.importRecords\": \"Registres\",\n    \"email.status.importTitle\": \"Importació actualitzada\",\n    \"email.status.status\": \"Estat\",\n    \"email.unsub\": \"Desubscripció\",\n    \"email.unsubHelp\": \"No voleu rebre aquests correus electrònics?\",\n    \"email.viewInBrowser\": \"Veure al navegador\",\n    \"forms.formHTML\": \"Format HTML\",\n    \"forms.formHTMLHelp\": \"Utilitzeu l'HTML següent per mostrar un formulari de subscripció en una pàgina web externa. El formulari hauria de tenir el camp de correu electrònic i un o més camps `l` (llista UUID). El camp del nom és opcional.\",\n    \"forms.noPublicLists\": \"No hi ha llistes públiques per generar formularis.\",\n    \"forms.publicLists\": \"Llistes públiques\",\n    \"forms.publicSubPage\": \"Pàgina de subscripció pública\",\n    \"forms.selectHelp\": \"Selecciona les llistes que vols afegir al formulari.\",\n    \"forms.title\": \"Formularis\",\n    \"globals.buttons.add\": \"Afegeix\",\n    \"globals.buttons.addNew\": \"Afegeix nou\",\n    \"globals.buttons.back\": \"Enrere\",\n    \"globals.buttons.cancel\": \"Cancel·la\",\n    \"globals.buttons.clear\": \"Esborra\",\n    \"globals.buttons.clearAll\": \"Esborra tot\",\n    \"globals.buttons.clone\": \"Clona\",\n    \"globals.buttons.close\": \"Tanca\",\n    \"globals.buttons.continue\": \"Continua\",\n    \"globals.buttons.copy\": \"Copiar\",\n    \"globals.buttons.delete\": \"Esborra\",\n    \"globals.buttons.deleteAll\": \"Esborra tot\",\n    \"globals.buttons.disable\": \"Malŝalti\",\n    \"globals.buttons.edit\": \"Edita\",\n    \"globals.buttons.enable\": \"Ŝalti\",\n    \"globals.buttons.enabled\": \"Habilitat\",\n    \"globals.buttons.insert\": \"Inserta\",\n    \"globals.buttons.learnMore\": \"Saber-nes més\",\n    \"globals.buttons.manage\": \"Administri\",\n    \"globals.buttons.more\": \"Més\",\n    \"globals.buttons.new\": \"Nou\",\n    \"globals.buttons.ok\": \"D'acord\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Elimina\",\n    \"globals.buttons.save\": \"Desa\",\n    \"globals.buttons.saveChanges\": \"Desa els canvis\",\n    \"globals.buttons.toggleSelect\": \"Aktivigi/Dezaktivigi elektejon\",\n    \"globals.buttons.view\": \"Visualitzar\",\n    \"globals.days.0\": \"dg.\",\n    \"globals.days.1\": \"dg.\",\n    \"globals.days.2\": \"dl.\",\n    \"globals.days.3\": \"dt.\",\n    \"globals.days.4\": \"dc.\",\n    \"globals.days.5\": \"dj.\",\n    \"globals.days.6\": \"dv.\",\n    \"globals.days.7\": \"ds.\",\n    \"globals.fields.createdAt\": \"Creat\",\n    \"globals.fields.description\": \"Descripció\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nom\",\n    \"globals.fields.status\": \"Estat\",\n    \"globals.fields.type\": \"Tipus\",\n    \"globals.fields.updatedAt\": \"Actualitzat\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Estàs segur?\",\n    \"globals.messages.confirmDelete\": \"Ĉu forviŝi {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Vols descartar els canvis?\",\n    \"globals.messages.copied\": \"Copiat\",\n    \"globals.messages.created\": \"\\\"{name}\\\" ha estat creat\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" ha estat esborrat\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) ha estat esborrat\",\n    \"globals.messages.done\": \"Fet\",\n    \"globals.messages.emptyState\": \"No hi ha res aquí\",\n    \"globals.messages.errorCreating\": \"Error en crear {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Error en esborrar {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Error en obtenir {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Un o més identificadors no són vàlids: {error}\",\n    \"globals.messages.errorUUID\": \"Error en generar UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Error en actualitzar {name}: {error}\",\n    \"globals.messages.internalError\": \"Error del servidor intern\",\n    \"globals.messages.invalidData\": \"Dades no vàlides\",\n    \"globals.messages.invalidFields\": \"Camps no vàlids: {name}\",\n    \"globals.messages.invalidID\": \"ID(s) no vàlid\",\n    \"globals.messages.invalidUUID\": \"UUID(s) no vàlid\",\n    \"globals.messages.invalidValue\": \"Nevalida valoro\",\n    \"globals.messages.missingFields\": \"Falten camps: {name}\",\n    \"globals.messages.notFound\": \"No s'ha trobat {name} \",\n    \"globals.messages.numSelected\": \"{num} elektitaj\",\n    \"globals.messages.passwordChange\": \"Introduïu un valor per canviar\",\n    \"globals.messages.passwordChangeFull\": \"Buida i torna a introduir la contrasenya completa a '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permeso rifuzita: {name}\",\n    \"globals.messages.selectAll\": \"Elekti ĉiujn {num}\",\n    \"globals.messages.slowQueriesCached\": \"Les consultes lentes s'estan emmagatzemant en memòria cau. Algunes xifres en aquesta pàgina no seran actuals.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" actualitzat\",\n    \"globals.months.1\": \"gen.\",\n    \"globals.months.10\": \"oct.\",\n    \"globals.months.11\": \"nov.\",\n    \"globals.months.12\": \"des.\",\n    \"globals.months.2\": \"febr.\",\n    \"globals.months.3\": \"març\",\n    \"globals.months.4\": \"abr.\",\n    \"globals.months.5\": \"maig\",\n    \"globals.months.6\": \"juny\",\n    \"globals.months.7\": \"jul.\",\n    \"globals.months.8\": \"ag.\",\n    \"globals.months.9\": \"set.\",\n    \"globals.states.off\": \"Apagat\",\n    \"globals.terms.all\": \"Tot\",\n    \"globals.terms.analytics\": \"Indicadors\",\n    \"globals.terms.attribs\": \"Atributs\",\n    \"globals.terms.bounce\": \"Rebot | Rebots\",\n    \"globals.terms.bounces\": \"Rebots\",\n    \"globals.terms.campaign\": \"Campanya | Campanyes\",\n    \"globals.terms.campaigns\": \"Campanyes\",\n    \"globals.terms.dashboard\": \"Taulell\",\n    \"globals.terms.day\": \"Dia | Dies\",\n    \"globals.terms.hour\": \"Hora | Hores\",\n    \"globals.terms.import\": \"Importi\",\n    \"globals.terms.list\": \"Llista | Llistes\",\n    \"globals.terms.lists\": \"Llistes\",\n    \"globals.terms.media\": \"Mèdia | Mèdia\",\n    \"globals.terms.messenger\": \"Canal | Canals\",\n    \"globals.terms.messengers\": \"Canals\",\n    \"globals.terms.minute\": \"Minut | Minuts\",\n    \"globals.terms.month\": \"Mes | Mesos\",\n    \"globals.terms.new\": \"Nova\",\n    \"globals.terms.none\": \"Cap\",\n    \"globals.terms.second\": \"Segon | Segons\",\n    \"globals.terms.settings\": \"Configuració\",\n    \"globals.terms.subscriber\": \"Subscriptor | Subscriptors\",\n    \"globals.terms.subscribers\": \"Subscriptors\",\n    \"globals.terms.subscriptions\": \"Subscripció | Subscripcions\",\n    \"globals.terms.tag\": \"Etiqueta | Etiquetes\",\n    \"globals.terms.tags\": \"Etiquetes\",\n    \"globals.terms.template\": \"Plantilla | Plantilles\",\n    \"globals.terms.templates\": \"Plantilles\",\n    \"globals.terms.tx\": \"Transaccional | Transaccionals\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Uzanto | Uzantoj\",\n    \"globals.terms.users\": \"Uzantoj\",\n    \"globals.terms.year\": \"Any | Anys\",\n    \"import.alreadyRunning\": \"Ja s'està executant una importació. Espereu que acabi o atureu-lo abans de tornar-ho a provar.\",\n    \"import.blocklist\": \"Llista de bloqueig\",\n    \"import.csvDelim\": \"Delimitador CSV\",\n    \"import.csvDelimHelp\": \"El delimitador predeterminat és la coma.\",\n    \"import.csvExample\": \"Exemple de CSV en brut\",\n    \"import.csvFile\": \"Fitxer CSV o ZIP\",\n    \"import.csvFileHelp\": \"Feu clic o arrossegueu un fitxer CSV o ZIP aquí\",\n    \"import.errorCopyingFile\": \"Error en copiar el fitxer: {error}\",\n    \"import.errorProcessingZIP\": \"Error en processar el fitxer ZIP: {error}\",\n    \"import.errorStarting\": \"Error en iniciar la importació: {error}\",\n    \"import.importDone\": \"Fet\",\n    \"import.importStarted\": \"S'ha iniciat la importació\",\n    \"import.instructions\": \"Instruccions\",\n    \"import.instructionsHelp\": \"Carrega un fitxer CSV o un fitxer ZIP amb un únic fitxer CSV per importar subscriptors de forma massiva. El fitxer CSV hauria de tenir les capçaleres següents amb els noms exactes de les columnes. els atributs (opcional) han de ser una cadena JSON vàlida amb cometes dobles.\",\n    \"import.invalidDelim\": \"El delimitador ha de ser un sol caràcter.\",\n    \"import.invalidFile\": \"Fitxer no vàlid: {error}\",\n    \"import.invalidMode\": \"Mode no vàlid\",\n    \"import.invalidParams\": \"Paràmetres no vàlids: {error}\",\n    \"import.invalidSubStatus\": \"Estat de subscripció no vàlid\",\n    \"import.listSubHelp\": \"Llistes a les quals subscriure's.\",\n    \"import.mode\": \"Modo\",\n    \"import.overwriteSubStatus\": \"Superskribi abonstatuon\",\n    \"import.overwriteSubStatusHelp\": \"Superskribi staton de ekzistantaj listaj aboniloj\",\n    \"import.overwriteUserInfo\": \"Superskribi uzantinformojn\",\n    \"import.overwriteUserInfoHelp\": \"Superskribi nomon kaj atributojn de ekzistantaj abonantoj\",\n    \"import.recordsCount\": \"{num} / {total} registres\",\n    \"import.stopImport\": \"Atura la importació\",\n    \"import.subscribe\": \"Subscriu\",\n    \"import.subscribeWarning\": \"Ĉi tio forigos abonitajn retadresojn. Ĉu daŭrigi?\",\n    \"import.title\": \"Importa subscriptors\",\n    \"import.upload\": \"Carrega\",\n    \"lists.archived\": \"Arĥivita\",\n    \"lists.archivedHelp\": \"Arĥivado kaŝas la listojn de la listoj-paĝo, kampanjoj kaj publikaj formularoj. Ĝi povas esti malArĥivita ajna tempo. Ĝi estas utila por kaŝi malnovajn kaj malofte uzatajn listojn.\",\n    \"lists.confirmDelete\": \"Estàs segur? Això no elimina els subscriptors.\",\n    \"lists.confirmSub\": \"Confirmeu les subscripcions a {name}\",\n    \"lists.invalidName\": \"Nom no vàlid\",\n    \"lists.newList\": \"Nova llista\",\n    \"lists.optin\": \"Elektiĝi\",\n    \"lists.optinHelp\": \"El doble opt-in envia un correu electrònic al subscriptor demanant confirmació. A les llistes de doble subscripció, les campanyes només s'envien als subscriptors confirmats.\",\n    \"lists.optinTo\": \"Fes opt-in a {name}\",\n    \"lists.optins.double\": \"Doble opt-in\",\n    \"lists.optins.single\": \"Opt-in simple\",\n    \"lists.sendCampaign\": \"Envia campanya\",\n    \"lists.sendOptinCampaign\": \"Envia campanya opt-in \",\n    \"lists.type\": \"Tipus\",\n    \"lists.typeHelp\": \"Les llistes públiques estan obertes a tothom per subscriure's i els seus noms poden aparèixer a pàgines públiques com ara la pàgina de gestió de subscripcions.\",\n    \"lists.types.private\": \"Privatt\",\n    \"lists.types.public\": \"Públic\",\n    \"logs.title\": \"Registres\",\n    \"maintenance.database.title\": \"Datumbazo\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE rehuntras ŝtonon uzatan de forviŝitaj vicoj kaj signife akcelas datumbazan efikadon en grandaj datumbazoj. GRAVA: Por grandaj datumbazoj, ĉi tio estas malrapida, blokanta operacio. Planu ĝin kuri dum maloctipaj horoj.\",\n    \"maintenance.help\": \"Algunes accions poden trigar una estona a completar-se en funció de la quantitat de dades.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Subscripcions opt-in no confirmades\",\n    \"maintenance.olderThan\": \"Més antic de\",\n    \"maintenance.orphanHelp\": \"Orfes = subscriptors sense llistes\",\n    \"maintenance.title\": \"Manteniment\",\n    \"maintenance.unconfirmedSubs\": \"Subscripcions no confirmades més antigues de {name} dies.\",\n    \"media.errorReadingFile\": \"Error en llegir el fitxer: {error}\",\n    \"media.errorResizing\": \"Error en canviar la mida de la imatge: {error}\",\n    \"media.errorSavingThumbnail\": \"Error en desar la miniatura: {error}\",\n    \"media.errorUploading\": \"Error en carregar el fitxer: {error}\",\n    \"media.invalidFile\": \"Fitxer no vàlid: {error}\",\n    \"media.title\": \"Mèdia\",\n    \"media.unsupportedFileType\": \"El tipus de fitxer ({type}) no és compatible\",\n    \"media.upload\": \"Carrega\",\n    \"media.uploadHelp\": \"Fes clic o arrossega una o més imatges aquí\",\n    \"menu.allCampaigns\": \"Totes les campanyes\",\n    \"menu.allLists\": \"Totes les llistes\",\n    \"menu.allSubscribers\": \"Tots els subscriptors\",\n    \"menu.dashboard\": \"Taulell\",\n    \"menu.forms\": \"Formularis\",\n    \"menu.import\": \"Importació\",\n    \"menu.logs\": \"Registres\",\n    \"menu.maintenance\": \"Manteniment\",\n    \"menu.media\": \"Mèdia\",\n    \"menu.newCampaign\": \"Crea nova\",\n    \"menu.settings\": \"Configuració\",\n    \"public.archiveEmpty\": \"Sense missatges arxivats actualment.\",\n    \"public.archiveTitle\": \"Arxiu de la llista de correu\",\n    \"public.blocklisted\": \"Desubscrit de forma permanent.\",\n    \"public.campaignNotFound\": \"No s'ha trobat el missatge de correu electrònic.\",\n    \"public.confirmOptinSubTitle\": \"Confirmació de la subscripció\",\n    \"public.confirmSub\": \"Confirma la subscripció\",\n    \"public.confirmSubInfo\": \"Has estat afegit a les llistes següents:\",\n    \"public.confirmSubTitle\": \"Confirmació\",\n    \"public.dataRemoved\": \"S'han eliminat les vostres subscripcions i totes les dades associades.\",\n    \"public.dataRemovedTitle\": \"Eliminació de dades\",\n    \"public.dataSent\": \"Les teves dades t'han estat enviades per correu electrònic com a fitxer adjunt.\",\n    \"public.dataSentTitle\": \"Dades enviades per correu electrònic\",\n    \"public.errorFetchingCampaign\": \"S'ha produït un error en obtenir el missatge de correu electrònic.\",\n    \"public.errorFetchingEmail\": \"No s'ha trobat el missatge de correu electrònic\",\n    \"public.errorFetchingLists\": \"S'ha produït un error en obtenir les llistes. Si us plau, torna-ho a provar.\",\n    \"public.errorProcessingRequest\": \"S'ha produït un error en processar la sol·licitud. Si us plau, torna-ho a provar.\",\n    \"public.errorTitle\": \"Eraro\",\n    \"public.invalidCaptcha\": \"CAPTCHA no vàlid.\",\n    \"public.invalidFeature\": \"Aquesta funció no està disponible.\",\n    \"public.invalidLink\": \"Enllaç no vàlid\",\n    \"public.managePrefs\": \"Gestiona les preferències\",\n    \"public.managePrefsUnsub\": \"Desmarca les llistes de les quals vols fer-ne la desubscripció.\",\n    \"public.noListsAvailable\": \"No hi ha llistes disponibles per subscriure's.\",\n    \"public.noListsSelected\": \"No s'han seleccionat llistes vàlides per subscriure's.\",\n    \"public.noSubInfo\": \"No hi ha subscripcions per confirmar.\",\n    \"public.noSubTitle\": \"No hi ha subscripcions \",\n    \"public.notFoundTitle\": \"No trobat\",\n    \"public.poweredBy\": \"Desenvolupat per\",\n    \"public.prefsSaved\": \"Les teves preferències han estat desades.\",\n    \"public.privacyConfirmWipe\": \"Estàs segur que vols suprimir totes les dades de la teva subscripció de manera permanent?\",\n    \"public.privacyExport\": \"Exporta les teves dades\",\n    \"public.privacyExportHelp\": \"Se t'enviarà per correu electrònic una còpia de les teves dades.\",\n    \"public.privacyTitle\": \"Privadesa i dades\",\n    \"public.privacyWipe\": \"Esborra permanentment les teves dades\",\n    \"public.privacyWipeHelp\": \"Suprimeix totes les teves subscripcions i dades relacionades de la base de dades de manera permanent.\",\n    \"public.sub\": \"Subscriu\",\n    \"public.subConfirmed\": \"T'has subscrit correctament.\",\n    \"public.subConfirmedTitle\": \"Confirmat\",\n    \"public.subName\": \"Nom (opcional)\",\n    \"public.subNotFound\": \"No s'ha trobat la subscripció.\",\n    \"public.subOptinPending\": \"S'ha enviat un correu electrònic per confirmar les teves subscripcions.\",\n    \"public.subPrivateList\": \"Llista privada\",\n    \"public.subTitle\": \"Subscripció\",\n    \"public.unsub\": \"Desubscriu\",\n    \"public.unsubFull\": \"També dona't de baixa de tots els futurs correus electrònics.\",\n    \"public.unsubHelp\": \"Vols donar-te de baixa d'aquesta llista de correu?\",\n    \"public.unsubTitle\": \"Desubscriu\",\n    \"public.unsubbedInfo\": \"Has cancel·lat la subscripció correctament.\",\n    \"public.unsubbedTitle\": \"Desubscrit\",\n    \"public.unsubscribeTitle\": \"Cancel·lació de la subscripció a la llista de correu\",\n    \"settings.appearance.adminHelp\": \"CSS personalitzat per aplicar a la interfície d'administració.\",\n    \"settings.appearance.adminName\": \"Administrador\",\n    \"settings.appearance.customCSS\": \"CSS personalitzats\",\n    \"settings.appearance.customJS\": \"JavaScript personalitzat\",\n    \"settings.appearance.name\": \"Aparença\",\n    \"settings.appearance.publicHelp\": \"CSS i JavaScript personalitzats per aplicar-los a les pàgines públiques.\",\n    \"settings.appearance.publicName\": \"Públic\",\n    \"settings.bounces.action\": \"Acció\",\n    \"settings.bounces.blocklist\": \"Llista de bloqueig\",\n    \"settings.bounces.count\": \"Recompte de rebots\",\n    \"settings.bounces.countHelp\": \"Nombre de rebots per subscriptor\",\n    \"settings.bounces.enable\": \"Activa el processament de rebots\",\n    \"settings.bounces.enableForwardemail\": \"Ŝalti retpoŝtajn plusendojn\",\n    \"settings.bounces.enableMailbox\": \"Activa la bústia de rebots\",\n    \"settings.bounces.enablePostmark\": \"Activa Postmark\",\n    \"settings.bounces.enableSES\": \"Activa SES\",\n    \"settings.bounces.enableSendgrid\": \"Activa SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Activa els webhooks pels rebots\",\n    \"settings.bounces.enabled\": \"Activat\",\n    \"settings.bounces.folder\": \"Carpeta\",\n    \"settings.bounces.folderHelp\": \"Nom de la carpeta IMAP a escanejar. Ex: Safata d'entrada.\",\n    \"settings.bounces.forwardemailKey\": \"Ŝlosilo por retpoŝta plusendo\",\n    \"settings.bounces.invalidScanInterval\": \"L'interval d'escaneig ha de ser com a mínim d'1 minut.\",\n    \"settings.bounces.name\": \"Rebots\",\n    \"settings.bounces.none\": \"Cap\",\n    \"settings.bounces.postmarkPassword\": \"Contrasenya de Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nom d'usuari de Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark permet activar l'autorització bàsica per als webhooks. Assegureu-vos d'introduir les mateixes credencials aquí i en la configuració del webhook de Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interval d'escaneig\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval en què s'hauria d'escanejar la bústia de rebot (s per segon, m per minut).\",\n    \"settings.bounces.sendgridKey\": \"Clau SendGrid \",\n    \"settings.bounces.type\": \"Tipus\",\n    \"settings.bounces.username\": \"Usuari\",\n    \"settings.confirmRestart\": \"Assegura't que les campanyes en curs estiguin en pausa. Reinicia?\",\n    \"settings.duplicateMessengerName\": \"Nom del canal duplicat: {name}\",\n    \"settings.errorEncoding\": \"Error en la configuració de codificació: {error}\",\n    \"settings.errorNoSMTP\": \"S'ha d'habilitar almenys un bloc SMTP\",\n    \"settings.general.adminNotifEmails\": \"Correu electrònic de notificació de l'administrador\",\n    \"settings.general.adminNotifEmailsHelp\": \"Llista d'adreces de correu electrònic separades per comes a les quals s'han d'enviar notificacions d'administrador, com ara actualitzacions d'importació, finalització de campanya, errors, etc.\",\n    \"settings.general.checkUpdates\": \"Busca actualitzacions\",\n    \"settings.general.checkUpdatesHelp\": \"Comprova periòdicament si hi ha noves versions d'aplicacions i notifica-ho.\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publica les campanyes on arxivar està habilitat en el lloc web públic.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Mostra tot el contingut a l'arxiu RSS públic\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Mostra el contingut complet del correu electrònic a l'aliment RSS. Si està desactivat, només es mostren els elements del títol i l'enllaç.\",\n    \"settings.general.enablePublicSubPage\": \"Activa la pàgina de subscripció pública\",\n    \"settings.general.enablePublicSubPageHelp\": \"Mostra una pàgina de subscripció pública amb totes les llistes públiques perquè la gent es subscrigui.\",\n    \"settings.general.faviconURL\": \"URL del favicon\",\n    \"settings.general.faviconURLHelp\": \"(Opcional) URL completa del favicon estàtic que serà visible a l'usuari, com ara la pàgina de cancel·lació de la subscripció.\",\n    \"settings.general.fromEmail\": \"Correu electrònic \\\"Remitent\\\" per defecte\",\n    \"settings.general.fromEmailHelp\": \"El correu electrònic `remitent` es mostra per defecte als correus electrònics de campanya sortints. Això es pot canviar per cada campanya.\",\n    \"settings.general.language\": \"Idioma\",\n    \"settings.general.logoURL\": \"URL del logotip\",\n    \"settings.general.logoURLHelp\": \"(Opcional) URL completa del logotip estàtic que serà visible a l'usuari, com ara la pàgina de cancel·lació de la subscripció.\",\n    \"settings.general.name\": \"Ĝenerala\",\n    \"settings.general.rootURL\": \"URL arrel\",\n    \"settings.general.rootURLHelp\": \"URL públic de la instal·lació (sense barra inclinada).\",\n    \"settings.general.sendOptinConfirm\": \"Envia opt-in de confirmació\",\n    \"settings.general.sendOptinConfirmHelp\": \"Envia un correu electrònic de confirmació de l'opt-in quan els subscriptors s'inscriguin mitjançant el formulari públic o quan l'administrador els afegeixi.\",\n    \"settings.general.siteName\": \"Nom del lloc web\",\n    \"settings.invalidMessengerName\": \"Nom de canal no vàlid\",\n    \"settings.mailserver.authProtocol\": \"Protocol d'autenticació\",\n    \"settings.mailserver.host\": \"Amfitrió\",\n    \"settings.mailserver.hostHelp\": \"Adreça host del servidor SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Temps d'espera d'inactivitat\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Temps d'inactivitat per esperar una nova activitat en una connexió abans de tancar-la i eliminar-la de la grup (s per segon, m per minut).\",\n    \"settings.mailserver.maxConns\": \"Connexions màximes\",\n    \"settings.mailserver.maxConnsHelp\": \"Màxim de connexions concurrents al servidor.\",\n    \"settings.mailserver.nameHelp\": \"Nedeviga unika nomo por la SMTP-servilo. Devus havi la antaŭvorton email-. Agordi ĉi tion permesas ke la servilo estu specifike elektita por kampanjo. Ekz: email-primary-server. Alfanumeraj / streketo.\",\n    \"settings.mailserver.password\": \"Contrasenya\",\n    \"settings.mailserver.passwordHelp\": \"Fes intro per canviar\",\n    \"settings.mailserver.port\": \"Pordo\",\n    \"settings.mailserver.portHelp\": \"Port del servidor SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Omet la verificació TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Omet la comprovació del hostname al certificat TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Xifratge TLS/SSL. STARTTLS s'utilitza habitualment.\",\n    \"settings.mailserver.username\": \"Usuari\",\n    \"settings.mailserver.waitTimeout\": \"Espera el timeout\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Temps per esperar una nova activitat en una connexió abans de tancar-la i eliminar-la del grup (s per segon, m per minut).\",\n    \"settings.maintenance.cron\": \"Interval de cron\",\n    \"settings.media.provider\": \"Proveïdor\",\n    \"settings.media.s3.bucket\": \"Contenidor\",\n    \"settings.media.s3.bucketPath\": \"Ruta del contenidor\",\n    \"settings.media.s3.bucketPathHelp\": \"Ruta dins del contenidor per carregar fitxers. El valor per defecte és /\",\n    \"settings.media.s3.bucketType\": \"Tipus de contenidor\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Públic\",\n    \"settings.media.s3.key\": \"Clau d'accés AWS\",\n    \"settings.media.s3.publicURL\": \"URL públic personalitzada (opcional)\",\n    \"settings.media.s3.publicURLHelp\": \"Domini S3 personalitzat per ser usat en enllaços a imatges en lloc de l'URL backend S3 predeterminada.\",\n    \"settings.media.s3.region\": \"Regió\",\n    \"settings.media.s3.secret\": \"Secret d'accés AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Caducitat de la càrrega\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opcional) Especifica TTL per a l'URL presignada generada. Només aplicable a contenidors privats (s, m, h, d per a segons, minuts, hores, dies).\",\n    \"settings.media.s3.url\": \"URL del backend S3\",\n    \"settings.media.s3.urlHelp\": \"Canvia només si fas servir un backend personalitzat compatible amb S3 com Minio.\",\n    \"settings.media.title\": \"Càrrega de mèdia\",\n    \"settings.media.upload.extensions\": \"Extensions de fitxers permeses\",\n    \"settings.media.upload.extensionsHelp\": \"Afegiu * per permetre totes les extensions\",\n    \"settings.media.upload.path\": \"Ruta de càrrega\",\n    \"settings.media.upload.pathHelp\": \"Ruta al directori on es carregaran els mèdia.\",\n    \"settings.media.upload.uri\": \"Carrega URI\",\n    \"settings.media.upload.uriHelp\": \"Carrega un URI visible per al tothom. Els mèdia carregats a upload_path seran accessibles públicament a {root_url}, per exemple, https://listmonk.yoursite.com/upload\",\n    \"settings.messengers.maxConns\": \"Connexions màxiomes\",\n    \"settings.messengers.maxConnsHelp\": \"Màxim nombre de connexions concurrents al servidor.\",\n    \"settings.messengers.messageSaved\": \"S'ha desat la configuració. S'està tornant a carregar l'aplicació...\",\n    \"settings.messengers.name\": \"Canals\",\n    \"settings.messengers.nameHelp\": \"ex: my-sms. Alfanumèric / guió.\",\n    \"settings.messengers.password\": \"Contrasenya\",\n    \"settings.messengers.retries\": \"Reintents\",\n    \"settings.messengers.retriesHelp\": \"Nombre de vegades que cal tornar a intentar quan un missatge falla.\",\n    \"settings.messengers.skipTLSHelp\": \"Omet la comprovació del hostname al certificat TLS.\",\n    \"settings.messengers.timeout\": \"Temps d'espera d'inactivitat\",\n    \"settings.messengers.timeoutHelp\": \"Temps per esperar una nova activitat en una connexió abans de tancar-la i eliminar-la del grup (s per segon, m per minut).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL arrel del servidor Postback.\",\n    \"settings.messengers.username\": \"Usuari\",\n    \"settings.needsRestart\": \"La configuració ha canviat. Posa en pausa totes les campanyes en curs i reinicia l'aplicació\",\n    \"settings.performance.batchSize\": \"Mida del lot\",\n    \"settings.performance.batchSizeHelp\": \"El nombre de subscriptors que cal extreure de la base de dades en una sola iteració. Cada iteració extreu subscriptors de la base de dades, els envia missatges i després passa a la següent iteració per extreure el següent lot. Idealment, hauria de ser superior al rendiment màxim possible (concurrency * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Memòria cau de consultes lentes a la base de dades\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Només habiliteu-ho en bases de dades grans que s'hagin tornat significativament més lentes. Emmagatzema en memòria el compte de subscriptors de llista, les estadístiques del tauler de comandament, etc.\",\n    \"settings.performance.concurrency\": \"Concurrència\",\n    \"settings.performance.concurrencyHelp\": \"Màxim treballador concurrent (fils) que intentarà enviar missatges simultàniament.\",\n    \"settings.performance.maxErrThreshold\": \"Llindar d'error màxim\",\n    \"settings.performance.maxErrThresholdHelp\": \"El nombre d'errors (p. ex.: temps d'espera SMTP durant l'enviament de correu electrònic) que ha de tolerar una campanya en execució abans d'aturar-la per a una investigació o intervenció manual. Estableix a 0 per no fer mai una pausa.\",\n    \"settings.performance.messageRate\": \"Rati de missatges\",\n    \"settings.performance.messageRateHelp\": \"Nombre màxim de missatges a enviar per segon per treballador en un segon. Si concurrència = 10 i message_rate = 10, es poden enviar fins a 10x10 = 100 missatges cada segon. Això, juntament amb la concurrència, s'hauria d'ajustar per mantenir els missatges nets sortint per segon sota els límits dels servidors de missatges objectiu, si n'hi ha.\",\n    \"settings.performance.name\": \"Rendiment\",\n    \"settings.performance.slidingWindow\": \"Activa el límit de la finestra lliscant\",\n    \"settings.performance.slidingWindowDuration\": \"Durada\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Durada del període de la finestra lliscant (m per minut, h per hora).\",\n    \"settings.performance.slidingWindowHelp\": \"Limita el nombre total de missatges que s'envien en un període determinat. Quan s'arriba a aquest límit, els missatges es retenen des de l'enviament fins que s'esborra la finestra de temps.\",\n    \"settings.performance.slidingWindowRate\": \"Missatges màxims\",\n    \"settings.performance.slidingWindowRateHelp\": \"Nombre màxim de missatges per enviar dins de la durada de la finestra.\",\n    \"settings.privacy.allowBlocklist\": \"Permet la llista de bloqueig\",\n    \"settings.privacy.allowBlocklistHelp\": \"Vols permetre als subscriptors donar-se de baixa de totes les llistes de correu i marcar-se com a llista bloquejada?\",\n    \"settings.privacy.allowExport\": \"Permet l'exportació\",\n    \"settings.privacy.allowExportHelp\": \"Vols permetre als subscriptors exportar les dades recollides sobre ells?\",\n    \"settings.privacy.allowPrefs\": \"Permet fer canvis de les preferències\",\n    \"settings.privacy.allowPrefsHelp\": \"Permet als subscriptors fer canvis de les preferències tals com els seus noms o la subscripció a múltiples llistes.\",\n    \"settings.privacy.allowWipe\": \"Permet l'esborrat permanent\",\n    \"settings.privacy.allowWipeHelp\": \"Permet als subscriptors esborrar-se, incloses les seves subscripcions i totes les altres dades de la base de dades. Les visualitzacions de campanya i els clics als enllaços també s'eliminen mentre es mantenen les visualitzacions i els recomptes de clics (sense subscriptors associats a ells) de manera que les estadístiques i els indicadors no es veuran afectats.\",\n    \"settings.privacy.domainAllowlist\": \"Permesita listo de domajnoj\",\n    \"settings.privacy.domainAllowlistHelp\": \"Nur retpoŝtaj adresoj kun ĉi tiuj domajnoj povas aliĝi. Enmetu unu domajnon po linio, ekz: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Llista de dominis bloquejats\",\n    \"settings.privacy.domainBlocklistHelp\": \"No es permet la subscripció a les adreces de correu electrònic amb aquests dominis. Introduïu un domini per línia, per exemple: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Seguiment individual de subscriptors\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Feu un seguiment de les visualitzacions i dels clics de la campanya a nivell de subscriptor. Quan està desactivat, el seguiment de visualitzacions i de clics continua disponible sense estar enllaçat a subscriptors individuals.\",\n    \"settings.privacy.listUnsubHeader\": \"Inclou la capçalera `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inclou capçaleres de cancel·lació de subscripció que permetin als clients de correu electrònic permetre als usuaris donar-se de baixa amb un sol clic.\",\n    \"settings.privacy.name\": \"Privadesa\",\n    \"settings.privacy.recordOptinIP\": \"Registra l'adreça IP de l'opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registra l'adreça IP dels opt-ins dobles en els atributs del subscrit.\",\n    \"settings.restart\": \"Reinicia\",\n    \"settings.security.CORSDomains\": \"Permesitaj originoj\",\n    \"settings.security.CORSDomainsHelp\": \"Permesi aliron al API-ĉapeloj per retumilo Javascript de eksteraj domfenoj. Entajpu unu domfenon po linio (ekz: https://example.com). Lasu malplenan por malŝalti CORS aŭ aldonu * por permesi ĉiujn (ne rekomendite).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Aŭtomate krei uzantojn\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Aŭtomate krei uzanton ĉe la unua ensaluto se la konto ne ekzistas.\",\n    \"settings.security.OIDCClientID\": \"Klient-ID\",\n    \"settings.security.OIDCClientSecret\": \"Klient-sekreto\",\n    \"settings.security.OIDCDefaultListRole\": \"Defaŭlta listo-rolo\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Defaŭlta rolo asignita al uzantoj aŭtomate kreitaj per OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Defaŭlta uzant-rolo\",\n    \"settings.security.OIDCHelp\": \"Ebligi OpeID Connect OAuth2 ensaluton per OAuth provizanto.\",\n    \"settings.security.OIDCName\": \"Nomo de provizanto\",\n    \"settings.security.OIDCRedirectURL\": \"URL for redirektado de oAuth provizanto\",\n    \"settings.security.OIDCRedirectWarning\": \"Ĉi tiu ŝajnas esti ne produktadata URL. Ŝanĝu la Radika URL en 'Ĝenerala' agordoj.\",\n    \"settings.security.OIDCURL\": \"Provizanto-URL\",\n    \"settings.security.OIDCWarning\": \"Se OIDC estas ebligita, la defaŭlta ensaluto per pasvorto malŝaltiĝas. Nevalida agordo povas bloki vin eksteren.\",\n    \"settings.security.altchaComplexity\": \"Altcha Kompleksaĵo\",\n    \"settings.security.altchaComplexityHelp\": \"Pli altaj valoroj provizas pli bonan sekurecon, sed pli malrapidajn solvokapablojn (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Clau del lloc hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Visiteu www.hcaptcha.com per obtenir la clau i el secret.\",\n    \"settings.security.captchaSecret\": \"Secret del lloc hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Habilita el CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Habilita el CAPTCHA al formulari públic de subscripció.\",\n    \"settings.security.enableOIDC\": \"Ebligi OIDC SSO-on\",\n    \"settings.security.name\": \"Seguretat\",\n    \"settings.smtp.customHeaders\": \"Capçaleres personalitzades\",\n    \"settings.smtp.customHeadersHelp\": \"Matriu opcional de capçaleres de correu electrònic per incloure en tots els missatges enviats des d'aquest servidor. p. ex.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Habilitat\",\n    \"settings.smtp.heloHost\": \"Nom d'amfitrió HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opcional. Alguns servidors SMTP requereixen un FQDN al hostname. Per defecte, HELLO va amb `localhost`. Estableix-loo si s'ha d'utilitzar un hostname personalitzat.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Reintents\",\n    \"settings.smtp.retriesHelp\": \"Nombre de vegades que cal tornar a intentar quan un missatge falla.\",\n    \"settings.smtp.sendTest\": \"Envia el correu electrònic\",\n    \"settings.smtp.setCustomHeaders\": \"Estableix capçaleres personalitzades\",\n    \"settings.smtp.testConnection\": \"Prova de connexió\",\n    \"settings.smtp.testEnterEmail\": \"Introduïu la contrasenya per provar\",\n    \"settings.smtp.toEmail\": \"Destinatari del correu electrònic\",\n    \"settings.title\": \"Configuració\",\n    \"settings.updateAvailable\": \"Hi ha disponible una nova actualització {versió}.\",\n    \"subscribers.activity\": \"Aktiveco\",\n    \"subscribers.advancedQuery\": \"Avançat\",\n    \"subscribers.advancedQueryHelp\": \"Expressió SQL parcial per consultar els atributs del subscriptor\",\n    \"subscribers.attribsHelp\": \"Els atributs es defineixen com un mapa JSON, per exemple:\",\n    \"subscribers.blocklistedHelp\": \"Els subscriptors bloquejats no rebran mai cap correu electrònic.\",\n    \"subscribers.confirmBlocklist\": \"Afegir a la llista de bloqueig {nombre} subscriptors?\",\n    \"subscribers.confirmDelete\": \"Esborrar {num} subscriptors(s)?\",\n    \"subscribers.confirmExport\": \"Exportar {num} subscriptor(s)?\",\n    \"subscribers.domainBlocklisted\": \"El domini de correu electrònic està bloquejat.\",\n    \"subscribers.downloadData\": \"Descarrega les dades\",\n    \"subscribers.email\": \"Correu electrònic\",\n    \"subscribers.emailExists\": \"El correu electrònic ja existeix.\",\n    \"subscribers.errorBlocklisting\": \"Error en afegir a la llista de bloqueig els subscriptors: {error}\",\n    \"subscribers.errorNoIDs\": \"No s'han facilitat IDs.\",\n    \"subscribers.errorNoListsGiven\": \"No es troben llistes.\",\n    \"subscribers.errorPreparingQuery\": \"Error en preparar la consulta de subscriptor: {error}\",\n    \"subscribers.errorSendingOptin\": \"Error en enviar el correu electrònic d'opt-in.\",\n    \"subscribers.export\": \"Exportació\",\n    \"subscribers.invalidAction\": \"Acció no vàlida.\",\n    \"subscribers.invalidEmail\": \"Correu electroǹic no vàlid.\",\n    \"subscribers.invalidJSON\": \"JSON no vàlid als atributs.\",\n    \"subscribers.invalidName\": \"Nom no vàlid.\",\n    \"subscribers.listChangeApplied\": \"S'ha aplicat el canvi de llista.\",\n    \"subscribers.lists\": \"Llistes\",\n    \"subscribers.listsHelp\": \"Les llistes de les quals els subscriptors s'han donat de baixa no es poden eliminar.\",\n    \"subscribers.listsPlaceholder\": \"Llistes per subscriure's\",\n    \"subscribers.manageLists\": \"Gestionar llistes\",\n    \"subscribers.markUnsubscribed\": \"Marca com a no subscrit\",\n    \"subscribers.newSubscriber\": \"Nou subscriptor\",\n    \"subscribers.numSelected\": \"{num} subscriptors seleccionats\",\n    \"subscribers.optinSubject\": \"Confirma la teva subscripció\",\n    \"subscribers.preconfirm\": \"Preconfirmació de subscripcions\",\n    \"subscribers.preconfirmHelp\": \"No envieu correus electrònics d'opt-in i marqueu totes les subscripcions a la llista com a \\\"subscrites\\\".\",\n    \"subscribers.query\": \"Consulta\",\n    \"subscribers.queryPlaceholder\": \"Correu electrònic o nom\",\n    \"subscribers.reset\": \"Restableix\",\n    \"subscribers.selectAll\": \"Selecciona'n {num}\",\n    \"subscribers.sendOptinConfirm\": \"Envia la confirmació d'opt-in\",\n    \"subscribers.sentOptinConfirm\": \"Confirmació d'opt-in enviada\",\n    \"subscribers.status.blocklisted\": \"A la llista de bloqueig\",\n    \"subscribers.status.confirmed\": \"Confirmat\",\n    \"subscribers.status.enabled\": \"Actiu\",\n    \"subscribers.status.subscribed\": \"Subscrit\",\n    \"subscribers.status.unconfirmed\": \"Sense confirmar\",\n    \"subscribers.status.unsubscribed\": \"Donat de baixa\",\n    \"subscribers.subscribersDeleted\": \"S'han suprimit {num} subscriptors\",\n    \"templates.cantDeleteDefault\": \"No es pot suprimir la plantilla inexistent o predeterminada\",\n    \"templates.default\": \"Per defecte\",\n    \"templates.dummyName\": \"Campanya simulada\",\n    \"templates.dummySubject\": \"Assumpte de campanya simulat\",\n    \"templates.errorCompiling\": \"Error en compilar la plantilla: {error}\",\n    \"templates.errorRendering\": \"Error en renderitzar el missatge: {error}\",\n    \"templates.fieldInvalidName\": \"Longitud no vàlida per al nom.\",\n    \"templates.makeDefault\": \"Estableix per defecte\",\n    \"templates.newTemplate\": \"Nova plantilla\",\n    \"templates.placeholderHelp\": \"El marcador {placeholder} hauria d'aparèixer com a mínim una vegada a la plantilla.\",\n    \"templates.preview\": \"Previsualització\",\n    \"templates.rawHTML\": \"Codi HTML\",\n    \"templates.subject\": \"Assumpte\",\n    \"templates.typeCampaignHTML\": \"Kampanjo / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampanjo / Vida\",\n    \"templates.typeTransactional\": \"Transakcia\",\n    \"users.apiOneTimeToken\": \"Kopiu la API-alirajton nun. Ĝi ne estos montrata denove.\",\n    \"users.cantDeleteRole\": \"Ne povas forigi rolon, kiu estas uzata.\",\n    \"users.firstTime\": \"Ĉi tio estas nova instalo. Elektu uzantonomon kaj pasvorton por la Super Admin-konto.\",\n    \"users.forgotPassword\": \"Ĉu forgesis la pasvorton?\",\n    \"users.invalidLogin\": \"Nevalida ensaluto aŭ pasvorto\",\n    \"users.invalidPassword\": \"Nevalida pasvorto\",\n    \"users.invalidRequest\": \"Nevalida aŭtentiga peto\",\n    \"users.invalidResetLink\": \"Nevalida aŭ senvalida restartig-ligo\",\n    \"users.lastLogin\": \"Lasta ensaluto\",\n    \"users.listPerms\": \"Listrajtoj\",\n    \"users.listPermsWarning\": \"lists:get_all aŭ lists:manage_all estas ebligitaj, ĉar ili anstataŭigas rajtojn laŭ listo\",\n    \"users.listRole\": \"Listroloj | Listrolo\",\n    \"users.listRoles\": \"Listroloj\",\n    \"users.login\": \"Inicia sessió\",\n    \"users.loginOIDC\": \"Ensaluti kun {name}\",\n    \"users.logout\": \"Tanca sessió\",\n    \"users.needSuper\": \"Tiom da uzanto(j) maltajperis. Estu almenaŭ unu aktiva Super Admin uzanto.\",\n    \"users.newListRole\": \"Nova listrolo\",\n    \"users.newPassword\": \"Nova pasvorto\",\n    \"users.newUser\": \"Nova uzanto\",\n    \"users.newUserRole\": \"Nova uzantrolo\",\n    \"users.password\": \"Pasvorto\",\n    \"users.passwordEnable\": \"Ebligi ensaluton per pasvorto\",\n    \"users.passwordMismatch\": \"Pasvortoj ne kongruas\",\n    \"users.passwordRepeat\": \"Repetu la pasvorton\",\n    \"users.perms\": \"Rajtoj\",\n    \"users.profile\": \"Profilo\",\n    \"users.resetLinkSent\": \"Se la konto estas aktiva, vi ricevos pasvortan restartig-mesaĝon.\",\n    \"users.resetPassword\": \"Restarigi pasvorton\",\n    \"users.role\": \"Rolo | Roloj\",\n    \"users.roleGroup\": \"Grupo\",\n    \"users.roles\": \"Roloj\",\n    \"users.status.disabled\": \"Malaktiva\",\n    \"users.status.enabled\": \"Aktiva\",\n    \"users.totpCode\": \"TOTP-kodo\",\n    \"users.totpCodeHelp\": \"Entajpu la 6-ciferan kodon el via aŭtentika aplikaĵo\",\n    \"users.totpScanQR\": \"Skanu la QR-kodon kun via aŭtentika aplikaĵo kiel Ente aŭ Google Authenticator kaj entajpu la TOTP-kodon sube.\",\n    \"users.totpSecret\": \"Sekretklavon\",\n    \"users.twoFA\": \"Du-faktoraŭtentiko\",\n    \"users.twoFAAlreadyEnabled\": \"Du-faktoraŭtentiko estas jam ŝaltita.\",\n    \"users.twoFAEnabled\": \"Du-faktoraŭtentiko estas ŝaltita\",\n    \"users.twoFAEnabledDesc\": \"Via konto estas protektita kun {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Ŝaltu 2FA por aldona sekureco kiam ensalutante en vian konton.\",\n    \"users.type\": \"Tipo\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Supa Admin\",\n    \"users.type.user\": \"Uzanto\",\n    \"users.userRole\": \"Uzantrolo | Uzantroloj\",\n    \"users.userRoles\": \"Uzantroloj\",\n    \"users.username\": \"Uzantonomo\",\n    \"users.usernameHelp\": \"Uzate kun ensaluto per pasvorto\"\n}\n"
  },
  {
    "path": "i18n/es.json",
    "content": "{\n    \"_.code\": \"es\",\n    \"_.name\": \"Español (es)\",\n    \"admin.errorMarshallingConfig\": \"Error al ordenar la configuración: {error}\",\n    \"analytics.count\": \"Número\",\n    \"analytics.fromDate\": \"Desde\",\n    \"analytics.invalidDates\": \"La fecha `desde` o `hasta` no es válida.\",\n    \"analytics.isUnique\": \"Los totales son por suscriptores únicos.\",\n    \"analytics.links\": \"Enlaces\",\n    \"analytics.nonUnique\": \"Los totales no son por suscriptores únicos ya que el rastreo individual de suscriptores está desactivado.\",\n    \"analytics.title\": \"Analíticas\",\n    \"analytics.toDate\": \"Hasta\",\n    \"bounces.complaint\": \"Queja\",\n    \"bounces.hard\": \"Duros\",\n    \"bounces.soft\": \"Blandos\",\n    \"bounces.source\": \"Fuente\",\n    \"bounces.unknownService\": \"Servicio desconocido.\",\n    \"bounces.view\": \"Ver rebotes\",\n    \"campaigns.addAltText\": \"Agregar mensaje en texto plano alternativo\",\n    \"campaigns.addAttachments\": \"Añadir archivos adjuntos\",\n    \"campaigns.archive\": \"Archivo\",\n    \"campaigns.archiveEnable\": \"Hacer el archivo público\",\n    \"campaigns.archiveHelp\": \"Publicar los mensajes de las campañas (en marcha, pausadas y terminadas) en el archivo público.\",\n    \"campaigns.archiveMeta\": \"Metadata de la campaña\",\n    \"campaigns.archiveMetaHelp\": \"Información de suscripción de ejemplo (por defecto) para ser usada en el mensaje público incluido nombre, correo electrónico, o cualquier valor accesible mediante atributos `{}` opcionales tanto en el mensaje de la campaña como en la plantilla.\",\n    \"campaigns.archiveSlug\": \"Slug de URL\",\n    \"campaigns.archiveSlugHelp\": \"Nombre corto para la página que se utilizará en la URL pública. Ejemplo: mi-boletin-edicion-2\",\n    \"campaigns.attachments\": \"Archivos adjuntos\",\n    \"campaigns.attribsHelp\": \"Atributos personalizados del objeto JSON {} para esta campaña. Usar en plantilla con {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"No es posible actualizar una campaña iniciada o finalizada.\",\n    \"campaigns.clicks\": \"Clics\",\n    \"campaigns.confirmDelete\": \"Eliminar {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Esto sobrescribirá todo el contenido. ¿Continuar?\",\n    \"campaigns.confirmSchedule\": \"Esta campaña iniciará automáticamente en la fecha y hora establecida. ¿Agendar ahora?\",\n    \"campaigns.confirmSwitchFormat\": \"Este contenido podría perder el formato. ¿Continuar?\",\n    \"campaigns.content\": \"Contenido\",\n    \"campaigns.contentHelp\": \"Contenido aquí\",\n    \"campaigns.continue\": \"Continuar\",\n    \"campaigns.copyOf\": \"Copia de {name}\",\n    \"campaigns.customHeadersHelp\": \"Lista de encabezados adicionales a incluir en los mensajes salientes. ej: [{\\\"X-Custom\\\": \\\"valor\\\"}, {\\\"X-Custom2\\\": \\\"valor\\\"}]\",\n    \"campaigns.dateAndTime\": \"Fecha y hora\",\n    \"campaigns.ended\": \"Finalizado\",\n    \"campaigns.errorSendTest\": \"Error al enviar la prueba: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Error al compilar el cuerpo de la campaña: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Correo de remitente inválido.\",\n    \"campaigns.fieldInvalidListIDs\": \"IDs de lista inválidos\",\n    \"campaigns.fieldInvalidMessenger\": \"Mensajero desconocido {name}.\",\n    \"campaigns.fieldInvalidName\": \"Longitud de nombre inválida\",\n    \"campaigns.fieldInvalidSendAt\": \"La hora agendada debe ser en el futuro.\",\n    \"campaigns.fieldInvalidSubject\": \"Longitud de asunto inválida\",\n    \"campaigns.format\": \"Formato\",\n    \"campaigns.formatHTML\": \"Formato HTML\",\n    \"campaigns.fromAddress\": \"Dirección de remitente\",\n    \"campaigns.fromAddressPlaceholder\": \"Su Nombre <no-reply@example.com>\",\n    \"campaigns.importVisualTemplate\": \"Importar plantilla visual\",\n    \"campaigns.invalid\": \"Campaña inválida\",\n    \"campaigns.invalidCustomHeaders\": \"Error en los encabezaos edicionales: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Una campaña necesita una fecha pra ser agendada.\",\n    \"campaigns.newCampaign\": \"Nueva campaña\",\n    \"campaigns.noKnownSubsToTest\": \"No hay ningún suscriptor para la prueba.\",\n    \"campaigns.noOptinLists\": \"No se encontraron listas para crear la campaña\",\n    \"campaigns.noSubs\": \"No hay suscriptores en la lista seleccionada para poder crear la campaña\",\n    \"campaigns.noSubsToTest\": \"No hay suscriptores para la prueba.\",\n    \"campaigns.notFound\": \"No se encontró la camapaña.\",\n    \"campaigns.onlyActiveCancel\": \"Solo campañas activas pueden ser canceladas.\",\n    \"campaigns.onlyActivePause\": \"Solo campañas activas pueden ser pausadas.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Solo campañas en borrador pueden ser agendadas.\",\n    \"campaigns.onlyPausedDraft\": \"Solo campañas en borrador pueden ser comanzadas.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Solo campañas agendadas pueden ser guardadas como borrador.\",\n    \"campaigns.pause\": \"Pausa\",\n    \"campaigns.plainText\": \"Texto plano\",\n    \"campaigns.preview\": \"Vista previa\",\n    \"campaigns.progress\": \"Progreso\",\n    \"campaigns.queryPlaceholder\": \"Nombre o asunto\",\n    \"campaigns.rateMinuteShort\": \"minutos\",\n    \"campaigns.rawHTML\": \"HTML de origen\",\n    \"campaigns.removeAltText\": \"Eliminar mensaje en texto plano alternativo\",\n    \"campaigns.richText\": \"Texto con formato\",\n    \"campaigns.schedule\": \"Agendar campaña\",\n    \"campaigns.scheduled\": \"Agendada\",\n    \"campaigns.send\": \"Enviar\",\n    \"campaigns.sendLater\": \"Enviar más tarde\",\n    \"campaigns.sendTest\": \"Enviar mensaje de prueba\",\n    \"campaigns.sendTestHelp\": \"Presionar `Enter` después de escribir una dirección para agregar múltiples destinatarios. Las direcciones deben corresponder a suscriptores existentes.\",\n    \"campaigns.sendToLists\": \"Listas a las que enviar\",\n    \"campaigns.sent\": \"Enviado\",\n    \"campaigns.start\": \"Iniciar campaña\",\n    \"campaigns.started\": \"\\\"{name}\\\" iniciada\",\n    \"campaigns.startedAt\": \"Fecha de inicio\",\n    \"campaigns.stats\": \"Estadísticas\",\n    \"campaigns.status.cancelled\": \"Cancelada\",\n    \"campaigns.status.draft\": \"Borrador\",\n    \"campaigns.status.finished\": \"Finalizada\",\n    \"campaigns.status.paused\": \"Pausada\",\n    \"campaigns.status.running\": \"En progreso\",\n    \"campaigns.status.scheduled\": \"Agendada\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" está {status}\",\n    \"campaigns.subject\": \"Asunto\",\n    \"campaigns.templatingRef\": \"Referencia de plantillas\",\n    \"campaigns.testEmails\": \"Correos electrónicos de prueba\",\n    \"campaigns.testSent\": \"Mensaje de prueba enviado\",\n    \"campaigns.timestamps\": \"Marcas de tiempo\",\n    \"campaigns.trackLink\": \"Enlace de rastreo (Track link)\",\n    \"campaigns.unSchedule\": \"Cancelar programación\",\n    \"campaigns.views\": \"Vistas\",\n    \"campaigns.visual\": \"Visual\",\n    \"dashboard.campaignViews\": \"Vista de campaña\",\n    \"dashboard.linkClicks\": \"Enlaces cliqueados\",\n    \"dashboard.messagesSent\": \"Mensajes enviados\",\n    \"dashboard.orphanSubs\": \"Huérfanos\",\n    \"email.data.info\": \"Una copia de todos sus datos recopilados está adjunta en un archivo de formato JSON. Puede ser visto en un editor de textos.\",\n    \"email.data.title\": \"Sus datos\",\n    \"email.forgotPassword.button\": \"Restablecer contraseña\",\n    \"email.forgotPassword.info\": \"Si no solicitaste esto, puedes ignorar este correo de forma segura. Este enlace expirará en 30 minutos.\",\n    \"email.forgotPassword.subject\": \"Restablecer tu contraseña\",\n    \"email.optin.confirmSub\": \"Confirmar la suscripción\",\n    \"email.optin.confirmSubHelp\": \"Para confirmar su suscripción debe hacer clic en el siguiente botón.\",\n    \"email.optin.confirmSubInfo\": \"Su correo electrónico ha sido agregado a las siguientes listas:\",\n    \"email.optin.confirmSubTitle\": \"Confirmar la suscripción\",\n    \"email.optin.confirmSubWelcome\": \"Hola\",\n    \"email.optin.privateList\": \"Lista privada\",\n    \"email.status.campaignReason\": \"Razón\",\n    \"email.status.campaignSent\": \"Enviada\",\n    \"email.status.campaignUpdateTitle\": \"Actualización de campaña\",\n    \"email.status.importFile\": \"Archivo\",\n    \"email.status.importRecords\": \"Registros\",\n    \"email.status.importTitle\": \"Actualización importada\",\n    \"email.status.status\": \"Estado\",\n    \"email.unsub\": \"Darse de baja\",\n    \"email.unsubHelp\": \"¿No quiere seguir recibiendo estos correos electrónicos?\",\n    \"email.viewInBrowser\": \"Ver en el navegador\",\n    \"forms.formHTML\": \"Formulario HTML\",\n    \"forms.formHTMLHelp\": \"Use este código HTML para mostrar el formulario de suscripción en un sitio web. El formulario debe contener el campo `email` y uno o más campos `l` (UUID de lista). El campo `name` es opcional.\",\n    \"forms.noPublicLists\": \"No hay listas públicas para generar formularios\",\n    \"forms.publicLists\": \"Listas públicas\",\n    \"forms.publicSubPage\": \"Página pública de suscripción\",\n    \"forms.selectHelp\": \"Seleccione las listas para agregar al formulario.\",\n    \"forms.title\": \"Formularios\",\n    \"globals.buttons.add\": \"Agregar\",\n    \"globals.buttons.addNew\": \"Agregar nuevo\",\n    \"globals.buttons.back\": \"Regresar\",\n    \"globals.buttons.cancel\": \"Cancelar\",\n    \"globals.buttons.clear\": \"Eliminar\",\n    \"globals.buttons.clearAll\": \"Eliminar todos\",\n    \"globals.buttons.clone\": \"Clonar\",\n    \"globals.buttons.close\": \"Cerrar\",\n    \"globals.buttons.continue\": \"Continuar\",\n    \"globals.buttons.copy\": \"Copiar\",\n    \"globals.buttons.delete\": \"Eliminar\",\n    \"globals.buttons.deleteAll\": \"Eliminar todos\",\n    \"globals.buttons.disable\": \"Desactivar\",\n    \"globals.buttons.edit\": \"Editar\",\n    \"globals.buttons.enable\": \"Activar\",\n    \"globals.buttons.enabled\": \"Habilitar\",\n    \"globals.buttons.insert\": \"Insertar\",\n    \"globals.buttons.learnMore\": \"Conocer más\",\n    \"globals.buttons.manage\": \"Gestionar\",\n    \"globals.buttons.more\": \"Más\",\n    \"globals.buttons.new\": \"Nuevo\",\n    \"globals.buttons.ok\": \"Aceptar\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Eliminar\",\n    \"globals.buttons.save\": \"Guardar\",\n    \"globals.buttons.saveChanges\": \"Guardar cambios\",\n    \"globals.buttons.toggleSelect\": \"Alternar selección\",\n    \"globals.buttons.view\": \"Ver\",\n    \"globals.days.0\": \"Dom\",\n    \"globals.days.1\": \"Dom\",\n    \"globals.days.2\": \"Lun\",\n    \"globals.days.3\": \"Mar\",\n    \"globals.days.4\": \"Mié\",\n    \"globals.days.5\": \"Jue\",\n    \"globals.days.6\": \"Vie\",\n    \"globals.days.7\": \"Sáb\",\n    \"globals.fields.createdAt\": \"Creado\",\n    \"globals.fields.description\": \"Descripción\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nombre\",\n    \"globals.fields.status\": \"Estado\",\n    \"globals.fields.type\": \"Tipo\",\n    \"globals.fields.updatedAt\": \"Actualizado\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"¿Está seguro/a?\",\n    \"globals.messages.confirmDelete\": \"¿Eliminar {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"¿Descartar cambios?\",\n    \"globals.messages.copied\": \"Copiado\",\n    \"globals.messages.created\": \"\\\"{name}\\\" creado\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" eliminado\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) eliminado(s)\",\n    \"globals.messages.done\": \"Hecho\",\n    \"globals.messages.emptyState\": \"Vacío\",\n    \"globals.messages.errorCreating\": \"Error creando {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Error eliminando {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Error buscando {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Uno o más IDs ingresados son inválidos: {error}\",\n    \"globals.messages.errorUUID\": \"Error generando UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Error actualizando {name}: {error}\",\n    \"globals.messages.internalError\": \"Error interno del servidor.\",\n    \"globals.messages.invalidData\": \"Datos inválidos\",\n    \"globals.messages.invalidFields\": \"Campos inválidos: {name}\",\n    \"globals.messages.invalidID\": \"ID inválido\",\n    \"globals.messages.invalidUUID\": \"UUID inválido\",\n    \"globals.messages.invalidValue\": \"Valor inválido\",\n    \"globals.messages.missingFields\": \"Falta el campo(s): {name}\",\n    \"globals.messages.notFound\": \"{name} no encontrado\",\n    \"globals.messages.numSelected\": \"{num} seleccionados\",\n    \"globals.messages.passwordChange\": \"Ingresar una contraseña para cambiar\",\n    \"globals.messages.passwordChangeFull\": \"Borre y vuelva a ingresar la contraseña completa en '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permiso denegado: {name}\",\n    \"globals.messages.selectAll\": \"Seleccionar todos los {num}\",\n    \"globals.messages.slowQueriesCached\": \"Las consultas lentas se están almacenando en caché. Algunos números en esta página no estarán actualizados.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" actualizado\",\n    \"globals.months.1\": \"Enero\",\n    \"globals.months.10\": \"Octubre\",\n    \"globals.months.11\": \"Noviembre\",\n    \"globals.months.12\": \"Diciembre\",\n    \"globals.months.2\": \"Febrero\",\n    \"globals.months.3\": \"Marzo\",\n    \"globals.months.4\": \"Abril\",\n    \"globals.months.5\": \"Mayo\",\n    \"globals.months.6\": \"Junio\",\n    \"globals.months.7\": \"Julio\",\n    \"globals.months.8\": \"Agosto\",\n    \"globals.months.9\": \"Setiembre\",\n    \"globals.states.off\": \"Apagado\",\n    \"globals.terms.all\": \"Todos\",\n    \"globals.terms.analytics\": \"Analítica\",\n    \"globals.terms.attribs\": \"Atributos\",\n    \"globals.terms.bounce\": \"Rebote | Rebotes\",\n    \"globals.terms.bounces\": \"Rebotes\",\n    \"globals.terms.campaign\": \"Campaña | Campañas\",\n    \"globals.terms.campaigns\": \"Campañas\",\n    \"globals.terms.dashboard\": \"Panel\",\n    \"globals.terms.day\": \"Día | Días\",\n    \"globals.terms.hour\": \"Hora | Horas\",\n    \"globals.terms.import\": \"Importar\",\n    \"globals.terms.list\": \"Lista | Listas\",\n    \"globals.terms.lists\": \"Listas\",\n    \"globals.terms.media\": \"Multimedia | Multimedia\",\n    \"globals.terms.messenger\": \"Mensajero | Mensajeros\",\n    \"globals.terms.messengers\": \"Mensajeros\",\n    \"globals.terms.minute\": \"Minuto | Minutos\",\n    \"globals.terms.month\": \"Mes | Meses\",\n    \"globals.terms.new\": \"Nuevo\",\n    \"globals.terms.none\": \"Ninguno\",\n    \"globals.terms.second\": \"Segundo | Segundos\",\n    \"globals.terms.settings\": \"Configuraciones\",\n    \"globals.terms.subscriber\": \"Suscriptor | Suscriptores\",\n    \"globals.terms.subscribers\": \"Suscriptores\",\n    \"globals.terms.subscriptions\": \"Suscripción | Suscripciones\",\n    \"globals.terms.tag\": \"Etiqueta | Etiquetas\",\n    \"globals.terms.tags\": \"Etiqueta\",\n    \"globals.terms.template\": \"Plantilla | Plantillas\",\n    \"globals.terms.templates\": \"Plantillas\",\n    \"globals.terms.tx\": \"Transaccional | Transaccional\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Usuario | Usuarios\",\n    \"globals.terms.users\": \"Usuarios\",\n    \"globals.terms.year\": \"Año | Años\",\n    \"import.alreadyRunning\": \"Se está ejecutándo una importación. Espere a que termine o deténgala antes de intentar una nueva.\",\n    \"import.blocklist\": \"Lista de bloqueados\",\n    \"import.csvDelim\": \"Delimitador CSV\",\n    \"import.csvDelimHelp\": \"El delimitador por defecto es la coma ','\",\n    \"import.csvExample\": \"Ejemplo de CSV en crudo\",\n    \"import.csvFile\": \"Archivo CSV o ZIP\",\n    \"import.csvFileHelp\": \"Seleccione o arrastre un archivo CSV o ZIP aquí\",\n    \"import.errorCopyingFile\": \"Error copiando archivo: {error}\",\n    \"import.errorProcessingZIP\": \"Error procesando archivo ZIP: {error}\",\n    \"import.errorStarting\": \"Error al iniciar la importación: {error}\",\n    \"import.importDone\": \"Finalizado\",\n    \"import.importStarted\": \"Importación iniciada\",\n    \"import.instructions\": \"Instrucciones\",\n    \"import.instructionsHelp\": \"Cargue un archivo CSV (o un archivo ZIP con un único archivo CSV) para importar múltiples suscriptores.\",\n    \"import.invalidDelim\": \"El delimitador debe ser un carácter único.\",\n    \"import.invalidFile\": \"Archivo inválido: {error}\",\n    \"import.invalidMode\": \"Modo inválido\",\n    \"import.invalidParams\": \"Paramétros inválidos: {error}\",\n    \"import.invalidSubStatus\": \"Estado de suscripción inválido\",\n    \"import.listSubHelp\": \"Listas a suscribir\",\n    \"import.mode\": \"Modo\",\n    \"import.overwriteSubStatus\": \"Sobrescribir estado de suscripción\",\n    \"import.overwriteSubStatusHelp\": \"Sobrescribir el estado de suscripciones existentes en la lista\",\n    \"import.overwriteUserInfo\": \"Sobrescribir información de usuario\",\n    \"import.overwriteUserInfoHelp\": \"Sobrescribir el nombre y atributos de suscriptores existentes\",\n    \"import.recordsCount\": \"{num} de {total} registros\",\n    \"import.stopImport\": \"Detener importación\",\n    \"import.subscribe\": \"Suscribir\",\n    \"import.subscribeWarning\": \"Sobrescribirá las direcciones de correo electrónico que están canceladas. ¿Desea continuar?\",\n    \"import.title\": \"Importar suscriptores\",\n    \"import.upload\": \"Cargar\",\n    \"lists.archived\": \"Archivado\",\n    \"lists.archivedHelp\": \"Archivar oculta las listas de la página de listas, campañas y formularios públicos. Se puede desarchívar en cualquier momento. Es útil para ocultar listas antiguas y poco utilizadas.\",\n    \"lists.confirmDelete\": \"¿Está seguro? Esto no elimina suscriptores\",\n    \"lists.confirmSub\": \"Suscripción confirmada a {name}\",\n    \"lists.invalidName\": \"Nombre inválido\",\n    \"lists.newList\": \"Nueva lista\",\n    \"lists.optin\": \"Confirmar la inclusión (opt-in)\",\n    \"lists.optinHelp\": \"Doble confirmación a la inscripción, envía un correo al suscriptor solicitando su confirmación. En las listas con la opción de confirmación doble, las campañas son enviadas solo a suscriptores ya confirmados.\",\n    \"lists.optinTo\": \"Confirmar la inclusion en {name}\",\n    \"lists.optins.double\": \"Confirmación doble\",\n    \"lists.optins.single\": \"Confirmación simple\",\n    \"lists.sendCampaign\": \"Enviar campaña\",\n    \"lists.sendOptinCampaign\": \"Enviar campaña de confirmación\",\n    \"lists.type\": \"Tipo\",\n    \"lists.typeHelp\": \"Las listas públicas están abiertas al mundo y sus nombres pueden aparecen en páginas públicas tales como páginas de gestión de suscripciones.\",\n    \"lists.types.private\": \"Privada\",\n    \"lists.types.public\": \"Pública\",\n    \"logs.title\": \"Registros\",\n    \"maintenance.database.title\": \"Base de datos\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE recupera el almacenamiento utilizado por filas eliminadas y aumenta significativamente el rendimiento de la base de datos en bases de datos grandes. IMPORTANTE: Para bases de datos grandes, esta es una operación lenta y bloqueante. Programa para ejecutarla durante horas de menor actividad.\",\n    \"maintenance.help\": \"Algunas acciones pueden tardar más tiempo dependiendo de la cantidad de datos a procesar.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Suscripciones opt-in no confirmadas\",\n    \"maintenance.olderThan\": \"Más viejo que\",\n    \"maintenance.orphanHelp\": \"Huérfanos = suscriptores sin listas\",\n    \"maintenance.title\": \"Mantenimiento\",\n    \"maintenance.unconfirmedSubs\": \"Suscripciones no confirmadas anteriores a {name} días.\",\n    \"media.errorReadingFile\": \"Error leyendo archivo: {error}\",\n    \"media.errorResizing\": \"Error cambiando tamaño de imagen: {error}\",\n    \"media.errorSavingThumbnail\": \"Error guardando miniatura: {error}\",\n    \"media.errorUploading\": \"Error cargando archivo: {error}\",\n    \"media.invalidFile\": \"Archivo inválido: {error}\",\n    \"media.title\": \"Medios\",\n    \"media.unsupportedFileType\": \"Tipo de archivo no soportado ({type})\",\n    \"media.upload\": \"Cargar\",\n    \"media.uploadHelp\": \"Seleccione o arrastre una o más imágenes aquí\",\n    \"menu.allCampaigns\": \"Todas las campañas\",\n    \"menu.allLists\": \"Todas las listas\",\n    \"menu.allSubscribers\": \"Todos los suscriptores\",\n    \"menu.dashboard\": \"Tablero\",\n    \"menu.forms\": \"Formularios\",\n    \"menu.import\": \"Importar\",\n    \"menu.logs\": \"Registros (logs)\",\n    \"menu.maintenance\": \"Mantenimiento\",\n    \"menu.media\": \"Multimedia\",\n    \"menu.newCampaign\": \"Crear nueva\",\n    \"menu.settings\": \"Configuraciones\",\n    \"public.archiveEmpty\": \"No hay mensajes archivados todavía.\",\n    \"public.archiveTitle\": \"Archivo de la lista de correo\",\n    \"public.blocklisted\": \"Dado de baja para siempre (bloqueada).\",\n    \"public.campaignNotFound\": \"El mensaje de correo electrónico no fue encontrado\",\n    \"public.confirmOptinSubTitle\": \"Confirmar suscripción\",\n    \"public.confirmSub\": \"Confirmar suscripción\",\n    \"public.confirmSubInfo\": \"Ud. ha sido agregado a las siguientes listas:\",\n    \"public.confirmSubTitle\": \"Confirmar\",\n    \"public.dataRemoved\": \"Su suscripción y todos sus datos asociados han sido eliminados.\",\n    \"public.dataRemovedTitle\": \"Datos eliminados\",\n    \"public.dataSent\": \"Sus datos han sido enviados en un archivo adjunto a su correo electrónico.\",\n    \"public.dataSentTitle\": \"Datos enviados por correo electrónico\",\n    \"public.errorFetchingCampaign\": \"Error obteniendo el mensaje de correo electrónico\",\n    \"public.errorFetchingEmail\": \"Mensaje de correo electrónico no encontrado\",\n    \"public.errorFetchingLists\": \"Error obteniendo listas. Por favor, intente nuevamente.\",\n    \"public.errorProcessingRequest\": \"Error al procesar la petición. Por favor, intente nuevamente.\",\n    \"public.errorTitle\": \"Error\",\n    \"public.invalidCaptcha\": \"CAPTCHA inválido.\",\n    \"public.invalidFeature\": \"Esta función no está disponible\",\n    \"public.invalidLink\": \"Enlace inválido\",\n    \"public.managePrefs\": \"Gestionar las preferencias\",\n    \"public.managePrefsUnsub\": \"Desmarcar las listas para Darse de baja.\",\n    \"public.noListsAvailable\": \"No hay listas disponibles para suscribirse\",\n    \"public.noListsSelected\": \"No se seleccionaron listas válidas a las cuales suscribirse\",\n    \"public.noSubInfo\": \"No hay suscripciones para confirmar.\",\n    \"public.noSubTitle\": \"No hay suscripciones\",\n    \"public.notFoundTitle\": \"No encontrado\",\n    \"public.poweredBy\": \"Propulsado por\",\n    \"public.prefsSaved\": \"Sus preferencias se han guardado.\",\n    \"public.privacyConfirmWipe\": \"¿Está seguro que quiere eliminar todos sus datos de suscripción permanentemente?\",\n    \"public.privacyExport\": \"Exportar sus datos\",\n    \"public.privacyExportHelp\": \"Se le enviará una copia de sus datos por correo electrónico.\",\n    \"public.privacyTitle\": \"Privacidad y datos personales\",\n    \"public.privacyWipe\": \"Borrar sus datos\",\n    \"public.privacyWipeHelp\": \"Borrar todas sus suscripciones y datos relacionados de la base de datos de forma permanente.\",\n    \"public.sub\": \"Suscribirse\",\n    \"public.subConfirmed\": \"Suscripción satisfactoria.\",\n    \"public.subConfirmedTitle\": \"Confirmada\",\n    \"public.subName\": \"Nombre (opcional)\",\n    \"public.subNotFound\": \"Suscripción no encontrada\",\n    \"public.subOptinPending\": \"Se le ha enviado un correo electrónico para confirmar su(s) suscripcion(es)\",\n    \"public.subPrivateList\": \"Lista privada\",\n    \"public.subTitle\": \"Suscribirse\",\n    \"public.unsub\": \"Darse de baja\",\n    \"public.unsubFull\": \"Además, darse de baja de cualquer correo electrónico futuro.\",\n    \"public.unsubHelp\": \"¿Desea darse de baja de esta lista de correo?\",\n    \"public.unsubTitle\": \"Darse de baja\",\n    \"public.unsubbedInfo\": \"Ud. se ha dado de baja de correctamente\",\n    \"public.unsubbedTitle\": \"Darse de baja.\",\n    \"public.unsubscribeTitle\": \"Darse de baja de una lista de correo\",\n    \"settings.appearance.adminHelp\": \"CSS adicional para aplicar en la interaz de administración.\",\n    \"settings.appearance.adminName\": \"Administración\",\n    \"settings.appearance.customCSS\": \"CSS adicional\",\n    \"settings.appearance.customJS\": \"JavaScript adicional\",\n    \"settings.appearance.name\": \"Apariencia\",\n    \"settings.appearance.publicHelp\": \"CSS y JavaScript personalizado para aplicar en las páginas públicas.\",\n    \"settings.appearance.publicName\": \"Público\",\n    \"settings.bounces.action\": \"Acción\",\n    \"settings.bounces.blocklist\": \"Lista de bloqueo\",\n    \"settings.bounces.count\": \"Conteo de rebotes\",\n    \"settings.bounces.countHelp\": \"Número de rebotes por suscripción\",\n    \"settings.bounces.enable\": \"Activar el procesamiento de rebotes\",\n    \"settings.bounces.enableForwardemail\": \"Habilitar Reenvío de Email\",\n    \"settings.bounces.enableMailbox\": \"Activar el buzón de rebotes\",\n    \"settings.bounces.enablePostmark\": \"Activar Postmark\",\n    \"settings.bounces.enableSES\": \"Activar SES\",\n    \"settings.bounces.enableSendgrid\": \"Activar SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Activar webhooks de rebotes\",\n    \"settings.bounces.enabled\": \"Activado\",\n    \"settings.bounces.folder\": \"Carpeta\",\n    \"settings.bounces.folderHelp\": \"Nombre de la carpeta IMAP a escanear, por ejemplo: Entrada.\",\n    \"settings.bounces.forwardemailKey\": \"Clave de Reenvío de Email\",\n    \"settings.bounces.invalidScanInterval\": \"El intervalo mínimo de escanéo de los rebotes debería de ser 1 minuto.\",\n    \"settings.bounces.name\": \"Rebotes\",\n    \"settings.bounces.none\": \"Ninguno\",\n    \"settings.bounces.postmarkPassword\": \"Contraseña de Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nombre de usuario de Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark te permite habilitar la autorización básica para los webhooks. Asegúrate de introducir las mismas credenciales aquí y en la configuración de webhooks de Postmark.\",\n    \"settings.bounces.scanInterval\": \"Intervalo de escaneo\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervalo en el que el buzón de rebotes debería ser escaneado para encontrar nuevos rebotes (s para segundos, m para minutos).\",\n    \"settings.bounces.sendgridKey\": \"Clave para SendGrid\",\n    \"settings.bounces.type\": \"Tipo\",\n    \"settings.bounces.username\": \"Nombre de usuario\",\n    \"settings.confirmRestart\": \"Asegúrese de que las campañas ejecutándose están pausadas. ¿Reiniciar?\",\n    \"settings.duplicateMessengerName\": \"Nombre de mensajero duplicado: {name}\",\n    \"settings.errorEncoding\": \"Error codificando configuración: {error}\",\n    \"settings.errorNoSMTP\": \"Al menos un bloque SMTP debe estar habilitado\",\n    \"settings.general.adminNotifEmails\": \"Correos electrónicos para notificación de administradores\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista de correos electrónicos separados por comas, a donde las notificaciones como actualizaciones de importación, campañas completadas, fallas, etc. deben ser enviadas.\",\n    \"settings.general.checkUpdates\": \"Revisa las actualizaciones\",\n    \"settings.general.checkUpdatesHelp\": \"Periódicamente buscar nuevas actualizaciones y notificarme.\",\n    \"settings.general.enablePublicArchive\": \"Habilitar la página de archivo público de listas de correo\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publicar en la web pública campañas en las que el archivo público está habilitado.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Muestra el contenido completo en el hilo RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Muestra el contenido completo de los correos en el hilo RSS. Si lo desabilitas, únicamente mostrará el título y los enlaces.\",\n    \"settings.general.enablePublicSubPage\": \"Habilitar pagina pública de suscripción\",\n    \"settings.general.enablePublicSubPageHelp\": \"Muestra una página con todas las listas públicas para suscribirse.\",\n    \"settings.general.faviconURL\": \"URL del Favicon\",\n    \"settings.general.faviconURLHelp\": \"(Opcional) URL completa del Favicon estático que debe mostrarse de cara a los usuarios en páginas como la página para darse de baja\",\n    \"settings.general.fromEmail\": \"Correo electrónico predeterminado del remitente\",\n    \"settings.general.fromEmailHelp\": \"Correo electrónico del remitente para mostrar en campañas de correo salientes. Puede ser ajustado por cada campaña.\",\n    \"settings.general.language\": \"Idioma\",\n    \"settings.general.logoURL\": \"URL de logotipo\",\n    \"settings.general.logoURLHelp\": \"(Opcional) URL completa de logotipo que a mostrse al usuario en páginas como la página para darse de baja\",\n    \"settings.general.name\": \"General\",\n    \"settings.general.rootURL\": \"URL raíz\",\n    \"settings.general.rootURLHelp\": \"URL pública de la instalación (sin incluir la barra final)\",\n    \"settings.general.sendOptinConfirm\": \"Enviar confirmación de inscripción\",\n    \"settings.general.sendOptinConfirmHelp\": \"Cuando haya una nueva suscripción mediante el formulario o la interfaz de administración, enviar un correo de confirmación al usuario.\",\n    \"settings.general.siteName\": \"Nombre del sitio / web\",\n    \"settings.invalidMessengerName\": \"Nombre inválido de mensajero.\",\n    \"settings.mailserver.authProtocol\": \"Protocolo de autenticación\",\n    \"settings.mailserver.host\": \"Host/Servidor\",\n    \"settings.mailserver.hostHelp\": \"Dirección del servidor SMTP\",\n    \"settings.mailserver.idleTimeout\": \"Tiempo máximo de inactividad\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tiempo máximo de espara a nueva actividad en una conexión antes de cerrarla y retirarla del pool de conexiones (s para segundos, m para minutos).\",\n    \"settings.mailserver.maxConns\": \"Conexiones máximas\",\n    \"settings.mailserver.maxConnsHelp\": \"Número máximo de conexiones concurrentes hacia el servidor SMTP.\",\n    \"settings.mailserver.nameHelp\": \"Nombre único opcional para el servidor SMTP. Debe tener el prefijo email-. Configurar esto permite que el servidor sea seleccionado específicamente para una campaña. Ej: email-primary-server. Alfanumérico / guion.\",\n    \"settings.mailserver.password\": \"Contraseña\",\n    \"settings.mailserver.passwordHelp\": \"Ingresar contraseña para cambiar\",\n    \"settings.mailserver.port\": \"Puerto\",\n    \"settings.mailserver.portHelp\": \"Puerto del servidor SMTP\",\n    \"settings.mailserver.skipTLS\": \"Omitir verificación de TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Omitir la verificación del nombre de servidor en un certificado TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Habilitar STARTTLS\",\n    \"settings.mailserver.username\": \"Nombre de usuario\",\n    \"settings.mailserver.waitTimeout\": \"Tiempo máximo de espera\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tiempo máximo de espera de nueva actividad en una conexión antes de cerrarla y retirarla del pool de conexiones (s para segundos, m para minutos).\",\n    \"settings.maintenance.cron\": \"Intervalo de Cron\",\n    \"settings.media.provider\": \"Proveedor\",\n    \"settings.media.s3.bucket\": \"Bucket/contenedor\",\n    \"settings.media.s3.bucketPath\": \"Ruta de bucket\",\n    \"settings.media.s3.bucketPathHelp\": \"Ruta dentro del bucket/contenedor desde donde cargar los archivos. Por defecto es '/'\",\n    \"settings.media.s3.bucketType\": \"Tipo de bucket/conteneor\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privado\",\n    \"settings.media.s3.bucketTypePublic\": \"Público\",\n    \"settings.media.s3.key\": \"Llave de acceso a S3 (access key)\",\n    \"settings.media.s3.publicURL\": \"URL pública personalizada (opcional)\",\n    \"settings.media.s3.publicURLHelp\": \"Dominio personalizado de S3 para usar en ennlaces de imágenes, en lugar de la URL predeterminada de S3.\",\n    \"settings.media.s3.region\": \"Región\",\n    \"settings.media.s3.secret\": \"Secreto de acceso a S3 (secret access key)\",\n    \"settings.media.s3.uploadExpiry\": \"Expiración de la carga\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opcional) TTL específico para la URL pre firmada generada. Solo es aplicable para buckets/contenedores privados (s, m, h, d para segundos, minutos, horas, días)\",\n    \"settings.media.s3.url\": \"URL de API de S3\",\n    \"settings.media.s3.urlHelp\": \"Cambiar únicamente si se utiliza un servicio S3 personalizado (por ejemplo MinIO).\",\n    \"settings.media.title\": \"Cargas multimedia\",\n    \"settings.media.upload.extensions\": \"Extensiones de archivo permitidas\",\n    \"settings.media.upload.extensionsHelp\": \"Agregar * para permitir todas las extensiones\",\n    \"settings.media.upload.path\": \"Ruta de carga\",\n    \"settings.media.upload.pathHelp\": \"Ruta o prefijo donde los archivos seránn cargados.\",\n    \"settings.media.upload.uri\": \"URI de carga\",\n    \"settings.media.upload.uriHelp\": \"La URI de carga es visible hacia afuera. Los archivos cargados en el directorio de carga serán accesible públicamente bajo {root_url}, por ejemplo, https://listmonk.susitio.com/uploads\",\n    \"settings.messengers.maxConns\": \"Conexiones máximas\",\n    \"settings.messengers.maxConnsHelp\": \"Número máximo de conexiones al servidor\",\n    \"settings.messengers.messageSaved\": \"Configuracion guardada. Recargando la aplicación.\",\n    \"settings.messengers.name\": \"Mensajeros\",\n    \"settings.messengers.nameHelp\": \"Ejemplo: my-sms. Alfanumérico / guión\",\n    \"settings.messengers.password\": \"Contraseña\",\n    \"settings.messengers.retries\": \"Reintentos\",\n    \"settings.messengers.retriesHelp\": \"Número de reintentos cuando un mensaje falla\",\n    \"settings.messengers.skipTLSHelp\": \"Omitir verificación del nombre de host en un certificado TLS\",\n    \"settings.messengers.timeout\": \"Tiempo máximo por inactividad\",\n    \"settings.messengers.timeoutHelp\": \"Tiempo máximo de espara a nueva actividad en una conexión antes de cerrarla y retirarla del pool de conexiones (s para segundos, m para minutos).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL raíz del servidor Postback\",\n    \"settings.messengers.username\": \"Nombre de usuario\",\n    \"settings.needsRestart\": \"Configuración cambiada. Pause todas las campañas y reinicie la aplicación.\",\n    \"settings.performance.batchSize\": \"Tamaño del lote\",\n    \"settings.performance.batchSizeHelp\": \"Número de suscriptores a extraer de la base de datos en cada iteración individul. Cada iteración extrae suscriptores de la base de datos, envía mensajes a ellos y luego avanza a la siguiente iteración para obtener el siguiente lote. Este número idealmente debería ser mayor que el máximo rendimiento alcanzable (concurrencia * tasa de envíos)\",\n    \"settings.performance.cacheSlowQueries\": \"Almacenar en caché las consultas lentas a la base de datos\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Solo habilitar esto en bases de datos grandes que se hayan ralentizado significativamente. Caché para los recuentos de suscriptores de listas, estadísticas del panel, etc.\",\n    \"settings.performance.concurrency\": \"Concurrencia\",\n    \"settings.performance.concurrencyHelp\": \"Número máximo de hilos que intentarán enviar mensajes de forma simultánea.\",\n    \"settings.performance.maxErrThreshold\": \"Umbral máximo de errores.\",\n    \"settings.performance.maxErrThresholdHelp\": \"El número de errores (Por ejemplo: timeouts de SMTP mientras se envía correo) que una campaña en proceso debe tolerar antes de ser pausada para una invesitigación o intervención manual. 0 para no detenerse nunca.\",\n    \"settings.performance.messageRate\": \"Tasa de envío\",\n    \"settings.performance.messageRateHelp\": \"Número máximo de mensajes enviados por segundo por cada hilo. Si la concurrencia = 10 y la tasa de envíos = 10, entonces hasta 10x10=100 mensajes podrían ser sacados en cada segundo. Esto junto con la concurrencia deberían ser modificados para que el número de mensajes salientes no supere las tasas de envío de los servidores, si es que existen.\",\n    \"settings.performance.name\": \"Rendimiento\",\n    \"settings.performance.slidingWindow\": \"Habilitar límite de corrimiento de ventana\",\n    \"settings.performance.slidingWindowDuration\": \"Duración\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Duración del periodo del corrimiento de ventana (m para minutos, h para horas).\",\n    \"settings.performance.slidingWindowHelp\": \"Límite total de mensajes que son enviados en un periodo. Cuando se alcanza este límite, los mensajes son retenidos hasta que se libere la ventana de tiempo.\",\n    \"settings.performance.slidingWindowRate\": \"Mensajes máximos\",\n    \"settings.performance.slidingWindowRateHelp\": \"Máximo número de mensajes a enviar dentro de la duración de la ventana.\",\n    \"settings.privacy.allowBlocklist\": \"Permitir blocklisting\",\n    \"settings.privacy.allowBlocklistHelp\": \"¿Permitir a los suscriptores darse de baja de todas las listas de correo y marcarlas como \\\"blocklisted\\\"?\",\n    \"settings.privacy.allowExport\": \"Permitir exportar\",\n    \"settings.privacy.allowExportHelp\": \"¿Permitir a los suscriptores exportar los datos recabados de ellos?\",\n    \"settings.privacy.allowPrefs\": \"Permitir cambios en las preferencias\",\n    \"settings.privacy.allowPrefsHelp\": \"Permitir a las cuentas suscritas realizar cambios como nombre o pertenencia a diferentes listas.\",\n    \"settings.privacy.allowWipe\": \"Permitir limpieza de datos\",\n    \"settings.privacy.allowWipeHelp\": \"Permitir a los suscriptores eliminarse incluyendo sus suscripciones y todos sus datos de la base de datos. Las vistas de las campañas y los vínculos cliqueados también son eliminados mientras que las vistas y el conteo de clics se mantienen. (sin suscriptores asociados a ellos) de manera que las estadísticas y el análisis no se vea afectado.\",\n    \"settings.privacy.domainAllowlist\": \"Lista blanca de dominios\",\n    \"settings.privacy.domainAllowlistHelp\": \"Solo se permite suscribirse a direcciones de correo con estos dominios. Ingrese un dominio por línea, por ejemplo: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Listado de dominios bloqueados\",\n    \"settings.privacy.domainBlocklistHelp\": \"Los correos electrónicos de estos dominios estan desabilitados para suscribirse. Introduzca un dominio por línea, por ejemplo: unsitio.com\",\n    \"settings.privacy.individualSubTracking\": \"Seguimiento de suscriptor inválido.\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Seguir a nivel de suscriptor las vistas y clics en una campaña. Cuando está deshabilitado, el seguimiento de vistas y clics continua sin ser asociado con suscriptores individuales.\",\n    \"settings.privacy.listUnsubHeader\": \"Incluir el encabezado para `darse de baja` de la lista\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Incluye los encabezados de darse de baja para habilitar a los clientes de correo para permitir a los usuarios darse de baja con un solo clic.\",\n    \"settings.privacy.name\": \"Privacidad\",\n    \"settings.privacy.recordOptinIP\": \"Grabar dirección IP de inscripción\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registrar la dirección IP de doble inscripción en los atributos del suscriptor.\",\n    \"settings.restart\": \"Reiniciar\",\n    \"settings.security.CORSDomains\": \"Orígenes permitidos\",\n    \"settings.security.CORSDomainsHelp\": \"Permitir acceder a puntos finales de API a través de Javascript del navegador desde dominios externos. Ingresa un dominio por línea (por ejemplo: https://example.com). Dejar en blanco para desactivar CORS o añadir * para permitir todos (no recomendado).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Creación automática de usuarios\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Crear automáticamente un usuario en el primer inicio de sesión si la cuenta no existe.\",\n    \"settings.security.OIDCClientID\": \"ID del cliente\",\n    \"settings.security.OIDCClientSecret\": \"Secreto del cliente\",\n    \"settings.security.OIDCDefaultListRole\": \"Rol predeterminado en la lista\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Rol predeterminado asignado a los usuarios creados automáticamente desde OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Rol de usuario predeterminado\",\n    \"settings.security.OIDCHelp\": \"Habilita el inicio de sesión OAuth2 de OpenID Connect mediante un proveedor de OAuth.\",\n    \"settings.security.OIDCName\": \"Nombre del proveedor\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirección para el proveedor de OAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Esto no parece ser una URL de producción. Cambie la URL raíz en la configuración 'General'.\",\n    \"settings.security.OIDCURL\": \"URL del proveedor\",\n    \"settings.security.OIDCWarning\": \"Cuando se habilita OIDC, el inicio de sesión con contraseña predeterminada se deshabilita. Una configuración incorrecta puede bloquearlo.\",\n    \"settings.security.altchaComplexity\": \"Complejidad Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Valores más altos ofrecen mejor seguridad pero una resolución más lenta (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Clave de sitio hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Visite www.hcaptcha.com para conseguir la SiteKey y el secret.\",\n    \"settings.security.captchaSecret\": \"Secreto hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Habilitar CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Habilitar CAPTCHA en el formulario público de suscripción.\",\n    \"settings.security.enableOIDC\": \"Habilitar inicio de sesión único OIDC\",\n    \"settings.security.name\": \"Seguridad\",\n    \"settings.smtp.customHeaders\": \"Encabezados personalizados\",\n    \"settings.smtp.customHeadersHelp\": \"Lista de encabezados opcionales a incluir en todos los mensajes enviados desde este servidor. Por ejemplo {{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Habilitado\",\n    \"settings.smtp.heloHost\": \"Nombre de host HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opcional. Algunos servidores SMTP requieren un FQDN en el nombre de host. Por defecto se usa 'localhost' como dato HELO. Configurar aquí un nombre de host específico en caso se ser requerido.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Reintentos\",\n    \"settings.smtp.retriesHelp\": \"Número de reintentos cuando un mensaje falla.\",\n    \"settings.smtp.sendTest\": \"Enviar correo electrónico de prueba\",\n    \"settings.smtp.setCustomHeaders\": \"Configurar encabezados personalizados.\",\n    \"settings.smtp.testConnection\": \"Probar conexión\",\n    \"settings.smtp.testEnterEmail\": \"Ingrese clave para probar\",\n    \"settings.smtp.toEmail\": \"Correo electrónico del destinatario\",\n    \"settings.title\": \"Configuraciones\",\n    \"settings.updateAvailable\": \"Una actualización a la {version} está disponible.\",\n    \"subscribers.activity\": \"Actividad\",\n    \"subscribers.advancedQuery\": \"Avanzado\",\n    \"subscribers.advancedQueryHelp\": \"Expresión SQL parcial para consultar los atributos de un suscriptor\",\n    \"subscribers.attribsHelp\": \"Los atributos son definidos como un objeto JSON llave/valor, por ejemplo:\",\n    \"subscribers.blocklistedHelp\": \"Las suscripciones en la lista de bloqueos (blocklisted) nunca recibirán correos.\",\n    \"subscribers.confirmBlocklist\": \"¿Bloquear {num} suscripcion(es)?\",\n    \"subscribers.confirmDelete\": \"¿Eliminar {num} suscripcion(es)?\",\n    \"subscribers.confirmExport\": \"¿Exportar {num} suscripcion(es)?\",\n    \"subscribers.domainBlocklisted\": \"El dominio del correo electrónico está en la lista de bloqueos.\",\n    \"subscribers.downloadData\": \"Descargar datos\",\n    \"subscribers.email\": \"Correo electrónico\",\n    \"subscribers.emailExists\": \"El correo electrónico ya existe.\",\n    \"subscribers.errorBlocklisting\": \"Error de lista de bloqueo de las suscripciones: {error}\",\n    \"subscribers.errorNoIDs\": \"No se ingresaron IDs.\",\n    \"subscribers.errorNoListsGiven\": \"No se ingresaron listas.\",\n    \"subscribers.errorPreparingQuery\": \"Error preparando la consulta de la suscripción: {error}\",\n    \"subscribers.errorSendingOptin\": \"Error enviando correo opt-in \",\n    \"subscribers.export\": \"Exportar\",\n    \"subscribers.invalidAction\": \"Accion inválida\",\n    \"subscribers.invalidEmail\": \"Correo electrónico inválido\",\n    \"subscribers.invalidJSON\": \"JSON inválido en atributos.\",\n    \"subscribers.invalidName\": \"Nombre inválido.\",\n    \"subscribers.listChangeApplied\": \"Cambio de lista aplicado.\",\n    \"subscribers.lists\": \"Listas\",\n    \"subscribers.listsHelp\": \"Listas desde donde las suscripciones se han dado de baja no pueden ser eliminadas.\",\n    \"subscribers.listsPlaceholder\": \"Lista a suscribir a\",\n    \"subscribers.manageLists\": \"Administrar listas\",\n    \"subscribers.markUnsubscribed\": \"Marcar como dado de baja\",\n    \"subscribers.newSubscriber\": \"Nuevo suscripción\",\n    \"subscribers.numSelected\": \"{num} suscripciones seleccionados\",\n    \"subscribers.optinSubject\": \"Confirmar suscripción\",\n    \"subscribers.preconfirm\": \"Pre-confirmar suscripción\",\n    \"subscribers.preconfirmHelp\": \"No enviar correo de confirmación y marcar todas las suscripciones a las listas como 'suscritas'.\",\n    \"subscribers.query\": \"Consulta\",\n    \"subscribers.queryPlaceholder\": \"Correo electrónico o nombre\",\n    \"subscribers.reset\": \"Restablecer\",\n    \"subscribers.selectAll\": \"Seleccionar todos/as ({num})\",\n    \"subscribers.sendOptinConfirm\": \"Enviar confirmación de suscripción voluntaria\",\n    \"subscribers.sentOptinConfirm\": \"Se envió la confirmación de suscripción voluntaria\",\n    \"subscribers.status.blocklisted\": \"Bloqueada\",\n    \"subscribers.status.confirmed\": \"Confirmada\",\n    \"subscribers.status.enabled\": \"Habilitada\",\n    \"subscribers.status.subscribed\": \"Suscrita\",\n    \"subscribers.status.unconfirmed\": \"Sin confirmar\",\n    \"subscribers.status.unsubscribed\": \"Dado de baja\",\n    \"subscribers.subscribersDeleted\": \"{num} suscripcion(es) borrada(s)\",\n    \"templates.cantDeleteDefault\": \"No se puede borrar la plantilla predeterminada\",\n    \"templates.default\": \"predeterminada\",\n    \"templates.dummyName\": \"Campaña de prueba\",\n    \"templates.dummySubject\": \"Asunto de la campaña de prueba\",\n    \"templates.errorCompiling\": \"Error compilando plantilla: {error}\",\n    \"templates.errorRendering\": \"Error generando mensaje: {error}\",\n    \"templates.fieldInvalidName\": \"Longitud de nombre inválida\",\n    \"templates.makeDefault\": \"Establecer como plantilla predeterminada\",\n    \"templates.newTemplate\": \"Nueva plantilla\",\n    \"templates.placeholderHelp\": \"El marcador {placeholder} debe aparecer exactamente una vez en la plantilla.\",\n    \"templates.preview\": \"Vista previa\",\n    \"templates.rawHTML\": \"HTML de orige\",\n    \"templates.subject\": \"Asunto\",\n    \"templates.typeCampaignHTML\": \"Campaña / HTML\",\n    \"templates.typeCampaignVisual\": \"Campaña / Visual\",\n    \"templates.typeTransactional\": \"Transaccional\",\n    \"users.apiOneTimeToken\": \"Copia el token de acceso a la API ahora. No se mostrará de nuevo.\",\n    \"users.cantDeleteRole\": \"No se puede eliminar la función que está en uso.\",\n    \"users.firstTime\": \"Esta es una instalación nueva. Elija un nombre de usuario y una contraseña para la cuenta de superadmin.\",\n    \"users.forgotPassword\": \"¿Olvidaste la contraseña?\",\n    \"users.invalidLogin\": \"Inicio de sesión o contraseña no válidos\",\n    \"users.invalidPassword\": \"Contraseña inválida\",\n    \"users.invalidRequest\": \"Solicitud de autenticación no válida\",\n    \"users.invalidResetLink\": \"Enlace de restablecimiento inválido o expirado\",\n    \"users.lastLogin\": \"Último inicio de sesión\",\n    \"users.listPerms\": \"Permisos de lista\",\n    \"users.listPermsWarning\": \"Se han habilitado los permisos lists:get_all o lists:manage_all, lo que anula los permisos individuales de la lista\",\n    \"users.listRole\": \"Roles de lista | Rol de lista\",\n    \"users.listRoles\": \"Roles de lista\",\n    \"users.login\": \"Ingresar\",\n    \"users.loginOIDC\": \"Iniciar sesión con {name}\",\n    \"users.logout\": \"Salir\",\n    \"users.needSuper\": \"No se pueden actualizar los usuarios. Tiene que haber al menos un usuario Super Admin activo.\",\n    \"users.newListRole\": \"Nuevo rol de lista\",\n    \"users.newPassword\": \"Nueva contraseña\",\n    \"users.newUser\": \"Nuevo usuario\",\n    \"users.newUserRole\": \"Nuevo rol de usuario\",\n    \"users.password\": \"Contraseña\",\n    \"users.passwordEnable\": \"Habilitar inicio de sesión con contraseña\",\n    \"users.passwordMismatch\": \"Las contraseñas no coinciden\",\n    \"users.passwordRepeat\": \"Repetir contraseña\",\n    \"users.perms\": \"Permisos\",\n    \"users.profile\": \"Perfil\",\n    \"users.resetLinkSent\": \"Si la cuenta está activa, recibirás un correo de restablecimiento de contraseña.\",\n    \"users.resetPassword\": \"Restablecer contraseña\",\n    \"users.role\": \"Rol | Roles\",\n    \"users.roleGroup\": \"Grupo\",\n    \"users.roles\": \"Roles\",\n    \"users.status.disabled\": \"Desactivado\",\n    \"users.status.enabled\": \"Habilitado\",\n    \"users.totpCode\": \"Código TOTP\",\n    \"users.totpCodeHelp\": \"Ingresa el código de 6 dígitos de tu aplicación de autenticación\",\n    \"users.totpScanQR\": \"Escanea el código QR con tu aplicación de autenticación como Ente o Google Authenticator e ingresa el código TOTP a continuación.\",\n    \"users.totpSecret\": \"Clave secreta\",\n    \"users.twoFA\": \"Autenticación de dos factores\",\n    \"users.twoFAAlreadyEnabled\": \"La autenticación de dos factores ya está habilitada.\",\n    \"users.twoFAEnabled\": \"La autenticación de dos factores está activa\",\n    \"users.twoFAEnabledDesc\": \"Tu cuenta está protegida con 2FA {type}\",\n    \"users.twoFANotEnabled\": \"Habilita 2FA para seguridad adicional al iniciar sesión en tu cuenta.\",\n    \"users.type\": \"Tipo\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Usuario\",\n    \"users.userRole\": \"Rol del usuario | Roles del usuario\",\n    \"users.userRoles\": \"Roles del usuario\",\n    \"users.username\": \"Nombre de usuario\",\n    \"users.usernameHelp\": \"Utilizado con el inicio de sesión con contraseña\"\n}\n"
  },
  {
    "path": "i18n/fi.json",
    "content": "{\n    \"_.code\": \"fi\",\n    \"_.name\": \"Suomi (fi)\",\n    \"admin.errorMarshallingConfig\": \"Virhe konfiguroitaessa: {error}\",\n    \"analytics.count\": \"Avausmäärä\",\n    \"analytics.fromDate\": \"Alkaen\",\n    \"analytics.invalidDates\": \"Virheellinen `alkaen` tai `päättyen` päivämäärä.\",\n    \"analytics.isUnique\": \"Avausmäärät ovat yksilöllisiä tilaajaa kohden.\",\n    \"analytics.links\": \"Linkit\",\n    \"analytics.nonUnique\": \"Avausmäärät eivät ole yksilöllisiä, koska yksittäisten tilaajien seuranta on poistettu käytöstä.\",\n    \"analytics.title\": \"Tilastot\",\n    \"analytics.toDate\": \"Päättyen\",\n    \"bounces.complaint\": \"Valitus\",\n    \"bounces.hard\": \"Kova\",\n    \"bounces.soft\": \"Pehmeä\",\n    \"bounces.source\": \"Lähde\",\n    \"bounces.unknownService\": \"Tuntematon palvelu.\",\n    \"bounces.view\": \"Näytä epäonnistuneet toimitukset\",\n    \"campaigns.addAltText\": \"Lisää vaihtoehtoinen tekstimuotoinen viesti\",\n    \"campaigns.addAttachments\": \"Lisää liitteitä\",\n    \"campaigns.archive\": \"Arkistoi\",\n    \"campaigns.archiveEnable\": \"Julkaise julkiseen arkistoon\",\n    \"campaigns.archiveHelp\": \"Julkaise kampanjaviesti julkisessa arkistossa.\",\n    \"campaigns.archiveMeta\": \"Kampanjan metatiedot\",\n    \"campaigns.archiveMetaHelp\": \"Tietuekuvioita voidaan käyttää julkisessa viestissä, joissa on mukana nimi, sähköposti ja kampanjaviestissä tai mallipohjassa käytetyt valinnaiset attribuutit.\",\n    \"campaigns.archiveSlug\": \"URL-slugi\",\n    \"campaigns.archiveSlugHelp\": \"Lyhyt nimi sivulle, jota käytetään julkisessa URL:ssa. Esim: oma-uutiskirje-versio-2\",\n    \"campaigns.attachments\": \"Liitteet\",\n    \"campaigns.attribsHelp\": \"Mukautettu JSON-objekti {} -attribuutit tälle kampanjalle. Käytä mallissa {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Käynnissä olevaa tai päättynyttä kampanjaa ei voi päivittää.\",\n    \"campaigns.clicks\": \"Klikkaukset\",\n    \"campaigns.confirmDelete\": \"Poista {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Tämä korvaa kaiken sisällön. Jatketaanko?\",\n    \"campaigns.confirmSchedule\": \"Tämä kampanja aloitetaan automaattisesti valittuna päivänä ja kellonaikana. Aloita nyt?\",\n    \"campaigns.confirmSwitchFormat\": \"Viestin sisältö saattaa menettää muotoilun. Haluatko jatkaa?\",\n    \"campaigns.content\": \"Sisältö\",\n    \"campaigns.contentHelp\": \"Kirjoita sisältö tähän\",\n    \"campaigns.continue\": \"Jatka\",\n    \"campaigns.copyOf\": \"Kopio kampanjasta {name}\",\n    \"campaigns.customHeadersHelp\": \"Taulukko mukautettuja otsakkeita lähtevissä viesteissä. esim: [{\\\"X-Custom\\\": \\\"arvo\\\"}, {\\\"X-Custom2\\\": \\\"arvo\\\"}]\",\n    \"campaigns.dateAndTime\": \"Päiväys ja aika\",\n    \"campaigns.ended\": \"Päättynyt\",\n    \"campaigns.errorSendTest\": \"Virhe lähetettäessä testiä: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Virhe koostaessa kampanjan sisältöä: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Virheellinen `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Virhe listan tunnisteessa.\",\n    \"campaigns.fieldInvalidMessenger\": \"Tuntematon viestin {name}.\",\n    \"campaigns.fieldInvalidName\": \"Nimen pituus on virheellinen.\",\n    \"campaigns.fieldInvalidSendAt\": \"Aikataulutetun päivämäärän tulee olla tulevaisuudessa.\",\n    \"campaigns.fieldInvalidSubject\": \"Otsikon pituus on virheellinen.\",\n    \"campaigns.format\": \"Muoto\",\n    \"campaigns.formatHTML\": \"Muotoile HTML\",\n    \"campaigns.fromAddress\": \"Lähettäjän osoite\",\n    \"campaigns.fromAddressPlaceholder\": \"Nimesi <noreply@kotisivusi.com>\",\n    \"campaigns.importVisualTemplate\": \"Tuo visuaalinen malli\",\n    \"campaigns.invalid\": \"Virheellinen kampanja\",\n    \"campaigns.invalidCustomHeaders\": \"Virheelliset mukautetut otsakkeet: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampanja tarvitsee aikataulun päivämäärän.\",\n    \"campaigns.newCampaign\": \"Uusi kampanja\",\n    \"campaigns.noKnownSubsToTest\": \"Ei tunnettuja tilaajia testaamiseen.\",\n    \"campaigns.noOptinLists\": \"Listoja joihin kampanjan voi luoda ei löytynyt .\",\n    \"campaigns.noSubs\": \"Valituissa listoissa ei ole tilaajia, joille voi luoda kampanjan.\",\n    \"campaigns.noSubsToTest\": \"Kohdennettavia tilaajia ei löytynyt.\",\n    \"campaigns.notFound\": \"Kampanjaa ei löytynyt.\",\n    \"campaigns.onlyActiveCancel\": \"Vain aktiiviset kampanjat voi peruuttaa.\",\n    \"campaigns.onlyActivePause\": \"Vain aktiivisissa kampanjoissa on mahdollista tauottaa.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Vain keskeneräiset kampanjat voidaan aikatauluttaa.\",\n    \"campaigns.onlyPausedDraft\": \"Vain tauotetut kampanjat ja luonnokset voidaan käynnistää.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Vain aikataulutetut kampanjat voivat tallentaa luonnoksena.\",\n    \"campaigns.pause\": \"Tauko\",\n    \"campaigns.plainText\": \"Pelkkä teksti\",\n    \"campaigns.preview\": \"Esikatselu\",\n    \"campaigns.progress\": \"Edistyminen\",\n    \"campaigns.queryPlaceholder\": \"Nimi tai aihe\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML\",\n    \"campaigns.removeAltText\": \"Poista vaihtoehtoinen pelkkä teksti -viesti\",\n    \"campaigns.richText\": \"Rikastettu teksti\",\n    \"campaigns.schedule\": \"Aikatauluta kampanja\",\n    \"campaigns.scheduled\": \"Aikataulutettu\",\n    \"campaigns.send\": \"Lähetä\",\n    \"campaigns.sendLater\": \"Lähetä myöhemmin\",\n    \"campaigns.sendTest\": \"Lähetä testiviesti\",\n    \"campaigns.sendTestHelp\": \"Paina Enteriä syötettyäsi sähköpostiosoitteen lisätäksesi useita vastaanottajia. Osoitteiden täytyy kuulua olemassa oleville tilaajille.\",\n    \"campaigns.sendToLists\": \"Listat joille läheteään\",\n    \"campaigns.sent\": \"Lähetetty\",\n    \"campaigns.start\": \"Käynnistä kampanja\",\n    \"campaigns.started\": \"\\\"{name}\\\" aloitettu\",\n    \"campaigns.startedAt\": \"Käynnistetty\",\n    \"campaigns.stats\": \"Tilastot\",\n    \"campaigns.status.cancelled\": \"Peruutettu\",\n    \"campaigns.status.draft\": \"Luonnos\",\n    \"campaigns.status.finished\": \"Valmis\",\n    \"campaigns.status.paused\": \"Tauolla\",\n    \"campaigns.status.running\": \"Käynnissä\",\n    \"campaigns.status.scheduled\": \"Aikataulutettu\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" on nyt tilassa {status}\",\n    \"campaigns.subject\": \"Aihe\",\n    \"campaigns.templatingRef\": \"Mallipohjan viite\",\n    \"campaigns.testEmails\": \"Sähköpostit\",\n    \"campaigns.testSent\": \"Testiviesti lähetetty\",\n    \"campaigns.timestamps\": \"Aikaleimat\",\n    \"campaigns.trackLink\": \"Seurantalinkki\",\n    \"campaigns.unSchedule\": \"Poista aikataulutus\",\n    \"campaigns.views\": \"Katselukerrat\",\n    \"campaigns.visual\": \"Visuaalinen\",\n    \"dashboard.campaignViews\": \"Kampanjan katselukerrat\",\n    \"dashboard.linkClicks\": \"Linkin klikkaukset\",\n    \"dashboard.messagesSent\": \"Lähetetyt viestit\",\n    \"dashboard.orphanSubs\": \"Orvot\",\n    \"email.data.info\": \"Kopio kaikista sinusta tallennetuista tiedoista on liitetiedostona JSON-muodossa. Voit tarkastella tiedostoa tekstieditorissa.\",\n    \"email.data.title\": \"Sinun tietosi\",\n    \"email.forgotPassword.button\": \"Palauta salasana\",\n    \"email.forgotPassword.info\": \"Jos et pyytänyt tätä, voit turvallisesti jättää tämän sähköpostin huomiotta. Tämä linkki vanhenee 30 minuutissa.\",\n    \"email.forgotPassword.subject\": \"Palauta salasanasi\",\n    \"email.optin.confirmSub\": \"Vahvista postituslistalle liittyminen\",\n    \"email.optin.confirmSubHelp\": \"Vahvista postituslistalle liittyminen napsauttamalla alla olevaa painiketta.\",\n    \"email.optin.confirmSubInfo\": \"Sinut on lisätty seuraaville listoille:\",\n    \"email.optin.confirmSubTitle\": \"Vahvista liittyminen postituslistalle\",\n    \"email.optin.confirmSubWelcome\": \"Hei\",\n    \"email.optin.privateList\": \"Yksityinen lista\",\n    \"email.status.campaignReason\": \"Syy\",\n    \"email.status.campaignSent\": \"Lähetetty\",\n    \"email.status.campaignUpdateTitle\": \"Kampanjan päivitys\",\n    \"email.status.importFile\": \"Tiedosto\",\n    \"email.status.importRecords\": \"Tietueet\",\n    \"email.status.importTitle\": \"Tuo päivitys\",\n    \"email.status.status\": \"Tila\",\n    \"email.unsub\": \"Poistu postituslistalta\",\n    \"email.unsubHelp\": \"Etkö halua enää vastaanottaa näitä viestejä?\",\n    \"email.viewInBrowser\": \"Katsele viestiä selaimessa\",\n    \"forms.formHTML\": \"Lomakkeen HTML\",\n    \"forms.formHTMLHelp\": \"Käytä seuraavaa HTML-koodia, jotta saat liittymislomakkeen ulkoiselle verkkosivulle. Lomakkeessa pitää olla sähköpostikenttä ja yksi tai useampi `l` (listan UUID) -kenttä. Nimi kenttä on valinnainen.\",\n    \"forms.noPublicLists\": \"Ei julkista listaa lomakkeen luomiseksi.\",\n    \"forms.publicLists\": \"Julkiset listat\",\n    \"forms.publicSubPage\": \"Julkinen liittymis-sivu\",\n    \"forms.selectHelp\": \"Valitse listat, jotka haluat lisätä lomakkeelle.\",\n    \"forms.title\": \"Lomakkeet\",\n    \"globals.buttons.add\": \"Lisää\",\n    \"globals.buttons.addNew\": \"Lisää uusi\",\n    \"globals.buttons.back\": \"Takaisin\",\n    \"globals.buttons.cancel\": \"Peruuta\",\n    \"globals.buttons.clear\": \"Tyhjennä\",\n    \"globals.buttons.clearAll\": \"Tyhjennä kaikki\",\n    \"globals.buttons.clone\": \"Kloonaa\",\n    \"globals.buttons.close\": \"Sulje\",\n    \"globals.buttons.continue\": \"Jatka\",\n    \"globals.buttons.copy\": \"Kopioi\",\n    \"globals.buttons.delete\": \"Poista\",\n    \"globals.buttons.deleteAll\": \"Poista kaikki\",\n    \"globals.buttons.disable\": \"Poista käytöstä\",\n    \"globals.buttons.edit\": \"Muokkaa\",\n    \"globals.buttons.enable\": \"Ota käyttöön\",\n    \"globals.buttons.enabled\": \"Käytössä\",\n    \"globals.buttons.insert\": \"Lisää\",\n    \"globals.buttons.learnMore\": \"Lue lisää\",\n    \"globals.buttons.manage\": \"Hallitse\",\n    \"globals.buttons.more\": \"Lisää\",\n    \"globals.buttons.new\": \"Uusi\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Poista\",\n    \"globals.buttons.save\": \"Tallenna\",\n    \"globals.buttons.saveChanges\": \"Tallenna muutokset\",\n    \"globals.buttons.toggleSelect\": \"Vaihda valinta\",\n    \"globals.buttons.view\": \"Näytä\",\n    \"globals.days.0\": \"Su\",\n    \"globals.days.1\": \"Su\",\n    \"globals.days.2\": \"Ma\",\n    \"globals.days.3\": \"Ti\",\n    \"globals.days.4\": \"Ke\",\n    \"globals.days.5\": \"To\",\n    \"globals.days.6\": \"Pe\",\n    \"globals.days.7\": \"La\",\n    \"globals.fields.createdAt\": \"Luotu\",\n    \"globals.fields.description\": \"Kuvaus\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nimi\",\n    \"globals.fields.status\": \"Tila\",\n    \"globals.fields.type\": \"Tyyppi\",\n    \"globals.fields.updatedAt\": \"Päivitetty\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Oletko varma?\",\n    \"globals.messages.confirmDelete\": \"Poista {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Haluatko hylätä muutokset?\",\n    \"globals.messages.copied\": \"Kopioitu\",\n    \"globals.messages.created\": \"\\\"{name}\\\" luotu\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" poistettu\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) poistettu\",\n    \"globals.messages.done\": \"Valmis\",\n    \"globals.messages.emptyState\": \"Täällä ei ole mitään\",\n    \"globals.messages.errorCreating\": \"Virhe luotaessa {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Virhe poistaessa {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Virhe haettaessa {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Yksi tai useampi ID on virheellinen: {error}\",\n    \"globals.messages.errorUUID\": \"UUID:n generoinnissa virhe: {error}\",\n    \"globals.messages.errorUpdating\": \"Virhe päivitettäessä {name}: {error}\",\n    \"globals.messages.internalError\": \"Sisäinen palvelinvirhe\",\n    \"globals.messages.invalidData\": \"Virheelliset tiedot\",\n    \"globals.messages.invalidFields\": \"Virheelliset kentät: {name}\",\n    \"globals.messages.invalidID\": \"Virheelliset ID:t\",\n    \"globals.messages.invalidUUID\": \"Virheelliset UUID:t\",\n    \"globals.messages.invalidValue\": \"Virheellinen arvo\",\n    \"globals.messages.missingFields\": \"Puuttuvat kentät: {name}\",\n    \"globals.messages.notFound\": \"{name} ei löytynyt\",\n    \"globals.messages.numSelected\": \"{num} valittuna\",\n    \"globals.messages.passwordChange\": \"Syötä muuttaaksesi arvoa\",\n    \"globals.messages.passwordChangeFull\": \"Tyhjennä ja kirjoita uudelleen täysi salasana kohdassa '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Pääsy evätty: {name}\",\n    \"globals.messages.selectAll\": \"Valitse kaikki {num}\",\n    \"globals.messages.slowQueriesCached\": \"Hitaat kyselyt tallennetaan välimuistiin. Jotkin numerot tällä sivulla eivät ole ajan tasalla.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" päivitetty\",\n    \"globals.months.1\": \"Tammi\",\n    \"globals.months.10\": \"Loka\",\n    \"globals.months.11\": \"Marras\",\n    \"globals.months.12\": \"Joulu\",\n    \"globals.months.2\": \"Helmi\",\n    \"globals.months.3\": \"Maalis\",\n    \"globals.months.4\": \"Huhti\",\n    \"globals.months.5\": \"Touko\",\n    \"globals.months.6\": \"Kesä\",\n    \"globals.months.7\": \"Heinä\",\n    \"globals.months.8\": \"Elo\",\n    \"globals.months.9\": \"Syys\",\n    \"globals.states.off\": \"Pois päältä\",\n    \"globals.terms.all\": \"Kaikki\",\n    \"globals.terms.analytics\": \"Tilastot\",\n    \"globals.terms.attribs\": \"Ominaisuudet\",\n    \"globals.terms.bounce\": \"Bounce | Bouncet\",\n    \"globals.terms.bounces\": \"Bouncet\",\n    \"globals.terms.campaign\": \"Kampanja | Kampanjat\",\n    \"globals.terms.campaigns\": \"Kampanjat\",\n    \"globals.terms.dashboard\": \"Kojelauta\",\n    \"globals.terms.day\": \"Päivä | Päivät\",\n    \"globals.terms.hour\": \"Tunti | Tunnit\",\n    \"globals.terms.import\": \"Tuo\",\n    \"globals.terms.list\": \"Lista | Listat\",\n    \"globals.terms.lists\": \"Listat\",\n    \"globals.terms.media\": \"Media\",\n    \"globals.terms.messenger\": \"Lähetystapa | Lähetystavat\",\n    \"globals.terms.messengers\": \"Lähetystavat\",\n    \"globals.terms.minute\": \"Minuutti | Minuutit\",\n    \"globals.terms.month\": \"Kuukausi | Kuukaudet\",\n    \"globals.terms.new\": \"Uusi\",\n    \"globals.terms.none\": \"Ei mitään\",\n    \"globals.terms.second\": \"Sekunti | Sekunnit\",\n    \"globals.terms.settings\": \"Asetukset\",\n    \"globals.terms.subscriber\": \"Tilaaja | Tilaajat\",\n    \"globals.terms.subscribers\": \"Tilaajat\",\n    \"globals.terms.subscriptions\": \"Tilaus | Tilaukset\",\n    \"globals.terms.tag\": \"Tunniste | Tunnisteet\",\n    \"globals.terms.tags\": \"Tunnisteet\",\n    \"globals.terms.template\": \"Mallipohja | Mallipohjat\",\n    \"globals.terms.templates\": \"Mallipohja\",\n    \"globals.terms.tx\": \"Transaktiivinen | Transaktiiviset\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Käyttäjä | Käyttäjät\",\n    \"globals.terms.users\": \"Käyttäjät\",\n    \"globals.terms.year\": \"Vuosi | Vuodet\",\n    \"import.alreadyRunning\": \"Tuonti on jo käynnissä. Odota sen valmistumista tai lopeta se ennen yrittämistä uudelleen.\",\n    \"import.blocklist\": \"Estolista\",\n    \"import.csvDelim\": \"CSV-välimerkki\",\n    \"import.csvDelimHelp\": \"Oletus välimerkki on pilkku.\",\n    \"import.csvExample\": \"Esimerkki raa'asta CSV-muodosta\",\n    \"import.csvFile\": \"CSV- tai ZIP-tiedosto\",\n    \"import.csvFileHelp\": \"Klikkaa tai raahaa CSV- tai ZIP-tiedosto tähän\",\n    \"import.errorCopyingFile\": \"Virhe kopioitaessa tiedostoa: {error}\",\n    \"import.errorProcessingZIP\": \"Virhe käsitellessä ZIP-tiedostoa: {error}\",\n    \"import.errorStarting\": \"Virhe aloitellessa tuontia: {error}\",\n    \"import.importDone\": \"Valmis\",\n    \"import.importStarted\": \"Tuonti aloitettu\",\n    \"import.instructions\": \"Ohjeet\",\n    \"import.instructionsHelp\": \"Lataa CSV-tiedosto tai ZIP-tiedosto, jossa on yksi CSV-tiedosto, tilaajien massatuontiin. CSV-tiedoston otsakkeiden tulee sisältää täsmälleen samat sarakkeiden nimet. Attribuuttien (valinnaisia) tulisi olla kelvollisessa JSON-muodossa kaksoislainausmerkkeineen.\",\n    \"import.invalidDelim\": \"Erottimen täytyy olla yksittäinen merkki.\",\n    \"import.invalidFile\": \"Virheellinen tiedosto: {error}\",\n    \"import.invalidMode\": \"Virheellinen tila\",\n    \"import.invalidParams\": \"Virheelliset parametrit: {error}\",\n    \"import.invalidSubStatus\": \"Väärä tilaustila\",\n    \"import.listSubHelp\": \"Tilattavat listat\",\n    \"import.mode\": \"Tila\",\n    \"import.overwriteSubStatus\": \"Korvaa tilauksen status\",\n    \"import.overwriteSubStatusHelp\": \"Korvaa olemassa olevien listatilauksien status\",\n    \"import.overwriteUserInfo\": \"Korvaa käyttäjän tiedot\",\n    \"import.overwriteUserInfoHelp\": \"Korvaa olemassa olevien tilaajien nimi ja attribuutit\",\n    \"import.recordsCount\": \"{num} / {total} tietuetta\",\n    \"import.stopImport\": \"Pysäytä tuonti\",\n    \"import.subscribe\": \"Liity\",\n    \"import.subscribeWarning\": \"Ylikirjoitus liittää perutut sähköpostiosoitteet uudelleen. Haluatko jatkaa?\",\n    \"import.title\": \"Tuo tilaajat\",\n    \"import.upload\": \"Lataa\",\n    \"lists.archived\": \"Arkistoitu\",\n    \"lists.archivedHelp\": \"Arkistointi piilottaa listat listaiden sivulta, kampanjoista ja julkisista lomakkeista. Se voidaan palauttaa arkistoinnista milloin tahansa. Se on hyödyllinen vanhojen ja harvoin käytettyjen listojen piilottamiseen.\",\n    \"lists.confirmDelete\": \"Oletko varma? Tämä ei poista tilaajia.\",\n    \"lists.confirmSub\": \"Vahvista liittyminen ({name})\",\n    \"lists.invalidName\": \"Virheellinen nimi\",\n    \"lists.newList\": \"Uusi lista\",\n    \"lists.optin\": \"Liity\",\n    \"lists.optinHelp\": \"Varmennettu liittyminen lähettää tilaajalle sähköpostin ja pyytää vahvistusta. Varmennetun liittymisen listoilla, kampanjat lähetetään vain vahvistetuille tilaajille.\",\n    \"lists.optinTo\": \"Liity postituslistalle {name}\",\n    \"lists.optins.double\": \"Varmennettu liittyminen\",\n    \"lists.optins.single\": \"Yksinkertainen liittyminen\",\n    \"lists.sendCampaign\": \"Lähetä kampanja\",\n    \"lists.sendOptinCampaign\": \"Lähetä liittymiskampanja\",\n    \"lists.type\": \"Tyyppi\",\n    \"lists.typeHelp\": \"Juliset listat ovat avoimia kaikille tilaajille ja niiden nimi voi esiintyä julkisilla sivuilla, kuten tilaustenhallintasivustolla.\",\n    \"lists.types.private\": \"Yksityinen\",\n    \"lists.types.public\": \"Julkinen\",\n    \"logs.title\": \"Lokit\",\n    \"maintenance.database.title\": \"Tietokanta\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE vapauttaa poistettujen rivien käyttämää tallennustilaa ja merkittävästi nopeuttaa tietokannan suorituskykyä suurissa tietokannoissa. TÄRKEÄ: Suuriin tietokantoihin, tämä on hidas, estävä toiminta. Ajoita se suoritettavaksi huipputtunneista poissa olevan ajan.\",\n    \"maintenance.help\": \"Joidenkin toimintojen suorittaminen voi kestää jonkin aikaa riippuen tiedon määrästä.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Varmentamattomat tilaukset\",\n    \"maintenance.olderThan\": \"Vanhempi kuin\",\n    \"maintenance.orphanHelp\": \"Orvot = tilaajat joilla ei ole tilauksia\",\n    \"maintenance.title\": \"Ylläpito\",\n    \"maintenance.unconfirmedSubs\": \"Varmentamattomat tilaukset, jotka ovat yli {name} päivää vanhoja.\",\n    \"media.errorReadingFile\": \"Virhe tiedoston lukemisessa: {error}\",\n    \"media.errorResizing\": \"Virhe kuvan muokkauksessa: {error}\",\n    \"media.errorSavingThumbnail\": \"Virhe pikkukuvan tallentamisessa: {error}\",\n    \"media.errorUploading\": \"Virhe tiedoston lataamisessa: {error}\",\n    \"media.invalidFile\": \"Virheellinen tiedosto: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Tiedostotyyppiä ei tueta ({type})\",\n    \"media.upload\": \"Lataa\",\n    \"media.uploadHelp\": \"Klikkaa tai raahaa tähän yksi tai useampi kuva\",\n    \"menu.allCampaigns\": \"Kaikki kampanjat\",\n    \"menu.allLists\": \"Kaikki listat\",\n    \"menu.allSubscribers\": \"Kaikki tilaajat\",\n    \"menu.dashboard\": \"Kojelauta\",\n    \"menu.forms\": \"Lomakkeet\",\n    \"menu.import\": \"Tuonti\",\n    \"menu.logs\": \"Lokit\",\n    \"menu.maintenance\": \"Ylläpito\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Luo uusi\",\n    \"menu.settings\": \"Asetukset\",\n    \"public.archiveEmpty\": \"Ei arkistoituja viestejä.\",\n    \"public.archiveTitle\": \"Viestiarkisto\",\n    \"public.blocklisted\": \"Estetty tilaaja.\",\n    \"public.campaignNotFound\": \"Sähköpostiviestiä ei löytynyt\",\n    \"public.confirmOptinSubTitle\": \"Vahvista uutiskirjeen tilaus\",\n    \"public.confirmSub\": \"Vahvista liittyminen\",\n    \"public.confirmSubInfo\": \"Sinut on lisätty seuraaville listoille:\",\n    \"public.confirmSubTitle\": \"Liittymisen varmennus\",\n    \"public.dataRemoved\": \"Tilauksesi ja kaikki liitetty tieto on poistettu.\",\n    \"public.dataRemovedTitle\": \"Tiedot poistettu\",\n    \"public.dataSent\": \"Tietosi on lähetetty sinulle sähköpostin liitteenä.\",\n    \"public.dataSentTitle\": \"Tiedot lähetetty\",\n    \"public.errorFetchingCampaign\": \"Virhe noutaessa sähköpostiviestiä.\",\n    \"public.errorFetchingEmail\": \"Sähköpostiviestiä ei löytynyt\",\n    \"public.errorFetchingLists\": \"Virhe noutaessa listoja. Ole hyvä ja yritä uudestaan.\",\n    \"public.errorProcessingRequest\": \"Virhe käsitellessä pyyntöäsi. Ole hyvä ja yritä uudelleen.\",\n    \"public.errorTitle\": \"Tapahtui virhe\",\n    \"public.invalidCaptcha\": \"Virheellinen CAPTCHA.\",\n    \"public.invalidFeature\": \"Tämä ominaisuus ei ole saatavilla.\",\n    \"public.invalidLink\": \"Virheellinen linkki\",\n    \"public.managePrefs\": \"Hallitse asetuksia\",\n    \"public.managePrefsUnsub\": \"Poista valinta listoilta peruuttaaksesi tilauksen.\",\n    \"public.noListsAvailable\": \"Ei liityttävissä olevia listoja.\",\n    \"public.noListsSelected\": \"Ei valittua listaa liittymisen muodostamiseksi.\",\n    \"public.noSubInfo\": \"Sinulla ei ole vahvistettavia tilauksia.\",\n    \"public.noSubTitle\": \"Ei vahvistettavia tilauksia\",\n    \"public.notFoundTitle\": \"Ei löytynyt\",\n    \"public.poweredBy\": \"Voimanlähteenä\",\n    \"public.prefsSaved\": \"Asetuksesi on tallennettu.\",\n    \"public.privacyConfirmWipe\": \"Oletko varma, että haluat poistaa kaikki tietosi pysyvästi?\",\n    \"public.privacyExport\": \"Vie tietosi\",\n    \"public.privacyExportHelp\": \"Kopio tiedoistasi lähetetään sinulle sähköpostitse.\",\n    \"public.privacyTitle\": \"Yksityisyys ja tiedot\",\n    \"public.privacyWipe\": \"Pyyhi tietosi\",\n    \"public.privacyWipeHelp\": \"Poista kaikki tilauksesi sekä niihin liittyvät tiedot pysyvästi.\",\n    \"public.sub\": \"Liity\",\n    \"public.subConfirmed\": \"Postituslistan tilaus onnistui.\",\n    \"public.subConfirmedTitle\": \"Vahvistettu\",\n    \"public.subName\": \"Nimi (ei pakollinen)\",\n    \"public.subNotFound\": \"Tilausta ei löytynyt.\",\n    \"public.subOptinPending\": \"Sinulle on lähetetty sähköpostiviesti, josta sinun täytyy vahvistaa tilauksesi.\",\n    \"public.subPrivateList\": \"Yksityinen lista\",\n    \"public.subTitle\": \"Liity postituslistalle\",\n    \"public.unsub\": \"Eroa postituslistalta\",\n    \"public.unsubFull\": \"Peru myös kaikki tulevat sähköpostit.\",\n    \"public.unsubHelp\": \"Haluatko erota tältä postituslistalta?\",\n    \"public.unsubTitle\": \"Postituslistalta eroaminen\",\n    \"public.unsubbedInfo\": \"Olet poistunut postituslistalta onnistuneesti.\",\n    \"public.unsubbedTitle\": \"Tilaus peruutettu\",\n    \"public.unsubscribeTitle\": \"Eroa postituslistalta\",\n    \"settings.appearance.adminHelp\": \"Admin käyttöliittymään sovellettava mukautettu CSS ja JavaScript.\",\n    \"settings.appearance.adminName\": \"Ylläpitäjä\",\n    \"settings.appearance.customCSS\": \"Mukautettu CSS\",\n    \"settings.appearance.customJS\": \"Mukautettu JavaScript\",\n    \"settings.appearance.name\": \"Ulkoasu\",\n    \"settings.appearance.publicHelp\": \"Julkisiin sivuihin sovellettava mukautettu CSS ja JavaScript.\",\n    \"settings.appearance.publicName\": \"Julkinen\",\n    \"settings.bounces.action\": \"Toiminta\",\n    \"settings.bounces.blocklist\": \"Estolista\",\n    \"settings.bounces.count\": \"Bouncemittari\",\n    \"settings.bounces.countHelp\": \"Bounce lukumäärä tilaajaa kohden\",\n    \"settings.bounces.enable\": \"Ota käyttöön bounce-käsittely\",\n    \"settings.bounces.enableForwardemail\": \"Ota käyttöön sähköpostin edelleenlähetys\",\n    \"settings.bounces.enableMailbox\": \"Ota käyttöön bounce-postilaatikko\",\n    \"settings.bounces.enablePostmark\": \"Ota käyttöön Postmark\",\n    \"settings.bounces.enableSES\": \"Ota käyttöön SES\",\n    \"settings.bounces.enableSendgrid\": \"Ota käyttöön SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Ota käyttöön webhookit bounceille\",\n    \"settings.bounces.enabled\": \"Käytössä\",\n    \"settings.bounces.folder\": \"Kansio\",\n    \"settings.bounces.folderHelp\": \"IMAP-kansion nimi, joka tarkistetaan. Esim. Saapuneet.\",\n    \"settings.bounces.forwardemailKey\": \"Välitysavaimen sähköposti\",\n    \"settings.bounces.invalidScanInterval\": \"Bounce skannausintervallin pitää olla vähintään 1 minuutti.\",\n    \"settings.bounces.name\": \"Bouncet\",\n    \"settings.bounces.none\": \"Ei mitään\",\n    \"settings.bounces.postmarkPassword\": \"Postmark-salasana\",\n    \"settings.bounces.postmarkUsername\": \"Postmark-käyttäjänimi\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark mahdollistaa perusvaltuutuksen ottamisen käyttöön web-sovelluksissa. Muista syöttää samat tunnistetiedot tänne ja Postmark-web-sovellusten asetuksiin.\",\n    \"settings.bounces.scanInterval\": \"Skannausintervalli\",\n    \"settings.bounces.scanIntervalHelp\": \"Aika, jonka välein bounce-postilaatikko tarkistetaan bounce-palautusten varalta (s sekunteja, m minuutteja).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid-avain\",\n    \"settings.bounces.type\": \"Tyyppi\",\n    \"settings.bounces.username\": \"Käyttäjänimi\",\n    \"settings.confirmRestart\": \"Varmista että käynnissä olevat kampanjat ovat tauolla. Käynnistetäänkö uudelleen?\",\n    \"settings.duplicateMessengerName\": \"Lähetin, nimeltä {name} on jo olemassa.\",\n    \"settings.errorEncoding\": \"Virhe koodattaessa asetuksia: {error}\",\n    \"settings.errorNoSMTP\": \"Vähintään yksi SMTP-tila pitää olla otettuna käyttöön\",\n    \"settings.general.adminNotifEmails\": \"Adminin ilmoitussähköpostit\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista sähköpostiosoitteita pilkulla eroteltuna, joihin ylläpitäjän ilmoitukset (kuten tuonnin päivitykset, kampanja on valmis, epäonnistuminen) lähetetään.\",\n    \"settings.general.checkUpdates\": \"Tarkista päivitykset\",\n    \"settings.general.checkUpdatesHelp\": \"Tarkista säännöllisesti uusimmat sovelluspäivitykset ja ilmoita niistä.\",\n    \"settings.general.enablePublicArchive\": \"Ota käyttöön arkisto-sivu julkisille postituslistoille\",\n    \"settings.general.enablePublicArchiveHelp\": \"Julkaise kampanjat, joissa on otettu käyttöön arkistointi, julkisella verkkosivustolla.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Näytä koko sisältö RSS-syötteessä\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Näytä koko sähköpostin sisältö RSS-syötteenä. Jos tämä on poiskytketty, näytetään vain otsikko ja linkki-elementit.\",\n    \"settings.general.enablePublicSubPage\": \"Ota käyttöön julkinen tilausten hallintasivu\",\n    \"settings.general.enablePublicSubPageHelp\": \"Näytä julkisessa lomakkeessa kaikki julkiset listat, jotka ovat mahdollista tilata.\",\n    \"settings.general.faviconURL\": \"Faviconin URL-osoite\",\n    \"settings.general.faviconURLHelp\": \"(Valinnainen) täydellinen URL faviconiksi määriteltävälle staattiselle tiedostolle, joka näytetään käyttäjien ulottuvilla näkyvissä olevissa näkymissä, kuten peruutussivulla.\",\n    \"settings.general.fromEmail\": \"Oletuslähettäjän sähköposti\",\n    \"settings.general.fromEmailHelp\": \"Oletusarvoinen `from`-sähköpostiosoite lähteville kampanjasähköposteille. Tätä voidaan muuttaa kullekin kampanjalle erikseen.\",\n    \"settings.general.language\": \"Kieli\",\n    \"settings.general.logoURL\": \"Logon URL-osoite\",\n    \"settings.general.logoURLHelp\": \"(Valinnainen) täydellinen URL logoa varten näytettäväksi käyttäjän ulottuvilla näkyvissä olevissa näkymissä, kuten peruutussivulla.\",\n    \"settings.general.name\": \"Yleiset\",\n    \"settings.general.rootURL\": \"Juuriosoite-URL\",\n    \"settings.general.rootURLHelp\": \"Julkisen asennuksen URL-osoite (ei viimeistä kenoviivaa).\",\n    \"settings.general.sendOptinConfirm\": \"Lähetä varmennus-sähköposti\",\n    \"settings.general.sendOptinConfirmHelp\": \"Lähetä varmennus-sähköposti, kun tilaajat rekisteröityvät julkisella lomakkeella tai heidät lisätään adminin toimesta.\",\n    \"settings.general.siteName\": \"Sivun nimi\",\n    \"settings.invalidMessengerName\": \"Virheellinen lähetti.\",\n    \"settings.mailserver.authProtocol\": \"Autentikointiprotokolla\",\n    \"settings.mailserver.host\": \"Isäntä\",\n    \"settings.mailserver.hostHelp\": \"SMTP-palvelimen isäntäosoite.\",\n    \"settings.mailserver.idleTimeout\": \"Odota-tila-aikakatkaisu\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Odota uutta toimintaa yhteydellä ennen kuin suljetaan ja poistetaan alta (s sekunteja, m minuutteja).\",\n    \"settings.mailserver.maxConns\": \"Maksimiyhteydet\",\n    \"settings.mailserver.maxConnsHelp\": \"Kerralla samaan aikaan avoimet yhteydet palvelimeen.\",\n    \"settings.mailserver.nameHelp\": \"Valinnainen yksilöllinen nimi SMTP-palvelimelle. Nimen on aloitettava etuliitteellä email-. Tämän asetuksen avulla palvelin voidaan valita nimenomaisesti kampanjaa varten. Esim: email-primary-server. Kirjain- ja numeroyhdistelmä / yhdysmerkki.\",\n    \"settings.mailserver.password\": \"Salasana\",\n    \"settings.mailserver.passwordHelp\": \"Syötä muuttaaksesi\",\n    \"settings.mailserver.port\": \"Portti\",\n    \"settings.mailserver.portHelp\": \"SMTP-palvelimen portti.\",\n    \"settings.mailserver.skipTLS\": \"Ohita TLS-varmenne\",\n    \"settings.mailserver.skipTLSHelp\": \"Ohita TLS-varmenteen isäntänimen tarkistus.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL-salaus. STARTTLS on yleisimmin käytetty.\",\n    \"settings.mailserver.username\": \"Käyttäjätunnus\",\n    \"settings.mailserver.waitTimeout\": \"Odota aikakatkaisu\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Odottaa uusia ​​toimintoja ennen kuin suljetaan ja poistutaan (s sekuntia, m minuuttia).\",\n    \"settings.maintenance.cron\": \"Cron-väli\",\n    \"settings.media.provider\": \"Tarjoaja\",\n    \"settings.media.s3.bucket\": \"Säilö\",\n    \"settings.media.s3.bucketPath\": \"Säilön polku\",\n    \"settings.media.s3.bucketPathHelp\": \"Polun sisällä olevat tiedostot ladataan säilöön. Oletuksena /\",\n    \"settings.media.s3.bucketType\": \"Säilön tyyppi\",\n    \"settings.media.s3.bucketTypePrivate\": \"Yksityinen\",\n    \"settings.media.s3.bucketTypePublic\": \"Julkinen\",\n    \"settings.media.s3.key\": \"AWS-käyttöavain\",\n    \"settings.media.s3.publicURL\": \"Mukautettu julkinen URL (valinnainen)\",\n    \"settings.media.s3.publicURLHelp\": \"Mukautettu S3-verkkotunnus käytettäväksi kuvien linkkien sijaan oletuksena olevalla S3-avaruuden URL-osoitteella.\",\n    \"settings.media.s3.region\": \"Alue\",\n    \"settings.media.s3.secret\": \"AWS-käyttösalaisuus\",\n    \"settings.media.s3.uploadExpiry\": \"Latauksen vanheneminen\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Valinnainen) Määritä TTL-arvo luodulle ennalta määritettävälle URL-osoitteelle. Sovelletaan vain yksityisiin säilöihin (s, m, h, d sekunteina, minuutteina, tunteina, päivinä).\",\n    \"settings.media.s3.url\": \"S3-avaruuden URL-osoite\",\n    \"settings.media.s3.urlHelp\": \"Voit muuttaa vain, jos käytät mukautettua S3-yhteensopivaa taustajärjestelmää, kuten Minio.\",\n    \"settings.media.title\": \"Median lataukset\",\n    \"settings.media.upload.extensions\": \"Sallitut tiedostotunnisteet\",\n    \"settings.media.upload.extensionsHelp\": \"Lisää * sallitaksesi kaikki tiedostomuodot\",\n    \"settings.media.upload.path\": \"Latauksen polku\",\n    \"settings.media.upload.pathHelp\": \"Polku, johon media ladataan.\",\n    \"settings.media.upload.uri\": \"Latauksen URI\",\n    \"settings.media.upload.uriHelp\": \"Latauksen URI, joka näkyy muille. Mediatiedostot, jotka ladataan upload_path-polkuun, ovat julkisesti saatavilla {root_url} -osoitteen alla, esimerkiksi https://listmonk.kotisivusi.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Maks. yhteydet\",\n    \"settings.messengers.maxConnsHelp\": \"Kerralla samaan aikaan avoimet yhteydet palvelimeen.\",\n    \"settings.messengers.messageSaved\": \"Asetukset tallennettu. Sovellus ladataan uudelleen...\",\n    \"settings.messengers.name\": \"Lähettimet\",\n    \"settings.messengers.nameHelp\": \"esim: minun-sms. Alfanumeeriset ja viiva.\",\n    \"settings.messengers.password\": \"Salasana\",\n    \"settings.messengers.retries\": \"Yrityskerrat\",\n    \"settings.messengers.retriesHelp\": \"Sanoman epäonnistumisen sattuessa yrityksien määrä.\",\n    \"settings.messengers.skipTLSHelp\": \"Ohita TLS-varmenteen isäntänimen tarkistus.\",\n    \"settings.messengers.timeout\": \"Odota-tila-aikakatkaisu\",\n    \"settings.messengers.timeoutHelp\": \"Odota uutta toimintaa yhteydellä ennen kuin suljetaan ja poistetaan alta (s sekunteja, m minuutteja).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Postback-palvelimen perus-URL.\",\n    \"settings.messengers.username\": \"Käyttäjätunnus\",\n    \"settings.needsRestart\": \"Asetukset muutettu. Tauko kaikissa käynnissä olevissa kampanjoissa ja käynnistä sovellus uudelleen\",\n    \"settings.performance.batchSize\": \"Erän koko\",\n    \"settings.performance.batchSizeHelp\": \"Tilaajien määrä kannasta, jotka haetaan yhdellä noutokerroilla. Jokaisella noudolla tilaajia haetaan kannasta, lähetetään viesti ja siirrytään seuraavaan noudon erään. Joten tämän arvon tulee olla suurempi kuin maksimaalinen suorituskyky (monisäikeisyys * viestinopeus).\",\n    \"settings.performance.cacheSlowQueries\": \"Tallenna hitaat tietokantakyselyt välimuistiin\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Ota tämä käyttöön ainoastaan suurille tietokannoille, jotka ovat selvästi hidastuneet. Käytön myötä esim. tilaajien määrät listoilla, kojelautatilastot jne. talletetaan välimuistiin.\",\n    \"settings.performance.concurrency\": \"Monisuoritus\",\n    \"settings.performance.concurrencyHelp\": \"Samanaikaisten säikeiden enimmäismäärä, jotka yrittävät lähettää viestejä samanaikaisesti.\",\n    \"settings.performance.maxErrThreshold\": \"Enimmäisvirhekynnys\",\n    \"settings.performance.maxErrThresholdHelp\": \"Virheiden määrä (esimerkiksi sähköposteihin tulevien SMTP-aikakatkaisut) mitä käynnissä oleva kampanja kestää ennen kuin se keskeytyy manuaalista tutkimusta tai väliintuloa varten. Aseta arvo 0, jotta ei koskaan keskeytetä.\",\n    \"settings.performance.messageRate\": \"Viestinopeus\",\n    \"settings.performance.messageRateHelp\": \"Suurin sallittu viestien määrä, joka voidaan lähettää per säie sekunnissa. Jos monisuoritus = 10 ja viestinopeus = 10, enintään 10 * 10 = 100 viestiä voidaan lähettää joka sekunti. Tämä, yhdessä monisuoritus-asetuksen kanssa, on säädetty pitämään netto lähtevien viestien määrä sekunnissa tavoitemääräisten viestipalvelinten raja-arvojen alapuolella.\",\n    \"settings.performance.name\": \"Suorituskyky\",\n    \"settings.performance.slidingWindow\": \"Liukuva ikkuna -rajoitus käytössä\",\n    \"settings.performance.slidingWindowDuration\": \"Kesto\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Liukuva ikkunointijakson kesto (m minuutteina, h tunteina).\",\n    \"settings.performance.slidingWindowHelp\": \"Rajoita liukuvassa ikkunassa määritellyn ajanjakson aikana lähetettyjen viestien kokonaismäärää. Saavuttaessaan tämän rajan, viestejä pidetään lähettämästä odotusaikaan asti.\",\n    \"settings.performance.slidingWindowRate\": \"Maks. viestit\",\n    \"settings.performance.slidingWindowRateHelp\": \"Enintään lähetettyjen viestien määrä määritetyssä aikajaksossa.\",\n    \"settings.privacy.allowBlocklist\": \"Salli estäminen\",\n    \"settings.privacy.allowBlocklistHelp\": \"Salli tilaajien poistua kaikilta postituslistoila ja merkitä itsensä estetyiksi.\",\n    \"settings.privacy.allowExport\": \"Salli tilaaja tietopyynnöt\",\n    \"settings.privacy.allowExportHelp\": \"Salli tilaajien viedä omat heistä kerätyt tiedot.\",\n    \"settings.privacy.allowPrefs\": \"Salli asetusten muutokset\",\n    \"settings.privacy.allowPrefsHelp\": \"Salli tilaajien muuttaa asetuksia, kuten nimiä ja tilauslistoja.\",\n    \"settings.privacy.allowWipe\": \"Salli poistaminen\",\n    \"settings.privacy.allowWipeHelp\": \"Salli tilaajien poistaa itsensä sisältäen tilaukset ja kaikki muut tiedot tietokannasta. Kampanjan katselut ja linkkiklikkaukset poistuvat myös, kun näkymät ja klikki- tai näyttömäärät säilyvät (ilman tilaajaa niihin nimettynä), jotta tilastotiedot ja analytiikka eivät häiriinny.\",\n    \"settings.privacy.domainAllowlist\": \"Sallitut verkkotunnukset\",\n    \"settings.privacy.domainAllowlistHelp\": \"Vain näiden verkkotunnusten sähköpostiosoitteet voivat tilata. Syötä yksi verkkotunnus per rivi, esim: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Verkkotunnus-estolista\",\n    \"settings.privacy.domainBlocklistHelp\": \"Tilaajien sähköpostiosoitteet näistä verkkotunnuksista estetään liittymästä postituslistoille. Lisää yksi verkkotunnus per rivi, esim: esimerkki.fi\",\n    \"settings.privacy.individualSubTracking\": \"Yksittäinen tilaajatason seuranta\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Seuraa tilaajan tason kampanjakatseluita ja linkkiklikkauksia. Kun tämä on poistettu käytöstä, seuranta jatkuu katseluja ja klikkauksia suoritettaessa ilman tilaajan liittämistä.\",\n    \"settings.privacy.listUnsubHeader\": \"Sisällytä `List-Unsubscribe` otsake\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Lisää sähköposteihin perumis-otsikkeet, joiden avulla sähköpostiohjelmat sallivat käyttäjien perua tilauksiaan yhdellä klikkauksella.\",\n    \"settings.privacy.name\": \"Yksityisyys\",\n    \"settings.privacy.recordOptinIP\": \"Kirjaa tilauksen IP-osoite\",\n    \"settings.privacy.recordOptinIPHelp\": \"Kirjaa varmennetun tilaajan IP-osoite tilaajan attribuutteihin.\",\n    \"settings.restart\": \"Käynnistä uudelleen\",\n    \"settings.security.CORSDomains\": \"Sallitut lähteet\",\n    \"settings.security.CORSDomainsHelp\": \"Salli API-päätepisteiden käyttö selaimen Javascriptillä ulkoisilta verkkotunnuksilta. Kirjoita yksi verkkotunnus riveille (esim: https://example.com). Jätä tyhjäksi CORS:in poistamiseksi käytöstä tai lisää * kaikkien sallimiseksi (ei suositella).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Luo käyttäjät automaattisesti\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Luo käyttäjä automaattisesti ensimmäisellä kirjautumiskerralla, jos tiliä ei ole olemassa.\",\n    \"settings.security.OIDCClientID\": \"Asiakas-ID\",\n    \"settings.security.OIDCClientSecret\": \"Asiakasavain\",\n    \"settings.security.OIDCDefaultListRole\": \"Oletuslistan rooli\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Oletusrooli, joka annetaan OIDC:stä automaattisesti luoduille käyttäjille.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Oletuskäyttäjän rooli\",\n    \"settings.security.OIDCHelp\": \"Salli OpenID Connect OAuth2 -sisäänkirjautuminen OAuth-toimittajan kautta.\",\n    \"settings.security.OIDCName\": \"Tarjoajan nimi\",\n    \"settings.security.OIDCRedirectURL\": \"Ohjaus URL oAuth-toimittajalle\",\n    \"settings.security.OIDCRedirectWarning\": \"Tämä ei vaikuta olevan tuotantoympäristön URL-osoite. Vaihda URL-osoite 'Yleiset' asetuksissa.\",\n    \"settings.security.OIDCURL\": \"Toimittajan URL\",\n    \"settings.security.OIDCWarning\": \"Kun OIDC on käytössä, oletussalasanasisäänkirjautuminen on poistettu käytöstä. Virheelliset asetukset voivat estää sisäänkirjautumisen.\",\n    \"settings.security.altchaComplexity\": \"Altcha-monimutkaisuus\",\n    \"settings.security.altchaComplexityHelp\": \"Korkeammat arvot tarjoavat paremman suojan mutta hidastavat ratkaisua (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com-sivutunnus\",\n    \"settings.security.captchaKeyHelp\": \"Hanki avain ja salaisuus osoitteesta www.hcaptcha.com.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com-salaisuus\",\n    \"settings.security.enableCaptcha\": \"Ota käyttöön CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Ota käyttöön CAPTCHA julkaistavalla tilauslomakkeella.\",\n    \"settings.security.enableOIDC\": \"Ota käyttöön OIDC SSO\",\n    \"settings.security.name\": \"Turvallisuus\",\n    \"settings.smtp.customHeaders\": \"Mukautetut otsakkeet\",\n    \"settings.smtp.customHeadersHelp\": \"Eventuualinen taulukko sähköpostiosoitteita, joka sisältää lähtevien viestien mukautetut otsakkeet. esim: [{\\\"X-Custom\\\": \\\"arvo\\\"}, {\\\"X-Custom2\\\": \\\"arvo\\\"}]\",\n    \"settings.smtp.enabled\": \"Käytössä\",\n    \"settings.smtp.heloHost\": \"HELO isäntänimi\",\n    \"settings.smtp.heloHostHelp\": \"Valinnainen. Jotkut SMTP-palvelimet vaativat FQDN-nimen isäntänimenä. Oletuksena HELLO-lähetetään `localhost`:iin. Aseta tämä, jos haluat käyttää mukautettua isäntänimeä.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Toistokerrat\",\n    \"settings.smtp.retriesHelp\": \"Sanoman epäonnistumisen sattuessa yrityksien määrä.\",\n    \"settings.smtp.sendTest\": \"Lähetä e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Lisää mukautetut otsakkeet\",\n    \"settings.smtp.testConnection\": \"Testaa yhteyttä\",\n    \"settings.smtp.testEnterEmail\": \"Syötä salasana testausta varten\",\n    \"settings.smtp.toEmail\": \"Vastaanottajan e-mail\",\n    \"settings.title\": \"Asetukset\",\n    \"settings.updateAvailable\": \"Uusi päivitys {version} on saatavilla.\",\n    \"subscribers.activity\": \"Aktiviteetti\",\n    \"subscribers.advancedQuery\": \"Edistynyt\",\n    \"subscribers.advancedQueryHelp\": \"Osa SQL-lauseketta tilaajien ominaisuuksien kyselyä varten\",\n    \"subscribers.attribsHelp\": \"Ominaisuudet on määritelty JSON-listana, esimerkiksi:\",\n    \"subscribers.blocklistedHelp\": \"Estetyt tilaajat eivät koskaan saa sähköposteja.\",\n    \"subscribers.confirmBlocklist\": \"Estä {num} tilaaja(a)?\",\n    \"subscribers.confirmDelete\": \"Poista {num} tilaaja(a)?\",\n    \"subscribers.confirmExport\": \"Vie {num} tilaaja(a)?\",\n    \"subscribers.domainBlocklisted\": \"Sähköpostin verkkotunnus on estetty.\",\n    \"subscribers.downloadData\": \"Lataa tiedot\",\n    \"subscribers.email\": \"Sähköposti\",\n    \"subscribers.emailExists\": \"Sähköposti on jo olemassa.\",\n    \"subscribers.errorBlocklisting\": \"Virhe estäessä tilaajia: {error}\",\n    \"subscribers.errorNoIDs\": \"Ei annettuja tunnisteita.\",\n    \"subscribers.errorNoListsGiven\": \"Ei annettuja listoja.\",\n    \"subscribers.errorPreparingQuery\": \"Virhe valmistellessa tilaajan kyselyä: {error}\",\n    \"subscribers.errorSendingOptin\": \"Virhe lähetettäessa tilaus sähköpostia.\",\n    \"subscribers.export\": \"Vie\",\n    \"subscribers.invalidAction\": \"Virheellinen toiminto.\",\n    \"subscribers.invalidEmail\": \"Virheellinen sähköposti.\",\n    \"subscribers.invalidJSON\": \"Virhe JSON-muodossa attribuuteissa.\",\n    \"subscribers.invalidName\": \"Virheellinen nimi.\",\n    \"subscribers.listChangeApplied\": \"Listan muutos otettu käyttöön.\",\n    \"subscribers.lists\": \"Listat\",\n    \"subscribers.listsHelp\": \"Listoja, joilta tilaajat ovat peruneet tilauksensa, ei voi poistaa.\",\n    \"subscribers.listsPlaceholder\": \"Tilattavat listat\",\n    \"subscribers.manageLists\": \"Hallitse listoja\",\n    \"subscribers.markUnsubscribed\": \"Merkkaa perutuksi\",\n    \"subscribers.newSubscriber\": \"Uusi tilaaja\",\n    \"subscribers.numSelected\": \"{num} tilaaja(a) valittu\",\n    \"subscribers.optinSubject\": \"Vahvista tilaus\",\n    \"subscribers.preconfirm\": \"Esivahvista\",\n    \"subscribers.preconfirmHelp\": \"Älä lähetä tilauksen varmennus sähköposteja ja merkitse kaikki listatilaukset tilaan \\\"tilattu\\\".\",\n    \"subscribers.query\": \"Haku\",\n    \"subscribers.queryPlaceholder\": \"Sähköposti tai nimi\",\n    \"subscribers.reset\": \"Nollaa\",\n    \"subscribers.selectAll\": \"Valitse kaikki {num}\",\n    \"subscribers.sendOptinConfirm\": \"Lähetä tilauksen varmennus\",\n    \"subscribers.sentOptinConfirm\": \"Tilauksen varmennus lähetetty\",\n    \"subscribers.status.blocklisted\": \"Estetty\",\n    \"subscribers.status.confirmed\": \"Vahvistettu\",\n    \"subscribers.status.enabled\": \"Käytössä\",\n    \"subscribers.status.subscribed\": \"Tilattu\",\n    \"subscribers.status.unconfirmed\": \"Vahvistamatta\",\n    \"subscribers.status.unsubscribed\": \"Peruutettu\",\n    \"subscribers.subscribersDeleted\": \"{num} tilaajaa poistettu\",\n    \"templates.cantDeleteDefault\": \"Ei olemassa olevaa tai vakio mallipohjaa ei voi poistaa\",\n    \"templates.default\": \"Oletus\",\n    \"templates.dummyName\": \"Esimerkki kampanja\",\n    \"templates.dummySubject\": \"Esimerkki kampanja aihe\",\n    \"templates.errorCompiling\": \"Virhe pohjan kääntämisessä: {error}\",\n    \"templates.errorRendering\": \"Virhe viestin kääntämisessä: {error}\",\n    \"templates.fieldInvalidName\": \"Nimen pituus on virheellinen.\",\n    \"templates.makeDefault\": \"Aseta oletukseksi\",\n    \"templates.newTemplate\": \"Uusi pohja\",\n    \"templates.placeholderHelp\": \"Huomioi, {placeholder} pitää esiintyä pohjassa tasan yhden kerran.\",\n    \"templates.preview\": \"Esikatselu\",\n    \"templates.rawHTML\": \"HTML\",\n    \"templates.subject\": \"Aihe\",\n    \"templates.typeCampaignHTML\": \"Kampanja / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampanja / Visuaalinen\",\n    \"templates.typeTransactional\": \"Tapahtumaviestintä\",\n    \"users.apiOneTimeToken\": \"Kopioi API-avain nyt. Sitä ei näytetä uudelleen.\",\n    \"users.cantDeleteRole\": \"Ei voida poistaa roolia, jota käytetään.\",\n    \"users.firstTime\": \"Tämä on tuore asennus. Valitse käyttäjänimi ja salasana Super Admin-tilille.\",\n    \"users.forgotPassword\": \"Unohditko salasanan?\",\n    \"users.invalidLogin\": \"Virheellinen käyttäjänimi tai salasana\",\n    \"users.invalidPassword\": \"Virheellinen salasana\",\n    \"users.invalidRequest\": \"Virheellinen todennuspyyntö\",\n    \"users.invalidResetLink\": \"Virheellinen tai vanhentunut palautuslinkkinen\",\n    \"users.lastLogin\": \"Viimeisin kirjautuminen\",\n    \"users.listPerms\": \"Listojen käyttöoikeudet\",\n    \"users.listPermsWarning\": \"lists:get_all tai lists:manage_all on käytössä, mikä korvaa listakohtaiset käyttöoikeudet\",\n    \"users.listRole\": \"Listaroolit | Listarooli\",\n    \"users.listRoles\": \"Listaroolit\",\n    \"users.login\": \"Kirjaudu sisään\",\n    \"users.loginOIDC\": \"Kirjaudu sisään {name}:n avulla\",\n    \"users.logout\": \"Kirjaudu ulos\",\n    \"users.needSuper\": \"Käyttäjiä ei päivitetty. Vähintään yksi aktiivinen Super Admin-käyttäjä on oltava.\",\n    \"users.newListRole\": \"Uusi listarooli\",\n    \"users.newPassword\": \"Uusi salasana\",\n    \"users.newUser\": \"Uusi käyttäjä\",\n    \"users.newUserRole\": \"Uusi käyttäjärooli\",\n    \"users.password\": \"Salasana\",\n    \"users.passwordEnable\": \"Ota käyttöön kirjautuminen salasanalla\",\n    \"users.passwordMismatch\": \"Salasanat eivät täsmää\",\n    \"users.passwordRepeat\": \"Toista salasana\",\n    \"users.perms\": \"Käyttöoikeudet\",\n    \"users.profile\": \"Profiili\",\n    \"users.resetLinkSent\": \"Jos tili on aktiivinen, saat sähköpostin salasanan palauttamiseksi.\",\n    \"users.resetPassword\": \"Palauta salasana\",\n    \"users.role\": \"Rooli | Roolit\",\n    \"users.roleGroup\": \"Ryhmä\",\n    \"users.roles\": \"Roolit\",\n    \"users.status.disabled\": \"Poistettu käytöstä\",\n    \"users.status.enabled\": \"Käytössä\",\n    \"users.totpCode\": \"TOTP-koodi\",\n    \"users.totpCodeHelp\": \"Kirjoita 6-numeroinen koodi todentajasovelluksestasi\",\n    \"users.totpScanQR\": \"Skannaa QR-koodi todentajasovelluksella, kuten Ente tai Google Authenticator, ja kirjoita TOTP-koodi alla.\",\n    \"users.totpSecret\": \"Salaisuusavain\",\n    \"users.twoFA\": \"Kaksivaiheinen tunnistautuminen\",\n    \"users.twoFAAlreadyEnabled\": \"Kaksivaiheinen tunnistautuminen on jo käytössä.\",\n    \"users.twoFAEnabled\": \"Kaksivaiheinen tunnistautuminen on päällä\",\n    \"users.twoFAEnabledDesc\": \"Tilisi on suojattu {type} 2FA:lla\",\n    \"users.twoFANotEnabled\": \"Ota käyttöön 2FA lisäturvallisuutta varten kirjautuessasi tilillesi.\",\n    \"users.type\": \"Tyyppi\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Ylin ylläpitäjä\",\n    \"users.type.user\": \"Käyttäjä\",\n    \"users.userRole\": \"Käyttäjän rooli | Käyttäjän roolit\",\n    \"users.userRoles\": \"Käyttäjän roolit\",\n    \"users.username\": \"Käyttäjänimi\",\n    \"users.usernameHelp\": \"Käytetään kirjuduttaessa salasanalla\"\n}\n"
  },
  {
    "path": "i18n/fr-CA.json",
    "content": "{\n    \"_.code\": \"fr-CA\",\n    \"_.name\": \"French (Canada)\",\n    \"admin.errorMarshallingConfig\": \"Erreur lors de la lecture de la configuration : {error}\",\n    \"analytics.count\": \"Compte\",\n    \"analytics.fromDate\": \"Depuis\",\n    \"analytics.invalidDates\": \"Dates invalides `depuis` ou `au`.\",\n    \"analytics.isUnique\": \"Les comptes sont uniques par abonné.\",\n    \"analytics.links\": \"Liens\",\n    \"analytics.nonUnique\": \"Les comptes ne sont pas uniques car le suivi individuel des abonnés est désactivé.\",\n    \"analytics.title\": \"Analyses\",\n    \"analytics.toDate\": \"Au\",\n    \"bounces.complaint\": \"Plainte\",\n    \"bounces.hard\": \"Dur\",\n    \"bounces.soft\": \"Doux\",\n    \"bounces.source\": \"Source\",\n    \"bounces.unknownService\": \"Service inconnu.\",\n    \"bounces.view\": \"Voir les rebonds\",\n    \"campaigns.addAltText\": \"Ajouter un message alternatif en texte brut\",\n    \"campaigns.addAttachments\": \"Ajouter des pièces jointes\",\n    \"campaigns.archive\": \"Archiver\",\n    \"campaigns.archiveEnable\": \"Publier dans l'archive publique\",\n    \"campaigns.archiveHelp\": \"Publier (en cours, en pause, terminé) le message de la campagne sur l'archive publique.\",\n    \"campaigns.archiveMeta\": \"Métadonnées de la campagne\",\n    \"campaigns.archiveMetaHelp\": \"Données d'abonné fictives à utiliser dans le message public, notamment le nom, l'adresse électronique et tout attribut facultatif utilisé dans le message ou le modèle de la campagne.\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Un nom court pour la page à utiliser dans l'URL publique. par exemple: mon-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Pièces jointes\",\n    \"campaigns.attribsHelp\": \"Attributs d'objet JSON personnalisé {} pour cette campagne. Utilisez dans le modèle avec {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Impossible de mettre à jour une campagne en cours ou terminée.\",\n    \"campaigns.clicks\": \"Clics\",\n    \"campaigns.confirmDelete\": \"Supprimer la campagne {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Cela écrasera tout le contenu. Continuer ?\",\n    \"campaigns.confirmSchedule\": \"Cette campagne démarrera automatiquement à la date et à l'heure planifiées. Confirmer la planification ?\",\n    \"campaigns.confirmSwitchFormat\": \"Le contenu peut perdre sa mise en forme. Continuer ?\",\n    \"campaigns.content\": \"Contenu\",\n    \"campaigns.contentHelp\": \"Rédigez le contenu ici.\",\n    \"campaigns.continue\": \"Continuer\",\n    \"campaigns.copyOf\": \"Copie de {name}\",\n    \"campaigns.customHeadersHelp\": \"Array d'en-têtes personnalisés à joindre aux messages sortants. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Date et heure\",\n    \"campaigns.ended\": \"Terminée\",\n    \"campaigns.errorSendTest\": \"Erreur lors de l'envoi du test : {error}\",\n    \"campaigns.fieldInvalidBody\": \"Erreur lors de la compilation du corps de la campagne : {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Adresse d'envoi invalide.\",\n    \"campaigns.fieldInvalidListIDs\": \"ID de liste invalides.\",\n    \"campaigns.fieldInvalidMessenger\": \"Service de messagerie inconnu : {name}.\",\n    \"campaigns.fieldInvalidName\": \"Longueur du nom invalide.\",\n    \"campaigns.fieldInvalidSendAt\": \"La date planifiée doit être future.\",\n    \"campaigns.fieldInvalidSubject\": \"Longueur d'objet non valide.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formater le code HTML\",\n    \"campaigns.fromAddress\": \"Adresse d'envoi\",\n    \"campaigns.fromAddressPlaceholder\": \"Nom à afficher <noreply@votresite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importer le modèle visuel\",\n    \"campaigns.invalid\": \"Campagne non valide\",\n    \"campaigns.invalidCustomHeaders\": \"En-têtes personnalisés non valides: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Une date est nécessaire pour planifier la campagne.\",\n    \"campaigns.newCampaign\": \"Nouvelle campagne\",\n    \"campaigns.noKnownSubsToTest\": \"Aucun·e abonné·e connu à tester.\",\n    \"campaigns.noOptinLists\": \"Aucune liste opt-in trouvée pour créer une campagne.\",\n    \"campaigns.noSubs\": \"Il n'y a aucun·e abonné·e dans les listes sélectionnées pour créer la campagne.\",\n    \"campaigns.noSubsToTest\": \"Il n'y a aucun·e abonné·e à cibler.\",\n    \"campaigns.notFound\": \"Campagne introuvable.\",\n    \"campaigns.onlyActiveCancel\": \"Seules les campagnes actives peuvent être annulées.\",\n    \"campaigns.onlyActivePause\": \"Seules les campagnes actives peuvent être mises en pause.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Seuls les campagnes à l'état de brouillon peuvent être planifiées.\",\n    \"campaigns.onlyPausedDraft\": \"Seuls les brouillons et les campagnes mises en pause peuvent être lancés.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Seules les campagnes planifiées peuvent être enregistrées en tant que brouillons.\",\n    \"campaigns.pause\": \"Mettre en pause\",\n    \"campaigns.plainText\": \"Texte brut\",\n    \"campaigns.preview\": \"Aperçu\",\n    \"campaigns.progress\": \"Avancement\",\n    \"campaigns.queryPlaceholder\": \"Nom ou objet\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML brut\",\n    \"campaigns.removeAltText\": \"Supprimer le message alternatif en texte brut\",\n    \"campaigns.richText\": \"Texte riche\",\n    \"campaigns.schedule\": \"Planifier la campagne\",\n    \"campaigns.scheduled\": \"Planifiée\",\n    \"campaigns.send\": \"Envoyer\",\n    \"campaigns.sendLater\": \"Envoyer plus tard\",\n    \"campaigns.sendTest\": \"Envoyer un message de test\",\n    \"campaigns.sendTestHelp\": \"Pour ajouter plusieurs destinataires, appuyez sur Entrée après avoir tapé une adresse. Les adresses doivent faire partie des abonné·es existant·es.\",\n    \"campaigns.sendToLists\": \"Envoyer aux listes\",\n    \"campaigns.sent\": \"Envoyés\",\n    \"campaigns.start\": \"Lancer la campagne\",\n    \"campaigns.started\": \"La campagne « {name} » est lancée\",\n    \"campaigns.startedAt\": \"Début\",\n    \"campaigns.stats\": \"Statistiques\",\n    \"campaigns.status.cancelled\": \"annulée\",\n    \"campaigns.status.draft\": \"en brouillon\",\n    \"campaigns.status.finished\": \"terminée\",\n    \"campaigns.status.paused\": \"en pause\",\n    \"campaigns.status.running\": \"active\",\n    \"campaigns.status.scheduled\": \"planifiée\",\n    \"campaigns.statusChanged\": \"La campagne « {name} » est {status}\",\n    \"campaigns.subject\": \"Objet\",\n    \"campaigns.templatingRef\": \"Référence Templating\",\n    \"campaigns.testEmails\": \"Courriel de test\",\n    \"campaigns.testSent\": \"Message de test envoyé\",\n    \"campaigns.timestamps\": \"Horodatages\",\n    \"campaigns.trackLink\": \"Lien de suivi\",\n    \"campaigns.unSchedule\": \"Annuler la programmation\",\n    \"campaigns.views\": \"Vues\",\n    \"campaigns.visual\": \"Visuel\",\n    \"dashboard.campaignViews\": \"vues de campagne\",\n    \"dashboard.linkClicks\": \"clics sur liens\",\n    \"dashboard.messagesSent\": \"messages envoyés\",\n    \"dashboard.orphanSubs\": \"abonnements sans retour\",\n    \"email.data.info\": \"Vous trouverez un fichier au format JSON contenant l'ensemble des données enregistrées à votre sujet en pièce jointe. Il peut être visualisé dans un éditeur de texte.\",\n    \"email.data.title\": \"Vos données personnelles\",\n    \"email.forgotPassword.button\": \"Réinitialiser le mot de passe\",\n    \"email.forgotPassword.info\": \"Si vous n'avez pas demandé ceci, vous pouvez ignorer cet e-mail en toute sécurité. Ce lien expirera dans 30 minutes.\",\n    \"email.forgotPassword.subject\": \"Réinitialiser votre mot de passe\",\n    \"email.optin.confirmSub\": \"Confirmer votre abonnement\",\n    \"email.optin.confirmSubHelp\": \"Confirmez votre abonnement en cliquant sur le bouton ci-dessous :\",\n    \"email.optin.confirmSubInfo\": \"Vous avez été ajouté·e aux listes suivantes :\",\n    \"email.optin.confirmSubTitle\": \"Confirmer votre abonnement\",\n    \"email.optin.confirmSubWelcome\": \"Bonjour,\",\n    \"email.optin.privateList\": \"Liste privée\",\n    \"email.status.campaignReason\": \"Description\",\n    \"email.status.campaignSent\": \"Envoyée\",\n    \"email.status.campaignUpdateTitle\": \"Mise à jour de campagne\",\n    \"email.status.importFile\": \"Fichier\",\n    \"email.status.importRecords\": \"Contacts importés\",\n    \"email.status.importTitle\": \"Importer la mise à jour\",\n    \"email.status.status\": \"Statut\",\n    \"email.unsub\": \"Se désabonner\",\n    \"email.unsubHelp\": \"Vous ne souhaitez pas recevoir ces courriels ?\",\n    \"email.viewInBrowser\": \"Voir dans le navigateur\",\n    \"forms.formHTML\": \"Formulaire HTML\",\n    \"forms.formHTMLHelp\": \"Utilisez le code HTML suivant pour afficher un formulaire d'abonnement sur une page Web externe. Le formulaire doit avoir le champ email et un ou plusieurs champs `l` (listes UUID). Le champ \\\"nom\\\" est facultatif.\",\n    \"forms.noPublicLists\": \"Il n'y a pas de listes publiques pour générer un formulaire.\",\n    \"forms.publicLists\": \"Listes publiques\",\n    \"forms.publicSubPage\": \"Page d'abonnement publique\",\n    \"forms.selectHelp\": \"Sélectionnez les listes à ajouter au formulaire.\",\n    \"forms.title\": \"Formulaires\",\n    \"globals.buttons.add\": \"Ajouter\",\n    \"globals.buttons.addNew\": \"Ajouter\",\n    \"globals.buttons.back\": \"Retour\",\n    \"globals.buttons.cancel\": \"Annuler\",\n    \"globals.buttons.clear\": \"Supprimer\",\n    \"globals.buttons.clearAll\": \"Tout effacer\",\n    \"globals.buttons.clone\": \"Cloner\",\n    \"globals.buttons.close\": \"Fermer\",\n    \"globals.buttons.continue\": \"Continuer\",\n    \"globals.buttons.copy\": \"Copier\",\n    \"globals.buttons.delete\": \"Supprimer\",\n    \"globals.buttons.deleteAll\": \"Tout effacer\",\n    \"globals.buttons.disable\": \"Désactiver\",\n    \"globals.buttons.edit\": \"Éditer\",\n    \"globals.buttons.enable\": \"Activer\",\n    \"globals.buttons.enabled\": \"Activé\",\n    \"globals.buttons.insert\": \"Insérer\",\n    \"globals.buttons.learnMore\": \"En savoir plus\",\n    \"globals.buttons.manage\": \"Gérer\",\n    \"globals.buttons.more\": \"Plus\",\n    \"globals.buttons.new\": \"Ajouter\",\n    \"globals.buttons.ok\": \"Valider\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Supprimer\",\n    \"globals.buttons.save\": \"Enregistrer\",\n    \"globals.buttons.saveChanges\": \"Enregistrer les changements\",\n    \"globals.buttons.toggleSelect\": \"Basculer la sélection\",\n    \"globals.buttons.view\": \"Voir\",\n    \"globals.days.0\": \"Dim\",\n    \"globals.days.1\": \"Dim\",\n    \"globals.days.2\": \"Lun\",\n    \"globals.days.3\": \"Mar\",\n    \"globals.days.4\": \"Mer\",\n    \"globals.days.5\": \"Jeu\",\n    \"globals.days.6\": \"Ven\",\n    \"globals.days.7\": \"Sam\",\n    \"globals.fields.createdAt\": \"Créé·e le\",\n    \"globals.fields.description\": \"Description\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nom\",\n    \"globals.fields.status\": \"Statut\",\n    \"globals.fields.type\": \"Type\",\n    \"globals.fields.updatedAt\": \"Mis à jour le\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Confirmer ?\",\n    \"globals.messages.confirmDelete\": \"Supprimer {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Annuler les modifications ?\",\n    \"globals.messages.copied\": \"Copié\",\n    \"globals.messages.created\": \"Création de « {name} »\",\n    \"globals.messages.deleted\": \"Suppression de « {name} »\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) effacé(s)\",\n    \"globals.messages.done\": \"Fait\",\n    \"globals.messages.emptyState\": \"Rien\",\n    \"globals.messages.errorCreating\": \"Erreur lors de la création de {name} : {error}\",\n    \"globals.messages.errorDeleting\": \"Erreur lors de la suppression de {name} : {error}\",\n    \"globals.messages.errorFetching\": \"Erreur lors de la récupération de {name} : {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Un ou plusieurs identifiants non valides fournis : {error}\",\n    \"globals.messages.errorUUID\": \"Erreur lors de la génération de l'UUID : {error}\",\n    \"globals.messages.errorUpdating\": \"Erreur lors de la mise à jour de {name} : {error}\",\n    \"globals.messages.internalError\": \"Erreur interne du serveur\",\n    \"globals.messages.invalidData\": \"Données invalides\",\n    \"globals.messages.invalidFields\": \"Champs non valides : {name}\",\n    \"globals.messages.invalidID\": \"ID invalide\",\n    \"globals.messages.invalidUUID\": \"UUID invalide\",\n    \"globals.messages.invalidValue\": \"Valeur invalide\",\n    \"globals.messages.missingFields\": \"Champ(s) manquant(s) : {name}\",\n    \"globals.messages.notFound\": \"{name} introuvable\",\n    \"globals.messages.numSelected\": \"{num} sélectionné(s)\",\n    \"globals.messages.passwordChange\": \"Entrez un nouveau mot de passe pour en changer\",\n    \"globals.messages.passwordChangeFull\": \"Effacer et saisir à nouveau le mot de passe complet dans '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Accès refusé : {name}\",\n    \"globals.messages.selectAll\": \"Sélectionner tous les {num}\",\n    \"globals.messages.slowQueriesCached\": \"Les requêtes lentes sont mises en cache. Certains nombres sur cette page ne seront pas à jour.\",\n    \"globals.messages.updated\": \"Mise à jour de \\\"{name}\\\"\",\n    \"globals.months.1\": \"jan.\",\n    \"globals.months.10\": \"oct.\",\n    \"globals.months.11\": \"nov.\",\n    \"globals.months.12\": \"déc.\",\n    \"globals.months.2\": \"fév.\",\n    \"globals.months.3\": \"mars\",\n    \"globals.months.4\": \"avr.\",\n    \"globals.months.5\": \"mai\",\n    \"globals.months.6\": \"juin\",\n    \"globals.months.7\": \"juil.\",\n    \"globals.months.8\": \"août\",\n    \"globals.months.9\": \"sept.\",\n    \"globals.states.off\": \"Désactivé\",\n    \"globals.terms.all\": \"Tout\",\n    \"globals.terms.analytics\": \"Analyses\",\n    \"globals.terms.attribs\": \"Attributs\",\n    \"globals.terms.bounce\": \"Rebond | Rebonds\",\n    \"globals.terms.bounces\": \"Rebonds\",\n    \"globals.terms.campaign\": \"Campagne | Campagnes\",\n    \"globals.terms.campaigns\": \"Campagnes\",\n    \"globals.terms.dashboard\": \"Tableau de bord\",\n    \"globals.terms.day\": \"Jour | Jours\",\n    \"globals.terms.hour\": \"Heure | Heures\",\n    \"globals.terms.import\": \"Importer\",\n    \"globals.terms.list\": \"Liste | Listes\",\n    \"globals.terms.lists\": \"Listes\",\n    \"globals.terms.media\": \"Médias | Médias\",\n    \"globals.terms.messenger\": \"Service de messagerie | Services de messagerie\",\n    \"globals.terms.messengers\": \"Services de messagerie\",\n    \"globals.terms.minute\": \"Minute | Minutes\",\n    \"globals.terms.month\": \"Mois | Mois\",\n    \"globals.terms.new\": \"Nouveau\",\n    \"globals.terms.none\": \"Aucun\",\n    \"globals.terms.second\": \"Seconde | Secondes\",\n    \"globals.terms.settings\": \"Paramètres\",\n    \"globals.terms.subscriber\": \"Abonné·e | Abonné·es\",\n    \"globals.terms.subscribers\": \"Abonné·es\",\n    \"globals.terms.subscriptions\": \"Abonnement | Abonnements\",\n    \"globals.terms.tag\": \"Étiquette | Étiquettes\",\n    \"globals.terms.tags\": \"Étiquettes\",\n    \"globals.terms.template\": \"Modèle | Modèles\",\n    \"globals.terms.templates\": \"Modèles\",\n    \"globals.terms.tx\": \"Transactionnel | Transactionnels\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Utilisateur | Utilisateurs\",\n    \"globals.terms.users\": \"Utilisateurs\",\n    \"globals.terms.year\": \"Année | Années\",\n    \"import.alreadyRunning\": \"Une importation est déjà en cours. Attendez qu'elle se termine ou arrêtez-la avant de réessayer.\",\n    \"import.blocklist\": \"Bloquer les adresses importées\",\n    \"import.csvDelim\": \"Délimiteur CSV\",\n    \"import.csvDelimHelp\": \"Le délimiteur par défaut est la virgule.\",\n    \"import.csvExample\": \"Exemple de CSV brut\",\n    \"import.csvFile\": \"Fichier CSV ou ZIP\",\n    \"import.csvFileHelp\": \"Cliquez ou glissez-déposez ici un fichier CSV ou ZIP\",\n    \"import.errorCopyingFile\": \"Erreur lors de la copie du fichier : {error}\",\n    \"import.errorProcessingZIP\": \"Erreur lors du traitement du fichier ZIP : {error}\",\n    \"import.errorStarting\": \"Erreur lors du démarrage de l'importation : {error}\",\n    \"import.importDone\": \"Importation terminée\",\n    \"import.importStarted\": \"L'importation a commencé\",\n    \"import.instructions\": \"Instructions\",\n    \"import.instructionsHelp\": \"Téléchargez un fichier CSV (ou un fichier ZIP contenant un seul fichier CSV) pour importer des contacts en masse. Le fichier CSV doit avoir les en-têtes suivantes avec ces noms de colonnes exacts. Les attributs (facultatifs) doivent être des chaînes JSON valides entre guillemets doubles.\",\n    \"import.invalidDelim\": \"Le délimiteur doit être un seul caractère.\",\n    \"import.invalidFile\": \"Fichier non valide : {error}\",\n    \"import.invalidMode\": \"Mode invalide\",\n    \"import.invalidParams\": \"Paramètres non valides : {error}\",\n    \"import.invalidSubStatus\": \"Status d'abonnement invalide\",\n    \"import.listSubHelp\": \"Abonner aux listes\",\n    \"import.mode\": \"Mode\",\n    \"import.overwriteSubStatus\": \"Remplacer le statut d'abonnement\",\n    \"import.overwriteSubStatusHelp\": \"Remplacer le statut des abonnements de liste existants\",\n    \"import.overwriteUserInfo\": \"Remplacer les informations utilisateur\",\n    \"import.overwriteUserInfoHelp\": \"Remplacer le nom et les attributs des abonnés existants\",\n    \"import.recordsCount\": \"{num} / {total} contacts importés\",\n    \"import.stopImport\": \"Arrêter l'importation\",\n    \"import.subscribe\": \"S'abonner\",\n    \"import.subscribeWarning\": \"La réinscription écrasera les e-mails désinscrits. Continuer ?\",\n    \"import.title\": \"Importer des abonné·es\",\n    \"import.upload\": \"Envoyer\",\n    \"lists.archived\": \"Archivé\",\n    \"lists.archivedHelp\": \"L'archivage masque les listes dans la page des listes, les campagnes et les formulaires publics. Il peut être désarchivé à tout moment. C'est utile pour masquer les listes anciennes et rarement utilisées.\",\n    \"lists.confirmDelete\": \"Êtes-vous sûr·e de supprimer cette liste ? Cela ne supprimera pas les abonné·es.\",\n    \"lists.confirmSub\": \"Confirmer les abonnements à {name}\",\n    \"lists.invalidName\": \"Nom incorrect\",\n    \"lists.newList\": \"Nouvelle liste\",\n    \"lists.optin\": \"Abonnement \\\"opt-in\\\" (ajout par défaut)\",\n    \"lists.optinHelp\": \"L'option \\\"opt-in double\\\" envoie un courriel à l'abonné·e demandant sa confirmation. Pour les listes en \\\"opt-in double\\\", les campagnes ne sont envoyées qu'aux abonné·es s'étant confirmé·es.\",\n    \"lists.optinTo\": \"Activer l'option opt-in pour {name}\",\n    \"lists.optins.double\": \"Opt-in double\",\n    \"lists.optins.single\": \"Opt-in simple\",\n    \"lists.sendCampaign\": \"Envoyer la campagne\",\n    \"lists.sendOptinCampaign\": \"Envoyer une campagne opt-in\",\n    \"lists.type\": \"Type\",\n    \"lists.typeHelp\": \"Les listes publiques sont libres d'accès en abonnement et leurs noms sont visibles sur les pages publiques telles que la page de gestion des abonnements.\",\n    \"lists.types.private\": \"Privée\",\n    \"lists.types.public\": \"Publique\",\n    \"logs.title\": \"Journalisations\",\n    \"maintenance.database.title\": \"Base de données\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE récupère l'espace utilisé par les lignes supprimées et améliore considérablement les performances de la base de données sur les grandes bases de données. IMPORTANT : Pour les grandes bases de données, c'est une opération lente et bloquante. Planifiez pour l'exécuter pendant les heures creuses.\",\n    \"maintenance.help\": \"Certaines actions peuvent prendre un certain temps, en fonction de la quantité de données.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Abonnements sélectionnés non-confirmés\",\n    \"maintenance.olderThan\": \"Plus vieux que\",\n    \"maintenance.orphanHelp\": \"Orphelins = abonnés sans listes\",\n    \"maintenance.title\": \"Maintenance\",\n    \"maintenance.unconfirmedSubs\": \"Abonnements non confirmés datant de plus de {name} jours.\",\n    \"media.errorReadingFile\": \"Erreur de lecture du fichier : {error}\",\n    \"media.errorResizing\": \"Erreur lors du redimensionnement de l'image : {error}\",\n    \"media.errorSavingThumbnail\": \"Erreur lors de l'enregistrement de la miniature : {error}\",\n    \"media.errorUploading\": \"Erreur lors de l'envoi du fichier : {error}\",\n    \"media.invalidFile\": \"Fichier non valide : {error}\",\n    \"media.title\": \"Fichiers\",\n    \"media.unsupportedFileType\": \"Type de fichier non pris en charge ({type})\",\n    \"media.upload\": \"Importer\",\n    \"media.uploadHelp\": \"Cliquez ou glissez-déposez ici une ou plusieurs image(s)\",\n    \"menu.allCampaigns\": \"Toutes les campagnes\",\n    \"menu.allLists\": \"Toutes les listes\",\n    \"menu.allSubscribers\": \"Tou·tes les abonné·es\",\n    \"menu.dashboard\": \"Tableau de bord\",\n    \"menu.forms\": \"Formulaires\",\n    \"menu.import\": \"Importer\",\n    \"menu.logs\": \"Journalisations\",\n    \"menu.maintenance\": \"Maintenance\",\n    \"menu.media\": \"Fichiers\",\n    \"menu.newCampaign\": \"Nouvelle campagne\",\n    \"menu.settings\": \"Paramètres\",\n    \"public.archiveEmpty\": \"Aucun message archivé pour le moment.\",\n    \"public.archiveTitle\": \"Archives des listes de diffusion\",\n    \"public.blocklisted\": \"Désabonnement définitif.\",\n    \"public.campaignNotFound\": \"La liste de diffusion est introuvable.\",\n    \"public.confirmOptinSubTitle\": \"Confirmer votre abonnement\",\n    \"public.confirmSub\": \"Confirmer votre abonnement\",\n    \"public.confirmSubInfo\": \"Vous avez été ajouté·e aux listes suivantes :\",\n    \"public.confirmSubTitle\": \"Confirmer votre abonnement\",\n    \"public.dataRemoved\": \"Vos abonnements et toutes les données associées ont été supprimés.\",\n    \"public.dataRemovedTitle\": \"Données personnelles supprimées\",\n    \"public.dataSent\": \"Vos données personnelles vous ont été envoyées par courriel.\",\n    \"public.dataSentTitle\": \"Données personnelles envoyées\",\n    \"public.errorFetchingCampaign\": \"Erreur lors de la récupération du courriel.\",\n    \"public.errorFetchingEmail\": \"Courriel introuvable\",\n    \"public.errorFetchingLists\": \"Erreur lors de la récupération des listes. Veuillez réessayer.\",\n    \"public.errorProcessingRequest\": \"Erreur lors du traitement de la demande. Veuillez réessayer.\",\n    \"public.errorTitle\": \"Erreur\",\n    \"public.invalidCaptcha\": \"CAPTCHA invalide.\",\n    \"public.invalidFeature\": \"Cette fonctionnalité n'est pas disponible.\",\n    \"public.invalidLink\": \"Lien invalide\",\n    \"public.managePrefs\": \"Gérer les préférences\",\n    \"public.managePrefsUnsub\": \"Décochez les listes pour vous désabonner de celles-ci.\",\n    \"public.noListsAvailable\": \"Aucune liste n'est disponible pour vous abonner.\",\n    \"public.noListsSelected\": \"Aucune liste valide sélectionnée pour s'abonner.\",\n    \"public.noSubInfo\": \"Il n'y a pas d'abonnement à confirmer.\",\n    \"public.noSubTitle\": \"Aucun abonnement\",\n    \"public.notFoundTitle\": \"Non trouvé\",\n    \"public.poweredBy\": \"Propulsé par\",\n    \"public.prefsSaved\": \"Vos préférences ont été enregistrées.\",\n    \"public.privacyConfirmWipe\": \"Voulez-vous vraiment supprimer définitivement toutes vos données d'abonnement ?\",\n    \"public.privacyExport\": \"Exportez vos données personnelles\",\n    \"public.privacyExportHelp\": \"Une copie de vos données vous sera envoyée par courriel.\",\n    \"public.privacyTitle\": \"Confidentialité et données personnelles\",\n    \"public.privacyWipe\": \"Effacez toutes vos données personnelles\",\n    \"public.privacyWipeHelp\": \"Supprimez définitivement tous vos abonnements et données associées de notre base de données.\",\n    \"public.sub\": \"S'abonner\",\n    \"public.subConfirmed\": \"Vous voici abonné·e avec succès.\",\n    \"public.subConfirmedTitle\": \"Abonnement confirmé\",\n    \"public.subName\": \"Nom (facultatif)\",\n    \"public.subNotFound\": \"Abonnement introuvable.\",\n    \"public.subOptinPending\": \"Un courriel de confirmation d'inscription(s) vous a été envoyé.\",\n    \"public.subPrivateList\": \"Liste privée\",\n    \"public.subTitle\": \"S'abonner\",\n    \"public.unsub\": \"Se désabonner\",\n    \"public.unsubFull\": \"Se désabonner également de tous futurs courriels.\",\n    \"public.unsubHelp\": \"Voulez-vous vous désabonner de cette liste de diffusion ?\",\n    \"public.unsubTitle\": \"Se désabonner\",\n    \"public.unsubbedInfo\": \"Vous vous êtes désabonné·e avec succès.\",\n    \"public.unsubbedTitle\": \"Désabonné·e\",\n    \"public.unsubscribeTitle\": \"Se désabonner de la liste de diffusion\",\n    \"settings.appearance.adminHelp\": \"CSS personnalisé à appliquer à l'interface utilisateur d'administration.\",\n    \"settings.appearance.adminName\": \"Administrateur\",\n    \"settings.appearance.customCSS\": \"CSS personnalisé\",\n    \"settings.appearance.customJS\": \"JavaScript personnalisé\",\n    \"settings.appearance.name\": \"Apparence\",\n    \"settings.appearance.publicHelp\": \"CSS et JavaScript personnalisés à appliquer aux pages publiques.\",\n    \"settings.appearance.publicName\": \"Public\",\n    \"settings.bounces.action\": \"Action\",\n    \"settings.bounces.blocklist\": \"Liste de bloquage\",\n    \"settings.bounces.count\": \"Comptage des rebonds\",\n    \"settings.bounces.countHelp\": \"Nombre de rebonds par abonné\",\n    \"settings.bounces.enable\": \"Activer le traitement des rebonds\",\n    \"settings.bounces.enableForwardemail\": \"Activer le transfert d'e-mails\",\n    \"settings.bounces.enableMailbox\": \"Activer la boîte aux lettres de rebond\",\n    \"settings.bounces.enablePostmark\": \"Activer Postmark\",\n    \"settings.bounces.enableSES\": \"Activer SES\",\n    \"settings.bounces.enableSendgrid\": \"Activer SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Activez les 'webhooks' de rebond\",\n    \"settings.bounces.enabled\": \"Activer\",\n    \"settings.bounces.folder\": \"Dossier\",\n    \"settings.bounces.folderHelp\": \"Nom du dossier IMAP à scanner. Exple : InBox.\",\n    \"settings.bounces.forwardemailKey\": \"Clé de transfert d'e-mails\",\n    \"settings.bounces.invalidScanInterval\": \"L'intervalle de 'scan' des rebonds doit être d'au moins 1 minute.\",\n    \"settings.bounces.name\": \"Rebonds\",\n    \"settings.bounces.none\": \"Aucun\",\n    \"settings.bounces.postmarkPassword\": \"Mot de passe Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nom d'utilisateur Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark vous permet d'activer l'autorisation basique pour les webhooks. Prenez soin de rentrer les mêmes identifiants ici ainsi que dans les paramètres de webhook Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interval de 'scan'\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervalle auquel la boîte aux lettres de rebond doit être analysée pour les rebonds (s pour seconde, m pour minute).\",\n    \"settings.bounces.sendgridKey\": \"Clés de SendGrid\",\n    \"settings.bounces.type\": \"Type\",\n    \"settings.bounces.username\": \"Identifiant\",\n    \"settings.confirmRestart\": \"Assurez-vous que les campagnes actives soient en pause. Redémarrer ?\",\n    \"settings.duplicateMessengerName\": \"Doublon du nom de messagerie : {name}\",\n    \"settings.errorEncoding\": \"Erreur lors de l'encodage des paramètres : {error}\",\n    \"settings.errorNoSMTP\": \"Au moins un bloc SMTP doit être activé\",\n    \"settings.general.adminNotifEmails\": \"Courriels pour les notifications admin\",\n    \"settings.general.adminNotifEmailsHelp\": \"Liste d'adresses courriel (séparées par des virgules) auxquelles les notifications d'admin telles que les mises à jour d'importation, fins de campagnes, échecs, etc. seront envoyées.\",\n    \"settings.general.checkUpdates\": \"Vérifier les mises à jour\",\n    \"settings.general.checkUpdatesHelp\": \"Vérifier régulièrement si de nouvelles applications sont disponibles et notifier-les.\",\n    \"settings.general.enablePublicArchive\": \"Activer la page publiques des emails archivés\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publier les campagnes pour lesquelles l'archivage est activé sur le site web public.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Afficher le contenu complet dans le flux RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Affiche le contenu complet du courriel dans le flux RSS. Si désactivé, seuls les éléments du titre et du lien sont affichés.\",\n    \"settings.general.enablePublicSubPage\": \"Activer la page d'abonnement publique\",\n    \"settings.general.enablePublicSubPageHelp\": \"Afficher une page d'abonnement publique avec toutes les listes publiques auxquelles les personnes peuvent s'abonner.\",\n    \"settings.general.faviconURL\": \"URL du favicon\",\n    \"settings.general.faviconURLHelp\": \"(Facultatif) URL complète du favicon statique visible par l'utilisateur, comme sur la page de désabonnement.\",\n    \"settings.general.fromEmail\": \"Adresse courriel `De :` par défaut\",\n    \"settings.general.fromEmailHelp\": \"Adresse courriel `De :` à afficher par défaut dans les courriels de campagne sortants. Ce paramètre est modifiable pour chaque campagne.\",\n    \"settings.general.language\": \"Langue\",\n    \"settings.general.logoURL\": \"URL du logo\",\n    \"settings.general.logoURLHelp\": \"(Facultatif) URL complète du logo statique visible par l'utilisateur, comme sur la page de désabonnement.\",\n    \"settings.general.name\": \"Général\",\n    \"settings.general.rootURL\": \"URL racine\",\n    \"settings.general.rootURLHelp\": \"URL publique de l'installation (sans slash final)\",\n    \"settings.general.sendOptinConfirm\": \"Envoyez une confirmation d'adhésion\",\n    \"settings.general.sendOptinConfirmHelp\": \"Envoyer un courriel de confirmation d'adhésion quand de nouvelles personnes s'abonnent ou sont ajoutées par l'administrateur.\",\n    \"settings.general.siteName\": \"Nom du site\",\n    \"settings.invalidMessengerName\": \"Nom de messagerie invalide\",\n    \"settings.mailserver.authProtocol\": \"Protocole d'authentification\",\n    \"settings.mailserver.host\": \"Hôte\",\n    \"settings.mailserver.hostHelp\": \"Adresse hôte du serveur SMTP\",\n    \"settings.mailserver.idleTimeout\": \"Délai d'inactivité\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Temps d'attente d'une nouvelle activité sur la connexion avant sa fermeture et suppression du pool (s pour seconde, m pour minute)\",\n    \"settings.mailserver.maxConns\": \"Nb. de connexions max.\",\n    \"settings.mailserver.maxConnsHelp\": \"Nombre maximum de connexions simultanées au serveur SMTP\",\n    \"settings.mailserver.nameHelp\": \"Nom unique optionnel pour le serveur SMTP. Doit commencer par le préfixe email-. Ce paramètre permet de sélectionner spécifiquement le serveur pour une campagne. Ex : email-primary-server. Alphanumérique / tiret.\",\n    \"settings.mailserver.password\": \"Mot de passe\",\n    \"settings.mailserver.passwordHelp\": \"Entrez un nouveau mot de passe si vous souhaitez le modifier\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Port du serveur SMTP\",\n    \"settings.mailserver.skipTLS\": \"Ignorer la vérification TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Ignorer la vérification du nom d'hôte sur le certificat TLS\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Activer STARTTLS\",\n    \"settings.mailserver.username\": \"Nom d'utilisateur\",\n    \"settings.mailserver.waitTimeout\": \"Délai d'attente\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Temps d'attente d'une nouvelle activité sur une connexion avant sa fermeture et sa suppression du pool (s pour seconde, m pour minute)\",\n    \"settings.maintenance.cron\": \"Intervalle Cron\",\n    \"settings.media.provider\": \"Fournisseur\",\n    \"settings.media.s3.bucket\": \"Compartiment\",\n    \"settings.media.s3.bucketPath\": \"Chemin du compartiment\",\n    \"settings.media.s3.bucketPathHelp\": \"Emplacement dans le compartiment pour la mise en ligne des fichiers. La valeur par défaut est /\",\n    \"settings.media.s3.bucketType\": \"Type du compartiment\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privé\",\n    \"settings.media.s3.bucketTypePublic\": \"Public\",\n    \"settings.media.s3.key\": \"Clé d'accès AWS\",\n    \"settings.media.s3.publicURL\": \"URL publique personnalisée (facultatif)\",\n    \"settings.media.s3.publicURLHelp\": \"Domaine S3 personnalisé à utiliser pour les ressources de type image au lieu de l'URL S3 par défaut.\",\n    \"settings.media.s3.region\": \"Région\",\n    \"settings.media.s3.secret\": \"Mot de passe d'accès AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Durée de validité\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Facultatif) Spécifiez la durée de validité pour l'URL prédéfinie générée. Uniquement applicable pour les compartiments privés (s, m, h, d pour les secondes, minutes, heures, jours).\",\n    \"settings.media.s3.url\": \"URL du 'backend' S3\",\n    \"settings.media.s3.urlHelp\": \"Ne changez que si vous utilisez un 'backend' personnalisé compatible S3 comme Minio.\",\n    \"settings.media.title\": \"Mise en ligne de fichiers\",\n    \"settings.media.upload.extensions\": \"Extensions de fichier autorisées\",\n    \"settings.media.upload.extensionsHelp\": \"Ajoutez * pour autoriser toutes les extensions\",\n    \"settings.media.upload.path\": \"Emplacement d'envoi des fichiers\",\n    \"settings.media.upload.pathHelp\": \"Chemin vers le répertoire où les médias seront mis en ligne\",\n    \"settings.media.upload.uri\": \"URI d'envoi des fichiers\",\n    \"settings.media.upload.uriHelp\": \"URI d'envoi des fichiers (qui sera visible du monde extérieur). Les médias stockés à cet emplacement seront accessible publiquement sous {root_url}, par exemple à l'adresse : https://listmonk.votresite.com/uploads\",\n    \"settings.messengers.maxConns\": \"Nombre de connexions max.\",\n    \"settings.messengers.maxConnsHelp\": \"Nombre maximum de connexions simultanées au serveur\",\n    \"settings.messengers.messageSaved\": \"Paramètres sauvegardés. Redémarrage de l'application...\",\n    \"settings.messengers.name\": \"Nom du service d'envoi de messages\",\n    \"settings.messengers.nameHelp\": \"Par exemple : my-sms. Utilisez uniquement des caractères alphanumériques et des tirets.\",\n    \"settings.messengers.password\": \"Mot de passe\",\n    \"settings.messengers.retries\": \"Tentatives de renvoi\",\n    \"settings.messengers.retriesHelp\": \"Nombre de tentatives de renvoi en cas d'échec\",\n    \"settings.messengers.skipTLSHelp\": \"Ignorer la vérification du nom d'hôte sur le certificat TLS\",\n    \"settings.messengers.timeout\": \"Délai d'inactivité\",\n    \"settings.messengers.timeoutHelp\": \"Temps d'attente d'une nouvelle activité sur la connexion avant sa fermeture et suppression du pool (s pour seconde, m pour minute).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL racine du serveur Postback\",\n    \"settings.messengers.username\": \"Nom d'utilisateur\",\n    \"settings.needsRestart\": \"Certains paramètres ont été modifiés. Mettez toutes les campagnes actives en pause et redémarrez l'application.\",\n    \"settings.performance.batchSize\": \"Taille du lot\",\n    \"settings.performance.batchSizeHelp\": \"Le nombre d'abonné·es à extraire de la base de données en une seule itération. Chaque itération extrait les abonné·es de la base de données, leur envoie les messages, puis passe à l'itération suivante pour extraire le lot suivant. Idéalement cette valeur devrait être supérieure au débit maximum possible (Nb de threads * débit).\",\n    \"settings.performance.cacheSlowQueries\": \"Mettre en cache les requêtes de base de données lentes\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Activez uniquement ceci sur les grandes bases de données qui ont considérablement ralenti. Met en cache les comptages des abonnés aux listes, les statistiques du tableau de bord, etc.\",\n    \"settings.performance.concurrency\": \"Nombre de threads\",\n    \"settings.performance.concurrencyHelp\": \"Nombre de workers (threads) concurrents maximum qui enverrons les messages simultanément.\",\n    \"settings.performance.maxErrThreshold\": \"Seuil maximum d'erreurs\",\n    \"settings.performance.maxErrThresholdHelp\": \"Le nombre d'erreurs (par exemple : délais d'expiration SMTP lors de l'envoi de courriels) qu'une campagne en cours d'exécution doit tolérer avant d'être suspendue pour une vérification ou une intervention manuelle. Réglez sur 0 pour ne jamais mettre en pause.\",\n    \"settings.performance.messageRate\": \"Débit de messages (par thread)\",\n    \"settings.performance.messageRateHelp\": \"Nombre maximum de messages à envoyer par worker / thread en une seconde. Si concurrence = 10 et débit = 10, alors jusqu'à 10x10 = 100 messages peuvent être mis en file d'envoi chaque seconde. Réglez les deux paramètres afin que le débit total soit inférieur aux seuils fixés par les serveurs de messagerie cibles de vos abonné·es pour ne pas finir en spam.\",\n    \"settings.performance.name\": \"Débits et performances\",\n    \"settings.performance.slidingWindow\": \"Activer une limite d'envois par fenêtre glissante (max. X messages envoyés sur une durée donnée)\",\n    \"settings.performance.slidingWindowDuration\": \"Durée de la fenêtre\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Durée de la fenêtre glissante (m pour minute, h pour heure).\",\n    \"settings.performance.slidingWindowHelp\": \"Limitez le nombre total de messages envoyés au cours d'une période donnée. Une fois cette limite atteinte, l'envoi des messages est suspendu jusqu'à ce que la fenêtre de temps soit écoulée.\",\n    \"settings.performance.slidingWindowRate\": \"Nb. de messages max\",\n    \"settings.performance.slidingWindowRateHelp\": \"Nombre maximum de messages à envoyer sur cette fenêtre\",\n    \"settings.privacy.allowBlocklist\": \"Autoriser les abonné·es à bloquer tout envoi\",\n    \"settings.privacy.allowBlocklistHelp\": \"Autoriser les abonné·es à se désabonner de toutes les listes de diffusion et à se marquer comme étant bloqué·es ?\",\n    \"settings.privacy.allowExport\": \"Autoriser l'export des données par les abonné·es\",\n    \"settings.privacy.allowExportHelp\": \"Autoriser les abonné·es à exporter les données collectées à leur sujet ?\",\n    \"settings.privacy.allowPrefs\": \"Autoriser les changements de préférences\",\n    \"settings.privacy.allowPrefsHelp\": \"Permettre aux abonnés de modifier leurs préférences, comme leur nom et l'abonnement à plusieurs listes.\",\n    \"settings.privacy.allowWipe\": \"Autoriser la suppression des données par les abonné·es\",\n    \"settings.privacy.allowWipeHelp\": \"Autoriser les abonné·es à supprimer leurs abonnements et toutes les autres données de la base de données. Les vues de campagne et les clics sur les liens sont également supprimés, tandis que le compteur de vues et de nombre de clics globaux restent inchangés (aucun·e abonné·e ne leur est associé) afin que les statistiques et les analyses ne soient pas affectées.\",\n    \"settings.privacy.domainAllowlist\": \"Liste blanche de domaines\",\n    \"settings.privacy.domainAllowlistHelp\": \"Seules les adresses e-mail avec ces domaines sont autorisées à s'abonner. Entrez un domaine par ligne, par exemple : example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Domaine bloqué\",\n    \"settings.privacy.domainBlocklistHelp\": \"Les adresses courriels avec ces domaines ne sont pas autorisées à s'abonner. Entrer un domaine par ligne, exple : somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Suivi individuel des abonné·es (vérifiez si la légalislation l'autorise)\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Suivez les vues et les clics par abonné·e pour les campagnes (vérifiez si la légalislation en vigueur l'autorise). Si l'option est désactivée, le suivi des vues et des clics s'effectue de façon anonyme.\",\n    \"settings.privacy.listUnsubHeader\": \"Inclure l'en-tête de désabonnement simplifié (via certaines messageries)\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inclure des en-têtes de désabonnement qui permettent aux utilisateurs de se désabonner en un seul clic depuis leur client de messagerie.\",\n    \"settings.privacy.name\": \"Vie privée\",\n    \"settings.privacy.recordOptinIP\": \"Enregistrer l'adresse IP d'inscription\",\n    \"settings.privacy.recordOptinIPHelp\": \"Enregistre l'adresse IP des double opt-ins dans les attributs des abonnés.\",\n    \"settings.restart\": \"Redémarrer\",\n    \"settings.security.CORSDomains\": \"Origines autorisées\",\n    \"settings.security.CORSDomainsHelp\": \"Permettre l'accès aux points de terminaison de l'API via Javascript du navigateur à partir de domaines externes. Entrez un domaine par ligne (par exemple : https://example.com). Laissez vide pour désactiver CORS ou ajoutez * pour autoriser tous les domaines (non recommandé).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Créer les utilisateurs automatiquement\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Créer automatiquement un utilisateur lors de la première connexion si le compte n'existe pas.\",\n    \"settings.security.OIDCClientID\": \"ID client\",\n    \"settings.security.OIDCClientSecret\": \"Secret client\",\n    \"settings.security.OIDCDefaultListRole\": \"Rôle de liste par défaut\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Rôle par défaut attribué aux utilisateurs créés automatiquement via OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Rôle utilisateur par défaut\",\n    \"settings.security.OIDCHelp\": \"Activer l'authentification OpenID Connect OAuth2 via un fournisseur OAuth.\",\n    \"settings.security.OIDCName\": \"Nom du fournisseur\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirection pour le fournisseur oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Cela ne semble pas être une URL de production. Modifiez l'URL racine dans les paramètres 'Général'.\",\n    \"settings.security.OIDCURL\": \"URL du fournisseur\",\n    \"settings.security.OIDCWarning\": \"Lorsque OIDC est activé, la connexion par mot de passe par défaut est désactivée. Une configuration invalide peut vous bloquer.\",\n    \"settings.security.altchaComplexity\": \"Complexité Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Des valeurs plus élevées offrent une meilleure sécurité mais une résolution plus lente (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Clef de site hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Allez sur www.hcaptcha.com pour obtenir une clef et son secret.\",\n    \"settings.security.captchaSecret\": \"Secret hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Activer CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Activer CAPTCHA sur le formulaire public de souscription.\",\n    \"settings.security.enableOIDC\": \"Activer l'authentification OIDC SSO\",\n    \"settings.security.name\": \"Sécurité\",\n    \"settings.smtp.customHeaders\": \"En-têtes personnalisées\",\n    \"settings.smtp.customHeadersHelp\": \"Tableau facultatif d'en-têtes à inclure dans tous les courriels envoyés depuis ce serveur. Par exemple : [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Activé\",\n    \"settings.smtp.heloHost\": \"Nom d'hôte HELO\",\n    \"settings.smtp.heloHostHelp\": \"Facultatif. Certains serveurs SMTP nécessitent un nom de domaine complet dans le nom d'hôte. Par défaut, HELOs utilise `localhost`. Définissez ce paramètre si un nom d'hôte personnalisé doit être utilisé.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Tentatives de renvoi\",\n    \"settings.smtp.retriesHelp\": \"Nombre de tentatives de renvoi d'un message en cas d'échec\",\n    \"settings.smtp.sendTest\": \"Envoyer un courriel\",\n    \"settings.smtp.setCustomHeaders\": \"Définir des en-têtes personnalisés\",\n    \"settings.smtp.testConnection\": \"Tester la connexion\",\n    \"settings.smtp.testEnterEmail\": \"Entrer le mot de passe pour tester\",\n    \"settings.smtp.toEmail\": \"Courriel du destinataire\",\n    \"settings.title\": \"Paramètres\",\n    \"settings.updateAvailable\": \"Une nouvelle version ({version}) est disponible.\",\n    \"subscribers.activity\": \"Activité\",\n    \"subscribers.advancedQuery\": \"Requête avancée\",\n    \"subscribers.advancedQueryHelp\": \"Expression SQL partielle pour interroger les attributs de l'abonné·e\",\n    \"subscribers.attribsHelp\": \"Les attributs sont définis comme une map JSON, par exemple :\",\n    \"subscribers.blocklistedHelp\": \"Les abonné·es bloqué·es ne recevront jamais de courriels.\",\n    \"subscribers.confirmBlocklist\": \"Bloquer {num} abonné·e(s) ?\",\n    \"subscribers.confirmDelete\": \"Supprimer {num} abonné·e(s) ?\",\n    \"subscribers.confirmExport\": \"Exporter {num} abonné·e(s) ?\",\n    \"subscribers.domainBlocklisted\": \"Le nom de domaine du courriel est bloqué.\",\n    \"subscribers.downloadData\": \"Télécharger les données\",\n    \"subscribers.email\": \"Courriel\",\n    \"subscribers.emailExists\": \"Ce courriel existe déjà.\",\n    \"subscribers.errorBlocklisting\": \"Erreur lors du blocage des abonné·es : {error}\",\n    \"subscribers.errorNoIDs\": \"Aucun identifiant fourni.\",\n    \"subscribers.errorNoListsGiven\": \"Aucune liste attribuée.\",\n    \"subscribers.errorPreparingQuery\": \"Erreur lors de la préparation de la requête d'abonné·e : {error}\",\n    \"subscribers.errorSendingOptin\": \"Erreur lors de l'envoi du courriel d'opt-in.\",\n    \"subscribers.export\": \"Exporter\",\n    \"subscribers.invalidAction\": \"Cette action est invalide.\",\n    \"subscribers.invalidEmail\": \"Ce courriel est invalide.\",\n    \"subscribers.invalidJSON\": \"JSON non valide dans les attributs.\",\n    \"subscribers.invalidName\": \"Le nom entré présente une erreur.\",\n    \"subscribers.listChangeApplied\": \"Modification de la liste effectuée.\",\n    \"subscribers.lists\": \"Listes\",\n    \"subscribers.listsHelp\": \"Les listes dont les abonné·es se sont déjà désabonné·es ne peuvent pas être supprimées.\",\n    \"subscribers.listsPlaceholder\": \"Listes auxquelles s'abonner\",\n    \"subscribers.manageLists\": \"Gérer les listes\",\n    \"subscribers.markUnsubscribed\": \"Marquer comme désabonné·e\",\n    \"subscribers.newSubscriber\": \"Nouvel·le abonné·e\",\n    \"subscribers.numSelected\": \"{num} abonné·e(s) sélectionné·e(s)\",\n    \"subscribers.optinSubject\": \"Confirmer votre abonnement\",\n    \"subscribers.preconfirm\": \"Pré-confirmer les abonnements\",\n    \"subscribers.preconfirmHelp\": \"Ne pas envoyer le courriel de confirmation et marquer tous les listes d'abonnement comme 'abonné'.\",\n    \"subscribers.query\": \"Requête\",\n    \"subscribers.queryPlaceholder\": \"Courriel ou nom\",\n    \"subscribers.reset\": \"Réinitialiser\",\n    \"subscribers.selectAll\": \"Sélectionner tout {num}\",\n    \"subscribers.sendOptinConfirm\": \"Envoyer une confirmation d'adhésion\",\n    \"subscribers.sentOptinConfirm\": \"Confirmation d'adhésion envoyée\",\n    \"subscribers.status.blocklisted\": \"Bloqué·e\",\n    \"subscribers.status.confirmed\": \"Confirmé·e\",\n    \"subscribers.status.enabled\": \"Activé·e\",\n    \"subscribers.status.subscribed\": \"Abonné·e\",\n    \"subscribers.status.unconfirmed\": \"Non confirmé·e\",\n    \"subscribers.status.unsubscribed\": \"Désabonné·e\",\n    \"subscribers.subscribersDeleted\": \"{num} abonné·e(s) supprimé·e(s)\",\n    \"templates.cantDeleteDefault\": \"Impossible de supprimer le modèle par défaut\",\n    \"templates.default\": \"Défaut\",\n    \"templates.dummyName\": \"Campagne de test\",\n    \"templates.dummySubject\": \"Objet de la campagne de test\",\n    \"templates.errorCompiling\": \"Erreur lors de la compilation du modèle : {error}\",\n    \"templates.errorRendering\": \"Message d'erreur lors du rendu : {error}\",\n    \"templates.fieldInvalidName\": \"Longueur du nom invalide.\",\n    \"templates.makeDefault\": \"Définir par défaut\",\n    \"templates.newTemplate\": \"Nouveau modèle\",\n    \"templates.placeholderHelp\": \"L'espace réservé {placeholder} doit apparaître exactement une fois dans le modèle.\",\n    \"templates.preview\": \"Aperçu\",\n    \"templates.rawHTML\": \"HTML brut\",\n    \"templates.subject\": \"Objet\",\n    \"templates.typeCampaignHTML\": \"Campagne / HTML\",\n    \"templates.typeCampaignVisual\": \"Campagne / Visuel\",\n    \"templates.typeTransactional\": \"Transactionnel\",\n    \"users.apiOneTimeToken\": \"Copiez le jeton d'accès API maintenant. Il ne sera plus affiché.\",\n    \"users.cantDeleteRole\": \"Impossible de supprimer un rôle utilisé.\",\n    \"users.firstTime\": \"Ceci est une nouvelle installation. Choisissez un nom d'utilisateur et un mot de passe pour le compte Super Admin.\",\n    \"users.forgotPassword\": \"Mot de passe oublié?\",\n    \"users.invalidLogin\": \"Identifiant ou mot de passe invalide\",\n    \"users.invalidPassword\": \"Mot de passe invalide\",\n    \"users.invalidRequest\": \"Requête d'authentification invalide\",\n    \"users.invalidResetLink\": \"Lien de réinitialisation invalide ou expiré\",\n    \"users.lastLogin\": \"Dernière connexion\",\n    \"users.listPerms\": \"Permissions des listes\",\n    \"users.listPermsWarning\": \"les autorisations lists:get_all ou lists:manage_all sont activées et remplacent les autorisations par liste\",\n    \"users.listRole\": \"Rôle de la liste | Rôle de la liste\",\n    \"users.listRoles\": \"Rôles de liste\",\n    \"users.login\": \"Connecter\",\n    \"users.loginOIDC\": \"Se connecter avec {name}\",\n    \"users.logout\": \"Déconnecter\",\n    \"users.needSuper\": \"Impossible de mettre à jour l'utilisateur (les). Il doit y avoir au moins un utilisateur Super Admin actif.\",\n    \"users.newListRole\": \"Nouveau rôle de liste\",\n    \"users.newPassword\": \"Nouveau mot de passe\",\n    \"users.newUser\": \"Nouvel utilisateur\",\n    \"users.newUserRole\": \"Nouveau rôle utilisateur\",\n    \"users.password\": \"Mot de passe\",\n    \"users.passwordEnable\": \"Activer la connexion par mot de passe\",\n    \"users.passwordMismatch\": \"Les mots de passe ne correspondent pas\",\n    \"users.passwordRepeat\": \"Répéter le mot de passe\",\n    \"users.perms\": \"Permissions\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Si le compte est actif, vous recevrez un e-mail de réinitialisation de mot de passe.\",\n    \"users.resetPassword\": \"Réinitialiser le mot de passe\",\n    \"users.role\": \"Rôle | Rôles\",\n    \"users.roleGroup\": \"Groupe\",\n    \"users.roles\": \"Rôles\",\n    \"users.status.disabled\": \"Désactivé\",\n    \"users.status.enabled\": \"Activé\",\n    \"users.totpCode\": \"Code TOTP\",\n    \"users.totpCodeHelp\": \"Entrez le code à 6 chiffres de votre application d'authentification\",\n    \"users.totpScanQR\": \"Scannez le code QR avec votre application d'authentification comme Ente ou Google Authenticator et entrez le code TOTP ci-dessous.\",\n    \"users.totpSecret\": \"Clé secrète\",\n    \"users.twoFA\": \"Authentification à deux facteurs\",\n    \"users.twoFAAlreadyEnabled\": \"L'authentification à deux facteurs est déjà activée.\",\n    \"users.twoFAEnabled\": \"L'authentification à deux facteurs est activée\",\n    \"users.twoFAEnabledDesc\": \"Votre compte est protégé avec {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Activez la 2FA pour une sécurité supplémentaire lors de la connexion à votre compte.\",\n    \"users.type\": \"Type\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Utilisateur\",\n    \"users.userRole\": \"Rôle utilisateur | Rôles utilisateur\",\n    \"users.userRoles\": \"Rôles utilisateur\",\n    \"users.username\": \"Nom d'utilisateur\",\n    \"users.usernameHelp\": \"Utilisé avec la connexion par mot de passe\"\n}\n"
  },
  {
    "path": "i18n/fr.json",
    "content": "{\n    \"_.code\": \"fr\",\n    \"_.name\": \"Français (fr)\",\n    \"admin.errorMarshallingConfig\": \"Erreur lors de la lecture de la configuration : {error}\",\n    \"analytics.count\": \"Compte\",\n    \"analytics.fromDate\": \"Depuis\",\n    \"analytics.invalidDates\": \"Dates invalides `depuis` ou `au`.\",\n    \"analytics.isUnique\": \"Les comptes sont uniques par abonné.\",\n    \"analytics.links\": \"Liens\",\n    \"analytics.nonUnique\": \"Les comptes ne sont pas uniques car le suivi individuel des abonnés est désactivé.\",\n    \"analytics.title\": \"Analyses\",\n    \"analytics.toDate\": \"Au\",\n    \"bounces.complaint\": \"Plainte\",\n    \"bounces.hard\": \"Dur\",\n    \"bounces.soft\": \"Doux\",\n    \"bounces.source\": \"Source\",\n    \"bounces.unknownService\": \"Service inconnu.\",\n    \"bounces.view\": \"Voir les rebonds\",\n    \"campaigns.addAltText\": \"Ajouter un message alternatif en texte brut\",\n    \"campaigns.addAttachments\": \"Ajouter des pièces jointes\",\n    \"campaigns.archive\": \"Archiver\",\n    \"campaigns.archiveEnable\": \"Publier dans l'archive publique\",\n    \"campaigns.archiveHelp\": \"Publier (en cours, en pause, terminé) le message de la campagne sur l'archive publique.\",\n    \"campaigns.archiveMeta\": \"Métadonnées de la campagne\",\n    \"campaigns.archiveMetaHelp\": \"Données d'abonné fictives à utiliser dans le message public, notamment le nom, l'adresse électronique et tout attribut facultatif utilisé dans le message ou le modèle de la campagne.\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Un nom court pour la page à utiliser dans l'URL publique. par exemple: mon-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Pièces jointes\",\n    \"campaigns.attribsHelp\": \"Attributs d'objet JSON personnalisé {} pour cette campagne. À utiliser dans le modèle avec {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Impossible de mettre à jour une campagne en cours ou terminée.\",\n    \"campaigns.clicks\": \"Clics\",\n    \"campaigns.confirmDelete\": \"Supprimer la campagne {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Cela va remplacer tout le contenu. Continuer?\",\n    \"campaigns.confirmSchedule\": \"Cette campagne démarrera automatiquement à la date et à l'heure planifiées. Confirmer la planification ?\",\n    \"campaigns.confirmSwitchFormat\": \"Le contenu peut perdre sa mise en forme. Continuer ?\",\n    \"campaigns.content\": \"Contenu\",\n    \"campaigns.contentHelp\": \"Rédigez le contenu ici.\",\n    \"campaigns.continue\": \"Continuer\",\n    \"campaigns.copyOf\": \"Copie de {name}\",\n    \"campaigns.customHeadersHelp\": \"Array d'en-têtes personnalisés à joindre aux messages sortants. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Date et heure\",\n    \"campaigns.ended\": \"Terminée\",\n    \"campaigns.errorSendTest\": \"Erreur lors de l'envoi du test : {error}\",\n    \"campaigns.fieldInvalidBody\": \"Erreur lors de la compilation du corps de la campagne : {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Adresse d'envoi invalide.\",\n    \"campaigns.fieldInvalidListIDs\": \"ID de liste invalides.\",\n    \"campaigns.fieldInvalidMessenger\": \"Service de messagerie inconnu : {name}.\",\n    \"campaigns.fieldInvalidName\": \"Longueur du nom invalide.\",\n    \"campaigns.fieldInvalidSendAt\": \"La date planifiée doit être future.\",\n    \"campaigns.fieldInvalidSubject\": \"Longueur d'objet non valide.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formater le code HTML\",\n    \"campaigns.fromAddress\": \"Adresse d'envoi\",\n    \"campaigns.fromAddressPlaceholder\": \"Nom à afficher <noreply@votresite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importer un modèle visuel\",\n    \"campaigns.invalid\": \"Campagne non valide\",\n    \"campaigns.invalidCustomHeaders\": \"En-têtes personnalisés non valides: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Une date est nécessaire pour planifier la campagne.\",\n    \"campaigns.newCampaign\": \"Nouvelle campagne\",\n    \"campaigns.noKnownSubsToTest\": \"Aucun·e abonné·e connu à tester.\",\n    \"campaigns.noOptinLists\": \"Aucune liste opt-in trouvée pour créer une campagne.\",\n    \"campaigns.noSubs\": \"Il n'y a aucun·e abonné·e dans les listes sélectionnées pour créer la campagne.\",\n    \"campaigns.noSubsToTest\": \"Il n'y a aucun·e abonné·e à cibler.\",\n    \"campaigns.notFound\": \"Campagne introuvable.\",\n    \"campaigns.onlyActiveCancel\": \"Seules les campagnes actives peuvent être annulées.\",\n    \"campaigns.onlyActivePause\": \"Seules les campagnes actives peuvent être mises en pause.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Seuls les campagnes à l'état de brouillon peuvent être planifiées.\",\n    \"campaigns.onlyPausedDraft\": \"Seuls les brouillons et les campagnes mises en pause peuvent être lancés.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Seules les campagnes planifiées peuvent être enregistrées en tant que brouillons.\",\n    \"campaigns.pause\": \"Mettre en pause\",\n    \"campaigns.plainText\": \"Texte brut\",\n    \"campaigns.preview\": \"Aperçu\",\n    \"campaigns.progress\": \"Avancement\",\n    \"campaigns.queryPlaceholder\": \"Nom ou objet\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML brut\",\n    \"campaigns.removeAltText\": \"Supprimer le message alternatif en texte brut\",\n    \"campaigns.richText\": \"Texte riche\",\n    \"campaigns.schedule\": \"Planifier la campagne\",\n    \"campaigns.scheduled\": \"Planifiée\",\n    \"campaigns.send\": \"Envoyer\",\n    \"campaigns.sendLater\": \"Envoyer plus tard\",\n    \"campaigns.sendTest\": \"Envoyer un message de test\",\n    \"campaigns.sendTestHelp\": \"Pour ajouter plusieurs destinataires, appuyez sur Entrée après avoir tapé une adresse. Les adresses doivent faire partie des abonné·es existant·es.\",\n    \"campaigns.sendToLists\": \"Envoyer aux listes\",\n    \"campaigns.sent\": \"Envoyés\",\n    \"campaigns.start\": \"Lancer la campagne\",\n    \"campaigns.started\": \"La campagne « {name} » est lancée\",\n    \"campaigns.startedAt\": \"Début\",\n    \"campaigns.stats\": \"Statistiques\",\n    \"campaigns.status.cancelled\": \"annulée\",\n    \"campaigns.status.draft\": \"en brouillon\",\n    \"campaigns.status.finished\": \"terminée\",\n    \"campaigns.status.paused\": \"en pause\",\n    \"campaigns.status.running\": \"active\",\n    \"campaigns.status.scheduled\": \"planifiée\",\n    \"campaigns.statusChanged\": \"La campagne « {name} » est {status}\",\n    \"campaigns.subject\": \"Objet\",\n    \"campaigns.templatingRef\": \"Référence Templating\",\n    \"campaigns.testEmails\": \"E-mails de test\",\n    \"campaigns.testSent\": \"Message de test envoyé\",\n    \"campaigns.timestamps\": \"Horodatages\",\n    \"campaigns.trackLink\": \"Lien de suivi\",\n    \"campaigns.unSchedule\": \"Déprogrammer\",\n    \"campaigns.views\": \"Vues\",\n    \"campaigns.visual\": \"Visuel\",\n    \"dashboard.campaignViews\": \"vues de campagne\",\n    \"dashboard.linkClicks\": \"clics sur liens\",\n    \"dashboard.messagesSent\": \"messages envoyés\",\n    \"dashboard.orphanSubs\": \"abonnements sans retour\",\n    \"email.data.info\": \"Vous trouverez un fichier au format JSON contenant l'ensemble des données enregistrées à votre sujet en pièce jointe. Il peut être visualisé dans un éditeur de texte.\",\n    \"email.data.title\": \"Vos données personnelles\",\n    \"email.forgotPassword.button\": \"Réinitialiser le mot de passe\",\n    \"email.forgotPassword.info\": \"Si vous n'avez pas demandé ceci, vous pouvez ignorer cet email en toute sécurité. Ce lien expirera dans 30 minutes.\",\n    \"email.forgotPassword.subject\": \"Réinitialiser votre mot de passe\",\n    \"email.optin.confirmSub\": \"Confirmer votre abonnement\",\n    \"email.optin.confirmSubHelp\": \"Confirmez votre abonnement en cliquant sur le bouton ci-dessous :\",\n    \"email.optin.confirmSubInfo\": \"Vous avez été ajouté·e aux listes suivantes :\",\n    \"email.optin.confirmSubTitle\": \"Confirmer votre abonnement\",\n    \"email.optin.confirmSubWelcome\": \"Bonjour,\",\n    \"email.optin.privateList\": \"Liste privée\",\n    \"email.status.campaignReason\": \"Description\",\n    \"email.status.campaignSent\": \"Envoyée\",\n    \"email.status.campaignUpdateTitle\": \"Mise à jour de campagne\",\n    \"email.status.importFile\": \"Fichier\",\n    \"email.status.importRecords\": \"Contacts importés\",\n    \"email.status.importTitle\": \"Importer la mise à jour\",\n    \"email.status.status\": \"Statut\",\n    \"email.unsub\": \"Se désabonner\",\n    \"email.unsubHelp\": \"Vous ne souhaitez pas recevoir ces e-mails ?\",\n    \"email.viewInBrowser\": \"Voir dans le navigateur\",\n    \"forms.formHTML\": \"Formulaire HTML\",\n    \"forms.formHTMLHelp\": \"Utilisez le code HTML suivant pour afficher un formulaire d'abonnement sur une page Web externe. Le formulaire doit avoir le champ email et un ou plusieurs champs `l` (listes UUID). Le champ \\\"nom\\\" est facultatif.\",\n    \"forms.noPublicLists\": \"Il n'y a pas de listes publiques pour générer un formulaire.\",\n    \"forms.publicLists\": \"Listes publiques\",\n    \"forms.publicSubPage\": \"Page d'abonnement publique\",\n    \"forms.selectHelp\": \"Sélectionnez les listes à ajouter au formulaire.\",\n    \"forms.title\": \"Formulaires\",\n    \"globals.buttons.add\": \"Ajouter\",\n    \"globals.buttons.addNew\": \"Ajouter\",\n    \"globals.buttons.back\": \"Retour\",\n    \"globals.buttons.cancel\": \"Annuler\",\n    \"globals.buttons.clear\": \"Supprimer\",\n    \"globals.buttons.clearAll\": \"Tout effacer\",\n    \"globals.buttons.clone\": \"Cloner\",\n    \"globals.buttons.close\": \"Fermer\",\n    \"globals.buttons.continue\": \"Continuer\",\n    \"globals.buttons.copy\": \"Copier\",\n    \"globals.buttons.delete\": \"Supprimer\",\n    \"globals.buttons.deleteAll\": \"Tout effacer\",\n    \"globals.buttons.disable\": \"Désactiver\",\n    \"globals.buttons.edit\": \"Éditer\",\n    \"globals.buttons.enable\": \"Activer\",\n    \"globals.buttons.enabled\": \"Activé\",\n    \"globals.buttons.insert\": \"Insérer\",\n    \"globals.buttons.learnMore\": \"En savoir plus\",\n    \"globals.buttons.manage\": \"Gérer\",\n    \"globals.buttons.more\": \"Plus\",\n    \"globals.buttons.new\": \"Ajouter\",\n    \"globals.buttons.ok\": \"Valider\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Supprimer\",\n    \"globals.buttons.save\": \"Enregistrer\",\n    \"globals.buttons.saveChanges\": \"Enregistrer les changements\",\n    \"globals.buttons.toggleSelect\": \"Basculer la sélection\",\n    \"globals.buttons.view\": \"Voir\",\n    \"globals.days.0\": \"Dim\",\n    \"globals.days.1\": \"Dim\",\n    \"globals.days.2\": \"Lun\",\n    \"globals.days.3\": \"Mar\",\n    \"globals.days.4\": \"Mer\",\n    \"globals.days.5\": \"Jeu\",\n    \"globals.days.6\": \"Ven\",\n    \"globals.days.7\": \"Sam\",\n    \"globals.fields.createdAt\": \"Créé·e le\",\n    \"globals.fields.description\": \"Description\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nom\",\n    \"globals.fields.status\": \"Statut\",\n    \"globals.fields.type\": \"Type\",\n    \"globals.fields.updatedAt\": \"Mis à jour le\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Confirmer ?\",\n    \"globals.messages.confirmDelete\": \"Supprimer {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Annuler les modifications ?\",\n    \"globals.messages.copied\": \"Copié\",\n    \"globals.messages.created\": \"Création de « {name} »\",\n    \"globals.messages.deleted\": \"Suppression de « {name} »\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) effacé(s)\",\n    \"globals.messages.done\": \"Fait\",\n    \"globals.messages.emptyState\": \"Rien\",\n    \"globals.messages.errorCreating\": \"Erreur lors de la création de {name} : {error}\",\n    \"globals.messages.errorDeleting\": \"Erreur lors de la suppression de {name} : {error}\",\n    \"globals.messages.errorFetching\": \"Erreur lors de la récupération de {name} : {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Un ou plusieurs identifiants non valides fournis : {error}\",\n    \"globals.messages.errorUUID\": \"Erreur lors de la génération de l'UUID : {error}\",\n    \"globals.messages.errorUpdating\": \"Erreur lors de la mise à jour de {name} : {error}\",\n    \"globals.messages.internalError\": \"Erreur interne du serveur\",\n    \"globals.messages.invalidData\": \"Données invalides\",\n    \"globals.messages.invalidFields\": \"Champs non valides : {name}\",\n    \"globals.messages.invalidID\": \"ID invalide\",\n    \"globals.messages.invalidUUID\": \"UUID invalide\",\n    \"globals.messages.invalidValue\": \"Valeur invalide\",\n    \"globals.messages.missingFields\": \"Champ(s) manquant(s) : {name}\",\n    \"globals.messages.notFound\": \"{name} introuvable\",\n    \"globals.messages.numSelected\": \"{num} sélectionné(s)\",\n    \"globals.messages.passwordChange\": \"Entrez un nouveau mot de passe pour en changer\",\n    \"globals.messages.passwordChangeFull\": \"Effacer et saisir à nouveau le mot de passe complet dans '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Autorisation refusée : {name}\",\n    \"globals.messages.selectAll\": \"Sélectionner tous les {num}\",\n    \"globals.messages.slowQueriesCached\": \"Les requêtes lentes sont mises en cache. Certains nombres sur cette page ne seront pas à jour.\",\n    \"globals.messages.updated\": \"Mise à jour de \\\"{name}\\\"\",\n    \"globals.months.1\": \"jan.\",\n    \"globals.months.10\": \"oct.\",\n    \"globals.months.11\": \"nov.\",\n    \"globals.months.12\": \"déc.\",\n    \"globals.months.2\": \"fév.\",\n    \"globals.months.3\": \"mars\",\n    \"globals.months.4\": \"avr.\",\n    \"globals.months.5\": \"mai\",\n    \"globals.months.6\": \"juin\",\n    \"globals.months.7\": \"juil.\",\n    \"globals.months.8\": \"août\",\n    \"globals.months.9\": \"sept.\",\n    \"globals.states.off\": \"Désactivé\",\n    \"globals.terms.all\": \"Tout\",\n    \"globals.terms.analytics\": \"Analyses\",\n    \"globals.terms.attribs\": \"Attributs\",\n    \"globals.terms.bounce\": \"Rebond | Rebonds\",\n    \"globals.terms.bounces\": \"Rebonds\",\n    \"globals.terms.campaign\": \"Campagne | Campagnes\",\n    \"globals.terms.campaigns\": \"Campagnes\",\n    \"globals.terms.dashboard\": \"Tableau de bord\",\n    \"globals.terms.day\": \"Jour | Jours\",\n    \"globals.terms.hour\": \"Heure | Heures\",\n    \"globals.terms.import\": \"Importer\",\n    \"globals.terms.list\": \"Liste | Listes\",\n    \"globals.terms.lists\": \"Listes\",\n    \"globals.terms.media\": \"Médias | Médias\",\n    \"globals.terms.messenger\": \"Service de messagerie | Services de messagerie\",\n    \"globals.terms.messengers\": \"Services de messagerie\",\n    \"globals.terms.minute\": \"Minute | Minutes\",\n    \"globals.terms.month\": \"Mois | Mois\",\n    \"globals.terms.new\": \"Nouveau\",\n    \"globals.terms.none\": \"Aucun\",\n    \"globals.terms.second\": \"Seconde | Secondes\",\n    \"globals.terms.settings\": \"Paramètres\",\n    \"globals.terms.subscriber\": \"Abonné·e | Abonné·es\",\n    \"globals.terms.subscribers\": \"Abonné·es\",\n    \"globals.terms.subscriptions\": \"Abonnement | Abonnements\",\n    \"globals.terms.tag\": \"Étiquette | Étiquettes\",\n    \"globals.terms.tags\": \"Étiquettes\",\n    \"globals.terms.template\": \"Modèle | Modèles\",\n    \"globals.terms.templates\": \"Modèles\",\n    \"globals.terms.tx\": \"Transactionnel | Transactionnels\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Utilisateur | Utilisateurs\",\n    \"globals.terms.users\": \"Utilisateurs\",\n    \"globals.terms.year\": \"Année | Années\",\n    \"import.alreadyRunning\": \"Une importation est déjà en cours. Attendez qu'elle se termine ou arrêtez-la avant de réessayer.\",\n    \"import.blocklist\": \"Bloquer les adresses importées\",\n    \"import.csvDelim\": \"Délimiteur CSV\",\n    \"import.csvDelimHelp\": \"Le délimiteur par défaut est la virgule.\",\n    \"import.csvExample\": \"Exemple de CSV brut\",\n    \"import.csvFile\": \"Fichier CSV ou ZIP\",\n    \"import.csvFileHelp\": \"Cliquez ou glissez-déposez ici un fichier CSV ou ZIP\",\n    \"import.errorCopyingFile\": \"Erreur lors de la copie du fichier : {error}\",\n    \"import.errorProcessingZIP\": \"Erreur lors du traitement du fichier ZIP : {error}\",\n    \"import.errorStarting\": \"Erreur lors du démarrage de l'importation : {error}\",\n    \"import.importDone\": \"Importation terminée\",\n    \"import.importStarted\": \"L'importation a commencé\",\n    \"import.instructions\": \"Instructions\",\n    \"import.instructionsHelp\": \"Téléchargez un fichier CSV (ou un fichier ZIP contenant un seul fichier CSV) pour importer des contacts en masse. Le fichier CSV doit avoir les en-têtes suivantes avec ces noms de colonnes exacts. Les attributs (facultatifs) doivent être des chaînes JSON valides entre guillemets doubles.\",\n    \"import.invalidDelim\": \"Le délimiteur doit être un seul caractère.\",\n    \"import.invalidFile\": \"Fichier non valide : {error}\",\n    \"import.invalidMode\": \"Mode invalide\",\n    \"import.invalidParams\": \"Paramètres non valides : {error}\",\n    \"import.invalidSubStatus\": \"Status d'abonnement invalide\",\n    \"import.listSubHelp\": \"Abonner aux listes\",\n    \"import.mode\": \"Mode\",\n    \"import.overwriteSubStatus\": \"Remplacer le statut d'abonnement\",\n    \"import.overwriteSubStatusHelp\": \"Remplacer le statut des abonnements existants à la liste\",\n    \"import.overwriteUserInfo\": \"Remplacer les informations utilisateur\",\n    \"import.overwriteUserInfoHelp\": \"Remplacer le nom et les attributs des abonnés existants\",\n    \"import.recordsCount\": \"{num} / {total} contacts importés\",\n    \"import.stopImport\": \"Arrêter l'importation\",\n    \"import.subscribe\": \"S'abonner\",\n    \"import.subscribeWarning\": \"La réinscription écrasera les e-mails désabonnés. Continuer ?\",\n    \"import.title\": \"Importer des abonné·es\",\n    \"import.upload\": \"Envoyer\",\n    \"lists.archived\": \"Archivé\",\n    \"lists.archivedHelp\": \"L'archivage masque les listes de la page des listes, des campagnes et des formulaires publics. Il peut être désarchivé à tout moment. C'est utile pour masquer les anciennes listes rarement utilisées.\",\n    \"lists.confirmDelete\": \"Êtes-vous sûr·e de supprimer cette liste ? Cela ne supprimera pas les abonné·es.\",\n    \"lists.confirmSub\": \"Confirmer les abonnements à {name}\",\n    \"lists.invalidName\": \"Nom incorrect\",\n    \"lists.newList\": \"Nouvelle liste\",\n    \"lists.optin\": \"Abonnement \\\"opt-in\\\" (ajout par défaut)\",\n    \"lists.optinHelp\": \"L'option \\\"opt-in double\\\" envoie un e-mail à l'abonné·e demandant sa confirmation. Pour les listes en \\\"opt-in double\\\", les campagnes ne sont envoyées qu'aux abonné·es s'étant confirmé·es.\",\n    \"lists.optinTo\": \"Activer l'option opt-in pour {name}\",\n    \"lists.optins.double\": \"Opt-in double\",\n    \"lists.optins.single\": \"Opt-in simple\",\n    \"lists.sendCampaign\": \"Envoyer la campagne\",\n    \"lists.sendOptinCampaign\": \"Envoyer une campagne opt-in\",\n    \"lists.type\": \"Type\",\n    \"lists.typeHelp\": \"Les listes publiques sont libres d'accès en abonnement et leurs noms sont visibles sur les pages publiques telles que la page de gestion des abonnements.\",\n    \"lists.types.private\": \"Privée\",\n    \"lists.types.public\": \"Publique\",\n    \"logs.title\": \"Journalisations\",\n    \"maintenance.database.title\": \"Base de données\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE récupère le stockage utilisé par les lignes supprimées et améliore considérablement les performances de la base de données sur les grandes bases de données. IMPORTANT: Pour les grandes bases de données, il s'agit d'une opération lente et bloquante. Programmez son exécution pendant les heures creuses.\",\n    \"maintenance.help\": \"Certaines actions peuvent prendre un certain temps, en fonction de la quantité de données.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Abonnements sélectionnés non-confirmés\",\n    \"maintenance.olderThan\": \"Plus vieux que\",\n    \"maintenance.orphanHelp\": \"Orphelins = abonnés sans listes\",\n    \"maintenance.title\": \"Maintenance\",\n    \"maintenance.unconfirmedSubs\": \"Abonnements non confirmés datant de plus de {name} jours.\",\n    \"media.errorReadingFile\": \"Erreur de lecture du fichier : {error}\",\n    \"media.errorResizing\": \"Erreur lors du redimensionnement de l'image : {error}\",\n    \"media.errorSavingThumbnail\": \"Erreur lors de l'enregistrement de la miniature : {error}\",\n    \"media.errorUploading\": \"Erreur lors de l'envoi du fichier : {error}\",\n    \"media.invalidFile\": \"Fichier non valide : {error}\",\n    \"media.title\": \"Fichiers\",\n    \"media.unsupportedFileType\": \"Type de fichier non pris en charge ({type})\",\n    \"media.upload\": \"Importer\",\n    \"media.uploadHelp\": \"Cliquez ou glissez-déposez ici une ou plusieurs image(s)\",\n    \"menu.allCampaigns\": \"Toutes les campagnes\",\n    \"menu.allLists\": \"Toutes les listes\",\n    \"menu.allSubscribers\": \"Tou·tes les abonné·es\",\n    \"menu.dashboard\": \"Tableau de bord\",\n    \"menu.forms\": \"Formulaires\",\n    \"menu.import\": \"Importer\",\n    \"menu.logs\": \"Journalisations\",\n    \"menu.maintenance\": \"Maintenance\",\n    \"menu.media\": \"Fichiers\",\n    \"menu.newCampaign\": \"Nouvelle campagne\",\n    \"menu.settings\": \"Paramètres\",\n    \"public.archiveEmpty\": \"Aucun message archivé pour le moment.\",\n    \"public.archiveTitle\": \"Archives des listes de diffusion\",\n    \"public.blocklisted\": \"Désabonnement définitif.\",\n    \"public.campaignNotFound\": \"La liste de diffusion est introuvable.\",\n    \"public.confirmOptinSubTitle\": \"Confirmer votre abonnement\",\n    \"public.confirmSub\": \"Confirmer votre abonnement\",\n    \"public.confirmSubInfo\": \"Vous avez été ajouté·e aux listes suivantes :\",\n    \"public.confirmSubTitle\": \"Confirmer votre abonnement\",\n    \"public.dataRemoved\": \"Vos abonnements et toutes les données associées ont été supprimés.\",\n    \"public.dataRemovedTitle\": \"Données personnelles supprimées\",\n    \"public.dataSent\": \"Vos données personnelles vous ont été envoyées par e-mail.\",\n    \"public.dataSentTitle\": \"Données personnelles envoyées\",\n    \"public.errorFetchingCampaign\": \"Erreur lors de la récupération de l'e-mail.\",\n    \"public.errorFetchingEmail\": \"E-mail introuvable\",\n    \"public.errorFetchingLists\": \"Erreur lors de la récupération des listes. Veuillez réessayer.\",\n    \"public.errorProcessingRequest\": \"Erreur lors du traitement de la demande. Veuillez réessayer.\",\n    \"public.errorTitle\": \"Erreur\",\n    \"public.invalidCaptcha\": \"CAPTCHA invalide.\",\n    \"public.invalidFeature\": \"Cette fonctionnalité n'est pas disponible.\",\n    \"public.invalidLink\": \"Lien invalide\",\n    \"public.managePrefs\": \"Gérer les préférences\",\n    \"public.managePrefsUnsub\": \"Décochez les listes pour vous désabonner de celles-ci.\",\n    \"public.noListsAvailable\": \"Aucune liste n'est disponible pour vous abonner.\",\n    \"public.noListsSelected\": \"Aucune liste valide sélectionnée pour s'abonner.\",\n    \"public.noSubInfo\": \"Il n'y a pas d'abonnement à confirmer.\",\n    \"public.noSubTitle\": \"Aucun abonnement\",\n    \"public.notFoundTitle\": \"Non trouvé\",\n    \"public.poweredBy\": \"Propulsé par\",\n    \"public.prefsSaved\": \"Vos préférences ont été enregistrées.\",\n    \"public.privacyConfirmWipe\": \"Voulez-vous vraiment supprimer définitivement toutes vos données d'abonnement ?\",\n    \"public.privacyExport\": \"Exportez vos données personnelles\",\n    \"public.privacyExportHelp\": \"Une copie de vos données vous sera envoyée par e-mail.\",\n    \"public.privacyTitle\": \"Confidentialité et données personnelles\",\n    \"public.privacyWipe\": \"Effacez toutes vos données personnelles\",\n    \"public.privacyWipeHelp\": \"Supprimez définitivement tous vos abonnements et données associées de notre base de données.\",\n    \"public.sub\": \"S'abonner\",\n    \"public.subConfirmed\": \"Vous voici abonné·e avec succès.\",\n    \"public.subConfirmedTitle\": \"Abonnement confirmé\",\n    \"public.subName\": \"Nom (facultatif)\",\n    \"public.subNotFound\": \"Abonnement introuvable.\",\n    \"public.subOptinPending\": \"Un e-mail de confirmation d'inscription(s) vous a été envoyé.\",\n    \"public.subPrivateList\": \"Liste privée\",\n    \"public.subTitle\": \"S'abonner\",\n    \"public.unsub\": \"Se désabonner\",\n    \"public.unsubFull\": \"Se désabonner également de tous futurs e-mails.\",\n    \"public.unsubHelp\": \"Voulez-vous vous désabonner de cette liste de diffusion ?\",\n    \"public.unsubTitle\": \"Se désabonner\",\n    \"public.unsubbedInfo\": \"Vous vous êtes désabonné·e avec succès.\",\n    \"public.unsubbedTitle\": \"Désabonné·e\",\n    \"public.unsubscribeTitle\": \"Se désabonner de la liste de diffusion\",\n    \"settings.appearance.adminHelp\": \"CSS personnalisé à appliquer à l'interface utilisateur d'administration.\",\n    \"settings.appearance.adminName\": \"Administrateur\",\n    \"settings.appearance.customCSS\": \"CSS personnalisé\",\n    \"settings.appearance.customJS\": \"JavaScript personnalisé\",\n    \"settings.appearance.name\": \"Apparence\",\n    \"settings.appearance.publicHelp\": \"CSS et JavaScript personnalisés à appliquer aux pages publiques.\",\n    \"settings.appearance.publicName\": \"Public\",\n    \"settings.bounces.action\": \"Action\",\n    \"settings.bounces.blocklist\": \"Liste de bloquage\",\n    \"settings.bounces.count\": \"Comptage des rebonds\",\n    \"settings.bounces.countHelp\": \"Nombre de rebonds par abonné\",\n    \"settings.bounces.enable\": \"Activer le traitement des rebonds\",\n    \"settings.bounces.enableForwardemail\": \"Activer le transfert d'e-mail\",\n    \"settings.bounces.enableMailbox\": \"Activer la boîte aux lettres de rebond\",\n    \"settings.bounces.enablePostmark\": \"Activer Postmark\",\n    \"settings.bounces.enableSES\": \"Activer SES\",\n    \"settings.bounces.enableSendgrid\": \"Activer SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Activez les 'webhooks' de rebond\",\n    \"settings.bounces.enabled\": \"Activer\",\n    \"settings.bounces.folder\": \"Dossier\",\n    \"settings.bounces.folderHelp\": \"Nom du dossier IMAP à scanner. Exple : InBox.\",\n    \"settings.bounces.forwardemailKey\": \"Clé de transfert d'e-mail\",\n    \"settings.bounces.invalidScanInterval\": \"L'intervalle de 'scan' des rebonds doit être d'au moins 1 minute.\",\n    \"settings.bounces.name\": \"Rebonds\",\n    \"settings.bounces.none\": \"Aucun\",\n    \"settings.bounces.postmarkPassword\": \"Mot de passe Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nom d'utilisateur Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark vous permet d'activer l'autorisation basique pour les webhooks. Prenez soin de rentrer les mêmes identifiants ici ainsi que dans les paramètres de webhook Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interval de 'scan'\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervalle auquel la boîte aux lettres de rebond doit être analysée pour les rebonds (s pour seconde, m pour minute).\",\n    \"settings.bounces.sendgridKey\": \"Clés de SendGrid\",\n    \"settings.bounces.type\": \"Type\",\n    \"settings.bounces.username\": \"Identifiant\",\n    \"settings.confirmRestart\": \"Assurez-vous que les campagnes actives soient en pause. Redémarrer ?\",\n    \"settings.duplicateMessengerName\": \"Doublon du nom de messagerie : {name}\",\n    \"settings.errorEncoding\": \"Erreur lors de l'encodage des paramètres : {error}\",\n    \"settings.errorNoSMTP\": \"Au moins un bloc SMTP doit être activé\",\n    \"settings.general.adminNotifEmails\": \"E-mails pour les notifications admin\",\n    \"settings.general.adminNotifEmailsHelp\": \"Liste d'adresses e-mail (séparées par des virgules) auxquelles les notifications d'admin telles que les mises à jour d'importation, fins de campagnes, échecs, etc. seront envoyées.\",\n    \"settings.general.checkUpdates\": \"Vérifier les mises à jour\",\n    \"settings.general.checkUpdatesHelp\": \"Vérifier régulièrement si de nouvelles applications sont disponibles et notifier-les.\",\n    \"settings.general.enablePublicArchive\": \"Activer la page publiques des emails archivés\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publier les campagnes pour lesquelles l'archivage est activé sur le site web public.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Afficher le contenu complet dans le flux RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Affiche le contenu complet de l'e-mail dans le flux RSS. Si désactivé, seuls les éléments du titre et du lien sont affichés.\",\n    \"settings.general.enablePublicSubPage\": \"Activer la page d'abonnement publique\",\n    \"settings.general.enablePublicSubPageHelp\": \"Afficher une page d'abonnement publique avec toutes les listes publiques auxquelles les personnes peuvent s'abonner.\",\n    \"settings.general.faviconURL\": \"URL du favicon\",\n    \"settings.general.faviconURLHelp\": \"(Facultatif) URL complète du favicon statique visible par l'utilisateur, comme sur la page de désabonnement.\",\n    \"settings.general.fromEmail\": \"Adresse e-mail `De :` par défaut\",\n    \"settings.general.fromEmailHelp\": \"Adresse e-mail `De :` à afficher par défaut dans les e-mails de campagne sortants. Ce paramètre est modifiable pour chaque campagne.\",\n    \"settings.general.language\": \"Langue\",\n    \"settings.general.logoURL\": \"URL du logo\",\n    \"settings.general.logoURLHelp\": \"(Facultatif) URL complète du logo statique visible par l'utilisateur, comme sur la page de désabonnement.\",\n    \"settings.general.name\": \"Général\",\n    \"settings.general.rootURL\": \"URL racine\",\n    \"settings.general.rootURLHelp\": \"URL publique de l'installation (sans slash final)\",\n    \"settings.general.sendOptinConfirm\": \"Envoyez une confirmation d'adhésion\",\n    \"settings.general.sendOptinConfirmHelp\": \"Envoyer un e-mail de confirmation d'adhésion quand de nouvelles personnes s'abonnent ou sont ajoutées par l'administrateur.\",\n    \"settings.general.siteName\": \"Nom du site\",\n    \"settings.invalidMessengerName\": \"Nom de messagerie invalide\",\n    \"settings.mailserver.authProtocol\": \"Protocole d'authentification\",\n    \"settings.mailserver.host\": \"Hôte\",\n    \"settings.mailserver.hostHelp\": \"Adresse hôte du serveur SMTP\",\n    \"settings.mailserver.idleTimeout\": \"Délai d'inactivité\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Temps d'attente d'une nouvelle activité sur la connexion avant sa fermeture et suppression du pool (s pour seconde, m pour minute)\",\n    \"settings.mailserver.maxConns\": \"Nb. de connexions max.\",\n    \"settings.mailserver.maxConnsHelp\": \"Nombre maximum de connexions simultanées au serveur SMTP\",\n    \"settings.mailserver.nameHelp\": \"Nom unique optionnel pour le serveur SMTP. Doit commencer par le préfixe email-. Cela permet de sélectionner spécifiquement le serveur pour une campagne. Ex : email-primary-server. Alphanumérique / tiret.\",\n    \"settings.mailserver.password\": \"Mot de passe\",\n    \"settings.mailserver.passwordHelp\": \"Entrez un nouveau mot de passe si vous souhaitez le modifier\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Port du serveur SMTP\",\n    \"settings.mailserver.skipTLS\": \"Ignorer la vérification TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Ignorer la vérification du nom d'hôte sur le certificat TLS\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Activer STARTTLS\",\n    \"settings.mailserver.username\": \"Nom d'utilisateur\",\n    \"settings.mailserver.waitTimeout\": \"Délai d'attente\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Temps d'attente d'une nouvelle activité sur une connexion avant sa fermeture et sa suppression du pool (s pour seconde, m pour minute)\",\n    \"settings.maintenance.cron\": \"Intervalle Cron\",\n    \"settings.media.provider\": \"Fournisseur\",\n    \"settings.media.s3.bucket\": \"Compartiment\",\n    \"settings.media.s3.bucketPath\": \"Chemin du compartiment\",\n    \"settings.media.s3.bucketPathHelp\": \"Emplacement dans le compartiment pour la mise en ligne des fichiers. La valeur par défaut est /\",\n    \"settings.media.s3.bucketType\": \"Type du compartiment\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privé\",\n    \"settings.media.s3.bucketTypePublic\": \"Public\",\n    \"settings.media.s3.key\": \"Clé d'accès AWS\",\n    \"settings.media.s3.publicURL\": \"URL publique personnalisée (facultatif)\",\n    \"settings.media.s3.publicURLHelp\": \"Domaine S3 personnalisé à utiliser pour les ressources de type image au lieu de l'URL S3 par défaut.\",\n    \"settings.media.s3.region\": \"Région\",\n    \"settings.media.s3.secret\": \"Mot de passe d'accès AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Durée de validité\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Facultatif) Spécifiez la durée de validité pour l'URL prédéfinie générée. Uniquement applicable pour les compartiments privés (s, m, h, d pour les secondes, minutes, heures, jours).\",\n    \"settings.media.s3.url\": \"URL du 'backend' S3\",\n    \"settings.media.s3.urlHelp\": \"Ne changez que si vous utilisez un 'backend' personnalisé compatible S3 comme Minio.\",\n    \"settings.media.title\": \"Mise en ligne de fichiers\",\n    \"settings.media.upload.extensions\": \"Extensions de fichier autorisées\",\n    \"settings.media.upload.extensionsHelp\": \"Ajoutez * pour autoriser toutes les extensions\",\n    \"settings.media.upload.path\": \"Emplacement d'envoi des fichiers\",\n    \"settings.media.upload.pathHelp\": \"Chemin vers le répertoire où les médias seront mis en ligne\",\n    \"settings.media.upload.uri\": \"URI d'envoi des fichiers\",\n    \"settings.media.upload.uriHelp\": \"URI d'envoi des fichiers (qui sera visible du monde extérieur). Les médias stockés à cet emplacement seront accessible publiquement sous {root_url}, par exemple à l'adresse : https://listmonk.votresite.com/uploads\",\n    \"settings.messengers.maxConns\": \"Nombre de connexions max.\",\n    \"settings.messengers.maxConnsHelp\": \"Nombre maximum de connexions simultanées au serveur\",\n    \"settings.messengers.messageSaved\": \"Paramètres sauvegardés. Redémarrage de l'application...\",\n    \"settings.messengers.name\": \"Nom du service d'envoi de messages\",\n    \"settings.messengers.nameHelp\": \"Par exemple : my-sms. Utilisez uniquement des caractères alphanumériques et des tirets.\",\n    \"settings.messengers.password\": \"Mot de passe\",\n    \"settings.messengers.retries\": \"Tentatives de renvoi\",\n    \"settings.messengers.retriesHelp\": \"Nombre de tentatives de renvoi en cas d'échec\",\n    \"settings.messengers.skipTLSHelp\": \"Ignorer la vérification du nom d'hôte sur le certificat TLS\",\n    \"settings.messengers.timeout\": \"Délai d'inactivité\",\n    \"settings.messengers.timeoutHelp\": \"Temps d'attente d'une nouvelle activité sur la connexion avant sa fermeture et suppression du pool (s pour seconde, m pour minute).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL racine du serveur Postback\",\n    \"settings.messengers.username\": \"Nom d'utilisateur\",\n    \"settings.needsRestart\": \"Certains paramètres ont été modifiés. Mettez toutes les campagnes actives en pause et redémarrez l'application.\",\n    \"settings.performance.batchSize\": \"Taille du lot\",\n    \"settings.performance.batchSizeHelp\": \"Le nombre d'abonné·es à extraire de la base de données en une seule itération. Chaque itération extrait les abonné·es de la base de données, leur envoie les messages, puis passe à l'itération suivante pour extraire le lot suivant. Idéalement cette valeur devrait être supérieure au débit maximum possible (Nb de threads * débit).\",\n    \"settings.performance.cacheSlowQueries\": \"Mettre en cache les requêtes de base de données lentes\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Activez uniquement ceci sur les grandes bases de données qui ont considérablement ralenti. Met en cache les comptages des abonnés aux listes, les statistiques du tableau de bord, etc.\",\n    \"settings.performance.concurrency\": \"Nombre de threads\",\n    \"settings.performance.concurrencyHelp\": \"Nombre de workers (threads) concurrents maximum qui enverrons les messages simultanément.\",\n    \"settings.performance.maxErrThreshold\": \"Seuil maximum d'erreurs\",\n    \"settings.performance.maxErrThresholdHelp\": \"Le nombre d'erreurs (par exemple : délais d'expiration SMTP lors de l'envoi d'e-mails) qu'une campagne en cours d'exécution doit tolérer avant d'être suspendue pour une vérification ou une intervention manuelle. Réglez sur 0 pour ne jamais mettre en pause.\",\n    \"settings.performance.messageRate\": \"Débit de messages (par thread)\",\n    \"settings.performance.messageRateHelp\": \"Nombre maximum de messages à envoyer par worker / thread en une seconde. Si concurrence = 10 et débit = 10, alors jusqu'à 10x10 = 100 messages peuvent être mis en file d'envoi chaque seconde. Réglez les deux paramètres afin que le débit total soit inférieur aux seuils fixés par les serveurs de messagerie cibles de vos abonné·es pour ne pas finir en spam.\",\n    \"settings.performance.name\": \"Débits et performances\",\n    \"settings.performance.slidingWindow\": \"Activer une limite d'envois par fenêtre glissante (max. X messages envoyés sur une durée donnée)\",\n    \"settings.performance.slidingWindowDuration\": \"Durée de la fenêtre\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Durée de la fenêtre glissante (m pour minute, h pour heure).\",\n    \"settings.performance.slidingWindowHelp\": \"Limitez le nombre total de messages envoyés au cours d'une période donnée. Une fois cette limite atteinte, l'envoi des messages est suspendu jusqu'à ce que la fenêtre de temps soit écoulée.\",\n    \"settings.performance.slidingWindowRate\": \"Nb. de messages max\",\n    \"settings.performance.slidingWindowRateHelp\": \"Nombre maximum de messages à envoyer sur cette fenêtre\",\n    \"settings.privacy.allowBlocklist\": \"Autoriser les abonné·es à bloquer tout envoi\",\n    \"settings.privacy.allowBlocklistHelp\": \"Autoriser les abonné·es à se désabonner de toutes les listes de diffusion et à se marquer comme étant bloqué·es ?\",\n    \"settings.privacy.allowExport\": \"Autoriser l'export des données par les abonné·es\",\n    \"settings.privacy.allowExportHelp\": \"Autoriser les abonné·es à exporter les données collectées à leur sujet ?\",\n    \"settings.privacy.allowPrefs\": \"Autoriser les changements de préférences\",\n    \"settings.privacy.allowPrefsHelp\": \"Permettre aux abonnés de modifier leurs préférences, comme leur nom et l'abonnement à plusieurs listes.\",\n    \"settings.privacy.allowWipe\": \"Autoriser la suppression des données par les abonné·es\",\n    \"settings.privacy.allowWipeHelp\": \"Autoriser les abonné·es à supprimer leurs abonnements et toutes les autres données de la base de données. Les vues de campagne et les clics sur les liens sont également supprimés, tandis que le compteur de vues et de nombre de clics globaux restent inchangés (aucun·e abonné·e ne leur est associé) afin que les statistiques et les analyses ne soient pas affectées.\",\n    \"settings.privacy.domainAllowlist\": \"Liste blanche de domaines\",\n    \"settings.privacy.domainAllowlistHelp\": \"Seules les adresses e-mail de ces domaines sont autorisées à s'abonner. Entrez un domaine par ligne, par ex: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Domaine bloqué\",\n    \"settings.privacy.domainBlocklistHelp\": \"Les adresses e-mail avec ces domaines ne sont pas autorisées à s'abonner. Entrer un domaine par ligne, exple : somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Suivi individuel des abonné·es (vérifiez si la légalislation l'autorise)\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Suivez les vues et les clics par abonné·e pour les campagnes (vérifiez si la légalislation en vigueur l'autorise). Si l'option est désactivée, le suivi des vues et des clics s'effectue de façon anonyme.\",\n    \"settings.privacy.listUnsubHeader\": \"Inclure l'en-tête de désabonnement simplifié (via certaines messageries)\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inclure des en-têtes de désabonnement qui permettent aux utilisateurs de se désabonner en un seul clic depuis leur client de messagerie.\",\n    \"settings.privacy.name\": \"Vie privée\",\n    \"settings.privacy.recordOptinIP\": \"Enregistrer l'adresse IP d'inscription\",\n    \"settings.privacy.recordOptinIPHelp\": \"Enregistre l'adresse IP des double opt-ins dans les attributs des abonnés.\",\n    \"settings.restart\": \"Redémarrer\",\n    \"settings.security.CORSDomains\": \"Origines autorisées\",\n    \"settings.security.CORSDomainsHelp\": \"Autoriser l'accès aux points de terminaison API via Javascript du navigateur à partir de domaines externes. Entrez un domaine par ligne (par ex: https://example.com). Laissez vide pour désactiver CORS ou ajoutez * pour permettre tous les domaines (non recommandé).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Création automatique des utilisateurs\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Créer automatiquement un utilisateur lors de la première connexion si le compte n'existe pas.\",\n    \"settings.security.OIDCClientID\": \"ID client\",\n    \"settings.security.OIDCClientSecret\": \"Secret client\",\n    \"settings.security.OIDCDefaultListRole\": \"Rôle de liste par défaut\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Rôle par défaut attribué aux utilisateurs créés automatiquement via OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Rôle utilisateur par défaut\",\n    \"settings.security.OIDCHelp\": \"Activer la connexion OIDC via un fournisseur OAuth2.\",\n    \"settings.security.OIDCName\": \"Nom du fournisseur\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirection pour le fournisseur oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Ceci ne semble pas être une URL de production. Modifiez l'URL Racine dans les paramètres 'Généraux'.\",\n    \"settings.security.OIDCURL\": \"URL du fournisseur\",\n    \"settings.security.OIDCWarning\": \"Lorsque OIDC est activé, la connexion par mot de passe par défaut est désactivée. Une configuration incorrecte peut vous empêcher d'accéder.\",\n    \"settings.security.altchaComplexity\": \"Complexité Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Des valeurs plus élevées offrent une meilleure sécurité mais un temps de résolution plus long (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Clef de site hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Allez sur www.hcaptcha.com pour obtenir une clef et son secret.\",\n    \"settings.security.captchaSecret\": \"Secret hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Activer CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Activer CAPTCHA sur le formulaire public de souscription.\",\n    \"settings.security.enableOIDC\": \"Activer la connexion unique OIDC\",\n    \"settings.security.name\": \"Sécurité\",\n    \"settings.smtp.customHeaders\": \"En-têtes personnalisées\",\n    \"settings.smtp.customHeadersHelp\": \"Tableau facultatif d'en-têtes à inclure dans tous les e-mails envoyés depuis ce serveur. Par exemple : [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Activé\",\n    \"settings.smtp.heloHost\": \"Nom d'hôte HELO\",\n    \"settings.smtp.heloHostHelp\": \"Facultatif. Certains serveurs SMTP nécessitent un nom de domaine complet dans le nom d'hôte. Par défaut, HELOs utilise `localhost`. Définissez ce paramètre si un nom d'hôte personnalisé doit être utilisé.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Tentatives de renvoi\",\n    \"settings.smtp.retriesHelp\": \"Nombre de tentatives de renvoi d'un message en cas d'échec\",\n    \"settings.smtp.sendTest\": \"Envoyer un e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Définir des en-têtes personnalisés\",\n    \"settings.smtp.testConnection\": \"Tester la connexion\",\n    \"settings.smtp.testEnterEmail\": \"Entrer le mot de passe pour tester\",\n    \"settings.smtp.toEmail\": \"E-mail du destinataire\",\n    \"settings.title\": \"Paramètres\",\n    \"settings.updateAvailable\": \"Une nouvelle version ({version}) est disponible.\",\n    \"subscribers.activity\": \"Activité\",\n    \"subscribers.advancedQuery\": \"Requête avancée\",\n    \"subscribers.advancedQueryHelp\": \"Expression SQL partielle pour interroger les attributs de l'abonné·e\",\n    \"subscribers.attribsHelp\": \"Les attributs sont définis comme une map JSON, par exemple :\",\n    \"subscribers.blocklistedHelp\": \"Les abonné·es bloqué·es ne recevront jamais d'e-mails.\",\n    \"subscribers.confirmBlocklist\": \"Bloquer {num} abonné·e(s) ?\",\n    \"subscribers.confirmDelete\": \"Supprimer {num} abonné·e(s) ?\",\n    \"subscribers.confirmExport\": \"Exporter {num} abonné·e(s) ?\",\n    \"subscribers.domainBlocklisted\": \"Le nom de domaine de l'e-mail est bloqué.\",\n    \"subscribers.downloadData\": \"Télécharger les données\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"Cet e-mail existe déjà.\",\n    \"subscribers.errorBlocklisting\": \"Erreur lors du blocage des abonné·es : {error}\",\n    \"subscribers.errorNoIDs\": \"Aucun identifiant fourni.\",\n    \"subscribers.errorNoListsGiven\": \"Aucune liste attribuée.\",\n    \"subscribers.errorPreparingQuery\": \"Erreur lors de la préparation de la requête d'abonné·e : {error}\",\n    \"subscribers.errorSendingOptin\": \"Erreur lors de l'envoi de l'e-mail d'opt-in.\",\n    \"subscribers.export\": \"Exporter\",\n    \"subscribers.invalidAction\": \"Cette action est invalide.\",\n    \"subscribers.invalidEmail\": \"Cet e-mail est invalide.\",\n    \"subscribers.invalidJSON\": \"JSON non valide dans les attributs.\",\n    \"subscribers.invalidName\": \"Le nom entré présente une erreur.\",\n    \"subscribers.listChangeApplied\": \"Modification de la liste effectuée.\",\n    \"subscribers.lists\": \"Listes\",\n    \"subscribers.listsHelp\": \"Les listes dont les abonné·es se sont déjà désabonné·es ne peuvent pas être supprimées.\",\n    \"subscribers.listsPlaceholder\": \"Listes auxquelles s'abonner\",\n    \"subscribers.manageLists\": \"Gérer les listes\",\n    \"subscribers.markUnsubscribed\": \"Marquer comme désabonné·e\",\n    \"subscribers.newSubscriber\": \"Nouvel·le abonné·e\",\n    \"subscribers.numSelected\": \"{num} abonné·e(s) sélectionné·e(s)\",\n    \"subscribers.optinSubject\": \"Confirmer votre abonnement\",\n    \"subscribers.preconfirm\": \"Pré-confirmer les abonnements\",\n    \"subscribers.preconfirmHelp\": \"Ne pas envoyer l'e-mail de confirmation et marquer tous les listes d'abonnement comme 'abonné'.\",\n    \"subscribers.query\": \"Requête\",\n    \"subscribers.queryPlaceholder\": \"E-mail ou nom\",\n    \"subscribers.reset\": \"Réinitialiser\",\n    \"subscribers.selectAll\": \"Sélectionner tout {num}\",\n    \"subscribers.sendOptinConfirm\": \"Envoyer une confirmation d'adhésion\",\n    \"subscribers.sentOptinConfirm\": \"Confirmation d'adhésion envoyée\",\n    \"subscribers.status.blocklisted\": \"Bloqué·e\",\n    \"subscribers.status.confirmed\": \"Confirmé·e\",\n    \"subscribers.status.enabled\": \"Activé·e\",\n    \"subscribers.status.subscribed\": \"Abonné·e\",\n    \"subscribers.status.unconfirmed\": \"Non confirmé·e\",\n    \"subscribers.status.unsubscribed\": \"Désabonné·e\",\n    \"subscribers.subscribersDeleted\": \"{num} abonné·e(s) supprimé·e(s)\",\n    \"templates.cantDeleteDefault\": \"Impossible de supprimer le modèle par défaut\",\n    \"templates.default\": \"Défaut\",\n    \"templates.dummyName\": \"Campagne de test\",\n    \"templates.dummySubject\": \"Objet de la campagne de test\",\n    \"templates.errorCompiling\": \"Erreur lors de la compilation du modèle : {error}\",\n    \"templates.errorRendering\": \"Message d'erreur lors du rendu : {error}\",\n    \"templates.fieldInvalidName\": \"Longueur du nom invalide.\",\n    \"templates.makeDefault\": \"Définir par défaut\",\n    \"templates.newTemplate\": \"Nouveau modèle\",\n    \"templates.placeholderHelp\": \"L'espace réservé {placeholder} doit apparaître exactement une fois dans le modèle.\",\n    \"templates.preview\": \"Aperçu\",\n    \"templates.rawHTML\": \"HTML brut\",\n    \"templates.subject\": \"Objet\",\n    \"templates.typeCampaignHTML\": \"Campagne / HTML\",\n    \"templates.typeCampaignVisual\": \"Campagne / Visuel\",\n    \"templates.typeTransactional\": \"Transactionnel\",\n    \"users.apiOneTimeToken\": \"Copiez dès maintenant le jeton d'accès API. Il ne sera plus affiché.\",\n    \"users.cantDeleteRole\": \"Impossible de supprimer un rôle en cours d'utilisation.\",\n    \"users.firstTime\": \"Il s'agit d'une nouvelle installation. Choisissez un nom d'utilisateur et un mot de passe pour le compte Super Admin.\",\n    \"users.forgotPassword\": \"Mot de passe oublié?\",\n    \"users.invalidLogin\": \"Identifiant ou mot de passe incorrect\",\n    \"users.invalidPassword\": \"Mot de passe invalide\",\n    \"users.invalidRequest\": \"Demande d'authentification invalide\",\n    \"users.invalidResetLink\": \"Lien de réinitialisation invalide ou expiré\",\n    \"users.lastLogin\": \"Dernière connexion\",\n    \"users.listPerms\": \"Permissions de liste\",\n    \"users.listPermsWarning\": \"les autorisations lists:get_all ou lists:manage_all sont activées, ce qui remplace les permissions par liste\",\n    \"users.listRole\": \"Rôle de liste | Rôle de liste\",\n    \"users.listRoles\": \"Rôles de liste\",\n    \"users.login\": \"Connecter\",\n    \"users.loginOIDC\": \"Connexion avec {name}\",\n    \"users.logout\": \"Déconnecter\",\n    \"users.needSuper\": \"Utilisateur(s) ne peut être mis à jour. Il doit y avoir au moins un utilisateur Super Admin actif.\",\n    \"users.newListRole\": \"Nouveau rôle de liste\",\n    \"users.newPassword\": \"Nouveau mot de passe\",\n    \"users.newUser\": \"Nouvel utilisateur\",\n    \"users.newUserRole\": \"Nouveau rôle utilisateur\",\n    \"users.password\": \"Mot de passe\",\n    \"users.passwordEnable\": \"Activer la connexion par mot de passe\",\n    \"users.passwordMismatch\": \"Les mots de passe ne correspondent pas\",\n    \"users.passwordRepeat\": \"Répétez le mot de passe\",\n    \"users.perms\": \"Autorisations\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Si le compte est actif, vous recevrez un email de réinitialisation de mot de passe.\",\n    \"users.resetPassword\": \"Réinitialiser le mot de passe\",\n    \"users.role\": \"Rôle | Rôles\",\n    \"users.roleGroup\": \"Groupe\",\n    \"users.roles\": \"Rôles\",\n    \"users.status.disabled\": \"Désactivé\",\n    \"users.status.enabled\": \"Activé\",\n    \"users.totpCode\": \"Code TOTP\",\n    \"users.totpCodeHelp\": \"Entrez le code à 6 chiffres de votre application d'authentification\",\n    \"users.totpScanQR\": \"Scannez le code QR avec votre application d'authentification telle que Ente ou Google Authenticator et entrez le code TOTP ci-dessous.\",\n    \"users.totpSecret\": \"Clé secrète\",\n    \"users.twoFA\": \"Authentification à deux facteurs\",\n    \"users.twoFAAlreadyEnabled\": \"L'authentification à deux facteurs est déjà activée.\",\n    \"users.twoFAEnabled\": \"L'authentification à deux facteurs est activée\",\n    \"users.twoFAEnabledDesc\": \"Votre compte est protégé par {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Activez l'authentification à deux facteurs pour une sécurité supplémentaire lors de la connexion à votre compte.\",\n    \"users.type\": \"Type\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Utilisateur\",\n    \"users.userRole\": \"Rôle utilisateur | Rôles utilisateur\",\n    \"users.userRoles\": \"Rôles utilisateur\",\n    \"users.username\": \"Nom d'utilisateur\",\n    \"users.usernameHelp\": \"Utilisé avec la connexion par mot de passe\"\n}\n"
  },
  {
    "path": "i18n/he.json",
    "content": "{\n    \"_.code\": \"he\",\n    \"_.name\": \"עברית (he)\",\n    \"admin.errorMarshallingConfig\": \"שגיאה בארגון תצורה: {error}\",\n    \"analytics.count\": \"כמות\",\n    \"analytics.fromDate\": \"מ\",\n    \"analytics.invalidDates\": \"טווח תאריכים לא חוקי.\",\n    \"analytics.isUnique\": \"הספירות הן ייחודיות לכל מנוי.\",\n    \"analytics.links\": \"קישורים\",\n    \"analytics.nonUnique\": \"הספירות אינן ייחודיות מאחר ומעקב אישי של המנויים מושבת.\",\n    \"analytics.title\": \"סטטיסטיקות\",\n    \"analytics.toDate\": \"ל\",\n    \"bounces.complaint\": \"תלונה\",\n    \"bounces.hard\": \"קשה\",\n    \"bounces.soft\": \"עדין\",\n    \"bounces.source\": \"מקור\",\n    \"bounces.unknownService\": \"שרות לא ידוע.\",\n    \"bounces.view\": \"צפה בהקפצות\",\n    \"campaigns.addAltText\": \"הוספת טקסט פשוט\",\n    \"campaigns.addAttachments\": \"הוסף קבצים\",\n    \"campaigns.archive\": \"ארכיון\",\n    \"campaigns.archiveEnable\": \"פרסם לארכיון ציבורי\",\n    \"campaigns.archiveHelp\": \"פרסם (פועל, מושהה, הושלם) את הודעת הקמפיין בארכיון הציבורי.\",\n    \"campaigns.archiveMeta\": \"מטא-נתונים של קמפיין\",\n    \"campaigns.archiveMetaHelp\": \"נתוני חבוי של המנויים לשימוש בהודעה ציבורית כולל שם, דואר אלקטרוני, וכל מאפיינים אופציונליים שבשימוש בהודעת הקמפיין או התבנית.\",\n    \"campaigns.archiveSlug\": \"אימות כתובת\",\n    \"campaigns.archiveSlugHelp\": \"שם קצר לדף המשמש בכתובת ה-URL הציבורית. לדוגמה: מכתב-חדשות-2\",\n    \"campaigns.attachments\": \"קבצים מצורפים\",\n    \"campaigns.attribsHelp\": \"אובייקט JSON מותאם אישית {} תכונות עבור קמפיין זה. השתמש בתבנית עם {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"לא ניתן לעדכן קמפיין בריצה או שהושלם.\",\n    \"campaigns.clicks\": \"לחיצות\",\n    \"campaigns.confirmDelete\": \"מחק את {name}\",\n    \"campaigns.confirmOverwriteContent\": \"זה יחליף את כל התוכן. להמשיך?\",\n    \"campaigns.confirmSchedule\": \"הקמפיין יתחיל באופן אוטומטי בתאריך ובשעה המתוכננים. לתזמן כעת?\",\n    \"campaigns.confirmSwitchFormat\": \"התוכן עלול לאבד את העיצוב, להמשיך?\",\n    \"campaigns.content\": \"תוכן\",\n    \"campaigns.contentHelp\": \"תוכן כאן\",\n    \"campaigns.continue\": \"המשך\",\n    \"campaigns.copyOf\": \"עותק של {name}\",\n    \"campaigns.customHeadersHelp\": \"מערך כותרות מותאמות אישית לצירוף להודעות. דוגמא: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"תאריך ושעה\",\n    \"campaigns.ended\": \"הסתיים\",\n    \"campaigns.errorSendTest\": \"שגיאה בשליחת הבדיקה: {error}\",\n    \"campaigns.fieldInvalidBody\": \"שגיאה בקימפול גוף הקמפיין: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`from_email` לא חוקי.\",\n    \"campaigns.fieldInvalidListIDs\": \"מזהי רשימה לא חוקיים.\",\n    \"campaigns.fieldInvalidMessenger\": \"שולח לא ידוע {name}.\",\n    \"campaigns.fieldInvalidName\": \"אורך שם לא חוקי.\",\n    \"campaigns.fieldInvalidSendAt\": \"התאריך המתוכנן צריך להיות בעתיד.\",\n    \"campaigns.fieldInvalidSubject\": \"אורך נושא לא חוקי.\",\n    \"campaigns.format\": \"פורמט\",\n    \"campaigns.formatHTML\": \"עיצוב HTML\",\n    \"campaigns.fromAddress\": \"מכתובת\",\n    \"campaigns.fromAddressPlaceholder\": \"השם שלך <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"ייבא תבנית חזותית\",\n    \"campaigns.invalid\": \"קמפיין לא חוקי\",\n    \"campaigns.invalidCustomHeaders\": \"כותרות מותאמות אישית לא חוקיות: {error}\",\n    \"campaigns.markdown\": \"סימוכת Markdown\",\n    \"campaigns.needsSendAt\": \"יש לבחור תאריך תזמון לקמפיין.\",\n    \"campaigns.newCampaign\": \"קמפיין חדש\",\n    \"campaigns.noKnownSubsToTest\": \"אין מנויים ידועים לבדיקה.\",\n    \"campaigns.noOptinLists\": \"לא נמצאו רשימות פעילות ליצירת קמפיין.\",\n    \"campaigns.noSubs\": \"אין מנויים ברשימות שנבחרו עבור יצירת הקמפיין.\",\n    \"campaigns.noSubsToTest\": \"אין מנויים לשיוך.\",\n    \"campaigns.notFound\": \"קמפיין לא נמצא.\",\n    \"campaigns.onlyActiveCancel\": \"ניתן לבטל רק קמפיינים פעילים.\",\n    \"campaigns.onlyActivePause\": \"ניתן להשהות רק קמפיינים פעילים.\",\n    \"campaigns.onlyDraftAsScheduled\": \"ניתן לתזמן רק טיוטה של קמפיינים.\",\n    \"campaigns.onlyPausedDraft\": \"אפשר להתחיל רק קמפיינים מושהים וטיוטה.\",\n    \"campaigns.onlyScheduledAsDraft\": \"ניתן לשמור סקירות רקודות כטיוטה.\",\n    \"campaigns.pause\": \"עצור\",\n    \"campaigns.plainText\": \"טקסט רגיל\",\n    \"campaigns.preview\": \"תצוגה מקדימה\",\n    \"campaigns.progress\": \"בתהליך\",\n    \"campaigns.queryPlaceholder\": \"שם או נושא\",\n    \"campaigns.rateMinuteShort\": \"מינימום\",\n    \"campaigns.rawHTML\": \"HTML גולמי\",\n    \"campaigns.removeAltText\": \"הסר הודעת טקסט פשוט\",\n    \"campaigns.richText\": \"טקסט עשיר\",\n    \"campaigns.schedule\": \"תזמון קמפיין\",\n    \"campaigns.scheduled\": \"מתוזמן\",\n    \"campaigns.send\": \"שלח\",\n    \"campaigns.sendLater\": \"שלח מאוחר יותר\",\n    \"campaigns.sendTest\": \"שלח הודעת בדיקה\",\n    \"campaigns.sendTestHelp\": \"לחץ על Enter לאחר שתקלוד כתובת דואר אלקטרוני על מנת להוסיף מקבלים מרובים. הכתובות חייבות להיות שייכות למנויים קיימים.\",\n    \"campaigns.sendToLists\": \"רשימות לשליחה\",\n    \"campaigns.sent\": \"נשלח\",\n    \"campaigns.start\": \"התחל קמפיין\",\n    \"campaigns.started\": \"\\\"{name}\\\" התחיל\",\n    \"campaigns.startedAt\": \"התחיל\",\n    \"campaigns.stats\": \"סטטיסטיקות\",\n    \"campaigns.status.cancelled\": \"בוטל\",\n    \"campaigns.status.draft\": \"טיוטה\",\n    \"campaigns.status.finished\": \"הושלם\",\n    \"campaigns.status.paused\": \"מושהה\",\n    \"campaigns.status.running\": \"רץ\",\n    \"campaigns.status.scheduled\": \"מתוזמן\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" {status}\",\n    \"campaigns.subject\": \"נושא\",\n    \"campaigns.templatingRef\": \"התאמת תבנית\",\n    \"campaigns.testEmails\": \"כתובות אימייל\",\n    \"campaigns.testSent\": \"הודעת בדיקה נשלחה\",\n    \"campaigns.timestamps\": \"חותמות זמן\",\n    \"campaigns.trackLink\": \"קישור מעקב\",\n    \"campaigns.unSchedule\": \"בטל תזמון\",\n    \"campaigns.views\": \"צפיות\",\n    \"campaigns.visual\": \"חזותי\",\n    \"dashboard.campaignViews\": \"צפיות בקמפיין\",\n    \"dashboard.linkClicks\": \"לחיצות על קישורים\",\n    \"dashboard.messagesSent\": \"הודעות שנשלחו\",\n    \"dashboard.orphanSubs\": \"יתומים\",\n    \"email.data.info\": \"עותק של כל הנתונים הרשומים עליך מוצורף כקובץ בפורמט JSON. ניתן להציגו בעורך טקסט.\",\n    \"email.data.title\": \"הנתונים שלך\",\n    \"email.forgotPassword.button\": \"אפס סיסמה\",\n    \"email.forgotPassword.info\": \"אם לא ביקשת זאת, אתה יכול להתעלם בבטחה מהודעת דוא״ל זו. קישור זה יפוג תוקף בעוד 30 דקות.\",\n    \"email.forgotPassword.subject\": \"אפס את סיסמתך\",\n    \"email.optin.confirmSub\": \"אשר רישום\",\n    \"email.optin.confirmSubHelp\": \"אשר את המינוי שלך על ידי לחיצה על הכפתור למטה.\",\n    \"email.optin.confirmSubInfo\": \"נוספת בהצלחה לרשימת הבאות:\",\n    \"email.optin.confirmSubTitle\": \"אישור רישום\",\n    \"email.optin.confirmSubWelcome\": \"היי\",\n    \"email.optin.privateList\": \"רשימה פרטית\",\n    \"email.status.campaignReason\": \"סיבה\",\n    \"email.status.campaignSent\": \"נשלח\",\n    \"email.status.campaignUpdateTitle\": \"עדכון קמפיין\",\n    \"email.status.importFile\": \"קובץ\",\n    \"email.status.importRecords\": \"רשומות\",\n    \"email.status.importTitle\": \"ייבוא עדכון\",\n    \"email.status.status\": \"סטטוס\",\n    \"email.unsub\": \"ביטול רישום\",\n    \"email.unsubHelp\": \"לא רוצה לקבל את המיילים האלו?\",\n    \"email.viewInBrowser\": \"הצג בדפדפן\",\n    \"forms.formHTML\": \"טופס HTML\",\n    \"forms.formHTMLHelp\": \"השתמש ב-HTML הבא כדי להציג טופס רישום בדף אינטרנט חיצוני. הטופס צריך להכיל שדה דואר אלקטרוני ושדות `l` יחידים או רבים (UUID) בשימוש ברשימות. שדה השם הוא אופציונלי.\",\n    \"forms.noPublicLists\": \"אין רשימות ציבוריות ליצירת טפסים.\",\n    \"forms.publicLists\": \"רשימות ציבוריות\",\n    \"forms.publicSubPage\": \"דף הרשמה ציבורי\",\n    \"forms.selectHelp\": \"בחר רשימות להוספה לטופס.\",\n    \"forms.title\": \"טפסים\",\n    \"globals.buttons.add\": \"הוסף\",\n    \"globals.buttons.addNew\": \"הוסף חדש\",\n    \"globals.buttons.back\": \"חזור\",\n    \"globals.buttons.cancel\": \"ביטול\",\n    \"globals.buttons.clear\": \"ניקוי\",\n    \"globals.buttons.clearAll\": \"נקה הכל\",\n    \"globals.buttons.clone\": \"שכפול\",\n    \"globals.buttons.close\": \"סגור\",\n    \"globals.buttons.continue\": \"המשך\",\n    \"globals.buttons.copy\": \"העתק\",\n    \"globals.buttons.delete\": \"מחיקה\",\n    \"globals.buttons.deleteAll\": \"מחק הכל\",\n    \"globals.buttons.disable\": \"השבת\",\n    \"globals.buttons.edit\": \"עריכה\",\n    \"globals.buttons.enable\": \"הפעל\",\n    \"globals.buttons.enabled\": \"מופעל\",\n    \"globals.buttons.insert\": \"להכניס\",\n    \"globals.buttons.learnMore\": \"למד עוד\",\n    \"globals.buttons.manage\": \"ניהול\",\n    \"globals.buttons.more\": \"עוד\",\n    \"globals.buttons.new\": \"חדש\",\n    \"globals.buttons.ok\": \"אישור\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"הסרה\",\n    \"globals.buttons.save\": \"שמירה\",\n    \"globals.buttons.saveChanges\": \"שמור שינויים\",\n    \"globals.buttons.toggleSelect\": \"החלף בחירה\",\n    \"globals.buttons.view\": \"צפה\",\n    \"globals.days.0\": \"ראשון\",\n    \"globals.days.1\": \"ראשון\",\n    \"globals.days.2\": \"שני\",\n    \"globals.days.3\": \"שלישי\",\n    \"globals.days.4\": \"רביעי\",\n    \"globals.days.5\": \"חמישי\",\n    \"globals.days.6\": \"שישי\",\n    \"globals.days.7\": \"שבת\",\n    \"globals.fields.createdAt\": \"נוצר\",\n    \"globals.fields.description\": \"תיאור\",\n    \"globals.fields.id\": \"מזהה\",\n    \"globals.fields.name\": \"שם\",\n    \"globals.fields.status\": \"סטטוס\",\n    \"globals.fields.type\": \"סוג\",\n    \"globals.fields.updatedAt\": \"עודכן\",\n    \"globals.fields.uuid\": \"מזהה (UUID)\",\n    \"globals.messages.confirm\": \"האם אתה בטוח?\",\n    \"globals.messages.confirmDelete\": \"למחוק {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"לבטל את השינויים?\",\n    \"globals.messages.copied\": \"הועתק\",\n    \"globals.messages.created\": \"\\\"{name}\\\" נוצר\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" נמחק\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) נמחקו\",\n    \"globals.messages.done\": \"הושלם\",\n    \"globals.messages.emptyState\": \"אין פה כלום..\",\n    \"globals.messages.errorCreating\": \"שגיאה ביצירת {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"שגיאה במחיקת {name}: {error}\",\n    \"globals.messages.errorFetching\": \"שגיאה באחזור {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"מזהה אחד יותר שגוי: {error}\",\n    \"globals.messages.errorUUID\": \"שגיאה ביצירת UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"שגיאה בעדכון {name}: {error}\",\n    \"globals.messages.internalError\": \"שגיאת שרת כללית\",\n    \"globals.messages.invalidData\": \"נתונים לא חוקיים\",\n    \"globals.messages.invalidFields\": \"שדות לא חוקיים: {name}\",\n    \"globals.messages.invalidID\": \"מזהים לא חוקיים\",\n    \"globals.messages.invalidUUID\": \"UUID   לא תקין (ים)\",\n    \"globals.messages.invalidValue\": \"ערך לא חוקי\",\n    \"globals.messages.missingFields\": \"חסרים שדות: {name}\",\n    \"globals.messages.notFound\": \"{name} לא נמצא\",\n    \"globals.messages.numSelected\": \"{num} נבחרו\",\n    \"globals.messages.passwordChange\": \"הזן ערך לשינוי\",\n    \"globals.messages.passwordChangeFull\": \"נא לנקות ולהזין שוב את הסיסמה המלאה ב־'{name}'.\",\n    \"globals.messages.permissionDenied\": \"הרשאה נדחתה: {name}\",\n    \"globals.messages.selectAll\": \"בחר את כל {num}\",\n    \"globals.messages.slowQueriesCached\": \"שאילתות איטיות מוקפאות במטמון. חלק מהמספרים בדף זה לא יהיו מעודכנים.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" עודכן\",\n    \"globals.months.1\": \"ינואר\",\n    \"globals.months.10\": \"אוקטובר\",\n    \"globals.months.11\": \"נובמבר\",\n    \"globals.months.12\": \"דצמבר\",\n    \"globals.months.2\": \"פברואר\",\n    \"globals.months.3\": \"מרץ\",\n    \"globals.months.4\": \"אפריל\",\n    \"globals.months.5\": \"מאי\",\n    \"globals.months.6\": \"יוני\",\n    \"globals.months.7\": \"יולי\",\n    \"globals.months.8\": \"אוגוסט\",\n    \"globals.months.9\": \"ספטמבר\",\n    \"globals.states.off\": \"כבוי\",\n    \"globals.terms.all\": \"הכל\",\n    \"globals.terms.analytics\": \"סטטיסטיקות\",\n    \"globals.terms.attribs\": \"מאפיינים\",\n    \"globals.terms.bounce\": \"להקפיץ | קופץ\",\n    \"globals.terms.bounces\": \"קופץ\",\n    \"globals.terms.campaign\": \"קמפיין | קמפיינים\",\n    \"globals.terms.campaigns\": \"קמפיינים\",\n    \"globals.terms.dashboard\": \"לוח בקרה\",\n    \"globals.terms.day\": \"יום | ימים\",\n    \"globals.terms.hour\": \"שעה | שעות\",\n    \"globals.terms.import\": \"ייבוא\",\n    \"globals.terms.list\": \"רשימה | רשימות\",\n    \"globals.terms.lists\": \"רשימות\",\n    \"globals.terms.media\": \"מדיה | מדיה\",\n    \"globals.terms.messenger\": \"שולח | שולחים\",\n    \"globals.terms.messengers\": \"שולחים\",\n    \"globals.terms.minute\": \"דקה | דקות\",\n    \"globals.terms.month\": \"חודש | חודשים\",\n    \"globals.terms.new\": \"חדש\",\n    \"globals.terms.none\": \"אף אחד\",\n    \"globals.terms.second\": \"שניה | שניות\",\n    \"globals.terms.settings\": \"הגדרות\",\n    \"globals.terms.subscriber\": \"מנוי | מנויים\",\n    \"globals.terms.subscribers\": \"רשומים\",\n    \"globals.terms.subscriptions\": \"מנוי | מנויים\",\n    \"globals.terms.tag\": \"תגית | תגיות\",\n    \"globals.terms.tags\": \"תגיות\",\n    \"globals.terms.template\": \"תבנית | תבניות\",\n    \"globals.terms.templates\": \"תבניות\",\n    \"globals.terms.tx\": \"עסקה | עסקה\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"משתמש | משתמשים\",\n    \"globals.terms.users\": \"משתמשים\",\n    \"globals.terms.year\": \"שנה | שנים\",\n    \"import.alreadyRunning\": \"היבוא כבר פועל. יש להמתין שיסתיים או לעצור אותו לפני שינוי נוסף.\",\n    \"import.blocklist\": \"חסום רשימה\",\n    \"import.csvDelim\": \"CSV מפריד\",\n    \"import.csvDelimHelp\": \"מפריד ברירת מחדל, פסיק.\",\n    \"import.csvExample\": \"דוגמא לCSV\",\n    \"import.csvFile\": \"קובץ CSV או ZIP\",\n    \"import.csvFileHelp\": \"לחץ או גרור לכאן קובץ CSV או ZIP\",\n    \"import.errorCopyingFile\": \"שגיאה בהעתקת קובץ: {error}\",\n    \"import.errorProcessingZIP\": \"שגיאה בעיבוד קובץ ZIP: {error}\",\n    \"import.errorStarting\": \"שגיאה בהתחלת הייבוא: {error}\",\n    \"import.importDone\": \"הושלם\",\n    \"import.importStarted\": \"הייבוא התחיל\",\n    \"import.instructions\": \"הוראות\",\n    \"import.instructionsHelp\": \"ניתן לטעון קובץ CSV או קובץ ZIP שמכיל תוכן CSV אחד ליבוא בצורה כוללת מנויים. הקובץ CSV יכול לכלול את הכותרות הבאות עם שמות העמודות המדויקים. המאפיינים (אופציונלי) צריכים להיות במבנה JSON חוקי עם הצורך בדפיסות גרשיים מופרדות.\",\n    \"import.invalidDelim\": \"המפריד צריך להיות תו בודד.\",\n    \"import.invalidFile\": \"קובץ לא חוקי: {error}\",\n    \"import.invalidMode\": \"מצב לא חוקי\",\n    \"import.invalidParams\": \"פרמטרים לא חוקיים: {error}\",\n    \"import.invalidSubStatus\": \"סטטוס מנוי לא חוקי.\",\n    \"import.listSubHelp\": \"רשימות לרישום.\",\n    \"import.mode\": \"מצב\",\n    \"import.overwriteSubStatus\": \"החלף מצב מנוי\",\n    \"import.overwriteSubStatusHelp\": \"החלף מצב של מנויים קיימים ברשימה\",\n    \"import.overwriteUserInfo\": \"החלף מידע משתמש\",\n    \"import.overwriteUserInfoHelp\": \"החלף שם ותכונות של מנויים קיימים\",\n    \"import.recordsCount\": \"{num} / {total} רשומות\",\n    \"import.stopImport\": \"עצור ייבוא\",\n    \"import.subscribe\": \"הירשם\",\n    \"import.subscribeWarning\": \"שגר את עורך למערכת והרשם שוב לעיתוי כתובת אימייל שבוטלה. האם להמשיך?\",\n    \"import.title\": \"ייבוא מנויים\",\n    \"import.upload\": \"העלאה\",\n    \"lists.archived\": \"בארכיון\",\n    \"lists.archivedHelp\": \"הארכוון מסתיר רשימות מדף הרשימות, קמפיינים וטפסים ציבוריים. ניתן לבטל את הארכוון בכל עת. זה שימושי להסתרת רשימות ישנות ובעלות שימוש נדיר.\",\n    \"lists.confirmDelete\": \"האם אתה בטוח? זה לא מוחק את המנויים.\",\n    \"lists.confirmSub\": \"אשר את המנויים עבור {name}\",\n    \"lists.invalidName\": \"שם לא חוקי\",\n    \"lists.newList\": \"רשימה חדשה\",\n    \"lists.optin\": \"רישום\",\n    \"lists.optinHelp\": \"הרישום הכפול משלח למנוי שאלה לאימות. ברשימות של הרישום הכפול, קמפיינים נשלחים רק למנויים שאומתו.\",\n    \"lists.optinTo\": \"הצטרפות ל {name}\",\n    \"lists.optins.double\": \"הצטרפות כפולה\",\n    \"lists.optins.single\": \"רישום יחיד\",\n    \"lists.sendCampaign\": \"שלח קמפיין\",\n    \"lists.sendOptinCampaign\": \"שליחת קמפיין רישום\",\n    \"lists.type\": \"סוג\",\n    \"lists.typeHelp\": \"הרשימות הציבוריות פתוחות לכל הגורם והן יכולות להופיע בעמודים ציבוריים כמו עמוד ניהול מינויים.\",\n    \"lists.types.private\": \"פרטי\",\n    \"lists.types.public\": \"ציבואי\",\n    \"logs.title\": \"לוגים\",\n    \"maintenance.database.title\": \"מסד נתונים\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE משחררת את האחסון המשמש לשורות שנמחקו וישפר משמעותית את ביצועי מסד הנתונים במסדי נתונים גדולים. חשוב: למסדי נתונים גדולים, זו פעולה איטית וחוסמת. קבע לתוך עתות כבות חוצץ.\",\n    \"maintenance.help\": \"קיימות פעולות שעלולות לדרוש זמן להשלמתן בהתאם לכמות הנתונים.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"מנויים שלא אומתו\",\n    \"maintenance.olderThan\": \"ישן מ\",\n    \"maintenance.orphanHelp\": \"היתומים = מנויים ללא רשימות\",\n    \"maintenance.title\": \"תחזוקה\",\n    \"maintenance.unconfirmedSubs\": \"מינויים לא מאושרים לפני יותר מ-{name} ימים.\",\n    \"media.errorReadingFile\": \"שגיאה בקריאת הקובץ: {error}\",\n    \"media.errorResizing\": \"שגיאה בשינוי גודל התמונה: {error}\",\n    \"media.errorSavingThumbnail\": \"שגיאה בשמירת התמונה הקטנה: {error}\",\n    \"media.errorUploading\": \"שגיאה בהעלאת הקובץ: {error}\",\n    \"media.invalidFile\": \"קובץ לא חוקי: {error}\",\n    \"media.title\": \"מדיה\",\n    \"media.unsupportedFileType\": \"סוג קובץ לא נתמך ({type})\",\n    \"media.upload\": \"העלאה\",\n    \"media.uploadHelp\": \"לחץ או גרור לכאן תמונות\",\n    \"menu.allCampaigns\": \"כל הקמפיינים\",\n    \"menu.allLists\": \"כל הרשימות\",\n    \"menu.allSubscribers\": \"כל הרשומים\",\n    \"menu.dashboard\": \"לוח בקרה\",\n    \"menu.forms\": \"טפסים\",\n    \"menu.import\": \"ייבוא\",\n    \"menu.logs\": \"לוגים\",\n    \"menu.maintenance\": \"תחזוקה\",\n    \"menu.media\": \"מדיה\",\n    \"menu.newCampaign\": \"צור חדש\",\n    \"menu.settings\": \"הגדרות\",\n    \"public.archiveEmpty\": \"אין הודעות בארכיון.\",\n    \"public.archiveTitle\": \"ארכיון רשימת תפוצה\",\n    \"public.blocklisted\": \"יצא מרשימת התפוטרים לצמיתות.\",\n    \"public.campaignNotFound\": \"ההודעה לא נמצאה.\",\n    \"public.confirmOptinSubTitle\": \"אשר מינוי\",\n    \"public.confirmSub\": \"אשר מינוי\",\n    \"public.confirmSubInfo\": \"נוספת לרשימות הבאות:\",\n    \"public.confirmSubTitle\": \"אישור\",\n    \"public.dataRemoved\": \"המינויים שלך וכל הנתונים המשוייכים הוסרו.\",\n    \"public.dataRemovedTitle\": \"נתונים הוסרו\",\n    \"public.dataSent\": \"הנתונים שלך נשלחו אליך כעת לאימייל כקובץ מצורך.\",\n    \"public.dataSentTitle\": \"הנתונים נשלחו לאימייל.\",\n    \"public.errorFetchingCampaign\": \"שגיאה באחזור הודעת האימייל.\",\n    \"public.errorFetchingEmail\": \"הודעת האימייל לא נמצאה.\",\n    \"public.errorFetchingLists\": \"שגיאה באחזור הרשימות, נא לנסות שוב.\",\n    \"public.errorProcessingRequest\": \"שגיאה בעיבוד הבקשה, נא לנסות שוב.\",\n    \"public.errorTitle\": \"שגיאה\",\n    \"public.invalidCaptcha\": \"קאפצ׳ה לא חוקי.\",\n    \"public.invalidFeature\": \"תכונה זו אינה זמינה.\",\n    \"public.invalidLink\": \"קישור לא חוקי\",\n    \"public.managePrefs\": \"ניהול העדפות\",\n    \"public.managePrefsUnsub\": \"בטל את הסימון של רשימות המינוי המעוניינות להתפטר מהן.\",\n    \"public.noListsAvailable\": \"אין רשימות זמינות למינוי.\",\n    \"public.noListsSelected\": \"לא נבחרו רשימות תקינות למינוי.\",\n    \"public.noSubInfo\": \"אין מידע לאימות מנויים.\",\n    \"public.noSubTitle\": \"אין מנויים\",\n    \"public.notFoundTitle\": \"לא נמצא\",\n    \"public.poweredBy\": \"מופעל ע״י\",\n    \"public.prefsSaved\": \"ההעדפות שלך נשמרו.\",\n    \"public.privacyConfirmWipe\": \"האם אתה בטוח שתרצה למחוק את כל נתוני המינוי לצמיתות?\",\n    \"public.privacyExport\": \"ייצא את הנתונים שלך\",\n    \"public.privacyExportHelp\": \"עותק של הנתונים שלך יישלח לך בדואר אלקטרוני.\",\n    \"public.privacyTitle\": \"פרטיות ונתונים\",\n    \"public.privacyWipe\": \"מחיקת הנתונים שלך\",\n    \"public.privacyWipeHelp\": \"מחק את המינויים שלך ואת כל הנתונים המולוות להם לצמיתות.\",\n    \"public.sub\": \"רישום\",\n    \"public.subConfirmed\": \"נרשמת בהצלחה.\",\n    \"public.subConfirmedTitle\": \"מאושר\",\n    \"public.subName\": \"שם (לא חובה)\",\n    \"public.subNotFound\": \"המינוי לא נמצא.\",\n    \"public.subOptinPending\": \"נשלחה לך הודעת דואר אלקטרוני על מנת לאמת את המינוי שלך/יך.\",\n    \"public.subPrivateList\": \"רשימה פרטית\",\n    \"public.subTitle\": \"רישום\",\n    \"public.unsub\": \"ביטול רישום\",\n    \"public.unsubFull\": \"עצור את ההרשמה לכל דואר אלקטרוני עתידי.\",\n    \"public.unsubHelp\": \"האם ברצונך להפסיק את הרישום לרשימת התפוצה הזו?\",\n    \"public.unsubTitle\": \"הפסק את ההרשמה\",\n    \"public.unsubbedInfo\": \"בצעת הפסקת ההרשמה בהצלחה.\",\n    \"public.unsubbedTitle\": \"הרשמתך בוטלה\",\n    \"public.unsubscribeTitle\": \"הרשמה לרשימת דיוור\",\n    \"settings.appearance.adminHelp\": \"CSS מותאם אישית שייחל לממשק הניהול.\",\n    \"settings.appearance.adminName\": \"ניהול\",\n    \"settings.appearance.customCSS\": \"CSS מותאם\",\n    \"settings.appearance.customJS\": \"JavaScript מותאם\",\n    \"settings.appearance.name\": \"עיצוב\",\n    \"settings.appearance.publicHelp\": \"CSS ו־JavaScript מותאמים אישית שייחלו לעמודים הציבוריים.\",\n    \"settings.appearance.publicName\": \"ציבורי\",\n    \"settings.bounces.action\": \"פעולה\",\n    \"settings.bounces.blocklist\": \"רשימה שחורה\",\n    \"settings.bounces.count\": \"ספירת השטחות\",\n    \"settings.bounces.countHelp\": \"מספר השטחות למנוי\",\n    \"settings.bounces.enable\": \"הפעלת תהליך החזרת הודעות שטחות\",\n    \"settings.bounces.enableForwardemail\": \"אפשר העברת מייל\",\n    \"settings.bounces.enableMailbox\": \"הפעלת תיבת הודעות שטחות\",\n    \"settings.bounces.enablePostmark\": \"הפעלת Postmark\",\n    \"settings.bounces.enableSES\": \"הפעלת SES\",\n    \"settings.bounces.enableSendgrid\": \"הפעלת SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"הפעלת Webhooks השטחות\",\n    \"settings.bounces.enabled\": \"מופעל\",\n    \"settings.bounces.folder\": \"תיקייה\",\n    \"settings.bounces.folderHelp\": \"שם התיקייה של שורת הכתובת החדשה שמתקשרת עם שימוש. לדוגמה: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"מפתח העברת מייל\",\n    \"settings.bounces.invalidScanInterval\": \"מרווח הסריקה לשטחות צריך להיות מינימום של דקה אחת.\",\n    \"settings.bounces.name\": \"השטחות\",\n    \"settings.bounces.none\": \"אין\",\n    \"settings.bounces.postmarkPassword\": \"סיסמת Postmark\",\n    \"settings.bounces.postmarkUsername\": \"שם משתמש ה־Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark מאפשר לך להפעיל הפרמה בסיסית לכבות הפקת מידע. מומלץ להזין את אותם פרטים כאן ובהגדרות הגרורה של הפרמה שלך ב־Postmark.\",\n    \"settings.bounces.scanInterval\": \"מרווח הסריקה\",\n    \"settings.bounces.scanIntervalHelp\": \"המרווח שבו תיקיית ההודעות שטחות יוסרת כדי לבדוק ולשחזר (s לשנייה, m לדקה).\",\n    \"settings.bounces.sendgridKey\": \"מפתח SendGrid\",\n    \"settings.bounces.type\": \"סוג\",\n    \"settings.bounces.username\": \"שם משתמש\",\n    \"settings.confirmRestart\": \"נא להשהות את כל הקמפיינים הפעילים לפני הפעלה מחדש?\",\n    \"settings.duplicateMessengerName\": \"תושבת שם מורה כפול: {name}\",\n    \"settings.errorEncoding\": \"שגיאה בהצפנת ההגדרות: {error}\",\n    \"settings.errorNoSMTP\": \"יש להפעיל לפחות בלוקSMTP אחת\",\n    \"settings.general.adminNotifEmails\": \"דואר אלקטרוני של התראות מנהל\",\n    \"settings.general.adminNotifEmailsHelp\": \"רשימת הודעות אלקטרוניות מופרדות בפסיקים שבין כתובות דואר אלקטרוני הולכות למנהל כגון חדשות עדכונים בהטמעות, הודעות קמפיין שהסתיימו, כשלים ועוד.\",\n    \"settings.general.checkUpdates\": \"בדוק עדכונים\",\n    \"settings.general.checkUpdatesHelp\": \"בדיקות תקופתיות עבור גרסות אפליקציה חדשות והתראות גרסה.\",\n    \"settings.general.enablePublicArchive\": \"הפעלת הארכיון הציבורי של רשימות התפוצה\",\n    \"settings.general.enablePublicArchiveHelp\": \"פרסם קמפיינים בהם מופעל הארכיון על האתר הציבורי.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"הצג תוכן מלא בפיד ה־RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"הצג תוכן מלא של הדואר האלקטרוני ב־RSS. אם הופעל, רק האלמנטים של הכותרת והקישור יוצגו.\",\n    \"settings.general.enablePublicSubPage\": \"הפעלת הדף הציבורי לרישום\",\n    \"settings.general.enablePublicSubPageHelp\": \"הצג דף רישום ציבורי עם כל הרשימות הציבוריות כדי שאנשים יוכלו להירשם.\",\n    \"settings.general.faviconURL\": \"קישור אירוע בינלאומי (Favicon)\",\n    \"settings.general.faviconURLHelp\": \"(אופציונלי) URL מלא לקישור אירוע בינלאומי (Favicon) הסטטי שיתצוגן בתצוגה למשתמשים כמו עמוד ההפסקה מהתפוצה.\",\n    \"settings.general.fromEmail\": \"דואר אלקטרוני ברירת מחדל עבור מאין השולח\",\n    \"settings.general.fromEmailHelp\": \"דואר אלקטרוני ברירת מחדל עבור מאין השולח המוצג על הודעות הקמפיין היוצאות. ניתן לשנות זאת בקמפיין.\",\n    \"settings.general.language\": \"שפה\",\n    \"settings.general.logoURL\": \"קישור ללוגו (סמל התוכנה)\",\n    \"settings.general.logoURLHelp\": \"(אופציונלי) URL מלא ללוגו הסטטי שסמל התוכנה והופצת ההפסקה יוצג אותו למשתמשים כמו עמוד ההפסקה מהתפוצה.\",\n    \"settings.general.name\": \"כללי\",\n    \"settings.general.rootURL\": \"URL ראשי\",\n    \"settings.general.rootURLHelp\": \"כתובת האתר הציבורית של ההתקנה (ללא סלש מאחרי הסיומת).\",\n    \"settings.general.sendOptinConfirm\": \"שליחת אישור הרישום\",\n    \"settings.general.sendOptinConfirmHelp\": \"שליחת הודעת אישור הרישום דרך הטופס הציבורי או דרך הוספתה על ידי המנהל.\",\n    \"settings.general.siteName\": \"שם אתר\",\n    \"settings.invalidMessengerName\": \"שם מסיר פצליי.\",\n    \"settings.mailserver.authProtocol\": \"פרוטוקול אימות\",\n    \"settings.mailserver.host\": \"מארח\",\n    \"settings.mailserver.hostHelp\": \"כתובת שרת SMTP\",\n    \"settings.mailserver.idleTimeout\": \"זמן אי פעילות\",\n    \"settings.mailserver.idleTimeoutHelp\": \"זמן המתנה לפענוח פעילות נוספת בחיבור לפני סגירתו והסרתו מהקופסה (s לשנייה, m לדקה).\",\n    \"settings.mailserver.maxConns\": \"מקסימום חיבורים\",\n    \"settings.mailserver.maxConnsHelp\": \"למספר החיבורים המרובים הממוקדים לשרת.\",\n    \"settings.mailserver.nameHelp\": \"שם ייחודי אופציונלי לשרת SMTP. חייב להתחיל בקידומת email-. הגדרה זו מאפשרת בחירה ספציפית של השרת עבור קמפיין. לדוגמה: email-primary-server. אותיות, ספרות וקו מפריד.\",\n    \"settings.mailserver.password\": \"סיסמא\",\n    \"settings.mailserver.passwordHelp\": \"יש להזין כדי לשנות\",\n    \"settings.mailserver.port\": \"פורט\",\n    \"settings.mailserver.portHelp\": \"יציאת השרת SMTP.\",\n    \"settings.mailserver.skipTLS\": \"דלג על אימות TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"דלג על הבדיקה של השרת בזמן התקשורת SSL.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"הצפנת ה- TLS/SSL. STARTTLS בשימוש נרחב.\",\n    \"settings.mailserver.username\": \"שם משתמש\",\n    \"settings.mailserver.waitTimeout\": \"זמן המתנה\",\n    \"settings.mailserver.waitTimeoutHelp\": \"זמן המתנה לפענוח פעילות נוספת בחיבור לפני סגירתו והסרתו מהקופסה (s לשנייה, m לדקה).\",\n    \"settings.maintenance.cron\": \"מרווח Cron\",\n    \"settings.media.provider\": \"ספק\",\n    \"settings.media.s3.bucket\": \"דלור סלון\",\n    \"settings.media.s3.bucketPath\": \"נתיב דלור סלון\",\n    \"settings.media.s3.bucketPathHelp\": \"נתיב בתוך דלור הסלון אליו יעלו קבצים. ברירת המחדל היא /\",\n    \"settings.media.s3.bucketType\": \"סוג דלור סלון\",\n    \"settings.media.s3.bucketTypePrivate\": \"פרטי\",\n    \"settings.media.s3.bucketTypePublic\": \"ציבורי\",\n    \"settings.media.s3.key\": \"מפתח גישה של AWS\",\n    \"settings.media.s3.publicURL\": \"כתובת URL ציבורית מותאמת אישית (אופציונלי)\",\n    \"settings.media.s3.publicURLHelp\": \"תחום S3 מותאם אישית לשימוש בקישורים של תמונה במקום כתובת S3 המשתנה ברירת המחדל.\",\n    \"settings.media.s3.region\": \"איזור\",\n    \"settings.media.s3.secret\": \"סוד כניסה AWS\",\n    \"settings.media.s3.uploadExpiry\": \"תפוגת עלייה\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Optional) Specify TTL (in seconds) for the generated presigned URL. Only applicable for private buckets (s, m, h, d for seconds, minutes, hours, days).\",\n    \"settings.media.s3.url\": \"כתובת תשתית S3\",\n    \"settings.media.s3.urlHelp\": \"אפשר לשנות רק אם משתמשים בתשתית S3 הזרה מותאמת אישית כמו Minio.\",\n    \"settings.media.title\": \"העלאת קבצים\",\n    \"settings.media.upload.extensions\": \"סיומת קובץ מאושרת\",\n    \"settings.media.upload.extensionsHelp\": \"הוסף * להרשות כל הסיומות\",\n    \"settings.media.upload.path\": \"נתיב העלאה\",\n    \"settings.media.upload.pathHelp\": \"נתיב הספרייה שבה יועלו הקבצים.\",\n    \"settings.media.upload.uri\": \"URI העלאה\",\n    \"settings.media.upload.uriHelp\": \"URI העלאה הגלוי לעולם החיצוני. התקיות המעולות לתוך upload_path יהיו גלויות באופן ציבורי תחת {root_url}, לדוגמה, https://listmonk.example.com/uploads.\",\n    \"settings.messengers.maxConns\": \"מקסימום בקשות מקבילות\",\n    \"settings.messengers.maxConnsHelp\": \"מספר חיבורים מקבילים רבים ביותר לשרת.\",\n    \"settings.messengers.messageSaved\": \"הגדרות נשמרו. מרענן את אפליקציה...\",\n    \"settings.messengers.name\": \"שליחים\",\n    \"settings.messengers.nameHelp\": \"לדוגמה: sms שלי. אלפאנומרי / מקף.\",\n    \"settings.messengers.password\": \"סיסמא\",\n    \"settings.messengers.retries\": \"ניסיונות повторы\",\n    \"settings.messengers.retriesHelp\": \"מספר הניסיונות בכשל הודעה.\",\n    \"settings.messengers.skipTLSHelp\": \"דלג על הבדיקה של שמות המארחים בתעודת התקנות HTTPS.\",\n    \"settings.messengers.timeout\": \"זמן אי פעילות\",\n    \"settings.messengers.timeoutHelp\": \"זמן המתנה לפענוח פעילות נוספת בחיבור לפני סגירתו והסרתו מהקופסה (s לשנייה, m לדקה).\",\n    \"settings.messengers.url\": \"כתובת (URL)\",\n    \"settings.messengers.urlHelp\": \"כתובת URL ריבות השליחה.\",\n    \"settings.messengers.username\": \"שם משתמש\",\n    \"settings.needsRestart\": \"השינויים בהגדרות יחדו עם השהיית קמפיינים נכונים חדשים והפעל את אפליקציית ההפעלה.\",\n    \"settings.performance.batchSize\": \"מס יחידות בפסה\",\n    \"settings.performance.batchSizeHelp\": \"מס המנויים לשימוש מגרסת מסד הנתונים בשלב יחיד בלבד. שלב במסד הנתונים מושלם כולל מנויים מהמסד, שליחת הודעות אליהם והמשכת השלב המוסכמת לשלב הבא למשל מנויים נוספים ממסד הנתונים. הערך המומלץ מעלה מכותרת הרמות הנישפות המרבית (תנועה * קצב הודעות).\",\n    \"settings.performance.cacheSlowQueries\": \"הקפאת שאילתות מסד הנתונים האיטיות במטמון\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"רק להפעיל זאת על בסיסי נתונים גדולים שהם משתפצים באופן מוחלט. מחזיק במטמון ספירת מנויים ברשימה, תוצאות לוח מחוונים וכדומה.\",\n    \"settings.performance.concurrency\": \"דרגת תוחלת\",\n    \"settings.performance.concurrencyHelp\": \"שלב הפועל ביותר המטפלים מזמן אחד שירבים לשלח הודעות בתקופה יחידה.\",\n    \"settings.performance.maxErrThreshold\": \"רמת ה-שגיא המרבית\",\n    \"settings.performance.maxErrThresholdHelp\": \"מספר השגיאות (יכולות להיות: תקיעות בפעילות SMTP במשך הזמן שנמצאים) שההפעלה המתקיימת נותנת להן עד לסיום כדי שתתפוס עבודה או תערוך ידנית. הגדרת 0 מבטלת את ההשהיה לעניין.\",\n    \"settings.performance.messageRate\": \"צורת הודעה\",\n    \"settings.performance.messageRateHelp\": \"מספר הודעות מירבי היוצאות לשניה לפועל הבודד בפעם, בנקודה בתוך שניה. אם ביצועים אוטומטיים קיימים עם סייונים בקיבול הטכנולוגי המקצועי, במידה בהישג יעיל מספר הודעות, הודעות executived במהירות סופית שלא הומצאו מעגל הגבול נכשל.\",\n    \"settings.performance.name\": \"ביצועים\",\n    \"settings.performance.slidingWindow\": \"הפעלת הגבלת חלון המסגת\",\n    \"settings.performance.slidingWindowDuration\": \"זמן\",\n    \"settings.performance.slidingWindowDurationHelp\": \"משך התקופה שבה יחידות המסגת פעילות (m לדקה, h לשעה).\",\n    \"settings.performance.slidingWindowHelp\": \"הגבל את כמות ההודעות הפועלות בזמן מוגבל. בהגעה לגבול, ההודעות יעצרו משליחה עד לניקוי התקופה.\",\n    \"settings.performance.slidingWindowRate\": \"מספר כותרות מקסימלי\",\n    \"settings.performance.slidingWindowRateHelp\": \"הגבלת מספר ההודעות שנשלחות בתאוריה בזמן מינון התקופה.\",\n    \"settings.privacy.allowBlocklist\": \"אישור שמירת אפשורית ל-Blocklisting\",\n    \"settings.privacy.allowBlocklistHelp\": \"ניתן למנויים להפסיק את כל קבלת הדואר האלקטרוני ולמסמן את עצמם כבלקות מתפוצת?\",\n    \"settings.privacy.allowExport\": \"אישור בחידוש\",\n    \"settings.privacy.allowExportHelp\": \"ניתן למנויים ליצור ייצוא של הנתונים שנאספו עליהם?\",\n    \"settings.privacy.allowPrefs\": \"אישור שינויים של בחירות\",\n    \"settings.privacy.allowPrefsHelp\": \"ניתן למנויים לשתף פעולה בשינוי בחירות כמו שמותיהם ורישומי המנויים הרבים.\",\n    \"settings.privacy.allowWipe\": \"אישור מחיקה\",\n    \"settings.privacy.allowWipeHelp\": \"ניתן למנויים למחוק את עצמם כולל מינויים וכל הנתונים הקשורים להם ממסד הנתונים. תוספות חישוב גם מסירות הודעות וחיצונית בזמו שנשארו (ללא subscriber משוייך אליהם) בזמן מדידת נתונים כדי שלא יתפקעו נתונים וניתוחים.\",\n    \"settings.privacy.domainAllowlist\": \"רשימת דומיינים מאושרת\",\n    \"settings.privacy.domainAllowlistHelp\": \"רק כתובות דואר עם הדומיינים האלה מורשים להירשם. הקלד דומיין אחד בכל שורה, לדוגמה: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"רשימת החסימה\",\n    \"settings.privacy.domainBlocklistHelp\": \"כתובות דואר אלקטרוני באמצעות שמן נאסר על הרשות להרשים. שמות התחומים יבשים על כל שורה. לדוגמה: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"מעקב אישי של המנויים\",\n    \"settings.privacy.individualSubTrackingHelp\": \"רישום תצורה יחידה למוניטים השליחים ולחיצה. בתיבת סימונים שיגורה, המודולים ימשיכו כאב צמיחה גבול תצורה יחידה.\",\n    \"settings.privacy.listUnsubHeader\": \"כלול את הכותרת 'הרשם לרשימה' ב־'List-Unsubscribe'\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"כותרות המערכת שמאפשרות ללקוחות הדואר האלקטרוני ללחוץ לביטול הרישום.\",\n    \"settings.privacy.name\": \"פרטיות\",\n    \"settings.privacy.recordOptinIP\": \"תצורת דין רישום IP הפעילה\",\n    \"settings.privacy.recordOptinIPHelp\": \"תיחום כתובת ה־IP של רישום הפעילה החזקה במאפייני המנוי.\",\n    \"settings.restart\": \"הפעלה מחדש\",\n    \"settings.security.CORSDomains\": \"מקורות מותרים\",\n    \"settings.security.CORSDomainsHelp\": \"אפשר גישה ל-API endpoints דרך Javascript בדפדפן מתחומים חיצוניים. הזן תחום אחד בכל שורה (למשל: https://example.com). השאר ריק כדי להשבית CORS או הוסף * כדי לאפשר הכל (לא מומלץ).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"יצירת משתמשים אוטומטית\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"יצירת משתמש אוטומטית בעת ההתחברות הראשונה אם החשבון לא קיים.\",\n    \"settings.security.OIDCClientID\": \"זהות לקוח (Client ID)\",\n    \"settings.security.OIDCClientSecret\": \"סוד לקוח (Client secret)\",\n    \"settings.security.OIDCDefaultListRole\": \"תפקיד רשימה ברירת מחדל\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"תפקיד ברירת מחדל שיוקצה למשתמשים שנוצרים אוטומטית מ-OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"תפקיד משתמש ברירת מחדל\",\n    \"settings.security.OIDCHelp\": \"הפעלת התחברות OpenID Connect OAuth2 דרך ספק OAuth.\",\n    \"settings.security.OIDCName\": \"שם הספק\",\n    \"settings.security.OIDCRedirectURL\": \"כתובת URL למפנה של ספק ה- oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"זה לא נראה ככתובת URL פעילה. שנה את כתובת השורש בהגדרות 'כלליות'.\",\n    \"settings.security.OIDCURL\": \"כתובת URL של ספק\",\n    \"settings.security.OIDCWarning\": \"כאשר OIDC מופעל, התחברות בברירת מחדל בעזרת סיסמה מבוטלת. הגדרות שגויות עלולות לנעול אותך בחוץ.\",\n    \"settings.security.altchaComplexity\": \"מורכבות Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"ערכים גבוהים יותר מספקים אבטחה טובה יותר אך פתרון איטי יותר (1000-1000000).\",\n    \"settings.security.captchaKey\": \"מפתח אתר של hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"אין להתרשם הפעלה על מנת לקבל את מפתח המקוד והסוד שלך.\",\n    \"settings.security.captchaSecret\": \"סוד מאיש הגזיון\",\n    \"settings.security.enableCaptcha\": \"הפעל קאפצ׳ה\",\n    \"settings.security.enableCaptchaHelp\": \"הפעלת CAPTCHA על טופס ההרשמה הציבורי.\",\n    \"settings.security.enableOIDC\": \"הפעל התחברות באמצעות OIDC\",\n    \"settings.security.name\": \"אבטחה\",\n    \"settings.smtp.customHeaders\": \"כותרות מותאמות אישית\",\n    \"settings.smtp.customHeadersHelp\": \"מערך אופציונלי של כותרות הדואר האלקטרוני הנרשמות בכל הודעה הנשלחת מתוך השרת הזה. לדוגמה: [{\\\"X-Custom\\\": \\\"ערך\\\"}, {\\\"X-Custom2\\\": \\\"ערך\\\"}]\",\n    \"settings.smtp.enabled\": \"מופעל\",\n    \"settings.smtp.heloHost\": \"שם מארח HELO\",\n    \"settings.smtp.heloHostHelp\": \"אופציונלי. חלק מהשרתים בשימוש החייבים רשומת שמות ממשלה בשם המארח. הדיוק של MH גולל HELO משומש.\",\n    \"settings.smtp.name\": \" SMTP\",\n    \"settings.smtp.retries\": \"ניסיונות повторы\",\n    \"settings.smtp.retriesHelp\": \"מספר הניסיונות בכשל הודעה.\",\n    \"settings.smtp.sendTest\": \"שלח אימייל\",\n    \"settings.smtp.setCustomHeaders\": \"ערך כותרות מותאם אישית\",\n    \"settings.smtp.testConnection\": \"בדוק חיבור\",\n    \"settings.smtp.testEnterEmail\": \"הזן סיסמא לבדיקה\",\n    \"settings.smtp.toEmail\": \"לכתובת\",\n    \"settings.title\": \"הגדרות\",\n    \"settings.updateAvailable\": \"עדכון חדש {version} זמין.\",\n    \"subscribers.activity\": \"פעילות\",\n    \"subscribers.advancedQuery\": \"מתקדם\",\n    \"subscribers.advancedQueryHelp\": \"הביטוי הדו־לשוני הוא להשתמש בביטוי SQL חלקיאָני לחיפוש אחריות במאפיינים בעלי חיפוש מתקדם.\",\n    \"subscribers.attribsHelp\": \"האטריביוטים מוגדרים כמפתח JSON, לדוגמה:\",\n    \"subscribers.blocklistedHelp\": \"מנויים מהות מעוניינים באימייל שום גבול?\",\n    \"subscribers.confirmBlocklist\": \"שמירה ל- {num} מנויים ברשימה השחורה?\",\n    \"subscribers.confirmDelete\": \"מחיקה של {num} מנויים?\",\n    \"subscribers.confirmExport\": \"ייצוא של {num} מנויים?\",\n    \"subscribers.domainBlocklisted\": \"שם התחום של האימייל ניכר ברשימה השחורה.\",\n    \"subscribers.downloadData\": \"הורדת נתונים\",\n    \"subscribers.email\": \"כתובת אימייל\",\n    \"subscribers.emailExists\": \"כתובת האימייל קיימת.\",\n    \"subscribers.errorBlocklisting\": \"שגיאה בשמירת מנויים ברשימה השחורה: {error}\",\n    \"subscribers.errorNoIDs\": \"לא ניתנו מזהה.\",\n    \"subscribers.errorNoListsGiven\": \"לא ניתנו רשימות.\",\n    \"subscribers.errorPreparingQuery\": \"אירעה שגיאה בהכנת השאילתה של המנויים: {error}\",\n    \"subscribers.errorSendingOptin\": \"אירעה שגיאה בשליחת האישור של הרישום.\",\n    \"subscribers.export\": \"ייצוא\",\n    \"subscribers.invalidAction\": \"פעולה לא חוקית.\",\n    \"subscribers.invalidEmail\": \"אימייל לא חוקי.\",\n    \"subscribers.invalidJSON\": \"JSON לא תקין במאפיינים.\",\n    \"subscribers.invalidName\": \"שם לא חוקי.\",\n    \"subscribers.listChangeApplied\": \"השינוי הוחל ברשימה.\",\n    \"subscribers.lists\": \"רשימות\",\n    \"subscribers.listsHelp\": \"לא ניתן להסיר רשימות שממדו את עצמם.\",\n    \"subscribers.listsPlaceholder\": \"רשימות לרישום\",\n    \"subscribers.manageLists\": \"ניהול רשימות\",\n    \"subscribers.markUnsubscribed\": \"סמן כלא מנוי\",\n    \"subscribers.newSubscriber\": \"מנוי חדש\",\n    \"subscribers.numSelected\": \"נבחרו {num} מנויים\",\n    \"subscribers.optinSubject\": \"אישור הרשמה\",\n    \"subscribers.preconfirm\": \"אשר מנויים מראש\",\n    \"subscribers.preconfirmHelp\": \"אל תשלח הודעת אימייל לאישור ההצטרפות וסמן את כל המנויים כ׳רשומים׳.\",\n    \"subscribers.query\": \"שאילתה\",\n    \"subscribers.queryPlaceholder\": \"כתובת אימייל או שם\",\n    \"subscribers.reset\": \"איפוס\",\n    \"subscribers.selectAll\": \"בחר הכל {num}\",\n    \"subscribers.sendOptinConfirm\": \"שלח אישור הצטרפות\",\n    \"subscribers.sentOptinConfirm\": \"אישור הצטרפות נשלח\",\n    \"subscribers.status.blocklisted\": \"ברשימת החסימה\",\n    \"subscribers.status.confirmed\": \"מאושר\",\n    \"subscribers.status.enabled\": \"מופעל\",\n    \"subscribers.status.subscribed\": \"נרשם\",\n    \"subscribers.status.unconfirmed\": \"לא מאושר\",\n    \"subscribers.status.unsubscribed\": \"לא נרשם\",\n    \"subscribers.subscribersDeleted\": \"{num} רשומים נמחקו\",\n    \"templates.cantDeleteDefault\": \"לא ניתן למחוק תבנית לא קיימת או ברירת מחדל\",\n    \"templates.default\": \"ברירת מחדל\",\n    \"templates.dummyName\": \"קמפיין דמה\",\n    \"templates.dummySubject\": \"נושא קמפיין דמה\",\n    \"templates.errorCompiling\": \"שגיאה בהידור התבנית: {error}\",\n    \"templates.errorRendering\": \"שגיאה בהצגת הודעה: {error}\",\n    \"templates.fieldInvalidName\": \"אורך לא חוקי עבור שם.\",\n    \"templates.makeDefault\": \"הגדר כברירת מחדל\",\n    \"templates.newTemplate\": \"תבנית חדשה\",\n    \"templates.placeholderHelp\": \"התו מילוי תחבירי {placeholder} יש להופיע פעם יחידה בתבנית.\",\n    \"templates.preview\": \"תצוגה מקדימה\",\n    \"templates.rawHTML\": \"HTML גולמי\",\n    \"templates.subject\": \"נושא\",\n    \"templates.typeCampaignHTML\": \"קמפיין / HTML\",\n    \"templates.typeCampaignVisual\": \"קמפיין / חזותי\",\n    \"templates.typeTransactional\": \"טרנזקציונלי\",\n    \"users.apiOneTimeToken\": \"העתק עכשיו את אסימון גישה ל-API. לא יוצג שוב.\",\n    \"users.cantDeleteRole\": \"אין אפשרות למחוק תפקיד הנמצא בשימוש.\",\n    \"users.firstTime\": \"זוהי התקנה חדשה. בחר שם משתמש וסיסמה לחשבון הניהול העליון.\",\n    \"users.forgotPassword\": \"שכחת סיסמה?\",\n    \"users.invalidLogin\": \"התחברות או סיסמה לא תקינים\",\n    \"users.invalidPassword\": \"סיסמה לא חוקית\",\n    \"users.invalidRequest\": \"בקשת אימות לא חוקית\",\n    \"users.invalidResetLink\": \"קישור איפוס לא חוקי או שפג תוקפו\",\n    \"users.lastLogin\": \"התחברות אחרונה\",\n    \"users.listPerms\": \"הרשאות רשימות\",\n    \"users.listPermsWarning\": \"הרשאות ל-get_all או ל-manage_all מופעלות ומעקב אחרי הרשאות של הרשימות נמחק.\",\n    \"users.listRole\": \"תפקיד הרשימה | תפקיד הרשימות\",\n    \"users.listRoles\": \"תפקידי הרשימות\",\n    \"users.login\": \"התחברות\",\n    \"users.loginOIDC\": \"התחבר עם {name}\",\n    \"users.logout\": \"התנתקות\",\n    \"users.needSuper\": \"המשתמש(ים) לא יכולו להיות מעודכנים. חייב להיות לפחות משתמש אחד עם הרשאת מנהל עליון בתוקנה.\",\n    \"users.newListRole\": \"תפקיד חדש לרשימה\",\n    \"users.newPassword\": \"סיסמה חדשה\",\n    \"users.newUser\": \"משתמש חדש\",\n    \"users.newUserRole\": \"תפקיד משתמש חדש\",\n    \"users.password\": \"סיסמה\",\n    \"users.passwordEnable\": \"הפעל התחברות עם סיסמה\",\n    \"users.passwordMismatch\": \"הסיסמאות לא תואמות\",\n    \"users.passwordRepeat\": \"חזור על הסיסמה\",\n    \"users.perms\": \"הרשאות\",\n    \"users.profile\": \"פרופיל\",\n    \"users.resetLinkSent\": \"אם החשבון פעיל, תקבל דוא״ל לאיפוס סיסמה.\",\n    \"users.resetPassword\": \"אפס סיסמה\",\n    \"users.role\": \"תפקיד | תפקידים\",\n    \"users.roleGroup\": \"קבוצה\",\n    \"users.roles\": \"תפקידים\",\n    \"users.status.disabled\": \"מנוטרל\",\n    \"users.status.enabled\": \"מאופשר\",\n    \"users.totpCode\": \"קוד TOTP\",\n    \"users.totpCodeHelp\": \"הזן את הקוד בן 6 הספרות מאפליקציית האימות שלך\",\n    \"users.totpScanQR\": \"סרוק את קוד ה-QR באמצעות אפליקציית האימות שלך כגון Ente או Google Authenticator והזן את קוד ה-TOTP להלן.\",\n    \"users.totpSecret\": \"מפתח סודי\",\n    \"users.twoFA\": \"אימות דו-שלבי\",\n    \"users.twoFAAlreadyEnabled\": \"אימות דו-שלבי כבר מופעל.\",\n    \"users.twoFAEnabled\": \"אימות דו-שלבי פועל\",\n    \"users.twoFAEnabledDesc\": \"החשבון שלך מוגן עם {type} 2FA\",\n    \"users.twoFANotEnabled\": \"הפעל 2FA לאבטחה נוספת כאשר נכנסת לחשבון שלך.\",\n    \"users.type\": \"סוג\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"מנהל עליון\",\n    \"users.type.user\": \"משתמש\",\n    \"users.userRole\": \"תפקיד משתמש | תפקידי משתמש\",\n    \"users.userRoles\": \"תפקידי משתמש\",\n    \"users.username\": \"שם משתמש\",\n    \"users.usernameHelp\": \"שימוש בתהליך ההתחברות בעזרת סיסמה\"\n}\n"
  },
  {
    "path": "i18n/hu.json",
    "content": "{\n    \"_.code\": \"hu\",\n    \"_.name\": \"magyar (hu)\",\n    \"admin.errorMarshallingConfig\": \"Hiba a konfiguráció exportálásakor: {error}\",\n    \"analytics.count\": \"Darab\",\n    \"analytics.fromDate\": \"Ettől\",\n    \"analytics.invalidDates\": \"Érvénytelen kezdő vagy végdátum.\",\n    \"analytics.isUnique\": \"Darabszámok tagok szerint.\",\n    \"analytics.links\": \"Hivatkozások\",\n    \"analytics.nonUnique\": \"Darabszámok összesítve. A megtekintések és kattintások tagokhoz kötése ki van kapcsolva.\",\n    \"analytics.title\": \"Kimutatások\",\n    \"analytics.toDate\": \"Eddig\",\n    \"bounces.complaint\": \"Panasz\",\n    \"bounces.hard\": \"Kemény\",\n    \"bounces.soft\": \"Puha\",\n    \"bounces.source\": \"Forrás\",\n    \"bounces.unknownService\": \"Ismeretlen szolgáltatás.\",\n    \"bounces.view\": \"Visszapattanások megtekintése\",\n    \"campaigns.addAltText\": \"Alternatív egyszerű szöveges üzenet hozzáadása\",\n    \"campaigns.addAttachments\": \"Mellékletek hozzáadása\",\n    \"campaigns.archive\": \"Archívum\",\n    \"campaigns.archiveEnable\": \"Nyilvános archívumba mentés\",\n    \"campaigns.archiveHelp\": \"A kampány nyilvános archívumba mentése, közzététele.\",\n    \"campaigns.archiveMeta\": \"Kapány metaadat\",\n    \"campaigns.archiveMetaHelp\": \"A nyilvánosan közzétett kampányüzenetbe helyettesítendő adatok (pl. név, e-mail cím, és amiket a sablon használ).\",\n    \"campaigns.archiveSlug\": \"URL Slug\",\n    \"campaigns.archiveSlugHelp\": \"Egy rövid név a nyilvános URL-címben való használathoz. Például: az-en-hirlevelem-2\",\n    \"campaigns.attachments\": \"Mellékletek\",\n    \"campaigns.attribsHelp\": \"Egyedi JSON objektum {} attribútumok ehhez a kampányhoz. A sablonban használja ezt: {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Nem lehet frissíteni futó vagy befejezett kampányt.\",\n    \"campaigns.clicks\": \"Kattintások\",\n    \"campaigns.confirmDelete\": \"Kampány törlése: {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Ez felülírja az összes tartalmat. Folytatja?\",\n    \"campaigns.confirmSchedule\": \"A kampány az ütemezett napon és időpontban automatikusan elindul. Ütemezés most?\",\n    \"campaigns.confirmSwitchFormat\": \"A formázás elveszhet!\",\n    \"campaigns.content\": \"Tartalom\",\n    \"campaigns.contentHelp\": \"Tartalom\",\n    \"campaigns.continue\": \"Tovább\",\n    \"campaigns.copyOf\": \"{name} másolata\",\n    \"campaigns.customHeadersHelp\": \"Kimenő üzenetek extra fejlécei. Például: [{\\\"X-K1\\\": \\\"V1\\\"}, {\\\"X-K2\\\": \\\"V2\\\"}]\",\n    \"campaigns.dateAndTime\": \"Dátum és idő\",\n    \"campaigns.ended\": \"Vége\",\n    \"campaigns.errorSendTest\": \"Hiba a teszt küldésekor: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Hibás tartalom: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Hibás `Feladó`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Hibás lista azonosítók.\",\n    \"campaigns.fieldInvalidMessenger\": \"Hibás kézbesítő: {name}\",\n    \"campaigns.fieldInvalidName\": \"A név túl hosszú.\",\n    \"campaigns.fieldInvalidSendAt\": \"Az ütemezett dátumnak a jövőben kell lennie.\",\n    \"campaigns.fieldInvalidSubject\": \"A tárgy túl hosszú.\",\n    \"campaigns.format\": \"Formátum\",\n    \"campaigns.formatHTML\": \"HTML formátum\",\n    \"campaigns.fromAddress\": \"Feladó\",\n    \"campaigns.fromAddressPlaceholder\": \"Feladó <noreply@teszt.hu>\",\n    \"campaigns.importVisualTemplate\": \"Vizuális sablon importálása\",\n    \"campaigns.invalid\": \"Érvénytelen kampány\",\n    \"campaigns.invalidCustomHeaders\": \"Érvénytelen fejlécek: {error}\",\n    \"campaigns.markdown\": \"Markdown-nyelv\",\n    \"campaigns.needsSendAt\": \"A kampányhoz ütemezéséhez dátumot kell beállítani.\",\n    \"campaigns.newCampaign\": \"Új kampány\",\n    \"campaigns.noKnownSubsToTest\": \"Nincsenek tagok a teszteléshez.\",\n    \"campaigns.noOptinLists\": \"Nem találhatók feliratkozásos listák a kampány létrehozásához.\",\n    \"campaigns.noSubs\": \"A kampányhoz választott listákon nincsenek tagok.\",\n    \"campaigns.noSubsToTest\": \"Nincs célközönség.\",\n    \"campaigns.notFound\": \"A kampány nem található.\",\n    \"campaigns.onlyActiveCancel\": \"Csak az aktív kampányok szakíthatók meg.\",\n    \"campaigns.onlyActivePause\": \"Csak az aktív kampányok szüneteltethetők.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Csak piszkozatok ütemezhetők.\",\n    \"campaigns.onlyPausedDraft\": \"Csak a szüneteltetett kampányok és piszkozatok indíthatók el.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Csak az ütemezett kampányok menthetők piszkozatként.\",\n    \"campaigns.pause\": \"Szüneteltetés\",\n    \"campaigns.plainText\": \"Egyszerű szöveg\",\n    \"campaigns.preview\": \"Előnézet\",\n    \"campaigns.progress\": \"Előrehaladás\",\n    \"campaigns.queryPlaceholder\": \"Név vagy tárgy\",\n    \"campaigns.rateMinuteShort\": \"m\",\n    \"campaigns.rawHTML\": \"HTML (Forrás)\",\n    \"campaigns.removeAltText\": \"Alternatív egyszerű szöveges üzenet eltávolítása\",\n    \"campaigns.richText\": \"Formázott szöveg\",\n    \"campaigns.schedule\": \"Kampány ütemezése\",\n    \"campaigns.scheduled\": \"Ütemezett\",\n    \"campaigns.send\": \"Küldés\",\n    \"campaigns.sendLater\": \"Küldés ütemezése\",\n    \"campaigns.sendTest\": \"Teszt üzenet küldése\",\n    \"campaigns.sendTestHelp\": \"Egy cím beírása után nyomja meg az Enter billentyűt több címzett hozzáadásához. Csak meglévő tagok címeit lehet használni.\",\n    \"campaigns.sendToLists\": \"Cél listák\",\n    \"campaigns.sent\": \"Elküldve\",\n    \"campaigns.start\": \"Indítás\",\n    \"campaigns.started\": \"„{name}” elindult\",\n    \"campaigns.startedAt\": \"Kezdete\",\n    \"campaigns.stats\": \"Statisztikák\",\n    \"campaigns.status.cancelled\": \"Megszakítva\",\n    \"campaigns.status.draft\": \"Piszkozat\",\n    \"campaigns.status.finished\": \"Befejezett\",\n    \"campaigns.status.paused\": \"Szünetel\",\n    \"campaigns.status.running\": \"Aktív\",\n    \"campaigns.status.scheduled\": \"Ütemezett\",\n    \"campaigns.statusChanged\": \"„{name}” {status}\",\n    \"campaigns.subject\": \"Tárgy\",\n    \"campaigns.templatingRef\": \"Sablonhivatkozások\",\n    \"campaigns.testEmails\": \"Címek\",\n    \"campaigns.testSent\": \"Tesztüzenet elküldve\",\n    \"campaigns.timestamps\": \"Időbélyegek\",\n    \"campaigns.trackLink\": \"Nyomkövető hivatkozás\",\n    \"campaigns.unSchedule\": \"Ütemezés visszavonása\",\n    \"campaigns.views\": \"Megtekintések\",\n    \"campaigns.visual\": \"Vizuális\",\n    \"dashboard.campaignViews\": \"Megtekintések\",\n    \"dashboard.linkClicks\": \"Kattintások\",\n    \"dashboard.messagesSent\": \"Küldött üzenet\",\n    \"dashboard.orphanSubs\": \"Árvák\",\n    \"email.data.info\": \"A tagsággal nyilvántartott adatokat a JSON formátumú szövegfájlban küldött csatolmány tartalmazza.\",\n    \"email.data.title\": \"A tagságra vonatkozó adatok\",\n    \"email.forgotPassword.button\": \"Jelszó alaphelyzetbe állítása\",\n    \"email.forgotPassword.info\": \"Ha nem te kértél jelszóvisszaállítást, akkor biztonságosan figyelmen kívül hagyhatod ezt az e-mailt. Ez a hivatkozás 30 perc múlva lejár.\",\n    \"email.forgotPassword.subject\": \"Jelszó alaphelyzetbe állítása\",\n    \"email.optin.confirmSub\": \"Feliratkozás megerősítése\",\n    \"email.optin.confirmSubHelp\": \"Erősítse meg tagságát a gombra kattintva.\",\n    \"email.optin.confirmSubInfo\": \"Ön felkerült az alábbi listákra:\",\n    \"email.optin.confirmSubTitle\": \"Feliratkozás megerősítése\",\n    \"email.optin.confirmSubWelcome\": \"Kedves\",\n    \"email.optin.privateList\": \"Privát lista\",\n    \"email.status.campaignReason\": \"Ok\",\n    \"email.status.campaignSent\": \"Elküldve\",\n    \"email.status.campaignUpdateTitle\": \"Kampány\",\n    \"email.status.importFile\": \"Fájl\",\n    \"email.status.importRecords\": \"Rekordok\",\n    \"email.status.importTitle\": \"Importálás\",\n    \"email.status.status\": \"Állapot\",\n    \"email.unsub\": \"Leiratkozás\",\n    \"email.unsubHelp\": \"Leiratkozik a listáról?\",\n    \"email.viewInBrowser\": \"Megnyitás böngészőben\",\n    \"forms.formHTML\": \"HTML űrlap\",\n    \"forms.formHTMLHelp\": \"Az alábbi HTML kód beágyazásával megjelenítheti a feliratkozási űrlapot egy külső weboldalon. Az űrlapnak tartalmaznia kell az e-mail mezőt és egy vagy több `name=\\\"l\\\"` (lista UUID) mezőt. A név mező nem kötelező.\",\n    \"forms.noPublicLists\": \"Nincsenek nyilvános listák az űrlapok létrehozásához.\",\n    \"forms.publicLists\": \"Nyilvános listák\",\n    \"forms.publicSubPage\": \"Nyilvános feliratkozási oldal\",\n    \"forms.selectHelp\": \"Válassza ki az űrlapon megjelenő listákat.\",\n    \"forms.title\": \"Űrlapok\",\n    \"globals.buttons.add\": \"Hozzáadás\",\n    \"globals.buttons.addNew\": \"Új hozzáadása\",\n    \"globals.buttons.back\": \"Vissza\",\n    \"globals.buttons.cancel\": \"Mégse\",\n    \"globals.buttons.clear\": \"Törlés\",\n    \"globals.buttons.clearAll\": \"Összes törlése\",\n    \"globals.buttons.clone\": \"Másolat\",\n    \"globals.buttons.close\": \"Bezár\",\n    \"globals.buttons.continue\": \"Tovább\",\n    \"globals.buttons.copy\": \"Másolás\",\n    \"globals.buttons.delete\": \"Törlés\",\n    \"globals.buttons.deleteAll\": \"Összes törlése\",\n    \"globals.buttons.disable\": \"Letiltás\",\n    \"globals.buttons.edit\": \"Szerkesztés\",\n    \"globals.buttons.enable\": \"Engedélyezés\",\n    \"globals.buttons.enabled\": \"Engedélyezve\",\n    \"globals.buttons.insert\": \"Beszúrás\",\n    \"globals.buttons.learnMore\": \"Tudj meg többet\",\n    \"globals.buttons.manage\": \"Kezelés\",\n    \"globals.buttons.more\": \"Tovább\",\n    \"globals.buttons.new\": \"Új\",\n    \"globals.buttons.ok\": \"Rendben\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Eltávolítás\",\n    \"globals.buttons.save\": \"Mentés\",\n    \"globals.buttons.saveChanges\": \"Változtatások mentése\",\n    \"globals.buttons.toggleSelect\": \"Kijelölés váltása\",\n    \"globals.buttons.view\": \"Megtekintés\",\n    \"globals.days.0\": \"V\",\n    \"globals.days.1\": \"V\",\n    \"globals.days.2\": \"H\",\n    \"globals.days.3\": \"K\",\n    \"globals.days.4\": \"Sze\",\n    \"globals.days.5\": \"Cs\",\n    \"globals.days.6\": \"P\",\n    \"globals.days.7\": \"Szo\",\n    \"globals.fields.createdAt\": \"Létrehozva\",\n    \"globals.fields.description\": \"Leírás\",\n    \"globals.fields.id\": \"Azonosító\",\n    \"globals.fields.name\": \"Név\",\n    \"globals.fields.status\": \"Állapot\",\n    \"globals.fields.type\": \"Típus\",\n    \"globals.fields.updatedAt\": \"Frissítve\",\n    \"globals.fields.uuid\": \"Azonosító\",\n    \"globals.messages.confirm\": \"Biztos?\",\n    \"globals.messages.confirmDelete\": \"{num} {name} törlése?\",\n    \"globals.messages.confirmDiscard\": \"Módosítások elvetése?\",\n    \"globals.messages.copied\": \"Másolva\",\n    \"globals.messages.created\": \"„{name}” létrehozva\",\n    \"globals.messages.deleted\": \"„{name}” törölve\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) törölve\",\n    \"globals.messages.done\": \"Kész\",\n    \"globals.messages.emptyState\": \"Üres\",\n    \"globals.messages.errorCreating\": \"Hiba a(z) {name} létrehozásnál: {error}\",\n    \"globals.messages.errorDeleting\": \"Hiba a(z) {name} törléskor: {error}\",\n    \"globals.messages.errorFetching\": \"Hiba a(z) {name} lekérése során: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Egy vagy több azonosító érvénytelen: {error}\",\n    \"globals.messages.errorUUID\": \"Hiba az UUID generálás során: {error}\",\n    \"globals.messages.errorUpdating\": \"Hiba a(z) {name} frissítése során: {error}\",\n    \"globals.messages.internalError\": \"Szerverhiba\",\n    \"globals.messages.invalidData\": \"Érvénytelen adat\",\n    \"globals.messages.invalidFields\": \"Érvénytelen mező(k): {name}\",\n    \"globals.messages.invalidID\": \"Érvénytelen azonosító(k)\",\n    \"globals.messages.invalidUUID\": \"Érvénytelen UUID(-k)\",\n    \"globals.messages.invalidValue\": \"Érvénytelen érték\",\n    \"globals.messages.missingFields\": \"Hiányzó mező(k): {name}\",\n    \"globals.messages.notFound\": \"{name} nem található\",\n    \"globals.messages.numSelected\": \"{num} kiválasztva\",\n    \"globals.messages.passwordChange\": \"Adja meg az új jelszót\",\n    \"globals.messages.passwordChangeFull\": \"Törölje ki, és írja be újra a teljes jelszót a(z) '{name}'-ben.\",\n    \"globals.messages.permissionDenied\": \"Engedély megtagadva: {name}\",\n    \"globals.messages.selectAll\": \"Összes ({num}) kiválasztása\",\n    \"globals.messages.slowQueriesCached\": \"A lassú lekérdezések gyorsítótárazva vannak. Ennek az oldalnak néhány száma nem lesz naprakész.\",\n    \"globals.messages.updated\": \"„{name}” frissítve\",\n    \"globals.months.1\": \"január\",\n    \"globals.months.10\": \"október\",\n    \"globals.months.11\": \"november\",\n    \"globals.months.12\": \"december\",\n    \"globals.months.2\": \"február\",\n    \"globals.months.3\": \"március\",\n    \"globals.months.4\": \"április\",\n    \"globals.months.5\": \"május\",\n    \"globals.months.6\": \"június\",\n    \"globals.months.7\": \"július\",\n    \"globals.months.8\": \"augusztus\",\n    \"globals.months.9\": \"szeptember\",\n    \"globals.states.off\": \"Ki\",\n    \"globals.terms.all\": \"Összes\",\n    \"globals.terms.analytics\": \"Kimutatások\",\n    \"globals.terms.attribs\": \"Adatok\",\n    \"globals.terms.bounce\": \"Visszapattanó\",\n    \"globals.terms.bounces\": \"Visszapattanók\",\n    \"globals.terms.campaign\": \"Kampány\",\n    \"globals.terms.campaigns\": \"Kampányok\",\n    \"globals.terms.dashboard\": \"Áttekintő\",\n    \"globals.terms.day\": \"Nap\",\n    \"globals.terms.hour\": \"Óra\",\n    \"globals.terms.import\": \"Importálás\",\n    \"globals.terms.list\": \"Lista\",\n    \"globals.terms.lists\": \"Listák\",\n    \"globals.terms.media\": \"Media\",\n    \"globals.terms.messenger\": \"Kézbesítő\",\n    \"globals.terms.messengers\": \"Kézbesítők\",\n    \"globals.terms.minute\": \"Perc\",\n    \"globals.terms.month\": \"Hónap\",\n    \"globals.terms.new\": \"Új\",\n    \"globals.terms.none\": \"Nincs\",\n    \"globals.terms.second\": \"Másodperc\",\n    \"globals.terms.settings\": \"Beállítások\",\n    \"globals.terms.subscriber\": \"Tag\",\n    \"globals.terms.subscribers\": \"Tagok\",\n    \"globals.terms.subscriptions\": \"Feilratkozó\",\n    \"globals.terms.tag\": \"Címke\",\n    \"globals.terms.tags\": \"Címkék\",\n    \"globals.terms.template\": \"Sablon\",\n    \"globals.terms.templates\": \"Sablonok\",\n    \"globals.terms.tx\": \"Ügymenet\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Felhasználó | Felhasználók\",\n    \"globals.terms.users\": \"Felhasználók\",\n    \"globals.terms.year\": \"Év\",\n    \"import.alreadyRunning\": \"Az importálás elkezdődött. Várja meg, amíg befejeződik, vagy állítsa le, mielőtt újra próbálkozna.\",\n    \"import.blocklist\": \"Tiltás\",\n    \"import.csvDelim\": \"CSV elválasztó\",\n    \"import.csvDelimHelp\": \"Az alapértelmezett határoló a vessző.\",\n    \"import.csvExample\": \"CSV fájl példa\",\n    \"import.csvFile\": \"CSV vagy ZIP fájl\",\n    \"import.csvFileHelp\": \"Kattintson vagy húzza ide a CSV- vagy ZIP-fájlt\",\n    \"import.errorCopyingFile\": \"Hiba a fájl másolásakor: {error}\",\n    \"import.errorProcessingZIP\": \"Hiba a ZIP-fájl feldolgozásakor: {error}\",\n    \"import.errorStarting\": \"Hiba az importálás indításakor: {error}\",\n    \"import.importDone\": \"Kész\",\n    \"import.importStarted\": \"Az importálás megkezdődöt\",\n    \"import.instructions\": \"Részletek\",\n    \"import.instructionsHelp\": \"Az importáláshoz töltsön fel egy CSV fájlt, vagy egy egyetlen CSV-t tartalmazó ZIP fájl. A CSV-fájlnak az alábbi fejléc sorral és oszlopokkal kell rendelkeznie. Az `attributes` oszlop nem kötelező, érvényes JSON string (duplázással escape-elt idézőjelekkel, lásd a lenti példát).\",\n    \"import.invalidDelim\": \"A határolónak egyetlen karakternek kell lennie.\",\n    \"import.invalidFile\": \"Érvénytelen fájl: {error}\",\n    \"import.invalidMode\": \"Érvénytelen mód\",\n    \"import.invalidParams\": \"Érvénytelen paraméterek: {error}\",\n    \"import.invalidSubStatus\": \"Érvénytelen tagság állapot\",\n    \"import.listSubHelp\": \"Listák kiválasztása.\",\n    \"import.mode\": \"Mód\",\n    \"import.overwriteSubStatus\": \"Feliratkozási státusz felülírása\",\n    \"import.overwriteSubStatusHelp\": \"Meglévő listafeliratkozások státuszának felülírása\",\n    \"import.overwriteUserInfo\": \"Felhasználói adatok felülírása\",\n    \"import.overwriteUserInfoHelp\": \"Meglévő feliratkozók nevének és attribútumainak felülírása\",\n    \"import.recordsCount\": \"{num} / {total} rekord\",\n    \"import.stopImport\": \"Importálás leállítása\",\n    \"import.subscribe\": \"Feliratkozás\",\n    \"import.subscribeWarning\": \"A felülírás feliratkozatlan e-maileket újra fel fog iratkoztatni. Folytatja?\",\n    \"import.title\": \"Tagok importálása\",\n    \"import.upload\": \"Feltöltés\",\n    \"lists.archived\": \"Archiválva\",\n    \"lists.archivedHelp\": \"Az archiválás elrejti a listákat a listalapról, kampányokról és nyilvános űrlapokról. Bármikor visszaállítható. Hasznos az öreg és ritkán használt listák elrejtésére.\",\n    \"lists.confirmDelete\": \"Biztos? Ez nem törli a tagokat.\",\n    \"lists.confirmSub\": \"Tagság megerősítése: {name}\",\n    \"lists.invalidName\": \"Érvénytelen név\",\n    \"lists.newList\": \"Új lista\",\n    \"lists.optin\": \"Megerősítés\",\n    \"lists.optinHelp\": \"A feliratkozás után megerősítő e-mailt küld. A kampányüzenetet csak a visszaigazolt tagok kapják meg.\",\n    \"lists.optinTo\": \"Feliratkozás: {name}\",\n    \"lists.optins.double\": \"Megerősítés\",\n    \"lists.optins.single\": \"Feliratkozási értesítés\",\n    \"lists.sendCampaign\": \"Új kampány\",\n    \"lists.sendOptinCampaign\": \"Új megerősítéses kampány\",\n    \"lists.type\": \"Típus\",\n    \"lists.typeHelp\": \"A nyilvános listákra mindenki feliratkozhat, és nevük megjelenhet nyilvános oldalakon, például az tagságkezelő oldalon.\",\n    \"lists.types.private\": \"Privát\",\n    \"lists.types.public\": \"Nyilvános\",\n    \"logs.title\": \"Napló\",\n    \"maintenance.database.title\": \"Adatbázis\",\n    \"maintenance.database.vacuumHelp\": \"A PostgreSQL VACUUM ANALYZE felszabadítja a törölt sorok által használt tárolót és jelentősen felgyorsítja az adatbázis teljesítményét nagy adatbázisokon. FONTOS: Nagy adatbázisoknál ez egy lassú, blokkoló művelet. Ütemezesd ezt a csúcsokon kívüli órákra.\",\n    \"maintenance.help\": \"Az adatmennyiségtől függően egyes műveletek több időt is igénybe vehetnek.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Megerősítésre vár\",\n    \"maintenance.olderThan\": \"Régebbi mint\",\n    \"maintenance.orphanHelp\": \"Árvák = előfizetők listák nélkül\",\n    \"maintenance.title\": \"Karbantartás\",\n    \"maintenance.unconfirmedSubs\": \"{name} napja megerősítésre vár.\",\n    \"media.errorReadingFile\": \"Hiba a fájl olvasásakor: {error}\",\n    \"media.errorResizing\": \"Hiba a kép átméretezésekor: {error}\",\n    \"media.errorSavingThumbnail\": \"Hiba az indexkép mentésekor: {error}\",\n    \"media.errorUploading\": \"Hiba a fájl feltöltésekor: {error}\",\n    \"media.invalidFile\": \"Hibás fájl: {error}\",\n    \"media.title\": \"Média\",\n    \"media.unsupportedFileType\": \"Nem támogatott típus ({type})\",\n    \"media.upload\": \"Feltöltés\",\n    \"media.uploadHelp\": \"Kattintson vagy húzzon ide egy vagy több képet\",\n    \"menu.allCampaigns\": \"Minden kampány\",\n    \"menu.allLists\": \"Minden lista\",\n    \"menu.allSubscribers\": \"Minden tag\",\n    \"menu.dashboard\": \"Áttekintő\",\n    \"menu.forms\": \"Űrlapok\",\n    \"menu.import\": \"Importálás\",\n    \"menu.logs\": \"Napló\",\n    \"menu.maintenance\": \"Karbantartás\",\n    \"menu.media\": \"Média\",\n    \"menu.newCampaign\": \"Új kampány\",\n    \"menu.settings\": \"Beállítások\",\n    \"public.archiveEmpty\": \"Az archívum üres.\",\n    \"public.archiveTitle\": \"Archívum\",\n    \"public.blocklisted\": \"Véglegesen leiratkozott.\",\n    \"public.campaignNotFound\": \"Az tartalom nem található.\",\n    \"public.confirmOptinSubTitle\": \"Feliratkozás megerősítése\",\n    \"public.confirmSub\": \"Feliratkozás megerősítése\",\n    \"public.confirmSubInfo\": \"E-mail címe felkerült az alábbi listákra:\",\n    \"public.confirmSubTitle\": \"Feliratkozás megerősítése\",\n    \"public.dataRemoved\": \"Tagságát megszüntettük és az összes adatát eltávolítottuk.\",\n    \"public.dataRemovedTitle\": \"Adatok törölve\",\n    \"public.dataSent\": \"Adatait e-mailben (mellékletként) elküldtük.\",\n    \"public.dataSentTitle\": \"Adatok elküldve\",\n    \"public.errorFetchingCampaign\": \"Hiba az üzenet lekérésekor.\",\n    \"public.errorFetchingEmail\": \"Az üzenet nem található\",\n    \"public.errorFetchingLists\": \"Hiba a listák lekérésekor. Kérjük, próbálja újra.\",\n    \"public.errorProcessingRequest\": \"Hiba a kérelem feldolgozásakor. Kérjük, próbálja újra.\",\n    \"public.errorTitle\": \"Hiba\",\n    \"public.invalidCaptcha\": \"Érvénytelen CAPTCHA.\",\n    \"public.invalidFeature\": \"Ez a funkció nem elérhető.\",\n    \"public.invalidLink\": \"Érvénytelen hivatkozás\",\n    \"public.managePrefs\": \"Beállítások\",\n    \"public.managePrefsUnsub\": \"Jelezze, milyen emaileket szeretne kapni a jövőben\",\n    \"public.noListsAvailable\": \"Nincs lista, amire fel lehet iratkozni.\",\n    \"public.noListsSelected\": \"Egy lista sincs kiválasztva.\",\n    \"public.noSubInfo\": \"Nincsenek megerősítendő feliratkozások.\",\n    \"public.noSubTitle\": \"Nincsenek kezelendő feliratkozások\",\n    \"public.notFoundTitle\": \"Nem található\",\n    \"public.poweredBy\": \"Listakezelő rendszer:\",\n    \"public.prefsSaved\": \"Sikeres mentés.\",\n    \"public.privacyConfirmWipe\": \"Biztos benne, hogy végleg törölni szeretné tagságát és összes adatát?\",\n    \"public.privacyExport\": \"Exportálja adatait\",\n    \"public.privacyExportHelp\": \"Az adatok másolatát e-mailben küldjük el.\",\n    \"public.privacyTitle\": \"Adatvédelem\",\n    \"public.privacyWipe\": \"Törölje adatait\",\n    \"public.privacyWipeHelp\": \"Törölje véglegesen feliratkozásait és összes adatát.\",\n    \"public.sub\": \"Feliratkozás\",\n    \"public.subConfirmed\": \"Sikeres feliratkozás.\",\n    \"public.subConfirmedTitle\": \"Feliratkozás megerősítve\",\n    \"public.subName\": \"Név (nem kötelező)\",\n    \"public.subNotFound\": \"Nem található feliratkozási adat.\",\n    \"public.subOptinPending\": \"A tagság megerősítésének érdekében e-mailt küldtünk Önnek.\",\n    \"public.subPrivateList\": \"Privát\",\n    \"public.subTitle\": \"Feliratkozás\",\n    \"public.unsub\": \"Leiratkozás\",\n    \"public.unsubFull\": \"Leiratkozás minden jövőbeni e-mailről.\",\n    \"public.unsubHelp\": \"Le szeretne iratkozni erről a listáról?\",\n    \"public.unsubTitle\": \"Leiratkozás\",\n    \"public.unsubbedInfo\": \"Sikeresen leiratkozott.\",\n    \"public.unsubbedTitle\": \"Leiratkozott\",\n    \"public.unsubscribeTitle\": \"Leiratkozás listáról\",\n    \"settings.appearance.adminHelp\": \"Rendszerfelület testreszabása CSS és JavaScript segítségével.\",\n    \"settings.appearance.adminName\": \"Rendszer\",\n    \"settings.appearance.customCSS\": \"CSS\",\n    \"settings.appearance.customJS\": \"JavaScript\",\n    \"settings.appearance.name\": \"Megjelenés\",\n    \"settings.appearance.publicHelp\": \"Nyilvános felület testreszabása CSS és JavaScript segítségével.\",\n    \"settings.appearance.publicName\": \"Nyilvános\",\n    \"settings.bounces.action\": \"Művelet\",\n    \"settings.bounces.blocklist\": \"Tiltás\",\n    \"settings.bounces.count\": \"Visszapattanások száma\",\n    \"settings.bounces.countHelp\": \"Visszapattanások száma tagokra lebontva\",\n    \"settings.bounces.enable\": \"Visszapattanások feldolgozása\",\n    \"settings.bounces.enableForwardemail\": \"Továbbító e-mail engedélyezése\",\n    \"settings.bounces.enableMailbox\": \"Visszapattanó postafiók\",\n    \"settings.bounces.enablePostmark\": \"Postmark\",\n    \"settings.bounces.enableSES\": \"SES\",\n    \"settings.bounces.enableSendgrid\": \"SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Visszapattanó webhook\",\n    \"settings.bounces.enabled\": \"Engedélyezve\",\n    \"settings.bounces.folder\": \"Mappa\",\n    \"settings.bounces.folderHelp\": \"A vizsgálandó IMAP mappa neve. Például: Beérkezett üzenetek\",\n    \"settings.bounces.forwardemailKey\": \"Továbbító e-mail kulcs\",\n    \"settings.bounces.invalidScanInterval\": \"Az ellenőrzés gyakorisága 1 percnél nagyobb kell legyen.\",\n    \"settings.bounces.name\": \"Visszapattanók\",\n    \"settings.bounces.none\": \"Nincs\",\n    \"settings.bounces.postmarkPassword\": \"Postmark jelszó\",\n    \"settings.bounces.postmarkUsername\": \"Postmark felhasználónév\",\n    \"settings.bounces.postmarkUsernameHelp\": \"A Postmark lehetővé teszi a webhookokhoz az alapvető hitelesítést. Győződjön meg róla, hogy itt és a Postmark webhook beállításoknál is ugyanazokkal az adatokkal rendelkezik.\",\n    \"settings.bounces.scanInterval\": \"Ellenőrzés gyakorisága\",\n    \"settings.bounces.scanIntervalHelp\": \"A visszapattanó e-mailek ellenőrzésének gyakorisága. (s: másodperc, m: perc)\",\n    \"settings.bounces.sendgridKey\": \"Kulcs\",\n    \"settings.bounces.type\": \"Típus\",\n    \"settings.bounces.username\": \"Név\",\n    \"settings.confirmRestart\": \"Újraindítás előtt győződjön meg róla, hogy a futó kampányok szünetelnek!\",\n    \"settings.duplicateMessengerName\": \"Ismétlődő kézbesítő név: {name}\",\n    \"settings.errorEncoding\": \"Hibás kódolás: {error}\",\n    \"settings.errorNoSMTP\": \"Legalább egy SMTP kézbesítőt engedélyezni kell.\",\n    \"settings.general.adminNotifEmails\": \"Rendszerüzenetek\",\n    \"settings.general.adminNotifEmailsHelp\": \"Vesszővel elválasztott e-mail cím lista, melyre rendszerértesítéseket kell küldeni. Például importálásról, kampány állaptováltozásról, hibákról.\",\n    \"settings.general.checkUpdates\": \"Frissítések keresése\",\n    \"settings.general.checkUpdatesHelp\": \"Rendszeresen ellenőrizze, és értesítsen, ha új alkalmazásverzió érhető el.\",\n    \"settings.general.enablePublicArchive\": \"Nyilvános archívum\",\n    \"settings.general.enablePublicArchiveHelp\": \"Nyilvános archívum felület engedélyezése, melyen az archivált kampányok megtekinthetők.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Teljes tartalom megjelenítése az RSS-csatornában\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Teljes e-mail tartalom megjelenítése az RSS-csatornában. Ha letiltva van, csak a cím és a hivatkozás elemek jelennek meg.\",\n    \"settings.general.enablePublicSubPage\": \"Nyilvános feliratkozás\",\n    \"settings.general.enablePublicSubPageHelp\": \"Nyilvános feliratkozási felület engedélyezése, amelyen az összes nyilvános listára fel lehet iratkozni.\",\n    \"settings.general.faviconURL\": \"Favicon URL\",\n    \"settings.general.faviconURLHelp\": \"(Nem kötelező) a böngészőben megjelenő favicon URL-je\",\n    \"settings.general.fromEmail\": \"Alapértelmezett `Feladó`\",\n    \"settings.general.fromEmailHelp\": \"Új kampányok alapértelmezett `Feladó` e-mail címe, mely kapmányonként módosítható.\",\n    \"settings.general.language\": \"Nyelv\",\n    \"settings.general.logoURL\": \"Logó URL\",\n    \"settings.general.logoURLHelp\": \"(Nem kötelező) az oldalakon megjelenő logó URL-je\",\n    \"settings.general.name\": \"Általános\",\n    \"settings.general.rootURL\": \"URL\",\n    \"settings.general.rootURLHelp\": \"A rendszer nyilvános URL-je, záró `/` nélkül.\",\n    \"settings.general.sendOptinConfirm\": \"Feliratkozások megerősítése\",\n    \"settings.general.sendOptinConfirmHelp\": \"Feliratkozást megerősítő e-mail küldése az új tagoknak.\",\n    \"settings.general.siteName\": \"Oldalnév\",\n    \"settings.invalidMessengerName\": \"Érvénytelen kézbesítő név.\",\n    \"settings.mailserver.authProtocol\": \"Auth\",\n    \"settings.mailserver.host\": \"Kiszolgáló\",\n    \"settings.mailserver.hostHelp\": \"Az SMTP szerver címe.\",\n    \"settings.mailserver.idleTimeout\": \"Tartás\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Kapcsolat életben tartása a megadott ideig. (s: másodperc, m: perc)\",\n    \"settings.mailserver.maxConns\": \"Kapcsolatok\",\n    \"settings.mailserver.maxConnsHelp\": \"Egyidejű kapcsolatok maximális száma.\",\n    \"settings.mailserver.nameHelp\": \"Opcionális egyedi név az SMTP szerverhez. Email- előtaggal kell kezdődnie. Ez lehetővé teszi a szerver kifejezett kiválasztását egy kampányhoz. Pl.: email-primary-server. Alfanumerikus / kötőjel.\",\n    \"settings.mailserver.password\": \"Jelszó\",\n    \"settings.mailserver.passwordHelp\": \"írja be a jelszót\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Az SMTP server portja.\",\n    \"settings.mailserver.skipTLS\": \"Nincs TLS ellenőrzés\",\n    \"settings.mailserver.skipTLSHelp\": \"Ne ellenőrizze a TLS tanusítvány hosztnevét.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Biztonságos kapcsolat TLS-en vagy STARTTLS-en keresztül.\",\n    \"settings.mailserver.username\": \"Név\",\n    \"settings.mailserver.waitTimeout\": \"Várakozás\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Kapcsolat életben tartása a megadott ideig. (s: másodperc, m: perc)\",\n    \"settings.maintenance.cron\": \"Cron időköz\",\n    \"settings.media.provider\": \"Tárhely\",\n    \"settings.media.s3.bucket\": \"Tároló\",\n    \"settings.media.s3.bucketPath\": \"Eléréséi út\",\n    \"settings.media.s3.bucketPathHelp\": \"Bucket-en belüli elérési út. Alapértelmezett: `/`\",\n    \"settings.media.s3.bucketType\": \"Típus\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privát\",\n    \"settings.media.s3.bucketTypePublic\": \"Nyilvános\",\n    \"settings.media.s3.key\": \"AWS hozzáférési kulcs\",\n    \"settings.media.s3.publicURL\": \"Nyilvános URL (nem kötelező)\",\n    \"settings.media.s3.publicURLHelp\": \"Egyéni S3 domain használata a képhivatkozásokhoz az alapértelmezett S3 backend URL helyett.\",\n    \"settings.media.s3.region\": \"Régió\",\n    \"settings.media.s3.secret\": \"AWS hozzáférési titok\",\n    \"settings.media.s3.uploadExpiry\": \"Elévülés (TTL)\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Nem kötelező) Lejárati megadása a generált előre aláírt URL-címhez. Csak a Privát típusra vonatkozik. (s: másodperc, m: perc, h: óra, d: nap).\",\n    \"settings.media.s3.url\": \"S3 háttér URL-címe\",\n    \"settings.media.s3.urlHelp\": \"Csak akkor módosítsa, ha egyéni S3-kompatibilis hátteret használ, mint például a Minio.\",\n    \"settings.media.title\": \"Média\",\n    \"settings.media.upload.extensions\": \"Engedélyezett fájlkiterjesztések\",\n    \"settings.media.upload.extensionsHelp\": \"Adjon hozzá *-ot az összes kiterjesztés engedélyezéséhez\",\n    \"settings.media.upload.path\": \"Könyvtár\",\n    \"settings.media.upload.pathHelp\": \"A feltöltött fájlok célkönyvtára.\",\n    \"settings.media.upload.uri\": \"Nyilvános URI\",\n    \"settings.media.upload.uriHelp\": \"Nyilvános URI mely alatt a feltöltött fájlok elérhetőek. Például: /media\",\n    \"settings.messengers.maxConns\": \"Kapcsolatok száma\",\n    \"settings.messengers.maxConnsHelp\": \"Egyidejű kapcsolatok maximális száma.\",\n    \"settings.messengers.messageSaved\": \"Sikeres mentés. Újratöltés…\",\n    \"settings.messengers.name\": \"Kézbesítők\",\n    \"settings.messengers.nameHelp\": \"Például: sms (betűk, számok, `-`)\",\n    \"settings.messengers.password\": \"Jelszó\",\n    \"settings.messengers.retries\": \"Próbák\",\n    \"settings.messengers.retriesHelp\": \"Az újrapróbálkozások száma, ha az üzenet sikertelen.\",\n    \"settings.messengers.skipTLSHelp\": \"Ne ellenőrizze a TLS tanusítvány hosztnevét.\",\n    \"settings.messengers.timeout\": \"Időkorlát\",\n    \"settings.messengers.timeoutHelp\": \"Kapcsolat életben tartása a megadott ideig. (s: másodperc, m: perc)\",\n    \"settings.messengers.url\": \"URL-cím\",\n    \"settings.messengers.urlHelp\": \"Postback-kiszolgáló gyökérének URL-címe.\",\n    \"settings.messengers.username\": \"Név\",\n    \"settings.needsRestart\": \"A beállítások megváltoztak. Szüneteltesse az összes kampányt, és indítsa újra az alkalmazást.\",\n    \"settings.performance.batchSize\": \"Kötegméret\",\n    \"settings.performance.batchSizeHelp\": \"Az adatbázisból egy kötegben lehívandó tagok száma. Az üzenetek kiküldése kötegegen történik. Ideális esetben nagyobb, mint a számított átviteli sebesség ('Egyidejűség' × 'Üzenet / másodperc').\",\n    \"settings.performance.cacheSlowQueries\": \"Gyorsítótárazza a lassú adatbázis-lekérdezéseket\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Csak nagy adatbázisok esetén kapcsold be ezt, amik jelentősen lelassultak. Gyorsítótárazza a listák feliratkozói számát, a műszerfal statisztikákat stb.\",\n    \"settings.performance.concurrency\": \"Egyidejűség\",\n    \"settings.performance.concurrencyHelp\": \"Legfeljebb ennyi üzenetet próbál meg a rendszer egyszerre kiküldeni.\",\n    \"settings.performance.maxErrThreshold\": \"Hibaküszöb\",\n    \"settings.performance.maxErrThresholdHelp\": \"Az aktív kampánynak során eltűrhető hibák (pl. SMTP időtúllépés) száma. A hibaküszöb elérése után a kampány szünetel. Kikapcsoláshoz állítsa 0-ra.\",\n    \"settings.performance.messageRate\": \"Üzenet / másodperc\",\n    \"settings.performance.messageRateHelp\": \"A másodpercenként kiküldhető üzenetek maximális száma. Ha 'Egyidejűség' = 10 és 'Üzenet / másodperc' = 10, akkor másodpercenként legfeljebb 10x10=100 üzenet kerülhet kiküldésre. Fontos, hogy ez a számított érték ne lépje túl a célszerverek korlátozásait.\",\n    \"settings.performance.name\": \"Teljesítmény\",\n    \"settings.performance.slidingWindow\": \"Csúszóablakos korlátozás\",\n    \"settings.performance.slidingWindowDuration\": \"Időtartam\",\n    \"settings.performance.slidingWindowDurationHelp\": \"m: perc, h: óra, d: nap\",\n    \"settings.performance.slidingWindowHelp\": \"Adott időablakban küldött üzenetek számának korlátozása. A korlát elérésekor az üzenetek küldése szünetel, és az ablak ürülésével folytatódik.\",\n    \"settings.performance.slidingWindowRate\": \"Üzenetek száma\",\n    \"settings.performance.slidingWindowRateHelp\": \"Az időablakon belül elküldhető üzenetek száma.\",\n    \"settings.privacy.allowBlocklist\": \"Tiltólista\",\n    \"settings.privacy.allowBlocklistHelp\": \"A tagok leiratkozhatnak az összes levelezőlistáról és tiltólistára tehetik magukat.\",\n    \"settings.privacy.allowExport\": \"Adatok exportálása\",\n    \"settings.privacy.allowExportHelp\": \"A tagok letölthetik a róluk gyűjtött adatok.\",\n    \"settings.privacy.allowPrefs\": \"Tagság módosítása\",\n    \"settings.privacy.allowPrefsHelp\": \"A tagok módosíthatják tagságukat (nevüket, listáikat, stb.).\",\n    \"settings.privacy.allowWipe\": \"Tagság törlése\",\n    \"settings.privacy.allowWipeHelp\": \"A tagok törölhetik midnen adatukat az adatbázisból. A megtekintések és kattintások száma megmarad (nem tagokkal társítva), így ez a kimutatásokat nem érinti.\",\n    \"settings.privacy.domainAllowlist\": \"Engedélyezett domainek listája\",\n    \"settings.privacy.domainAllowlistHelp\": \"Csak ezekkel a domainekkel rendelkező e-mail címek iratkozhatnak fel. Írjon be egy domaint soronként, pl.: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Domain tiltólista\",\n    \"settings.privacy.domainBlocklistHelp\": \"A felsorolt domainekhez tartozó e-mail címekkel nem lehet feliratkozni. Soronként egy domaint adjon meg, pl.: teszt.hu\",\n    \"settings.privacy.individualSubTracking\": \"Megtekintések és kattintások tagokhoz kötése\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Ha ki van kacspolva, a megtekintések és kattintások száma csak összesítve gyűlik.\",\n    \"settings.privacy.listUnsubHeader\": \"`List-Unsubscribe` fejléc\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Ha be van kapcsolva, egyes e-mail kliensek lehetővé teszik az egykattintásos leiratkozást.\",\n    \"settings.privacy.name\": \"Adatvédelem\",\n    \"settings.privacy.recordOptinIP\": \"IP-cím rögzítésére feliratkozás\",\n    \"settings.privacy.recordOptinIPHelp\": \"Az előfizető attribútumainak feljegyzésekor rögzítse a dupla opt-in IP címét.\",\n    \"settings.restart\": \"Újraindítás\",\n    \"settings.security.CORSDomains\": \"Engedélyezett eredetek\",\n    \"settings.security.CORSDomainsHelp\": \"API végpontok elérésének engedélyezése böngésző Javascript-ből külső tartományokról. Egy tartomány soronként (pl: https://example.com). Hagyja üresen a CORS letiltásához vagy adjon hozzá * az összes engedélyezéséhez (nem javasolt).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Felhasználók automatikus létrehozása\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Felhasználó automatikus létrehozása az első bejelentkezéskor, ha a fiók nem létezik.\",\n    \"settings.security.OIDCClientID\": \"Ügyfél-azonosító\",\n    \"settings.security.OIDCClientSecret\": \"Ügyfél titka\",\n    \"settings.security.OIDCDefaultListRole\": \"Alapértelmezett lista szerep\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Alapértelmezett szerep, amely OIDC-ből automatikusan létrehozott felhasználóknak van kiosztva.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Alapértelmezett felhasználói szerep\",\n    \"settings.security.OIDCHelp\": \"Engedélyezze az OpenID Connect OAuth2 bejelentkezést egy OAuth-szolgáltatón keresztül.\",\n    \"settings.security.OIDCName\": \"Szolgáltató neve\",\n    \"settings.security.OIDCRedirectURL\": \"URL-cím átirányítása az oAuth-szolgáltatóhoz\",\n    \"settings.security.OIDCRedirectWarning\": \"Úgy tűnik, ez nem egy éles URL-cím. Módosítsa a gyökér URL-címet az „Általános” beállításokban.\",\n    \"settings.security.OIDCURL\": \"Szolgáltató URL-címe\",\n    \"settings.security.OIDCWarning\": \"Ha az OIDC engedélyezve van, az alapértelmezett jelszó bejelentkezés le van tiltva. Az érvénytelen beállítás kizárhatja Önt.\",\n    \"settings.security.altchaComplexity\": \"Altcha komplexitás\",\n    \"settings.security.altchaComplexityHelp\": \"A magasabb érték jobb biztonságot nyújt, de lassabb megoldást eredményez (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com kulcs\",\n    \"settings.security.captchaKeyHelp\": \"Kulcs és jelszó igénylése a hcaptcha.com oldalon.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com jelszó\",\n    \"settings.security.enableCaptcha\": \"CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"CAPTCHA a nyilvános feliratkozási űrlapon.\",\n    \"settings.security.enableOIDC\": \"OIDC SSO engedélyezése\",\n    \"settings.security.name\": \"Biztonság\",\n    \"settings.smtp.customHeaders\": \"Egyéni fejlécek\",\n    \"settings.smtp.customHeadersHelp\": \"Kimenő üzenetek extra fejlécei. Például: [{\\\"X-K1\\\": \\\"V1\\\"}, {\\\"X-K2\\\": \\\"V2\\\"}]\",\n    \"settings.smtp.enabled\": \"Be\",\n    \"settings.smtp.heloHost\": \"HELO házigazda\",\n    \"settings.smtp.heloHostHelp\": \"(Nem kötelező) Általában `localhost`, de néhány SMTP-kiszolgáló teljes domain nevet vár (FQDN)\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Újrapróbálkozások\",\n    \"settings.smtp.retriesHelp\": \"Az újrapróbálkozások száma, ha az üzenet sikertelen.\",\n    \"settings.smtp.sendTest\": \"E-mail küldése\",\n    \"settings.smtp.setCustomHeaders\": \"Egyéni fejlécek beállítása\",\n    \"settings.smtp.testConnection\": \"Próbaüzenet\",\n    \"settings.smtp.testEnterEmail\": \"Próba jelszó\",\n    \"settings.smtp.toEmail\": \"Címzett\",\n    \"settings.title\": \"Beállítások\",\n    \"settings.updateAvailable\": \"Új verzió érhető el! ({version})\",\n    \"subscribers.activity\": \"Tevékenység\",\n    \"subscribers.advancedQuery\": \"Adatbázis lekérdezés\",\n    \"subscribers.advancedQueryHelp\": \"Részleges SQL kifejezés a tagok lekérdezéséhez\",\n    \"subscribers.attribsHelp\": \"Tetszőleges adat hozzáadása (JSON formátumban). Például:\",\n    \"subscribers.blocklistedHelp\": \"A tiltólistán szereplő tagok soha nem kapnak e-mailt.\",\n    \"subscribers.confirmBlocklist\": \"{num} tag tiltása?\",\n    \"subscribers.confirmDelete\": \"{num} tag törlése?\",\n    \"subscribers.confirmExport\": \"{num} tag exportálása?\",\n    \"subscribers.domainBlocklisted\": \"Az e-mail-tartomány szerepel a tiltólistán.\",\n    \"subscribers.downloadData\": \"Adatok letöltése\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"Az e-mail-cím már szerepel a nyilvántartásban.\",\n    \"subscribers.errorBlocklisting\": \"Hiba a tagok letiltása során: {error}\",\n    \"subscribers.errorNoIDs\": \"Nincsenek megadva az azonosítók.\",\n    \"subscribers.errorNoListsGiven\": \"Nincsenek megadva a listák.\",\n    \"subscribers.errorPreparingQuery\": \"Hiba a lekérdezés előkészítésekor: {error}\",\n    \"subscribers.errorSendingOptin\": \"Hiba a megerősítő e-mail küldésekor.\",\n    \"subscribers.export\": \"Exportálás\",\n    \"subscribers.invalidAction\": \"Érvénytelen művelet.\",\n    \"subscribers.invalidEmail\": \"Érvénytelen e-mail-cím.\",\n    \"subscribers.invalidJSON\": \"Érvénytelen JSON adat.\",\n    \"subscribers.invalidName\": \"Érvénytelen név.\",\n    \"subscribers.listChangeApplied\": \"Lista módosítva.\",\n    \"subscribers.lists\": \"Listák\",\n    \"subscribers.listsHelp\": \"Azok a listák, amelyekről a tagok maguk iratkoztak le, nem távolíthatók el.\",\n    \"subscribers.listsPlaceholder\": \"Feliratkozási listák\",\n    \"subscribers.manageLists\": \"Listák kezelése\",\n    \"subscribers.markUnsubscribed\": \"Megjelölés leiratkozottként\",\n    \"subscribers.newSubscriber\": \"Új tag\",\n    \"subscribers.numSelected\": \"{num} tag kiválasztva\",\n    \"subscribers.optinSubject\": \"Feliratkozás megerősítése\",\n    \"subscribers.preconfirm\": \"Feliratkozások megerősítése\",\n    \"subscribers.preconfirmHelp\": \"Ne küldjön megerősítő e-maileket, és jelölje meg az összes tagot 'feliratkozottként'.\",\n    \"subscribers.query\": \"Lekérdezés\",\n    \"subscribers.queryPlaceholder\": \"E-mail-cím vagy név\",\n    \"subscribers.reset\": \"Visszaállítás\",\n    \"subscribers.selectAll\": \"Összes kijelölése ({num})\",\n    \"subscribers.sendOptinConfirm\": \"Megerősítő e-mail küldése\",\n    \"subscribers.sentOptinConfirm\": \"Megerősítő e-mail elküldve\",\n    \"subscribers.status.blocklisted\": \"Tiltólistán\",\n    \"subscribers.status.confirmed\": \"Megerősített\",\n    \"subscribers.status.enabled\": \"Engedélyezve\",\n    \"subscribers.status.subscribed\": \"Feliratkozva\",\n    \"subscribers.status.unconfirmed\": \"Nem megerősített\",\n    \"subscribers.status.unsubscribed\": \"Leiratkozott\",\n    \"subscribers.subscribersDeleted\": \"{num} tag törölve\",\n    \"templates.cantDeleteDefault\": \"Az alapértelmezett sablon nem törölhető\",\n    \"templates.default\": \"Alapértelmezett\",\n    \"templates.dummyName\": \"Példa kampány\",\n    \"templates.dummySubject\": \"Példa kampány tárgy\",\n    \"templates.errorCompiling\": \"Hiba a sablon összeállításakor: {error}\",\n    \"templates.errorRendering\": \"Hiba az üzenet megjelenítésekor: {error}\",\n    \"templates.fieldInvalidName\": \"A név hossza érvénytelen.\",\n    \"templates.makeDefault\": \"Legyen alapértelmezett\",\n    \"templates.newTemplate\": \"Új sablon\",\n    \"templates.placeholderHelp\": \"A(z) {placeholder} pontosan egyszer helyettesíthető be.\",\n    \"templates.preview\": \"Előnézet\",\n    \"templates.rawHTML\": \"HTML-forrás\",\n    \"templates.subject\": \"Tárgy\",\n    \"templates.typeCampaignHTML\": \"Kampány / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampány / Vizuális\",\n    \"templates.typeTransactional\": \"Tranzakciós\",\n    \"users.apiOneTimeToken\": \"Másolja ki most az API hozzáférési tokent. Nem jelenik meg újra.\",\n    \"users.cantDeleteRole\": \"A használatban lévő szerepkör nem törölhető.\",\n    \"users.firstTime\": \"Ez egy friss telepítés. Válasszon felhasználónevet és jelszót a Super Admin fiókhoz.\",\n    \"users.forgotPassword\": \"Elfelejtett jelszó?\",\n    \"users.invalidLogin\": \"Érvénytelen bejelentkezési név vagy jelszó\",\n    \"users.invalidPassword\": \"Érvénytelen jelszó\",\n    \"users.invalidRequest\": \"Érvénytelen hitelesítési kérelem\",\n    \"users.invalidResetLink\": \"Érvénytelen vagy lejárt alaphelyzetbe állítási hivatkozás\",\n    \"users.lastLogin\": \"Utolsó bejelentkezés\",\n    \"users.listPerms\": \"Lista engedélyek\",\n    \"users.listPermsWarning\": \"A lists:get_all vagy a lists:manage_all engedélyezve van, amely felülbírálja a listánkénti engedélyeket\",\n    \"users.listRole\": \"Lista szerepkör\",\n    \"users.listRoles\": \"Lista szerepkörök\",\n    \"users.login\": \"Belépés\",\n    \"users.loginOIDC\": \"Bejelentkezés a következővel: {name}\",\n    \"users.logout\": \"Kijelentkezés\",\n    \"users.needSuper\": \"A felhasználó(k) nem tudták frissíteni. Legalább egy aktív Super Admin felhasználónak kell lennie.\",\n    \"users.newListRole\": \"Új lista szerepkör\",\n    \"users.newPassword\": \"Új jelszó\",\n    \"users.newUser\": \"Új felhasználó\",\n    \"users.newUserRole\": \"Új felhasználói szereplő\",\n    \"users.password\": \"Jelszó\",\n    \"users.passwordEnable\": \"Jelszavas bejelentkezés engedélyezése\",\n    \"users.passwordMismatch\": \"A jelszavak nem egyeznek\",\n    \"users.passwordRepeat\": \"Jelszó ismétlése\",\n    \"users.perms\": \"Engedélyek\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Ha a fiók aktív, kapni fogsz egy jelszóvisszaállítási e-mailt.\",\n    \"users.resetPassword\": \"Jelszó alaphelyzetbe állítása\",\n    \"users.role\": \"Szerepkör| Szerepkörök\",\n    \"users.roleGroup\": \"Csoport\",\n    \"users.roles\": \"Szerepkörök\",\n    \"users.status.disabled\": \"Letiltva\",\n    \"users.status.enabled\": \"Engedélyezve\",\n    \"users.totpCode\": \"TOTP-kód\",\n    \"users.totpCodeHelp\": \"Írja be az authenticator alkalmazásból származó 6 jegyű kódot\",\n    \"users.totpScanQR\": \"Olvassa be a QR-kódot az authenticator alkalmazásával, például az Ente vagy Google Authenticator, és írja be az alábbi TOTP-kódot.\",\n    \"users.totpSecret\": \"Titkos kulcs\",\n    \"users.twoFA\": \"Kétfaktoros hitelesítés\",\n    \"users.twoFAAlreadyEnabled\": \"A kétfaktoros hitelesítés már engedélyezve van.\",\n    \"users.twoFAEnabled\": \"A kétfaktoros hitelesítés bekapcsolt\",\n    \"users.twoFAEnabledDesc\": \"A fiókod {type} 2FA-val védett\",\n    \"users.twoFANotEnabled\": \"Engedélyezze a 2FA-t a fiókjába való bejelentkezéskor a jobb biztonság érdekében.\",\n    \"users.type\": \"Típus\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Szuper rendszergazda\",\n    \"users.type.user\": \"Felhasználó\",\n    \"users.userRole\": \"Felhasználói szerepkör | Felhasználói szerepkörök\",\n    \"users.userRoles\": \"Felhasználói szerepkörök\",\n    \"users.username\": \"Felhasználónév\",\n    \"users.usernameHelp\": \"Jelszavas bejelentkezéssel használható\"\n}\n"
  },
  {
    "path": "i18n/it.json",
    "content": "{\n    \"_.code\": \"it\",\n    \"_.name\": \"Italiano (it)\",\n    \"admin.errorMarshallingConfig\": \"Errore durante la lettura della configurazione: {error}\",\n    \"analytics.count\": \"Conteggio\",\n    \"analytics.fromDate\": \"Da\",\n    \"analytics.invalidDates\": \"Date `da` o `fino` non valide.\",\n    \"analytics.isUnique\": \"I conteggi sono unici per iscritto.\",\n    \"analytics.links\": \"Link\",\n    \"analytics.nonUnique\": \"I conteggi non sono univoci poiché il monitoraggio dei singoli iscritti è disattivato.\",\n    \"analytics.title\": \"Analitiche\",\n    \"analytics.toDate\": \"a\",\n    \"bounces.complaint\": \"Reclamo\",\n    \"bounces.hard\": \"Difficile\",\n    \"bounces.soft\": \"Facile\",\n    \"bounces.source\": \"Sorgente\",\n    \"bounces.unknownService\": \"Servizio sconosciuto.\",\n    \"bounces.view\": \"Visualizza i rimbalzi\",\n    \"campaigns.addAltText\": \"Aggiungere un messaggio sostitutivo in testo semplice\",\n    \"campaigns.addAttachments\": \"Aggiungi allegati\",\n    \"campaigns.archive\": \"Archivio\",\n    \"campaigns.archiveEnable\": \"Rendere pubblico l'archivio\",\n    \"campaigns.archiveHelp\": \"Pubblicare i messaggi delle campagne (avviate, messe in pausa, terminate) nell'archivio pubblico.\",\n    \"campaigns.archiveMeta\": \"Metadati della campagna\",\n    \"campaigns.archiveMetaHelp\": \"Dati fittizi dell'iscritto da utilizzare nel messaggio pubblico, inclusi nome, email ed eventuali attributi facoltativi utilizzati nel messaggio o nel modello della campagna.\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Un nome breve per la pagina da utilizzare nell'URL pubblico. es: mia-newsletter-edizione-2\",\n    \"campaigns.attachments\": \"Allegati\",\n    \"campaigns.attribsHelp\": \"Attributi personalizzati di oggetto JSON {} per questa campagna. Usa nel modello con {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Impossibile aggiornare una campagna in corso o già effettuata.\",\n    \"campaigns.clicks\": \"Click\",\n    \"campaigns.confirmDelete\": \"Cancellare {nome}\",\n    \"campaigns.confirmOverwriteContent\": \"Questo sovrascriverà tutto il contenuto. Continuare?\",\n    \"campaigns.confirmSchedule\": \" Questa campagna inizierà automaticamente alla data e all'ora programmate. Programmare adesso?\",\n    \"campaigns.confirmSwitchFormat\": \"Il contenuto può perdere la sua formattazione. Continuare?\",\n    \"campaigns.content\": \"Contenuto\",\n    \"campaigns.contentHelp\": \"Contenuto qui\",\n    \"campaigns.continue\": \"Continuare\",\n    \"campaigns.copyOf\": \"Copie di {name}\",\n    \"campaigns.customHeadersHelp\": \"Lista di header personalizzati da allegare ai messaggi in uscita. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Data e ora\",\n    \"campaigns.ended\": \"Terminata\",\n    \"campaigns.errorSendTest\": \"Errore durante il test di invio: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Errore durante la compilazione del contenuto della campagna: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`Mittente` non valido.\",\n    \"campaigns.fieldInvalidListIDs\": \"ID della lista non valido.\",\n    \"campaigns.fieldInvalidMessenger\": \"Strumento di messaggistica sconosciuto {name}.\",\n    \"campaigns.fieldInvalidName\": \"Lunghezza del nome non valida.\",\n    \"campaigns.fieldInvalidSendAt\": \"La data programmata deve essere futura.\",\n    \"campaigns.fieldInvalidSubject\": \"Lunghezza dell'oggetto non valida.\",\n    \"campaigns.format\": \"Formato\",\n    \"campaigns.formatHTML\": \"Formatta HTML\",\n    \"campaigns.fromAddress\": \"Mittente\",\n    \"campaigns.fromAddressPlaceholder\": \"Tuo nome <noreply@tuosito.com>\",\n    \"campaigns.importVisualTemplate\": \"Importa template visuale\",\n    \"campaigns.invalid\": \"Campagna non valida\",\n    \"campaigns.invalidCustomHeaders\": \"Header personalizzati non validi: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"È necessaria una data per programmare la campagna.\",\n    \"campaigns.newCampaign\": \"Nuova campagna\",\n    \"campaigns.noKnownSubsToTest\": \"Nessun iscritto conosciuto da testare.\",\n    \"campaigns.noOptinLists\": \"Nessuna lista opt-in trovata per poter creare una campagna.\",\n    \"campaigns.noSubs\": \"Non esiste alcun iscritto nelle liste selezionate per creare la campagna.\",\n    \"campaigns.noSubsToTest\": \"Non c'è alcun iscritto a cui rivolgersi.\",\n    \"campaigns.notFound\": \"Campagna introvabile.\",\n    \"campaigns.onlyActiveCancel\": \"Solo le campagne attive possono essere annullate.\",\n    \"campaigns.onlyActivePause\": \"Solo le campagne attive possono essere messe in pausa.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Solo le bozze delle campagne possono essere programmate.\",\n    \"campaigns.onlyPausedDraft\": \"Solo le bozze e le campagne in pausa possono essere lanciate.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Solo le campagne pianificate possono essere registrate come bozze.\",\n    \"campaigns.pause\": \"Pausa\",\n    \"campaigns.plainText\": \"Testo semplice\",\n    \"campaigns.preview\": \"Anteprima\",\n    \"campaigns.progress\": \"Avanzamento\",\n    \"campaigns.queryPlaceholder\": \"Nome o oggetto\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML semplice\",\n    \"campaigns.removeAltText\": \"Cancellare il messaggio sostitutivo in testo semplice\",\n    \"campaigns.richText\": \"Testo formattato\",\n    \"campaigns.schedule\": \"Programmare la campagna\",\n    \"campaigns.scheduled\": \"Programmata\",\n    \"campaigns.send\": \"Inviare\",\n    \"campaigns.sendLater\": \"Inviare più tardi\",\n    \"campaigns.sendTest\": \"Inviare un messaggio di testo\",\n    \"campaigns.sendTestHelp\": \"Per aggiungere più destinatari, premi Invio dopo aver aggiunto un indirizzo. Gli indirizzi devono appartenere a iscritti esistenti.\",\n    \"campaigns.sendToLists\": \"Liste da inviare a\",\n    \"campaigns.sent\": \"Inviato\",\n    \"campaigns.start\": \"Lanciare la campagna\",\n    \"campaigns.started\": \"\\\"{name}\\\" è iniziata\",\n    \"campaigns.startedAt\": \"Iniziata\",\n    \"campaigns.stats\": \"Statistiche\",\n    \"campaigns.status.cancelled\": \"Annullata\",\n    \"campaigns.status.draft\": \"Bozza\",\n    \"campaigns.status.finished\": \"Terminata\",\n    \"campaigns.status.paused\": \"In pausa\",\n    \"campaigns.status.running\": \"In corso\",\n    \"campaigns.status.scheduled\": \"Programmata\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" e {status}\",\n    \"campaigns.subject\": \"Oggetto\",\n    \"campaigns.templatingRef\": \"Riferimento di Templating\",\n    \"campaigns.testEmails\": \"Emails di prova\",\n    \"campaigns.testSent\": \"Messaggio di prova inviato\",\n    \"campaigns.timestamps\": \"Marcatura temporale\",\n    \"campaigns.trackLink\": \"Link di tracciamento\",\n    \"campaigns.unSchedule\": \"Annulla pianificazione\",\n    \"campaigns.views\": \"Visualizzazioni\",\n    \"campaigns.visual\": \"Visuale\",\n    \"dashboard.campaignViews\": \"Visualizzazioni della campagna\",\n    \"dashboard.linkClicks\": \"Clic sui link\",\n    \"dashboard.messagesSent\": \"Messaggi inviati\",\n    \"dashboard.orphanSubs\": \"Orfani\",\n    \"email.data.info\": \"È stato aggiunto un file JSON contenente l'insieme dei tuoi dati salvati. Può essere visualizzato in un editore di testo.\",\n    \"email.data.title\": \"I tuoi dati\",\n    \"email.forgotPassword.button\": \"Resetta password\",\n    \"email.forgotPassword.info\": \"Se non hai richiesto questa email, puoi tranquillamente ignorarla. Questo link scadrà tra 30 minuti..\",\n    \"email.forgotPassword.subject\": \"Resetta la tua password\",\n    \"email.optin.confirmSub\": \"Confermare l'iscrizione\",\n    \"email.optin.confirmSubHelp\": \"Conferma la tua iscrizione cliccando sul pulsante qui sotto.\",\n    \"email.optin.confirmSubInfo\": \"Sei stato aggiunto alle liste seguenti:\",\n    \"email.optin.confirmSubTitle\": \"Confermare l'iscrizione\",\n    \"email.optin.confirmSubWelcome\": \"Buongiorno\",\n    \"email.optin.privateList\": \"Lista privata\",\n    \"email.status.campaignReason\": \"Ragione\",\n    \"email.status.campaignSent\": \"Inviata\",\n    \"email.status.campaignUpdateTitle\": \"Aggiornamento della campagna\",\n    \"email.status.importFile\": \"Archivio\",\n    \"email.status.importRecords\": \"Salvataggi\",\n    \"email.status.importTitle\": \"Importare l'aggiornamento\",\n    \"email.status.status\": \"Stato\",\n    \"email.unsub\": \"Cancella iscrizione\",\n    \"email.unsubHelp\": \"Non desideri ricevere queste mail?\",\n    \"email.viewInBrowser\": \"Visualizzare nel navigatore\",\n    \"forms.formHTML\": \"Formulario HTML\",\n    \"forms.formHTMLHelp\": \"Fai servire questo codice HTML per visualizzare un formulario d'iscrizione su una pagina Web esterna.  Il formulario deve avere il campo `email` e uno o più campi `l` (liste UUID). Il campo nome è facoltativo.\",\n    \"forms.noPublicLists\": \"Non ci sono liste pubbliche per generare un formulario.\",\n    \"forms.publicLists\": \"Liste pubbliche\",\n    \"forms.publicSubPage\": \"Pagina di iscrizione pubblica\",\n    \"forms.selectHelp\": \"Seleziona le liste da aggiungere al formulario.\",\n    \"forms.title\": \"Formulari\",\n    \"globals.buttons.add\": \"Aggiungi\",\n    \"globals.buttons.addNew\": \"Aggiungi nuovo\",\n    \"globals.buttons.back\": \"Indietro\",\n    \"globals.buttons.cancel\": \"Annulla\",\n    \"globals.buttons.clear\": \"Cancellare\",\n    \"globals.buttons.clearAll\": \"Cancellare tutto/e\",\n    \"globals.buttons.clone\": \"Clona\",\n    \"globals.buttons.close\": \"Chiudi\",\n    \"globals.buttons.continue\": \"Continuare\",\n    \"globals.buttons.copy\": \"Copia\",\n    \"globals.buttons.delete\": \"Cancellare\",\n    \"globals.buttons.deleteAll\": \"Cancellare tutto\",\n    \"globals.buttons.disable\": \"Disabilita\",\n    \"globals.buttons.edit\": \"Modifica\",\n    \"globals.buttons.enable\": \"Abilita\",\n    \"globals.buttons.enabled\": \"Attivata\",\n    \"globals.buttons.insert\": \"Inserire\",\n    \"globals.buttons.learnMore\": \"Per saperne di più\",\n    \"globals.buttons.manage\": \"Gestisci\",\n    \"globals.buttons.more\": \"Di più\",\n    \"globals.buttons.new\": \"Nuovo\",\n    \"globals.buttons.ok\": \"Ok\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Cancellare\",\n    \"globals.buttons.save\": \"Salvare\",\n    \"globals.buttons.saveChanges\": \"Salvare le modifiche\",\n    \"globals.buttons.toggleSelect\": \"Attiva selezione\",\n    \"globals.buttons.view\": \"Vedi\",\n    \"globals.days.0\": \"Dom\",\n    \"globals.days.1\": \"Dom\",\n    \"globals.days.2\": \"Lun\",\n    \"globals.days.3\": \"Mar\",\n    \"globals.days.4\": \"Mer\",\n    \"globals.days.5\": \"Gio\",\n    \"globals.days.6\": \"Ven\",\n    \"globals.days.7\": \"Sab\",\n    \"globals.fields.createdAt\": \"Creato il\",\n    \"globals.fields.description\": \"Descrizione\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nome\",\n    \"globals.fields.status\": \"Stato\",\n    \"globals.fields.type\": \"Tipo\",\n    \"globals.fields.updatedAt\": \"Aggiornato il\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Sei sicuro?\",\n    \"globals.messages.confirmDelete\": \"Eliminare {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Annullare le modifiche?\",\n    \"globals.messages.copied\": \"Copiato\",\n    \"globals.messages.created\": \"\\\"{name}\\\" creato\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" cancellato\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) cancellato\",\n    \"globals.messages.done\": \"Fatto\",\n    \"globals.messages.emptyState\": \"Niente da visualizzare\",\n    \"globals.messages.errorCreating\": \"Errore durante la creazione di {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Errore durante la cancellazione di {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Errore durante il recupero di {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Una o più credenziali fornite non valide: {error}\",\n    \"globals.messages.errorUUID\": \"Errore durante la generazione dell'UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Errore durante l'aggiornamento di {name}: {error}\",\n    \"globals.messages.internalError\": \"Errore interno nel server\",\n    \"globals.messages.invalidData\": \"Dati non validi\",\n    \"globals.messages.invalidFields\": \"Campi non validi: {name}\",\n    \"globals.messages.invalidID\": \"ID non valido\",\n    \"globals.messages.invalidUUID\": \"UUID non valido\",\n    \"globals.messages.invalidValue\": \"Valore non valido\",\n    \"globals.messages.missingFields\": \"Valore/i mancante/i: {name}\",\n    \"globals.messages.notFound\": \"{name} introvabile\",\n    \"globals.messages.numSelected\": \"{num} selezionati\",\n    \"globals.messages.passwordChange\": \"Inserisci un valore da modificare\",\n    \"globals.messages.passwordChangeFull\": \"Cancella e reinserisci la password completa in '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permesso negato: {name}\",\n    \"globals.messages.selectAll\": \"Seleziona tutti {num}\",\n    \"globals.messages.slowQueriesCached\": \"Le query lente vengono memorizzate nella cache. Alcuni numeri in questa pagina potrebbero non essere aggiornati.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" aggiornato\",\n    \"globals.months.1\": \"Gen\",\n    \"globals.months.10\": \"Ott\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dic\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Mag\",\n    \"globals.months.6\": \"Giu\",\n    \"globals.months.7\": \"Lug\",\n    \"globals.months.8\": \"Ago\",\n    \"globals.months.9\": \"Set\",\n    \"globals.states.off\": \"Spenti\",\n    \"globals.terms.all\": \"Tutti\",\n    \"globals.terms.analytics\": \"Analitiche\",\n    \"globals.terms.attribs\": \"Attributi\",\n    \"globals.terms.bounce\": \"Rimbalzo | Rimbalzi\",\n    \"globals.terms.bounces\": \"Rimbalzi\",\n    \"globals.terms.campaign\": \"Campagna | Campagne\",\n    \"globals.terms.campaigns\": \"Campagne\",\n    \"globals.terms.dashboard\": \"Bacheca\",\n    \"globals.terms.day\": \"Giorno | Giorni\",\n    \"globals.terms.hour\": \"Ora | Ore\",\n    \"globals.terms.import\": \"Importa\",\n    \"globals.terms.list\": \"Lista | Liste\",\n    \"globals.terms.lists\": \"Liste\",\n    \"globals.terms.media\": \"Media | Media\",\n    \"globals.terms.messenger\": \"Strumento di messaggistica | Strumenti di messaggistica\",\n    \"globals.terms.messengers\": \"Strumento di messaggistica\",\n    \"globals.terms.minute\": \"Minuto | Minuti\",\n    \"globals.terms.month\": \"Mese | Mesi\",\n    \"globals.terms.new\": \"Nuovo\",\n    \"globals.terms.none\": \"Nessuno\",\n    \"globals.terms.second\": \"Secondo | Secondi\",\n    \"globals.terms.settings\": \"Impostazioni\",\n    \"globals.terms.subscriber\": \"Iscritto | Iscritti\",\n    \"globals.terms.subscribers\": \"Iscritti\",\n    \"globals.terms.subscriptions\": \"Iscrizione | Iscrizioni\",\n    \"globals.terms.tag\": \"Etichetta | Etichette\",\n    \"globals.terms.tags\": \"Etichette\",\n    \"globals.terms.template\": \"Modello | Modelli\",\n    \"globals.terms.templates\": \"Modelli\",\n    \"globals.terms.tx\": \"Transazionale | Transazionali\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Utente | Utenti\",\n    \"globals.terms.users\": \"Utenti\",\n    \"globals.terms.year\": \"Anno | Anni\",\n    \"import.alreadyRunning\": \"Un'importazione è già in corso. Aspetta che finisca o interrompila prima di riprovare.\",\n    \"import.blocklist\": \"Lista degli indirizzi bloccati\",\n    \"import.csvDelim\": \"Delimitatore CSV\",\n    \"import.csvDelimHelp\": \"Il delimitatore predefinito è la virgola.\",\n    \"import.csvExample\": \"Esempio di CSV semplice\",\n    \"import.csvFile\": \"Archivio CSV o ZIP\",\n    \"import.csvFileHelp\": \"Clicca o trascina qui un file CSV o ZIP\",\n    \"import.errorCopyingFile\": \"Errore durante la copia del file: {error}\",\n    \"import.errorProcessingZIP\": \"Errore durante il trattamento del file ZIP: {error}\",\n    \"import.errorStarting\": \"Errore durante l'avvio dell'importazione: {error}\",\n    \"import.importDone\": \"Finito\",\n    \"import.importStarted\": \"L'importazione è iniziata\",\n    \"import.instructions\": \"Istruzioni\",\n    \"import.instructionsHelp\": \"Carica un archivio CSV o ZIP contenente un solo CSV per importare iscritti in massa. Il file CSV deve avere le seguenti intestazioni con i nomi delle colonne esatti. Gli attributi (facoltativi) devono essere delle stringhe JSON valide tra virgolette doppie.\",\n    \"import.invalidDelim\": \"Il delimitatore deve essere un singolo carattere.\",\n    \"import.invalidFile\": \"Archivio non valido: {error}\",\n    \"import.invalidMode\": \"Modalità non valida\",\n    \"import.invalidParams\": \"Parametri non validi: {error}\",\n    \"import.invalidSubStatus\": \"Stato dell'iscrizione/i non valida/e\",\n    \"import.listSubHelp\": \"Liste a cui iscriversi.\",\n    \"import.mode\": \"Modalità\",\n    \"import.overwriteSubStatus\": \"Sovrascrivi stato sottoscrizione\",\n    \"import.overwriteSubStatusHelp\": \"Sovrascrivi lo stato degli abbonamenti elenco esistenti\",\n    \"import.overwriteUserInfo\": \"Sovrascrivi informazioni utente\",\n    \"import.overwriteUserInfoHelp\": \"Sovrascrivi nome e attributi degli abbonati esistenti\",\n    \"import.recordsCount\": \"{num} / {total} salvataggi\",\n    \"import.stopImport\": \"Interrompere l'importazione\",\n    \"import.subscribe\": \"Iscriversi\",\n    \"import.subscribeWarning\": \"Sovrascrivere sottoscriverà nuovamente gli indirizzi email non sottoscritti. Continuare?\",\n    \"import.title\": \"Importare iscritti\",\n    \"import.upload\": \"Caricare\",\n    \"lists.archived\": \"Archiviato\",\n    \"lists.archivedHelp\": \"L'archiviazione nasconde gli elenchi dalla pagina degli elenchi, dalle campagne e dai moduli pubblici. L'archiviazione può essere ripristinata in qualsiasi momento. È utile per nascondere elenchi vecchi e raramente utilizzati.\",\n    \"lists.confirmDelete\": \"Sei sicuro? Questo non cancella gli iscritti\",\n    \"lists.confirmSub\": \"Confermare gli iscritti di {name}\",\n    \"lists.invalidName\": \"Nome errato\",\n    \"lists.newList\": \"Nuova lista\",\n    \"lists.optin\": \"Iscrizione\",\n    \"lists.optinHelp\": \"Opt-in doppio invia una mail all'iscritto richiedendo la sua conferma. Per le liste opt-in doppio, le campagne vengono inviate solo agli iscritti che hanno confermato.\",\n    \"lists.optinTo\": \"Attivare {name}\",\n    \"lists.optins.double\": \"Opt-in doppio\",\n    \"lists.optins.single\": \"Opt-in semplice\",\n    \"lists.sendCampaign\": \"Inviare la campagna\",\n    \"lists.sendOptinCampaign\": \"Inviare una campagna opt-in\",\n    \"lists.type\": \"Tipo\",\n    \"lists.typeHelp\": \"Le liste pubbliche sono libere d'accesso in abbonamento e i loro nomi sono visibili sulle pagine pubbliche come ad esempio la pagina della gestione degli abbonamenti.\",\n    \"lists.types.private\": \"Privata\",\n    \"lists.types.public\": \"Pubblico\",\n    \"logs.title\": \"Log\",\n    \"maintenance.database.title\": \"Database\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE recupera lo spazio utilizzato dalle righe eliminate e accelera significativamente le prestazioni del database su database di grandi dimensioni. IMPORTANTE: Per i database di grandi dimensioni, si tratta di un'operazione lenta e bloccante. Pianifica l'esecuzione durante le ore di minore utilizzo.\",\n    \"maintenance.help\": \"Alcune azioni possono impiegare un po' di tempo dovuto alla quantità di dati da processare.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Iscrizioni `opt-in` da confermare\",\n    \"maintenance.olderThan\": \"Più vecchio di\",\n    \"maintenance.orphanHelp\": \"Orfani = abbonati senza liste\",\n    \"maintenance.title\": \"Manutenzione\",\n    \"maintenance.unconfirmedSubs\": \"Iscrizioni `opt-in` da confermare in attesa da più di {name} giorni.\",\n    \"media.errorReadingFile\": \"Errore di lettura del file: {error}\",\n    \"media.errorResizing\": \"Errore di ridimensionamento dell'immagine: {error}\",\n    \"media.errorSavingThumbnail\": \"Errore durante il salvataggio dell'immagine: {error}\",\n    \"media.errorUploading\": \"Errore durante il caricamento del file: {error}\",\n    \"media.invalidFile\": \"File non valido: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Tipo di file non supportato ({type})\",\n    \"media.upload\": \"Caricare\",\n    \"media.uploadHelp\": \"Seleziona o trascina qui una o più immagini\",\n    \"menu.allCampaigns\": \"Tutte le campagne\",\n    \"menu.allLists\": \"Tutte le liste\",\n    \"menu.allSubscribers\": \"Tutti gli iscritti\",\n    \"menu.dashboard\": \"Bacheca\",\n    \"menu.forms\": \"Formulari\",\n    \"menu.import\": \"Importare\",\n    \"menu.logs\": \"Log\",\n    \"menu.maintenance\": \"Manutenzione\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Creare nuovo\",\n    \"menu.settings\": \"Impostazioni\",\n    \"public.archiveEmpty\": \"Non ci sono ancora messaggi achiviati.\",\n    \"public.archiveTitle\": \"Archivio della mailing-list\",\n    \"public.blocklisted\": \"Cancellato permanentemente.\",\n    \"public.campaignNotFound\": \"Newsletter impossibile da trovare.\",\n    \"public.confirmOptinSubTitle\": \"Confermare l'iscrizione\",\n    \"public.confirmSub\": \"Confermare l'iscrizione\",\n    \"public.confirmSubInfo\": \"Sei stato aggiunto alle liste seguenti:\",\n    \"public.confirmSubTitle\": \"Confermare\",\n    \"public.dataRemoved\": \"I tuoi abbonamenti e tutti i dati associati sono stati cancellati.\",\n    \"public.dataRemovedTitle\": \"Dati cancellati\",\n    \"public.dataSent\": \"I tuoi dati ti sono stati trasmessi via mail.\",\n    \"public.dataSentTitle\": \"Dati trasmessi via mail\",\n    \"public.errorFetchingCampaign\": \"Errore durante il recupero della mail.\",\n    \"public.errorFetchingEmail\": \"Messaggio mail impossibile da trovare\",\n    \"public.errorFetchingLists\": \"Errore durante il recupero delle liste. Per favore, riprova.\",\n    \"public.errorProcessingRequest\": \"Errore durante la gestione della richiesta. Per favore, riprova.\",\n    \"public.errorTitle\": \"Errore\",\n    \"public.invalidCaptcha\": \"CAPTCHA non valido.\",\n    \"public.invalidFeature\": \"Questa funzione non è disponibile.\",\n    \"public.invalidLink\": \"Link non valido\",\n    \"public.managePrefs\": \"Modifica impostazioni\",\n    \"public.managePrefsUnsub\": \"Deseleziona per togliere l'iscrizione.\",\n    \"public.noListsAvailable\": \"Nessuna lista disponibile per l'iscrizione.\",\n    \"public.noListsSelected\": \"Nessuna lista valida selezionata per l'iscrizione.\",\n    \"public.noSubInfo\": \"Non ci sono iscrizioni da confermare.\",\n    \"public.noSubTitle\": \"Nessuna iscrizione\",\n    \"public.notFoundTitle\": \"Non trovato\",\n    \"public.poweredBy\": \"Realizzato da\",\n    \"public.prefsSaved\": \"Salvate le tue l'impostazioni.\",\n    \"public.privacyConfirmWipe\": \"Sei sicuro di voler cancellare in modo permanente tutti i tuoi dati d'iscrizione?\",\n    \"public.privacyExport\": \"Esporta i tuoi dati\",\n    \"public.privacyExportHelp\": \"Una copia dei tuoi dati ti sarà trasmessa via mail.\",\n    \"public.privacyTitle\": \"Privacy e dati\",\n    \"public.privacyWipe\": \"Cancella i tuoi dati\",\n    \"public.privacyWipeHelp\": \"Cancella in modo permanente tutte le tue iscrizioni e relativi dati dal database.\",\n    \"public.sub\": \"Iscriversi\",\n    \"public.subConfirmed\": \"Iscrizione avvenuta con successo.\",\n    \"public.subConfirmedTitle\": \"Confermato\",\n    \"public.subName\": \"Nome (facoltativo)\",\n    \"public.subNotFound\": \"Iscrizione impossibile da trovare.\",\n    \"public.subOptinPending\": \"Una mail per confermare l'iscrizione è stata inviata alla tua casella di posta.\",\n    \"public.subPrivateList\": \"Lista privata\",\n    \"public.subTitle\": \"Iscriversi\",\n    \"public.unsub\": \"Cancella iscrizione\",\n    \"public.unsubFull\": \"Cancella iscrizione anche per tutte le mail future.\",\n    \"public.unsubHelp\": \"Vuoi cancellare l'iscrizione da questa newsletter?\",\n    \"public.unsubTitle\": \"Cancella iscrizione\",\n    \"public.unsubbedInfo\": \"La cancellazione è avvenuta con successo.\",\n    \"public.unsubbedTitle\": \"Iscrizione annullata\",\n    \"public.unsubscribeTitle\": \"Cancella l'iscrizione dalla newsletter\",\n    \"settings.appearance.adminHelp\": \"CSS personalizzato da applicare all'interfaccia amministrativa.\",\n    \"settings.appearance.adminName\": \"Amministrazione\",\n    \"settings.appearance.customCSS\": \"CSS personalizzato\",\n    \"settings.appearance.customJS\": \"JavaScript personalizzato\",\n    \"settings.appearance.name\": \"Apparenza\",\n    \"settings.appearance.publicHelp\": \"CSS e JavaScript personalizzati da applicare alle pagine pubbliche.\",\n    \"settings.appearance.publicName\": \"Pubblico\",\n    \"settings.bounces.action\": \"Azione\",\n    \"settings.bounces.blocklist\": \"Elenco bloccato\",\n    \"settings.bounces.count\": \"Numero di rimbalzi\",\n    \"settings.bounces.countHelp\": \"Numero di rimbalzi per iscritto\",\n    \"settings.bounces.enable\": \"Abilita il processamento dei rimbalzi\",\n    \"settings.bounces.enableForwardemail\": \"Abilita inoltro email\",\n    \"settings.bounces.enableMailbox\": \"Abilita la casella di posta per i rimbalzi\",\n    \"settings.bounces.enablePostmark\": \"Attiva Postmark\",\n    \"settings.bounces.enableSES\": \"Attiva SES\",\n    \"settings.bounces.enableSendgrid\": \"Attiva SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Attiva rimbalzi webhooks\",\n    \"settings.bounces.enabled\": \"Attivato\",\n    \"settings.bounces.folder\": \"Cartella\",\n    \"settings.bounces.folderHelp\": \"Nome della cartella IMAP da analizzare. Ad esempio: Posta in arrivo.\",\n    \"settings.bounces.forwardemailKey\": \"Chiave inoltro email\",\n    \"settings.bounces.invalidScanInterval\": \"L'intervallo di scansione dei rimbalzi deve essere di almeno 1 minuto.\",\n    \"settings.bounces.name\": \"Rimbalzi\",\n    \"settings.bounces.none\": \"Nessuno\",\n    \"settings.bounces.postmarkPassword\": \"Password di Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Username di Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark ti permette di attivare una autenticazione base per i webhooks. Assicurati di inserire le stesse credenziali qui e nelle impostazioni webhook di Postmark.\",\n    \"settings.bounces.scanInterval\": \"Intervallo di scansione\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervallo con cui la mailbox di rimbalzo deve essere scansionata per i rimbalzi (s per secondo, m per minuto).\",\n    \"settings.bounces.sendgridKey\": \"Chiave SendGrid\",\n    \"settings.bounces.type\": \"Tipo\",\n    \"settings.bounces.username\": \"Nome utente\",\n    \"settings.confirmRestart\": \"Assicurati che le campagne siano in pausa. Riavviare?\",\n    \"settings.duplicateMessengerName\": \"Nome nella messaggistica doppio: {name}\",\n    \"settings.errorEncoding\": \"Errore durante la codifica dei parametri: {error}\",\n    \"settings.errorNoSMTP\": \"Devi attivare almeno un blocco SMTP\",\n    \"settings.general.adminNotifEmails\": \"Mail di notifica amministratore\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista indirizzi mail separati da virgole ai quali saranno inviate notifiche di amministrazione come gli aggiornamenti di importazione, la fine della campagna, eventuali problemi ecc.\",\n    \"settings.general.checkUpdates\": \"Cerca nuovi aggiornamenti.\",\n    \"settings.general.checkUpdatesHelp\": \"Controlla periodicamente se ci sono nuove versioni dell'app e notificami.\",\n    \"settings.general.enablePublicArchive\": \"Abilita la pagina pubblica di archivio delle mail\",\n    \"settings.general.enablePublicArchiveHelp\": \"Rendere pubbliche le campagne in cui l'archivio pubblico nella pagina web è stato abilitato.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Mostrare l'intero contenuto nel feed RSS.\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Mostrare l'intero contenuto della mail nel feed RSS. Se è disattivato, vengono mostrati solo gli elementi titolo e collegamento.\",\n    \"settings.general.enablePublicSubPage\": \"Attiva la pagina di iscrizione pubblica\",\n    \"settings.general.enablePublicSubPageHelp\": \"Visualizza una pagina di iscrizione pubblica con tutte le liste pubbliche a cui è possibile iscriversi.\",\n    \"settings.general.faviconURL\": \"URL della favicon\",\n    \"settings.general.faviconURLHelp\": \"(Facoltativo) URL completo della favicon statica visibile dall'utente, come sulla pagina per annullare l'iscrizione.\",\n    \"settings.general.fromEmail\": \"Indirizzo mail `Mittente` predefinito\",\n    \"settings.general.fromEmailHelp\": \"Indirizzo mail `Mittente` nelle mail delle campagne uscenti visibile in modo predefinito. Questo parametro è modificabile per ogni campagna.\",\n    \"settings.general.language\": \"Lingua\",\n    \"settings.general.logoURL\": \"URL del logo\",\n    \"settings.general.logoURLHelp\": \"(Facoltativo) URL completo del logo statico visibile dall'utente come sulla pagina per annullare l'iscrizione.\",\n    \"settings.general.name\": \"Generale\",\n    \"settings.general.rootURL\": \"Radice dell'URL\",\n    \"settings.general.rootURLHelp\": \"URL pubblico dell'installazione (senza barra obliqua finale).\",\n    \"settings.general.sendOptinConfirm\": \"Inviare la conferma di `opt-in`\",\n    \"settings.general.sendOptinConfirmHelp\": \"Manda una email di conferma d'iscrizione quando un utente si iscrive dal form pubblico o quando viene aggiunto dall'amministratore.\",\n    \"settings.general.siteName\": \"Nome del sito\",\n    \"settings.invalidMessengerName\": \"Nome di messaggistica non valido.\",\n    \"settings.mailserver.authProtocol\": \"Protocollo di autenticazione\",\n    \"settings.mailserver.host\": \"Host\",\n    \"settings.mailserver.hostHelp\": \"Indirizzo host del server SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Periodo di inattività\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tempo di attesa prima di una nuova attività sulla connessione prima della chiusura e cancellazione del pool (s per i secondi, m per i minuti).\",\n    \"settings.mailserver.maxConns\": \"Nb. connessioni max.\",\n    \"settings.mailserver.maxConnsHelp\": \"Numero massimo di connessioni simultanee al server SMTP.\",\n    \"settings.mailserver.nameHelp\": \"Nome univoco facoltativo per il server SMTP. Deve avere il prefisso email-. Questa impostazione permette di selezionare specificamente il server per una campagna. es: email-primary-server. Alfanumerico / trattino.\",\n    \"settings.mailserver.password\": \"Credenziali (Password)\",\n    \"settings.mailserver.passwordHelp\": \"Entra per modificare\",\n    \"settings.mailserver.port\": \"Porta\",\n    \"settings.mailserver.portHelp\": \"Porta del server SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Ignora controllo TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Ignora la verifica del nome dell'host sul certificato TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Attiva STARTTLS.\",\n    \"settings.mailserver.username\": \"Nome utente\",\n    \"settings.mailserver.waitTimeout\": \"Tempo d'attesa\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tempo di attesa per una nuova attività su una connessione prima che venga chiusa e rimossa dal pool (s per secondo, m per minuto).\",\n    \"settings.maintenance.cron\": \"Intervallo di Cron\",\n    \"settings.media.provider\": \"Fornitore\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Percorso del bucket\",\n    \"settings.media.s3.bucketPathHelp\": \"Percorso all'interno del bucket per caricare i file. Il valore predefinito è /\",\n    \"settings.media.s3.bucketType\": \"Tipo di bucket\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privato\",\n    \"settings.media.s3.bucketTypePublic\": \"Pubblico\",\n    \"settings.media.s3.key\": \"Chiave d'accesso AWS\",\n    \"settings.media.s3.publicURL\": \"URL pubblico personalizzato (opzionale)\",\n    \"settings.media.s3.publicURLHelp\": \"Dominio S3 personalizzato da usare per i link alle immagini, invece dell'URL predefinito del backend S3.\",\n    \"settings.media.s3.region\": \"Regione\",\n    \"settings.media.s3.secret\": \"Segreto d'acceso AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Caricamento scaduto\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Facoltativo) Specifica il TTL per l'URL predefinito generato. Applicabile solo per i buckets privati (s, m, h, d per i secondi, minuti, ore e giorni).\",\n    \"settings.media.s3.url\": \"URL backend S3\",\n    \"settings.media.s3.urlHelp\": \"Modificare soltanto se stai utilizzando un backend compatibile con S3, ad esempio Minio.\",\n    \"settings.media.title\": \"Caricamento dei media\",\n    \"settings.media.upload.extensions\": \"Estensioni file consentite\",\n    \"settings.media.upload.extensionsHelp\": \"Aggiungi * per consentire tutte le estensioni\",\n    \"settings.media.upload.path\": \"Percorso del caricamento\",\n    \"settings.media.upload.pathHelp\": \"Percorso verso la cartella dove i media saranno caricati.\",\n    \"settings.media.upload.uri\": \"URI del caricamento\",\n    \"settings.media.upload.uriHelp\": \"URI del caricamento che sarà visibile dal mondo esterno. Il media caricato nel percorso del caricamento sarà accessibile pubblicamente sotto {root_url}, per esempio: https://listmonk.tuosito.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Nb. connessioni max.\",\n    \"settings.messengers.maxConnsHelp\": \"Numero massimo di connessioni simultanee al server.\",\n    \"settings.messengers.messageSaved\": \"Parametri salvati. Ricarica dell'applicazione...\",\n    \"settings.messengers.name\": \"Strumento di messaggistica\",\n    \"settings.messengers.nameHelp\": \"Per esempio: my-sms. Alfanumerico / trattino.\",\n    \"settings.messengers.password\": \"Password \",\n    \"settings.messengers.retries\": \"Tentativi\",\n    \"settings.messengers.retriesHelp\": \"Numero di tentativi in caso di errore invio messaggio.\",\n    \"settings.messengers.skipTLSHelp\": \"Ignora la verifica del nome dell'host sul certificato TLS.\",\n    \"settings.messengers.timeout\": \"Periodo di inattività\",\n    \"settings.messengers.timeoutHelp\": \"Tempo di attesa prima di una nuova attività sulla connessione prima della chiusura e cancellazione del pool (s per i secondi, m per i minuti).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Radice URL del server Postback.\",\n    \"settings.messengers.username\": \"Nome utente\",\n    \"settings.needsRestart\": \"Impostazione cambiata. Pausare tutte le campagne e riavviare l'applicazione\",\n    \"settings.performance.batchSize\": \"Dimensione del lotto\",\n    \"settings.performance.batchSizeHelp\": \"Numero di iscritti da estrarre dal database in una sola iterazione. Ogni iterazione estrae gli iscritti dal database, invia loro i messaggi, poi passa all'iterazione seguente per estrarre il lotto successivo. Idealmente questo valore dovrebbe essere superiore alla velocità massima possibile (Concorrenza x Frequenza del messaggio).\",\n    \"settings.performance.cacheSlowQueries\": \"Memorizza nella cache le query lente del database\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Abilitare solo su database di grandi dimensioni che si sono significativamente rallentati. Caches conta degli iscritti alle liste, statistiche della dashboard, ecc.\",\n    \"settings.performance.concurrency\": \"Simultanei\",\n    \"settings.performance.concurrencyHelp\": \"Numero di worker (threads) simultanei massimo che invieranno i messaggi contemporaneamente.\",\n    \"settings.performance.maxErrThreshold\": \"Soglia massima di errore\",\n    \"settings.performance.maxErrThresholdHelp\": \"Numero di errori (esempio: SMTP scaduto durante l'invio delle mail) che una campagna in corso può tollerare prima di essere sospesa per verifica o intervento manuale. Imposta sur 0 per non andare mai in pausa.\",\n    \"settings.performance.messageRate\": \"Frequenza del messaggio\",\n    \"settings.performance.messageRateHelp\": \"Numero massimo di messaggi a inviare per worker in un secondo. Se concorrente = 10 e frequenza del messaggio = 10, allora fino a 10x10 = 100 messaggi possono essere emessi ogni secondo. Questo parametro, come il parametro concorrente, dovrebbe essere modificato per mantenere i messaggi uscenti ogni secondo al di sotto del limite della velocità dei server dei messaggi destinatari.\",\n    \"settings.performance.name\": \"Prestazione\",\n    \"settings.performance.slidingWindow\": \"Attiva un limite tramite finestra scorrevole\",\n    \"settings.performance.slidingWindowDuration\": \"Durata\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Durata del periodo della finestra scorrevole (m per minuto, h per ora).\",\n    \"settings.performance.slidingWindowHelp\": \"Limita il numero totale di messaggi inviati durante un dato periodo. Una volta raggiunto questo limite, l'invio dei messaggi è sospeso fino a che la finestra di tempo sia passata.\",\n    \"settings.performance.slidingWindowRate\": \"Num. max messaggi.\",\n    \"settings.performance.slidingWindowRateHelp\": \"Numero massimo di messaggi da inviare nella durata della finestra.\",\n    \"settings.privacy.allowBlocklist\": \"Autorizza la lista di blocco\",\n    \"settings.privacy.allowBlocklistHelp\": \"Autorizza gli iscritti a cancellare l'iscrizione da tutte le newsletters e a segnalarsi come bloccati?\",\n    \"settings.privacy.allowExport\": \"Autorizza l'esportazione\",\n    \"settings.privacy.allowExportHelp\": \"Autorizzi gli iscritti a esportare i dati raccolti su di loro?\",\n    \"settings.privacy.allowPrefs\": \"Autorizza cambiamenti nella impostazione.\",\n    \"settings.privacy.allowPrefsHelp\": \"Consenti agli iscritti di modificare le preferenze come il loro nome e le sottoscrizioni a più liste.\",\n    \"settings.privacy.allowWipe\": \"Autorizza la cancellazione\",\n    \"settings.privacy.allowWipeHelp\": \"Autorizza gli iscritti a cancellare le loro iscrizioni e tutti gli altri dati dal database. Le visualizzazioni della campagna e i clic sui link verranno anch'essi cancellati, mentre i contatori globali delle visualizzazioni e del numero di clic restano invariati (nessun iscritto vi è associato) in modo che le statistiche non siano compromesse.\",\n    \"settings.privacy.domainAllowlist\": \"Lista domini consentiti\",\n    \"settings.privacy.domainAllowlistHelp\": \"Solo gli indirizzi e-mail con questi domini possono iscriversi. Inserisci un dominio per riga, es: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Dominio della lista di blocco\",\n    \"settings.privacy.domainBlocklistHelp\": \"Le caselle di posta di questi domini sono vietate dalla iscrizione. Inserire un dominio per riga, ad esempio: pincopallino.com\",\n    \"settings.privacy.individualSubTracking\": \"Follow-up individuale degli abbonati\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Monitora le visualizzazioni e i clic della campagna per iscritto. Quando è disabilitato, il follow-up delle visualizzazioni e dei clic, si effettua senza essere legato agli iscritti individuali.\",\n    \"settings.privacy.listUnsubHeader\": \"Includere l'intestazione `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Includere intestazioni di annullamento dell'iscrizione che consentono agli utenti di annullare l'iscrizione con un clic dal proprio client di posta elettronica.\",\n    \"settings.privacy.name\": \"Privacy\",\n    \"settings.privacy.recordOptinIP\": \"Registra l'indirizzo IP di consenso\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registra l'indirizzo IP dei doppi opt-in negli attributi dell'iscritto.\",\n    \"settings.restart\": \"Riavviare\",\n    \"settings.security.CORSDomains\": \"Origini consentite\",\n    \"settings.security.CORSDomainsHelp\": \"Consenti l'accesso agli endpoint API tramite Javascript del browser da domini esterni. Inserisci un dominio per riga (ad esempio: https://example.com). Lascia vuoto per disabilitare CORS o aggiungi * per consentirli tutti (scelta non consigliata).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Crea utenti automaticamente\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Crea automaticamente un utente al primo accesso se l’account non esiste.\",\n    \"settings.security.OIDCClientID\": \"ID client\",\n    \"settings.security.OIDCClientSecret\": \"Client segreto\",\n    \"settings.security.OIDCDefaultListRole\": \"Ruolo lista predefinito\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Ruolo predefinito assegnato agli utenti creati automaticamente da OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Ruolo utente predefinito\",\n    \"settings.security.OIDCHelp\": \"Abilita l'accesso OAuth2 con OpenID Connect OAuth2 tramite un provider OAuth.\",\n    \"settings.security.OIDCName\": \"Nome provider\",\n    \"settings.security.OIDCRedirectURL\": \"URL di reindirizzamento per il provider oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Questo non sembra essere un URL di produzione. Cambiare l'URL principale nelle impostazioni 'Generali'.\",\n    \"settings.security.OIDCURL\": \"URL provider\",\n    \"settings.security.OIDCWarning\": \"Quando OIDC è abilitato, il login con password predefinita è disabilitato. Una configurazione non valida può escludervi.\",\n    \"settings.security.altchaComplexity\": \"Complessità Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Valori più alti forniscono maggiore sicurezza ma risoluzione più lenta (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Chiave sito hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Visita www.hcaptcha.com per ottenere la SiteKey e il secret.\",\n    \"settings.security.captchaSecret\": \"Segreto hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Attiva CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Attiva CAPTCHA nel modulo di sottoiscrizione publica.\",\n    \"settings.security.enableOIDC\": \"Abilita SSO OIDC\",\n    \"settings.security.name\": \"Sicurezza\",\n    \"settings.smtp.customHeaders\": \"Headers personalizzate\",\n    \"settings.smtp.customHeadersHelp\": \"Elenco facoltativo di intestazioni di posta elettronica da includere in tutti i messaggi inviati da questo server. Ad esempio: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Attivata\",\n    \"settings.smtp.heloHost\": \"Nome host HELO\",\n    \"settings.smtp.heloHostHelp\": \"Facoltativo. Alcuni server SMTP richiedono un nome di dominio completo nel nome host. Per impostazione predefinita, HELLOs viene fornito con `localhost`. Impostare questo parametro se deve essere utilizzato un nome host personalizzato.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Tentativi\",\n    \"settings.smtp.retriesHelp\": \"Numero di tentativi in caso di errore invio messaggio.\",\n    \"settings.smtp.sendTest\": \"Invia email\",\n    \"settings.smtp.setCustomHeaders\": \"Definisci intestazioni personalizzate\",\n    \"settings.smtp.testConnection\": \"Prova la connessione\",\n    \"settings.smtp.testEnterEmail\": \"Inserire di nuovo la password per fare il test\",\n    \"settings.smtp.toEmail\": \"Casella di posta di ricezione\",\n    \"settings.title\": \"Impostazioni\",\n    \"settings.updateAvailable\": \"È disponibile una nuova versione {version}.\",\n    \"subscribers.activity\": \"Attività\",\n    \"subscribers.advancedQuery\": \"Avanzate\",\n    \"subscribers.advancedQueryHelp\": \"Espressione SQL parziale per interrogare gli attributi del sottoscrittore\",\n    \"subscribers.attribsHelp\": \"Gli attributi sono definiti come un JSON, ad esempio:\",\n    \"subscribers.blocklistedHelp\": \"Gli abbonati bloccati non riceveranno mai email.\",\n    \"subscribers.confirmBlocklist\": \"Lista di blocco {num} iscritto(i)?\",\n    \"subscribers.confirmDelete\": \"Elimina {num} iscritto(i)?\",\n    \"subscribers.confirmExport\": \"Esporta {num} iscritto(i)?\",\n    \"subscribers.domainBlocklisted\": \"Il nome di dominio della casella di posta si trova nella lista di blocco.\",\n    \"subscribers.downloadData\": \"Scarica i dati\",\n    \"subscribers.email\": \"Email\",\n    \"subscribers.emailExists\": \"Email già esistente.\",\n    \"subscribers.errorBlocklisting\": \"Errore durante il blocco degli iscritti: {error}\",\n    \"subscribers.errorNoIDs\": \"Nessun ID fornito.\",\n    \"subscribers.errorNoListsGiven\": \"Nessuna lista fornita.\",\n    \"subscribers.errorPreparingQuery\": \"Errore durante la preparazione della richiesta dell'iscritto: {error}\",\n    \"subscribers.errorSendingOptin\": \"Errore durante l'invio dell'e-mail di attivazione.\",\n    \"subscribers.export\": \"Esportazione\",\n    \"subscribers.invalidAction\": \"Azione non valida.\",\n    \"subscribers.invalidEmail\": \"Email non valida.\",\n    \"subscribers.invalidJSON\": \"JSON non valido negli attributi.\",\n    \"subscribers.invalidName\": \"Nome errato.\",\n    \"subscribers.listChangeApplied\": \"Modifica della lista eseguita.\",\n    \"subscribers.lists\": \"Liste\",\n    \"subscribers.listsHelp\": \"Le liste i cui iscritti hanno annullato l'iscrizione non possono essere eliminate.\",\n    \"subscribers.listsPlaceholder\": \"Liste a cui iscriversi\",\n    \"subscribers.manageLists\": \"Gestisci liste\",\n    \"subscribers.markUnsubscribed\": \"Segna come non iscritto\",\n    \"subscribers.newSubscriber\": \"Nuovo iscritto\",\n    \"subscribers.numSelected\": \"{num} iscritto(i) selezionato(i)\",\n    \"subscribers.optinSubject\": \"Confermare l'iscrizione\",\n    \"subscribers.preconfirm\": \"Pre-conferma l'iscrizione\",\n    \"subscribers.preconfirmHelp\": \"Non inviate e-mail di opt-in e classifica tutte le iscrizioni alle liste come iscritti.\",\n    \"subscribers.query\": \"Richiesta\",\n    \"subscribers.queryPlaceholder\": \"Email o nome\",\n    \"subscribers.reset\": \"Ripristina\",\n    \"subscribers.selectAll\": \"Seleziona tutto {num}\",\n    \"subscribers.sendOptinConfirm\": \"Inviare la conferma dell'opt-in\",\n    \"subscribers.sentOptinConfirm\": \"Conferma opt-in inviata\",\n    \"subscribers.status.blocklisted\": \"Lista bloccata\",\n    \"subscribers.status.confirmed\": \"Confermato\",\n    \"subscribers.status.enabled\": \"Attivata\",\n    \"subscribers.status.subscribed\": \"Iscritto\",\n    \"subscribers.status.unconfirmed\": \"Non confermato\",\n    \"subscribers.status.unsubscribed\": \"Iscrizione annullata\",\n    \"subscribers.subscribersDeleted\": \"{num} iscritto(i) eliminato(i)\",\n    \"templates.cantDeleteDefault\": \"Impossibile eliminare il modello predefinito\",\n    \"templates.default\": \"Predefinito\",\n    \"templates.dummyName\": \"Campagna di prova\",\n    \"templates.dummySubject\": \"Oggetto della campagna di prova\",\n    \"templates.errorCompiling\": \"Errore durante la compilazione del modello: {error}\",\n    \"templates.errorRendering\": \"Messaggio di errore durante il rendering: {errore}\",\n    \"templates.fieldInvalidName\": \"Lunghezza del nome non valida.\",\n    \"templates.makeDefault\": \"Definisci per impostazione predefinita\",\n    \"templates.newTemplate\": \"Nuovo modello\",\n    \"templates.placeholderHelp\": \"Il segnaposto {placeholder} deve apparire esattamente una volta nel modello.\",\n    \"templates.preview\": \"Anteprima\",\n    \"templates.rawHTML\": \"HTML semplice\",\n    \"templates.subject\": \"Oggetto\",\n    \"templates.typeCampaignHTML\": \"Campagna / HTML\",\n    \"templates.typeCampaignVisual\": \"Campagna / Visuale\",\n    \"templates.typeTransactional\": \"Transazionale\",\n    \"users.apiOneTimeToken\": \"Copia ora il token di accesso API. Non verrà più mostrato.\",\n    \"users.cantDeleteRole\": \"Impossibile eliminare il ruolo in uso.\",\n    \"users.firstTime\": \"Questa è una installazione nuova. Scegliere un nome utente e una password per l'account Super Admin.\",\n    \"users.forgotPassword\": \"Password dimenticata?\",\n    \"users.invalidLogin\": \"Login o password non validi\",\n    \"users.invalidPassword\": \"Password non valida\",\n    \"users.invalidRequest\": \"Richiesta di autorizzazione non valida\",\n    \"users.invalidResetLink\": \"Link di ripristino non valido o scaduto\",\n    \"users.lastLogin\": \"Ultimo login\",\n    \"users.listPerms\": \"Elenco permessi\",\n    \"users.listPermsWarning\": \"Elenchi:get_all o lists:manage_all sono abilitati e sovrascrivono le autorizzazioni per elenco\",\n    \"users.listRole\": \"Elenco ruoli | Elenco ruolo\",\n    \"users.listRoles\": \"Elenco ruoli\",\n    \"users.login\": \"Accedere\",\n    \"users.loginOIDC\": \"Login con {name}\",\n    \"users.logout\": \"Disconessione\",\n    \"users.needSuper\": \"Impossibile aggiornare l'utente(i). Deve esserci almeno un utente Super Admin attivo.\",\n    \"users.newListRole\": \"Nuovo ruolo di elenco\",\n    \"users.newPassword\": \"Nuova password\",\n    \"users.newUser\": \"Nuovo utente\",\n    \"users.newUserRole\": \"Nuovo ruolo utente\",\n    \"users.password\": \"Password\",\n    \"users.passwordEnable\": \"Abilita l'accesso tramite password\",\n    \"users.passwordMismatch\": \"Le password non corrispondono\",\n    \"users.passwordRepeat\": \"Repeti password\",\n    \"users.perms\": \"Permessi\",\n    \"users.profile\": \"Profilo\",\n    \"users.resetLinkSent\": \"Se l'account è attivo, riceverai un'e-mail per reimpostare la password.\",\n    \"users.resetPassword\": \"Resetta password\",\n    \"users.role\": \"Ruolo | Ruoli\",\n    \"users.roleGroup\": \"Gruppo\",\n    \"users.roles\": \"Ruoli\",\n    \"users.status.disabled\": \"Disabilitato\",\n    \"users.status.enabled\": \"Abilitato\",\n    \"users.totpCode\": \"Codice TOTP\",\n    \"users.totpCodeHelp\": \"Inserisci il codice a 6 cifre dalla tua app di autenticazione\",\n    \"users.totpScanQR\": \"Scansiona il codice QR con la tua app di autenticazione, come Ente o Google Authenticator, e inserisci il codice TOTP qui sotto.\",\n    \"users.totpSecret\": \"Chiave segreta\",\n    \"users.twoFA\": \"Autenticazione a due fattori\",\n    \"users.twoFAAlreadyEnabled\": \"L'autenticazione a due fattori è già abilitata.\",\n    \"users.twoFAEnabled\": \"L'autenticazione a due fattori è attiva\",\n    \"users.twoFAEnabledDesc\": \"Il tuo account è protetto con {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Abilita 2FA per una maggiore sicurezza quando accedi al tuo account.\",\n    \"users.type\": \"Tipo\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Utente\",\n    \"users.userRole\": \"Ruolo utente | Ruoli utente\",\n    \"users.userRoles\": \"Ruoli utente\",\n    \"users.username\": \"Nome utente\",\n    \"users.usernameHelp\": \"Utilizzato con l'accesso tramite password\"\n}\n"
  },
  {
    "path": "i18n/jp.json",
    "content": "{\n    \"_.code\": \"jp\",\n    \"_.name\": \"日本語 (jp)\",\n    \"admin.errorMarshallingConfig\": \"マーシャリングコンフィグエラー: {error}\",\n    \"analytics.count\": \"カウント\",\n    \"analytics.fromDate\": \"から\",\n    \"analytics.invalidDates\": \"無効な `から` 又は `まで` の日付.\",\n    \"analytics.isUnique\": \"カウントは加入者特有のものとなります。\",\n    \"analytics.links\": \"リンク\",\n    \"analytics.nonUnique\": \"個々の加入者の追跡がオフとなっているため、カウントは特有のものではありません。\",\n    \"analytics.title\": \"分析\",\n    \"analytics.toDate\": \"まで\",\n    \"bounces.complaint\": \"クレーム\",\n    \"bounces.hard\": \"ハードバウンス\",\n    \"bounces.soft\": \"ソフトバウンス\",\n    \"bounces.source\": \"ソース\",\n    \"bounces.unknownService\": \"不明のサービス。\",\n    \"bounces.view\": \"バウンスビュー\",\n    \"campaigns.addAltText\": \"代替のプレーンテキストメッセージを追加する\",\n    \"campaigns.addAttachments\": \"添付ファイルを追加\",\n    \"campaigns.archive\": \"アーカイブ\",\n    \"campaigns.archiveEnable\": \"公開アーカイブに発行する\",\n    \"campaigns.archiveHelp\": \"公開アーカイブにキャンペーンメッセージを発行（実行中, 停止された, 終わりましたキャンペーン全部含めて）。\",\n    \"campaigns.archiveMeta\": \"キャンペーンメタデータ\",\n    \"campaigns.archiveMetaHelp\": \"キャンペーンのメッセージやテンプレートに使う偽データ（名やメールアドレスや設定）。\",\n    \"campaigns.archiveSlug\": \"URLスラッグ\",\n    \"campaigns.archiveSlugHelp\": \"パブリックURLで使用されるページの短い名前。例：my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"添付ファイル\",\n    \"campaigns.attribsHelp\": \"このキャンペーン用のカスタムJSON オブジェクト {} 属性。テンプレート内で {{ .Campaign.Attribs.$key }} で使用できます\",\n    \"campaigns.cantUpdate\": \"実行中又は終了しているキャンペーンの更新はできません。\",\n    \"campaigns.clicks\": \"クリック\",\n    \"campaigns.confirmDelete\": \"削除 {name}\",\n    \"campaigns.confirmOverwriteContent\": \"これによりすべてのコンテンツが上書きされます。よろしいですか？\",\n    \"campaigns.confirmSchedule\": \"このキャンペーンは予定された日時に自動的に開始されます。スケジュールを開始しますか？\",\n    \"campaigns.confirmSwitchFormat\": \"コンテンツのフォーマットが崩れる可能性があります。続けますか？\",\n    \"campaigns.content\": \"コンテンツ\",\n    \"campaigns.contentHelp\": \"コンテンツはこちらから\",\n    \"campaigns.continue\": \"コンティニュー\",\n    \"campaigns.copyOf\": \" {name}をコピー\",\n    \"campaigns.customHeadersHelp\": \"送信メッセージに添付するカスタムヘッダーの配列。 例: [{\\\"X-Custom\\\": \\\"Value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"日時\",\n    \"campaigns.ended\": \"終了\",\n    \"campaigns.errorSendTest\": \"テスト送信エラー: {error}\",\n    \"campaigns.fieldInvalidBody\": \"キャンペーン本体コンパイルエラー: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"無効な `メール_送り主`.\",\n    \"campaigns.fieldInvalidListIDs\": \"無効なリストID\",\n    \"campaigns.fieldInvalidMessenger\": \"不明な送り主 {name}。\",\n    \"campaigns.fieldInvalidName\": \"無効な長さの名前です。\",\n    \"campaigns.fieldInvalidSendAt\": \"予定日は将来の日付であること。\",\n    \"campaigns.fieldInvalidSubject\": \"長さが無効です。\",\n    \"campaigns.format\": \"フォーマット\",\n    \"campaigns.formatHTML\": \"HTMLをフォーマット\",\n    \"campaigns.fromAddress\": \"送り主のアドレス\",\n    \"campaigns.fromAddressPlaceholder\": \"あなたの氏名 <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"ビジュアルテンプレートをインポート\",\n    \"campaigns.invalid\": \"無効なキャンペーン\",\n    \"campaigns.invalidCustomHeaders\": \"無効なカスタムヘッダー: {error}\",\n    \"campaigns.markdown\": \"マークダウン\",\n    \"campaigns.needsSendAt\": \"キャンペーンは予定日が必要です。\",\n    \"campaigns.newCampaign\": \"新しいキャンペーン\",\n    \"campaigns.noKnownSubsToTest\": \"テストする加入者が不明です。\",\n    \"campaigns.noOptinLists\": \"キャンペーンを作るためのオプトインリストが見つかりません。\",\n    \"campaigns.noSubs\": \"キャンペーンを作成するに選択したリストには加入者がいません。\",\n    \"campaigns.noSubsToTest\": \"ターゲットとなる加入者がいません。\",\n    \"campaigns.notFound\": \"キャンペーンが見つかりません。\",\n    \"campaigns.onlyActiveCancel\": \"アクティブなキャンペーンのみキャンセル可能です。\",\n    \"campaigns.onlyActivePause\": \"アクティブなキャンペーンのみ停止可能です。\",\n    \"campaigns.onlyDraftAsScheduled\": \"ドラフトのキャンペーンのみスケジュールすることができます。\",\n    \"campaigns.onlyPausedDraft\": \"停止されたキャンペーン、又はドラフトのみ開始できます。\",\n    \"campaigns.onlyScheduledAsDraft\": \"スケジュールされたキャンペーンのみドラフトとして保存可能です。\",\n    \"campaigns.pause\": \"停止\",\n    \"campaigns.plainText\": \"プレーンテキスト\",\n    \"campaigns.preview\": \"プレビュー\",\n    \"campaigns.progress\": \"進捗\",\n    \"campaigns.queryPlaceholder\": \"件名\",\n    \"campaigns.rateMinuteShort\": \"分\",\n    \"campaigns.rawHTML\": \"HTML(生)\",\n    \"campaigns.removeAltText\": \"代替プレーンテキストメッセージの削除\",\n    \"campaigns.richText\": \"リッチテキスト\",\n    \"campaigns.schedule\": \"キャンペーンを計画する\",\n    \"campaigns.scheduled\": \"スケジュール済み\",\n    \"campaigns.send\": \"送信\",\n    \"campaigns.sendLater\": \"後で送信\",\n    \"campaigns.sendTest\": \"テストメッセージを送信\",\n    \"campaigns.sendTestHelp\": \"複数の受信者を追加するには、アドレスを入力した後にエンターを押してください。アドレスは既存の加入者のものである必要があります。\",\n    \"campaigns.sendToLists\": \"送信先リスト\",\n    \"campaigns.sent\": \"送信済み\",\n    \"campaigns.start\": \"キャンペーンを開始する\",\n    \"campaigns.started\": \"\\\"{name}\\\" 開始済み\",\n    \"campaigns.startedAt\": \"開始済み\",\n    \"campaigns.stats\": \"統計\",\n    \"campaigns.status.cancelled\": \"キャンセル済み\",\n    \"campaigns.status.draft\": \"ドラフト\",\n    \"campaigns.status.finished\": \"完了済み\",\n    \"campaigns.status.paused\": \"停止中\",\n    \"campaigns.status.running\": \"実行中\",\n    \"campaigns.status.scheduled\": \"スケジュールされている\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" は {status}\",\n    \"campaigns.subject\": \"件名\",\n    \"campaigns.templatingRef\": \"テンプレートリファレンス\",\n    \"campaigns.testEmails\": \"メール\",\n    \"campaigns.testSent\": \"テストメッセージ送信済み\",\n    \"campaigns.timestamps\": \"タイムスタンプ\",\n    \"campaigns.trackLink\": \"リンクの追跡\",\n    \"campaigns.unSchedule\": \"スケジュール解除\",\n    \"campaigns.views\": \"ビュー\",\n    \"campaigns.visual\": \"ビジュアル\",\n    \"dashboard.campaignViews\": \"キャンペーンビュー\",\n    \"dashboard.linkClicks\": \"リンクのクリック\",\n    \"dashboard.messagesSent\": \"メッセージ送信済み\",\n    \"dashboard.orphanSubs\": \"オーファン\",\n    \"email.data.info\": \"あなたについて記録されたすべてのデータのコピーがJSON形式のファイルとして添付されています。テキストエディタで閲覧可能です。\",\n    \"email.data.title\": \"あなたのデータ\",\n    \"email.forgotPassword.button\": \"パスワードをリセット\",\n    \"email.forgotPassword.info\": \"このメールのリクエストを送信していない場合は、安全に無視できます。このリンクは 30 分で期限切れになります。\",\n    \"email.forgotPassword.subject\": \"パスワードをリセットしてください\",\n    \"email.optin.confirmSub\": \"サブスクリプションを確認\",\n    \"email.optin.confirmSubHelp\": \"下のボタンを押してサブスクリプションを確認する。\",\n    \"email.optin.confirmSubInfo\": \"あなたは以下のリストに追加されました:\",\n    \"email.optin.confirmSubTitle\": \"サブスクリプションを確認\",\n    \"email.optin.confirmSubWelcome\": \"こんにちは\",\n    \"email.optin.privateList\": \"プライベートリスト\",\n    \"email.status.campaignReason\": \"理由\",\n    \"email.status.campaignSent\": \"送信済み\",\n    \"email.status.campaignUpdateTitle\": \"キャンペーンの更新\",\n    \"email.status.importFile\": \"ファイル\",\n    \"email.status.importRecords\": \"記録\",\n    \"email.status.importTitle\": \"インポート更新\",\n    \"email.status.status\": \"ステータス\",\n    \"email.unsub\": \"登録を取り消す\",\n    \"email.unsubHelp\": \"メールの配信を停止しますか？\",\n    \"email.viewInBrowser\": \"ブラウザで閲覧\",\n    \"forms.formHTML\": \"フォーム HTML\",\n    \"forms.formHTMLHelp\": \"外部のウェブページにサブスクリプションフォームを表示するには、以下のHTMLを使用してください。フォームにはメールのフィールドと1つ又は複数の `l` (UUIDリスト) フィールドが含まれます. 名前のフィールドは任意です。\",\n    \"forms.noPublicLists\": \"フォームを生成するための公開リストがありません。\",\n    \"forms.publicLists\": \"公開リスト\",\n    \"forms.publicSubPage\": \"公開サブスクリプションページ\",\n    \"forms.selectHelp\": \"フォームを追加するリストを選択\",\n    \"forms.title\": \"フォーム\",\n    \"globals.buttons.add\": \"追加\",\n    \"globals.buttons.addNew\": \"新規追加\",\n    \"globals.buttons.back\": \"戻る\",\n    \"globals.buttons.cancel\": \"キャンセル\",\n    \"globals.buttons.clear\": \"消去\",\n    \"globals.buttons.clearAll\": \"全て消去\",\n    \"globals.buttons.clone\": \"クローン\",\n    \"globals.buttons.close\": \"閉じる\",\n    \"globals.buttons.continue\": \"続ける\",\n    \"globals.buttons.copy\": \"コピー\",\n    \"globals.buttons.delete\": \"消去\",\n    \"globals.buttons.deleteAll\": \"全て消去\",\n    \"globals.buttons.disable\": \"無効化\",\n    \"globals.buttons.edit\": \"編集\",\n    \"globals.buttons.enable\": \"有効化\",\n    \"globals.buttons.enabled\": \"有効\",\n    \"globals.buttons.insert\": \"入れる\",\n    \"globals.buttons.learnMore\": \"さらに詳しく\",\n    \"globals.buttons.manage\": \"管理\",\n    \"globals.buttons.more\": \"もっと\",\n    \"globals.buttons.new\": \"新\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"削除\",\n    \"globals.buttons.save\": \"保存\",\n    \"globals.buttons.saveChanges\": \"変更内容を保存\",\n    \"globals.buttons.toggleSelect\": \"選択の切り替え\",\n    \"globals.buttons.view\": \"表示\",\n    \"globals.days.0\": \"日\",\n    \"globals.days.1\": \"日\",\n    \"globals.days.2\": \"月\",\n    \"globals.days.3\": \"火\",\n    \"globals.days.4\": \"水\",\n    \"globals.days.5\": \"木\",\n    \"globals.days.6\": \"金\",\n    \"globals.days.7\": \"土\",\n    \"globals.fields.createdAt\": \"作成済み\",\n    \"globals.fields.description\": \"説明文\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"名前\",\n    \"globals.fields.status\": \"ステータス\",\n    \"globals.fields.type\": \"タイプ\",\n    \"globals.fields.updatedAt\": \"アップデート済み\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"本当に良いですか?\",\n    \"globals.messages.confirmDelete\": \"{num} {name} を削除しますか？\",\n    \"globals.messages.confirmDiscard\": \"変更を破棄しますか？\",\n    \"globals.messages.copied\": \"コピーされました\",\n    \"globals.messages.created\": \"\\\"{name}\\\" が作成されました\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" が削除されました\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) が削除されました。\",\n    \"globals.messages.done\": \"終わりました\",\n    \"globals.messages.emptyState\": \"ここには何もありません\",\n    \"globals.messages.errorCreating\": \"{name}作成エラー: {error}\",\n    \"globals.messages.errorDeleting\": \"{name}削除エラー: {error}\",\n    \"globals.messages.errorFetching\": \" {name}読み込みエラー: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"一つ、または複数のIDが無効です。: {error}\",\n    \"globals.messages.errorUUID\": \"UUID生成エラー: {error}\",\n    \"globals.messages.errorUpdating\": \"{name}更新エラー: {error}\",\n    \"globals.messages.internalError\": \"内部サーバーエラー\",\n    \"globals.messages.invalidData\": \"無効なデータ\",\n    \"globals.messages.invalidFields\": \"無効なフィールド：{name}\",\n    \"globals.messages.invalidID\": \"無効なID\",\n    \"globals.messages.invalidUUID\": \"無効なUUID\",\n    \"globals.messages.invalidValue\": \"無効な値\",\n    \"globals.messages.missingFields\": \"フィールドがありません: {name}\",\n    \"globals.messages.notFound\": \"{name} が見つかりません。\",\n    \"globals.messages.numSelected\": \"{num} 選択済み\",\n    \"globals.messages.passwordChange\": \"変更するには値を入力\",\n    \"globals.messages.passwordChangeFull\": \"'{name}’でパスワードをクリアして再入力してください。\",\n    \"globals.messages.permissionDenied\": \"権限が拒否されました：{name}\",\n    \"globals.messages.selectAll\": \"{num} をすべて選択\",\n    \"globals.messages.slowQueriesCached\": \"遅いクエリがキャッシュされています。このページの一部の数値は最新ではありません。\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" 更新済み\",\n    \"globals.months.1\": \"1月\",\n    \"globals.months.10\": \"10月\",\n    \"globals.months.11\": \"11月\",\n    \"globals.months.12\": \"12月\",\n    \"globals.months.2\": \"2月\",\n    \"globals.months.3\": \"3月\",\n    \"globals.months.4\": \"4月\",\n    \"globals.months.5\": \"5月\",\n    \"globals.months.6\": \"6月\",\n    \"globals.months.7\": \"7月\",\n    \"globals.months.8\": \"8月\",\n    \"globals.months.9\": \"9月\",\n    \"globals.states.off\": \"オフ\",\n    \"globals.terms.all\": \"全部\",\n    \"globals.terms.analytics\": \"分析\",\n    \"globals.terms.attribs\": \"属性\",\n    \"globals.terms.bounce\": \"バウンス | バウンス\",\n    \"globals.terms.bounces\": \"バウンス\",\n    \"globals.terms.campaign\": \"キャンペーン | キャンペーン\",\n    \"globals.terms.campaigns\": \"キャンペーン\",\n    \"globals.terms.dashboard\": \"ダッシュボード\",\n    \"globals.terms.day\": \"日 | 日\",\n    \"globals.terms.hour\": \"時間 | 時間\",\n    \"globals.terms.import\": \"インポート\",\n    \"globals.terms.list\": \"リスト | リスト\",\n    \"globals.terms.lists\": \"リスト\",\n    \"globals.terms.media\": \"メディア | メディア\",\n    \"globals.terms.messenger\": \"メッセンジャー | メッセンジャー\",\n    \"globals.terms.messengers\": \"メッセンジャー\",\n    \"globals.terms.minute\": \"分 | 分\",\n    \"globals.terms.month\": \"月 | 月\",\n    \"globals.terms.new\": \"新規\",\n    \"globals.terms.none\": \"なし\",\n    \"globals.terms.second\": \"秒 | 秒\",\n    \"globals.terms.settings\": \"設定\",\n    \"globals.terms.subscriber\": \"加入者 | 加入者\",\n    \"globals.terms.subscribers\": \"加入者\",\n    \"globals.terms.subscriptions\": \"サブスクリプション | サブスクリプション一覧\",\n    \"globals.terms.tag\": \"タグ | タグ\",\n    \"globals.terms.tags\": \"タグ\",\n    \"globals.terms.template\": \"テンプレート | テンプレート\",\n    \"globals.terms.templates\": \"テンプレート\",\n    \"globals.terms.tx\": \"トランザクションメール | トランザクションメール\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"ユーザー | ユーザー\",\n    \"globals.terms.users\": \"ユーザー\",\n    \"globals.terms.year\": \"都市 | 都市\",\n    \"import.alreadyRunning\": \"インポートはすでに実行されています。終わるまで待つか、停止してから再試行してください。\",\n    \"import.blocklist\": \"ブロックリスト\",\n    \"import.csvDelim\": \"CSV デリミタ\",\n    \"import.csvDelimHelp\": \"デフォルトのデリミタはコンマです。\",\n    \"import.csvExample\": \"raw CSV例\",\n    \"import.csvFile\": \"CSV 又は ZIP ファイル\",\n    \"import.csvFileHelp\": \"ここでCSVかZIPファイルをクリック、又はドラッグしてください。\",\n    \"import.errorCopyingFile\": \"ファイルコピーエラー: {error}\",\n    \"import.errorProcessingZIP\": \"ZIPファイル処理エラー: {error}\",\n    \"import.errorStarting\": \"インポート開始エラー: {error}\",\n    \"import.importDone\": \"完了\",\n    \"import.importStarted\": \"インポート開始\",\n    \"import.instructions\": \"指示\",\n    \"import.instructionsHelp\": \"加入者を一括でインポートするにはCSVファイル、又はCSVファイルが一つ入ったZIPファイルをアップロードしてください。CSVファイルには正確なカラム名の含まれた以下のヘッダーが必要です。アトリビュート (任意)には有効なJSONの文字列で、エスケープしたダブルクオテーションで必要です。\",\n    \"import.invalidDelim\": \"デリミタは1文字であること。\",\n    \"import.invalidFile\": \"無効なファイル: {error}\",\n    \"import.invalidMode\": \"無効なモード\",\n    \"import.invalidParams\": \"無効なパラメータ: {error}\",\n    \"import.invalidSubStatus\": \"無効なサブスクリプションステータス\",\n    \"import.listSubHelp\": \"加入するリスト.\",\n    \"import.mode\": \"モード\",\n    \"import.overwriteSubStatus\": \"購読ステータスを上書き\",\n    \"import.overwriteSubStatusHelp\": \"既存のリスト購読ステータスを上書きします\",\n    \"import.overwriteUserInfo\": \"ユーザー情報を上書き\",\n    \"import.overwriteUserInfoHelp\": \"既存の購読者の名前と属性を上書きします\",\n    \"import.recordsCount\": \"{num} / {total} 記録\",\n    \"import.stopImport\": \"インポートを中止\",\n    \"import.subscribe\": \"加入\",\n    \"import.subscribeWarning\": \"上書きすると、登録解除されたメールアドレスが再登録されます。続行しますか？\",\n    \"import.title\": \"加入者をインポート\",\n    \"import.upload\": \"アップロード\",\n    \"lists.archived\": \"アーカイブ済み\",\n    \"lists.archivedHelp\": \"リストをアーカイブすると、リストページ、キャンペーン、公開フォームから非表示になります。いつでもアーカイブを解除できます。古くてめったに使用されないリストを非表示にするのに役立ちます。\",\n    \"lists.confirmDelete\": \"本当に良いですか？これは加入者を削除しません。\",\n    \"lists.confirmSub\": \"{name}にサブスクリプション確認\",\n    \"lists.invalidName\": \"無効な名前\",\n    \"lists.newList\": \"新規リスト\",\n    \"lists.optin\": \"オプトイン\",\n    \"lists.optinHelp\": \"ダブルオプトインから加入者に確認のためのメールを送信します。ダブルオプトインのリストでは、確認された加入者のみにキャンペーンが送信されます。\",\n    \"lists.optinTo\": \" {name}にダブルオプトイン\",\n    \"lists.optins.double\": \"ダブルオプトイン\",\n    \"lists.optins.single\": \"シングルオプトイン\",\n    \"lists.sendCampaign\": \"キャンペーンを送信\",\n    \"lists.sendOptinCampaign\": \"オプトインキャンペーン送信\",\n    \"lists.type\": \"タイプ\",\n    \"lists.typeHelp\": \"公開リストでは世界中から加入することができ、加入者の名前はサブスクリプション管理ページなどの公開ページに表示されることがあります。\",\n    \"lists.types.private\": \"プライベート\",\n    \"lists.types.public\": \"パブリック\",\n    \"logs.title\": \"ログ\",\n    \"maintenance.database.title\": \"データベース\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE は削除された行が使用するストレージを回収し、大規模データベースのデータベースパフォーマンスを大幅に向上させます。重要: 大規模データベースの場合、これは遅くブロッキング操作です。ピーク時以外に実行するようにスケジュールしてください。\",\n    \"maintenance.help\": \"データ量によりアクション完了するまでの時間が変わります。\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"未確認オプトインサブスクリプション\",\n    \"maintenance.olderThan\": \"より古い\",\n    \"maintenance.orphanHelp\": \"孤児 = リストのない加入者\",\n    \"maintenance.title\": \"メンテナンス\",\n    \"maintenance.unconfirmedSubs\": \"{name}より古い未確認サブスクリプション\",\n    \"media.errorReadingFile\": \"ファイル読み込みエラー: {error}\",\n    \"media.errorResizing\": \"画像のリサイズエラー: {error}\",\n    \"media.errorSavingThumbnail\": \"サムネイル保存エラー: {error}\",\n    \"media.errorUploading\": \"ファイルアップロードのエラー: {error}\",\n    \"media.invalidFile\": \"無効なファイル: {error}\",\n    \"media.title\": \"メディア\",\n    \"media.unsupportedFileType\": \"サポートされていないファイルタイプ ({type})\",\n    \"media.upload\": \"アップロード\",\n    \"media.uploadHelp\": \"ここに一枚か複数の画像をクリック、又はドラックしてください。\",\n    \"menu.allCampaigns\": \"全てのキャンペーン\",\n    \"menu.allLists\": \"全てのリスト\",\n    \"menu.allSubscribers\": \"全ての加入者\",\n    \"menu.dashboard\": \"ダッシュボード\",\n    \"menu.forms\": \"フォーム\",\n    \"menu.import\": \"インポート\",\n    \"menu.logs\": \"ログ\",\n    \"menu.maintenance\": \"メンテナンス\",\n    \"menu.media\": \"メディア\",\n    \"menu.newCampaign\": \"新規作成\",\n    \"menu.settings\": \"設定\",\n    \"public.archiveEmpty\": \"まだアーカイブメッセージはありません。\",\n    \"public.archiveTitle\": \"メールアーカイブ\",\n    \"public.blocklisted\": \"(永久)退会されました。\",\n    \"public.campaignNotFound\": \"メールのメッセージが見つかりませんでした。\",\n    \"public.confirmOptinSubTitle\": \"サブスクリプション確認\",\n    \"public.confirmSub\": \"サブスクリプション確認\",\n    \"public.confirmSubInfo\": \"以下のリストに追加されました:\",\n    \"public.confirmSubTitle\": \"確認\",\n    \"public.dataRemoved\": \"あなたのサブスクリプションと関連する全てのデータが削除されました。\",\n    \"public.dataRemovedTitle\": \"削除されたデータ\",\n    \"public.dataSent\": \"データは添付にてあなたのメールに送付されました。\",\n    \"public.dataSentTitle\": \"データはメールで送られました。\",\n    \"public.errorFetchingCampaign\": \"メールのメッセージが取得できませんでした。\",\n    \"public.errorFetchingEmail\": \"メールのメッセージが見つかりませんでした。\",\n    \"public.errorFetchingLists\": \"リストの取得にエラーがありました。再試行してください。\",\n    \"public.errorProcessingRequest\": \"リクエスト中にエラーがありました。再試行してください。\",\n    \"public.errorTitle\": \"エラー\",\n    \"public.invalidCaptcha\": \"無効なCAPTCHAです。\",\n    \"public.invalidFeature\": \"その機能は使用できません。\",\n    \"public.invalidLink\": \"無効なリンク\",\n    \"public.managePrefs\": \"設定変更\",\n    \"public.managePrefsUnsub\": \"チェックを消すサブスクリプションは退会となります。\",\n    \"public.noListsAvailable\": \"加入できるリストはありません。\",\n    \"public.noListsSelected\": \"加入に有効なリストが選択されてません。\",\n    \"public.noSubInfo\": \"確認できるサブスクリプションはありません。\",\n    \"public.noSubTitle\": \"サブスクリプションはありません。\",\n    \"public.notFoundTitle\": \"見つかりません\",\n    \"public.poweredBy\": \"提供元\",\n    \"public.prefsSaved\": \"設定保存成功しました。\",\n    \"public.privacyConfirmWipe\": \"全ての加入データが永久に削除されますがよろしいでしょうか？\",\n    \"public.privacyExport\": \"データをエクスポート\",\n    \"public.privacyExportHelp\": \"データのコピーがメールにて送られます。\",\n    \"public.privacyTitle\": \"プライバシーとデータ\",\n    \"public.privacyWipe\": \"データを遠隔で消去する\",\n    \"public.privacyWipeHelp\": \"データベースからサブスクリプションと関連データの全てを永久に削除する\",\n    \"public.sub\": \"加入\",\n    \"public.subConfirmed\": \"加入成功です。\",\n    \"public.subConfirmedTitle\": \"確認済み\",\n    \"public.subName\": \"名前 (任意)\",\n    \"public.subNotFound\": \"サブスクリプションが見つかりません\",\n    \"public.subOptinPending\": \"サブスクリプションを確認するためのメールが送信されました。\",\n    \"public.subPrivateList\": \"プライベートリスト\",\n    \"public.subTitle\": \"加入\",\n    \"public.unsub\": \"登録を解除する。\",\n    \"public.unsubFull\": \"今後全てのメール配信も停止する。\",\n    \"public.unsubHelp\": \"このメーリングリストの登録も解除しますか？\",\n    \"public.unsubTitle\": \"登録を解除する。\",\n    \"public.unsubbedInfo\": \"登録の解除に成功しました。\",\n    \"public.unsubbedTitle\": \"登録を解除する。\",\n    \"public.unsubscribeTitle\": \"メーリングリストの登録を解除する\",\n    \"settings.appearance.adminHelp\": \"管理UIに適用するカスタムCSS\",\n    \"settings.appearance.adminName\": \"管理\",\n    \"settings.appearance.customCSS\": \"カスタムCSS\",\n    \"settings.appearance.customJS\": \"カスタムJavaScript\",\n    \"settings.appearance.name\": \"アピアランス\",\n    \"settings.appearance.publicHelp\": \"公開ページに適用するカスタムCSSとJavaScript。\",\n    \"settings.appearance.publicName\": \"公開\",\n    \"settings.bounces.action\": \"作用\",\n    \"settings.bounces.blocklist\": \"ブロックリスト\",\n    \"settings.bounces.count\": \"バウンス数\",\n    \"settings.bounces.countHelp\": \"加入者ごとのバウンス数\",\n    \"settings.bounces.enable\": \"バウンス処理を有効にする\",\n    \"settings.bounces.enableForwardemail\": \"転送メールを有効にする\",\n    \"settings.bounces.enableMailbox\": \"バウンスメールボックスを有効にする\",\n    \"settings.bounces.enablePostmark\": \"Postmarkを有効にする\",\n    \"settings.bounces.enableSES\": \"SESを有効にする\",\n    \"settings.bounces.enableSendgrid\": \"SendGridを有効にする\",\n    \"settings.bounces.enableWebhooks\": \"バウンスウェブフックを有効にする\",\n    \"settings.bounces.enabled\": \"有効\",\n    \"settings.bounces.folder\": \"フォルダ\",\n    \"settings.bounces.folderHelp\": \"スキャンするIMAPフォルダの名前。 例: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"転送メールキー\",\n    \"settings.bounces.invalidScanInterval\": \"バウンススキャン間隔は最低1分。\",\n    \"settings.bounces.name\": \"バウンス\",\n    \"settings.bounces.none\": \"なし\",\n    \"settings.bounces.postmarkPassword\": \"Postmarkパスワード\",\n    \"settings.bounces.postmarkUsername\": \"Postmarkユーザー名\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmarkでは、Webフックの基本認証を有効にできます。こことPostmarkのWebフック設定で同じ資格情報を入力してください。\",\n    \"settings.bounces.scanInterval\": \"スキャン間隔\",\n    \"settings.bounces.scanIntervalHelp\": \"バウンスメールボックスのバウンスをスキャンする間隔 (秒はs,分はm).\",\n    \"settings.bounces.sendgridKey\": \"SendGridキー\",\n    \"settings.bounces.type\": \"タイプ\",\n    \"settings.bounces.username\": \"ユーザーネーム\",\n    \"settings.confirmRestart\": \"実行中のキャンペーンの停止を確認。再スタートしますか？\",\n    \"settings.duplicateMessengerName\": \"メッセンジャーネームの複製: {name}\",\n    \"settings.errorEncoding\": \"エンコード設定エラー: {error}\",\n    \"settings.errorNoSMTP\": \"少なくとも一つのSMTPブロックが有効であること\",\n    \"settings.general.adminNotifEmails\": \"管理者通知メール\",\n    \"settings.general.adminNotifEmailsHelp\": \"インポートの更新、キャンペーンの完了、失敗など管理者通知を送信するメールアドレスのカンマ区切りリスト\",\n    \"settings.general.checkUpdates\": \"アップデートの確認\",\n    \"settings.general.checkUpdatesHelp\": \"定期的に新しいアプリのリリースを確認し、通知する。\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"公開ウエブサイトに公開アーカイブOK設定されたキャンペーンを発行する。\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"RSSフィードにフルコンテンツを表示する\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"RSSフィードでフルメールコンテンツを表示します。無効にすると、タイトルとリンクのみ表示されます。\",\n    \"settings.general.enablePublicSubPage\": \"公開サブスクリプションページを有効にする。\",\n    \"settings.general.enablePublicSubPageHelp\": \"全ての公開リストを含む公開サブスクリプションページを表示し人々が加入できるようにする。\",\n    \"settings.general.faviconURL\": \"ファビコンURL\",\n    \"settings.general.faviconURLHelp\": \"(任意) 登録解除ページなどのユーザー向けビューに表示される静的ファビコンの完全なURL\",\n    \"settings.general.fromEmail\": \"メールの`送り主`をデフォルトにする \",\n    \"settings.general.fromEmailHelp\": \"キャンペーンメール送信時に表示されるメールの `送り主`をデフォルトにする。キャンペーン毎に変更可能です。\",\n    \"settings.general.language\": \"言語\",\n    \"settings.general.logoURL\": \"ロゴURL\",\n    \"settings.general.logoURLHelp\": \"(任意) 登録解除ページなどのユーザー向けビューに表示される静的ロゴの完全なURL。\",\n    \"settings.general.name\": \"汎用\",\n    \"settings.general.rootURL\": \"ルートURL\",\n    \"settings.general.rootURLHelp\": \"インストール先の公開URL (末尾のスラッシュは不必要).\",\n    \"settings.general.sendOptinConfirm\": \"オプトインの確認を送信\",\n    \"settings.general.sendOptinConfirmHelp\": \"加入者が公開フォームからサインアップしたとき、又は管理者によって追加されたときに、オプトイン確認メールを送信。\",\n    \"settings.general.siteName\": \"ウエブサイト名\",\n    \"settings.invalidMessengerName\": \"無効なメッセンジャー名.\",\n    \"settings.mailserver.authProtocol\": \"認証プロトコル\",\n    \"settings.mailserver.host\": \"ホスト\",\n    \"settings.mailserver.hostHelp\": \"SMTPサーバーのホストアドレス\",\n    \"settings.mailserver.idleTimeout\": \"アイドルタイムアウト\",\n    \"settings.mailserver.idleTimeoutHelp\": \"接続を閉じてプールから削除する前に、接続の新しいアクティビティの待機をする時間 (秒はs,分はm).\",\n    \"settings.mailserver.maxConns\": \"最大接続数\",\n    \"settings.mailserver.maxConnsHelp\": \"サーバーへの最大同時接続数。\",\n    \"settings.mailserver.nameHelp\": \"SMTPサーバーの任意の一意の名前。email-という接頭辞を付ける必要があります。これを設定すると、キャンペーンで特定のサーバーを選択できます。例：email-primary-server。英数字またはダッシュのみ。\",\n    \"settings.mailserver.password\": \"パスワード\",\n    \"settings.mailserver.passwordHelp\": \"エンターで変更\",\n    \"settings.mailserver.port\": \"ポート\",\n    \"settings.mailserver.portHelp\": \"SMTPサーバーポート\",\n    \"settings.mailserver.skipTLS\": \"TLS検証をスキップ\",\n    \"settings.mailserver.skipTLSHelp\": \"TLS証明のホスト名チェックをスキップ。\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL暗号化。一般的にSTARTTLSが使用されます。\",\n    \"settings.mailserver.username\": \"ユーザーネーム\",\n    \"settings.mailserver.waitTimeout\": \"タイムアウト待機\",\n    \"settings.mailserver.waitTimeoutHelp\": \"接続を閉じてプールから削除する前に、接続の新しいアクティビティの待機をする時間 (秒はs,分はm)\",\n    \"settings.maintenance.cron\": \"Cron間隔\",\n    \"settings.media.provider\": \"プロバイダー\",\n    \"settings.media.s3.bucket\": \"バケット\",\n    \"settings.media.s3.bucketPath\": \"バケットパス\",\n    \"settings.media.s3.bucketPathHelp\": \"ファイルをアップロードするためのバケット内のパス。デフォルトは /\",\n    \"settings.media.s3.bucketType\": \"バケットタイプ\",\n    \"settings.media.s3.bucketTypePrivate\": \"プライベート\",\n    \"settings.media.s3.bucketTypePublic\": \"パブリック\",\n    \"settings.media.s3.key\": \"AWSアクセスキー\",\n    \"settings.media.s3.publicURL\": \"カスタム公開URL (任意)\",\n    \"settings.media.s3.publicURLHelp\": \"画像リンクにデフォルトのS3バックエンドURLを使用する代わりに、S3ドメインをカスタムする。\",\n    \"settings.media.s3.region\": \"地域\",\n    \"settings.media.s3.secret\": \"AWS シークレットアクセス\",\n    \"settings.media.s3.uploadExpiry\": \"アップロードの有効期限\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(任意) 生成されたプリサインURLのTTLを 特定。プライベートバケットのみ適用可能。 (秒はs, 分はm, 時間はh, 日はd).\",\n    \"settings.media.s3.url\": \"S3バックエンドURL\",\n    \"settings.media.s3.urlHelp\": \"MinioのようなS3互換のカスタムバックエンドを使用する場合のみ変更。\",\n    \"settings.media.title\": \"メディアアップロード\",\n    \"settings.media.upload.extensions\": \"許可された拡張子\",\n    \"settings.media.upload.extensionsHelp\": \"*を追加してすべての拡張子を許可します。\",\n    \"settings.media.upload.path\": \"パスアップロード\",\n    \"settings.media.upload.pathHelp\": \"メディアをアップロードするディレクトリへのパス\",\n    \"settings.media.upload.uri\": \"URIアップロード\",\n    \"settings.media.upload.uriHelp\": \"外部から閲覧可能なURIのアップロード。 upload_pathにアップロードされたメディアは{root_url}の下で一般に公開されます。例： https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"最大接続数\",\n    \"settings.messengers.maxConnsHelp\": \"サーバーへの最大同時接続数.\",\n    \"settings.messengers.messageSaved\": \"設定が保存されました。アプリをリロードしています...\",\n    \"settings.messengers.name\": \"メッセンジャー\",\n    \"settings.messengers.nameHelp\": \"例: my-sms. アルファニューメリック / ダッシュ.\",\n    \"settings.messengers.password\": \"パスワード\",\n    \"settings.messengers.retries\": \"再試行\",\n    \"settings.messengers.retriesHelp\": \"メッセージ失敗時の再試行回数。\",\n    \"settings.messengers.skipTLSHelp\": \"TLS証明のホストネームチェックをスキップ。\",\n    \"settings.messengers.timeout\": \"アイドルタイムアウト\",\n    \"settings.messengers.timeoutHelp\": \"接続を閉じてプールから削除する前に、接続の新しいアクティビティの待機をする時間 (秒はs,分はm)\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"ポストバックサーバーのルートURL\",\n    \"settings.messengers.username\": \"ユーザーネーム\",\n    \"settings.needsRestart\": \"設定が変更されました。実行中の全てのキャンペーンを停止し、アプリをリスタートさせてください。\",\n    \"settings.performance.batchSize\": \"バッチサイズ\",\n    \"settings.performance.batchSizeHelp\": \"一回のイテレーションでデータベースから取得する加入者の数。各イテレーションではデータベースから加入者を取り出し、メッセージを送信した後、次のバッチを取り出すためのイテレーションに進みます。理想として達成可能な最大スループット (並行性 * メッセージ_レート)よりも高くなければなりません.\",\n    \"settings.performance.cacheSlowQueries\": \"遅いデータベースクエリをキャッシュする\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"これは、大規模なデータベースでかなり遅くなった場合にのみ有効にしてください。 リストの購読者数、ダッシュボードの統計などをキャッシュします。\",\n    \"settings.performance.concurrency\": \"並行性\",\n    \"settings.performance.concurrencyHelp\": \"同時にメッセージを送信しようとする並行ワーカー（スレッド）の最大数。\",\n    \"settings.performance.maxErrThreshold\": \"最大エラーしきい値\",\n    \"settings.performance.maxErrThresholdHelp\": \"実行中のキャンペーンが手動で調査・介入のために停止される前に許容すべきエラーの数 (例: メール時のSMTPタイムアウト) 0に設定すると停止されません。\",\n    \"settings.performance.messageRate\": \"通信速度\",\n    \"settings.performance.messageRateHelp\": \"1秒間にワーカー一1人当たりが発信するメッセージの最大数。 並行性 = 10 で 通信_速度 = 10の場合, 10x10=100 までのメッセージが毎秒押し出されます。これは並行性とともに、ターゲットメッセージサーバーの速度制限があれば、1秒あたりのメッセージがそれを超えないように調整されるべきです。\",\n    \"settings.performance.name\": \"パフォーマンス\",\n    \"settings.performance.slidingWindow\": \"スライディングウィンドウの制限を有効にする。\",\n    \"settings.performance.slidingWindowDuration\": \"継続時間\",\n    \"settings.performance.slidingWindowDurationHelp\": \"スライディングウィンドウの継続時間 (分はm, 時間はh).\",\n    \"settings.performance.slidingWindowHelp\": \"一定期間内に送信されるメッセージの総数を制限する。この制限に達した場合、タイムウィンドウがクリアされるまでメッセージの送信は保留されます。\",\n    \"settings.performance.slidingWindowRate\": \"メッセージ最大数\",\n    \"settings.performance.slidingWindowRateHelp\": \"ウィンドウ持続時間内に送信するメッセージの最大数\",\n    \"settings.privacy.allowBlocklist\": \"ブロックリストを許可する\",\n    \"settings.privacy.allowBlocklistHelp\": \"加入者自身が全てのメーリングリストの登録を解除し、ブロックリストに追加することを許可しますか？\",\n    \"settings.privacy.allowExport\": \"エクスポートを許可する\",\n    \"settings.privacy.allowExportHelp\": \"加入者が自分自身について収集されたデータをエクスポートすることを許可しますか？\",\n    \"settings.privacy.allowPrefs\": \"設定変更許可をする\",\n    \"settings.privacy.allowPrefsHelp\": \"加入者に個人設定変更（名前やサブスクリプション状態）を許可する。\",\n    \"settings.privacy.allowWipe\": \"ワイプを許可する\",\n    \"settings.privacy.allowWipeHelp\": \"加入者サブスクリプション含むすべてのデータを含めて、データベースから自身を削除することを許可する。キャンペーンビューとリンククリックも削除されるが、統計と分析に影響が出ないよう、ビューとクリックカウントは残る (加入者を持たない状態)。\",\n    \"settings.privacy.domainAllowlist\": \"ドメイン許可リスト\",\n    \"settings.privacy.domainAllowlistHelp\": \"これらのドメインのメールアドレスのみ登録が許可されます。1行に1つドメインを入力してください。例: example.com、*.example.com\",\n    \"settings.privacy.domainBlocklist\": \"ドメインブロックリスト\",\n    \"settings.privacy.domainBlocklistHelp\": \"これらのドメインを持つメールアドレスは加入することができません。各行に一つドメインを入れてください。例: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"加入者個別追跡\",\n    \"settings.privacy.individualSubTrackingHelp\": \"加入者レベルのキャンペーンビューとクリックを追跡。無効にした場合、個々の加入者にリンクされることなく、ビューとクリックの追跡が継続されます。\",\n    \"settings.privacy.listUnsubHeader\": \"`リスト-登録解除` ヘッダー\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"メールクライアントがワンクリックで登録解除をできるように登録解除用のヘッダーを含める。\",\n    \"settings.privacy.name\": \"プライバシー\",\n    \"settings.privacy.recordOptinIP\": \"オプトインIPアドレスを記録する\",\n    \"settings.privacy.recordOptinIPHelp\": \"購読者属性にダブルオプトインのIPアドレスを記録します。\",\n    \"settings.restart\": \"再起動\",\n    \"settings.security.CORSDomains\": \"許可されるオリジン\",\n    \"settings.security.CORSDomainsHelp\": \"外部ドメインからブラウザー JavaScript 経由で API エンドポイントにアクセスすることを許可します。1 行に 1 つのドメインを入力してください (例: https://example.com)。CORS を無効にする場合は空のままにするか、すべて許可する場合は * を追加します (推奨されません)。\",\n    \"settings.security.OIDCAutoCreateUsers\": \"ユーザーの自動作成\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"アカウントが存在しない場合、初回ログイン時にユーザーを自動作成します。\",\n    \"settings.security.OIDCClientID\": \"クライアントID\",\n    \"settings.security.OIDCClientSecret\": \"クライアントシークレット\",\n    \"settings.security.OIDCDefaultListRole\": \"デフォルトリストロール\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"OIDCから自動作成されたユーザーに割り当てるデフォルトロール。\",\n    \"settings.security.OIDCDefaultUserRole\": \"デフォルトユーザーロール\",\n    \"settings.security.OIDCHelp\": \"OAuthプロバイダを介したOpenID Connect OAuth2ログインを有効にします。\",\n    \"settings.security.OIDCName\": \"プロバイダー名\",\n    \"settings.security.OIDCRedirectURL\": \"oAuthプロバイダのリダイレクトURL\",\n    \"settings.security.OIDCRedirectWarning\": \"これは本番URLではないようです。'一般'設定のルートURLを変更してください。\",\n    \"settings.security.OIDCURL\": \"プロバイダURL\",\n    \"settings.security.OIDCWarning\": \"OIDCが有効になっている場合、デフォルトのパスワードログインは無効になります。無効な設定はアカウントロックの原因になります。\",\n    \"settings.security.altchaComplexity\": \"Altchaの複雑さ\",\n    \"settings.security.altchaComplexityHelp\": \"値が大きいほどセキュリティは高くなりますが、解決に時間がかかります（1000〜1000000）。\",\n    \"settings.security.captchaKey\": \"hCaptcha.comのサイトキー\",\n    \"settings.security.captchaKeyHelp\": \"キーとシークレットを取得するには、www.hcaptcha.comを訪問してください。\",\n    \"settings.security.captchaSecret\": \"hCaptcha.comシークレット\",\n    \"settings.security.enableCaptcha\": \"CAPTCHAを有効にする\",\n    \"settings.security.enableCaptchaHelp\": \"公開購読フォームでCAPTCHAを有効にします。\",\n    \"settings.security.enableOIDC\": \"OIDC SSOを有効にする\",\n    \"settings.security.name\": \"セキュリティ\",\n    \"settings.smtp.customHeaders\": \"カスタムヘッダー\",\n    \"settings.smtp.customHeadersHelp\": \"このサーバーから送信する全てのメッセージに含まれる任意のメールヘッダーの配列。 例: [{\\\"X-カスタム\\\": \\\"バリュー\\\"}, {\\\"X-カスタム2\\\": \\\"バリュー\\\"}]\",\n    \"settings.smtp.enabled\": \"有効\",\n    \"settings.smtp.heloHost\": \"HELO ホストネーム\",\n    \"settings.smtp.heloHostHelp\": \"任意. ホストネームにFQDNを求めるSMTPサーバーがあります。デフォルトで, HELLOsは`ローカルホスト`と付随します。カスタムホストネームが必要な場合は設定してください。\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"再トライ\",\n    \"settings.smtp.retriesHelp\": \"メッセージ送信失敗時の再試行数\",\n    \"settings.smtp.sendTest\": \"メール送信\",\n    \"settings.smtp.setCustomHeaders\": \"カスタムヘッダー設定\",\n    \"settings.smtp.testConnection\": \"接続テスト\",\n    \"settings.smtp.testEnterEmail\": \"テストためのパスワード入力\",\n    \"settings.smtp.toEmail\": \"メール宛\",\n    \"settings.title\": \"設定\",\n    \"settings.updateAvailable\": \"新しい {version} の更新が可能です。\",\n    \"subscribers.activity\": \"アクティビティ\",\n    \"subscribers.advancedQuery\": \"アドバンスド\",\n    \"subscribers.advancedQueryHelp\": \"加入者属性を問い合わせる部分的なSQL式\",\n    \"subscribers.attribsHelp\": \"属性はJSONマップとして定義されます。例えば:\",\n    \"subscribers.blocklistedHelp\": \"ブロックリストされた加入者は二度とメールを受け取りません。\",\n    \"subscribers.confirmBlocklist\": \"加入者を {num}ブロックリストしますか ?\",\n    \"subscribers.confirmDelete\": \"加入者を{num}削除しますか？\",\n    \"subscribers.confirmExport\": \"加入者を{num}エクスポートしますか？\",\n    \"subscribers.domainBlocklisted\": \"このメールのドメインはブロックリスト対象です。\",\n    \"subscribers.downloadData\": \"データのダウンロード\",\n    \"subscribers.email\": \"メール\",\n    \"subscribers.emailExists\": \"このメールはすでに登録されています.\",\n    \"subscribers.errorBlocklisting\": \"加入者ブロックリストエラー: {error}\",\n    \"subscribers.errorNoIDs\": \"与えられたIDがありません。\",\n    \"subscribers.errorNoListsGiven\": \"与えられたリストがありません。\",\n    \"subscribers.errorPreparingQuery\": \"加入者の問い合わせ準備エラー: {error}\",\n    \"subscribers.errorSendingOptin\": \"オプトインメール送信エラー。\",\n    \"subscribers.export\": \"エクスポート\",\n    \"subscribers.invalidAction\": \"無効なアクション.\",\n    \"subscribers.invalidEmail\": \"無効なメール.\",\n    \"subscribers.invalidJSON\": \"属性に無効なJSON。\",\n    \"subscribers.invalidName\": \"無効な名前.\",\n    \"subscribers.listChangeApplied\": \"リストの変更が適用されました。\",\n    \"subscribers.lists\": \"リスト\",\n    \"subscribers.listsHelp\": \"加入者が自ら解除したリストは削除できません。\",\n    \"subscribers.listsPlaceholder\": \"登録するリスト。\",\n    \"subscribers.manageLists\": \"リストを管理する\",\n    \"subscribers.markUnsubscribed\": \"登録解除を設定する。\",\n    \"subscribers.newSubscriber\": \"新加入者\",\n    \"subscribers.numSelected\": \"選択された加入者{num}\",\n    \"subscribers.optinSubject\": \"サブスクリプション確認\",\n    \"subscribers.preconfirm\": \"サブスクリプションの事前確認\",\n    \"subscribers.preconfirmHelp\": \"オプトインメールを送らず全てのリストサブスクリプションを'加入済み'とする.\",\n    \"subscribers.query\": \"問い合わせ\",\n    \"subscribers.queryPlaceholder\": \"メール又は名前\",\n    \"subscribers.reset\": \"リセット\",\n    \"subscribers.selectAll\": \"全て選択 {num}\",\n    \"subscribers.sendOptinConfirm\": \"オプトイン確認を送信\",\n    \"subscribers.sentOptinConfirm\": \"オプトイン確認送信済み\",\n    \"subscribers.status.blocklisted\": \"ブロックリスト対象\",\n    \"subscribers.status.confirmed\": \"確認済み\",\n    \"subscribers.status.enabled\": \"有効\",\n    \"subscribers.status.subscribed\": \"加入済み\",\n    \"subscribers.status.unconfirmed\": \"未確認\",\n    \"subscribers.status.unsubscribed\": \"登録解除\",\n    \"subscribers.subscribersDeleted\": \"加入者{num}が削除されました。\",\n    \"templates.cantDeleteDefault\": \"デフォルトのテンプレートを削除できません\",\n    \"templates.default\": \"デフォルト\",\n    \"templates.dummyName\": \"ダミーキャンペーン\",\n    \"templates.dummySubject\": \"ダミーキャンペーン件名\",\n    \"templates.errorCompiling\": \"テンプレートコンパイルエラー: {error}\",\n    \"templates.errorRendering\": \"レンダリングメッセージエラー: {error}\",\n    \"templates.fieldInvalidName\": \"名前の長さが無効です.\",\n    \"templates.makeDefault\": \"デフォルトで設定\",\n    \"templates.newTemplate\": \"新しいテンプレート\",\n    \"templates.placeholderHelp\": \"プレースホルダー{placeholder}はテンプレートに一度だけ表示される必要があります。\",\n    \"templates.preview\": \"プレビュー\",\n    \"templates.rawHTML\": \"HTML(生)\",\n    \"templates.subject\": \"件名\",\n    \"templates.typeCampaignHTML\": \"キャンペーン / HTML\",\n    \"templates.typeCampaignVisual\": \"キャンペーン / ビジュアル\",\n    \"templates.typeTransactional\": \"トランザクションメール\",\n    \"users.apiOneTimeToken\": \"APIアクセストークンを今すぐコピーしてください。もう表示されません。\",\n    \"users.cantDeleteRole\": \"使用中のロールを削除することはできません。\",\n    \"users.firstTime\": \"これは新しいインストールです。スーパーアドミンアカウントのユーザー名とパスワードを選択してください。\",\n    \"users.forgotPassword\": \"パスワードを忘れた場合\",\n    \"users.invalidLogin\": \"ログインまたはパスワードが無効です\",\n    \"users.invalidPassword\": \"無効なパスワード\",\n    \"users.invalidRequest\": \"無効な認証リクエストです\",\n    \"users.invalidResetLink\": \"無効または期限切れのリセットリンク\",\n    \"users.lastLogin\": \"最終ログイン\",\n    \"users.listPerms\": \"リストの権限\",\n    \"users.listPermsWarning\": \"lists:get_allまたはlists:manage_allが有効になっており、これはリストごとの権限を上書きします\",\n    \"users.listRole\": \"リストロール | リストロール\",\n    \"users.listRoles\": \"リストロール\",\n    \"users.login\": \"ログイン\",\n    \"users.loginOIDC\": \"{name}でログイン\",\n    \"users.logout\": \"ログアウト\",\n    \"users.needSuper\": \"ユーザー（複数可）の更新に失敗しました。少なくとも1人のアクティブなスーパーアドミンユーザーが必要です。\",\n    \"users.newListRole\": \"新しいリストロール\",\n    \"users.newPassword\": \"新しいパスワード\",\n    \"users.newUser\": \"新しいユーザー\",\n    \"users.newUserRole\": \"新しいユーザーロール\",\n    \"users.password\": \"パスワード\",\n    \"users.passwordEnable\": \"パスワードログインを有効にする\",\n    \"users.passwordMismatch\": \"パスワードが一致しません\",\n    \"users.passwordRepeat\": \"パスワードの繰り返し\",\n    \"users.perms\": \"権限\",\n    \"users.profile\": \"プロフィール\",\n    \"users.resetLinkSent\": \"アカウントがアクティブな場合、パスワードリセットメールを受け取ります。\",\n    \"users.resetPassword\": \"パスワードをリセット\",\n    \"users.role\": \"ロール | ロール\",\n    \"users.roleGroup\": \"グループ\",\n    \"users.roles\": \"ロール\",\n    \"users.status.disabled\": \"無効\",\n    \"users.status.enabled\": \"有効\",\n    \"users.totpCode\": \"TOTP コード\",\n    \"users.totpCodeHelp\": \"認証器アプリから 6 桁のコードを入力してください\",\n    \"users.totpScanQR\": \"Ente または Google Authenticator などの認証器アプリで QR コードをスキャンし、下記の TOTP コードを入力してください。\",\n    \"users.totpSecret\": \"シークレットキー\",\n    \"users.twoFA\": \"2 要素認証\",\n    \"users.twoFAAlreadyEnabled\": \"2 要素認証は既に有効になっています。\",\n    \"users.twoFAEnabled\": \"2 要素認証がオン\",\n    \"users.twoFAEnabledDesc\": \"あなたのアカウントは {type} 2FA で保護されています\",\n    \"users.twoFANotEnabled\": \"アカウントにログインするときの追加セキュリティのために 2FA を有効にしてください。\",\n    \"users.type\": \"タイプ\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"スーパーアドミン\",\n    \"users.type.user\": \"ユーザー\",\n    \"users.userRole\": \"ユーザーロール | ユーザーロール\",\n    \"users.userRoles\": \"ユーザーロール\",\n    \"users.username\": \"ユーザー名\",\n    \"users.usernameHelp\": \"パスワードログインに使用されます\"\n}\n"
  },
  {
    "path": "i18n/ko.json",
    "content": "{\n    \"_.code\": \"ko\",\n    \"_.name\": \"한국어 (ko)\",\n    \"admin.errorMarshallingConfig\": \"마샬링 설정 오류: {error}\",\n    \"analytics.count\": \"카운트\",\n    \"analytics.fromDate\": \"시작일\",\n    \"analytics.invalidDates\": \"잘못된 `시작일` 또는 `종료일` 날짜입니다.\",\n    \"analytics.isUnique\": \"카운트는 구독자별로 고유합니다.\",\n    \"analytics.links\": \"링크\",\n    \"analytics.nonUnique\": \"개별 구독자 추적이 꺼져 있어 카운트가 고유하지 않습니다.\",\n    \"analytics.title\": \"분석\",\n    \"analytics.toDate\": \"종료일\",\n    \"bounces.complaint\": \"컴플레인\",\n    \"bounces.hard\": \"하드 바운스\",\n    \"bounces.soft\": \"소프트 바운스\",\n    \"bounces.source\": \"소스\",\n    \"bounces.unknownService\": \"알 수 없는 서비스.\",\n    \"bounces.view\": \"바운스 보기\",\n    \"campaigns.addAltText\": \"대체 일반 텍스트 메시지 추가\",\n    \"campaigns.addAttachments\": \"첨부파일 추가\",\n    \"campaigns.archive\": \"아카이브\",\n    \"campaigns.archiveEnable\": \"공개 아카이브에 게시\",\n    \"campaigns.archiveHelp\": \"공개 아카이브에 캠페인 메시지를 게시합니다 (진행 중, 일시정지, 완료 모두 포함).\",\n    \"campaigns.archiveMeta\": \"캠페인 메타데이터\",\n    \"campaigns.archiveMetaHelp\": \"캠페인 메시지나 템플릿에 사용할 더미 구독자 데이터(이름, 이메일, 속성 등).\",\n    \"campaigns.archiveSlug\": \"URL 슬러그\",\n    \"campaigns.archiveSlugHelp\": \"공개 URL에서 사용할 페이지의 짧은 이름. 예: my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"첨부파일\",\n    \"campaigns.attribsHelp\": \"이 캠페인의 사용자 정의 JSON 객체 {} 속성입니다. 템플릿에서 {{ .Campaign.Attribs.$key }}로 사용하세요.\",\n    \"campaigns.cantUpdate\": \"진행 중이거나 완료된 캠페인은 수정할 수 없습니다.\",\n    \"campaigns.clicks\": \"클릭\",\n    \"campaigns.confirmDelete\": \"{name} 삭제\",\n    \"campaigns.confirmOverwriteContent\": \"이 작업은 모든 내용을 덮어씁니다. 계속하시겠습니까?\",\n    \"campaigns.confirmSchedule\": \"이 캠페인은 예약된 날짜와 시간에 자동으로 시작됩니다. 지금 예약할까요?\",\n    \"campaigns.confirmSwitchFormat\": \"내용의 서식이 깨질 수 있습니다. 계속하시겠습니까?\",\n    \"campaigns.content\": \"콘텐츠\",\n    \"campaigns.contentHelp\": \"여기에 콘텐츠 입력\",\n    \"campaigns.continue\": \"계속\",\n    \"campaigns.copyOf\": \"{name}의 복사본\",\n    \"campaigns.customHeadersHelp\": \"발송 메시지에 첨부할 커스텀 헤더 배열. 예: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"날짜 및 시간\",\n    \"campaigns.ended\": \"종료됨\",\n    \"campaigns.errorSendTest\": \"테스트 발송 오류: {error}\",\n    \"campaigns.fieldInvalidBody\": \"캠페인 본문 컴파일 오류: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"잘못된 `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"잘못된 리스트 ID.\",\n    \"campaigns.fieldInvalidMessenger\": \"알 수 없는 메신저 {name}.\",\n    \"campaigns.fieldInvalidName\": \"이름의 길이가 잘못되었습니다.\",\n    \"campaigns.fieldInvalidSendAt\": \"예약 날짜는 미래여야 합니다.\",\n    \"campaigns.fieldInvalidSubject\": \"제목의 길이가 잘못되었습니다.\",\n    \"campaigns.format\": \"서식\",\n    \"campaigns.formatHTML\": \"HTML 서식화\",\n    \"campaigns.fromAddress\": \"발신자 주소\",\n    \"campaigns.fromAddressPlaceholder\": \"이름 <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"비주얼 템플릿 가져오기\",\n    \"campaigns.invalid\": \"잘못된 캠페인\",\n    \"campaigns.invalidCustomHeaders\": \"잘못된 커스텀 헤더: {error}\",\n    \"campaigns.markdown\": \"마크다운\",\n    \"campaigns.needsSendAt\": \"캠페인 예약 날짜가 필요합니다.\",\n    \"campaigns.newCampaign\": \"새 캠페인\",\n    \"campaigns.noKnownSubsToTest\": \"테스트할 구독자가 없습니다.\",\n    \"campaigns.noOptinLists\": \"캠페인 생성을 위한 옵트인 리스트가 없습니다.\",\n    \"campaigns.noSubs\": \"선택한 리스트에 캠페인 생성 대상 구독자가 없습니다.\",\n    \"campaigns.noSubsToTest\": \"대상 구독자가 없습니다.\",\n    \"campaigns.notFound\": \"캠페인을 찾을 수 없습니다.\",\n    \"campaigns.onlyActiveCancel\": \"진행 중인 캠페인만 취소할 수 있습니다.\",\n    \"campaigns.onlyActivePause\": \"진행 중인 캠페인만 일시정지할 수 있습니다.\",\n    \"campaigns.onlyDraftAsScheduled\": \"임시 저장 또는 일시정지된 캠페인만 예약할 수 있습니다.\",\n    \"campaigns.onlyPausedDraft\": \"일시정지된 캠페인과 임시 저장만 시작할 수 있습니다.\",\n    \"campaigns.onlyScheduledAsDraft\": \"예약된 캠페인만 임시 저장할 수 있습니다.\",\n    \"campaigns.pause\": \"일시정지\",\n    \"campaigns.plainText\": \"일반 텍스트\",\n    \"campaigns.preview\": \"미리보기\",\n    \"campaigns.progress\": \"진행률\",\n    \"campaigns.queryPlaceholder\": \"이름 또는 제목\",\n    \"campaigns.rateMinuteShort\": \"분\",\n    \"campaigns.rawHTML\": \"원본 HTML\",\n    \"campaigns.removeAltText\": \"대체 일반 텍스트 메시지 제거\",\n    \"campaigns.richText\": \"리치 텍스트\",\n    \"campaigns.schedule\": \"캠페인 예약\",\n    \"campaigns.scheduled\": \"예약됨\",\n    \"campaigns.send\": \"발송\",\n    \"campaigns.sendLater\": \"나중에 발송\",\n    \"campaigns.sendTest\": \"테스트 메시지 발송\",\n    \"campaigns.sendTestHelp\": \"주소 입력 후 Enter를 눌러 여러 수신자를 추가하세요. 주소는 기존 구독자여야 합니다.\",\n    \"campaigns.sendToLists\": \"발송 대상 리스트\",\n    \"campaigns.sent\": \"발송됨\",\n    \"campaigns.start\": \"캠페인 시작\",\n    \"campaigns.started\": \"\\\"{name}\\\" 시작됨\",\n    \"campaigns.startedAt\": \"시작됨\",\n    \"campaigns.stats\": \"통계\",\n    \"campaigns.status.cancelled\": \"취소됨\",\n    \"campaigns.status.draft\": \"임시 저장\",\n    \"campaigns.status.finished\": \"완료됨\",\n    \"campaigns.status.paused\": \"일시정지됨\",\n    \"campaigns.status.running\": \"진행 중\",\n    \"campaigns.status.scheduled\": \"예약됨\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" {status}\",\n    \"campaigns.subject\": \"제목\",\n    \"campaigns.templatingRef\": \"템플릿 참조\",\n    \"campaigns.testEmails\": \"이메일\",\n    \"campaigns.testSent\": \"테스트 메시지 발송됨\",\n    \"campaigns.timestamps\": \"타임스탬프\",\n    \"campaigns.trackLink\": \"링크 추적\",\n    \"campaigns.unSchedule\": \"예약 해제\",\n    \"campaigns.views\": \"조회수\",\n    \"campaigns.visual\": \"비주얼\",\n    \"dashboard.campaignViews\": \"캠페인 조회수\",\n    \"dashboard.linkClicks\": \"링크 클릭수\",\n    \"dashboard.messagesSent\": \"발송된 메시지\",\n    \"dashboard.orphanSubs\": \"누락된 구독자\",\n    \"email.data.info\": \"귀하에 대해 기록된 모든 데이터의 복사본이 JSON 파일로 첨부되어 있습니다. 텍스트 에디터로 볼 수 있습니다.\",\n    \"email.data.title\": \"내 데이터\",\n    \"email.forgotPassword.button\": \"암호 재설정\",\n    \"email.forgotPassword.info\": \"이 요청을 하지 않으셨다면 이 이메일을 무시하셔도 됩니다. 이 링크는 30분 후에 만료됩니다.\",\n    \"email.forgotPassword.subject\": \"암호 재설정\",\n    \"email.optin.confirmSub\": \"구독 확인\",\n    \"email.optin.confirmSubHelp\": \"아래 버튼을 클릭하여 구독을 확인하세요.\",\n    \"email.optin.confirmSubInfo\": \"다음 리스트에 추가되었습니다:\",\n    \"email.optin.confirmSubTitle\": \"구독 확인\",\n    \"email.optin.confirmSubWelcome\": \"안녕하세요\",\n    \"email.optin.privateList\": \"비공개 리스트\",\n    \"email.status.campaignReason\": \"사유\",\n    \"email.status.campaignSent\": \"발송됨\",\n    \"email.status.campaignUpdateTitle\": \"캠페인 업데이트\",\n    \"email.status.importFile\": \"파일\",\n    \"email.status.importRecords\": \"기록\",\n    \"email.status.importTitle\": \"가져오기 업데이트\",\n    \"email.status.status\": \"상태\",\n    \"email.unsub\": \"구독 해지\",\n    \"email.unsubHelp\": \"이메일 수신을 원하지 않으신가요?\",\n    \"email.viewInBrowser\": \"브라우저에서 보기\",\n    \"forms.formHTML\": \"폼 HTML\",\n    \"forms.formHTMLHelp\": \"외부 웹페이지에 구독 폼을 표시하려면 아래 HTML을 사용하세요. 폼에는 이메일 필드와 하나 이상의 `l`(리스트 UUID) 필드가 포함되어야 합니다. 이름 필드는 선택 사항입니다.\",\n    \"forms.noPublicLists\": \"폼 생성을 위한 공개 리스트가 없습니다.\",\n    \"forms.publicLists\": \"공개 리스트\",\n    \"forms.publicSubPage\": \"공개 구독 페이지\",\n    \"forms.selectHelp\": \"폼에 추가할 리스트를 선택하세요.\",\n    \"forms.title\": \"폼\",\n    \"globals.buttons.add\": \"추가\",\n    \"globals.buttons.addNew\": \"새로 추가\",\n    \"globals.buttons.back\": \"뒤로\",\n    \"globals.buttons.cancel\": \"취소\",\n    \"globals.buttons.clear\": \"지우기\",\n    \"globals.buttons.clearAll\": \"전체 지우기\",\n    \"globals.buttons.clone\": \"복제\",\n    \"globals.buttons.close\": \"닫기\",\n    \"globals.buttons.continue\": \"계속\",\n    \"globals.buttons.copy\": \"복사\",\n    \"globals.buttons.delete\": \"삭제\",\n    \"globals.buttons.deleteAll\": \"전체 삭제\",\n    \"globals.buttons.disable\": \"비활성화\",\n    \"globals.buttons.edit\": \"편집\",\n    \"globals.buttons.enable\": \"활성화\",\n    \"globals.buttons.enabled\": \"활성화\",\n    \"globals.buttons.insert\": \"삽입\",\n    \"globals.buttons.learnMore\": \"자세히 보기\",\n    \"globals.buttons.manage\": \"관리\",\n    \"globals.buttons.more\": \"더보기\",\n    \"globals.buttons.new\": \"새로 만들기\",\n    \"globals.buttons.ok\": \"확인\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"제거\",\n    \"globals.buttons.save\": \"저장\",\n    \"globals.buttons.saveChanges\": \"변경사항 저장\",\n    \"globals.buttons.toggleSelect\": \"선택 전환\",\n    \"globals.buttons.view\": \"보기\",\n    \"globals.days.0\": \"일\",\n    \"globals.days.1\": \"일\",\n    \"globals.days.2\": \"월\",\n    \"globals.days.3\": \"화\",\n    \"globals.days.4\": \"수\",\n    \"globals.days.5\": \"목\",\n    \"globals.days.6\": \"금\",\n    \"globals.days.7\": \"토\",\n    \"globals.fields.createdAt\": \"생성일\",\n    \"globals.fields.description\": \"설명\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"이름\",\n    \"globals.fields.status\": \"상태\",\n    \"globals.fields.type\": \"유형\",\n    \"globals.fields.updatedAt\": \"수정일\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"정말로 진행하시겠습니까?\",\n    \"globals.messages.confirmDelete\": \"{num}개의 {name}을(를) 삭제하시겠습니까?\",\n    \"globals.messages.confirmDiscard\": \"변경사항을 폐기하시겠습니까?\",\n    \"globals.messages.copied\": \"복사됨\",\n    \"globals.messages.created\": \"\\\"{name}\\\" 생성됨\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" 삭제됨\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) 삭제됨\",\n    \"globals.messages.done\": \"완료\",\n    \"globals.messages.emptyState\": \"표시할 내용이 없습니다\",\n    \"globals.messages.errorCreating\": \"{name} 생성 오류: {error}\",\n    \"globals.messages.errorDeleting\": \"{name} 삭제 오류: {error}\",\n    \"globals.messages.errorFetching\": \"{name} 불러오기 오류: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"하나 이상의 ID가 잘못되었습니다: {error}\",\n    \"globals.messages.errorUUID\": \"UUID 생성 오류: {error}\",\n    \"globals.messages.errorUpdating\": \"{name} 수정 오류: {error}\",\n    \"globals.messages.internalError\": \"내부 서버 오류\",\n    \"globals.messages.invalidData\": \"잘못된 데이터\",\n    \"globals.messages.invalidFields\": \"잘못된 필드: {name}\",\n    \"globals.messages.invalidID\": \"잘못된 ID\",\n    \"globals.messages.invalidUUID\": \"잘못된 UUID\",\n    \"globals.messages.invalidValue\": \"잘못된 값입니다.\",\n    \"globals.messages.missingFields\": \"누락된 필드: {name}\",\n    \"globals.messages.notFound\": \"{name}을(를) 찾을 수 없습니다\",\n    \"globals.messages.numSelected\": \"{num} 선택됨\",\n    \"globals.messages.passwordChange\": \"변경할 값을 입력하세요\",\n    \"globals.messages.passwordChangeFull\": \"'{name}'에서 비밀번호를 지우고 다시 입력하세요.\",\n    \"globals.messages.permissionDenied\": \"권한 거부됨: {name}\",\n    \"globals.messages.selectAll\": \"모든 {num}개 선택\",\n    \"globals.messages.slowQueriesCached\": \"느린 쿼리가 캐시되고 있습니다. 이 페이지의 일부 수치는 최신이 아닐 수 있습니다.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" 수정됨\",\n    \"globals.months.1\": \"1월\",\n    \"globals.months.10\": \"10월\",\n    \"globals.months.11\": \"11월\",\n    \"globals.months.12\": \"12월\",\n    \"globals.months.2\": \"2월\",\n    \"globals.months.3\": \"3월\",\n    \"globals.months.4\": \"4월\",\n    \"globals.months.5\": \"5월\",\n    \"globals.months.6\": \"6월\",\n    \"globals.months.7\": \"7월\",\n    \"globals.months.8\": \"8월\",\n    \"globals.months.9\": \"9월\",\n    \"globals.states.off\": \"꺼짐\",\n    \"globals.terms.all\": \"전체\",\n    \"globals.terms.analytics\": \"분석\",\n    \"globals.terms.attribs\": \"속성\",\n    \"globals.terms.bounce\": \"바운스\",\n    \"globals.terms.bounces\": \"바운스\",\n    \"globals.terms.campaign\": \"캠페인\",\n    \"globals.terms.campaigns\": \"캠페인\",\n    \"globals.terms.dashboard\": \"대시보드\",\n    \"globals.terms.day\": \"일\",\n    \"globals.terms.hour\": \"시간\",\n    \"globals.terms.import\": \"가져오기\",\n    \"globals.terms.list\": \"리스트\",\n    \"globals.terms.lists\": \"리스트\",\n    \"globals.terms.media\": \"미디어\",\n    \"globals.terms.messenger\": \"메신저\",\n    \"globals.terms.messengers\": \"메신저\",\n    \"globals.terms.minute\": \"분\",\n    \"globals.terms.month\": \"월\",\n    \"globals.terms.new\": \"새로\",\n    \"globals.terms.none\": \"없음\",\n    \"globals.terms.second\": \"초\",\n    \"globals.terms.settings\": \"설정\",\n    \"globals.terms.subscriber\": \"구독자\",\n    \"globals.terms.subscribers\": \"구독자\",\n    \"globals.terms.subscriptions\": \"구독\",\n    \"globals.terms.tag\": \"태그\",\n    \"globals.terms.tags\": \"태그\",\n    \"globals.terms.template\": \"템플릿\",\n    \"globals.terms.templates\": \"템플릿\",\n    \"globals.terms.tx\": \"트랜잭션\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"사용자\",\n    \"globals.terms.users\": \"사용자\",\n    \"globals.terms.year\": \"년\",\n    \"import.alreadyRunning\": \"가져오기가 이미 실행 중입니다. 완료되거나 중지될 때까지 기다렸다가 다시 시도하세요.\",\n    \"import.blocklist\": \"차단 목록\",\n    \"import.csvDelim\": \"CSV 구분자\",\n    \"import.csvDelimHelp\": \"기본 구분자는 쉼표입니다.\",\n    \"import.csvExample\": \"CSV 예시\",\n    \"import.csvFile\": \"CSV 또는 ZIP 파일\",\n    \"import.csvFileHelp\": \"여기에 CSV 또는 ZIP 파일을 클릭하거나 드래그하세요.\",\n    \"import.errorCopyingFile\": \"파일 복사 오류: {error}\",\n    \"import.errorProcessingZIP\": \"ZIP 파일 처리 오류: {error}\",\n    \"import.errorStarting\": \"가져오기 시작 오류: {error}\",\n    \"import.importDone\": \"완료\",\n    \"import.importStarted\": \"가져오기 시작됨\",\n    \"import.instructions\": \"안내\",\n    \"import.instructionsHelp\": \"구독자를 대량으로 가져오려면 CSV 파일 또는 하나의 CSV 파일이 포함된 ZIP 파일을 업로드하세요. CSV 파일에는 정확한 컬럼명이 포함된 아래 헤더가 필요합니다. attributes(선택 사항)는 이스케이프된 큰따옴표가 포함된 유효한 JSON 문자열이어야 합니다.\",\n    \"import.invalidDelim\": \"구분자는 한 글자여야 합니다.\",\n    \"import.invalidFile\": \"잘못된 파일: {error}\",\n    \"import.invalidMode\": \"잘못된 모드\",\n    \"import.invalidParams\": \"잘못된 파라미터: {error}\",\n    \"import.invalidSubStatus\": \"잘못된 구독 상태\",\n    \"import.listSubHelp\": \"구독할 리스트.\",\n    \"import.mode\": \"모드\",\n    \"import.overwriteSubStatus\": \"구독 상태 덮어쓰기\",\n    \"import.overwriteSubStatusHelp\": \"기존 목록 구독의 상태를 덮어쓰기\",\n    \"import.overwriteUserInfo\": \"사용자 정보 덮어쓰기\",\n    \"import.overwriteUserInfoHelp\": \"기존 구독자의 이름과 속성 덮어쓰기\",\n    \"import.recordsCount\": \"{num} / {total} 기록\",\n    \"import.stopImport\": \"가져오기 중지\",\n    \"import.subscribe\": \"구독\",\n    \"import.subscribeWarning\": \"덮어쓰면 구독 해지된 이메일이 다시 구독됩니다. 계속하시겠습니까?\",\n    \"import.title\": \"구독자 가져오기\",\n    \"import.upload\": \"업로드\",\n    \"lists.archived\": \"보관됨\",\n    \"lists.archivedHelp\": \"보관하면 목록 페이지, 캠페인 및 공개 양식에서 목록이 숨겨집니다. 언제든지 보관을 해제할 수 있습니다. 오래되고 거의 사용되지 않는 목록을 숨기는 데 유용합니다.\",\n    \"lists.confirmDelete\": \"정말 삭제하시겠습니까? 구독자는 삭제되지 않습니다.\",\n    \"lists.confirmSub\": \"{name} 구독 확인\",\n    \"lists.invalidName\": \"잘못된 이름\",\n    \"lists.newList\": \"새 리스트\",\n    \"lists.optin\": \"옵트인\",\n    \"lists.optinHelp\": \"더블 옵트인은 구독자에게 확인 이메일을 보냅니다. 더블 옵트인 리스트에서는 확인된 구독자에게만 캠페인이 발송됩니다.\",\n    \"lists.optinTo\": \"{name} 옵트인\",\n    \"lists.optins.double\": \"더블 옵트인\",\n    \"lists.optins.single\": \"싱글 옵트인\",\n    \"lists.sendCampaign\": \"캠페인 발송\",\n    \"lists.sendOptinCampaign\": \"옵트인 캠페인 발송\",\n    \"lists.type\": \"유형\",\n    \"lists.typeHelp\": \"공개 리스트는 누구나 구독할 수 있으며, 이름이 구독 관리 페이지 등 공개 페이지에 표시될 수 있습니다.\",\n    \"lists.types.private\": \"비공개\",\n    \"lists.types.public\": \"공개\",\n    \"logs.title\": \"로그\",\n    \"maintenance.database.title\": \"데이터베이스\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE는 삭제된 행이 사용하는 저장소를 회수하고 큰 데이터베이스의 데이터베이스 성능을 크게 향상시킵니다. 중요: 대용량 데이터베이스의 경우 이는 느리고 차단하는 작업입니다. 업무 시간 외에 실행하도록 예약하세요.\",\n    \"maintenance.help\": \"데이터 양에 따라 작업 완료까지 시간이 걸릴 수 있습니다.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"미확인 옵트인 구독\",\n    \"maintenance.olderThan\": \"이전\",\n    \"maintenance.orphanHelp\": \"누락된 구독자 = 어떤 리스트에도 포함되지 않은 구독자\",\n    \"maintenance.title\": \"유지보수\",\n    \"maintenance.unconfirmedSubs\": \"{name}일 이상 미확인 구독\",\n    \"media.errorReadingFile\": \"파일 읽기 오류: {error}\",\n    \"media.errorResizing\": \"이미지 크기 조정 오류: {error}\",\n    \"media.errorSavingThumbnail\": \"썸네일 저장 오류: {error}\",\n    \"media.errorUploading\": \"파일 업로드 오류: {error}\",\n    \"media.invalidFile\": \"잘못된 파일: {error}\",\n    \"media.title\": \"미디어\",\n    \"media.unsupportedFileType\": \"지원하지 않는 파일 형식({type})\",\n    \"media.upload\": \"업로드\",\n    \"media.uploadHelp\": \"여기에 하나 이상의 이미지를 클릭하거나 드래그하세요.\",\n    \"menu.allCampaigns\": \"전체 캠페인\",\n    \"menu.allLists\": \"전체 리스트\",\n    \"menu.allSubscribers\": \"전체 구독자\",\n    \"menu.dashboard\": \"대시보드\",\n    \"menu.forms\": \"폼\",\n    \"menu.import\": \"가져오기\",\n    \"menu.logs\": \"로그\",\n    \"menu.maintenance\": \"유지보수\",\n    \"menu.media\": \"미디어\",\n    \"menu.newCampaign\": \"새로 만들기\",\n    \"menu.settings\": \"설정\",\n    \"public.archiveEmpty\": \"아카이브된 메시지가 없습니다.\",\n    \"public.archiveTitle\": \"메일링 리스트 아카이브\",\n    \"public.blocklisted\": \"영구 구독 해지됨.\",\n    \"public.campaignNotFound\": \"이메일 메시지를 찾을 수 없습니다.\",\n    \"public.confirmOptinSubTitle\": \"구독 확인\",\n    \"public.confirmSub\": \"구독 확인\",\n    \"public.confirmSubInfo\": \"다음 리스트에 추가되었습니다:\",\n    \"public.confirmSubTitle\": \"확인\",\n    \"public.dataRemoved\": \"구독 및 관련 데이터가 모두 삭제되었습니다.\",\n    \"public.dataRemovedTitle\": \"데이터 삭제됨\",\n    \"public.dataSent\": \"데이터가 첨부파일로 이메일로 전송되었습니다.\",\n    \"public.dataSentTitle\": \"데이터 이메일 발송됨\",\n    \"public.errorFetchingCampaign\": \"이메일 메시지 불러오기 오류.\",\n    \"public.errorFetchingEmail\": \"이메일 메시지를 찾을 수 없음\",\n    \"public.errorFetchingLists\": \"리스트 불러오기 오류. 다시 시도하세요.\",\n    \"public.errorProcessingRequest\": \"요청 처리 오류. 다시 시도하세요.\",\n    \"public.errorTitle\": \"오류\",\n    \"public.invalidCaptcha\": \"잘못된 CAPTCHA.\",\n    \"public.invalidFeature\": \"해당 기능을 사용할 수 없습니다.\",\n    \"public.invalidLink\": \"잘못된 링크\",\n    \"public.managePrefs\": \"환경설정 관리\",\n    \"public.managePrefsUnsub\": \"체크 해제 시 해당 리스트 구독이 해지됩니다.\",\n    \"public.noListsAvailable\": \"구독 가능한 리스트가 없습니다.\",\n    \"public.noListsSelected\": \"구독할 유효한 리스트가 선택되지 않았습니다.\",\n    \"public.noSubInfo\": \"확인할 구독이 없습니다.\",\n    \"public.noSubTitle\": \"구독 없음\",\n    \"public.notFoundTitle\": \"찾을 수 없음\",\n    \"public.poweredBy\": \"제공:\",\n    \"public.prefsSaved\": \"환경설정이 저장되었습니다.\",\n    \"public.privacyConfirmWipe\": \"모든 구독 데이터를 영구적으로 삭제하시겠습니까?\",\n    \"public.privacyExport\": \"내 데이터 내보내기\",\n    \"public.privacyExportHelp\": \"데이터 복사본이 이메일로 전송됩니다.\",\n    \"public.privacyTitle\": \"개인정보 및 데이터\",\n    \"public.privacyWipe\": \"내 데이터 삭제\",\n    \"public.privacyWipeHelp\": \"모든 구독 및 관련 데이터를 영구적으로 삭제합니다.\",\n    \"public.sub\": \"구독\",\n    \"public.subConfirmed\": \"구독이 완료되었습니다.\",\n    \"public.subConfirmedTitle\": \"확인됨\",\n    \"public.subName\": \"이름(선택)\",\n    \"public.subNotFound\": \"구독을 찾을 수 없습니다.\",\n    \"public.subOptinPending\": \"구독 확인을 위한 이메일이 전송되었습니다.\",\n    \"public.subPrivateList\": \"비공개 리스트\",\n    \"public.subTitle\": \"구독\",\n    \"public.unsub\": \"구독 해지\",\n    \"public.unsubFull\": \"향후 모든 이메일 구독 해지\",\n    \"public.unsubHelp\": \"이 메일링 리스트 구독을 해지하시겠습니까?\",\n    \"public.unsubTitle\": \"구독 해지\",\n    \"public.unsubbedInfo\": \"구독 해지가 완료되었습니다.\",\n    \"public.unsubbedTitle\": \"구독 해지됨\",\n    \"public.unsubscribeTitle\": \"메일링 리스트 구독 해지\",\n    \"settings.appearance.adminHelp\": \"관리 UI에 적용할 커스텀 CSS\",\n    \"settings.appearance.adminName\": \"관리자\",\n    \"settings.appearance.customCSS\": \"커스텀 CSS\",\n    \"settings.appearance.customJS\": \"커스텀 JavaScript\",\n    \"settings.appearance.name\": \"외관\",\n    \"settings.appearance.publicHelp\": \"공개 페이지에 적용할 커스텀 CSS 및 JavaScript.\",\n    \"settings.appearance.publicName\": \"공개\",\n    \"settings.bounces.action\": \"동작\",\n    \"settings.bounces.blocklist\": \"차단 목록\",\n    \"settings.bounces.count\": \"바운스 수\",\n    \"settings.bounces.countHelp\": \"구독자별 바운스 수\",\n    \"settings.bounces.enable\": \"바운스 처리 활성화\",\n    \"settings.bounces.enableForwardemail\": \"Forward Email 활성화\",\n    \"settings.bounces.enableMailbox\": \"바운스 메일함 활성화\",\n    \"settings.bounces.enablePostmark\": \"Postmark 활성화\",\n    \"settings.bounces.enableSES\": \"SES 활성화\",\n    \"settings.bounces.enableSendgrid\": \"SendGrid 활성화\",\n    \"settings.bounces.enableWebhooks\": \"바운스 웹훅 활성화\",\n    \"settings.bounces.enabled\": \"활성화됨\",\n    \"settings.bounces.folder\": \"폴더\",\n    \"settings.bounces.folderHelp\": \"스캔할 IMAP 폴더 이름. 예: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Forward Email 키\",\n    \"settings.bounces.invalidScanInterval\": \"바운스 스캔 간격은 최소 1분이어야 합니다.\",\n    \"settings.bounces.name\": \"바운스\",\n    \"settings.bounces.none\": \"없음\",\n    \"settings.bounces.postmarkPassword\": \"Postmark 비밀번호\",\n    \"settings.bounces.postmarkUsername\": \"Postmark 사용자명\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark에서 웹훅 기본 인증을 활성화할 수 있습니다. 여기와 Postmark 웹훅 설정에 동일한 자격증명을 입력하세요.\",\n    \"settings.bounces.scanInterval\": \"스캔 간격\",\n    \"settings.bounces.scanIntervalHelp\": \"바운스 메일함을 스캔하는 간격 (초: s, 분: m)\",\n    \"settings.bounces.sendgridKey\": \"SendGrid 키\",\n    \"settings.bounces.type\": \"유형\",\n    \"settings.bounces.username\": \"사용자명\",\n    \"settings.confirmRestart\": \"실행 중인 캠페인이 일시정지되었는지 확인하세요. 재시작할까요?\",\n    \"settings.duplicateMessengerName\": \"중복된 메신저 이름: {name}\",\n    \"settings.errorEncoding\": \"설정 인코딩 오류: {error}\",\n    \"settings.errorNoSMTP\": \"최소 1개의 SMTP 블록이 활성화되어야 합니다.\",\n    \"settings.general.adminNotifEmails\": \"관리자 알림 이메일\",\n    \"settings.general.adminNotifEmailsHelp\": \"가져오기, 캠페인 완료, 실패 등 관리자 알림을 받을 이메일 주소를 콤마로 구분하여 입력하세요.\",\n    \"settings.general.checkUpdates\": \"업데이트 확인\",\n    \"settings.general.checkUpdatesHelp\": \"주기적으로 새 앱 릴리스를 확인하고 알림을 보냅니다.\",\n    \"settings.general.enablePublicArchive\": \"공개 메일링 리스트 아카이브 활성화\",\n    \"settings.general.enablePublicArchiveHelp\": \"공개 웹사이트에 아카이브가 활성화된 캠페인을 게시합니다.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"RSS 피드에 전체 내용 표시\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"RSS 피드에 전체 이메일 내용을 표시합니다. 비활성화 시 제목과 링크만 표시됩니다.\",\n    \"settings.general.enablePublicSubPage\": \"공개 구독 페이지 활성화\",\n    \"settings.general.enablePublicSubPageHelp\": \"모든 공개 리스트가 포함된 구독 페이지를 표시하여 누구나 구독할 수 있게 합니다.\",\n    \"settings.general.faviconURL\": \"파비콘 URL\",\n    \"settings.general.faviconURLHelp\": \"(선택) 구독 해지 페이지 등 사용자 화면에 표시할 정적 파비콘의 전체 URL\",\n    \"settings.general.fromEmail\": \"기본 발신 이메일\",\n    \"settings.general.fromEmailHelp\": \"캠페인 이메일 발송 시 표시할 기본 발신 이메일. 캠페인별로 변경할 수 있습니다.\",\n    \"settings.general.language\": \"언어\",\n    \"settings.general.logoURL\": \"로고 URL\",\n    \"settings.general.logoURLHelp\": \"(선택) 구독 해지 페이지 등 사용자 화면에 표시할 정적 로고의 전체 URL\",\n    \"settings.general.name\": \"일반\",\n    \"settings.general.rootURL\": \"루트 URL\",\n    \"settings.general.rootURLHelp\": \"설치된 공개 URL(마지막 슬래시 제외)\",\n    \"settings.general.sendOptinConfirm\": \"옵트인 확인 이메일 발송\",\n    \"settings.general.sendOptinConfirmHelp\": \"공개 폼을 통한 가입 또는 관리자가 추가 시 옵트인 확인 이메일을 발송합니다.\",\n    \"settings.general.siteName\": \"사이트 이름\",\n    \"settings.invalidMessengerName\": \"잘못된 메신저 이름.\",\n    \"settings.mailserver.authProtocol\": \"인증 프로토콜\",\n    \"settings.mailserver.host\": \"호스트\",\n    \"settings.mailserver.hostHelp\": \"SMTP 서버 호스트 주소\",\n    \"settings.mailserver.idleTimeout\": \"대기 시간 초과\",\n    \"settings.mailserver.idleTimeoutHelp\": \"연결을 닫고 풀에서 제거하기 전 대기 시간 (초: s, 분: m)\",\n    \"settings.mailserver.maxConns\": \"최대 연결 수\",\n    \"settings.mailserver.maxConnsHelp\": \"서버에 대한 최대 동시 연결 수\",\n    \"settings.mailserver.nameHelp\": \"SMTP 서버의 고유 이름(선택). email- 접두사가 필요합니다. 설정 시 캠페인에서 특정 서버를 선택할 수 있습니다. 예: email-primary-server. 영문/숫자/대시만 허용.\",\n    \"settings.mailserver.password\": \"비밀번호\",\n    \"settings.mailserver.passwordHelp\": \"변경하려면 입력\",\n    \"settings.mailserver.port\": \"포트\",\n    \"settings.mailserver.portHelp\": \"SMTP 서버 포트\",\n    \"settings.mailserver.skipTLS\": \"TLS 검증 건너뛰기\",\n    \"settings.mailserver.skipTLSHelp\": \"TLS 인증서의 호스트명 검증을 건너뜁니다.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL 암호화. STARTTLS가 일반적으로 사용됩니다.\",\n    \"settings.mailserver.username\": \"사용자명\",\n    \"settings.mailserver.waitTimeout\": \"대기 시간 초과\",\n    \"settings.mailserver.waitTimeoutHelp\": \"연결을 닫고 풀에서 제거하기 전 대기 시간 (초: s, 분: m)\",\n    \"settings.maintenance.cron\": \"크론 간격\",\n    \"settings.media.provider\": \"제공자\",\n    \"settings.media.s3.bucket\": \"버킷\",\n    \"settings.media.s3.bucketPath\": \"버킷 경로\",\n    \"settings.media.s3.bucketPathHelp\": \"파일을 업로드할 버킷 내 경로입니다. 기본값은 / 입니다.\",\n    \"settings.media.s3.bucketType\": \"버킷 유형\",\n    \"settings.media.s3.bucketTypePrivate\": \"비공개\",\n    \"settings.media.s3.bucketTypePublic\": \"공개\",\n    \"settings.media.s3.key\": \"AWS 액세스 키\",\n    \"settings.media.s3.publicURL\": \"커스텀 공개 URL (선택)\",\n    \"settings.media.s3.publicURLHelp\": \"기본 S3 백엔드 URL 대신 이미지 링크에 사용할 커스텀 S3 도메인.\",\n    \"settings.media.s3.region\": \"리전\",\n    \"settings.media.s3.secret\": \"AWS 액세스 시크릿\",\n    \"settings.media.s3.uploadExpiry\": \"업로드 만료 시간\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(선택) 생성된 presigned URL의 만료 시간을 지정합니다. 비공개 버킷에만 적용됩니다 (초: s, 분: m, 시간: h, 일: d).\",\n    \"settings.media.s3.url\": \"S3 백엔드 URL\",\n    \"settings.media.s3.urlHelp\": \"Minio 등 커스텀 S3 호환 백엔드를 사용할 때만 변경하세요.\",\n    \"settings.media.title\": \"미디어 업로드\",\n    \"settings.media.upload.extensions\": \"허용된 파일 확장자\",\n    \"settings.media.upload.extensionsHelp\": \"*를 추가하면 모든 확장자를 허용합니다.\",\n    \"settings.media.upload.path\": \"업로드 경로\",\n    \"settings.media.upload.pathHelp\": \"미디어가 업로드될 디렉터리 경로입니다.\",\n    \"settings.media.upload.uri\": \"업로드 URI\",\n    \"settings.media.upload.uriHelp\": \"외부에서 접근 가능한 업로드 URI입니다. upload_path에 업로드된 미디어는 {root_url} 하위에서 공개됩니다. 예: https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"최대 동시 연결 수\",\n    \"settings.messengers.maxConnsHelp\": \"서버에 대한 최대 동시 연결 수입니다.\",\n    \"settings.messengers.messageSaved\": \"설정이 저장되었습니다. 앱을 다시 불러오는 중 ...\",\n    \"settings.messengers.name\": \"메신저\",\n    \"settings.messengers.nameHelp\": \"예: my-sms. 영문/숫자/대시만 허용.\",\n    \"settings.messengers.password\": \"비밀번호\",\n    \"settings.messengers.retries\": \"재시도 횟수\",\n    \"settings.messengers.retriesHelp\": \"메시지 전송 실패 시 재시도할 횟수입니다.\",\n    \"settings.messengers.skipTLSHelp\": \"TLS 인증서의 호스트명 검증을 건너뜁니다.\",\n    \"settings.messengers.timeout\": \"대기 시간 초과\",\n    \"settings.messengers.timeoutHelp\": \"연결을 닫고 풀에서 제거하기 전 대기 시간 (초: s, 분: m)\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Postback 서버의 루트 URL입니다.\",\n    \"settings.messengers.username\": \"사용자명\",\n    \"settings.needsRestart\": \"설정이 변경되었습니다. 모든 실행 중인 캠페인을 일시정지하고 앱을 재시작하세요.\",\n    \"settings.performance.batchSize\": \"배치 크기\",\n    \"settings.performance.batchSizeHelp\": \"한 번에 데이터베이스에서 가져올 구독자 수입니다. 각 반복마다 구독자를 가져와 메시지를 전송한 뒤 다음 배치를 가져옵니다. 이 값은 이상적으로 (동시성 * 메시지 속도)보다 커야 합니다.\",\n    \"settings.performance.cacheSlowQueries\": \"느린 쿼리 캐시\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"대용량 데이터베이스에서만 활성화하세요. 리스트 구독자 수, 대시보드 통계 등 일부 정보를 캐시합니다.\",\n    \"settings.performance.concurrency\": \"동시성\",\n    \"settings.performance.concurrencyHelp\": \"동시에 메시지 전송을 시도할 최대 워커(스레드) 수입니다.\",\n    \"settings.performance.maxErrThreshold\": \"최대 오류 허용치\",\n    \"settings.performance.maxErrThresholdHelp\": \"실행 중인 캠페인이 수용할 수 있는 최대 오류(예: 이메일 전송 중 SMTP 타임아웃) 수입니다. 0으로 설정하면 일시정지되지 않습니다.\",\n    \"settings.performance.messageRate\": \"메시지 속도\",\n    \"settings.performance.messageRateHelp\": \"각 워커가 초당 전송할 수 있는 최대 메시지 수입니다. 예: 동시성=10, 메시지 속도=10이면 초당 최대 100개 메시지 전송. 서버의 제한에 맞게 조정하세요.\",\n    \"settings.performance.name\": \"성능\",\n    \"settings.performance.slidingWindow\": \"슬라이딩 윈도우 제한 활성화\",\n    \"settings.performance.slidingWindowDuration\": \"기간\",\n    \"settings.performance.slidingWindowDurationHelp\": \"슬라이딩 윈도우 기간 (분: m, 시간: h)\",\n    \"settings.performance.slidingWindowHelp\": \"지정된 기간 내 전송할 수 있는 메시지 총량을 제한합니다. 한도에 도달하면 기간이 끝날 때까지 메시지 전송이 보류됩니다.\",\n    \"settings.performance.slidingWindowRate\": \"최대 메시지 수\",\n    \"settings.performance.slidingWindowRateHelp\": \"윈도우 기간 내 전송할 수 있는 최대 메시지 수입니다.\",\n    \"settings.privacy.allowBlocklist\": \"차단 목록 허용\",\n    \"settings.privacy.allowBlocklistHelp\": \"구독자가 모든 메일링 리스트에서 구독 해지 및 차단 목록 등록을 허용할지 여부\",\n    \"settings.privacy.allowExport\": \"데이터 내보내기 허용\",\n    \"settings.privacy.allowExportHelp\": \"구독자가 본인에 대한 데이터를 내보낼 수 있도록 허용\",\n    \"settings.privacy.allowPrefs\": \"환경설정 변경 허용\",\n    \"settings.privacy.allowPrefsHelp\": \"구독자가 이름, 다중 리스트 구독 등 환경설정을 변경할 수 있도록 허용\",\n    \"settings.privacy.allowWipe\": \"데이터 삭제 허용\",\n    \"settings.privacy.allowWipeHelp\": \"구독자가 본인 및 모든 구독 데이터를 영구적으로 삭제할 수 있도록 허용. 캠페인 조회/클릭 기록도 삭제되나 통계에는 영향 없음.\",\n    \"settings.privacy.domainAllowlist\": \"도메인 허용 목록\",\n    \"settings.privacy.domainAllowlistHelp\": \"이 도메인의 이메일 주소만 구독할 수 있습니다. 한 줄에 하나씩 입력. 예: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"도메인 차단 목록\",\n    \"settings.privacy.domainBlocklistHelp\": \"이 도메인의 이메일 주소는 구독할 수 없습니다. 한 줄에 하나씩 입력. 예: example.com\",\n    \"settings.privacy.individualSubTracking\": \"개별 구독자 추적\",\n    \"settings.privacy.individualSubTrackingHelp\": \"구독자별 캠페인 조회 및 클릭을 추적합니다. 비활성화 시 개별 구독자와 연결되지 않은 채로 추적됩니다.\",\n    \"settings.privacy.listUnsubHeader\": \"`List-Unsubscribe` 헤더 포함\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"이메일 클라이언트에서 한 번의 클릭으로 구독 해지할 수 있도록 해더를 포함합니다.\",\n    \"settings.privacy.name\": \"개인정보\",\n    \"settings.privacy.recordOptinIP\": \"옵트인 IP 기록\",\n    \"settings.privacy.recordOptinIPHelp\": \"더블 옵트인 시 구독자 속성에 IP 주소를 기록합니다.\",\n    \"settings.restart\": \"재시작\",\n    \"settings.security.CORSDomains\": \"허용된 원본\",\n    \"settings.security.CORSDomainsHelp\": \"외부 도메인에서 브라우저 Javascript를 통해 API 엔드포인트에 액세스하도록 허용합니다. 한 줄에 하나의 도메인을 입력하세요(예: https://example.com). CORS를 비활성화하려면 비워두거나 모든 것을 허용하려면 *을 추가하세요(권장하지 않음).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"사용자 자동 생성\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"계정이 없으면 첫 로그인 시 자동으로 사용자 생성.\",\n    \"settings.security.OIDCClientID\": \"클라이언트 ID\",\n    \"settings.security.OIDCClientSecret\": \"클라이언트 시크릿\",\n    \"settings.security.OIDCDefaultListRole\": \"기본 리스트 역할\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"OIDC에서 자동 생성된 사용자에게 할당되는 기본 역할.\",\n    \"settings.security.OIDCDefaultUserRole\": \"기본 사용자 역할\",\n    \"settings.security.OIDCHelp\": \"OAuth 제공자를 통한 OpenID Connect OAuth2 로그인을 활성화합니다.\",\n    \"settings.security.OIDCName\": \"제공자 이름\",\n    \"settings.security.OIDCRedirectURL\": \"OAuth 제공자 리디렉션 URL\",\n    \"settings.security.OIDCRedirectWarning\": \"프로덕션 URL이 아닌 것 같습니다. '일반' 설정에서 루트 URL을 변경하세요.\",\n    \"settings.security.OIDCURL\": \"제공자 URL\",\n    \"settings.security.OIDCWarning\": \"OIDC가 활성화되면 기본 비밀번호 로그인이 비활성화됩니다. 잘못된 설정 시 접근이 불가할 수 있습니다.\",\n    \"settings.security.altchaComplexity\": \"Altcha 복잡도\",\n    \"settings.security.altchaComplexityHelp\": \"값이 높을수록 보안은 강화되나 해결 속도는 느려집니다 (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com 사이트키\",\n    \"settings.security.captchaKeyHelp\": \"www.hcaptcha.com에서 키와 시크릿을 발급받으세요.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com 시크릿\",\n    \"settings.security.enableCaptcha\": \"CAPTCHA 활성화\",\n    \"settings.security.enableCaptchaHelp\": \"공개 구독 폼에 CAPTCHA를 활성화합니다.\",\n    \"settings.security.enableOIDC\": \"OIDC SSO 활성화\",\n    \"settings.security.name\": \"보안\",\n    \"settings.smtp.customHeaders\": \"커스텀 헤더\",\n    \"settings.smtp.customHeadersHelp\": \"이 서버에서 발송되는 모든 메시지에 포함할 이메일 헤더 배열 (선택). 예: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"활성화됨\",\n    \"settings.smtp.heloHost\": \"HELO 호스트명\",\n    \"settings.smtp.heloHostHelp\": \"일부 SMTP 서버는 호스트명에 FQDN이 필요합니다. 기본값은 `localhost`입니다. 커스텀 호스트명이 필요할 때만 설정하세요.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"재시도 횟수\",\n    \"settings.smtp.retriesHelp\": \"메시지 전송 실패 시 재시도할 횟수입니다.\",\n    \"settings.smtp.sendTest\": \"테스트 이메일 발송\",\n    \"settings.smtp.setCustomHeaders\": \"커스텀 헤더 설정\",\n    \"settings.smtp.testConnection\": \"연결 테스트\",\n    \"settings.smtp.testEnterEmail\": \"테스트를 위해 비밀번호를 다시 입력하세요\",\n    \"settings.smtp.toEmail\": \"수신 이메일\",\n    \"settings.title\": \"설정\",\n    \"settings.updateAvailable\": \"새 업데이트 {version}이(가) 있습니다.\",\n    \"subscribers.activity\": \"활동\",\n    \"subscribers.advancedQuery\": \"고급\",\n    \"subscribers.advancedQueryHelp\": \"구독자 속성을 쿼리할 부분 SQL 표현식\",\n    \"subscribers.attribsHelp\": \"속성은 JSON 맵으로 정의됩니다. 예:\",\n    \"subscribers.blocklistedHelp\": \"차단된 구독자는 이메일을 절대 받지 않습니다.\",\n    \"subscribers.confirmBlocklist\": \"{num}명의 구독자를 차단 목록에 추가하시겠습니까?\",\n    \"subscribers.confirmDelete\": \"{num}명의 구독자를 삭제하시겠습니까?\",\n    \"subscribers.confirmExport\": \"{num}명의 구독자를 내보내시겠습니까?\",\n    \"subscribers.domainBlocklisted\": \"이메일 도메인이 차단 목록에 있습니다.\",\n    \"subscribers.downloadData\": \"데이터 다운로드\",\n    \"subscribers.email\": \"이메일\",\n    \"subscribers.emailExists\": \"이미 존재하는 이메일입니다.\",\n    \"subscribers.errorBlocklisting\": \"구독자 차단 오류: {error}\",\n    \"subscribers.errorNoIDs\": \"ID가 제공되지 않았습니다.\",\n    \"subscribers.errorNoListsGiven\": \"리스트가 제공되지 않았습니다.\",\n    \"subscribers.errorPreparingQuery\": \"구독자 쿼리 준비 오류: {error}\",\n    \"subscribers.errorSendingOptin\": \"옵트인 이메일 전송 오류.\",\n    \"subscribers.export\": \"내보내기\",\n    \"subscribers.invalidAction\": \"잘못된 동작입니다.\",\n    \"subscribers.invalidEmail\": \"잘못된 이메일입니다.\",\n    \"subscribers.invalidJSON\": \"속성에 잘못된 JSON이 있습니다.\",\n    \"subscribers.invalidName\": \"잘못된 이름입니다.\",\n    \"subscribers.listChangeApplied\": \"리스트 변경이 적용되었습니다.\",\n    \"subscribers.lists\": \"리스트\",\n    \"subscribers.listsHelp\": \"구독자가 직접 구독 해지한 리스트는 제거할 수 없습니다.\",\n    \"subscribers.listsPlaceholder\": \"구독할 리스트\",\n    \"subscribers.manageLists\": \"리스트 관리\",\n    \"subscribers.markUnsubscribed\": \"구독 해지로 표시\",\n    \"subscribers.newSubscriber\": \"새 구독자\",\n    \"subscribers.numSelected\": \"{num}명 선택됨\",\n    \"subscribers.optinSubject\": \"구독 확인\",\n    \"subscribers.preconfirm\": \"사전 구독 확인\",\n    \"subscribers.preconfirmHelp\": \"옵트인 이메일을 보내지 않고 모든 리스트 구독을 '구독됨'으로 표시합니다.\",\n    \"subscribers.query\": \"쿼리\",\n    \"subscribers.queryPlaceholder\": \"이메일 또는 이름\",\n    \"subscribers.reset\": \"초기화\",\n    \"subscribers.selectAll\": \"{num}명 전체 선택\",\n    \"subscribers.sendOptinConfirm\": \"옵트인 확인 이메일 발송\",\n    \"subscribers.sentOptinConfirm\": \"옵트인 확인 이메일 발송됨\",\n    \"subscribers.status.blocklisted\": \"차단됨\",\n    \"subscribers.status.confirmed\": \"확인됨\",\n    \"subscribers.status.enabled\": \"활성화됨\",\n    \"subscribers.status.subscribed\": \"구독됨\",\n    \"subscribers.status.unconfirmed\": \"미확인\",\n    \"subscribers.status.unsubscribed\": \"구독 해지됨\",\n    \"subscribers.subscribersDeleted\": \"{num}명의 구독자가 삭제됨\",\n    \"templates.cantDeleteDefault\": \"존재하지 않거나 기본 템플릿은 삭제할 수 없습니다.\",\n    \"templates.default\": \"기본값\",\n    \"templates.dummyName\": \"더미 캠페인\",\n    \"templates.dummySubject\": \"더미 캠페인 제목\",\n    \"templates.errorCompiling\": \"템플릿 컴파일 오류: {error}\",\n    \"templates.errorRendering\": \"메시지 렌더링 오류: {error}\",\n    \"templates.fieldInvalidName\": \"이름의 길이가 잘못되었습니다.\",\n    \"templates.makeDefault\": \"기본값으로 설정\",\n    \"templates.newTemplate\": \"새 템플릿\",\n    \"templates.placeholderHelp\": \"플레이스홀더 {placeholder}는 템플릿에 정확히 한 번만 나타나야 합니다.\",\n    \"templates.preview\": \"미리보기\",\n    \"templates.rawHTML\": \"원본 HTML\",\n    \"templates.subject\": \"제목\",\n    \"templates.typeCampaignHTML\": \"캠페인 / HTML\",\n    \"templates.typeCampaignVisual\": \"캠페인 / 비주얼\",\n    \"templates.typeTransactional\": \"트랜잭션\",\n    \"users.apiOneTimeToken\": \"API 액세스 토큰을 지금 복사하세요. 다시 표시되지 않습니다.\",\n    \"users.cantDeleteRole\": \"사용 중인 역할은 삭제할 수 없습니다.\",\n    \"users.firstTime\": \"최초 설치입니다. 슈퍼 관리자 계정의 사용자명과 비밀번호를 설정하세요.\",\n    \"users.forgotPassword\": \"암호를 잊으셨나요?\",\n    \"users.invalidLogin\": \"잘못된 로그인 또는 비밀번호\",\n    \"users.invalidPassword\": \"잘못된 암호입니다.\",\n    \"users.invalidRequest\": \"잘못된 인증 요청\",\n    \"users.invalidResetLink\": \"잘못되었거나 만료된 재설정 링크입니다.\",\n    \"users.lastLogin\": \"마지막 로그인\",\n    \"users.listPerms\": \"리스트 권한\",\n    \"users.listPermsWarning\": \"lists:get_all 또는 lists:manage_all이 활성화되어 있으면 리스트별 권한이 무시됩니다.\",\n    \"users.listRole\": \"리스트 역할\",\n    \"users.listRoles\": \"리스트 역할\",\n    \"users.login\": \"로그인\",\n    \"users.loginOIDC\": \"{name}으로 로그인\",\n    \"users.logout\": \"로그아웃\",\n    \"users.needSuper\": \"업데이트할 수 없는 사용자입니다. 최소 1명의 활성 슈퍼 관리자가 필요합니다.\",\n    \"users.newListRole\": \"새 리스트 역할\",\n    \"users.newPassword\": \"새 암호\",\n    \"users.newUser\": \"새 사용자\",\n    \"users.newUserRole\": \"새 사용자 역할\",\n    \"users.password\": \"비밀번호\",\n    \"users.passwordEnable\": \"비밀번호 로그인 활성화\",\n    \"users.passwordMismatch\": \"비밀번호가 일치하지 않습니다.\",\n    \"users.passwordRepeat\": \"비밀번호 재입력\",\n    \"users.perms\": \"권한\",\n    \"users.profile\": \"프로필\",\n    \"users.resetLinkSent\": \"계정이 활성 상태이면 암호 재설정 이메일을 받으실 것입니다.\",\n    \"users.resetPassword\": \"암호 재설정\",\n    \"users.role\": \"역할\",\n    \"users.roleGroup\": \"그룹\",\n    \"users.roles\": \"역할\",\n    \"users.status.disabled\": \"비활성화됨\",\n    \"users.status.enabled\": \"활성화됨\",\n    \"users.totpCode\": \"TOTP 코드\",\n    \"users.totpCodeHelp\": \"인증기 앱에서 6자리 코드를 입력하세요.\",\n    \"users.totpScanQR\": \"Ente 또는 Google Authenticator와 같은 인증기 앱으로 QR 코드를 스캔하고 아래에 TOTP 코드를 입력하세요.\",\n    \"users.totpSecret\": \"비밀 키\",\n    \"users.twoFA\": \"2단계 인증\",\n    \"users.twoFAAlreadyEnabled\": \"2단계 인증이 이미 활성화되었습니다.\",\n    \"users.twoFAEnabled\": \"2단계 인증이 활성화되었습니다.\",\n    \"users.twoFAEnabledDesc\": \"귀하의 계정은 {type} 2FA로 보호되고 있습니다.\",\n    \"users.twoFANotEnabled\": \"계정에 로그인할 때 추가 보안을 위해 2FA를 활성화하세요.\",\n    \"users.type\": \"유형\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"슈퍼 관리자\",\n    \"users.type.user\": \"일반 사용자\",\n    \"users.userRole\": \"사용자 역할\",\n    \"users.userRoles\": \"사용자 역할\",\n    \"users.username\": \"사용자명\",\n    \"users.usernameHelp\": \"비밀번호 로그인에 사용됩니다.\"\n}\n"
  },
  {
    "path": "i18n/ml.json",
    "content": "{\n    \"_.code\": \"ml\",\n    \"_.name\": \"മലയാളം (ml)\",\n    \"admin.errorMarshallingConfig\": \"അഭ്യർത്ഥന ക്രമീകരിയ്ക്കുന്നതിൽ പരാജയപ്പെട്ടു: {error}\",\n    \"analytics.count\": \"എണ്ണം\",\n    \"analytics.fromDate\": \"തിയതി മുതൽ\",\n    \"analytics.invalidDates\": \"തെറ്റായ തിയതികൾ\",\n    \"analytics.isUnique\": \"എണ്ണം വരിക്കാർക്കു അദ്വിതീയമായിരിക്കും \",\n    \"analytics.links\": \"ലിങ്കുകൾ\",\n    \"analytics.nonUnique\": \"വ്യക്തിഗത സബ്‌സ്‌ക്രൈബർ ട്രാക്കിംഗ് ഓഫാക്കിയതിനാൽ എണ്ണത്തിൽ വ്യത്യാസം കണ്ടേക്കാം.\",\n    \"analytics.title\": \"അനലിറ്റിക്സ്\",\n    \"analytics.toDate\": \"വരെ\",\n    \"bounces.complaint\": \"പരാതി\",\n    \"bounces.hard\": \"ഹാര്‍ഡ്\",\n    \"bounces.soft\": \"സോഫ്റ്റ്\",\n    \"bounces.source\": \"ഉറവിടം\",\n    \"bounces.unknownService\": \"അറിയാത്ത സേവനം\",\n    \"bounces.view\": \"ബൗൺസായവ കാണുക\",\n    \"campaigns.addAltText\": \"ബദൽ സന്ദേശം ചേർക്കുക\",\n    \"campaigns.addAttachments\": \"അറ്റാച്ചുമെന്റുകൾ ചേർക്കുക\",\n    \"campaigns.archive\": \"ആർക്കൈവ്\",\n    \"campaigns.archiveEnable\": \"പൊതു ആർക്കൈവിൽ പ്രസിദ്ധീകരിക്കുക\",\n    \"campaigns.archiveHelp\": \"പ്രചാരണ സന്ദേശം (റൺ ചെയ്യുന്ന, താൽക്കാലികമായി നിർത്തിയ, പൂർത്തിയായ) പൊതു ആർക്കൈവിൽ പ്രസിദ്ധീകരിക്കുക.\",\n    \"campaigns.archiveMeta\": \"കാമ്പെയ്‌ൻ മെറ്റാഡാറ്റ\",\n    \"campaigns.archiveMetaHelp\": \"പേര്, ഇമെയിൽ, പ്രചാരണ സന്ദേശത്തിലോ ടെംപ്ലേറ്റിലോ ഉപയോഗിക്കുന്ന ഏതെങ്കിലും ഓപ്ഷണൽ ആട്രിബ്യൂട്ടുകൾ എന്നിവയുൾപ്പെടെ പൊതു സന്ദേശത്തിൽ ഉപയോഗിക്കാനുള്ള ഡമ്മി സബ്സ്ക്രൈബർ ഡാറ്റ.\",\n    \"campaigns.archiveSlug\": \"URL സ്ലഗ്\",\n    \"campaigns.archiveSlugHelp\": \"പൊതു യു‌ആർ‌എൽ - ന്റെയും ഉപയോഗിക്കുന്നതിന് ആയിരുന്നു പേജിന്റെയും സംക്ഷേപമായി. ഉദാ: എന്റെ-ന്യൂസ്-ലെറ്റർ-എഡിഷൻ-2\",\n    \"campaigns.attachments\": \"അറ്റാച്ച്മെന്റ്സ്\",\n    \"campaigns.attribsHelp\": \"ഈ കാമ്പെയ്നിനായുള്ള കাস്റ്റം JSON ഒബ്ജെക്റ്റ {} ആട്രിബ്യൂട്ടുകൾ. ടെമ്പ്ലേറ്റിൽ {{ .Campaign.Attribs.$key }} ഉപയോഗിക്കുക\",\n    \"campaigns.cantUpdate\": \"ഇപ്പോൾ നടന്നുകൊണ്ടിരിയ്ക്കുന്നതോ, അവസാനിച്ചതോ ആയ ക്യാമ്പേയ്ൻ പുതുക്കാനാകില്ല.\",\n    \"campaigns.clicks\": \"ക്ലീക്കുകൾ\",\n    \"campaigns.confirmDelete\": \"{name} നീക്കം ചെയ്യുക\",\n    \"campaigns.confirmOverwriteContent\": \"ഇത് എല്ലാ ഉള്ളടക്കവും മാപ്പും ചെയ്യും. തുടരണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?\",\n    \"campaigns.confirmSchedule\": \"ഈ ക്യാമ്പേയ്ൻ സ്വമേധയാ, മുൻകൂട്ടി നിശ്ചയിച്ച സമയത്ത് ആരംഭിക്കും. ഇപ്പോൾ ആരംഭിക്കട്ടെ?\",\n    \"campaigns.confirmSwitchFormat\": \"ഉള്ളടക്കത്തിന്റെ രൂപഘടന നഷ്ടപ്പെട്ടേക്കും. തുടരട്ടേ?\",\n    \"campaigns.content\": \"ഉള്ളടക്കം\",\n    \"campaigns.contentHelp\": \"ഇവിടെ ഉള്ളടക്കം നൽകുക\",\n    \"campaigns.continue\": \"തുടരുക\",\n    \"campaigns.copyOf\": \"{name} ന്റെ പകർപ്പ്\",\n    \"campaigns.customHeadersHelp\": \"അയക്കുന്ന സന്ദേശങ്ങളിൽ ചെ‍ർക്കാനുള്ള ഇഷ്‌ടാനുസൃത തലക്കെട്ടുകളുടെ ഒരു നിര. ഉദാ: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"തിയതിയും സമയവും\",\n    \"campaigns.ended\": \"അവസാനിച്ചു\",\n    \"campaigns.errorSendTest\": \"ടെസ്റ്റ് അയയ്ക്കുന്നത് പരാജയപ്പെട്ടു: {error}\",\n    \"campaigns.fieldInvalidBody\": \"ക്യാമ്പേയ്ന്റെ ചട്ടക്കൂട് തയ്യാറാക്കുന്നതിൽ പരാജയപ്പെട്ടു : {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`from_email` അസാധുവാണ്.\",\n    \"campaigns.fieldInvalidListIDs\": \"അസാധുവായ ലിസ്റ്റ് ഐഡികൾ\",\n    \"campaigns.fieldInvalidMessenger\": \"അജ്ഞാത മെസഞ്ചർ {name}.\",\n    \"campaigns.fieldInvalidName\": \"`name` ന്റെ ദൈർഘ്യം അസാധുവാണ്.\",\n    \"campaigns.fieldInvalidSendAt\": \"`send_at` ഭാവിയിലുള്ള തിയതിയായിരിക്കണം.\",\n    \"campaigns.fieldInvalidSubject\": \"`subject` ന്റെ ദൈർഘ്യം അസാധുവാണ്.\",\n    \"campaigns.format\": \"ഫോർമാറ്റ്\",\n    \"campaigns.formatHTML\": \"HTML ഫോർമാറ്റ് ചെയ്യുക\",\n    \"campaigns.fromAddress\": \"പ്രേക്ഷകൻ\",\n    \"campaigns.fromAddressPlaceholder\": \"നിങ്ങളുടെ പേര് <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"വിജ്‌വൽ ടംപ്ലേറ്റ് ഇറക്കുമതി ചെയ്യുക\",\n    \"campaigns.invalid\": \"അസാധുവായ ക്യാമ്പേയ്ൻ\",\n    \"campaigns.invalidCustomHeaders\": \"ഇഷ്‌ടാനുസൃത തലക്കെട്ടുകൾ അസാധുവാണ്: {error}\",\n    \"campaigns.markdown\": \"മാർക്ക്ഡൗൺ\",\n    \"campaigns.needsSendAt\": \"ക്യാമ്പേയ്ന് `send_at` തിയതി മുൻകൂട്ടി നിശ്ചയിക്കേണ്ടതുണ്ട്.\",\n    \"campaigns.newCampaign\": \"പുതിയ ക്യാമ്പേയ്ൻ\",\n    \"campaigns.noKnownSubsToTest\": \"ടെസ്റ്റ് ചെയ്യുവാനുള്ള വരിക്കാരുടെ പട്ടിക ശൂന്യമാണ്.\",\n    \"campaigns.noOptinLists\": \"പുതിയ ക്യാമ്പേയ്ൻ ആരംഭിയ്ക്കാൻ ലിസ്റ്റുകളൊന്നും കണ്ടെത്തിയില്ല.\",\n    \"campaigns.noSubs\": \"പുതിയ ക്യാമ്പേയ്ൻ ആരംഭിയ്ക്കാനായി തിരഞ്ഞെടുത്ത ലിസ്റ്റിൽ വരിക്കാരാരുമില്ല.\",\n    \"campaigns.noSubsToTest\": \"ടെസ്റ്റ് ചെയ്യാൻ വരിക്കാരാരുമില്ല.\",\n    \"campaigns.notFound\": \"ക്യാമ്പേയ്ൻ കണ്ടെത്തിയില്ല\",\n    \"campaigns.onlyActiveCancel\": \"ഇപ്പോൾ സജീവമായ ക്യാമ്പേയ്നുകൾ മാത്രമേ റദ്ദാക്കാനാകൂ.\",\n    \"campaigns.onlyActivePause\": \"ഇപ്പോൾ സജീവമായ ക്യാമ്പേയ്നുകൾ മാത്രമേ താത്കാലികമായി നിർത്താനാകൂ.\",\n    \"campaigns.onlyDraftAsScheduled\": \"ഡ്രാഫ്റ്റ് ക്യാമ്പേയ്നുകൾ മാത്രമേ ആസൂത്രണം ചെയ്യാനാകൂ.\",\n    \"campaigns.onlyPausedDraft\": \"താത്കാലികമായി നിർത്തിയതോ ഡ്രാഫ്റ്റോ ആയ ക്യാമ്പേയ്നുകൾ മാത്രമേ ആരംഭിയ്ക്കാനാകൂ.\",\n    \"campaigns.onlyScheduledAsDraft\": \"മുൻകൂട്ടി ആസൂത്രണം ചെയ്ത ക്യാമ്പേയ്നുകൾ മാത്രമേ ഡ്രാഫ്റ്റായി സംരക്ഷിക്കാനാകൂ.\",\n    \"campaigns.pause\": \"താത്കാലികമായി നിർത്തുക\",\n    \"campaigns.plainText\": \"പ്ലെയിൻ ടെക്സ്റ്റ്\",\n    \"campaigns.preview\": \"പ്രദർശിപ്പിക്കുക\",\n    \"campaigns.progress\": \"പുരോഗതി\",\n    \"campaigns.queryPlaceholder\": \"പേരോ വിഷയമോ\",\n    \"campaigns.rateMinuteShort\": \"കുറഞ്ഞത്\",\n    \"campaigns.rawHTML\": \"അസംസ്കൃത HTML\",\n    \"campaigns.removeAltText\": \"ബദൽ സന്ദേശം നീക്കം ചെയ്യുക\",\n    \"campaigns.richText\": \"റിച്ച് ടെക്സ്റ്റ്\",\n    \"campaigns.schedule\": \"ക്യാമ്പേയ്ൻ ആസൂത്രണം ചെയ്യുക\",\n    \"campaigns.scheduled\": \"ആസൂത്രണം ചെയ്തു\",\n    \"campaigns.send\": \"അയക്കുക\",\n    \"campaigns.sendLater\": \"പിന്നീട് അയക്കുക\",\n    \"campaigns.sendTest\": \"പരീക്ഷണ സന്ദേശം അയക്കുക\",\n    \"campaigns.sendTestHelp\": \"ഒന്നിലധികം സ്വീകർത്താക്കളുടെ വിലാസം രേഖപ്പെടുത്തിയ ശേഷം എന്റർ കീ അമർത്തുക. വിലാസങ്ങൾ നിലവിലുള്ള വരിക്കാരുടേതായിരിക്കണം.\",\n    \"campaigns.sendToLists\": \"അയക്കാനായുള്ള ലിസ്റ്റ്\",\n    \"campaigns.sent\": \"അയച്ചു\",\n    \"campaigns.start\": \"ക്യാമ്പേയ്ൻ ആരംഭിയ്ക്കുക\",\n    \"campaigns.started\": \"\\\"{name}\\\" ആരംഭിച്ചു\",\n    \"campaigns.startedAt\": \"ആരംഭിച്ചു\",\n    \"campaigns.stats\": \"സ്ഥിതിവിവരക്കണക്കുകൾ \",\n    \"campaigns.status.cancelled\": \"റദ്ദാക്കി\",\n    \"campaigns.status.draft\": \"ഡ്രാഫ്റ്റ് \",\n    \"campaigns.status.finished\": \"പൂർത്തിയായി\",\n    \"campaigns.status.paused\": \"താൽക്കാലികമായി നിർത്തി\",\n    \"campaigns.status.running\": \"നടക്കുന്നു\",\n    \"campaigns.status.scheduled\": \"ആസൂത്രണം ചെയ്തു\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\"  {status} ആണ്\",\n    \"campaigns.subject\": \"വിഷയം\",\n    \"campaigns.templatingRef\": \"ടെംപ്ലേറ്റിംഗ് റഫറൻസ്\",\n    \"campaigns.testEmails\": \"ഈ-മെയിലുകൾ\",\n    \"campaigns.testSent\": \"പരീക്ഷണ സന്ദേശം അയച്ചു\",\n    \"campaigns.timestamps\": \"ടൈംസ്റ്റാമ്പുകൾ\",\n    \"campaigns.trackLink\": \"ട്രാക്ക് ലിങ്ക്\",\n    \"campaigns.unSchedule\": \"അസൂചിപ്പിക്കുക\",\n    \"campaigns.views\": \"കാഴ്ചകൾ\",\n    \"campaigns.visual\": \"വിജ്വൽ\",\n    \"dashboard.campaignViews\": \"ക്യാമ്പേയ്ൻ കാഴ്ചകൾ\",\n    \"dashboard.linkClicks\": \"ലിങ്ക് ക്ലിക്കുകൾ\",\n    \"dashboard.messagesSent\": \"സന്ദേശം അയച്ചു\",\n    \"dashboard.orphanSubs\": \"അനാഥർ\",\n    \"email.data.info\": \"ജേസൺ ഫയൽ ഫോർമാറ്റിലുള്ള പ്രമാണത്തിന്റെ പകർപ്പ് ഇതിനോടൊപ്പം ചേർകക്കുന്നു. ടെക്സ്റ്റ് എഡിറ്ററുപയോഗിച്ച് കാണാനാകും.\",\n    \"email.data.title\": \"നിങ്ങളുടെ വിവരങ്ങള്‍\",\n    \"email.forgotPassword.button\": \"പാസ്‌വേഡ് പുനരാരംഭിക്കുക\",\n    \"email.forgotPassword.info\": \"നിങ്ങൾ ഇത് അഭ്യർത്ഥിച്ചിട്ടില്ലെങ്കിൽ, നിങ്ങൾ ഈ ഇമെയിൽ സുരക്ഷിതമായി അവഗണിക്കാൻ കഴിയും. ഈ ലിങ്ക് 30 മിനിറ്റിനുള്ളിൽ കാലാവധി പൂർത്തിയാകും.\",\n    \"email.forgotPassword.subject\": \"നിങ്ങളുടെ പാസ്‌വേഡ് പുനരാരംഭിക്കുക\",\n    \"email.optin.confirmSub\": \"വരിക്കാരനാകുന്നത് സ്ഥിരീകരിക്കുക\",\n    \"email.optin.confirmSubHelp\": \"നിങ്ങൾ വരിക്കാരനാകുന്നത് താഴെയുള്ള ബട്ടണിൽ ഞെക്കിക്കൊണ്ട് സ്ഥിരീകരിക്കുക.\",\n    \"email.optin.confirmSubInfo\": \"നിങ്ങൾ താഴെപ്പറയുന്ന ലിസ്റ്റുകളിൽ അംഗമാണ്:\",\n    \"email.optin.confirmSubTitle\": \"വരിക്കാരനാകുന്നത് സ്ഥിരീകരിക്കുക\",\n    \"email.optin.confirmSubWelcome\": \"നമസ്കാരം\",\n    \"email.optin.privateList\": \"സ്വകാര്യ ലിസ്റ്റ്\",\n    \"email.status.campaignReason\": \"കാരണം\",\n    \"email.status.campaignSent\": \"അയച്ചു\",\n    \"email.status.campaignUpdateTitle\": \"ക്യാമ്പേയ്നിന്റെ വിശദാംശങ്ങൾ\",\n    \"email.status.importFile\": \"ഫയലുകൾ\",\n    \"email.status.importRecords\": \"റെക്കോഡുകൾ\",\n    \"email.status.importTitle\": \"അപ്ഡേറ്റ് ഇംപോർട്ട് ചെയ്യുക\",\n    \"email.status.status\": \"സ്ഥിതി\",\n    \"email.unsub\": \"വരിക്കാരനല്ലാതാകുക\",\n    \"email.unsubHelp\": \"ഈ-മെയിലുകൾ ഇനി സ്വീകരിക്കേണ്ടതില്ലേ?\",\n    \"email.viewInBrowser\": \"ബ്രൗസറിൽ കാണുക\",\n    \"forms.formHTML\": \"HTML ഫോം\",\n    \"forms.formHTMLHelp\": \"മറ്റൊരു വെബ് പേജിൽ സബ്സ്ക്രിപ്ഷൻ ഫോം കാണിയ്ക്കുന്നതിന് താഴെക്കൊടുത്തിരിക്കുന്ന HTML ഉപയോഗിക്കുക.\",\n    \"forms.noPublicLists\": \"ഫോമുകൾ സൃഷ്ടിക്കാൻ പൊതു ലിസ്റ്റുകളൊന്നുമില്ല.\",\n    \"forms.publicLists\": \"പൊതു ലിസ്റ്റുകൾ\",\n    \"forms.publicSubPage\": \"പൊതു സബ്സ്ക്രിപ്ഷൻ പേജ്\",\n    \"forms.selectHelp\": \"ഫോമിലേയ്ക്ക് ചേർക്കേണ്ട ലിസ്റ്റുകൾ.\",\n    \"forms.title\": \"ഫോമുകൾ\",\n    \"globals.buttons.add\": \"ചേർക്കുക\",\n    \"globals.buttons.addNew\": \"പുതിയത് ചേർക്കുക\",\n    \"globals.buttons.back\": \"പിറകോട്ട്\",\n    \"globals.buttons.cancel\": \"ഉപേക്ഷിക്കുക\",\n    \"globals.buttons.clear\": \"നീക്കം ചെയ്യുക\",\n    \"globals.buttons.clearAll\": \"എല്ലാം നീക്കം ചെയ്യുക\",\n    \"globals.buttons.clone\": \"ക്ലോൺ ചെയ്യുക\",\n    \"globals.buttons.close\": \"നിർത്തുക\",\n    \"globals.buttons.continue\": \"തുടരുക\",\n    \"globals.buttons.copy\": \"പകർത്തുക\",\n    \"globals.buttons.delete\": \"നീക്കം ചെയ്യുക\",\n    \"globals.buttons.deleteAll\": \"എല്ലാം നീക്കം ചെയ്യുക\",\n    \"globals.buttons.disable\": \"പ്രവർത്തനരഹിതമാക്കുക\",\n    \"globals.buttons.edit\": \"തിരുത്തുക\",\n    \"globals.buttons.enable\": \"പ്രവർത്തനസജ്ജമാക്കുക\",\n    \"globals.buttons.enabled\": \"പ്രവർത്തനക്ഷമാക്കി\",\n    \"globals.buttons.insert\": \"ഉൾച്ചേർക്കുക\",\n    \"globals.buttons.learnMore\": \"കൂടുതൽ അറിയുക\",\n    \"globals.buttons.manage\": \"നിര്‍വഹിക്കുക\",\n    \"globals.buttons.more\": \"കൂടുതൽ\",\n    \"globals.buttons.new\": \"പുതിയത്\",\n    \"globals.buttons.ok\": \"ശരി\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"നീക്കം ചെയ്യുക\",\n    \"globals.buttons.save\": \"സൂക്ഷിക്കുക\",\n    \"globals.buttons.saveChanges\": \"മാറ്റങ്ങൾ സൂക്ഷിക്കുക\",\n    \"globals.buttons.toggleSelect\": \"താളിച്ചേര്‍ക്കല്‍ മാറ്റുക\",\n    \"globals.buttons.view\": \"കാണുക\",\n    \"globals.days.0\": \"ഞായർ\",\n    \"globals.days.1\": \"ഞായർ\",\n    \"globals.days.2\": \"തിങ്കൾ\",\n    \"globals.days.3\": \"ചൊവ്വ\",\n    \"globals.days.4\": \"ബുധൻ\",\n    \"globals.days.5\": \"വ്യാഴം\",\n    \"globals.days.6\": \"വെള്ളി\",\n    \"globals.days.7\": \"ശനി\",\n    \"globals.fields.createdAt\": \"നിർമ്മിച്ചത്\",\n    \"globals.fields.description\": \"വിവരണം\",\n    \"globals.fields.id\": \"ഐഡി\",\n    \"globals.fields.name\": \"പേര്\",\n    \"globals.fields.status\": \"സ്ഥിതി\",\n    \"globals.fields.type\": \"ശൈലി\",\n    \"globals.fields.updatedAt\": \"പുതുക്കിയത്\",\n    \"globals.fields.uuid\": \"യുയുഐഡി\",\n    \"globals.messages.confirm\": \"താങ്കൾക്ക് തീർച്ചയാണോ?\",\n    \"globals.messages.confirmDelete\": \"{num} {name} കഴിച്ചുകളയണോ?\",\n    \"globals.messages.confirmDiscard\": \"മാറ്റങ്ങൾ നിരസിക്കട്ടെ?\",\n    \"globals.messages.copied\": \"പകർന്നുകൊണ്ടു\",\n    \"globals.messages.created\": \"\\\"{name}\\\" നിർമ്മിച്ചു\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" നീക്കം ചെയ്തു\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) നീക്കം ചെയതു\",\n    \"globals.messages.done\": \"ചെയ്തുകഴിഞ്ഞു\",\n    \"globals.messages.emptyState\": \"ഇവിടൊന്നുമില്ല\",\n    \"globals.messages.errorCreating\": \"{name} നിർമ്മിക്കുന്നതിൽ പിശകുണ്ടായി: {error}\",\n    \"globals.messages.errorDeleting\": \"{name} നീക്കം ചെയ്യുന്നതിൽ പിശകുണ്ടായി: {error}\",\n    \"globals.messages.errorFetching\": \"{name} കൊണ്ടുവരുന്നതിൽ പിശകുണ്ടായി: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"നൽകിയിരിക്കുന്ന ഐഡികളിൽ ഒന്നോ അതിലധികം അസാധുവാണ്: {error}\",\n    \"globals.messages.errorUUID\": \"യുയുഐഡി ഉണ്ടാക്കുന്നതിൽ പിശകുണ്ടായി: {error}\",\n    \"globals.messages.errorUpdating\": \"{name} പുതുക്കുന്നതിൽ പിശകുണ്ടായി: {error}\",\n    \"globals.messages.internalError\": \"സേർവറിനു തകരാറുപറ്റി\",\n    \"globals.messages.invalidData\": \"അസാധുവായ വിവരം\",\n    \"globals.messages.invalidFields\": \"തെറ്റായ ഫീല്‍ഡുകള്‍: {name}\",\n    \"globals.messages.invalidID\": \"ഐഡി അസാധുവാണ്\",\n    \"globals.messages.invalidUUID\": \"യുയുഐഡി അസാധുവാണ്\",\n    \"globals.messages.invalidValue\": \"അസാധുവായ മൂല്യം\",\n    \"globals.messages.missingFields\": \"വിട്ടുപോയ ഫീൽഡ്(കൾ): {name}\",\n    \"globals.messages.notFound\": \"{name} കണ്ടെത്തിയില്ല\",\n    \"globals.messages.numSelected\": \"{num} തിരഞ്ഞെടുക്കപ്പെട്ടത്\",\n    \"globals.messages.passwordChange\": \"മാറ്റം വരുത്തേണ്ട വില രേഖപ്പെടുത്തുക\",\n    \"globals.messages.passwordChangeFull\": \"'{name}' എന്നില്‍ നിന്ന് പൂര്‍ണ്ണമായി പാസ്‌വേഡ്‌ മാറ്റുക.\",\n    \"globals.messages.permissionDenied\": \"അനുമതി നിഷേധിച്ചു: {name}\",\n    \"globals.messages.selectAll\": \"എല്ലാം തിരഞ്ഞെടുക്കുക {num}\",\n    \"globals.messages.slowQueriesCached\": \"എന്നാൽ, മാന്ദഹാരമുള്ള ചോദ്യങ്ങൾ കാഷെചെയ്യുന്നു. ഈ പേജിൽ ചില സംഖ്യകളുടെ പുതുരൂപം അപ്ഡേറ്റ്‌ ആകുമായിരിക്കും.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" പുതുക്കി\",\n    \"globals.months.1\": \"ജനുവരി\",\n    \"globals.months.10\": \"ഒക്ടോബർ\",\n    \"globals.months.11\": \"നവംബർ\",\n    \"globals.months.12\": \"ഡിസംബർ\",\n    \"globals.months.2\": \"ഫെബ്രുവരി\",\n    \"globals.months.3\": \"മാർച്ച്\",\n    \"globals.months.4\": \"ഏപ്രിൽ\",\n    \"globals.months.5\": \"മെയ്\",\n    \"globals.months.6\": \"ജൂൺ\",\n    \"globals.months.7\": \"ജൂലൈ\",\n    \"globals.months.8\": \"ഓഗസ്റ്റ്\",\n    \"globals.months.9\": \"സെപ്റ്റംബർ\",\n    \"globals.states.off\": \"ഓഫ്\",\n    \"globals.terms.all\": \"എല്ലാം\",\n    \"globals.terms.analytics\": \"അനലറ്റിക്സ്\",\n    \"globals.terms.attribs\": \"ആട്രിബ്യൂട്ടുകൾ\",\n    \"globals.terms.bounce\": \"ബൗൺസ് | ങൗൺസുകൾ\",\n    \"globals.terms.bounces\": \"ബൗൺസുകൾ\",\n    \"globals.terms.campaign\": \"ക്യാമ്പേയ്ൻ | ക്യാമ്പേയ്നുകൾ\",\n    \"globals.terms.campaigns\": \"ക്യാമ്പേയ്നുകൾ\",\n    \"globals.terms.dashboard\": \"ഡാഷ്ബോഡ്\",\n    \"globals.terms.day\": \"തിയതി | തിയതികൾ\",\n    \"globals.terms.hour\": \"മണിക്കൂർ | മണിക്കൂറുകൾ\",\n    \"globals.terms.import\": \"ഇറക്കുമതി\",\n    \"globals.terms.list\": \"ലിസ്റ്റ് | ലിസ്റ്റുകൾ\",\n    \"globals.terms.lists\": \"ലിസ്റ്റുകൾ\",\n    \"globals.terms.media\": \"മീഡിയ | മീഡിയ\",\n    \"globals.terms.messenger\": \"സന്ദേശ വാഹകൻ | സന്ദേശ വാഹകർ\",\n    \"globals.terms.messengers\": \"സന്ദേശ വാഹകർ\",\n    \"globals.terms.minute\": \"മിനുട്ട് | മിനുട്ടുകൾ\",\n    \"globals.terms.month\": \"മാസം | മാസങ്ങൾ\",\n    \"globals.terms.new\": \"പുതിയത്\",\n    \"globals.terms.none\": \"ഒന്നുമില്ല\",\n    \"globals.terms.second\": \"സെക്കന്റു് | സെക്കന്റുകൾ\",\n    \"globals.terms.settings\": \"ക്രമീകരണങ്ങൾ\",\n    \"globals.terms.subscriber\": \"വരിക്കാരൻ | വരിക്കാർ\",\n    \"globals.terms.subscribers\": \"വരിക്കാർ\",\n    \"globals.terms.subscriptions\": \"വരിക്കാരൻ | വരിക്കാർ\",\n    \"globals.terms.tag\": \"ടാഗ് | ടാഗുകൾ\",\n    \"globals.terms.tags\": \"ടാഗുകൾ\",\n    \"globals.terms.template\": \"ടെംപ്ലേറ്റ് | ടെംപ്ലേറ്റുകൾ\",\n    \"globals.terms.templates\": \"ടെംപ്ലേറ്റുകൾ\",\n    \"globals.terms.tx\": \"ഇടപാട് | ഇടപാട്\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"ഉപയോക്താവ് | ഉപയോക്താക്കള്‍\",\n    \"globals.terms.users\": \"ഉപയോക്താക്കള്‍\",\n    \"globals.terms.year\": \"വർഷം | വർഷങ്ങൾ\",\n    \"import.alreadyRunning\": \"ഒരു ഇമ്പോർട്ട് ഇപ്പോൾ നടന്നുകൊണ്ടിരിക്കുന്നു. വീണ്ടും ശ്രമിക്കുന്നതിന് മുമ്പ് കാത്തിരിക്കുകയോ നടന്നുകൊണ്ടിരിക്കുന്ന ഇമ്പോർട്ട് നിർത്തുകയോ ചെയ്യുക.\",\n    \"import.blocklist\": \"തടയുന്ന പട്ടിക\",\n    \"import.csvDelim\": \"CSV യുടെ അതിർത്തി\",\n    \"import.csvDelimHelp\": \"കോമയാണ് സ്ഥിരസ്ഥിതി അതിർത്തി.\",\n    \"import.csvExample\": \"CSVയ്ക്ക് ഉദാഹരണം\",\n    \"import.csvFile\": \"CSVയോ ZIP ഫയലോ\",\n    \"import.csvFileHelp\": \"CSVയോ ZIPഓ വലിച്ചിട്ടോ അമർത്തിയോ ഇവിടെ കൊണ്ടുവരിക\",\n    \"import.errorCopyingFile\": \"ഫയൽ പകർത്തുന്നത് പൂർത്തിയാക്കാനായില്ല: {error}\",\n    \"import.errorProcessingZIP\": \"ZIP ഫയൽ കൈകാര്യം ചെയ്യുന്നതിൽ തടസം നേരിട്ടു: {error}\",\n    \"import.errorStarting\": \"ഇമ്പോർട്ട് ആരംഭിക്കുന്നതിൽ തടസം നേരിട്ടു: {error}\",\n    \"import.importDone\": \"കഴിഞ്ഞു\",\n    \"import.importStarted\": \"ഇംപോർട്ട് ആരംഭിച്ചു\",\n    \"import.instructions\": \"നിര്‍ദ്ധേശങ്ങൾ\",\n    \"import.instructionsHelp\": \"വരിക്കാരെ കൂട്ടത്തോടെ ചേർക്കാൻ ഒരു CSV ഫയലോ ZIP ഫയലോ അപ്ലോഡ് ചെയ്യുക. CSV ഫയലിൽ മേൽപ്പറയുന്ന തലക്കെട്ടുകളും നിരയുടെ പേരും ആവശ്യമാണ്. ഐച്ഛികമായ വിശേഷണങ്ങൾ ഇരട്ട ഉദ്ദരണികൾക്കിടയിലുള്ള ഒരു സാധുവായ ജേസൺ വാക്യമായിരിക്കണം.\",\n    \"import.invalidDelim\": \"`delim` ഒറ്റ അക്ഷരമായിരിക്കണം\",\n    \"import.invalidFile\": \" ഫയൽ അസാധുവാണ് : {error}\",\n    \"import.invalidMode\": \"ശൈലി അസാധുവാണ്\",\n    \"import.invalidParams\": \"പരാമുകൾ അസാധുവാണ്: {error}\",\n    \"import.invalidSubStatus\": \"അസാധുവായ വരിക്കാരുടെ നില\",\n    \"import.listSubHelp\": \"വരിക്കാരനാകാനുള്ള ലിസ്റ്റുകൾ.\",\n    \"import.mode\": \"ശൈലി\",\n    \"import.overwriteSubStatus\": \"സാധൃതകരണ നിലയ്യ് പുനരാലിഖിതമാക്കുക\",\n    \"import.overwriteSubStatusHelp\": \"നിലവിലുള്ള ലിസ്റ്റ് സാധൃതകരണങ്ങളുടെ സ്ഥിതി പുനരാലിഖിതമാക്കുക\",\n    \"import.overwriteUserInfo\": \"ഉപയോക്താ വിവരങ്ങൾ പുനരാലിഖിതമാക്കുക\",\n    \"import.overwriteUserInfoHelp\": \"നിലവിലുള്ള വരിക്കാരുടെ പേരും ആട്രിബ്യൂട്ടുകളും പുനരാലിഖിതമാക്കുക\",\n    \"import.recordsCount\": \"{num} / {total} രേഖകള്‍\",\n    \"import.stopImport\": \"ഇംപോർട്ട് നിർത്തുക\",\n    \"import.subscribe\": \"വരിക്കാരാകുക\",\n    \"import.subscribeWarning\": \"പുനര്‍വൃത്തിപ്പെടുന്ന അസഭ്യ ഇ-മെയിലുകള്‍ പുനര്‍വൃത്തിപ്പെടുത്തുന്നു. തുല്യമാക്കുക?\",\n    \"import.title\": \"വരിക്കാരേ ഇംപോർട്ട് ചെയ്യുക\",\n    \"import.upload\": \"അപ്ലോഡ്\",\n    \"lists.archived\": \"ശേഖരിച്ചത്\",\n    \"lists.archivedHelp\": \"ശേഖരണം ലിസ്റ്റുകളെ ലിസ്റ്റ് പേജ്, കാമ്പെയ്നുകൾ, പൊതു ഫോമുകൾ എന്നിവയിൽ നിന്ന് മറയ്ക്കുന്നു. ഇത് ഏത് സമയത്തും അൺ-ശേഖരണം ചെയ്യാൻ കഴിയും. പഴയ കൂടാതെ അപൂർവ്വമായി ഉപയോഗിക്കുന്ന ലിസ്റ്റുകൾ മറയ്ക്കാൻ ഇത് ഉപയോഗപ്രദമാണ്.\",\n    \"lists.confirmDelete\": \"നിങ്ങൾക്ക് തീർച്ചയാണോ? ഇത് ലിസ്റ്റിലെ വരിക്കാരെ ഇല്ലാതാക്കില്ല.\",\n    \"lists.confirmSub\": \"{name} ൽ വരിക്കാരനാകുന്നത് സ്ഥിരീകരിക്കുക\",\n    \"lists.invalidName\": \"പേര് അസാധുവാണ്\",\n    \"lists.newList\": \"പുതിയ ലിസ്റ്റ്\",\n    \"lists.optin\": \"ചേരുക\",\n    \"lists.optinHelp\": \"ഇരട്ട ഓപ്റ്റ്-ഇൻ ൽ വരിക്കാരന് തീർപ്പുകൽപ്പിക്കുന്നതിന് ഇ-മെയിൽ അയക്കും. ഇരട്ട ഓപ്റ്റ്-ഇൻ ലിസ്റ്റിലേക്കുള്ള ക്യാമ്പേയ്നുകൾ സ്ഥിരീകരിച്ചവർക്ക് മാത്രമേ അയക്കൂ.\",\n    \"lists.optinTo\": \"{name} ൽ ചേരുക\",\n    \"lists.optins.double\": \"ഇരട്ട ഓപ്റ്റ്-ഇൻ\",\n    \"lists.optins.single\": \"ഓപ്റ്റ്-ഇൻ\",\n    \"lists.sendCampaign\": \"ക്യാമ്പേയ്ൻ അയക്കുക\",\n    \"lists.sendOptinCampaign\": \"ഓപ്റ്റ്-ഇൻ ക്യാമ്പേയ്ൻ അയക്കുക\",\n    \"lists.type\": \"ശൈലി\",\n    \"lists.typeHelp\": \"പൊതുവായ ലിസ്റ്റുകളിൽ ആർക്ക് വേണമെങ്കിലും വരിക്കാരനാകാം. അവരുടെ പേരുകൾ സബ്സ്ക്രിപ്ഷൻ മാനേജ്മെന്റ് പോലുള്ള പേജുകളിൽ ചിലപ്പോൾ കണ്ടേക്കാം.\",\n    \"lists.types.private\": \"സ്വകാര്യം\",\n    \"lists.types.public\": \"പൊതു\",\n    \"logs.title\": \"ലോഗുകൾ\",\n    \"maintenance.database.title\": \"ഡാറ്റാബേസ്\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE കഴിഞ്ഞ വരികൾ ഉപയോഗിച്ച സംഭരണ പുനരുദ്ധരിക്കുകയും വലിയ ഡാറ്റാബേസുകളിലെ ഡാറ്റാബേസ് പ്രകടനം ഗണ്യമായി വേഗത്തിലാക്കുകയും ചെയ്യുന്നു. പ്രധാനം: വലിയ ഡാറ്റാബേസുകൾക്കായി, ഇത് സാവധാനത്തിലുള്ള, തടയുന്ന പ്രവർത്തനമാണ്. ഇത് പീക് അവസരങ്ങൾക്കിടെ പ്രവർത്തിപ്പിക്കാൻ ഷെഡ്യൂൾ ചെയ്യുക.\",\n    \"maintenance.help\": \"ഡാറ്റയുടെ അളവ് അനുസരിച്ച് ചില പ്രവർത്തനങ്ങൾ പൂർത്തിയാക്കാൻ കുറച്ച് സമയമെടുത്തേക്കാം.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"സ്ഥിരീകരിക്കാത്ത ഓപ്റ്റ്-ഇൻ വരിക്കാർ\",\n    \"maintenance.olderThan\": \"അതിലും പഴയ\",\n    \"maintenance.orphanHelp\": \"അനാഥർ = ലിസ്റ്റുകളില്ലാത്ത വരിക്കാർ\",\n    \"maintenance.title\": \"അറ്റകുറ്റപ്പണി\",\n    \"maintenance.unconfirmedSubs\": \"{name} ദിവസത്തിലധികം പഴക്കമുള്ള സ്ഥിരീകരിക്കാത്ത സബ്‌സ്‌ക്രിപ്‌ഷനുകൾ.\",\n    \"media.errorReadingFile\": \"ഫയൽ വായിക്കാനായില്ല: {error}\",\n    \"media.errorResizing\": \"ചിത്രത്തിന്റ വലിപ്പം മാറ്റാനായില്ല: {error}\",\n    \"media.errorSavingThumbnail\": \"തമ്പ്നെയിൽ സേവ് ചെയ്യാനായില്ല: {error}\",\n    \"media.errorUploading\": \"ഫയൽ അപ്ലോഡ് ചെയ്യാനായില്ല: {error}\",\n    \"media.invalidFile\": \"ഫയൽ അസാധുവാണ്: {error}\",\n    \"media.title\": \"മീഡിയ\",\n    \"media.unsupportedFileType\": \"പിൻതുണക്കാത്ത തരം ഫയൽ({type})\",\n    \"media.upload\": \"അപ്ലോഡ്\",\n    \"media.uploadHelp\": \"ഒന്നോ അതിലധികമോ ചിത്രങ്ങൾ വലിച്ചിട്ടോ അമർത്തിയോ ഇവിടെ കൊണ്ടുവരിക\",\n    \"menu.allCampaigns\": \"എല്ലാ ക്യാമ്പേയ്നുകളും\",\n    \"menu.allLists\": \"എല്ലാ ലിസ്റ്റുകളും\",\n    \"menu.allSubscribers\": \"എല്ലാ വരിക്കാരും\",\n    \"menu.dashboard\": \"ഡാഷ്ബോഡ്\",\n    \"menu.forms\": \"ഫോമുകൾ\",\n    \"menu.import\": \"ഇമ്പോർട്ട്\",\n    \"menu.logs\": \"ലോഗുകൾ\",\n    \"menu.maintenance\": \"അറ്റകുറ്റപ്പണി\",\n    \"menu.media\": \"മീഡിയ\",\n    \"menu.newCampaign\": \"പുതിയത് തുടങ്ങുക\",\n    \"menu.settings\": \"ക്രമീകരണങ്ങൾ\",\n    \"public.archiveEmpty\": \"ആർക്കൈവുചെയ്‌ത സന്ദേശങ്ങളൊന്നുമില്ല.\",\n    \"public.archiveTitle\": \"മെയിലിംഗ് ലിസ്റ്റ് ആർക്കൈവ്\",\n    \"public.blocklisted\": \"എന്നന്നേയ്ക്കുമായി വരിക്കാരനല്ലാതാകുക.\",\n    \"public.campaignNotFound\": \"ഇ-മെയിൽ കണ്ടെത്താനായില്ല.\",\n    \"public.confirmOptinSubTitle\": \"വരിക്കാരനാകുന്നത് സ്ഥിരീകരിക്കുക\",\n    \"public.confirmSub\": \"വരിക്കാരനാകുന്നത് സ്ഥിരീകരിക്കുക\",\n    \"public.confirmSubInfo\": \"താഴെപ്പറയുന്ന ലിസ്റ്റുകളിൽ നിങ്ങളെ ചേർത്തിട്ടുണ്ട്:\",\n    \"public.confirmSubTitle\": \"സ്ഥിരീകരിക്കുക\",\n    \"public.dataRemoved\": \"നിങ്ങളുടെ വരിക്കാരനായിരുന്നതിന്റെയും അനുബന്ധ വിവരങ്ങളും വിജയകരമായി നീക്കം ചെയ്തു.\",\n    \"public.dataRemovedTitle\": \"ഡാറ്റാ നീക്കം ചെയ്തു\",\n    \"public.dataSent\": \"നിങ്ങളുടെ ഡാറ്റാ അറ്റാച്ച്മെന്റായി നിങ്ങൾക്ക് ഇ-മെയിൽ ചെയ്തു.\",\n    \"public.dataSentTitle\": \"ഡാറ്റാ ഇ-മെയിൽ ചെയ്തു\",\n    \"public.errorFetchingCampaign\": \"ഇ-മെയിൽ വീണ്ടെടുക്കുന്നതിൽ തടസം നേരിട്ടു\",\n    \"public.errorFetchingEmail\": \"ഇ-മെയിൽ കണ്ടേത്തിയില്ല\",\n    \"public.errorFetchingLists\": \"ലിസ്റ്റുകൾ വീണ്ടെടുക്കുന്നതിൽ തടസം നേരിട്ടു. വീണ്ടും ശ്രമിക്കുക.\",\n    \"public.errorProcessingRequest\": \"അഭ്യർത്ഥനയിന്മേൽ നടപടിയെടുക്കുന്നതിൽ തടസം നേരിട്ടു. വീണ്ടും ശ്രമിക്കുക.\",\n    \"public.errorTitle\": \"പിശക്\",\n    \"public.invalidCaptcha\": \"അസാധുവായ CAPTCHA.\",\n    \"public.invalidFeature\": \"ഈ ഫീച്ചർ ലഭ്യമല്ല\",\n    \"public.invalidLink\": \"അസാധുവായ ലിങ്ക്\",\n    \"public.managePrefs\": \"മുൻഗണനകളിൽ മാറ്റം വരുത്തുക\",\n    \"public.managePrefsUnsub\": \"അവയിൽ നിന്ന് വരിക്കാരനല്ലാതാകാൻ ചെക്‍ലിസ്റ്റിൽ നിന്ന് ടിക്ക് മാറ്റുക.\",\n    \"public.noListsAvailable\": \"വരിക്കാരനാകാൻ ലിസ്റ്റുകളൊന്നും ലഭ്യമല്ല.\",\n    \"public.noListsSelected\": \"വരിക്കാരനാകുന്നതിനു് സാധുവായ ലിസ്റ്റുകളൊന്നും തിരഞ്ഞെടുത്തിട്ടില്ല.\",\n    \"public.noSubInfo\": \"സ്ഥിരീകരിക്കാനായി വരിക്കാരനാകാനുള്ള അഭ്യർത്ഥനകളൊന്നുമില്ല\",\n    \"public.noSubTitle\": \"വരിക്കാരാരുമില്ല\",\n    \"public.notFoundTitle\": \"കണ്ടെത്തിയില്ല\",\n    \"public.poweredBy\": \"അവതരിപ്പിക്കുന്നത്\",\n    \"public.prefsSaved\": \"നിങ്ങളുടെ മുൻഗണനകൾ സംരക്ഷിച്ചു.\",\n    \"public.privacyConfirmWipe\": \"വരിക്കാരനായിരിക്കുന്നതിന്റെ എല്ലാ വിവരങ്ങളും എന്നത്തേയ്ക്കുമായി നീക്കം ചെയ്യണമെന്ന് നിങ്ങളുൾക്കുറപ്പാണോ?\",\n    \"public.privacyExport\": \"നിങ്ങളുടെ വിവരങ്ങൾ എക്സ്പോർട്ട് ചെയ്യുക\",\n    \"public.privacyExportHelp\": \"വിവരങ്ങളുടെ ഒരു പകർപ്പ് നിങ്ങൾക്ക് ഇ-മെയിലായി അയച്ചു തരുന്നതാണ്.\",\n    \"public.privacyTitle\": \"സ്വകാര്യതയും വിവരങ്ങളും\",\n    \"public.privacyWipe\": \"നിങ്ങളുടെ വിവരങ്ങൾ എന്നന്നേയ്ക്കുമായി ഇല്ലാതാക്കുക\",\n    \"public.privacyWipeHelp\": \"താങ്കൾ വരിക്കാരനായിരിക്കുന്നതും അനുബന്ധ വിവരങ്ങളും ഡേറ്റാബേസിൽ നിന്നും എന്നത്തേയ്ക്കുമായി നീക്കം ചെയ്യുക.\",\n    \"public.sub\": \"വരിക്കാരനാകുക\",\n    \"public.subConfirmed\": \"വരിക്കാരനായി\",\n    \"public.subConfirmedTitle\": \"സ്ഥിരീകരിച്ചു\",\n    \"public.subName\": \"പേര് (നിർബന്ധമില്ല)\",\n    \"public.subNotFound\": \"വരിക്കാരനെ കണ്ടത്തിയില്ല.\",\n    \"public.subOptinPending\": \"നിങ്ങൾ വരിക്കാരനാകുന്നതു സ്ഥിരീകരിക്കാൻ നിങ്ങൾക്ക് ഒരു ഇ-മെയിൽ അയച്ചിട്ടുണ്ട്.\",\n    \"public.subPrivateList\": \"സ്വകാര്യ ലിസ്റ്റ്\",\n    \"public.subTitle\": \"സബ്സ്ക്രൈബ് ചെയ്യുക\",\n    \"public.unsub\": \"വരിക്കാരനല്ലാതാകുക\",\n    \"public.unsubFull\": \"ഭാവിയിലുള്ള ഇ-മെയിലുകളിൽനിന്നും ഒഴിവാകുക.\",\n    \"public.unsubHelp\": \"ഇനിമേൽ ഈ ലിസ്റ്റിന്റെ വരിക്കാരനാകേണ്ട എന്നുറപ്പാണോ?\",\n    \"public.unsubTitle\": \"വരിക്കാരനല്ലാതാകുക\",\n    \"public.unsubbedInfo\": \"നിങ്ങൾ വരിക്കാരനല്ലാതായി\",\n    \"public.unsubbedTitle\": \"വരിക്കാരനല്ലാതാകുക\",\n    \"public.unsubscribeTitle\": \"മെയിലിങ് ലിസ്റ്റിന്റെ വരിക്കാരനല്ലാതാകുക\",\n    \"settings.appearance.adminHelp\": \"അഡ്‌മിൻ യുഐയിൽ പ്രയോഗിക്കാനുള്ള ഇഷ്‌ടാനുസൃത CSS.\",\n    \"settings.appearance.adminName\": \"അ‍ഡ്മിൻ\",\n    \"settings.appearance.customCSS\": \"ഇച്ഛാനുസൃതമുള്ള CSS\",\n    \"settings.appearance.customJS\": \"ഇച്ഛാനുസൃതമുള്ള  ജാവാസ്ക്രിപ്റ്റ്\",\n    \"settings.appearance.name\": \"രൂപഭാവം\",\n    \"settings.appearance.publicHelp\": \"പൊതു താളുകളിൽ പ്രയോഗിക്കാനുള്ള ഇഷ്ടാനുസൃത CSS ഉം JavaScript ഉം.\",\n    \"settings.appearance.publicName\": \"പൊതു\",\n    \"settings.bounces.action\": \"നടപടി\",\n    \"settings.bounces.blocklist\": \"ബ്ലോക്ക് ലിസ്റ്റ്\",\n    \"settings.bounces.count\": \"ബൗൺസായവയുടെ എണ്ണം\",\n    \"settings.bounces.countHelp\": \"വരിക്കാർക്കു ആനുപാതികയി ബൗൺസുകളുടെ എണ്ണം\",\n    \"settings.bounces.enable\": \"ബൗൺസ് പ്രോസസ്സിംഗ് പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.bounces.enableForwardemail\": \"ഇമെയിൽ ഫോവുഡ് ചെയ്യൽ സജീവമാക്കുക\",\n    \"settings.bounces.enableMailbox\": \"ബൗൺസ് മെയിൽബോക്സ് പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.bounces.enablePostmark\": \"Postmark പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.bounces.enableSES\": \"SES പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.bounces.enableSendgrid\": \"SendGrid പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.bounces.enableWebhooks\": \"ബൗൺസ് വെബ്‌ഹുക്കുകൾ പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.bounces.enabled\": \"പ്രവർത്തനക്ഷമമാക്കി\",\n    \"settings.bounces.folder\": \"ഫോൾഡർ\",\n    \"settings.bounces.folderHelp\": \"സ്കാൻ ചെയ്യാനുള്ള IMAP ഫോൾഡറിന്റെ പേര്. ഉദാ: ഇൻബോക്സ്.\",\n    \"settings.bounces.forwardemailKey\": \"ഫോറ്വേഡ് ഇമെയിൽ കീ\",\n    \"settings.bounces.invalidScanInterval\": \"ബൗൺസ് സ്കാൻ ചെയ്യാനുള്ള ഏറ്റവും കുറഞ്ഞ ഇടവേള 1 മിനിറ്റായിരിക്കണം.\",\n    \"settings.bounces.name\": \"ബൗൺസുകൾ\",\n    \"settings.bounces.none\": \"ഒന്നുമില്ല\",\n    \"settings.bounces.postmarkPassword\": \"പോസ്റ്റ്മാർക്ക് പാസ്‌വേഡ്\",\n    \"settings.bounces.postmarkUsername\": \"പോസ്റ്റ്മാർക്ക് ഉപയോക്തൃനാമം\",\n    \"settings.bounces.postmarkUsernameHelp\": \"പോസ്റ്റ്മാർക്ക്‌ വെബ്‌ഹൂക്കുകൾക്ക് അടിസ്ഥാന പ്രാധാന്യമുള്ള സാധാരണ അനുമതി സജ്ജീകരിക്കാനുള്ളതാണ്. താഴെ പ്രദിശ്യമായ അനുമതികളും പോസ്റ്റ്മാർക്ക് വെബ്‌ഹൂക്ക് ക്രമീകരണങ്ങളിൽ നൽകുക.\",\n    \"settings.bounces.scanInterval\": \"സ്കാൻ ചെയ്യാനുള്ള ഇടവേള\",\n    \"settings.bounces.scanIntervalHelp\": \"ബൗൺസ് മെയിൽബോക്‌സ് സ്‌കാൻ ചെയ്യേണ്ട ഇടവേള (സെക്കൻഡിന് s, മിനിറ്റിന് m).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid കീ\",\n    \"settings.bounces.type\": \"തരം\",\n    \"settings.bounces.username\": \"ഉപഭോക്തൃനാമം\",\n    \"settings.confirmRestart\": \"റണ്ണിംഗ് കാമ്പെയ്‌നുകൾ താൽക്കാലികമായി നിർത്തിയെന്ന് ഉറപ്പാക്കുക. പുനരാരംഭിക്കുട്ടേ?\",\n    \"settings.duplicateMessengerName\": \"ഒരേ പേരിൽ ഒന്നിലധികം സന്ദശവാഹകർ: {name}\",\n    \"settings.errorEncoding\": \"ക്രമീകരണം എൻകോഡ് ചെയ്യുന്നതിൽ തടസം നേരിട്ടു: {error}\",\n    \"settings.errorNoSMTP\": \"കുറഞ്ഞപക്ഷം ഒരു SMTP ബ്ലൊക്കെങ്കിലും പ്രവർത്തനക്ഷമയിരിക്കണം\",\n    \"settings.general.adminNotifEmails\": \"കാര്യനിര്‍വ്വാഹകർക്കുള്ള അറിയിപ്പ് ഇ-മെയിലുകൾ\",\n    \"settings.general.adminNotifEmailsHelp\": \"ഇംപോർട്ട് ചെയ്തതിലുള്ള വിവരങ്ങൾ, ക്യാമ്പേയ്ൻ പൂർത്തീകരണം, പ്രശ്നങ്ങൾ എന്നിങ്ങനെയുള്ള പ്രധാനപ്പെട്ട കാര്യനിര്‍വ്വാഹകർക്കുള്ള അറിയിപ്പിനായുള്ള കോമാ ഉപയോഗിച്ച് വേർതിരിച്ച ഇ-മെയിൽ വിലാസങ്ങൾ.\",\n    \"settings.general.checkUpdates\": \"അപ്ഡേറ്റുകൾക്കായി പരിശോധിക്കുക\",\n    \"settings.general.checkUpdatesHelp\": \"പുതിയ ആപ്പ് റിലീസുകൾക്കായി ഇടയ്ക്കിടെ പരിശോധിച്ച് അറിയിക്കുക.\",\n    \"settings.general.enablePublicArchive\": \"പൊതു മെയിലിംഗ് ലിസ്റ്റ് ആർക്കൈവ് പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.general.enablePublicArchiveHelp\": \"പൊതു വെബ്‌സൈറ്റിൽ ആർക്കൈവിംഗ് പ്രവർത്തനക്ഷമമാക്കിയ കാമ്പെയ്‌നുകൾ പ്രസിദ്ധീകരിക്കുക.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"RSS ഫീഡില്‍ പൂര്‍ണ്ണമായ ഉള്‍പ്പെടുത്തുക\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"RSS ഫീഡില്‍ പൂര്‍ണ്ണ ഇമെയില്‍ ഉള്‍പ്പെടുത്തുക. അപ്രാപ്തമാക്കുന്നത് മാത്രം തലക്കെട്ടുകളും ലിങ്കുകളും പ്രദര്‍ശിക്കുന്നു.\",\n    \"settings.general.enablePublicSubPage\": \"പൊതു സബ്‌സ്‌ക്രിപ്‌ഷൻ താൾ പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.general.enablePublicSubPageHelp\": \"ആളുകൾക്ക് വരിക്കാരാകാനുള്ള എല്ലാ പൊതു ലിസ്റ്റുകളുമുള്ള പൊതുവായ ഒരു താൾ കാണിക്കുക.\",\n    \"settings.general.faviconURL\": \"ഫാവ് ഐക്കൺ URL\",\n    \"settings.general.faviconURLHelp\": \"(ഐച്ഛികം) വരിക്കാരനല്ലാതാകാനുള്ള പേജുപോലുള്ള പൊതുവായ പേജുകളിൽ കാണിക്കുന്നതിനുവേണ്ടിയുള്ള ഫാവ് ഐക്കണിന്റെ പൂർണ്ണ വെബ് വിലാസം.\",\n    \"settings.general.fromEmail\": \"സ്ഥിരസ്ഥിതി `from` ഇ-മെയിൽ\",\n    \"settings.general.fromEmailHelp\": \"(ഐച്ഛികം) വരിക്കാരനല്ലാതാകാനുള്ള പേജുപോലുള്ള പൊതുവായ പേജുകളിൽ കാണിക്കുന്നതിനുവേണ്ടിയുള്ള ലോഗോയുടെ പൂർണ്ണ വെബ് വിലാസം.\",\n    \"settings.general.language\": \"ഭാഷ\",\n    \"settings.general.logoURL\": \"ലോഗോ URL\",\n    \"settings.general.logoURLHelp\": \"(ഐച്ഛികം) വരിക്കാരനല്ലാതാകാനുള്ള പേജുപോലുള്ള പൊതുവായ പേജുകളിൽ കാണിക്കുന്നതിനുവേണ്ടിയുള്ള ലോഗോയുടെ പൂർണ്ണ വെബ് വിലാസം.\",\n    \"settings.general.name\": \"പൊതുവായ\",\n    \"settings.general.rootURL\": \"റൂട്ട് URL\",\n    \"settings.general.rootURLHelp\": \"ഇൻസ്റ്റാളേഷന്റെ പൊതു URL (അവസാനത്തെ സ്ലാഷ് ആവശ്യമില്ല).\",\n    \"settings.general.sendOptinConfirm\": \"ഓപ്റ്റ്-ഇൻ സ്ഥിരീകരണം അയയ്ക്കുക\",\n    \"settings.general.sendOptinConfirmHelp\": \"When new subscribers signup or are added via the admin form, send an opt-in confirmation e-mail.\",\n    \"settings.general.siteName\": \"സൈറ്റിന്റെ പേര്\",\n    \"settings.invalidMessengerName\": \"സന്ദേശവാഹകന്റെ പേര് അസാധുവാണ്\",\n    \"settings.mailserver.authProtocol\": \"പ്രാമാണീകരണ പ്രോട്ടോക്കോൾ\",\n    \"settings.mailserver.host\": \"ഹോസ്റ്റ്\",\n    \"settings.mailserver.hostHelp\": \"SMTP സേർവ്വറിന്റെ വിലാസം.\",\n    \"settings.mailserver.idleTimeout\": \"നിഷ്‌ക്രിയതാ സമയപരിധി\",\n    \"settings.mailserver.idleTimeoutHelp\": \"പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).\",\n    \"settings.mailserver.maxConns\": \"പരമാവധി കണക്ഷനുകൾ\",\n    \"settings.mailserver.maxConnsHelp\": \"SMTP സേർവ്വറിലേയ്ക്കുള്ള പരമാവധി സമാന്തര കണക്ഷനുകൾ.\",\n    \"settings.mailserver.nameHelp\": \"SMTP സെർവറിനുള്ള ഐച്ഛിക μοναδικό όνομα. email- എന്ന പ്രിഫിക്‌സ് ഉണ്ടായിരിക്കണം. ഇത് ഒരു ക്യാമ്പെയിനിനായി പ്രത്യേകം സെർവർ തിരഞ്ഞെടുക്കാൻ സഹായിക്കും. ഉദാ: email-primary-server. അക്ഷരസംഖ്യ / ഡാഷ്.\",\n    \"settings.mailserver.password\": \"രഹസ്യ കോഡ്‌\",\n    \"settings.mailserver.passwordHelp\": \"മാറ്റം വരുത്താൻ എന്റർ കീ അമർത്തുക\",\n    \"settings.mailserver.port\": \"പോർട്ട്\",\n    \"settings.mailserver.portHelp\": \"SMTP സേർവറിന്റെ പോർട്ട്.\",\n    \"settings.mailserver.skipTLS\": \"TLS പരിശോധന ഒഴിവാക്കുക\",\n    \"settings.mailserver.skipTLSHelp\": \"TLS സർട്ടിഫിക്കേറ്റിന്റെ ഹോസ്റ്റ്നേയിം പരിശോധന ഒഴിവാക്കുക.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"STARTTLS പ്രവർത്തനക്ഷമമാക്കുക.\",\n    \"settings.mailserver.username\": \"ഉപഭോക്തൃ നാമം\",\n    \"settings.mailserver.waitTimeout\": \"കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി\",\n    \"settings.mailserver.waitTimeoutHelp\": \"പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).\",\n    \"settings.maintenance.cron\": \"ക്രോൺ അടുത്ത അവലോകനം\",\n    \"settings.media.provider\": \"ദാതാവ്\",\n    \"settings.media.s3.bucket\": \"ബക്കറ്റ്\",\n    \"settings.media.s3.bucketPath\": \"ബക്കറ്റിലേക്കുള്ള പാത്ത്\",\n    \"settings.media.s3.bucketPathHelp\": \"ബക്കറ്റിലേക്ക് ഫയൽ അപ്ലോഡ് ചെയ്യാനുള്ള പാത്ത്. സ്ഥിരസ്ഥിതി / ആണ്\",\n    \"settings.media.s3.bucketType\": \"ബക്കറ്റ് തരം\",\n    \"settings.media.s3.bucketTypePrivate\": \"സ്വകാര്യമായ\",\n    \"settings.media.s3.bucketTypePublic\": \"പൊതുവായ\",\n    \"settings.media.s3.key\": \"AWS പ്രവേശന വാക്യം\",\n    \"settings.media.s3.publicURL\": \"ഇഷ്‌ടാനുസൃത പൊതു വിലാസം (ഓപ്ഷണൽ)\",\n    \"settings.media.s3.publicURLHelp\": \"സ്വതവേയുള്ള S3 വിലാസത്തിന് പകരം ചിത്രങ്ങളിൽ ഉപയോഗിക്കാനുള്ള ഇഷ്‌ടാനുസൃത S3 ഡൊമെയ്‌ൻ.\",\n    \"settings.media.s3.region\": \"മേഖല\",\n    \"settings.media.s3.secret\": \"AWS പ്രവേശന രഹസ്യം\",\n    \"settings.media.s3.uploadExpiry\": \"അപ്‌ലോഡ് ചെയ്യുന്നതിന്റെ  കാലാവധി\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(ഐച്ഛികം) മുൻകൂട്ടി നിർമ്മിക്കുന്ന യൂ. ആർ. എല്ലിനുള്ള സെക്കന്റിലുള്ള TTL വ്യക്തമാക്കുക . സ്വകാര്യ ബക്കറ്റുകൾക്ക് മാത്രമേ ബാധകമാകൂ (s, m, h, d എന്നിവ യഥാക്രമം സെക്കന്റ്, മിനുട്ട്, മണിക്കൂർ, ദിവസങ്ങൾ എന്നിവയെ സൂചിപ്പിക്കുന്നു).\",\n    \"settings.media.s3.url\": \"S3 വിലാസം\",\n    \"settings.media.s3.urlHelp\": \"Minio പോലെയുള്ള ഒരു ഇഷ്‌ടാനുസൃത S3 അനുയോജ്യമായ ബാക്കെൻഡ് ഉപയോഗിക്കുകയാണെങ്കിൽ മാത്രം മാറ്റുക.\",\n    \"settings.media.title\": \"മീഡിയാ അപ്ലോഡുകൾ\",\n    \"settings.media.upload.extensions\": \"അനുവദനീയമായ ഫയല്‍ പതിപ്പുകള്‍\",\n    \"settings.media.upload.extensionsHelp\": \"എല്ലാ പതിപ്പുകളും അനുവദനീയമാക്കാന്‍പറ്റുമ്പോഴാണ് * ചേര്‍ക്കുന്നത്\",\n    \"settings.media.upload.path\": \"അപ്ലോഡ് പാത്ത്\",\n    \"settings.media.upload.pathHelp\": \"മീഡിയ അപ്ലോഡ് ചെയ്യുന്നതിനുള്ള ഡയറക്ടറിയിലേക്കുള്ള പാത്ത്.\",\n    \"settings.media.upload.uri\": \"അപ്ലോഡ് URI\",\n    \"settings.media.upload.uriHelp\": \"അപ്ലോഡ് URI പൊതുവായി ദ്രശ്യമായിരിക്കും. `upload_path` ലേക്ക് അപ്ലോഡ് ചെയ്ത മീഡിയകൾ  {root_url} ൽ എല്ലാവർക്കും പ്രാപ്യമായിരിക്കും. ഉദാഹരണത്തിന് https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"പരമാവധി കണക്ഷനുകൾ\",\n    \"settings.messengers.maxConnsHelp\": \"SMTP സേർവ്വറിലേയ്ക്കുള്ള പരമാവധി സമാന്തര കണക്ഷനുകൾ.\",\n    \"settings.messengers.messageSaved\": \"ക്രമീകരണങ്ങൾ സംരക്ഷിച്ചു. ആപ്പ് പുനരാരംഭിക്കുന്നു ...\",\n    \"settings.messengers.name\": \"സന്ദേശ വാഹകർ\",\n    \"settings.messengers.nameHelp\": \"ഉദാഹരണം: എന്റെ-ലിസ്റ്റ്. അക്കങ്ങളും അക്ഷരങ്ങളും / ഡാഷും.\",\n    \"settings.messengers.password\": \"രഹസ്യ വാക്ക്\",\n    \"settings.messengers.retries\": \"പുനഃശ്രമങ്ങൾ\",\n    \"settings.messengers.retriesHelp\": \"സന്ദേശമയക്കാൻ ശ്രമിച്ച് പരാജയപ്പെട്ടാൽ എത്ര തവണ വീണ്ടും ശ്രമിക്കണം.\",\n    \"settings.messengers.skipTLSHelp\": \"TLS സർട്ടിഫിക്കേറ്റിന്റെ ഹോസ്റ്റ്നേയിം പരിശോധന ഒഴിവാക്കുക.\",\n    \"settings.messengers.timeout\": \"നിഷ്‌ക്രിയതാ സമയപരിധി\",\n    \"settings.messengers.timeoutHelp\": \"പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).\",\n    \"settings.messengers.url\": \"യൂ. ആർ. എൽ\",\n    \"settings.messengers.urlHelp\": \"പോസ്റ്റ്ബാക്ക് സേർവറിന്റെ റൂട്ട് URL.\",\n    \"settings.messengers.username\": \"ഉപഭോക്ത്ര നാമം\",\n    \"settings.needsRestart\": \"ക്രമീകരണങ്ങൾ മാറ്റി. പ്രവർത്തിക്കുന്ന എല്ലാ കാമ്പെയ്‌നുകളും താൽക്കാലികമായി നിർത്തി ആപ്പ് പുനരാരംഭിക്കുക\",\n    \"settings.performance.batchSize\": \"ബാച്ചിന്റെ വലിപ്പം\",\n    \"settings.performance.batchSizeHelp\": \"ഒരാവർത്തനത്തിൽ എത്ര വരിക്കാരെ ഡാറ്റാബേസിൽ നിന്നും എടുക്കണം. ഓരോ തവണയും വരിക്കാരെ ഡാറ്റാബേസിൽ നിന്നും എടുക്കുകയും അടുത്ത ആവർത്തനത്തിൽ അടുത്ത ബാച്ചിനെ എടുക്കുകയും അങ്ങനെ തുടരുകയും ചെയ്യും. ഈ മൂല്യം പരമാവധി ത്രൂപുട്ടിനേക്കാളും (concurrency * message_rate) കൂടുതലാകുന്നതാണ് നല്ലത്.\",\n    \"settings.performance.cacheSlowQueries\": \"മാന്ദഹാരമൊന്നുംകൂടാതെ ഡാറ്റാബേസ് ചോദ്യങ്ങൾ സജ്ജീകരിക്കുക\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"പ്രധാനമായി സ്ലോ ചെയ്യുന്ന വലിപ്പമുള്ള ഡാറ്റാബേസുകളിൽ മാത്രം ഇത് പ്രവർത്തിപ്പിക്കുക. തിരിച്ചിൽ ഔട്ട് ഗ്രന്ഥനായകന്റെ എണ്ണം, ഡാഷ്ബോർഡ് സ്റ്റാറ്റിസ്റ്റികൾ എന്നിവ സംരക്ഷിക്കുന്നു.\",\n    \"settings.performance.concurrency\": \"കൺകറൻസി\",\n    \"settings.performance.concurrencyHelp\": \"ഒരുമിച്ച് സന്ദേശമയക്കാൻ ശ്രമിക്കുന്നതിനുള്ള പരമാവധി സമാന്തര ജോലിക്കാർ (ത്രെഡുകൾ).\",\n    \"settings.performance.maxErrThreshold\": \"പിശകുണ്ടാകാവുന്നതിന്റെ പരമാവധി പരിധി\",\n    \"settings.performance.maxErrThresholdHelp\": \"ഒരു ക്യാമ്പേയ്ൻ ഓടിക്കുമ്പോൾ സ്വമേധയാലുള്ള അന്വേഷണം അല്ലെങ്കിൽ ഇടപെടലിനു മുമ്പ് സഹിക്കാൻ കഴിയുന്ന പരമാവധി പിശകുകളുടെ (ഉദാഹരണത്തിന്  ഇ-മെയിലയക്കുമ്പോളുണ്ടായേക്കാവുന്ന SMTP സമയപരിധീ പ്രശ്നങ്ങൾ). 0 ആണെങ്കിൽ ഒരിക്കലും താൽക്കാലികമായി നിർത്തില്ല.\",\n    \"settings.performance.messageRate\": \"സന്തേശത്തിന്റെ നിരക്ക്\",\n    \"settings.performance.messageRateHelp\": \"ഒരു ജോലിക്കാരൻ ഒരു സെക്കന്റിൽ അയക്കേണ്ട പരമാവധി സന്ദേശങ്ങൾ. സമാന്തരമായി അയക്കുന്നത് 10ും സന്ദേശത്തിന്റെ തോത് 10ും ആണെങ്കിൽ ഒരു സെക്കന്റിൽ 10x10 = 100 സന്ദേശങ്ങൾ അയച്ചേക്കാം. ലക്ഷ്യം വെകക്കുന്ന സേർവർ തോത് നിയന്ത്രിക്കുന്നുണ്ടെങ്കിൽ ഈ മൂല്യം മെച്ചപ്പെടുത്തേണ്ടതാണ്.\",\n    \"settings.performance.name\": \"പെർഫോമൻസ്\",\n    \"settings.performance.slidingWindow\": \"സ്ലൈഡിങ് വിൻഡോ പരിധി പ്രവർത്തനക്ഷമമാക്കുക\",\n    \"settings.performance.slidingWindowDuration\": \"ദൈർഘ്യം\",\n    \"settings.performance.slidingWindowDurationHelp\": \"സ്ലൈഡിങ് വിൻഡോയുടെ കാലയളവിന്റെ ദൈർഘ്യം (മിനുട്ടിന് m, മണിക്കൂറിന് h)\",\n    \"settings.performance.slidingWindowHelp\": \"നൽകിയ കാലയളവിൽ അയച്ച സന്ദേശങ്ങളുടെ ആകെ എണ്ണം പരിമിതപ്പെടുത്തുക. ഈ പരിധിയിലെത്തുമ്പോൾ, സമയ വിൻഡോ കഴിയുന്നതുവരെ സന്ദേശങ്ങൾ അയയ്‌ക്കുന്നത് നിർത്തിവെക്കുക.\",\n    \"settings.performance.slidingWindowRate\": \"പരമാവധി സന്ദേശങ്ങൾ\",\n    \"settings.performance.slidingWindowRateHelp\": \"വിൻഡോ ദൈർഘ്യത്തിനുള്ളിൽ അയക്കേണ്ട പരമാവധി സന്ദേശങ്ങളുടെ എണ്ണം\",\n    \"settings.privacy.allowBlocklist\": \"തടയുന്ന പട്ടിക അനുവദിക്കുക\",\n    \"settings.privacy.allowBlocklistHelp\": \"എല്ലാ മെയിലിങ് ലിസ്റ്റുകളിൽ നിന്നും വരിക്കാരല്ലാതാകാനും തടയുന്ന പട്ടികയിൽപ്പെടുത്താനും ഉപഭോക്താക്കളെ അനുവദിക്കണോ?\",\n    \"settings.privacy.allowExport\": \"എക്സ്പോർട്ട് ചെയ്യാനനുവദിക്കുക\",\n    \"settings.privacy.allowExportHelp\": \"ഉപഭോക്കാക്കളിൽ നിന്നും ശേഖരിച്ച വിവരങ്ങൾ എക്സ്പോർട്ട് ചെയ്യാൻ അനുവദിക്കണോ?\",\n    \"settings.privacy.allowPrefs\": \"മുൻഗണനയിലെ മാറ്റങ്ങൾ അനുവദിക്കുക\",\n    \"settings.privacy.allowPrefsHelp\": \"വരിക്കാരെ അവരുടെ പേരുകളും ഒന്നിലധികം ലിസ്റ്റ് സബ്‌സ്‌ക്രിപ്‌ഷനുകളും പോലുള്ള മുൻഗണനകൾ മാറ്റാൻ അനുവദിക്കുക.\",\n    \"settings.privacy.allowWipe\": \"വിവരങ്ങൾ എന്നന്നേയ്ക്കുമായി ഇല്ലാതാക്കുന്നത് അനുവദിക്കുക\",\n    \"settings.privacy.allowWipeHelp\": \"ഉപഭോക്താക്കളെ അവരുടെ വരിക്കാരായിട്ടുള്ള ലിസ്റ്റുകളും മറ്റു വിവരങ്ങളും ഡാറ്റാബേസിൽ നിന്നും ഇല്ലാതാക്കാൻ അനുവദിക്കുക.ക്യാമ്പെയ്ൻ കാഴ്ചകളും കണ്ണികളിന്മേലുള്ള ക്ലിക്കുകളുടെ വിവരങ്ങളും ഇല്ലാതാക്കുമെങ്കിലും കാഴ്ചകളുടെയും കണ്ണിയിലുള്ള ക്ലിക്കുകളുടെ (ഉപഭോക്തൃ വിവരങ്ങളില്ലാതെ) എണ്ണവും നിലനിൽക്കും. അതിനാൽ സ്ഥിതിവിവരക്കണക്കുകളെയും വിശകലനങ്ങളെയും ബാധിക്കില്ല.\",\n    \"settings.privacy.domainAllowlist\": \"ഡൊമെയ്ൻ അനുവാദ പട്ടിക\",\n    \"settings.privacy.domainAllowlistHelp\": \"ഈ ഡൊമെയിനുകളുള്ള മെയിൽ വിലാസങ്ങൾക്കു മാത്രമേ സബ്സ്ക്രൈബ് ചെയ്യാൻ അനുവാദമുള്ളൂ. ഓരോ ഡൊമെയിനും ഓരോ വരിയിലായി നൽകുക, ഉദാ: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"ഡൊമെയ്ൻ ബ്ലോക്ക്ലിസ്റ്റ്\",\n    \"settings.privacy.domainBlocklistHelp\": \"ഈ ഡൊമെയ്‌നുകളുള്ള ഇമെയിൽ വിലാസങ്ങൾ സബ്‌സ്‌ക്രൈബുചെയ്യുന്നതിൽ നിന്ന് അനുവദനീയമല്ല. ഓരോ വരിയിലും ഒരു ഡൊമെയ്ൻ നൽകുക. ഉദാ: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"വ്യക്തിഗത വരിക്കാരെ പിൻതുടരുക\",\n    \"settings.privacy.individualSubTrackingHelp\": \"ഉപഭോക്തൃ തലത്തിലുള്ള ക്യാമ്പെയ്ൻ കാഴ്ചകളും കണ്ണിയിലെ ക്ലിക്കുകളും പിൻതുടരുക. അപ്രാപ്‌തമാക്കിയാൽ ക്യാമ്പെയ്ൻ കാഴ്ചകളും കണ്ണികളിന്മേലുള്ള ക്ലിക്കുകളുടെ വിവരങ്ങളും രേഖപ്പെടുത്തുമെങ്കുലും ഉപഭോക്താക്കളുടെ വിവരങ്ങളോട് ചേർക്കില്ല.\",\n    \"settings.privacy.listUnsubHeader\": \"`List-Unsubscribe` തലക്കെട്ട് കൂട്ടിച്ചേർക്കുക\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"ഒറ്റ ക്ലിക്കിലൂടെ വരിക്കാനല്ലാതാക്കാൻ ഇ-മെയിൽ ക്ലൈന്റിൽ വരിക്കാരനല്ലാതാക്കാനുള്ള തലക്കെട്ട് കൂട്ടിച്ചേർക്കുക.\",\n    \"settings.privacy.name\": \"സ്വകാര്യത\",\n    \"settings.privacy.recordOptinIP\": \"ഓപ്റ്റ്-ഇന്‍ IP വിലാസം രേഖപ്പെടുത്തൂ\",\n    \"settings.privacy.recordOptinIPHelp\": \"ഡബിള്‍ ഓപ്റ്റ് ഇന്‍സ് സബ്സ്ക്രൈബറുടെ വിവരഗണനയിലേക്ക് IP വിലാസം രേഖപ്പെടുത്തൂ.\",\n    \"settings.restart\": \"പുനരാരംഭിയ്ക്കുക\",\n    \"settings.security.CORSDomains\": \"അനുമതിപ്പ്രാപ്ത ഉത്ഭവങ്ങൾ\",\n    \"settings.security.CORSDomainsHelp\": \"ബാഹ്യ ഡൊമെയ്നുകൾ থেക്കുള്ള ബ്രൗസർ Javascript വഴി API അന്തബിന്ദുകൾ ആക്സസ് ചെയ്യാൻ അനുമതി നൽകുക. ഓരോ വരിയിലും ഒരു ഡൊമെയ്ൻ നൽകുക (ഉദാ: https://example.com). CORS പ്രവർത്തനരഹിതമാക്കുന്നതിന് ശൂന്യമായി വിട്ടുകളിയുക അല്ലെങ്കിൽ * ചേർത്ത് എല്ലാം അനുവദിക്കുക (ശുപാർശിക്കപ്പെടാത്തത്).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"ഉപയോക്താക്കൾ സ്വയം സൃഷ്‌ടിക്കുക\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"അക്കൗണ്ട് നിലവിലില്ലെങ്കിൽ ആദ്യ ലോഗിനിൽ സ്വയം ഉപയോക്താവിനെ സൃഷ്‌ടിക്കും.\",\n    \"settings.security.OIDCClientID\": \"ക്ലയന്റ് ഐഡി\",\n    \"settings.security.OIDCClientSecret\": \"ക്ലയന്റ് സീക്രട്ട്\",\n    \"settings.security.OIDCDefaultListRole\": \"ഡിഫോൾട്ട് ലിസ്റ്റ് റോളുകൾ\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"OIDC-യിൽ നിന്നുള്ള സ്വയം സൃഷ്ടിക്കപ്പെട്ട ഉപയോക്താക്കൾക്ക് നൽകപ്പെടുന്ന ഡിഫോൾട്ട് റോളുകൾ.\",\n    \"settings.security.OIDCDefaultUserRole\": \"ഡിഫോൾട്ട് ഉപയോക്തൃ റോളുകൾ\",\n    \"settings.security.OIDCHelp\": \"ഒപ്പെന്‍ഐഡി കണക്റ്റ് ഓഴോത്ത്_2 ലോഗിന്‍ ഒഎആത്വര്‍ഗ്ഗത്തിന് ഒഎഓപി പ്രേഷകനമാക്കുക.\",\n    \"settings.security.OIDCName\": \"പ്രൊവൈഡർ പേര്\",\n    \"settings.security.OIDCRedirectURL\": \"ഓഓആത്വര്‍ഗ്ഗത്തിലേക്കായ മാലിന്റ്ആര്‍ട്ടിയിലേക്ക് തിരിയുക\",\n    \"settings.security.OIDCRedirectWarning\": \"ഇത് സഞ്ചാരം URL ഈഴവഴിക്കുന്നതിനായാണ് തോന്നുന്നത്. ''പൊതുവോക്ക്'' അമൂല്യമായ മൂല URL മാറ്റൂ.\",\n    \"settings.security.OIDCURL\": \"പ്രേഷകനമായ URL\",\n    \"settings.security.OIDCWarning\": \"ഓ ഐ ഡി സജ്ജീകരിച്ചാല്‍, സ്ഥിരതയായ പാസ്‌വേഡ് ലോഗിന്‍ അസാധുവാക്കപ്പെടുമെന്നാണ്. അസാധുവായ വിന്യാസം നിങ്ങളെ അടിമകളാക്കാന്‍ പ്രതിഫലിപ്പിക്കും.\",\n    \"settings.security.altchaComplexity\": \"Altcha സങ്കീർണ്ണത\",\n    \"settings.security.altchaComplexityHelp\": \"കൂടുതൽ വിലകൾ മികച്ച സുരക്ഷ നൽകുന്നു, പക്ഷേ പരിഹരിക്കൽ മന്ദഗതിയിലാണ് (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com സൈറ്റ്‌കീ\",\n    \"settings.security.captchaKeyHelp\": \"കീ ലഭിക്കാൻ www.hcaptcha.com സന്ദര്‍ശിക്കുക.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com രഹസ്യം\",\n    \"settings.security.enableCaptcha\": \"CAPTCHA സജ്ജീകരിക്കുക\",\n    \"settings.security.enableCaptchaHelp\": \"പൊതു ചേര്‍ക്കല്‍ ഫോംയില്‍ CAPTCHA സജ്ജീകരിക്കുക.\",\n    \"settings.security.enableOIDC\": \"ഓഐഡിസി എസ്എസ്ഒ സജ്ജീകരിക്കുക\",\n    \"settings.security.name\": \"സുരക്ഷ\",\n    \"settings.smtp.customHeaders\": \"ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ\",\n    \"settings.smtp.customHeadersHelp\": \"ഈ സേർവറിൽ നിന്നും അയക്കുന്ന എല്ലാ ഈ-മെയിലിലും ഉണ്ടാകേണ്ട ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ. ഉദാഹരണം: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"പ്രവർത്തനക്ഷമമാക്കി\",\n    \"settings.smtp.heloHost\": \"HELO ഹോസ്റ്റ് നേയിം\",\n    \"settings.smtp.heloHostHelp\": \"ഐച്ഛികമാണ്. ചില SMTP സേർവ്വറുകൾക്ക് ഹോസ്റ്റ് നേയിമിൽ FQDN വേണ്ടിവരാം. HELLO യ്ക്ക് `localhost` ഉപയോഗിക്കും. ഹോസ്റ്റ് നേയിം ഇഷ്ടാനുസൃതമാക്കാൻ ഇത് സജ്ജമാക്കുക\",\n    \"settings.smtp.name\": \"എസ്.എം.ടി.പി\",\n    \"settings.smtp.retries\": \"പുനഃശ്രമങ്ങൾ\",\n    \"settings.smtp.retriesHelp\": \"സന്ദേശമയ്ക്കുന്നത് പരാജയപ്പെട്ടാൽ എത്ര തവണ വീണ്ടും ശ്രമിക്കണം.\",\n    \"settings.smtp.sendTest\": \"ഇ-മെയിൽ അയക്കുക\",\n    \"settings.smtp.setCustomHeaders\": \"ഇഷ്‌ടാനുസൃത തലക്കെട്ടുകൾ നൽകുക\",\n    \"settings.smtp.testConnection\": \"കണക്ഷൻ പരീക്ഷിക്കുക\",\n    \"settings.smtp.testEnterEmail\": \"പരീക്ഷിച്ചുനോക്കാൻ പാസ്‌വേഡ് നൽകുക\",\n    \"settings.smtp.toEmail\": \"അയക്കുന്ന ഇ-മെയിൽ വിലാസം\",\n    \"settings.title\": \"ക്രമീകരണങ്ങൾ\",\n    \"settings.updateAvailable\": \"ഒരു പുതിയ അപ്‌ഡേറ്റ് {version} ലഭ്യമാണ്.\",\n    \"subscribers.activity\": \"പ്രവർത്തനം\",\n    \"subscribers.advancedQuery\": \"വിപുലമായത്\",\n    \"subscribers.advancedQueryHelp\": \"വരിക്കാരുടെ വിവരങ്ങൾ മനസിലാക്കുന്നതിനായുള്ള ഭാഗികമായ SQL പ്രയേഗം\",\n    \"subscribers.attribsHelp\": \"ജേസൺ മാപ്പായി ആട്രിബ്യൂട്ടുകൾ നിർവ്വചിക്കുക. ഉദാഹരണത്തിന്:\",\n    \"subscribers.blocklistedHelp\": \"തടയുന്ന പട്ടികയിലുള്ള വരിക്കാർക്ക് ഇ-മെയിലുകളൊന്നും അയക്കില്ല. | തടയുന്ന പട്ടികയിലുള്ള വരിക്കാർ ഇ-മെയിലുകളൊന്നും സ്വീകരിക്കില്ല\",\n    \"subscribers.confirmBlocklist\": \"വരിക്കാരനെ തടയുന്ന പട്ടികയിൽ ചേർക്കട്ടേ? | {num} വരിക്കാരേ തടയുന്ന പട്ടികയിൽ ചേർക്കട്ടേ?\",\n    \"subscribers.confirmDelete\": \"വരിക്കാരനെ ഇല്ലാതാക്കട്ടെ? | {num} വരിക്കാരേ ഇല്ലാതാക്കട്ടെ?\",\n    \"subscribers.confirmExport\": \"വരിക്കാരനെ എക്സ്പോർട്ട് ചെയ്യട്ടേ? | {num} വരിക്കാരെ എക്സ്പോർട്ട് ചെയ്യട്ടേ?\",\n    \"subscribers.domainBlocklisted\": \"ഇമെയിൽ ഡൊമെയ്‌ൻ ബ്ലാക്ക്‌ലിസ്റ്റ് ചെയ്‌തിരിക്കുന്നു.\",\n    \"subscribers.downloadData\": \"ഡാറ്റ ഡൗൺലോഡുചെയ്യുക\",\n    \"subscribers.email\": \"ഇ-മെയിൽ\",\n    \"subscribers.emailExists\": \"ഇ-മെയിൽ നേരത്തേതന്നെ ഉള്ളതാണ്\",\n    \"subscribers.errorBlocklisting\": \"വരിക്കാരെ തടയുന്ന പട്ടികയിൽ പെടുത്തുന്നതിൽ പരാജയപ്പേട്ടു: {error}\",\n    \"subscribers.errorNoIDs\": \"ഐഡികളൊന്നും നൽകിയിട്ടില്ല\",\n    \"subscribers.errorNoListsGiven\": \"ലിസ്റ്റുകളോന്നും നൽകിയിട്ടില്ല\",\n    \"subscribers.errorPreparingQuery\": \"വരിക്കാരന്റെ ചോദ്യം തയാറാക്കുന്നതിൽ പരാജയപ്പെട്ടു: {error}\",\n    \"subscribers.errorSendingOptin\": \"ഓപ്റ്റ്-ഇൻ ഇ-മെയിൽ അയക്കുന്നത് പരാജയപ്പെട്ടു\",\n    \"subscribers.export\": \"എക്സ്പോർട്ട്\",\n    \"subscribers.invalidAction\": \"നടപടി അസാധുവാണ്\",\n    \"subscribers.invalidEmail\": \"ഇ-മെയിൽ അസാധുവാണ്\",\n    \"subscribers.invalidJSON\": \"ആട്രിബ്യൂട്ടുകളിലെ ജേസൺ അസാധുവാണ്\",\n    \"subscribers.invalidName\": \"പേര് അസാധുവാണ്\",\n    \"subscribers.listChangeApplied\": \"വരുത്തിയ മാറ്റങ്ങൾ കാണിയ്ക്കുക\",\n    \"subscribers.lists\": \"ലിസ്റ്റുകൾ\",\n    \"subscribers.listsHelp\": \"സ്വമേധയാ വരിക്കാരല്ലാതായവരെ ലിസ്റ്റിൽനിന്നും നീക്കം ചെയ്യാനാകില്ല.\",\n    \"subscribers.listsPlaceholder\": \"വരിക്കാരൻ അംഗമായ ലിസ്റ്റുകൾ\",\n    \"subscribers.manageLists\": \"ലിസ്റ്റ് കൈകാര്യം ചെയ്യുക\",\n    \"subscribers.markUnsubscribed\": \"വരിക്കാരനല്ലെന്ന് അടയാളപ്പെടുത്തുക\",\n    \"subscribers.newSubscriber\": \"പുതിയ വരിക്കാരൻ\",\n    \"subscribers.numSelected\": \"വരിക്കാരനെ തിരഞ്ഞെടുത്തു | {num} വരിക്കാരെ തിരഞ്ഞെടുത്തു\",\n    \"subscribers.optinSubject\": \"വരിക്കാരനാകുന്നത് തീർപ്പാക്കുക\",\n    \"subscribers.preconfirm\": \"Pre-confirm subscriptions\",\n    \"subscribers.preconfirmHelp\": \"ഓപ്റ്റ്-ഇൻ ഇ-മെയിലുകൾ അയയ്‌ക്കരുത് കൂടാതെ ലിസ്‌റ്റിലെ എല്ലാ വരിക്കാരെയും 'വരിക്കാരായി' എന്ന് അടയാളപ്പെടുത്തുക.\",\n    \"subscribers.query\": \"ചോദ്യം\",\n    \"subscribers.queryPlaceholder\": \"പേരോ ഇ-മെയിൽ വിലാസമോ\",\n    \"subscribers.reset\": \"പുനഃസജ്ജമാക്കുക\",\n    \"subscribers.selectAll\": \"{num} എല്ലാം തിരഞ്ഞടുക്കുക\",\n    \"subscribers.sendOptinConfirm\": \"ഓപ്റ്റ്-ഇൻ സ്ഥിരീകരണം അയയ്ക്കുക\",\n    \"subscribers.sentOptinConfirm\": \"ഓപ്റ്റ്-ഇൻ സ്ഥിരീകരണം അയച്ചു\",\n    \"subscribers.status.blocklisted\": \"തടയുന്ന പട്ടികയിൽ ചേർത്തു\",\n    \"subscribers.status.confirmed\": \"തീ‍ർപ്പാക്കിയത്\",\n    \"subscribers.status.enabled\": \"പ്രവർത്തനക്ഷമാക്കി\",\n    \"subscribers.status.subscribed\": \"വരിക്കാരനായി\",\n    \"subscribers.status.unconfirmed\": \"തീർച്ചപ്പെടുത്താത്തത്\",\n    \"subscribers.status.unsubscribed\": \"വരിക്കാരനല്ലാതായി\",\n    \"subscribers.subscribersDeleted\": \"വരിക്കാരനെ നീക്കം ചെയ്തു | {num} വരിക്കാരെ നീക്കം ചെയ്തു\",\n    \"templates.cantDeleteDefault\": \"സ്ഥിരസ്ഥിതിയിലുള്ള ടെംപ്ലേറ്റ് നീക്കം ചെയ്യാനാകില്ല\",\n    \"templates.default\": \"സ്ഥിരസ്ഥിതി\",\n    \"templates.dummyName\": \"ഡമ്മി ക്യാമ്പേയ്ൻ\",\n    \"templates.dummySubject\": \"ഡമ്മി ക്യാമ്പേയ്ന്റെ വിഷയം\",\n    \"templates.errorCompiling\": \"ടെംപ്ലേറ്റ് സംഗ്രഹിക്കുന്നതിൽ പിഴവുണ്ടായി: {error}\",\n    \"templates.errorRendering\": \"ടെംപ്ലേറ്റ് ചിത്രീകരിയ്ക്കുന്നതിൽ പിഴവുണ്ടായി: {error}\",\n    \"templates.fieldInvalidName\": \"`name` ന്റെ ദൈർഘ്യം അസാധുവാണ്.\",\n    \"templates.makeDefault\": \"സ്ഥിരസ്ഥിതിയിലുള്ളതാക്കുക\",\n    \"templates.newTemplate\": \"പുതിയ ടെംപ്ലേറ്റ്\",\n    \"templates.placeholderHelp\": \"{placeholder} എന്ന പ്ലെയ്‌സ്‌ഹോൾഡർ ടെംപ്ലേറ്റിൽ ഒരിക്കലെങ്കിലും വരണം.\",\n    \"templates.preview\": \"പ്രിവ്യൂ\",\n    \"templates.rawHTML\": \"HTML\",\n    \"templates.subject\": \"വിഷയം\",\n    \"templates.typeCampaignHTML\": \"ക്യാമ്പെയ്ൻ / HTML\",\n    \"templates.typeCampaignVisual\": \"ക്യാമ്പെയ്ൻ / വിജയല്\",\n    \"templates.typeTransactional\": \"ട്രാൻസാക്ഷണൽ\",\n    \"users.apiOneTimeToken\": \"അപി പ്രവേശ ടോക്കനെ ഇപ്പോള്‍ പകർത്തൂ. അത് പുതുവും കാണപ്പെടാനില്ല.\",\n    \"users.cantDeleteRole\": \"ഉപയോക്താവ് ഉപയോഗത്തിലാക്കിയ പങ്ക് ഒഴിവാക്കാനാവില്ല.\",\n    \"users.firstTime\": \"ഇത് പുതിയതായി ഇൻസ്റ്റാള്‍ ചെയ്ത ആകൗശലം അകൗണെഡ്ജ് ഉപയോക്താവായിരിക്കുന്നു. സൂപ്പർ അഡ്മിൻ അക്കൗണ്ടിന് ഉപയോഗിക്കുകയും പാസ്‌വേഡ് തിരഞ്ഞെടുക്കുകയും ചെയ്യുക.\",\n    \"users.forgotPassword\": \"പാസ്‌വേഡ് മറന്നുപോയോ?\",\n    \"users.invalidLogin\": \"അസാധുവായ ലോഗിന്‍ അല്ലെങ്കിൽ പാസ്‌വേഡ്\",\n    \"users.invalidPassword\": \"അസാധുവായ പാസ്‌വേഡ്\",\n    \"users.invalidRequest\": \"അസാധുവായ പ്രവൃത്തിയുള്ള അനുമതിയുണ്ട്\",\n    \"users.invalidResetLink\": \"അസാധുവായ അല്ലെങ്കിൽ കാലാവധി പൂർത്തിയായ പുനരാരംഭ ലിങ്ക്\",\n    \"users.lastLogin\": \"അവസാന ലോഗിന്‍\",\n    \"users.listPerms\": \"പട്ടിക അനുമതികള്‍\",\n    \"users.listPermsWarning\": \"എല്ലാവരുടെയും യാത്രൊപികള്‍:മാര്‍പ്പുകള്‍:മാര്‍പ്പുകള്‍പ്പൂര്‍ണമാക്കുന്നുവെന്നുള്ളതാണ് പ്രവര്‍ത്തിപ്പിക്കുന്നത്\",\n    \"users.listRole\": \"പട്ടികപ്രവർത്തനം | പട്ടികപ്രവർത്തനം\",\n    \"users.listRoles\": \"പട്ടികപ്രവർത്തനങ്ങൾ\",\n    \"users.login\": \"പ്രവേശിക്കുക\",\n    \"users.loginOIDC\": \"{name} മധ്യത്തേക്ക് ലോഗിന്‍\",\n    \"users.logout\": \"പുറത്തുകടക്കുക\",\n    \"users.needSuper\": \"ഉപയോക്താക്കളെ(s) അപ്‌ഡേറ്റ് ചെയ്യുന്നതിന് കഴിയില്ല. അതിനായാണ് അത്യാവശ്യമായി അക്കൗണ്ടുകളിൽ കുറവ് ഒരു സൂപ്പർ അഡ്മിൻ ഉണ്ടായിരിക്കേണ്ടത്.\",\n    \"users.newListRole\": \"പുതിയ പട്ടികപ്രവർത്തനം\",\n    \"users.newPassword\": \"പുതിയ പാസ്‌വേഡ്\",\n    \"users.newUser\": \"പുതിയ ഉപയോക്താവ്\",\n    \"users.newUserRole\": \"പുതിയ ഉപയോക്താവ് പങ്ക്\",\n    \"users.password\": \"പാസ്‌വേഡ്\",\n    \"users.passwordEnable\": \"പാസ്‌വേഡ് ലോഗിന്‍ സജ്ജീകരിക്കുക\",\n    \"users.passwordMismatch\": \"പാസ്‌വേഡുകള്‍ പൊരുത്തപ്പെടാനില്ല\",\n    \"users.passwordRepeat\": \"പാസ്‌വേഡ് മാറ്റുക\",\n    \"users.perms\": \"അനുമതികൾ\",\n    \"users.profile\": \"പ്രൊഫൈല്‍\",\n    \"users.resetLinkSent\": \"അക്കൌണ്ട് സജീവമാണെങ്കിൽ, നിങ്ങൾ പാസ്‌വേഡ് പുനരാരംഭ ഇമെയിൽ ലഭിക്കും.\",\n    \"users.resetPassword\": \"പാസ്‌വേഡ് പുനരാരംഭിക്കുക\",\n    \"users.role\": \"പങ്ക് | പങ്കുകള്‍\",\n    \"users.roleGroup\": \"ഗ്രൂപ്പ്\",\n    \"users.roles\": \"പങ്കുകള്‍\",\n    \"users.status.disabled\": \"അപ്രാപ്തമാക്കി\",\n    \"users.status.enabled\": \"സജീവമാക്കി\",\n    \"users.totpCode\": \"TOTP കോഡ്\",\n    \"users.totpCodeHelp\": \"നിങ്ങളുടെ അധികാരിക ആപ്പിൽ നിന്ന് 6-അക്ഷര കോഡ് നൽകുക\",\n    \"users.totpScanQR\": \"Ente അല്ലെങ്കിൽ Google Authenticator പോലെയുള്ള നിങ്ങളുടെ അധികാരിക ആപ്പ് ഉപയോഗിച്ച് QR കോഡ് സ്കാൻ ചെയ്ത് താഴെ TOTP കോഡ് നൽകുക.\",\n    \"users.totpSecret\": \"രഹസ്യ കീ\",\n    \"users.twoFA\": \"രണ്ട്-ഘടക അധികാരം\",\n    \"users.twoFAAlreadyEnabled\": \"രണ്ട്-ഘടക അധികാരം ഇതിനകം പ്രവർത്തനസജ്ജമാണ്.\",\n    \"users.twoFAEnabled\": \"രണ്ട്-ഘടക അധികാരം പ്രവർത്തനസജ്ജമാണ്\",\n    \"users.twoFAEnabledDesc\": \"നിങ്ങളുടെ അക്കൌണ്ട് {type} 2FA ഉപയോഗിച്ച് സംരക്ഷിതമാണ്\",\n    \"users.twoFANotEnabled\": \"നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് പ്രവേശിക്കുമ്പോൾ അധിക സുരക്ഷയ്ക്കായി 2FA പ്രവർത്തനസജ്ജമാക്കുക.\",\n    \"users.type\": \"തരം\",\n    \"users.type.api\": \"എപിഐ\",\n    \"users.type.super\": \"സൂപ്പർ അഡ്മിൻ\",\n    \"users.type.user\": \"ഉപയോക്താവ്\",\n    \"users.userRole\": \"ഉപയോക്താവ് പങ്ക് | ഉപയോക്താവ് പങ്കുകള്‍\",\n    \"users.userRoles\": \"ഉപയോക്താവ് പങ്കുകള്‍\",\n    \"users.username\": \"ഉപയോക്തൃനാമം\",\n    \"users.usernameHelp\": \"പാസ്‌വേഡ് ലോഗിനുമായി ഉപയോഗിക്കുന്നു\"\n}\n"
  },
  {
    "path": "i18n/nl.json",
    "content": "{\n    \"_.code\": \"nl\",\n    \"_.name\": \"Nederlands (nl)\",\n    \"admin.errorMarshallingConfig\": \"Fout bij lezen configuratie: {error}\",\n    \"analytics.count\": \"Aantal\",\n    \"analytics.fromDate\": \"Van\",\n    \"analytics.invalidDates\": \"Ongeldige `van` of `tot` datums.\",\n    \"analytics.isUnique\": \"De telling zijn uniek per abonnee.\",\n    \"analytics.links\": \"Koppelingen\",\n    \"analytics.nonUnique\": \"De tellingen zijn niet uniek omdat het volgen van individuele abonnees is uitgeschakeld.\",\n    \"analytics.title\": \"Analyse\",\n    \"analytics.toDate\": \"Tot\",\n    \"bounces.complaint\": \"Klacht\",\n    \"bounces.hard\": \"Hard\",\n    \"bounces.soft\": \"Zacht\",\n    \"bounces.source\": \"Bron\",\n    \"bounces.unknownService\": \"Onbekende service.\",\n    \"bounces.view\": \"Zie bounces\",\n    \"campaigns.addAltText\": \"Voeg alternatieve tekst zonder opmaak toe\",\n    \"campaigns.addAttachments\": \"Bijlagen toevoegen\",\n    \"campaigns.archive\": \"Archiveren\",\n    \"campaigns.archiveEnable\": \"Publiceren naar publiek archief\",\n    \"campaigns.archiveHelp\": \"Publiceer (lopende, gepauzeerde, afgeronde) het campange bericht naar het publiek archief.\",\n    \"campaigns.archiveMeta\": \"Campagne metadata\",\n    \"campaigns.archiveMetaHelp\": \"Dummy-abonneegegevens om te gebruiken in het openbare bericht, inclusief naam, e-mail en eventuele optionele attributen die in het campagnebericht of de sjabloon worden gebruikt.\",\n    \"campaigns.archiveSlug\": \"URL-slug\",\n    \"campaigns.archiveSlugHelp\": \"Een korte naam voor de pagina die gebruikt wordt in de openbare URL. Bijv: mijn-nieuwsbrief-editie-2\",\n    \"campaigns.attachments\": \"Bijlagen\",\n    \"campaigns.attribsHelp\": \"Aangepast JSON-object {} attributen voor deze campagne. Gebruik in sjabloon met {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Kan een lopende of afgelopen campagne niet updaten.\",\n    \"campaigns.clicks\": \"Kliks\",\n    \"campaigns.confirmDelete\": \"Verwijder {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Dit overschrijft alle inhoud. Doorgaan?\",\n    \"campaigns.confirmSchedule\": \"Deze campagne zal automatisch starten op het geplande tijdstip. Nu inplannen?\",\n    \"campaigns.confirmSwitchFormat\": \"De inhoud kan opmaak verliezen. Doorgaan?\",\n    \"campaigns.content\": \"Inhoud\",\n    \"campaigns.contentHelp\": \"Inhoud hier\",\n    \"campaigns.continue\": \"Hervatten\",\n    \"campaigns.copyOf\": \"Kopie van {name}\",\n    \"campaigns.customHeadersHelp\": \"Array van aangepaste headers om toe te voegen aan uitgaande berichten. bv: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Datum en tijd\",\n    \"campaigns.ended\": \"Beëindigd\",\n    \"campaigns.errorSendTest\": \"Fout bij verzenden test: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Fout bij het compileren van campagne-inhoud: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Ongeldige afzender.\",\n    \"campaigns.fieldInvalidListIDs\": \"Ongeldige lijst IDs.\",\n    \"campaigns.fieldInvalidMessenger\": \"Onbekende messenger {name}.\",\n    \"campaigns.fieldInvalidName\": \"Ongeldige lengte voor naam.\",\n    \"campaigns.fieldInvalidSendAt\": \"Geplande datum moet in de toekomst zijn.\",\n    \"campaigns.fieldInvalidSubject\": \"Ongeldige lengte voor onderwerp.\",\n    \"campaigns.format\": \"Formaat\",\n    \"campaigns.formatHTML\": \"Formatteer HTML\",\n    \"campaigns.fromAddress\": \"Afzender\",\n    \"campaigns.fromAddressPlaceholder\": \"Uw Naam <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Visuele sjabloon importeren\",\n    \"campaigns.invalid\": \"Ongeldige campagne\",\n    \"campaigns.invalidCustomHeaders\": \"Ongeldige custom headers: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Campagne heeft een datum nodig om ingepland te worden.\",\n    \"campaigns.newCampaign\": \"Nieuwe campagne\",\n    \"campaigns.noKnownSubsToTest\": \"Geen abonnees om mee te testen.\",\n    \"campaigns.noOptinLists\": \"Geen opt-in lijsten gevonden om een campagne te maken.\",\n    \"campaigns.noSubs\": \"Er zijn geen abonnees in de geselecteerde lijsten om een campagne te maken.\",\n    \"campaigns.noSubsToTest\": \"Er zijn geen abonnees om mee te testen.\",\n    \"campaigns.notFound\": \"Campagne niet gevonden.\",\n    \"campaigns.onlyActiveCancel\": \"Alleen lopende campagnes kunnen stopgezet worden.\",\n    \"campaigns.onlyActivePause\": \"Alleen lopende campagnes kunnen gepauzeerd worden.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Alleen concept campagnes kunnen ingepland worden.\",\n    \"campaigns.onlyPausedDraft\": \"Alleen gepauzeerde en concept campagnes kunnen gestart worden.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Aleen geplande campagnes kunnen worden opgeslagen als concept.\",\n    \"campaigns.pause\": \"Pauzeer\",\n    \"campaigns.plainText\": \"Tekst zonder opmaak\",\n    \"campaigns.preview\": \"Voorbeeld\",\n    \"campaigns.progress\": \"Voortgang\",\n    \"campaigns.queryPlaceholder\": \"Naam of onderwerp\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML code\",\n    \"campaigns.removeAltText\": \"Verwijder plain text bericht\",\n    \"campaigns.richText\": \"Tekst met opmaak\",\n    \"campaigns.schedule\": \"Plan campagne\",\n    \"campaigns.scheduled\": \"Gepland\",\n    \"campaigns.send\": \"Verzenden\",\n    \"campaigns.sendLater\": \"Verzend later\",\n    \"campaigns.sendTest\": \"Verzend testbericht\",\n    \"campaigns.sendTestHelp\": \"Druk op Enter na het typen van een e-mailadres om meerdere ontvangers toe te voegen. De ontvangers moeten abonnee zijn.\",\n    \"campaigns.sendToLists\": \"Lijsten om naar te verzenden\",\n    \"campaigns.sent\": \"Verzonden\",\n    \"campaigns.start\": \"Start campagne\",\n    \"campaigns.started\": \"\\\"{name}\\\" is gestart\",\n    \"campaigns.startedAt\": \"Gestart\",\n    \"campaigns.stats\": \"Statistieken\",\n    \"campaigns.status.cancelled\": \"Gestopt\",\n    \"campaigns.status.draft\": \"Concept\",\n    \"campaigns.status.finished\": \"Afgelopen\",\n    \"campaigns.status.paused\": \"Gepauzeerd\",\n    \"campaigns.status.running\": \"Lopend\",\n    \"campaigns.status.scheduled\": \"Gepland\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" is {status}\",\n    \"campaigns.subject\": \"Onderwerp\",\n    \"campaigns.templatingRef\": \"Sjabloonreferentie\",\n    \"campaigns.testEmails\": \"E-mails\",\n    \"campaigns.testSent\": \"Testbericht verzonden\",\n    \"campaigns.timestamps\": \"Tijdstippen\",\n    \"campaigns.trackLink\": \"Traceerbare link\",\n    \"campaigns.unSchedule\": \"Inplanning annuleren\",\n    \"campaigns.views\": \"Bekeken\",\n    \"campaigns.visual\": \"Visueel\",\n    \"dashboard.campaignViews\": \"Campagne weergegaven\",\n    \"dashboard.linkClicks\": \"Linkkliks\",\n    \"dashboard.messagesSent\": \"Berichten verzonden\",\n    \"dashboard.orphanSubs\": \"Wezen\",\n    \"email.data.info\": \"In bijlage vindt u een kopie van alle data verzameld over u in JSON formaat. Het kan beken worden met een tekstverwerkingsprogramma.\",\n    \"email.data.title\": \"Uw data\",\n    \"email.forgotPassword.button\": \"Wachtwoord opnieuw instellen\",\n    \"email.forgotPassword.info\": \"Als je dit niet hebt aangevraagd, kun je deze e-mail veilig negeren. Deze koppeling verloopt over 30 minuten.\",\n    \"email.forgotPassword.subject\": \"Stel je wachtwoord opnieuw in\",\n    \"email.optin.confirmSub\": \"Bevestig inschrijving\",\n    \"email.optin.confirmSubHelp\": \"Bevestig uw inschrijving door op onderstaande knop te klikken.\",\n    \"email.optin.confirmSubInfo\": \"U bent aan volgende lijsten toegevoegd:\",\n    \"email.optin.confirmSubTitle\": \"Bevestig inschrijving\",\n    \"email.optin.confirmSubWelcome\": \"Hallo\",\n    \"email.optin.privateList\": \"Privélijst\",\n    \"email.status.campaignReason\": \"Reden\",\n    \"email.status.campaignSent\": \"Verzonden\",\n    \"email.status.campaignUpdateTitle\": \"Campagne-update\",\n    \"email.status.importFile\": \"Bestand\",\n    \"email.status.importRecords\": \"Records\",\n    \"email.status.importTitle\": \"Importeerupdate\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Uitschrijven\",\n    \"email.unsubHelp\": \"Wilt u deze e-mails niet meer ontvangen?\",\n    \"email.viewInBrowser\": \"Bekijk in browser\",\n    \"forms.formHTML\": \"Formulier HTML\",\n    \"forms.formHTMLHelp\": \"Gebruik de volgende HTML om een inschrijvingsformulier te tonen op een externe webpagina. Het formulier moet het email veld en een of meer `l` (lijst UUID) velden bevatten. Het naam veld is optioneel.\",\n    \"forms.noPublicLists\": \"Er zijn geen publieke lijsten om formulieren te genereren.\",\n    \"forms.publicLists\": \"Publieke lijsten\",\n    \"forms.publicSubPage\": \"Publieke inschrijvingspagina\",\n    \"forms.selectHelp\": \"Selecteer lijsten om aan het formulier toe te voegen.\",\n    \"forms.title\": \"Formulieren\",\n    \"globals.buttons.add\": \"Toevoegen\",\n    \"globals.buttons.addNew\": \"Nieuwe toevoegen\",\n    \"globals.buttons.back\": \"Terug\",\n    \"globals.buttons.cancel\": \"Stop\",\n    \"globals.buttons.clear\": \"Verwijder\",\n    \"globals.buttons.clearAll\": \"Verwijder alles\",\n    \"globals.buttons.clone\": \"Dupliceren\",\n    \"globals.buttons.close\": \"Sluiten\",\n    \"globals.buttons.continue\": \"Doorgaan\",\n    \"globals.buttons.copy\": \"Kopiëren\",\n    \"globals.buttons.delete\": \"Verwijder\",\n    \"globals.buttons.deleteAll\": \"Verwijder alles\",\n    \"globals.buttons.disable\": \"Uitschakelen\",\n    \"globals.buttons.edit\": \"Bewerken\",\n    \"globals.buttons.enable\": \"Inschakelen\",\n    \"globals.buttons.enabled\": \"Ingeschakeld\",\n    \"globals.buttons.insert\": \"Invoegen\",\n    \"globals.buttons.learnMore\": \"Meer leren\",\n    \"globals.buttons.manage\": \"Beheren\",\n    \"globals.buttons.more\": \"Meer\",\n    \"globals.buttons.new\": \"Nieuw\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Verwijder\",\n    \"globals.buttons.save\": \"Opslaan\",\n    \"globals.buttons.saveChanges\": \"Wijzigingen opslaan\",\n    \"globals.buttons.toggleSelect\": \"Selectie omkeren\",\n    \"globals.buttons.view\": \"Bekijken\",\n    \"globals.days.0\": \"Zo\",\n    \"globals.days.1\": \"Zo\",\n    \"globals.days.2\": \"Ma\",\n    \"globals.days.3\": \"Di\",\n    \"globals.days.4\": \"Wo\",\n    \"globals.days.5\": \"Do\",\n    \"globals.days.6\": \"Vr\",\n    \"globals.days.7\": \"Za\",\n    \"globals.fields.createdAt\": \"Aangemaakt\",\n    \"globals.fields.description\": \"Beschrijving\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Naam\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Type\",\n    \"globals.fields.updatedAt\": \"Geüpdatet\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Weet u het zeker?\",\n    \"globals.messages.confirmDelete\": \"{num} {name} verwijderen?\",\n    \"globals.messages.confirmDiscard\": \"Veranderingen weggooien?\",\n    \"globals.messages.copied\": \"Gekopieerd\",\n    \"globals.messages.created\": \"\\\"{name}\\\" aangemaakt\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" verwijderd\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) verwijderd\",\n    \"globals.messages.done\": \"Klaar\",\n    \"globals.messages.emptyState\": \"Niks te zien hier\",\n    \"globals.messages.errorCreating\": \"Fout bij aanmaken {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Fout bij verwijderen {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Fout bij ophalen {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Een of meer IDs zijn ongeldig: {error}\",\n    \"globals.messages.errorUUID\": \"Fout bij generen UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Fout bij updaten {name}: {error}\",\n    \"globals.messages.internalError\": \"Interne serverfout\",\n    \"globals.messages.invalidData\": \"Ongeldige data\",\n    \"globals.messages.invalidFields\": \"Ongeldige velden: {name}\",\n    \"globals.messages.invalidID\": \"Ongeldige ID(s)\",\n    \"globals.messages.invalidUUID\": \"Ongeldige UUID(s)\",\n    \"globals.messages.invalidValue\": \"Ongeldige waarde\",\n    \"globals.messages.missingFields\": \"Ontbrekend(e) veld(en): {name}\",\n    \"globals.messages.notFound\": \"{name} niet gevonden\",\n    \"globals.messages.numSelected\": \"{num} geselecteerd\",\n    \"globals.messages.passwordChange\": \"Geef een nieuw wachtwoord in\",\n    \"globals.messages.passwordChangeFull\": \"Wis en voer het volledige wachtwoord opnieuw in bij '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Toegang geweigerd: {name}\",\n    \"globals.messages.selectAll\": \"Alles selecteren {num}\",\n    \"globals.messages.slowQueriesCached\": \"Langzame queries worden gecached. Sommige getallen op deze pagina zijn mogelijk niet up-to-date.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" geüpdatet\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Okt\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dec\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Maa\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Mei\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Uit\",\n    \"globals.terms.all\": \"Alle\",\n    \"globals.terms.analytics\": \"Analyse\",\n    \"globals.terms.attribs\": \"Attributen\",\n    \"globals.terms.bounce\": \"Bounce | Bounces\",\n    \"globals.terms.bounces\": \"Bounces\",\n    \"globals.terms.campaign\": \"Campagne | Campagnes\",\n    \"globals.terms.campaigns\": \"Campagnes\",\n    \"globals.terms.dashboard\": \"Dashboard\",\n    \"globals.terms.day\": \"Dag | Dagen\",\n    \"globals.terms.hour\": \"Uur | Uren\",\n    \"globals.terms.import\": \"Importeren\",\n    \"globals.terms.list\": \"Lijst | Lijsten\",\n    \"globals.terms.lists\": \"Lijsten\",\n    \"globals.terms.media\": \"Media | Media\",\n    \"globals.terms.messenger\": \"Messenger | Messengers\",\n    \"globals.terms.messengers\": \"Messengers\",\n    \"globals.terms.minute\": \"Minuut | Minuten\",\n    \"globals.terms.month\": \"Maand | Maanden\",\n    \"globals.terms.new\": \"Nieuw\",\n    \"globals.terms.none\": \"Geen\",\n    \"globals.terms.second\": \"Seconde | Seconden\",\n    \"globals.terms.settings\": \"Instellingen\",\n    \"globals.terms.subscriber\": \"Abonnee | Abonnees\",\n    \"globals.terms.subscribers\": \"Abonnees\",\n    \"globals.terms.subscriptions\": \"Abonnement | Abonnementen\",\n    \"globals.terms.tag\": \"Label | Labels\",\n    \"globals.terms.tags\": \"Labels\",\n    \"globals.terms.template\": \"Sjabloon | Sjablonen\",\n    \"globals.terms.templates\": \"Sjablonen\",\n    \"globals.terms.tx\": \"Transactioneel | Transactionele\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Gebruiker | Gebruikers\",\n    \"globals.terms.users\": \"Gebruikers\",\n    \"globals.terms.year\": \"Jaar | Jaren\",\n    \"import.alreadyRunning\": \"Er is al een importeeractie bezig. Wacht tot deze gedaan is of annuleer voor het opnieuw te proberen.\",\n    \"import.blocklist\": \"Geblokkeerd\",\n    \"import.csvDelim\": \"CSV scheidingsteken\",\n    \"import.csvDelimHelp\": \"Standaard scheidingsteken is komma.\",\n    \"import.csvExample\": \"Voorbeeld CSV\",\n    \"import.csvFile\": \"CSV- of ZIP-bestand\",\n    \"import.csvFileHelp\": \"Klik of sleep een CSV- of ZIP-bestand hierheen\",\n    \"import.errorCopyingFile\": \"Fout bij kopiëren bestand: {error}\",\n    \"import.errorProcessingZIP\": \"Fout bij behandelen ZIP-bestand: {error}\",\n    \"import.errorStarting\": \"Fout bij importeren: {error}\",\n    \"import.importDone\": \"Klaar\",\n    \"import.importStarted\": \"Importeren gestart\",\n    \"import.instructions\": \"Instructies\",\n    \"import.instructionsHelp\": \"Upload een CSV-bestand of een ZIP-bestand met een CSV-bestand om abonnees in bulk te importeren. Het CSV-bestand moet de volgende hoofdingen hebben met de exacte kolomnamen. attributes (optioneel) moet een geldige JSON-string zijn met dubbel ontsnapte aanhalingstekens.\",\n    \"import.invalidDelim\": \"Scheidingsteken moet een enkel karakter zijn.\",\n    \"import.invalidFile\": \"Ongeldig bestand: {error}\",\n    \"import.invalidMode\": \"Ongeldige modus\",\n    \"import.invalidParams\": \"Ongeldige parameters: {error}\",\n    \"import.invalidSubStatus\": \"Ongeldige inschrijvingsstatus\",\n    \"import.listSubHelp\": \"Lijsten om op in te schrijven.\",\n    \"import.mode\": \"Modus\",\n    \"import.overwriteSubStatus\": \"Abonnementsstatus overschrijven\",\n    \"import.overwriteSubStatusHelp\": \"Status van bestaande lijstabonnementen overschrijven\",\n    \"import.overwriteUserInfo\": \"Gebruikersgegevens overschrijven\",\n    \"import.overwriteUserInfoHelp\": \"Naam en attributen van bestaande abonnees overschrijven\",\n    \"import.recordsCount\": \"{num} / {total} records\",\n    \"import.stopImport\": \"Stop importeren\",\n    \"import.subscribe\": \"Inschrijven\",\n    \"import.subscribeWarning\": \"Bij overschrijven kunnen abonnees die zich hebben afgemeld weer worden ingeschreven. Doorgaan?\",\n    \"import.title\": \"Abonnees importeren\",\n    \"import.upload\": \"Opladen\",\n    \"lists.archived\": \"Gearchiveerd\",\n    \"lists.archivedHelp\": \"Archivering verbergt de lijsten van de lijstenpagina, campagnes en openbare formulieren. Het kan op elk moment gearchiveerd worden. Het is handig voor het verbergen van oude en zelden gebruikte lijsten.\",\n    \"lists.confirmDelete\": \"Bent u zeker? Dit verwijdert niet alle abonnees.\",\n    \"lists.confirmSub\": \"Bevestig de inschrijving(en) voor {name}\",\n    \"lists.invalidName\": \"Ongeldige naam\",\n    \"lists.newList\": \"Nieuwe lijst\",\n    \"lists.optin\": \"Opt-in\",\n    \"lists.optinHelp\": \"Dubbele opt-in verstuurt een e-mail naar de abonnee om te bevestigen. Bij dubbele opt-in-lijsten worden campagnes alleen naar bevestigde abonnees verstuurd.\",\n    \"lists.optinTo\": \"Opt-in voor {name}\",\n    \"lists.optins.double\": \"Dubbele opt-in\",\n    \"lists.optins.single\": \"Enkele opt-in\",\n    \"lists.sendCampaign\": \"Verzend campagne\",\n    \"lists.sendOptinCampaign\": \"Verzend opt-in campagne\",\n    \"lists.type\": \"Type\",\n    \"lists.typeHelp\": \"Iedereen kan zich inschrijven voor publieke lijsten en de naam van de lijst kan op publieke pagina's verschijnen.\",\n    \"lists.types.private\": \"Privé\",\n    \"lists.types.public\": \"Publiek\",\n    \"logs.title\": \"Logboeken\",\n    \"maintenance.database.title\": \"Database\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE geeft opslag vrij die door verwijderde rijen wordt gebruikt en versnelt de databaseprestaties op grote databases aanzienlijk. BELANGRIJK: Voor grote databases is dit een langzame, blokkeringsbewerking. Plan dit in om te draaien tijdens buiten kantooruren.\",\n    \"maintenance.help\": \"Sommige acties duren mogelijk even voordat ze afgerond zijn afhankelijk van de hoeveelheid data.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Onbevestigde opt-in abonnementen \",\n    \"maintenance.olderThan\": \"Ouder dan\",\n    \"maintenance.orphanHelp\": \"Wezen = abonnees zonder verbonden lijsten\",\n    \"maintenance.title\": \"Onderhoud\",\n    \"maintenance.unconfirmedSubs\": \"Onbevestigde abonnementen ouder dan {name} dagen.\",\n    \"media.errorReadingFile\": \"Fout bij lezen bestand: {error}\",\n    \"media.errorResizing\": \"Fout bij wijzigen formaat afbeelding: {error}\",\n    \"media.errorSavingThumbnail\": \"Fout bij opslaan thumbnail: {error}\",\n    \"media.errorUploading\": \"Fout bij opladen bestand: {error}\",\n    \"media.invalidFile\": \"Ongeldig bestand: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Bestandstype niet ondersteund ({type})\",\n    \"media.upload\": \"Opladen\",\n    \"media.uploadHelp\": \"Klik of sleep een of meer afbeeldingen naar hier\",\n    \"menu.allCampaigns\": \"Alle campagnes\",\n    \"menu.allLists\": \"Alle lijsten\",\n    \"menu.allSubscribers\": \"Alle abonnees\",\n    \"menu.dashboard\": \"Dashboard\",\n    \"menu.forms\": \"Formulieren\",\n    \"menu.import\": \"Importeer\",\n    \"menu.logs\": \"Logboeken\",\n    \"menu.maintenance\": \"Onderhoud\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Nieuwe aanmaken\",\n    \"menu.settings\": \"Instellingen\",\n    \"public.archiveEmpty\": \"Nog geen archiveerde berichten.\",\n    \"public.archiveTitle\": \"Archief van mailinglijst\",\n    \"public.blocklisted\": \"Permantent uitgeschreven\",\n    \"public.campaignNotFound\": \"Het e-mailbericht werd niet gevonden.\",\n    \"public.confirmOptinSubTitle\": \"Bevestig inschrijving\",\n    \"public.confirmSub\": \"Bevestig inschrijving\",\n    \"public.confirmSubInfo\": \"U bent aan volgende lijsten toegevoegd:\",\n    \"public.confirmSubTitle\": \"Bevestig\",\n    \"public.dataRemoved\": \"U inschrijving en alle gerelateerde data is verwijderd.\",\n    \"public.dataRemovedTitle\": \"Data verwijderd\",\n    \"public.dataSent\": \"Uw data is naar u ge-e-maild als bijlage.\",\n    \"public.dataSentTitle\": \"Data e-mailen\",\n    \"public.errorFetchingCampaign\": \"Fout bij ophalen e-mailbericht.\",\n    \"public.errorFetchingEmail\": \"E-mailbericht niet gevonden.\",\n    \"public.errorFetchingLists\": \"Fout bij ophalen lijsten. Probeer opnieuw.\",\n    \"public.errorProcessingRequest\": \"Fout bij behandelen verzoek. Probeer opnieuw.\",\n    \"public.errorTitle\": \"Fout\",\n    \"public.invalidCaptcha\": \"Ongeldige CAPTCHA.\",\n    \"public.invalidFeature\": \"Deze functie is niet beschikbaar\",\n    \"public.invalidLink\": \"Ongeldige link\",\n    \"public.managePrefs\": \"Beheer voorkeuren\",\n    \"public.managePrefsUnsub\": \"Deselecteer lijsten om u voor af te melden.\",\n    \"public.noListsAvailable\": \"Geen lijsten beschikbaar om in te schrijven\",\n    \"public.noListsSelected\": \"Geen geldige lijsten geselecteerd om op in te schrijven\",\n    \"public.noSubInfo\": \"Er zijn geen inschrijvingen om te bevestigen.\",\n    \"public.noSubTitle\": \"Geen inschrijvingen\",\n    \"public.notFoundTitle\": \"Niet gevonden\",\n    \"public.poweredBy\": \"Aangedreven door\",\n    \"public.prefsSaved\": \"Uw voorkeuren zijn opgeslagen.\",\n    \"public.privacyConfirmWipe\": \"Bent u zeker dat u al uw inschrijvingsdata permanent wil verwijderen?\",\n    \"public.privacyExport\": \"Exporteer uw data\",\n    \"public.privacyExportHelp\": \"Een kopie van uw data zal naar u ge-e-maild worden.\",\n    \"public.privacyTitle\": \"Privacy en data\",\n    \"public.privacyWipe\": \"Verwijder uw data\",\n    \"public.privacyWipeHelp\": \"Verwijder al uw inschrijvingen en gerelateerde gegevens permanent uit de database.\",\n    \"public.sub\": \"Inschrijven\",\n    \"public.subConfirmed\": \"Succesvol ingeschreven.\",\n    \"public.subConfirmedTitle\": \"Bevestigd\",\n    \"public.subName\": \"Naam (optioneel)\",\n    \"public.subNotFound\": \"Inschrijving niet gevonden.\",\n    \"public.subOptinPending\": \"Een e-mail is verzonden om uw inschrijving te bevestigen.\",\n    \"public.subPrivateList\": \"Privélijst\",\n    \"public.subTitle\": \"Inschrijven\",\n    \"public.unsub\": \"Uitschrijven\",\n    \"public.unsubFull\": \"Schrijf u ook uit voor alle toekomstige e-mails.\",\n    \"public.unsubHelp\": \"Wilt u uitschrijven van deze mailinglijst?\",\n    \"public.unsubTitle\": \"Uitschrijven\",\n    \"public.unsubbedInfo\": \"U bent met succes uitgeschreven.\",\n    \"public.unsubbedTitle\": \"Uitgeschreven\",\n    \"public.unsubscribeTitle\": \"Uitschrijven van mailinglijst\",\n    \"settings.appearance.adminHelp\": \"Aangepaste CSS en JavaScript om toe te passen op de admin UI.\",\n    \"settings.appearance.adminName\": \"Administrator\",\n    \"settings.appearance.customCSS\": \"Aangepaste CSS\",\n    \"settings.appearance.customJS\": \"Aangepaste JavaScript\",\n    \"settings.appearance.name\": \"Uiterlijk\",\n    \"settings.appearance.publicHelp\": \"Aangepaste CSS en JavaScript om toe te passen op de publieke pagina's\",\n    \"settings.appearance.publicName\": \"Publiek\",\n    \"settings.bounces.action\": \"Actie\",\n    \"settings.bounces.blocklist\": \"Geblokkeerd\",\n    \"settings.bounces.count\": \"Aantal bounces\",\n    \"settings.bounces.countHelp\": \"Aantal bounces per abonnee\",\n    \"settings.bounces.enable\": \"Bounce processing inschakelen\",\n    \"settings.bounces.enableForwardemail\": \"Forward Email inschakelen\",\n    \"settings.bounces.enableMailbox\": \"Bounce mailbox inschakelen\",\n    \"settings.bounces.enablePostmark\": \"Postmark inschakelen\",\n    \"settings.bounces.enableSES\": \"SES inschakelen\",\n    \"settings.bounces.enableSendgrid\": \"SendGrid inschakelen\",\n    \"settings.bounces.enableWebhooks\": \"Bounce webhooks inschakelen\",\n    \"settings.bounces.enabled\": \"Ingeschakeld\",\n    \"settings.bounces.folder\": \"Map\",\n    \"settings.bounces.folderHelp\": \"Naam van de IMAP map om te scannen. Bv.: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Forward Email-sleutel\",\n    \"settings.bounces.invalidScanInterval\": \"Bounce scan interval moet minstens 1 minuut zijn.\",\n    \"settings.bounces.name\": \"Bounces\",\n    \"settings.bounces.none\": \"Geen\",\n    \"settings.bounces.postmarkPassword\": \"Postmark-wachtwoord\",\n    \"settings.bounces.postmarkUsername\": \"Postmark-gebruikersnaam\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark stelt u in staat basisauthenticatie in te schakelen voor webhooks. Zorg ervoor dat u dezelfde referenties hier en in de instellingen van uw Postmark-webhook invoert.\",\n    \"settings.bounces.scanInterval\": \"Scaninterval\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval waarin de bounce mailbox gescanned moet worden voor bounces (s voor seconden, m voor minuten).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid sleutel\",\n    \"settings.bounces.type\": \"Type\",\n    \"settings.bounces.username\": \"Gebruikersnaam\",\n    \"settings.confirmRestart\": \"Zorg dat lopende campagnes gepauzeerd zijn. Herstarten?\",\n    \"settings.duplicateMessengerName\": \"Dubbele messenger naam: {name}\",\n    \"settings.errorEncoding\": \"Fout bij opslaan instellingen: {error}\",\n    \"settings.errorNoSMTP\": \"Minstens een SMTP blok moet ingeschakeld zijn/\",\n    \"settings.general.adminNotifEmails\": \"Admin notificatiemails\",\n    \"settings.general.adminNotifEmailsHelp\": \"Kommagescheiden lijst van e-mailadressen waar admin notificaties zoals importeerupdates, campagne voltooiing, fouten enz. naar moeten worden verzonden.\",\n    \"settings.general.checkUpdates\": \"Controleer op updates\",\n    \"settings.general.checkUpdatesHelp\": \"Controleer regelmatig voor nieuwe app releases en verwittig.\",\n    \"settings.general.enablePublicArchive\": \"Openbare archiefpagina voor mailinglijsten inschakelen\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publiceer campagnes waarvoor archivering is ingeschakeld op de openbare website.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Toon volledige inhoud in RSS-feed\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Toon de volledige e-mailinhoud in de RSS-feed. Als dit is uitgeschakeld, worden alleen de titel en link-elementen weergegeven.\",\n    \"settings.general.enablePublicSubPage\": \"Publieke inschrijvingspagina inschakelen.\",\n    \"settings.general.enablePublicSubPageHelp\": \"Laat een publieke inschrijvingspagina zien met alle publieke lijsten waarmee mensen zich kunnen inschrijven.\",\n    \"settings.general.faviconURL\": \"Favicon-URL\",\n    \"settings.general.faviconURLHelp\": \"(Optioneel) volledige URL naar het favicon om te laten zien op publieke pagina's zoals de uitschrijfpagina.\",\n    \"settings.general.fromEmail\": \"Standaard afzender e-mail\",\n    \"settings.general.fromEmailHelp\": \"Standaard afzender e-mail voor uitgaande campagnemails. Dit kan aangepast worden per campagne.\",\n    \"settings.general.language\": \"Taal\",\n    \"settings.general.logoURL\": \"Logo-URL\",\n    \"settings.general.logoURLHelp\": \"(Optioneel) volledige URL naar het logo om te tonen op gebruikersgerichte pagina's zoals de uitschrijfpagina.\",\n    \"settings.general.name\": \"Algemeen\",\n    \"settings.general.rootURL\": \"Root-URL\",\n    \"settings.general.rootURLHelp\": \"Publieke URL van de installatie (geen trailing slash).\",\n    \"settings.general.sendOptinConfirm\": \"Verzend opt-in bevestiging\",\n    \"settings.general.sendOptinConfirmHelp\": \"Verzend een opt-in bevestigingsmail als abonnees inschrijven via het publieke formulier of als ze door een administrator worden toegevoegd.\",\n    \"settings.general.siteName\": \"Site naam\",\n    \"settings.invalidMessengerName\": \"Ongeldige messenger naam.\",\n    \"settings.mailserver.authProtocol\": \"Authenticatieprotocol\",\n    \"settings.mailserver.host\": \"Host\",\n    \"settings.mailserver.hostHelp\": \"SMTP server hostadres.\",\n    \"settings.mailserver.idleTimeout\": \"Maximale wachttijd\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Hoe lang op nieuwe activeit gewacht moet worden voor een verbinding wordt gesloten en van de pool wordt verwijderd (s voor seconden, m voor minuten). \",\n    \"settings.mailserver.maxConns\": \"Max. # connecties\",\n    \"settings.mailserver.maxConnsHelp\": \"Maximum # concurrente connecties naar de server.\",\n    \"settings.mailserver.nameHelp\": \"Optionele unieke naam voor de SMTP-server. Moet de voorvoegsel email- hebben. Deze instelling maakt het mogelijk om de server specifiek te selecteren voor een campagne. Bijvoorbeeld: email-primary-server. Alfanumeriek / streepje.\",\n    \"settings.mailserver.password\": \"Wachtwoord\",\n    \"settings.mailserver.passwordHelp\": \"Invullen om te veranderen\",\n    \"settings.mailserver.port\": \"Poort\",\n    \"settings.mailserver.portHelp\": \"SMTP server port.\",\n    \"settings.mailserver.skipTLS\": \"TLS verificatie overslaan\",\n    \"settings.mailserver.skipTLSHelp\": \"Hostname check op het TLS certificaat overslaan.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"STARTTLS inschakelen.\",\n    \"settings.mailserver.username\": \"Gebruikersnaam\",\n    \"settings.mailserver.waitTimeout\": \"Wachttijd\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Hoe lang op nieuwe activeit gewacht moet worden voor een verbinding wordt gesloten en van de pool wordt verwijderd (s voor seconden, m voor minuten). \",\n    \"settings.maintenance.cron\": \"Cron-interval\",\n    \"settings.media.provider\": \"Provider\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Bucket pad\",\n    \"settings.media.s3.bucketPathHelp\": \"Pad in de bucket om bestanden op te laden. Standaard is /\",\n    \"settings.media.s3.bucketType\": \"Bucket-type\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privé\",\n    \"settings.media.s3.bucketTypePublic\": \"Publiek\",\n    \"settings.media.s3.key\": \"AWS-toegangssleutel\",\n    \"settings.media.s3.publicURL\": \"Aangepaste publieke URL (optioneel)\",\n    \"settings.media.s3.publicURLHelp\": \"Aangepast S3 domein om te gebruiken voor links naar afbeeldingen in plaats van de standaard S3 backend URL.\",\n    \"settings.media.s3.region\": \"Regio\",\n    \"settings.media.s3.secret\": \"AWS-toegangssleutelgeheim\",\n    \"settings.media.s3.uploadExpiry\": \"Upload vervaldatum\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Optioneel) TTL voor de gegenereerde, getekende URL. Enkel van toepassing voor privébuckets (s, m, h, d voor seconden, minuten, uren, dagen).\",\n    \"settings.media.s3.url\": \"S3-backend URL\",\n    \"settings.media.s3.urlHelp\": \"Enkel veranderen als u een custom S3-compatibele backend gebruikt zoals Minio.\",\n    \"settings.media.title\": \"Media-uploads\",\n    \"settings.media.upload.extensions\": \"Toegestane bestandsextensies\",\n    \"settings.media.upload.extensionsHelp\": \"Voeg '*' toe om alle extensies toe te staan\",\n    \"settings.media.upload.path\": \"Upload pad\",\n    \"settings.media.upload.pathHelp\": \"Pad naar de map waar media geüpload zal worden.\",\n    \"settings.media.upload.uri\": \"Upload URI\",\n    \"settings.media.upload.uriHelp\": \"Upload URI zichtbaar voor de buitenwereld. De media geüpload naar upload_path zal publiek beschikbaar zijn onder {root_url}, bijvoorbeeld, https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Max. connecties\",\n    \"settings.messengers.maxConnsHelp\": \"Maximum concurrente connecties naar de server.\",\n    \"settings.messengers.messageSaved\": \"Instellingen opgeslagen. App wordt herstart...\",\n    \"settings.messengers.name\": \"Messengers\",\n    \"settings.messengers.nameHelp\": \"Bv: my-sms. Alphanumerisch / koppelteken.\",\n    \"settings.messengers.password\": \"Wachtwoord\",\n    \"settings.messengers.retries\": \"Nieuwe pogingen\",\n    \"settings.messengers.retriesHelp\": \"Aantal keer om opnieuw te proberen als een bericht mislukt.\",\n    \"settings.messengers.skipTLSHelp\": \"Hostname check op het TLS certificaat overslaan.\",\n    \"settings.messengers.timeout\": \"Maximale wachttijd\",\n    \"settings.messengers.timeoutHelp\": \"Hoe lang op nieuwe activeit gewacht moet worden voor een verbinding wordt gesloten en van de pool wordt verwijderd (s voor seconden, m voor minuten). \",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Root URL van de Postback server.\",\n    \"settings.messengers.username\": \"Gebruikersnaam\",\n    \"settings.needsRestart\": \"Instellingen veranderd. Pauzeer alle lopende campagnes en herstart de app\",\n    \"settings.performance.batchSize\": \"Batchgrootte\",\n    \"settings.performance.batchSizeHelp\": \"Het aantal abonnees om per iteratie uit de database te lezen. Elke iteratie leest abonnees uit de database, verzend berichten naar hen, en gaat dan verder naar de volgende iteratie met de volgende batch. Dit aantal zou hoger moeten zijn dan de maximale doorvoer (Gelijktijdig * Berichtensnelheid).\",\n    \"settings.performance.cacheSlowQueries\": \"Langzame databasequeries cachen\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Schakel dit alleen in op grote databases die aanzienlijk zijn vertraagd. Caches lijstabonneeaantallen, dashboardstatistieken, etc.\",\n    \"settings.performance.concurrency\": \"Gelijktijdig\",\n    \"settings.performance.concurrencyHelp\": \"Maximum aantal workers (threads) die gelijktijdig proberen berichten te versturen.\",\n    \"settings.performance.maxErrThreshold\": \"Maximum aantal fouten\",\n    \"settings.performance.maxErrThresholdHelp\": \"Het aantal fouten (bv.: SMTP-timeouts tijdens het e-mailen) dat een lopende campagne verdraagt voor het gepauzeerd wordt voor handmatig onderzoek of ingrijpen. Zet op 0 om dit nooit te pauzeren.\",\n    \"settings.performance.messageRate\": \"Berichtensnelheid\",\n    \"settings.performance.messageRateHelp\": \"Maximum aantal berichten dat per worker per seconde verstuurd wordt. Als Gelijktijdig = 10 en Berichtensnelheid = 10, kunnen er 10x10=100 berichten per seconde verstuurd worden. Deze waarde moet samen met Gelijktijdig aangepast worden om het aantal uitgaande berichten per seconde onder de limiet van de berichtserver te houden.\",\n    \"settings.performance.name\": \"Uitvoeren\",\n    \"settings.performance.slidingWindow\": \"Sliding window limiet inschakelen\",\n    \"settings.performance.slidingWindowDuration\": \"Duurtijd\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Duur van de periode van de sliding window (m voor minuten, h voor uren).\",\n    \"settings.performance.slidingWindowHelp\": \"Beperk het aantal berichten dat binnen een bepaalde periode verstuurd wordt. Als de limiet bereikt wordt, worden berichten niet verstuurd tot het aantal terug onder de limiet zit.\",\n    \"settings.performance.slidingWindowRate\": \"Max. berichten\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maximum aantal berichten om te versturen binnen de periode.\",\n    \"settings.privacy.allowBlocklist\": \"Blokkeren toestaan\",\n    \"settings.privacy.allowBlocklistHelp\": \"Abonnees toelaten zich voor alle mailinglijsten uit te schrijven en zichzelf te markeren als geblokkeerd?\",\n    \"settings.privacy.allowExport\": \"Exporteren toelaten\",\n    \"settings.privacy.allowExportHelp\": \"Abonnees toelaten om data die over hen is verzameld te exporteren?\",\n    \"settings.privacy.allowPrefs\": \"Sta voorkeur wijzigingen toe\",\n    \"settings.privacy.allowPrefsHelp\": \"Abonnees toestaan ​​om voorkeuren zoals hun naam en meerdere lijstabonnementen te wijzigen.\",\n    \"settings.privacy.allowWipe\": \"Data wipe toestaan\",\n    \"settings.privacy.allowWipeHelp\": \"Abonnees toelaten zichzelf, al hun inschrijvingen en alle andere data over hun te verwijderen uit de database. Views en klikken op links van campagnes worden verwijderd, maar het aantal views en kliks blijft hetzelfde zodat statistieken niet veranderen.\",\n    \"settings.privacy.domainAllowlist\": \"Lijst met toegestane domeinen\",\n    \"settings.privacy.domainAllowlistHelp\": \"Alleen e-mailadressen met deze domeinen mogen zich inschrijven. Voer één domein per regel in, bijv.: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Geblokkeerde domeinen\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-mail adressen met deze domeinen kunnen zich niet inschrijven. Geef een domein in per regel, bv.: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Individuele abonnees volgen\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Track campagneviews en -clicks per abonnee. Als dit uitgeschakeld is, worden views en kliks bijgehouden zonder aan individuele abonnees gelinkt te worden.\",\n    \"settings.privacy.listUnsubHeader\": \"Voeg `List-Unsubscribe` header toe\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Voeg header toe zodat e-mailprogramma's gebruikers zich kunnen laten uitschrijven in een klik.\",\n    \"settings.privacy.name\": \"Privacy\",\n    \"settings.privacy.recordOptinIP\": \"Opt-in IP-adres registreren\",\n    \"settings.privacy.recordOptinIPHelp\": \"IP-adres van dubbele opt-ins registreren bij abonnee-attributen.\",\n    \"settings.restart\": \"Herstarten\",\n    \"settings.security.CORSDomains\": \"Toegestane origins\",\n    \"settings.security.CORSDomainsHelp\": \"Sta API-eindpunten toe via browserjavascript van externe domeinen. Voer één domein per regel in (bijv: https://example.com). Laat leeg om CORS uit te schakelen of voeg * toe om alles toe te staan (niet aanbevolen).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Gebruikers automatisch aanmaken\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Maak automatisch een gebruiker aan bij de eerste login als het account nog niet bestaat.\",\n    \"settings.security.OIDCClientID\": \"Client ID\",\n    \"settings.security.OIDCClientSecret\": \"Clientgeheim\",\n    \"settings.security.OIDCDefaultListRole\": \"Standaard lijstrol\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Standaardrol toegewezen aan gebruikers die automatisch worden aangemaakt via OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Standaard gebruikersrol\",\n    \"settings.security.OIDCHelp\": \"Schakel inloggen via OpenID Connect OAuth2 in via een OAuth-provider.\",\n    \"settings.security.OIDCName\": \"Provider naam\",\n    \"settings.security.OIDCRedirectURL\": \"Redirect-URL voor oAuth-provider\",\n    \"settings.security.OIDCRedirectWarning\": \"Dit lijkt geen productie-URL te zijn. Wijzig de Root-URL in de 'Algemene' instellingen.\",\n    \"settings.security.OIDCURL\": \"Provider-URL\",\n    \"settings.security.OIDCWarning\": \"Als OIDC is ingeschakeld, is de standaardwachtwoordlogin uitgeschakeld. Ongeldige configuratie kan u buitensluiten.\",\n    \"settings.security.altchaComplexity\": \"Altcha-complexiteit\",\n    \"settings.security.altchaComplexityHelp\": \"Hogere waarden zorgen voor betere beveiliging maar vertragen het oplossen (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com SiteKey\",\n    \"settings.security.captchaKeyHelp\": \"Ga naar www.hcaptcha.com om de sleutel en het geheim te verkrijgen.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com-geheim\",\n    \"settings.security.enableCaptcha\": \"Schakel CAPTCHA in\",\n    \"settings.security.enableCaptchaHelp\": \"Schakel CAPTCHA in op het openbare inschrijvingsformulier.\",\n    \"settings.security.enableOIDC\": \"OIDC SSO inschakelen\",\n    \"settings.security.name\": \"Beveiliging\",\n    \"settings.smtp.customHeaders\": \"Aangepaste headers\",\n    \"settings.smtp.customHeadersHelp\": \"Optionele lijst met e-mail headers om toe te voegen aan alle berichten van deze server. Bv.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Ingeschakeld\",\n    \"settings.smtp.heloHost\": \"HELO hostnaam\",\n    \"settings.smtp.heloHostHelp\": \"(Optioneel) Sommige SMTP-servers vereisen een FQDN in de hostnaam. Standaard nemen HELLOs `localhost`. Stel dit in als een custom hostname gebruikt moet worden.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Nieuwe pogingen\",\n    \"settings.smtp.retriesHelp\": \"Aantal keer om opnieuw te proberen als een bericht mislukt.\",\n    \"settings.smtp.sendTest\": \"Stuur e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Stel custom-headers in\",\n    \"settings.smtp.testConnection\": \"Test verbinding\",\n    \"settings.smtp.testEnterEmail\": \"Voer een wachtwoord in om te testen\",\n    \"settings.smtp.toEmail\": \"Naar e-mail\",\n    \"settings.title\": \"Instellingen\",\n    \"settings.updateAvailable\": \"Een nieuwe update {version} is beschikbaar.\",\n    \"subscribers.activity\": \"Activiteit\",\n    \"subscribers.advancedQuery\": \"Geavanceerd\",\n    \"subscribers.advancedQueryHelp\": \"Gedeeltelijke SQL uitdrukking om abonnees attributen op te vragen\",\n    \"subscribers.attribsHelp\": \"Attributen worden gedefinieerd in een JSON map, bijvoorbeeld:\",\n    \"subscribers.blocklistedHelp\": \"Geblokkeerde abonnees zullen nooit e-mails ontvangen.\",\n    \"subscribers.confirmBlocklist\": \"{num} abonnee(s) blokkeren?\",\n    \"subscribers.confirmDelete\": \"{num} abonnee(s) verwijderen?\",\n    \"subscribers.confirmExport\": \"{num} abonnee(s) exporteren?\",\n    \"subscribers.domainBlocklisted\": \"Dit e-maildomein is geblokkeerd.\",\n    \"subscribers.downloadData\": \"Data downloaden\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail bestaat al.\",\n    \"subscribers.errorBlocklisting\": \"Fout bij blokkeren abonnees: {error}\",\n    \"subscribers.errorNoIDs\": \"Geen IDs ingegeven.\",\n    \"subscribers.errorNoListsGiven\": \"Geen lijsten ingegeven.\",\n    \"subscribers.errorPreparingQuery\": \"Fout bij voorbereiden abonnees-query: {error}\",\n    \"subscribers.errorSendingOptin\": \"Fout bij verzenden opt-in e-mail.\",\n    \"subscribers.export\": \"Exporteer\",\n    \"subscribers.invalidAction\": \"Ongeldige actie.\",\n    \"subscribers.invalidEmail\": \"Ongeldige e-mail.\",\n    \"subscribers.invalidJSON\": \"Ongeldige JSON in attributen.\",\n    \"subscribers.invalidName\": \"Ongeldige naam.\",\n    \"subscribers.listChangeApplied\": \"Verandering aan lijst toegepast.\",\n    \"subscribers.lists\": \"Lijsten\",\n    \"subscribers.listsHelp\": \"Lijsten waarvan abonnees zichzelf hebben uitgeschreven kunnen niet worden verwijderd.\",\n    \"subscribers.listsPlaceholder\": \"Lijsten om voor in te schrijven\",\n    \"subscribers.manageLists\": \"Lijsten managen\",\n    \"subscribers.markUnsubscribed\": \"Markeer als uitgeschreven\",\n    \"subscribers.newSubscriber\": \"Nieuwe abonnee\",\n    \"subscribers.numSelected\": \"{num} abonnee(s) geselecteerd\",\n    \"subscribers.optinSubject\": \"Inschrijving bevestigen\",\n    \"subscribers.preconfirm\": \"Inschrijvingen automatisch bevestigen\",\n    \"subscribers.preconfirmHelp\": \"Verzend geen opt-in e-mails en markeer alle inschrijvingen als 'bevestigd'.\",\n    \"subscribers.query\": \"Query\",\n    \"subscribers.queryPlaceholder\": \"E-mail of naam\",\n    \"subscribers.reset\": \"Resetten\",\n    \"subscribers.selectAll\": \"Selecteer alle {num}\",\n    \"subscribers.sendOptinConfirm\": \"Stuur opt-in bevestiging\",\n    \"subscribers.sentOptinConfirm\": \"Opt-in bevestiging verzonden\",\n    \"subscribers.status.blocklisted\": \"Geblokkeerd\",\n    \"subscribers.status.confirmed\": \"Bevestigd\",\n    \"subscribers.status.enabled\": \"Geactiveerd\",\n    \"subscribers.status.subscribed\": \"Ingeschreven\",\n    \"subscribers.status.unconfirmed\": \"Onbevestigd\",\n    \"subscribers.status.unsubscribed\": \"Uitgeschreven\",\n    \"subscribers.subscribersDeleted\": \"{num} abonnee(s) verwijderd\",\n    \"templates.cantDeleteDefault\": \"Kan standaardtemplate niet verwijderen\",\n    \"templates.default\": \"Standaard\",\n    \"templates.dummyName\": \"Testcampagne\",\n    \"templates.dummySubject\": \"Testcampagne onderwerp\",\n    \"templates.errorCompiling\": \"Fout bij compileren sjabloon: {error}\",\n    \"templates.errorRendering\": \"Fout bij renderen bericht: {error}\",\n    \"templates.fieldInvalidName\": \"Naam heeft een ongeldige lengte.\",\n    \"templates.makeDefault\": \"Stel in als standaard\",\n    \"templates.newTemplate\": \"Nieuw sjabloon\",\n    \"templates.placeholderHelp\": \"De plaatshouder {placeholder} moet exact een keer voorkomen in de sjabloon.\",\n    \"templates.preview\": \"Voorbeeld\",\n    \"templates.rawHTML\": \"HTML code\",\n    \"templates.subject\": \"Onderwerp\",\n    \"templates.typeCampaignHTML\": \"Campagne / HTML\",\n    \"templates.typeCampaignVisual\": \"Campagne / Visueel\",\n    \"templates.typeTransactional\": \"Transactioneel\",\n    \"users.apiOneTimeToken\": \"Kopieer nu de API-toegangstoken. Deze wordt niet opnieuw weergegeven.\",\n    \"users.cantDeleteRole\": \"Kan geen rol verwijderen die in gebruik is.\",\n    \"users.firstTime\": \"Dit is een nieuwe installatie. Kies een gebruikersnaam en wachtwoord voor het Super Admin-account.\",\n    \"users.forgotPassword\": \"Wachtwoord vergeten?\",\n    \"users.invalidLogin\": \"Ongeldige inloggegevens\",\n    \"users.invalidPassword\": \"Ongeldig wachtwoord\",\n    \"users.invalidRequest\": \"Ongeldig verzoek voor verificatie\",\n    \"users.invalidResetLink\": \"Ongeldige of verlopen reset-koppeling\",\n    \"users.lastLogin\": \"Laatste login\",\n    \"users.listPerms\": \"Lijstmachtigingen\",\n    \"users.listPermsWarning\": \"Lijst:get_all of lijst:beheren_all zijn ingeschakeld, waardoor de per-lijst machtigingen worden overschreven\",\n    \"users.listRole\": \"Lijstrol | Lijstrollen\",\n    \"users.listRoles\": \"Lijstrollen\",\n    \"users.login\": \"Inloggen\",\n    \"users.loginOIDC\": \"Inloggen met {name}\",\n    \"users.logout\": \"Uitloggen\",\n    \"users.needSuper\": \"Gebruiker(s) konden niet worden bijgewerkt. Er moet altijd minstens één actieve Super Admin zijn.\",\n    \"users.newListRole\": \"Nieuwe lijstrol\",\n    \"users.newPassword\": \"Nieuw wachtwoord\",\n    \"users.newUser\": \"Nieuwe gebruiker\",\n    \"users.newUserRole\": \"Nieuwe gebruikersrol\",\n    \"users.password\": \"Wachtwoord\",\n    \"users.passwordEnable\": \"Inloggen met wachtwoord inschakelen\",\n    \"users.passwordMismatch\": \"Wachtwoorden komen niet overeen\",\n    \"users.passwordRepeat\": \"Bevestig wachtwoord\",\n    \"users.perms\": \"Rechten\",\n    \"users.profile\": \"Profiel\",\n    \"users.resetLinkSent\": \"Als het account actief is, ontvangt u een e-mail voor het opnieuw instellen van het wachtwoord.\",\n    \"users.resetPassword\": \"Wachtwoord opnieuw instellen\",\n    \"users.role\": \"Rol | Rollen\",\n    \"users.roleGroup\": \"Groep\",\n    \"users.roles\": \"Rollen\",\n    \"users.status.disabled\": \"Uitgeschakeld\",\n    \"users.status.enabled\": \"Ingeschakeld\",\n    \"users.totpCode\": \"TOTP-code\",\n    \"users.totpCodeHelp\": \"Voer de 6-cijferige code van uw authenticator-app in\",\n    \"users.totpScanQR\": \"Scan de QR-code met uw authenticator-app zoals Ente of Google Authenticator en voer de TOTP-code hieronder in.\",\n    \"users.totpSecret\": \"Geheime sleutel\",\n    \"users.twoFA\": \"Tweeledige verificatie\",\n    \"users.twoFAAlreadyEnabled\": \"Tweeledige verificatie is al ingeschakeld.\",\n    \"users.twoFAEnabled\": \"Tweeledige verificatie is aan\",\n    \"users.twoFAEnabledDesc\": \"Uw account is beveiligd met {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Schakel 2FA in voor extra beveiliging bij het inloggen op uw account.\",\n    \"users.type\": \"Type\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Gebruiker\",\n    \"users.userRole\": \"Gebruikersrol | Gebruikersrollen\",\n    \"users.userRoles\": \"Gebruikersrollen\",\n    \"users.username\": \"Gebruikersnaam\",\n    \"users.usernameHelp\": \"Wordt gebruikt voor inloggen met een wachtwoord\"\n}\n"
  },
  {
    "path": "i18n/no.json",
    "content": "{\n    \"_.code\": \"no\",\n    \"_.name\": \"Norsk (bokmål)\",\n    \"admin.errorMarshallingConfig\": \"Feil ved serialisering av konfigurasjon: {error}\",\n    \"analytics.count\": \"Antall\",\n    \"analytics.fromDate\": \"Fra\",\n    \"analytics.invalidDates\": \"Ugyldige `fra`- eller `til`-datoer.\",\n    \"analytics.isUnique\": \"Telleren er unik per abonnent.\",\n    \"analytics.links\": \"Lenker\",\n    \"analytics.nonUnique\": \"Telleren er ikke unik, ettersom sporing av individuelle abonnenter er slått av.\",\n    \"analytics.title\": \"Analyse\",\n    \"analytics.toDate\": \"Til\",\n    \"bounces.complaint\": \"Klager\",\n    \"bounces.hard\": \"Hard\",\n    \"bounces.soft\": \"Myk\",\n    \"bounces.source\": \"Kilde\",\n    \"bounces.unknownService\": \"Ukjent tjeneste.\",\n    \"bounces.view\": \"Se avvisninger\",\n    \"campaigns.addAltText\": \"Legg til alternativ ren tekst-melding\",\n    \"campaigns.addAttachments\": \"Legg til vedlegg\",\n    \"campaigns.archive\": \"Arkiv\",\n    \"campaigns.archiveEnable\": \"Publiser til offentlig arkiv\",\n    \"campaigns.archiveHelp\": \"Publiser (kjører, pauset, fullført) kampanjemeldingen i det offentlige arkivet.\",\n    \"campaigns.archiveMeta\": \"Kampanjemetadata\",\n    \"campaigns.archiveMetaHelp\": \"Dummy-abonnentdata som brukes i den offentlige meldingen, inkludert navn, e-post og eventuelle valgfrie attributter brukt i kampanjemeldingen eller malen.\",\n    \"campaigns.archiveSlug\": \"URL-slug\",\n    \"campaigns.archiveSlugHelp\": \"Et kort navn for siden som brukes i den offentlige URL-en, f.eks.: min-nyhetsbrev-utgave-2\",\n    \"campaigns.attachments\": \"Vedlegg\",\n    \"campaigns.attribsHelp\": \"Egendefinert JSON-objekt {} attributter for denne kampanjen. Bruk i mal med {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Kan ikke oppdatere en kampanje som kjører eller er fullført.\",\n    \"campaigns.clicks\": \"Klikk\",\n    \"campaigns.confirmDelete\": \"Slett {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Dette vil overskrive alt innhold. Fortsette?\",\n    \"campaigns.confirmSchedule\": \"Denne kampanjen starter automatisk på planlagt dato og tidspunkt. Planlegg nå?\",\n    \"campaigns.confirmSwitchFormat\": \"Innholdet kan miste formatering. Fortsette?\",\n    \"campaigns.content\": \"Innhold\",\n    \"campaigns.contentHelp\": \"Innhold her\",\n    \"campaigns.continue\": \"Fortsett\",\n    \"campaigns.copyOf\": \"Kopi av {name}\",\n    \"campaigns.customHeadersHelp\": \"Array av egendefinerte overskrifter som skal legges til utgående meldinger, f.eks.: [{\\\"X-Custom\\\": \\\"verdi\\\"}, {\\\"X-Custom2\\\": \\\"verdi\\\"}]\",\n    \"campaigns.dateAndTime\": \"Dato og tid\",\n    \"campaigns.ended\": \"Avsluttet\",\n    \"campaigns.errorSendTest\": \"Feil ved sending av test: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Feil ved kompilering av kampanjeinnhold: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Ugyldig `fra_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Ugyldige liste-IDer.\",\n    \"campaigns.fieldInvalidMessenger\": \"Ukjent meldingssystem {name}.\",\n    \"campaigns.fieldInvalidName\": \"Ugyldig lengde for navn.\",\n    \"campaigns.fieldInvalidSendAt\": \"Planlagt dato må være i fremtiden.\",\n    \"campaigns.fieldInvalidSubject\": \"Ugyldig lengde for emne.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formatter HTML\",\n    \"campaigns.fromAddress\": \"Fra-adresse\",\n    \"campaigns.fromAddressPlaceholder\": \"Ditt Navn <noreply@dittnettsted.com>\",\n    \"campaigns.importVisualTemplate\": \"Importer visuell mal\",\n    \"campaigns.invalid\": \"Ugyldig kampanje\",\n    \"campaigns.invalidCustomHeaders\": \"Ugyldige egendefinerte overskrifter: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampanjen trenger en dato for å bli planlagt.\",\n    \"campaigns.newCampaign\": \"Ny kampanje\",\n    \"campaigns.noKnownSubsToTest\": \"Ingen kjente abonnenter å teste på.\",\n    \"campaigns.noOptinLists\": \"Ingen opt-in-lister funnet for å opprette kampanje.\",\n    \"campaigns.noSubs\": \"Det er ingen abonnenter i de valgte listene for å opprette kampanjen.\",\n    \"campaigns.noSubsToTest\": \"Det er ingen abonnenter å målrette mot.\",\n    \"campaigns.notFound\": \"Kampanje ikke funnet.\",\n    \"campaigns.onlyActiveCancel\": \"Kun aktive kampanjer kan avbrytes.\",\n    \"campaigns.onlyActivePause\": \"Kun aktive kampanjer kan pauses.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Kun kladd-kampanjer kan planlegges.\",\n    \"campaigns.onlyPausedDraft\": \"Kun pauserte kampanjer og kladder kan startes.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Kun planlagte kampanjer kan lagres som kladd.\",\n    \"campaigns.pause\": \"Pause\",\n    \"campaigns.plainText\": \"Ren tekst\",\n    \"campaigns.preview\": \"Forhåndsvisning\",\n    \"campaigns.progress\": \"Fremgang\",\n    \"campaigns.queryPlaceholder\": \"Navn eller emne\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Rå HTML\",\n    \"campaigns.removeAltText\": \"Fjern alternativ ren tekst-melding\",\n    \"campaigns.richText\": \"Rik tekst\",\n    \"campaigns.schedule\": \"Planlegg kampanje\",\n    \"campaigns.scheduled\": \"Planlagt\",\n    \"campaigns.send\": \"Send\",\n    \"campaigns.sendLater\": \"Send senere\",\n    \"campaigns.sendTest\": \"Send testmelding\",\n    \"campaigns.sendTestHelp\": \"Trykk Enter etter å ha skrevet en adresse for å legge til flere mottakere. Adressene må tilhøre eksisterende abonnenter.\",\n    \"campaigns.sendToLists\": \"Lister å sende til\",\n    \"campaigns.sent\": \"Sendt\",\n    \"campaigns.start\": \"Start kampanje\",\n    \"campaigns.started\": \"\\\"{name}\\\" startet\",\n    \"campaigns.startedAt\": \"Startet\",\n    \"campaigns.stats\": \"Statistikk\",\n    \"campaigns.status.cancelled\": \"Avbrutt\",\n    \"campaigns.status.draft\": \"Utkast\",\n    \"campaigns.status.finished\": \"Fullført\",\n    \"campaigns.status.paused\": \"Pauset\",\n    \"campaigns.status.running\": \"Kjører\",\n    \"campaigns.status.scheduled\": \"Planlagt\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" er {status}\",\n    \"campaigns.subject\": \"Emne\",\n    \"campaigns.templatingRef\": \"Maler referanse\",\n    \"campaigns.testEmails\": \"E-poster\",\n    \"campaigns.testSent\": \"Testmelding sendt\",\n    \"campaigns.timestamps\": \"Tidsstempler\",\n    \"campaigns.trackLink\": \"Spor lenke\",\n    \"campaigns.unSchedule\": \"Avplanlegg\",\n    \"campaigns.views\": \"Visninger\",\n    \"campaigns.visual\": \"Visuell\",\n    \"dashboard.campaignViews\": \"Kampanjevisninger\",\n    \"dashboard.linkClicks\": \"Lenkeklikk\",\n    \"dashboard.messagesSent\": \"Sendte meldinger\",\n    \"dashboard.orphanSubs\": \"Foreldreløse abonnenter\",\n    \"email.data.info\": \"En kopi av all data registrert på deg er vedlagt som en fil i JSON-format. Den kan vises i en teksteditor.\",\n    \"email.data.title\": \"Dine data\",\n    \"email.forgotPassword.button\": \"Tilbakestill passord\",\n    \"email.forgotPassword.info\": \"Hvis du ikke ba om dette, kan du trygt ignorere denne e-posten. Denne lenken utløper om 30 minutter.\",\n    \"email.forgotPassword.subject\": \"Tilbakestill passordet ditt\",\n    \"email.optin.confirmSub\": \"Bekreft abonnement\",\n    \"email.optin.confirmSubHelp\": \"Bekreft abonnementet ditt ved å klikke på knappen nedenfor.\",\n    \"email.optin.confirmSubInfo\": \"Du har blitt lagt til følgende lister:\",\n    \"email.optin.confirmSubTitle\": \"Bekreft abonnement\",\n    \"email.optin.confirmSubWelcome\": \"Hei\",\n    \"email.optin.privateList\": \"Privat liste\",\n    \"email.status.campaignReason\": \"Årsak\",\n    \"email.status.campaignSent\": \"Sendt\",\n    \"email.status.campaignUpdateTitle\": \"Kampanjeoppdatering\",\n    \"email.status.importFile\": \"Fil\",\n    \"email.status.importRecords\": \"Poster\",\n    \"email.status.importTitle\": \"Importer status\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Meld av\",\n    \"email.unsubHelp\": \"Vil du ikke motta disse e-postene?\",\n    \"email.viewInBrowser\": \"Vis i nettleser\",\n    \"forms.formHTML\": \"Skjema HTML\",\n    \"forms.formHTMLHelp\": \"Bruk følgende HTML for å vise et abonnementsskjema på en ekstern nettside. Skjemaet bør ha e-postfeltet og ett eller flere `l` (liste UUID) felt. Navn-feltet er valgfritt.\",\n    \"forms.noPublicLists\": \"Det er ingen offentlige lister tilgjengelige for å generere et skjema.\",\n    \"forms.publicLists\": \"Offentlige lister\",\n    \"forms.publicSubPage\": \"Offentlig abonnementside\",\n    \"forms.selectHelp\": \"Velg lister for å legge til skjemaet.\",\n    \"forms.title\": \"Skjemaer\",\n    \"globals.buttons.add\": \"Legg til\",\n    \"globals.buttons.addNew\": \"Legg til ny\",\n    \"globals.buttons.back\": \"Tilbake\",\n    \"globals.buttons.cancel\": \"Avbryt\",\n    \"globals.buttons.clear\": \"Tøm\",\n    \"globals.buttons.clearAll\": \"Tøm alt\",\n    \"globals.buttons.clone\": \"Klon\",\n    \"globals.buttons.close\": \"Lukk\",\n    \"globals.buttons.continue\": \"Fortsett\",\n    \"globals.buttons.copy\": \"Kopier\",\n    \"globals.buttons.delete\": \"Slett\",\n    \"globals.buttons.deleteAll\": \"Slett alt\",\n    \"globals.buttons.disable\": \"Deaktiver\",\n    \"globals.buttons.edit\": \"Rediger\",\n    \"globals.buttons.enable\": \"Aktiver\",\n    \"globals.buttons.enabled\": \"Aktivert\",\n    \"globals.buttons.insert\": \"Sett inn\",\n    \"globals.buttons.learnMore\": \"Lær mer\",\n    \"globals.buttons.manage\": \"Administrer\",\n    \"globals.buttons.more\": \"Mer\",\n    \"globals.buttons.new\": \"Ny\",\n    \"globals.buttons.ok\": \"Ok\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Fjern\",\n    \"globals.buttons.save\": \"Lagre\",\n    \"globals.buttons.saveChanges\": \"Lagre endringer\",\n    \"globals.buttons.toggleSelect\": \"Veksle valg\",\n    \"globals.buttons.view\": \"Vis\",\n    \"globals.days.0\": \"Søn\",\n    \"globals.days.1\": \"Søn\",\n    \"globals.days.2\": \"Man\",\n    \"globals.days.3\": \"Tir\",\n    \"globals.days.4\": \"Ons\",\n    \"globals.days.5\": \"Tor\",\n    \"globals.days.6\": \"Fre\",\n    \"globals.days.7\": \"Lør\",\n    \"globals.fields.createdAt\": \"Opprettet\",\n    \"globals.fields.description\": \"Beskrivelse\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Navn\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Type\",\n    \"globals.fields.updatedAt\": \"Oppdatert\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Er du sikker?\",\n    \"globals.messages.confirmDelete\": \"Slett {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Forkaste endringer?\",\n    \"globals.messages.copied\": \"Kopiert\",\n    \"globals.messages.created\": \"\\\"{name}\\\" opprettet\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" slettet\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) slettet\",\n    \"globals.messages.done\": \"Ferdig\",\n    \"globals.messages.emptyState\": \"Ingenting her\",\n    \"globals.messages.errorCreating\": \"Feil ved oppretting av {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Feil ved sletting av {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Feil ved henting av {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Én eller flere ID-er er ugyldige: {error}\",\n    \"globals.messages.errorUUID\": \"Feil ved generering av UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Feil ved oppdatering av {name}: {error}\",\n    \"globals.messages.internalError\": \"Intern serverfeil\",\n    \"globals.messages.invalidData\": \"Ugyldige data\",\n    \"globals.messages.invalidFields\": \"Ugyldige felt: {name}\",\n    \"globals.messages.invalidID\": \"Ugyldig(e) ID-er\",\n    \"globals.messages.invalidUUID\": \"Ugyldig(e) UUID-er\",\n    \"globals.messages.invalidValue\": \"Ugyldig verdi\",\n    \"globals.messages.missingFields\": \"Mangler felt(er): {name}\",\n    \"globals.messages.notFound\": \"{name} ikke funnet\",\n    \"globals.messages.numSelected\": \"{num} valgt\",\n    \"globals.messages.passwordChange\": \"Skriv inn en verdi for å endre\",\n    \"globals.messages.passwordChangeFull\": \"Tøm og skriv inn hele passordet på nytt i '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Tillatelse nektet: {name}\",\n    \"globals.messages.selectAll\": \"Velg alle {num}\",\n    \"globals.messages.slowQueriesCached\": \"Trege spørringer blir hurtigbufret. Noen tall på denne siden vil ikke være oppdatert.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" oppdatert\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Okt\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Des\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Mai\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Av\",\n    \"globals.terms.all\": \"Alle\",\n    \"globals.terms.analytics\": \"Analyse\",\n    \"globals.terms.attribs\": \"Attributter\",\n    \"globals.terms.bounce\": \"Retur | Returnerer\",\n    \"globals.terms.bounces\": \"Returnerer\",\n    \"globals.terms.campaign\": \"Kampanje | Kampanjer\",\n    \"globals.terms.campaigns\": \"Kampanjer\",\n    \"globals.terms.dashboard\": \"Dashbord\",\n    \"globals.terms.day\": \"Dag | Dager\",\n    \"globals.terms.hour\": \"Time | Timer\",\n    \"globals.terms.import\": \"Importer\",\n    \"globals.terms.list\": \"Liste | Lister\",\n    \"globals.terms.lists\": \"Lister\",\n    \"globals.terms.media\": \"Media\",\n    \"globals.terms.messenger\": \"Messenger\",\n    \"globals.terms.messengers\": \"Budbringere\",\n    \"globals.terms.minute\": \"Minutt | Minutter\",\n    \"globals.terms.month\": \"Måned | Måneder\",\n    \"globals.terms.new\": \"Ny\",\n    \"globals.terms.none\": \"Ingen\",\n    \"globals.terms.second\": \"Sekund | Sekunder\",\n    \"globals.terms.settings\": \"Innstillinger\",\n    \"globals.terms.subscriber\": \"Abonnent | Abonnenter\",\n    \"globals.terms.subscribers\": \"Abonnenter\",\n    \"globals.terms.subscriptions\": \"Abonnement | Abonnementer\",\n    \"globals.terms.tag\": \"Tagg | Tagger\",\n    \"globals.terms.tags\": \"Tagger\",\n    \"globals.terms.template\": \"Mal | Maler\",\n    \"globals.terms.templates\": \"Maler\",\n    \"globals.terms.tx\": \"Transaksjonell | Transaksjonell\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Bruker | Brukere\",\n    \"globals.terms.users\": \"Brukere\",\n    \"globals.terms.year\": \"År | År\",\n    \"import.alreadyRunning\": \"En import er allerede i gang. Vent til den er fullført eller stopp den før du prøver igjen.\",\n    \"import.blocklist\": \"Blokkeringsliste\",\n    \"import.csvDelim\": \"CSV-avgrenser\",\n    \"import.csvDelimHelp\": \"Standard avgrenser er komma.\",\n    \"import.csvExample\": \"Eksempel på rå CSV\",\n    \"import.csvFile\": \"CSV- eller ZIP-fil\",\n    \"import.csvFileHelp\": \"Klikk eller dra en CSV- eller ZIP-fil hit\",\n    \"import.errorCopyingFile\": \"Feil ved kopiering av fil: {error}\",\n    \"import.errorProcessingZIP\": \"Feil ved behandling av ZIP-fil: {error}\",\n    \"import.errorStarting\": \"Feil ved oppstart av import: {error}\",\n    \"import.importDone\": \"Ferdig\",\n    \"import.importStarted\": \"Import startet\",\n    \"import.instructions\": \"Instruksjoner\",\n    \"import.instructionsHelp\": \"Last opp en CSV-fil eller en ZIP-fil med en enkelt CSV-fil for å masseimportere abonnenter. CSV-filen må ha følgende kolonneoverskrifter med nøyaktige kolonnenavn. Attributter (valgfritt) må være en gyldig JSON-streng med dobbelt-escaped anførselstegn.\",\n    \"import.invalidDelim\": \"Avgrenser må være ett enkelt tegn.\",\n    \"import.invalidFile\": \"Ugyldig fil: {error}\",\n    \"import.invalidMode\": \"Ugyldig modus\",\n    \"import.invalidParams\": \"Ugyldige parametere: {error}\",\n    \"import.invalidSubStatus\": \"Ugyldig abonnementsstatus\",\n    \"import.listSubHelp\": \"Lister å abonnere på.\",\n    \"import.mode\": \"Modus\",\n    \"import.overwriteSubStatus\": \"Overskriv abonnementsstatus\",\n    \"import.overwriteSubStatusHelp\": \"Overskriv status for eksisterende listeabonnementer\",\n    \"import.overwriteUserInfo\": \"Overskriv brukerinformasjon\",\n    \"import.overwriteUserInfoHelp\": \"Overskriv navn og attributter for eksisterende abonnenter\",\n    \"import.recordsCount\": \"{num} / {total} poster\",\n    \"import.stopImport\": \"Stopp import\",\n    \"import.subscribe\": \"Abonner\",\n    \"import.subscribeWarning\": \"Overskriving vil re-abonnere avmeldte e-poster. Fortsette?\",\n    \"import.title\": \"Importer abonnenter\",\n    \"import.upload\": \"Last opp\",\n    \"lists.archived\": \"Arkivert\",\n    \"lists.archivedHelp\": \"Arkivering skjuler listene fra listesiden, kampanjene og offentlige skjemaer. Den kan arkiveres på nytt når som helst. Det er nyttig for å skjule gamle og sjelden brukte lister.\",\n    \"lists.confirmDelete\": \"Er du sikker? Dette sletter ikke abonnenter.\",\n    \"lists.confirmSub\": \"Bekreft abonnement på {name}\",\n    \"lists.invalidName\": \"Ugyldig navn\",\n    \"lists.newList\": \"Ny liste\",\n    \"lists.optin\": \"Valgfrie påmelding\",\n    \"lists.optinHelp\": \"Dobbelt opt-in sender en e-post til abonnenten for bekreftelse. For lister med dobbelt opt-in sendes kampanjer kun til bekreftede abonnenter.\",\n    \"lists.optinTo\": \"Opt-in til {name}\",\n    \"lists.optins.double\": \"Dobbelt opt-in\",\n    \"lists.optins.single\": \"Enkelt opt-in\",\n    \"lists.sendCampaign\": \"Send kampanje\",\n    \"lists.sendOptinCampaign\": \"Send opt-in-kampanje\",\n    \"lists.type\": \"Type\",\n    \"lists.typeHelp\": \"Offentlige lister er åpne for alle å abonnere på, og navnene deres kan vises på offentlige sider som abonnementsadministrasjonssiden.\",\n    \"lists.types.private\": \"Privat\",\n    \"lists.types.public\": \"Offentlig\",\n    \"logs.title\": \"Logger\",\n    \"maintenance.database.title\": \"Database\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE gjenvinner lagring brukt av slettede rader og øker databaseytelsen betydelig på store databaser. VIKTIG: For store databaser er dette en langsom, blokkerende operasjon. Planlegg kjøring under lagtimer.\",\n    \"maintenance.help\": \"Noen handlinger kan ta tid å fullføre avhengig av datamengden.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Ubekreftede opt-in-abonnementer\",\n    \"maintenance.olderThan\": \"Eldre enn\",\n    \"maintenance.orphanHelp\": \"Foreldreløse = abonnenter uten lister\",\n    \"maintenance.title\": \"Vedlikehold\",\n    \"maintenance.unconfirmedSubs\": \"Ubekreftede abonnementer eldre enn {name} dager.\",\n    \"media.errorReadingFile\": \"Feil ved lesing av fil: {error}\",\n    \"media.errorResizing\": \"Feil ved endring av bildestørrelse: {error}\",\n    \"media.errorSavingThumbnail\": \"Feil ved lagring av miniatyrbilde: {error}\",\n    \"media.errorUploading\": \"Feil ved opplasting av fil: {error}\",\n    \"media.invalidFile\": \"Ugyldig fil: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Ikke-støttet filtype ({type})\",\n    \"media.upload\": \"Last opp\",\n    \"media.uploadHelp\": \"Klikk eller dra ett eller flere bilder hit\",\n    \"menu.allCampaigns\": \"Alle kampanjer\",\n    \"menu.allLists\": \"Alle lister\",\n    \"menu.allSubscribers\": \"Alle abonnenter\",\n    \"menu.dashboard\": \"Dashbord\",\n    \"menu.forms\": \"Skjemaer\",\n    \"menu.import\": \"Importer\",\n    \"menu.logs\": \"Logger\",\n    \"menu.maintenance\": \"Vedlikehold\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Opprett ny\",\n    \"menu.settings\": \"Innstillinger\",\n    \"public.archiveEmpty\": \"Ingen arkiverte meldinger ennå.\",\n    \"public.archiveTitle\": \"Arkiv over e-postlister\",\n    \"public.blocklisted\": \"Permanent avmeldt.\",\n    \"public.campaignNotFound\": \"E-postmeldingen ble ikke funnet.\",\n    \"public.confirmOptinSubTitle\": \"Bekreft abonnement\",\n    \"public.confirmSub\": \"Bekreft abonnement\",\n    \"public.confirmSubInfo\": \"Du har blitt lagt til følgende lister:\",\n    \"public.confirmSubTitle\": \"Bekreft\",\n    \"public.dataRemoved\": \"Dine abonnementer og all tilknyttet data er fjernet.\",\n    \"public.dataRemovedTitle\": \"Data fjernet\",\n    \"public.dataSent\": \"Dine data har blitt sendt til deg som et e-postvedlegg.\",\n    \"public.dataSentTitle\": \"Data sendt via e-post\",\n    \"public.errorFetchingCampaign\": \"Feil ved henting av e-postmelding.\",\n    \"public.errorFetchingEmail\": \"E-postmelding ikke funnet\",\n    \"public.errorFetchingLists\": \"Feil ved henting av lister. Vennligst prøv igjen.\",\n    \"public.errorProcessingRequest\": \"Feil ved behandling av forespørselen. Vennligst prøv igjen.\",\n    \"public.errorTitle\": \"Feil\",\n    \"public.invalidCaptcha\": \"Ugyldig CAPTCHA.\",\n    \"public.invalidFeature\": \"Denne funksjonen er ikke tilgjengelig.\",\n    \"public.invalidLink\": \"Ugyldig lenke\",\n    \"public.managePrefs\": \"Administrer preferanser\",\n    \"public.managePrefsUnsub\": \"Fjern avmerkingen for lister du vil melde deg av.\",\n    \"public.noListsAvailable\": \"Ingen tilgjengelige lister å abonnere på.\",\n    \"public.noListsSelected\": \"Ingen gyldige lister valgt for abonnement.\",\n    \"public.noSubInfo\": \"Det er ingen abonnementer å bekrefte.\",\n    \"public.noSubTitle\": \"Ingen abonnementer\",\n    \"public.notFoundTitle\": \"Ikke funnet\",\n    \"public.poweredBy\": \"Drevet av\",\n    \"public.prefsSaved\": \"Dine preferanser har blitt lagret.\",\n    \"public.privacyConfirmWipe\": \"Er du sikker på at du vil slette alle dine abonnementsdata permanent?\",\n    \"public.privacyExport\": \"Eksporter dine data\",\n    \"public.privacyExportHelp\": \"En kopi av dine data vil bli sendt til deg via e-post.\",\n    \"public.privacyTitle\": \"Personvern og data\",\n    \"public.privacyWipe\": \"Slett dine data\",\n    \"public.privacyWipeHelp\": \"Slett alle dine abonnementer og tilknyttede data permanent.\",\n    \"public.sub\": \"Abonner\",\n    \"public.subConfirmed\": \"Abonnement vellykket.\",\n    \"public.subConfirmedTitle\": \"Bekreftet\",\n    \"public.subName\": \"Navn (valgfritt)\",\n    \"public.subNotFound\": \"Abonnement ikke funnet.\",\n    \"public.subOptinPending\": \"En e-post har blitt sendt til deg for å bekrefte ditt abonnement.\",\n    \"public.subPrivateList\": \"Privat liste\",\n    \"public.subTitle\": \"Abonner\",\n    \"public.unsub\": \"Avmeld\",\n    \"public.unsubFull\": \"Meld deg av alle fremtidige e-poster.\",\n    \"public.unsubHelp\": \"Vil du melde deg av denne e-postlisten?\",\n    \"public.unsubTitle\": \"Avmeld\",\n    \"public.unsubbedInfo\": \"Du har blitt avmeldt.\",\n    \"public.unsubbedTitle\": \"Avmeldt\",\n    \"public.unsubscribeTitle\": \"Meld deg av e-postlisten\",\n    \"settings.appearance.adminHelp\": \"Egendefinert CSS for admin-grensesnittet.\",\n    \"settings.appearance.adminName\": \"Administrator\",\n    \"settings.appearance.customCSS\": \"Egendefinert CSS\",\n    \"settings.appearance.customJS\": \"Egendefinert JavaScript\",\n    \"settings.appearance.name\": \"Utseende\",\n    \"settings.appearance.publicHelp\": \"Egendefinert CSS og JavaScript for offentlige sider.\",\n    \"settings.appearance.publicName\": \"Offentlig\",\n    \"settings.bounces.action\": \"Handling\",\n    \"settings.bounces.blocklist\": \"Blokkeringsliste\",\n    \"settings.bounces.count\": \"Antall feilmeldinger\",\n    \"settings.bounces.countHelp\": \"Antall feilmeldinger per abonnent\",\n    \"settings.bounces.enable\": \"Aktiver behandling av feilmeldinger\",\n    \"settings.bounces.enableForwardemail\": \"Aktiver videresending av e-post\",\n    \"settings.bounces.enableMailbox\": \"Aktiver feilmeldingsinnboks\",\n    \"settings.bounces.enablePostmark\": \"Aktiver Postmark\",\n    \"settings.bounces.enableSES\": \"Aktiver SES\",\n    \"settings.bounces.enableSendgrid\": \"Aktiver SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Aktiver feilmelding-webhooks\",\n    \"settings.bounces.enabled\": \"Aktivert\",\n    \"settings.bounces.folder\": \"Mappe\",\n    \"settings.bounces.folderHelp\": \"Navn på IMAP-mappen som skal skannes, f.eks. Innboks.\",\n    \"settings.bounces.forwardemailKey\": \"Videresend e-postnøkkel\",\n    \"settings.bounces.invalidScanInterval\": \"Skanningsintervallet må være minst 1 minutt.\",\n    \"settings.bounces.name\": \"Feilmeldinger\",\n    \"settings.bounces.none\": \"Ingen\",\n    \"settings.bounces.postmarkPassword\": \"Postmark-passord\",\n    \"settings.bounces.postmarkUsername\": \"Postmark-brukernavn\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark lar deg aktivere grunnleggende autorisering for webhooks. Sørg for å bruke de samme legitimasjonene her og i Postmark-webhook-innstillingene dine.\",\n    \"settings.bounces.scanInterval\": \"Skanningsintervall\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervall for skanning av feilmeldingsinnboksen (s for sekunder, m for minutter).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid-nøkkel\",\n    \"settings.bounces.type\": \"Type\",\n    \"settings.bounces.username\": \"Brukernavn\",\n    \"settings.confirmRestart\": \"Sørg for at aktive kampanjer er satt på pause. Start på nytt?\",\n    \"settings.duplicateMessengerName\": \"Duplisert meldingsnavn: {name}\",\n    \"settings.errorEncoding\": \"Feil ved koding av innstillinger: {error}\",\n    \"settings.errorNoSMTP\": \"Minst én SMTP-blokk må være aktivert\",\n    \"settings.general.adminNotifEmails\": \"Administrator-varslingseposter\",\n    \"settings.general.adminNotifEmailsHelp\": \"Kommaseparert liste over e-postadresser der admin-varsler som importoppdateringer, kampanjeavslutninger, feil osv. skal sendes.\",\n    \"settings.general.checkUpdates\": \"Se etter oppdateringer\",\n    \"settings.general.checkUpdatesHelp\": \"Se periodisk etter nye programvareversjoner og varsle.\",\n    \"settings.general.enablePublicArchive\": \"Aktiver offentlig arkiv for e-postliste\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publiser kampanjer der arkivering er aktivert på den offentlige nettsiden.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Vis fullstendig innhold i RSS-feed\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Vis hele e-postinnholdet i RSS-feeden. Hvis deaktivert, vises kun tittel og lenke.\",\n    \"settings.general.enablePublicSubPage\": \"Aktiver offentlig abonnementside\",\n    \"settings.general.enablePublicSubPageHelp\": \"Vis en offentlig abonnementside med alle offentlige lister for folk å abonnere på.\",\n    \"settings.general.faviconURL\": \"Favicon-URL\",\n    \"settings.general.faviconURLHelp\": \"(Valgfritt) Full URL til favicon som skal vises på brukergrensesnittet, for eksempel på avmeldingssiden.\",\n    \"settings.general.fromEmail\": \"Standard `fra`-e-post\",\n    \"settings.general.fromEmailHelp\": \"Standard `fra`-e-post som vises på utgående kampanje-e-poster. Dette kan endres per kampanje.\",\n    \"settings.general.language\": \"Språk\",\n    \"settings.general.logoURL\": \"Logo-URL\",\n    \"settings.general.logoURLHelp\": \"(Valgfritt) Full URL til en statisk logo som skal vises på brukergrensesnittet, f.eks. på avmeldingssiden.\",\n    \"settings.general.name\": \"Generelt\",\n    \"settings.general.rootURL\": \"Rot-URL\",\n    \"settings.general.rootURLHelp\": \"Offentlig URL for installasjonen (uten skråstrek på slutten).\",\n    \"settings.general.sendOptinConfirm\": \"Send bekreftelse for opt-in\",\n    \"settings.general.sendOptinConfirmHelp\": \"Send en bekreftelses-e-post når abonnenter registrerer seg via det offentlige skjemaet eller når de legges til av en administrator.\",\n    \"settings.general.siteName\": \"Nettstednavn\",\n    \"settings.invalidMessengerName\": \"Ugyldig meldingsnavn.\",\n    \"settings.mailserver.authProtocol\": \"Autentiseringsprotokoll\",\n    \"settings.mailserver.host\": \"Vert\",\n    \"settings.mailserver.hostHelp\": \"SMTP-serverens vertadresse.\",\n    \"settings.mailserver.idleTimeout\": \"Inaktiv tidsavbrudd\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tid å vente på ny aktivitet på en tilkobling før den lukkes og fjernes fra bassenget (s for sekunder, m for minutter).\",\n    \"settings.mailserver.maxConns\": \"Maks. tilkoblinger\",\n    \"settings.mailserver.maxConnsHelp\": \"Maksimalt antall samtidige tilkoblinger til serveren.\",\n    \"settings.mailserver.nameHelp\": \"Valgfritt unikt navn for SMTP-serveren. Må ha prefikset email-. Dette gjør at serveren kan velges spesifikt for en kampanje, f.eks.: email-primary-server. Alfanumerisk / bindestrek.\",\n    \"settings.mailserver.password\": \"Passord\",\n    \"settings.mailserver.passwordHelp\": \"Skriv inn for å endre\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"SMTP-serverens port.\",\n    \"settings.mailserver.skipTLS\": \"Hopp over TLS-verifisering\",\n    \"settings.mailserver.skipTLSHelp\": \"Hopp over vertsnavnsjekk på TLS-sertifikatet.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL-kryptering. STARTTLS brukes ofte.\",\n    \"settings.mailserver.username\": \"Brukernavn\",\n    \"settings.mailserver.waitTimeout\": \"Ventetidsavbrudd\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tid å vente på ny aktivitet på en tilkobling før den lukkes og fjernes fra bassenget (s for sekunder, m for minutter).\",\n    \"settings.maintenance.cron\": \"Cron-intervall\",\n    \"settings.media.provider\": \"Leverandør\",\n    \"settings.media.s3.bucket\": \"Bøtte\",\n    \"settings.media.s3.bucketPath\": \"Bucket-sti\",\n    \"settings.media.s3.bucketPathHelp\": \"Sti inne i bucket der filer skal lastes opp. Standard er /\",\n    \"settings.media.s3.bucketType\": \"Bucket-type\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Offentlig\",\n    \"settings.media.s3.key\": \"AWS tilgangsnøkkel\",\n    \"settings.media.s3.publicURL\": \"Egendefinert offentlig URL (valgfritt)\",\n    \"settings.media.s3.publicURLHelp\": \"Egendefinert S3-domene for å bruke bildekoblinger i stedet for standard S3-backend URL.\",\n    \"settings.media.s3.region\": \"Region\",\n    \"settings.media.s3.secret\": \"AWS tilgangshemmelighet\",\n    \"settings.media.s3.uploadExpiry\": \"Opplastingsutløp\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Valgfritt) Angi utløp for den genererte forhåndssignerte URL-en. Gjelder kun for private buckets (s, m, h, d for sekunder, minutter, timer, dager).\",\n    \"settings.media.s3.url\": \"S3-backend URL\",\n    \"settings.media.s3.urlHelp\": \"Endre kun hvis du bruker en egendefinert S3-kompatibel backend som Minio.\",\n    \"settings.media.title\": \"Medieopplastinger\",\n    \"settings.media.upload.extensions\": \"Tillatte filtyper\",\n    \"settings.media.upload.extensionsHelp\": \"Legg til * for å tillate alle filtyper\",\n    \"settings.media.upload.path\": \"Opplastingssti\",\n    \"settings.media.upload.pathHelp\": \"Sti til katalogen der media skal lastes opp.\",\n    \"settings.media.upload.uri\": \"Opplastings-URI\",\n    \"settings.media.upload.uriHelp\": \"Opplastings-URI som er synlig for omverdenen. Media lastet opp til upload_path vil være offentlig tilgjengelig under {root_url}, for eksempel https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Maks. tilkoblinger\",\n    \"settings.messengers.maxConnsHelp\": \"Maksimalt antall samtidige tilkoblinger til serveren.\",\n    \"settings.messengers.messageSaved\": \"Innstillinger lagret. Laster inn appen på nytt ...\",\n    \"settings.messengers.name\": \"Meldingssystemer\",\n    \"settings.messengers.nameHelp\": \"For eksempel: my-sms. Kun alfanumeriske tegn og bindestrek tillatt.\",\n    \"settings.messengers.password\": \"Passord\",\n    \"settings.messengers.retries\": \"Antall forsøk\",\n    \"settings.messengers.retriesHelp\": \"Antall ganger det skal prøves på nytt hvis en melding feiler.\",\n    \"settings.messengers.skipTLSHelp\": \"Hopp over vertsnavnsjekk på TLS-sertifikatet.\",\n    \"settings.messengers.timeout\": \"Inaktiv tidsavbrudd\",\n    \"settings.messengers.timeoutHelp\": \"Tid å vente på ny aktivitet på en tilkobling før den lukkes og fjernes fra bassenget (s for sekunder, m for minutter).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Rot-URL for Postback-serveren.\",\n    \"settings.messengers.username\": \"Brukernavn\",\n    \"settings.needsRestart\": \"Innstillinger endret. Pause alle pågående kampanjer og start appen på nytt.\",\n    \"settings.performance.batchSize\": \"Batch-størrelse\",\n    \"settings.performance.batchSizeHelp\": \"Antall abonnenter som hentes fra databasen i én enkelt iterasjon. Hver iterasjon henter abonnenter, sender meldinger til dem, og deretter fortsetter til neste batch. Dette bør ideelt sett være høyere enn den maksimale oppnåelige gjennomstrømningen (samtidighet * meldingshastighet).\",\n    \"settings.performance.cacheSlowQueries\": \"Mellomlagre trege databaseforespørsler\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Aktiver dette kun for store databaser som har blitt betydelig tregere. Mellomlagrer antall abonnenter i lister, dashbordstatistikk osv.\",\n    \"settings.performance.concurrency\": \"Samtidighet\",\n    \"settings.performance.concurrencyHelp\": \"Maksimalt antall samtidige arbeidstråder som vil forsøke å sende meldinger samtidig.\",\n    \"settings.performance.maxErrThreshold\": \"Maksimal feilterskel\",\n    \"settings.performance.maxErrThresholdHelp\": \"Antall feil (f.eks. SMTP-timeouts ved sending av e-post) en pågående kampanje kan tåle før den pauses for manuell gjennomgang eller intervensjon. Sett til 0 for aldri å pause.\",\n    \"settings.performance.messageRate\": \"Meldingshastighet\",\n    \"settings.performance.messageRateHelp\": \"Maksimalt antall meldinger som sendes per sekund per arbeidstråd. Hvis samtidighet = 10 og meldingshastighet = 10, kan opptil 10x10=100 meldinger sendes ut per sekund. Dette bør justeres sammen med samtidighet for å holde det totale antallet utsendte meldinger under eventuelle grenseverdier for meldingsserveren.\",\n    \"settings.performance.name\": \"Ytelse\",\n    \"settings.performance.slidingWindow\": \"Aktiver glidende vindu-grense\",\n    \"settings.performance.slidingWindowDuration\": \"Varighet\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Varighet for glidende vindusperiode (m for minutt, h for time).\",\n    \"settings.performance.slidingWindowHelp\": \"Begrens totalt antall meldinger som sendes ut i en gitt periode. Når denne grensen nås, holdes meldinger tilbake til tidsvinduet nullstilles.\",\n    \"settings.performance.slidingWindowRate\": \"Maks. meldinger\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maksimalt antall meldinger som kan sendes innenfor vindusperioden.\",\n    \"settings.privacy.allowBlocklist\": \"Tillat blokkering\",\n    \"settings.privacy.allowBlocklistHelp\": \"Tillat abonnenter å melde seg av alle e-postlister og markere seg selv som blokkert?\",\n    \"settings.privacy.allowExport\": \"Tillat eksport\",\n    \"settings.privacy.allowExportHelp\": \"Tillat abonnenter å eksportere data som er samlet inn om dem?\",\n    \"settings.privacy.allowPrefs\": \"Tillat preferanseendringer\",\n    \"settings.privacy.allowPrefsHelp\": \"Tillat abonnenter å endre preferanser, for eksempel navn og hvilke lister de er abonnert på.\",\n    \"settings.privacy.allowWipe\": \"Tillat sletting\",\n    \"settings.privacy.allowWipeHelp\": \"Tillat abonnenter å slette seg selv, inkludert abonnementer og all annen data fra databasen. Kampanjevisninger og lenkeklikk fjernes også, mens statistikk og analyse forblir (uten tilknytning til abonnenter).\",\n    \"settings.privacy.domainAllowlist\": \"Domene-hviteliste\",\n    \"settings.privacy.domainAllowlistHelp\": \"Kun e-postadresser med disse domenene kan abonnere. Skriv ett domene per linje, f.eks: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Blokkerte domener\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-postadresser med disse domenene er ikke tillatt å abonnere. Skriv inn ett domene per linje, f.eks. somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Individuell abonnentsporing\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Spor abonnent-nivå kampanjevisninger og klikk. Når deaktivert, fortsetter sporingen av visninger og klikk uten å være koblet til individuelle abonnenter.\",\n    \"settings.privacy.listUnsubHeader\": \"Inkluder `List-Unsubscribe`-header\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inkluder avmeldingsoverskrifter som lar e-postklienter gi brukere mulighet til å melde seg av med ett klikk.\",\n    \"settings.privacy.name\": \"Personvern\",\n    \"settings.privacy.recordOptinIP\": \"Registrer opt-in IP-adresse\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registrer IP-adressen for dobbelt opt-ins i abonnentattributtene.\",\n    \"settings.restart\": \"Start på nytt\",\n    \"settings.security.CORSDomains\": \"Tillatte opprinnelser\",\n    \"settings.security.CORSDomainsHelp\": \"Tillat tilgang til API-endepunkter via nettleser Javascript fra eksterne domener. Skriv inn ett domene per linje (f.eks: https://example.com). La være tomt for å deaktivere CORS eller legg til * for å tillate alle (ikke anbefalt).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Opprett brukere automatisk\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Opprett automatisk bruker ved første pålogging hvis kontoen ikke eksisterer.\",\n    \"settings.security.OIDCClientID\": \"Klient-ID\",\n    \"settings.security.OIDCClientSecret\": \"Klienthemmelighet\",\n    \"settings.security.OIDCDefaultListRole\": \"Standard listerolle\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Standardrolle tildelt brukere som opprettes automatisk fra OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Standard brukerrolle\",\n    \"settings.security.OIDCHelp\": \"Aktiver OpenID Connect OAuth2-pålogging via en OAuth-leverandør.\",\n    \"settings.security.OIDCName\": \"Leverandørnavn\",\n    \"settings.security.OIDCRedirectURL\": \"Omdirigerings-URL for OAuth-leverandør\",\n    \"settings.security.OIDCRedirectWarning\": \"Dette ser ikke ut til å være en produksjons-URL. Endre Rot-URL i 'Generelle' innstillinger.\",\n    \"settings.security.OIDCURL\": \"Leverandør-URL\",\n    \"settings.security.OIDCWarning\": \"Når OIDC er aktivert, deaktiveres standard passordinnlogging. Ugyldig konfigurasjon kan låse deg ute.\",\n    \"settings.security.altchaComplexity\": \"Altcha-kompleksitet\",\n    \"settings.security.altchaComplexityHelp\": \"Høyere verdier gir bedre sikkerhet, men tregere løsning (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com SiteKey\",\n    \"settings.security.captchaKeyHelp\": \"Besøk www.hcaptcha.com for å få nøkkelen og hemmeligheten.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com hemmelighet\",\n    \"settings.security.enableCaptcha\": \"Aktiver CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Aktiver CAPTCHA på det offentlige abonnements-skjemaet.\",\n    \"settings.security.enableOIDC\": \"Aktiver OIDC SSO\",\n    \"settings.security.name\": \"Sikkerhet\",\n    \"settings.smtp.customHeaders\": \"Egendefinerte e-postoverskrifter\",\n    \"settings.smtp.customHeadersHelp\": \"Valgfri liste over e-postoverskrifter som skal inkluderes i alle meldinger sendt fra denne serveren. Eksempel: [{\\\"X-Custom\\\": \\\"verdi\\\"}, {\\\"X-Custom2\\\": \\\"verdi\\\"}]\",\n    \"settings.smtp.enabled\": \"Aktivert\",\n    \"settings.smtp.heloHost\": \"HELO vertsnavn\",\n    \"settings.smtp.heloHostHelp\": \"Valgfritt. Noen SMTP-servere krever et FQDN i vertsnavnet. Som standard sendes `localhost` i HELO. Sett dette hvis et tilpasset vertsnavn skal brukes.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Antall forsøk\",\n    \"settings.smtp.retriesHelp\": \"Antall ganger en melding skal forsøkes sendt på nytt hvis den feiler.\",\n    \"settings.smtp.sendTest\": \"Send test e-post\",\n    \"settings.smtp.setCustomHeaders\": \"Sett egendefinerte overskrifter\",\n    \"settings.smtp.testConnection\": \"Test tilkobling\",\n    \"settings.smtp.testEnterEmail\": \"Skriv inn passordet på nytt for å teste\",\n    \"settings.smtp.toEmail\": \"Til e-post\",\n    \"settings.title\": \"Innstillinger\",\n    \"settings.updateAvailable\": \"En ny oppdatering {version} er tilgjengelig.\",\n    \"subscribers.activity\": \"Aktivitet\",\n    \"subscribers.advancedQuery\": \"Avansert\",\n    \"subscribers.advancedQueryHelp\": \"Delvis SQL-uttrykk for å søke i abonnentattributter\",\n    \"subscribers.attribsHelp\": \"Attributter er definert som en JSON-mappe, for eksempel:\",\n    \"subscribers.blocklistedHelp\": \"Blokkerte abonnenter vil aldri motta e-poster.\",\n    \"subscribers.confirmBlocklist\": \"Blokker {num} abonnent(er)?\",\n    \"subscribers.confirmDelete\": \"Slett {num} abonnent(er)?\",\n    \"subscribers.confirmExport\": \"Eksporter {num} abonnent(er)?\",\n    \"subscribers.domainBlocklisted\": \"E-postdomenet er blokkert.\",\n    \"subscribers.downloadData\": \"Last ned data\",\n    \"subscribers.email\": \"E-post\",\n    \"subscribers.emailExists\": \"E-postadressen finnes allerede.\",\n    \"subscribers.errorBlocklisting\": \"Feil ved blokkering av abonnenter: {error}\",\n    \"subscribers.errorNoIDs\": \"Ingen ID-er oppgitt.\",\n    \"subscribers.errorNoListsGiven\": \"Ingen lister oppgitt.\",\n    \"subscribers.errorPreparingQuery\": \"Feil ved forberedelse av abonnentsøk: {error}\",\n    \"subscribers.errorSendingOptin\": \"Feil ved sending av opt-in e-post.\",\n    \"subscribers.export\": \"Eksporter\",\n    \"subscribers.invalidAction\": \"Ugyldig handling.\",\n    \"subscribers.invalidEmail\": \"Ugyldig e-postadresse.\",\n    \"subscribers.invalidJSON\": \"Ugyldig JSON i attributter.\",\n    \"subscribers.invalidName\": \"Ugyldig navn.\",\n    \"subscribers.listChangeApplied\": \"Listeendring brukt.\",\n    \"subscribers.lists\": \"Lister\",\n    \"subscribers.listsHelp\": \"Lister som abonnenter har meldt seg av kan ikke fjernes.\",\n    \"subscribers.listsPlaceholder\": \"Lister å abonnere på\",\n    \"subscribers.manageLists\": \"Administrer lister\",\n    \"subscribers.markUnsubscribed\": \"Marker som avmeldt\",\n    \"subscribers.newSubscriber\": \"Ny abonnent\",\n    \"subscribers.numSelected\": \"{num} abonnent(er) valgt\",\n    \"subscribers.optinSubject\": \"Bekreft abonnement\",\n    \"subscribers.preconfirm\": \"Forhåndsbekreft abonnementer\",\n    \"subscribers.preconfirmHelp\": \"Ikke send opt-in e-poster og marker alle listeabonnementer som 'abonnert'.\",\n    \"subscribers.query\": \"Søk\",\n    \"subscribers.queryPlaceholder\": \"E-post eller navn\",\n    \"subscribers.reset\": \"Tilbakestill\",\n    \"subscribers.selectAll\": \"Velg alle {num}\",\n    \"subscribers.sendOptinConfirm\": \"Send opt-in bekreftelse\",\n    \"subscribers.sentOptinConfirm\": \"Opt-in bekreftelse sendt\",\n    \"subscribers.status.blocklisted\": \"Blokkert\",\n    \"subscribers.status.confirmed\": \"Bekreftet\",\n    \"subscribers.status.enabled\": \"Aktivert\",\n    \"subscribers.status.subscribed\": \"Abonnert\",\n    \"subscribers.status.unconfirmed\": \"Ubekreftet\",\n    \"subscribers.status.unsubscribed\": \"Avmeldt\",\n    \"subscribers.subscribersDeleted\": \"{num} abonnent(er) slettet\",\n    \"templates.cantDeleteDefault\": \"Kan ikke slette ikke-eksisterende eller standardmal\",\n    \"templates.default\": \"Standard\",\n    \"templates.dummyName\": \"Eksempelkampanje\",\n    \"templates.dummySubject\": \"Eksempelkampanje emne\",\n    \"templates.errorCompiling\": \"Feil ved kompilering av mal: {error}\",\n    \"templates.errorRendering\": \"Feil ved gjengivelse av melding: {error}\",\n    \"templates.fieldInvalidName\": \"Ugyldig lengde på navn.\",\n    \"templates.makeDefault\": \"Sett som standard\",\n    \"templates.newTemplate\": \"Ny mal\",\n    \"templates.placeholderHelp\": \"Plassholderen {placeholder} skal vises nøyaktig én gang i malen.\",\n    \"templates.preview\": \"Forhåndsvisning\",\n    \"templates.rawHTML\": \"Rå HTML\",\n    \"templates.subject\": \"Emne\",\n    \"templates.typeCampaignHTML\": \"Kampanje / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampanje / Visuell\",\n    \"templates.typeTransactional\": \"Transaksjonell\",\n    \"users.apiOneTimeToken\": \"Kopier API-tilgangstokenet nå. Det vil ikke bli vist igjen.\",\n    \"users.cantDeleteRole\": \"Kan ikke slette rolle som er i bruk.\",\n    \"users.firstTime\": \"Dette er en fersk installasjon. Velg et brukernavn og passord for Super Admin-kontoen.\",\n    \"users.forgotPassword\": \"Glemt passord?\",\n    \"users.invalidLogin\": \"Ugyldig innlogging eller passord\",\n    \"users.invalidPassword\": \"Ugyldig passord\",\n    \"users.invalidRequest\": \"Ugyldig autentiseringsforespørsel\",\n    \"users.invalidResetLink\": \"Ugyldig eller utløpt tilbakestillingslenke\",\n    \"users.lastLogin\": \"Siste innlogging\",\n    \"users.listPerms\": \"Listerettigheter\",\n    \"users.listPermsWarning\": \"lists:get_all eller lists:manage_all er aktivert, noe som overstyrer per-liste tillatelser\",\n    \"users.listRole\": \"Listroller | Liste rolle\",\n    \"users.listRoles\": \"Listeroller\",\n    \"users.login\": \"Logg inn\",\n    \"users.loginOIDC\": \"Logg inn med {name}\",\n    \"users.logout\": \"Logg ut\",\n    \"users.needSuper\": \"Bruker(e) kunne ikke oppdateres. Det må være minst én aktiv Super Admin-bruker.\",\n    \"users.newListRole\": \"Ny listrolle\",\n    \"users.newPassword\": \"Nytt passord\",\n    \"users.newUser\": \"Ny bruker\",\n    \"users.newUserRole\": \"Ny brukerrolle\",\n    \"users.password\": \"Passord\",\n    \"users.passwordEnable\": \"Aktiver passordinnlogging\",\n    \"users.passwordMismatch\": \"Passordene stemmer ikke overens\",\n    \"users.passwordRepeat\": \"Gjenta passord\",\n    \"users.perms\": \"Tillatelser\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Hvis kontoen er aktiv, vil du motta en e-post for tilbakestilling av passord.\",\n    \"users.resetPassword\": \"Tilbakestill passord\",\n    \"users.role\": \"Rolle | Roller\",\n    \"users.roleGroup\": \"Gruppe\",\n    \"users.roles\": \"Roller\",\n    \"users.status.disabled\": \"Deaktivert\",\n    \"users.status.enabled\": \"Aktivert\",\n    \"users.totpCode\": \"TOTP-kode\",\n    \"users.totpCodeHelp\": \"Skriv inn 6-sifret kode fra autentiseringsappen din\",\n    \"users.totpScanQR\": \"Skann QR-koden med autentiseringsappen din, for eksempel Ente eller Google Authenticator, og skriv inn TOTP-koden nedenfor.\",\n    \"users.totpSecret\": \"Hemmelig nøkkel\",\n    \"users.twoFA\": \"Tofaktorgodkjenning\",\n    \"users.twoFAAlreadyEnabled\": \"Tofaktorgodkjenning er allerede aktivert.\",\n    \"users.twoFAEnabled\": \"Tofaktorgodkjenning er på\",\n    \"users.twoFAEnabledDesc\": \"Kontoen din er beskyttet med {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Aktiver 2FA for ekstra sikkerhet når du logger inn på kontoen din.\",\n    \"users.type\": \"Type\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Superadmin\",\n    \"users.type.user\": \"Bruker\",\n    \"users.userRole\": \"Brukerrolle | Brukerroller\",\n    \"users.userRoles\": \"Brukerroller\",\n    \"users.username\": \"Brukernavn\",\n    \"users.usernameHelp\": \"Brukes med passordinnlogging\"\n}\n"
  },
  {
    "path": "i18n/pl.json",
    "content": "{\n    \"_.code\": \"pl\",\n    \"_.name\": \"Polski (pl)\",\n    \"admin.errorMarshallingConfig\": \"Błąd przerabiania konfiguracji: {error}\",\n    \"analytics.count\": \"Liczba\",\n    \"analytics.fromDate\": \"Od\",\n    \"analytics.invalidDates\": \"Nieprawidłowe daty `from` lub `to`.\",\n    \"analytics.isUnique\": \"Zliczenia są unikalne dla każdego subskrybenta.\",\n    \"analytics.links\": \"Linki\",\n    \"analytics.nonUnique\": \"Zliczenia nie są unikalne, ponieważ indywidualne śledzenie subskrybentów jest wyłączone.\",\n    \"analytics.title\": \"Analityka\",\n    \"analytics.toDate\": \"Do\",\n    \"bounces.complaint\": \"Reklamacja\",\n    \"bounces.hard\": \"Trudny\",\n    \"bounces.soft\": \"Miękki\",\n    \"bounces.source\": \"Źródło\",\n    \"bounces.unknownService\": \"Nieznane usługi.\",\n    \"bounces.view\": \"Zobacz odbicia\",\n    \"campaigns.addAltText\": \"Dodaj alternatywną wiadomość jako plain text\",\n    \"campaigns.addAttachments\": \"Dodaj załączniki\",\n    \"campaigns.archive\": \"Archiwizacja\",\n    \"campaigns.archiveEnable\": \"Opublikuj do publicznego archiwum\",\n    \"campaigns.archiveHelp\": \"Opublikuj (w trakcie, zatrzymane, zakończone) treść kampanii do publicznego archiwum.\",\n    \"campaigns.archiveMeta\": \"Metadane kampanii\",\n    \"campaigns.archiveMetaHelp\": \"Dane podstawione subskrybenta do użycia w publicznym archiwum. W tym nazwa, email, i dowolne opcjonalne atrybuty użyte w szablonie kampanii.\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Krótka nazwa strony do użycia w publicznym adresie URL. np. moje-wydanie-newslettera-2\",\n    \"campaigns.attachments\": \"Załączniki\",\n    \"campaigns.attribsHelp\": \"Niestandardowy obiekt JSON {} atrybutów dla tej kampanii. Używaj w szablonie z {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Nie można aktualizować aktywnej ani zakończonej kampanii\",\n    \"campaigns.clicks\": \"Kliknięcia\",\n    \"campaigns.confirmDelete\": \"Usuń {name}\",\n    \"campaigns.confirmOverwriteContent\": \"To spowoduje nadpisanie całej zawartości. Kontynuować?\",\n    \"campaigns.confirmSchedule\": \"Ta kampania rozpocznie się automatycznie o danej dacie i danym czasie. Czy zaplanować teraz?\",\n    \"campaigns.confirmSwitchFormat\": \"Treść może utracić formatowanie. Kontynuować?\",\n    \"campaigns.content\": \"Treść\",\n    \"campaigns.contentHelp\": \"Treść tutaj\",\n    \"campaigns.continue\": \"Kontynuuj\",\n    \"campaigns.copyOf\": \"Kopia {name}\",\n    \"campaigns.customHeadersHelp\": \"Tablica niestandardowych nagłówków do dołączenia do wiadomości wychodzących. np: [{\\\"X-Custom\\\": \\\"wartosc\\\"}, {\\\"X-Custom2\\\": \\\"wartosc\\\"}]\",\n    \"campaigns.dateAndTime\": \"Data i czas\",\n    \"campaigns.ended\": \"Zakończona\",\n    \"campaigns.errorSendTest\": \"Błąd wysyłania testu: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Błąd kompilacji treści kampanii: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Nieprawidłowy `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Nieprawidłowa lista identyfikatorów (IDs)\",\n    \"campaigns.fieldInvalidMessenger\": \"Nieznany komunikator {name}.\",\n    \"campaigns.fieldInvalidName\": \"Nieprawidłowa długość dla nazwy.\",\n    \"campaigns.fieldInvalidSendAt\": \"Zaplanowana data powinna być w przyszłości.\",\n    \"campaigns.fieldInvalidSubject\": \"Nieprawidłowa długość tytułu\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formatuj jako HTML\",\n    \"campaigns.fromAddress\": \"Adres od\",\n    \"campaigns.fromAddressPlaceholder\": \"Twoja Nazwa <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importuj szablon wizualny\",\n    \"campaigns.invalid\": \"Nieprawidłowa kampania\",\n    \"campaigns.invalidCustomHeaders\": \"Nieprawidłowe niestandardowe nagłówki: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampania wymaga daty w celu zaplanowania.\",\n    \"campaigns.newCampaign\": \"Nowa kampania\",\n    \"campaigns.noKnownSubsToTest\": \"Brak znanych subskrybentów do testów.\",\n    \"campaigns.noOptinLists\": \"Nie znaleziono list typu opt-in do stworzenia kampanii.\",\n    \"campaigns.noSubs\": \"Nie ma subskrybentów w wybranej liście w celu stworzenia kampanii.\",\n    \"campaigns.noSubsToTest\": \"Brak subskrybentów do wyboru.\",\n    \"campaigns.notFound\": \"Kampania nieznaleziona.\",\n    \"campaigns.onlyActiveCancel\": \"Tylko aktywne kampanie mogą być anulowane.\",\n    \"campaigns.onlyActivePause\": \"Tylko aktywne kampanie mogą być pauzowane.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Tylko szkice kampanii mogą być planowane.\",\n    \"campaigns.onlyPausedDraft\": \"Tylko kampanie pauzowane i szkice mogą być startowane.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Tylko planowane kampanie mogą być zapisane jako szkic.\",\n    \"campaigns.pause\": \"Pauza\",\n    \"campaigns.plainText\": \"Czysty tekst\",\n    \"campaigns.preview\": \"Podgląd\",\n    \"campaigns.progress\": \"Postęp\",\n    \"campaigns.queryPlaceholder\": \"Nazwa lub temat\",\n    \"campaigns.rateMinuteShort\": \"min.\",\n    \"campaigns.rawHTML\": \"Surowy HTML\",\n    \"campaigns.removeAltText\": \"Usuń alternatywną treść typu plain text\",\n    \"campaigns.richText\": \"Wzbogacony format tekstowy (Rich text)\",\n    \"campaigns.schedule\": \"Zaplanuj kampanię\",\n    \"campaigns.scheduled\": \"Zaplanowana\",\n    \"campaigns.send\": \"Wyślij\",\n    \"campaigns.sendLater\": \"Wyślij później\",\n    \"campaigns.sendTest\": \"Wyślij wiadomość testową\",\n    \"campaigns.sendTestHelp\": \"Naciśnij Enter po wypisaniu adresu w celu dodania kolejnych odbiorców. Adresy muszą należeć do istniejących subskrybentów.\",\n    \"campaigns.sendToLists\": \"Listy do których wysłać\",\n    \"campaigns.sent\": \"Wysłana\",\n    \"campaigns.start\": \"Wystartuj kampanię\",\n    \"campaigns.started\": \"\\\"{name}\\\" wystartowana\",\n    \"campaigns.startedAt\": \"Wystartowana\",\n    \"campaigns.stats\": \"Statystyki\",\n    \"campaigns.status.cancelled\": \"Anulowana\",\n    \"campaigns.status.draft\": \"Szkic\",\n    \"campaigns.status.finished\": \"Zakończona\",\n    \"campaigns.status.paused\": \"Spauzowana\",\n    \"campaigns.status.running\": \"W trakcie\",\n    \"campaigns.status.scheduled\": \"Zaplanowana\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" jest {status}\",\n    \"campaigns.subject\": \"Temat\",\n    \"campaigns.templatingRef\": \"Referencja szablonów\",\n    \"campaigns.testEmails\": \"E-maile\",\n    \"campaigns.testSent\": \"Wiadomość testowa wysłana\",\n    \"campaigns.timestamps\": \"Sygnatury czasowe\",\n    \"campaigns.trackLink\": \"Link śledzący\",\n    \"campaigns.unSchedule\": \"Anuluj harmonogram\",\n    \"campaigns.views\": \"Wyświetlenia\",\n    \"campaigns.visual\": \"Wizualny\",\n    \"dashboard.campaignViews\": \"Wyświetlenia kampanii\",\n    \"dashboard.linkClicks\": \"Kliknięcia linków\",\n    \"dashboard.messagesSent\": \"Wiadomości wysłane \",\n    \"dashboard.orphanSubs\": \"Porzucone\",\n    \"email.data.info\": \"Kopia wszystkich zarejestrowanych danych o Tobie jest dołączona jako plik w formacie JSON. Może zostać otworzona w edytorze tekstu.\",\n    \"email.data.title\": \"Twoje dane\",\n    \"email.forgotPassword.button\": \"Resetuj hasło\",\n    \"email.forgotPassword.info\": \"Jeśli nie żądałeś tego, możesz bezpiecznie zignorować tę wiadomość. Ten link wygaśnie za 30 minut.\",\n    \"email.forgotPassword.subject\": \"Resetuj swoje hasło\",\n    \"email.optin.confirmSub\": \"Potwierdź subskrypcję\",\n    \"email.optin.confirmSubHelp\": \"Potwierdź subskrypcję naciskając przycisk poniżej.\",\n    \"email.optin.confirmSubInfo\": \"Zostałeś dodany(a) do następujących list:\",\n    \"email.optin.confirmSubTitle\": \"Potwierdź subskrypcję\",\n    \"email.optin.confirmSubWelcome\": \"Cześć\",\n    \"email.optin.privateList\": \"Lista prywatna\",\n    \"email.status.campaignReason\": \"Powód\",\n    \"email.status.campaignSent\": \"Wysłane\",\n    \"email.status.campaignUpdateTitle\": \"Aktualizacja kampanii\",\n    \"email.status.importFile\": \"Plik\",\n    \"email.status.importRecords\": \"Rekordy\",\n    \"email.status.importTitle\": \"Importuj aktualizacjię\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Odsubskrybuj\",\n    \"email.unsubHelp\": \"Nie chcesz otrzymywać tych maili?\",\n    \"email.viewInBrowser\": \"Zobacz w przeglądarce\",\n    \"forms.formHTML\": \"Formularz HTML\",\n    \"forms.formHTMLHelp\": \"Użyj następującego kodu HTML w celu wyświetlenia formularza na zewnętrznej stronie. Formularz powinien mieć pole z adresem email i jedno lub więcej pól z `l` (UUID listy). Pole z nazwą jest opcjonalne.\",\n    \"forms.noPublicLists\": \"Nie ma publicznych list do wygenerowania formularza.\",\n    \"forms.publicLists\": \"Publiczne listy\",\n    \"forms.publicSubPage\": \"Publiczna strona subskrypcji\",\n    \"forms.selectHelp\": \"Wybierz listy do dodania do formularza\",\n    \"forms.title\": \"Formularze\",\n    \"globals.buttons.add\": \"Dodaj\",\n    \"globals.buttons.addNew\": \"Dodaj nowe\",\n    \"globals.buttons.back\": \"Wstecz\",\n    \"globals.buttons.cancel\": \"Anuluj\",\n    \"globals.buttons.clear\": \"Usuń\",\n    \"globals.buttons.clearAll\": \"Usuń wszystkie\",\n    \"globals.buttons.clone\": \"Klonuj\",\n    \"globals.buttons.close\": \"Zamknij\",\n    \"globals.buttons.continue\": \"Kontynuuj\",\n    \"globals.buttons.copy\": \"Kopiuj\",\n    \"globals.buttons.delete\": \"Usuń\",\n    \"globals.buttons.deleteAll\": \"Usuń wszystkie\",\n    \"globals.buttons.disable\": \"Wyłącz\",\n    \"globals.buttons.edit\": \"Edytuj\",\n    \"globals.buttons.enable\": \"Włącz\",\n    \"globals.buttons.enabled\": \"Włączone\",\n    \"globals.buttons.insert\": \"Wstaw\",\n    \"globals.buttons.learnMore\": \"Dowiedz się więcej\",\n    \"globals.buttons.manage\": \"Zarządzaj\",\n    \"globals.buttons.more\": \"Więcej\",\n    \"globals.buttons.new\": \"Nowa\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Usuń\",\n    \"globals.buttons.save\": \"Zapisz\",\n    \"globals.buttons.saveChanges\": \"Zapisz zmiany\",\n    \"globals.buttons.toggleSelect\": \"Przełącz zaznaczenie\",\n    \"globals.buttons.view\": \"Zobacz\",\n    \"globals.days.0\": \"Nd\",\n    \"globals.days.1\": \"Nd\",\n    \"globals.days.2\": \"Pon\",\n    \"globals.days.3\": \"Wt\",\n    \"globals.days.4\": \"Śr\",\n    \"globals.days.5\": \"Czw\",\n    \"globals.days.6\": \"Pt\",\n    \"globals.days.7\": \"Sob\",\n    \"globals.fields.createdAt\": \"Utworzone\",\n    \"globals.fields.description\": \"Opis\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nazwa\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Typ\",\n    \"globals.fields.updatedAt\": \"Zaktualizowano\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Na pewno?\",\n    \"globals.messages.confirmDelete\": \"Usunąć {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Odrzucić zmiany?\",\n    \"globals.messages.copied\": \"Skopiowane\",\n    \"globals.messages.created\": \"\\\"{name}\\\" utworzono\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" usunięto\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) usunięto\",\n    \"globals.messages.done\": \"Zrobione\",\n    \"globals.messages.emptyState\": \"Nic tutaj nie ma\",\n    \"globals.messages.errorCreating\": \"Błąd podczas tworzenia {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Błąd podczas usuwania {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Błąd podczas pobierania {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Podano jeden lub więcej nieprawidłowy ID: {error}\",\n    \"globals.messages.errorUUID\": \"Błąd podczas generowania UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Błąd podczas aktualizacji {name}: {error}\",\n    \"globals.messages.internalError\": \"Błąd serwera\",\n    \"globals.messages.invalidData\": \"Nieprawidłowe dane\",\n    \"globals.messages.invalidFields\": \"Nieprawidłowe pola: {name}\",\n    \"globals.messages.invalidID\": \"Nieprawidłowy ID\",\n    \"globals.messages.invalidUUID\": \"Nieprawidłowy UUID\",\n    \"globals.messages.invalidValue\": \"Nieprawidłowa wartość\",\n    \"globals.messages.missingFields\": \"Brakujące pole(a): {name}\",\n    \"globals.messages.notFound\": \"{name} nie znaleziono\",\n    \"globals.messages.numSelected\": \"{num} wybrano\",\n    \"globals.messages.passwordChange\": \"Podaj wartość do zmiany\",\n    \"globals.messages.passwordChangeFull\": \"Wyczyść i ponownie wprowadź pełne hasło w '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Brak uprawnień: {name}\",\n    \"globals.messages.selectAll\": \"Zaznacz wszystkie {num}\",\n    \"globals.messages.slowQueriesCached\": \"Wolne zapytania są buforowane. Niektóre liczby na tej stronie mogą być nieaktualne.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" zaktualizowano\",\n    \"globals.months.1\": \"Sty\",\n    \"globals.months.10\": \"Paź\",\n    \"globals.months.11\": \"Lis\",\n    \"globals.months.12\": \"Gru\",\n    \"globals.months.2\": \"Lut\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Kwie\",\n    \"globals.months.5\": \"Maj\",\n    \"globals.months.6\": \"Czer\",\n    \"globals.months.7\": \"Lip\",\n    \"globals.months.8\": \"Sie\",\n    \"globals.months.9\": \"Wrz\",\n    \"globals.states.off\": \"Wyłączone\",\n    \"globals.terms.all\": \"Wszystkie\",\n    \"globals.terms.analytics\": \"Analityka\",\n    \"globals.terms.attribs\": \"Atrybuty\",\n    \"globals.terms.bounce\": \"Odbicie\",\n    \"globals.terms.bounces\": \"Odbicia\",\n    \"globals.terms.campaign\": \"Kampania | Kampanie\",\n    \"globals.terms.campaigns\": \"Kampanie\",\n    \"globals.terms.dashboard\": \"Przegląd\",\n    \"globals.terms.day\": \"Dzień | Dni\",\n    \"globals.terms.hour\": \"Godzina | Godzin\",\n    \"globals.terms.import\": \"Importuj\",\n    \"globals.terms.list\": \"Lista | Listy\",\n    \"globals.terms.lists\": \"Listy\",\n    \"globals.terms.media\": \"Media\",\n    \"globals.terms.messenger\": \"Komunikator | Komunikatory\",\n    \"globals.terms.messengers\": \"Komunikatory\",\n    \"globals.terms.minute\": \"Minuta | Minut\",\n    \"globals.terms.month\": \"Miesiąc | Miesięcy\",\n    \"globals.terms.new\": \"Nowy\",\n    \"globals.terms.none\": \"Brak\",\n    \"globals.terms.second\": \"Sekunda | Sekundy\",\n    \"globals.terms.settings\": \"Ustawienia\",\n    \"globals.terms.subscriber\": \"Subskrypcja | Subskrypcje\",\n    \"globals.terms.subscribers\": \"Subskrypcje\",\n    \"globals.terms.subscriptions\": \"Subskrypcja | Subskrypcje\",\n    \"globals.terms.tag\": \"Tag | Tagi\",\n    \"globals.terms.tags\": \"Tagi\",\n    \"globals.terms.template\": \"Szablon | Szablony\",\n    \"globals.terms.templates\": \"Szablony\",\n    \"globals.terms.tx\": \"Transakcyjne | Transakcyjne\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Użytkownik | Użytkownicy\",\n    \"globals.terms.users\": \"Użytkownicy\",\n    \"globals.terms.year\": \"Rok | Lat\",\n    \"import.alreadyRunning\": \"Importowanie jest już uruchomione. Poczekaj, aż się zakończy, albo zatrzymaj je przed ponowną próbą.\",\n    \"import.blocklist\": \"Lista zablokowanych\",\n    \"import.csvDelim\": \"Separator CSV\",\n    \"import.csvDelimHelp\": \"Domyślnym separatorem jest przecinek.\",\n    \"import.csvExample\": \"Przykładowy \\\"surowy\\\" CSV.\",\n    \"import.csvFile\": \"Plik CSV lub ZIP\",\n    \"import.csvFileHelp\": \"Naciśnij lub przerzuć plik CSV lub ZIP w to miejsce.\",\n    \"import.errorCopyingFile\": \"Błąd kopiowania pliku: {error}\",\n    \"import.errorProcessingZIP\": \"Błąd procesowania pliku ZIP: {error}\",\n    \"import.errorStarting\": \"Błąd rozpoczynania importu: {error}\",\n    \"import.importDone\": \"Zrobione\",\n    \"import.importStarted\": \"Import rozpoczęty\",\n    \"import.instructions\": \"Instrukcje\",\n    \"import.instructionsHelp\": \"Wrzuć plik CSV lub ZIP z pojedynczym plikiem CSV w celu masowego importowania subskybentów. Plik CSV powinien posiadać wskazane nagłówki kolumn z dokładnie tymi nazwami. Atrybuty (opcjonalne) powinny być zapisane w poprawnym formacje JSON z podwójnie escapowanymi cudzysłowami.\",\n    \"import.invalidDelim\": \"Separator powinien być pojedynczym znakiem.\",\n    \"import.invalidFile\": \"Nieprawidłowy plik: {error}\",\n    \"import.invalidMode\": \"Nieprawidłowy tryp\",\n    \"import.invalidParams\": \"Nieprawidłowe parametry: {error}\",\n    \"import.invalidSubStatus\": \"Nieprawidłowy status subskrypcji\",\n    \"import.listSubHelp\": \"Listy do subskrybowania.\",\n    \"import.mode\": \"Tryb\",\n    \"import.overwriteSubStatus\": \"Zastąp status subskrypcji\",\n    \"import.overwriteSubStatusHelp\": \"Zastąp status istniejących subskrypcji listy\",\n    \"import.overwriteUserInfo\": \"Zastąp informacje użytkownika\",\n    \"import.overwriteUserInfoHelp\": \"Zastąp imię i atrybuty istniejących abonentów\",\n    \"import.recordsCount\": \"{num} / {total} rekordów\",\n    \"import.stopImport\": \"Zatrzymaj import\",\n    \"import.subscribe\": \"Subskrypcje\",\n    \"import.subscribeWarning\": \"Nadpisanie spowoduje ponowne zasubskrybowanie emaili, które zostały zrezygnowane z subskrypcji. Kontynuować?\",\n    \"import.title\": \"Importuj subskrypcje\",\n    \"import.upload\": \"Wyślij\",\n    \"lists.archived\": \"Zarchiwizowane\",\n    \"lists.archivedHelp\": \"Archiwizacja ukrywa listy ze strony list, kampanii i formularzy publicznych. Może być rozarchiwizowana w dowolnym momencie. Przydatne do ukrywania starych i rzadko używanych list.\",\n    \"lists.confirmDelete\": \"Jesteś pewny(a)? To nie usunie subskrybcji.\",\n    \"lists.confirmSub\": \"Potwierdź subskrypcję dla  {name}\",\n    \"lists.invalidName\": \"Nieprawidłowa nazwa\",\n    \"lists.newList\": \"Nowa lista\",\n    \"lists.optin\": \"Zgoda na otrzymywanie\",\n    \"lists.optinHelp\": \"Podwójny opt-in wysyła e-mail do subskrybenta z zapytaniem o potwierdzenie. W listach z podwójnym opt-in kampanie są wysyłane tylko do potwierdzonych subskrybentów.\",\n    \"lists.optinTo\": \"Opt-in do {name}\",\n    \"lists.optins.double\": \"Podwójny opt-in\",\n    \"lists.optins.single\": \"Pojedynczy opt-in\",\n    \"lists.sendCampaign\": \"Wyślij kampanię\",\n    \"lists.sendOptinCampaign\": \"Wyślij kampanię opt-in\",\n    \"lists.type\": \"Typ\",\n    \"lists.typeHelp\": \"Publiczne listy są otwarte do świata i każdy może się zapisać. Nazwy są widoczne np. na stronie do zarządzania subskrypcją.\",\n    \"lists.types.private\": \"Prywatna\",\n    \"lists.types.public\": \"Publiczna\",\n    \"logs.title\": \"Logi\",\n    \"maintenance.database.title\": \"Baza danych\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE odzyskuje pamięć zajętą przez usunięte wiersze i znacznie przyspiesza wydajność bazy danych na dużych bazach. WAŻNE: Dla dużych baz danych jest to powolna operacja blokująca. Zaplanuj jej uruchomienie w godzinach szczytu.\",\n    \"maintenance.help\": \"Niektóre akcje mogą zająć dłużej, w zależności od ilości danych.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Niepotwierdzone subskrypcje opt-in.\",\n    \"maintenance.olderThan\": \"Starsze niż\",\n    \"maintenance.orphanHelp\": \"Sieroty = abonenci bez list\",\n    \"maintenance.title\": \"Konserwacja\",\n    \"maintenance.unconfirmedSubs\": \"Niepotwierdzone subskrypcje starsze niż {name} dni.\",\n    \"media.errorReadingFile\": \"Błąd odczytu pliku: {error}\",\n    \"media.errorResizing\": \"Błąd zmiany rozmiaru obrazu: {error}\",\n    \"media.errorSavingThumbnail\": \"Błąd zapisywania miniaturki: {error}\",\n    \"media.errorUploading\": \"Błąd wgrywania pliku: {error}\",\n    \"media.invalidFile\": \"Nieprawidłowy plik: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Niewspierany typ pliku ({type})\",\n    \"media.upload\": \"Wysyłanie\",\n    \"media.uploadHelp\": \"Kliknij lub przeciągnij jeden lub więcej plików tutaj\",\n    \"menu.allCampaigns\": \"Wszystkie kampanie\",\n    \"menu.allLists\": \"Wszystkie listy\",\n    \"menu.allSubscribers\": \"Wszyscy subskrybenci\",\n    \"menu.dashboard\": \"Przegląd\",\n    \"menu.forms\": \"Formularze\",\n    \"menu.import\": \"Importuj\",\n    \"menu.logs\": \"Logi\",\n    \"menu.maintenance\": \"Konserwacja\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Utwórz nową\",\n    \"menu.settings\": \"Ustawienia\",\n    \"public.archiveEmpty\": \"Nie ma zarchiwizowanych wiadomości.\",\n    \"public.archiveTitle\": \"Archiwum\",\n    \"public.blocklisted\": \"Na stałe odsubskrybowany.\",\n    \"public.campaignNotFound\": \"Wiadomość email nie została znaleziona.\",\n    \"public.confirmOptinSubTitle\": \"Potwierdź subskrypcję\",\n    \"public.confirmSub\": \"Potwierdź subskrypcję\",\n    \"public.confirmSubInfo\": \"Zostałeś(aś) dodany(a) do następujących listy:\",\n    \"public.confirmSubTitle\": \"Potwierdź\",\n    \"public.dataRemoved\": \"Twoja subskrypcja i wszystkie powiązane dane została usunięta.\",\n    \"public.dataRemovedTitle\": \"Dane usunięte\",\n    \"public.dataSent\": \"Twoje dane został przesłane do Ciebie mailem w formie załącznika.\",\n    \"public.dataSentTitle\": \"Dane przesłanie mailem\",\n    \"public.errorFetchingCampaign\": \"Błąd pobierania wiadomości email.\",\n    \"public.errorFetchingEmail\": \"Wiadomość email nie została znaleziona\",\n    \"public.errorFetchingLists\": \"Błąd pobierania list. Spróbuj ponownie.\",\n    \"public.errorProcessingRequest\": \"Błąd przetwarzania żądania. Spróbuj ponownie.\",\n    \"public.errorTitle\": \"Błąd\",\n    \"public.invalidCaptcha\": \"Nieprawidłowa CAPTCHA.\",\n    \"public.invalidFeature\": \"Ta funkcjonalność jest niedostępna.\",\n    \"public.invalidLink\": \"Nieprawidłowy link.\",\n    \"public.managePrefs\": \"Zmień preferencje\",\n    \"public.managePrefsUnsub\": \"Odznacz listy, z których chcesz się wypisać\",\n    \"public.noListsAvailable\": \"Brak list do subkskrybowania.\",\n    \"public.noListsSelected\": \"Brak prawidłowych list wybranych do subskrybowania.\",\n    \"public.noSubInfo\": \"Brak subskrypcji do potwierdzenia.\",\n    \"public.noSubTitle\": \"Brak subskrypcji \",\n    \"public.notFoundTitle\": \"Nie znaleziono\",\n    \"public.poweredBy\": \"Napędzane przez\",\n    \"public.prefsSaved\": \"Twoje preferencje zostały zapisane\",\n    \"public.privacyConfirmWipe\": \"Czy jesteś pewny(a), że chcesz usunąć wszystkie swoje dane?\",\n    \"public.privacyExport\": \"Eksportuj swoje dane\",\n    \"public.privacyExportHelp\": \"Kopia twoich danych zostanie przesłana do ciebie mailem.\",\n    \"public.privacyTitle\": \"Prywatność i dane\",\n    \"public.privacyWipe\": \"Usuń swoje dane\",\n    \"public.privacyWipeHelp\": \"Usuń wszystkie swoje subskrypcje i dane z nimi związanie permanentnie z bazy danych.\",\n    \"public.sub\": \"Subskrybuj\",\n    \"public.subConfirmed\": \"Pomyślnie zasubskrybowano.\",\n    \"public.subConfirmedTitle\": \"Potwierdzono\",\n    \"public.subName\": \"Nazwa (opcjonalnie)\",\n    \"public.subNotFound\": \"Subskrypcja nie została znaleziona\",\n    \"public.subOptinPending\": \"Została wysłana wiadomość w celu potwierdzenia subskrypcji.\",\n    \"public.subPrivateList\": \"Lista prywatna\",\n    \"public.subTitle\": \"Subskrybuj\",\n    \"public.unsub\": \"Odsubskrybuj\",\n    \"public.unsubFull\": \"Również odsubskrybuj od wszystkich przyszłych maili.\",\n    \"public.unsubHelp\": \"Czy chcesz się wypisać z tej listy mailowej?\",\n    \"public.unsubTitle\": \"Wypisz się\",\n    \"public.unsubbedInfo\": \"Pomyślnie odsubskrybowano\",\n    \"public.unsubbedTitle\": \"Odsubskrybowano\",\n    \"public.unsubscribeTitle\": \"Wypisz się z listy mailingowej\",\n    \"settings.appearance.adminHelp\": \"Niestandardowy CSS do interfejsu admina.\",\n    \"settings.appearance.adminName\": \"Administrator\",\n    \"settings.appearance.customCSS\": \"Niestandardowy CSS\",\n    \"settings.appearance.customJS\": \"Niestandardowy JavaScript\",\n    \"settings.appearance.name\": \"Wygląd\",\n    \"settings.appearance.publicHelp\": \"Niestandardowy CSS i JavaScript do publicznych stron.\",\n    \"settings.appearance.publicName\": \"Publiczne\",\n    \"settings.bounces.action\": \"Akcja\",\n    \"settings.bounces.blocklist\": \"Lista zablokowanych\",\n    \"settings.bounces.count\": \"Liczba odbić\",\n    \"settings.bounces.countHelp\": \"Liczba odbić na subskrybenta\",\n    \"settings.bounces.enable\": \"Włącz procesowanie odbić\",\n    \"settings.bounces.enableForwardemail\": \"Włącz przekazywanie e-maili\",\n    \"settings.bounces.enableMailbox\": \"Włącz skrzynkę pocztową z odbiciami\",\n    \"settings.bounces.enablePostmark\": \"Włącz Postmark\",\n    \"settings.bounces.enableSES\": \"Włącz SES\",\n    \"settings.bounces.enableSendgrid\": \"Włącz SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Włącz webhooki odbić\",\n    \"settings.bounces.enabled\": \"Włączone\",\n    \"settings.bounces.folder\": \"Folder\",\n    \"settings.bounces.folderHelp\": \"Nazwa folderu IMAP do skanowania. Np: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Klucz przekazywania e-maili\",\n    \"settings.bounces.invalidScanInterval\": \"Interwał czasu powinien być minimum 1 minuta.\",\n    \"settings.bounces.name\": \"Odbicia\",\n    \"settings.bounces.none\": \"Brak\",\n    \"settings.bounces.postmarkPassword\": \"Hasło Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nazwa użytkownika Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark umożliwia włączenie podstawowej autoryzacji dla webhooków. Upewnij się, że wprowadzasz te same dane uwierzytelniające tutaj i w ustawieniach webhooków Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interwał skanowania\",\n    \"settings.bounces.scanIntervalHelp\": \"Interwał czasu przeszukiwania skrzynki w poszkukiwaniu odbić (s dla sekund, m dla minut).\",\n    \"settings.bounces.sendgridKey\": \"Klucz SendGrid\",\n    \"settings.bounces.type\": \"Typ\",\n    \"settings.bounces.username\": \"Nazwa użytkownika\",\n    \"settings.confirmRestart\": \"Upewnij się, że uruchomione kampanie są zapauzowane. Zrestartować?\",\n    \"settings.duplicateMessengerName\": \"Powtórzona nazwa komunikatora: {name}\",\n    \"settings.errorEncoding\": \"Błąd szyfrowania ustawień: {error}\",\n    \"settings.errorNoSMTP\": \"Co najmniej jeden blok SMTP powinien być aktywowany\",\n    \"settings.general.adminNotifEmails\": \"Adres email do powiadomień admina\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista maili oddzielona przecinkami do adminów, którym przesyłać informacje o importach, zakończonych kampaniach, błędach itd. \",\n    \"settings.general.checkUpdates\": \"Sprawdź czy są aktualizacje\",\n    \"settings.general.checkUpdatesHelp\": \"Regularnie sprawdzaj czy są aktualizacje i powiadamiaj o tym.\",\n    \"settings.general.enablePublicArchive\": \"Włącz publiczną stronę archiwum listy mailingowej\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publikuj kampanie z włączoną archiwizacją na publicznej stronie\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Pokaż pełną treść w kanale RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Pokaż pełną treść wiadomości e-mail w kanale RSS. Jeśli jest wyłączone, wyświetlane są tylko tytuł i elementy linku.\",\n    \"settings.general.enablePublicSubPage\": \"Włącz publiczną stronę subskrypcji\",\n    \"settings.general.enablePublicSubPageHelp\": \"Pokaż publiczną stronę do zapisu na subskrypcje publicznych list.\",\n    \"settings.general.faviconURL\": \"URL Favicony\",\n    \"settings.general.faviconURLHelp\": \"(Opcjonalnie) pełny URL do statycznej favicony. Będzie używana na takich stronach jak np strona do wypisania się ze subskrypcji.\",\n    \"settings.general.fromEmail\": \"Domyślny email `od`\",\n    \"settings.general.fromEmailHelp\": \"Domyślny email `od` do pokazania w wychodzących kampaniach emailowych. Może zostać zmienione w kampanii.\",\n    \"settings.general.language\": \"Język\",\n    \"settings.general.logoURL\": \"URL loga\",\n    \"settings.general.logoURLHelp\": \"(Opcjonalne) pełny URL do statycznego loga. Będzie używana na takich stronach jak np strona do wypisania się ze subskrypcji.\",\n    \"settings.general.name\": \"Ogólne\",\n    \"settings.general.rootURL\": \"Bazowy URL\",\n    \"settings.general.rootURLHelp\": \"Publiczny URL instalacji (bez slasha na końcu)\",\n    \"settings.general.sendOptinConfirm\": \"Wyślij potwierdzenie opt-in\",\n    \"settings.general.sendOptinConfirmHelp\": \"Gdy nowi subskrybenci się zapiszą albo zostaną dodani przez formularz admina wysyłaj maila opt-in z żądaniem potwierdzenia.\",\n    \"settings.general.siteName\": \"Nazwa strony\",\n    \"settings.invalidMessengerName\": \"Nieprawidłowa nazwa komunikatora.\",\n    \"settings.mailserver.authProtocol\": \"Protokół autoryzacji\",\n    \"settings.mailserver.host\": \"Host\",\n    \"settings.mailserver.hostHelp\": \"Adres serwera SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Czas bezczynności\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekud, m dla minut).\",\n    \"settings.mailserver.maxConns\": \"Maksymalna liczba połączeń\",\n    \"settings.mailserver.maxConnsHelp\": \"Maksymalna liczba jednoczesnych połączeń do serwera SMTP.\",\n    \"settings.mailserver.nameHelp\": \"Opcjonalna unikalna nazwa serwera SMTP. Musi mieć prefiks email-. Ustawienie to pozwala na wybranie konkretnego serwera dla kampanii. np.: email-primary-server. Znaki alfanumeryczne / myślnik.\",\n    \"settings.mailserver.password\": \"Hasło\",\n    \"settings.mailserver.passwordHelp\": \"Wpisz w celu zmiany\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Port serwera SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Pomiń weryfikację TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Pomiń sprawdzanie nazwy hosta dla certyfikatu TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Włącz STARTTLS.\",\n    \"settings.mailserver.username\": \"Nazwa użytkownika\",\n    \"settings.mailserver.waitTimeout\": \"Czas oczekiwania\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekund, m dla minut).\",\n    \"settings.maintenance.cron\": \"Interwał Cron\",\n    \"settings.media.provider\": \"Dostawca\",\n    \"settings.media.s3.bucket\": \"Komora (Bucket)\",\n    \"settings.media.s3.bucketPath\": \"Ścieżka komory (Bucket path)\",\n    \"settings.media.s3.bucketPathHelp\": \"Ścieżka w komorze do której wrzucać pliki. Domyślna to /\",\n    \"settings.media.s3.bucketType\": \"Typ komory (Bucket type)\",\n    \"settings.media.s3.bucketTypePrivate\": \"Prywatny\",\n    \"settings.media.s3.bucketTypePublic\": \"Publiczny\",\n    \"settings.media.s3.key\": \"Klucz dostępu AWS\",\n    \"settings.media.s3.publicURL\": \"Niestandardowy publiczny URL (opcjonalnie)\",\n    \"settings.media.s3.publicURLHelp\": \"Niestandardowa domena S3 do użycia dla linków do obrazów zamiast domyślnego adresu URL backendu S3.\",\n    \"settings.media.s3.region\": \"Region\",\n    \"settings.media.s3.secret\": \"Sekret dostępu AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Wygaśnięcie przesyłania\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opcjonalne) Zdefiniuj TTL dla wygenerowanego podpisanego URL. Tylko dla prywatnych komór (bucketów) (s, m, h, d dla sekund, minut, godzin, dni).\",\n    \"settings.media.s3.url\": \"Adres URL dla S3 backend\",\n    \"settings.media.s3.urlHelp\": \"Zmień tylko, jeśli używasz niestandardowego backendu kompatybilnego z S3, takiego jak Minio.\",\n    \"settings.media.title\": \"Wysyłka mediów\",\n    \"settings.media.upload.extensions\": \"Dozwolone rozszerzenia plików\",\n    \"settings.media.upload.extensionsHelp\": \"Dodaj * aby zezwolić na wszystkie rozszerzenia\",\n    \"settings.media.upload.path\": \"Ścieżka do wysyłki\",\n    \"settings.media.upload.pathHelp\": \"Ścieżka do folderu do którego media będą wrzucane.\",\n    \"settings.media.upload.uri\": \"URI wysyłki\",\n    \"settings.media.upload.uriHelp\": \"URI do wysyłki jest widoczna dla świata zewnętrznego. Wrzucone media do upload_path będą publicznie dostępne pod {root_url} np https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Maksymalna liczba połąćzeń\",\n    \"settings.messengers.maxConnsHelp\": \"Maksymalna liczba jednoczesnych połączeń do serwera.\",\n    \"settings.messengers.messageSaved\": \"Ustawienia zapisane. Przeładowuję aplikację...\",\n    \"settings.messengers.name\": \"Komunikatory\",\n    \"settings.messengers.nameHelp\": \"np: my-sms. Alfanumeryczne / myślnik.\",\n    \"settings.messengers.password\": \"Hasło\",\n    \"settings.messengers.retries\": \"Ponowne próby\",\n    \"settings.messengers.retriesHelp\": \"Liczba ponownych prób przed niepowodzeniem.\",\n    \"settings.messengers.skipTLSHelp\": \"Pomiń sprawdzanie nazwy hosta w certyfikacie TLS.\",\n    \"settings.messengers.timeout\": \"Czas bezczynności\",\n    \"settings.messengers.timeoutHelp\": \"Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekud, m dla minut)\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Bazowy URL serwera Postback.\",\n    \"settings.messengers.username\": \"Nazwa użytkownika\",\n    \"settings.needsRestart\": \"Ustawienia zmienione. Zatrzymaj wszystkie aktywne kampanie i uruchom ponownie aplikację\",\n    \"settings.performance.batchSize\": \"Rozmiar paczki\",\n    \"settings.performance.batchSizeHelp\": \"Liczba subskrybentów do pobrania z bazy danych przy jednej iteracji. Każda iteracja pobiera subskrybentów z bazy danych, wysyła do nich wiadomości, a następnie przechodzi do następnej iteracji. W idealnym przypadku powinno to być większe niż maksymalna przepustowość (liczba wątków * prędkość wysyłania wiadomości)\",\n    \"settings.performance.cacheSlowQueries\": \"Buforuj wolne zapytania do bazy danych\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Włącz to tylko na dużych bazach danych, które znacząco zwolniły. Cachuje liczbę subskrybentów listy, statystyki pulpitu itp.\",\n    \"settings.performance.concurrency\": \"Wielowątkowość\",\n    \"settings.performance.concurrencyHelp\": \"Maksymalna liczba jednoczesnych workerów (wątków), która będzie wysyłała wiadomości jednocześnie.\",\n    \"settings.performance.maxErrThreshold\": \"Maksymalny prób błędu\",\n    \"settings.performance.maxErrThresholdHelp\": \"Liczba błędów (np: SMTP timeout), która będzie tolerowana przez aktywną kampanię. Po jej przekroczeniu zostanie zatrzymana w celu sprawdzenia przyczyny. Ustaw 0, żeby nigdy nie przerywać.\",\n    \"settings.performance.messageRate\": \"Prędkość wysyłania wiadomości\",\n    \"settings.performance.messageRateHelp\": \" Maksymalna liczba wiadomości do wysłania na sekundę przez jednego pracownika w ciągu sekundy. Jeśli współbieżność = 10 i message_rate = 10, wtedy do 10x10=100 wiadomości może być wypychanych co sekundę. To, wraz z współbieżnością, powinno być dostrojone, aby utrzymać wiadomości netto wychodzące na sekundę poniżej docelowych limitów szybkości serwerów wiadomości, jeśli takie istnieją.\",\n    \"settings.performance.name\": \"Wydajność\",\n    \"settings.performance.slidingWindow\": \"Włącz limit dla okna czasowego\",\n    \"settings.performance.slidingWindowDuration\": \"Czas trwania\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Czas trwania okna czasowego (m dla minut, h dla godzin).\",\n    \"settings.performance.slidingWindowHelp\": \"Ustaw ograniczenie dla wiadomości, które są wysyłane w danym okresie czasu. Po osiągnięciu limitu wiadomości zostaną wstrzymane, aż okno czasowe stanie się znowu dostępne.\",\n    \"settings.performance.slidingWindowRate\": \"Maksymalna liczba wiadomości\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maksymalna liczba wiadomości podczas okna czasowego.\",\n    \"settings.privacy.allowBlocklist\": \"Zezwól na blokowanie\",\n    \"settings.privacy.allowBlocklistHelp\": \"Czy zezwolić subskrybentom na wypisywanie się z wszystkich list mailowych i oznaczenie siebie jako zablokowanych?\",\n    \"settings.privacy.allowExport\": \"Zezwól na eksportowanie danych\",\n    \"settings.privacy.allowExportHelp\": \"Czy zezwolić subskrybentom na eksportowanie danych zebranych o nich?\",\n    \"settings.privacy.allowPrefs\": \"Zezwól na zmianę preferencji\",\n    \"settings.privacy.allowPrefsHelp\": \"Zezwól subskrybentom na zmianę ustawień takich jak imię czy subskrybowane listy\",\n    \"settings.privacy.allowWipe\": \"Zezwól na czyszczenie danych\",\n    \"settings.privacy.allowWipeHelp\": \"Czy zezwolić subskrybentom na usuwanie ich samych razem z wszystkimi ich danymi? Wyświetlenia i liczba kliknięć zostaną zachowane, ale zostaną z nich usunięte informacje kto wykonał tę akcję.\",\n    \"settings.privacy.domainAllowlist\": \"Dozwolone domeny\",\n    \"settings.privacy.domainAllowlistHelp\": \"Subskrybowanie dozwolone tylko dla adresów e-mail z tych domen. Wpisz jedną domenę na linię, np. example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Lista zablokowanych domen\",\n    \"settings.privacy.domainBlocklistHelp\": \"Adresy e-mail z tymi domenami nie mogą subskrybować. Wprowadź jedną domenę w każdym wierszu, np.: domena.com\",\n    \"settings.privacy.individualSubTracking\": \"Śledzenie indywidualnych subskrybentów\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Śledź dane wyświetleń i kliknięć na poziomie pojedynczego subskrybenta. Jeśli wyłączone dane będą nadal zbierane, ale niepowiązane ze subskrybentami.\",\n    \"settings.privacy.listUnsubHeader\": \"Dodawaj nagłówek `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Dodaj nagłówki do wypisania się z subskrypcji. Niektóre programy pocztowe umożliwiają wypisanie się jednym kliknięciem.\",\n    \"settings.privacy.name\": \"Prywatność\",\n    \"settings.privacy.recordOptinIP\": \"Zapisz adres IP zgody na otrzymywanie\",\n    \"settings.privacy.recordOptinIPHelp\": \"Zapisz adres IP podwójnej zgody na otrzymywanie w atrybutach subskrybenta.\",\n    \"settings.restart\": \"Uruchom ponownie\",\n    \"settings.security.CORSDomains\": \"Dozwolone źródła\",\n    \"settings.security.CORSDomainsHelp\": \"Zezwól na dostęp do punktów końcowych API poprzez Javascript przeglądarki z zewnętrznych domen. Wpisz jedną domenę na wiersz (np: https://example.com). Pozostaw puste, aby wyłączyć CORS lub dodaj * aby zezwolić na wszystkie (niezalecane).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Automatyczne tworzenie użytkowników\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Automatycznie tworzy użytkownika przy pierwszym logowaniu, jeśli konto nie istnieje.\",\n    \"settings.security.OIDCClientID\": \"ID klienta\",\n    \"settings.security.OIDCClientSecret\": \"Sekret klienta\",\n    \"settings.security.OIDCDefaultListRole\": \"Domyślna rola na liście\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Domyślna rola przypisana użytkownikom automatycznie tworzonym z OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Domyślna rola użytkownika\",\n    \"settings.security.OIDCHelp\": \"Włącz logowanie OAuth2 za pomocą OpenID Connect OAuth2 za pomocą dostawcy OAuth.\",\n    \"settings.security.OIDCName\": \"Nazwa dostawcy\",\n    \"settings.security.OIDCRedirectURL\": \"URL przekierowania dla dostawcy oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Wygląda na to, że to nie jest adres URL produkcyjny. Zmień adres URL root w ustawieniach „Ogólne”.\",\n    \"settings.security.OIDCURL\": \"Adres URL dostawcy\",\n    \"settings.security.OIDCWarning\": \"Po włączeniu OIDC, logowanie domyślnie za pomocą hasła jest wyłączone. Nieprawidłowa konfiguracja może zablokować dostęp.\",\n    \"settings.security.altchaComplexity\": \"Złożoność Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Wyższe wartości zapewniają lepsze bezpieczeństwo, ale wolniejsze rozwiązywanie (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Klucz witryny hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Wejdź na www.hcaptcha.com w celu pobrania klucza i sekretu.\",\n    \"settings.security.captchaSecret\": \"Tajny klucz witryny hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Włącz CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Włącz CAPTCHA na publicznym formularzu subskrypcji.\",\n    \"settings.security.enableOIDC\": \"Włącz jednokrotne logowanie OIDC\",\n    \"settings.security.name\": \"Bezpieczeństwo\",\n    \"settings.smtp.customHeaders\": \"Niestandardowe nagłówki\",\n    \"settings.smtp.customHeadersHelp\": \"Opcjonalna lista nagłówków do zamieszczania w wiadomościach we wszystkich wiadomościach wysłanych z tego serwera. np: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Włączone\",\n    \"settings.smtp.heloHost\": \"Nazwa hosta HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opcjonalne. Niektóre serwery SMTP wymagają FQDN w nazwie hosta. Domyślnie HELLO korzystają z `localhost`. Ustaw jeśli inny host powinien zostać użyty.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Ponowne próby\",\n    \"settings.smtp.retriesHelp\": \"Liczba ponownych prób przy niepowodzeniu\",\n    \"settings.smtp.sendTest\": \"Wyślij e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Ustaw niestandardowe nagłówki\",\n    \"settings.smtp.testConnection\": \"Przetestuj połączenie\",\n    \"settings.smtp.testEnterEmail\": \"Wpisz hasło w celu przetestowania\",\n    \"settings.smtp.toEmail\": \"Adres e-mail odbiorcy\",\n    \"settings.title\": \"Ustawienia\",\n    \"settings.updateAvailable\": \"Nowa wersja {version} jest dostępna.\",\n    \"subscribers.activity\": \"Aktywność\",\n    \"subscribers.advancedQuery\": \"Zaawansowane\",\n    \"subscribers.advancedQueryHelp\": \"Częściowe zapytania SQL w celu pobrania atrybutów subskrybentów\",\n    \"subscribers.attribsHelp\": \"Atrybuty są definiowane jako mapa w JSON, np:\",\n    \"subscribers.blocklistedHelp\": \"Zablokowani subskrybenci nigdy nie dostaną żadnego emaila.\",\n    \"subscribers.confirmBlocklist\": \"Czy zablokować {num} subskrybentów?\",\n    \"subscribers.confirmDelete\": \"Usunąć {num} subskrybentów?\",\n    \"subscribers.confirmExport\": \"Wyeksportować {num} subskrybentów?\",\n    \"subscribers.domainBlocklisted\": \"Domena adresu e-mail jest zablokowana.\",\n    \"subscribers.downloadData\": \"Pobierz dane\",\n    \"subscribers.email\": \"Email\",\n    \"subscribers.emailExists\": \"Email już istnieje.\",\n    \"subscribers.errorBlocklisting\": \"Błąd blokowania subskrybentów: {error}\",\n    \"subscribers.errorNoIDs\": \"Nie podano identyfikatorów.\",\n    \"subscribers.errorNoListsGiven\": \"Nie podano list.\",\n    \"subscribers.errorPreparingQuery\": \"Błąd przygotowywania zapytania o subskrypcje: {error}\",\n    \"subscribers.errorSendingOptin\": \"Błąd wysyłania maila opt-in.\",\n    \"subscribers.export\": \"Eksport\",\n    \"subscribers.invalidAction\": \"Nieprawidłowa akcja.\",\n    \"subscribers.invalidEmail\": \"Nieprawidłowy email.\",\n    \"subscribers.invalidJSON\": \"Nieprawidłowy JSON w atrybutach.\",\n    \"subscribers.invalidName\": \"Nieprawidłowa nazwa.\",\n    \"subscribers.listChangeApplied\": \"Zmiana listy wykonana.\",\n    \"subscribers.lists\": \"Listy\",\n    \"subscribers.listsHelp\": \"Listy z których subskrybenci wypisali się sami nie mogą zostać usunięte.\",\n    \"subscribers.listsPlaceholder\": \"Listy do subskrypcji\",\n    \"subscribers.manageLists\": \"Zarządzaj listami\",\n    \"subscribers.markUnsubscribed\": \"Oznacz jako odsubskrybowanych\",\n    \"subscribers.newSubscriber\": \"Nowy subskrybent\",\n    \"subscribers.numSelected\": \"Wybrano {num} subskrypcji\",\n    \"subscribers.optinSubject\": \"Potwierdź subskrypcję\",\n    \"subscribers.preconfirm\": \"Wstępnie zatwierdzaj subskrypcje\",\n    \"subscribers.preconfirmHelp\": \"Nie wysyłaj maili z potwierdzeniem subskrybcji i oznacz wszystkie zapisy jako 'zasubskrybowane'.\",\n    \"subscribers.query\": \"Zapytanie\",\n    \"subscribers.queryPlaceholder\": \"E-mail lub nazwa\",\n    \"subscribers.reset\": \"Resetuj\",\n    \"subscribers.selectAll\": \"Wybierz wszystkich {num}\",\n    \"subscribers.sendOptinConfirm\": \"Wyślij potwierdzenie opt-in\",\n    \"subscribers.sentOptinConfirm\": \"Potwierdzenie opt-in wysłane\",\n    \"subscribers.status.blocklisted\": \"Zablokowany\",\n    \"subscribers.status.confirmed\": \"Potwierdzony\",\n    \"subscribers.status.enabled\": \"Aktywny\",\n    \"subscribers.status.subscribed\": \"Subskrybuje\",\n    \"subscribers.status.unconfirmed\": \"Niepotwierdzony\",\n    \"subscribers.status.unsubscribed\": \"Odsubskrybowany\",\n    \"subscribers.subscribersDeleted\": \"Usunięto {num} subskrybentów\",\n    \"templates.cantDeleteDefault\": \"Nie można usunąć domyślnego szablonu\",\n    \"templates.default\": \"Domyślny\",\n    \"templates.dummyName\": \"Fikcyjna kampania\",\n    \"templates.dummySubject\": \"Temat fikcyjnej kampanii\",\n    \"templates.errorCompiling\": \"Błąd kompilacji szablonu: {error}\",\n    \"templates.errorRendering\": \"Błąd renderowania wiadomości: {error}\",\n    \"templates.fieldInvalidName\": \"Nieprawidłowa długość dla nazwy.\",\n    \"templates.makeDefault\": \"Ustaw jako domyślny\",\n    \"templates.newTemplate\": \"Nowy szablon\",\n    \"templates.placeholderHelp\": \"Symbol zastępczy {placeholder} powinien występować dokładnie raz w szablonie.\",\n    \"templates.preview\": \"Podgląd\",\n    \"templates.rawHTML\": \"Surowy HTML\",\n    \"templates.subject\": \"Temat\",\n    \"templates.typeCampaignHTML\": \"Kampania / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampania / Wizualny\",\n    \"templates.typeTransactional\": \"Transakcyjny\",\n    \"users.apiOneTimeToken\": \"Skopiuj teraz token dostępu API. Nie zostanie ponownie wyświetlony.\",\n    \"users.cantDeleteRole\": \"Nie można usunąć roli, która jest w użyciu.\",\n    \"users.firstTime\": \"To jest nowa instalacja. Wybierz nazwę użytkownika i hasło dla konta Super Admina.\",\n    \"users.forgotPassword\": \"Zapomniałeś hasła?\",\n    \"users.invalidLogin\": \"Nieprawidłowe dane logowania lub hasło\",\n    \"users.invalidPassword\": \"Nieprawidłowe hasło\",\n    \"users.invalidRequest\": \"Nieprawidłowe żądanie uwierzytelniania\",\n    \"users.invalidResetLink\": \"Nieprawidłowy lub wygasły link resetujący\",\n    \"users.lastLogin\": \"Ostatnie logowanie\",\n    \"users.listPerms\": \"Uprawnienia listy\",\n    \"users.listPermsWarning\": \"Włączone są uprawnienia lists:get_all lub lists:manage_all, co przesłoni uprawnienia na poziomie listy\",\n    \"users.listRole\": \"Rola listy | Role list\",\n    \"users.listRoles\": \"Role listy\",\n    \"users.login\": \"Zaloguj\",\n    \"users.loginOIDC\": \"Zaloguj się za pomocą {name}\",\n    \"users.logout\": \"Wyloguj\",\n    \"users.needSuper\": \"Nie można zaktualizować użytkowników. Musi istnieć co najmniej jedno aktywne konto Super Admina.\",\n    \"users.newListRole\": \"Nowa rola listy\",\n    \"users.newPassword\": \"Nowe hasło\",\n    \"users.newUser\": \"Nowy użytkownik\",\n    \"users.newUserRole\": \"Nowa rola użytkownika\",\n    \"users.password\": \"Hasło\",\n    \"users.passwordEnable\": \"Włącz logowanie za pomocą hasła\",\n    \"users.passwordMismatch\": \"Hasła nie są identyczne\",\n    \"users.passwordRepeat\": \"Powtórz hasło\",\n    \"users.perms\": \"Uprawnienia\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Jeśli konto jest aktywne, otrzymasz wiadomość e-mail z resetowaniem hasła.\",\n    \"users.resetPassword\": \"Resetuj hasło\",\n    \"users.role\": \"Rola | Role\",\n    \"users.roleGroup\": \"Grupa\",\n    \"users.roles\": \"Role\",\n    \"users.status.disabled\": \"Wyłączone\",\n    \"users.status.enabled\": \"Włączone\",\n    \"users.totpCode\": \"Kod TOTP\",\n    \"users.totpCodeHelp\": \"Wpisz 6-cyfrowy kod z aplikacji uwierzytelniającej\",\n    \"users.totpScanQR\": \"Zeskanuj kod QR za pomocą aplikacji uwierzytelniającej, takiej jak Ente lub Google Authenticator, i wpisz poniżej kod TOTP.\",\n    \"users.totpSecret\": \"Klucz tajny\",\n    \"users.twoFA\": \"Uwierzytelnianie dwuskładnikowe\",\n    \"users.twoFAAlreadyEnabled\": \"Uwierzytelnianie dwuskładnikowe jest już włączone.\",\n    \"users.twoFAEnabled\": \"Uwierzytelnianie dwuskładnikowe jest włączone\",\n    \"users.twoFAEnabledDesc\": \"Twoje konto jest chronione za pomocą {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Włącz 2FA dla dodatkowego bezpieczeństwa podczas logowania do konta.\",\n    \"users.type\": \"Typ\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Administrator\",\n    \"users.type.user\": \"Użytkownik\",\n    \"users.userRole\": \"Rola użytkownika | Role użytkownika\",\n    \"users.userRoles\": \"Role użytkownika\",\n    \"users.username\": \"Nazwa użytkownika\",\n    \"users.usernameHelp\": \"Używane wraz z logowaniem za pomocą hasła\"\n}\n"
  },
  {
    "path": "i18n/pt-BR.json",
    "content": "{\n    \"_.code\": \"pt-BR\",\n    \"_.name\": \"Português Brasileiro (pt-BR)\",\n    \"admin.errorMarshallingConfig\": \"Erro ao ler as configurações: {error}\",\n    \"analytics.count\": \"Contagem\",\n    \"analytics.fromDate\": \"De\",\n    \"analytics.invalidDates\": \"Data `from` ou `to` inválidas.\",\n    \"analytics.isUnique\": \"As contagens são únicas por assinante.\",\n    \"analytics.links\": \"Links\",\n    \"analytics.nonUnique\": \"As contagens não são únicas pois o rastreamento de assinantes está desligado.\",\n    \"analytics.title\": \"Análises\",\n    \"analytics.toDate\": \"Para\",\n    \"bounces.complaint\": \"Reclamação\",\n    \"bounces.hard\": \"Retorno permanente\",\n    \"bounces.soft\": \"Suavização\",\n    \"bounces.source\": \"Fonte\",\n    \"bounces.unknownService\": \"Serviço desconhecido.\",\n    \"bounces.view\": \"Ver bounces\",\n    \"campaigns.addAltText\": \"Adicionar mensagem alternativa em texto simples\",\n    \"campaigns.addAttachments\": \"Adicionar anexos\",\n    \"campaigns.archive\": \"Arquivo\",\n    \"campaigns.archiveEnable\": \"Publicar no arquivo publico\",\n    \"campaigns.archiveHelp\": \"Publicar (executando, pausada, finalizada) a mensagem da campanha no arquivo publico.\",\n    \"campaigns.archiveMeta\": \"Metadados da campanha\",\n    \"campaigns.archiveMetaHelp\": \"Dados de assinante fictício para utilizar na mensagem publica incluindo nome, email e qualquer atributo opcional usado na mensagem ou template da campanha.\",\n    \"campaigns.archiveSlug\": \"Slug do URL\",\n    \"campaigns.archiveSlugHelp\": \"Um nome curto para a página a ser usada no URL público. Ex: edicao-minha-newsletter-2\",\n    \"campaigns.attachments\": \"Anexos\",\n    \"campaigns.attribsHelp\": \"Atributos do objeto JSON {} customizado para esta campanha. Use no template com {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Não é possível atualizar uma campanha em execução ou finalizada.\",\n    \"campaigns.clicks\": \"Cliques\",\n    \"campaigns.confirmDelete\": \"Excluir {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Isto sobrescreverá todo o conteúdo. Continuar?\",\n    \"campaigns.confirmSchedule\": \"A campanha irá começar automaticamente na data e hora agendadas. Agendar agora?\",\n    \"campaigns.confirmSwitchFormat\": \"O conteúdo pode perder a formatação. Continuar?\",\n    \"campaigns.content\": \"Conteúdo\",\n    \"campaigns.contentHelp\": \"Conteúdo aqui\",\n    \"campaigns.continue\": \"Continuar\",\n    \"campaigns.copyOf\": \"Cópia de {name}\",\n    \"campaigns.customHeadersHelp\": \"Array de cabeçalhos personalizados para anexar nas mensagens. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Data e hora\",\n    \"campaigns.ended\": \"Finalizada\",\n    \"campaigns.errorSendTest\": \"Erro ao enviar o teste: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Erro ao compilar corpo da campanha: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`from_email` inválido.\",\n    \"campaigns.fieldInvalidListIDs\": \"Lista de IDs inválida.\",\n    \"campaigns.fieldInvalidMessenger\": \"Mensageiro {name} desconhecido.\",\n    \"campaigns.fieldInvalidName\": \"Quantidade de caracteres inválida para o nome.\",\n    \"campaigns.fieldInvalidSendAt\": \"A data agendada deve ser no futuro.\",\n    \"campaigns.fieldInvalidSubject\": \"Quantidade de caracteres inválida para o assunto.\",\n    \"campaigns.format\": \"Formato\",\n    \"campaigns.formatHTML\": \"Formatar HTML\",\n    \"campaigns.fromAddress\": \"Endereço do remetente\",\n    \"campaigns.fromAddressPlaceholder\": \"Seu Nome <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importar template visual\",\n    \"campaigns.invalid\": \"Campanha inválida\",\n    \"campaigns.invalidCustomHeaders\": \"Cabeçalhos personalizados inválidos: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"A campanha precisa de uma data para ser programada.\",\n    \"campaigns.newCampaign\": \"Nova campanha\",\n    \"campaigns.noKnownSubsToTest\": \"Nenhum assinante conhecido para testar.\",\n    \"campaigns.noOptinLists\": \"Nenhuma lista opt-in encontrada para criar campanha.\",\n    \"campaigns.noSubs\": \"Não há assinantes nas listas selecionadas para criar a campanha.\",\n    \"campaigns.noSubsToTest\": \"Não há nenhum assinante pra enviar.\",\n    \"campaigns.notFound\": \"Campanha não encontrada.\",\n    \"campaigns.onlyActiveCancel\": \"Apenas campanhas ativas podem ser canceladas.\",\n    \"campaigns.onlyActivePause\": \"Apenas campanhas ativas podem ser pausadas.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Apenas campanhas em rascunho podem ser agendadas.\",\n    \"campaigns.onlyPausedDraft\": \"Apenas campanhas pausadas e em rascunhos podem ser iniciadas.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Apenas campanhas agendadas podem ser salvas como rascunhos.\",\n    \"campaigns.pause\": \"Pausar\",\n    \"campaigns.plainText\": \"Texto simples\",\n    \"campaigns.preview\": \"Pré-visualizar\",\n    \"campaigns.progress\": \"Progresso\",\n    \"campaigns.queryPlaceholder\": \"Nome ou assunto\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Código HTML\",\n    \"campaigns.removeAltText\": \"Remover mensagem alternativa em texto simples\",\n    \"campaigns.richText\": \"Texto com formatação\",\n    \"campaigns.schedule\": \"Agendar campanha\",\n    \"campaigns.scheduled\": \"Agendada\",\n    \"campaigns.send\": \"Enviar\",\n    \"campaigns.sendLater\": \"Enviar mais tarde\",\n    \"campaigns.sendTest\": \"Enviar mensagem de teste\",\n    \"campaigns.sendTestHelp\": \"Pressione a tecla enter depois de digitar um endereço para adicionar vários destinatários. Os endereços devem pertencer a membros existentes.\",\n    \"campaigns.sendToLists\": \"Listas para enviar para\",\n    \"campaigns.sent\": \"Enviada\",\n    \"campaigns.start\": \"Iniciar campanha\",\n    \"campaigns.started\": \"Campanha \\\"{name}\\\" iniciada\",\n    \"campaigns.startedAt\": \"Iniciada\",\n    \"campaigns.stats\": \"Estatísticas\",\n    \"campaigns.status.cancelled\": \"Cancelada\",\n    \"campaigns.status.draft\": \"Rascunho\",\n    \"campaigns.status.finished\": \"Finalizada\",\n    \"campaigns.status.paused\": \"Pausada\",\n    \"campaigns.status.running\": \"Executando\",\n    \"campaigns.status.scheduled\": \"Agendado\",\n    \"campaigns.statusChanged\": \"O status da campanha \\\"{name}\\\" é {status}\",\n    \"campaigns.subject\": \"Assunto\",\n    \"campaigns.templatingRef\": \"Referência de Templating\",\n    \"campaigns.testEmails\": \"E-mails de teste\",\n    \"campaigns.testSent\": \"Mensagem de teste enviada\",\n    \"campaigns.timestamps\": \"Data e hora\",\n    \"campaigns.trackLink\": \"Link de rastreamento\",\n    \"campaigns.unSchedule\": \"Cancelar agendamento\",\n    \"campaigns.views\": \"Visualizações\",\n    \"campaigns.visual\": \"Visual\",\n    \"dashboard.campaignViews\": \"Visualizações da campanha\",\n    \"dashboard.linkClicks\": \"Links clicados\",\n    \"dashboard.messagesSent\": \"Mensagens enviadas\",\n    \"dashboard.orphanSubs\": \"Órfãos\",\n    \"email.data.info\": \"Uma cópia de todos os dados associados a você está anexado em um arquivo JSON. Ele pode ser ler o conteúdo em um editor de texto.\",\n    \"email.data.title\": \"Seus dados\",\n    \"email.forgotPassword.button\": \"Redefinir senha\",\n    \"email.forgotPassword.info\": \"Se você não solicitou isso, pode ignorar com segurança este e-mail. Este link expirará em 30 minutos.\",\n    \"email.forgotPassword.subject\": \"Redefinir sua senha\",\n    \"email.optin.confirmSub\": \"Confirmar a assinatura\",\n    \"email.optin.confirmSubHelp\": \"Confirme sua assinatura clicando no botão abaixo.\",\n    \"email.optin.confirmSubInfo\": \"Você foi adicionado às seguintes listas:\",\n    \"email.optin.confirmSubTitle\": \"Confirmar a assinatura\",\n    \"email.optin.confirmSubWelcome\": \"Olá\",\n    \"email.optin.privateList\": \"Lista privada\",\n    \"email.status.campaignReason\": \"Motivo\",\n    \"email.status.campaignSent\": \"Enviada\",\n    \"email.status.campaignUpdateTitle\": \"Atualizar a campanha\",\n    \"email.status.importFile\": \"Arquivo\",\n    \"email.status.importRecords\": \"Registros\",\n    \"email.status.importTitle\": \"Importar atualização\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Cancelar assinatura\",\n    \"email.unsubHelp\": \"Não quer mais receber estes e-mails?\",\n    \"email.viewInBrowser\": \"Ver no Navegador\",\n    \"forms.formHTML\": \"Formulário HTML\",\n    \"forms.formHTMLHelp\": \"Use este HTML para inserir um formulário de inscrição em uma página externa. O formulário deve ter o campo de e-mail e um ou mais campos `l` (lista UUID). O campo nome é opcional.\",\n    \"forms.noPublicLists\": \"Não há nenhuma lista pública para gerar um formulário.\",\n    \"forms.publicLists\": \"Listas públicas\",\n    \"forms.publicSubPage\": \"Página pública de assinatura\",\n    \"forms.selectHelp\": \"Selecione listas para adicionar ao formulário.\",\n    \"forms.title\": \"Formulários\",\n    \"globals.buttons.add\": \"Adicionar\",\n    \"globals.buttons.addNew\": \"Adicionar novo\",\n    \"globals.buttons.back\": \"Voltar\",\n    \"globals.buttons.cancel\": \"Cancelar\",\n    \"globals.buttons.clear\": \"Excluir\",\n    \"globals.buttons.clearAll\": \"Apagar tudo\",\n    \"globals.buttons.clone\": \"Clonar\",\n    \"globals.buttons.close\": \"Fechar\",\n    \"globals.buttons.continue\": \"Continuar\",\n    \"globals.buttons.copy\": \"Copiar\",\n    \"globals.buttons.delete\": \"Excluir\",\n    \"globals.buttons.deleteAll\": \"Apagar tudo\",\n    \"globals.buttons.disable\": \"Desabilitar\",\n    \"globals.buttons.edit\": \"Editar\",\n    \"globals.buttons.enable\": \"Habilitar\",\n    \"globals.buttons.enabled\": \"Habilitado\",\n    \"globals.buttons.insert\": \"Inserir\",\n    \"globals.buttons.learnMore\": \"Saiba mais\",\n    \"globals.buttons.manage\": \"Gerenciar\",\n    \"globals.buttons.more\": \"Mais\",\n    \"globals.buttons.new\": \"Novo\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Excluir\",\n    \"globals.buttons.save\": \"Salvar\",\n    \"globals.buttons.saveChanges\": \"Salvar alterações\",\n    \"globals.buttons.toggleSelect\": \"Alternar seleção\",\n    \"globals.buttons.view\": \"Visualizar\",\n    \"globals.days.0\": \"Dom\",\n    \"globals.days.1\": \"Dom\",\n    \"globals.days.2\": \"Seg\",\n    \"globals.days.3\": \"Ter\",\n    \"globals.days.4\": \"Qua\",\n    \"globals.days.5\": \"Qui\",\n    \"globals.days.6\": \"Sex\",\n    \"globals.days.7\": \"Sáb\",\n    \"globals.fields.createdAt\": \"Criado\",\n    \"globals.fields.description\": \"Descrição\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nome\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Tipo\",\n    \"globals.fields.updatedAt\": \"Atualizado\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Tem certeza?\",\n    \"globals.messages.confirmDelete\": \"Excluir {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Descartar alterações?\",\n    \"globals.messages.copied\": \"Copiado\",\n    \"globals.messages.created\": \"\\\"{name}\\\" criado\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" excluído\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) deletado\",\n    \"globals.messages.done\": \"Feito\",\n    \"globals.messages.emptyState\": \"Nada por aqui\",\n    \"globals.messages.errorCreating\": \"Erro ao criar {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Erro ao excluir {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Erro ao obter {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Um ou mais IDs inválidos: {error}\",\n    \"globals.messages.errorUUID\": \"Erro ao gerar UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Erro ao atualizar {name}: {error}\",\n    \"globals.messages.internalError\": \"Erro no servidor\",\n    \"globals.messages.invalidData\": \"Dados inválidos\",\n    \"globals.messages.invalidFields\": \"Campos inválidos: {name}\",\n    \"globals.messages.invalidID\": \"ID inválido\",\n    \"globals.messages.invalidUUID\": \"UUID inválido\",\n    \"globals.messages.invalidValue\": \"Valor inválido\",\n    \"globals.messages.missingFields\": \"Campos ausente(s): {name}\",\n    \"globals.messages.notFound\": \"{name} não encontrado\",\n    \"globals.messages.numSelected\": \"{num} selecionado(s)\",\n    \"globals.messages.passwordChange\": \"Digite um valor para alterar\",\n    \"globals.messages.passwordChangeFull\": \"Limpe e insira novamente a senha completa em '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permissão negada: {name}\",\n    \"globals.messages.selectAll\": \"Selecionar todos {num}\",\n    \"globals.messages.slowQueriesCached\": \"As consultas lentas estão sendo armazenadas em cache. Alguns números nesta página podem não ser atualizados.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\"atualizado\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Out\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dez\",\n    \"globals.months.2\": \"Fev\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Abr\",\n    \"globals.months.5\": \"Mai\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Ago\",\n    \"globals.months.9\": \"Set\",\n    \"globals.states.off\": \"Desligado\",\n    \"globals.terms.all\": \"Tudo\",\n    \"globals.terms.analytics\": \"Análises\",\n    \"globals.terms.attribs\": \"Atributos\",\n    \"globals.terms.bounce\": \"Rejeição | Rejeições\",\n    \"globals.terms.bounces\": \"Rejeições\",\n    \"globals.terms.campaign\": \"Campanha | Campanhas\",\n    \"globals.terms.campaigns\": \"Campanhas\",\n    \"globals.terms.dashboard\": \"Painel\",\n    \"globals.terms.day\": \"Dia | Dias\",\n    \"globals.terms.hour\": \"Hora | Horas\",\n    \"globals.terms.import\": \"Importar\",\n    \"globals.terms.list\": \"Lista | Listas\",\n    \"globals.terms.lists\": \"Listas\",\n    \"globals.terms.media\": \"Mídia | Mídias\",\n    \"globals.terms.messenger\": \"Mensageiro | Mensageiros\",\n    \"globals.terms.messengers\": \"Mensageiros\",\n    \"globals.terms.minute\": \"Minuto | Minutos\",\n    \"globals.terms.month\": \"Mês | Meses\",\n    \"globals.terms.new\": \"Novo\",\n    \"globals.terms.none\": \"Nenhum\",\n    \"globals.terms.second\": \"Segundo | Segundos\",\n    \"globals.terms.settings\": \"Configurações\",\n    \"globals.terms.subscriber\": \"Assinante | Assinantes\",\n    \"globals.terms.subscribers\": \"Assinantes\",\n    \"globals.terms.subscriptions\": \"Assinatura | Assinaturas\",\n    \"globals.terms.tag\": \"Etiqueta | Etiquetas\",\n    \"globals.terms.tags\": \"Etiquetas\",\n    \"globals.terms.template\": \"Modelo | Modelos\",\n    \"globals.terms.templates\": \"Modelos\",\n    \"globals.terms.tx\": \"Transacional | Transacionais\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Usuário | Usuários\",\n    \"globals.terms.users\": \"Usuários\",\n    \"globals.terms.year\": \"Ano | Anos\",\n    \"import.alreadyRunning\": \"Uma importação já está em execução. Aguarde até que termine ou pare-a antes de tentar novamente.\",\n    \"import.blocklist\": \"Lista de bloqueio\",\n    \"import.csvDelim\": \"Delimitador CSV\",\n    \"import.csvDelimHelp\": \"Delimitador padrão é vírgula.\",\n    \"import.csvExample\": \"Exemplo de CSV bruto\",\n    \"import.csvFile\": \"Arquivo CSV ou ZIP\",\n    \"import.csvFileHelp\": \"Clique ou arraste um arquivo CSV ou ZIP aqui\",\n    \"import.errorCopyingFile\": \"Erro ao copiar arquivo: {error}\",\n    \"import.errorProcessingZIP\": \"Erro ao processar o arquivo ZIP: {error}\",\n    \"import.errorStarting\": \"Erro ao iniciar importação: {error}\",\n    \"import.importDone\": \"Finalizada\",\n    \"import.importStarted\": \"Importação iniciada\",\n    \"import.instructions\": \"Instruções\",\n    \"import.instructionsHelp\": \"Envie um arquivo CSV ou um arquivo ZIP contendo um único arquivo CSV para a importação de assinantes lote. O arquivo CSV deve ter os seguintes cabeçalhos com os nomes exatos das colunas. Os atributos (opcional) devem ser uma string JSON válida com aspas duplas.\",\n    \"import.invalidDelim\": \"O delimitador deve ser um único caractere.\",\n    \"import.invalidFile\": \"Arquivo inválido: {error}\",\n    \"import.invalidMode\": \"Modo inválido\",\n    \"import.invalidParams\": \"Parâmetros inválidos: {error}\",\n    \"import.invalidSubStatus\": \"Status de assinatura inválido\",\n    \"import.listSubHelp\": \"Listas para inscrever.\",\n    \"import.mode\": \"Modo\",\n    \"import.overwriteSubStatus\": \"Sobrescrever status de inscrição\",\n    \"import.overwriteSubStatusHelp\": \"Sobrescrever status de inscrições existentes da lista\",\n    \"import.overwriteUserInfo\": \"Sobrescrever informações do usuário\",\n    \"import.overwriteUserInfoHelp\": \"Sobrescrever nome e atributos de inscritos existentes\",\n    \"import.recordsCount\": \"{num} / {total} registros\",\n    \"import.stopImport\": \"Parar importação\",\n    \"import.subscribe\": \"Inscrever\",\n    \"import.subscribeWarning\": \"A sobrescrita irá resscrever e-mails que foram cancelados a assinatura. Continuar?\",\n    \"import.title\": \"Importar inscritos\",\n    \"import.upload\": \"Enviar arquivo\",\n    \"lists.archived\": \"Arquivado\",\n    \"lists.archivedHelp\": \"Arquivar oculta as listas da página de listas, campanhas e formulários públicos. Pode ser desarquivado a qualquer momento. É útil para ocultar listas antigas e raramente usadas.\",\n    \"lists.confirmDelete\": \"Você tem certeza? Isso não exclui inscritos.\",\n    \"lists.confirmSub\": \"Confirmar assinatura(s) para {name}\",\n    \"lists.invalidName\": \"Nome inválido\",\n    \"lists.newList\": \"Nova lista\",\n    \"lists.optin\": \"Confirmação da inscrição\",\n    \"lists.optinHelp\": \"A inscrição com confirmação envia um e-mail para o inscrito pedindo que ele confirme a inscrição. Nas listas com inscrição com confirmação, as campanhas são enviadas apenas para inscritos que confirmaram a inscrição.\",\n    \"lists.optinTo\": \"Inscrição com confirmação para {name}\",\n    \"lists.optins.double\": \"Inscrição com confirmação\",\n    \"lists.optins.single\": \"Inscrição simples\",\n    \"lists.sendCampaign\": \"Enviar campanha\",\n    \"lists.sendOptinCampaign\": \"Enviada campanha de confirmação de inscrição\",\n    \"lists.type\": \"Tipo\",\n    \"lists.typeHelp\": \"Listas públicas estão abertas ao mundo para se inscrever e seus nomes podem aparecer em páginas públicas, como na página de gerenciamento de inscrições.\",\n    \"lists.types.private\": \"Privada\",\n    \"lists.types.public\": \"Pública\",\n    \"logs.title\": \"Logs\",\n    \"maintenance.database.title\": \"Banco de dados\",\n    \"maintenance.database.vacuumHelp\": \"VACUUM ANALYZE do PostgreSQL recupera armazenamento usado por linhas deletadas e acelera significativamente o desempenho do banco de dados em grandes bancos. IMPORTANTE: Para grandes bancos de dados, esta é uma operação lenta e bloqueante. Programe para executar durante horas de baixa atividade.\",\n    \"maintenance.help\": \"Algumas ações podem levar um tempo a depender da quantidade de dados.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Assinaturas opt-in não confirmadas\",\n    \"maintenance.olderThan\": \"Mais antigos que\",\n    \"maintenance.orphanHelp\": \"Órfãos = assinantes sem listas\",\n    \"maintenance.title\": \"Manutenção\",\n    \"maintenance.unconfirmedSubs\": \"Assinaturas não confirmadas mais antigas que {name} dias.\",\n    \"media.errorReadingFile\": \"Erro ao ler arquivo: {error}\",\n    \"media.errorResizing\": \"Erro ao redimensionar imagem: {error}\",\n    \"media.errorSavingThumbnail\": \"Erro ao salvar miniatura: {error}\",\n    \"media.errorUploading\": \"Erro ao enviar o arquivo: {error}\",\n    \"media.invalidFile\": \"Arquivo inválido: {error}\",\n    \"media.title\": \"Mídia\",\n    \"media.unsupportedFileType\": \"Tipo de arquivo não suportado ({type})\",\n    \"media.upload\": \"Enviar arquivo\",\n    \"media.uploadHelp\": \"Clique ou arraste uma ou mais imagens aqui\",\n    \"menu.allCampaigns\": \"Todas as campanhas\",\n    \"menu.allLists\": \"Todas as listas\",\n    \"menu.allSubscribers\": \"Todos os inscritos\",\n    \"menu.dashboard\": \"Painel\",\n    \"menu.forms\": \"Formulários\",\n    \"menu.import\": \"Importação\",\n    \"menu.logs\": \"Logs\",\n    \"menu.maintenance\": \"Manutenção\",\n    \"menu.media\": \"Mídia\",\n    \"menu.newCampaign\": \"Criar nova\",\n    \"menu.settings\": \"Configurações\",\n    \"public.archiveEmpty\": \"Sem mensagens no arquivo ainda.\",\n    \"public.archiveTitle\": \"Arquivo da lista de emails\",\n    \"public.blocklisted\": \"Inscrição cancelada permanentemente.\",\n    \"public.campaignNotFound\": \"A mensagem do e-mail não foi encontrada.\",\n    \"public.confirmOptinSubTitle\": \"Confirmar a assinatura\",\n    \"public.confirmSub\": \"Confirmar a assinatura\",\n    \"public.confirmSubInfo\": \"Você foi adicionado às seguintes listas:\",\n    \"public.confirmSubTitle\": \"Confirmar\",\n    \"public.dataRemoved\": \"Suas assinaturas e todos os dados associados foram removidos.\",\n    \"public.dataRemovedTitle\": \"Dados removidos\",\n    \"public.dataSent\": \"Seus dados foram enviados em anexo para seu e-mail.\",\n    \"public.dataSentTitle\": \"Dados enviados para seu e-mail\",\n    \"public.errorFetchingCampaign\": \"Erro ao obter a mensagem do e-mail.\",\n    \"public.errorFetchingEmail\": \"Mensagem do e-mail não encontrada\",\n    \"public.errorFetchingLists\": \"Erro ao obter as listas. Por favor, tente novamente.\",\n    \"public.errorProcessingRequest\": \"Erro ao processar a solicitação. Por favor, tente novamente.\",\n    \"public.errorTitle\": \"Erro\",\n    \"public.invalidCaptcha\": \"CAPTCHA inválido.\",\n    \"public.invalidFeature\": \"Este recurso não está disponível.\",\n    \"public.invalidLink\": \"Link inválido\",\n    \"public.managePrefs\": \"Gerenciar preferências\",\n    \"public.managePrefsUnsub\": \"Desmarque as listas para cancelar a inscrição nelas.\",\n    \"public.noListsAvailable\": \"Não há listas disponíveis para se inscrever.\",\n    \"public.noListsSelected\": \"Não foram selecionadas listas válidas para inscrever.\",\n    \"public.noSubInfo\": \"Não há nenhuma inscrição para confirmar.\",\n    \"public.noSubTitle\": \"Sem inscrições\",\n    \"public.notFoundTitle\": \"Não Encontrado\",\n    \"public.poweredBy\": \"Desenvolvido por\",\n    \"public.prefsSaved\": \"Suas preferências foram salvas.\",\n    \"public.privacyConfirmWipe\": \"Você tem certeza que deseja excluir todos os seus dados de assinatura permanentemente?\",\n    \"public.privacyExport\": \"Exportar seus dados\",\n    \"public.privacyExportHelp\": \"Uma cópia de seus dados será enviado por e-mail para você.\",\n    \"public.privacyTitle\": \"Privacidade e dados\",\n    \"public.privacyWipe\": \"Limpe seus dados\",\n    \"public.privacyWipeHelp\": \"Excluir todas as suas assinaturas e dados relacionados do banco de dados permanentemente.\",\n    \"public.sub\": \"Inscrever-se\",\n    \"public.subConfirmed\": \"Inscrito com sucesso.\",\n    \"public.subConfirmedTitle\": \"Confirmado\",\n    \"public.subName\": \"Nome (opcional)\",\n    \"public.subNotFound\": \"Inscrição não encontrada.\",\n    \"public.subOptinPending\": \"Um e-mail foi enviado a você para confirmar sua(s) inscrição(ões).\",\n    \"public.subPrivateList\": \"Lista privada\",\n    \"public.subTitle\": \"Inscrever-se\",\n    \"public.unsub\": \"Cancelar a inscrição\",\n    \"public.unsubFull\": \"Também cancelar a inscrição de todos os e-mails futuros.\",\n    \"public.unsubHelp\": \"Deseja cancelar a inscrição desta lista de e-mail?\",\n    \"public.unsubTitle\": \"Cancelar inscrição\",\n    \"public.unsubbedInfo\": \"Você cancelou a inscrição com sucesso.\",\n    \"public.unsubbedTitle\": \"Inscrição cancelada\",\n    \"public.unsubscribeTitle\": \"Cancelar inscrição na lista de e-mails\",\n    \"settings.appearance.adminHelp\": \"CSS customizado para aplicar na admin UI.\",\n    \"settings.appearance.adminName\": \"Administração\",\n    \"settings.appearance.customCSS\": \"CSS customizado\",\n    \"settings.appearance.customJS\": \"JavaScript customizado\",\n    \"settings.appearance.name\": \"Aparência\",\n    \"settings.appearance.publicHelp\": \"CSS e JavaScript customizados para aplicar nas páginas públicas.\",\n    \"settings.appearance.publicName\": \"Publico\",\n    \"settings.bounces.action\": \"Ação\",\n    \"settings.bounces.blocklist\": \"Lista de bloqueio\",\n    \"settings.bounces.count\": \"Contagem Bounce\",\n    \"settings.bounces.countHelp\": \"Número de bounces por assinante\",\n    \"settings.bounces.enable\": \"Ativar processamento de bounce\",\n    \"settings.bounces.enableForwardemail\": \"Habilitar Encaminhamento de Email\",\n    \"settings.bounces.enableMailbox\": \"Ativar caixa de email de bounce\",\n    \"settings.bounces.enablePostmark\": \"Ativar Postmark\",\n    \"settings.bounces.enableSES\": \"Ativar SES\",\n    \"settings.bounces.enableSendgrid\": \"Ativar SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Ativar webhooks bounce\",\n    \"settings.bounces.enabled\": \"Ativado\",\n    \"settings.bounces.folder\": \"Pasta\",\n    \"settings.bounces.folderHelp\": \"Noma da pasta IMAP para escanear. Ex: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Chave de Encaminhamento de Email\",\n    \"settings.bounces.invalidScanInterval\": \"Intervalo de escaneamento de Bounce deve ser no mínimo 1 minuto.\",\n    \"settings.bounces.name\": \"Rejeições\",\n    \"settings.bounces.none\": \"Nenhuma\",\n    \"settings.bounces.postmarkPassword\": \"Senha do Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nome de usuário do Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"O Postmark permite que você habilite autorização básica para Webhooks. Certifique-se de inserir as mesmas credenciais aqui e nas configurações de Webhooks do Postmark.\",\n    \"settings.bounces.scanInterval\": \"Intervalo de Escaneamento\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervalo no qual a caixa de emails de bounce deve ser escaneada por bounces (s para segundo, m para minuto).\",\n    \"settings.bounces.sendgridKey\": \"Key SendGrid\",\n    \"settings.bounces.type\": \"Tipo\",\n    \"settings.bounces.username\": \"Nome de usuário\",\n    \"settings.confirmRestart\": \"Certifique-se de que as campanhas em execução estão pausadas. Reiniciar?\",\n    \"settings.duplicateMessengerName\": \"Nome duplicado do mensageiro: {name}\",\n    \"settings.errorEncoding\": \"Erro ao codificar as configurações: {error}\",\n    \"settings.errorNoSMTP\": \"Pelo menos um bloco SMTP deve estar habilitado\",\n    \"settings.general.adminNotifEmails\": \"E-mails de notificação de administrador\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista de e-mails separados por vírgula para os quais as notificações de administração, como atualizações de importação, conclusão da campanha, falha, etc. devem ser enviadas.\",\n    \"settings.general.checkUpdates\": \"Verificar atualizações\",\n    \"settings.general.checkUpdatesHelp\": \"Checar periodicamente por notificações e atualizações do app.\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publicar campanhas nas quais o arquivamento está ativado no site público.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Mostrar conteúdo completo no feed RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Mostrar o conteúdo completo do e-mail no feed RSS. Se desabilitado, apenas o título e os elementos de link serão mostrados.\",\n    \"settings.general.enablePublicSubPage\": \"Habilitar a página pública de inscrição\",\n    \"settings.general.enablePublicSubPageHelp\": \"Habilitar a página pública de inscrição com todas as listas públicas para as pessoas se inscreverem.\",\n    \"settings.general.faviconURL\": \"URL do Favicon\",\n    \"settings.general.faviconURLHelp\": \"(Opcional) URL completo do favicon estático para ser visualizado pelo usuário, como a página de cancelamento de inscrição.\",\n    \"settings.general.fromEmail\": \"E-mail `de` padrão\",\n    \"settings.general.fromEmailHelp\": \"E-mail `de` padrão é usada nas mensagens de e-mails enviadas. Isso pode ser alterado por campanha.\",\n    \"settings.general.language\": \"Idioma\",\n    \"settings.general.logoURL\": \"URL do logotipo\",\n    \"settings.general.logoURLHelp\": \"(Opcional) URL completo do logotipo estático para ser visualizado pelo usuário, como a página de cancelamento de inscrição.\",\n    \"settings.general.name\": \"Geral\",\n    \"settings.general.rootURL\": \"URL base\",\n    \"settings.general.rootURLHelp\": \"URL público da instalação (sem barra final).\",\n    \"settings.general.sendOptinConfirm\": \"Enviar confirmação opt-in\",\n    \"settings.general.sendOptinConfirmHelp\": \"Quando novo assinante se cadastrar ou for adicionado pelo admin, enviar e-mail de confirmação opt-in.\",\n    \"settings.general.siteName\": \"Nome do site\",\n    \"settings.invalidMessengerName\": \"Nome de mensageiro inválido.\",\n    \"settings.mailserver.authProtocol\": \"Protocolo Autenticação\",\n    \"settings.mailserver.host\": \"Host\",\n    \"settings.mailserver.hostHelp\": \"Endereço do servidor SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Tempo limite ocioso\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).\",\n    \"settings.mailserver.maxConns\": \"Máx. Conexões\",\n    \"settings.mailserver.maxConnsHelp\": \"Número máximo de conexões simultâneas ao servidor SMTP.\",\n    \"settings.mailserver.nameHelp\": \"Nome exclusivo opcional para o servidor SMTP. Deve ter o prefixo email-. Configurar isso permite que o servidor seja selecionado especificamente para uma campanha. Ex: email-primary-server. Alfanumérico / hífen.\",\n    \"settings.mailserver.password\": \"Senha\",\n    \"settings.mailserver.passwordHelp\": \"Digite para alterar\",\n    \"settings.mailserver.port\": \"Porta\",\n    \"settings.mailserver.portHelp\": \"Porta do servidor SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Pular verificação de TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Pular verificação de hostname sobre o certificado TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Habilitar STARTTLS.\",\n    \"settings.mailserver.username\": \"Usuário\",\n    \"settings.mailserver.waitTimeout\": \"Tempo limite de espera\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).\",\n    \"settings.maintenance.cron\": \"Intervalo do cron\",\n    \"settings.media.provider\": \"Provedor\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Caminho do bucket\",\n    \"settings.media.s3.bucketPathHelp\": \"Caminho dentro do bucket para enviar os arquivos. O padrão é /\",\n    \"settings.media.s3.bucketType\": \"Tipo de bucket\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privado\",\n    \"settings.media.s3.bucketTypePublic\": \"Público\",\n    \"settings.media.s3.key\": \"Chave de acesso AWS\",\n    \"settings.media.s3.publicURL\": \"URL público customizado (opcional)\",\n    \"settings.media.s3.publicURLHelp\": \"Domínio S3 customizado para usar nos links das imagens ao invés do padrão de URL do S3.\",\n    \"settings.media.s3.region\": \"Região\",\n    \"settings.media.s3.secret\": \"Segredo de acesso AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Expiração do arquivo enviado\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opcional) Especificar TTL para a URL pré-assinada gerada. Apenas aplicável para buckets privados (s, m, h, d para segundos, minutos, horas e dias).\",\n    \"settings.media.s3.url\": \"URL backend do S3\",\n    \"settings.media.s3.urlHelp\": \"Altere apenas se usar um backnd customizado compatível com S3, como o Minio.\",\n    \"settings.media.title\": \"Envios de mídias\",\n    \"settings.media.upload.extensions\": \"Extensões de arquivo permitidas\",\n    \"settings.media.upload.extensionsHelp\": \"Digite * para permitir todas as extensões\",\n    \"settings.media.upload.path\": \"Caminho de envio\",\n    \"settings.media.upload.pathHelp\": \"Caminho para o diretório onde a mídia será enviado.\",\n    \"settings.media.upload.uri\": \"URI de envio\",\n    \"settings.media.upload.uriHelp\": \"URI de envio que é visível ao mundo exterior. Todas as mídias enviadas para o upload_path será publicamente acessível em {root_url}, por exemplo, https://listmonk.exemplo.com.br/uploads.\",\n    \"settings.messengers.maxConns\": \"Máx. conexões\",\n    \"settings.messengers.maxConnsHelp\": \"Máximo de conexões simultâneas para o servidor.\",\n    \"settings.messengers.messageSaved\": \"Configurações salvas. Recarregando o aplicativo...\",\n    \"settings.messengers.name\": \"Mensageiros\",\n    \"settings.messengers.nameHelp\": \"ex: meu-sms. Alfanuméricos / traço.\",\n    \"settings.messengers.password\": \"Senha\",\n    \"settings.messengers.retries\": \"Tentativas\",\n    \"settings.messengers.retriesHelp\": \"Número de tentativas quando uma mensagem falhar.\",\n    \"settings.messengers.skipTLSHelp\": \"Pular verificação de hostname sobre o certificado TLS.\",\n    \"settings.messengers.timeout\": \"Tempo de espera limite\",\n    \"settings.messengers.timeoutHelp\": \"Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL base do servidor Postback.\",\n    \"settings.messengers.username\": \"Usuário\",\n    \"settings.needsRestart\": \"Configurações alteradas. Pause todas as campanhas em execução e reiniciar o aplicativo\",\n    \"settings.performance.batchSize\": \"Tamanho do lote\",\n    \"settings.performance.batchSizeHelp\": \"O número de inscritos para puxar do banco de dados em uma única iteração. Cada iteração puxa assinantes da base de dados, envia mensagens para eles, e então passa para a próxima iteração para puxar o próximo lote. O ideal é que isso seja mais alto do que o máximo possível de transferência (concorrência * taxa de mensagem).\",\n    \"settings.performance.cacheSlowQueries\": \"Armazenar em cache consultas lentas do banco de dados\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Ative isso apenas em bancos de dados grandes que tenham desacelerado significativamente. Caches as contagens de assinantes de lista, estatísticas do painel, etc.\",\n    \"settings.performance.concurrency\": \"Concorrência\",\n    \"settings.performance.concurrencyHelp\": \"Máximo de trabalhador simultâneo (threads) que tentará enviar mensagens simultaneamente.\",\n    \"settings.performance.maxErrThreshold\": \"Limite máximo de erros\",\n    \"settings.performance.maxErrThresholdHelp\": \"O número de erros (por exemplo: tempo limite SMTP ao enviar e-mail) uma campanha em curso deve tolerar antes de ser pausada para investigação manual ou intervenção. Marque 0 para nunca pausar.\",\n    \"settings.performance.messageRate\": \"Taxa de mensagens\",\n    \"settings.performance.messageRateHelp\": \"Número máximo de mensagens a serem enviadas por segundo por trabalhador em um segundo. Se a concorrência = 10 e taxa de mensagem = 10, então até 10x10=100 mensagens podem ser enviadas a cada segundo. Isto, juntamente com a concorrência, deve ser ajustado para manter as mensagens saindo da rede por segundo abaixo dos limites de taxa dos servidores de mensagens de destino, se houver.\",\n    \"settings.performance.name\": \"Desempenho\",\n    \"settings.performance.slidingWindow\": \"Habilitar limite da janela deslizante\",\n    \"settings.performance.slidingWindowDuration\": \"Duração\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Duração do período da janela deslizante (m para minuto, h para hora).\",\n    \"settings.performance.slidingWindowHelp\": \"Limitar o número total de mensagens enviadas em determinado período. Ao atingir este limite, as mensagens são impedidas de ser enviadas até ao fim da janela temporária.\",\n    \"settings.performance.slidingWindowRate\": \"Max. mensagens\",\n    \"settings.performance.slidingWindowRateHelp\": \"Número máximo de mensagens a serem enviadas dentro da duração da janela.\",\n    \"settings.privacy.allowBlocklist\": \"Permitir lista de bloqueio\",\n    \"settings.privacy.allowBlocklistHelp\": \"Permitir que os inscritos cancelem a inscrição de todas as listas de e-mails e se marquem como bloqueados?\",\n    \"settings.privacy.allowExport\": \"Permitir exportação\",\n    \"settings.privacy.allowExportHelp\": \"Permitir que os assinantes exportem os dados coletados neles?\",\n    \"settings.privacy.allowPrefs\": \"Permitir mudanças de preferências\",\n    \"settings.privacy.allowPrefsHelp\": \"Permita que os assinantes alterem as preferências, como seus nomes e assinaturas de várias listas.\",\n    \"settings.privacy.allowWipe\": \"Permitir limpeza\",\n    \"settings.privacy.allowWipeHelp\": \"Permitir que os assinantes se excluam incluindo suas inscrições e todos os outros dados da base de dados. Visualizações da campanha e cliques de links também são removidos enquanto o total de visualizações e cliques permanecem (com nenhum inscrito associado a eles) para que as estatísticas e análises não sejam afetadas.\",\n    \"settings.privacy.domainAllowlist\": \"Lista de domínios permitidos\",\n    \"settings.privacy.domainAllowlistHelp\": \"Somente endereços de e-mail com esses domínios estão autorizados a se inscrever. Digite um domínio por linha, ex: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Blocklist de domínios\",\n    \"settings.privacy.domainBlocklistHelp\": \"Endereços de e-mail com estes domínios serão proibidos de se cadastrarem. Um domínio por linha, ex: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Rastreamento individual de inscrito\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Rastrear visualizações e cliques de cada inscrito. Quando desativado, o rastreio da visualizações e clique continuar sem estar associado a nenhuma inscrição.\",\n    \"settings.privacy.listUnsubHeader\": \"Incluir cabeçalho `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Incluir cabeçalhos de desinscrição que permitem aos clientes de e-mail cancelem a inscrição em um único clique.\",\n    \"settings.privacy.name\": \"Privacidade\",\n    \"settings.privacy.recordOptinIP\": \"Registrar endereço IP de aceitação\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registrar o endereço IP de aceitação dupla nas atributos do assinante.\",\n    \"settings.restart\": \"Reiniciar\",\n    \"settings.security.CORSDomains\": \"Origens permitidas\",\n    \"settings.security.CORSDomainsHelp\": \"Permitir acesso aos endpoints da API via Javascript do navegador de domínios externos. Digite um domínio por linha (ex: https://example.com). Deixe em branco para desabilitar CORS ou adicione * para permitir todos (não recomendado).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Criar usuários automaticamente\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Cria automaticamente o usuário no primeiro login se a conta não existir.\",\n    \"settings.security.OIDCClientID\": \"ID do cliente\",\n    \"settings.security.OIDCClientSecret\": \"Segredo do cliente\",\n    \"settings.security.OIDCDefaultListRole\": \"Função padrão da lista\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Função padrão atribuída aos usuários criados automaticamente via OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Função padrão do usuário\",\n    \"settings.security.OIDCHelp\": \"Permite o login OpenID Connect OAuth2 através de um provedor OAuth.\",\n    \"settings.security.OIDCName\": \"Nome do provedor\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirecionamento para o provedor oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Esta parece não ser uma URL de produção. Altere a URL raiz nas configurações 'Geral'.\",\n    \"settings.security.OIDCURL\": \"URL do provedor\",\n    \"settings.security.OIDCWarning\": \"Quando o OIDC está habilitado, o login padrão por senha é desativado. Configurações inválidas podem te deixar bloqueado.\",\n    \"settings.security.altchaComplexity\": \"Complexidade do Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Valores maiores oferecem melhor segurança, porém a resolução fica mais lenta (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Chave do Site hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Visite www.hcaptcha.com para obter a chave e o segredo.\",\n    \"settings.security.captchaSecret\": \"Segredo do Site hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Habilitar CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Habilitar CAPTCHA no formulário público de inscrição.\",\n    \"settings.security.enableOIDC\": \"Habilitar SSO OIDC\",\n    \"settings.security.name\": \"Segurança\",\n    \"settings.smtp.customHeaders\": \"Cabeçalhos personalizados\",\n    \"settings.smtp.customHeadersHelp\": \"Array opcional de cabeçalhos de e-mail para incluir em todas as mensagens enviadas a partir deste servidor. por exemplo: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Habilitado\",\n    \"settings.smtp.heloHost\": \"Nome do host HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opcional. Alguns servidores SMTP exigem um FQDN no nome do host. Por padrão, os HELLOs vão com 'localhost'. Defina isto se um nome de host personalizado deve ser usado.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Tentativas\",\n    \"settings.smtp.retriesHelp\": \"Número de tentativas quando uma mensagem falhar.\",\n    \"settings.smtp.sendTest\": \"Enviar e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Definir cabeçalhos personalizados\",\n    \"settings.smtp.testConnection\": \"Testar conexões\",\n    \"settings.smtp.testEnterEmail\": \"Digite a senha para testar\",\n    \"settings.smtp.toEmail\": \"E-mail para\",\n    \"settings.title\": \"Configurações\",\n    \"settings.updateAvailable\": \"Atualização: a nova versão {version} já está disponível.\",\n    \"subscribers.activity\": \"Atividade\",\n    \"subscribers.advancedQuery\": \"Avançado\",\n    \"subscribers.advancedQueryHelp\": \"Expressão de SQL parcial para consultar atributos dos inscritos\",\n    \"subscribers.attribsHelp\": \"Atributos são definidos como um mapa JSON, por exemplo:\",\n    \"subscribers.blocklistedHelp\": \"Inscritos bloqueados nunca receberão quaisquer e-mails.\",\n    \"subscribers.confirmBlocklist\": \"Bloquear {num} inscrito(s)?\",\n    \"subscribers.confirmDelete\": \"Excluir {num} inscrito(s)?\",\n    \"subscribers.confirmExport\": \"Exportar {num} inscrito(s)?\",\n    \"subscribers.domainBlocklisted\": \"O domínio desse emails está na blocklist.\",\n    \"subscribers.downloadData\": \"Baixar dados\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail já existe.\",\n    \"subscribers.errorBlocklisting\": \"Erro ao bloquear inscritos: {error}\",\n    \"subscribers.errorNoIDs\": \"Nenhum ID informado.\",\n    \"subscribers.errorNoListsGiven\": \"Nenhuma lista informada.\",\n    \"subscribers.errorPreparingQuery\": \"Erro ao preparar consulta de inscritos: {error}\",\n    \"subscribers.errorSendingOptin\": \"Erro ao enviar e-mail de confirmação de inscrição.\",\n    \"subscribers.export\": \"Exportar\",\n    \"subscribers.invalidAction\": \"Ação inválida.\",\n    \"subscribers.invalidEmail\": \"E-mail inválido.\",\n    \"subscribers.invalidJSON\": \"JSON inválido nos atributos.\",\n    \"subscribers.invalidName\": \"Nome inválido.\",\n    \"subscribers.listChangeApplied\": \"Alterações na lista aplicadas.\",\n    \"subscribers.lists\": \"Listas\",\n    \"subscribers.listsHelp\": \"Listas das quais os inscritos cancelaram a inscrição por eles mesmos não podem ser removidos.\",\n    \"subscribers.listsPlaceholder\": \"Listas para inscrever\",\n    \"subscribers.manageLists\": \"Gerenciar listas\",\n    \"subscribers.markUnsubscribed\": \"Marcar como inscrição cancelada\",\n    \"subscribers.newSubscriber\": \"Novo inscrito\",\n    \"subscribers.numSelected\": \"{num} inscrito(s) selecionado(s)\",\n    \"subscribers.optinSubject\": \"Confirmar a inscrição\",\n    \"subscribers.preconfirm\": \"Pré-confirmar assinaturas\",\n    \"subscribers.preconfirmHelp\": \"Não enviar emails de confirmação opt-in e marcar toda a lista como 'subscribed'.\",\n    \"subscribers.query\": \"Consulta\",\n    \"subscribers.queryPlaceholder\": \"E-mail ou nome\",\n    \"subscribers.reset\": \"Redefinir\",\n    \"subscribers.selectAll\": \"Selecionar todos {num}\",\n    \"subscribers.sendOptinConfirm\": \"Enviar confirmação opt-in\",\n    \"subscribers.sentOptinConfirm\": \"Confirmação opt-in enviada\",\n    \"subscribers.status.blocklisted\": \"Lista de bloqueados\",\n    \"subscribers.status.confirmed\": \"Confirmado\",\n    \"subscribers.status.enabled\": \"Habilitado\",\n    \"subscribers.status.subscribed\": \"Inscrito\",\n    \"subscribers.status.unconfirmed\": \"Não confirmado\",\n    \"subscribers.status.unsubscribed\": \"Inscrição cancelada\",\n    \"subscribers.subscribersDeleted\": \"{num} inscrito(s) excluído(s)\",\n    \"templates.cantDeleteDefault\": \"Não é possível excluir o modelo padrão\",\n    \"templates.default\": \"Padrão\",\n    \"templates.dummyName\": \"Campanha fictícia\",\n    \"templates.dummySubject\": \"Assunto da campanha fictícia\",\n    \"templates.errorCompiling\": \"Erro ao compilar modelo: {error}\",\n    \"templates.errorRendering\": \"Erro ao renderizar mensagem: {error}\",\n    \"templates.fieldInvalidName\": \"Comprimento inválido para o nome.\",\n    \"templates.makeDefault\": \"Definir como padrão\",\n    \"templates.newTemplate\": \"Novo modelo\",\n    \"templates.placeholderHelp\": \"O palavra reservada {placeholder} deve aparecer exatamente uma vez no modelo.\",\n    \"templates.preview\": \"Pré-visualizar\",\n    \"templates.rawHTML\": \"Código HTML\",\n    \"templates.subject\": \"Assunto\",\n    \"templates.typeCampaignHTML\": \"Campanha / HTML\",\n    \"templates.typeCampaignVisual\": \"Campanha / Visual\",\n    \"templates.typeTransactional\": \"Transacional\",\n    \"users.apiOneTimeToken\": \"Copie o token de acesso à API agora. Ele não será mostrado novamente.\",\n    \"users.cantDeleteRole\": \"Não é possível excluir um papel que está em uso.\",\n    \"users.firstTime\": \"Esta é uma instalação nova. Escolha um nome de usuário e uma senha para a conta de Super Administrador.\",\n    \"users.forgotPassword\": \"Esqueceu a senha?\",\n    \"users.invalidLogin\": \"Nome de usuário ou senha inválidos\",\n    \"users.invalidPassword\": \"Senha inválida\",\n    \"users.invalidRequest\": \"Requisição de autenticação inválida\",\n    \"users.invalidResetLink\": \"Link de redefinição inválido ou expirado\",\n    \"users.lastLogin\": \"Último login\",\n    \"users.listPerms\": \"Permissões de lista\",\n    \"users.listPermsWarning\": \"as permissões lists:get_all ou lists:manage_all estão habilitadas, o que substitui as permissões específicas de cada lista\",\n    \"users.listRole\": \"Papel da lista | Papel da lista\",\n    \"users.listRoles\": \"Papéis da lista\",\n    \"users.login\": \"Entrar\",\n    \"users.loginOIDC\": \"Login com {name}\",\n    \"users.logout\": \"Sair\",\n    \"users.needSuper\": \"O(s) usuário(s) não pode(m) ser atualizado(s). Deve haver pelo menos um usuário Super Administrador ativo.\",\n    \"users.newListRole\": \"Novo papel da lista\",\n    \"users.newPassword\": \"Nova senha\",\n    \"users.newUser\": \"Novo usuário\",\n    \"users.newUserRole\": \"Novo papel do usuário\",\n    \"users.password\": \"Senha\",\n    \"users.passwordEnable\": \"Habilitar login por senha\",\n    \"users.passwordMismatch\": \"Senhas não coincidem\",\n    \"users.passwordRepeat\": \"Repetir senha\",\n    \"users.perms\": \"Permissões\",\n    \"users.profile\": \"Perfil\",\n    \"users.resetLinkSent\": \"Se a conta estiver ativa, você receberá um e-mail de redefinição de senha.\",\n    \"users.resetPassword\": \"Redefinir senha\",\n    \"users.role\": \"Papel | Papéis\",\n    \"users.roleGroup\": \"Grupo\",\n    \"users.roles\": \"Papéis\",\n    \"users.status.disabled\": \"Desabilitado\",\n    \"users.status.enabled\": \"Habilitado\",\n    \"users.totpCode\": \"Código TOTP\",\n    \"users.totpCodeHelp\": \"Digite o código de 6 dígitos do seu aplicativo autenticador\",\n    \"users.totpScanQR\": \"Digitalize o código QR com seu aplicativo autenticador como Ente ou Google Authenticator e digite o código TOTP abaixo.\",\n    \"users.totpSecret\": \"Chave secreta\",\n    \"users.twoFA\": \"Autenticação de dois fatores\",\n    \"users.twoFAAlreadyEnabled\": \"Autenticação de dois fatores já está habilitada.\",\n    \"users.twoFAEnabled\": \"Autenticação de dois fatores está ativada\",\n    \"users.twoFAEnabledDesc\": \"Sua conta está protegida com {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Habilite 2FA para segurança adicional ao fazer login em sua conta.\",\n    \"users.type\": \"Tipo\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Usuário\",\n    \"users.userRole\": \"Papel do usuário | Papéis do usuário\",\n    \"users.userRoles\": \"Papéis do usuário\",\n    \"users.username\": \"Nome de usuário\",\n    \"users.usernameHelp\": \"Usado com o login por senha\"\n}\n"
  },
  {
    "path": "i18n/pt.json",
    "content": "{\n    \"_.code\": \"pt\",\n    \"_.name\": \"Portuguese (pt)\",\n    \"admin.errorMarshallingConfig\": \"Erro ao ler o config: {error}\",\n    \"analytics.count\": \"Quantidade\",\n    \"analytics.fromDate\": \"Desde\",\n    \"analytics.invalidDates\": \"Datas `desde` e `até` inválidas.\",\n    \"analytics.isUnique\": \"As quantidades são únicas por subscritor.\",\n    \"analytics.links\": \"Endereços\",\n    \"analytics.nonUnique\": \"As quantidades não são únicas dado que o rastreamento individual de cada subscritor está desligado.\",\n    \"analytics.title\": \"Analítica\",\n    \"analytics.toDate\": \"Até\",\n    \"bounces.complaint\": \"Queixa\",\n    \"bounces.hard\": \"Duro\",\n    \"bounces.soft\": \"Suave\",\n    \"bounces.source\": \"Fonte\",\n    \"bounces.unknownService\": \"Serviço desconhecido.\",\n    \"bounces.view\": \"Ver bounces\",\n    \"campaigns.addAltText\": \"Adicionar mensagem alternativa em texto simples\",\n    \"campaigns.addAttachments\": \"Adicionar anexos\",\n    \"campaigns.archive\": \"Arquivo\",\n    \"campaigns.archiveEnable\": \"Publicar para o arquivo público\",\n    \"campaigns.archiveHelp\": \"Publicar (em execução, em pausa e terminadas) as mensagens da campanha no arquivo público.\",\n    \"campaigns.archiveMeta\": \"Metadados da campanha\",\n    \"campaigns.archiveMetaHelp\": \"Dados do subscritor modelo a usar em mensagens públicas, tais como nome, email e quais quer outros atributos opcionais usados na mensagem ou template da campanha.\",\n    \"campaigns.archiveSlug\": \"Slug do URL\",\n    \"campaigns.archiveSlugHelp\": \"Um nome curto para a página a ser usado no URL público. ex: edicao-da-minha-newsletter-2\",\n    \"campaigns.attachments\": \"Anexos\",\n    \"campaigns.attribsHelp\": \"Atributos de objeto JSON customizados {} para esta campanha. Use no template com {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Não é possível atualizar uma campanha em curso ou terminada.\",\n    \"campaigns.clicks\": \"Cliques\",\n    \"campaigns.confirmDelete\": \"Eliminar {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Isto irá sobrescrever todo o conteúdo. Continuar?\",\n    \"campaigns.confirmSchedule\": \"A campanha irá começar automaticamente na data e hora agendadas. Agendar agora?\",\n    \"campaigns.confirmSwitchFormat\": \"O conteúdo pode perder a formatação. Continuar?\",\n    \"campaigns.content\": \"Conteúdo\",\n    \"campaigns.contentHelp\": \"Conteúdo aqui\",\n    \"campaigns.continue\": \"Continuar\",\n    \"campaigns.copyOf\": \"Cópia de {name}\",\n    \"campaigns.customHeadersHelp\": \"Lista de headers customizados para anexar às mensagens de saída, e.g.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Dia e hora\",\n    \"campaigns.ended\": \"Terminada\",\n    \"campaigns.errorSendTest\": \"Erro ao enviar teste: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Erro ao compilar corpo da campanha: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"`from_email` inválido.\",\n    \"campaigns.fieldInvalidListIDs\": \"Lista de IDs inválida.\",\n    \"campaigns.fieldInvalidMessenger\": \"Mensageiro {name} desconhecido.\",\n    \"campaigns.fieldInvalidName\": \"Tamanho de nome inválido.\",\n    \"campaigns.fieldInvalidSendAt\": \"Data agendada deve ser no futuro.\",\n    \"campaigns.fieldInvalidSubject\": \"Tamanho de corpo inválido.\",\n    \"campaigns.format\": \"Formato\",\n    \"campaigns.formatHTML\": \"Formatar HTML\",\n    \"campaigns.fromAddress\": \"Endereço do Remetente\",\n    \"campaigns.fromAddressPlaceholder\": \"O Teu Nome <noreply@oteusite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importar template visual\",\n    \"campaigns.invalid\": \"Campanha inválida\",\n    \"campaigns.invalidCustomHeaders\": \"Headers customizados inválidos: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"A campanha necessita de uma data para ser agendada.\",\n    \"campaigns.newCampaign\": \"Nova campanha\",\n    \"campaigns.noKnownSubsToTest\": \"Não existem subscritores para testar.\",\n    \"campaigns.noOptinLists\": \"Não foram encontradas listas opt-in para criar a campanha.\",\n    \"campaigns.noSubs\": \"Não existem subscritores nas listas selecionadas para criar a campanha.\",\n    \"campaigns.noSubsToTest\": \"Não existem subscritores para usar.\",\n    \"campaigns.notFound\": \"Campanha não encontrada.\",\n    \"campaigns.onlyActiveCancel\": \"Apenas campanhas ativas podem ser canceladas.\",\n    \"campaigns.onlyActivePause\": \"Apenas campanhas ativas podem ser pausadas.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Apenas rascunhos de campanhas podem ser agendadas.\",\n    \"campaigns.onlyPausedDraft\": \"Apenas campanhas pausadas e rascunhos podem ser iniciadas.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Apenas campanhas agendadas podem ser guardadas como rascunhos.\",\n    \"campaigns.pause\": \"Pausar\",\n    \"campaigns.plainText\": \"Texto simples\",\n    \"campaigns.preview\": \"Pré-visualizar\",\n    \"campaigns.progress\": \"Progresso\",\n    \"campaigns.queryPlaceholder\": \"Nome ou assunto\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML simples\",\n    \"campaigns.removeAltText\": \"Remover mensagem alternativa em texto simples\",\n    \"campaigns.richText\": \"Texto rico\",\n    \"campaigns.schedule\": \"Agendar campanha\",\n    \"campaigns.scheduled\": \"Agendada\",\n    \"campaigns.send\": \"Enviar\",\n    \"campaigns.sendLater\": \"Enviar mais tarde\",\n    \"campaigns.sendTest\": \"Enviar mensagem de teste\",\n    \"campaigns.sendTestHelp\": \"Clica Enter após escrever o endereço de múltiplos destinatários. Os endereços devem pertencer a subscritores existentes.\",\n    \"campaigns.sendToLists\": \"Listas a enviar para\",\n    \"campaigns.sent\": \"Enviada\",\n    \"campaigns.start\": \"Começar campanha\",\n    \"campaigns.started\": \"\\\"{name}\\\" começou\",\n    \"campaigns.startedAt\": \"Começou\",\n    \"campaigns.stats\": \"Estatísticas\",\n    \"campaigns.status.cancelled\": \"Cancelada\",\n    \"campaigns.status.draft\": \"Rascunho\",\n    \"campaigns.status.finished\": \"Terminada\",\n    \"campaigns.status.paused\": \"Em Pausa\",\n    \"campaigns.status.running\": \"Em progresso\",\n    \"campaigns.status.scheduled\": \"Agendada\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" está {status}\",\n    \"campaigns.subject\": \"Assunto\",\n    \"campaigns.templatingRef\": \"Referência de modelagem\",\n    \"campaigns.testEmails\": \"E-mails de teste\",\n    \"campaigns.testSent\": \"Mensagem de teste enviada\",\n    \"campaigns.timestamps\": \"Carimbo de hora\",\n    \"campaigns.trackLink\": \"Link de rastreamento\",\n    \"campaigns.unSchedule\": \"Desagendar\",\n    \"campaigns.views\": \"Visualizações\",\n    \"campaigns.visual\": \"Visual\",\n    \"dashboard.campaignViews\": \"Vista de campanhas\",\n    \"dashboard.linkClicks\": \"Cliques nos links\",\n    \"dashboard.messagesSent\": \"Mensagens enviadas\",\n    \"dashboard.orphanSubs\": \"Órfãos\",\n    \"email.data.info\": \"Uma cópia de todos os seus dados está em anexo em formato JSON. Pode ser visualizada num editor de texto.\",\n    \"email.data.title\": \"Os seus dados\",\n    \"email.forgotPassword.button\": \"Redefinir senha\",\n    \"email.forgotPassword.info\": \"Se você não solicitou isso, pode ignorar com segurança este e-mail. Este link expirará em 30 minutos.\",\n    \"email.forgotPassword.subject\": \"Redefina sua senha\",\n    \"email.optin.confirmSub\": \"Confirmar subscrição\",\n    \"email.optin.confirmSubHelp\": \"Confirme a sua subscrição clicando no botão abaixo.\",\n    \"email.optin.confirmSubInfo\": \"Foi adicionado às seguintes listas:\",\n    \"email.optin.confirmSubTitle\": \"Confirmar subscrição\",\n    \"email.optin.confirmSubWelcome\": \"Olá\",\n    \"email.optin.privateList\": \"Lista privada\",\n    \"email.status.campaignReason\": \"Motivo\",\n    \"email.status.campaignSent\": \"Enviada\",\n    \"email.status.campaignUpdateTitle\": \"Atualização de campanha\",\n    \"email.status.importFile\": \"Ficheiro\",\n    \"email.status.importRecords\": \"Registos\",\n    \"email.status.importTitle\": \"Importar atualização\",\n    \"email.status.status\": \"Estado\",\n    \"email.unsub\": \"Cancelar subscrição\",\n    \"email.unsubHelp\": \"Não quer receber estes e-mails?\",\n    \"email.viewInBrowser\": \"Ver no navegador\",\n    \"forms.formHTML\": \"Formulário HTML\",\n    \"forms.formHTMLHelp\": \"Usa o seguinte código HTML para mostrar um formulário de subscrição numa página externa. O formulário deve ter um campo de email e um ou mais campos `l` (UUID de listas). O campo de nome é opcional.\",\n    \"forms.noPublicLists\": \"Não existem listas públicas para gerar um formulário.\",\n    \"forms.publicLists\": \"Listas públicas\",\n    \"forms.publicSubPage\": \"Página pública de subscrição\",\n    \"forms.selectHelp\": \"Seleciona listas para adicionar ao formulário.\",\n    \"forms.title\": \"Formulários\",\n    \"globals.buttons.add\": \"Adicionar\",\n    \"globals.buttons.addNew\": \"Adicionar novo\",\n    \"globals.buttons.back\": \"Voltar\",\n    \"globals.buttons.cancel\": \"Cancelar\",\n    \"globals.buttons.clear\": \"Eliminar\",\n    \"globals.buttons.clearAll\": \"Eliminar todos\",\n    \"globals.buttons.clone\": \"Duplicar\",\n    \"globals.buttons.close\": \"Fechar\",\n    \"globals.buttons.continue\": \"Continuar\",\n    \"globals.buttons.copy\": \"Copiar\",\n    \"globals.buttons.delete\": \"Eliminar\",\n    \"globals.buttons.deleteAll\": \"Eliminar todos\",\n    \"globals.buttons.disable\": \"Desativar\",\n    \"globals.buttons.edit\": \"Editar\",\n    \"globals.buttons.enable\": \"Ativar\",\n    \"globals.buttons.enabled\": \"Ativo\",\n    \"globals.buttons.insert\": \"Inserir\",\n    \"globals.buttons.learnMore\": \"Saber mais\",\n    \"globals.buttons.manage\": \"Gerenciar\",\n    \"globals.buttons.more\": \"Mais\",\n    \"globals.buttons.new\": \"Novo\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Remover\",\n    \"globals.buttons.save\": \"Guardar\",\n    \"globals.buttons.saveChanges\": \"Guardar alterações\",\n    \"globals.buttons.toggleSelect\": \"Alternar seleção\",\n    \"globals.buttons.view\": \"Visualizar\",\n    \"globals.days.0\": \"Dom\",\n    \"globals.days.1\": \"Dom\",\n    \"globals.days.2\": \"Seg\",\n    \"globals.days.3\": \"Ter\",\n    \"globals.days.4\": \"Qua\",\n    \"globals.days.5\": \"Qui\",\n    \"globals.days.6\": \"Sex\",\n    \"globals.days.7\": \"Sáb\",\n    \"globals.fields.createdAt\": \"Criado a\",\n    \"globals.fields.description\": \"Descrição\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nome\",\n    \"globals.fields.status\": \"Estado\",\n    \"globals.fields.type\": \"Tipo\",\n    \"globals.fields.updatedAt\": \"Atualizado a\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Tens a certeza?\",\n    \"globals.messages.confirmDelete\": \"Deletar {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Descartar alterações?\",\n    \"globals.messages.copied\": \"Copiado\",\n    \"globals.messages.created\": \"\\\"{name}\\\" criado\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" eliminado\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) eliminado/a\",\n    \"globals.messages.done\": \"Concluído\",\n    \"globals.messages.emptyState\": \"Não há nada aqui\",\n    \"globals.messages.errorCreating\": \"Erro ao criar {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Erro ao eliminar {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Erro ao carregar {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Foram dados um ou mais IDs inválidos: {error}\",\n    \"globals.messages.errorUUID\": \"Erro ao gerar UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Erro ao atualizar {name}: {error}\",\n    \"globals.messages.internalError\": \"Erro interno no servidor\",\n    \"globals.messages.invalidData\": \"Dados inválidos\",\n    \"globals.messages.invalidFields\": \"Campos inválidos: {name}\",\n    \"globals.messages.invalidID\": \"ID inválido\",\n    \"globals.messages.invalidUUID\": \"UUID inválido\",\n    \"globals.messages.invalidValue\": \"Valor inválido\",\n    \"globals.messages.missingFields\": \"Campo(s) em falta: {name}\",\n    \"globals.messages.notFound\": \"{name} não encontrado\",\n    \"globals.messages.numSelected\": \"{num} selecionado(s)\",\n    \"globals.messages.passwordChange\": \"Insere um valor para alterar\",\n    \"globals.messages.passwordChangeFull\": \"Limpe e digite novamente a senha completa em '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Permissão negada: {name}\",\n    \"globals.messages.selectAll\": \"Selecionar todos os {num}\",\n    \"globals.messages.slowQueriesCached\": \"As consultas lentas estão sendo armazenadas em cache. Alguns números nesta página não estarão atualizados.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" atualizado\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Out\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dez\",\n    \"globals.months.2\": \"Fev\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Abr\",\n    \"globals.months.5\": \"Mai\",\n    \"globals.months.6\": \"Jun\",\n    \"globals.months.7\": \"Jul\",\n    \"globals.months.8\": \"Ago\",\n    \"globals.months.9\": \"Set\",\n    \"globals.states.off\": \"Desligado\",\n    \"globals.terms.all\": \"Todos(as)\",\n    \"globals.terms.analytics\": \"Analítica\",\n    \"globals.terms.attribs\": \"Atributos\",\n    \"globals.terms.bounce\": \"Rejeição | Rejeições\",\n    \"globals.terms.bounces\": \"Rejeições\",\n    \"globals.terms.campaign\": \"Campanha | Campanhas\",\n    \"globals.terms.campaigns\": \"Campanha\",\n    \"globals.terms.dashboard\": \"Painel\",\n    \"globals.terms.day\": \"Dia | Dias\",\n    \"globals.terms.hour\": \"Hora | Horas\",\n    \"globals.terms.import\": \"Importar\",\n    \"globals.terms.list\": \"Lista | Listas\",\n    \"globals.terms.lists\": \"Listas\",\n    \"globals.terms.media\": \"Mídia | Mídia\",\n    \"globals.terms.messenger\": \"Mensageiro | Mensageiros\",\n    \"globals.terms.messengers\": \"Mensageiros\",\n    \"globals.terms.minute\": \"Minuto | Minutos\",\n    \"globals.terms.month\": \"Mês | Meses\",\n    \"globals.terms.new\": \"Novo\",\n    \"globals.terms.none\": \"Nenhum\",\n    \"globals.terms.second\": \"Segundo | Segundos\",\n    \"globals.terms.settings\": \"Definições\",\n    \"globals.terms.subscriber\": \"Subscritor | Subcritores\",\n    \"globals.terms.subscribers\": \"Subscritores\",\n    \"globals.terms.subscriptions\": \"Subscrição | Subscrições\",\n    \"globals.terms.tag\": \"Etiqueta | Etiquetas\",\n    \"globals.terms.tags\": \"Etiquetas\",\n    \"globals.terms.template\": \"Modelo | Modelos\",\n    \"globals.terms.templates\": \"Modelo\",\n    \"globals.terms.tx\": \"Transacional | Transacional\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Usuário | Usuários\",\n    \"globals.terms.users\": \"Usuários\",\n    \"globals.terms.year\": \"Ano | Anos\",\n    \"import.alreadyRunning\": \"Uma importação já está em curso. Aguarda que termine ou cancela-a antes de tentares novamente.\",\n    \"import.blocklist\": \"Lista de bloqueio\",\n    \"import.csvDelim\": \"Delimitador CSV\",\n    \"import.csvDelimHelp\": \"O delimitador padrão é uma vírgula.\",\n    \"import.csvExample\": \"Exemplo CSV simples\",\n    \"import.csvFile\": \"Ficheiro CSV ou ZIP\",\n    \"import.csvFileHelp\": \"Clica ou arrasta um ficheiro CSV ou ZIP para aqui\",\n    \"import.errorCopyingFile\": \"Erro ao copiar ficheiro: {error}\",\n    \"import.errorProcessingZIP\": \"Erro ao processar ficheiro ZIP: {error}\",\n    \"import.errorStarting\": \"Erro ao começar importação: {error}\",\n    \"import.importDone\": \"Terminado\",\n    \"import.importStarted\": \"Importação iniciada\",\n    \"import.instructions\": \"Instruções\",\n    \"import.instructionsHelp\": \"Envia um ficheiro CSV ou ficheiro ZIP com um único CSV para importares subscritores em massa. O ficheiro CSV deve conter os seguintes cabeçalhos com os nomes de colunas exatos. attributes (opcional) deve ser uma string JSON válida, com aspas de escape duplo.\",\n    \"import.invalidDelim\": \"O delimitador deve ser um caractere único.\",\n    \"import.invalidFile\": \"Ficheiro inválido: {error}\",\n    \"import.invalidMode\": \"Modo inválido\",\n    \"import.invalidParams\": \"Parâmetros inválidos: {error}\",\n    \"import.invalidSubStatus\": \"Estado de subscrição inválido\",\n    \"import.listSubHelp\": \"Listas a subscrever.\",\n    \"import.mode\": \"Modo\",\n    \"import.overwriteSubStatus\": \"Sobrescrever status de inscrição\",\n    \"import.overwriteSubStatusHelp\": \"Sobrescrever status de inscrições existentes em listas\",\n    \"import.overwriteUserInfo\": \"Sobrescrever informações do usuário\",\n    \"import.overwriteUserInfoHelp\": \"Sobrescrever nome e atributos de inscritos existentes\",\n    \"import.recordsCount\": \"{num} / {total} registos\",\n    \"import.stopImport\": \"Parar importação\",\n    \"import.subscribe\": \"Subscrever\",\n    \"import.subscribeWarning\": \"Sobrescreverá e-mails cancelados. Deseja continuar?\",\n    \"import.title\": \"Importar subscritores\",\n    \"import.upload\": \"Carregar\",\n    \"lists.archived\": \"Arquivado\",\n    \"lists.archivedHelp\": \"Arquivar oculta as listas da página de listas, campanhas e formulários públicos. Pode ser desarquivado a qualquer momento. É útil para ocultar listas antigas e raramente usadas.\",\n    \"lists.confirmDelete\": \"Tens a certeza? Isto não elimina subscritores.\",\n    \"lists.confirmSub\": \"Confirmar subscrição(ões) para {name}\",\n    \"lists.invalidName\": \"Nome inválido\",\n    \"lists.newList\": \"Nova lista\",\n    \"lists.optin\": \"Adesão\",\n    \"lists.optinHelp\": \"Double opt-in envia um email ao subscritor a pedir confirmação. Em listas double opt-in, as campanhas são apenas enviadas para subscritores confirmados.\",\n    \"lists.optinTo\": \"Opt-in a {name}\",\n    \"lists.optins.double\": \"Adesão dupla\",\n    \"lists.optins.single\": \"Adesão única\",\n    \"lists.sendCampaign\": \"Enviar campanha\",\n    \"lists.sendOptinCampaign\": \"Enviada campanha opt-in\",\n    \"lists.type\": \"Tipo\",\n    \"lists.typeHelp\": \"Listas públicas estão abertas para toda a gente se subscrever e os seus nomes podem aparecer em páginas públicas, como a página de gestão de subscrições.\",\n    \"lists.types.private\": \"Privado\",\n    \"lists.types.public\": \"Público\",\n    \"logs.title\": \"Logs (Histórico)\",\n    \"maintenance.database.title\": \"Banco de dados\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE recupera o espaço de armazenamento usado por linhas excluídas e acelera significativamente o desempenho do banco de dados em grandes bancos de dados. IMPORTANTE: Para bancos de dados grandes, esta é uma operação lenta e bloqueante. Agende para executar durante horários de menor movimento.\",\n    \"maintenance.help\": \"Algumas ações podem demorar algum tempo, dependendo da quantidade de dados.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Adesão a subscrições não confirmadas\",\n    \"maintenance.olderThan\": \"Mais antigo que\",\n    \"maintenance.orphanHelp\": \"Órfãos = assinantes sem listas\",\n    \"maintenance.title\": \"Manutenção\",\n    \"maintenance.unconfirmedSubs\": \"Subscrições não confirmadas há mais de {name} dias.\",\n    \"media.errorReadingFile\": \"Erro ao ler ficheiro: {error}\",\n    \"media.errorResizing\": \"Erro ao alterar tamanho da imagem: {error}\",\n    \"media.errorSavingThumbnail\": \"Erro ao guardar miniatura: {error}\",\n    \"media.errorUploading\": \"Erro ao enviar ficheiro: {error}\",\n    \"media.invalidFile\": \"Ficheiro inválido: {error}\",\n    \"media.title\": \"Mídia\",\n    \"media.unsupportedFileType\": \"Tipo de ficheiro não suportado ({type})\",\n    \"media.upload\": \"Carregar\",\n    \"media.uploadHelp\": \"Clica ou arrasta uma ou mais imagens aqui\",\n    \"menu.allCampaigns\": \"Todas as campanhas\",\n    \"menu.allLists\": \"Todas as listas\",\n    \"menu.allSubscribers\": \"Todos os subscritores\",\n    \"menu.dashboard\": \"Painel\",\n    \"menu.forms\": \"Formulários\",\n    \"menu.import\": \"Importar\",\n    \"menu.logs\": \"Histórico\",\n    \"menu.maintenance\": \"Manutenção\",\n    \"menu.media\": \"Mídia\",\n    \"menu.newCampaign\": \"Criar nova\",\n    \"menu.settings\": \"Definições\",\n    \"public.archiveEmpty\": \"Sem mensagens arquivadas.\",\n    \"public.archiveTitle\": \"Arquivo da lista de e-mail\",\n    \"public.blocklisted\": \"Subscrição cancelada permanentemente.\",\n    \"public.campaignNotFound\": \"A mensagem de email não foi encontrada.\",\n    \"public.confirmOptinSubTitle\": \"Confirmar subscrição\",\n    \"public.confirmSub\": \"Confirmar subscrição\",\n    \"public.confirmSubInfo\": \"Foi adicionado às seguintes listas:\",\n    \"public.confirmSubTitle\": \"Confirmar\",\n    \"public.dataRemoved\": \"As suas subscrições e todos os dados associados foram removidos.\",\n    \"public.dataRemovedTitle\": \"Dados removidos\",\n    \"public.dataSent\": \"Os seus dados foram-lhe enviados em anexo por email.\",\n    \"public.dataSentTitle\": \"Dados enviados por email\",\n    \"public.errorFetchingCampaign\": \"Erro ao buscar mensagem de e-mail\",\n    \"public.errorFetchingEmail\": \"Mensagem de email não encontrada\",\n    \"public.errorFetchingLists\": \"Erro ao carregar listas. Por favor tente novamente.\",\n    \"public.errorProcessingRequest\": \"Erro ao processar pedido. Por favor tente novamente.\",\n    \"public.errorTitle\": \"Erro\",\n    \"public.invalidCaptcha\": \"CAPTCHA inválido.\",\n    \"public.invalidFeature\": \"Essa funcionalidade não está disponível\",\n    \"public.invalidLink\": \"Link inválido\",\n    \"public.managePrefs\": \"Gerir preferências\",\n    \"public.managePrefsUnsub\": \"Desselecione listas para cancelar a subscrição à mesma.\",\n    \"public.noListsAvailable\": \"Não existem listas disponíveis para subscrever.\",\n    \"public.noListsSelected\": \"Não foram selecionadas listas válidas para subscrever.\",\n    \"public.noSubInfo\": \"Não há adesões para confirmar\",\n    \"public.noSubTitle\": \"Sem subscrições\",\n    \"public.notFoundTitle\": \"Não encontrado\",\n    \"public.poweredBy\": \"Distribuído por\",\n    \"public.prefsSaved\": \"As suas preferências foram guardadas.\",\n    \"public.privacyConfirmWipe\": \"Tem a certeza que deseja apagar permanentemente todos os seus dados de subscrições?\",\n    \"public.privacyExport\": \"Exportar os seus dados\",\n    \"public.privacyExportHelp\": \"Uma cópia dos seus dados ser-lhe-á enviada por email.\",\n    \"public.privacyTitle\": \"Privacidade e dados\",\n    \"public.privacyWipe\": \"Apagar os seus dados\",\n    \"public.privacyWipeHelp\": \"Apagar permanentemente da base de dados todas as suas subscrições e dados relacionados.\",\n    \"public.sub\": \"Subscrever\",\n    \"public.subConfirmed\": \"Inscrito com sucesso\",\n    \"public.subConfirmedTitle\": \"Confirmado\",\n    \"public.subName\": \"Nome (opcional)\",\n    \"public.subNotFound\": \"Subscrição não encontrada.\",\n    \"public.subOptinPending\": \"Foi-lhe enviado um email para confirmar a(s) sua(s) subscrição(ões)\",\n    \"public.subPrivateList\": \"Lista privada\",\n    \"public.subTitle\": \"Subscrever\",\n    \"public.unsub\": \"Cancelar subscrição\",\n    \"public.unsubFull\": \"Também cancelar subscrição de todos os emails futuros.\",\n    \"public.unsubHelp\": \"Quer cancelar a subscrição desta lista de emails?\",\n    \"public.unsubTitle\": \"Cancelar subscrição\",\n    \"public.unsubbedInfo\": \"A sua subscrição foi cancelada com sucesso.\",\n    \"public.unsubbedTitle\": \"Subscrição cancelada\",\n    \"public.unsubscribeTitle\": \"Cancelar subscrição da lista de emails\",\n    \"settings.appearance.adminHelp\": \"CSS customizado para aplicar à interface de administrador.\",\n    \"settings.appearance.adminName\": \"Administrador\",\n    \"settings.appearance.customCSS\": \"CSS customizado\",\n    \"settings.appearance.customJS\": \"JavaScript customizado\",\n    \"settings.appearance.name\": \"Aparência\",\n    \"settings.appearance.publicHelp\": \"CSS e JavaScript customizados a aplicar às páginas públicas.\",\n    \"settings.appearance.publicName\": \"Público\",\n    \"settings.bounces.action\": \"Ação\",\n    \"settings.bounces.blocklist\": \"Lista de Bloqueico\",\n    \"settings.bounces.count\": \"Número de bounces\",\n    \"settings.bounces.countHelp\": \"Número de bounces por subscritor\",\n    \"settings.bounces.enable\": \"Ligar processamento de bounces\",\n    \"settings.bounces.enableForwardemail\": \"Ativar encaminhamento de e-mail\",\n    \"settings.bounces.enableMailbox\": \"Ligar caixa de correio de bounces\",\n    \"settings.bounces.enablePostmark\": \"Ligar Postmark\",\n    \"settings.bounces.enableSES\": \"Ligar SES\",\n    \"settings.bounces.enableSendgrid\": \"Ligar SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Ligar webhooks de bounces\",\n    \"settings.bounces.enabled\": \"Ligado\",\n    \"settings.bounces.folder\": \"Pasta\",\n    \"settings.bounces.folderHelp\": \"Nome da pasta IMAP para procurar. E.g.: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Chave de encaminhamento de e-mail\",\n    \"settings.bounces.invalidScanInterval\": \"Intervalo de procura de bounces deve ser, no mínimo, 1 minuto.\",\n    \"settings.bounces.name\": \"Rejeições\",\n    \"settings.bounces.none\": \"Nenhum\",\n    \"settings.bounces.postmarkPassword\": \"Senha do Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nome de usuário do Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"O Postmark permite ativar autorização básica para webhooks. Certifique-se de inserir as mesmas credenciais aqui e nas configurações de webhook do Postmark.\",\n    \"settings.bounces.scanInterval\": \"Intervalo de procura\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervalo de procura de bounces na caixa de correio de bounces (s para segundos, m para minutos).\",\n    \"settings.bounces.sendgridKey\": \"Chave do SendGrid\",\n    \"settings.bounces.type\": \"Tipo\",\n    \"settings.bounces.username\": \"Nome de utilizador\",\n    \"settings.confirmRestart\": \"Tenha a certeza que as campanhas em curso estão em pausa. Reiniciar?\",\n    \"settings.duplicateMessengerName\": \"Nome duplicado do mensageiro: {name}\",\n    \"settings.errorEncoding\": \"Erro de definições de codificação: {error}\",\n    \"settings.errorNoSMTP\": \"Pelo menos um bloco SMTP deve estar ativo\",\n    \"settings.general.adminNotifEmails\": \"Emails de notificação de administração\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista separada por vírgulas dos endereços de email para os quais devem ser enviadas notificações de administração como updates importantes, conclusão de campanhas, falhas, etc.\",\n    \"settings.general.checkUpdates\": \"Procurar atualizações\",\n    \"settings.general.checkUpdatesHelp\": \"Procurar e notificar periodicamente por novas versões da aplicação.\",\n    \"settings.general.enablePublicArchive\": \"Ativar página de arquivo da lista de e-mail pública\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publicar campanhas em que o arquivo está ligado no site público.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Mostrar conteúdo completo no feed RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Mostrar o conteúdo completo do e-mail no feed RSS. Se desativado, só são exibidos o título e os elementos de link.\",\n    \"settings.general.enablePublicSubPage\": \"Ativar página de subscrição pública\",\n    \"settings.general.enablePublicSubPageHelp\": \"Mostrar uma página de subscrição pública com todas as listas públicas para as pessoas se subscreverem.\",\n    \"settings.general.faviconURL\": \"URL do Favicon\",\n    \"settings.general.faviconURLHelp\": \"(Opcional) URL completo do favicon estático para ser mostrado nas janelas do utilizador, como a página de cancelamento de subscrição.\",\n    \"settings.general.fromEmail\": \"Endereço `de` padrão\",\n    \"settings.general.fromEmailHelp\": \"Email `de` padrão para usar em campanhas. Este pode ser alterado por campanha.\",\n    \"settings.general.language\": \"Linguagem\",\n    \"settings.general.logoURL\": \" Root URL\",\n    \"settings.general.logoURLHelp\": \"(Opcional) URL completo do logotipo para ser mostrado nas janelas do utilizador, como a página de cancelamento de subscrição.\",\n    \"settings.general.name\": \"Geral\",\n    \"settings.general.rootURL\": \"URL base\",\n    \"settings.general.rootURLHelp\": \"URL público da instalação (sem barra final).\",\n    \"settings.general.sendOptinConfirm\": \"Enviar confirmação de adesão\",\n    \"settings.general.sendOptinConfirmHelp\": \"Quando novos subscritores se inscreverem ou forem adicionados por meio do formulário de administração, envie um e-mail de confirmação de adesão.\",\n    \"settings.general.siteName\": \"Nome do site\",\n    \"settings.invalidMessengerName\": \"Nome de mensageiro inválido.\",\n    \"settings.mailserver.authProtocol\": \"Protocolo Autenticação\",\n    \"settings.mailserver.host\": \"Host\",\n    \"settings.mailserver.hostHelp\": \"O endereço host do servidor SMTP\",\n    \"settings.mailserver.idleTimeout\": \"Tempo limite de inatividade\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).\",\n    \"settings.mailserver.maxConns\": \"N. Max. Conexões\",\n    \"settings.mailserver.maxConnsHelp\": \"Número máximo de conexões simultâneas ao servidor SMTP.\",\n    \"settings.mailserver.nameHelp\": \"Nome único opcional para o servidor SMTP. Deve ter o prefixo email-. Configurar isso permite que o servidor seja selecionado especificamente para uma campanha. Exemplo: email-servidor-primário. Alfanumérico / traço.\",\n    \"settings.mailserver.password\": \"Palavra-passe\",\n    \"settings.mailserver.passwordHelp\": \"Escreve aqui para alterar\",\n    \"settings.mailserver.port\": \"Porta\",\n    \"settings.mailserver.portHelp\": \"Porta do servidor SMTP\",\n    \"settings.mailserver.skipTLS\": \"Saltar verificação TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Saltar verificação do hostname no certificado TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Ativar STARTTLS.\",\n    \"settings.mailserver.username\": \"Nome de utilizador\",\n    \"settings.mailserver.waitTimeout\": \"Tempo limite de espera\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).\",\n    \"settings.maintenance.cron\": \"Intervalo do cron\",\n    \"settings.media.provider\": \"Fornecedor\",\n    \"settings.media.s3.bucket\": \"Bucket\",\n    \"settings.media.s3.bucketPath\": \"Caminho do bucket\",\n    \"settings.media.s3.bucketPathHelp\": \"Caminho dentro do bucket para enviar ficheiros. Padrão é /\",\n    \"settings.media.s3.bucketType\": \"Tipo de bucket\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privado\",\n    \"settings.media.s3.bucketTypePublic\": \"Público\",\n    \"settings.media.s3.key\": \"Chave de acesso AWS\",\n    \"settings.media.s3.publicURL\": \"URL público customizado (opcional)\",\n    \"settings.media.s3.publicURLHelp\": \"Domínio S3 customizado a usar para links de imagens invés do URL do backend S3 pré-definido.\",\n    \"settings.media.s3.region\": \"Região\",\n    \"settings.media.s3.secret\": \"Segredo de acesso AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Validade do upload\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opcional) Especifica TTL para o URL pré-assinado gerado. Apenas aplicável a buckets privados (s, m, h, d para segundos, minutos, horas e dias).\",\n    \"settings.media.s3.url\": \"URL do backend S3\",\n    \"settings.media.s3.urlHelp\": \"Apenas alterar quando um backend customizado compatível com S3, como Minio, está em uso.\",\n    \"settings.media.title\": \"Upload de mídia\",\n    \"settings.media.upload.extensions\": \"Extensões de arquivo permitidas\",\n    \"settings.media.upload.extensionsHelp\": \"Adicione * para permitir todas as extensões\",\n    \"settings.media.upload.path\": \"Caminho de upload\",\n    \"settings.media.upload.pathHelp\": \"Caminho para a pasta onde será enviada a mídia.\",\n    \"settings.media.upload.uri\": \"URI de envio\",\n    \"settings.media.upload.uriHelp\": \"URI de envio que é visível ao mundo exterior. Toda a mídia enviada para o upload_path será publicamente acessível em {root_url}/{}, por exemplo, https://listmonk.oteusite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"N. Max. Conexões\",\n    \"settings.messengers.maxConnsHelp\": \"Número máximo de conexões simultâneas ao servidor.\",\n    \"settings.messengers.messageSaved\": \"Definições guardadas. Recarregando aplicação ...\",\n    \"settings.messengers.name\": \"Mensageiros\",\n    \"settings.messengers.nameHelp\": \"eg: o-meu-sms. Alfanumérico / traço.\",\n    \"settings.messengers.password\": \"Palavra-passe\",\n    \"settings.messengers.retries\": \"Tentativas\",\n    \"settings.messengers.retriesHelp\": \"Número de vezes para tentar novamente quando uma mensagem falha.\",\n    \"settings.messengers.skipTLSHelp\": \"Saltar verificação do hostname no certificado TLS.\",\n    \"settings.messengers.timeout\": \"Tempo limite de inatividade\",\n    \"settings.messengers.timeoutHelp\": \"Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL base do servidor Postback.\",\n    \"settings.messengers.username\": \"Nome de utilizador\",\n    \"settings.needsRestart\": \"Definições alteradas. Pause todas as campanhas em curso e reinicie a aplicação\",\n    \"settings.performance.batchSize\": \"Tamanho do lote\",\n    \"settings.performance.batchSizeHelp\": \"O número de subscritores para ir buscar à base de dados numa só iteração. Cada iteração vai buscar subscritores à base de dados, envia-lhe mensagens, e depois segue para a nova iteração para ir buscar o lote seguinte. Isto deve idealmente ser maior do que a máxima taxa de transferência alcançável (simultaneidade * taxa de mensagens).\",\n    \"settings.performance.cacheSlowQueries\": \"Armazenar em cache consultas lentas ao banco de dados\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Ative isso apenas em bancos de dados grandes que tenham desacelerado significativamente. Caches contagens de assinantes de listas, estatísticas do painel, etc.\",\n    \"settings.performance.concurrency\": \"Simultaneidade\",\n    \"settings.performance.concurrencyHelp\": \"Número máximo de workers (threads) concurrentes que irão tentar enviar as mensagens simultaneamente.\",\n    \"settings.performance.maxErrThreshold\": \"Limite máximo de erros\",\n    \"settings.performance.maxErrThresholdHelp\": \"O número de erros (eg: timeouts SMTP ao enviar um email) uma campanha em curso pode tolerar antes de ser colocada em pausa para investigação manual ou intervenção. Colocar a 0 para nunca pausar.\",\n    \"settings.performance.messageRate\": \"Taxa de mensagens\",\n    \"settings.performance.messageRateHelp\": \"Número máximo de mensagens para serem enviadas por segundo num worker. Se simultaneidade = 10 e taxa de mensagens = 10, então até 10x10=100 mensagens podem ser enviadas por segundo. Isto, junto com a simultaneidade, deve ser ajustado de forma a manter o número de mensagens a ser enviadas por segundo abaixo do limite máximo do servidor, se existir.\",\n    \"settings.performance.name\": \"Desempenho\",\n    \"settings.performance.slidingWindow\": \"Ativar o limite de janela\",\n    \"settings.performance.slidingWindowDuration\": \"Duração\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Duração do periodo de limite de janela (m para minuto, h para hora).\",\n    \"settings.performance.slidingWindowHelp\": \"Limitar o número total de mensagens que é enviado num determinado periodo. Ao alcançar este limite, as mensagens são impedidas de ser enviadas até ao fim da janela temporária.\",\n    \"settings.performance.slidingWindowRate\": \"Max. mensagens\",\n    \"settings.performance.slidingWindowRateHelp\": \"Número máximo de mensagens para enviar na duração da janela.\",\n    \"settings.privacy.allowBlocklist\": \"Permitir lista de bloqueio\",\n    \"settings.privacy.allowBlocklistHelp\": \"Permitir ao subscritores cancelar a subscrição de todas as listas de emails e marcar-se como bloqueados?\",\n    \"settings.privacy.allowExport\": \"Permitir exportação\",\n    \"settings.privacy.allowExportHelp\": \"Permitir aos subscritores exportar os dados coletados neles mesmos?\",\n    \"settings.privacy.allowPrefs\": \"Permitir alterações de preferências\",\n    \"settings.privacy.allowPrefsHelp\": \"Permitir que os subscritores alterem as suas preferências, como o seu nome e a sua subscrição às diversas listas.\",\n    \"settings.privacy.allowWipe\": \"Permitir eliminação de dados\",\n    \"settings.privacy.allowWipeHelp\": \"Permitir aos subscritores eliminar todos os seus dados, incluindo as suas subscrições, da base de dados. Visualizações de campanhas e cliques em links também são removidos enquanto visualizações e contagem de clicks permanecem (sem nenhum subscritor associado) para que as estatísticas não sejam afetadas.\",\n    \"settings.privacy.domainAllowlist\": \"Lista de domínios permitidos\",\n    \"settings.privacy.domainAllowlistHelp\": \"Somente endereços de e-mail com esses domínios podem se inscrever. Digite um domínio por linha, ex: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Lista de domínios bloqueados\",\n    \"settings.privacy.domainBlocklistHelp\": \"Endereços de email com estes domínios não podem efetuar subscrições. Insira um domínio por linha, e.g. somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Tracking individual de subscritores\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Track visualizações e clicked ao nível do subscritor. Quando desligado, visualizações e track de clicks continuam, mas sem estarem associadas a nenhum subscritor.\",\n    \"settings.privacy.listUnsubHeader\": \"Incluir header `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Incluir headers de cancelamento de subscrição que permite aos clientes de email permitir ao utilizadores cancelar a subscrição num único clique.\",\n    \"settings.privacy.name\": \"Privacidade\",\n    \"settings.privacy.recordOptinIP\": \"Registrar endereço de IP de opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registrar o endereço IP de opt-ins duplos nos atributos do assinante.\",\n    \"settings.restart\": \"Reiniciar\",\n    \"settings.security.CORSDomains\": \"Origens permitidas\",\n    \"settings.security.CORSDomainsHelp\": \"Permitir acesso a endpoints da API via Javascript do navegador de domínios externos. Digite um domínio por linha (ex: https://example.com). Deixe vazio para desabilitar CORS ou adicione * para permitir todos (não recomendado).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Criar usuários automaticamente\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Criar usuário automaticamente no primeiro login se a conta não existir.\",\n    \"settings.security.OIDCClientID\": \"ID do Cliente\",\n    \"settings.security.OIDCClientSecret\": \"Segredo do Cliente\",\n    \"settings.security.OIDCDefaultListRole\": \"Perfil padrão da lista\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Perfil padrão atribuído a usuários criados automaticamente via OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Perfil padrão do usuário\",\n    \"settings.security.OIDCHelp\": \"Habilitar login OAuth2 do OpenID Connect via um fornecedor OAuth.\",\n    \"settings.security.OIDCName\": \"Nome do provedor\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirecionamento para o provedor de oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Isto não parece ser uma URL de produção. Altere a URL Raiz nas configurações 'Gerais'.\",\n    \"settings.security.OIDCURL\": \"URL do Provedor\",\n    \"settings.security.OIDCWarning\": \"Quando o OIDC está habilitado, o login de senha padrão é desabilitado. Configuração inválida pode bloqueá-lo.\",\n    \"settings.security.altchaComplexity\": \"Complexidade do Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Valores mais altos fornecem melhor segurança, mas resolução mais lenta (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Chave do SiteKey do hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Visite www.hcaptcha.com para obter a chave e o segredo.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com segredo\",\n    \"settings.security.enableCaptcha\": \"Ativar o CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Ativar o CAPTCHA no formulário público de inscrição.\",\n    \"settings.security.enableOIDC\": \"Habilitar SSO OIDC\",\n    \"settings.security.name\": \"Segurança\",\n    \"settings.smtp.customHeaders\": \"Headers customizados\",\n    \"settings.smtp.customHeadersHelp\": \"Array opcional de headers de email a incluir em todas as mensagens enviadas deste servidor. eg: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Ativo\",\n    \"settings.smtp.heloHost\": \"Hostname HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opcional. Alguns servidores SMTP necessitam de um FQDN no hostname. Por padrão, HELLOs usam `localhost`. Coloca um hostname customizado se for necessario.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Tentativas\",\n    \"settings.smtp.retriesHelp\": \"Número de vezes para tentar novamente quando uma mensagem falha.\",\n    \"settings.smtp.sendTest\": \"Enviar e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Colocar headers customizados\",\n    \"settings.smtp.testConnection\": \"Testar conexão\",\n    \"settings.smtp.testEnterEmail\": \"Insira a palavra-passe para testar\",\n    \"settings.smtp.toEmail\": \"E-mail do destinatário\",\n    \"settings.title\": \"Definições\",\n    \"settings.updateAvailable\": \"A nova versão {version} está disponível.\",\n    \"subscribers.activity\": \"Atividade\",\n    \"subscribers.advancedQuery\": \"Avançado\",\n    \"subscribers.advancedQueryHelp\": \"Expressão SQL parcial para consultar atributos de subscritores\",\n    \"subscribers.attribsHelp\": \"Atributos estão definidos como uma mapa JSON, por exemplo:\",\n    \"subscribers.blocklistedHelp\": \"Subscritores bloqueados nunca irão receber emails.\",\n    \"subscribers.confirmBlocklist\": \"Adicionar {num} subscritor(es) à lista de bloqueio?\",\n    \"subscribers.confirmDelete\": \"Eliminar {num} subscritor(es)?\",\n    \"subscribers.confirmExport\": \"Exportar {num} subscritor(es)?\",\n    \"subscribers.domainBlocklisted\": \"O domínio do e-mail está bloqueado.\",\n    \"subscribers.downloadData\": \"Descarregar dados\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail já existe.\",\n    \"subscribers.errorBlocklisting\": \"Erro ao bloquear subscritores: {error}\",\n    \"subscribers.errorNoIDs\": \"Não foram dados IDs.\",\n    \"subscribers.errorNoListsGiven\": \"Não foram dadas listas.\",\n    \"subscribers.errorPreparingQuery\": \"Erro ao preparar query dos subscritores: {error}\",\n    \"subscribers.errorSendingOptin\": \"Erro ao enviar email opt-in.\",\n    \"subscribers.export\": \"Exportar\",\n    \"subscribers.invalidAction\": \"Ação inválida.\",\n    \"subscribers.invalidEmail\": \"Email inválida.\",\n    \"subscribers.invalidJSON\": \"JSON inválido nos atributos.\",\n    \"subscribers.invalidName\": \"Nome inválido.\",\n    \"subscribers.listChangeApplied\": \"Alteração à lista aplicada.\",\n    \"subscribers.lists\": \"Listas\",\n    \"subscribers.listsHelp\": \"Listas nas quais o/a subscritor/a cancelou a sua subscrição não podem ser removidas.\",\n    \"subscribers.listsPlaceholder\": \"Listas a subscrever\",\n    \"subscribers.manageLists\": \"Gerir listas\",\n    \"subscribers.markUnsubscribed\": \"Marcar como não subscrito\",\n    \"subscribers.newSubscriber\": \"Novo subscritor\",\n    \"subscribers.numSelected\": \"{num} subscritor(es) selecionados\",\n    \"subscribers.optinSubject\": \"Confirmar subscrição\",\n    \"subscribers.preconfirm\": \"Pré-confirma à adesões\",\n    \"subscribers.preconfirmHelp\": \"Não enviar e-mails de adesão e marcar todas as subscrições a listas como 'subscrito'.\",\n    \"subscribers.query\": \"Consulta\",\n    \"subscribers.queryPlaceholder\": \"E-mail ou nome\",\n    \"subscribers.reset\": \"Repor\",\n    \"subscribers.selectAll\": \"Selecionar todos os {num}\",\n    \"subscribers.sendOptinConfirm\": \"Enviar confirmação de adesão\",\n    \"subscribers.sentOptinConfirm\": \"Confirmação de adesão enviada\",\n    \"subscribers.status.blocklisted\": \"Bloqueados\",\n    \"subscribers.status.confirmed\": \"Confirmado\",\n    \"subscribers.status.enabled\": \"Ativo\",\n    \"subscribers.status.subscribed\": \"Subscrito\",\n    \"subscribers.status.unconfirmed\": \"Não confirmado\",\n    \"subscribers.status.unsubscribed\": \"Não subscrito\",\n    \"subscribers.subscribersDeleted\": \"{num} subscritor(es) eliminados\",\n    \"templates.cantDeleteDefault\": \"Não é possível eliminar o template padrão\",\n    \"templates.default\": \"Padrão\",\n    \"templates.dummyName\": \"Campanha fictícia\",\n    \"templates.dummySubject\": \"Assunto da campanha fictícia\",\n    \"templates.errorCompiling\": \"Erro ao compilar template: {error}\",\n    \"templates.errorRendering\": \"Erro ao renderizar mensagem: {error}\",\n    \"templates.fieldInvalidName\": \"Tamanho inválido para o nome.\",\n    \"templates.makeDefault\": \"Marcar como padrão\",\n    \"templates.newTemplate\": \"Novo template\",\n    \"templates.placeholderHelp\": \"O placeholder {placeholder} deve aparecer exatamente uma vez no template.\",\n    \"templates.preview\": \"Pré-visualização\",\n    \"templates.rawHTML\": \"HTML Simples\",\n    \"templates.subject\": \"Assunto\",\n    \"templates.typeCampaignHTML\": \"Campanha / HTML\",\n    \"templates.typeCampaignVisual\": \"Campanha / Visual\",\n    \"templates.typeTransactional\": \"Transacional\",\n    \"users.apiOneTimeToken\": \"Copie agora o token de acesso à API. Ele não será mostrado novamente.\",\n    \"users.cantDeleteRole\": \"Não é possível excluir a função que está sendo utilizada.\",\n    \"users.firstTime\": \"Esta é uma nova instalação. Escolha um nome de usuário e senha para a conta de Super Administrador.\",\n    \"users.forgotPassword\": \"Esqueceu a senha?\",\n    \"users.invalidLogin\": \"Login ou senha inválidos\",\n    \"users.invalidPassword\": \"Senha inválida\",\n    \"users.invalidRequest\": \"Requisição de autenticação inválida\",\n    \"users.invalidResetLink\": \"Link de redefinição inválido ou expirado\",\n    \"users.lastLogin\": \"Último login\",\n    \"users.listPerms\": \"Permissões de lista\",\n    \"users.listPermsWarning\": \"lists:get_all ou lists:manage_all estão habilitados, o que sobrescreve as permissões por lista\",\n    \"users.listRole\": \"Função da lista | Função da lista\",\n    \"users.listRoles\": \"Funções da lista\",\n    \"users.login\": \"Entrar\",\n    \"users.loginOIDC\": \"Login com {name}\",\n    \"users.logout\": \"Sair\",\n    \"users.needSuper\": \"Usuário(s) não puderam ser atualizados. Deve haver pelo menos um usuário Super Administrador ativo.\",\n    \"users.newListRole\": \"Nova função de lista\",\n    \"users.newPassword\": \"Nova senha\",\n    \"users.newUser\": \"Novo usuário\",\n    \"users.newUserRole\": \"Nova função do usuário\",\n    \"users.password\": \"Senha\",\n    \"users.passwordEnable\": \"Habilitar login por senha\",\n    \"users.passwordMismatch\": \"Senhas não coincidem\",\n    \"users.passwordRepeat\": \"Repetir senha\",\n    \"users.perms\": \"Permissões\",\n    \"users.profile\": \"Perfil\",\n    \"users.resetLinkSent\": \"Se a conta estiver ativa, você receberá um e-mail de redefinição de senha.\",\n    \"users.resetPassword\": \"Redefinir senha\",\n    \"users.role\": \"Função | Funções\",\n    \"users.roleGroup\": \"Grupo\",\n    \"users.roles\": \"Funções\",\n    \"users.status.disabled\": \"Desabilitado\",\n    \"users.status.enabled\": \"Habilitado\",\n    \"users.totpCode\": \"Código TOTP\",\n    \"users.totpCodeHelp\": \"Digite o código de 6 dígitos do seu aplicativo autenticador\",\n    \"users.totpScanQR\": \"Escaneie o código QR com seu aplicativo autenticador, como Ente ou Google Authenticator, e digite o código TOTP abaixo.\",\n    \"users.totpSecret\": \"Chave secreta\",\n    \"users.twoFA\": \"Autenticação de dois fatores\",\n    \"users.twoFAAlreadyEnabled\": \"A autenticação de dois fatores já está ativada.\",\n    \"users.twoFAEnabled\": \"Autenticação de dois fatores ativada\",\n    \"users.twoFAEnabledDesc\": \"Sua conta está protegida com 2FA {type}\",\n    \"users.twoFANotEnabled\": \"Ative a 2FA para segurança adicional ao fazer login em sua conta.\",\n    \"users.type\": \"Tipo\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Administrador\",\n    \"users.type.user\": \"Usuário\",\n    \"users.userRole\": \"Função do usuário | Funções do usuário\",\n    \"users.userRoles\": \"Funções do usuário\",\n    \"users.username\": \"Nome de usuário\",\n    \"users.usernameHelp\": \"Utilizado com o login por senha\"\n}\n"
  },
  {
    "path": "i18n/ro.json",
    "content": "{\n    \"_.code\": \"ro\",\n    \"_.name\": \"Română (ro)\",\n    \"admin.errorMarshallingConfig\": \"Eroare de triaj de configurare: {error}\",\n    \"analytics.count\": \"Total\",\n    \"analytics.fromDate\": \"De la\",\n    \"analytics.invalidDates\": \"Invalid `de la` sau `la` dată.\",\n    \"analytics.isUnique\": \"Numerele sunt unice pentru fiecare abonat.\",\n    \"analytics.links\": \"Linkuri\",\n    \"analytics.nonUnique\": \"Numerele nu sunt unice, deoarece urmărirea individuală a abonaților este dezactivată.\",\n    \"analytics.title\": \"Analitice\",\n    \"analytics.toDate\": \"Către\",\n    \"bounces.complaint\": \"Plângere\",\n    \"bounces.hard\": \"Dificil\",\n    \"bounces.soft\": \"Moale\",\n    \"bounces.source\": \"Sursă\",\n    \"bounces.unknownService\": \"Serviciu necunoscut.\",\n    \"bounces.view\": \"Vizualizarea bounce-urilor\",\n    \"campaigns.addAltText\": \"Adăugarea unui mesaj text alternativ simplu\",\n    \"campaigns.addAttachments\": \"Adăugați fișiere atașate\",\n    \"campaigns.archive\": \"Arhivă\",\n    \"campaigns.archiveEnable\": \"Publicarea în arhiva publică\",\n    \"campaigns.archiveHelp\": \"Publicați (rulând, întrerupt, terminat) mesajul campaniei în arhiva publică.\",\n    \"campaigns.archiveMeta\": \"Metadatele campaniei\",\n    \"campaigns.archiveMetaHelp\": \"Datele abonaților inactivi de utilizat în mesajul public, inclusiv numele, e-mailul și orice atribute opționale utilizate în mesajul sau șablonul campaniei.\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Un nume scurt pentru pagina care va fi utilizat în URL-ul public. ex: editia-mea-de-newsletter-2\",\n    \"campaigns.attachments\": \"Fișiere atașate\",\n    \"campaigns.attribsHelp\": \"Atribute personalizate de obiect JSON {} pentru această campanie. Utilizează în șablon cu {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Nu se poate actualiza o campanie care rulează sau s-a terminat.\",\n    \"campaigns.clicks\": \"Click-uri\",\n    \"campaigns.confirmDelete\": \"Ștergerea {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Aceasta va suprascrie tot conținutul. Continuăm?\",\n    \"campaigns.confirmSchedule\": \"Această campanie va începe automat la data și ora programate. Programează-te acum?\",\n    \"campaigns.confirmSwitchFormat\": \"Conținutul poate pierde formatarea. Continua?\",\n    \"campaigns.content\": \"Conținut\",\n    \"campaigns.contentHelp\": \"Conținut aici\",\n    \"campaigns.continue\": \"Continuă\",\n    \"campaigns.copyOf\": \"Copie a {name}\",\n    \"campaigns.customHeadersHelp\": \"Matrice de antete personalizate care să fie atașate la mesajele trimise. ex: [{\\\"X-Custom\\\": \\\"valoare\\\"}, {\\\"X-Custom2\\\": \\\"valoare\\\"}]\",\n    \"campaigns.dateAndTime\": \"Data și ora\",\n    \"campaigns.ended\": \"Terminat\",\n    \"campaigns.errorSendTest\": \"Test de trimitere a erorilor: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Eroare la compilarea corpului campaniei: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"\\\"from_email\\\" nevalidă.\",\n    \"campaigns.fieldInvalidListIDs\": \"ID-uri de listă nevalide.\",\n    \"campaigns.fieldInvalidMessenger\": \"{name} mesager necunoscut.\",\n    \"campaigns.fieldInvalidName\": \"Lungime nevalidă pentru nume.\",\n    \"campaigns.fieldInvalidSendAt\": \"Data programată ar trebui să fie în viitor.\",\n    \"campaigns.fieldInvalidSubject\": \"Lungime nevalidă pentru subiect.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formatare HTML\",\n    \"campaigns.fromAddress\": \"De la adresa\",\n    \"campaigns.fromAddressPlaceholder\": \"Numele Tău <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importă șablon vizual\",\n    \"campaigns.invalid\": \"Campanie nevalidă\",\n    \"campaigns.invalidCustomHeaders\": \"Anteturi particularizate nevalide: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Campania are nevoie de o dată care să fie programată.\",\n    \"campaigns.newCampaign\": \"Campanie nouă\",\n    \"campaigns.noKnownSubsToTest\": \"Nu există abonați cunoscuți pentru a testa.\",\n    \"campaigns.noOptinLists\": \"Nu s-au găsit liste de înscriere pentru a crea campanie.\",\n    \"campaigns.noSubs\": \"Nu există abonați în listele selectate pentru a crea campania.\",\n    \"campaigns.noSubsToTest\": \"Nu există abonați la țintă.\",\n    \"campaigns.notFound\": \"Campania nu a fost găsită.\",\n    \"campaigns.onlyActiveCancel\": \"Doar campaniile active pot fi anulate.\",\n    \"campaigns.onlyActivePause\": \"Numai campaniile active pot fi întrerupte.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Numai proiectele de campanii pot fi programate.\",\n    \"campaigns.onlyPausedDraft\": \"Se pot începe doar campaniile și schițele întrerupte.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Numai campaniile programate pot fi salvate ca schițe.\",\n    \"campaigns.pause\": \"Pauză\",\n    \"campaigns.plainText\": \"Text simplu\",\n    \"campaigns.preview\": \"Previzualizați\",\n    \"campaigns.progress\": \"Progres\",\n    \"campaigns.queryPlaceholder\": \"Nume sau subiect\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"HTML brut\",\n    \"campaigns.removeAltText\": \"Eliminarea mesajului text alternativ simplu\",\n    \"campaigns.richText\": \"Text îmbogățit\",\n    \"campaigns.schedule\": \"Programează-ți campania\",\n    \"campaigns.scheduled\": \"Programat\",\n    \"campaigns.send\": \"Trimite\",\n    \"campaigns.sendLater\": \"Trimite mai târziu\",\n    \"campaigns.sendTest\": \"Trimiteți un mesaj de testare\",\n    \"campaigns.sendTestHelp\": \"Apăsați pe Enter după ce tastați o adresă pentru a adăuga mai mulți destinatari. Adresele trebuie să aparțină abonaților existenți.\",\n    \"campaigns.sendToLists\": \"Liste de trimis la\",\n    \"campaigns.sent\": \"Trimise\",\n    \"campaigns.start\": \"Începeți campania\",\n    \"campaigns.started\": \"\\\"{name}\\\" a început\",\n    \"campaigns.startedAt\": \"Început\",\n    \"campaigns.stats\": \"Statistici\",\n    \"campaigns.status.cancelled\": \"Anulat\",\n    \"campaigns.status.draft\": \"Schita\",\n    \"campaigns.status.finished\": \"Finalizat\",\n    \"campaigns.status.paused\": \"Întrerupt\",\n    \"campaigns.status.running\": \"Alergare\",\n    \"campaigns.status.scheduled\": \"Programat\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" este {status}\",\n    \"campaigns.subject\": \"Subiect\",\n    \"campaigns.templatingRef\": \"Referință pentru crearea de șabloane\",\n    \"campaigns.testEmails\": \"E-mail-uri\",\n    \"campaigns.testSent\": \"Mesaj de testare trimis\",\n    \"campaigns.timestamps\": \"Marcajele\",\n    \"campaigns.trackLink\": \"Track link-ul\",\n    \"campaigns.unSchedule\": \"Anulează programarea\",\n    \"campaigns.views\": \"Vizualizări\",\n    \"campaigns.visual\": \"Vizual\",\n    \"dashboard.campaignViews\": \"Vizualizările campaniei\",\n    \"dashboard.linkClicks\": \"Clicuri pe link\",\n    \"dashboard.messagesSent\": \"Mesaje trimise\",\n    \"dashboard.orphanSubs\": \"Orfani\",\n    \"email.data.info\": \"O copie a tuturor datelor înregistrate pe tine este atașată ca fișier în format JSON. Acesta poate fi vizualizat într-un editor de text.\",\n    \"email.data.title\": \"Datele tale\",\n    \"email.forgotPassword.button\": \"Resetează parola\",\n    \"email.forgotPassword.info\": \"Dacă nu ai solicitat aceasta, poți ignora cu siguranță acest e-mail. Acest link va expira în 30 de minute.\",\n    \"email.forgotPassword.subject\": \"Resetează-ți parola\",\n    \"email.optin.confirmSub\": \"Confirmați abonamentul\",\n    \"email.optin.confirmSubHelp\": \"Confirmați-vă abonamentul făcând clic pe butonul de mai jos.\",\n    \"email.optin.confirmSubInfo\": \"Ați fost adăugat la următoarele liste:\",\n    \"email.optin.confirmSubTitle\": \"Confirmați abonamentul\",\n    \"email.optin.confirmSubWelcome\": \"Salut\",\n    \"email.optin.privateList\": \"Lista privată\",\n    \"email.status.campaignReason\": \"Motiv\",\n    \"email.status.campaignSent\": \"Trimise\",\n    \"email.status.campaignUpdateTitle\": \"Actualizarea campaniei\",\n    \"email.status.importFile\": \"Fişier\",\n    \"email.status.importRecords\": \"Înregistrări\",\n    \"email.status.importTitle\": \"Importați actualizarea\",\n    \"email.status.status\": \"Stare\",\n    \"email.unsub\": \"Dezabonare\",\n    \"email.unsubHelp\": \"Nu doriți să primiți aceste e-mailuri?\",\n    \"email.viewInBrowser\": \"Vizualizare în browser\",\n    \"forms.formHTML\": \"Formular HTML\",\n    \"forms.formHTMLHelp\": \"Utilizați următorul HTML pentru a afișa un formular de abonament pe o pagină web externă. Formularul trebuie să aibă câmpul de e-mail și unul sau mai multe câmpuri `l` (listă UUID). Câmpul de nume este opțional.\",\n    \"forms.noPublicLists\": \"Nu există liste publice pentru a genera un formular.\",\n    \"forms.publicLists\": \"Liste publice\",\n    \"forms.publicSubPage\": \"Pagina abonamentului public\",\n    \"forms.selectHelp\": \"Selectați liste de adăugat la formular.\",\n    \"forms.title\": \"Formulare\",\n    \"globals.buttons.add\": \"Adaugă\",\n    \"globals.buttons.addNew\": \"Adaugă nou\",\n    \"globals.buttons.back\": \"Înapoi\",\n    \"globals.buttons.cancel\": \"Renunță\",\n    \"globals.buttons.clear\": \"Șterge\",\n    \"globals.buttons.clearAll\": \"Șterge tot\",\n    \"globals.buttons.clone\": \"Clonare\",\n    \"globals.buttons.close\": \"Închide\",\n    \"globals.buttons.continue\": \"Continuă\",\n    \"globals.buttons.copy\": \"Copiază\",\n    \"globals.buttons.delete\": \"Şterge\",\n    \"globals.buttons.deleteAll\": \"Șterge tot\",\n    \"globals.buttons.disable\": \"Dezactivează\",\n    \"globals.buttons.edit\": \"Editare\",\n    \"globals.buttons.enable\": \"Activează\",\n    \"globals.buttons.enabled\": \"Activat\",\n    \"globals.buttons.insert\": \"Introduceți\",\n    \"globals.buttons.learnMore\": \"Află mai mult\",\n    \"globals.buttons.manage\": \"Gestionează\",\n    \"globals.buttons.more\": \"Mai mult\",\n    \"globals.buttons.new\": \"Nou\",\n    \"globals.buttons.ok\": \"Da\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Elimină\",\n    \"globals.buttons.save\": \"Salvează\",\n    \"globals.buttons.saveChanges\": \"Salvează modificările\",\n    \"globals.buttons.toggleSelect\": \"Comută selecția\",\n    \"globals.buttons.view\": \"Vezi\",\n    \"globals.days.0\": \"Dum\",\n    \"globals.days.1\": \"Dum\",\n    \"globals.days.2\": \"Lun\",\n    \"globals.days.3\": \"Ma\",\n    \"globals.days.4\": \"Mie\",\n    \"globals.days.5\": \"Joi\",\n    \"globals.days.6\": \"Vin\",\n    \"globals.days.7\": \"Sâm\",\n    \"globals.fields.createdAt\": \"Creat\",\n    \"globals.fields.description\": \"Descriere\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Nume\",\n    \"globals.fields.status\": \"Stare\",\n    \"globals.fields.type\": \"Tip\",\n    \"globals.fields.updatedAt\": \"Actualizat\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Ești sigur/ă?\",\n    \"globals.messages.confirmDelete\": \"Șterge {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Renunțați la modificări?\",\n    \"globals.messages.copied\": \"Copiat\",\n    \"globals.messages.created\": \"\\\"{name}\\\" creat\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" eliminat\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) eliminată\",\n    \"globals.messages.done\": \"Terminat\",\n    \"globals.messages.emptyState\": \"Nimic aici\",\n    \"globals.messages.errorCreating\": \"Eroare la crearea {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Eroare la ștergerea {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Eroare la preluarea {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Unul sau mai multe ID-uri nu sunt valide: {error}\",\n    \"globals.messages.errorUUID\": \"Eroare la generarea UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"{name} de actualizare a erorilor: {error}\",\n    \"globals.messages.internalError\": \"Eroare internă a serverului\",\n    \"globals.messages.invalidData\": \"Date invalide\",\n    \"globals.messages.invalidFields\": \"Câmpuri nevalide: {name}\",\n    \"globals.messages.invalidID\": \"ID de hub nevalid\",\n    \"globals.messages.invalidUUID\": \"UUID nevalid\",\n    \"globals.messages.invalidValue\": \"Valoare nevalidă\",\n    \"globals.messages.missingFields\": \"Câmp(e) lipsă: {name}\",\n    \"globals.messages.notFound\": \"{name} nu a fost găsit\",\n    \"globals.messages.numSelected\": \"{num} selectate\",\n    \"globals.messages.passwordChange\": \"Introducerea unei valori de modificat\",\n    \"globals.messages.passwordChangeFull\": \"Ștergeți și reintroduceți parola completă în '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Acces interzis: {name}\",\n    \"globals.messages.selectAll\": \"Selectează toate {num}\",\n    \"globals.messages.slowQueriesCached\": \"Interogările lente sunt memorate în cache. Unele numere de pe această pagină nu vor fi actualizate.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" actualizat\",\n    \"globals.months.1\": \"Ian\",\n    \"globals.months.10\": \"Oct\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dec\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Mai\",\n    \"globals.months.6\": \"Iun\",\n    \"globals.months.7\": \"Iul\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Oprit\",\n    \"globals.terms.all\": \"Tot\",\n    \"globals.terms.analytics\": \"Analitice\",\n    \"globals.terms.attribs\": \"Atribute\",\n    \"globals.terms.bounce\": \"Saritura | Bounces\",\n    \"globals.terms.bounces\": \"Neachitate\",\n    \"globals.terms.campaign\": \"Campanie | Campanii\",\n    \"globals.terms.campaigns\": \"Campanii\",\n    \"globals.terms.dashboard\": \"Panou de control\",\n    \"globals.terms.day\": \"Ziua | Zile\",\n    \"globals.terms.hour\": \"Oră | Ore\",\n    \"globals.terms.import\": \"Importă\",\n    \"globals.terms.list\": \"Listă | Liste\",\n    \"globals.terms.lists\": \"Liste\",\n    \"globals.terms.media\": \"Mass-media | Media\",\n    \"globals.terms.messenger\": \"Messenger | Mesageri\",\n    \"globals.terms.messengers\": \"Mesageri\",\n    \"globals.terms.minute\": \"Minut | Minute\",\n    \"globals.terms.month\": \"Luna | Luni\",\n    \"globals.terms.new\": \"Nou\",\n    \"globals.terms.none\": \"Nimic\",\n    \"globals.terms.second\": \"Timp (secunde)\",\n    \"globals.terms.settings\": \"Setări\",\n    \"globals.terms.subscriber\": \"Abonat | Abonaţi\",\n    \"globals.terms.subscribers\": \"Abonați\",\n    \"globals.terms.subscriptions\": \"Gestionați-vă abonamentul\",\n    \"globals.terms.tag\": \"Etichetă | Etichete\",\n    \"globals.terms.tags\": \"Etichete\",\n    \"globals.terms.template\": \"Șabloane WhatsApp\",\n    \"globals.terms.templates\": \"Șabloane\",\n    \"globals.terms.tx\": \"Tranzacțional | Tranzacțional\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Utilizator | Utilizatori\",\n    \"globals.terms.users\": \"Utilizatori\",\n    \"globals.terms.year\": \"Anul\",\n    \"import.alreadyRunning\": \"Un import rulează deja. Așteptă să se termine sau oprește-l înainte de a încerca din nou.\",\n    \"import.blocklist\": \"Lista de blocări\",\n    \"import.csvDelim\": \"Delimitator CSV\",\n    \"import.csvDelimHelp\": \"Delimitatorul implicit este virgulă.\",\n    \"import.csvExample\": \"Exemplu de CSV brut\",\n    \"import.csvFile\": \"Fișier CSV sau ZIP\",\n    \"import.csvFileHelp\": \"Fă click sau trage aici un fisier CSV sau ZIP\",\n    \"import.errorCopyingFile\": \"Eroare la copierea fișierului: {error}\",\n    \"import.errorProcessingZIP\": \"Eroare de procesare fișier ZIP: {error}\",\n    \"import.errorStarting\": \"Eroare la pornirea importului: {error}\",\n    \"import.importDone\": \"Terminat\",\n    \"import.importStarted\": \"Importul a început\",\n    \"import.instructions\": \"Instrucțiuni\",\n    \"import.instructionsHelp\": \"Încărcați un fișier CSV sau un fișier ZIP cu un singur fișier CSV în el pentru a importa în bloc abonații. Fișierul CSV ar trebui să aibă următoarele anteturi cu numele exacte ale coloanelor. atributele (opționale) ar trebui să fie un șir JSON valid cu ghilimele dublu scăpate.\",\n    \"import.invalidDelim\": \"Delimitatorul ar trebui să fie un singur caracter.\",\n    \"import.invalidFile\": \"Fișier nevalid: {error}\",\n    \"import.invalidMode\": \"Mod nevalid\",\n    \"import.invalidParams\": \"Params nevalide: {error}\",\n    \"import.invalidSubStatus\": \"Stare abonament nevalidă\",\n    \"import.listSubHelp\": \"Liste de abonare.\",\n    \"import.mode\": \"Mod\",\n    \"import.overwriteSubStatus\": \"Suprascrie starea abonării\",\n    \"import.overwriteSubStatusHelp\": \"Suprascrie starea abonărilor la liste existente\",\n    \"import.overwriteUserInfo\": \"Suprascrie informațiile utilizatorului\",\n    \"import.overwriteUserInfoHelp\": \"Suprascrie numele și atributele abonaților existenți\",\n    \"import.recordsCount\": \"{num} / înregistrări {total}\",\n    \"import.stopImport\": \"Importă\",\n    \"import.subscribe\": \"Abonare\",\n    \"import.subscribeWarning\": \"Suprascrierea va rescrie e-mailurile care au fost dezabonate. Continuați?\",\n    \"import.title\": \"Importați abonații\",\n    \"import.upload\": \"Încarcă\",\n    \"lists.archived\": \"Arhivat\",\n    \"lists.archivedHelp\": \"Arhivarea ascunde listele de pagina listelor, campaniile și formularele publice. Poate fi dezarhivat oricând. Este util pentru ascunderea listelor vechi și rar utilizate.\",\n    \"lists.confirmDelete\": \"Eşti sigur? Acest lucru nu șterge abonații.\",\n    \"lists.confirmSub\": \"Confirmați abonamentul (abonamentele) la {name}\",\n    \"lists.invalidName\": \"Nume nevalid\",\n    \"lists.newList\": \"Listă nouă\",\n    \"lists.optin\": \"Renunțarea la marketing\",\n    \"lists.optinHelp\": \"Double opt-in trimite un e-mail abonatului prin care solicită confirmarea. În listele de înscriere dublă, campaniile sunt trimise numai abonaților confirmați.\",\n    \"lists.optinTo\": \"Înscrieți-vă la {name}\",\n    \"lists.optins.double\": \"Dublă înscriere\",\n    \"lists.optins.single\": \"Înscriere unică\",\n    \"lists.sendCampaign\": \"Trimite campanie\",\n    \"lists.sendOptinCampaign\": \"Trimiteți o campanie de înscriere\",\n    \"lists.type\": \"Tip\",\n    \"lists.typeHelp\": \"Listele publice sunt deschise lumii pentru a se abona și numele lor pot apărea pe pagini publice, cum ar fi pagina de gestionare a abonamentelor.\",\n    \"lists.types.private\": \"Privat\",\n    \"lists.types.public\": \"Public\",\n    \"logs.title\": \"Loguri\",\n    \"maintenance.database.title\": \"Bază de date\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE recuperează spațiul de stocare folosit de rândurile șterse și accelerează semnificativ performanța bazei de date pe baze de date mari. IMPORTANT: Pentru baze de date mari, aceasta este o operațiune lentă și blocantă. Planifică să o execuți în orele de vârf redus.\",\n    \"maintenance.help\": \"Unele acțiuni pot dura un timp pentru a finaliza în funcție de cantitatea de date.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Abonări neconfirmate de opt-in\",\n    \"maintenance.olderThan\": \"Este mai mică decât\",\n    \"maintenance.orphanHelp\": \"Orfani = abonați fără liste\",\n    \"maintenance.title\": \"Mentenanță\",\n    \"maintenance.unconfirmedSubs\": \"Abonamente neconfirmate mai vechi de {name} zile.\",\n    \"media.errorReadingFile\": \"Eroare la citirea fișierului: {error}\",\n    \"media.errorResizing\": \"Eroare la redimensionarea imaginii: {error}\",\n    \"media.errorSavingThumbnail\": \"Eroare la salvarea miniaturii: {error}\",\n    \"media.errorUploading\": \"Eroare la încărcarea fișierului: {error}\",\n    \"media.invalidFile\": \"Fișier nevalid: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Tip de fișier neacceptat ({type})\",\n    \"media.upload\": \"Încarcă\",\n    \"media.uploadHelp\": \"Click sau trage una sau mai multe imagini aici\",\n    \"menu.allCampaigns\": \"Toate campaniile\",\n    \"menu.allLists\": \"Toate listele\",\n    \"menu.allSubscribers\": \"Toți abonații\",\n    \"menu.dashboard\": \"Panou de control\",\n    \"menu.forms\": \"Formulare\",\n    \"menu.import\": \"Importă\",\n    \"menu.logs\": \"Loguri\",\n    \"menu.maintenance\": \"Mentenanță\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Creează nou\",\n    \"menu.settings\": \"Setări\",\n    \"public.archiveEmpty\": \"Nu există încă mesaje arhivate.\",\n    \"public.archiveTitle\": \"Arhiva listei de corespondență\",\n    \"public.blocklisted\": \"Dezabonat permanent.\",\n    \"public.campaignNotFound\": \"Mesajul de poștă electronică nu a fost găsit.\",\n    \"public.confirmOptinSubTitle\": \"Confirmați abonamentul\",\n    \"public.confirmSub\": \"Confirmați abonamentul\",\n    \"public.confirmSubInfo\": \"Ați fost adăugat la următoarele liste:\",\n    \"public.confirmSubTitle\": \"Confirmă\",\n    \"public.dataRemoved\": \"Abonamentele și toate datele asociate au fost eliminate.\",\n    \"public.dataRemovedTitle\": \"Date eliminate\",\n    \"public.dataSent\": \"Datele dumneavoastră v-au fost trimise prin e-mail ca atașare.\",\n    \"public.dataSentTitle\": \"Date trimise prin e-mail\",\n    \"public.errorFetchingCampaign\": \"Eroare la preluarea mesajului de poștă electronică.\",\n    \"public.errorFetchingEmail\": \"Mesaj de poștă electronică nu a fost găsit\",\n    \"public.errorFetchingLists\": \"Eroare la preluarea listelor. Vă rugăm să reîncercați.\",\n    \"public.errorProcessingRequest\": \"Solicitare de procesare a erorilor. Vă rugăm să reîncercați.\",\n    \"public.errorTitle\": \"Eroare\",\n    \"public.invalidCaptcha\": \"Captcha nevalidă.\",\n    \"public.invalidFeature\": \"Această caracteristică nu este disponibilă.\",\n    \"public.invalidLink\": \"Link nevalid\",\n    \"public.managePrefs\": \"Gestionarea preferințelor\",\n    \"public.managePrefsUnsub\": \"Debifați listele pentru a vă dezabona de la ele.\",\n    \"public.noListsAvailable\": \"Nu există liste disponibile pentru a vă abona.\",\n    \"public.noListsSelected\": \"Nu există liste valide pentru abonare.\",\n    \"public.noSubInfo\": \"Nu există abonamente de confirmat.\",\n    \"public.noSubTitle\": \"Fără abonamente\",\n    \"public.notFoundTitle\": \"Nu s-a găsit\",\n    \"public.poweredBy\": \"Implementat de\",\n    \"public.prefsSaved\": \"Preferințele tale au fost salvate.\",\n    \"public.privacyConfirmWipe\": \"Sunteți sigur că doriți să ștergeți definitiv toate datele abonamentului?\",\n    \"public.privacyExport\": \"Exportul datelor\",\n    \"public.privacyExportHelp\": \"O copie a datelor iti vor fi trimise prin email.\",\n    \"public.privacyTitle\": \"Confidențialitate și date\",\n    \"public.privacyWipe\": \"Ștergerea datelor\",\n    \"public.privacyWipeHelp\": \"Ștergeți definitiv toate abonamentele și datele asociate.\",\n    \"public.sub\": \"Abonare\",\n    \"public.subConfirmed\": \"Abonat cu succes.\",\n    \"public.subConfirmedTitle\": \"Confirmat\",\n    \"public.subName\": \"Nume (opțional)\",\n    \"public.subNotFound\": \"Abonament negăsit.\",\n    \"public.subOptinPending\": \"Ti-a fost trimis un email pentru a confirma abonamentul/abonamentele.\",\n    \"public.subPrivateList\": \"Lista privată\",\n    \"public.subTitle\": \"Abonare\",\n    \"public.unsub\": \"Dezabonare\",\n    \"public.unsubFull\": \"Dezabonați-vă de la toate e-mailurile viitoare.\",\n    \"public.unsubHelp\": \"Dorești să te dezabonezi de la această listă de email?\",\n    \"public.unsubTitle\": \"Dezabonare\",\n    \"public.unsubbedInfo\": \"V-ați dezabonat cu succes.\",\n    \"public.unsubbedTitle\": \"Dezabonat\",\n    \"public.unsubscribeTitle\": \"Dezabonare de la lista de corespondență\",\n    \"settings.appearance.adminHelp\": \"CSS personalizat pentru a aplica la UI admin.\",\n    \"settings.appearance.adminName\": \"Administrator\",\n    \"settings.appearance.customCSS\": \"CSS personalizat\",\n    \"settings.appearance.customJS\": \"JavaScript personalizat\",\n    \"settings.appearance.name\": \"Aspect\",\n    \"settings.appearance.publicHelp\": \"CSS personalizat și JavaScript să se aplice la paginile publice.\",\n    \"settings.appearance.publicName\": \"Public\",\n    \"settings.bounces.action\": \"Acțiune\",\n    \"settings.bounces.blocklist\": \"Lista de blocări\",\n    \"settings.bounces.count\": \"Bounce conta\",\n    \"settings.bounces.countHelp\": \"Numărul de bounce-uri per abonat\",\n    \"settings.bounces.enable\": \"Activați procesarea săririi\",\n    \"settings.bounces.enableForwardemail\": \"Activează redirecționarea e-mail\",\n    \"settings.bounces.enableMailbox\": \"Activați cutia poștală de respingere\",\n    \"settings.bounces.enablePostmark\": \"Activați Postmark\",\n    \"settings.bounces.enableSES\": \"Activați SES\",\n    \"settings.bounces.enableSendgrid\": \"Activați SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Activați webhooks bounce\",\n    \"settings.bounces.enabled\": \"Activat\",\n    \"settings.bounces.folder\": \"Director\",\n    \"settings.bounces.folderHelp\": \"Numele folderului IMAP pentru a scana. De exemplu: Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Cheie redirecționare e-mail\",\n    \"settings.bounces.invalidScanInterval\": \"Intervalul de scanare a săririi ar trebui să fie de minim 1 minut.\",\n    \"settings.bounces.name\": \"Neachitate\",\n    \"settings.bounces.none\": \"Nimic\",\n    \"settings.bounces.postmarkPassword\": \"Parolă Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Nume utilizator Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark vă permite să activați autorizarea de bază pentru webhook-uri. Asigurați-vă că introduceți aceleași credențiale aici și în setările webhook Postmark.\",\n    \"settings.bounces.scanInterval\": \"Interval de scanare\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval la care căsuța poștală de respingeri trebuie scanată pentru respingeri (s pentru secunde, m pentru minut).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid cheie\",\n    \"settings.bounces.type\": \"Tip\",\n    \"settings.bounces.username\": \"Nume de utilizator\",\n    \"settings.confirmRestart\": \"Asigurați-vă că desfășurarea campaniilor este întreruptă. Reîncepe?\",\n    \"settings.duplicateMessengerName\": \"Duplicați numele mesagerului: {name}\",\n    \"settings.errorEncoding\": \"Setări de codare a erorilor: {error}\",\n    \"settings.errorNoSMTP\": \"Trebuie activat cel putin un bloc SMTP\",\n    \"settings.general.adminNotifEmails\": \"E-mail-uri de notificare a administratorului\",\n    \"settings.general.adminNotifEmailsHelp\": \"Lista separată prin virgulă a adreselor de e-mail către care ar trebui trimise notificări de administrator, cum ar fi actualizări de import, finalizarea campaniei, eșec etc.\",\n    \"settings.general.checkUpdates\": \"Verifica actualizari\",\n    \"settings.general.checkUpdatesHelp\": \"Verificați periodic noile versiuni ale aplicației și anunțați.\",\n    \"settings.general.enablePublicArchive\": \"Activarea arhivei listelor de corespondență publică\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publicați campanii pe care arhivarea este activată pe site-ul web public.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Afișarea conținutului complet în fluxul RSS\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Afișați conținut complet de e-mail în fluxul RSS. Dacă este dezactivat, sunt afișate numai elementele de titlu și de legătură.\",\n    \"settings.general.enablePublicSubPage\": \"Activarea paginii de abonare publică\",\n    \"settings.general.enablePublicSubPageHelp\": \"Afișați o pagină de abonament public cu toate listele publice pentru ca persoanele să se aboneze.\",\n    \"settings.general.faviconURL\": \"Favicon URL-ul\",\n    \"settings.general.faviconURLHelp\": \"(Opțional) URL-ul complet la favicon statice care urmează să fie afișate pe vizualizarea orientate spre utilizator, cum ar fi pagina de unsubscription.\",\n    \"settings.general.fromEmail\": \"E-mail implicit \\\"de la\\\"\",\n    \"settings.general.fromEmailHelp\": \"E-mail-ul implicit \\\"de la\\\" pentru a apărea pe e-mailurile campaniei de ieșire. Acest lucru poate fi schimbat pe campanie.\",\n    \"settings.general.language\": \"Limbă\",\n    \"settings.general.logoURL\": \"Url-ul logo-ului\",\n    \"settings.general.logoURLHelp\": \"(Opțional) URL complet către sigla statică care trebuie afișată în vizualizarea către utilizator, cum ar fi pagina de dezabonare.\",\n    \"settings.general.name\": \"General\",\n    \"settings.general.rootURL\": \"URL-ul rădăcină\",\n    \"settings.general.rootURLHelp\": \"URL-ul public al instalației (fără bară oblică la final).\",\n    \"settings.general.sendOptinConfirm\": \"Trimiteți confirmarea înscrierii\",\n    \"settings.general.sendOptinConfirmHelp\": \"Trimite un e-mail de confirmare de înscriere atunci când abonații se înscriu prin formularul public sau când sunt adăugați de către administrator.\",\n    \"settings.general.siteName\": \"Numele sitului\",\n    \"settings.invalidMessengerName\": \"Nume de mesager nevalid.\",\n    \"settings.mailserver.authProtocol\": \"Protocolul Auth\",\n    \"settings.mailserver.host\": \"Gazdă\",\n    \"settings.mailserver.hostHelp\": \"Adresa gazdă a serverului SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Expirare inactivă\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Este timpul să asștepți o activitate nouă pe conexiune înainte de a o închide și a o scoate din unificator (s pentru secundă, m pentru minut).\",\n    \"settings.mailserver.maxConns\": \"Conexiuni maxime\",\n    \"settings.mailserver.maxConnsHelp\": \"Conexiuni concurente maxime la server.\",\n    \"settings.mailserver.nameHelp\": \"Nume unic opțional pentru serverul SMTP. Trebuie să aibă prefixul email-. Setarea aceasta permite selectarea specifică a serverului pentru o campanie. ex: email-primary-server. Alfanumeric / cratimă.\",\n    \"settings.mailserver.password\": \"Parola\",\n    \"settings.mailserver.passwordHelp\": \"Introduceți pentru a modifica\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Portul serverului SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Omiteți verificarea TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Săriți peste verificarea numelui de gazdă pe certificatul TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Criptare TLS/SSL. STARTTLS este frecvent utilizat.\",\n    \"settings.mailserver.username\": \"Nume de utilizator\",\n    \"settings.mailserver.waitTimeout\": \"Așteptați timeout-ul\",\n    \"settings.mailserver.waitTimeoutHelp\": \"E timpul să așteptați o nouă activitate pe o conexiune înainte de a o închide și de a o scoate din piscină (s pentru a doua, m pentru minut).\",\n    \"settings.maintenance.cron\": \"Interval Cron\",\n    \"settings.media.provider\": \"Prestator\",\n    \"settings.media.s3.bucket\": \"Găleată\",\n    \"settings.media.s3.bucketPath\": \"Calea cu găleată\",\n    \"settings.media.s3.bucketPathHelp\": \"Calea în interiorul găleată pentru a încărca fișiere. Implicit este /\",\n    \"settings.media.s3.bucketType\": \"Tipul cupei\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Public\",\n    \"settings.media.s3.key\": \"Cheie de acces AWS\",\n    \"settings.media.s3.publicURL\": \"Adresă URL publică personalizată (opțional)\",\n    \"settings.media.s3.publicURLHelp\": \"Domeniu S3 personalizat de utilizat pentru legăturile imaginilor în locul URL-ului backend S3 implicit.\",\n    \"settings.media.s3.region\": \"Regiune\",\n    \"settings.media.s3.secret\": \"Secret de acces AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Încărcarea expirării\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Opțional) Specifică TTL pentru adresa URL presemnată generată. Se aplică numai pentru bucketurile private (s, m, h, d pentru secunde, minute, ore, zile).\",\n    \"settings.media.s3.url\": \"S3 backend URL-ul\",\n    \"settings.media.s3.urlHelp\": \"Schimbă numai dacă folosești un backend personalizat compatibil S3, cum ar fi Minio.\",\n    \"settings.media.title\": \"Încărcări media\",\n    \"settings.media.upload.extensions\": \"Extensii de fișiere permise\",\n    \"settings.media.upload.extensionsHelp\": \"Adăugați * pentru a permite toate extensiile\",\n    \"settings.media.upload.path\": \"Calea de încărcare\",\n    \"settings.media.upload.pathHelp\": \"Calea către directorul în care va fi încărcat conținutul media.\",\n    \"settings.media.upload.uri\": \"Încărcați URI-ul\",\n    \"settings.media.upload.uriHelp\": \"Încărcați URI care este vizibil pentru lumea exterioară. Conținutul media încărcat în upload_path va fi accesibil publicului în temeiul {root_url}, de exemplu, https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Conexiuni maxime\",\n    \"settings.messengers.maxConnsHelp\": \"Conexiuni concurente maxime la server.\",\n    \"settings.messengers.messageSaved\": \"Setari Salvate. Se reîncarcă aplicația ...\",\n    \"settings.messengers.name\": \"Mesageri\",\n    \"settings.messengers.nameHelp\": \"de exemplu: sms-ul meu. Alfanumeric / dash.\",\n    \"settings.messengers.password\": \"Parolă\",\n    \"settings.messengers.retries\": \"Încercări\",\n    \"settings.messengers.retriesHelp\": \"De câte ori să reîncercați atunci când un mesaj nu reușește.\",\n    \"settings.messengers.skipTLSHelp\": \"Săriți peste verificarea numelui de gazdă pe certificatul TLS.\",\n    \"settings.messengers.timeout\": \"Expirare inactivă\",\n    \"settings.messengers.timeoutHelp\": \"E timpul să așteptați o nouă activitate pe o conexiune înainte de a o închide și de a o scoate din piscină (s pentru a doua, m pentru minut).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL-ul rădăcină al serverului Postback.\",\n    \"settings.messengers.username\": \"Nume de utilizator\",\n    \"settings.needsRestart\": \"Setările s-au schimbat. Întrerupe toate campaniile care rulează și reporniți aplicația\",\n    \"settings.performance.batchSize\": \"Mărimea lotului\",\n    \"settings.performance.batchSizeHelp\": \"Numărul de abonați care pot fi extrași din baza de date într-o singură iterație. Fiecare iterație atrage abonații din baza de date, le trimite mesaje și apoi trece la următoarea iterație pentru a extrage următorul lot. Acest lucru ar trebui să fie în mod ideal mai mare decât debitul maxim realizabil (concurență * rată_mesaj).\",\n    \"settings.performance.cacheSlowQueries\": \"Memorare cache a interogărilor lente ale bazei de date\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Activează doar această opțiune pentru baze de date mari care s-au încetinit semnificativ. Creează cache pentru numărul de abonați la listă, statistici pentru panoul de control, etc.\",\n    \"settings.performance.concurrency\": \"Concurență\",\n    \"settings.performance.concurrencyHelp\": \"Lucrător simultan maxim (fire) care va încerca să trimită mesaje simultan.\",\n    \"settings.performance.maxErrThreshold\": \"Pragul maxim de eroare\",\n    \"settings.performance.maxErrThresholdHelp\": \"Numărul de erori (de exemplu: timeout SMTP în timp ce e-mailing) o campanie care rulează ar trebui să tolereze înainte de a fi întreruptă pentru investigarea manuală sau de intervenție. Setați la 0 pentru a nu întrerupe niciodată.\",\n    \"settings.performance.messageRate\": \"Rata mesajelor\",\n    \"settings.performance.messageRateHelp\": \"Numărul maxim de mesaje care trebuie trimise pe secundă per lucrător într-o secundă. Dacă concurența = 10 și rată_mesaj = 10, atunci până la 10x10 = 100 mesaje pot fi împinse în fiecare secundă. Acest lucru, împreună cu concurența, ar trebui modificat pentru a menține mesajele nete care se difuzează pe secundă sub limitele de tarifare ale serverelor de mesaje țintă, dacă există.\",\n    \"settings.performance.name\": \"Performanță\",\n    \"settings.performance.slidingWindow\": \"Activați limita ferestrei glisante\",\n    \"settings.performance.slidingWindowDuration\": \"Durata\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Durata perioadei ferestrei glisante (m pentru minut, h pentru oră).\",\n    \"settings.performance.slidingWindowHelp\": \"Limitați numărul total de mesaje care sunt trimise într-o anumită perioadă. La atingerea acestei limite, mesajele sunt reținute de la trimitere până când se deschide fereastra de timp.\",\n    \"settings.performance.slidingWindowRate\": \"Max. mesaje\",\n    \"settings.performance.slidingWindowRateHelp\": \"Numărul maxim de mesaje de trimis în timpul ferestrei.\",\n    \"settings.privacy.allowBlocklist\": \"Permiteți lista de blocări\",\n    \"settings.privacy.allowBlocklistHelp\": \"Permite abonaților să se dezaboneze de la toate listele de e-mail și să se marcheze ca listă de blocuri?\",\n    \"settings.privacy.allowExport\": \"Permiteți accesul la audio\",\n    \"settings.privacy.allowExportHelp\": \"Permite abonaților să exporte datele colectate pe aceștia?\",\n    \"settings.privacy.allowPrefs\": \"Permiterea modificărilor preferințelor\",\n    \"settings.privacy.allowPrefsHelp\": \"Permiteți abonaților să-și schimbe preferințele, cum ar fi numele lor și abonările la mai multe liste.\",\n    \"settings.privacy.allowWipe\": \"Permiteți accesul la audio\",\n    \"settings.privacy.allowWipeHelp\": \"Permite abonaților să se șteargă, inclusiv abonamentele lor și toate celelalte date din baza de date. Vizualizările campaniei și clicurile pe linkuri sunt, de asemenea, eliminate, în timp ce numărul de vizualizări și clicuri rămâne (fără niciun abonat asociat acestora), astfel încât statisticile și analizele să nu fie afectate.\",\n    \"settings.privacy.domainAllowlist\": \"Lista de domenii permise\",\n    \"settings.privacy.domainAllowlistHelp\": \"Doar adresele de e-mail cu aceste domenii pot să se aboneze. Introdu un domeniu pe linie, ex: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Nu am găsit date despre domeniul {domain}.\",\n    \"settings.privacy.domainBlocklistHelp\": \"Adresele de poștă electronică cu aceste domenii nu sunt permise de la abonare. Introduceți un domeniu pe linie, de exemplu: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"În acest hub nu sunt disponibile date despre abonați\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Urmărește vizualizările și clicurile campaniei la nivel de abonați. Când este dezactivat, urmărirea vizualizării și a clicurilor continuă fără a fi conectată la abonați individuali.\",\n    \"settings.privacy.listUnsubHeader\": \"Includeți antetul \\\"Listă-Dezabonare\\\"\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Include anteturi de dezabonare care permit clienților de e-mail să permită utilizatorilor să se dezaboneze printr-un singur clic.\",\n    \"settings.privacy.name\": \"Confidențialitate\",\n    \"settings.privacy.recordOptinIP\": \"Înregistrare adresă IP de opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Înregistrați adresa IP a confirmărilor duble în atributele abonaților.\",\n    \"settings.restart\": \"Repornește\",\n    \"settings.security.CORSDomains\": \"Origini permise\",\n    \"settings.security.CORSDomainsHelp\": \"Permite accesul la punctele finale API prin Javascript din browser din domenii externe. Introdu un domeniu pe rând (ex: https://example.com). Lasă gol pentru a dezactiva CORS sau adaugă * pentru a permite toate (nu se recomandă).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Creare automată a utilizatorilor\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Creează automat utilizatorul la prima autentificare dacă contul nu există.\",\n    \"settings.security.OIDCClientID\": \"ID client\",\n    \"settings.security.OIDCClientSecret\": \"Secret client\",\n    \"settings.security.OIDCDefaultListRole\": \"Rol listă implicit\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Rolul implicit asignat utilizatorilor creați automat din OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Rol utilizator implicit\",\n    \"settings.security.OIDCHelp\": \"Activează autentificarea OpenID Connect OAuth2 prin intermediul unui furnizor OAuth.\",\n    \"settings.security.OIDCName\": \"Numele furnizorului\",\n    \"settings.security.OIDCRedirectURL\": \"URL de redirecționare pentru furnizorul oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Aceasta nu pare a fi o adresă URL de producție. Modificați URL-ul de bază în setăriile 'Generale'.\",\n    \"settings.security.OIDCURL\": \"URL furnizor\",\n    \"settings.security.OIDCWarning\": \"Când OIDC este activat, autentificarea implicită cu parolă este dezactivată. Configurarea incorectă poate duce la blocarea accesului.\",\n    \"settings.security.altchaComplexity\": \"Complexitatea Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Valorile mai mari oferă o securitate mai bună, dar rezolvarea este mai lentă (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Cheie SiteKey hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Vizitați www.hcaptcha.com pentru a obține cheia și secretul.\",\n    \"settings.security.captchaSecret\": \"Secret hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Activați CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Activați CAPTCHA în formularul de abonament public.\",\n    \"settings.security.enableOIDC\": \"Activează OIDC SSO\",\n    \"settings.security.name\": \"Securitate\",\n    \"settings.smtp.customHeaders\": \"Anteturi particularizate\",\n    \"settings.smtp.customHeadersHelp\": \"Matrice opțională de antete de e-mail pentru a include în toate mesajele trimise de pe acest server. de exemplu: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Activat\",\n    \"settings.smtp.heloHost\": \"Numele de gazdă HELO\",\n    \"settings.smtp.heloHostHelp\": \"Opțional. Unele servere SMTP necesită un FQDN în numele gazdei. În mod implicit, Bună ziua merge cu `localhost`. Setați acest lucru dacă trebuie utilizat un nume de gazdă personalizat.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Încercări\",\n    \"settings.smtp.retriesHelp\": \"De câte ori să reîncercați atunci când un mesaj nu reușește.\",\n    \"settings.smtp.sendTest\": \"Trimite e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Setarea anteturilor particularizate\",\n    \"settings.smtp.testConnection\": \"Conexiune de testare\",\n    \"settings.smtp.testEnterEmail\": \"Introduceți parola pentru a testa\",\n    \"settings.smtp.toEmail\": \"Pentru a e-mail\",\n    \"settings.title\": \"Setări\",\n    \"settings.updateAvailable\": \"Este disponibilă o nouă actualizare {version}.\",\n    \"subscribers.activity\": \"Activitate\",\n    \"subscribers.advancedQuery\": \"Avansat\",\n    \"subscribers.advancedQueryHelp\": \"Expresie SQL parțială pentru a interoga atributele abonatului\",\n    \"subscribers.attribsHelp\": \"Atributele sunt definite ca o hartă JSON, de exemplu:\",\n    \"subscribers.blocklistedHelp\": \"Abonații din lista neagră nu vor primi niciodată e-mailuri.\",\n    \"subscribers.confirmBlocklist\": \"Lista de blocări {num} abonaților?\",\n    \"subscribers.confirmDelete\": \"Ștergeți {num} abonat(i)?\",\n    \"subscribers.confirmExport\": \"Exportați {num} abonați?\",\n    \"subscribers.domainBlocklisted\": \"Domeniul de poștă electronică este blocat.\",\n    \"subscribers.downloadData\": \"Descărcați date\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail-ul există deja.\",\n    \"subscribers.errorBlocklisting\": \"Eroare de blocare a abonaților: {error}\",\n    \"subscribers.errorNoIDs\": \"Nu s-au dat ID-uri.\",\n    \"subscribers.errorNoListsGiven\": \"Nu s-au dat liste.\",\n    \"subscribers.errorPreparingQuery\": \"Eroare la pregătirea interogării abonatului: {error}\",\n    \"subscribers.errorSendingOptin\": \"Eroare la trimiterea de e-mail de înscriere.\",\n    \"subscribers.export\": \"Exportă\",\n    \"subscribers.invalidAction\": \"Acțiune invalidă.\",\n    \"subscribers.invalidEmail\": \"E-mail invalid.\",\n    \"subscribers.invalidJSON\": \"JSON nevalid în atribute.\",\n    \"subscribers.invalidName\": \"Nume invalid.\",\n    \"subscribers.listChangeApplied\": \"Modificarea listei aplicată.\",\n    \"subscribers.lists\": \"Liste\",\n    \"subscribers.listsHelp\": \"Listele din care abonații s-au dezabonat nu pot fi eliminate.\",\n    \"subscribers.listsPlaceholder\": \"Liste la care să vă abonați\",\n    \"subscribers.manageLists\": \"Gestionarea listelor\",\n    \"subscribers.markUnsubscribed\": \"Marcați ca dezabonat\",\n    \"subscribers.newSubscriber\": \"Abonat nou\",\n    \"subscribers.numSelected\": \"{num} abonat(i) selectat(i)\",\n    \"subscribers.optinSubject\": \"Confirmați abonamentul\",\n    \"subscribers.preconfirm\": \"Pre-confirm subscriptions\",\n    \"subscribers.preconfirmHelp\": \"Nu trimiteți e-mail-uri de opt-in și marcați toate abonările la listă ca \\\"abonate\\\".\",\n    \"subscribers.query\": \"Interogare\",\n    \"subscribers.queryPlaceholder\": \"E-mail sau nume\",\n    \"subscribers.reset\": \"Resetare\",\n    \"subscribers.selectAll\": \"Selectați toate {num}\",\n    \"subscribers.sendOptinConfirm\": \"Trimiteți confirmarea înscrierii\",\n    \"subscribers.sentOptinConfirm\": \"Confirmarea înscrierii trimisă\",\n    \"subscribers.status.blocklisted\": \"Lista blocată\",\n    \"subscribers.status.confirmed\": \"Confirmat\",\n    \"subscribers.status.enabled\": \"Activat\",\n    \"subscribers.status.subscribed\": \"Abonat\",\n    \"subscribers.status.unconfirmed\": \"Neconfirmat\",\n    \"subscribers.status.unsubscribed\": \"Dezabonat\",\n    \"subscribers.subscribersDeleted\": \"{num} abonat (abonați) șterse\",\n    \"templates.cantDeleteDefault\": \"Nu se poate șterge șablonul inexistent sau implicit\",\n    \"templates.default\": \"Implicit\",\n    \"templates.dummyName\": \"Activați campania\",\n    \"templates.dummySubject\": \"Subiectul campaniei manechinului\",\n    \"templates.errorCompiling\": \"Eroare la compilarea șablonului: {error}\",\n    \"templates.errorRendering\": \"Mesaj de redare a erorilor: {error}\",\n    \"templates.fieldInvalidName\": \"Lungime nevalidă pentru nume.\",\n    \"templates.makeDefault\": \"Setarea implicită\",\n    \"templates.newTemplate\": \"Șablon nou\",\n    \"templates.placeholderHelp\": \"Substituentul {placeholder} ar trebui să apară exact o dată în șablon.\",\n    \"templates.preview\": \"Previzualizați\",\n    \"templates.rawHTML\": \"HTML brut\",\n    \"templates.subject\": \"Subiect\",\n    \"templates.typeCampaignHTML\": \"Campanie / HTML\",\n    \"templates.typeCampaignVisual\": \"Campanie / Vizual\",\n    \"templates.typeTransactional\": \"Tranzacțional\",\n    \"users.apiOneTimeToken\": \"Copiați acum tokenul de acces API. Nu va fi afișat din nou.\",\n    \"users.cantDeleteRole\": \"Imposibil de șters rolul care este în uz.\",\n    \"users.firstTime\": \"Aceasta este o instalare nouă. Alegeți un nume de utilizator și o parolă pentru contul Super Admin.\",\n    \"users.forgotPassword\": \"Ai uitat parola?\",\n    \"users.invalidLogin\": \"Autentificare sau parolă incorectă\",\n    \"users.invalidPassword\": \"Parolă nevalidă\",\n    \"users.invalidRequest\": \"Cerere de autentificare nevalidă\",\n    \"users.invalidResetLink\": \"Link de resetare nevalid sau expirat\",\n    \"users.lastLogin\": \"Ultima autentificare\",\n    \"users.listPerms\": \"Permisiuni listă\",\n    \"users.listPermsWarning\": \"lists:get_all sau lists:manage_all sunt activate, ceea ce suprascrie permisiunile pe listă\",\n    \"users.listRole\": \"Rol listă | Rol listă\",\n    \"users.listRoles\": \"Roluri listă\",\n    \"users.login\": \"Conectează-te\",\n    \"users.loginOIDC\": \"Autentificare cu {name}\",\n    \"users.logout\": \"Deconectare\",\n    \"users.needSuper\": \"Utilizator(izatorii) nu au putut fi actualizați. Trebuie să existe cel puțin un utilizator Super Admin activ.\",\n    \"users.newListRole\": \"Rol listă nou\",\n    \"users.newPassword\": \"Parola nouă\",\n    \"users.newUser\": \"Utilizator nou\",\n    \"users.newUserRole\": \"Rol utilizator nou\",\n    \"users.password\": \"Parolă\",\n    \"users.passwordEnable\": \"Activează autentificare prin parolă\",\n    \"users.passwordMismatch\": \"Parolele nu sunt identice\",\n    \"users.passwordRepeat\": \"Repetă parola\",\n    \"users.perms\": \"Permisiuni\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Dacă contul este activ, vei primi un e-mail de resetare a parolei.\",\n    \"users.resetPassword\": \"Resetează parola\",\n    \"users.role\": \"Rol | Roluri\",\n    \"users.roleGroup\": \"Grup\",\n    \"users.roles\": \"Roluri\",\n    \"users.status.disabled\": \"Dezactivat\",\n    \"users.status.enabled\": \"Activat\",\n    \"users.totpCode\": \"Cod TOTP\",\n    \"users.totpCodeHelp\": \"Introdu codul de 6 cifre din aplicația ta de autentificare\",\n    \"users.totpScanQR\": \"Scanează codul QR cu aplicația ta de autentificare, cum ar fi Ente sau Google Authenticator, și introdu codul TOTP de mai jos.\",\n    \"users.totpSecret\": \"Cheie secretă\",\n    \"users.twoFA\": \"Autentificare cu doi factori\",\n    \"users.twoFAAlreadyEnabled\": \"Autentificarea cu doi factori este deja activată.\",\n    \"users.twoFAEnabled\": \"Autentificarea cu doi factori este activată\",\n    \"users.twoFAEnabledDesc\": \"Contul tău este protejat cu 2FA {type}\",\n    \"users.twoFANotEnabled\": \"Activează 2FA pentru securitate suplimentară la conectarea în contul tău.\",\n    \"users.type\": \"Tip\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Utilizator\",\n    \"users.userRole\": \"Rol utilizator | Roluri utilizator\",\n    \"users.userRoles\": \"Roluri utilizator\",\n    \"users.username\": \"Nume utilizator\",\n    \"users.usernameHelp\": \"Utilizat împreună cu autentificarea prin parolă\"\n}\n"
  },
  {
    "path": "i18n/ru.json",
    "content": "{\n    \"_.code\": \"ru\",\n    \"_.name\": \"Русский (ru)\",\n    \"admin.errorMarshallingConfig\": \"Ошибка преобразования конфигурации: {error}\",\n    \"analytics.count\": \"Количество\",\n    \"analytics.fromDate\": \"С\",\n    \"analytics.invalidDates\": \"Неверно указаны даты `from` или `to`.\",\n    \"analytics.isUnique\": \"Подсчёты уникальны для каждого подписчика.\",\n    \"analytics.links\": \"Ссылки\",\n    \"analytics.nonUnique\": \"Подсчёты не уникальны, так как индивидуальное отслеживание подписчиков отключено.\",\n    \"analytics.title\": \"Аналитика\",\n    \"analytics.toDate\": \"По\",\n    \"bounces.complaint\": \"Жалоба\",\n    \"bounces.hard\": \"Жёсткий отказ\",\n    \"bounces.soft\": \"Мягкий отказ\",\n    \"bounces.source\": \"Источник\",\n    \"bounces.unknownService\": \"Неизвестная служба.\",\n    \"bounces.view\": \"Просмотреть отказы\",\n    \"campaigns.addAltText\": \"Добавить альтернативное сообщение в виде простого текста\",\n    \"campaigns.addAttachments\": \"Добавить вложения\",\n    \"campaigns.archive\": \"Архив\",\n    \"campaigns.archiveEnable\": \"Опубликовать в публичном архиве\",\n    \"campaigns.archiveHelp\": \"Опубликовать сообщение кампании (запущенной, приостановленной или завершённой) в публичном архиве.\",\n    \"campaigns.archiveMeta\": \"Метаданные кампании\",\n    \"campaigns.archiveMetaHelp\": \"Фиктивные данные подписчика для использования в публичном сообщении, включая имя, адрес электронной почты и любые дополнительные атрибуты, используемые в сообщении или шаблоне кампании.\",\n    \"campaigns.archiveSlug\": \"URL-идентификатор\",\n    \"campaigns.archiveSlugHelp\": \"Краткое имя страницы, которое будет использоваться в публичном URL. Например: my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Вложения\",\n    \"campaigns.attribsHelp\": \"Пользовательский объект JSON {} атрибутов для этой кампании. Используйте в шаблоне с {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Невозможно обновить запущенную или завершённую кампанию.\",\n    \"campaigns.clicks\": \"Клики\",\n    \"campaigns.confirmDelete\": \"Удалить {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Это перезапишет все содержимое. Продолжить?\",\n    \"campaigns.confirmSchedule\": \"Эта кампания будет автоматически запущена в запланированную дату и время. Запланировать сейчас?\",\n    \"campaigns.confirmSwitchFormat\": \"Содержимое может потерять форматирование. Продолжить?\",\n    \"campaigns.content\": \"Содержимое\",\n    \"campaigns.contentHelp\": \"Содержимое кампании\",\n    \"campaigns.continue\": \"Продолжить\",\n    \"campaigns.copyOf\": \"Копия {name}\",\n    \"campaigns.customHeadersHelp\": \"Массив пользовательских заголовков для добавления к исходящим сообщениям. Например: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Дата и время\",\n    \"campaigns.ended\": \"Завершена\",\n    \"campaigns.errorSendTest\": \"Ошибка отправки тестового сообщения: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Ошибка компиляции тела кампании: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Неверный адрес отправителя (`from_email`).\",\n    \"campaigns.fieldInvalidListIDs\": \"Неверные ID списков.\",\n    \"campaigns.fieldInvalidMessenger\": \"Неизвестный мессенджер: {name}.\",\n    \"campaigns.fieldInvalidName\": \"Недопустимая длина имени.\",\n    \"campaigns.fieldInvalidSendAt\": \"Запланированная дата должна быть в будущем.\",\n    \"campaigns.fieldInvalidSubject\": \"Недопустимая длина темы.\",\n    \"campaigns.format\": \"Формат\",\n    \"campaigns.formatHTML\": \"Формат HTML\",\n    \"campaigns.fromAddress\": \"Адрес отправителя\",\n    \"campaigns.fromAddressPlaceholder\": \"Ваше имя <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Импорт визуального шаблона\",\n    \"campaigns.invalid\": \"Неверная кампания\",\n    \"campaigns.invalidCustomHeaders\": \"Недопустимые пользовательские заголовки: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Для планирования кампании необходимо указать дату.\",\n    \"campaigns.newCampaign\": \"Новая кампания\",\n    \"campaigns.noKnownSubsToTest\": \"Нет известных подписчиков для тестирования.\",\n    \"campaigns.noOptinLists\": \"Не найдено списков с подтверждением подписки для создания кампании.\",\n    \"campaigns.noSubs\": \"В выбранных списках нет подписчиков для создания кампании.\",\n    \"campaigns.noSubsToTest\": \"Нет подписчиков для тестирования.\",\n    \"campaigns.notFound\": \"Кампания не найдена.\",\n    \"campaigns.onlyActiveCancel\": \"Только активные кампании могут быть отменены.\",\n    \"campaigns.onlyActivePause\": \"Только активные кампании могут быть приостановлены.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Только черновики кампаний могут быть запланированы.\",\n    \"campaigns.onlyPausedDraft\": \"Запускать можно только приостановленные кампании и черновики.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Только запланированные кампании можно сохранить как черновики.\",\n    \"campaigns.pause\": \"Приостановить\",\n    \"campaigns.plainText\": \"Простой текст\",\n    \"campaigns.preview\": \"Предпросмотр\",\n    \"campaigns.progress\": \"Прогресс\",\n    \"campaigns.queryPlaceholder\": \"Имя или тема\",\n    \"campaigns.rateMinuteShort\": \"мин\",\n    \"campaigns.rawHTML\": \"Необработанный HTML\",\n    \"campaigns.removeAltText\": \"Удалить альтернативное сообщение в виде простого текста\",\n    \"campaigns.richText\": \"Форматированный текст\",\n    \"campaigns.schedule\": \"Запланировать кампанию\",\n    \"campaigns.scheduled\": \"Запланированные\",\n    \"campaigns.send\": \"Отправить\",\n    \"campaigns.sendLater\": \"Отправить позже\",\n    \"campaigns.sendTest\": \"Отправить тестовое сообщение\",\n    \"campaigns.sendTestHelp\": \"Нажмите Enter после ввода адреса, чтобы добавить несколько получателей. Адреса должны принадлежать существующим подписчикам.\",\n    \"campaigns.sendToLists\": \"Списки для отправки\",\n    \"campaigns.sent\": \"Отправленные\",\n    \"campaigns.start\": \"Запустить кампанию\",\n    \"campaigns.started\": \"Кампания \\\"{name}\\\" запущена\",\n    \"campaigns.startedAt\": \"Запущено\",\n    \"campaigns.stats\": \"Статистика\",\n    \"campaigns.status.cancelled\": \"Отменённые\",\n    \"campaigns.status.draft\": \"Черновик\",\n    \"campaigns.status.finished\": \"Завершена\",\n    \"campaigns.status.paused\": \"Приостановлена\",\n    \"campaigns.status.running\": \"Запущена\",\n    \"campaigns.status.scheduled\": \"Запланирована\",\n    \"campaigns.statusChanged\": \"Кампания \\\"{name}\\\" теперь {status}\",\n    \"campaigns.subject\": \"Тема\",\n    \"campaigns.templatingRef\": \"Справочник по шаблонам\",\n    \"campaigns.testEmails\": \"Электронная почта\",\n    \"campaigns.testSent\": \"Тестовое сообщение отправлено\",\n    \"campaigns.timestamps\": \"Метки времени\",\n    \"campaigns.trackLink\": \"Ссылка для отслеживания\",\n    \"campaigns.unSchedule\": \"Отменить планирование\",\n    \"campaigns.views\": \"Просмотры\",\n    \"campaigns.visual\": \"Визуальный\",\n    \"dashboard.campaignViews\": \"Просмотры кампаний\",\n    \"dashboard.linkClicks\": \"Клики по ссылкам\",\n    \"dashboard.messagesSent\": \"Отправлено сообщений\",\n    \"dashboard.orphanSubs\": \"Без списков\",\n    \"email.data.info\": \"Копия всех записанных данных о вас прилагается в виде файла в формате JSON. Его можно просмотреть в текстовом редакторе.\",\n    \"email.data.title\": \"Ваши данные\",\n    \"email.forgotPassword.button\": \"Сбросить пароль\",\n    \"email.forgotPassword.info\": \"Если вы не запрашивали это, вы можете спокойно игнорировать это письмо. Эта ссылка истечет через 30 минут.\",\n    \"email.forgotPassword.subject\": \"Сбросьте свой пароль\",\n    \"email.optin.confirmSub\": \"Подтвердить подписку\",\n    \"email.optin.confirmSubHelp\": \"Подтвердите подписку, нажав кнопку ниже.\",\n    \"email.optin.confirmSubInfo\": \"Вы были добавлены в следующие списки:\",\n    \"email.optin.confirmSubTitle\": \"Подтверждение подписки\",\n    \"email.optin.confirmSubWelcome\": \"Здравствуйте\",\n    \"email.optin.privateList\": \"Приватный список\",\n    \"email.status.campaignReason\": \"Причина\",\n    \"email.status.campaignSent\": \"Отправлена\",\n    \"email.status.campaignUpdateTitle\": \"Обновление кампании\",\n    \"email.status.importFile\": \"Файл\",\n    \"email.status.importRecords\": \"Записи\",\n    \"email.status.importTitle\": \"Обновление импорта\",\n    \"email.status.status\": \"Статус\",\n    \"email.unsub\": \"Отписаться\",\n    \"email.unsubHelp\": \"Не хотите получать эти письма? Отпишитесь.\",\n    \"email.viewInBrowser\": \"Просмотреть в браузере\",\n    \"forms.formHTML\": \"HTML-форма\",\n    \"forms.formHTMLHelp\": \"Используйте следующий HTML-код, чтобы разместить форму подписки на внешней веб-странице. Форма должна содержать поле для ввода адреса электронной почты и одно или несколько полей `l` (UUID списка). Поле для имени необязательно.\",\n    \"forms.noPublicLists\": \"Нет публичных списков для создания формы.\",\n    \"forms.publicLists\": \"Публичные списки\",\n    \"forms.publicSubPage\": \"Публичная страница подписки\",\n    \"forms.selectHelp\": \"Выберите списки для добавления в форму.\",\n    \"forms.title\": \"Формы\",\n    \"globals.buttons.add\": \"Добавить\",\n    \"globals.buttons.addNew\": \"Добавить новый\",\n    \"globals.buttons.back\": \"Назад\",\n    \"globals.buttons.cancel\": \"Отменить\",\n    \"globals.buttons.clear\": \"Очистить\",\n    \"globals.buttons.clearAll\": \"Очистить всё\",\n    \"globals.buttons.clone\": \"Клонировать\",\n    \"globals.buttons.close\": \"Закрыть\",\n    \"globals.buttons.continue\": \"Продолжить\",\n    \"globals.buttons.copy\": \"Копировать\",\n    \"globals.buttons.delete\": \"Удалить\",\n    \"globals.buttons.deleteAll\": \"Удалить всё\",\n    \"globals.buttons.disable\": \"Отключить\",\n    \"globals.buttons.edit\": \"Редактировать\",\n    \"globals.buttons.enable\": \"Включить\",\n    \"globals.buttons.enabled\": \"Включено\",\n    \"globals.buttons.insert\": \"Вставить\",\n    \"globals.buttons.learnMore\": \"Подробнее\",\n    \"globals.buttons.manage\": \"Управление\",\n    \"globals.buttons.more\": \"Ещё\",\n    \"globals.buttons.new\": \"Создать\",\n    \"globals.buttons.ok\": \"ОК\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Удалить\",\n    \"globals.buttons.save\": \"Сохранить\",\n    \"globals.buttons.saveChanges\": \"Сохранить изменения\",\n    \"globals.buttons.toggleSelect\": \"Переключить выбор\",\n    \"globals.buttons.view\": \"Просмотреть\",\n    \"globals.days.0\": \"Вс\",\n    \"globals.days.1\": \"Вс\",\n    \"globals.days.2\": \"Пн\",\n    \"globals.days.3\": \"Вт\",\n    \"globals.days.4\": \"Ср\",\n    \"globals.days.5\": \"Чт\",\n    \"globals.days.6\": \"Пт\",\n    \"globals.days.7\": \"Сб\",\n    \"globals.fields.createdAt\": \"Создано\",\n    \"globals.fields.description\": \"Описание\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Имя\",\n    \"globals.fields.status\": \"Статус\",\n    \"globals.fields.type\": \"Тип\",\n    \"globals.fields.updatedAt\": \"Обновлено\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Вы уверены?\",\n    \"globals.messages.confirmDelete\": \"Удалить {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Отменить изменения?\",\n    \"globals.messages.copied\": \"Скопировано\",\n    \"globals.messages.created\": \"\\\"{name}\\\" создано\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" удалено\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) удалено\",\n    \"globals.messages.done\": \"Готово\",\n    \"globals.messages.emptyState\": \"Ничего не найдено\",\n    \"globals.messages.errorCreating\": \"Ошибка создания {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Ошибка удаления {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Ошибка получения {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Один или несколько ID неверны: {error}\",\n    \"globals.messages.errorUUID\": \"Ошибка генерации UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Ошибка обновления {name}: {error}\",\n    \"globals.messages.internalError\": \"Внутренняя ошибка сервера\",\n    \"globals.messages.invalidData\": \"Неверные данные\",\n    \"globals.messages.invalidFields\": \"Некорректные поля: {name}\",\n    \"globals.messages.invalidID\": \"Неверный ID\",\n    \"globals.messages.invalidUUID\": \"Неверный UUID\",\n    \"globals.messages.invalidValue\": \"Неверное значение\",\n    \"globals.messages.missingFields\": \"Отсутствует поле (поля): {name}\",\n    \"globals.messages.notFound\": \"{name} не найдено\",\n    \"globals.messages.numSelected\": \"{num} выбрано\",\n    \"globals.messages.passwordChange\": \"Введите значение для изменения\",\n    \"globals.messages.passwordChangeFull\": \"Очистите и повторно введите полный пароль в поле '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Доступ запрещён: {name}\",\n    \"globals.messages.selectAll\": \"Выбрать все {num}\",\n    \"globals.messages.slowQueriesCached\": \"Медленные запросы кэшируются. Некоторые данные на этой странице могут быть неактуальными.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" обновлено\",\n    \"globals.months.1\": \"Янв\",\n    \"globals.months.10\": \"Окт\",\n    \"globals.months.11\": \"Ноя\",\n    \"globals.months.12\": \"Дек\",\n    \"globals.months.2\": \"Фев\",\n    \"globals.months.3\": \"Мар\",\n    \"globals.months.4\": \"Апр\",\n    \"globals.months.5\": \"Май\",\n    \"globals.months.6\": \"Июн\",\n    \"globals.months.7\": \"Июл\",\n    \"globals.months.8\": \"Авг\",\n    \"globals.months.9\": \"Сен\",\n    \"globals.states.off\": \"Выкл\",\n    \"globals.terms.all\": \"Все\",\n    \"globals.terms.analytics\": \"Аналитика\",\n    \"globals.terms.attribs\": \"Атрибуты\",\n    \"globals.terms.bounce\": \"Отказ | Отказы\",\n    \"globals.terms.bounces\": \"Отказы\",\n    \"globals.terms.campaign\": \"Кампания | Кампании\",\n    \"globals.terms.campaigns\": \"Кампании\",\n    \"globals.terms.dashboard\": \"Панель управления\",\n    \"globals.terms.day\": \"День | Дни\",\n    \"globals.terms.hour\": \"Час | Часы\",\n    \"globals.terms.import\": \"Импорт\",\n    \"globals.terms.list\": \"Список | Списки\",\n    \"globals.terms.lists\": \"Списки\",\n    \"globals.terms.media\": \"Медиа | Медиа\",\n    \"globals.terms.messenger\": \"Мессенджер | Мессенджеры\",\n    \"globals.terms.messengers\": \"Мессенджеры\",\n    \"globals.terms.minute\": \"Минута | Минуты\",\n    \"globals.terms.month\": \"Месяц | Месяцы\",\n    \"globals.terms.new\": \"Новый\",\n    \"globals.terms.none\": \"Нет\",\n    \"globals.terms.second\": \"Секунда | Секунды\",\n    \"globals.terms.settings\": \"Настройки\",\n    \"globals.terms.subscriber\": \"Подписчик | Подписчики\",\n    \"globals.terms.subscribers\": \"Подписчики\",\n    \"globals.terms.subscriptions\": \"Подписка | Подписки\",\n    \"globals.terms.tag\": \"Тег | Теги\",\n    \"globals.terms.tags\": \"Теги\",\n    \"globals.terms.template\": \"Шаблон | Шаблоны\",\n    \"globals.terms.templates\": \"Шаблоны\",\n    \"globals.terms.tx\": \"Транзакционный | Транзакционные\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Пользователь | Пользователи\",\n    \"globals.terms.users\": \"Пользователи\",\n    \"globals.terms.year\": \"Год | Годы\",\n    \"import.alreadyRunning\": \"Импорт уже выполняется. Дождитесь его завершения или остановите его, прежде чем пытаться снова.\",\n    \"import.blocklist\": \"Чёрный список\",\n    \"import.csvDelim\": \"Разделитель CSV\",\n    \"import.csvDelimHelp\": \"Разделитель по умолчанию — запятая.\",\n    \"import.csvExample\": \"Пример необработанного CSV\",\n    \"import.csvFile\": \"Файл CSV или ZIP\",\n    \"import.csvFileHelp\": \"Нажмите или перетащите сюда файл CSV или ZIP\",\n    \"import.errorCopyingFile\": \"Ошибка копирования файла: {error}\",\n    \"import.errorProcessingZIP\": \"Ошибка обработки ZIP-файла: {error}\",\n    \"import.errorStarting\": \"Ошибка запуска импорта: {error}\",\n    \"import.importDone\": \"Готово\",\n    \"import.importStarted\": \"Импорт начат\",\n    \"import.instructions\": \"Инструкции\",\n    \"import.instructionsHelp\": \"Загрузите файл CSV или ZIP-файл, содержащий один CSV-файл, для массового импорта подписчиков. CSV-файл должен содержать следующие заголовки с точными именами столбцов. Поле attributes (необязательное) должно быть корректной JSON-строкой с двойным экранированием кавычек.\",\n    \"import.invalidDelim\": \"Разделитель должен быть одним символом.\",\n    \"import.invalidFile\": \"Неверный файл: {error}\",\n    \"import.invalidMode\": \"Неверный режим\",\n    \"import.invalidParams\": \"Неверные параметры: {error}\",\n    \"import.invalidSubStatus\": \"Неверный статус подписки\",\n    \"import.listSubHelp\": \"Списки для подписки.\",\n    \"import.mode\": \"Режим\",\n    \"import.overwriteSubStatus\": \"Перезаписать статус подписки\",\n    \"import.overwriteSubStatusHelp\": \"Перезаписать статус существующих подписок на список\",\n    \"import.overwriteUserInfo\": \"Перезаписать информацию пользователя\",\n    \"import.overwriteUserInfoHelp\": \"Перезаписать имя и атрибуты существующих подписчиков\",\n    \"import.recordsCount\": \"{num} / {total} записей\",\n    \"import.stopImport\": \"Остановить импорт\",\n    \"import.subscribe\": \"Подписаться\",\n    \"import.subscribeWarning\": \"Перезапись приведёт к повторной подписке отписавшихся адресов. Продолжить?\",\n    \"import.title\": \"Импорт подписчиков\",\n    \"import.upload\": \"Загрузить\",\n    \"lists.archived\": \"В архиве\",\n    \"lists.archivedHelp\": \"Архивирование скрывает списки со страницы списков, кампаний и общественных форм. Его можно разархивировать в любое время. Это полезно для скрытия старых и редко используемых списков.\",\n    \"lists.confirmDelete\": \"Вы уверены? Это не удалит подписчиков.\",\n    \"lists.confirmSub\": \"Подтвердить подписку на {name}\",\n    \"lists.invalidName\": \"Неверное имя\",\n    \"lists.newList\": \"Новый список\",\n    \"lists.optin\": \"Подтверждение подписки\",\n    \"lists.optinHelp\": \"Двойное подтверждение отправляет подписчику электронное письмо с запросом на подтверждение. Кампании отправляются только подтверждённым подписчикам в списках с двойным подтверждением.\",\n    \"lists.optinTo\": \"Подтвердить подписку на {name}\",\n    \"lists.optins.double\": \"Двойное подтв.\",\n    \"lists.optins.single\": \"Одиночное подтв.\",\n    \"lists.sendCampaign\": \"Отправить кампанию\",\n    \"lists.sendOptinCampaign\": \"Отправить кампанию подтверждения подписки\",\n    \"lists.type\": \"Тип\",\n    \"lists.typeHelp\": \"Публичные списки открыты для подписки всем желающим, и их названия могут отображаться на публичных страницах, таких как страница управления подписками.\",\n    \"lists.types.private\": \"Приватный\",\n    \"lists.types.public\": \"Публичный\",\n    \"logs.title\": \"Журналы\",\n    \"maintenance.database.title\": \"База данных\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE восстанавливает хранилище, используемое удаленными строками, и значительно ускоряет производительность базы данных на больших базах данных. ВАЖНО: для больших баз данных это медленная операция блокировки. Запланируйте запуск этого в часы пик.\",\n    \"maintenance.help\": \"Некоторые действия могут занять время в зависимости от объёма данных.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Неподтверждённые подписки с подтверждением\",\n    \"maintenance.olderThan\": \"Старше чем\",\n    \"maintenance.orphanHelp\": \"Подписчики без списков = подписчики, не входящие ни в один список\",\n    \"maintenance.title\": \"Обслуживание\",\n    \"maintenance.unconfirmedSubs\": \"Неподтверждённые подписки старше {name} дней.\",\n    \"media.errorReadingFile\": \"Ошибка чтения файла: {error}\",\n    \"media.errorResizing\": \"Ошибка изменения размера изображения: {error}\",\n    \"media.errorSavingThumbnail\": \"Ошибка сохранения миниатюры: {error}\",\n    \"media.errorUploading\": \"Ошибка загрузки файла: {error}\",\n    \"media.invalidFile\": \"Неверный файл: {error}\",\n    \"media.title\": \"Медиа\",\n    \"media.unsupportedFileType\": \"Неподдерживаемый тип файла ({type})\",\n    \"media.upload\": \"Загрузить\",\n    \"media.uploadHelp\": \"Нажмите или перетащите сюда одно или несколько изображений\",\n    \"menu.allCampaigns\": \"Все кампании\",\n    \"menu.allLists\": \"Все списки\",\n    \"menu.allSubscribers\": \"Все подписчики\",\n    \"menu.dashboard\": \"Панель управления\",\n    \"menu.forms\": \"Формы\",\n    \"menu.import\": \"Импорт\",\n    \"menu.logs\": \"Журналы\",\n    \"menu.maintenance\": \"Обслуживание\",\n    \"menu.media\": \"Медиа\",\n    \"menu.newCampaign\": \"Создать новую\",\n    \"menu.settings\": \"Настройки\",\n    \"public.archiveEmpty\": \"Архив сообщений пока пуст.\",\n    \"public.archiveTitle\": \"Архив рассылок\",\n    \"public.blocklisted\": \"Навсегда отписан.\",\n    \"public.campaignNotFound\": \"Сообщение электронной почты не найдено.\",\n    \"public.confirmOptinSubTitle\": \"Подтверждение подписки\",\n    \"public.confirmSub\": \"Подтвердить подписку\",\n    \"public.confirmSubInfo\": \"Вы были добавлены в следующие списки:\",\n    \"public.confirmSubTitle\": \"Подтвердить\",\n    \"public.dataRemoved\": \"Ваши подписки и все связанные данные удалены.\",\n    \"public.dataRemovedTitle\": \"Данные удалены\",\n    \"public.dataSent\": \"Ваши данные отправлены вам по электронной почте в виде вложения.\",\n    \"public.dataSentTitle\": \"Данные отправлены\",\n    \"public.errorFetchingCampaign\": \"Ошибка получения сообщения электронной почты.\",\n    \"public.errorFetchingEmail\": \"Сообщение электронной почты не найдено\",\n    \"public.errorFetchingLists\": \"Ошибка получения списков. Пожалуйста, попробуйте снова.\",\n    \"public.errorProcessingRequest\": \"Ошибка обработки запроса. Пожалуйста, попробуйте снова.\",\n    \"public.errorTitle\": \"Ошибка\",\n    \"public.invalidCaptcha\": \"Неверная CAPTCHA.\",\n    \"public.invalidFeature\": \"Эта функция недоступна.\",\n    \"public.invalidLink\": \"Неверная ссылка\",\n    \"public.managePrefs\": \"Управление настройками\",\n    \"public.managePrefsUnsub\": \"Снимите галочки со списков, чтобы отписаться от них.\",\n    \"public.noListsAvailable\": \"Нет доступных списков для подписки.\",\n    \"public.noListsSelected\": \"Не выбраны допустимые списки для подписки.\",\n    \"public.noSubInfo\": \"Нет подписок для подтверждения.\",\n    \"public.noSubTitle\": \"Нет подписок\",\n    \"public.notFoundTitle\": \"Не найдено\",\n    \"public.poweredBy\": \"Работает на\",\n    \"public.prefsSaved\": \"Ваши настройки сохранены.\",\n    \"public.privacyConfirmWipe\": \"Вы уверены, что хотите навсегда удалить все данные о ваших подписках?\",\n    \"public.privacyExport\": \"Экспортировать ваши данные\",\n    \"public.privacyExportHelp\": \"Копия ваших данных будет отправлена вам по электронной почте.\",\n    \"public.privacyTitle\": \"Конфиденциальность и данные\",\n    \"public.privacyWipe\": \"Удалить ваши данные\",\n    \"public.privacyWipeHelp\": \"Навсегда удалить все ваши подписки и связанные данные.\",\n    \"public.sub\": \"Подписаться\",\n    \"public.subConfirmed\": \"Подписка успешно подтверждена.\",\n    \"public.subConfirmedTitle\": \"Подтверждено\",\n    \"public.subName\": \"Имя (необязательно)\",\n    \"public.subNotFound\": \"Подписка не найдена.\",\n    \"public.subOptinPending\": \"Вам отправлено письмо для подтверждения подписки(ок).\",\n    \"public.subPrivateList\": \"Приватный список\",\n    \"public.subTitle\": \"Подписаться\",\n    \"public.unsub\": \"Отписаться\",\n    \"public.unsubFull\": \"Отписаться от всех будущих писем.\",\n    \"public.unsubHelp\": \"Хотите отписаться от этой рассылки?\",\n    \"public.unsubTitle\": \"Отписаться\",\n    \"public.unsubbedInfo\": \"Вы успешно отписались.\",\n    \"public.unsubbedTitle\": \"Отписан\",\n    \"public.unsubscribeTitle\": \"Отписаться от рассылки\",\n    \"settings.appearance.adminHelp\": \"Пользовательский CSS для применения к интерфейсу администратора.\",\n    \"settings.appearance.adminName\": \"Администратор\",\n    \"settings.appearance.customCSS\": \"Пользовательский CSS\",\n    \"settings.appearance.customJS\": \"Пользовательский JavaScript\",\n    \"settings.appearance.name\": \"Внешний вид\",\n    \"settings.appearance.publicHelp\": \"Пользовательский CSS и JavaScript для применения к публичным страницам.\",\n    \"settings.appearance.publicName\": \"Публичный\",\n    \"settings.bounces.action\": \"Действие\",\n    \"settings.bounces.blocklist\": \"Чёрный список\",\n    \"settings.bounces.count\": \"Количество отказов\",\n    \"settings.bounces.countHelp\": \"Количество отказов на одного подписчика\",\n    \"settings.bounces.enable\": \"Включить обработку отказов\",\n    \"settings.bounces.enableForwardemail\": \"Включить Forward Email\",\n    \"settings.bounces.enableMailbox\": \"Включить почтовый ящик для отказов\",\n    \"settings.bounces.enablePostmark\": \"Включить Postmark\",\n    \"settings.bounces.enableSES\": \"Включить SES\",\n    \"settings.bounces.enableSendgrid\": \"Включить SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Включить вебхуки для отказов\",\n    \"settings.bounces.enabled\": \"Включено\",\n    \"settings.bounces.folder\": \"Папка\",\n    \"settings.bounces.folderHelp\": \"Имя IMAP-папки для сканирования. Например: Входящие.\",\n    \"settings.bounces.forwardemailKey\": \"Ключ Forward Email\",\n    \"settings.bounces.invalidScanInterval\": \"Интервал сканирования отказов должен быть не менее 1 минуты.\",\n    \"settings.bounces.name\": \"Отказы\",\n    \"settings.bounces.none\": \"Нет\",\n    \"settings.bounces.postmarkPassword\": \"Пароль Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Имя пользователя Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark позволяет включить базовую авторизацию для вебхуков. Убедитесь, что здесь и в настройках вебхуков Postmark указаны одинаковые учётные данные.\",\n    \"settings.bounces.scanInterval\": \"Интервал сканирования\",\n    \"settings.bounces.scanIntervalHelp\": \"Интервал, с которым почтовый ящик для отказов должен сканироваться на наличие отказов (s для секунд, m для минут).\",\n    \"settings.bounces.sendgridKey\": \"Ключ SendGrid\",\n    \"settings.bounces.type\": \"Тип\",\n    \"settings.bounces.username\": \"Имя пользователя\",\n    \"settings.confirmRestart\": \"Убедитесь, что все запущенные кампании приостановлены. Перезапустить?\",\n    \"settings.duplicateMessengerName\": \"Дублирующееся имя мессенджера: {name}\",\n    \"settings.errorEncoding\": \"Ошибка кодирования настроек: {error}\",\n    \"settings.errorNoSMTP\": \"Должен быть включён хотя бы один блок SMTP\",\n    \"settings.general.adminNotifEmails\": \"Электронные письма для уведомлений администратора\",\n    \"settings.general.adminNotifEmailsHelp\": \"Список адресов электронной почты, разделённых запятыми, на которые должны отправляться уведомления администратора, такие как обновления импорта, завершение кампании, сбои и т.д.\",\n    \"settings.general.checkUpdates\": \"Проверять обновления\",\n    \"settings.general.checkUpdatesHelp\": \"Периодически проверять наличие новых версий приложения и уведомлять.\",\n    \"settings.general.enablePublicArchive\": \"Включить публичный архив рассылок\",\n    \"settings.general.enablePublicArchiveHelp\": \"Публиковать кампании, для которых включено архивирование, на публичном сайте.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Показывать полный контент в RSS-ленте\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Показывать полный контент письма в RSS-ленте. Если отключено, отображаются только заголовок и элементы ссылки.\",\n    \"settings.general.enablePublicSubPage\": \"Включить публичную страницу подписки\",\n    \"settings.general.enablePublicSubPageHelp\": \"Показывать публичную страницу подписки со всеми публичными списками для подписки.\",\n    \"settings.general.faviconURL\": \"URL фавикона\",\n    \"settings.general.faviconURLHelp\": \"(Необязательно) полный URL статического фавикона, отображаемого на пользовательских страницах, таких как страница отписки.\",\n    \"settings.general.fromEmail\": \"Электронная почта по умолчанию для отправителя\",\n    \"settings.general.fromEmailHelp\": \"Электронная почта отправителя по умолчанию для исходящих писем кампании. Может быть изменена для каждой кампании.\",\n    \"settings.general.language\": \"Язык\",\n    \"settings.general.logoURL\": \"URL логотипа\",\n    \"settings.general.logoURLHelp\": \"(Необязательно) полный URL статического логотипа, отображаемого на пользовательских страницах, таких как страница отписки.\",\n    \"settings.general.name\": \"Общие\",\n    \"settings.general.rootURL\": \"Корневой URL\",\n    \"settings.general.rootURLHelp\": \"Публичный URL установки (без завершающего слэша).\",\n    \"settings.general.sendOptinConfirm\": \"Отправлять подтверждение подписки\",\n    \"settings.general.sendOptinConfirmHelp\": \"Отправлять письмо с подтверждением подписки, когда подписчики регистрируются через публичную форму или добавляются администратором.\",\n    \"settings.general.siteName\": \"Название сайта\",\n    \"settings.invalidMessengerName\": \"Неверное имя мессенджера.\",\n    \"settings.mailserver.authProtocol\": \"Протокол аутентификации\",\n    \"settings.mailserver.host\": \"Хост\",\n    \"settings.mailserver.hostHelp\": \"Адрес хоста SMTP-сервера.\",\n    \"settings.mailserver.idleTimeout\": \"Тайм-аут простоя\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Время ожидания новой активности на соединении перед его закрытием и удалением из пула (s для секунд, m для минут).\",\n    \"settings.mailserver.maxConns\": \"Макс. соединений\",\n    \"settings.mailserver.maxConnsHelp\": \"Максимальное количество одновременных соединений с сервером.\",\n    \"settings.mailserver.nameHelp\": \"Необязательное уникальное имя для SMTP сервера. Должно начинаться с префикса email-. Это позволяет выбрать сервер конкретно для кампании. например: email-primary-server. Буквы, цифры и дефис.\",\n    \"settings.mailserver.password\": \"Пароль\",\n    \"settings.mailserver.passwordHelp\": \"Введите для изменения\",\n    \"settings.mailserver.port\": \"Порт\",\n    \"settings.mailserver.portHelp\": \"Порт SMTP-сервера.\",\n    \"settings.mailserver.skipTLS\": \"Пропустить проверку TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Пропустить проверку имени хоста в сертификате TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Шифрование TLS/SSL. Обычно используется STARTTLS.\",\n    \"settings.mailserver.username\": \"Имя пользователя\",\n    \"settings.mailserver.waitTimeout\": \"Тайм-аут ожидания\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Время ожидания новой активности на соединении перед его закрытием и удалением из пула (s для секунд, m для минут).\",\n    \"settings.maintenance.cron\": \"Интервал cron\",\n    \"settings.media.provider\": \"Провайдер\",\n    \"settings.media.s3.bucket\": \"Бакет\",\n    \"settings.media.s3.bucketPath\": \"Путь в бакете\",\n    \"settings.media.s3.bucketPathHelp\": \"Путь внутри бакета для загрузки файлов. По умолчанию /\",\n    \"settings.media.s3.bucketType\": \"Тип бакета\",\n    \"settings.media.s3.bucketTypePrivate\": \"Приватный\",\n    \"settings.media.s3.bucketTypePublic\": \"Публичный\",\n    \"settings.media.s3.key\": \"Ключ доступа AWS\",\n    \"settings.media.s3.publicURL\": \"Пользовательский публичный URL (необязательно)\",\n    \"settings.media.s3.publicURLHelp\": \"Пользовательский домен S3 для ссылок на изображения вместо стандартного URL бэкенда S3.\",\n    \"settings.media.s3.region\": \"Регион\",\n    \"settings.media.s3.secret\": \"Секретный ключ доступа AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Срок действия загрузки\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Необязательно) Укажите срок действия для сгенерированного предварительно подписанного URL. Применимо только для приватных бакетов (s, m, h, d для секунд, минут, часов, дней).\",\n    \"settings.media.s3.url\": \"URL бэкенда S3\",\n    \"settings.media.s3.urlHelp\": \"Изменяйте только при использовании пользовательского бэкенда, совместимого с S3, например, Minio.\",\n    \"settings.media.title\": \"Загрузки медиа\",\n    \"settings.media.upload.extensions\": \"Разрешённые расширения файлов\",\n    \"settings.media.upload.extensionsHelp\": \"Добавьте * для разрешения всех расширений\",\n    \"settings.media.upload.path\": \"Путь загрузки\",\n    \"settings.media.upload.pathHelp\": \"Путь к директории, куда будут загружаться медиа.\",\n    \"settings.media.upload.uri\": \"URI загрузки\",\n    \"settings.media.upload.uriHelp\": \"URI загрузки, видимый внешнему миру. Медиа, загруженные в upload_path, будут публично доступны по {root_url}, например, https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Макс. соединений\",\n    \"settings.messengers.maxConnsHelp\": \"Максимальное количество одновременных соединений с сервером.\",\n    \"settings.messengers.messageSaved\": \"Настройки сохранены. Перезагрузка приложения ...\",\n    \"settings.messengers.name\": \"Мессенджеры\",\n    \"settings.messengers.nameHelp\": \"Например: my-sms. Только буквенно-цифровые символы и дефис.\",\n    \"settings.messengers.password\": \"Пароль\",\n    \"settings.messengers.retries\": \"Повторные попытки\",\n    \"settings.messengers.retriesHelp\": \"Количество повторных попыток при сбое отправки сообщения.\",\n    \"settings.messengers.skipTLSHelp\": \"Пропустить проверку имени хоста в сертификате TLS.\",\n    \"settings.messengers.timeout\": \"Тайм-аут простоя\",\n    \"settings.messengers.timeoutHelp\": \"Время ожидания новой активности на соединении перед его закрытием и удалением из пула (s для секунд, m для минут).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Корневой URL сервера обратной связи.\",\n    \"settings.messengers.username\": \"Имя пользователя\",\n    \"settings.needsRestart\": \"Настройки изменены. Приостановите все запущенные кампании и перезапустите приложение\",\n    \"settings.performance.batchSize\": \"Размер пакета\",\n    \"settings.performance.batchSizeHelp\": \"Количество подписчиков, извлекаемых из базы данных за одну итерацию. Каждая итерация извлекает подписчиков из базы данных, отправляет им сообщения, а затем переходит к следующей итерации для извлечения следующего пакета. Этот параметр должен быть выше максимальной достижимой пропускной способности (concurrency * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Кэшировать медленные запросы к базе данных\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Включайте только для больших баз данных, которые значительно замедлились. Кэширует количество подписчиков в списках, статистику панели управления и т.д.\",\n    \"settings.performance.concurrency\": \"Параллелизм\",\n    \"settings.performance.concurrencyHelp\": \"Максимальное количество параллельных рабочих потоков, которые будут пытаться отправлять сообщения одновременно.\",\n    \"settings.performance.maxErrThreshold\": \"Максимальный порог ошибок\",\n    \"settings.performance.maxErrThresholdHelp\": \"Количество ошибок (например, тайм-ауты SMTP при отправке писем), которые запущенная кампания должна выдержать, прежде чем будет приостановлена для ручного анализа или вмешательства. Установите 0, чтобы никогда не приостанавливать.\",\n    \"settings.performance.messageRate\": \"Скорость отправки сообщений\",\n    \"settings.performance.messageRateHelp\": \"Максимальное количество сообщений, отправляемых в секунду на один рабочий поток. Если concurrency = 10 и message_rate = 10, то за секунду может быть отправлено до 10x10=100 сообщений. Этот параметр, вместе с concurrency, должен быть настроен так, чтобы общее количество отправляемых сообщений в секунду не превышало лимиты целевых серверов сообщений, если таковые имеются.\",\n    \"settings.performance.name\": \"Производительность\",\n    \"settings.performance.slidingWindow\": \"Включить ограничение скользящего окна\",\n    \"settings.performance.slidingWindowDuration\": \"Длительность\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Длительность периода скользящего окна (m для минут, h для часов).\",\n    \"settings.performance.slidingWindowHelp\": \"Ограничить общее количество сообщений, отправляемых за заданный период. При достижении этого лимита отправка сообщений приостанавливается до истечения временного окна.\",\n    \"settings.performance.slidingWindowRate\": \"Макс. сообщений\",\n    \"settings.performance.slidingWindowRateHelp\": \"Максимальное количество сообщений для отправки в течение длительности окна.\",\n    \"settings.privacy.allowBlocklist\": \"Разрешить добавление в чёрный список\",\n    \"settings.privacy.allowBlocklistHelp\": \"Разрешить подписчикам отписаться от всех рассылок и пометить себя как добавленных в чёрный список?\",\n    \"settings.privacy.allowExport\": \"Разрешить экспорт\",\n    \"settings.privacy.allowExportHelp\": \"Разрешить подписчикам экспортировать данные, собранные о них?\",\n    \"settings.privacy.allowPrefs\": \"Разрешить изменение настроек\",\n    \"settings.privacy.allowPrefsHelp\": \"Разрешить подписчикам изменять настройки, такие как их имена и подписки на несколько списков.\",\n    \"settings.privacy.allowWipe\": \"Разрешить удаление\",\n    \"settings.privacy.allowWipeHelp\": \"Разрешить подписчикам удалять себя, включая их подписки и все другие данные из базы данных. Просмотры кампаний и клики по ссылкам также удаляются, в то время как количество просмотров и кликов остаётся (без связи с подписчиком), чтобы не повлиять на статистику и аналитику.\",\n    \"settings.privacy.domainAllowlist\": \"Белый список доменов\",\n    \"settings.privacy.domainAllowlistHelp\": \"Подписываться могут только e-mail адреса с этими доменами. Вводите по одному домену в строке, например: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Чёрный список доменов\",\n    \"settings.privacy.domainBlocklistHelp\": \"Адреса электронной почты с этими доменами не могут подписываться. Введите по одному домену на строку, например: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Индивидуальное отслеживание подписчиков\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Отслеживать просмотры кампаний и клики на уровне подписчиков. При отключении отслеживание просмотров и кликов продолжается без привязки к отдельным подписчикам.\",\n    \"settings.privacy.listUnsubHeader\": \"Включить заголовок `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Включить заголовки отписки, которые позволяют почтовым клиентам предоставлять пользователям возможность отписаться одним кликом.\",\n    \"settings.privacy.name\": \"Конфиденциальность\",\n    \"settings.privacy.recordOptinIP\": \"Записывать IP-адрес подтверждения подписки\",\n    \"settings.privacy.recordOptinIPHelp\": \"Записывать IP-адрес двойных подтверждений в атрибуты подписчика.\",\n    \"settings.restart\": \"Перезапустить\",\n    \"settings.security.CORSDomains\": \"Разрешенные источники\",\n    \"settings.security.CORSDomainsHelp\": \"Разрешить доступ к конечным точкам API через браузер Javascript из внешних доменов. Введите один домен в строку (например: https://example.com). Оставьте пустым для отключения CORS или добавьте * для разрешения всех (не рекомендуется).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Автоматическое создание пользователей\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Автоматически создаёт пользователя при первом входе, если аккаунт не существует.\",\n    \"settings.security.OIDCClientID\": \"ID клиента\",\n    \"settings.security.OIDCClientSecret\": \"Секрет клиента\",\n    \"settings.security.OIDCDefaultListRole\": \"Роль по умолчанию для списка\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Роль по умолчанию, назначаемая пользователям, автоматически созданным из OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Роль пользователя по умолчанию\",\n    \"settings.security.OIDCHelp\": \"Включить вход через OpenID Connect OAuth2 через провайдера OAuth.\",\n    \"settings.security.OIDCName\": \"Имя провайдера\",\n    \"settings.security.OIDCRedirectURL\": \"URL перенаправления для провайдера OAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Это не похоже на производственный URL. Измените корневой URL в настройках 'Общие'.\",\n    \"settings.security.OIDCURL\": \"URL провайдера\",\n    \"settings.security.OIDCWarning\": \"При включении OIDC вход по паролю по умолчанию отключается. Неверная конфигурация может заблокировать доступ.\",\n    \"settings.security.altchaComplexity\": \"Сложность Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Более высокие значения обеспечивают лучшую безопасность, но более медленное решение (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Ключ сайта hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Посетите www.hcaptcha.com, чтобы получить ключ и секрет.\",\n    \"settings.security.captchaSecret\": \"Секрет hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Включить CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Включить CAPTCHA на публичной форме подписки.\",\n    \"settings.security.enableOIDC\": \"Включить OIDC SSO\",\n    \"settings.security.name\": \"Безопасность\",\n    \"settings.smtp.customHeaders\": \"Пользовательские заголовки\",\n    \"settings.smtp.customHeadersHelp\": \"Необязательный массив заголовков электронной почты, включаемых во все сообщения, отправляемые с этого сервера. Например: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Включено\",\n    \"settings.smtp.heloHost\": \"Имя хоста HELO\",\n    \"settings.smtp.heloHostHelp\": \"Необязательно. Некоторые SMTP-серверы требуют полное доменное имя (FQDN) в имени хоста. По умолчанию HELO отправляется с `localhost`. Установите это, если требуется пользовательское имя хоста.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Повторные попытки\",\n    \"settings.smtp.retriesHelp\": \"Количество повторных попыток при сбое отправки сообщения.\",\n    \"settings.smtp.sendTest\": \"Отправить письмо\",\n    \"settings.smtp.setCustomHeaders\": \"Установить пользовательские заголовки\",\n    \"settings.smtp.testConnection\": \"Проверить соединение\",\n    \"settings.smtp.testEnterEmail\": \"Повторно введите пароль для проверки\",\n    \"settings.smtp.toEmail\": \"Кому (электронная почта)\",\n    \"settings.title\": \"Настройки\",\n    \"settings.updateAvailable\": \"Доступно новое обновление {version}.\",\n    \"subscribers.activity\": \"Активность\",\n    \"subscribers.advancedQuery\": \"Расширенный\",\n    \"subscribers.advancedQueryHelp\": \"Частичное SQL-выражение для запроса атрибутов подписчиков\",\n    \"subscribers.attribsHelp\": \"Атрибуты определяются как JSON-карта, например:\",\n    \"subscribers.blocklistedHelp\": \"Подписчики, добавленные в чёрный список, никогда не будут получать письма.\",\n    \"subscribers.confirmBlocklist\": \"Добавить в чёрный список {num} подписчика(ов)?\",\n    \"subscribers.confirmDelete\": \"Удалить {num} подписчика(ов)?\",\n    \"subscribers.confirmExport\": \"Экспортировать {num} подписчика(ов)?\",\n    \"subscribers.domainBlocklisted\": \"Домен электронной почты добавлен в чёрный список.\",\n    \"subscribers.downloadData\": \"Скачать данные\",\n    \"subscribers.email\": \"Электронная почта\",\n    \"subscribers.emailExists\": \"Электронная почта уже существует.\",\n    \"subscribers.errorBlocklisting\": \"Ошибка добавления подписчиков в чёрный список: {error}\",\n    \"subscribers.errorNoIDs\": \"Не указаны ID.\",\n    \"subscribers.errorNoListsGiven\": \"Не указаны списки.\",\n    \"subscribers.errorPreparingQuery\": \"Ошибка подготовки запроса подписчиков: {error}\",\n    \"subscribers.errorSendingOptin\": \"Ошибка отправки письма подтверждения подписки.\",\n    \"subscribers.export\": \"Экспорт\",\n    \"subscribers.invalidAction\": \"Неверное действие.\",\n    \"subscribers.invalidEmail\": \"Неверная электронная почта.\",\n    \"subscribers.invalidJSON\": \"Неверный JSON в атрибутах.\",\n    \"subscribers.invalidName\": \"Неверное имя.\",\n    \"subscribers.listChangeApplied\": \"Изменение списка применено.\",\n    \"subscribers.lists\": \"Списки\",\n    \"subscribers.listsHelp\": \"Списки, от которых подписчики отписались самостоятельно, нельзя удалить.\",\n    \"subscribers.listsPlaceholder\": \"Списки для подписки\",\n    \"subscribers.manageLists\": \"Управление списками\",\n    \"subscribers.markUnsubscribed\": \"Пометить как отписавшегося\",\n    \"subscribers.newSubscriber\": \"Новый подписчик\",\n    \"subscribers.numSelected\": \"Выбрано {num} подписчика(ов)\",\n    \"subscribers.optinSubject\": \"Подтвердить подписку\",\n    \"subscribers.preconfirm\": \"Предварительно подтвердить подписки\",\n    \"subscribers.preconfirmHelp\": \"Не отправлять письма подтверждения подписки и пометить все подписки на списки как 'подписан'.\",\n    \"subscribers.query\": \"Запрос\",\n    \"subscribers.queryPlaceholder\": \"Электронная почта или имя\",\n    \"subscribers.reset\": \"Сбросить\",\n    \"subscribers.selectAll\": \"Выбрать все {num}\",\n    \"subscribers.sendOptinConfirm\": \"Отправить подтверждение подписки\",\n    \"subscribers.sentOptinConfirm\": \"Подтверждение подписки отправлено\",\n    \"subscribers.status.blocklisted\": \"В чёрном списке\",\n    \"subscribers.status.confirmed\": \"Подтверждён\",\n    \"subscribers.status.enabled\": \"Включён\",\n    \"subscribers.status.subscribed\": \"Подписан\",\n    \"subscribers.status.unconfirmed\": \"Не подтверждён\",\n    \"subscribers.status.unsubscribed\": \"Отписан\",\n    \"subscribers.subscribersDeleted\": \"Удалено {num} подписчика(ов)\",\n    \"templates.cantDeleteDefault\": \"Невозможно удалить несуществующий или шаблон по умолчанию\",\n    \"templates.default\": \"По умолчанию\",\n    \"templates.dummyName\": \"Фиктивная кампания\",\n    \"templates.dummySubject\": \"Тема фиктивной кампании\",\n    \"templates.errorCompiling\": \"Ошибка компиляции шаблона: {error}\",\n    \"templates.errorRendering\": \"Ошибка отображения сообщения: {error}\",\n    \"templates.fieldInvalidName\": \"Недопустимая длина имени.\",\n    \"templates.makeDefault\": \"Установить по умолчанию\",\n    \"templates.newTemplate\": \"Новый шаблон\",\n    \"templates.placeholderHelp\": \"Заполнитель {placeholder} должен появляться в шаблоне ровно один раз.\",\n    \"templates.preview\": \"Предпросмотр\",\n    \"templates.rawHTML\": \"Необработанный HTML\",\n    \"templates.subject\": \"Тема\",\n    \"templates.typeCampaignHTML\": \"Кампания / HTML\",\n    \"templates.typeCampaignVisual\": \"Кампания / Визуальный\",\n    \"templates.typeTransactional\": \"Транзакционный\",\n    \"users.apiOneTimeToken\": \"Скопируйте токен доступа API сейчас. Он больше не будет показан.\",\n    \"users.cantDeleteRole\": \"Невозможно удалить роль, которая используется.\",\n    \"users.firstTime\": \"Это новая установка. Выберите имя пользователя и пароль для учётной записи Супер Админа.\",\n    \"users.forgotPassword\": \"Забыли пароль?\",\n    \"users.invalidLogin\": \"Неверный логин или пароль\",\n    \"users.invalidPassword\": \"Неверный пароль\",\n    \"users.invalidRequest\": \"Неверный запрос аутентификации\",\n    \"users.invalidResetLink\": \"Неверная или истекшая ссылка сброса\",\n    \"users.lastLogin\": \"Последний вход\",\n    \"users.listPerms\": \"Список разрешений\",\n    \"users.listPermsWarning\": \"Включены lists:get_all или lists:manage_all, что переопределяет разрешения для отдельных списков\",\n    \"users.listRole\": \"Список ролей | Список роли\",\n    \"users.listRoles\": \"Список ролей\",\n    \"users.login\": \"Войти\",\n    \"users.loginOIDC\": \"Войти через {name}\",\n    \"users.logout\": \"Выйти\",\n    \"users.needSuper\": \"Пользователь(и) не могут быть обновлены. Должен быть хотя бы один активный пользователь Супер Админа.\",\n    \"users.newListRole\": \"Новая роль списка\",\n    \"users.newPassword\": \"Новый пароль\",\n    \"users.newUser\": \"Новый пользователь\",\n    \"users.newUserRole\": \"Новая роль пользователя\",\n    \"users.password\": \"Пароль\",\n    \"users.passwordEnable\": \"Включить вход по паролю\",\n    \"users.passwordMismatch\": \"Пароли не совпадают\",\n    \"users.passwordRepeat\": \"Повторите пароль\",\n    \"users.perms\": \"Разрешения\",\n    \"users.profile\": \"Профиль\",\n    \"users.resetLinkSent\": \"Если учетная запись активна, вы получите электронное письмо для сброса пароля.\",\n    \"users.resetPassword\": \"Сбросить пароль\",\n    \"users.role\": \"Роль | Роли\",\n    \"users.roleGroup\": \"Группа\",\n    \"users.roles\": \"Роли\",\n    \"users.status.disabled\": \"Отключён\",\n    \"users.status.enabled\": \"Включён\",\n    \"users.totpCode\": \"Код TOTP\",\n    \"users.totpCodeHelp\": \"Введите 6-значный код из приложения аутентификатора\",\n    \"users.totpScanQR\": \"Отсканируйте QR-код с помощью приложения аутентификатора, такого как Ente или Google Authenticator, и введите код TOTP ниже.\",\n    \"users.totpSecret\": \"Секретный ключ\",\n    \"users.twoFA\": \"Двухфакторная аутентификация\",\n    \"users.twoFAAlreadyEnabled\": \"Двухфакторная аутентификация уже включена.\",\n    \"users.twoFAEnabled\": \"Двухфакторная аутентификация включена\",\n    \"users.twoFAEnabledDesc\": \"Ваша учетная запись защищена {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Включите 2FA для дополнительной безопасности при входе в свою учетную запись.\",\n    \"users.type\": \"Тип\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Супер Админ\",\n    \"users.type.user\": \"Пользователь\",\n    \"users.userRole\": \"Роль пользователя | Роли пользователя\",\n    \"users.userRoles\": \"Роли пользователя\",\n    \"users.username\": \"Имя пользователя\",\n    \"users.usernameHelp\": \"Используется для входа по паролю\"\n}\n"
  },
  {
    "path": "i18n/se.json",
    "content": "{\n    \"_.code\": \"se\",\n    \"_.name\": \"Svenska (se)\",\n    \"admin.errorMarshallingConfig\": \"Fel vid kodning av konfigurationen: {error}\",\n    \"analytics.count\": \"Antal\",\n    \"analytics.fromDate\": \"Från\",\n    \"analytics.invalidDates\": \"Ogiltiga `från` eller `till` datum.\",\n    \"analytics.isUnique\": \"Antalet räknas unikt per prenumerant.\",\n    \"analytics.links\": \"Länkar\",\n    \"analytics.nonUnique\": \"Antalet räknas inte som unikt eftersom individuell prenumerationsövervakning är avstängd.\",\n    \"analytics.title\": \"Analys\",\n    \"analytics.toDate\": \"Till\",\n    \"bounces.complaint\": \"Klagomål\",\n    \"bounces.hard\": \"Hård\",\n    \"bounces.soft\": \"Mjuk\",\n    \"bounces.source\": \"Källa\",\n    \"bounces.unknownService\": \"Okänd tjänst.\",\n    \"bounces.view\": \"Visa studsar\",\n    \"campaigns.addAltText\": \"Lägg till alternativt vanlig textmeddelande\",\n    \"campaigns.addAttachments\": \"Lägg till bilagor\",\n    \"campaigns.archive\": \"Arkiv\",\n    \"campaigns.archiveEnable\": \"Publicera till offentligt arkiv\",\n    \"campaigns.archiveHelp\": \"Publicera (körs, pausas, avslutas) kampanjmeddelandet i det offentliga arkivet.\",\n    \"campaigns.archiveMeta\": \"Metadata för kampanj\",\n    \"campaigns.archiveMetaHelp\": \"Dummy prenumerantdata att använda i det offentliga meddelandet, inklusive namn, e-postadress och eventuella valfria attribut som används i kampanjmeddelandet eller mallen.\",\n    \"campaigns.archiveSlug\": \"URL-slug\",\n    \"campaigns.archiveSlugHelp\": \"Ett kort namn för sidan som används i den offentliga URL-adressen. t.ex: min-nyhetsbrev-upplaga-2\",\n    \"campaigns.attachments\": \"Bilagor\",\n    \"campaigns.attribsHelp\": \"Anpassad JSON-objekt {} attribut för denna kampanj. Använd i mall med {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Kan inte uppdatera en pågående eller avslutad kampanj.\",\n    \"campaigns.clicks\": \"Klick\",\n    \"campaigns.confirmDelete\": \"Ta bort {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Detta kommer att skriva över allt innehåll. Fortsätt?\",\n    \"campaigns.confirmSchedule\": \"Denna kampanj kommer att starta automatiskt vid den schemalagda datumen och tiden. Schemalägg nu?\",\n    \"campaigns.confirmSwitchFormat\": \"Innehållet kan tappa formatering. Fortsätta?\",\n    \"campaigns.content\": \"Innehåll\",\n    \"campaigns.contentHelp\": \"Innehåll här\",\n    \"campaigns.continue\": \"Fortsätt\",\n    \"campaigns.copyOf\": \"Kopia av {name}\",\n    \"campaigns.customHeadersHelp\": \"Array av anpassade header-filer att bifoga i utgående meddelanden. t.ex: [{\\\"X-Anpassad\\\": \\\"värde\\\"}, {\\\"X-Anpassad2\\\": \\\"värde\\\"}]\",\n    \"campaigns.dateAndTime\": \"Datum och tid\",\n    \"campaigns.ended\": \"Avslutad\",\n    \"campaigns.errorSendTest\": \"Fel vid sändning av test: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Fel vid kompilering av kampanjtext: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Ogiltig `från_e-post`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Ogiltiga list-ID:n.\",\n    \"campaigns.fieldInvalidMessenger\": \"Okänd budbärare {name}.\",\n    \"campaigns.fieldInvalidName\": \"Ogiltig längd för namn.\",\n    \"campaigns.fieldInvalidSendAt\": \"Schemalagt datum ska vara i framtiden.\",\n    \"campaigns.fieldInvalidSubject\": \"Ogiltig längd för ämne.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Formatera HTML\",\n    \"campaigns.fromAddress\": \"Från-adress\",\n    \"campaigns.fromAddressPlaceholder\": \"Ditt namn <noreply@dinwebbplats.com>\",\n    \"campaigns.importVisualTemplate\": \"Importera visuell mall\",\n    \"campaigns.invalid\": \"Ogiltig kampanj\",\n    \"campaigns.invalidCustomHeaders\": \"Ogiltiga anpassade headers: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampanjen behöver ett datum för att schemaläggas.\",\n    \"campaigns.newCampaign\": \"Ny kampanj\",\n    \"campaigns.noKnownSubsToTest\": \"Inga kända prenumeranter att testa.\",\n    \"campaigns.noOptinLists\": \"Inga opt-in-listor hittades att skapa kampanj.\",\n    \"campaigns.noSubs\": \"Det finns inga prenumeranter i de valda listorna att skapa kampanjen.\",\n    \"campaigns.noSubsToTest\": \"Det finns inga prenumeranter att rikta.\",\n    \"campaigns.notFound\": \"Kampanj hittades inte.\",\n    \"campaigns.onlyActiveCancel\": \"Endast aktiva kampanjer kan avbrytas.\",\n    \"campaigns.onlyActivePause\": \"Endast aktiva kampanjer kan pausas.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Endast utkastkampanjer kan schemaläggas.\",\n    \"campaigns.onlyPausedDraft\": \"Endast pausade kampanjer och utkast kan startas.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Endast schemalagda kampanjer kan sparas som utkast.\",\n    \"campaigns.pause\": \"Pausa\",\n    \"campaigns.plainText\": \"Ren text\",\n    \"campaigns.preview\": \"Förhandsvisa\",\n    \"campaigns.progress\": \"Framsteg\",\n    \"campaigns.queryPlaceholder\": \"Namn eller ämne\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Rå HTML\",\n    \"campaigns.removeAltText\": \"Ta bort alternativt vanligt textmeddelande\",\n    \"campaigns.richText\": \"Rik text\",\n    \"campaigns.schedule\": \"Schemalägg kampanj\",\n    \"campaigns.scheduled\": \"Schemalagd\",\n    \"campaigns.send\": \"Skicka\",\n    \"campaigns.sendLater\": \"Skicka senare\",\n    \"campaigns.sendTest\": \"Skicka testmeddelande\",\n    \"campaigns.sendTestHelp\": \"Tryck på Enter efter att ha skrivit en adress för att lägga till flera mottagare. Adresserna måste tillhöra befintliga prenumeranter.\",\n    \"campaigns.sendToLists\": \"Lista att skicka till\",\n    \"campaigns.sent\": \"Skickad\",\n    \"campaigns.start\": \"Starta kampanj\",\n    \"campaigns.started\": \"\\\"{name}\\\" har startats\",\n    \"campaigns.startedAt\": \"Startad\",\n    \"campaigns.stats\": \"Statistik\",\n    \"campaigns.status.cancelled\": \"Avbruten\",\n    \"campaigns.status.draft\": \"Utkast\",\n    \"campaigns.status.finished\": \"Avslutad\",\n    \"campaigns.status.paused\": \"Pausad\",\n    \"campaigns.status.running\": \"Körs\",\n    \"campaigns.status.scheduled\": \"Schemalagd\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" är {status}\",\n    \"campaigns.subject\": \"Ämne\",\n    \"campaigns.templatingRef\": \"Mallreferens\",\n    \"campaigns.testEmails\": \"E-post\",\n    \"campaigns.testSent\": \"Testmeddelande skickat\",\n    \"campaigns.timestamps\": \"Tidsstämplar\",\n    \"campaigns.trackLink\": \"Spåra länk\",\n    \"campaigns.unSchedule\": \"Ta bort schemaläggning\",\n    \"campaigns.views\": \"Visningar\",\n    \"campaigns.visual\": \"Visuell\",\n    \"dashboard.campaignViews\": \"Visningar av kampanjer\",\n    \"dashboard.linkClicks\": \"Länkklickar\",\n    \"dashboard.messagesSent\": \"Skickade meddelanden\",\n    \"dashboard.orphanSubs\": \"Föräldralösa\",\n    \"email.data.info\": \"En kopia av all data som registrerats om dig bifogas som en fil i JSON-format. Det kan visas i en textredigerare.\",\n    \"email.data.title\": \"Din data\",\n    \"email.forgotPassword.button\": \"Återställ lösenord\",\n    \"email.forgotPassword.info\": \"Om du inte begärde detta kan du ignorera detta e-postmeddelande. Denna länk upphör att gälla om 30 minuter.\",\n    \"email.forgotPassword.subject\": \"Återställ ditt lösenord\",\n    \"email.optin.confirmSub\": \"Bekräfta prenumeration\",\n    \"email.optin.confirmSubHelp\": \"Bekräfta din prenumeration genom att klicka på knappen nedan.\",\n    \"email.optin.confirmSubInfo\": \"Du har lagts till följande listor:\",\n    \"email.optin.confirmSubTitle\": \"Bekräfta prenumeration\",\n    \"email.optin.confirmSubWelcome\": \"Hej\",\n    \"email.optin.privateList\": \"Privat lista\",\n    \"email.status.campaignReason\": \"Anledning\",\n    \"email.status.campaignSent\": \"Skickad\",\n    \"email.status.campaignUpdateTitle\": \"Uppdatering av kampanj\",\n    \"email.status.importFile\": \"Fil\",\n    \"email.status.importRecords\": \"Poster\",\n    \"email.status.importTitle\": \"Import uppdatering\",\n    \"email.status.status\": \"Status\",\n    \"email.unsub\": \"Avsluta prenumeration\",\n    \"email.unsubHelp\": \"Vill du inte längre ta emot dessa e-postmeddelanden?\",\n    \"email.viewInBrowser\": \"Visa i webbläsaren\",\n    \"forms.formHTML\": \"Formulär HTML\",\n    \"forms.formHTMLHelp\": \"Använd följande HTML för att visa ett prenumerationsformulär på en extern webbsida. Formuläret bör ha e-postfältet och ett eller flera l (list-UUID) fält. Namnfältet är valfritt.\",\n    \"forms.noPublicLists\": \"Det finns inga offentliga listor att generera formulär från.\",\n    \"forms.publicLists\": \"Offentliga listor\",\n    \"forms.publicSubPage\": \"Offentlig prenumerationssida\",\n    \"forms.selectHelp\": \"Välj listor att lägga till i formuläret.\",\n    \"forms.title\": \"Formulär\",\n    \"globals.buttons.add\": \"Lägg till\",\n    \"globals.buttons.addNew\": \"Lägg till ny\",\n    \"globals.buttons.back\": \"Tillbaka\",\n    \"globals.buttons.cancel\": \"Avbryt\",\n    \"globals.buttons.clear\": \"Delete\",\n    \"globals.buttons.clearAll\": \"Rensa allt\",\n    \"globals.buttons.clone\": \"Klona\",\n    \"globals.buttons.close\": \"Stäng\",\n    \"globals.buttons.continue\": \"Fortsätt\",\n    \"globals.buttons.copy\": \"Kopiera\",\n    \"globals.buttons.delete\": \"Ta bort\",\n    \"globals.buttons.deleteAll\": \"Ta bort allt\",\n    \"globals.buttons.disable\": \"Inaktivera\",\n    \"globals.buttons.edit\": \"Redigera\",\n    \"globals.buttons.enable\": \"Aktivera\",\n    \"globals.buttons.enabled\": \"Aktiverat\",\n    \"globals.buttons.insert\": \"Infoga\",\n    \"globals.buttons.learnMore\": \"Läs mer\",\n    \"globals.buttons.manage\": \"Hantera\",\n    \"globals.buttons.more\": \"Mer\",\n    \"globals.buttons.new\": \"Ny\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Ta bort\",\n    \"globals.buttons.save\": \"Spara\",\n    \"globals.buttons.saveChanges\": \"Spara ändringar\",\n    \"globals.buttons.toggleSelect\": \"Växla markering\",\n    \"globals.buttons.view\": \"Visa\",\n    \"globals.days.0\": \"sön\",\n    \"globals.days.1\": \"sön\",\n    \"globals.days.2\": \"mån\",\n    \"globals.days.3\": \"tis\",\n    \"globals.days.4\": \"ons\",\n    \"globals.days.5\": \"tor\",\n    \"globals.days.6\": \"fre\",\n    \"globals.days.7\": \"lör\",\n    \"globals.fields.createdAt\": \"Skapad\",\n    \"globals.fields.description\": \"Beskrivning\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Namn\",\n    \"globals.fields.status\": \"Status\",\n    \"globals.fields.type\": \"Typ\",\n    \"globals.fields.updatedAt\": \"Uppdaterad\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Är du säker?\",\n    \"globals.messages.confirmDelete\": \"Radera {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Släng ändringarna?\",\n    \"globals.messages.copied\": \"Kopierad\",\n    \"globals.messages.created\": \"\\\"{name}\\\" har skapats\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" har tagits bort\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) har tagits bort\",\n    \"globals.messages.done\": \"Klart\",\n    \"globals.messages.emptyState\": \"Ingenting här\",\n    \"globals.messages.errorCreating\": \"Fel vid skapande av {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Fel vid borttagning av {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Fel vid hämtning av {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Ett eller flera ID:n är ogiltiga: {error}\",\n    \"globals.messages.errorUUID\": \"Fel vid generering av UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Fel vid uppdatering av {name}: {error}\",\n    \"globals.messages.internalError\": \"Internt serverfel\",\n    \"globals.messages.invalidData\": \"Ogiltiga data\",\n    \"globals.messages.invalidFields\": \"Ogiltiga fält: {name}\",\n    \"globals.messages.invalidID\": \"Ogiltigt ID/ID:er\",\n    \"globals.messages.invalidUUID\": \"Ogiltigt UUID/UUID:n\",\n    \"globals.messages.invalidValue\": \"Ogiltigt värde\",\n    \"globals.messages.missingFields\": \"Saknade fält: {name}\",\n    \"globals.messages.notFound\": \"{name} hittades inte\",\n    \"globals.messages.numSelected\": \"{num} valda\",\n    \"globals.messages.passwordChange\": \"Ange ett värde för att ändra\",\n    \"globals.messages.passwordChangeFull\": \"Rensa och ange hela lösenordet i '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Åtkomst nekad: {name}\",\n    \"globals.messages.selectAll\": \"Välj alla {num}\",\n    \"globals.messages.slowQueriesCached\": \"Långsamma förfrågningar finns i cacheminnet. En del siffror på den här sidan kommer inte att vara uppdaterade.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" har uppdaterats\",\n    \"globals.months.1\": \"jan\",\n    \"globals.months.10\": \"okt\",\n    \"globals.months.11\": \"nov\",\n    \"globals.months.12\": \"dec\",\n    \"globals.months.2\": \"feb\",\n    \"globals.months.3\": \"mars\",\n    \"globals.months.4\": \"apr\",\n    \"globals.months.5\": \"maj\",\n    \"globals.months.6\": \"jun\",\n    \"globals.months.7\": \"jul\",\n    \"globals.months.8\": \"aug\",\n    \"globals.months.9\": \"sep\",\n    \"globals.states.off\": \"Av\",\n    \"globals.terms.all\": \"Alla\",\n    \"globals.terms.analytics\": \"Analyser\",\n    \"globals.terms.attribs\": \"Attribut\",\n    \"globals.terms.bounce\": \"Studs\",\n    \"globals.terms.bounces\": \"Studsar\",\n    \"globals.terms.campaign\": \"Kampanj\",\n    \"globals.terms.campaigns\": \"Kampanjer\",\n    \"globals.terms.dashboard\": \"Översikt\",\n    \"globals.terms.day\": \"Dag | Dagar\",\n    \"globals.terms.hour\": \"Timme | Timmar\",\n    \"globals.terms.import\": \"Importera\",\n    \"globals.terms.list\": \"Lista | Listor\",\n    \"globals.terms.lists\": \"Listor\",\n    \"globals.terms.media\": \"Media | Media\",\n    \"globals.terms.messenger\": \"Budbärare | Budbärare\",\n    \"globals.terms.messengers\": \"Budbärare\",\n    \"globals.terms.minute\": \"Minut | Minuter\",\n    \"globals.terms.month\": \"Månad | Månader\",\n    \"globals.terms.new\": \"Ny\",\n    \"globals.terms.none\": \"Inget\",\n    \"globals.terms.second\": \"Sekund | Sekunder\",\n    \"globals.terms.settings\": \"Inställningar\",\n    \"globals.terms.subscriber\": \"Prenumerant | Prenumeranter\",\n    \"globals.terms.subscribers\": \"Prenumeranter\",\n    \"globals.terms.subscriptions\": \"Prenumeration | Prenumerationer\",\n    \"globals.terms.tag\": \"Tagg | Taggar\",\n    \"globals.terms.tags\": \"Taggar\",\n    \"globals.terms.template\": \"Mall | Mallar\",\n    \"globals.terms.templates\": \"Mallar\",\n    \"globals.terms.tx\": \"Transaktion | Transaktioner\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Användare | Användare\",\n    \"globals.terms.users\": \"Användare\",\n    \"globals.terms.year\": \"År | År\",\n    \"import.alreadyRunning\": \"En import körs redan. Vänta tills den är klar eller stoppa den innan du försöker igen.\",\n    \"import.blocklist\": \"Blocklista\",\n    \"import.csvDelim\": \"CSV-avskiljare\",\n    \"import.csvDelimHelp\": \"Standardavskiljaren är komma.\",\n    \"import.csvExample\": \"Exempel på rå CSV\",\n    \"import.csvFile\": \"CSV- eller ZIP-fil\",\n    \"import.csvFileHelp\": \"Klicka eller dra en CSV- eller ZIP-fil hit\",\n    \"import.errorCopyingFile\": \"Fel vid kopiering av filen: {error}\",\n    \"import.errorProcessingZIP\": \"Fel vid bearbetning av ZIP-fil: {error}\",\n    \"import.errorStarting\": \"Fel vid start av import: {error}\",\n    \"import.importDone\": \"Klar\",\n    \"import.importStarted\": \"Import startad\",\n    \"import.instructions\": \"Instruktioner\",\n    \"import.instructionsHelp\": \"Ladda upp en CSV-fil eller en ZIP-fil med en enda CSV-fil i den för att importera prenumeranter i bulk. CSV-filen bör ha följande rubriker med exakt samma kolumnnamn. attribut (valfritt) bör vara en giltig JSON-sträng med extra escapestreckade citat.\",\n    \"import.invalidDelim\": \"Avgränsare bör vara ett enskilt tecken.\",\n    \"import.invalidFile\": \"Ogiltig fil: {error}\",\n    \"import.invalidMode\": \"Ogiltigt läge\",\n    \"import.invalidParams\": \"Ogiltiga parametrar: {error}\",\n    \"import.invalidSubStatus\": \"Ogiltig prenumerationsstatus\",\n    \"import.listSubHelp\": \"Listor att prenumerera på.\",\n    \"import.mode\": \"Läge\",\n    \"import.overwriteSubStatus\": \"Skriv över prenumerationsstatus\",\n    \"import.overwriteSubStatusHelp\": \"Skriv över status för befintliga listprenumerationer\",\n    \"import.overwriteUserInfo\": \"Skriv över användarinformation\",\n    \"import.overwriteUserInfoHelp\": \"Skriv över namn och attribut för befintliga prenumeranter\",\n    \"import.recordsCount\": \"{num} / {total} poster\",\n    \"import.stopImport\": \"Stoppa import\",\n    \"import.subscribe\": \"Prenumerera\",\n    \"import.subscribeWarning\": \"Överstyrning kommer att återprenumerera på avregistrerade e-postmeddelanden. Fortsätta?\",\n    \"import.title\": \"Importera prenumeranter\",\n    \"import.upload\": \"Ladda upp\",\n    \"lists.archived\": \"Arkiverad\",\n    \"lists.archivedHelp\": \"Arkivering döljer listorna från listsidan, kampanjer och offentliga formulär. Det kan arkiveras någon gång. Det är användbart för att dölja gamla och sällan använda listor.\",\n    \"lists.confirmDelete\": \"Är du säker? Detta tar inte bort prenumeranter.\",\n    \"lists.confirmSub\": \"Bekräfta prenumeration(er) till {name}\",\n    \"lists.invalidName\": \"Ogiltigt namn\",\n    \"lists.newList\": \"Ny lista\",\n    \"lists.optin\": \"Valfritt\",\n    \"lists.optinHelp\": \"Dubbelt opt-in skickar ett e-postmeddelande till prenumeranten som ber om bekräftelse. På dubbel opt-in-listor skickas kampanjer endast till bekräftade prenumeranter.\",\n    \"lists.optinTo\": \"Opt-in till {name}\",\n    \"lists.optins.double\": \"Dubbelt opt-in\",\n    \"lists.optins.single\": \"Enkel opt-in\",\n    \"lists.sendCampaign\": \"Skicka kampanj\",\n    \"lists.sendOptinCampaign\": \"Skicka opt-in-kampanj\",\n    \"lists.type\": \"Typ\",\n    \"lists.typeHelp\": \"Offentliga listor är öppna för världen att prenumerera på och deras namn kan visas på offentliga sidor, som prenumerationshanteringssidan.\",\n    \"lists.types.private\": \"Privat\",\n    \"lists.types.public\": \"Offentlig\",\n    \"logs.title\": \"Loggar\",\n    \"maintenance.database.title\": \"Databas\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE återhämtar lagring som används av borttagna rader och ökar avsevärt databasens prestanda på stora databaser. VIKTIGT: För stora databaser är detta en långsam, blockerande operation. Schemalägg för att köra detta under lågtrafiktimmar.\",\n    \"maintenance.help\": \"Vissa åtgärder kan ta tid beroende på mängden data.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Obekräftade opt-in-prenumerationer\",\n    \"maintenance.olderThan\": \"Äldre än\",\n    \"maintenance.orphanHelp\": \"Föräldralösa = prenumeranter utan listor\",\n    \"maintenance.title\": \"Underhåll\",\n    \"maintenance.unconfirmedSubs\": \"Obekräftade prenumerationer äldre än {name} dagar.\",\n    \"media.errorReadingFile\": \"Fel vid läsning av filen: {error}\",\n    \"media.errorResizing\": \"Fel vid storleksändring av bild: {error}\",\n    \"media.errorSavingThumbnail\": \"Fel vid spara miniatyrbild: {error}\",\n    \"media.errorUploading\": \"Fel vid uppladdning av fil: {error}\",\n    \"media.invalidFile\": \"Ogiltig fil: {error}\",\n    \"media.title\": \"Media\",\n    \"media.unsupportedFileType\": \"Ogiltig filtyp ({type})\",\n    \"media.upload\": \"Ladda upp\",\n    \"media.uploadHelp\": \"Klicka eller dra hit en eller flera bilder\",\n    \"menu.allCampaigns\": \"Alla kampanjer\",\n    \"menu.allLists\": \"Alla listor\",\n    \"menu.allSubscribers\": \"Alla prenumeranter\",\n    \"menu.dashboard\": \"Översikt\",\n    \"menu.forms\": \"Formulär\",\n    \"menu.import\": \"Importera\",\n    \"menu.logs\": \"Loggar\",\n    \"menu.maintenance\": \"Underhåll\",\n    \"menu.media\": \"Media\",\n    \"menu.newCampaign\": \"Skapa ny\",\n    \"menu.settings\": \"Inställningar\",\n    \"public.archiveEmpty\": \"Inga arkiverade meddelanden ännu.\",\n    \"public.archiveTitle\": \"E-postlistarkiv\",\n    \"public.blocklisted\": \"Permanent avprenumererad.\",\n    \"public.campaignNotFound\": \"E-postmeddelandet kunde ej hittas.\",\n    \"public.confirmOptinSubTitle\": \"Bekräfta prenumeration\",\n    \"public.confirmSub\": \"Bekräfta prenumeration\",\n    \"public.confirmSubInfo\": \"Du har lagts till i följande listor:\",\n    \"public.confirmSubTitle\": \"Bekräfta\",\n    \"public.dataRemoved\": \"Din prenumerentation och tillhörande data har tagits bort.\",\n    \"public.dataRemovedTitle\": \"Data borttagen\",\n    \"public.dataSent\": \"Din data has har skickats till din e-postadress.\",\n    \"public.dataSentTitle\": \"Data har skickats via e-post\",\n    \"public.errorFetchingCampaign\": \"Ett fel uppstod när e-postmeddelandet skulle hämtas.\",\n    \"public.errorFetchingEmail\": \"E-postmeddelandet kunde inte hittas\",\n    \"public.errorFetchingLists\": \"Ett fel uppstod när listan skulle hämtas. Vänligen försök igen.\",\n    \"public.errorProcessingRequest\": \"Ett fel uppstod när begäran skulle hanteras. Vänligen försök igen.\",\n    \"public.errorTitle\": \"Ett fel uppstod\",\n    \"public.invalidCaptcha\": \"Ogiltig CAPTCHA.\",\n    \"public.invalidFeature\": \"Denna funktionen är inte tillgänglig.\",\n    \"public.invalidLink\": \"Ogiltig länk\",\n    \"public.managePrefs\": \"Hantera preferenser\",\n    \"public.managePrefsUnsub\": \"Avmarkera listor för att avprenumerera från dem.\",\n    \"public.noListsAvailable\": \"Inga listor är tillgängliga att prenumerera på.\",\n    \"public.noListsSelected\": \"Inga giltiga listor har valts för att prenumerera på.\",\n    \"public.noSubInfo\": \"Det finns inga prenumerationer att bekräfta.\",\n    \"public.noSubTitle\": \"Inga prenumerationer\",\n    \"public.notFoundTitle\": \"Hittades inte\",\n    \"public.poweredBy\": \"Drivs med hjälp av\",\n    \"public.prefsSaved\": \"Dina preferenser har sparats.\",\n    \"public.privacyConfirmWipe\": \"Är du säker på att du vill radera all din prenumerationsdata permanent?\",\n    \"public.privacyExport\": \"Exportera din data\",\n    \"public.privacyExportHelp\": \"En kopia av din data kommer att skickas till din e-post.\",\n    \"public.privacyTitle\": \"Integritet och data\",\n    \"public.privacyWipe\": \"Radera din data\",\n    \"public.privacyWipeHelp\": \"Radera alla dina prenumerationer och tillhörande data permanent.\",\n    \"public.sub\": \"Prenumerera\",\n    \"public.subConfirmed\": \"Premunentationen aktiverades.\",\n    \"public.subConfirmedTitle\": \"Bekräftat\",\n    \"public.subName\": \"Namn (ej obligatorisk)\",\n    \"public.subNotFound\": \"Prenumerationen kunde inte hittas.\",\n    \"public.subOptinPending\": \"Ett e-postmeddelande har skickats till dig för att bekräfta din/dina prenumerationer.\",\n    \"public.subPrivateList\": \"Privat lista\",\n    \"public.subTitle\": \"Prenumerera\",\n    \"public.unsub\": \"Avprenumerera\",\n    \"public.unsubFull\": \"Avprenumerera från alla framtida e-postutskick.\",\n    \"public.unsubHelp\": \"Vill du avprenumerera från denna e-postlista?\",\n    \"public.unsubTitle\": \"Avprenumerera\",\n    \"public.unsubbedInfo\": \"Du har nu avprenumererats.\",\n    \"public.unsubbedTitle\": \"Avprenumererad\",\n    \"public.unsubscribeTitle\": \"Avprenumerera från e-postlista\",\n    \"settings.appearance.adminHelp\": \"Anpassad CSS att tillämpa på admin-UI:n.\",\n    \"settings.appearance.adminName\": \"Admin\",\n    \"settings.appearance.customCSS\": \"Anpassad CSS\",\n    \"settings.appearance.customJS\": \"Anpassad JavaScript\",\n    \"settings.appearance.name\": \"Utseende\",\n    \"settings.appearance.publicHelp\": \"Anpassad CSS och JavaScript att tillämpa på offentliga sidor.\",\n    \"settings.appearance.publicName\": \"Offentlig\",\n    \"settings.bounces.action\": \"Åtgärd\",\n    \"settings.bounces.blocklist\": \"Blocklista\",\n    \"settings.bounces.count\": \"Antal studsar\",\n    \"settings.bounces.countHelp\": \"Antal studsar per prenumerant\",\n    \"settings.bounces.enable\": \"Aktivera studsbehandling\",\n    \"settings.bounces.enableForwardemail\": \"Aktivera vidarebefordran av e-post\",\n    \"settings.bounces.enableMailbox\": \"Aktivera studs-e-postlåda\",\n    \"settings.bounces.enablePostmark\": \"Aktivera Postmark\",\n    \"settings.bounces.enableSES\": \"Aktivera SES\",\n    \"settings.bounces.enableSendgrid\": \"Aktivera SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Aktivera studs-webhooks\",\n    \"settings.bounces.enabled\": \"Aktiverad\",\n    \"settings.bounces.folder\": \"Mapp\",\n    \"settings.bounces.folderHelp\": \"Namn på IMAP-mappen att skanna. t.ex: Inkorgen.\",\n    \"settings.bounces.forwardemailKey\": \"Nyckel för vidarebefordrad e-post\",\n    \"settings.bounces.invalidScanInterval\": \"Studsskanningsintervall bör vara minst 1 minut.\",\n    \"settings.bounces.name\": \"Bounceadresser\",\n    \"settings.bounces.none\": \"Ingen\",\n    \"settings.bounces.postmarkPassword\": \"Postmark lösenord\",\n    \"settings.bounces.postmarkUsername\": \"Postmark användarnamn\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark låter dig aktivera grundläggande auktorisering för webhookar. Se till att ange samma autentiseringsuppgifter här som i dina Postmark webhook-inställningar.\",\n    \"settings.bounces.scanInterval\": \"Skanningsintervall\",\n    \"settings.bounces.scanIntervalHelp\": \"Intervall för vilket studs-e-postlådan ska skannas efter studs (s för sekund, m för minut).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid-nyckel\",\n    \"settings.bounces.type\": \"Typ\",\n    \"settings.bounces.username\": \"Användarnamn\",\n    \"settings.confirmRestart\": \"Se till att pågående kampanjer är pausade. Starta om?\",\n    \"settings.duplicateMessengerName\": \"Dubbelt budbärarnamn: {name}\",\n    \"settings.errorEncoding\": \"Fel vid kodning av inställningar: {error}\",\n    \"settings.errorNoSMTP\": \"Minst en SMTP-block bör vara aktiverad\",\n    \"settings.general.adminNotifEmails\": \"Admin notifieringar e-postadresser\",\n    \"settings.general.adminNotifEmailsHelp\": \"Kommaseparerad lista med e-postadresser till vilka plattformsadministratörsnotifikationer, till exempel uppdateringar om import, kampanjslutande, felmeddelanden osv. bör skickas.\",\n    \"settings.general.checkUpdates\": \"Kontrollera uppdateringar\",\n    \"settings.general.checkUpdatesHelp\": \"Kontrollera regelbundet efter nya versioner av appen och ge notifieringar.\",\n    \"settings.general.enablePublicArchive\": \"Aktivera offentligt arkiv för e-postlista\",\n    \"settings.general.enablePublicArchiveHelp\": \"Publicera kampanjer på vilka arkivering är aktiverat på den offentliga webbplatsen.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Visa fullt innehåll i RSS-flödet\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Visa fullt e-postinnehåll i RSS-flödet. Om det är inaktiverat visas endast titel- och länkelementen.\",\n    \"settings.general.enablePublicSubPage\": \"Aktivera offentlig prenumerationssida\",\n    \"settings.general.enablePublicSubPageHelp\": \"Visa en offentlig prenumerationssida med alla offentliga listor för att människor ska kunna prenumerera.\",\n    \"settings.general.faviconURL\": \"Favicon-URL\",\n    \"settings.general.faviconURLHelp\": \"(Valfritt) fullständig URL till favicon som ska visas på användarvyn, som avprenumerationssidan.\",\n    \"settings.general.fromEmail\": \"Standardadress för `från`-e-post\",\n    \"settings.general.fromEmailHelp\": \"Standard `från`-e-post att visa på utgående kampanjmejl. Detta kan ändras per kampanj.\",\n    \"settings.general.language\": \"Språk\",\n    \"settings.general.logoURL\": \"Logotyp-URL\",\n    \"settings.general.logoURLHelp\": \"(Valfritt) fullständig URL till logotypen som ska visas på användarvyn, som avprenumerationssidan.\",\n    \"settings.general.name\": \"Allmänt\",\n    \"settings.general.rootURL\": \"Rot-URL\",\n    \"settings.general.rootURLHelp\": \"Offentlig URL för installationen (inget avslutande snedstreck).\",\n    \"settings.general.sendOptinConfirm\": \"Skicka opt-in-bekräftelse\",\n    \"settings.general.sendOptinConfirmHelp\": \"Skicka en opt-in-bekräftelse via e-post när prenumeranter anmäler sig via offentlig form eller när de läggs till av administratören.\",\n    \"settings.general.siteName\": \"Namn på webbplats\",\n    \"settings.invalidMessengerName\": \"Ogiltigt budbärarnamn.\",\n    \"settings.mailserver.authProtocol\": \"Autentiseringsprotokoll\",\n    \"settings.mailserver.host\": \"Värd\",\n    \"settings.mailserver.hostHelp\": \"SMTP-serverns värdadress.\",\n    \"settings.mailserver.idleTimeout\": \"Väntetid för passiv drift\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Tid att vänta på ny aktivitet på en anslutning innan den stängs och tas bort från poolen (s för sekund, m för minut).\",\n    \"settings.mailserver.maxConns\": \"Max. anslutningar\",\n    \"settings.mailserver.maxConnsHelp\": \"Maximalt antal samtidiga anslutningar till servern.\",\n    \"settings.mailserver.nameHelp\": \"Valfritt unikt namn för SMTP-servern. Måste ha prefixet email-. Detta gör att servern kan väljas specifikt för en kampanj, t.ex. email-primary-server. Alfanumeriskt / bindestreck.\",\n    \"settings.mailserver.password\": \"Lösenord\",\n    \"settings.mailserver.passwordHelp\": \"Ange för att ändra\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"SMTP-serverns port.\",\n    \"settings.mailserver.skipTLS\": \"Hoppa över TLS-verifiering\",\n    \"settings.mailserver.skipTLSHelp\": \"Hoppa över kontroll av värdnamnet på TLS-certifikatet.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL-kryptering. STARTTLS används vanligtvis.\",\n    \"settings.mailserver.username\": \"Användarnamn\",\n    \"settings.mailserver.waitTimeout\": \"Väntetid\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Tid att vänta på ny aktivitet på en anslutning innan den stängs och tas bort från poolen (s för sekund, m för minut).\",\n    \"settings.maintenance.cron\": \"Cron-intervall\",\n    \"settings.media.provider\": \"Tjänsteleverantör\",\n    \"settings.media.s3.bucket\": \"Hink\",\n    \"settings.media.s3.bucketPath\": \"Hinkens sökväg\",\n    \"settings.media.s3.bucketPathHelp\": \"Sökväg inuti hinken för att ladda upp filer. Standard är /\",\n    \"settings.media.s3.bucketType\": \"Hinktyp\",\n    \"settings.media.s3.bucketTypePrivate\": \"Privat\",\n    \"settings.media.s3.bucketTypePublic\": \"Offentlig\",\n    \"settings.media.s3.key\": \"AWS-åtkomstnyckel\",\n    \"settings.media.s3.publicURL\": \"Anpassad offentlig URL (valfritt)\",\n    \"settings.media.s3.publicURLHelp\": \"Anpassad S3-domän att använda för bildlänkar istället för standard-S3 backend URL.\",\n    \"settings.media.s3.region\": \"Region\",\n    \"settings.media.s3.secret\": \"AWS-åtkomsthemlighet\",\n    \"settings.media.s3.uploadExpiry\": \"Uppladdning löper ut\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Optional) Specify TTL for the generated presigned URL. Only applicable for private buckets (s, m, h, d for seconds, minutes, hours, days).\",\n    \"settings.media.s3.url\": \"S3 backend-URL\",\n    \"settings.media.s3.urlHelp\": \"Ändra bara om en anpassad S3-kompatibel backend används, t.ex. Minio.\",\n    \"settings.media.title\": \"Medieuppladdningar\",\n    \"settings.media.upload.extensions\": \"Tillåtna filändelser\",\n    \"settings.media.upload.extensionsHelp\": \"Lägg till * för att tillåta alla filändelser\",\n    \"settings.media.upload.path\": \"Uppladdningsmapp\",\n    \"settings.media.upload.pathHelp\": \"Sökväg till mappen där media kommer att laddas upp.\",\n    \"settings.media.upload.uri\": \"Uppladdnings-URI\",\n    \"settings.media.upload.uriHelp\": \"Uppladdnings-URI som är synligt för omvärlden. Medierna som laddas upp till uppladdningsmappen kommer att vara offentligt tillgängliga under {root_url}, till exempel, https://listmonk.dindomän.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Max. anslutningar\",\n    \"settings.messengers.maxConnsHelp\": \"Maximalt antal samtidiga anslutningar till servern.\",\n    \"settings.messengers.messageSaved\": \"Inställningarna har sparats. Laddar om app ...\",\n    \"settings.messengers.name\": \"Budbärare\",\n    \"settings.messengers.nameHelp\": \"t.ex: mitt-sms. Alfanumeriskt / tankstreck.\",\n    \"settings.messengers.password\": \"Lösenord\",\n    \"settings.messengers.retries\": \"Försök igen\",\n    \"settings.messengers.retriesHelp\": \"Antal gånger att försöka igen när ett meddelande misslyckas.\",\n    \"settings.messengers.skipTLSHelp\": \"Hoppa över kontroll av värdnamnet på TLS-certifikatet.\",\n    \"settings.messengers.timeout\": \"Väntetid för passiv drift\",\n    \"settings.messengers.timeoutHelp\": \"Tid att vänta på ny aktivitet på en anslutning innan den stängs och tas bort från poolen (s för sekund, m för minut).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Rot-URL för postback-servern.\",\n    \"settings.messengers.username\": \"Användarnamn\",\n    \"settings.needsRestart\": \"Inställningarna har ändrats. Pausa alla pågående kampanjer och starta om appen\",\n    \"settings.performance.batchSize\": \"Batchstorlek\",\n    \"settings.performance.batchSizeHelp\": \"Antalet prenumeranter som ska hämtas från databasen i en enda iteration. Varje iteration hämtar prenumeranter från databasen, skickar meddelanden till dem och fortsätter sedan till nästa iteration för att hämta nästa sats. Detta bör idealiskt vara högre än den maximala uppnåeliga genomströmningen (konkurrens * meddelanderate).\",\n    \"settings.performance.cacheSlowQueries\": \"Cacha långa databasförfrågningar\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Aktivera endast detta på stora databaser som har blivit avsevärt långsamma. Cachar listprenumerant-räkningar, instrumentpanelstatistik etc.\",\n    \"settings.performance.concurrency\": \"Konkurrens\",\n    \"settings.performance.concurrencyHelp\": \"Maximalt antal samtidiga arbetsenheter (trådar) som försöker skicka meddelanden samtidigt.\",\n    \"settings.performance.maxErrThreshold\": \"Maximalt feltröskelvärde\",\n    \"settings.performance.maxErrThresholdHelp\": \"Hur många fel (t.ex., SMTP-tidsgränser när e-post skickas) en pågående kampanj ska tåla innan den pausas för manuell undersökning eller ingripanden. Ange 0 för att aldrig pausa.\",\n    \"settings.performance.messageRate\": \"Meddelanderate\",\n    \"settings.performance.messageRateHelp\": \"Maximalt antal meddelanden som ska skickas per sekund per arbetsenhet. Om konkurrensen är 10 och meddelanderaten är 10 kan upp till 10x10=100 meddelanden skickas ut varje sekund. Detta, tillsammans med konkurrensen, bör justeras för att hålla det faktiska meddelandet per sekund under målserverns meddelandelimbegränsning om det finns någon.\",\n    \"settings.performance.name\": \"Prestanda\",\n    \"settings.performance.slidingWindow\": \"Aktivera rörlig fönsterbegränsning\",\n    \"settings.performance.slidingWindowDuration\": \"Varaktighet\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Varaktighet för ibruktagning av rörligt fönster (m för minut, h för timme).\",\n    \"settings.performance.slidingWindowHelp\": \"Begränsa totala antalet meddelanden som skickas ut inom en given period. När gränsen nås hålls meddelanden från att skickas tills tidsfönstret rensas.\",\n    \"settings.performance.slidingWindowRate\": \"Max. meddelanden\",\n    \"settings.performance.slidingWindowRateHelp\": \"Det maximala antalet meddelanden som ska skickas inom fönsterintervallen.\",\n    \"settings.privacy.allowBlocklist\": \"Tillåt blocklistning\",\n    \"settings.privacy.allowBlocklistHelp\": \"Ska prenumeranter kunna avsluta alla prenumerationer och markera sig själva som blockerade?\",\n    \"settings.privacy.allowExport\": \"Tillåt export\",\n    \"settings.privacy.allowExportHelp\": \"Ska prenumeranter kunna exportera data som samlats in om dem?\",\n    \"settings.privacy.allowPrefs\": \"Tillåt ändra preferenser\",\n    \"settings.privacy.allowPrefsHelp\": \"Ska prenumeranter kunna ändra preferenser som deras namn och flera lista-prenumerationer.\",\n    \"settings.privacy.allowWipe\": \"Tillåt att radera\",\n    \"settings.privacy.allowWipeHelp\": \"Ska prenumeranter kunna radera sig själva, inklusive deras prenumerationer och all annan data från databasen. Kampanjvisningar och länkklickar tas också bort, medan visnings- och klickräkningar förblir (utan någon prenumerant kopplad till dem) för att statistik och analys inte påverkas.\",\n    \"settings.privacy.domainAllowlist\": \"Domän-tillåtelselista\",\n    \"settings.privacy.domainAllowlistHelp\": \"Endast e-postadresser med dessa domäner får prenumerera. Ange en domän per rad, t.ex: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Domänblocklista\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-postadresser med dessa domäner är inte tillåtna att prenumerera. Ange en domän per rad, t.ex: exempsite.com\",\n    \"settings.privacy.individualSubTracking\": \"Individuell prenumerationsövervakning\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Spåra kampanjvyer och klick på prenumerationsnivå. När det är inaktiverat fortsätter visnings- och klickspårning utan att vara kopplad till individuella prenumeranter.\",\n    \"settings.privacy.listUnsubHeader\": \"Inkludera `Avsluta prenumeration`-header\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Inkludera avprenumerationsrubriker som tillåter att e-postklienter låter användarna avprenumerera med bara en klickning.\",\n    \"settings.privacy.name\": \"Integritet\",\n    \"settings.privacy.recordOptinIP\": \"Registrera opt-in-IP-adress\",\n    \"settings.privacy.recordOptinIPHelp\": \"Registrera IP-adress för dubbelopt-in i prenumerationars attribut.\",\n    \"settings.restart\": \"Starta om\",\n    \"settings.security.CORSDomains\": \"Tillåtna ursprung\",\n    \"settings.security.CORSDomainsHelp\": \"Tillåt åtkomst till API-slutpunkter via webbläsare Javascript från externa domäner. Ange en domän per rad (t.ex: https://example.com). Lämna tomt för att inaktivera CORS eller lägg till * för att tillåta alla (rekommenderas inte).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Skapa användare automatiskt\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Skapa automatiskt användare vid första inloggning om kontot inte finns.\",\n    \"settings.security.OIDCClientID\": \"Klient-ID\",\n    \"settings.security.OIDCClientSecret\": \"Klienthemlighet\",\n    \"settings.security.OIDCDefaultListRole\": \"Standardlistroll\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Standardroll tilldelad användare som automatiskt skapas från OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Standardanvändarroll\",\n    \"settings.security.OIDCHelp\": \"Aktivera inloggning med OpenID Connect OAuth2 via en OAuth-leverantör.\",\n    \"settings.security.OIDCName\": \"Leverantörsnamn\",\n    \"settings.security.OIDCRedirectURL\": \"URL för omdirigering för oAuth-leverantör\",\n    \"settings.security.OIDCRedirectWarning\": \"Det här verkar inte vara en produktions-URL. Ändra roten-URL i 'Allmänt' inställningar.\",\n    \"settings.security.OIDCURL\": \"Leverantörs-URL\",\n    \"settings.security.OIDCWarning\": \"När OIDC är aktiverat är standardlösenordsinloggning inaktiverad. Ogiltig konfiguration kan låsa dig ute.\",\n    \"settings.security.altchaComplexity\": \"Altcha-komplexitet\",\n    \"settings.security.altchaComplexityHelp\": \"Högre värden ger bättre säkerhet men långsammare lösning (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com SiteKey\",\n    \"settings.security.captchaKeyHelp\": \"Besök www.hcaptcha.com för att få nyckeln och hemligheten.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com hemlighet\",\n    \"settings.security.enableCaptcha\": \"Aktivera CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Aktivera CAPTCHA på den offentliga prenumerationssidan.\",\n    \"settings.security.enableOIDC\": \"Aktivera OIDC SSO\",\n    \"settings.security.name\": \"Säkerhet\",\n    \"settings.smtp.customHeaders\": \"Anpassade headers\",\n    \"settings.smtp.customHeadersHelp\": \"Valfri array av e-postheaders att inkludera i alla meddelanden som skickas från den här servern. t.ex: [{\\\"X-Anpassad\\\": \\\"värde\\\"}, {\\\"X-Anpassad2\\\": \\\"värde\\\"}]\",\n    \"settings.smtp.enabled\": \"Aktiverad\",\n    \"settings.smtp.heloHost\": \"HELO-värddatornamn\",\n    \"settings.smtp.heloHostHelp\": \"Valfritt. Vissa SMTP-servrar kräver ett fullständigt domännamn i värdnamnet. Som standard skickar HELLO med `localhost`. Ange detta om ett anpassat domännamn ska användas.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Försök igen\",\n    \"settings.smtp.retriesHelp\": \"Antal gånger att försöka igen när ett meddelande misslyckas.\",\n    \"settings.smtp.sendTest\": \"Skicka e-post\",\n    \"settings.smtp.setCustomHeaders\": \"Ange anpassade headers\",\n    \"settings.smtp.testConnection\": \"Testa anslutning\",\n    \"settings.smtp.testEnterEmail\": \"Enter password to test\",\n    \"settings.smtp.toEmail\": \"Till e-post\",\n    \"settings.title\": \"Inställningar\",\n    \"settings.updateAvailable\": \"En ny uppdatering {version} finns tillgänglig.\",\n    \"subscribers.activity\": \"Aktivitet\",\n    \"subscribers.advancedQuery\": \"Avancerad\",\n    \"subscribers.advancedQueryHelp\": \"Del SQL-uttryck för att fråga prenumerantattribut\",\n    \"subscribers.attribsHelp\": \"Attribut definieras som en JSON-map, till exempel:\",\n    \"subscribers.blocklistedHelp\": \"Blocklistade prenumeranter kommer aldrig att få några e-postmeddelanden.\",\n    \"subscribers.confirmBlocklist\": \"Blocka {num} prenumerant(er)?\",\n    \"subscribers.confirmDelete\": \"Ta bort {num} prenumerant(er)?\",\n    \"subscribers.confirmExport\": \"Exportera {num} prenumerant(er)?\",\n    \"subscribers.domainBlocklisted\": \"E-postdomänen är blockerad.\",\n    \"subscribers.downloadData\": \"Ladda ner data\",\n    \"subscribers.email\": \"E-post\",\n    \"subscribers.emailExists\": \"E-posten finns redan.\",\n    \"subscribers.errorBlocklisting\": \"Fel vid blockering av prenumeranter: {error}\",\n    \"subscribers.errorNoIDs\": \"Inga ID:n angivna.\",\n    \"subscribers.errorNoListsGiven\": \"Inga listor angivna.\",\n    \"subscribers.errorPreparingQuery\": \"Fel vid förberedelse av prenumerantfrågan: {error}\",\n    \"subscribers.errorSendingOptin\": \"Fel vid skickning av opt-in-e-post.\",\n    \"subscribers.export\": \"Exportera\",\n    \"subscribers.invalidAction\": \"Ogiltig åtgärd.\",\n    \"subscribers.invalidEmail\": \"Ogiltig e-post.\",\n    \"subscribers.invalidJSON\": \"Ogiltig JSON i attribut.\",\n    \"subscribers.invalidName\": \"Ogiltigt namn.\",\n    \"subscribers.listChangeApplied\": \"Liständringen har tillämpats.\",\n    \"subscribers.lists\": \"Listor\",\n    \"subscribers.listsHelp\": \"Listor som prenumeranter har avslutat sig själv från kan inte tas bort.\",\n    \"subscribers.listsPlaceholder\": \"Listor att prenumerera på\",\n    \"subscribers.manageLists\": \"Hantera listor\",\n    \"subscribers.markUnsubscribed\": \"Markera som avprenumererad\",\n    \"subscribers.newSubscriber\": \"Ny prenumerant\",\n    \"subscribers.numSelected\": \"{num} prenumeranter markerade\",\n    \"subscribers.optinSubject\": \"Bekräfta prenumeration\",\n    \"subscribers.preconfirm\": \"Förhandsbekräfta prenumerationer\",\n    \"subscribers.preconfirmHelp\": \"Skicka inte opt-in-e-postmeddelanden och märk alla listprenumerationer som 'subscribed'.\",\n    \"subscribers.query\": \"Fråge\",\n    \"subscribers.queryPlaceholder\": \"E-post eller namn\",\n    \"subscribers.reset\": \"Återställ\",\n    \"subscribers.selectAll\": \"Markera alla {num}\",\n    \"subscribers.sendOptinConfirm\": \"Skicka opt-in-bekräftelse\",\n    \"subscribers.sentOptinConfirm\": \"Opt-in-bekräftelse skickad\",\n    \"subscribers.status.blocklisted\": \"Blocklistad\",\n    \"subscribers.status.confirmed\": \"Bekräftad\",\n    \"subscribers.status.enabled\": \"Aktiverad\",\n    \"subscribers.status.subscribed\": \"Prenumererad\",\n    \"subscribers.status.unconfirmed\": \"Obekräftad\",\n    \"subscribers.status.unsubscribed\": \"Avprenumererad\",\n    \"subscribers.subscribersDeleted\": \"{num} prenumeranter har tagits bort\",\n    \"templates.cantDeleteDefault\": \"Kan inte ta bort en icke-befintlig eller standardmall\",\n    \"templates.default\": \"Standard\",\n    \"templates.dummyName\": \"Dummykampanj\",\n    \"templates.dummySubject\": \"Dummykampanjämne\",\n    \"templates.errorCompiling\": \"Fel vid kompilering av mall: {error}\",\n    \"templates.errorRendering\": \"Fel vid rendering av meddelande: {error}\",\n    \"templates.fieldInvalidName\": \"Ogiltig längd för namn.\",\n    \"templates.makeDefault\": \"Ange som standard\",\n    \"templates.newTemplate\": \"Ny mall\",\n    \"templates.placeholderHelp\": \"Platsinnehavaren {placeholder} ska visas exakt en gång i mallen.\",\n    \"templates.preview\": \"Förhandsvisa\",\n    \"templates.rawHTML\": \"Rå HTML\",\n    \"templates.subject\": \"Ämne\",\n    \"templates.typeCampaignHTML\": \"Kampanj / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampanj / Visuell\",\n    \"templates.typeTransactional\": \"Transaktionell\",\n    \"users.apiOneTimeToken\": \"Kopiera nu API-åtkomstoken. Det visas inte igen.\",\n    \"users.cantDeleteRole\": \"Det går inte att ta bort en användarroll som används.\",\n    \"users.firstTime\": \"Det här är en nyinstallation. Välj ett användarnamn och lösenord för användarkontot för superadmin.\",\n    \"users.forgotPassword\": \"Glömt lösenord?\",\n    \"users.invalidLogin\": \"Ogiltig inloggning eller lösenord\",\n    \"users.invalidPassword\": \"Ogiltigt lösenord\",\n    \"users.invalidRequest\": \"Ogiltig autentiseringförfrågan\",\n    \"users.invalidResetLink\": \"Ogiltig eller utgången återställningslänk\",\n    \"users.lastLogin\": \"Senast inloggad\",\n    \"users.listPerms\": \"Listbehörigheter\",\n    \"users.listPermsWarning\": \"lists:get_all eller lists:manage_all är aktiverade vilket upphäver per-listupplevelser\",\n    \"users.listRole\": \"Lista roll | Lista roll\",\n    \"users.listRoles\": \"Lista roller\",\n    \"users.login\": \"Logga in\",\n    \"users.loginOIDC\": \"Logga in med {name}\",\n    \"users.logout\": \"Logga ut\",\n    \"users.needSuper\": \"Användare kan inte uppdateras. Det måste finnas minst en aktiv superadmin-användare.\",\n    \"users.newListRole\": \"Ny lista roll\",\n    \"users.newPassword\": \"Nytt lösenord\",\n    \"users.newUser\": \"Ny användare\",\n    \"users.newUserRole\": \"Ny användarroll\",\n    \"users.password\": \"Lösenord\",\n    \"users.passwordEnable\": \"Aktivera inloggning med lösenord\",\n    \"users.passwordMismatch\": \"Lösenorden matchar inte\",\n    \"users.passwordRepeat\": \"Upprepa lösenord\",\n    \"users.perms\": \"Behörigheter\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Om kontot är aktivt får du ett e-postmeddelande för återställning av lösenord.\",\n    \"users.resetPassword\": \"Återställ lösenord\",\n    \"users.role\": \"Roll | Roller\",\n    \"users.roleGroup\": \"Grupp\",\n    \"users.roles\": \"Roller\",\n    \"users.status.disabled\": \"Avaktiverad\",\n    \"users.status.enabled\": \"Aktiverad\",\n    \"users.totpCode\": \"TOTP-kod\",\n    \"users.totpCodeHelp\": \"Ange den 6-siffriga koden från din autentiseringsapp\",\n    \"users.totpScanQR\": \"Skanna QR-koden med din autentiseringsapp som Ente eller Google Authenticator och ange TOTP-koden nedan.\",\n    \"users.totpSecret\": \"Hemlig nyckel\",\n    \"users.twoFA\": \"Tvåfaktorsautentisering\",\n    \"users.twoFAAlreadyEnabled\": \"Tvåfaktorsautentisering är redan aktiverad.\",\n    \"users.twoFAEnabled\": \"Tvåfaktorsautentisering är på\",\n    \"users.twoFAEnabledDesc\": \"Ditt konto är skyddat med {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Aktivera 2FA för extra säkerhet när du loggar in på ditt konto.\",\n    \"users.type\": \"Typ\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Användare\",\n    \"users.userRole\": \"Användarroll | Användarroller\",\n    \"users.userRoles\": \"Användarroller\",\n    \"users.username\": \"Användarnamn\",\n    \"users.usernameHelp\": \"Använd tillsammans med inloggning med lösenord\"\n}\n"
  },
  {
    "path": "i18n/sk.json",
    "content": "{\n    \"_.code\": \"sk\",\n    \"_.name\": \"slovenčina (sk)\",\n    \"admin.errorMarshallingConfig\": \"Chyba konfigurácie zaradenia: {error}\",\n    \"analytics.count\": \"Počet\",\n    \"analytics.fromDate\": \"Od\",\n    \"analytics.invalidDates\": \"Neplatný dátum `od` alebo `do`.\",\n    \"analytics.isUnique\": \"Počet sa počíta na odberateľa.\",\n    \"analytics.links\": \"Odkazy\",\n    \"analytics.nonUnique\": \"Pretože je sledovanie odberateľov vypnuté, neexistuje počet na odberateľa.\",\n    \"analytics.title\": \"Analytika\",\n    \"analytics.toDate\": \"Do\",\n    \"bounces.complaint\": \"Reklamácia\",\n    \"bounces.hard\": \"Tvrdá\",\n    \"bounces.soft\": \"Mäkká\",\n    \"bounces.source\": \"Zdroj\",\n    \"bounces.unknownService\": \"Neznáma služba.\",\n    \"bounces.view\": \"Zobraziť prevzetie\",\n    \"campaigns.addAltText\": \"Pridať alternatívnu správu vo formáte obyčajného textu\",\n    \"campaigns.addAttachments\": \"Pridať prílohy\",\n    \"campaigns.archive\": \"Archív\",\n    \"campaigns.archiveEnable\": \"Zverejniť vo verejnom archíve\",\n    \"campaigns.archiveHelp\": \"Zverejniť (prebiehajúcu, pozastavenú, dokončenú) správu kampane vo verejnom archíve\",\n    \"campaigns.archiveMeta\": \"Metadáta kampane\",\n    \"campaigns.archiveMetaHelp\": \"Použíť prázdne dáta prihlásených vo verejnom archíve vrátane mena, emailu a iných voliteľných atribútov použitých v správach kampane aleebo šablónach.\",\n    \"campaigns.archiveSlug\": \"URL slug\",\n    \"campaigns.archiveSlugHelp\": \"Krátky názov stránky, ktorý sa používa v verejnom URL. Napríklad: moj-newsletter-edicia-2\",\n    \"campaigns.attachments\": \"Prílohy\",\n    \"campaigns.attribsHelp\": \"Vlastný JSON objekt {} atribútov pre túto kampáň. Použite v šablóne s {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Nedá sa aktualizovať spustená alebo dokončená kampaň.\",\n    \"campaigns.clicks\": \"Kliknutia\",\n    \"campaigns.confirmDelete\": \"Odstrániť {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Toto prepíše celý obsah. Pokračovať?\",\n    \"campaigns.confirmSchedule\": \"Táto kampaň sa spustí automaticky v naplánovaný dátum a čas. Naplánovať hneď?\",\n    \"campaigns.confirmSwitchFormat\": \"Obsah môže stratiť formátovanie. Pokračovať?\",\n    \"campaigns.content\": \"Obsah\",\n    \"campaigns.contentHelp\": \"Obsah tu\",\n    \"campaigns.continue\": \"Pokračovať\",\n    \"campaigns.copyOf\": \"Kópia {name}\",\n    \"campaigns.customHeadersHelp\": \"Pole voliteľných hlavičiek odosielaných správ, ako: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Dátum a čas\",\n    \"campaigns.ended\": \"Ukončená\",\n    \"campaigns.errorSendTest\": \"Chyba pri odosielaní testu: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Chyba pri kompilácii tela kampane: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Neplatný údaj `z_e-mailu`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Neplatný zoznam ID.\",\n    \"campaigns.fieldInvalidMessenger\": \"Neznámý doručovateľ {name}.\",\n    \"campaigns.fieldInvalidName\": \"Neplatná dĺžka mena.\",\n    \"campaigns.fieldInvalidSendAt\": \"Naplánovaný dátum by mal byť v budúcnosti.\",\n    \"campaigns.fieldInvalidSubject\": \"Neplatná dĺžka predmetu.\",\n    \"campaigns.format\": \"Formát\",\n    \"campaigns.formatHTML\": \"Formát HTML\",\n    \"campaigns.fromAddress\": \"Z adresy\",\n    \"campaigns.fromAddressPlaceholder\": \"Vaše meno <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Importovať vizuálnu šablónu\",\n    \"campaigns.invalid\": \"Neplatná kampaň\",\n    \"campaigns.invalidCustomHeaders\": \"Neplatné voliteľné hlavičky: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampaň musí mať naplánovaný dátum.\",\n    \"campaigns.newCampaign\": \"Nová kampaň\",\n    \"campaigns.noKnownSubsToTest\": \"Žádní známí odberatelia na testovanie.\",\n    \"campaigns.noOptinLists\": \"Nenašli sa žiadne zoznamy prihlásení k odberu na vytvorenie kampane.\",\n    \"campaigns.noSubs\": \"Vo vybraných zoznamoch nie sú žiadny odberatelia na vytvorenie kampane.\",\n    \"campaigns.noSubsToTest\": \"Žiadny cieľový odberatelia\",\n    \"campaigns.notFound\": \"Kampaň sa nenašla.\",\n    \"campaigns.onlyActiveCancel\": \"Zrušiť sa dajú len prebiehajúce kampane.\",\n    \"campaigns.onlyActivePause\": \"Pozastaviť sa dajú len prebiehajúce kampane.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Naplánovať sa dajú len konceptové kampane.\",\n    \"campaigns.onlyPausedDraft\": \"Spustiť sa dajú len pozastavené kampane a koncepty.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Uložiť ako koncepty sa dajú len naplánované kampane.\",\n    \"campaigns.pause\": \"Pozastaviť\",\n    \"campaigns.plainText\": \"Obyčajný text\",\n    \"campaigns.preview\": \"Náhľad\",\n    \"campaigns.progress\": \"Priebeh\",\n    \"campaigns.queryPlaceholder\": \"Meno alebo predmet\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Surové HTML\",\n    \"campaigns.removeAltText\": \"Odobrať alternatívnu správu vo formáte obyčajného textu\",\n    \"campaigns.richText\": \"Formátovaný text\",\n    \"campaigns.schedule\": \"Naplánovať kampaň\",\n    \"campaigns.scheduled\": \"Naplánovaná\",\n    \"campaigns.send\": \"Odoslať\",\n    \"campaigns.sendLater\": \"Odeslať neskôr\",\n    \"campaigns.sendTest\": \"Odeslať testovaciu správu\",\n    \"campaigns.sendTestHelp\": \"Po zapísaní adresy stlačte klávesu Enter, aby sa pridalo viac príjemcov. Adresy musia patriť existujícím odberateľom.\",\n    \"campaigns.sendToLists\": \"Zoznamy na odoslanie\",\n    \"campaigns.sent\": \"Odoslané\",\n    \"campaigns.start\": \"Spustiť kampaň\",\n    \"campaigns.started\": \"\\\"{name}\\\" spustená\",\n    \"campaigns.startedAt\": \"Spustená\",\n    \"campaigns.stats\": \"Štatistika\",\n    \"campaigns.status.cancelled\": \"Zrušená\",\n    \"campaigns.status.draft\": \"Koncept\",\n    \"campaigns.status.finished\": \"Dokončená\",\n    \"campaigns.status.paused\": \"Pozastavená\",\n    \"campaigns.status.running\": \"Beží\",\n    \"campaigns.status.scheduled\": \"Naplánovaná\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" je {status}\",\n    \"campaigns.subject\": \"Predmet\",\n    \"campaigns.templatingRef\": \"Odkaz na šablony\",\n    \"campaigns.testEmails\": \"E-maily\",\n    \"campaigns.testSent\": \"Testovacia správa odoslaná\",\n    \"campaigns.timestamps\": \"Časové razítka\",\n    \"campaigns.trackLink\": \"Sledovací odkaz\",\n    \"campaigns.unSchedule\": \"Zrušiť plán\",\n    \"campaigns.views\": \"Zobrazenia\",\n    \"campaigns.visual\": \"Vizuálne\",\n    \"dashboard.campaignViews\": \"Zobrazenia kampane\",\n    \"dashboard.linkClicks\": \"Kliknutia na odkaz\",\n    \"dashboard.messagesSent\": \"Odoslané správý\",\n    \"dashboard.orphanSubs\": \"Siroty\",\n    \"email.data.info\": \"Kópia všetkých údajov, ktoré sme uložili, je pripojená ako súbor vo formáte JSON. Dá sa zobraziť v textovom editore.\",\n    \"email.data.title\": \"Vaše údaje\",\n    \"email.forgotPassword.button\": \"Obnoviť heslo\",\n    \"email.forgotPassword.info\": \"Ak ste o to nežiadali, môžete tento e-mail bezpečne ignorovať. Platnosť tohto odkazu vyprší o 30 minút.\",\n    \"email.forgotPassword.subject\": \"Obnovte svoje heslo\",\n    \"email.optin.confirmSub\": \"Potvrďte odber\",\n    \"email.optin.confirmSubHelp\": \"Potvrďte svoj odber kliknutím na tlačidlo nižšie.\",\n    \"email.optin.confirmSubInfo\": \"Ste prihlásený do týchto zoznamov:\",\n    \"email.optin.confirmSubTitle\": \"Potvrdiť odber\",\n    \"email.optin.confirmSubWelcome\": \"Zdravím\",\n    \"email.optin.privateList\": \"Súkromný zoznam\",\n    \"email.status.campaignReason\": \"Príčina\",\n    \"email.status.campaignSent\": \"Odoslaná\",\n    \"email.status.campaignUpdateTitle\": \"Aktualizácia kampane\",\n    \"email.status.importFile\": \"Súbor\",\n    \"email.status.importRecords\": \"Záznamy\",\n    \"email.status.importTitle\": \"Aktualizácia importu\",\n    \"email.status.status\": \"Stav\",\n    \"email.unsub\": \"Zrušiť odber\",\n    \"email.unsubHelp\": \"Nechcete dostávat tieto e-maily?\",\n    \"email.viewInBrowser\": \"Zobraziť v prehliadači\",\n    \"forms.formHTML\": \"HTML formuláre\",\n    \"forms.formHTMLHelp\": \"Použite nasledujúce HTML na zobrazenie formulára odberu na externej webovej stránke. Formulár by mal mať pole email a jedno nebo více polí `l` (UUID zoznamu). Názov poľa je voliteľný.\",\n    \"forms.noPublicLists\": \"Žiadne verejné zoznamy na generovanie formulárov.\",\n    \"forms.publicLists\": \"Verejné zoznamy\",\n    \"forms.publicSubPage\": \"Verejná stránka odberu\",\n    \"forms.selectHelp\": \"Vyberte zoznamy na pridanie do formuláru.\",\n    \"forms.title\": \"Formuláre\",\n    \"globals.buttons.add\": \"Pridať\",\n    \"globals.buttons.addNew\": \"Pridať nový\",\n    \"globals.buttons.back\": \"Späť\",\n    \"globals.buttons.cancel\": \"Zrušiť\",\n    \"globals.buttons.clear\": \"Odstrániť\",\n    \"globals.buttons.clearAll\": \"Odstrániť všetko\",\n    \"globals.buttons.clone\": \"Klonovať\",\n    \"globals.buttons.close\": \"Zavrieť\",\n    \"globals.buttons.continue\": \"Pokračovat\",\n    \"globals.buttons.copy\": \"Kopírovať\",\n    \"globals.buttons.delete\": \"Odstrániť\",\n    \"globals.buttons.deleteAll\": \"Odstrániť všetko\",\n    \"globals.buttons.disable\": \"Zakázať\",\n    \"globals.buttons.edit\": \"Upraviť\",\n    \"globals.buttons.enable\": \"Povoliť\",\n    \"globals.buttons.enabled\": \"Povolené\",\n    \"globals.buttons.insert\": \"Vložiť\",\n    \"globals.buttons.learnMore\": \"Dalšie informácie\",\n    \"globals.buttons.manage\": \"Spravovať\",\n    \"globals.buttons.more\": \"Viac\",\n    \"globals.buttons.new\": \"Nový\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Odobrať\",\n    \"globals.buttons.save\": \"Uložiť\",\n    \"globals.buttons.saveChanges\": \"Uložiť zmeny\",\n    \"globals.buttons.toggleSelect\": \"Prepnúť výber\",\n    \"globals.buttons.view\": \"Zobraziť\",\n    \"globals.days.0\": \"Ne\",\n    \"globals.days.1\": \"Ne\",\n    \"globals.days.2\": \"Po\",\n    \"globals.days.3\": \"Ut\",\n    \"globals.days.4\": \"St\",\n    \"globals.days.5\": \"Št\",\n    \"globals.days.6\": \"Pi\",\n    \"globals.days.7\": \"So\",\n    \"globals.fields.createdAt\": \"Vytvorené\",\n    \"globals.fields.description\": \"Popis\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Meno\",\n    \"globals.fields.status\": \"Stav\",\n    \"globals.fields.type\": \"Typ\",\n    \"globals.fields.updatedAt\": \"Upravené\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Naozaj?\",\n    \"globals.messages.confirmDelete\": \"Odstrániť {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Zrušiť zmeny?\",\n    \"globals.messages.copied\": \"Skopírované\",\n    \"globals.messages.created\": \"\\\"{name}\\\" vytvorená\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" odstránená\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) odstránených\",\n    \"globals.messages.done\": \"Dokončené\",\n    \"globals.messages.emptyState\": \"Nič tu nie je\",\n    \"globals.messages.errorCreating\": \"Chyba pri vytváraná {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Chyba pri odstraňovaní {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Chyba pri načítaní {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Uvedené jedno alebo viac neplatných ID: {error}\",\n    \"globals.messages.errorUUID\": \"Chyba pri generovaní UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Chyba pri aktualizácii {name}: {error}\",\n    \"globals.messages.internalError\": \"Interná chyba serveru\",\n    \"globals.messages.invalidData\": \"Neplatné dáta\",\n    \"globals.messages.invalidFields\": \"Neplatné polia: {name}\",\n    \"globals.messages.invalidID\": \"Neplatné ID\",\n    \"globals.messages.invalidUUID\": \"Neplatné UUID\",\n    \"globals.messages.invalidValue\": \"Neplatná hodnota\",\n    \"globals.messages.missingFields\": \"Chýbajúce pole: {name}\",\n    \"globals.messages.notFound\": \"{name} sa nenašlo\",\n    \"globals.messages.numSelected\": \"{num} vybraných\",\n    \"globals.messages.passwordChange\": \"Zadajte zmenenú hodnotu\",\n    \"globals.messages.passwordChangeFull\": \"Zadajte celé heslo v '{name}' znova.\",\n    \"globals.messages.permissionDenied\": \"Povolenie odmietnuté: {name}\",\n    \"globals.messages.selectAll\": \"Vybrať všetko {num}\",\n    \"globals.messages.slowQueriesCached\": \"Pomaly sa vykonávajúce požiadavky sa ukladajú do vyrovnávacej pamäte. Niektoré čísla na tejto stránke môžu byť zastarané.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" upravené\",\n    \"globals.months.1\": \"Jan\",\n    \"globals.months.10\": \"Okt\",\n    \"globals.months.11\": \"Nov\",\n    \"globals.months.12\": \"Dec\",\n    \"globals.months.2\": \"Feb\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Apr\",\n    \"globals.months.5\": \"Máj\",\n    \"globals.months.6\": \"Jún\",\n    \"globals.months.7\": \"Júl\",\n    \"globals.months.8\": \"Aug\",\n    \"globals.months.9\": \"Sep\",\n    \"globals.states.off\": \"Vypnuté\",\n    \"globals.terms.all\": \"Všetko\",\n    \"globals.terms.analytics\": \"Analytika\",\n    \"globals.terms.attribs\": \"Atribúty\",\n    \"globals.terms.bounce\": \"Nedoručitelný | Nedoručiteľné\",\n    \"globals.terms.bounces\": \"Nedoručiteľné\",\n    \"globals.terms.campaign\": \"Kampaň | Kampane\",\n    \"globals.terms.campaigns\": \"Kampane\",\n    \"globals.terms.dashboard\": \"Ovládací panel\",\n    \"globals.terms.day\": \"Deň | Dni\",\n    \"globals.terms.hour\": \"Hodina | Hodiny\",\n    \"globals.terms.import\": \"Import\",\n    \"globals.terms.list\": \"Zoznam | Zoznamy\",\n    \"globals.terms.lists\": \"Zoznamy\",\n    \"globals.terms.media\": \"Médium | Médiá\",\n    \"globals.terms.messenger\": \"Doručovateľ | Doručovatelia\",\n    \"globals.terms.messengers\": \"Doručovatelia\",\n    \"globals.terms.minute\": \"Minúta | Minúty\",\n    \"globals.terms.month\": \"Mesiac | Mesiace\",\n    \"globals.terms.new\": \"Nové\",\n    \"globals.terms.none\": \"Žiadne\",\n    \"globals.terms.second\": \"Sekunda | Sekundy\",\n    \"globals.terms.settings\": \"Nastavenia\",\n    \"globals.terms.subscriber\": \"Odberateľ | Odberatelia\",\n    \"globals.terms.subscribers\": \"Odberatelia\",\n    \"globals.terms.subscriptions\": \"Prihlásenia\",\n    \"globals.terms.tag\": \"Značka | Značky\",\n    \"globals.terms.tags\": \"Značky\",\n    \"globals.terms.template\": \"Šablóna | Šablóny\",\n    \"globals.terms.templates\": \"Šablóny\",\n    \"globals.terms.tx\": \"Transakčné | Transakčné\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Používateľ | Používatelia\",\n    \"globals.terms.users\": \"Používatelia\",\n    \"globals.terms.year\": \"Rok | Roky\",\n    \"import.alreadyRunning\": \"Import už beží. Počkajte na jeho dokončenie alebo ho zastavte pred dalším pokusom.\",\n    \"import.blocklist\": \"Zoznam blokovaných\",\n    \"import.csvDelim\": \"Oddelovač CSV\",\n    \"import.csvDelimHelp\": \"Predvolený oddelovač je čiarka.\",\n    \"import.csvExample\": \"Vzorový príklad CSV\",\n    \"import.csvFile\": \"Súbor CSV alebo ZIP\",\n    \"import.csvFileHelp\": \"Kliknite alebo presuňte súbor CSV alebo ZIP sem\",\n    \"import.errorCopyingFile\": \"Chyba pri kopírovaní súboru: {error}\",\n    \"import.errorProcessingZIP\": \"Chyba pri zpracovaní súboru ZIP: {error}\",\n    \"import.errorStarting\": \"Chyba pri spustení importu: {error}\",\n    \"import.importDone\": \"Hotovo\",\n    \"import.importStarted\": \"Import spustený\",\n    \"import.instructions\": \"Inštrukcie\",\n    \"import.instructionsHelp\": \"Nahrajte súbor CSV alebo súbor ZIP s jediným CSV súborom odberateľov na hromadný import. Súbor CSV by mal mať nasledujúce záhlaví s presnými názvami stĺpcov. Atribúty (voliteľné) by mali byť platný JSON so zdvojenými úvodzovkami.\",\n    \"import.invalidDelim\": \"Oddelovač by mal byť jeden znak.\",\n    \"import.invalidFile\": \"Neplatný soubor: {error}\",\n    \"import.invalidMode\": \"Neplatný režim\",\n    \"import.invalidParams\": \"Neplatné parametre: {error}\",\n    \"import.invalidSubStatus\": \"Neplatný stav odberu\",\n    \"import.listSubHelp\": \"Zoznamy na odber.\",\n    \"import.mode\": \"Režim\",\n    \"import.overwriteSubStatus\": \"Prepísať stav predplatného\",\n    \"import.overwriteSubStatusHelp\": \"Prepísať stav existujúcich predplatných zoznamov\",\n    \"import.overwriteUserInfo\": \"Prepísať informácie používateľa\",\n    \"import.overwriteUserInfoHelp\": \"Prepísať meno a atribúty existujúcich odberateľov\",\n    \"import.recordsCount\": \"{num} / {total} záznamov\",\n    \"import.stopImport\": \"Zastaviť import \",\n    \"import.subscribe\": \"Odoberať\",\n    \"import.subscribeWarning\": \"Prepísanie povedie k opätovnej prihláseniu odhlásených e-mailov. Pokračovať?\",\n    \"import.title\": \"Importodberateľov\",\n    \"import.upload\": \"Nahrať\",\n    \"lists.archived\": \"Archivovaný\",\n    \"lists.archivedHelp\": \"Archivácia skryje zoznamy zo stránky zoznamov, kampaní a verejných formulárov. Kedykoľvek sa dá zrušiť archivácia. Je to užitočné na skrytie starých a zriedkavo používaných zoznamov.\",\n    \"lists.confirmDelete\": \"Ste si isti? Týmto sa neodstránia odberatelia.\",\n    \"lists.confirmSub\": \"Potvrdiť odber(y) pre {name}\",\n    \"lists.invalidName\": \"Neplatné meno\",\n    \"lists.newList\": \"Nový zoznam\",\n    \"lists.optin\": \"Potvrdzovanie odberu (opt-in)\",\n    \"lists.optinHelp\": \"Prihlásenie k odberu s potvrdením (double opt-in) odošle odberateľovi e-mail so žiadosťou o potvrdenie. Kampane sa posielajú len potvrzeným odberateľom.\",\n    \"lists.optinTo\": \"Prihlásenie k odberu {name}\",\n    \"lists.optins.double\": \"Prihlásenie k odberu s potvrdením\",\n    \"lists.optins.single\": \"Jednoduché prihlásenie k odberu\",\n    \"lists.sendCampaign\": \"Odoslať kampaň\",\n    \"lists.sendOptinCampaign\": \"Odoslať kampaň len pre potvrdených odberateľov\",\n    \"lists.type\": \"Typ\",\n    \"lists.typeHelp\": \"Verejné zoznamy sú verejné prístupné k odberu a ich názvy sa môžu zverejniť napr. na stránke na správu odberov.\",\n    \"lists.types.private\": \"Súkromný\",\n    \"lists.types.public\": \"Verejný\",\n    \"logs.title\": \"Logy\",\n    \"maintenance.database.title\": \"Databáza\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE obnovuje úložný priestor používaný vymazanými riadkami a výrazne zvyšuje výkon databázy na veľkých databázach. DÔLEŽITÉ: Pre veľké databázy ide o pomalú operáciu blokujúcu. Naplánujte spustenie počas doby nízkej aktivity.\",\n    \"maintenance.help\": \"Niektoré operácie môžu trvať dlhšie v závislosti na množstve dáť.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Nepotvrdené opt-in prihlásenia\",\n    \"maintenance.olderThan\": \"Staršie než\",\n    \"maintenance.orphanHelp\": \"Siroty = predplatitelia bez zoznamov\",\n    \"maintenance.title\": \"Údržba\",\n    \"maintenance.unconfirmedSubs\": \"Nepotvrdené prihlásenia staršie než {name} dní.\",\n    \"media.errorReadingFile\": \"Chyba pri čítaní súboru: {error}\",\n    \"media.errorResizing\": \"Chyba pri zmene veľkosti obrázku: {error}\",\n    \"media.errorSavingThumbnail\": \"Chyba pri ukladaní miniatúry: {error}\",\n    \"media.errorUploading\": \"Chyba pri odosielaní súboru: {error}\",\n    \"media.invalidFile\": \"Neplatný súbor: {error}\",\n    \"media.title\": \"Médium\",\n    \"media.unsupportedFileType\": \"Nepodporovaný typ súboru ({type})\",\n    \"media.upload\": \"Odoslať\",\n    \"media.uploadHelp\": \"Klikniten alebo presuňte jeden alebo viac obrázkov sem\",\n    \"menu.allCampaigns\": \"Všetky kampane\",\n    \"menu.allLists\": \"Všetky zoznamy\",\n    \"menu.allSubscribers\": \"Všetci odberatelia\",\n    \"menu.dashboard\": \"Ovládací panel\",\n    \"menu.forms\": \"Formuláre\",\n    \"menu.import\": \"Importovať\",\n    \"menu.logs\": \"Protokoly\",\n    \"menu.maintenance\": \"Údržba\",\n    \"menu.media\": \"Médium\",\n    \"menu.newCampaign\": \"Vytvoriť nový\",\n    \"menu.settings\": \"Nastavenia\",\n    \"public.archiveEmpty\": \"Žiadne archivované správy.\",\n    \"public.archiveTitle\": \"Archív odoslaných správ\",\n    \"public.blocklisted\": \"Trvalo odhlásený.\",\n    \"public.campaignNotFound\": \"E-mailová správa sa nenašla.\",\n    \"public.confirmOptinSubTitle\": \"Potvrdiť odber\",\n    \"public.confirmSub\": \"Potvrdiť odber\",\n    \"public.confirmSubInfo\": \"Boli ste pridaní do týchto zoznamov:\",\n    \"public.confirmSubTitle\": \"Potvrdiť\",\n    \"public.dataRemoved\": \"Vaše odbery a všetky pridružené údaje sú odstránené.\",\n    \"public.dataRemovedTitle\": \"Údaje odstránené\",\n    \"public.dataSent\": \"Vaše údaje sme odoslali e-mailem ako prílohu.\",\n    \"public.dataSentTitle\": \"Údaje odoslané e-mailom\",\n    \"public.errorFetchingCampaign\": \"Chyba pri načítání e-mailovej správy.\",\n    \"public.errorFetchingEmail\": \"E-mailová správa sa nenašla\",\n    \"public.errorFetchingLists\": \"Chyba pri načítání zoznamov. Zopakujte pokus.\",\n    \"public.errorProcessingRequest\": \"Chyba pri spracovaní požiadavky. Zopakujte pokus.\",\n    \"public.errorTitle\": \"Chyba\",\n    \"public.invalidCaptcha\": \"Neplatný CAPTCHA.\",\n    \"public.invalidFeature\": \"Táto funkcia nie je k dispozícii.\",\n    \"public.invalidLink\": \"Neplatný odkaz\",\n    \"public.managePrefs\": \"Správa predvolieb\",\n    \"public.managePrefsUnsub\": \"Odškrtnutím sa odhlásite zo zoznamu.\",\n    \"public.noListsAvailable\": \"Nie sú dostupné žiadne zoznamy na odber.\",\n    \"public.noListsSelected\": \"Nevybrali ste žiadne platné zoznamy na odber.\",\n    \"public.noSubInfo\": \"Žiadne prihlásenia na potvrdenie\",\n    \"public.noSubTitle\": \"Žiadne odbery\",\n    \"public.notFoundTitle\": \"Nenašlo sa\",\n    \"public.poweredBy\": \"Používateľské rozhranie od\",\n    \"public.prefsSaved\": \"Predvoľby sú uložené.\",\n    \"public.privacyConfirmWipe\": \"Naozaj chcete trvalo odstrániť všetky údaje svojich odberov?\",\n    \"public.privacyExport\": \"Exportovať údaje\",\n    \"public.privacyExportHelp\": \"Kópiu údajov vám pošleme e-mailom.\",\n    \"public.privacyTitle\": \"Súkromie aj údaje\",\n    \"public.privacyWipe\": \"Odstráňte svoje údaje\",\n    \"public.privacyWipeHelp\": \"Odstráňte všetky svoje odbery a súvisiace údaje natrvalo z databázy\",\n    \"public.sub\": \"Odoberať\",\n    \"public.subConfirmed\": \"Odber úspešne potvrdený.\",\n    \"public.subConfirmedTitle\": \"Potvrdenie\",\n    \"public.subName\": \"Meno (voliteľné)\",\n    \"public.subNotFound\": \"Odber sa nenašiel.\",\n    \"public.subOptinPending\": \"Odoslali sme vám e-mail na potvrdenie vašich odberov.\",\n    \"public.subPrivateList\": \"Súkromný zoznam\",\n    \"public.subTitle\": \"Odoberať\",\n    \"public.unsub\": \"Zrušiť odber\",\n    \"public.unsubFull\": \"Zrušiť odber tiež so všetkých budúcich emailov.\",\n    \"public.unsubHelp\": \"Chcete zrušiť odber z tohoto zoznamu adresátov?\",\n    \"public.unsubTitle\": \"Zrušiť odber\",\n    \"public.unsubbedInfo\": \"Odber ste úspešne zrušili.\",\n    \"public.unsubbedTitle\": \"Zrušený odber\",\n    \"public.unsubscribeTitle\": \"Zrušiť odber zo zoznamu adresátov\",\n    \"settings.appearance.adminHelp\": \"Voliteľné CSS použité na admin UI.\",\n    \"settings.appearance.adminName\": \"Admin\",\n    \"settings.appearance.customCSS\": \"Voliteľné CSS\",\n    \"settings.appearance.customJS\": \"Voliteľný JavaScript\",\n    \"settings.appearance.name\": \"Vzhľad\",\n    \"settings.appearance.publicHelp\": \"Voliteľné CSS a JavaScript použié na verejné stránky.\",\n    \"settings.appearance.publicName\": \"Verejné\",\n    \"settings.bounces.action\": \"Akcie\",\n    \"settings.bounces.blocklist\": \"Zoznam blokovaných\",\n    \"settings.bounces.count\": \"Počet nedoručiteľných\",\n    \"settings.bounces.countHelp\": \"Počet nedoručiteľných na odberateľa\",\n    \"settings.bounces.enable\": \"Zapnúť spracovanie nedoručiteľných\",\n    \"settings.bounces.enableForwardemail\": \"Povoliť preposielanie emailov\",\n    \"settings.bounces.enableMailbox\": \"Povoliť poštovú schránku pre nedoručiteľných\",\n    \"settings.bounces.enablePostmark\": \"Zapnúť Postmark\",\n    \"settings.bounces.enableSES\": \"Zapnúť SES\",\n    \"settings.bounces.enableSendgrid\": \"Zapnúť SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Zapnúť webhooky pre nedoručiteľné\",\n    \"settings.bounces.enabled\": \"Zapnuté\",\n    \"settings.bounces.folder\": \"Priečinok\",\n    \"settings.bounces.folderHelp\": \"Názov kontrolovaného priečinku IMAP. Napríklad INBOX.\",\n    \"settings.bounces.forwardemailKey\": \"Kľúč preposielania emailov\",\n    \"settings.bounces.invalidScanInterval\": \"Interval kontroly nedoručiteľných by mal byť minimálne 1 minúta.\",\n    \"settings.bounces.name\": \"Nedoručiteľné\",\n    \"settings.bounces.none\": \"Žiadne\",\n    \"settings.bounces.postmarkPassword\": \"Heslo Postmarku\",\n    \"settings.bounces.postmarkUsername\": \"Meno používateľa Postmarku\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark vám umožňuje povoliť základnú autorizáciu pre webhooks. Uistite sa, že zadáte rovnaké prihlasovacie údaje tu aj vo svojich nastaveniach webhooku Postmarku.\",\n    \"settings.bounces.scanInterval\": \"Interval kontroly\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval, v ktorom by se poštová schránka nedoručiteľných mala kontrolovať na nové správy (s - sekundy, m - minúty).\",\n    \"settings.bounces.sendgridKey\": \"Kľúč SendGrid\",\n    \"settings.bounces.type\": \"Typ\",\n    \"settings.bounces.username\": \"Meno používateľa\",\n    \"settings.confirmRestart\": \"Uistite sa, že sú bežiace kampane pozastavené. Reštartovať?\",\n    \"settings.duplicateMessengerName\": \"Duplicitné meno odosielateľa: {name}\",\n    \"settings.errorEncoding\": \"Chyba pri kódování nastavení: {error}\",\n    \"settings.errorNoSMTP\": \"Mal by byť povolený aspoň jeden blok SMTP\",\n    \"settings.general.adminNotifEmails\": \"E-mailové oznámenia administrátora\",\n    \"settings.general.adminNotifEmailsHelp\": \"Zoznam e-mailových adries oddelených čiarkami, na ktoré by se mali odoslať oznámenia administrátora, ako sú aktualizácie importu, dokončenia kampaní, chyby atď.\",\n    \"settings.general.checkUpdates\": \"Kontrola aktualizácií\",\n    \"settings.general.checkUpdatesHelp\": \"Pravidelne kontrolovať nové vydanie aplikácie a upozorniť.\",\n    \"settings.general.enablePublicArchive\": \"Zapnúť verejný archív\",\n    \"settings.general.enablePublicArchiveHelp\": \"Zverejniť kampane, pre ktoré je povolená archivácia na verejnej webstránke.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Zobraziť kompletný obsah v RSS feede\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Zobraziť kompletný obsah e-mailu v RSS feede. Ak je zakázaný, zobrazia sa iba názov a odkazy.\",\n    \"settings.general.enablePublicSubPage\": \"Povoliť verejnú stránku odberu\",\n    \"settings.general.enablePublicSubPageHelp\": \"Zobraziť verejnú stránku odberu so všetkými verejnými zoznamami pre ľudí k odberu.\",\n    \"settings.general.faviconURL\": \"URL adresa faviconu\",\n    \"settings.general.faviconURLHelp\": \"(Voliteľné) Úplná adresa URL statickej favicon pre verejné stránky, ako je stránka zrušenia odberu.\",\n    \"settings.general.fromEmail\": \"Predvolený e-mail `od`\",\n    \"settings.general.fromEmailHelp\": \"Predvolená e-mailová adres `od` v odosielaných kampaniach. Dá sa nastaviť v každej kampani.\",\n    \"settings.general.language\": \"Jazyk\",\n    \"settings.general.logoURL\": \"URL adresa loga\",\n    \"settings.general.logoURLHelp\": \"(Volitelné) Úplná adresa URL statického loga na verejných stránkach, ako je stránka na zrušenie odberu.\",\n    \"settings.general.name\": \"Všeobecné\",\n    \"settings.general.rootURL\": \"Korenová adresa URL\",\n    \"settings.general.rootURLHelp\": \"Verejná adresa URL instalácia (bez koncového lomítka).\",\n    \"settings.general.sendOptinConfirm\": \"Potvrdzovať odbery\",\n    \"settings.general.sendOptinConfirmHelp\": \"Odosielať e-mail s potvrdení po prihlásení alebo pridaní nových odberateľov v admin formulári.\",\n    \"settings.general.siteName\": \"Meno stránky\",\n    \"settings.invalidMessengerName\": \"Neplatné meno doručovateľa.\",\n    \"settings.mailserver.authProtocol\": \"Overovací protokol\",\n    \"settings.mailserver.host\": \"Hostiteľ\",\n    \"settings.mailserver.hostHelp\": \"Adresa hostiteľa serveru SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Časový limit nečinnosti\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Doba čakania na novú aktivitu na pripojení pred uzavretím a odobratím z poolu (s - sekundy, m - minuty).\",\n    \"settings.mailserver.maxConns\": \"Maximálny počet spojení\",\n    \"settings.mailserver.maxConnsHelp\": \"Maximálny počet súčasných spojení na server.\",\n    \"settings.mailserver.nameHelp\": \"Voliteľný jedinečný názov pre SMTP server. Musí mať predponu email-. Povolenie tohto umožní konkrétne vybrať server pre kampaň. napríklad: email-primary-server. Alfanumerické / pomlčka.\",\n    \"settings.mailserver.password\": \"Heslo\",\n    \"settings.mailserver.passwordHelp\": \"Klávesou Enter zadajte zmenu\",\n    \"settings.mailserver.port\": \"Port\",\n    \"settings.mailserver.portHelp\": \"Port serveru SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Preskočiť overovanie TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Preskočí kontrolu názvu hostitele na certifikát TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Povoliť STARTTLS.\",\n    \"settings.mailserver.username\": \"Meno používateľa\",\n    \"settings.mailserver.waitTimeout\": \"Časový limit čakania\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Doba čakania na novú aktivitu na pripojení pred uzavretím a odobratí z poolu (s - sekundy, m - minuty).\",\n    \"settings.maintenance.cron\": \"Interval Cron\",\n    \"settings.media.provider\": \"Poskytovateľ\",\n    \"settings.media.s3.bucket\": \"Sekcia\",\n    \"settings.media.s3.bucketPath\": \"Cesta bucketu\",\n    \"settings.media.s3.bucketPathHelp\": \"Cesta vnútri bucketu na nahrávanie súborov. Predvolená je /\",\n    \"settings.media.s3.bucketType\": \"Typ bucketu\",\n    \"settings.media.s3.bucketTypePrivate\": \"Súkromný\",\n    \"settings.media.s3.bucketTypePublic\": \"Verejný\",\n    \"settings.media.s3.key\": \"Prístupový kľúč AWS\",\n    \"settings.media.s3.publicURL\": \"Voliteľná verejná URL\",\n    \"settings.media.s3.publicURLHelp\": \"Zákaznícka doména S3 použitá na odkazy na obrázky namiesto predvolenej S3 URL.\",\n    \"settings.media.s3.region\": \"Región\",\n    \"settings.media.s3.secret\": \"Prístupové tajomstvo AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Expirácia nahrávania\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Voliteľné) Uveďte TTL pre generovanú vopred podpísanú adresu URL. Vhodné len pre súkromné buckety (s, m, h, d pre sekundy, minúty, hodiny, dni).\",\n    \"settings.media.s3.url\": \"Adresa URL pre S3 backend\",\n    \"settings.media.s3.urlHelp\": \"Dá sa nastaviť ak používateľ S3 kompatibilný backend ako napr. Minio.\",\n    \"settings.media.title\": \"Nahrávanie médií\",\n    \"settings.media.upload.extensions\": \"Povolené prípony súborov\",\n    \"settings.media.upload.extensionsHelp\": \"Pridajte * pre povolenie všetkých prípon\",\n    \"settings.media.upload.path\": \"Cesta nahrávania\",\n    \"settings.media.upload.pathHelp\": \"Cesta k priečinku, kde se nahrávajú médiá.\",\n    \"settings.media.upload.uri\": \"URI nahrávania\",\n    \"settings.media.upload.uriHelp\": \"URI nahrávania viditeľná verejnosti. Médiá nahrávané do cesty_nahrávania budú budú verejne prístupné na adrese {root_url}, napr. https://listmonk.yoursite.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Maximálny počet spojení\",\n    \"settings.messengers.maxConnsHelp\": \"Maximálny počet súčasných spojení so serverom.\",\n    \"settings.messengers.messageSaved\": \"Nastavenia uložené. Aplikácia sa reštartuje ...\",\n    \"settings.messengers.name\": \"Doručovatelia\",\n    \"settings.messengers.nameHelp\": \"napr.: my-sms. Alfanumerika / pomlčka.\",\n    \"settings.messengers.password\": \"Heslo\",\n    \"settings.messengers.retries\": \"Opakovanie\",\n    \"settings.messengers.retriesHelp\": \"Počet opakovaných pokusov, keď odoslanie zlyhá.\",\n    \"settings.messengers.skipTLSHelp\": \"Preskočiť kontrolu názvu hostiteľa na certifikát TLS.\",\n    \"settings.messengers.timeout\": \"Časový limit nečinnosti\",\n    \"settings.messengers.timeoutHelp\": \"Doba čakania na novú aktivitu na spojení pred uzavretíme a odobratím z poolu (s - sekundy, m - minuty).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Koreňová adresa URL serveru Postback.\",\n    \"settings.messengers.username\": \"Meno používateľa\",\n    \"settings.needsRestart\": \"Nastavenia zmenené. Pozastavte všetky spustené kampane a reštartuje aplikáciu\",\n    \"settings.performance.batchSize\": \"Veľkosť dávky\",\n    \"settings.performance.batchSizeHelp\": \"Počet odberateľov na stiahnutie z databázy v jednej iterácii. Každá iterácia stiahne odberateľov z databáze, odošle im správy a potom se presunie na dalšiu iteráciu, aby stiahla dalšiu dávku. Ideálne by mala byť vyššia než je maximálne dosiahnuteľná priepustnosť (súbežnosť * počet správ).\",\n    \"settings.performance.cacheSlowQueries\": \"Ukladať pomalé databázové požiadavky do vyrovnávacej pamäte\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Povolte len v prípade veľkých databáz, ktoré výrazne spomali. Kešuje počet predplatiteľov zoznamu, štatistiky panela atď.\",\n    \"settings.performance.concurrency\": \"Súbežnosť\",\n    \"settings.performance.concurrencyHelp\": \"Maximálny počet súbežných procesov, ktoré se súčasne odosielajú správy.\",\n    \"settings.performance.maxErrThreshold\": \"Maximálna prahová hodnota chýb\",\n    \"settings.performance.maxErrThresholdHelp\": \"Počet chýb (napr.: časové limity SMTP pri odosielaní e-mailov), ktoré by bežiaca kampaň mala tolerovať, než se pozastaví, aby se umožnilo manuálne preskúmanie alebo intervencia. Pri nastavení na 0 sa nikdy nepozastaví.\",\n    \"settings.performance.messageRate\": \"Rýchlosť odosielania\",\n    \"settings.performance.messageRateHelp\": \"Maximálny počet správ, ktoré sa majú odoslať za sekundu v 1 procese za sekundu. Ak je súbežnosť 10 a rýchlosť odosielania 10, potom je možné každú sekundu odoslať až 10x10=100 správ. Toto, spolu so súbežnosťou má zabezpečiť, aby se udržala rýchlosť odosielania správ pod limitom cieľových serverov.\",\n    \"settings.performance.name\": \"Výkon\",\n    \"settings.performance.slidingWindow\": \"Povoliť limit posuvného okna\",\n    \"settings.performance.slidingWindowDuration\": \"Dĺžka okna\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Doba trvania posuvného okna (m - minuty, h - hodiny).\",\n    \"settings.performance.slidingWindowHelp\": \"Limit celkového počtu správ odoslaných za dané obdobie. Pri dosiahnutí tohoto limitu sa zastaví odosielanie správ, dokud se časové okno nevyčistí.\",\n    \"settings.performance.slidingWindowRate\": \"Maximálny počet správ\",\n    \"settings.performance.slidingWindowRateHelp\": \"Maximálny počet správ na odoslanie v okne.\",\n    \"settings.privacy.allowBlocklist\": \"Povoliť zoznam blokovaných\",\n    \"settings.privacy.allowBlocklistHelp\": \"Povoliť odberateľom zrušiť odber zo všetkých zoznamov a označiť sa ako blokované?\",\n    \"settings.privacy.allowExport\": \"Umožniť export\",\n    \"settings.privacy.allowExportHelp\": \"Umožniť odberateľom exportovať svoje údaje?\",\n    \"settings.privacy.allowPrefs\": \"Povoliť zmenu predvolieb\",\n    \"settings.privacy.allowPrefsHelp\": \"Povoliť prihláseným zmenu predvolieb ako sú meno a prihlásenie k viacerým zoznamom.\",\n    \"settings.privacy.allowWipe\": \"Povoliť vymazanie\",\n    \"settings.privacy.allowWipeHelp\": \"Dovolí odberateľom odstrániť svoje odbery a všetky súvisiace údaje z databázy. Pozretia kampaní a kliknutia na odkazy se tiež odstránia, pozretia a počty kliknutí sa zachovajú (ale nebudú mať odberateľa), takže štatistiky a analýzy nebudú ovplyvnené.\",\n    \"settings.privacy.domainAllowlist\": \"Zoznam povolených domén\",\n    \"settings.privacy.domainAllowlistHelp\": \"Iba e-mailové adresy z týchto domén môžu odoberať newsletter. Zadajte jednu doménu na riadok, napríklad: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Zoznam blokovaných domén\",\n    \"settings.privacy.domainBlocklistHelp\": \"E-mailové adresy z týchto domén sa nemôžu prihlásiť na odber. Uveďte jednu doménu na riadok, napr: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Sledovanie jednotlivých odberateľov\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Sledovať kliknutia a pozretia kampane na úrovni odberateľov. Ak to je zakázané, sledovanie kliknutí a pozretí pokračuje bez prepojenia s odberateľmi.\",\n    \"settings.privacy.listUnsubHeader\": \"Nastaviť hlavičku `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Nastaví hlavičku zrušenia odberov, ktorá umožňuje e-mailovým klientom, aby povolili používateľom zrušiť odber jedným kliknutím.\",\n    \"settings.privacy.name\": \"Súkromie\",\n    \"settings.privacy.recordOptinIP\": \"Zaznamenávať IP adresu opt-in\",\n    \"settings.privacy.recordOptinIPHelp\": \"Zaznamenávať IP adresu pri dvojitej opt-in v atribútoch odberateľov.\",\n    \"settings.restart\": \"Restarť\",\n    \"settings.security.CORSDomains\": \"Povolené zdroje\",\n    \"settings.security.CORSDomainsHelp\": \"Povoliť prístup k API koncovým bodom cez prehliadačový Javascript z externých domén. Zadajte jednu doménu na riadok (napr.: https://example.com). Nechajte prázdne na zakázanie CORS alebo pridajte * na povolenie všetkých (neodporúča sa).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Automaticky vytvárať používateľov\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Automaticky vytvoriť používateľa pri prvom prihlásení, ak účet neexistuje.\",\n    \"settings.security.OIDCClientID\": \"ID klienta\",\n    \"settings.security.OIDCClientSecret\": \"Heslo klienta\",\n    \"settings.security.OIDCDefaultListRole\": \"Predvolená rola v zozname\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Predvolená rola priradená používateľom automaticky vytvoreným cez OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Predvolená používateľská rola\",\n    \"settings.security.OIDCHelp\": \"Povoľuje prihlásenie sa pomocou OpenID Connect OAuth2 cez poskytovateľa OAuth.\",\n    \"settings.security.OIDCName\": \"Názov poskytovateľa\",\n    \"settings.security.OIDCRedirectURL\": \"Presmerovacia URL adresa pre poskytovateľa oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Toto sa nezdá byť produkčnou URL adresou. Zmeňte koreňovú URL adresu v nastaveniach „Všeobecné“.\",\n    \"settings.security.OIDCURL\": \"URL poskytovateľa\",\n    \"settings.security.OIDCWarning\": \"Pri zapnutom OIDC je vypnuté predvolené prihlasovanie heslom. Nevhodná konfigurácia môže vám znemožniť prístup.\",\n    \"settings.security.altchaComplexity\": \"Zložitosť Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Vyššie hodnoty poskytujú lepšiu bezpečnosť, ale pomalšie riešenie (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com kľúč webovej stránky\",\n    \"settings.security.captchaKeyHelp\": \"Navštívte www.hcaptcha.com, aby ste získali kľúč a tajomstvo.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com tajomstvo\",\n    \"settings.security.enableCaptcha\": \"Povoliť CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Povoliť CAPTCHA vo verejnom formulári na zápis.\",\n    \"settings.security.enableOIDC\": \"Povoľiť jednotné prihlásenie\",\n    \"settings.security.name\": \"Bezpečnostné opatrenia\",\n    \"settings.smtp.customHeaders\": \"Vlastné hlavičky\",\n    \"settings.smtp.customHeadersHelp\": \"Voliteľné polia e-mailových hlavičiek, ktorá sa majú nastaviť do všetkých správ odoslaných z tohoto servera. Napr.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Zapnuté\",\n    \"settings.smtp.heloHost\": \"Názov hostiteľa HELO\",\n    \"settings.smtp.heloHostHelp\": \"Voliteľné. Niektoré servery SMTP požadujú FQDN názov v názve hostiteľa. Štandardne je HELO `localhost`. Nastavte, ak by se mal použiť vlastný názov hostiteľa.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Opakovanie\",\n    \"settings.smtp.retriesHelp\": \"Počet opakovaných pokusov, keď odoslanie zlyhá.\",\n    \"settings.smtp.sendTest\": \"Odeslať e-mail\",\n    \"settings.smtp.setCustomHeaders\": \"Nastaviť vlastné hlavičky\",\n    \"settings.smtp.testConnection\": \"Vyskúšať spojenie\",\n    \"settings.smtp.testEnterEmail\": \"Vložte heslo na vyskúšanie\",\n    \"settings.smtp.toEmail\": \"Na e-mail\",\n    \"settings.title\": \"Nastavenia\",\n    \"settings.updateAvailable\": \"Nová aktualizácia {version} je k dispozícii.\",\n    \"subscribers.activity\": \"Aktivita\",\n    \"subscribers.advancedQuery\": \"Rozšírené\",\n    \"subscribers.advancedQueryHelp\": \"Časť výrazu SQL k dotazu na atribúty odberateľov\",\n    \"subscribers.attribsHelp\": \"Atribúty sú definované ako mapa JSON, napr.:\",\n    \"subscribers.blocklistedHelp\": \"Odberateľlia na zozname blokovaných nikdy nedostanú žiadne emaily.\",\n    \"subscribers.confirmBlocklist\": \"Blokovať {num} odberateľov?\",\n    \"subscribers.confirmDelete\": \"Odstrániť {num} odberateľov?\",\n    \"subscribers.confirmExport\": \"Exportovať {num} odberateľov?\",\n    \"subscribers.domainBlocklisted\": \"E-mailová doména je blokovaná.\",\n    \"subscribers.downloadData\": \"Stiahnuť údaje?\",\n    \"subscribers.email\": \"E-mail\",\n    \"subscribers.emailExists\": \"E-mail už existuje.\",\n    \"subscribers.errorBlocklisting\": \"Chyba pri nastavovaní odberateľov na zoznam blokovaných: {error}\",\n    \"subscribers.errorNoIDs\": \"Nie sú uvedené žiadne ID.\",\n    \"subscribers.errorNoListsGiven\": \"Nie sú uvedené žiadne zoznamy.\",\n    \"subscribers.errorPreparingQuery\": \"Chyba pri príprave dotazu na odberateľov: {error}\",\n    \"subscribers.errorSendingOptin\": \"Chyba pri odosielaní potvrdzovacieho e-mailu.\",\n    \"subscribers.export\": \"Exportovať\",\n    \"subscribers.invalidAction\": \"Neplatná akcia.\",\n    \"subscribers.invalidEmail\": \"Neplatný e-mail.\",\n    \"subscribers.invalidJSON\": \"Neplatný JSON v atribútoch.\",\n    \"subscribers.invalidName\": \"Neplatné meno.\",\n    \"subscribers.listChangeApplied\": \"Zmena zoznamu uložená.\",\n    \"subscribers.lists\": \"Zoznamy\",\n    \"subscribers.listsHelp\": \"Zoznamy, z ktorých sa odberatelia odhlásili sa nedajú odstrániť.\",\n    \"subscribers.listsPlaceholder\": \"Zoznamy na odber\",\n    \"subscribers.manageLists\": \"Spravovať zoznamy\",\n    \"subscribers.markUnsubscribed\": \"Označiť ako zrušený odber\",\n    \"subscribers.newSubscriber\": \"Nový odberateľ\",\n    \"subscribers.numSelected\": \"{num} vybraných odberateľov\",\n    \"subscribers.optinSubject\": \"Potvrdenie odberu\",\n    \"subscribers.preconfirm\": \"Pred-potvrdiť odbery\",\n    \"subscribers.preconfirmHelp\": \"Neodosielať potvrdzovanie a označiť všetky e-maily v zozname ako 'Odeberané'.\",\n    \"subscribers.query\": \"Dotaz\",\n    \"subscribers.queryPlaceholder\": \"E-mail alebo meno\",\n    \"subscribers.reset\": \"Vynulovať\",\n    \"subscribers.selectAll\": \"Vybrat všetko {num}\",\n    \"subscribers.sendOptinConfirm\": \"Odoslať potvrdenie odberu\",\n    \"subscribers.sentOptinConfirm\": \"Potvrdenia odberu odoslané\",\n    \"subscribers.status.blocklisted\": \"Uvedené na zozname blokovaných\",\n    \"subscribers.status.confirmed\": \"Potvrdený\",\n    \"subscribers.status.enabled\": \"Povolený\",\n    \"subscribers.status.subscribed\": \"Odoberá\",\n    \"subscribers.status.unconfirmed\": \"Nepotvrdený\",\n    \"subscribers.status.unsubscribed\": \"Odhlásený\",\n    \"subscribers.subscribersDeleted\": \"{num} odstránených odberateľov\",\n    \"templates.cantDeleteDefault\": \"Nedá sa odstrániť predvolená šablóna\",\n    \"templates.default\": \"Predvolená\",\n    \"templates.dummyName\": \"Fiktívna kampaň\",\n    \"templates.dummySubject\": \"Predmet fiktívnej kampane\",\n    \"templates.errorCompiling\": \"Chyba pri kompilácii šablóny: {error}\",\n    \"templates.errorRendering\": \"Chyba pri renderovaní správy: {error}\",\n    \"templates.fieldInvalidName\": \"Neplatná dĺžka mena.\",\n    \"templates.makeDefault\": \"Nastaviť ako predvolenú\",\n    \"templates.newTemplate\": \"Nová šablóna\",\n    \"templates.placeholderHelp\": \"Zástupný symbol {placeholder} by se mal v šablóne objaviť práve raz.\",\n    \"templates.preview\": \"Náhľad\",\n    \"templates.rawHTML\": \"Kód HTML\",\n    \"templates.subject\": \"Predmet\",\n    \"templates.typeCampaignHTML\": \"Kampaň / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampaň / Vizuálne\",\n    \"templates.typeTransactional\": \"Transakčný\",\n    \"users.apiOneTimeToken\": \"Skopírujte prístupový token k API. Nebude zobrazený znova.\",\n    \"users.cantDeleteRole\": \"Nie je možné odstrániť rolu, ktorá sa používa.\",\n    \"users.firstTime\": \"Je to čerstvá inštalácia. Vyberte si používateľské meno a heslo pre účet Super Admin.\",\n    \"users.forgotPassword\": \"Zabudli ste heslo?\",\n    \"users.invalidLogin\": \"Neplatné prihlásenie alebo heslo\",\n    \"users.invalidPassword\": \"Neplatné heslo\",\n    \"users.invalidRequest\": \"Neplatná autentifikačná žiadosť\",\n    \"users.invalidResetLink\": \"Neplatný alebo expirovaný odkaz na obnovenie\",\n    \"users.lastLogin\": \"Posledné prihlásenie\",\n    \"users.listPerms\": \"Povolenia na zoznamy\",\n    \"users.listPermsWarning\": \"sú povolené povolenia lists:get_all alebo lists:manage_all, ktoré prepisujú povolenia pre jednotlivé zoznamy\",\n    \"users.listRole\": \"Rola zoznamu | Rola zoznamu\",\n    \"users.listRoles\": \"Role zoznamov\",\n    \"users.login\": \"Prihlásiť\",\n    \"users.loginOIDC\": \"Prihlásiť sa cez {name}\",\n    \"users.logout\": \"Odhlásiť\",\n    \"users.needSuper\": \"Používateľ(ia) sa nepodarilo aktualizovať. Musí existovať aspoň jeden aktívny používateľ s oprávneniami Super Admin.\",\n    \"users.newListRole\": \"Nová rola zoznamu\",\n    \"users.newPassword\": \"Nové heslo\",\n    \"users.newUser\": \"Nový používateľ\",\n    \"users.newUserRole\": \"Nová používateľská rola\",\n    \"users.password\": \"Heslo\",\n    \"users.passwordEnable\": \"Povoľiť prihlasovanie heslom\",\n    \"users.passwordMismatch\": \"Heslá sa nezhodujú\",\n    \"users.passwordRepeat\": \"Opakujte heslo\",\n    \"users.perms\": \"Oprávnenia\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Ak je účet aktívny, dostanete e-mail na obnovenie hesla.\",\n    \"users.resetPassword\": \"Obnoviť heslo\",\n    \"users.role\": \"Rola | Role\",\n    \"users.roleGroup\": \"Skupina\",\n    \"users.roles\": \"Role\",\n    \"users.status.disabled\": \"Zablokovaný\",\n    \"users.status.enabled\": \"Aktívny\",\n    \"users.totpCode\": \"TOTP kód\",\n    \"users.totpCodeHelp\": \"Zadajte 6-miestny kód z vašej autentifikačnej aplikácie\",\n    \"users.totpScanQR\": \"Naskenujte QR kód pomocou autentifikačnej aplikácie ako Ente alebo Google Authenticator a zadajte TOTP kód nižšie.\",\n    \"users.totpSecret\": \"Tajný kľúč\",\n    \"users.twoFA\": \"Dvojfaktorová autentifikácia\",\n    \"users.twoFAAlreadyEnabled\": \"Dvojfaktorová autentifikácia je už zapnutá.\",\n    \"users.twoFAEnabled\": \"Dvojfaktorová autentifikácia je zapnutá\",\n    \"users.twoFAEnabledDesc\": \"Váš účet je chránený pomocou {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Zapnite 2FA pre dodatočnú bezpečnosť pri prihlasovaní do vášho účtu.\",\n    \"users.type\": \"Typ\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super Admin\",\n    \"users.type.user\": \"Používateľ\",\n    \"users.userRole\": \"Rola používateľa | Role používateľa\",\n    \"users.userRoles\": \"Role používateľov\",\n    \"users.username\": \"Používateľské meno\",\n    \"users.usernameHelp\": \"Používa sa pri prihlásení pomocou hesla\"\n}\n"
  },
  {
    "path": "i18n/sl.json",
    "content": "{\n    \"_.code\": \"sl\",\n    \"_.name\": \"Slovenščina (sl)\",\n    \"admin.errorMarshallingConfig\": \"Napaka pri razvrščanju konfiguracije: {error}\",\n    \"analytics.count\": \"Štetje\",\n    \"analytics.fromDate\": \"Od\",\n    \"analytics.invalidDates\": \"Neveljavni datumi `od` ali `do`.\",\n    \"analytics.isUnique\": \"Število je edinstveno na naročnika.\",\n    \"analytics.links\": \"Povezave\",\n    \"analytics.nonUnique\": \"Štetje ni edinstveno, saj je sledenje posameznim naročnikom izklopljeno.\",\n    \"analytics.title\": \"Analitika\",\n    \"analytics.toDate\": \"Do\",\n    \"bounces.complaint\": \"Pritožba\",\n    \"bounces.hard\": \"Težko\",\n    \"bounces.soft\": \"Mehko\",\n    \"bounces.source\": \"Vir\",\n    \"bounces.unknownService\": \"Neznana storitev.\",\n    \"bounces.view\": \"Ogled odklonov\",\n    \"campaigns.addAltText\": \"Dodaj nadomestno navadno besedilno sporočilo\",\n    \"campaigns.addAttachments\": \"Dodaj priloge\",\n    \"campaigns.archive\": \"Arhiv\",\n    \"campaigns.archiveEnable\": \"Objavi v javnem arhivu\",\n    \"campaigns.archiveHelp\": \"Objavi (v teku, zaustavljeno, končano) sporočilo kampanje v javnem arhivu.\",\n    \"campaigns.archiveMeta\": \"Metapodatki oglaševalske akcije\",\n    \"campaigns.archiveMetaHelp\": \"Navidezni naročniški podatki za uporabo v javnem sporočilu, vključno z imenom, e-pošto in vsemi neobveznimi atributi, uporabljenimi v sporočilu ali predlogi oglaševalske akcije.\",\n    \"campaigns.archiveSlug\": \"URL naslov\",\n    \"campaigns.archiveSlugHelp\": \"Kratko ime za stran, ki bo uporabljena v javnem URL-ju. Npr.: my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Priloge\",\n    \"campaigns.attribsHelp\": \"Po meri definirani JSON {} atributi za to kampanjo. Uporabite v predlogi z {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Ne morem posodobiti tekoče ali končane akcije.\",\n    \"campaigns.clicks\": \"Kliki\",\n    \"campaigns.confirmDelete\": \"Izbriši {name}\",\n    \"campaigns.confirmOverwriteContent\": \"To bo prepisalo celotno vsebino. Nadaljujete?\",\n    \"campaigns.confirmSchedule\": \"Ta akcija se bo začela samodejno ob načrtovanem datumu in uri. Načrtovati zdaj?\",\n    \"campaigns.confirmSwitchFormat\": \"Vsebina lahko izgubi oblikovanje. Nadaljujem?\",\n    \"campaigns.content\": \"Vsebina\",\n    \"campaigns.contentHelp\": \"Vsebina tukaj\",\n    \"campaigns.continue\": \"Nadaljuj\",\n    \"campaigns.copyOf\": \"Kopija {name}\",\n    \"campaigns.customHeadersHelp\": \"Dodatne glave [Headers], ki se pošljejo pri vseh sporočilih poslenih s tega strežnika. Npr.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"vrednost\\\" }]\",\n    \"campaigns.dateAndTime\": \"Datum in ura\",\n    \"campaigns.ended\": \"Končano\",\n    \"campaigns.errorSendTest\": \"Napaka pri pošiljanju testa: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Napaka pri prevajanju telesa akcije: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Neveljaven `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Neveljavni ID-ji seznamov.\",\n    \"campaigns.fieldInvalidMessenger\": \"Neznan messenger {name}.\",\n    \"campaigns.fieldInvalidName\": \"Neveljavna dolžina imena.\",\n    \"campaigns.fieldInvalidSendAt\": \"Načrtovani datum bi moral biti v prihodnosti.\",\n    \"campaigns.fieldInvalidSubject\": \"Neveljavna dolžina zadeve.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"Oblika HTML\",\n    \"campaigns.fromAddress\": \"Naslov pošiljatelja\",\n    \"campaigns.fromAddressPlaceholder\": \"Vaše ime <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"Uvozi vizualno predlogo\",\n    \"campaigns.invalid\": \"Neveljavna akcija\",\n    \"campaigns.invalidCustomHeaders\": \"Neveljavni naslovi [Headers] po meri: {error}\",\n    \"campaigns.markdown\": \"Oznaka\",\n    \"campaigns.needsSendAt\": \"Kampanja potrebuje datum za načrtovanje.\",\n    \"campaigns.newCampaign\": \"Nova akcija\",\n    \"campaigns.noKnownSubsToTest\": \"Ni znanih naročnikov za testiranje.\",\n    \"campaigns.noOptinLists\": \"Ni bilo najdenih seznamov za prijavo za ustvarjanje kampanje.\",\n    \"campaigns.noSubs\": \"Na izbranih seznamih ni naročnikov za ustvarjanje akcije.\",\n    \"campaigns.noSubsToTest\": \"Ni ciljnih naročnikov.\",\n    \"campaigns.notFound\": \"Akcije ni bilo mogoče najti.\",\n    \"campaigns.onlyActiveCancel\": \"Prekličete lahko samo aktivne akcije.\",\n    \"campaigns.onlyActivePause\": \"Zaustavite lahko samo aktivne akcije.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Načrtovati je mogoče samo osnutke oglaševalskih akcij.\",\n    \"campaigns.onlyPausedDraft\": \"Zaženete lahko samo zaustavljene akcije in osnutke.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Samo načrtovane akcije je mogoče shraniti kot osnutke.\",\n    \"campaigns.pause\": \"Zaustavi\",\n    \"campaigns.plainText\": \"Navadno besedilo\",\n    \"campaigns.preview\": \"Predogled\",\n    \"campaigns.progress\": \"Napredek\",\n    \"campaigns.queryPlaceholder\": \"Ime ali zadeva\",\n    \"campaigns.rateMinuteShort\": \"min\",\n    \"campaigns.rawHTML\": \"Neobdelani HTML\",\n    \"campaigns.removeAltText\": \"Odstrani nadomestno navadno besedilno sporočilo\",\n    \"campaigns.richText\": \"Obogateno besedilo\",\n    \"campaigns.schedule\": \"Razpored akcije\",\n    \"campaigns.scheduled\": \"Načrtovano\",\n    \"campaigns.send\": \"Pošlji\",\n    \"campaigns.sendLater\": \"Pošlji pozneje\",\n    \"campaigns.sendTest\": \"Pošlji testno sporočilo\",\n    \"campaigns.sendTestHelp\": \"Po vnosu naslova pritisnite Enter, da dodate več prejemnikov. Naslovi morajo pripadati obstoječim naročnikom.\",\n    \"campaigns.sendToLists\": \"Seznami za pošiljanje\",\n    \"campaigns.sent\": \"Poslano\",\n    \"campaigns.start\": \"Začni akcijo\",\n    \"campaigns.started\": \"\\\"{name}\\\" se je začela\",\n    \"campaigns.startedAt\": \"Začetek\",\n    \"campaigns.stats\": \"Statistika\",\n    \"campaigns.status.cancelled\": \"Preklicano\",\n    \"campaigns.status.draft\": \"Osnutek\",\n    \"campaigns.status.finished\": \"Končano\",\n    \"campaigns.status.paused\": \"Zaustavljeno\",\n    \"campaigns.status.running\": \"Teče\",\n    \"campaigns.status.scheduled\": \"Načrtovano\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" je {status}\",\n    \"campaigns.subject\": \"Zadeva\",\n    \"campaigns.templatingRef\": \"Referenca predlog\",\n    \"campaigns.testEmails\": \"E-poštna sporočila\",\n    \"campaigns.testSent\": \"Poslano testno sporočilo\",\n    \"campaigns.timestamps\": \"Časovni žigi\",\n    \"campaigns.trackLink\": \"Sledenje povezavi\",\n    \"campaigns.unSchedule\": \"Prekliči načrtovanje\",\n    \"campaigns.views\": \"Ogledi\",\n    \"campaigns.visual\": \"Vizualno\",\n    \"dashboard.campaignViews\": \"Ogledi oglaševalske akcije\",\n    \"dashboard.linkClicks\": \"Kliki povezav\",\n    \"dashboard.messagesSent\": \"Poslana sporočila\",\n    \"dashboard.orphanSubs\": \"Osirote\",\n    \"email.data.info\": \"Kopija vseh podatkov, zabeleženih o vas, je priložena kot datoteka v formatu JSON. Ogledate si jo lahko v urejevalniku besedil.\",\n    \"email.data.title\": \"Vaši podatki\",\n    \"email.forgotPassword.button\": \"Ponastavi geslo\",\n    \"email.forgotPassword.info\": \"Če niste zahtevali tega, lahko ta e-pošto varno ignorirate. Povezava bo potekla v 30 minutah.\",\n    \"email.forgotPassword.subject\": \"Ponastavi svoje geslo\",\n    \"email.optin.confirmSub\": \"Potrdi naročnino\",\n    \"email.optin.confirmSubHelp\": \"Potrdite svojo naročnino s klikom na spodnji gumb.\",\n    \"email.optin.confirmSubInfo\": \"Dodani ste bili na naslednje sezname:\",\n    \"email.optin.confirmSubTitle\": \"Potrdi naročnino\",\n    \"email.optin.confirmSubWelcome\": \"Pozdravljeni\",\n    \"email.optin.privateList\": \"Zasebni seznam\",\n    \"email.status.campaignReason\": \"Razlog\",\n    \"email.status.campaignSent\": \"Poslano\",\n    \"email.status.campaignUpdateTitle\": \"Posodobitev akcije\",\n    \"email.status.importFile\": \"Datoteka\",\n    \"email.status.importRecords\": \"Zapisi\",\n    \"email.status.importTitle\": \"Uvozi posodobitev\",\n    \"email.status.status\": \"Stanje\",\n    \"email.unsub\": \"Odjava\",\n    \"email.unsubHelp\": \"Ne želite prejemati te e-pošte?\",\n    \"email.viewInBrowser\": \"Ogled v brskalniku\",\n    \"forms.formHTML\": \"HTML obrazca\",\n    \"forms.formHTMLHelp\": \"Uporabite naslednji HTML za prikaz obrazca za naročnino na zunanji spletni strani. Obrazec mora imeti polje za e-pošto in eno ali več polj `l` (seznam UUID). Polje z imenom ni obvezno.\",\n    \"forms.noPublicLists\": \"Ni javnih seznamov za ustvarjanje obrazcev.\",\n    \"forms.publicLists\": \"Javni seznami\",\n    \"forms.publicSubPage\": \"Javna stran za naročanje\",\n    \"forms.selectHelp\": \"Izberite sezname za dodajanje v obrazec.\",\n    \"forms.title\": \"Obrazci\",\n    \"globals.buttons.add\": \"Dodaj\",\n    \"globals.buttons.addNew\": \"Dodaj novo\",\n    \"globals.buttons.back\": \"Nazaj\",\n    \"globals.buttons.cancel\": \"Prekliči\",\n    \"globals.buttons.clear\": \"Počisti\",\n    \"globals.buttons.clearAll\": \"Počisti vse\",\n    \"globals.buttons.clone\": \"Klon\",\n    \"globals.buttons.close\": \"Zapri\",\n    \"globals.buttons.continue\": \"Nadaljuj\",\n    \"globals.buttons.copy\": \"Kopiraj\",\n    \"globals.buttons.delete\": \"Izbriši\",\n    \"globals.buttons.deleteAll\": \"Izbriši vse\",\n    \"globals.buttons.disable\": \"Onemogoči\",\n    \"globals.buttons.edit\": \"Uredi\",\n    \"globals.buttons.enable\": \"Omogoči\",\n    \"globals.buttons.enabled\": \"Omogočeno\",\n    \"globals.buttons.insert\": \"Vstavi\",\n    \"globals.buttons.learnMore\": \"Več o tem\",\n    \"globals.buttons.manage\": \"Upravljaj\",\n    \"globals.buttons.more\": \"Več\",\n    \"globals.buttons.new\": \"Novo\",\n    \"globals.buttons.ok\": \"V redu\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Odstrani\",\n    \"globals.buttons.save\": \"Shrani\",\n    \"globals.buttons.saveChanges\": \"Shrani spremembe\",\n    \"globals.buttons.toggleSelect\": \"Preklopi izbiro\",\n    \"globals.buttons.view\": \"Pogled\",\n    \"globals.days.0\": \"ned\",\n    \"globals.days.1\": \"ned\",\n    \"globals.days.2\": \"pon\",\n    \"globals.days.3\": \"tor\",\n    \"globals.days.4\": \"sre\",\n    \"globals.days.5\": \"čet\",\n    \"globals.days.6\": \"pet\",\n    \"globals.days.7\": \"sob\",\n    \"globals.fields.createdAt\": \"Ustvarjeno\",\n    \"globals.fields.description\": \"Opis\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Ime\",\n    \"globals.fields.status\": \"Stanje\",\n    \"globals.fields.type\": \"Vrsta\",\n    \"globals.fields.updatedAt\": \"Posodobljeno\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Ste prepričani?\",\n    \"globals.messages.confirmDelete\": \"Izbriši {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Želite zavreči spremembe?\",\n    \"globals.messages.copied\": \"Kopirano\",\n    \"globals.messages.created\": \"\\\"{name}\\\" ustvarjen\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" izbrisano\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) izbrisano\",\n    \"globals.messages.done\": \"Končano\",\n    \"globals.messages.emptyState\": \"Tu ni ničesar\",\n    \"globals.messages.errorCreating\": \"Napaka pri ustvarjanju {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Napaka pri brisanju {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Napaka pri pridobivanju {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Eden ali več ID-jev je neveljavnih: {napaka}\",\n    \"globals.messages.errorUUID\": \"Napaka pri ustvarjanju UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Napaka pri posodabljanju {name}: {error}\",\n    \"globals.messages.internalError\": \"Notranja napaka strežnika\",\n    \"globals.messages.invalidData\": \"Neveljavni podatki\",\n    \"globals.messages.invalidFields\": \"Neveljavna polja: {name}\",\n    \"globals.messages.invalidID\": \"Neveljavni ID(-ji)\",\n    \"globals.messages.invalidUUID\": \"Neveljavni UUID(-ji)\",\n    \"globals.messages.invalidValue\": \"Neveljavna vrednost\",\n    \"globals.messages.missingFields\": \"Manjkajoče polje(a): {name}\",\n    \"globals.messages.notFound\": \"{name} ni bilo mogoče najti\",\n    \"globals.messages.numSelected\": \"{num} izbranih\",\n    \"globals.messages.passwordChange\": \"Vnesite vrednost za spremembo\",\n    \"globals.messages.passwordChangeFull\": \"Počisti in znova vnesi celotno geslo v '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Dostop zavrnjen: {name}\",\n    \"globals.messages.selectAll\": \"Izberi vse {num}\",\n    \"globals.messages.slowQueriesCached\": \"Počasne poizvedbe se predpomnijo. Nekatere številke na tej strani ne bodo posodobljene.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" posodobljeno\",\n    \"globals.months.1\": \"jan\",\n    \"globals.months.10\": \"okt\",\n    \"globals.months.11\": \"nov\",\n    \"globals.months.12\": \"dec\",\n    \"globals.months.2\": \"feb\",\n    \"globals.months.3\": \"mar\",\n    \"globals.months.4\": \"apr\",\n    \"globals.months.5\": \"maj\",\n    \"globals.months.6\": \"jun\",\n    \"globals.months.7\": \"jul\",\n    \"globals.months.8\": \"avg\",\n    \"globals.months.9\": \"sep\",\n    \"globals.states.off\": \"Izklopljeno\",\n    \"globals.terms.all\": \"Vse\",\n    \"globals.terms.analytics\": \"Analitika\",\n    \"globals.terms.attribs\": \"Atributi\",\n    \"globals.terms.bounce\": \"Odbiti | Odbiti\",\n    \"globals.terms.bounces\": \"Odboji\",\n    \"globals.terms.campaign\": \"Akcija | Oglaševalske akcije\",\n    \"globals.terms.campaigns\": \"Oglaševalske akcije\",\n    \"globals.terms.dashboard\": \"Nadzorna plošča\",\n    \"globals.terms.day\": \"Dan | Dnevi\",\n    \"globals.terms.hour\": \"Ura | Ure\",\n    \"globals.terms.import\": \"Uvozi\",\n    \"globals.terms.list\": \"Seznam | Seznami\",\n    \"globals.terms.lists\": \"Seznami\",\n    \"globals.terms.media\": \"Mediji | Mediji\",\n    \"globals.terms.messenger\": \"Messenger | Messengerji\",\n    \"globals.terms.messengers\": \"Slaniki\",\n    \"globals.terms.minute\": \"Minute | Minute\",\n    \"globals.terms.month\": \"Mesec | Meseci\",\n    \"globals.terms.new\": \"Novo\",\n    \"globals.terms.none\": \"Brez\",\n    \"globals.terms.second\": \"Sekunda | Sekunda\",\n    \"globals.terms.settings\": \"Nastavitve\",\n    \"globals.terms.subscriber\": \"Naročnik | Naročniki\",\n    \"globals.terms.subscribers\": \"Naročniki\",\n    \"globals.terms.subscriptions\": \"Naročnina | Naročnine\",\n    \"globals.terms.tag\": \"Oznaka | Oznake\",\n    \"globals.terms.tags\": \"Oznake\",\n    \"globals.terms.template\": \"Predloga | Predloge\",\n    \"globals.terms.templates\": \"Predloge\",\n    \"globals.terms.tx\": \"Transakcijsko | Transakcijsko\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Uporabnik | Uporabnika\",\n    \"globals.terms.users\": \"Uporabniki\",\n    \"globals.terms.year\": \"Leto | Leta\",\n    \"import.alreadyRunning\": \"Uvoz se že izvaja. Počakajte, da se konča ali ga ustavite, preden poskusite znova.\",\n    \"import.blocklist\": \"Seznam blokiranih\",\n    \"import.csvDelim\": \"Ločilo CSV\",\n    \"import.csvDelimHelp\": \"Privzeto ločilo je vejica.\",\n    \"import.csvExample\": \"Primer neobdelanega CSV\",\n    \"import.csvFile\": \"Datoteka CSV ali ZIP\",\n    \"import.csvFileHelp\": \"Kliknite ali povlecite datoteko CSV ali ZIP sem\",\n    \"import.errorCopyingFile\": \"Napaka pri kopiranju datoteke: {error}\",\n    \"import.errorProcessingZIP\": \"Napaka pri obdelavi datoteke ZIP: {error}\",\n    \"import.errorStarting\": \"Napaka pri zagonu uvoza: {error}\",\n    \"import.importDone\": \"Končano\",\n    \"import.importStarted\": \"Uvoz se je začel\",\n    \"import.instructions\": \"Navodila\",\n    \"import.instructionsHelp\": \"Naložite datoteko CSV ali datoteko ZIP z eno samo datoteko CSV za naročnike množičnega uvoza. Datoteka CSV mora imeti naslednje glave z natančnimi imeni stolpcev. Atributi (izbirno) morajo biti veljavni JSON niz z dvojnimi ubežnimi narekovaji.\",\n    \"import.invalidDelim\": \"Ločilo mora biti en znak.\",\n    \"import.invalidFile\": \"Neveljavna datoteka: {napaka}\",\n    \"import.invalidMode\": \"Neveljaven način\",\n    \"import.invalidParams\": \"Neveljavni parametri: {napaka}\",\n    \"import.invalidSubStatus\": \"Neveljavno stanje naročnine\",\n    \"import.listSubHelp\": \"Seznami, na katere se želite naročiti.\",\n    \"import.mode\": \"Način\",\n    \"import.overwriteSubStatus\": \"Prepiši stanje naročnine\",\n    \"import.overwriteSubStatusHelp\": \"Prepiši stanje obstoječih naročnin na sezname\",\n    \"import.overwriteUserInfo\": \"Prepiši podatke uporabnika\",\n    \"import.overwriteUserInfoHelp\": \"Prepiši ime in atribute obstoječih naročnikov\",\n    \"import.recordsCount\": \"{num} / {total} zapisov\",\n    \"import.stopImport\": \"Ustavi uvoz\",\n    \"import.subscribe\": \"Naročite se\",\n    \"import.subscribeWarning\": \"Prepis bo ponovno naročil odjavljene e-pošte. Želite nadaljevati?\",\n    \"import.title\": \"Uvozi naročnike\",\n    \"import.upload\": \"Naloži\",\n    \"lists.archived\": \"Arhiviran\",\n    \"lists.archivedHelp\": \"Arhiviranje skriva sezname s strani seznamov, kampanj in javnih obrazcev. Lahko se kadarkoli vrne. Koristno je za skrivanje starih in redko uporabljenih seznamov.\",\n    \"lists.confirmDelete\": \"Ste prepričani? To ne izbriše naročnikov.\",\n    \"lists.confirmSub\": \"Potrdi naročnino(e) na {name}\",\n    \"lists.invalidName\": \"Neveljavno ime\",\n    \"lists.newList\": \"Nov seznam\",\n    \"lists.optin\": \"Prijavite se\",\n    \"lists.optinHelp\": \"Double opt-in naročniku pošlje e-pošto s prošnjo za potrditev. Na seznamih Double opt-in so akcije poslane le potrjenim naročnikom.\",\n    \"lists.optinTo\": \"Prijavite se za {name}\",\n    \"lists.optins.double\": \"Dvojna prijava\",\n    \"lists.optins.single\": \"Enotna prijava\",\n    \"lists.sendCampaign\": \"Pošlji akcijo\",\n    \"lists.sendOptinCampaign\": \"Pošlji kampanjo za prijavo\",\n    \"lists.type\": \"Vrsta\",\n    \"lists.typeHelp\": \"Javni seznami so odprti vsem za vpis in njihova imena so lahko prikazana na javnih straneh, kot je stran za upravljanje naročnin.\",\n    \"lists.types.private\": \"Zasebno\",\n    \"lists.types.public\": \"Javno\",\n    \"logs.title\": \"Dnevniki\",\n    \"maintenance.database.title\": \"Baza podatkov\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE reši pomnilnik, ki ga uporabljajo izbrisane vrstice, in bistveno pospešuje zmogljivost baze podatkov pri velikih bazah. POMEMBNO: Pri velikih bazah je to počasna, blokirajuča operacija. Razporedite jo v izvedbo v času manjše obremenitve.\",\n    \"maintenance.help\": \"Nekatera dejanja lahko trajajo nekaj časa, odvisno od količine podatkov.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Nepotrjene privolitvene naročnine\",\n    \"maintenance.olderThan\": \"Starejši od\",\n    \"maintenance.orphanHelp\": \"Osirote = naročniki brez seznamov\",\n    \"maintenance.title\": \"Vzdrževanje\",\n    \"maintenance.unconfirmedSubs\": \"Nepotrjene naročnine, starejše od {name} dni.\",\n    \"media.errorReadingFile\": \"Napaka pri branju datoteke: {error}\",\n    \"media.errorResizing\": \"Napaka pri spreminjanju velikosti slike: {error}\",\n    \"media.errorSavingThumbnail\": \"Napaka pri shranjevanju sličice: {error}\",\n    \"media.errorUploading\": \"Napaka pri nalaganju datoteke: {error}\",\n    \"media.invalidFile\": \"Neveljavna datoteka: {napaka}\",\n    \"media.title\": \"Mediji\",\n    \"media.unsupportedFileType\": \"Nepodprta vrsta datoteke ({type})\",\n    \"media.upload\": \"Naloži\",\n    \"media.uploadHelp\": \"Kliknite ali povlecite eno ali več slik sem\",\n    \"menu.allCampaigns\": \"Vse akcije\",\n    \"menu.allLists\": \"Vsi seznami\",\n    \"menu.allSubscribers\": \"Vsi naročniki\",\n    \"menu.dashboard\": \"Nadzorna plošča\",\n    \"menu.forms\": \"Obrazci\",\n    \"menu.import\": \"Uvozi\",\n    \"menu.logs\": \"Dnevniki\",\n    \"menu.maintenance\": \"Vzdrževanje\",\n    \"menu.media\": \"Mediji\",\n    \"menu.newCampaign\": \"Ustvari novo\",\n    \"menu.settings\": \"Nastavitve\",\n    \"public.archiveEmpty\": \"Ni še arhiviranih sporočil.\",\n    \"public.archiveTitle\": \"Arhiv poštnega seznama\",\n    \"public.blocklisted\": \"Trajno odjavljen.\",\n    \"public.campaignNotFound\": \"E-poštno sporočilo ni bilo najdeno.\",\n    \"public.confirmOptinSubTitle\": \"Potrdi naročnino\",\n    \"public.confirmSub\": \"Potrdi naročnino\",\n    \"public.confirmSubInfo\": \"Dodani ste bili na naslednje sezname:\",\n    \"public.confirmSubTitle\": \"Potrdi\",\n    \"public.dataRemoved\": \"Vaše naročnine in vsi povezani podatki so bili odstranjeni.\",\n    \"public.dataRemovedTitle\": \"Podatki odstranjeni\",\n    \"public.dataSent\": \"Vaši podatki so vam bili poslani po e-pošti kot priponka.\",\n    \"public.dataSentTitle\": \"Podatki poslani po e-pošti\",\n    \"public.errorFetchingCampaign\": \"Napaka pri pridobivanju e-poštnega sporočila.\",\n    \"public.errorFetchingEmail\": \"E-poštnega sporočila ni bilo mogoče najti\",\n    \"public.errorFetchingLists\": \"Napaka pri pridobivanju seznamov. Poskusite znova.\",\n    \"public.errorProcessingRequest\": \"Napaka pri obdelavi zahteve. Poskusite znova.\",\n    \"public.errorTitle\": \"Napaka\",\n    \"public.invalidCaptcha\": \"Neveljaven CAPTCHA.\",\n    \"public.invalidFeature\": \"Ta funkcija ni na voljo.\",\n    \"public.invalidLink\": \"Neveljavna povezava\",\n    \"public.managePrefs\": \"Upravljanje nastavitev\",\n    \"public.managePrefsUnsub\": \"Počistite sezname, da se od njih odjavite.\",\n    \"public.noListsAvailable\": \"Noben seznam ni na voljo za naročanje.\",\n    \"public.noListsSelected\": \"Ni izbranih veljavnih seznamov za naročanje.\",\n    \"public.noSubInfo\": \"Ni naročnin za potrditev.\",\n    \"public.noSubTitle\": \"Ni naročnin\",\n    \"public.notFoundTitle\": \"Ni najden\",\n    \"public.poweredBy\": \"Poganja\",\n    \"public.prefsSaved\": \"Vaše nastavitve so bile shranjene.\",\n    \"public.privacyConfirmWipe\": \"Ali ste prepričani, da želite trajno izbrisati vse svoje naročniške podatke?\",\n    \"public.privacyExport\": \"Izvozi svoje podatke\",\n    \"public.privacyExportHelp\": \"Kopija vaših podatkov vam bo poslana po e-pošti.\",\n    \"public.privacyTitle\": \"Zasebnost in podatki\",\n    \"public.privacyWipe\": \"Izbriši svoje podatke\",\n    \"public.privacyWipeHelp\": \"Trajno izbrišite vse svoje naročnine in povezane podatke.\",\n    \"public.sub\": \"Naročite se\",\n    \"public.subConfirmed\": \"Uspešno naročen.\",\n    \"public.subConfirmedTitle\": \"Potrjen\",\n    \"public.subName\": \"Ime (neobvezno)\",\n    \"public.subNotFound\": \"Naročnine ni mogoče najti.\",\n    \"public.subOptinPending\": \"Poslano vam je bilo e-poštno sporočilo za potrditev vaše naročnine(-e).\",\n    \"public.subPrivateList\": \"Zasebni seznam\",\n    \"public.subTitle\": \"Naročite se\",\n    \"public.unsub\": \"Odjava\",\n    \"public.unsubFull\": \"Odjavi se od vseh prihodnjih e-poštnih sporočil.\",\n    \"public.unsubHelp\": \"Ali se želite odjaviti s tega poštnega seznama?\",\n    \"public.unsubTitle\": \"Odjava\",\n    \"public.unsubbedInfo\": \"Uspešno ste se odjavili.\",\n    \"public.unsubbedTitle\": \"Odjavljen\",\n    \"public.unsubscribeTitle\": \"Odjavi se od poštnega seznama\",\n    \"settings.appearance.adminHelp\": \"CSS po meri za uporabo v skrbniškem uporabniškem vmesniku.\",\n    \"settings.appearance.adminName\": \"Skrbnik\",\n    \"settings.appearance.customCSS\": \"CSS po meri\",\n    \"settings.appearance.customJS\": \"JavaScript po meri\",\n    \"settings.appearance.name\": \"Videz\",\n    \"settings.appearance.publicHelp\": \"CSS in JavaScript po meri za uporabo na javnih straneh.\",\n    \"settings.appearance.publicName\": \"Javno\",\n    \"settings.bounces.action\": \"Dejanje\",\n    \"settings.bounces.blocklist\": \"Seznam blokiranih\",\n    \"settings.bounces.count\": \"Število odklonov\",\n    \"settings.bounces.countHelp\": \"Število odklonov na naročnika\",\n    \"settings.bounces.enable\": \"Omogoči obdelavo odklonov\",\n    \"settings.bounces.enableForwardemail\": \"Omogoči posredovanje e-pošte\",\n    \"settings.bounces.enableMailbox\": \"Omogoči zavrnjeni nabiralnik\",\n    \"settings.bounces.enablePostmark\": \"Omogoči poštni žig\",\n    \"settings.bounces.enableSES\": \"Omogoči SES\",\n    \"settings.bounces.enableSendgrid\": \"Omogoči SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Omogoči odklone webhooks\",\n    \"settings.bounces.enabled\": \"Omogočeno\",\n    \"settings.bounces.folder\": \"Mapa\",\n    \"settings.bounces.folderHelp\": \"Ime mape IMAP za skeniranje. Npr.: Prejeto.\",\n    \"settings.bounces.forwardemailKey\": \"Ključ za posredovanje e-pošte\",\n    \"settings.bounces.invalidScanInterval\": \"Interval odbojnega skeniranja mora biti najmanj 1 minuta.\",\n    \"settings.bounces.name\": \"Odboji\",\n    \"settings.bounces.none\": \"Brez\",\n    \"settings.bounces.postmarkPassword\": \"Geslo poštnega žiga\",\n    \"settings.bounces.postmarkUsername\": \"Uporabniško ime poštnega žiga\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark vam omogoča, da omogočite osnovno avtorizacijo za webhooke. Prepričajte se, da ste vnesli enake poverilnice tukaj in v svojih nastavitvah Postmark webhook.\",\n    \"settings.bounces.scanInterval\": \"Interval skeniranja\",\n    \"settings.bounces.scanIntervalHelp\": \"Interval, v katerem naj bo zavrnjeni poštni predal pregledan za zavrnitve (s za sekundo, m za minuto).\",\n    \"settings.bounces.sendgridKey\": \"Ključ SendGrid\",\n    \"settings.bounces.type\": \"Vrsta\",\n    \"settings.bounces.username\": \"Uporabniško ime\",\n    \"settings.confirmRestart\": \"Zagotovite, da so oglaševalske akcije, ki se izvajajo, začasno ustavljene. Znova zagnati?\",\n    \"settings.duplicateMessengerName\": \"Podvojeno ime messengerja: {name}\",\n    \"settings.errorEncoding\": \"Napaka pri nastavitvah kodiranja: {error}\",\n    \"settings.errorNoSMTP\": \"Vsaj en blok SMTP mora biti omogočen\",\n    \"settings.general.adminNotifEmails\": \"E-poštna obvestila skrbnika\",\n    \"settings.general.adminNotifEmailsHelp\": \"Seznam e-poštnih naslovov, ločenih z vejicami, na katere je treba poslati skrbniška obvestila, kot so posodobitve uvoza, zaključek akcije, neuspeh itd.\",\n    \"settings.general.checkUpdates\": \"Preveri posodobitve\",\n    \"settings.general.checkUpdatesHelp\": \"Občasno preverite, ali obstajajo nove izdaje aplikacij, in jih obvestite.\",\n    \"settings.general.enablePublicArchive\": \"Omogoči arhiv javnega poštnega seznama\",\n    \"settings.general.enablePublicArchiveHelp\": \"Objavi akcije, na katerih je omogočeno arhiviranje, na javni spletni strani.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Pokaži celotno vsebino v RSS virov\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Pokaži celotno vsebino e-pošte v RSS virov. Če je onemogočeno, se prikažejo samo naslov in povezava.\",\n    \"settings.general.enablePublicSubPage\": \"Omogoči javno stran za naročnino\",\n    \"settings.general.enablePublicSubPageHelp\": \"Prikaži javno naročniško stran z vsemi javnimi seznami, na katere se lahko ljudje naročijo.\",\n    \"settings.general.faviconURL\": \"URL priljubljene ikone\",\n    \"settings.general.faviconURLHelp\": \"(Izbirno) celoten URL do statične ikone priljubljene strani, ki bo prikazan v pogledu uporabnika, kot je stran za odjavo.\",\n    \"settings.general.fromEmail\": \"Privzeta e-pošta `od`\",\n    \"settings.general.fromEmailHelp\": \"Privzeta e-pošta `od` za prikaz v odhodni e-pošti oglaševalske akcije. To je mogoče spremeniti za vsako oglaševalsko akcijo.\",\n    \"settings.general.language\": \"Jezik\",\n    \"settings.general.logoURL\": \"URL logotipa\",\n    \"settings.general.logoURLHelp\": \"(Izbirno) celoten URL do statičnega logotipa, ki bo prikazan v pogledu uporabnika, kot je stran za odjavo.\",\n    \"settings.general.name\": \"Splošno\",\n    \"settings.general.rootURL\": \"Korenski URL\",\n    \"settings.general.rootURLHelp\": \"Javni URL namestitve (brez končne poševnice).\",\n    \"settings.general.sendOptinConfirm\": \"Pošlji potrditev privolitve\",\n    \"settings.general.sendOptinConfirmHelp\": \"Pošlji e-pošto s potrditvijo privolitve, ko se naročniki prijavijo prek javnega obrazca ali ko jih doda skrbnik.\",\n    \"settings.general.siteName\": \"Ime spletnega mesta\",\n    \"settings.invalidMessengerName\": \"Neveljavno ime messengerja.\",\n    \"settings.mailserver.authProtocol\": \"Auth protokol\",\n    \"settings.mailserver.host\": \"Gostitelj\",\n    \"settings.mailserver.hostHelp\": \"Naslov gostitelja strežnika SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Časovna omejitev nedejavnosti\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Čas za čakanje na novo dejavnost v povezavi, preden jo zaprete in odstranite iz skupine (s za sekundo, m za minuto).\",\n    \"settings.mailserver.maxConns\": \"Maks. povezav\",\n    \"settings.mailserver.maxConnsHelp\": \"Največje število sočasnih povezav s strežnikom.\",\n    \"settings.mailserver.nameHelp\": \"Neobvezno edinstveno ime za SMTP strežnik. Mora imeti predpono email-. Ta nastavitev omogoča, da je strežnik specifično izbran za kampanjo. npr.: email-primary-server. Alfanumerično / znak vezaja.\",\n    \"settings.mailserver.password\": \"Geslo\",\n    \"settings.mailserver.passwordHelp\": \"Vnesite za spremembo\",\n    \"settings.mailserver.port\": \"Vrata\",\n    \"settings.mailserver.portHelp\": \"Vrata strežnika SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Preskoči preverjanje TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Preskoči preverjanje imena gostitelja na potrdilu TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL šifriranje. STARTTLS se pogosto uporablja.\",\n    \"settings.mailserver.username\": \"Uporabniško ime\",\n    \"settings.mailserver.waitTimeout\": \"Čakalna omejitev\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Čas za čakanje na novo dejavnost v povezavi, preden jo zaprete in odstranite iz skupine (s za sekundo, m za minuto).\",\n    \"settings.maintenance.cron\": \"Časovni razmik v skladu s Cron\",\n    \"settings.media.provider\": \"Ponudnik\",\n    \"settings.media.s3.bucket\": \"Vedro\",\n    \"settings.media.s3.bucketPath\": \"Pot vedra\",\n    \"settings.media.s3.bucketPathHelp\": \"Pot znotraj vedra za nalaganje datotek. Privzeto je /\",\n    \"settings.media.s3.bucketType\": \"Vrsta vedra\",\n    \"settings.media.s3.bucketTypePrivate\": \"Zasebno\",\n    \"settings.media.s3.bucketTypePublic\": \"Javno\",\n    \"settings.media.s3.key\": \"ključ za dostop do AWS\",\n    \"settings.media.s3.publicURL\": \"Javni URL po meri (neobvezno)\",\n    \"settings.media.s3.publicURLHelp\": \"Domena S3 po meri za uporabo za slikovne povezave namesto privzetega zalednega URL-ja S3.\",\n    \"settings.media.s3.region\": \"Regija\",\n    \"settings.media.s3.secret\": \"Skrivnost dostopa do AWS\",\n    \"settings.media.s3.uploadExpiry\": \"Potek nalaganja\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Izbirno) Določite potek za ustvarjen vnaprej podpisan URL. Velja samo za zasebne segmente (s, m, h, d za sekunde, minute, ure, dneve).\",\n    \"settings.media.s3.url\": \"URL zalednega dela S3\",\n    \"settings.media.s3.urlHelp\": \"Spremenite samo, če uporabljate prilagojeno zaledje, združljivo s S3, kot je Minio.\",\n    \"settings.media.title\": \"Nalaganje predstavnosti\",\n    \"settings.media.upload.extensions\": \"Dovoljene končnice datotek\",\n    \"settings.media.upload.extensionsHelp\": \"Dodaj *, da omogočiš vse razširitve\",\n    \"settings.media.upload.path\": \"Pot nalaganja\",\n    \"settings.media.upload.pathHelp\": \"Pot do imenika, kamor bodo naloženi mediji.\",\n    \"settings.media.upload.uri\": \"URI nalaganja\",\n    \"settings.media.upload.uriHelp\": \"URI nalaganja, ki je viden zunanjemu svetu. Mediji, naloženi na upload_path, bodo javno dostopni pod {root_url}, na primer https://listmonk.yoursite.com/uploads. \",\n    \"settings.messengers.maxConns\": \"Maks. povezav\",\n    \"settings.messengers.maxConnsHelp\": \"Največje število sočasnih povezav s strežnikom.\",\n    \"settings.messengers.messageSaved\": \"Nastavitve shranjene. Ponovno nalaganje aplikacije ...\",\n    \"settings.messengers.name\": \"Messengerji\",\n    \"settings.messengers.nameHelp\": \"npr.: moj-sms. Alfanumerično / pomišljaj.\",\n    \"settings.messengers.password\": \"Geslo\",\n    \"settings.messengers.retries\": \"Ponovni poskusi\",\n    \"settings.messengers.retriesHelp\": \"Število ponovnih poskusov, ko sporočilo ne uspe.\",\n    \"settings.messengers.skipTLSHelp\": \"Preskoči preverjanje imena gostitelja na potrdilu TLS.\",\n    \"settings.messengers.timeout\": \"Časovna omejitev nedejavnosti\",\n    \"settings.messengers.timeoutHelp\": \"Čas za čakanje na novo dejavnost v povezavi, preden jo zaprete in odstranite iz skupine (s za sekundo, m za minuto).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Korenski URL strežnika Postback.\",\n    \"settings.messengers.username\": \"Uporabniško ime\",\n    \"settings.needsRestart\": \"Nastavitve spremenjene. Zaustavite vse oglaševalske akcije, ki se izvajajo, in znova zaženite aplikacijo\",\n    \"settings.performance.batchSize\": \"Velikost serije\",\n    \"settings.performance.batchSizeHelp\": \"Število naročnikov, ki jih je treba pridobiti iz baze podatkov v eni ponovitvi. Vsaka ponovitev potegne naročnike iz baze podatkov, jim pošlje sporočila in se nato premakne na naslednjo ponovitev, da potegne naslednji paket. To bi moralo biti idealno višje od največje dosegljive prepustnosti (sočasnost * stopnja_sporočila).\",\n    \"settings.performance.cacheSlowQueries\": \"Predpomni počasne poizvedbe baze podatkov\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"To možnost omogočite samo na velikih bazah podatkov, ki so se bistveno upočasnile. Predpomni število naročnikov seznama, statistike nadzorne plošče, ipd.\",\n    \"settings.performance.concurrency\": \"Sočasnost\",\n    \"settings.performance.concurrencyHelp\": \"Največje število sočasnih delavcev (niti), ki bodo poskušale poslati sporočila hkrati.\",\n    \"settings.performance.maxErrThreshold\": \"Največji prag napake\",\n    \"settings.performance.maxErrThresholdHelp\": \"Število napak (npr.: časovne omejitve SMTP med pošiljanjem e-pošte), ki jih mora oglaševalska akcija tolerirati, preden se začasno zaustavi zaradi ročne preiskave ali posredovanja. Nastavite na 0, da se nikoli ne zaustavi.\",\n    \"settings.performance.messageRate\": \"Stopnja sporočil\",\n    \"settings.performance.messageRateHelp\": \"Največje število sporočil, ki jih je treba poslati na sekundo na delavca v sekundi. Če je sočasnost = 10 in message_rate = 10, se lahko vsako sekundo iztisne do 10x10=100 sporočil. To, skupaj s sočasnostjo je treba prilagoditi tako, da bo število omrežnih sporočil, ki odhajajo na sekundo, pod omejitvami ciljnih sporočilnih strežnikov, če obstajajo.\",\n    \"settings.performance.name\": \"Zmogljivost\",\n    \"settings.performance.slidingWindow\": \"Omogoči omejitev drsnega okna\",\n    \"settings.performance.slidingWindowDuration\": \"Trajanje\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Trajanje obdobja drsnega okna (m za minuto, h za uro).\",\n    \"settings.performance.slidingWindowHelp\": \"Omeji skupno število poslanih sporočil v danem obdobju. Ko dosežeš to omejitev, se sporočila ne pošiljajo, dokler se časovno okno ne izprazni.\",\n    \"settings.performance.slidingWindowRate\": \"Maks. sporočil\",\n    \"settings.performance.slidingWindowRateHelp\": \"Največje število sporočil za pošiljanje znotraj trajanja okna.\",\n    \"settings.privacy.allowBlocklist\": \"Dovoli seznam blokiranih\",\n    \"settings.privacy.allowBlocklistHelp\": \"Želim naročnikom, da se odjavijo z vseh poštnih seznamov in se označijo kot blokirane?\",\n    \"settings.privacy.allowExport\": \"Dovoli izvoz\",\n    \"settings.privacy.allowExportHelp\": \"Želite naročnikom omogočiti izvoz podatkov, zbranih na njih?\",\n    \"settings.privacy.allowPrefs\": \"Dovoli spremembe nastavitev\",\n    \"settings.privacy.allowPrefsHelp\": \"Dovoli naročnikom, da spremenijo nastavitve, kot so njihova imena in naročnine na več seznamov.\",\n    \"settings.privacy.allowWipe\": \"Dovoli brisanje\",\n    \"settings.privacy.allowWipeHelp\": \"Dovoli naročnikom, da se izbrišejo, vključno s svojimi naročninami in vsemi drugimi podatki iz zbirke podatkov. Odstranjeni so tudi ogledi oglaševalske akcije in kliki povezav, medtem ko število ogledov in klikov ostane (brez povezanih naročnikov), tako da statistika in analitika ni prizadeta.\",\n    \"settings.privacy.domainAllowlist\": \"Seznam dovoljenih domen\",\n    \"settings.privacy.domainAllowlistHelp\": \"Naročitve so omogočene samo za e-poštne naslove s temi domenami. Vnesite eno domeno na vrstico, npr.: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Seznam blokiranih domen\",\n    \"settings.privacy.domainBlocklistHelp\": \"Na e-poštne naslove s temi domenami ni dovoljeno naročanje. V vsako vrstico vnesite eno domeno, npr. somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Sledenje posameznim naročnikom\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Sledite ogledom in klikom oglaševalske akcije na ravni naročnika. Ko je onemogočeno, se sledenje ogledom in klikom nadaljuje, ne da bi bilo povezano s posameznimi naročniki.\",\n    \"settings.privacy.listUnsubHeader\": \"Vključi glavo `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Vključi glave za odjavo, ki omogočajo e-poštnim odjemalcem, da uporabnikom omogočijo odjavo z enim klikom.\",\n    \"settings.privacy.name\": \"Zasebnost\",\n    \"settings.privacy.recordOptinIP\": \"Zabeleži IP naslov za privolitev\",\n    \"settings.privacy.recordOptinIPHelp\": \"Zabeleži naslov IP dvojne privolitve v atribute naročnika.\",\n    \"settings.restart\": \"Ponovni zagon\",\n    \"settings.security.CORSDomains\": \"Dovoljeni izvorniki\",\n    \"settings.security.CORSDomainsHelp\": \"Dovoli dostop do API končnih točk prek javascripta brskalnika z zunanjih domen. Vnesite eno domeno na vrstico (npr: https://example.com). Pustite prazno za onemogočanje CORS ali dodajte * za dovoljenje vseh (ni priporočljivo).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Samodejno ustvarjanje uporabnikov\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Samodejno ustvari uporabnika ob prvem prijavljanju, če račun ne obstaja.\",\n    \"settings.security.OIDCClientID\": \"ID odjemalca\",\n    \"settings.security.OIDCClientSecret\": \"Skrivnost odjemalca\",\n    \"settings.security.OIDCDefaultListRole\": \"Privzeta vloga na seznamu\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Privzeta vloga dodeljena uporabnikom, samodejno ustvarjenim prek OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Privzeta vloga uporabnika\",\n    \"settings.security.OIDCHelp\": \"Omogoči prijavo preko OpenID Connect OAuth2 prek ponudnika OAuth.\",\n    \"settings.security.OIDCName\": \"Ime ponudnika\",\n    \"settings.security.OIDCRedirectURL\": \"Preusmeritveni URL za ponudnika oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"To se ne zdi proizvodni URL. Spremenite osnovni URL v nastavitvah 'Splošno'.\",\n    \"settings.security.OIDCURL\": \"URL ponudnika\",\n    \"settings.security.OIDCWarning\": \"Ko je OMPC omogočen, je privzeta prijava z geslom onemogočena. Neveljavna konfiguracija vas lahko zaklene.\",\n    \"settings.security.altchaComplexity\": \"Kompleksnost Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Višje vrednosti zagotavljajo boljšo varnost, vendar počasnejše reševanje (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Ključ mestu hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Obiščite www.hcaptcha.com za pridobitev ključa in skrivnosti.\",\n    \"settings.security.captchaSecret\": \"skrivnost hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Omogoči CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Omogoči CAPTCHA na javnem obrazcu za naročnino.\",\n    \"settings.security.enableOIDC\": \"Omogoči OMPC enotno prijavo\",\n    \"settings.security.name\": \"Varnost\",\n    \"settings.smtp.customHeaders\": \"Glave po meri\",\n    \"settings.smtp.customHeadersHelp\": \"Izbirno polje e-poštnih glav, ki jih je treba vključiti v vsa sporočila, poslana s tega strežnika. Npr.: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X- Custom2\\\": \\\"vrednost\\\"}]\",\n    \"settings.smtp.enabled\": \"Omogočeno\",\n    \"settings.smtp.heloHost\": \"ime gostitelja HELO\",\n    \"settings.smtp.heloHostHelp\": \"Izbirno. Nekateri strežniki SMTP zahtevajo FQDN v imenu gostitelja. Privzeto gre HELLO z `localhost`. To nastavite, če je treba uporabiti ime gostitelja po meri.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Ponovni poskusi\",\n    \"settings.smtp.retriesHelp\": \"Število ponovnih poskusov, ko sporočilo ne uspe.\",\n    \"settings.smtp.sendTest\": \"Pošlji e-pošto\",\n    \"settings.smtp.setCustomHeaders\": \"Nastavi glave po meri\",\n    \"settings.smtp.testConnection\": \"Preskusi povezavo\",\n    \"settings.smtp.testEnterEmail\": \"Znova vnesite geslo za preizkus\",\n    \"settings.smtp.toEmail\": \"Na e-pošto\",\n    \"settings.title\": \"Nastavitve\",\n    \"settings.updateAvailable\": \"Nova posodobitev {version} je na voljo.\",\n    \"subscribers.activity\": \"Dejavnost\",\n    \"subscribers.advancedQuery\": \"Napredno\",\n    \"subscribers.advancedQueryHelp\": \"Delni izraz SQL za poizvedovanje atributov naročnika\",\n    \"subscribers.attribsHelp\": \"Atributi so definirani kot zemljevid JSON, na primer:\",\n    \"subscribers.blocklistedHelp\": \"Naročniki na seznamu blokiranih ne bodo nikoli prejeli e-pošte.\",\n    \"subscribers.confirmBlocklist\": \"Blokiraj {num} naročnikov?\",\n    \"subscribers.confirmDelete\": \"Izbrisati {num} naročnik(ov)?\",\n    \"subscribers.confirmExport\": \"Izvozi {num} naročnik(ov)?\",\n    \"subscribers.domainBlocklisted\": \"E-poštna domena je na seznamu blokiranih.\",\n    \"subscribers.downloadData\": \"Prenos podatkov\",\n    \"subscribers.email\": \"E-pošta\",\n    \"subscribers.emailExists\": \"E-pošta že obstaja.\",\n    \"subscribers.errorBlocklisting\": \"Napaka pri seznamu blokiranih naročnikov: {error}\",\n    \"subscribers.errorNoIDs\": \"Ni podanih ID-jev.\",\n    \"subscribers.errorNoListsGiven\": \"Ni danih seznamov.\",\n    \"subscribers.errorPreparingQuery\": \"Napaka pri pripravi poizvedbe naročnika: {error}\",\n    \"subscribers.errorSendingOptin\": \"Napaka pri pošiljanju e-pošte za prijavo.\",\n    \"subscribers.export\": \"Izvozi\",\n    \"subscribers.invalidAction\": \"Neveljavno dejanje.\",\n    \"subscribers.invalidEmail\": \"Neveljaven e-poštni naslov.\",\n    \"subscribers.invalidJSON\": \"Neveljaven JSON v atributih.\",\n    \"subscribers.invalidName\": \"Neveljavno ime.\",\n    \"subscribers.listChangeApplied\": \"Uveljavljena sprememba seznama.\",\n    \"subscribers.lists\": \"Seznami\",\n    \"subscribers.listsHelp\": \"Seznamov, s katerih so se naročniki sami odjavili, ni mogoče odstraniti.\",\n    \"subscribers.listsPlaceholder\": \"Seznami, na katere se želite naročiti\",\n    \"subscribers.manageLists\": \"Upravljanje seznamov\",\n    \"subscribers.markUnsubscribed\": \"Označi kot odjavljenega\",\n    \"subscribers.newSubscriber\": \"Nov naročnik\",\n    \"subscribers.numSelected\": \"{num} izbranih naročnikov\",\n    \"subscribers.optinSubject\": \"Potrdi naročnino\",\n    \"subscribers.preconfirm\": \"Vnaprej potrdi naročnine\",\n    \"subscribers.preconfirmHelp\": \"Ne pošiljajte e-pošte za prijavo in označite vse naročnine na seznam kot 'naročene'.\",\n    \"subscribers.query\": \"Poizvedba\",\n    \"subscribers.queryPlaceholder\": \"E-pošta ali ime\",\n    \"subscribers.reset\": \"Ponastavi\",\n    \"subscribers.selectAll\": \"Izberi vse {num}\",\n    \"subscribers.sendOptinConfirm\": \"Pošlji potrditev prijave\",\n    \"subscribers.sentOptinConfirm\": \"Potrditev prijave je poslana\",\n    \"subscribers.status.blocklisted\": \"Na seznamu blokiranih\",\n    \"subscribers.status.confirmed\": \"Potrjen\",\n    \"subscribers.status.enabled\": \"Omogočeno\",\n    \"subscribers.status.subscribed\": \"Naročen\",\n    \"subscribers.status.unconfirmed\": \"Nepotrjeno\",\n    \"subscribers.status.unsubscribed\": \"Odjavljen\",\n    \"subscribers.subscribersDeleted\": \"{num} naročnik(ov) izbrisanih\",\n    \"templates.cantDeleteDefault\": \"Ne morem izbrisati neobstoječe ali privzete predloge\",\n    \"templates.default\": \"Privzeto\",\n    \"templates.dummyName\": \"Navidezna akcija\",\n    \"templates.dummySubject\": \"Navidezna tema akcije\",\n    \"templates.errorCompiling\": \"Napaka pri prevajanju predloge: {error}\",\n    \"templates.errorRendering\": \"Napaka pri upodabljanju sporočila: {error}\",\n    \"templates.fieldInvalidName\": \"Neveljavna dolžina imena.\",\n    \"templates.makeDefault\": \"Nastavi privzeto\",\n    \"templates.newTemplate\": \"Nova predloga\",\n    \"templates.placeholderHelp\": \"Označba mesta {placeholder} se mora pojaviti natanko enkrat v predlogi.\",\n    \"templates.preview\": \"Predogled\",\n    \"templates.rawHTML\": \"Neobdelani HTML\",\n    \"templates.subject\": \"Zadeva\",\n    \"templates.typeCampaignHTML\": \"Kampanja / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampanja / Vizualno\",\n    \"templates.typeTransactional\": \"Transakcijsko\",\n    \"users.apiOneTimeToken\": \"Zdaj skopirajte žeton za dostop do API-ja. Ne bo več prikazan.\",\n    \"users.cantDeleteRole\": \"Ne morete izbrisati vloge, ki je v uporabi.\",\n    \"users.firstTime\": \"To je sveža namestitev. Izberite uporabniško ime in geslo za super upravni račun.\",\n    \"users.forgotPassword\": \"Pozabil sem geslo?\",\n    \"users.invalidLogin\": \"Neveljavna prijava ali geslo\",\n    \"users.invalidPassword\": \"Neveljavno geslo\",\n    \"users.invalidRequest\": \"Neveljavna zahteva za preverjanje pristnosti\",\n    \"users.invalidResetLink\": \"Neveljavna ali potekla povezava za ponastavitev\",\n    \"users.lastLogin\": \"Zadnja prijava\",\n    \"users.listPerms\": \"Dovoljenja za sezname\",\n    \"users.listPermsWarning\": \"omogočena sta lists:get_all ali lists:manage_all, kar prepiše dovoljenja za posamezne sezname\",\n    \"users.listRole\": \"Vloga seznama | Vloga seznama\",\n    \"users.listRoles\": \"Vloge seznama\",\n    \"users.login\": \"Prijava\",\n    \"users.loginOIDC\": \"Prijavite se z {name}\",\n    \"users.logout\": \"Odjava\",\n    \"users.needSuper\": \"Uporabnika/jev ni mogoče posodobiti. Najmanj eden od aktivnih super upravljalcev mora obstajati.\",\n    \"users.newListRole\": \"Nova vloga seznama\",\n    \"users.newPassword\": \"Novo geslo\",\n    \"users.newUser\": \"Nov uporabnik\",\n    \"users.newUserRole\": \"Nova vloga uporabnika\",\n    \"users.password\": \"Geslo\",\n    \"users.passwordEnable\": \"Omogoči prijavo z geslom\",\n    \"users.passwordMismatch\": \"Gesla se ne ujemata\",\n    \"users.passwordRepeat\": \"Ponovite geslo\",\n    \"users.perms\": \"Dovoljenja\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Če je račun aktiven, boste prejeli e-pošto za ponastavitev gesla.\",\n    \"users.resetPassword\": \"Ponastavi geslo\",\n    \"users.role\": \"Vloga | Vloge\",\n    \"users.roleGroup\": \"Skupina\",\n    \"users.roles\": \"Vloge\",\n    \"users.status.disabled\": \"Onemogočeno\",\n    \"users.status.enabled\": \"Omogočeno\",\n    \"users.totpCode\": \"TOTP koda\",\n    \"users.totpCodeHelp\": \"Vnesite 6-mestno kodo iz vaše aplikacije za avtentifikacijo\",\n    \"users.totpScanQR\": \"Skenirajte QR kodo z aplikacijo za avtentifikacijo, kot sta Ente ali Google Authenticator, in spodaj vnesite kodo TOTP.\",\n    \"users.totpSecret\": \"Tajni ključ\",\n    \"users.twoFA\": \"Dvofaktorska avtentifikacija\",\n    \"users.twoFAAlreadyEnabled\": \"Dvofaktorska avtentifikacija je že omogočena.\",\n    \"users.twoFAEnabled\": \"Dvofaktorska avtentifikacija je vklopljena\",\n    \"users.twoFAEnabledDesc\": \"Vaš račun je zaščiten z {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Omogočite 2FA za dodatno varnost pri prijavi v vaš račun.\",\n    \"users.type\": \"Vrsta\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Super upravljalec\",\n    \"users.type.user\": \"Uporabnik\",\n    \"users.userRole\": \"Vloga uporabnika | Vloge uporabnika\",\n    \"users.userRoles\": \"Vloge uporabnika\",\n    \"users.username\": \"Uporabniško ime\",\n    \"users.usernameHelp\": \"Uporablja se s prijavo z geslom\"\n}\n"
  },
  {
    "path": "i18n/tr.json",
    "content": "{\n    \"_.code\": \"tr\",\n    \"_.name\": \"Turkish (tr)\",\n    \"admin.errorMarshallingConfig\": \"Ayarlar ile ilgili hata: {error}\",\n    \"analytics.count\": \"Sayı\",\n    \"analytics.fromDate\": \"İtibaren\",\n    \"analytics.invalidDates\": \"Geçersiz `başlangıç' veya `bitiş' tarihleri.\",\n    \"analytics.isUnique\": \"Sayılar her abone için benzersizdir.\",\n    \"analytics.links\": \"Bağlantılar\",\n    \"analytics.nonUnique\": \"Bireysel abone takibi kapalı olduğu için sayılar benzersiz değildir.\",\n    \"analytics.title\": \"Analitik\",\n    \"analytics.toDate\": \"Bitiş Tarihi\",\n    \"bounces.complaint\": \"Şikayet\",\n    \"bounces.hard\": \"Sert\",\n    \"bounces.soft\": \"Yumuşak\",\n    \"bounces.source\": \"Kaynak\",\n    \"bounces.unknownService\": \"Bilinmeyen servis.\",\n    \"bounces.view\": \"Sıçramaları görüntüleyin\",\n    \"campaigns.addAltText\": \"Alternatif düz metin ekleyin\",\n    \"campaigns.addAttachments\": \"Ek ekle\",\n    \"campaigns.archive\": \"Arşiv\",\n    \"campaigns.archiveEnable\": \"Halka açık arşivde yayınlayın\",\n    \"campaigns.archiveHelp\": \"Kampanya mesajını genel arşivde yayınlayın (çalışıyor, duraklatıldı, bitti).\",\n    \"campaigns.archiveMeta\": \"Kampanya meta verisi\",\n    \"campaigns.archiveMetaHelp\": \"Ad, e-posta ve kampanya mesajında veya şablonunda kullanılan tüm isteğe bağlı öznitelikler dahil olmak üzere genel mesajda kullanılacak kukla abone verileri.\",\n    \"campaigns.archiveSlug\": \"URL Parçası\",\n    \"campaigns.archiveSlugHelp\": \"Halka açık URL'de kullanılacak kısa bir ad. örn: benim-bülten-baskısı-2\",\n    \"campaigns.attachments\": \"Ekler\",\n    \"campaigns.attribsHelp\": \"Bu kampanya için özel JSON nesnesi {} nitelikleri. Şablonda {{ .Campaign.Attribs.$key }} ile kullanın\",\n    \"campaigns.cantUpdate\": \"Gönderilmekte olan veya gönderilmiş kampaynalar güncellenemez.\",\n    \"campaigns.clicks\": \"Tıklama\",\n    \"campaigns.confirmDelete\": \"Sil {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Bu işlem tüm içeriği üzerine yazacak. Devam edilsin mi?\",\n    \"campaigns.confirmSchedule\": \"Bu kampanya belirtilen tarihte otomatik olarak başlar. Şimdi ayarla?\",\n    \"campaigns.confirmSwitchFormat\": \"İçerik düzenini yitirebilir. Devam et?\",\n    \"campaigns.content\": \"İçerik\",\n    \"campaigns.contentHelp\": \"İçerik buraya\",\n    \"campaigns.continue\": \"Devam et\",\n    \"campaigns.copyOf\": \"{name} - Kopyası\",\n    \"campaigns.customHeadersHelp\": \"Giden iletilere eklenecek özel başlıkların dizisi. örn: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Tarih ve saat\",\n    \"campaigns.ended\": \"Bitti\",\n    \"campaigns.errorSendTest\": \"Test gönderirken hata: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Kampanya gövdesini oluşturma hatası: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Yanlış `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Yanlış liste ID'leri.\",\n    \"campaigns.fieldInvalidMessenger\": \"Bilinmeyen mesajcı {name}.\",\n    \"campaigns.fieldInvalidName\": \"İsim uzunluğu yanlış.\",\n    \"campaigns.fieldInvalidSendAt\": \"Tanımlanan tarih gelecekte olmalı.\",\n    \"campaigns.fieldInvalidSubject\": \"Konu uzunluğu yanlış verilmiş.\",\n    \"campaigns.format\": \"Format\",\n    \"campaigns.formatHTML\": \"HTML Biçimi\",\n    \"campaigns.fromAddress\": \"Gelen adres\",\n    \"campaigns.fromAddressPlaceholder\": \"isminiz <cevap-verme@siteniz.com>\",\n    \"campaigns.importVisualTemplate\": \"Görsel şablonunu içe aktar\",\n    \"campaigns.invalid\": \"Yanlış tanımlı kapmanya\",\n    \"campaigns.invalidCustomHeaders\": \"Geçersiz özel başlıklar: {error}\",\n    \"campaigns.markdown\": \"Markdown\",\n    \"campaigns.needsSendAt\": \"Kampanya için tanımlanmış bir tarih gerekli.\",\n    \"campaigns.newCampaign\": \"Yeni kampanya\",\n    \"campaigns.noKnownSubsToTest\": \"Test için bilinen üye yok.\",\n    \"campaigns.noOptinLists\": \"Kampanya oluşturmak için katılım listesi bulunmuyor.\",\n    \"campaigns.noSubs\": \"Seçilmiş listelerin içinde kampanya oluşturmak için üye bulunmuyor.\",\n    \"campaigns.noSubsToTest\": \"Hedeflenen üye bulunmuyor.\",\n    \"campaigns.notFound\": \"Kampanya bulunamadı.\",\n    \"campaigns.onlyActiveCancel\": \"Sadece aktif kampanyalar iptal edilebilir.\",\n    \"campaigns.onlyActivePause\": \"Sadece aktif kampanyalar duraklatılabilir.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Sadece taslak kampanyalar zamanlanabilir.\",\n    \"campaigns.onlyPausedDraft\": \"Sadece duraklatılan ve taslak kampanyalar başlatılabilir.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Sadece başlatılmış kampanyalar taslak olarak kaydedilebilir.\",\n    \"campaigns.pause\": \"Duraklat\",\n    \"campaigns.plainText\": \"Düz yazı\",\n    \"campaigns.preview\": \"Önizleme\",\n    \"campaigns.progress\": \"İlerleme durumu\",\n    \"campaigns.queryPlaceholder\": \"İsim veya konu\",\n    \"campaigns.rateMinuteShort\": \"dk\",\n    \"campaigns.rawHTML\": \"Ham HTML\",\n    \"campaigns.removeAltText\": \"Alternatif düz yazıyı kaldır\",\n    \"campaigns.richText\": \"Zengin metin\",\n    \"campaigns.schedule\": \"Kampanya'yı zamanla\",\n    \"campaigns.scheduled\": \"Zamanlandı\",\n    \"campaigns.send\": \"Gönder\",\n    \"campaigns.sendLater\": \"Sonra gönder\",\n    \"campaigns.sendTest\": \"Test mesajı gönder\",\n    \"campaigns.sendTestHelp\": \"Birden fazla alıcı eklemek için adresi yazdıktan sonra enter tuşuna bas. Adresler mevcut üyelere ait olmalıdır.\",\n    \"campaigns.sendToLists\": \"Gönderilecek listeler\",\n    \"campaigns.sent\": \"Gönder\",\n    \"campaigns.start\": \"Kampanya başlat\",\n    \"campaigns.started\": \"\\\"{name}\\\" başlatıldı\",\n    \"campaigns.startedAt\": \"Başlatıldı\",\n    \"campaigns.stats\": \"Durum\",\n    \"campaigns.status.cancelled\": \"İptal edildi\",\n    \"campaigns.status.draft\": \"Taslak\",\n    \"campaigns.status.finished\": \"Sonlandı\",\n    \"campaigns.status.paused\": \"Duraklatıldı\",\n    \"campaigns.status.running\": \"İlerliyor\",\n    \"campaigns.status.scheduled\": \"Zamanlandı\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" durumu {status}\",\n    \"campaigns.subject\": \"Konu\",\n    \"campaigns.templatingRef\": \"Şablon referansı\",\n    \"campaigns.testEmails\": \"E-postalar\",\n    \"campaigns.testSent\": \"Test mesajı gönderildi\",\n    \"campaigns.timestamps\": \"Zaman etiketi\",\n    \"campaigns.trackLink\": \"İzleme bağlantısı\",\n    \"campaigns.unSchedule\": \"Zamanlamayı kaldır\",\n    \"campaigns.views\": \"Görüntülenme\",\n    \"campaigns.visual\": \"Görsel\",\n    \"dashboard.campaignViews\": \"Kampanya görüntülenme Sayısı\",\n    \"dashboard.linkClicks\": \"Linklerin tıklanması\",\n    \"dashboard.messagesSent\": \"Mesaj gönderildi\",\n    \"dashboard.orphanSubs\": \"Sahipsiz\",\n    \"email.data.info\": \"Hakkınızda üretilmiş tüm veri JSON formatında bir dosya olarak eklendi. Bir meti düzenleyici ile görüntüleyebilirsiniz.\",\n    \"email.data.title\": \"Sizin veriniz\",\n    \"email.forgotPassword.button\": \"Şifreyi sıfırla\",\n    \"email.forgotPassword.info\": \"Bunu talep etmediyseniz, bu e-postayı güvenle görmezden gelebilirsiniz. Bu bağlantı 30 dakika içinde sona erecektir.\",\n    \"email.forgotPassword.subject\": \"Şifrenizi sıfırlayın\",\n    \"email.optin.confirmSub\": \"Üyeliği onaylayınız\",\n    \"email.optin.confirmSubHelp\": \"Aşağıdaki düğmeyi tıklayarak Üyeliği onaylayınız.\",\n    \"email.optin.confirmSubInfo\": \"Buradaki listelere eklendiniz:\",\n    \"email.optin.confirmSubTitle\": \"Üyeliği doğrulayınız\",\n    \"email.optin.confirmSubWelcome\": \"Merhaba\",\n    \"email.optin.privateList\": \"Kişisel liste\",\n    \"email.status.campaignReason\": \"Sebep\",\n    \"email.status.campaignSent\": \"Gönderilmiş\",\n    \"email.status.campaignUpdateTitle\": \"Kampanya güncelle\",\n    \"email.status.importFile\": \"Dosya\",\n    \"email.status.importRecords\": \"Kayıtlar\",\n    \"email.status.importTitle\": \"Güncellemeyi içe aktar\",\n    \"email.status.status\": \"Durum\",\n    \"email.unsub\": \"Üyeliği sonlandır\",\n    \"email.unsubHelp\": \"Bu e-posta'ları almak istemiyorum\",\n    \"email.viewInBrowser\": \"Tarayıcıda Görüntüle\",\n    \"forms.formHTML\": \"HTML Formu\",\n    \"forms.formHTMLHelp\": \"Harici bir web sayfasında bir abonelik formu göstermek için aşağıdaki HTML'yi kullanın. Formda e-posta alanı ve bir veya daha fazla `l` (liste UUID) alanı bulunmalıdır. `İsim` alanı isteğe bağlıdır.\",\n    \"forms.noPublicLists\": \"Form'a ihtiyaç duyulan erişime açık listeler yok.\",\n    \"forms.publicLists\": \"Erişime açık listeler\",\n    \"forms.publicSubPage\": \"Erişime açık üyelik sayfası\",\n    \"forms.selectHelp\": \"Form içine eklenecek listeleri seç.\",\n    \"forms.title\": \"Formlar\",\n    \"globals.buttons.add\": \"Ekle\",\n    \"globals.buttons.addNew\": \"Ekle yeni\",\n    \"globals.buttons.back\": \"Geri\",\n    \"globals.buttons.cancel\": \"İptal\",\n    \"globals.buttons.clear\": \"Sil\",\n    \"globals.buttons.clearAll\": \"Tamamını sil\",\n    \"globals.buttons.clone\": \"Klonla\",\n    \"globals.buttons.close\": \"Kapat\",\n    \"globals.buttons.continue\": \"Devam et\",\n    \"globals.buttons.copy\": \"Kopyala\",\n    \"globals.buttons.delete\": \"Sil\",\n    \"globals.buttons.deleteAll\": \"Tamamını sil\",\n    \"globals.buttons.disable\": \"Devre dışı bırak\",\n    \"globals.buttons.edit\": \"Değiştir\",\n    \"globals.buttons.enable\": \"Etkinleştir\",\n    \"globals.buttons.enabled\": \"Etkinleştirildi\",\n    \"globals.buttons.insert\": \"Ekle\",\n    \"globals.buttons.learnMore\": \"Daha fazla öğren\",\n    \"globals.buttons.manage\": \"Yönet\",\n    \"globals.buttons.more\": \"Daha fazla\",\n    \"globals.buttons.new\": \"Yeni\",\n    \"globals.buttons.ok\": \"Tamam\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Çıkart\",\n    \"globals.buttons.save\": \"Kaydet\",\n    \"globals.buttons.saveChanges\": \"Kaydet değişiklik\",\n    \"globals.buttons.toggleSelect\": \"Seçimi Değiştir\",\n    \"globals.buttons.view\": \"Görüntüle\",\n    \"globals.days.0\": \"Paz\",\n    \"globals.days.1\": \"Paz\",\n    \"globals.days.2\": \"Pzt\",\n    \"globals.days.3\": \"Sal\",\n    \"globals.days.4\": \"Çar\",\n    \"globals.days.5\": \"Per\",\n    \"globals.days.6\": \"Cum\",\n    \"globals.days.7\": \"Cmt\",\n    \"globals.fields.createdAt\": \"Yaratılma\",\n    \"globals.fields.description\": \"Açıklama\",\n    \"globals.fields.id\": \"Kimlik\",\n    \"globals.fields.name\": \"İsim\",\n    \"globals.fields.status\": \"Durum\",\n    \"globals.fields.type\": \"Tip\",\n    \"globals.fields.updatedAt\": \"Güncelleme\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Emin misiniz?\",\n    \"globals.messages.confirmDelete\": \"{num} {name} silinsin mi?\",\n    \"globals.messages.confirmDiscard\": \"Değişiklikleri yoksay?\",\n    \"globals.messages.copied\": \"Kopyalandı\",\n    \"globals.messages.created\": \"\\\"{name}\\\" oluşturma\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" silme\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) silindi\",\n    \"globals.messages.done\": \"Tamamlandı\",\n    \"globals.messages.emptyState\": \"Burası Boş\",\n    \"globals.messages.errorCreating\": \"Hata oluşturma {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Hata silme {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Hata çağırırken {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Bir yada daha fazla geçersiz ID: {error}\",\n    \"globals.messages.errorUUID\": \"Hata oluştururken UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Hata güncellerken {name}: {error}\",\n    \"globals.messages.internalError\": \"Sunucu hatası\",\n    \"globals.messages.invalidData\": \"Geçersiz veri\",\n    \"globals.messages.invalidFields\": \"Geçersiz alanlar: {name}\",\n    \"globals.messages.invalidID\": \"Yanlış ID\",\n    \"globals.messages.invalidUUID\": \"Yanlış UUID\",\n    \"globals.messages.invalidValue\": \"Geçersiz değer\",\n    \"globals.messages.missingFields\": \"Eksik alan(lar): {name}\",\n    \"globals.messages.notFound\": \"{name} bulunamadı\",\n    \"globals.messages.numSelected\": \"{num} seçildi\",\n    \"globals.messages.passwordChange\": \"Değiştirmek için değer gir\",\n    \"globals.messages.passwordChangeFull\": \"'{name}' içinde parolayı temizleyin ve yeniden girin.\",\n    \"globals.messages.permissionDenied\": \"İzin reddedildi: {name}\",\n    \"globals.messages.selectAll\": \"Tümünü seç ({num})\",\n    \"globals.messages.slowQueriesCached\": \"Yavaş sorgular önbelleğe alınıyor. Bu sayfadaki bazı sayılar güncel olmayabilir.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" güncellendi\",\n    \"globals.months.1\": \"Oca\",\n    \"globals.months.10\": \"Eki\",\n    \"globals.months.11\": \"Kas\",\n    \"globals.months.12\": \"Ara\",\n    \"globals.months.2\": \"Şub\",\n    \"globals.months.3\": \"Mar\",\n    \"globals.months.4\": \"Nis\",\n    \"globals.months.5\": \"May\",\n    \"globals.months.6\": \"Haz\",\n    \"globals.months.7\": \"Tem\",\n    \"globals.months.8\": \"Ağu\",\n    \"globals.months.9\": \"Eyl\",\n    \"globals.states.off\": \"Kapalı\",\n    \"globals.terms.all\": \"Tümü\",\n    \"globals.terms.analytics\": \"Analitik\",\n    \"globals.terms.attribs\": \"Nitelikler\",\n    \"globals.terms.bounce\": \"Ters Dökülme | Ters Dökülmeler\",\n    \"globals.terms.bounces\": \"Ters Dökülmeler\",\n    \"globals.terms.campaign\": \"Kampanya | Kampanyalar\",\n    \"globals.terms.campaigns\": \"Kampanyalar\",\n    \"globals.terms.dashboard\": \"Yönetim Paneli\",\n    \"globals.terms.day\": \"Gün | Günler\",\n    \"globals.terms.hour\": \"Saat | Saatler\",\n    \"globals.terms.import\": \"İçe aktar\",\n    \"globals.terms.list\": \"Liste | Listeler\",\n    \"globals.terms.lists\": \"Listeler\",\n    \"globals.terms.media\": \"Medya | Medya\",\n    \"globals.terms.messenger\": \"Kuryeler | Kuryeler\",\n    \"globals.terms.messengers\": \"Kuryeler\",\n    \"globals.terms.minute\": \"Dakika | Dakikalar\",\n    \"globals.terms.month\": \"Ay | Aylar\",\n    \"globals.terms.new\": \"Yeni\",\n    \"globals.terms.none\": \"Hiçbiri\",\n    \"globals.terms.second\": \"Saniye | Saniyeler\",\n    \"globals.terms.settings\": \"Ayarlar\",\n    \"globals.terms.subscriber\": \"Üye | Üyeler\",\n    \"globals.terms.subscribers\": \"Üyeler\",\n    \"globals.terms.subscriptions\": \"Abonelik | Abonelikler\",\n    \"globals.terms.tag\": \"Etiket | Etiket(ler)\",\n    \"globals.terms.tags\": \"Etiket(ler)\",\n    \"globals.terms.template\": \"Taslak | Taslaklar\",\n    \"globals.terms.templates\": \"Taslaklar\",\n    \"globals.terms.tx\": \"İşlem | İşlem\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Kullanıcı | Kullanıcılar\",\n    \"globals.terms.users\": \"Kullanıcılar\",\n    \"globals.terms.year\": \"Yıl | Yıllar\",\n    \"import.alreadyRunning\": \"Bir içe aktarım halen sürüyor. Yeniden denemek için durdurun veya yeniden denemek için bekleyin.\",\n    \"import.blocklist\": \"Engelli listesi\",\n    \"import.csvDelim\": \"CSV ayıracı\",\n    \"import.csvDelimHelp\": \"Varsayılan ayıraç virgüldür.\",\n    \"import.csvExample\": \"Örnek ham CSV dosyası\",\n    \"import.csvFile\": \"CSV veya ZIP dosyası\",\n    \"import.csvFileHelp\": \"Buraya CSV veya Zip dosyası bırak veya tıkla\",\n    \"import.errorCopyingFile\": \"Hata, dosya kopyalamrken: {error}\",\n    \"import.errorProcessingZIP\": \"Hata, zip dosyası işleme: {error}\",\n    \"import.errorStarting\": \"Hata, içeri aktarım başlama: {error}\",\n    \"import.importDone\": \"Bitti\",\n    \"import.importStarted\": \"İçeri aktarım başladı\",\n    \"import.instructions\": \"Kullanım talimatı\",\n    \"import.instructionsHelp\": \"Toplu üyeleri yükleyebilmek için bir CSV dosyası veya CSV dosyası içeren bir ZIP dosyası yükleyiniz. CSV dosyasının aynen buradaki isimlere sahip başlıklara sahip olması gerekir. attributes (seçime bağlı) verisi çift tırnak ile verilerin tanımlandığı gerçerli bir JSON olmalıdır.\",\n    \"import.invalidDelim\": \"Ayıraç tek bir karakter olmalı.\",\n    \"import.invalidFile\": \"Hatalı dosya: {error}\",\n    \"import.invalidMode\": \"Hatalı mod\",\n    \"import.invalidParams\": \"Hatalı parametre: {error}\",\n    \"import.invalidSubStatus\": \"Geçersiz abonelik durumu\",\n    \"import.listSubHelp\": \"Üye olunacak listeler.\",\n    \"import.mode\": \"Mod\",\n    \"import.overwriteSubStatus\": \"Abonelik durumunu üzerine yaz\",\n    \"import.overwriteSubStatusHelp\": \"Mevcut liste abonelikleri durumunu üzerine yaz\",\n    \"import.overwriteUserInfo\": \"Kullanıcı bilgisini üzerine yaz\",\n    \"import.overwriteUserInfoHelp\": \"Mevcut abone isimlerini ve niteliklerini üzerine yaz\",\n    \"import.recordsCount\": \"{num} / {total} kayıt\",\n    \"import.stopImport\": \"İçeri aktarmayı durdur\",\n    \"import.subscribe\": \"Üye ol\",\n    \"import.subscribeWarning\": \"Üzerine yazma, aboneliği iptal edilen e-postaları yeniden abone yapacak. Devam etmek istiyor musunuz?\",\n    \"import.title\": \"Üyeleri içeri aktar\",\n    \"import.upload\": \"Yükle\",\n    \"lists.archived\": \"Arşivlendi\",\n    \"lists.archivedHelp\": \"Listeleri arşivleme, listeler sayfasında, kampanyalarda ve genel formlarda gizler. İstediğiniz zaman arşivden çıkarılabilir. Eski ve nadiren kullanılan listeleri gizlemek için kullanışlıdır.\",\n    \"lists.confirmDelete\": \"Emin misiniz? Bu işlem üyeleri silmeyecek.\",\n    \"lists.confirmSub\": \"{name} için üyelik(leri) doğrula\",\n    \"lists.invalidName\": \"Yanlış isim\",\n    \"lists.newList\": \"Yeni liste\",\n    \"lists.optin\": \"Katılım\",\n    \"lists.optinHelp\": \"Çifte katılım üyelerin doğrulanması için e-posta gönderir. Çifte katılım listelerde, kampanyalar sadece doğrulanan üyelere gönderilir.\",\n    \"lists.optinTo\": \"{name} için katılım\",\n    \"lists.optins.double\": \"Çifte katılım\",\n    \"lists.optins.single\": \"Tek katılım\",\n    \"lists.sendCampaign\": \"Kampanyayı gönder\",\n    \"lists.sendOptinCampaign\": \"katılım kampanyasını gönder\",\n    \"lists.type\": \"Tip\",\n    \"lists.typeHelp\": \"Erişime açık listelere her yerden erişilebilirdir ve üye olunabilir. Ayrıca üyelik yönetim sayfaları internet üzerinden erişime açık yerlerdir.\",\n    \"lists.types.private\": \"Kişisel\",\n    \"lists.types.public\": \"Erişime açık\",\n    \"logs.title\": \"Günlükler\",\n    \"maintenance.database.title\": \"Veritabanı\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE silinen satırlar tarafından kullanılan depolamayı geri alır ve büyük veritabanlarında veritabanı performansını önemli ölçüde hızlandırır. ÖNEMLİ: Büyük veritabanları için bu yavaş, bloklanmış bir işlemdir. Bunu yoğun saatlerin dışında çalıştırmak için planlayın.\",\n    \"maintenance.help\": \"Veri miktarına bağlı olarak bazı eylemlerin tamamlanması biraz zaman alabilir.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Onaylanmamış katılım abonelikleri\",\n    \"maintenance.olderThan\": \"Daha eski\",\n    \"maintenance.orphanHelp\": \"Yetimler = listesi olmayan aboneler\",\n    \"maintenance.title\": \"Bakım\",\n    \"maintenance.unconfirmedSubs\": \"{name} günden daha eski onaylanmamış abonelikler.\",\n    \"media.errorReadingFile\": \"Dosyayı okurken hata oluştu: {error}\",\n    \"media.errorResizing\": \"Resim yeniden boyutlandırılırken hata oluştu: {error}\",\n    \"media.errorSavingThumbnail\": \"Küçük resmi kaydederken hata oluştu: {error}\",\n    \"media.errorUploading\": \"Dosya yüklerken hata oluştu: {error}\",\n    \"media.invalidFile\": \"Hatalı dosya: {error}\",\n    \"media.title\": \"Medya\",\n    \"media.unsupportedFileType\": \"Desteklenmeyen dosya tipi ({type})\",\n    \"media.upload\": \"Yükleme\",\n    \"media.uploadHelp\": \"Bir veya daha fazla resmi buraya bırak veya tıkla\",\n    \"menu.allCampaigns\": \"Tüm kampanyalar\",\n    \"menu.allLists\": \"Tüm listeler\",\n    \"menu.allSubscribers\": \"Tüm üyeler\",\n    \"menu.dashboard\": \"Yönetim paneli\",\n    \"menu.forms\": \"Formlar\",\n    \"menu.import\": \"İçeri aktar\",\n    \"menu.logs\": \"Günlükler\",\n    \"menu.maintenance\": \"Bakım\",\n    \"menu.media\": \"Medya\",\n    \"menu.newCampaign\": \"Yeni oluştur\",\n    \"menu.settings\": \"Ayarlar\",\n    \"public.archiveEmpty\": \"Henüz arşivlenmiş mesaj yok.\",\n    \"public.archiveTitle\": \"Posta listesi arşivi\",\n    \"public.blocklisted\": \"Abonelikten kalıcı olarak çıkıldı.\",\n    \"public.campaignNotFound\": \"E-posta mesajı bulunamadı.\",\n    \"public.confirmOptinSubTitle\": \"Üyeliği doğrula\",\n    \"public.confirmSub\": \"Üyeliği doğrula\",\n    \"public.confirmSubInfo\": \"Buradaki listeler içerisine eklendiniz:\",\n    \"public.confirmSubTitle\": \"Doğrula\",\n    \"public.dataRemoved\": \"Tüm üyelikleriniz ve size ait olan tüm veriler silinmiştir.\",\n    \"public.dataRemovedTitle\": \"Veri silindi\",\n    \"public.dataSent\": \"Size ait olan bilgiler size e-posta olarak gönderilmiştir.\",\n    \"public.dataSentTitle\": \"Veri e-posta olarak gönderildi.\",\n    \"public.errorFetchingCampaign\": \"Hata, e-posta getirilirken.\",\n    \"public.errorFetchingEmail\": \"E-posta mesajı bulunamadı\",\n    \"public.errorFetchingLists\": \"Listeleri getirme hatası. Lütfen tekrarla.\",\n    \"public.errorProcessingRequest\": \"İstek işleme hatası. Lütfen tekrarla.\",\n    \"public.errorTitle\": \"Hata\",\n    \"public.invalidCaptcha\": \"Geçersiz CAPTCHA.\",\n    \"public.invalidFeature\": \"Bu özellik geçerli değil.\",\n    \"public.invalidLink\": \"Geçersiz link\",\n    \"public.managePrefs\": \"Tercihleri Yönet\",\n    \"public.managePrefsUnsub\": \"Abonelikten çıkmak için listelerin işaretini kaldırın.\",\n    \"public.noListsAvailable\": \"Eklenecek liste yok.\",\n    \"public.noListsSelected\": \"Bağlanılacak geçerli bir liste seçilmedi.\",\n    \"public.noSubInfo\": \"Doğrulanacak üyelik bulunmuyor.\",\n    \"public.noSubTitle\": \"Üyelik yok\",\n    \"public.notFoundTitle\": \"Bulunamadı\",\n    \"public.poweredBy\": \"Tarafından desteklenmektedir\",\n    \"public.prefsSaved\": \"Tercihleriniz kaydedilmiştir.\",\n    \"public.privacyConfirmWipe\": \"Tüm üyelik verilerinizin kalıcı olarak silinmesini istediğinize eminmisiniz?\",\n    \"public.privacyExport\": \"Verinizi dışarı aktarın\",\n    \"public.privacyExportHelp\": \"Size ait verilerin bir kopyası size e-posta ile gönderilecektir.\",\n    \"public.privacyTitle\": \"Kişisel veriler\",\n    \"public.privacyWipe\": \"Veriyi tamamen temizle\",\n    \"public.privacyWipeHelp\": \"Tüm üyeliklerinizi ve ilişkili verilerinizi veritabanından silin.\",\n    \"public.sub\": \"Üyelik\",\n    \"public.subConfirmed\": \"Başarıyla üye olundu.\",\n    \"public.subConfirmedTitle\": \"Doğrulanmıştır\",\n    \"public.subName\": \"İsim (opsiyonel)\",\n    \"public.subNotFound\": \"Üyelik bulunamadı.\",\n    \"public.subOptinPending\": \"Üyelik doğrulaması için bir e-posta gönderilmiştir.\",\n    \"public.subPrivateList\": \"Kişisel liste\",\n    \"public.subTitle\": \"Üye ol\",\n    \"public.unsub\": \"Üyelikten ayrıl\",\n    \"public.unsubFull\": \"Gelecekte gelecek tüm e-postalar dahil üyeliği sonlandır.\",\n    \"public.unsubHelp\": \"Bu e-posta listesinden ayrılmayı istermisiniz?\",\n    \"public.unsubTitle\": \"Üyelikten ayrıl\",\n    \"public.unsubbedInfo\": \"Başarı ile üyeliğinizi bitirdiniz.\",\n    \"public.unsubbedTitle\": \"Üyelik bitirildi.\",\n    \"public.unsubscribeTitle\": \"e-posta listesi üyeliğini bitir\",\n    \"settings.appearance.adminHelp\": \"Yönetici arayüzüne uygulanacak özel CSS.\",\n    \"settings.appearance.adminName\": \"Yönetici\",\n    \"settings.appearance.customCSS\": \"Özel CSS\",\n    \"settings.appearance.customJS\": \"Özel JavaScript\",\n    \"settings.appearance.name\": \"Görünüm\",\n    \"settings.appearance.publicHelp\": \"Genel sayfalara uygulanacak özel CSS ve JavaScript.\",\n    \"settings.appearance.publicName\": \"Halka açık\",\n    \"settings.bounces.action\": \"Eylem\",\n    \"settings.bounces.blocklist\": \"Engelleme listesi\",\n    \"settings.bounces.count\": \"Sıçrama sayısı\",\n    \"settings.bounces.countHelp\": \"Abone başına geri dönüş sayısı\",\n    \"settings.bounces.enable\": \"Sıçrama işlemeyi etkinleştirin\",\n    \"settings.bounces.enableForwardemail\": \"E-postayı Yönlendirmeyi Etkinleştir\",\n    \"settings.bounces.enableMailbox\": \"Geri dönen posta kutusunu etkinleştirin\",\n    \"settings.bounces.enablePostmark\": \"Postmark'i etkinleştirin\",\n    \"settings.bounces.enableSES\": \"SES'i etkinleştirin\",\n    \"settings.bounces.enableSendgrid\": \"SendGrid'i etkinleştirin\",\n    \"settings.bounces.enableWebhooks\": \"Sıçrama web kancalarını etkinleştirin\",\n    \"settings.bounces.enabled\": \"Etkinleştir\",\n    \"settings.bounces.folder\": \"Dizin\",\n    \"settings.bounces.folderHelp\": \"Taranacak IMAP klasörünün adı. Örn: Gelen Kutusu.\",\n    \"settings.bounces.forwardemailKey\": \"Yönlendirme E-posta Anahtarı\",\n    \"settings.bounces.invalidScanInterval\": \"Sıçrama tarama aralığı en az 1 dakika olmalıdır.\",\n    \"settings.bounces.name\": \"Sıçramalar\",\n    \"settings.bounces.none\": \"Hiçbiri\",\n    \"settings.bounces.postmarkPassword\": \"Postmark Parolası\",\n    \"settings.bounces.postmarkUsername\": \"Postmark Kullanıcı Adı\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark, web kancaları için temel yetkilendirmeyi etkinleştirmenizi sağlar. Buraya ve Postmark web kancası ayarlarınıza aynı kimlik bilgilerini girmeniz gerektiğinden emin olun.\",\n    \"settings.bounces.scanInterval\": \"Tarama aralığı\",\n    \"settings.bounces.scanIntervalHelp\": \"Sıçrama posta kutusunun sıçramalar için taranması gereken aralık (saniye için s, dakika için m).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid Anahtarı\",\n    \"settings.bounces.type\": \"Tip\",\n    \"settings.bounces.username\": \"Kullanıcı adı\",\n    \"settings.confirmRestart\": \"Çalışan kampanyaların duraklatıldığından emin ol. Yeniden başlat?\",\n    \"settings.duplicateMessengerName\": \"Çoklanmış messenger ismi: {name}\",\n    \"settings.errorEncoding\": \"Hatalı kodlama ayarları: {error}\",\n    \"settings.errorNoSMTP\": \"En azından bir SMTP bloğu etkin olmalı\",\n    \"settings.general.adminNotifEmails\": \"Yönetici e-posta bildirimleri\",\n    \"settings.general.adminNotifEmailsHelp\": \"İçe aktarma güncellemeleri, kampanya tamamlama, başarısızlık gibi yönetici bildirimlerinin gönderilmesi gereken e-posta adreslerinin virgülle ayrılmış listesi.\",\n    \"settings.general.checkUpdates\": \"Güncellemeleri kontrol edin\",\n    \"settings.general.checkUpdatesHelp\": \"Yeni uygulama sürümlerini periyodik olarak kontrol edin ve bilgilendirin.\",\n    \"settings.general.enablePublicArchive\": \"Genel posta listesi arşiv sayfasını etkinleştirin\",\n    \"settings.general.enablePublicArchiveHelp\": \"Arşivlemenin etkinleştirildiği kampanyaları kamuya açık web sitesinde yayınlayın.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"RSS yayınında tam içeriği göster\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"RSS yayınında tüm e-posta içeriğini göster. Devre dışı bırakıldığında, yalnızca başlık ve bağlantı öğeleri gösterilir.\",\n    \"settings.general.enablePublicSubPage\": \"Erişime açık üyelik sayfasını etkinleştir\",\n    \"settings.general.enablePublicSubPageHelp\": \"Kişilerin abone olması için tüm genel listeleri içeren genel bir abonelik sayfası gösterin.\",\n    \"settings.general.faviconURL\": \"Favicon URL'si\",\n    \"settings.general.faviconURLHelp\": \"(İsteğe bağlı) abonelik iptal sayfası gibi kullanıcıya bakan görünümde görüntülenecek statik faviconun tam URL'si.\",\n    \"settings.general.fromEmail\": \"Varsayılan `gelen` e-postası\",\n    \"settings.general.fromEmailHelp\": \"Varsayılan `gelen` e-postası, tüm gönderilen kampanyalarda gösterilecek. Her kampanya için değiştirilebilir.\",\n    \"settings.general.language\": \"Dil\",\n    \"settings.general.logoURL\": \"Logo URL'i\",\n    \"settings.general.logoURLHelp\": \"(İsteğe bağlı) abonelik iptal sayfası gibi kullanıcıya bakan görünümde görüntülenecek statik logonun tam URL'si.\",\n    \"settings.general.name\": \"Genel\",\n    \"settings.general.rootURL\": \"Kök URL'i\",\n    \"settings.general.rootURLHelp\": \"Kurulumun genel URL'si (bölme çizgisi yok).\",\n    \"settings.general.sendOptinConfirm\": \"Katılım onayı gönderin\",\n    \"settings.general.sendOptinConfirmHelp\": \"Yeni aboneler kaydolduğunda veya yönetici formu aracılığıyla eklendiğinde, bir katılım onay e-postası gönderin.\",\n    \"settings.general.siteName\": \"Site adı\",\n    \"settings.invalidMessengerName\": \"Geçersiz kurye adı.\",\n    \"settings.mailserver.authProtocol\": \"Protokol\",\n    \"settings.mailserver.host\": \"İstemci\",\n    \"settings.mailserver.hostHelp\": \"SMTP sunucusu adresi.\",\n    \"settings.mailserver.idleTimeout\": \"Boşta kalma süresi\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (s saniye, m dakika).\",\n    \"settings.mailserver.maxConns\": \"Maksimum bağlantı sayısı\",\n    \"settings.mailserver.maxConnsHelp\": \"SMTP sunucusuna aynı anda gönderilecek çoklu istek sayısı.\",\n    \"settings.mailserver.nameHelp\": \"SMTP sunucusu için isteğe bağlı benzersiz ad. email- ön eki olmalıdır. Bu ayar, kampanya için sunucunun özel olarak seçilmesine olanak tanır. Örnek: email-primary-server. Alfabe sayısal / tire olabilir.\",\n    \"settings.mailserver.password\": \"Parola\",\n    \"settings.mailserver.passwordHelp\": \"Değiştirmek için giriniz\",\n    \"settings.mailserver.port\": \"Bağlantı Noktası\",\n    \"settings.mailserver.portHelp\": \"SMTP sunucusu port numarası.\",\n    \"settings.mailserver.skipTLS\": \"TLS doğrulamasını atla\",\n    \"settings.mailserver.skipTLSHelp\": \"TLS sertifikaları için sunucu adı doğrulamayı atla.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"STARTTLS tanımla.\",\n    \"settings.mailserver.username\": \"Kullanıcı adı\",\n    \"settings.mailserver.waitTimeout\": \"Bekleme süresi aşımı\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (saniye için s, dakika için m). \",\n    \"settings.maintenance.cron\": \"Cron aralığı\",\n    \"settings.media.provider\": \"Sağlayıcı\",\n    \"settings.media.s3.bucket\": \"Kova\",\n    \"settings.media.s3.bucketPath\": \"Bucket yolu\",\n    \"settings.media.s3.bucketPathHelp\": \"Dosyaları yüklemek için paketin içindeki yol. Varsayılan /\",\n    \"settings.media.s3.bucketType\": \"Bucket tipi\",\n    \"settings.media.s3.bucketTypePrivate\": \"Özel\",\n    \"settings.media.s3.bucketTypePublic\": \"Erişime açık\",\n    \"settings.media.s3.key\": \"AWS erişim anahtarı\",\n    \"settings.media.s3.publicURL\": \"Özel genel URL (isteğe bağlı)\",\n    \"settings.media.s3.publicURLHelp\": \"Varsayılan S3 arka uç URL'si yerine resim bağlantıları için kullanılacak özel S3 etki alanı.\",\n    \"settings.media.s3.region\": \"Bölge\",\n    \"settings.media.s3.secret\": \"AWS erişim parolası(secret)\",\n    \"settings.media.s3.uploadExpiry\": \"Yükleme sona erme\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(İsteğe bağlı) Oluşturulan önceden imzalanmış URL için TTL'yi belirtin. Yalnızca özel paketler için geçerlidir (saniye, dakika, saat, gün için s, m, h, d).\",\n    \"settings.media.s3.url\": \"S3 arka uç URL'si\",\n    \"settings.media.s3.urlHelp\": \"Yalnızca Minio gibi özel bir S3 uyumlu arka uç kullanıyorsanız değiştirin.\",\n    \"settings.media.title\": \"Medya yüklemeleri\",\n    \"settings.media.upload.extensions\": \"İzin verilen dosya uzantıları\",\n    \"settings.media.upload.extensionsHelp\": \"Tüm uzantılara izin vermek için * ekleyin\",\n    \"settings.media.upload.path\": \"Yükleme yolu\",\n    \"settings.media.upload.pathHelp\": \"Medyanın yükleneceği dizinin yolu.\",\n    \"settings.media.upload.uri\": \"Yüklwmw URI si\",\n    \"settings.media.upload.uriHelp\": \"Dış dünya tarafından görülebilen URI'yi yükleyin. Upload_path'e yüklenen medyaya {root_url} altından herkese açık erişime sahip olacak, örneğin https://www.siteniz.com/uploads.\",\n    \"settings.messengers.maxConns\": \"Maksimum bağlantı\",\n    \"settings.messengers.maxConnsHelp\": \"Sunucuya maksimum çoklu bağlantı.\",\n    \"settings.messengers.messageSaved\": \"Ayarlar kaydedildi. Uygulama yeniden yükleniyor ...\",\n    \"settings.messengers.name\": \"Kuryeler\",\n    \"settings.messengers.nameHelp\": \"örn.: my-sms. Alfanumerik / bölü.\",\n    \"settings.messengers.password\": \"Parola\",\n    \"settings.messengers.retries\": \"Tekrarlama\",\n    \"settings.messengers.retriesHelp\": \"Bir mesaj başarısız olduğunda yeniden deneme sayısı.\",\n    \"settings.messengers.skipTLSHelp\": \"TLS sertifikasında ana bilgisayar adı kontrolünü atlayın.\",\n    \"settings.messengers.timeout\": \"Boşta zaman aşımı\",\n    \"settings.messengers.timeoutHelp\": \"Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (s saniye, m dakika).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"Postback sunusucu için kök URL.\",\n    \"settings.messengers.username\": \"Kullanıcı adı\",\n    \"settings.needsRestart\": \"Ayarlar değişti. Çalışan tüm kampanyaları durdur ve uygulamayı yeniden başlat.\",\n    \"settings.performance.batchSize\": \"Batch büyüklüğü\",\n    \"settings.performance.batchSizeHelp\": \"Veritabanından tek bir yinelemede çekilecek abone sayısı. Her yineleme, aboneleri veritabanından çeker, onlara mesajlar gönderir ve ardından bir sonraki grubu çekmek için bir sonraki yinelemeye geçer. Bu, ideal olarak elde edilebilecek maksimum iş hacminden (eşzamanlılık * ileti_ hızı) daha yüksek olmalıdır.\",\n    \"settings.performance.cacheSlowQueries\": \"Yavaş veritabanı sorgularını önbelleğe al\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Sadece önemli ölçüde yavaşlayan büyük veritabanlarından etkinleştirin. Liste abone sayılarını, kontrol paneli istatistiklerini vb. önbelleğe alır.\",\n    \"settings.performance.concurrency\": \"Çoklu bağlantı\",\n    \"settings.performance.concurrencyHelp\": \"Aynı anda ileti göndermeyi deneyecek maksimum eşzamanlı worker (thread) sayısı.\",\n    \"settings.performance.maxErrThreshold\": \"Maksimum hata eşiği\",\n    \"settings.performance.maxErrThresholdHelp\": \"Çalışan bir kampanyanın manuel inceleme veya müdahale için durdurulmasından önce tolerans göstermesi gereken hataların (örn: e-posta gönderimi sırasında SMTP zaman aşımı) sayısı. Asla durdurmak için 0 olarak ayarlayın.\",\n    \"settings.performance.messageRate\": \"Mesaj oranı\",\n    \"settings.performance.messageRateHelp\": \"Çalışan başına saniyede bir saniyede gönderilecek maksimum mesaj sayısı. Concurrency = 10 ve message_rate = 10 ise, her saniye 10x10 = 100'e kadar mesaj gönderilebilir. Bu, eşzamanlılık ile birlikte, net mesajların saniyede dışarı çıkmasını hedef mesaj sunucularının hız limitlerinin altında tutmak için ince ayar yapılmalıdır.\",\n    \"settings.performance.name\": \"Performans\",\n    \"settings.performance.slidingWindow\": \"Kayan pencere sınırını etkinleştir\",\n    \"settings.performance.slidingWindowDuration\": \"Süre\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Kayar pencere periyodunun süresi (dakika için m, saat için h).\",\n    \"settings.performance.slidingWindowHelp\": \"Belirli bir süre içinde gönderilen toplam ileti sayısını sınırlayın. Bu sınıra ulaşıldığında, mesajların gönderimi zaman penceresi temizlenene kadar bekletilir.\",\n    \"settings.performance.slidingWindowRate\": \"Maksimum. mesaj\",\n    \"settings.performance.slidingWindowRateHelp\": \"Pencere süresi içinde gönderilecek maksimum mesaj sayısı.\",\n    \"settings.privacy.allowBlocklist\": \"Liste bloklama izini ver\",\n    \"settings.privacy.allowBlocklistHelp\": \"Abonelerin tüm posta listelerinden çıkmalarına ve kendilerini engellenmiş olarak işaretlemelerine izin verin?\",\n    \"settings.privacy.allowExport\": \"Dışa aktarım için izin ver\",\n    \"settings.privacy.allowExportHelp\": \"Abonelerin üzerlerinde toplanan verileri dışa aktarmalarına izin verin?\",\n    \"settings.privacy.allowPrefs\": \"Tercih değişikliklerine izin verin\",\n    \"settings.privacy.allowPrefsHelp\": \"Abonelerin adları ve çoklu liste abonelikleri gibi tercihlerini değiştirmelerine izin verin.\",\n    \"settings.privacy.allowWipe\": \"Silmek için izin ver\",\n    \"settings.privacy.allowWipeHelp\": \"Abonelerin, abonelikleri ve veritabanındaki diğer tüm veriler dahil olmak üzere kendilerini silmesine izin verin. Kampanya görüntülemeleri ve bağlantı tıklamaları da, görünümler ve tıklama sayıları kalır (bunlarla ilişkilendirilmiş abone olmadan), böylece istatistikler ve analizler etkilenmez.\",\n    \"settings.privacy.domainAllowlist\": \"Alan adı izin listesi\",\n    \"settings.privacy.domainAllowlistHelp\": \"Sadece bu alan adlarına sahip e-posta adreslerinin aboneliğine izin verilir. Her satıra bir alan adı girin, örn: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Alan adı engelleme listesi\",\n    \"settings.privacy.domainBlocklistHelp\": \"Bu alan adlarına sahip e-posta adreslerinin abone olmasına izin verilmez. Her satıra bir alan adı girin, örneğin: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Bireysel üye takibi\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Abone düzeyinde kampanya görüntülemelerini ve tıklamalarını izleyin. Devre dışı bırakıldığında, bireysel abonelere bağlanmadan görüntüleme ve tıklama izleme devam eder.\",\n    \"settings.privacy.listUnsubHeader\": \" `List-Unsubscribe` Başlık bilgisini ekle\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"E-posta istemcilerinin kullanıcıların tek bir tıklamayla abonelikten çıkmalarına olanak tanıyan abonelik iptal başlıklarını ekleyin.\",\n    \"settings.privacy.name\": \"Gizlilik\",\n    \"settings.privacy.recordOptinIP\": \"Opt-in IP adresini kaydet\",\n    \"settings.privacy.recordOptinIPHelp\": \"Çift onay aboneliklerinin IP adreslerini abone özelliklerinde kaydedin.\",\n    \"settings.restart\": \"Yeniden başlat\",\n    \"settings.security.CORSDomains\": \"İzin verilen kaynaklar\",\n    \"settings.security.CORSDomainsHelp\": \"Dış etki alanlarından tarayıcı Javascript aracılığıyla API uç noktalarına erişime izin verin. Her satıra bir etki alanı girin (örneğin: https://example.com). CORS'u devre dışı bırakmak için boş bırakın veya tümüne izin vermek için * ekleyin (önerilmez).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Kullanıcıları otomatik oluştur\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Hesap yoksa ilk girişte kullanıcıyı otomatik oluştur.\",\n    \"settings.security.OIDCClientID\": \"İstemci Kimliği\",\n    \"settings.security.OIDCClientSecret\": \"İstemci Sırrı\",\n    \"settings.security.OIDCDefaultListRole\": \"Varsayılan liste rolü\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"OIDC'den otomatik oluşturulan kullanıcılara atanan varsayılan rol.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Varsayılan kullanıcı rolü\",\n    \"settings.security.OIDCHelp\": \"Bir OAuth sağlayıcı aracılığıyla OpenID Connect OAuth2 girişini etkinleştirin.\",\n    \"settings.security.OIDCName\": \"Sağlayıcı adı\",\n    \"settings.security.OIDCRedirectURL\": \"OAuth sağlayıcı için Yönlendirme URL'si\",\n    \"settings.security.OIDCRedirectWarning\": \"Bu, üretim URL'si gibi görünmüyor. 'Genel' ayarlarında Kök URL'yi değiştirin.\",\n    \"settings.security.OIDCURL\": \"Sağlayıcı URL'si\",\n    \"settings.security.OIDCWarning\": \"OIDC etkin olduğunda, varsayılan parola girişi devre dışı bırakılır. Geçersiz yapılandırma sizi kilitleyebilir.\",\n    \"settings.security.altchaComplexity\": \"Altcha Karmaşıklığı\",\n    \"settings.security.altchaComplexityHelp\": \"Daha yüksek değerler daha iyi güvenlik sağlar ancak çözüm yavaşlar (1000-1000000).\",\n    \"settings.security.captchaKey\": \"hCaptcha.com Site Anahtarı\",\n    \"settings.security.captchaKeyHelp\": \"Anahtarı ve gizli bilgiyi almak için www.hcaptcha.com adresini ziyaret edin.\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com gizli bilgi\",\n    \"settings.security.enableCaptcha\": \"CAPTCHA'yı etkinleştir\",\n    \"settings.security.enableCaptchaHelp\": \"Genel abonelik formunda CAPTCHA'yı etkinleştirin.\",\n    \"settings.security.enableOIDC\": \"OIDC SSO'yu etkinleştirin\",\n    \"settings.security.name\": \"Güvenlik\",\n    \"settings.smtp.customHeaders\": \"Özel başlık bilgisi\",\n    \"settings.smtp.customHeadersHelp\": \"Bu sunucudan gönderilen tüm iletilere eklenecek isteğe bağlı e-posta başlıkları dizisi. Örnek: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Etkinleştirildi\",\n    \"settings.smtp.heloHost\": \"HELO İstemci adı\",\n    \"settings.smtp.heloHostHelp\": \"Opsiyonel. Bazı SMTP sunucuları istemci adı olarak FQDN isterler. Varsayılan olarak, 'localhost' üzerine HELLO gönderilecektir. Farklı bir sunucu adı kullanılacaksa tanımlayın lütfen.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Tekrarlama\",\n    \"settings.smtp.retriesHelp\": \"Mesaj hata verdiğinde tekrar deneme sayısı.\",\n    \"settings.smtp.sendTest\": \"E-posta gönder\",\n    \"settings.smtp.setCustomHeaders\": \"Özel başlık tanımla\",\n    \"settings.smtp.testConnection\": \"Bağlantıyı test et\",\n    \"settings.smtp.testEnterEmail\": \"Test etmek için parolayı girin\",\n    \"settings.smtp.toEmail\": \"Gönderilecek e-posta\",\n    \"settings.title\": \"Ayarlar\",\n    \"settings.updateAvailable\": \"Yeni bir güncel sürüm {version} mevcuttur.\",\n    \"subscribers.activity\": \"Aktivite\",\n    \"subscribers.advancedQuery\": \"İleri düzey\",\n    \"subscribers.advancedQueryHelp\": \"Üye attributes verisini görüntülemek için SQL verisi\",\n    \"subscribers.attribsHelp\": \"Nitelikler verisi JSON map olarak tanımlı, örnek olarak:\",\n    \"subscribers.blocklistedHelp\": \"Erişime engelli üyeler hiçbir zaman e-posta alamayacak.\",\n    \"subscribers.confirmBlocklist\": \"Erişime engelli {num} üye(leri)?\",\n    \"subscribers.confirmDelete\": \"Sil {num} üye(leri)?\",\n    \"subscribers.confirmExport\": \"Dışa aktar {num} üye(leri)?\",\n    \"subscribers.domainBlocklisted\": \"E-posta alan adı engelli listesinde.\",\n    \"subscribers.downloadData\": \"Veriyi indir\",\n    \"subscribers.email\": \"E-posta\",\n    \"subscribers.emailExists\": \"E-posta zaten mevcut.\",\n    \"subscribers.errorBlocklisting\": \"Hata, erişime engelli üyeleri gösterme: {error}\",\n    \"subscribers.errorNoIDs\": \"Herhangi bir ID verilmedi.\",\n    \"subscribers.errorNoListsGiven\": \"Liste tanımı yapılmamış.\",\n    \"subscribers.errorPreparingQuery\": \"Üye sorgusu hazırlarken hata oluştu: {error}\",\n    \"subscribers.errorSendingOptin\": \"Katılım e-postası gönderirken hata oluştu.\",\n    \"subscribers.export\": \"Dışarı aktar\",\n    \"subscribers.invalidAction\": \"Gerçersiz aksiyon.\",\n    \"subscribers.invalidEmail\": \"Geçersiz e-posta.\",\n    \"subscribers.invalidJSON\": \"Nitelik tanımı içinde geçersiz JSON.\",\n    \"subscribers.invalidName\": \"Hatalı isim.\",\n    \"subscribers.listChangeApplied\": \"Liste değişikliği uygulandı.\",\n    \"subscribers.lists\": \"Listeler\",\n    \"subscribers.listsHelp\": \"Üyelerin kendilerini sildikleri listeler silinemez.\",\n    \"subscribers.listsPlaceholder\": \"Üye olunacak liste\",\n    \"subscribers.manageLists\": \"Listeleri yönet\",\n    \"subscribers.markUnsubscribed\": \"Üyelikten ayrılmış olarak işaretle\",\n    \"subscribers.newSubscriber\": \"Yeni üye\",\n    \"subscribers.numSelected\": \"{num} üye(ler) seçildi\",\n    \"subscribers.optinSubject\": \"Üyeliği doğrula\",\n    \"subscribers.preconfirm\": \"Abonelikleri önceden onaylama\",\n    \"subscribers.preconfirmHelp\": \"Katılım e-postaları göndermeyin ve tüm liste aboneliklerini 'abone olundu' olarak işaretleyin.\",\n    \"subscribers.query\": \"Sorgu\",\n    \"subscribers.queryPlaceholder\": \"E-posta veya isim\",\n    \"subscribers.reset\": \"Sıfırla\",\n    \"subscribers.selectAll\": \"Tümünü seç {num}\",\n    \"subscribers.sendOptinConfirm\": \"Katılım onayı gönderin\",\n    \"subscribers.sentOptinConfirm\": \"Katılım onayı gönderildi\",\n    \"subscribers.status.blocklisted\": \"Engellenmiş\",\n    \"subscribers.status.confirmed\": \"Doğrulanmış\",\n    \"subscribers.status.enabled\": \"Etkinleştirildi\",\n    \"subscribers.status.subscribed\": \"Üye olundu\",\n    \"subscribers.status.unconfirmed\": \"Onaylanmadı\",\n    \"subscribers.status.unsubscribed\": \"Üyeliği sonlandı\",\n    \"subscribers.subscribersDeleted\": \"{num} tane üye(ler) silindi\",\n    \"templates.cantDeleteDefault\": \"Varsayılan taslak silinemez\",\n    \"templates.default\": \"Varsayılan\",\n    \"templates.dummyName\": \"Boş kampanya\",\n    \"templates.dummySubject\": \"Boş kampanya konusu\",\n    \"templates.errorCompiling\": \"Hata, taslak oluşturulurken: {error}\",\n    \"templates.errorRendering\": \"Mesajı oluşturma hatası: {error}\",\n    \"templates.fieldInvalidName\": \"İsim için yanlış uzunluk.\",\n    \"templates.makeDefault\": \"Varsayılan tanımla\",\n    \"templates.newTemplate\": \"Yeni taslak\",\n    \"templates.placeholderHelp\": \"Yer tutucu {placeholder} taslak içinde sadece bir kere olmalıdır.\",\n    \"templates.preview\": \"Önizleme\",\n    \"templates.rawHTML\": \"Ham HTML\",\n    \"templates.subject\": \"Konu\",\n    \"templates.typeCampaignHTML\": \"Kampanya / HTML\",\n    \"templates.typeCampaignVisual\": \"Kampanya / Görsel\",\n    \"templates.typeTransactional\": \"İşlemsel\",\n    \"users.apiOneTimeToken\": \"Şimdi API erişim belirtecini kopyalayın. Bir daha gösterilmeyecek.\",\n    \"users.cantDeleteRole\": \"Kullanımda olan bir rolü silemezsin.\",\n    \"users.firstTime\": \"Bu yeni bir yüklemeler. Süper Yönetici hesabı için bir kullanıcı adı ve şifre seçin.\",\n    \"users.forgotPassword\": \"Şifreyi mi unuttunuz?\",\n    \"users.invalidLogin\": \"Geçersiz giriş veya şifre\",\n    \"users.invalidPassword\": \"Geçersiz şifre\",\n    \"users.invalidRequest\": \"Geçersiz kimlik doğrulama isteği\",\n    \"users.invalidResetLink\": \"Geçersiz veya süresi dolmuş sıfırlama bağlantısı\",\n    \"users.lastLogin\": \"Son giriş\",\n    \"users.listPerms\": \"Liste izinleri\",\n    \"users.listPermsWarning\": \"lists:get_all veya lists:manage_all etkinleştirilmiş durumdadır ve bunlar per-liste izinleri geçersiz kılar\",\n    \"users.listRole\": \"Liste rolü | Liste rolü\",\n    \"users.listRoles\": \"Liste rolleri\",\n    \"users.login\": \"Giriş\",\n    \"users.loginOIDC\": \"{name} ile Giriş yap\",\n    \"users.logout\": \"Çıkış\",\n    \"users.needSuper\": \"Kullanıcı(lar) güncellenemedi. En az bir etkin Süper Yönetici kullanıcısı olmalıdır.\",\n    \"users.newListRole\": \"Yeni liste rolü\",\n    \"users.newPassword\": \"Yeni şifre\",\n    \"users.newUser\": \"Yeni kullanıcı\",\n    \"users.newUserRole\": \"Yeni kullanıcı rolü\",\n    \"users.password\": \"Şifre\",\n    \"users.passwordEnable\": \"Şifre girişini etkinleştir\",\n    \"users.passwordMismatch\": \"Şifreler eşleşmiyor\",\n    \"users.passwordRepeat\": \"Şifreyi Tekrarla\",\n    \"users.perms\": \"İzinler\",\n    \"users.profile\": \"Profil\",\n    \"users.resetLinkSent\": \"Hesap aktif ise, şifre sıfırlama e-postası alacaksınız.\",\n    \"users.resetPassword\": \"Şifreyi sıfırla\",\n    \"users.role\": \"Rol | Roller\",\n    \"users.roleGroup\": \"Grup\",\n    \"users.roles\": \"Roller\",\n    \"users.status.disabled\": \"Devre Dışı\",\n    \"users.status.enabled\": \"Etkin\",\n    \"users.totpCode\": \"TOTP kodu\",\n    \"users.totpCodeHelp\": \"Kimlik doğrulayıcı uygulamanızdan 6 haneli kodu girin\",\n    \"users.totpScanQR\": \"QR kodunu Ente veya Google Authenticator gibi kimlik doğrulayıcı uygulamanızla tarayın ve aşağıda TOTP kodunu girin.\",\n    \"users.totpSecret\": \"Gizli anahtar\",\n    \"users.twoFA\": \"İki faktörlü kimlik doğrulama\",\n    \"users.twoFAAlreadyEnabled\": \"İki faktörlü kimlik doğrulama zaten etkinleştirilmiş.\",\n    \"users.twoFAEnabled\": \"İki faktörlü kimlik doğrulama açık\",\n    \"users.twoFAEnabledDesc\": \"Hesabınız {type} 2FA ile korunuyor\",\n    \"users.twoFANotEnabled\": \"Hesabınıza giriş yaparken ek güvenlik için 2FA'yı etkinleştirin.\",\n    \"users.type\": \"Tür\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Süper Yönetici\",\n    \"users.type.user\": \"Kullanıcı\",\n    \"users.userRole\": \"Kullanıcı rolü | Kullanıcı rolleri\",\n    \"users.userRoles\": \"Kullanıcı rolleri\",\n    \"users.username\": \"Kullanıcı Adı\",\n    \"users.usernameHelp\": \"Şifre girişi ile kullanılır\"\n}\n"
  },
  {
    "path": "i18n/uk.json",
    "content": "{\n    \"_.code\": \"uk\",\n    \"_.name\": \"Українська (uk)\",\n    \"admin.errorMarshallingConfig\": \"Не вдалося передати конфігурацію: {error}\",\n    \"analytics.count\": \"Кількість\",\n    \"analytics.fromDate\": \"З\",\n    \"analytics.invalidDates\": \"Хибна дата `from` чи `to`.\",\n    \"analytics.isUnique\": \"Кожна людина рахується лише один раз.\",\n    \"analytics.links\": \"Посилання\",\n    \"analytics.nonUnique\": \"Одна людина може рахуватися декілька разів, бо відстеження окремих підписни_ць вимкнено.\",\n    \"analytics.title\": \"Аналітика\",\n    \"analytics.toDate\": \"До\",\n    \"bounces.complaint\": \"Скарги\",\n    \"bounces.hard\": \"Жорсткі\",\n    \"bounces.soft\": \"М'які\",\n    \"bounces.source\": \"Джерело\",\n    \"bounces.unknownService\": \"Невідома служба.\",\n    \"bounces.view\": \"Переглянути помилки\",\n    \"campaigns.addAltText\": \"Додати альтернативний простий текст у лист\",\n    \"campaigns.addAttachments\": \"Додати вкладення\",\n    \"campaigns.archive\": \"Архів\",\n    \"campaigns.archiveEnable\": \"Оприлюднити в архіві\",\n    \"campaigns.archiveHelp\": \"Розмістити лист кампанії (запущеної, призупиненої, завершеної) в загальнодоступному архіві.\",\n    \"campaigns.archiveMeta\": \"Метадані кампанії\",\n    \"campaigns.archiveMetaHelp\": \"Дані вигаданої підписни_ці для використання в загальнодоступному листі, зокрема ім'я (name), е-пошта (email) та будь-які необов'язкові атрибути, використані в листі чи шаблоні кампанії.\",\n    \"campaigns.archiveSlug\": \"URL-ідентифікатор\",\n    \"campaigns.archiveSlugHelp\": \"Коротке ім'я сторінки, яке буде використовуватися в публічному URL. Наприклад: my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Вкладення\",\n    \"campaigns.attribsHelp\": \"Користувацькі JSON атрибути {} для цієї кампанії. Використовуйте в шаблоні з {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Неможливо оновити запущену чи завершену кампанію.\",\n    \"campaigns.clicks\": \"Переходи\",\n    \"campaigns.confirmDelete\": \"Видалити {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Це замінить весь вміст. Продовжити?\",\n    \"campaigns.confirmSchedule\": \"Автоматичний запуск кампанії відкладено до зазначених дати й часу. Запустити негайно?\",\n    \"campaigns.confirmSwitchFormat\": \"Текст може втратити форматування. Продовжити?\",\n    \"campaigns.content\": \"Текст\",\n    \"campaigns.contentHelp\": \"Текст тут\",\n    \"campaigns.continue\": \"Далі\",\n    \"campaigns.copyOf\": \"Копія {name}\",\n    \"campaigns.customHeadersHelp\": \"Масив власних заголовків, які слід додавати до вихідних листів, наприклад: [{\\\"X-Custom\\\": \\\"значення\\\"}, {\\\"X-Custom2\\\": \\\"тощо\\\"}]\",\n    \"campaigns.dateAndTime\": \"Дата й час\",\n    \"campaigns.ended\": \"Завершено\",\n    \"campaigns.errorSendTest\": \"Помилка пробного надсилання: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Помилка побудови тексту кампанії: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Хибне значення `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Хибні ідентифікатори розсилок.\",\n    \"campaigns.fieldInvalidMessenger\": \"Невідомий канал {name}.\",\n    \"campaigns.fieldInvalidName\": \"Хибна довжина назви.\",\n    \"campaigns.fieldInvalidSendAt\": \"Відкласти можливо лише на майбутнє.\",\n    \"campaigns.fieldInvalidSubject\": \"Хибна довжина теми.\",\n    \"campaigns.format\": \"Формат\",\n    \"campaigns.formatHTML\": \"Форматувати HTML-код\",\n    \"campaigns.fromAddress\": \"З адреси\",\n    \"campaigns.fromAddressPlaceholder\": \"Ваше Ім'я <info@example.org>\",\n    \"campaigns.importVisualTemplate\": \"Імпортувати візуальний шаблон\",\n    \"campaigns.invalid\": \"Хибна кампанія\",\n    \"campaigns.invalidCustomHeaders\": \"Хибні власні заголовки: {error}\",\n    \"campaigns.markdown\": \"Markdown-розмітка\",\n    \"campaigns.needsSendAt\": \"Щоб відкласти кампанію, потрібна дата.\",\n    \"campaigns.newCampaign\": \"Нова кампанія\",\n    \"campaigns.noKnownSubsToTest\": \"Щоб перевірити надсилання, потрібні чинні підписни_ці.\",\n    \"campaigns.noOptinLists\": \"Щоб створити кампанію, потрібні розсилки з підтвердженням згоди.\",\n    \"campaigns.noSubs\": \"Щоб створити кампанію, в обраних розсилках мають бути підписни_ці.\",\n    \"campaigns.noSubsToTest\": \"Нема кому надсилати.\",\n    \"campaigns.notFound\": \"Кампанії не знайдено.\",\n    \"campaigns.onlyActiveCancel\": \"Лише активні кампанії можливо скасовувати.\",\n    \"campaigns.onlyActivePause\": \"Лише активні кампанії можливо призупиняти.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Лише кампанії-чернетки можливо відкладати.\",\n    \"campaigns.onlyPausedDraft\": \"Лише призупинені кампанії й чернетки можливо запускати.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Лише відкладені кампанії можливо зберігати як чернетки.\",\n    \"campaigns.pause\": \"Призупинити\",\n    \"campaigns.plainText\": \"Простий текст\",\n    \"campaigns.preview\": \"Переглянути\",\n    \"campaigns.progress\": \"Поступ\",\n    \"campaigns.queryPlaceholder\": \"Назва чи тема\",\n    \"campaigns.rateMinuteShort\": \"хв\",\n    \"campaigns.rawHTML\": \"HTML-код\",\n    \"campaigns.removeAltText\": \"Вилучити альтернативний простий текст із листа\",\n    \"campaigns.richText\": \"Редактор із форматуванням\",\n    \"campaigns.schedule\": \"Відкласти кампанію\",\n    \"campaigns.scheduled\": \"Відкладено\",\n    \"campaigns.send\": \"Надіслати\",\n    \"campaigns.sendLater\": \"Надіслати пізніше\",\n    \"campaigns.sendTest\": \"Надіслати пробний лист\",\n    \"campaigns.sendTestHelp\": \"Щоб надіслати кільком людям, натискайте Enter після введення кожної адреси. Усі адреси мають належати чинним підписни_цям.\",\n    \"campaigns.sendToLists\": \"Цільові розсилки\",\n    \"campaigns.sent\": \"Надсилань\",\n    \"campaigns.start\": \"Запустити кампанію\",\n    \"campaigns.started\": \"«{name}» запущено\",\n    \"campaigns.startedAt\": \"Запущено\",\n    \"campaigns.stats\": \"Статистика\",\n    \"campaigns.status.cancelled\": \"Скасовані\",\n    \"campaigns.status.draft\": \"Чернетки\",\n    \"campaigns.status.finished\": \"Завершені\",\n    \"campaigns.status.paused\": \"Призупинені\",\n    \"campaigns.status.running\": \"Запущені\",\n    \"campaigns.status.scheduled\": \"Відкладені\",\n    \"campaigns.statusChanged\": \"«{name}» — {status}\",\n    \"campaigns.subject\": \"Тема\",\n    \"campaigns.templatingRef\": \"Посилання на шаблон\",\n    \"campaigns.testEmails\": \"Адреси е-пошти\",\n    \"campaigns.testSent\": \"Пробний лист надіслано\",\n    \"campaigns.timestamps\": \"Історія\",\n    \"campaigns.trackLink\": \"Відстежувати посилання\",\n    \"campaigns.unSchedule\": \"Скасувати розклад\",\n    \"campaigns.views\": \"Перегляди\",\n    \"campaigns.visual\": \"Візуальний\",\n    \"dashboard.campaignViews\": \"Перегляди кампаній\",\n    \"dashboard.linkClicks\": \"Переходи за посиланнями\",\n    \"dashboard.messagesSent\": \"Надсилання листів\",\n    \"dashboard.orphanSubs\": \"Без розсилок\",\n    \"email.data.info\": \"Копію всіх зібраних про вас даних вкладено як файл у форматі JSON. Можете переглянути його в текстовому редакторі.\",\n    \"email.data.title\": \"Ваші дані\",\n    \"email.forgotPassword.button\": \"Скинути пароль\",\n    \"email.forgotPassword.info\": \"Якщо ви не запитували це, ви можете спокійно ігнорувати цей лист. Це посилання закінчується через 30 хвилин.\",\n    \"email.forgotPassword.subject\": \"Скиньте свій пароль\",\n    \"email.optin.confirmSub\": \"Підтвердити підписку\",\n    \"email.optin.confirmSubHelp\": \"Щоб підтвердити підписку, натисніть кнопку внизу.\",\n    \"email.optin.confirmSubInfo\": \"Вас додано до наступних розсилок:\",\n    \"email.optin.confirmSubTitle\": \"Підтвердити підписку\",\n    \"email.optin.confirmSubWelcome\": \"Вітаємо\",\n    \"email.optin.privateList\": \"Приватна розсилка\",\n    \"email.status.campaignReason\": \"Підстава\",\n    \"email.status.campaignSent\": \"Надіслано\",\n    \"email.status.campaignUpdateTitle\": \"Оновлення кампанії\",\n    \"email.status.importFile\": \"Файл\",\n    \"email.status.importRecords\": \"Записи\",\n    \"email.status.importTitle\": \"Імпорт оновлення\",\n    \"email.status.status\": \"Стан\",\n    \"email.unsub\": \"Відписатися\",\n    \"email.unsubHelp\": \"Не бажаєте отримувати цих листів?\",\n    \"email.viewInBrowser\": \"Відкрити в оглядачі\",\n    \"forms.formHTML\": \"HTML-код форми\",\n    \"forms.formHTMLHelp\": \"Щоб показати форму підписки на зовнішній вебсторінці, використайте наступний HTML-код. У формі мають бути поле email (е-пошта) і принаймні одне поле `l` (UUID-коди розсилок). Поле name (ім'я) необов'язкове.\",\n    \"forms.noPublicLists\": \"Щоб створити форму, потрібні загальнодоступні розсилки.\",\n    \"forms.publicLists\": \"Загальнодоступні розсилки\",\n    \"forms.publicSubPage\": \"Загальнодоступна сторінка підписки\",\n    \"forms.selectHelp\": \"Оберіть розсилки, які слід додати у форму.\",\n    \"forms.title\": \"Форми\",\n    \"globals.buttons.add\": \"Додати\",\n    \"globals.buttons.addNew\": \"Додати\",\n    \"globals.buttons.back\": \"Назад\",\n    \"globals.buttons.cancel\": \"Скасувати\",\n    \"globals.buttons.clear\": \"Очистити\",\n    \"globals.buttons.clearAll\": \"Очистити все\",\n    \"globals.buttons.clone\": \"Копіювати\",\n    \"globals.buttons.close\": \"Закрити\",\n    \"globals.buttons.continue\": \"Далі\",\n    \"globals.buttons.copy\": \"Копіювати\",\n    \"globals.buttons.delete\": \"Видалити\",\n    \"globals.buttons.deleteAll\": \"Видалити все\",\n    \"globals.buttons.disable\": \"Вимкнути\",\n    \"globals.buttons.edit\": \"Редагувати\",\n    \"globals.buttons.enable\": \"Увімкнути\",\n    \"globals.buttons.enabled\": \"Увімкнено\",\n    \"globals.buttons.insert\": \"Вставити\",\n    \"globals.buttons.learnMore\": \"Дізнатися більше\",\n    \"globals.buttons.manage\": \"Керувати\",\n    \"globals.buttons.more\": \"Більше\",\n    \"globals.buttons.new\": \"Створити\",\n    \"globals.buttons.ok\": \"Гаразд\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Вилучити\",\n    \"globals.buttons.save\": \"Зберегти\",\n    \"globals.buttons.saveChanges\": \"Зберегти зміни\",\n    \"globals.buttons.toggleSelect\": \"Перемкнути вибір\",\n    \"globals.buttons.view\": \"Переглянути\",\n    \"globals.days.0\": \"нд\",\n    \"globals.days.1\": \"нд\",\n    \"globals.days.2\": \"пн\",\n    \"globals.days.3\": \"вт\",\n    \"globals.days.4\": \"ср\",\n    \"globals.days.5\": \"чт\",\n    \"globals.days.6\": \"пт\",\n    \"globals.days.7\": \"сб\",\n    \"globals.fields.createdAt\": \"Створено\",\n    \"globals.fields.description\": \"Опис\",\n    \"globals.fields.id\": \"Ідентифікатор\",\n    \"globals.fields.name\": \"Назва\",\n    \"globals.fields.status\": \"Стан\",\n    \"globals.fields.type\": \"Тип\",\n    \"globals.fields.updatedAt\": \"Оновлено\",\n    \"globals.fields.uuid\": \"UUID-код\",\n    \"globals.messages.confirm\": \"Точно?\",\n    \"globals.messages.confirmDelete\": \"Видалити {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Відкинути зміни?\",\n    \"globals.messages.copied\": \"Скопійовано\",\n    \"globals.messages.created\": \"«{name}» створено\",\n    \"globals.messages.deleted\": \"«{name}» видалено\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) видалено\",\n    \"globals.messages.done\": \"Готово\",\n    \"globals.messages.emptyState\": \"Тут іще порожньо\",\n    \"globals.messages.errorCreating\": \"Помилка створення {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Помилка видалення {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Помилка завантаження {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Принаймні один ідентифікатор хибний: {error}\",\n    \"globals.messages.errorUUID\": \"Помилка створення UUID-коду: {error}\",\n    \"globals.messages.errorUpdating\": \"Помилка оновлення {name}: {error}\",\n    \"globals.messages.internalError\": \"Внутрішня помилка сервера\",\n    \"globals.messages.invalidData\": \"Хибні дані\",\n    \"globals.messages.invalidFields\": \"Хибні поля: {name}\",\n    \"globals.messages.invalidID\": \"Хибні ідентифікатори\",\n    \"globals.messages.invalidUUID\": \"Хибні UUID-коди\",\n    \"globals.messages.invalidValue\": \"Неправильне значення\",\n    \"globals.messages.missingFields\": \"Бракує полів: {name}\",\n    \"globals.messages.notFound\": \"{name} не знайдено\",\n    \"globals.messages.numSelected\": \"{num} вибрано\",\n    \"globals.messages.passwordChange\": \"Щоб змінити, введіть нове значення\",\n    \"globals.messages.passwordChangeFull\": \"Зітріть і введіть заново повний пароль у '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Відмова в доступі: {name}\",\n    \"globals.messages.selectAll\": \"Вибрати всі {num}\",\n    \"globals.messages.slowQueriesCached\": \"Повільні запити кешуються. Деякі числа на цій сторінці можуть бути неактуальними.\",\n    \"globals.messages.updated\": \"«{name}» оновлено\",\n    \"globals.months.1\": \"січ\",\n    \"globals.months.10\": \"жов\",\n    \"globals.months.11\": \"лис\",\n    \"globals.months.12\": \"гру\",\n    \"globals.months.2\": \"лют\",\n    \"globals.months.3\": \"бер\",\n    \"globals.months.4\": \"кві\",\n    \"globals.months.5\": \"тра\",\n    \"globals.months.6\": \"чер\",\n    \"globals.months.7\": \"лип\",\n    \"globals.months.8\": \"сер\",\n    \"globals.months.9\": \"вер\",\n    \"globals.states.off\": \"Вимкнено\",\n    \"globals.terms.all\": \"Все\",\n    \"globals.terms.analytics\": \"Аналітика\",\n    \"globals.terms.attribs\": \"Властивості\",\n    \"globals.terms.bounce\": \"Помилка | Помилки\",\n    \"globals.terms.bounces\": \"Помилки\",\n    \"globals.terms.campaign\": \"Кампанія | Кампанії\",\n    \"globals.terms.campaigns\": \"Кампанії\",\n    \"globals.terms.dashboard\": \"Огляд\",\n    \"globals.terms.day\": \"День | Дні\",\n    \"globals.terms.hour\": \"Година | Години\",\n    \"globals.terms.import\": \"Імпорт\",\n    \"globals.terms.list\": \"Розсилка | Розсилки\",\n    \"globals.terms.lists\": \"Розсилки\",\n    \"globals.terms.media\": \"Картинка | Картинки\",\n    \"globals.terms.messenger\": \"Канал | Канали\",\n    \"globals.terms.messengers\": \"Канали\",\n    \"globals.terms.minute\": \"Хвилина | Хвилини\",\n    \"globals.terms.month\": \"Місяць | Місяці\",\n    \"globals.terms.new\": \"Новий\",\n    \"globals.terms.none\": \"Нема\",\n    \"globals.terms.second\": \"Секунда | Секунди\",\n    \"globals.terms.settings\": \"Налаштування\",\n    \"globals.terms.subscriber\": \"Підписни_ця | Підписни_ці\",\n    \"globals.terms.subscribers\": \"Підписни_ці\",\n    \"globals.terms.subscriptions\": \"Підписка | Підписки\",\n    \"globals.terms.tag\": \"Мітка | Мітки\",\n    \"globals.terms.tags\": \"Мітки\",\n    \"globals.terms.template\": \"Шаблон | Шаблони\",\n    \"globals.terms.templates\": \"Шаблони\",\n    \"globals.terms.tx\": \"Транзакція | Транзакції\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Користувач | Користувачі\",\n    \"globals.terms.users\": \"Користувачі\",\n    \"globals.terms.year\": \"Рік | Роки\",\n    \"import.alreadyRunning\": \"Імпорт уже запущено. Дочекайтеся завершення чи перервіть його, перш ніж повторити спробу.\",\n    \"import.blocklist\": \"Блокування\",\n    \"import.csvDelim\": \"CSV-роздільник\",\n    \"import.csvDelimHelp\": \"Типовий роздільник — кома.\",\n    \"import.csvExample\": \"Зразок CSV-файлу\",\n    \"import.csvFile\": \"CSV- чи ZIP-файл\",\n    \"import.csvFileHelp\": \"Натисніть тут або посуньте сюди CSV- чи ZIP-файл\",\n    \"import.errorCopyingFile\": \"Помилка копіювання файлу: {error}\",\n    \"import.errorProcessingZIP\": \"Помилка обробки ZIP-файлу: {error}\",\n    \"import.errorStarting\": \"Помилка запуску імпорту: {error}\",\n    \"import.importDone\": \"Готово\",\n    \"import.importStarted\": \"Імпорт розпочато\",\n    \"import.instructions\": \"Інструкції\",\n    \"import.instructionsHelp\": \"Щоб імпортувати одразу багатьох підписни_ць, вивантажте CSV-файл чи ZIP-архів з одним CSV-файлом усередині. CSV-файл має містити наступні заголовки дослівно. Властивості (у необов'язковій колонці attributes) мають бути коректним JSON-рядком, у якому повторено кожен символ подвійних лапок.\",\n    \"import.invalidDelim\": \"Розділювач має бути одним символом.\",\n    \"import.invalidFile\": \"Хибний файл: {error}\",\n    \"import.invalidMode\": \"Хибний режим\",\n    \"import.invalidParams\": \"Хибні параметри: {error}\",\n    \"import.invalidSubStatus\": \"Хибний стан підписки\",\n    \"import.listSubHelp\": \"Розсилки, на які слід підписати.\",\n    \"import.mode\": \"Режим\",\n    \"import.overwriteSubStatus\": \"Перезаписати статус підписки\",\n    \"import.overwriteSubStatusHelp\": \"Перезаписати статус існуючих підписок списків\",\n    \"import.overwriteUserInfo\": \"Перезаписати інформацію користувача\",\n    \"import.overwriteUserInfoHelp\": \"Перезаписати ім'я та атрибути існуючих абонентів\",\n    \"import.recordsCount\": \"{num} / {total} записів\",\n    \"import.stopImport\": \"Перервати імпорт\",\n    \"import.subscribe\": \"Підписка\",\n    \"import.subscribeWarning\": \"Перезаписання призведе до повторного підпису невідписаних електронних адрес. Продовжити?\",\n    \"import.title\": \"Імпортувати підписни_ць\",\n    \"import.upload\": \"Вивантажити\",\n    \"lists.archived\": \"Архівовано\",\n    \"lists.archivedHelp\": \"Архівування приховує списки зі сторінки списків, кампаній і публічних форм. Їх можна розархівувати будь-коли. Це корисно для приховування старих і рідко використовуваних списків.\",\n    \"lists.confirmDelete\": \"Точно? Це не видалить підписни_ць.\",\n    \"lists.confirmSub\": \"Підтвердити підписку на {name}\",\n    \"lists.invalidName\": \"Хибна назва\",\n    \"lists.newList\": \"Нова розсилка\",\n    \"lists.optin\": \"Згода\",\n    \"lists.optinHelp\": \"Подвійна згода надсилає підписни_ці лист підтвердження. У розсилках із подвійною згодою лише підтверджені підписни_ці отримують кампанії.\",\n    \"lists.optinTo\": \"Надіслати згоду на {name}\",\n    \"lists.optins.double\": \"Подвійна згода\",\n    \"lists.optins.single\": \"Одинарна згода\",\n    \"lists.sendCampaign\": \"Надіслати кампанію\",\n    \"lists.sendOptinCampaign\": \"Розіслати підтвердження згоди\",\n    \"lists.type\": \"Тип\",\n    \"lists.typeHelp\": \"Загальнодоступні розсилки надають будь-кому по всьому світу змогу підписатись. Назви цих розсилок можуть перелічуватись на загальнодоступних сторінках, як-от на сторінці керування підписками.\",\n    \"lists.types.private\": \"Приватно\",\n    \"lists.types.public\": \"Загальнодоступно\",\n    \"logs.title\": \"Журнали\",\n    \"maintenance.database.title\": \"База даних\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE звільняє сховище, що використовується видаленими рядками, і значно прискорює продуктивність бази даних на великих базах даних. ВАЖЛИВО: для великих баз даних це повільна операція блокування. Заплануйте запуск цього під час позачасових годин.\",\n    \"maintenance.help\": \"Якщо даних багато, дії можуть тривати довго.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Підписки, на які не підтверджено згоди\",\n    \"maintenance.olderThan\": \"Давніші, ніж\",\n    \"maintenance.orphanHelp\": \"«Без розсилок» — не підписані ні на що\",\n    \"maintenance.title\": \"Супровід\",\n    \"maintenance.unconfirmedSubs\": \"Непідтверджені підписки — давніші, ніж {name} днів.\",\n    \"media.errorReadingFile\": \"Помилка читання файлу: {error}\",\n    \"media.errorResizing\": \"Помилка зменшення картинок: {error}\",\n    \"media.errorSavingThumbnail\": \"Помилка збереження мініатюри: {error}\",\n    \"media.errorUploading\": \"Помилка вивантаження файлу: {error}\",\n    \"media.invalidFile\": \"Хибний файл: {error}\",\n    \"media.title\": \"Картинка\",\n    \"media.unsupportedFileType\": \"Непідтримуваний тип файлу ({type})\",\n    \"media.upload\": \"Вивантажити\",\n    \"media.uploadHelp\": \"Натисніть тут або посуньте сюди принаймні одну картинку\",\n    \"menu.allCampaigns\": \"Усі кампанії\",\n    \"menu.allLists\": \"Усі розсилки\",\n    \"menu.allSubscribers\": \"Усі підписни_ці\",\n    \"menu.dashboard\": \"Огляд\",\n    \"menu.forms\": \"Форми\",\n    \"menu.import\": \"Імпорт\",\n    \"menu.logs\": \"Журнали\",\n    \"menu.maintenance\": \"Супровід\",\n    \"menu.media\": \"Картинки\",\n    \"menu.newCampaign\": \"Створити\",\n    \"menu.settings\": \"Налаштування\",\n    \"public.archiveEmpty\": \"В архіві ще нема листів.\",\n    \"public.archiveTitle\": \"Архів розсилки\",\n    \"public.blocklisted\": \"Відписано назовсім.\",\n    \"public.campaignNotFound\": \"Листа не знайдено.\",\n    \"public.confirmOptinSubTitle\": \"Підтвердити підписку\",\n    \"public.confirmSub\": \"Підтвердити підписку\",\n    \"public.confirmSubInfo\": \"Вас додано до наступних розсилок:\",\n    \"public.confirmSubTitle\": \"Підтвердити\",\n    \"public.dataRemoved\": \"Ваші підписки й усі пов'язані дані вилучено.\",\n    \"public.dataRemovedTitle\": \"Дані вилучено\",\n    \"public.dataSent\": \"Ваші дані вкладено в надісланий вам лист.\",\n    \"public.dataSentTitle\": \"Дані надіслано\",\n    \"public.errorFetchingCampaign\": \"Помилка завантаження листа.\",\n    \"public.errorFetchingEmail\": \"Листа не знайдено\",\n    \"public.errorFetchingLists\": \"Помилка завантаження розсилок. Будь ласка, повторіть спробу.\",\n    \"public.errorProcessingRequest\": \"Помилка обробки запиту. Будь ласка, повторіть спробу.\",\n    \"public.errorTitle\": \"Помилки\",\n    \"public.invalidCaptcha\": \"Хибне CAPTCHA-підтвердження.\",\n    \"public.invalidFeature\": \"Ця функція недоступна.\",\n    \"public.invalidLink\": \"Хибне посилання\",\n    \"public.managePrefs\": \"Керувати налаштуваннями\",\n    \"public.managePrefsUnsub\": \"Щоб відписатись від розсилки, приберіть пташку поруч.\",\n    \"public.noListsAvailable\": \"Нема на що підписуватись.\",\n    \"public.noListsSelected\": \"Щоб підписатись, оберіть розсилки.\",\n    \"public.noSubInfo\": \"Не знайдено підписок, які можна було б підтвердити.\",\n    \"public.noSubTitle\": \"Нема підписок\",\n    \"public.notFoundTitle\": \"Не знайдено\",\n    \"public.poweredBy\": \"Вільна програма\",\n    \"public.prefsSaved\": \"Ваші налаштування збережено.\",\n    \"public.privacyConfirmWipe\": \"Точно видалити всі дані ваших підписок назовсім?\",\n    \"public.privacyExport\": \"Експортувати дані\",\n    \"public.privacyExportHelp\": \"Вам буде надіслано копію ваших даних.\",\n    \"public.privacyTitle\": \"Приватність і дані\",\n    \"public.privacyWipe\": \"Стерти дані\",\n    \"public.privacyWipeHelp\": \"Видалити всі ваші підписки й пов'язані дані назовсім.\",\n    \"public.sub\": \"Підписатись\",\n    \"public.subConfirmed\": \"Вас успішно підписано.\",\n    \"public.subConfirmedTitle\": \"Підтверджено\",\n    \"public.subName\": \"Ім'я (необов'язково)\",\n    \"public.subNotFound\": \"Підписки не знайдено.\",\n    \"public.subOptinPending\": \"Підтвердження підписки надіслано вам на е-пошту.\",\n    \"public.subPrivateList\": \"Приватна розсилка\",\n    \"public.subTitle\": \"Підписатись\",\n    \"public.unsub\": \"Відписатись\",\n    \"public.unsubFull\": \"Відписатись від усіх майбутніх листів.\",\n    \"public.unsubHelp\": \"Точно відписатись від цієї розсилки?\",\n    \"public.unsubTitle\": \"Відписатись\",\n    \"public.unsubbedInfo\": \"Вас успішно відписано.\",\n    \"public.unsubbedTitle\": \"Відписка\",\n    \"public.unsubscribeTitle\": \"Відписатись від розсилки\",\n    \"settings.appearance.adminHelp\": \"Власний CSS-код для панелі керування.\",\n    \"settings.appearance.adminName\": \"Панель керування\",\n    \"settings.appearance.customCSS\": \"Власний CSS-код\",\n    \"settings.appearance.customJS\": \"Власний JavaScript-код\",\n    \"settings.appearance.name\": \"Оформлення\",\n    \"settings.appearance.publicHelp\": \"Власний CSS- і JavaScript-код для загальнодоступних сторінок.\",\n    \"settings.appearance.publicName\": \"Загальнодоступні сторінки\",\n    \"settings.bounces.action\": \"Дія\",\n    \"settings.bounces.blocklist\": \"Заблокувати\",\n    \"settings.bounces.count\": \"Кількість помилок\",\n    \"settings.bounces.countHelp\": \"Кількість помилок у підписни_ці\",\n    \"settings.bounces.enable\": \"Обробляти помилки\",\n    \"settings.bounces.enableForwardemail\": \"Увімкнути переадресацію листів\",\n    \"settings.bounces.enableMailbox\": \"Помилки приходять на пошту\",\n    \"settings.bounces.enablePostmark\": \"Вебхук для Postmark\",\n    \"settings.bounces.enableSES\": \"Вебхук для SES\",\n    \"settings.bounces.enableSendgrid\": \"Вебхук для SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Помилки приходять на вебхук\",\n    \"settings.bounces.enabled\": \"Увімкнено\",\n    \"settings.bounces.folder\": \"Тека\",\n    \"settings.bounces.folderHelp\": \"Назва IMAP-теки, яку слід сканувати, наприклад Inbox.\",\n    \"settings.bounces.forwardemailKey\": \"Ключ переадресації\",\n    \"settings.bounces.invalidScanInterval\": \"Мінімальна частота опитування скриньки помилок — 1 хвилина.\",\n    \"settings.bounces.name\": \"Помилки\",\n    \"settings.bounces.none\": \"Нема\",\n    \"settings.bounces.postmarkPassword\": \"Postmark-пароль\",\n    \"settings.bounces.postmarkUsername\": \"Postmark-логін\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Якщо у вашому Postmark увімкнено Basic-авторизацію вебхуків, уведіть сюди особові дані з налаштувань вашого Postmark-вебхука.\",\n    \"settings.bounces.scanInterval\": \"Частота опитування\",\n    \"settings.bounces.scanIntervalHelp\": \"Наскільки часто перевіряти, чи з'явилися в скриньці нові помилки (s — секунди, m — хвилини).\",\n    \"settings.bounces.sendgridKey\": \"SendGrid-ключ\",\n    \"settings.bounces.type\": \"Тип\",\n    \"settings.bounces.username\": \"Логін\",\n    \"settings.confirmRestart\": \"Упевніться, що запущені кампанії призупинено. Перезапустити?\",\n    \"settings.duplicateMessengerName\": \"Канал уже існує: {name}\",\n    \"settings.errorEncoding\": \"Помилка кодування налаштувань: {error}\",\n    \"settings.errorNoSMTP\": \"Увімкніть принаймні один SMTP-сервер\",\n    \"settings.general.adminNotifEmails\": \"Адміністратор_ки\",\n    \"settings.general.adminNotifEmailsHelp\": \"Перелік адрес е-пошти через кому, на які слід надсилати сповіщення про оновлення імпорту, завершення кампанії, збій тощо.\",\n    \"settings.general.checkUpdates\": \"Перевіряти оновлення\",\n    \"settings.general.checkUpdatesHelp\": \"Час від часу шукати нові версії програми. При виявленні сповіщати.\",\n    \"settings.general.enablePublicArchive\": \"Загальнодоступний архів розсилок\",\n    \"settings.general.enablePublicArchiveHelp\": \"Оприлюднювати кампанії, архівування яких увімкнено, на загальнодоступному вебсайті.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Повний текст в RSS-стрічці\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Показувати повний текст листа в RSS-стрічці. Якщо вимкнено, то показуватимуться лише заголовок і посилання.\",\n    \"settings.general.enablePublicSubPage\": \"Загальнодоступна сторінка підписки\",\n    \"settings.general.enablePublicSubPageHelp\": \"Перелічувати на загальнодоступній сторінці підписки всі загальнодоступні розсилки, на які будь-хто може підписатись.\",\n    \"settings.general.faviconURL\": \"URL-адреса значка\",\n    \"settings.general.faviconURLHelp\": \"(Необов'язково) Повна URL-адреса статичної favicon-картинки, яку видно на загальнодоступних сторінках, наприклад на сторінці відписки.\",\n    \"settings.general.fromEmail\": \"З якої е-пошти типово надсилати\",\n    \"settings.general.fromEmailHelp\": \"Типове значення `from` у вихідних листах кампаній. Його можна замінити в тій чи іншій кампанії.\",\n    \"settings.general.language\": \"Мова\",\n    \"settings.general.logoURL\": \"URL-адреса логотипу\",\n    \"settings.general.logoURLHelp\": \"(Необов'язково) Повна URL-адреса статичної картинки логотипу, яку видно на загальнодоступних сторінках, наприклад на сторінці відписки.\",\n    \"settings.general.name\": \"Загальне\",\n    \"settings.general.rootURL\": \"Коренева URL-адреса\",\n    \"settings.general.rootURLHelp\": \"Загальнодоступна URL-адреса програми (без риски в кінці).\",\n    \"settings.general.sendOptinConfirm\": \"Підтвердження згоди\",\n    \"settings.general.sendOptinConfirmHelp\": \"Надсилати лист підтвердження згоди, коли підписни_ці реєструються за допомогою загальнодоступної форми чи їх додає адміністратор_ка.\",\n    \"settings.general.siteName\": \"Назва сайту\",\n    \"settings.invalidMessengerName\": \"Хибна назва каналу.\",\n    \"settings.mailserver.authProtocol\": \"Протокол входу\",\n    \"settings.mailserver.host\": \"Сервер\",\n    \"settings.mailserver.hostHelp\": \"Адреса SMTP-сервера.\",\n    \"settings.mailserver.idleTimeout\": \"Час бездіяльності\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Скільки чекати нові дані, перш ніж закрити з'єднання й вилучити його з черги (s — секунди, m — хвилини).\",\n    \"settings.mailserver.maxConns\": \"Кількість з'єднань\",\n    \"settings.mailserver.maxConnsHelp\": \"Максимум конкурентних з'єднань із сервером.\",\n    \"settings.mailserver.nameHelp\": \"Необов’язкова унікальна назва для SMTP-сервера. Повинна починатися з префікса email-. Це дозволяє вибирати сервер конкретно для кампанії, наприклад: email-primary-server. Літери, цифри та дефіс.\",\n    \"settings.mailserver.password\": \"Пароль\",\n    \"settings.mailserver.passwordHelp\": \"Щоб змінити, уведіть новий.\",\n    \"settings.mailserver.port\": \"Порт\",\n    \"settings.mailserver.portHelp\": \"Порт SMTP-сервера.\",\n    \"settings.mailserver.skipTLS\": \"Не перевіряти TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Пропускати перевірку домену в TLS-сертифікаті.\",\n    \"settings.mailserver.tls\": \"TLS-захист\",\n    \"settings.mailserver.tlsHelp\": \"Можливе TLS/SSL-шифрування. Зазвичай використовується STARTTLS.\",\n    \"settings.mailserver.username\": \"Логін\",\n    \"settings.mailserver.waitTimeout\": \"Час очікування\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Скільки чекати нові дані, перш ніж закрити з'єднання й вилучити його з черги (s — секунди, m — хвилини).\",\n    \"settings.maintenance.cron\": \"Інтервал Cron\",\n    \"settings.media.provider\": \"Провайдер\",\n    \"settings.media.s3.bucket\": \"Сховище\",\n    \"settings.media.s3.bucketPath\": \"Шлях до сховища\",\n    \"settings.media.s3.bucketPathHelp\": \"Шлях у сховищі для вивантаження файлів. Типово — /\",\n    \"settings.media.s3.bucketType\": \"Тип сховища\",\n    \"settings.media.s3.bucketTypePrivate\": \"Приватне\",\n    \"settings.media.s3.bucketTypePublic\": \"Загальнодоступне\",\n    \"settings.media.s3.key\": \"Ключ AWS-доступу\",\n    \"settings.media.s3.publicURL\": \"Власна загальнодоступна URL-адреса (необов'язково)\",\n    \"settings.media.s3.publicURLHelp\": \"Власний S3-домен у посиланнях на картинки замість типової URL-адреси S3-сервера.\",\n    \"settings.media.s3.region\": \"Регіон\",\n    \"settings.media.s3.secret\": \"Секрет AWS-доступу\",\n    \"settings.media.s3.uploadExpiry\": \"Термін дії вивантаження\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Необов'язково) Вкажіть термін дії автоматично створеної URL-адреси. Це стосується лише приватних сховищ (s — секунди, m — хвилини, h — години, d — дні).\",\n    \"settings.media.s3.url\": \"URL-адреса S3-сервера\",\n    \"settings.media.s3.urlHelp\": \"Змінюйте лише при використанні S3-сумісного сервера, наприклад Minio.\",\n    \"settings.media.title\": \"Вивантаження картинок\",\n    \"settings.media.upload.extensions\": \"Дозволені суфікси файлів\",\n    \"settings.media.upload.extensionsHelp\": \"Щоб дозволити будь-який суфікс, додайте *\",\n    \"settings.media.upload.path\": \"Каталог вивантажень\",\n    \"settings.media.upload.pathHelp\": \"Шлях до каталогу, куди слід вивантажувати картинки.\",\n    \"settings.media.upload.uri\": \"URI-адреса вивантажень\",\n    \"settings.media.upload.uriHelp\": \"URI-адреса, за якою вивантаження в каталог угорі доступні всьому світу. Додається до кореневої URL-адреси (вкладка «Загальне»), наприклад https://listmonk.example.org/uploads.\",\n    \"settings.messengers.maxConns\": \"З'єднань\",\n    \"settings.messengers.maxConnsHelp\": \"Максимум конкурентних з'єднань із сервером.\",\n    \"settings.messengers.messageSaved\": \"Налаштування збережено. Перезапуск програми…\",\n    \"settings.messengers.name\": \"Канали\",\n    \"settings.messengers.nameHelp\": \"Наприклад: my-sms. Латинські літери, цифри й дефіси.\",\n    \"settings.messengers.password\": \"Пароль\",\n    \"settings.messengers.retries\": \"Спроб\",\n    \"settings.messengers.retriesHelp\": \"Скільки разів намагатися доставити лист, перш ніж його покинути.\",\n    \"settings.messengers.skipTLSHelp\": \"Пропускати перевірку домену в TLS-сертифікаті.\",\n    \"settings.messengers.timeout\": \"Час очікування\",\n    \"settings.messengers.timeoutHelp\": \"Скільки чекати нові дані, перш ніж закрити з'єднання й вилучити його з черги (s — секунди, m — хвилини).\",\n    \"settings.messengers.url\": \"URL-адреса\",\n    \"settings.messengers.urlHelp\": \"Коренева URL-адреса Postback-сервера.\",\n    \"settings.messengers.username\": \"Логін\",\n    \"settings.needsRestart\": \"Налаштування змінено. Призупиніть усі запущені кампанії й перезапустіть програму\",\n    \"settings.performance.batchSize\": \"Обсяг вибірки\",\n    \"settings.performance.batchSizeHelp\": \"Скільком підписни_цям надсилати листи протягом одного запуску. В ідеалі значення має бути більшим, ніж добуток конкурентності й пропускної здатності.\",\n    \"settings.performance.cacheSlowQueries\": \"Кешувати повільні запити до бази даних\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Увімкніть це тільки для великих баз даних, які значно уповільнилися. Кешує кількість підписників списку, статистику панелі приладів та інше.\",\n    \"settings.performance.concurrency\": \"Конкурентність\",\n    \"settings.performance.concurrencyHelp\": \"Максимум потоків, які намагаються надсилати листи водночас.\",\n    \"settings.performance.maxErrThreshold\": \"Поріг помилок\",\n    \"settings.performance.maxErrThresholdHelp\": \"Скількома помилками (наприклад, SMTP-таймаутами при надсиланні листів) запущеній кампанії слід нехтувати, перш ніж призупинятись для перевірки чи втручання вручну. Щоб ніколи не призупиняти, вкажіть 0.\",\n    \"settings.performance.messageRate\": \"Пропускна здатність\",\n    \"settings.performance.messageRateHelp\": \"Максимум листів, які потік надсилає за секунду. Якщо конкурентність = 10 і пропускна здатність = 10, то щосекунди може надсилатись 10x10=100 листів. Налаштовуйте це значення разом із кількісним обмеженням, щоб слати не більше листів за період, ніж сумарно дозволяють цільові сервери.\",\n    \"settings.performance.name\": \"Швидкодія\",\n    \"settings.performance.slidingWindow\": \"Кількісне обмеження\",\n    \"settings.performance.slidingWindowDuration\": \"Тривалість\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Тривалість періоду кількісного обмеження (m — хвилини, h — години).\",\n    \"settings.performance.slidingWindowHelp\": \"Обмежити загальну кількість листів, надісланих за вказаний період. Після досягнення цієї межі листи відкладаються для надсилання під час наступного періоду.\",\n    \"settings.performance.slidingWindowRate\": \"Кількість листів\",\n    \"settings.performance.slidingWindowRateHelp\": \"Максимум листів, надісланих за один період.\",\n    \"settings.privacy.allowBlocklist\": \"Дозволити блокування\",\n    \"settings.privacy.allowBlocklistHelp\": \"Дозволити підписни_цям відписуватись від усіх розсилок і позначати себе заблокованими.\",\n    \"settings.privacy.allowExport\": \"Дозволити експорт\",\n    \"settings.privacy.allowExportHelp\": \"Дозволити підписни_цям експортувати зібрані про них дані.\",\n    \"settings.privacy.allowPrefs\": \"Дозволити налаштування\",\n    \"settings.privacy.allowPrefsHelp\": \"Дозволити підписни_цям налаштовувати свої імена й перемикати стан підписок.\",\n    \"settings.privacy.allowWipe\": \"Дозволити стирання\",\n    \"settings.privacy.allowWipeHelp\": \"Дозволити підписни_цям видаляти себе, свої підписки й пов'язані дані з бази. Перегляди кампаній і переходи за посиланнями відв'язуються від підписни_ці, тобто кількість у статистиці й аналітиці залишається без змін.\",\n    \"settings.privacy.domainAllowlist\": \"Список дозволених доменів\",\n    \"settings.privacy.domainAllowlistHelp\": \"Підписатися можуть лише електронні адреси з цих доменів. Введіть один домен на рядок, наприклад: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Блокування доменів\",\n    \"settings.privacy.domainBlocklistHelp\": \"Адресам е-пошти з цих доменів заборонено підписуватись. Уводьте кожен домен з нового рядка, наприклад: example.org\",\n    \"settings.privacy.individualSubTracking\": \"Відстежувати окремих підписни_ць\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Деталізувати перегляди й переходи кампаній за підписни_цею. Коли вимкнено, перегляди й переходи відстежуються без прив'язки до окремих підписни_ць.\",\n    \"settings.privacy.listUnsubHeader\": \"Заголовок `List-Unsubscribe`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Додавати заголовки відписки, за допомогою яких підписни_ці можуть відписуватись одним натиском стандартних засобів клієнтів е-пошти.\",\n    \"settings.privacy.name\": \"Приватність\",\n    \"settings.privacy.recordOptinIP\": \"Записувати IP-адресу згоди\",\n    \"settings.privacy.recordOptinIPHelp\": \"Додавати в атрибути підписни_ці IP-адресу подвійної згоди.\",\n    \"settings.restart\": \"Перезапустити\",\n    \"settings.security.CORSDomains\": \"Дозволені джерела\",\n    \"settings.security.CORSDomainsHelp\": \"Дозволити доступ до кінцевих точок API через браузер Javascript з зовнішніх доменів. Введіть один домен на рядок (напр: https://example.com). Залиште порожнім, щоб вимкнути CORS, або додайте *, щоб дозволити все (не рекомендується).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Автоматичне створення користувачів\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Автоматично створювати користувача при першому вході, якщо обліковий запис не існує.\",\n    \"settings.security.OIDCClientID\": \"Ідентифікатор клієнта\",\n    \"settings.security.OIDCClientSecret\": \"Секрет клієнта\",\n    \"settings.security.OIDCDefaultListRole\": \"Роль списку за замовчуванням\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Роль за замовчуванням, призначена користувачам, автоматично створеним через OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Роль користувача за замовчуванням\",\n    \"settings.security.OIDCHelp\": \"Увімкнути вхід OpenID Connect OAuth2 через постачальника обслуговування OAuth.\",\n    \"settings.security.OIDCName\": \"Назва провайдера\",\n    \"settings.security.OIDCRedirectURL\": \"URL перенаправлення для постачальника oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Схоже, що це не URL виробництва. Змініть Root URL в налаштуваннях 'Загальні'.\",\n    \"settings.security.OIDCURL\": \"URL постачальника\",\n    \"settings.security.OIDCWarning\": \"При ввімкненні OIDC вхід за замовчуванням з паролем вимикається. Недійсна конфігурація може заблокувати вас.\",\n    \"settings.security.altchaComplexity\": \"Складність Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Вищі значення забезпечують кращий захист, але уповільнюють розв’язання (1000-1000000).\",\n    \"settings.security.captchaKey\": \"SiteKey-значення hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Щоб отримати ключ і секрет, перейдіть до www.hcaptcha.com.\",\n    \"settings.security.captchaSecret\": \"Секрет hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"CAPTCHA-підтвердження\",\n    \"settings.security.enableCaptchaHelp\": \"Увімкнути CAPTCHA-підтвердження в загальнодоступній формі підписки.\",\n    \"settings.security.enableOIDC\": \"Увімкнути OIDC SSO\",\n    \"settings.security.name\": \"Захист\",\n    \"settings.smtp.customHeaders\": \"Власні заголовки\",\n    \"settings.smtp.customHeadersHelp\": \"Необов'язковий масив заголовків е-пошти, який слід додавати в усі листи, надіслані цим сервером. Наприклад: [{\\\"X-Custom\\\": \\\"значення\\\"}, {\\\"X-Custom2\\\": \\\"тощо\\\"}]\",\n    \"settings.smtp.enabled\": \"Увімкнено\",\n    \"settings.smtp.heloHost\": \"HELO-домен\",\n    \"settings.smtp.heloHostHelp\": \"Необов'язково. Деякі SMTP-сервери вимагають, щоб домен мав FQDN-формат. Типово HELO-команда містить `localhost`. Вкажіть тут власний домен за потреби.\",\n    \"settings.smtp.name\": \"SMTP-сервери\",\n    \"settings.smtp.retries\": \"Спроб\",\n    \"settings.smtp.retriesHelp\": \"Скільки разів намагатися доставити лист, перш ніж його покинути.\",\n    \"settings.smtp.sendTest\": \"Надіслати лист\",\n    \"settings.smtp.setCustomHeaders\": \"Додати власні заголовки\",\n    \"settings.smtp.testConnection\": \"Перевірити з'єднання\",\n    \"settings.smtp.testEnterEmail\": \"Щоб перевірити, уведіть пароль іще раз\",\n    \"settings.smtp.toEmail\": \"На адресу\",\n    \"settings.title\": \"Налаштування\",\n    \"settings.updateAvailable\": \"Доступне оновлення {version}.\",\n    \"subscribers.activity\": \"Активність\",\n    \"subscribers.advancedQuery\": \"Складніший запит\",\n    \"subscribers.advancedQueryHelp\": \"Частковий SQL-вираз для пошуку властивостей підписни_ць\",\n    \"subscribers.attribsHelp\": \"Формат властивостей — JSON-об'єкт, наприклад:\",\n    \"subscribers.blocklistedHelp\": \"Заблоковані підписни_ці не отримуватимуть жодних листів.\",\n    \"subscribers.confirmBlocklist\": \"Заблокувати {num} підписни_ць?\",\n    \"subscribers.confirmDelete\": \"Видалити {num} підписни_ць?\",\n    \"subscribers.confirmExport\": \"Експортувати {num} підписни_ць?\",\n    \"subscribers.domainBlocklisted\": \"Домен е-пошти заблоковано.\",\n    \"subscribers.downloadData\": \"Завантажити дані\",\n    \"subscribers.email\": \"Е-пошта\",\n    \"subscribers.emailExists\": \"Е-пошта вже існує.\",\n    \"subscribers.errorBlocklisting\": \"Помилка блокування підписни_ць: {error}\",\n    \"subscribers.errorNoIDs\": \"Вкажіть ідентифікатори.\",\n    \"subscribers.errorNoListsGiven\": \"Вкажіть розсилки.\",\n    \"subscribers.errorPreparingQuery\": \"Помилка підготовки запиту на пошук підписни_ць: {error}\",\n    \"subscribers.errorSendingOptin\": \"Помилка надсилання листа підтвердження згоди.\",\n    \"subscribers.export\": \"Експорт\",\n    \"subscribers.invalidAction\": \"Хибна дія.\",\n    \"subscribers.invalidEmail\": \"Хибна е-пошта.\",\n    \"subscribers.invalidJSON\": \"Хибні JSON-атрибути.\",\n    \"subscribers.invalidName\": \"Хибне ім'я.\",\n    \"subscribers.listChangeApplied\": \"Зміни до розсилки застосовано.\",\n    \"subscribers.lists\": \"Розсилки\",\n    \"subscribers.listsHelp\": \"Вилучати самостійні відписки неможливо.\",\n    \"subscribers.listsPlaceholder\": \"На які розсилки підписати\",\n    \"subscribers.manageLists\": \"Керувати розсилками\",\n    \"subscribers.markUnsubscribed\": \"Відписати\",\n    \"subscribers.newSubscriber\": \"Створити підписни_цю\",\n    \"subscribers.numSelected\": \"{num} підписни_ць обрано\",\n    \"subscribers.optinSubject\": \"Підтвердити підписку\",\n    \"subscribers.preconfirm\": \"Згоду підтверджено наперед\",\n    \"subscribers.preconfirmHelp\": \"Не надсилати листів підтвердження згоди, а одразу присвоювати стан «підписано» в усіх розсилках.\",\n    \"subscribers.query\": \"Знайти\",\n    \"subscribers.queryPlaceholder\": \"Е-пошта чи ім'я\",\n    \"subscribers.reset\": \"Скинути\",\n    \"subscribers.selectAll\": \"Обрати всіх {num}\",\n    \"subscribers.sendOptinConfirm\": \"Надіслати підтвердження згоди\",\n    \"subscribers.sentOptinConfirm\": \"Підтвердження згоди надіслано\",\n    \"subscribers.status.blocklisted\": \"Заблоковані\",\n    \"subscribers.status.confirmed\": \"Підтверджені\",\n    \"subscribers.status.enabled\": \"Чинні\",\n    \"subscribers.status.subscribed\": \"Підписані\",\n    \"subscribers.status.unconfirmed\": \"Непідтверджені\",\n    \"subscribers.status.unsubscribed\": \"Відписані\",\n    \"subscribers.subscribersDeleted\": \"{num} підписни_ць видалено\",\n    \"templates.cantDeleteDefault\": \"Неможливо видалити шаблон, якого не існує, або типовий шаблон\",\n    \"templates.default\": \"Типовий\",\n    \"templates.dummyName\": \"Пробна кампанія\",\n    \"templates.dummySubject\": \"Тема пробної кампанії\",\n    \"templates.errorCompiling\": \"Помилка збірки шаблону: {error}\",\n    \"templates.errorRendering\": \"Помилка показу листа: {error}\",\n    \"templates.fieldInvalidName\": \"Хибна довжина назви.\",\n    \"templates.makeDefault\": \"Зробити типовим\",\n    \"templates.newTemplate\": \"Новий шаблон\",\n    \"templates.placeholderHelp\": \"Заглушка {placeholder} мусить використовуватись у шаблоні рівно один раз.\",\n    \"templates.preview\": \"Переглянути\",\n    \"templates.rawHTML\": \"HTML-код\",\n    \"templates.subject\": \"Тема\",\n    \"templates.typeCampaignHTML\": \"Кампанія / HTML\",\n    \"templates.typeCampaignVisual\": \"Кампанія / Візуальний\",\n    \"templates.typeTransactional\": \"Транзакційний\",\n    \"users.apiOneTimeToken\": \"Скопіюйте токен доступу API зараз. Він не буде показаний знову.\",\n    \"users.cantDeleteRole\": \"Неможливо видалити роль, яка використовується.\",\n    \"users.firstTime\": \"Це свіжа установка. Виберіть ім'я користувача та пароль для облікового запису Супер адміністратора.\",\n    \"users.forgotPassword\": \"Забули пароль?\",\n    \"users.invalidLogin\": \"Недійсний логін або пароль\",\n    \"users.invalidPassword\": \"Неправильний пароль\",\n    \"users.invalidRequest\": \"Недійсний запит авторизації\",\n    \"users.invalidResetLink\": \"Неправильне або закінчене посилання скидання\",\n    \"users.lastLogin\": \"Останній вхід\",\n    \"users.listPerms\": \"Дозволи списку\",\n    \"users.listPermsWarning\": \"Дозволено lists:get_all або lists:manage_all, які перевизначають дозволи для окремих списків\",\n    \"users.listRole\": \"Роль Списку | Роль списку\",\n    \"users.listRoles\": \"Ролі списку\",\n    \"users.login\": \"Увійти\",\n    \"users.loginOIDC\": \"Увійти за допомогою {name}\",\n    \"users.logout\": \"Вийти\",\n    \"users.needSuper\": \"Користувач(і) не можуть бути оновлені. Повинен бути принаймні один активний Супер Адміністратор.\",\n    \"users.newListRole\": \"Нова роль списку\",\n    \"users.newPassword\": \"Новий пароль\",\n    \"users.newUser\": \"Новий користувач\",\n    \"users.newUserRole\": \"Нова роль користувача\",\n    \"users.password\": \"Пароль\",\n    \"users.passwordEnable\": \"Увімкнути вхід за паролем\",\n    \"users.passwordMismatch\": \"Паролі не співпадають\",\n    \"users.passwordRepeat\": \"Повторити пароль\",\n    \"users.perms\": \"Дозволи\",\n    \"users.profile\": \"Профіль\",\n    \"users.resetLinkSent\": \"Якщо обліковий запис активний, ви отримаєте лист зі скиданням пароля.\",\n    \"users.resetPassword\": \"Скинути пароль\",\n    \"users.role\": \"Роль | Ролі\",\n    \"users.roleGroup\": \"Група\",\n    \"users.roles\": \"Ролі\",\n    \"users.status.disabled\": \"Вимкнено\",\n    \"users.status.enabled\": \"Увімкнено\",\n    \"users.totpCode\": \"Код TOTP\",\n    \"users.totpCodeHelp\": \"Введіть 6-значний код з вашої програми аутентифікації\",\n    \"users.totpScanQR\": \"Відскануйте QR-код за допомогою вашої програми аутентифікації, такої як Ente або Google Authenticator, і введіть код TOTP нижче.\",\n    \"users.totpSecret\": \"Таємний ключ\",\n    \"users.twoFA\": \"Двофакторна аутентифікація\",\n    \"users.twoFAAlreadyEnabled\": \"Двофакторна аутентифікація вже увімкнена.\",\n    \"users.twoFAEnabled\": \"Двофакторна аутентифікація включена\",\n    \"users.twoFAEnabledDesc\": \"Ваш обліковий запис захищено за допомогою {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Увімкніть 2FA для додаткової безпеки під час входу в ваш обліковий запис.\",\n    \"users.type\": \"Тип\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Супер Адміністратор\",\n    \"users.type.user\": \"Користувач\",\n    \"users.userRole\": \"Роль користувача | Ролі користувача\",\n    \"users.userRoles\": \"Ролі користувача\",\n    \"users.username\": \"Ім'я користувача\",\n    \"users.usernameHelp\": \"Використовується з входом за паролем\"\n}\n"
  },
  {
    "path": "i18n/vi.json",
    "content": "{\n    \"_.code\": \"vi\",\n    \"_.name\": \"Vietnamese (vi)\",\n    \"admin.errorMarshallingConfig\": \"Lỗi sắp xếp cấu hình: {error}\",\n    \"analytics.count\": \"Tổng\",\n    \"analytics.fromDate\": \"Từ ngày\",\n    \"analytics.invalidDates\": \"Ngày không hợp lệ.\",\n    \"analytics.isUnique\": \"Số lượng là duy nhất cho mỗi người đăng ký.\",\n    \"analytics.links\": \"Đường dẫn\",\n    \"analytics.nonUnique\": \"Số lượng không phải là duy nhất vì theo dõi người đăng ký cá nhân bị tắt.\",\n    \"analytics.title\": \"Phân tích\",\n    \"analytics.toDate\": \"Đến\",\n    \"bounces.complaint\": \"Phản ánh\",\n    \"bounces.hard\": \"Cứng\",\n    \"bounces.soft\": \"Mềm\",\n    \"bounces.source\": \"Nguồn\",\n    \"bounces.unknownService\": \"Dịch vụ không xác định.\",\n    \"bounces.view\": \"Xem thư bị trả lại\",\n    \"campaigns.addAltText\": \"Thêm tin nhắn văn bản thuần túy thay thế\",\n    \"campaigns.addAttachments\": \"Thêm tệp đính kèm\",\n    \"campaigns.archive\": \"Lưu trữ\",\n    \"campaigns.archiveEnable\": \"Xuất bản vào lưu trữ công khai\",\n    \"campaigns.archiveHelp\": \"Xuất bản (đang chạy, tạm dừng, hoàn thành) tin nhắn chiến dịch vào lưu trữ công khai.\",\n    \"campaigns.archiveMeta\": \"Dữ liệu siêu của chiến dịch\",\n    \"campaigns.archiveMetaHelp\": \"Dữ liệu giả của người đăng ký để sử dụng trong tin nhắn công khai bao gồm tên, email và bất kỳ thuộc tính tùy chọn nào được sử dụng trong tin nhắn chiến dịch hoặc mẫu.\",\n    \"campaigns.archiveSlug\": \"Slug URL\",\n    \"campaigns.archiveSlugHelp\": \"Một tên ngắn cho trang được sử dụng trong đường dẫn URL công khai. Ví dụ: my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"Tệp đính kèm\",\n    \"campaigns.attribsHelp\": \"Thuộc tính đối tượng JSON {} tùy chỉnh cho chiến dịch này. Sử dụng trong mẫu với {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"Không thể cập nhật chiến dịch đang chạy hoặc đã kết thúc.\",\n    \"campaigns.clicks\": \"Số lần nhấp chuột\",\n    \"campaigns.confirmDelete\": \"Xóa {name}\",\n    \"campaigns.confirmOverwriteContent\": \"Điều này sẽ ghi đè tất cả nội dung. Tiếp tục?\",\n    \"campaigns.confirmSchedule\": \"Chiến dịch này sẽ tự động bắt đầu vào ngày và giờ đã định. Lên lịch ngay bây giờ?\",\n    \"campaigns.confirmSwitchFormat\": \"Nội dung có thể bị mất định dạng. Tiếp tục?\",\n    \"campaigns.content\": \"Nội dung\",\n    \"campaigns.contentHelp\": \"Nội dung ở đây\",\n    \"campaigns.continue\": \"Tiếp tục\",\n    \"campaigns.copyOf\": \"Bản sao của {name}\",\n    \"campaigns.customHeadersHelp\": \"Mảng tiêu đề tùy chỉnh để đính kèm vào thư gửi đi. ví dụ: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"Ngày và giờ\",\n    \"campaigns.ended\": \"Kết thúc\",\n    \"campaigns.errorSendTest\": \"Lỗi khi gửi email thử nghiệm: {error}\",\n    \"campaigns.fieldInvalidBody\": \"Lỗi khi biên dịch nội dung chiến dịch: {error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"Không hợp lệ `from_email`.\",\n    \"campaigns.fieldInvalidListIDs\": \"Danh sách không hợp lệ IDs.\",\n    \"campaigns.fieldInvalidMessenger\": \"Người đưa tin không xác định {name}.\",\n    \"campaigns.fieldInvalidName\": \"Độ dài không hợp lệ cho tên.\",\n    \"campaigns.fieldInvalidSendAt\": \"Ngày dự kiến phải là trong tương lai.\",\n    \"campaigns.fieldInvalidSubject\": \"Độ dài không hợp lệ cho chủ đề.\",\n    \"campaigns.format\": \"Định dạng\",\n    \"campaigns.formatHTML\": \"Định dạng HTML\",\n    \"campaigns.fromAddress\": \"Từ địa chỉ\",\n    \"campaigns.fromAddressPlaceholder\": \"Tên của bạn <noreply@listmonk.host>\",\n    \"campaigns.importVisualTemplate\": \"Nhập mẫu trực quan\",\n    \"campaigns.invalid\": \"Chiến dịch không hợp lệ\",\n    \"campaigns.invalidCustomHeaders\": \"Tiêu đề tùy chỉnh không hợp lệ: {error}\",\n    \"campaigns.markdown\": \"Đánh dấu xuống\",\n    \"campaigns.needsSendAt\": \"Chiến dịch cần một ngày để được lên lịch.\",\n    \"campaigns.newCampaign\": \"Chiến dịch mới\",\n    \"campaigns.noKnownSubsToTest\": \"Không có người đăng ký được biết để kiểm tra.\",\n    \"campaigns.noOptinLists\": \"Không tìm thấy danh sách chọn tham gia để tạo chiến dịch.\",\n    \"campaigns.noSubs\": \"Không có người đăng ký nào trong danh sách đã chọn để tạo chiến dịch.\",\n    \"campaigns.noSubsToTest\": \"Không có người đăng ký để nhắm mục tiêu.\",\n    \"campaigns.notFound\": \"Không tìm thấy chiến dịch\",\n    \"campaigns.onlyActiveCancel\": \"Chỉ những chiến dịch đang hoạt động mới có thể bị hủy bỏ.\",\n    \"campaigns.onlyActivePause\": \"Chỉ có thể tạm dừng các chiến dịch đang hoạt động.\",\n    \"campaigns.onlyDraftAsScheduled\": \"Chỉ các chiến dịch dự thảo mới có thể được lập lịch.\",\n    \"campaigns.onlyPausedDraft\": \"Chỉ có thể bắt đầu các chiến dịch và bản nháp bị tạm dừng.\",\n    \"campaigns.onlyScheduledAsDraft\": \"Chỉ các chiến dịch đã lập lịch mới có thể được lưu dưới dạng bản nháp.\",\n    \"campaigns.pause\": \"Tạm dừng\",\n    \"campaigns.plainText\": \"Văn bản thô\",\n    \"campaigns.preview\": \"Xem trước\",\n    \"campaigns.progress\": \"Phát triển\",\n    \"campaigns.queryPlaceholder\": \"Tên hoặc chủ đề\",\n    \"campaigns.rateMinuteShort\": \"giây\",\n    \"campaigns.rawHTML\": \"HTML thô \",\n    \"campaigns.removeAltText\": \"Xóa tin nhắn văn bản thuần túy thay thế\",\n    \"campaigns.richText\": \"Văn bản đa dạng thức\",\n    \"campaigns.schedule\": \"Lên lịch chiến dịch\",\n    \"campaigns.scheduled\": \"Lên lịch\",\n    \"campaigns.send\": \"Gửi\",\n    \"campaigns.sendLater\": \"Gửi sau\",\n    \"campaigns.sendTest\": \"Gửi tin nhắn kiểm tra\",\n    \"campaigns.sendTestHelp\": \"Nhấn Enter sau khi nhập địa chỉ để thêm nhiều người nhận. Địa chỉ phải thuộc về những người đăng ký hiện có.\",\n    \"campaigns.sendToLists\": \"Danh sách để gửi đến\",\n    \"campaigns.sent\": \"Đã gửi\",\n    \"campaigns.start\": \"Bắt đầu chiến dịch\",\n    \"campaigns.started\": \"\\\"{name}\\\" đã bắt đầu\",\n    \"campaigns.startedAt\": \"Đã bắt đầu\",\n    \"campaigns.stats\": \"Số liệu thống kê\",\n    \"campaigns.status.cancelled\": \"Đã hủy\",\n    \"campaigns.status.draft\": \"Bản thảo\",\n    \"campaigns.status.finished\": \"Đã kết thúc\",\n    \"campaigns.status.paused\": \"Đã dừng\",\n    \"campaigns.status.running\": \"Đang chạy\",\n    \"campaigns.status.scheduled\": \"Đã lên lịch\",\n    \"campaigns.statusChanged\": \"\\\"{name}\\\" là {status}\",\n    \"campaigns.subject\": \"Tiêu đề\",\n    \"campaigns.templatingRef\": \"Tài liệu hướng dẫn về tạo mẫu\",\n    \"campaigns.testEmails\": \"Email\",\n    \"campaigns.testSent\": \"Gửi tin nhắn thử\",\n    \"campaigns.timestamps\": \"Dấu thời gian\",\n    \"campaigns.trackLink\": \"Theo dõi liên kết\",\n    \"campaigns.unSchedule\": \"Hủy lịch\",\n    \"campaigns.views\": \"Lượt xem\",\n    \"campaigns.visual\": \"Trực quan\",\n    \"dashboard.campaignViews\": \"Chế độ xem chiến dịch\",\n    \"dashboard.linkClicks\": \"Liên kết nhấp chuột\",\n    \"dashboard.messagesSent\": \"Tin nhắn đã gửi\",\n    \"dashboard.orphanSubs\": \"đơn lập\",\n    \"email.data.info\": \"Bản sao của tất cả dữ liệu đã ghi về bạn được đính kèm dưới dạng tệp ở định dạng JSON. Nó có thể được xem trong một trình soạn thảo văn bản.\",\n    \"email.data.title\": \"Dữ liệu của bạn\",\n    \"email.forgotPassword.button\": \"Đặt lại mật khẩu\",\n    \"email.forgotPassword.info\": \"Nếu bạn không yêu cầu điều này, bạn có thể bỏ qua email này một cách an toàn. Liên kết này sẽ hết hạn trong 30 phút.\",\n    \"email.forgotPassword.subject\": \"Đặt lại mật khẩu của bạn\",\n    \"email.optin.confirmSub\": \"Xác nhận đăng ký\",\n    \"email.optin.confirmSubHelp\": \"Xác nhận đăng ký của bạn bằng cách nhấp vào nút bên dưới.\",\n    \"email.optin.confirmSubInfo\": \"Bạn đã được thêm vào các danh sách sau:\",\n    \"email.optin.confirmSubTitle\": \"Xác nhận đăng ký\",\n    \"email.optin.confirmSubWelcome\": \"Xin chào\",\n    \"email.optin.privateList\": \"Danh sách riêng\",\n    \"email.status.campaignReason\": \"Lý do\",\n    \"email.status.campaignSent\": \"Đã gửi\",\n    \"email.status.campaignUpdateTitle\": \"Cập nhật chiến dịch\",\n    \"email.status.importFile\": \"Tệp\",\n    \"email.status.importRecords\": \"Hồ sơ\",\n    \"email.status.importTitle\": \"Nhập cập nhật\",\n    \"email.status.status\": \"Trạng thái\",\n    \"email.unsub\": \"Hủy đăng ký\",\n    \"email.unsubHelp\": \"Bạn không muốn nhận những e-mail này?\",\n    \"email.viewInBrowser\": \"Xem trên trình duyệt\",\n    \"forms.formHTML\": \"HTML biểu mẫu\",\n    \"forms.formHTMLHelp\": \"Sử dụng HTML sau để hiển thị biểu mẫu đăng ký trên trang web bên ngoài. Biểu mẫu phải có trường email và một hoặc nhiều trường `l` (liệt kê UUID). Trường tên là tùy chọn.\",\n    \"forms.noPublicLists\": \"Không có danh sách công khai để tạo biểu mẫu.\",\n    \"forms.publicLists\": \"Danh sách công khai\",\n    \"forms.publicSubPage\": \"Trang đăng ký công khai\",\n    \"forms.selectHelp\": \"Chọn danh sách để thêm vào biểu mẫu.\",\n    \"forms.title\": \"Các hình thức\",\n    \"globals.buttons.add\": \"Thêm\",\n    \"globals.buttons.addNew\": \"Thêm mới\",\n    \"globals.buttons.back\": \"Quay lại\",\n    \"globals.buttons.cancel\": \"Hủy bỏ\",\n    \"globals.buttons.clear\": \"Xóa\",\n    \"globals.buttons.clearAll\": \"Xóa hết\",\n    \"globals.buttons.clone\": \"Nhân bản\",\n    \"globals.buttons.close\": \"Đóng\",\n    \"globals.buttons.continue\": \"Tiếp tục\",\n    \"globals.buttons.copy\": \"Sao chép\",\n    \"globals.buttons.delete\": \"Xóa\",\n    \"globals.buttons.deleteAll\": \"Xóa hết\",\n    \"globals.buttons.disable\": \"Tắt\",\n    \"globals.buttons.edit\": \"Sửa\",\n    \"globals.buttons.enable\": \"Bật\",\n    \"globals.buttons.enabled\": \"Đã bật\",\n    \"globals.buttons.insert\": \"Chèn\",\n    \"globals.buttons.learnMore\": \"Tìm hiểu thêm\",\n    \"globals.buttons.manage\": \"Quản lý\",\n    \"globals.buttons.more\": \"Thêm\",\n    \"globals.buttons.new\": \"Mới\",\n    \"globals.buttons.ok\": \"OK\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"Di chuyển\",\n    \"globals.buttons.save\": \"Lưu\",\n    \"globals.buttons.saveChanges\": \"Lưu thay dổi\",\n    \"globals.buttons.toggleSelect\": \"Chuyển đổi lựa chọn\",\n    \"globals.buttons.view\": \"Xem\",\n    \"globals.days.0\": \"Chủ Nhật\",\n    \"globals.days.1\": \"Thứ Hai\",\n    \"globals.days.2\": \"Thứ Ba\",\n    \"globals.days.3\": \"Thứ Tư\",\n    \"globals.days.4\": \"Thứ Năm\",\n    \"globals.days.5\": \"Thứ Sáu\",\n    \"globals.days.6\": \"Thứ Bảy\",\n    \"globals.days.7\": \"Thứ Bảy\",\n    \"globals.fields.createdAt\": \"Đã tạo\",\n    \"globals.fields.description\": \"Mô tả\",\n    \"globals.fields.id\": \"ID\",\n    \"globals.fields.name\": \"Tên\",\n    \"globals.fields.status\": \"Trạng thái\",\n    \"globals.fields.type\": \"Kiểu\",\n    \"globals.fields.updatedAt\": \"Cập nhật\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"Bạn có chắc không?\",\n    \"globals.messages.confirmDelete\": \"Xóa {num} {name}?\",\n    \"globals.messages.confirmDiscard\": \"Loại bỏ những thay đổi?\",\n    \"globals.messages.copied\": \"Đã sao chép\",\n    \"globals.messages.created\": \"\\\"{name}\\\" đã tạo\",\n    \"globals.messages.deleted\": \"\\\"{name}\\\" đã xóa\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) đã xóa\",\n    \"globals.messages.done\": \"Hoàn tất\",\n    \"globals.messages.emptyState\": \"Không có gì ở đây\",\n    \"globals.messages.errorCreating\": \"Lỗi khi tạo {name}: {error}\",\n    \"globals.messages.errorDeleting\": \"Lỗi khi xóa {name}: {error}\",\n    \"globals.messages.errorFetching\": \"Lỗi khi tìm nạp {name}: {error}\",\n    \"globals.messages.errorInvalidIDs\": \"Một hoặc nhiều ID không hợp lệ: {error}\",\n    \"globals.messages.errorUUID\": \"Lỗi khi tạo UUID: {error}\",\n    \"globals.messages.errorUpdating\": \"Lỗi khi cập nhật {name}: {error}\",\n    \"globals.messages.internalError\": \"Lỗi máy chủ nội bộ\",\n    \"globals.messages.invalidData\": \"Dữ liệu không hợp lệ\",\n    \"globals.messages.invalidFields\": \"Trường không hợp lệ: {name}\",\n    \"globals.messages.invalidID\": \"ID(s) không hợp lệ\",\n    \"globals.messages.invalidUUID\": \" UUID(s) không hợp lệ\",\n    \"globals.messages.invalidValue\": \"Giá trị không hợp lệ\",\n    \"globals.messages.missingFields\": \"Lỗi trường: {name}\",\n    \"globals.messages.notFound\": \"{name} không tìm thấy\",\n    \"globals.messages.numSelected\": \"{num} đã chọn\",\n    \"globals.messages.passwordChange\": \"Nhập một giá trị để thay đổi\",\n    \"globals.messages.passwordChangeFull\": \"Xóa và nhập lại mật khẩu đầy đủ trong '{name}'.\",\n    \"globals.messages.permissionDenied\": \"Quyền bị từ chối: {name}\",\n    \"globals.messages.selectAll\": \"Chọn tất cả {num}\",\n    \"globals.messages.slowQueriesCached\": \"Các truy vấn chậm đang được lưu vào bộ nhớ cache. Một số con số trên trang này có thể không được cập nhật.\",\n    \"globals.messages.updated\": \"\\\"{name}\\\" đã cập nhật\",\n    \"globals.months.1\": \"Tháng 1\",\n    \"globals.months.10\": \"Tháng 10\",\n    \"globals.months.11\": \"Tháng 11\",\n    \"globals.months.12\": \"Tháng 12\",\n    \"globals.months.2\": \"Tháng 2\",\n    \"globals.months.3\": \"Tháng 3\",\n    \"globals.months.4\": \"Tháng 4\",\n    \"globals.months.5\": \"Tháng 5\",\n    \"globals.months.6\": \"Tháng 6\",\n    \"globals.months.7\": \"Tháng 7\",\n    \"globals.months.8\": \"Tháng 8\",\n    \"globals.months.9\": \"Tháng 9\",\n    \"globals.states.off\": \"Tắt\",\n    \"globals.terms.all\": \"Tất cả\",\n    \"globals.terms.analytics\": \"phân tích\",\n    \"globals.terms.attribs\": \"Thuộc tính\",\n    \"globals.terms.bounce\": \"Bounces | Bounces\",\n    \"globals.terms.bounces\": \"Bị trả lại\",\n    \"globals.terms.campaign\": \"Chiến dịch | Chiến dịch\",\n    \"globals.terms.campaigns\": \"Chiến dịch\",\n    \"globals.terms.dashboard\": \"Bảng điều khiển\",\n    \"globals.terms.day\": \"Ngày | Ngày\",\n    \"globals.terms.hour\": \"Giờ | Giờ\",\n    \"globals.terms.import\": \"Nhập\",\n    \"globals.terms.list\": \"Danh sách | Danh sách\",\n    \"globals.terms.lists\": \"Danh sách\",\n    \"globals.terms.media\": \"Phương tiện | Phương tiện\",\n    \"globals.terms.messenger\": \"Tin nhắn | Tin nhắn\",\n    \"globals.terms.messengers\": \"Tin nhắn\",\n    \"globals.terms.minute\": \"Phút | Phút\",\n    \"globals.terms.month\": \"Tháng | Tháng\",\n    \"globals.terms.new\": \"Mới\",\n    \"globals.terms.none\": \"Không có\",\n    \"globals.terms.second\": \"Giây | Giây\",\n    \"globals.terms.settings\": \"Cài đặt\",\n    \"globals.terms.subscriber\": \"Người đăng ký | Người đăng ký\",\n    \"globals.terms.subscribers\": \"Người đăng ký\",\n    \"globals.terms.subscriptions\": \"Đăng ký | Đăng ký\",\n    \"globals.terms.tag\": \"Thẻ | Thẻ\",\n    \"globals.terms.tags\": \"Thẻ\",\n    \"globals.terms.template\": \"Mẫu | Mẫu\",\n    \"globals.terms.templates\": \"Mẫu\",\n    \"globals.terms.tx\": \"Giao dịch | Giao dịch\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"Người dùng | Người dùng\",\n    \"globals.terms.users\": \"Người dùng\",\n    \"globals.terms.year\": \"Năm | Năm\",\n    \"import.alreadyRunning\": \"Quá trình nhập đang chạy. Chờ quá trình hoàn tất hoặc dừng trước khi thử lại.\",\n    \"import.blocklist\": \"Danh sách chặn\",\n    \"import.csvDelim\": \"CSV dấu phân cách\",\n    \"import.csvDelimHelp\": \"Dấu phân cách mặc định là dấu phẩy.\",\n    \"import.csvExample\": \"Ví dụ thô CSV\",\n    \"import.csvFile\": \"CSV hoặc ZIP file\",\n    \"import.csvFileHelp\": \"Nhấp hoặc kéo tệp CSV hoặc ZIP vào đây\",\n    \"import.errorCopyingFile\": \"Lỗi khi sao chép tệp: {error}\",\n    \"import.errorProcessingZIP\": \"Lỗi khi xử lý tệp ZIP: {error}\",\n    \"import.errorStarting\": \"Lỗi khi bắt đầu nhập: {error}\",\n    \"import.importDone\": \"Xong\",\n    \"import.importStarted\": \"Đã nhập\",\n    \"import.instructions\": \"Hướng dẫn\",\n    \"import.instructionsHelp\": \"Tải lên tệp CSV hoặc tệp ZIP có một tệp CSV duy nhất trong đó để nhập hàng loạt người đăng ký. Tệp CSV phải có các tiêu đề sau với tên cột chính xác. thuộc tính (tùy chọn) phải là một chuỗi JSON hợp lệ với dấu ngoặc kép thoát kép.\",\n    \"import.invalidDelim\": \"Dấu phân cách phải là một ký tự duy nhất.\",\n    \"import.invalidFile\": \"Tập tin không hợp lệ: {error}\",\n    \"import.invalidMode\": \"Chế độ không hợp lệ\",\n    \"import.invalidParams\": \"Các thông số không hợp lệ: {error}\",\n    \"import.invalidSubStatus\": \"Trạng thái đăng ký không hợp lệ\",\n    \"import.listSubHelp\": \"Danh sách để đăng ký.\",\n    \"import.mode\": \"Chế độ\",\n    \"import.overwriteSubStatus\": \"Ghi đè trạng thái đăng ký\",\n    \"import.overwriteSubStatusHelp\": \"Ghi đè trạng thái của các đăng ký danh sách hiện có\",\n    \"import.overwriteUserInfo\": \"Ghi đè thông tin người dùng\",\n    \"import.overwriteUserInfoHelp\": \"Ghi đè tên và thuộc tính của những người đăng ký hiện có\",\n    \"import.recordsCount\": \"{num} / {total} mục\",\n    \"import.stopImport\": \"Dừng nhập\",\n    \"import.subscribe\": \"Đăng ký\",\n    \"import.subscribeWarning\": \"Ghi đè sẽ đăng ký lại các email đã hủy đăng ký. Tiếp tục?\",\n    \"import.title\": \"Nhập người đăng ký\",\n    \"import.upload\": \"Tải lên\",\n    \"lists.archived\": \"Đã lưu trữ\",\n    \"lists.archivedHelp\": \"Lưu trữ ẩn các danh sách khỏi trang danh sách, chiến dịch và biểu mẫu công khai. Nó có thể được khôi phục bất kỳ lúc nào. Điều này hữu ích cho việc ẩn các danh sách cũ và ít được sử dụng.\",\n    \"lists.confirmDelete\": \"Bạn có chắc không? Điều này không xóa người đăng ký.\",\n    \"lists.confirmSub\": \"Xác nhận (các) đăng ký với {name}\",\n    \"lists.invalidName\": \"Tên không hợp lệ\",\n    \"lists.newList\": \"Danh sách mới\",\n    \"lists.optin\": \"Chọn tham gia\",\n    \"lists.optinHelp\": \"Double opt-in sẽ gửi một e-mail đến người đăng ký yêu cầu xác nhận. Trên danh sách Double opt-in, các chiến dịch chỉ được gửi đến những người đăng ký đã xác nhận.\",\n    \"lists.optinTo\": \"Chọn tham gia {name}\",\n    \"lists.optins.double\": \"Có hai lựa chọn\",\n    \"lists.optins.single\": \"Chọn tham gia một lần\",\n    \"lists.sendCampaign\": \"Gửi chiến dịch\",\n    \"lists.sendOptinCampaign\": \"Gửi chiến dịch chọn tham gia\",\n    \"lists.type\": \"Kiểu\",\n    \"lists.typeHelp\": \"Danh sách công khai được mở để mọi người đăng ký và tên của họ có thể xuất hiện trên các trang công khai như trang quản lý đăng ký.\",\n    \"lists.types.private\": \"Riêng tư\",\n    \"lists.types.public\": \"Công cộng\",\n    \"logs.title\": \"Nhật ký\",\n    \"maintenance.database.title\": \"Cơ sở dữ liệu\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE thu hồi bộ nhớ được sử dụng bởi các hàng bị xóa và tăng đáng kể hiệu suất cơ sở dữ liệu trên các cơ sở dữ liệu lớn. QUAN TRỌNG: Đối với các cơ sở dữ liệu lớn, đây là một hoạt động chậm, chặn. Lên lịch để chạy điều này trong giờ thấp điểm.\",\n    \"maintenance.help\": \"Một số hoạt động có thể mất một thời gian để hoàn thành tùy thuộc vào lượng dữ liệu.\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"Đăng ký chưa xác nhận\",\n    \"maintenance.olderThan\": \"Cũ hơn\",\n    \"maintenance.orphanHelp\": \"Orphan nghĩa là người đăng ký không có danh sách\",\n    \"maintenance.title\": \"Bảo trì\",\n    \"maintenance.unconfirmedSubs\": \"Đăng ký chưa xác nhận cũ hơn {name} ngày.\",\n    \"media.errorReadingFile\": \"Lỗi khi đọc tệp: {error}\",\n    \"media.errorResizing\": \"Lỗi khi thay đổi kích thước hình ảnh: {error}\",\n    \"media.errorSavingThumbnail\": \"Lỗi khi lưu hình thu nhỏ: {error}\",\n    \"media.errorUploading\": \"Lỗi khi tải tệp lên: {error}\",\n    \"media.invalidFile\": \"Tập tin không hợp lệ: {error}\",\n    \"media.title\": \"Phương tiện truyền thông\",\n    \"media.unsupportedFileType\": \"Loại tập tin không được hỗ trợ ({type})\",\n    \"media.upload\": \"Tải lên\",\n    \"media.uploadHelp\": \"Nhấp chuột hoặc kéo và thả hình ảnh vào đây\",\n    \"menu.allCampaigns\": \"Tất cả chiến dịch\",\n    \"menu.allLists\": \"Tất cả danh sách\",\n    \"menu.allSubscribers\": \"Tất cả người đăng ký\",\n    \"menu.dashboard\": \"Bảng điều khiển\",\n    \"menu.forms\": \"Biểu mẫu\",\n    \"menu.import\": \"Nhập\",\n    \"menu.logs\": \"Nhật kí\",\n    \"menu.maintenance\": \"Bảo trì\",\n    \"menu.media\": \"Dữ liệu truyền thông\",\n    \"menu.newCampaign\": \"Tạo mới\",\n    \"menu.settings\": \"Cài đặt\",\n    \"public.archiveEmpty\": \"Chưa có tin nhắn lưu trữ.\",\n    \"public.archiveTitle\": \"Lưu trữ danh sách gửi thư\",\n    \"public.blocklisted\": \"Hủy đăng ký vĩnh viễn.\",\n    \"public.campaignNotFound\": \"Tin nhắn e-mail không được tìm thấy.\",\n    \"public.confirmOptinSubTitle\": \"Xác nhận đăng ký\",\n    \"public.confirmSub\": \"Xác nhận đăng ký\",\n    \"public.confirmSubInfo\": \"Bạn đã được thêm vào các danh sách sau:\",\n    \"public.confirmSubTitle\": \"Xác nhận\",\n    \"public.dataRemoved\": \"Đăng ký của bạn và tất cả dữ liệu liên quan đã bị xóa.\",\n    \"public.dataRemovedTitle\": \"Dữ liệu đã bị xóa\",\n    \"public.dataSent\": \"Dữ liệu của bạn đã được gửi qua e-mail cho bạn dưới dạng tệp đính kèm.\",\n    \"public.dataSentTitle\": \"Dữ liệu được gửi qua e-mail\",\n    \"public.errorFetchingCampaign\": \"Lỗi khi tìm nạp thư e-mail.\",\n    \"public.errorFetchingEmail\": \"Không tìm thấy tin nhắn e-mail\",\n    \"public.errorFetchingLists\": \"Lỗi khi tìm nạp danh sách. Xin hãy thử lại.\",\n    \"public.errorProcessingRequest\": \"Lỗi khi xử lý yêu cầu. Xin hãy thử lại.\",\n    \"public.errorTitle\": \"Lỗi\",\n    \"public.invalidCaptcha\": \"CAPTCHA không hợp lệ.\",\n    \"public.invalidFeature\": \"Tính năng đó không khả dụng.\",\n    \"public.invalidLink\": \"Link không khả dụng\",\n    \"public.managePrefs\": \"Quản lý tùy chọn\",\n    \"public.managePrefsUnsub\": \"Bỏ chọn danh sách để hủy đăng ký.\",\n    \"public.noListsAvailable\": \"Không có danh sách nào để đăng ký.\",\n    \"public.noListsSelected\": \"Không có danh sách hợp lệ nào được chọn để đăng ký.\",\n    \"public.noSubInfo\": \"Không có đăng ký để xác nhận.\",\n    \"public.noSubTitle\": \"Không có đăng ký\",\n    \"public.notFoundTitle\": \"Không tìm thấy\",\n    \"public.poweredBy\": \"Được hỗ trợ bởi\",\n    \"public.prefsSaved\": \"Tùy chọn đã được lưu.\",\n    \"public.privacyConfirmWipe\": \"Bạn có chắc chắn muốn xóa vĩnh viễn tất cả dữ liệu đăng ký của mình không?\",\n    \"public.privacyExport\": \"Xuất dữ liệu của bạn\",\n    \"public.privacyExportHelp\": \"Một bản sao dữ liệu của bạn sẽ được gửi qua email cho bạn.\",\n    \"public.privacyTitle\": \"Quyền riêng tư và dữ liệu\",\n    \"public.privacyWipe\": \"Xóa dữ liệu của bạn\",\n    \"public.privacyWipeHelp\": \"Xóa vĩnh viễn tất cả các đăng ký của bạn và dữ liệu liên quan khỏi cơ sở dữ liệu.\",\n    \"public.sub\": \"Đăng ký nhận thư điện tử\",\n    \"public.subConfirmed\": \"Đăng ký thành công.\",\n    \"public.subConfirmedTitle\": \"Đã xác nhận\",\n    \"public.subName\": \"Tên (tùy chọn)\",\n    \"public.subNotFound\": \"Đăng ký không được tìm thấy.\",\n    \"public.subOptinPending\": \"Một e-mail đã được gửi cho bạn để xác nhận (các) đăng ký của bạn.\",\n    \"public.subPrivateList\": \"Danh sách riêng tư\",\n    \"public.subTitle\": \"Đăng ký\",\n    \"public.unsub\": \"Hủy đăng ký\",\n    \"public.unsubFull\": \"Đồng thời hủy đăng ký nhận tất cả các e-mail trong tương lai.\",\n    \"public.unsubHelp\": \"Bạn có muốn hủy đăng ký khỏi danh sách gửi thư này không?\",\n    \"public.unsubTitle\": \"Hủy đăng ký\",\n    \"public.unsubbedInfo\": \"Bạn đã hủy đăng ký thành công.\",\n    \"public.unsubbedTitle\": \"Đã hủy đăng ký\",\n    \"public.unsubscribeTitle\": \"Hủy đăng ký khỏi danh sách gửi thư\",\n    \"settings.appearance.adminHelp\": \"CSS tùy chỉnh để áp dụng cho giao diện người dùng quản trị.\",\n    \"settings.appearance.adminName\": \"Quản trị viên\",\n    \"settings.appearance.customCSS\": \"Chỉnh CSS\",\n    \"settings.appearance.customJS\": \"Chỉnh JavaScript\",\n    \"settings.appearance.name\": \"Vẻ bề ngoài\",\n    \"settings.appearance.publicHelp\": \"CSS và JavaScript tùy chỉnh để áp dụng cho các trang công khai.\",\n    \"settings.appearance.publicName\": \"Công khai\",\n    \"settings.bounces.action\": \"Hành động\",\n    \"settings.bounces.blocklist\": \"Danh sách chặn\",\n    \"settings.bounces.count\": \"Số trang không truy cập\",\n    \"settings.bounces.countHelp\": \"Số trang không truy cập cho mỗi người đăng ký\",\n    \"settings.bounces.enable\": \"Bật xử lý số trang không truy cập\",\n    \"settings.bounces.enableForwardemail\": \"Bật chuyển tiếp email\",\n    \"settings.bounces.enableMailbox\": \"Bật hộp thư bị trả lại\",\n    \"settings.bounces.enablePostmark\": \"Bật Postmark\",\n    \"settings.bounces.enableSES\": \"Bật SES\",\n    \"settings.bounces.enableSendgrid\": \"Bật SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"Bật webhook bị trả lại\",\n    \"settings.bounces.enabled\": \"Đã bật\",\n    \"settings.bounces.folder\": \"Thư mục\",\n    \"settings.bounces.folderHelp\": \"Tên của thư mục IMAP để quét. Vd: Hộp thư đến.\",\n    \"settings.bounces.forwardemailKey\": \"Khóa chuyển tiếp email\",\n    \"settings.bounces.invalidScanInterval\": \"Khoảng thời gian quét bị trả lại phải tối thiểu là 1 phút.\",\n    \"settings.bounces.name\": \"Bị trả lại\",\n    \"settings.bounces.none\": \"Không có\",\n    \"settings.bounces.postmarkPassword\": \"Mật khẩu Postmark\",\n    \"settings.bounces.postmarkUsername\": \"Tên người dùng Postmark\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark cho phép bạn kích hoạt xác thực cơ bản cho webhook. Hãy đảm bảo nhập các thông tin xác thực giống nhau ở đây và trong cài đặt webhook Postmark của bạn.\",\n    \"settings.bounces.scanInterval\": \"Khoảng thời gian quét\",\n    \"settings.bounces.scanIntervalHelp\": \"Khoảng thời gian mà hộp thư trả lại sẽ được quét để tìm thư trả lại (s cho giây, m cho phút).\",\n    \"settings.bounces.sendgridKey\": \"Khóa SendGrid\",\n    \"settings.bounces.type\": \"Loại\",\n    \"settings.bounces.username\": \"Tài khoản\",\n    \"settings.confirmRestart\": \"Đảm bảo các chiến dịch đang chạy bị tạm dừng. Khởi động lại?\",\n    \"settings.duplicateMessengerName\": \"Tên người gửi trùng lặp: {name}\",\n    \"settings.errorEncoding\": \"Lỗi cài đặt mã hóa: {error}\",\n    \"settings.errorNoSMTP\": \"Ít nhất một khối SMTP phải được bật\",\n    \"settings.general.adminNotifEmails\": \"Email thông báo của quản trị viên\",\n    \"settings.general.adminNotifEmailsHelp\": \"Danh sách địa chỉ e-mail được phân tách bằng dấu phẩy mà các thông báo của quản trị viên như cập nhật nhập, hoàn thành chiến dịch, thất bại, v.v. sẽ được gửi đến.\",\n    \"settings.general.checkUpdates\": \"Kiểm tra cập nhật\",\n    \"settings.general.checkUpdatesHelp\": \"Kiểm tra định kỳ các bản phát hành ứng dụng mới và thông báo.\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"Xuất bản các chiến dịch trên trang web công khai đã bật lưu trữ.\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"Hiển thị nội dung đầy đủ trong RSS feed\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"Hiển thị nội dung email đầy đủ trong RSS feed. Nếu vô hiệu hóa, chỉ hiển thị tiêu đề và liên kết.\",\n    \"settings.general.enablePublicSubPage\": \"Bật trang đăng ký công khai\",\n    \"settings.general.enablePublicSubPageHelp\": \"Hiển thị trang đăng ký công khai với tất cả danh sách công khai để mọi người đăng ký.\",\n    \"settings.general.faviconURL\": \"URL biểu tượng trang\",\n    \"settings.general.faviconURLHelp\": \"(Tùy chọn) URL đầy đủ tới biểu tượng yêu thích tĩnh được hiển thị trên chế độ xem trực diện của người dùng, chẳng hạn như trang hủy đăng ký.\",\n    \"settings.general.fromEmail\": \"Mặc định `từ` email\",\n    \"settings.general.fromEmailHelp\": \"Mặc định `từ` e-mail để hiển thị trên các e-mail của chiến dịch gửi đi. Điều này có thể được thay đổi cho mỗi chiến dịch.\",\n    \"settings.general.language\": \"Ngôn ngữ\",\n    \"settings.general.logoURL\": \"Đường dẫn Logo\",\n    \"settings.general.logoURLHelp\": \"(Tùy chọn) URL đầy đủ của logo. Sẽ được hiển thị trên trang đăng ký / hủy đăng ký.\",\n    \"settings.general.name\": \"Tổng quan\",\n    \"settings.general.rootURL\": \"Đường dẫn\",\n    \"settings.general.rootURLHelp\": \"Đường dẫn công khai của cài đặt (không có dấu gạch chéo).\",\n    \"settings.general.sendOptinConfirm\": \"Gửi xác nhận đăng ký tham gia bản tin\",\n    \"settings.general.sendOptinConfirmHelp\": \"Gửi e-mail xác nhận chọn tham gia khi người đăng ký đăng ký qua biểu mẫu công khai hoặc khi họ được thêm bởi quản trị viên.\",\n    \"settings.general.siteName\": \"Tên trang web\",\n    \"settings.invalidMessengerName\": \"Tên người đưa tin không hợp lệ.\",\n    \"settings.mailserver.authProtocol\": \"Giao thức xác thực\",\n    \"settings.mailserver.host\": \"Máy chủ\",\n    \"settings.mailserver.hostHelp\": \"Địa chỉ máy chủ của máy chủ SMTP.\",\n    \"settings.mailserver.idleTimeout\": \"Thời gian chờ nhàn rỗi\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Thời gian chờ hoạt động mới trên một kết nối trước khi đóng và xóa nó khỏi nhóm (s cho giây, m cho phút).\",\n    \"settings.mailserver.maxConns\": \"Số lượng kết nối tối đa\",\n    \"settings.mailserver.maxConnsHelp\": \"Số lượng kết nối đồng thời đến máy chủ.\",\n    \"settings.mailserver.nameHelp\": \"Tên duy nhất tùy chọn cho máy chủ SMTP. Phải có tiền tố email-. Cài đặt này cho phép chọn máy chủ cụ thể cho một chiến dịch. ví dụ: email-primary-server. Ký tự chữ và số / dấu gạch ngang.\",\n    \"settings.mailserver.password\": \"Mật khẩu\",\n    \"settings.mailserver.passwordHelp\": \"Nhập để thay đổi\",\n    \"settings.mailserver.port\": \"Cổng\",\n    \"settings.mailserver.portHelp\": \"Cổng của máy chủ SMTP.\",\n    \"settings.mailserver.skipTLS\": \"Bỏ qua xác minh TLS\",\n    \"settings.mailserver.skipTLSHelp\": \"Bỏ qua kiểm tra tên máy chủ trên chứng chỉ TLS.\",\n    \"settings.mailserver.tls\": \"TLS\",\n    \"settings.mailserver.tlsHelp\": \"Mã hóa TLS / SSL. STARTTLS thường được sử dụng.\",\n    \"settings.mailserver.username\": \"Tài khoản\",\n    \"settings.mailserver.waitTimeout\": \"Chờ hết thời gian\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Thời gian chờ hoạt động mới trên một kết nối trước khi đóng và xóa nó khỏi nhóm (s cho giây, m cho phút).\",\n    \"settings.maintenance.cron\": \"Khoảng thời gian Cron\",\n    \"settings.media.provider\": \"Các nhà cung cấp\",\n    \"settings.media.s3.bucket\": \"Gầu múc\",\n    \"settings.media.s3.bucketPath\": \"Đường nhóm\",\n    \"settings.media.s3.bucketPathHelp\": \"Đường dẫn bên trong thùng để tải tệp lên. Mặc định là /\",\n    \"settings.media.s3.bucketType\": \"Loại thùng\",\n    \"settings.media.s3.bucketTypePrivate\": \"Riêng tư\",\n    \"settings.media.s3.bucketTypePublic\": \"Công khai\",\n    \"settings.media.s3.key\": \"AWS khóa truy cập\",\n    \"settings.media.s3.publicURL\": \"URL công khai tùy chỉnh (tùy chọn)\",\n    \"settings.media.s3.publicURLHelp\": \"Miền S3 tùy chỉnh để sử dụng cho các liên kết hình ảnh thay vì URL phụ trợ S3 mặc định.\",\n    \"settings.media.s3.region\": \"Vùng\",\n    \"settings.media.s3.secret\": \"AWS truy cập bí mật\",\n    \"settings.media.s3.uploadExpiry\": \"Hết hạn tải lên\",\n    \"settings.media.s3.uploadExpiryHelp\": \"(Tùy chọn) Chỉ định TTL cho URL được chỉ định trước đã tạo. Chỉ áp dụng cho các nhóm riêng (s, m, h, d cho giây, phút, giờ, ngày).\",\n    \"settings.media.s3.url\": \"URL phụ trợ S3\",\n    \"settings.media.s3.urlHelp\": \"Chỉ thay đổi nếu sử dụng chương trình phụ trợ tương thích S3 tùy chỉnh như Minio.\",\n    \"settings.media.title\": \"Tải lên phương tiện\",\n    \"settings.media.upload.extensions\": \"Phần mở rộng tệp cho phép\",\n    \"settings.media.upload.extensionsHelp\": \"Thêm * để cho phép tất cả các phần mở rộng\",\n    \"settings.media.upload.path\": \"Đường dẫn tải lên\",\n    \"settings.media.upload.pathHelp\": \"Đường dẫn đến thư mục nơi phương tiện sẽ được tải lên.\",\n    \"settings.media.upload.uri\": \"Tải lên URI\",\n    \"settings.media.upload.uriHelp\": \"Tải lên URI hiển thị với thế giới bên ngoài. Phương tiện được tải lên upload_path sẽ có thể truy cập công khai trong {root_url}, ví dụ như https://listmonk.host/uploads.\",\n    \"settings.messengers.maxConns\": \"Tối đa kết nối\",\n    \"settings.messengers.maxConnsHelp\": \"Kết nối đồng thời tối đa đến máy chủ.\",\n    \"settings.messengers.messageSaved\": \"Đã lưu cài đặt. Đang tải lại ứng dụng ...\",\n    \"settings.messengers.name\": \"Người đưa tin\",\n    \"settings.messengers.nameHelp\": \"ví dụ: my-sms. Chữ và số / gạch ngang.\",\n    \"settings.messengers.password\": \"Mật khẩu\",\n    \"settings.messengers.retries\": \"Thử lại\",\n    \"settings.messengers.retriesHelp\": \"Số lần thử lại khi có thông báo không thành công.\",\n    \"settings.messengers.skipTLSHelp\": \"Bỏ qua kiểm tra tên máy chủ trên chứng chỉ TLS.\",\n    \"settings.messengers.timeout\": \"Thời gian chờ nhàn rỗi\",\n    \"settings.messengers.timeoutHelp\": \"Thời gian chờ hoạt động mới trên một kết nối trước khi đóng và xóa nó khỏi nhóm (s cho giây, m cho phút).\",\n    \"settings.messengers.url\": \"URL\",\n    \"settings.messengers.urlHelp\": \"URL gốc của máy chủ Đăng lại.\",\n    \"settings.messengers.username\": \"Tài khoản\",\n    \"settings.needsRestart\": \"Đã thay đổi cài đặt. Tạm dừng tất cả các chiến dịch đang chạy và khởi động lại ứng dụng\",\n    \"settings.performance.batchSize\": \"Kích thước cho một lô gửi\",\n    \"settings.performance.batchSizeHelp\": \"Số lượng người đăng ký để lấy từ cơ sở dữ liệu trong một lần lặp lại. Mỗi lần lặp lại kéo người đăng ký từ cơ sở dữ liệu, gửi tin nhắn cho họ, sau đó chuyển sang lần lặp tiếp theo để kéo đợt tiếp theo. Điều này lý tưởng là phải cao hơn thông lượng tối đa có thể đạt được (đồng thời * message_rate).\",\n    \"settings.performance.cacheSlowQueries\": \"Lưu vào bộ nhớ cache các truy vấn cơ sở dữ liệu chậm\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"Chỉ bật tính năng này trên các cơ sở dữ liệu lớn và hiệu năng có dấu hiệu giảm sút. Lưu ý rằng tính năng này sẽ tạo bộ nhớ đệm cho số lượng người đăng ký danh sách, thống kê bảng điều khiển, v.v.\",\n    \"settings.performance.concurrency\": \"Đồng thời\",\n    \"settings.performance.concurrencyHelp\": \"Công nhân đồng thời tối đa (luồng) sẽ cố gắng gửi tin nhắn đồng thời.\",\n    \"settings.performance.maxErrThreshold\": \"Ngưỡng lỗi tối đa\",\n    \"settings.performance.maxErrThresholdHelp\": \"Số lượng lỗi (ví dụ: hết thời gian chờ SMTP trong khi gửi e-mail) một chiến dịch đang chạy phải chịu được trước khi nó bị tạm dừng để điều tra hoặc can thiệp thủ công. Đặt thành 0 để không bao giờ tạm dừng.\",\n    \"settings.performance.messageRate\": \"Tỷ lệ tin nhắn\",\n    \"settings.performance.messageRateHelp\": \"Số lượng tin nhắn tối đa được gửi đi mỗi giây cho mỗi nhân viên trong một giây. Nếu concurrency = 10 và message_rate = 10, thì tối đa 10x10 = 100 tin nhắn có thể được đẩy ra mỗi giây. Điều này, cùng với tính đồng thời, nên được tinh chỉnh để giữ cho các tin nhắn ròng đi ra ngoài mỗi giây dưới các giới hạn tốc độ của máy chủ tin nhắn mục tiêu nếu có.\",\n    \"settings.performance.name\": \"Màn biểu diễn\",\n    \"settings.performance.slidingWindow\": \"Bật giới hạn cửa sổ trượt\",\n    \"settings.performance.slidingWindowDuration\": \"Khoảng thời gian\",\n    \"settings.performance.slidingWindowDurationHelp\": \"Khoảng thời gian của khoảng thời gian cửa sổ trượt (m trong phút, h trong giờ).\",\n    \"settings.performance.slidingWindowHelp\": \"Giới hạn tổng số tin nhắn được gửi đi trong một khoảng thời gian nhất định. Khi đạt đến giới hạn này, thư sẽ bị giữ lại từ khi gửi cho đến khi cửa sổ thời gian xóa.\",\n    \"settings.performance.slidingWindowRate\": \"Tối đa tin nhắn\",\n    \"settings.performance.slidingWindowRateHelp\": \"Số lượng tin nhắn tối đa để gửi trong khoảng thời gian cửa sổ.\",\n    \"settings.privacy.allowBlocklist\": \"Cho phép danh sách chặn\",\n    \"settings.privacy.allowBlocklistHelp\": \"Cho phép người đăng ký hủy đăng ký khỏi tất cả các danh sách gửi thư và tự đánh dấu là đã bị chặn?\",\n    \"settings.privacy.allowExport\": \"Cho phép xuất\",\n    \"settings.privacy.allowExportHelp\": \"Cho phép người đăng ký xuất dữ liệu được thu thập trên chúng?\",\n    \"settings.privacy.allowPrefs\": \"Cho phép thay đổi tùy chọn\",\n    \"settings.privacy.allowPrefsHelp\": \"Cho phép người đăng ký thay đổi tùy chọn như tên và đăng ký danh sách đa nguyên.\",\n    \"settings.privacy.allowWipe\": \"Cho phép xóa\",\n    \"settings.privacy.allowWipeHelp\": \"Cho phép người đăng ký tự xóa bao gồm đăng ký của họ và tất cả dữ liệu khác khỏi cơ sở dữ liệu. Lượt xem chiến dịch và lượt nhấp vào liên kết cũng bị xóa trong khi lượt xem và số lượt nhấp vẫn còn (không có người đăng ký nào được liên kết với chúng) để số liệu thống kê và phân tích không bị ảnh hưởng.\",\n    \"settings.privacy.domainAllowlist\": \"Danh sách cho phép miền\",\n    \"settings.privacy.domainAllowlistHelp\": \"Chỉ những địa chỉ e-mail với các miền này mới được phép đăng ký. Nhập mỗi miền trên một dòng, ví dụ: example.com, *.example.com\",\n    \"settings.privacy.domainBlocklist\": \"Danh sách chặn tên miền\",\n    \"settings.privacy.domainBlocklistHelp\": \"Địa chỉ email với các miền này không được phép đăng ký. Nhập một tên miền trên mỗi dòng, ví dụ: somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"Theo dõi người đăng ký cá nhân\",\n    \"settings.privacy.individualSubTrackingHelp\": \"Theo dõi lượt xem và nhấp chuột vào chiến dịch cấp người đăng ký. Khi bị vô hiệu hóa, theo dõi xem và nhấp chuột tiếp tục mà không cần liên kết với từng người đăng ký.\",\n    \"settings.privacy.listUnsubHeader\": \"Bao gồm tiêu đề `Danh sách-Hủy đăng ký`\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"Bao gồm các tiêu đề hủy đăng ký cho phép ứng dụng e-mail cho phép người dùng hủy đăng ký chỉ bằng một cú nhấp chuột.\",\n    \"settings.privacy.name\": \"Sự riêng tư\",\n    \"settings.privacy.recordOptinIP\": \"Ghi lại IP đăng ký\",\n    \"settings.privacy.recordOptinIPHelp\": \"Ghi lại địa chỉ IP của đăng ký kép vào thuộc tính của người đăng ký.\",\n    \"settings.restart\": \"Khởi động lại\",\n    \"settings.security.CORSDomains\": \"Các nguồn được phép\",\n    \"settings.security.CORSDomainsHelp\": \"Cho phép truy cập các điểm cuối API thông qua Javascript trình duyệt từ các miền bên ngoài. Nhập một miền trên mỗi dòng (ví dụ: https://example.com). Để trống để tắt CORS hoặc thêm * để cho phép tất cả (không được khuyến nghị).\",\n    \"settings.security.OIDCAutoCreateUsers\": \"Tự động tạo người dùng\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"Tự động tạo người dùng khi đăng nhập lần đầu nếu tài khoản chưa tồn tại.\",\n    \"settings.security.OIDCClientID\": \"Mã client ID\",\n    \"settings.security.OIDCClientSecret\": \"Mã client secret\",\n    \"settings.security.OIDCDefaultListRole\": \"Vai trò danh sách mặc định\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"Vai trò mặc định được gán cho người dùng được tạo tự động từ OIDC.\",\n    \"settings.security.OIDCDefaultUserRole\": \"Vai trò người dùng mặc định\",\n    \"settings.security.OIDCHelp\": \"Bật đăng nhập OpenID Connect OAuth2 thông qua một nhà cung cấp OAuth.\",\n    \"settings.security.OIDCName\": \"Tên nhà cung cấp\",\n    \"settings.security.OIDCRedirectURL\": \"URL chuyển hướng cho nhà cung cấp oAuth\",\n    \"settings.security.OIDCRedirectWarning\": \"Đây không phải là URL sản xuất. Thay đổi Root URL trong cài đặt 'Chung'.\",\n    \"settings.security.OIDCURL\": \"URL nhà cung cấp\",\n    \"settings.security.OIDCWarning\": \"Khi OIDC được bật, đăng nhập mặc định bằng mật khẩu sẽ bị vô hiệu. Cấu hình không hợp lệ có thể khóa bạn ra ngoài.\",\n    \"settings.security.altchaComplexity\": \"Độ phức tạp Altcha\",\n    \"settings.security.altchaComplexityHelp\": \"Giá trị cao hơn cung cấp bảo mật tốt hơn nhưng thời gian giải chậm hơn (1000-1000000).\",\n    \"settings.security.captchaKey\": \"Khóa trang hCaptcha.com\",\n    \"settings.security.captchaKeyHelp\": \"Truy cập www.hcaptcha.com để lấy khóa và bí mật.\",\n    \"settings.security.captchaSecret\": \"Bí mật trang hCaptcha.com\",\n    \"settings.security.enableCaptcha\": \"Bật CAPTCHA\",\n    \"settings.security.enableCaptchaHelp\": \"Bật CAPTCHA trên biểu mẫu đăng ký công khai.\",\n    \"settings.security.enableOIDC\": \"Bật OIDC SSO\",\n    \"settings.security.name\": \"Bảo mật\",\n    \"settings.smtp.customHeaders\": \"Tiêu đề tùy chỉnh\",\n    \"settings.smtp.customHeadersHelp\": \"Mảng tiêu đề e-mail tùy chọn để bao gồm trong tất cả các thư được gửi từ máy chủ này. ví dụ: [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"Đã bật\",\n    \"settings.smtp.heloHost\": \"HELO hostname của email server\",\n    \"settings.smtp.heloHostHelp\": \"Không bắt buộc. Một số máy chủ SMTP yêu cầu FQDN trong tên máy chủ. Theo mặc định, HELO đi cùng với `localhost`. Tùy chỉnh theo máy chủ của bạn.\",\n    \"settings.smtp.name\": \"SMTP\",\n    \"settings.smtp.retries\": \"Số lần thử lại\",\n    \"settings.smtp.retriesHelp\": \"Số lần thử lại khi có thông báo không thành công.\",\n    \"settings.smtp.sendTest\": \"Gửi email\",\n    \"settings.smtp.setCustomHeaders\": \"Đặt tiêu đề tùy chỉnh\",\n    \"settings.smtp.testConnection\": \"Kiểm tra kết nối\",\n    \"settings.smtp.testEnterEmail\": \"Nhập mật khẩu để kiểm tra\",\n    \"settings.smtp.toEmail\": \"Email đến\",\n    \"settings.title\": \"Cài đặt\",\n    \"settings.updateAvailable\": \"Đã có bản cập nhật mới {version}.\",\n    \"subscribers.activity\": \"Hoạt động\",\n    \"subscribers.advancedQuery\": \"Trình độ cao\",\n    \"subscribers.advancedQueryHelp\": \"Biểu thức SQL một phần để truy vấn thuộc tính người đăng ký\",\n    \"subscribers.attribsHelp\": \"Các thuộc tính được định nghĩa như một bản đồ JSON, ví dụ:\",\n    \"subscribers.blocklistedHelp\": \"Những người đăng ký bị chặn sẽ không bao giờ nhận được bất kỳ e-mail nào.\",\n    \"subscribers.confirmBlocklist\": \"Danh sách chặn {num} người đăng ký?\",\n    \"subscribers.confirmDelete\": \"Xóa {num} người đăng ký?\",\n    \"subscribers.confirmExport\": \"Xuất {num} người đăng ký?\",\n    \"subscribers.domainBlocklisted\": \"Tên miền của email đã bị đưa vào danh sách đen.\",\n    \"subscribers.downloadData\": \"Tải xuống dữ liệu\",\n    \"subscribers.email\": \"Email\",\n    \"subscribers.emailExists\": \"E-mail đã tồn tại\",\n    \"subscribers.errorBlocklisting\": \"Lỗi khi chặn người đăng ký: {error}\",\n    \"subscribers.errorNoIDs\": \"Không có ID nào được cung cấp.\",\n    \"subscribers.errorNoListsGiven\": \"Không có danh sách nào được đưa ra.\",\n    \"subscribers.errorPreparingQuery\": \"Lỗi khi chuẩn bị truy vấn người đăng ký: {error}\",\n    \"subscribers.errorSendingOptin\": \"Lỗi khi gửi e-mail đăng ký.\",\n    \"subscribers.export\": \"Xuất\",\n    \"subscribers.invalidAction\": \"Hành động không hợp lệ.\",\n    \"subscribers.invalidEmail\": \"Email không hợp lệ.\",\n    \"subscribers.invalidJSON\": \"JSON không hợp lệ trong các thuộc tính.\",\n    \"subscribers.invalidName\": \"Tên không hợp lệ.\",\n    \"subscribers.listChangeApplied\": \"Đã áp dụng thay đổi danh sách.\",\n    \"subscribers.lists\": \"Danh sách\",\n    \"subscribers.listsHelp\": \"Không thể xóa danh sách mà người đăng ký đã hủy đăng ký.\",\n    \"subscribers.listsPlaceholder\": \"Danh sách đăng ký\",\n    \"subscribers.manageLists\": \"Quản lý danh sách\",\n    \"subscribers.markUnsubscribed\": \"Đánh dấu là chưa đăng ký\",\n    \"subscribers.newSubscriber\": \"Người đăng ký mới\",\n    \"subscribers.numSelected\": \"Đã chọn {num} người đăng ký\",\n    \"subscribers.optinSubject\": \"Xác nhận đăng ký\",\n    \"subscribers.preconfirm\": \"Xác nhận trước đăng ký\",\n    \"subscribers.preconfirmHelp\": \"Không gửi e-mail chọn tham gia và đánh dấu tất cả các đăng ký trong danh sách là 'đã đăng ký'.\",\n    \"subscribers.query\": \"Truy vấn\",\n    \"subscribers.queryPlaceholder\": \"E-mail hoặc Tên\",\n    \"subscribers.reset\": \"Đặt lại\",\n    \"subscribers.selectAll\": \"Chọn tất cả {num}\",\n    \"subscribers.sendOptinConfirm\": \"Gửi xác nhận chọn tham gia\",\n    \"subscribers.sentOptinConfirm\": \"Đã gửi xác nhận chọn tham gia\",\n    \"subscribers.status.blocklisted\": \"Đã bị chặn\",\n    \"subscribers.status.confirmed\": \"Đã xác nhận\",\n    \"subscribers.status.enabled\": \"Đã bật\",\n    \"subscribers.status.subscribed\": \"Đã đăng ký\",\n    \"subscribers.status.unconfirmed\": \"Chưa được xác nhận\",\n    \"subscribers.status.unsubscribed\": \"Đã hủy đăng ký\",\n    \"subscribers.subscribersDeleted\": \"Đã xóa {num} người đăng ký\",\n    \"templates.cantDeleteDefault\": \"Không thể xóa mẫu mặc định\",\n    \"templates.default\": \"Mặc định\",\n    \"templates.dummyName\": \"Chiến dịch giả\",\n    \"templates.dummySubject\": \"Chủ đề chiến dịch giả\",\n    \"templates.errorCompiling\": \"Lỗi khi biên dịch mẫu: {error}\",\n    \"templates.errorRendering\": \"Lỗi hiển thị thông báo: {error}\",\n    \"templates.fieldInvalidName\": \"Độ dài không hợp lệ cho tên.\",\n    \"templates.makeDefault\": \"Đặt mặc định\",\n    \"templates.newTemplate\": \"Mẫu mới\",\n    \"templates.placeholderHelp\": \"Dữ liệu thay thế {placeholder} sẽ xuất hiện chính xác một lần trong mẫu.\",\n    \"templates.preview\": \"Xem trước\",\n    \"templates.rawHTML\": \"HTML thô\",\n    \"templates.subject\": \"Chủ đề\",\n    \"templates.typeCampaignHTML\": \"Chiến dịch / HTML\",\n    \"templates.typeCampaignVisual\": \"Chiến dịch / Trực quan\",\n    \"templates.typeTransactional\": \"Giao dịch\",\n    \"users.apiOneTimeToken\": \"Sao chép mã truy cập API ngay bây giờ. Nó sẽ không được hiển thị lại.\",\n    \"users.cantDeleteRole\": \"Không thể xóa vai trò đã được sử dụng.\",\n    \"users.firstTime\": \"Đây là lần cài đặt đầu tiên. Chọn tên người dùng và mật khẩu cho tài khoản Super Admin.\",\n    \"users.forgotPassword\": \"Quên mật khẩu?\",\n    \"users.invalidLogin\": \"Đăng nhập hoặc mật khẩu không hợp lệ\",\n    \"users.invalidPassword\": \"Mật khẩu không hợp lệ\",\n    \"users.invalidRequest\": \"Yêu cầu xác thực không hợp lệ\",\n    \"users.invalidResetLink\": \"Liên kết đặt lại không hợp lệ hoặc đã hết hạn\",\n    \"users.lastLogin\": \"Lần đăng nhập gần nhất\",\n    \"users.listPerms\": \"Quyền cho danh sách\",\n    \"users.listPermsWarning\": \"Đã bật lists:get_all hoặc lists:manage_all, ghi đè quyền theo từng danh sách\",\n    \"users.listRole\": \"Vai trò chính | Vai trò chính\",\n    \"users.listRoles\": \"Danh sách vai trò\",\n    \"users.login\": \"Đăng nhập\",\n    \"users.loginOIDC\": \"Đăng nhập bằng {name}\",\n    \"users.logout\": \"Đăng xuất\",\n    \"users.needSuper\": \"Người dùng(s) không thể được cập nhật. Phải có ít nhất một người dùng Super Admin hoạt động.\",\n    \"users.newListRole\": \"Vai trò danh sách mới\",\n    \"users.newPassword\": \"Mật khẩu mới\",\n    \"users.newUser\": \"Người dùng mới\",\n    \"users.newUserRole\": \"Vai trò người dùng mới\",\n    \"users.password\": \"Mật khẩu\",\n    \"users.passwordEnable\": \"Bật đăng nhập bằng mật khẩu\",\n    \"users.passwordMismatch\": \"Mật khẩu không khớp\",\n    \"users.passwordRepeat\": \"Lặp lại mật khẩu\",\n    \"users.perms\": \"Quyền\",\n    \"users.profile\": \"Hồ sơ\",\n    \"users.resetLinkSent\": \"Nếu tài khoản hoạt động, bạn sẽ nhận được email đặt lại mật khẩu.\",\n    \"users.resetPassword\": \"Đặt lại mật khẩu\",\n    \"users.role\": \"Vai trò | Vai trò\",\n    \"users.roleGroup\": \"Nhóm\",\n    \"users.roles\": \"Vai trò\",\n    \"users.status.disabled\": \"Vô hiệu hóa\",\n    \"users.status.enabled\": \"Đã kích hoạt\",\n    \"users.totpCode\": \"Mã TOTP\",\n    \"users.totpCodeHelp\": \"Nhập mã 6 chữ số từ ứng dụng xác thực của bạn\",\n    \"users.totpScanQR\": \"Quét mã QR bằng ứng dụng xác thực của bạn như Ente hoặc Google Authenticator và nhập mã TOTP bên dưới.\",\n    \"users.totpSecret\": \"Khóa bí mật\",\n    \"users.twoFA\": \"Xác thực hai yếu tố\",\n    \"users.twoFAAlreadyEnabled\": \"Xác thực hai yếu tố đã được bật.\",\n    \"users.twoFAEnabled\": \"Xác thực hai yếu tố đã bật\",\n    \"users.twoFAEnabledDesc\": \"Tài khoản của bạn được bảo vệ bằng {type} 2FA\",\n    \"users.twoFANotEnabled\": \"Bật 2FA để tăng cường bảo mật khi đăng nhập vào tài khoản của bạn.\",\n    \"users.type\": \"Loại\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"Quản trị viên Siêu cấp\",\n    \"users.type.user\": \"Người dùng\",\n    \"users.userRole\": \"Vai trò người dùng | Vai trò người dùng\",\n    \"users.userRoles\": \"Vai trò người dùng\",\n    \"users.username\": \"Tên người dùng\",\n    \"users.usernameHelp\": \"Sử dụng khi đăng nhập bằng mật khẩu\"\n}\n"
  },
  {
    "path": "i18n/zh-CN.json",
    "content": "{\n    \"_.code\": \"zh-CN\",\n    \"_.name\": \"简体中文 (zh-CN)\",\n    \"admin.errorMarshallingConfig\": \"编组配置错误：{error}\",\n    \"analytics.count\": \"计数\",\n    \"analytics.fromDate\": \"从\",\n    \"analytics.invalidDates\": \"无效的 `from` 或 `to` 日期。\",\n    \"analytics.isUnique\": \"每个订阅者的计数都是唯一的。\",\n    \"analytics.links\": \"链接\",\n    \"analytics.nonUnique\": \"由于个人订户跟踪已关闭，因此计数不唯一。\",\n    \"analytics.title\": \"统计信息\",\n    \"analytics.toDate\": \"至\",\n    \"bounces.complaint\": \"投诉\",\n    \"bounces.hard\": \"硬退信\",\n    \"bounces.soft\": \"软退信\",\n    \"bounces.source\": \"资源\",\n    \"bounces.unknownService\": \"未知的服务。\",\n    \"bounces.view\": \"查看退回邮\",\n    \"campaigns.addAltText\": \"添加备用纯文本消息\",\n    \"campaigns.addAttachments\": \"添加附件\",\n    \"campaigns.archive\": \"存档\",\n    \"campaigns.archiveEnable\": \"发布到公开存档\",\n    \"campaigns.archiveHelp\": \"在公共档案中发布（运行、暂停、完成）活动消息。\",\n    \"campaigns.archiveMeta\": \"活动元数据\",\n    \"campaigns.archiveMetaHelp\": \"在公共消息中使用的模拟订阅者数据，包括姓名、电子邮件以及活动消息或模板中使用的任何可选属性。\",\n    \"campaigns.archiveSlug\": \"URL 别名\",\n    \"campaigns.archiveSlugHelp\": \"公共 URL 中用于页面的简短名称。例如：my-newsletter-edition-2\",\n    \"campaigns.attachments\": \"附件\",\n    \"campaigns.attribsHelp\": \"此活动的自定义JSON对象{}属性。在模板中使用 {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"无法更新正在运行或已完成的广告系列。\",\n    \"campaigns.clicks\": \"点击次数\",\n    \"campaigns.confirmDelete\": \"删除{名称}\",\n    \"campaigns.confirmOverwriteContent\": \"这将覆盖所有内容。继续吗？\",\n    \"campaigns.confirmSchedule\": \"此活动将在预定的日期和时间自动开始。现在安排？\",\n    \"campaigns.confirmSwitchFormat\": \"内容可能会丢失格式。继续？\",\n    \"campaigns.content\": \"内容\",\n    \"campaigns.contentHelp\": \"内容在这里\",\n    \"campaigns.continue\": \"继续\",\n    \"campaigns.copyOf\": \"{name}的副本\",\n    \"campaigns.customHeadersHelp\": \"要附加到传出消息的自定义标头数组。例如： [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"日期和时间\",\n    \"campaigns.ended\": \"结束\",\n    \"campaigns.errorSendTest\": \"发送测试时出错：{error}\",\n    \"campaigns.fieldInvalidBody\": \"编译广告系列正文时出错：{error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"无效的`from_email`。\",\n    \"campaigns.fieldInvalidListIDs\": \"列表 ID 无效。\",\n    \"campaigns.fieldInvalidMessenger\": \"未知的信使 {name}。\",\n    \"campaigns.fieldInvalidName\": \"名称长度无效。\",\n    \"campaigns.fieldInvalidSendAt\": \"预定日期应该在将来。\",\n    \"campaigns.fieldInvalidSubject\": \"主题的长度无效。\",\n    \"campaigns.format\": \"格式\",\n    \"campaigns.formatHTML\": \"格式化 HTML\",\n    \"campaigns.fromAddress\": \"从地址\",\n    \"campaigns.fromAddressPlaceholder\": \"你的名字 <noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"导入可视化模板\",\n    \"campaigns.invalid\": \"无效的广告系列\",\n    \"campaigns.invalidCustomHeaders\": \"无效的自定义标头：{error}\",\n    \"campaigns.markdown\": \"Markdown格式\",\n    \"campaigns.needsSendAt\": \"广告系列需要安排一个日期。\",\n    \"campaigns.newCampaign\": \"新广告系列\",\n    \"campaigns.noKnownSubsToTest\": \"没有要测试的已知订阅者。\",\n    \"campaigns.noOptinLists\": \"未找到创建广告系列的选择加入列表。\",\n    \"campaigns.noSubs\": \"所选列表中没有订阅者来创建活动。\",\n    \"campaigns.noSubsToTest\": \"没有可定位的订阅者。\",\n    \"campaigns.notFound\": \" 找不到广告系列。\",\n    \"campaigns.onlyActiveCancel\": \"只有有效的广告可以被取消。\",\n    \"campaigns.onlyActivePause\": \"只有有效的广告系列可以暂停。\",\n    \"campaigns.onlyDraftAsScheduled\": \"只有广告草稿可以被安排发送。\",\n    \"campaigns.onlyPausedDraft\": \"只能启动暂停的广告系列和草稿。\",\n    \"campaigns.onlyScheduledAsDraft\": \"只有预定的广告可以保存为草稿。\",\n    \"campaigns.pause\": \"暂停\",\n    \"campaigns.plainText\": \"纯文本\",\n    \"campaigns.preview\": \"预览\",\n    \"campaigns.progress\": \"进度\",\n    \"campaigns.queryPlaceholder\": \"姓名或主题\",\n    \"campaigns.rateMinuteShort\": \"分钟\",\n    \"campaigns.rawHTML\": \"原始 HTML\",\n    \"campaigns.removeAltText\": \"删除备用纯文本消息\",\n    \"campaigns.richText\": \"富文本\",\n    \"campaigns.schedule\": \"计划发送广告\",\n    \"campaigns.scheduled\": \"预定的\",\n    \"campaigns.send\": \"发送\",\n    \"campaigns.sendLater\": \"稍后发送\",\n    \"campaigns.sendTest\": \"发送测试消息\",\n    \"campaigns.sendTestHelp\": \"输入地址后按 Enter 以添加多个收件人。地址必须属于现有订阅者。\",\n    \"campaigns.sendToLists\": \"要发送到的列表\",\n    \"campaigns.sent\": \"发送\",\n    \"campaigns.start\": \"开始发送广告\",\n    \"campaigns.started\": \"“{name}”开始\",\n    \"campaigns.startedAt\": \"已开始\",\n    \"campaigns.stats\": \"统计数据\",\n    \"campaigns.status.cancelled\": \"已取消\",\n    \"campaigns.status.draft\": \"草稿\",\n    \"campaigns.status.finished\": \"完成的\",\n    \"campaigns.status.paused\": \"暂停\",\n    \"campaigns.status.running\": \"正在运行\",\n    \"campaigns.status.scheduled\": \"已安排\",\n    \"campaigns.statusChanged\": \" “{name}”是 {status}\",\n    \"campaigns.subject\": \"主题\",\n    \"campaigns.templatingRef\": \"模板参考\",\n    \"campaigns.testEmails\": \"电子邮件\",\n    \"campaigns.testSent\": \"已发送测试消息\",\n    \"campaigns.timestamps\": \"时间戳\",\n    \"campaigns.trackLink\": \"跟踪链接\",\n    \"campaigns.unSchedule\": \"取消预定\",\n    \"campaigns.views\": \"视图\",\n    \"campaigns.visual\": \"可视化\",\n    \"dashboard.campaignViews\": \"广告系列视图\",\n    \"dashboard.linkClicks\": \"链接点击次数\",\n    \"dashboard.messagesSent\": \"消息已发送\",\n    \"dashboard.orphanSubs\": \"孤儿\",\n    \"email.data.info\": \"记录在您身上的所有数据的副本作为 JSON 格式的文件附加。它可以在文本编辑器中查看。\",\n    \"email.data.title\": \"您的数据\",\n    \"email.forgotPassword.button\": \"重置密码\",\n    \"email.forgotPassword.info\": \"如果您没有请求此操作，可以安全地忽略此电子邮件。此链接将在30分钟后过期。\",\n    \"email.forgotPassword.subject\": \"重置您的密码\",\n    \"email.optin.confirmSub\": \"确认订阅\",\n    \"email.optin.confirmSubHelp\": \"单击下面的按钮确认您的订阅\",\n    \"email.optin.confirmSubInfo\": \"您已被添加到以下列表中\",\n    \"email.optin.confirmSubTitle\": \"确认订阅\",\n    \"email.optin.confirmSubWelcome\": \"你好\",\n    \"email.optin.privateList\": \"私人列表\",\n    \"email.status.campaignReason\": \"原因\",\n    \"email.status.campaignSent\": \"已发送\",\n    \"email.status.campaignUpdateTitle\": \"广告更新\",\n    \"email.status.importFile\": \"文件\",\n    \"email.status.importRecords\": \"记录\",\n    \"email.status.importTitle\": \"导入更新\",\n    \"email.status.status\": \"状态\",\n    \"email.unsub\": \"退订\",\n    \"email.unsubHelp\": \"不想收到这些电子邮件？\",\n    \"email.viewInBrowser\": \"在浏览器中查看\",\n    \"forms.formHTML\": \"表单 HTML\",\n    \"forms.formHTMLHelp\": \"使用以下 HTML 在外部网页上显示订阅表单。表单应具有电子邮件字段和一个或多个“l”（列出 UUID）字段。名称字段是可选的。\",\n    \"forms.noPublicLists\": \"没有用于生成表单的公共列表。\",\n    \"forms.publicLists\": \"公开列表\",\n    \"forms.publicSubPage\": \"公开订阅页面\",\n    \"forms.selectHelp\": \"选择要添加到表单的列表。\",\n    \"forms.title\": \"表格\",\n    \"globals.buttons.add\": \"添加\",\n    \"globals.buttons.addNew\": \"添加新的\",\n    \"globals.buttons.back\": \"后退\",\n    \"globals.buttons.cancel\": \"取消\",\n    \"globals.buttons.clear\": \"删除\",\n    \"globals.buttons.clearAll\": \"删除所有\",\n    \"globals.buttons.clone\": \"克隆\",\n    \"globals.buttons.close\": \"关闭\",\n    \"globals.buttons.continue\": \"继续\",\n    \"globals.buttons.copy\": \"复制\",\n    \"globals.buttons.delete\": \"删除\",\n    \"globals.buttons.deleteAll\": \"删除所有\",\n    \"globals.buttons.disable\": \"禁用\",\n    \"globals.buttons.edit\": \"编辑\",\n    \"globals.buttons.enable\": \"启用\",\n    \"globals.buttons.enabled\": \"启用\",\n    \"globals.buttons.insert\": \"添加\",\n    \"globals.buttons.learnMore\": \"更多\",\n    \"globals.buttons.manage\": \"管理\",\n    \"globals.buttons.more\": \"更多\",\n    \"globals.buttons.new\": \"新建\",\n    \"globals.buttons.ok\": \"好的\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"移除\",\n    \"globals.buttons.save\": \"保存\",\n    \"globals.buttons.saveChanges\": \"保存更改\",\n    \"globals.buttons.toggleSelect\": \"切换选择\",\n    \"globals.buttons.view\": \"查看\",\n    \"globals.days.0\": \"星期日\",\n    \"globals.days.1\": \"星期日\",\n    \"globals.days.2\": \"星期一\",\n    \"globals.days.3\": \"星期二\",\n    \"globals.days.4\": \"星期三\",\n    \"globals.days.5\": \"星期四\",\n    \"globals.days.6\": \"星期五\",\n    \"globals.days.7\": \"星期六\",\n    \"globals.fields.createdAt\": \"已创建\",\n    \"globals.fields.description\": \"描述\",\n    \"globals.fields.id\": \"身份标识\",\n    \"globals.fields.name\": \"姓名\",\n    \"globals.fields.status\": \"状态\",\n    \"globals.fields.type\": \"类型\",\n    \"globals.fields.updatedAt\": \"已更新\",\n    \"globals.fields.uuid\": \"全局ID\",\n    \"globals.messages.confirm\": \"你确定吗？\",\n    \"globals.messages.confirmDelete\": \"删除 {num} 个 {name}？\",\n    \"globals.messages.confirmDiscard\": \"放弃更改？\",\n    \"globals.messages.copied\": \"已复制\",\n    \"globals.messages.created\": \"“{name}”已创建\",\n    \"globals.messages.deleted\": \"“{name}”已删除\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) 个已删除\",\n    \"globals.messages.done\": \"完成\",\n    \"globals.messages.emptyState\": \"这里没有什么\",\n    \"globals.messages.errorCreating\": \"创建 {name} 时出错：{error}\",\n    \"globals.messages.errorDeleting\": \"删除 {name} 时出错：{error}\",\n    \"globals.messages.errorFetching\": \"获取 {name} 时出错：{error}\",\n    \"globals.messages.errorInvalidIDs\": \"一个或多个 ID 无效：{error}\",\n    \"globals.messages.errorUUID\": \"生成 UUID 时出错：{error}\",\n    \"globals.messages.errorUpdating\": \"更新 {name} 时出错：{error}\",\n    \"globals.messages.internalError\": \"内部服务器错误\",\n    \"globals.messages.invalidData\": \"无效数据\",\n    \"globals.messages.invalidFields\": \"无效字段：{name}\",\n    \"globals.messages.invalidID\": \"ID 无效\",\n    \"globals.messages.invalidUUID\": \"无效的 UUID\",\n    \"globals.messages.invalidValue\": \"无效的值\",\n    \"globals.messages.missingFields\": \"缺少字段：{name}\",\n    \"globals.messages.notFound\": \"{name} 未找到\",\n    \"globals.messages.numSelected\": \"已选择 {num}\",\n    \"globals.messages.passwordChange\": \"输入要更改的值\",\n    \"globals.messages.passwordChangeFull\": \"在“{name}”中清除并重新输入完整密码。\",\n    \"globals.messages.permissionDenied\": \"权限被拒绝：{name}\",\n    \"globals.messages.selectAll\": \"全选 {num}\",\n    \"globals.messages.slowQueriesCached\": \"慢查询正在缓存中。此页面上的某些数字可能不是最新的。\",\n    \"globals.messages.updated\": \"“{name}”已更新\",\n    \"globals.months.1\": \"一月\",\n    \"globals.months.10\": \"十月\",\n    \"globals.months.11\": \"十一月\",\n    \"globals.months.12\": \"十二月\",\n    \"globals.months.2\": \"二月\",\n    \"globals.months.3\": \"三月\",\n    \"globals.months.4\": \"四月\",\n    \"globals.months.5\": \"五月\",\n    \"globals.months.6\": \"六月\",\n    \"globals.months.7\": \"七月\",\n    \"globals.months.8\": \"八月\",\n    \"globals.months.9\": \"九月\",\n    \"globals.states.off\": \"关闭\",\n    \"globals.terms.all\": \"所有\",\n    \"globals.terms.analytics\": \"统计\",\n    \"globals.terms.attribs\": \"属性\",\n    \"globals.terms.bounce\": \"反弹 | 多个反弹\",\n    \"globals.terms.bounces\": \"反弹\",\n    \"globals.terms.campaign\": \"广告 | 多个广告\",\n    \"globals.terms.campaigns\": \"广告\",\n    \"globals.terms.dashboard\": \"仪表盘\",\n    \"globals.terms.day\": \"一天 | 多天\",\n    \"globals.terms.hour\": \"一小时 | 多小时\",\n    \"globals.terms.import\": \"导入\",\n    \"globals.terms.list\": \"列表 | 多个列表\",\n    \"globals.terms.lists\": \"列表\",\n    \"globals.terms.media\": \"媒体 | 多个媒体\",\n    \"globals.terms.messenger\": \"信使 | 多个信使\",\n    \"globals.terms.messengers\": \"信使\",\n    \"globals.terms.minute\": \"分钟 | 几分钟\",\n    \"globals.terms.month\": \"月 | 几个月\",\n    \"globals.terms.new\": \"新建\",\n    \"globals.terms.none\": \"无\",\n    \"globals.terms.second\": \"秒 | 几秒\",\n    \"globals.terms.settings\": \"设置\",\n    \"globals.terms.subscriber\": \"订阅者 | 多个订阅者\",\n    \"globals.terms.subscribers\": \"订阅者\",\n    \"globals.terms.subscriptions\": \"订阅 | 订阅\",\n    \"globals.terms.tag\": \"标签 | 多个标签\",\n    \"globals.terms.tags\": \"标签\",\n    \"globals.terms.template\": \"模板 | 多个模板\",\n    \"globals.terms.templates\": \"模板\",\n    \"globals.terms.tx\": \"交易 | 交易\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"用户\",\n    \"globals.terms.users\": \"用户\",\n    \"globals.terms.year\": \"年 | 多年\",\n    \"import.alreadyRunning\": \"导入已在运行。等待它完成或停止它，然后再试一次。\",\n    \"import.blocklist\": \"黑名单\",\n    \"import.csvDelim\": \"CSV 分隔符\",\n    \"import.csvDelimHelp\": \"默认分隔符是逗号。\",\n    \"import.csvExample\": \"原始 CSV示例\",\n    \"import.csvFile\": \"CSV 或 ZIP 文件\",\n    \"import.csvFileHelp\": \"单击或拖动 CSV 或 ZIP 文件到此处\",\n    \"import.errorCopyingFile\": \"复制文件时出错：{error}\",\n    \"import.errorProcessingZIP\": \"处理 ZIP 文件时出错：{error}\",\n    \"import.errorStarting\": \"开始导入时出错：{error}\",\n    \"import.importDone\": \"完毕\",\n    \"import.importStarted\": \"导入已开始\",\n    \"import.instructions\": \"说明\",\n    \"import.instructionsHelp\": \"上传包含单个 CSV 文件的 CSV 文件或 ZIP 文件以批量导入订阅者。CSV 文件应具有以下带有确切列名的标题。attributes（可选）应该是带有双引号的有效 JSON 字符串。\",\n    \"import.invalidDelim\": \"分隔符应该是单个字符。\",\n    \"import.invalidFile\": \"无效文件：{error}\",\n    \"import.invalidMode\": \"无效模式\",\n    \"import.invalidParams\": \"无效参数：{error}\",\n    \"import.invalidSubStatus\": \"订阅状态无效\",\n    \"import.listSubHelp\": \"要订阅的列表\",\n    \"import.mode\": \"模式\",\n    \"import.overwriteSubStatus\": \"覆盖订阅状态\",\n    \"import.overwriteSubStatusHelp\": \"覆盖现有列表订阅的状态\",\n    \"import.overwriteUserInfo\": \"覆盖用户信息\",\n    \"import.overwriteUserInfoHelp\": \"覆盖现有订阅者的姓名和属性\",\n    \"import.recordsCount\": \"{num} / {total} 条记录\",\n    \"import.stopImport\": \"停止导入\",\n    \"import.subscribe\": \"订阅\",\n    \"import.subscribeWarning\": \"覆盖将重新订阅已取消订阅的电子邮件。是否继续？\",\n    \"import.title\": \"导入订阅者\",\n    \"import.upload\": \"上传\",\n    \"lists.archived\": \"已归档\",\n    \"lists.archivedHelp\": \"归档会从列表页面、活动和公共表单中隐藏列表。可以随时取消归档。对于隐藏旧的和很少使用的列表很有用。\",\n    \"lists.confirmDelete\": \"你确定吗？这不会删除订阅者。\",\n    \"lists.confirmSub\": \"确认订阅 {name}\",\n    \"lists.invalidName\": \"名称无效\",\n    \"lists.newList\": \"新列表\",\n    \"lists.optin\": \"选择加入\",\n    \"lists.optinHelp\": \"双重选择会向订阅者发送一封电子邮件，要求确认。在双重选择加入列表中，活动仅发送给已确认的订阅者。\",\n    \"lists.optinTo\": \"选择加入 {name}\",\n    \"lists.optins.double\": \"双重选择加入\",\n    \"lists.optins.single\": \"单选加入\",\n    \"lists.sendCampaign\": \"发送广告\",\n    \"lists.sendOptinCampaign\": \"发送选择加入广告\",\n    \"lists.type\": \"类型\",\n    \"lists.typeHelp\": \"公共列表向全世界开放订阅，其名称可能会出现在订阅管理页面等公共页面上。\",\n    \"lists.types.private\": \"私人的\",\n    \"lists.types.public\": \"公开\",\n    \"logs.title\": \"日志\",\n    \"maintenance.database.title\": \"数据库\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE 回收已删除行使用的存储空间，并显著加快大型数据库的性能。重要提示：对于大型数据库，这是一个缓慢的阻塞操作。应在非高峰时段执行。\",\n    \"maintenance.help\": \"根据数据量，某些操作可能需要一段时间才能完成。\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"未经确认的选择加入订阅\",\n    \"maintenance.olderThan\": \"早于\",\n    \"maintenance.orphanHelp\": \"孤儿 = 没有列表的订户\",\n    \"maintenance.title\": \"维护\",\n    \"maintenance.unconfirmedSubs\": \"超过 {name} 天的未确认订阅。\",\n    \"media.errorReadingFile\": \"读取文件时出错：{error}\",\n    \"media.errorResizing\": \"调整图像大小时出错：{error}\",\n    \"media.errorSavingThumbnail\": \"保存缩略图时出错：{error}\",\n    \"media.errorUploading\": \"上传文件时出错：{error}\",\n    \"media.invalidFile\": \"无效文件：{error}\",\n    \"media.title\": \"媒体\",\n    \"media.unsupportedFileType\": \"不支持的文件类型 ({type})\",\n    \"media.upload\": \"上传\",\n    \"media.uploadHelp\": \"在此处单击或拖动一张或多张图片\",\n    \"menu.allCampaigns\": \"所有广告系列\",\n    \"menu.allLists\": \"所有列表\",\n    \"menu.allSubscribers\": \"所有订阅者\",\n    \"menu.dashboard\": \"仪表板\",\n    \"menu.forms\": \"表格\",\n    \"menu.import\": \"导入\",\n    \"menu.logs\": \"日志\",\n    \"menu.maintenance\": \"维护\",\n    \"menu.media\": \"媒体\",\n    \"menu.newCampaign\": \"创建新的\",\n    \"menu.settings\": \"设置\",\n    \"public.archiveEmpty\": \"还没有已存档信息\",\n    \"public.archiveTitle\": \"邮件列表存档\",\n    \"public.blocklisted\": \"已永久取消订阅\",\n    \"public.campaignNotFound\": \"未找到电子邮件。\",\n    \"public.confirmOptinSubTitle\": \"确认订阅\",\n    \"public.confirmSub\": \"确认订阅\",\n    \"public.confirmSubInfo\": \"您已被添加到以下列表中：\",\n    \"public.confirmSubTitle\": \"确认\",\n    \"public.dataRemoved\": \"您的订阅和所有相关数据已被删除。\",\n    \"public.dataRemovedTitle\": \"已删除数据\",\n    \"public.dataSent\": \"您的数据已作为附件通过电子邮件发送给您\",\n    \"public.dataSentTitle\": \"通过电子邮件发送的数据\",\n    \"public.errorFetchingCampaign\": \"获取电子邮件消息时出错。\",\n    \"public.errorFetchingEmail\": \"未找到电子邮件\",\n    \"public.errorFetchingLists\": \"获取列表时出错。请重试。\",\n    \"public.errorProcessingRequest\": \"处理请求时出错。请重试。\",\n    \"public.errorTitle\": \"错误\",\n    \"public.invalidCaptcha\": \"无效的验证码。\",\n    \"public.invalidFeature\": \"该功能不可用。\",\n    \"public.invalidLink\": \"无效的链接\",\n    \"public.managePrefs\": \"管理偏好设置\",\n    \"public.managePrefsUnsub\": \"取消选中列表以取消订阅。\",\n    \"public.noListsAvailable\": \"没有可供订阅的列表。\",\n    \"public.noListsSelected\": \"没有可以选择订阅的有效列表\",\n    \"public.noSubInfo\": \"没有要确认的订阅。\",\n    \"public.noSubTitle\": \"没有订阅\",\n    \"public.notFoundTitle\": \"未找到\",\n    \"public.poweredBy\": \"由...提供动力\",\n    \"public.prefsSaved\": \"你的偏好设置已经被保存\",\n    \"public.privacyConfirmWipe\": \"您确定要永久删除所有订阅数据吗？\",\n    \"public.privacyExport\": \"导出您的数据\",\n    \"public.privacyExportHelp\": \"您的数据副本将通过电子邮件发送给您。\",\n    \"public.privacyTitle\": \"隐私和数据\",\n    \"public.privacyWipe\": \"擦除您的数据\",\n    \"public.privacyWipeHelp\": \"从数据库中永久删除所有订阅和相关数据。\",\n    \"public.sub\": \"订阅\",\n    \"public.subConfirmed\": \"订阅成功。\",\n    \"public.subConfirmedTitle\": \"已确认\",\n    \"public.subName\": \"姓名（可选）\",\n    \"public.subNotFound\": \"未找到订阅\",\n    \"public.subOptinPending\": \"已向您发送一封电子邮件以确认您的订阅。\",\n    \"public.subPrivateList\": \"私人列表\",\n    \"public.subTitle\": \"订阅\",\n    \"public.unsub\": \"退订\",\n    \"public.unsubFull\": \"也取消订阅所有未来的电子邮件。\",\n    \"public.unsubHelp\": \"您想退订此邮件列表吗？\",\n    \"public.unsubTitle\": \"退订\",\n    \"public.unsubbedInfo\": \"您已成功退订。\",\n    \"public.unsubbedTitle\": \"退订\",\n    \"public.unsubscribeTitle\": \"退订邮件列表\",\n    \"settings.appearance.adminHelp\": \"应用到管理 UI 的自定义 CSS。\",\n    \"settings.appearance.adminName\": \"管理员\",\n    \"settings.appearance.customCSS\": \"自定义 CSS\",\n    \"settings.appearance.customJS\": \"JavaScript\",\n    \"settings.appearance.name\": \"外观\",\n    \"settings.appearance.publicHelp\": \"自定义 CSS 和 JavaScript 以应用于公共页面。\",\n    \"settings.appearance.publicName\": \"公开\",\n    \"settings.bounces.action\": \"行动\",\n    \"settings.bounces.blocklist\": \"黑名单\",\n    \"settings.bounces.count\": \"反弹计数\",\n    \"settings.bounces.countHelp\": \"每个订阅者的反弹次数\",\n    \"settings.bounces.enable\": \"启用退回处理\",\n    \"settings.bounces.enableForwardemail\": \"启用转发邮件\",\n    \"settings.bounces.enableMailbox\": \"启用退回邮箱\",\n    \"settings.bounces.enablePostmark\": \"启用Postmark\",\n    \"settings.bounces.enableSES\": \"启用SES\",\n    \"settings.bounces.enableSendgrid\": \"启用SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"启用反弹webhooks\",\n    \"settings.bounces.enabled\": \"已启用\",\n    \"settings.bounces.folder\": \"文件夹\",\n    \"settings.bounces.folderHelp\": \"要扫描的 IMAP 文件夹的名称。例如：收件箱。\",\n    \"settings.bounces.forwardemailKey\": \"转发邮件密钥\",\n    \"settings.bounces.invalidScanInterval\": \"反弹扫描间隔应至少为 1 分钟。\",\n    \"settings.bounces.name\": \"反弹\",\n    \"settings.bounces.none\": \"无\",\n    \"settings.bounces.postmarkPassword\": \"Postmark 密码\",\n    \"settings.bounces.postmarkUsername\": \"Postmark 用户名\",\n    \"settings.bounces.postmarkUsernameHelp\": \"Postmark 允许您为 Webhook 启用基本授权。确保在此处和 Postmark Webhook 设置中输入相同的凭据。\",\n    \"settings.bounces.scanInterval\": \"扫描间隔\",\n    \"settings.bounces.scanIntervalHelp\": \"应扫描退回邮箱以查找退回邮件的时间间隔（s 表示秒，m 表示分钟）。\",\n    \"settings.bounces.sendgridKey\": \"SendGrid键\",\n    \"settings.bounces.type\": \"类型\",\n    \"settings.bounces.username\": \"用户名\",\n    \"settings.confirmRestart\": \"确保暂停正在运行的广告系列。重新开始？\",\n    \"settings.duplicateMessengerName\": \"重复的信使名称：{name}\",\n    \"settings.errorEncoding\": \"错误编码设置：{error}\",\n    \"settings.errorNoSMTP\": \"至少应启用一个SMTP块\",\n    \"settings.general.adminNotifEmails\": \"管理员通知电子邮件\",\n    \"settings.general.adminNotifEmailsHelp\": \"应向其发送管理通知（例如导入更新、活动完成、失败等）的电子邮件地址的逗号分隔列表。\",\n    \"settings.general.checkUpdates\": \"检查更新\",\n    \"settings.general.checkUpdatesHelp\": \"定期检查新的应用程序版本并通知。\",\n    \"settings.general.enablePublicArchive\": \"Enable public mailing list archive page\",\n    \"settings.general.enablePublicArchiveHelp\": \"在公共网站上发布启用存档的活动。\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"在RSS源中显示完整内容\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"在RSS源中显示完整电子邮件内容。如果禁用，则仅显示标题和链接元素。\",\n    \"settings.general.enablePublicSubPage\": \"启用公共订阅页面\",\n    \"settings.general.enablePublicSubPageHelp\": \"显示一个公共订阅页面，其中包含供人们订阅的所有公共列表。\",\n    \"settings.general.faviconURL\": \"网站图标网址\",\n    \"settings.general.faviconURLHelp\": \"（可选）要在面向用户的视图（例如退订页面）上显示的静态网站图标的完整 URL。\",\n    \"settings.general.fromEmail\": \"默认“发件人”电子邮件\",\n    \"settings.general.fromEmailHelp\": \"默认“发件人”电子邮件显示在传出的营销活动电子邮件中。这可以在每个广告系列中更改。\",\n    \"settings.general.language\": \"语言\",\n    \"settings.general.logoURL\": \"Logo网址\",\n    \"settings.general.logoURLHelp\": \"（可选）要在面向用户的视图（例如退订页面）上显示的静态徽标的完整 URL。\",\n    \"settings.general.name\": \"通用\",\n    \"settings.general.rootURL\": \"根网址\",\n    \"settings.general.rootURLHelp\": \"安装的公共 URL（没有尾部斜杠）。\",\n    \"settings.general.sendOptinConfirm\": \"发送选择加入确认\",\n    \"settings.general.sendOptinConfirmHelp\": \"当订阅者通过公共表单注册或由管理员添加时，发送选择加入确认电子邮件。\",\n    \"settings.general.siteName\": \"站点名称\",\n    \"settings.invalidMessengerName\": \"信使名称无效。\",\n    \"settings.mailserver.authProtocol\": \"身份验证协议\",\n    \"settings.mailserver.host\": \"主机\",\n    \"settings.mailserver.hostHelp\": \"SMTP服务器的主机地址。\",\n    \"settings.mailserver.idleTimeout\": \"空闲超时\",\n    \"settings.mailserver.idleTimeoutHelp\": \"在关闭连接并将其从池中删除之前等待连接上的新活动的时间（s 表示秒，m 表示分钟）。\",\n    \"settings.mailserver.maxConns\": \"最大连接数\",\n    \"settings.mailserver.maxConnsHelp\": \"与服务器的最大并发连接数。\",\n    \"settings.mailserver.nameHelp\": \"SMTP 服务器的可选唯一名称。必须以 email- 作为前缀。设置此选项后，可以在活动中专门选择该服务器。例如：email-primary-server。可包含字母数字字符和连字符。\",\n    \"settings.mailserver.password\": \"密码\",\n    \"settings.mailserver.passwordHelp\": \"输入更改\",\n    \"settings.mailserver.port\": \"端口\",\n    \"settings.mailserver.portHelp\": \"SMTP服务器的端口。\",\n    \"settings.mailserver.skipTLS\": \"跳过TLS验证\",\n    \"settings.mailserver.skipTLSHelp\": \"跳过对TLS证书的主机名检查。\",\n    \"settings.mailserver.tls\": \"TLS协议\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL加密。STARTTLS是常用的。\",\n    \"settings.mailserver.username\": \"用户名\",\n    \"settings.mailserver.waitTimeout\": \"等待超时\",\n    \"settings.mailserver.waitTimeoutHelp\": \"在关闭连接并将其从池中删除之前等待连接上的新活动的时间（s 表示秒，m 表示分钟）。\",\n    \"settings.maintenance.cron\": \"Cron 间隔\",\n    \"settings.media.provider\": \"提供者\",\n    \"settings.media.s3.bucket\": \"存储桶\",\n    \"settings.media.s3.bucketPath\": \"存储桶路径\",\n    \"settings.media.s3.bucketPathHelp\": \"存储桶内用于上传文件的路径。默认为 /\",\n    \"settings.media.s3.bucketType\": \"存储桶类型\",\n    \"settings.media.s3.bucketTypePrivate\": \"私人的\",\n    \"settings.media.s3.bucketTypePublic\": \"公开\",\n    \"settings.media.s3.key\": \"AWS访问密钥\",\n    \"settings.media.s3.publicURL\": \"自定义公共 URL（可选）\",\n    \"settings.media.s3.publicURLHelp\": \"用于图像链接的自定义S3域，而不是默认的S3后端URL。\",\n    \"settings.media.s3.region\": \"地区\",\n    \"settings.media.s3.secret\": \"AWS访问密钥\",\n    \"settings.media.s3.uploadExpiry\": \"上传到期\",\n    \"settings.media.s3.uploadExpiryHelp\": \"（可选）为生成的预签名UR 指定TTL。仅适用于私有存储桶（s、m、h、d 表示秒、分钟、小时、天）。\",\n    \"settings.media.s3.url\": \"S3后端URL\",\n    \"settings.media.s3.urlHelp\": \"只有在使用像Minio这样的自定义S3兼容后端时才进行更改。\",\n    \"settings.media.title\": \"媒体上传\",\n    \"settings.media.upload.extensions\": \"允许的文件扩展名\",\n    \"settings.media.upload.extensionsHelp\": \"添加*以允许所有扩展名\",\n    \"settings.media.upload.path\": \"上传路径\",\n    \"settings.media.upload.pathHelp\": \"将上传媒体的目录的路径。\",\n    \"settings.media.upload.uri\": \"上传URI\",\n    \"settings.media.upload.uriHelp\": \"上传对外界可见的 URI。上传到 upload_path 的媒体将在 {root_url} 下公开访问，例如 https://listmonk.yoursite.com/uploads。\",\n    \"settings.messengers.maxConns\": \"最大连接数\",\n    \"settings.messengers.maxConnsHelp\": \"与服务器的最大并发连接数。\",\n    \"settings.messengers.messageSaved\": \"设置已保存。正在重新加载应用程序...\",\n    \"settings.messengers.name\": \"信使\",\n    \"settings.messengers.nameHelp\": \"例如：我的短信。字母数字/破折号。\",\n    \"settings.messengers.password\": \"密码\",\n    \"settings.messengers.retries\": \"重试\",\n    \"settings.messengers.retriesHelp\": \"消息失败时重试的次数。\",\n    \"settings.messengers.skipTLSHelp\": \"跳过对TLS证书的主机名检查。\",\n    \"settings.messengers.timeout\": \"空闲超时\",\n    \"settings.messengers.timeoutHelp\": \"在关闭连接并将其从池中删除之前等待连接上的新活动的时间（s 表示秒，m 表示分钟）。\",\n    \"settings.messengers.url\": \"网址\",\n    \"settings.messengers.urlHelp\": \"Postback服务器的根URL。\",\n    \"settings.messengers.username\": \"用户名\",\n    \"settings.needsRestart\": \"设置已更改。暂停所有正在运行的广告系列并重新启动应用\",\n    \"settings.performance.batchSize\": \"批量大小\",\n    \"settings.performance.batchSizeHelp\": \"在单次迭代中从数据库中提取的订阅者数量。每次迭代都会从数据库中提取订阅者，向他们发送消息，然后继续进行下一次迭代以提取下一批。理想情况下，这应该高于可实现的最大吞吐量（并发 * message_rate）。\",\n    \"settings.performance.cacheSlowQueries\": \"缓存慢数据库查询\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"只有在大型数据库且明显变慢的情况下才启用此项。它会缓存邮件列表订阅者计数、仪表盘统计数据等。\",\n    \"settings.performance.concurrency\": \"并发\",\n    \"settings.performance.concurrencyHelp\": \"将尝试同时发送消息的最大并发工作线程（线程）。\",\n    \"settings.performance.maxErrThreshold\": \"最大误差阈值\",\n    \"settings.performance.maxErrThresholdHelp\": \"正在运行的活动在暂停以进行手动调查或干预之前应该容忍的错误数（例如：发送电子邮件时的 SMTP 超时）。设置为 0 以永不暂停。\",\n    \"settings.performance.messageRate\": \"发消息速率\",\n    \"settings.performance.messageRateHelp\": \"每个工作人员每秒发送的最大消息数。如果 concurrency = 10 且 message_rate = 10，则每秒最多可以推送 10x10=100 条消息。这与并发性一起，应该进行调整，以使每秒发出的净消息保持在目标消息服务器速率限制（如果有）之下。\",\n    \"settings.performance.name\": \"性能\",\n    \"settings.performance.slidingWindow\": \"启用滑动窗口限制\",\n    \"settings.performance.slidingWindowDuration\": \"持续时间\",\n    \"settings.performance.slidingWindowDurationHelp\": \"滑动窗口期的持续时间（m 代表分钟，h 代表小时）。\",\n    \"settings.performance.slidingWindowHelp\": \"限制在给定时间段内发出的消息总数。达到此限制后，将暂停发送消息，直到时间窗口清除。\",\n    \"settings.performance.slidingWindowRate\": \"最大消息数\",\n    \"settings.performance.slidingWindowRateHelp\": \"在窗口持续时间内发送的最大消息数。\",\n    \"settings.privacy.allowBlocklist\": \"允许列入黑名单\",\n    \"settings.privacy.allowBlocklistHelp\": \"允许订阅者从所有邮件列表中退订并将自己标记为已列入黑名单？\",\n    \"settings.privacy.allowExport\": \"允许导出\",\n    \"settings.privacy.allowExportHelp\": \"允许订阅者导出收集到的数据？\",\n    \"settings.privacy.allowPrefs\": \"允许更改偏好\",\n    \"settings.privacy.allowPrefsHelp\": \"允许订阅者更改首选项，例如他们的姓名和多个列表订阅。\",\n    \"settings.privacy.allowWipe\": \"允许擦除\",\n    \"settings.privacy.allowWipeHelp\": \"允许订阅者删除自己，包括他们的订阅和数据库中的所有其他数据。广告系列浏览量和链接点击量也会被删除，而浏览量和点击量仍然存在（没有与之关联的订阅者），因此统计数据和分析不会受到影响。\",\n    \"settings.privacy.domainAllowlist\": \"域名允许列表\",\n    \"settings.privacy.domainAllowlistHelp\": \"只允许这些域名的电子邮件地址订阅。每行输入一个域名，例如：example.com，*.example.com\",\n    \"settings.privacy.domainBlocklist\": \"域阻止列表\",\n    \"settings.privacy.domainBlocklistHelp\": \"不允许订阅具有这些域的电子邮件地址。每行输入一个域，例如：somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"个人订户跟踪\",\n    \"settings.privacy.individualSubTrackingHelp\": \"跟踪订阅者级别的广告系列视图和点击次数。禁用后，查看和点击跟踪将继续，而不与单个订阅者相关联。\",\n    \"settings.privacy.listUnsubHeader\": \"包括 `List-Unsubscribe` 标头\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"包括允许电子邮件客户端允许用户通过单击取消订阅的取消订阅标题\",\n    \"settings.privacy.name\": \"隐私\",\n    \"settings.privacy.recordOptinIP\": \"记录开通IP地址\",\n    \"settings.privacy.recordOptinIPHelp\": \"在订阅者属性中记录双选订阅的IP地址。\",\n    \"settings.restart\": \"重新开始\",\n    \"settings.security.CORSDomains\": \"允许的源\",\n    \"settings.security.CORSDomainsHelp\": \"允许通过浏览器 Javascript 从外部域访问 API 端点。每行输入一个域（例如：https://example.com）。留空以禁用 CORS 或添加 * 以允许所有域（不推荐）。\",\n    \"settings.security.OIDCAutoCreateUsers\": \"自动创建用户\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"如果账户不存在，首次登录时自动创建用户。\",\n    \"settings.security.OIDCClientID\": \"客户端ID\",\n    \"settings.security.OIDCClientSecret\": \"客户端密钥\",\n    \"settings.security.OIDCDefaultListRole\": \"默认列表角色\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"自动通过 OIDC 创建的用户分配的默认角色。\",\n    \"settings.security.OIDCDefaultUserRole\": \"默认用户角色\",\n    \"settings.security.OIDCHelp\": \"通过OAuth提供程序启用OpenID Connect OAuth2登录。\",\n    \"settings.security.OIDCName\": \"提供者名称\",\n    \"settings.security.OIDCRedirectURL\": \"oAuth提供程序的重定向URL\",\n    \"settings.security.OIDCRedirectWarning\": \"这似乎不是生产URL。在“常规”设置中更改根URL。\",\n    \"settings.security.OIDCURL\": \"提供程序URL\",\n    \"settings.security.OIDCWarning\": \"启用OIDC时，默认密码登录将被禁用。无效的配置可能会使您被锁定。\",\n    \"settings.security.altchaComplexity\": \"Altcha 复杂度\",\n    \"settings.security.altchaComplexityHelp\": \"数值越高安全性越好，但解题速度越慢（1000-1000000）。\",\n    \"settings.security.captchaKey\": \"hCaptcha.com站点密钥\",\n    \"settings.security.captchaKeyHelp\": \"访问www.hcaptcha.com获取密钥和秘密。\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com秘密\",\n    \"settings.security.enableCaptcha\": \"启用验证码\",\n    \"settings.security.enableCaptchaHelp\": \"在公共订阅表单上启用验证码。\",\n    \"settings.security.enableOIDC\": \"启用OIDC SSO\",\n    \"settings.security.name\": \"安全性\",\n    \"settings.smtp.customHeaders\": \"自定义标头\",\n    \"settings.smtp.customHeadersHelp\": \"要包含在从此服务器发送的所有消息中的可选电子邮件标头数组。例如： [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"已启用\",\n    \"settings.smtp.heloHost\": \"HELO主机名\",\n    \"settings.smtp.heloHostHelp\": \"可选的。某些 SMTP 服务器要求主机名中包含 FQDN。默认情况下，HELLO 使用 `localhost`。如果应该使用自定义主机名，请设置此项。\",\n    \"settings.smtp.name\": \"SMTP服务器\",\n    \"settings.smtp.retries\": \"重试\",\n    \"settings.smtp.retriesHelp\": \"消息失败时重试的次数。\",\n    \"settings.smtp.sendTest\": \"发送电子邮件\",\n    \"settings.smtp.setCustomHeaders\": \"设置自定义标头\",\n    \"settings.smtp.testConnection\": \"测试连接\",\n    \"settings.smtp.testEnterEmail\": \"输入密码用于测试\",\n    \"settings.smtp.toEmail\": \"发到邮箱\",\n    \"settings.title\": \"设置\",\n    \"settings.updateAvailable\": \"有新的更新 {version} 可用。\",\n    \"subscribers.activity\": \"活动\",\n    \"subscribers.advancedQuery\": \"高级\",\n    \"subscribers.advancedQueryHelp\": \"查询订阅者属性的部分SQL表达式\",\n    \"subscribers.attribsHelp\": \"属性定义为JSON映射，例如：\",\n    \"subscribers.blocklistedHelp\": \"列入黑名单的订阅者永远不会收到任何电子邮件。\",\n    \"subscribers.confirmBlocklist\": \"屏蔽 {num} 个订阅者？\",\n    \"subscribers.confirmDelete\": \"删除 {num} 个订阅者？\",\n    \"subscribers.confirmExport\": \"导出 {num} 个订阅者？\",\n    \"subscribers.domainBlocklisted\": \"电子邮件域被列入黑名单。\",\n    \"subscribers.downloadData\": \"下载数据\",\n    \"subscribers.email\": \"电子邮件\",\n    \"subscribers.emailExists\": \"电子邮件已经存在。\",\n    \"subscribers.errorBlocklisting\": \"将订阅者列入黑名单时出错：{error}\",\n    \"subscribers.errorNoIDs\": \"没有给出ID。\",\n    \"subscribers.errorNoListsGiven\": \"没有给出列表。\",\n    \"subscribers.errorPreparingQuery\": \"准备订阅者查询时出错：{error}\",\n    \"subscribers.errorSendingOptin\": \"发送选择加入电子邮件时出错。\",\n    \"subscribers.export\": \"导出\",\n    \"subscribers.invalidAction\": \"无效的操作。\",\n    \"subscribers.invalidEmail\": \"不合规电邮。\",\n    \"subscribers.invalidJSON\": \"属性中的JSON无效。\",\n    \"subscribers.invalidName\": \"名称无效。\",\n    \"subscribers.listChangeApplied\": \"已应用列表更改。\",\n    \"subscribers.lists\": \"列表\",\n    \"subscribers.listsHelp\": \"不能删除订阅者自己取消订阅的列表。\",\n    \"subscribers.listsPlaceholder\": \"要订阅的列表\",\n    \"subscribers.manageLists\": \"管理列表\",\n    \"subscribers.markUnsubscribed\": \"标记为退订\",\n    \"subscribers.newSubscriber\": \"新订阅者\",\n    \"subscribers.numSelected\": \"已选择 {num} 个订阅者\",\n    \"subscribers.optinSubject\": \"确认订阅\",\n    \"subscribers.preconfirm\": \"预先确认订阅\",\n    \"subscribers.preconfirmHelp\": \"不要发送选择加入的电子邮件并将所有列表订阅标记为“已订阅”。\",\n    \"subscribers.query\": \"查询\",\n    \"subscribers.queryPlaceholder\": \"电子邮件或姓名\",\n    \"subscribers.reset\": \"重置\",\n    \"subscribers.selectAll\": \"全选 {num}\",\n    \"subscribers.sendOptinConfirm\": \"发送选择加入确认\",\n    \"subscribers.sentOptinConfirm\": \"已发送选择加入确认\",\n    \"subscribers.status.blocklisted\": \"列入黑名单\",\n    \"subscribers.status.confirmed\": \"已确认\",\n    \"subscribers.status.enabled\": \"启用\",\n    \"subscribers.status.subscribed\": \"订阅\",\n    \"subscribers.status.unconfirmed\": \"未确认\",\n    \"subscribers.status.unsubscribed\": \"退订\",\n    \"subscribers.subscribersDeleted\": \"{num} 个订阅者已删除\",\n    \"templates.cantDeleteDefault\": \"无法删除默认模板\",\n    \"templates.default\": \"默认\",\n    \"templates.dummyName\": \"空广告\",\n    \"templates.dummySubject\": \"空广告主题\",\n    \"templates.errorCompiling\": \"编译模板时出错：{error}\",\n    \"templates.errorRendering\": \"错误呈现消息：{error}\",\n    \"templates.fieldInvalidName\": \"名称长度无效\",\n    \"templates.makeDefault\": \"默认设置\",\n    \"templates.newTemplate\": \"新模板\",\n    \"templates.placeholderHelp\": \"占位符 {placeholder} 应该在模板中恰好出现一次。\",\n    \"templates.preview\": \"预览\",\n    \"templates.rawHTML\": \"原始HTML\",\n    \"templates.subject\": \"主题\",\n    \"templates.typeCampaignHTML\": \"活动 / HTML\",\n    \"templates.typeCampaignVisual\": \"活动 / 可视化\",\n    \"templates.typeTransactional\": \"事务性\",\n    \"users.apiOneTimeToken\": \"立即复制API访问令牌。不会再显示。\",\n    \"users.cantDeleteRole\": \"无法删除正在使用的角色。\",\n    \"users.firstTime\": \"这是一次全新安装。为超级管理员帐户选择用户名和密码。\",\n    \"users.forgotPassword\": \"忘记密码？\",\n    \"users.invalidLogin\": \"无效的登录或密码\",\n    \"users.invalidPassword\": \"无效的密码\",\n    \"users.invalidRequest\": \"无效的身份验证请求\",\n    \"users.invalidResetLink\": \"无效或已过期的重置链接\",\n    \"users.lastLogin\": \"上次登录\",\n    \"users.listPerms\": \"列出权限\",\n    \"users.listPermsWarning\": \"已启用lists:get_all或lists:manage_all，这将覆盖每个列表的权限\",\n    \"users.listRole\": \"列表角色\",\n    \"users.listRoles\": \"列表角色\",\n    \"users.login\": \"登录\",\n    \"users.loginOIDC\": \"使用{name}登录\",\n    \"users.logout\": \"登出\",\n    \"users.needSuper\": \"无法更新用户。必须至少有一个活动的超级管理员用户。\",\n    \"users.newListRole\": \"新列表角色\",\n    \"users.newPassword\": \"新密码\",\n    \"users.newUser\": \"新用户\",\n    \"users.newUserRole\": \"新用户角色\",\n    \"users.password\": \"密码\",\n    \"users.passwordEnable\": \"启用密码登录\",\n    \"users.passwordMismatch\": \"密码不匹配\",\n    \"users.passwordRepeat\": \"重复密码\",\n    \"users.perms\": \"权限\",\n    \"users.profile\": \"个人资料\",\n    \"users.resetLinkSent\": \"如果帐户处于活跃状态，您将收到密码重置电子邮件。\",\n    \"users.resetPassword\": \"重置密码\",\n    \"users.role\": \"角色\",\n    \"users.roleGroup\": \"组\",\n    \"users.roles\": \"角色\",\n    \"users.status.disabled\": \"已禁用\",\n    \"users.status.enabled\": \"已启用\",\n    \"users.totpCode\": \"TOTP 代码\",\n    \"users.totpCodeHelp\": \"输入来自身份验证器应用的6位数代码\",\n    \"users.totpScanQR\": \"使用您的身份验证器应用（如 Ente 或 Google Authenticator）扫描二维码，然后在下方输入 TOTP 代码。\",\n    \"users.totpSecret\": \"密钥\",\n    \"users.twoFA\": \"双因素认证\",\n    \"users.twoFAAlreadyEnabled\": \"双因素认证已启用。\",\n    \"users.twoFAEnabled\": \"双因素认证已开启\",\n    \"users.twoFAEnabledDesc\": \"您的帐户受到 {type} 2FA 保护\",\n    \"users.twoFANotEnabled\": \"启用 2FA 以在登录帐户时获得额外的安全性。\",\n    \"users.type\": \"类型\",\n    \"users.type.api\": \"API\",\n    \"users.type.super\": \"超级管理员\",\n    \"users.type.user\": \"用户\",\n    \"users.userRole\": \"用户角色\",\n    \"users.userRoles\": \"用户角色\",\n    \"users.username\": \"用户名\",\n    \"users.usernameHelp\": \"与密码登录一起使用\"\n}\n"
  },
  {
    "path": "i18n/zh-TW.json",
    "content": "{\n    \"_.code\": \"zh-TW\",\n    \"_.name\": \"繁體中文(zh-TW)\",\n    \"admin.errorMarshallingConfig\": \"配置序列化錯誤: {error}\",\n    \"analytics.count\": \"合計\",\n    \"analytics.fromDate\": \"開始日期\",\n    \"analytics.invalidDates\": \"無效的`開始` 或`結束` 日期。\",\n    \"analytics.isUnique\": \"每個訂閱者的合計都是唯一的。\",\n    \"analytics.links\": \"連結\",\n    \"analytics.nonUnique\": \"由於用戶的訂閱追蹤已關閉，因此計數不唯一。\",\n    \"analytics.title\": \"分析\",\n    \"analytics.toDate\": \"至\",\n    \"bounces.complaint\": \"投訴\",\n    \"bounces.hard\": \"強制退回\",\n    \"bounces.soft\": \"軟性退回\",\n    \"bounces.source\": \"資源\",\n    \"bounces.unknownService\": \"未知的服務。\",\n    \"bounces.view\": \"查看退回郵件\",\n    \"campaigns.addAltText\": \"新增 Alt 文字\",\n    \"campaigns.addAttachments\": \"新增附件\",\n    \"campaigns.archive\": \"封存\",\n    \"campaigns.archiveEnable\": \"發布至公開封存\",\n    \"campaigns.archiveHelp\": \"將活動訊息（進行中、暫停、已完成）發布到公開封存。\",\n    \"campaigns.archiveMeta\": \"活動中繼資料\",\n    \"campaigns.archiveMetaHelp\": \"用於公開訊息的虛擬訂閱者資料，包括姓名、電子郵件和任何在活動訊息或範本中使用的選擇性屬性。\",\n    \"campaigns.archiveSlug\": \"URL 別名\",\n    \"campaigns.archiveSlugHelp\": \"用於公開 URL 的頁面的簡短名稱，例如：我的電子報第二期\",\n    \"campaigns.attachments\": \"附件\",\n    \"campaigns.attribsHelp\": \"此活動的自訂 JSON 物件 {} 屬性。在範本中使用 {{ .Campaign.Attribs.$key }}\",\n    \"campaigns.cantUpdate\": \"無法更新正在執行中或已完成的活動。\",\n    \"campaigns.clicks\": \"點擊次數\",\n    \"campaigns.confirmDelete\": \"刪除 {name}\",\n    \"campaigns.confirmOverwriteContent\": \"這將會覆蓋所有內容。是否繼續？\",\n    \"campaigns.confirmSchedule\": \"此活動計畫將在預定的日期和時間自動開始。現在安排？\",\n    \"campaigns.confirmSwitchFormat\": \"內容可能會遺失格式。要繼續嗎？\",\n    \"campaigns.content\": \"內容\",\n    \"campaigns.contentHelp\": \"在這裡輸入內容\",\n    \"campaigns.continue\": \"繼續\",\n    \"campaigns.copyOf\": \"{name}的副本\",\n    \"campaigns.customHeadersHelp\": \"要附加到傳出電子郵件的自定義 headers。例如： [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"campaigns.dateAndTime\": \"日期和時間\",\n    \"campaigns.ended\": \"結束\",\n    \"campaigns.errorSendTest\": \"發送測試時出現錯誤：{error}\",\n    \"campaigns.fieldInvalidBody\": \"編譯廣告 body 時出現錯誤：{error}\",\n    \"campaigns.fieldInvalidFromEmail\": \"無效的寄件信箱地址。\",\n    \"campaigns.fieldInvalidListIDs\": \"無效的訂閱者列表 ID。\",\n    \"campaigns.fieldInvalidMessenger\": \"無效的寄件人 {name}。\",\n    \"campaigns.fieldInvalidName\": \"無效的名稱長度。\",\n    \"campaigns.fieldInvalidSendAt\": \"預定計畫日期應該在未來時間。\",\n    \"campaigns.fieldInvalidSubject\": \"電子郵件的主題的長度無效。\",\n    \"campaigns.format\": \"格式\",\n    \"campaigns.formatHTML\": \"格式化 HTML\",\n    \"campaigns.fromAddress\": \"寄件人\",\n    \"campaigns.fromAddressPlaceholder\": \"你的名字<noreply@yoursite.com>\",\n    \"campaigns.importVisualTemplate\": \"匯入視覺範本\",\n    \"campaigns.invalid\": \"無效的廣告計畫\",\n    \"campaigns.invalidCustomHeaders\": \"無效的自定義 headers\",\n    \"campaigns.markdown\": \"Markdown 格式\",\n    \"campaigns.needsSendAt\": \"廣告需要指定一個日期。\",\n    \"campaigns.newCampaign\": \"新廣告\",\n    \"campaigns.noKnownSubsToTest\": \"沒有已知的訂閱者可測試。\",\n    \"campaigns.noOptinLists\": \"未找到用於建立活動的 opt-in 寄件清單。\",\n    \"campaigns.noSubs\": \"所選的寄件清單中沒有任何訂閱者，無法建立此活動。\",\n    \"campaigns.noSubsToTest\": \"沒有任何目標訂閱者。\",\n    \"campaigns.notFound\": \" 找不到廣告。\",\n    \"campaigns.onlyActiveCancel\": \"只有有效的廣告可以被取消。\",\n    \"campaigns.onlyActivePause\": \"只有有效的廣告可以被暫停。\",\n    \"campaigns.onlyDraftAsScheduled\": \"只有廣告草稿可以被預定未來發送。\",\n    \"campaigns.onlyPausedDraft\": \"只能啟動暫停的廣告和草稿。\",\n    \"campaigns.onlyScheduledAsDraft\": \"只有預定的廣告計畫可被保存為草稿。\",\n    \"campaigns.pause\": \"暫停\",\n    \"campaigns.plainText\": \"純文字\",\n    \"campaigns.preview\": \"預覽\",\n    \"campaigns.progress\": \"進度\",\n    \"campaigns.queryPlaceholder\": \"姓名或電子報主題\",\n    \"campaigns.rateMinuteShort\": \"分鐘\",\n    \"campaigns.rawHTML\": \"HTML 原始碼\",\n    \"campaigns.removeAltText\": \"刪除備用的純文字\",\n    \"campaigns.richText\": \"多文字格式 (rich text)\",\n    \"campaigns.schedule\": \"排定時間發送廣告\",\n    \"campaigns.scheduled\": \"已排定寄送\",\n    \"campaigns.send\": \"寄送\",\n    \"campaigns.sendLater\": \"稍後寄送\",\n    \"campaigns.sendTest\": \"寄送測試訊息\",\n    \"campaigns.sendTestHelp\": \"輸入電子郵件地址後按 Enter 以新增多個收件人。地址必須屬於現有訂閱者。\",\n    \"campaigns.sendToLists\": \"要寄送的清單列表\",\n    \"campaigns.sent\": \"寄送\",\n    \"campaigns.start\": \"開始寄送廣告\",\n    \"campaigns.started\": \"“{name}”開始\",\n    \"campaigns.startedAt\": \"已開始\",\n    \"campaigns.stats\": \"狀態\",\n    \"campaigns.status.cancelled\": \"已取消\",\n    \"campaigns.status.draft\": \"草稿\",\n    \"campaigns.status.finished\": \"已完成\",\n    \"campaigns.status.paused\": \"暫停\",\n    \"campaigns.status.running\": \"正在進行\",\n    \"campaigns.status.scheduled\": \"已排定寄送\",\n    \"campaigns.statusChanged\": \" “{name}”是{status}\",\n    \"campaigns.subject\": \"電子報主題\",\n    \"campaigns.templatingRef\": \"參考範本\",\n    \"campaigns.testEmails\": \"電子郵件\",\n    \"campaigns.testSent\": \"測試電子郵件已寄送\",\n    \"campaigns.timestamps\": \"時間戳記\",\n    \"campaigns.trackLink\": \"追蹤連結\",\n    \"campaigns.unSchedule\": \"取消排程\",\n    \"campaigns.views\": \"開信\",\n    \"campaigns.visual\": \"視覺\",\n    \"dashboard.campaignViews\": \"活動開信\",\n    \"dashboard.linkClicks\": \"連結點擊次數\",\n    \"dashboard.messagesSent\": \"訊息已發送\",\n    \"dashboard.orphanSubs\": \"孤兒\",\n    \"email.data.info\": \"記錄在您身上的所有資料副本作為 JSON 格式的檔案附加。它可以在文字編輯器中檢視。\",\n    \"email.data.title\": \"您的數據\",\n    \"email.forgotPassword.button\": \"重設密碼\",\n    \"email.forgotPassword.info\": \"如果您未要求此操作，可以安全地忽略此郵件。此連結將在 30 分鐘後過期。\",\n    \"email.forgotPassword.subject\": \"重設您的密碼\",\n    \"email.optin.confirmSub\": \"確認訂閱\",\n    \"email.optin.confirmSubHelp\": \"點擊下面的按鈕來確認您的訂閱\",\n    \"email.optin.confirmSubInfo\": \"您已被新增到以下清單中\",\n    \"email.optin.confirmSubTitle\": \"確認訂閱\",\n    \"email.optin.confirmSubWelcome\": \"你好\",\n    \"email.optin.privateList\": \"不公開的清單\",\n    \"email.status.campaignReason\": \"原因\",\n    \"email.status.campaignSent\": \"已發送\",\n    \"email.status.campaignUpdateTitle\": \"廣告更新\",\n    \"email.status.importFile\": \"檔案\",\n    \"email.status.importRecords\": \"記錄\",\n    \"email.status.importTitle\": \"匯入更新\",\n    \"email.status.status\": \"狀態\",\n    \"email.unsub\": \"退訂\",\n    \"email.unsubHelp\": \"不想收到這些電子郵件？\",\n    \"email.viewInBrowser\": \"在瀏覽器中查看\",\n    \"forms.formHTML\": \"表單 HTML\",\n    \"forms.formHTMLHelp\": \"使用以下 HTML 語法在外部網頁上顯示訂閱表單。表單應包含電子郵件欄位和一個或多個“l”（列出UUID）欄位。name 欄位是非必填。\",\n    \"forms.noPublicLists\": \"沒有任何公開的訂閱清單可用來建立表單。\",\n    \"forms.publicLists\": \"公開清單\",\n    \"forms.publicSubPage\": \"公開訂閱頁面\",\n    \"forms.selectHelp\": \"選擇要新增到表單的清單。\",\n    \"forms.title\": \"表格\",\n    \"globals.buttons.add\": \"新增\",\n    \"globals.buttons.addNew\": \"新增新的\",\n    \"globals.buttons.back\": \"返回\",\n    \"globals.buttons.cancel\": \"取消\",\n    \"globals.buttons.clear\": \"刪除\",\n    \"globals.buttons.clearAll\": \"刪除所有\",\n    \"globals.buttons.clone\": \"重製\",\n    \"globals.buttons.close\": \"關閉\",\n    \"globals.buttons.continue\": \"繼續\",\n    \"globals.buttons.copy\": \"複製\",\n    \"globals.buttons.delete\": \"刪除\",\n    \"globals.buttons.deleteAll\": \"刪除所有\",\n    \"globals.buttons.disable\": \"停用\",\n    \"globals.buttons.edit\": \"編輯\",\n    \"globals.buttons.enable\": \"啟用\",\n    \"globals.buttons.enabled\": \"啟用\",\n    \"globals.buttons.insert\": \"插入\",\n    \"globals.buttons.learnMore\": \"更多\",\n    \"globals.buttons.manage\": \"管理\",\n    \"globals.buttons.more\": \"更多\",\n    \"globals.buttons.new\": \"新增\",\n    \"globals.buttons.ok\": \"好的\",\n    \"globals.buttons.refresh\": \"Refresh\",\n    \"globals.buttons.remove\": \"移除\",\n    \"globals.buttons.save\": \"儲存\",\n    \"globals.buttons.saveChanges\": \"儲存變更\",\n    \"globals.buttons.toggleSelect\": \"切換選擇\",\n    \"globals.buttons.view\": \"檢視\",\n    \"globals.days.0\": \"星期日\",\n    \"globals.days.1\": \"星期日\",\n    \"globals.days.2\": \"星期一\",\n    \"globals.days.3\": \"星期二\",\n    \"globals.days.4\": \"星期三\",\n    \"globals.days.5\": \"星期四\",\n    \"globals.days.6\": \"星期五\",\n    \"globals.days.7\": \"星期六\",\n    \"globals.fields.createdAt\": \"已建立\",\n    \"globals.fields.description\": \"描述\",\n    \"globals.fields.id\": \"身份標識\",\n    \"globals.fields.name\": \"姓名\",\n    \"globals.fields.status\": \"狀態\",\n    \"globals.fields.type\": \"類型\",\n    \"globals.fields.updatedAt\": \"已更新\",\n    \"globals.fields.uuid\": \"UUID\",\n    \"globals.messages.confirm\": \"你確定嗎？\",\n    \"globals.messages.confirmDelete\": \"刪除 {num} 個 {name}？\",\n    \"globals.messages.confirmDiscard\": \"放棄變更？\",\n    \"globals.messages.copied\": \"已複製\",\n    \"globals.messages.created\": \"“{name}”已建立\",\n    \"globals.messages.deleted\": \"“{name}”已刪除\",\n    \"globals.messages.deletedCount\": \"{name} ({num}) 個已刪除\",\n    \"globals.messages.done\": \"完成\",\n    \"globals.messages.emptyState\": \"這裡什麼都沒有。\",\n    \"globals.messages.errorCreating\": \"建立{name} 時出現錯誤：{error}\",\n    \"globals.messages.errorDeleting\": \"刪除{name} 時出現錯誤：{error}\",\n    \"globals.messages.errorFetching\": \"獲取{name} 時出現錯誤：{error}\",\n    \"globals.messages.errorInvalidIDs\": \"一個或多個 ID 無效：{error}\",\n    \"globals.messages.errorUUID\": \"生成 UUID 時出現錯誤：{error}\",\n    \"globals.messages.errorUpdating\": \"更新{name} 時出現錯誤：{error}\",\n    \"globals.messages.internalError\": \"內部伺服器錯誤\",\n    \"globals.messages.invalidData\": \"無效的數據\",\n    \"globals.messages.invalidFields\": \"無效的欄位: {name}\",\n    \"globals.messages.invalidID\": \"ID 無效\",\n    \"globals.messages.invalidUUID\": \"無效的 UUID\",\n    \"globals.messages.invalidValue\": \"無效值\",\n    \"globals.messages.missingFields\": \"缺少欄位：{name}\",\n    \"globals.messages.notFound\": \"{name} 未找到\",\n    \"globals.messages.numSelected\": \"已選擇 {num}\",\n    \"globals.messages.passwordChange\": \"輸入要變更的密碼\",\n    \"globals.messages.passwordChangeFull\": \"在 '{name}' 中清除並重新輸入完整密碼。\",\n    \"globals.messages.permissionDenied\": \"權限拒絕: {name}\",\n    \"globals.messages.selectAll\": \"選擇全部 {num} 個\",\n    \"globals.messages.slowQueriesCached\": \"正在進行慢速查詢。此頁面上的部分數字可能不是最新的。\",\n    \"globals.messages.updated\": \"“{name}”已更新\",\n    \"globals.months.1\": \"一月\",\n    \"globals.months.10\": \"十月\",\n    \"globals.months.11\": \"十一月\",\n    \"globals.months.12\": \"十二月\",\n    \"globals.months.2\": \"二月\",\n    \"globals.months.3\": \"三月\",\n    \"globals.months.4\": \"四月\",\n    \"globals.months.5\": \"五月\",\n    \"globals.months.6\": \"六月\",\n    \"globals.months.7\": \"七月\",\n    \"globals.months.8\": \"八月\",\n    \"globals.months.9\": \"九月\",\n    \"globals.states.off\": \"關閉\",\n    \"globals.terms.all\": \"全部\",\n    \"globals.terms.analytics\": \"分析\",\n    \"globals.terms.attribs\": \"屬性\",\n    \"globals.terms.bounce\": \"退回 (Bounce)\",\n    \"globals.terms.bounces\": \"退回 (Bounces)\",\n    \"globals.terms.campaign\": \"廣告| 多個廣告\",\n    \"globals.terms.campaigns\": \"活動\",\n    \"globals.terms.dashboard\": \"儀表板\",\n    \"globals.terms.day\": \"一天 | 多天\",\n    \"globals.terms.hour\": \"一小時 | 多小時\",\n    \"globals.terms.import\": \"匯入\",\n    \"globals.terms.list\": \"清單 | 多個清單\",\n    \"globals.terms.lists\": \"清單\",\n    \"globals.terms.media\": \"媒體| 多個媒體\",\n    \"globals.terms.messenger\": \"傳訊工具 | 傳訊工具\",\n    \"globals.terms.messengers\": \"傳訊工具\",\n    \"globals.terms.minute\": \"分鐘| 幾分鐘\",\n    \"globals.terms.month\": \"月| 幾個月\",\n    \"globals.terms.new\": \"新增\",\n    \"globals.terms.none\": \"無\",\n    \"globals.terms.second\": \"秒| 幾秒\",\n    \"globals.terms.settings\": \"設定\",\n    \"globals.terms.subscriber\": \"訂閱者| 多個訂閱者\",\n    \"globals.terms.subscribers\": \"訂閱者\",\n    \"globals.terms.subscriptions\": \"訂閱 | 訂閱\",\n    \"globals.terms.tag\": \"標籤| 多個標籤\",\n    \"globals.terms.tags\": \"標籤\",\n    \"globals.terms.template\": \"版型| 多個版型\",\n    \"globals.terms.templates\": \"版型\",\n    \"globals.terms.tx\": \"交易 | 交易\",\n    \"globals.terms.url\": \"URL\",\n    \"globals.terms.user\": \"使用者 | 使用者\",\n    \"globals.terms.users\": \"使用者\",\n    \"globals.terms.year\": \"年| 多年\",\n    \"import.alreadyRunning\": \"匯入正在進行中。等待它完成或停止它，然後再試一次。\",\n    \"import.blocklist\": \"黑名單\",\n    \"import.csvDelim\": \"CSV 分隔符號\",\n    \"import.csvDelimHelp\": \"預設的分隔符號是逗號。\",\n    \"import.csvExample\": \"原 CSV 範例\",\n    \"import.csvFile\": \"CSV 或 ZIP 檔案\",\n    \"import.csvFileHelp\": \"點擊或拖曳 CSV 或 ZIP 檔案到這裡\",\n    \"import.errorCopyingFile\": \"複製檔案時出錯：{error}\",\n    \"import.errorProcessingZIP\": \"處理 ZIP 檔案時出錯：{error}\",\n    \"import.errorStarting\": \"開始匯入時出錯：{error}\",\n    \"import.importDone\": \"完成\",\n    \"import.importStarted\": \"匯入已開始\",\n    \"import.instructions\": \"說明\",\n    \"import.instructionsHelp\": \"上傳 CSV 檔或包含一個 CSV 檔的 ZIP 檔案以大量匯入訂閱者。CSV 檔案應具有以下帶有精確列名的標題。attributes（可選）應該是帶有雙引號的有效 JSON 字串。\",\n    \"import.invalidDelim\": \"分隔符號應該是單個字串。\",\n    \"import.invalidFile\": \"無效檔案：{error}\",\n    \"import.invalidMode\": \"無效模式\",\n    \"import.invalidParams\": \"無效參數：{error}\",\n    \"import.invalidSubStatus\": \"訂閱狀態無效\",\n    \"import.listSubHelp\": \"要訂閱的列表清單\",\n    \"import.mode\": \"模式\",\n    \"import.overwriteSubStatus\": \"覆寫訂閱狀態\",\n    \"import.overwriteSubStatusHelp\": \"覆寫現有清單訂閱的狀態\",\n    \"import.overwriteUserInfo\": \"覆寫使用者資訊\",\n    \"import.overwriteUserInfoHelp\": \"覆寫現有訂閱者的名稱與屬性\",\n    \"import.recordsCount\": \"{num} / {total} 條記錄\",\n    \"import.stopImport\": \"停止匯入\",\n    \"import.subscribe\": \"訂閱\",\n    \"import.subscribeWarning\": \"覆寫將重新訂閱已取消訂閱的電子郵件。繼續嗎?\",\n    \"import.title\": \"匯入訂閱者\",\n    \"import.upload\": \"上傳\",\n    \"lists.archived\": \"已封存\",\n    \"lists.archivedHelp\": \"封存會從清單頁面、活動與公開表單中隱藏清單。可以隨時解除封存。這對於隱藏舊的與很少使用的清單很有用。\",\n    \"lists.confirmDelete\": \"你確定嗎？這不會刪除訂閱者。\",\n    \"lists.confirmSub\": \"確認訂閱{name}\",\n    \"lists.invalidName\": \"名稱無效\",\n    \"lists.newList\": \"新列表清單\",\n    \"lists.optin\": \"跟進\",\n    \"lists.optinHelp\": \"Double Opt-in 會向訂閱者發送一封電子郵件，要求確認確定。在 Double Opt-in 清單中，活動僅會寄送給已確認的訂閱者。\",\n    \"lists.optinTo\": \"訂閱 {name}\",\n    \"lists.optins.double\": \"雙重跟進\",\n    \"lists.optins.single\": \"單一跟進\",\n    \"lists.sendCampaign\": \"寄送廣告\",\n    \"lists.sendOptinCampaign\": \"寄送 opt-in 廣告\",\n    \"lists.type\": \"類型\",\n    \"lists.typeHelp\": \"公開訂閱清單向全世界開放訂閱，其名稱可能會出現在訂閱管理頁面等公開頁面上。\",\n    \"lists.types.private\": \"不公開的\",\n    \"lists.types.public\": \"公開\",\n    \"logs.title\": \"日誌\",\n    \"maintenance.database.title\": \"資料庫\",\n    \"maintenance.database.vacuumHelp\": \"PostgreSQL VACUUM ANALYZE 會回收已刪除資料列所使用的儲存空間，並顯著提升大型資料庫的效能。重要提示：對於大型資料庫，這是一個緩慢且會阻塞的操作。請安排在離峰時段執行。\",\n    \"maintenance.help\": \"某些操作可能需要一段時間才能完成，具體取決於資料量。\",\n    \"maintenance.maintenance.unconfirmedOptins\": \"尚未確認的訂閱\",\n    \"maintenance.olderThan\": \"早於\",\n    \"maintenance.orphanHelp\": \"孤兒訂閱者 = 未加入任何清單的訂閱者\",\n    \"maintenance.title\": \"維護\",\n    \"maintenance.unconfirmedSubs\": \"已超過 {name} 天的未確認訂閱。\",\n    \"media.errorReadingFile\": \"讀取檔案時出錯：{error}\",\n    \"media.errorResizing\": \"調整圖像大小時出錯：{error}\",\n    \"media.errorSavingThumbnail\": \"儲存縮圖時出錯：{error}\",\n    \"media.errorUploading\": \"上傳檔案時出錯：{error}\",\n    \"media.invalidFile\": \"無效檔案：{error}\",\n    \"media.title\": \"媒體\",\n    \"media.unsupportedFileType\": \"不支援的檔案類型({type})\",\n    \"media.upload\": \"上傳\",\n    \"media.uploadHelp\": \"在此處點擊或拖曳一張或多張圖片\",\n    \"menu.allCampaigns\": \"所有廣告\",\n    \"menu.allLists\": \"所有清單\",\n    \"menu.allSubscribers\": \"所有訂閱者\",\n    \"menu.dashboard\": \"儀表板\",\n    \"menu.forms\": \"表單\",\n    \"menu.import\": \"匯入\",\n    \"menu.logs\": \"日誌\",\n    \"menu.maintenance\": \"維護\",\n    \"menu.media\": \"媒體\",\n    \"menu.newCampaign\": \"建立新的\",\n    \"menu.settings\": \"設定\",\n    \"public.archiveEmpty\": \"沒有封存的訊息。\",\n    \"public.archiveTitle\": \"郵件清單已封存\",\n    \"public.blocklisted\": \"已被永久取消訂閱。\",\n    \"public.campaignNotFound\": \"未找到電子郵件。\",\n    \"public.confirmOptinSubTitle\": \"確認訂閱\",\n    \"public.confirmSub\": \"確認訂閱\",\n    \"public.confirmSubInfo\": \"您已被新增到以下清單中：\",\n    \"public.confirmSubTitle\": \"確認\",\n    \"public.dataRemoved\": \"您的訂閱和所有相關資料已被刪除。\",\n    \"public.dataRemovedTitle\": \"已刪除資料\",\n    \"public.dataSent\": \"您的資料已作為附件透過電子郵件發送給您\",\n    \"public.dataSentTitle\": \"通過電子郵件發送的資料\",\n    \"public.errorFetchingCampaign\": \"獲取電子郵件訊息時出錯。\",\n    \"public.errorFetchingEmail\": \"未找到電子郵件\",\n    \"public.errorFetchingLists\": \"獲取清單時出錯。請重試。\",\n    \"public.errorProcessingRequest\": \"處理請求時出錯。請重試。\",\n    \"public.errorTitle\": \"錯誤\",\n    \"public.invalidCaptcha\": \"無效的 CAPTCHA。\",\n    \"public.invalidFeature\": \"該功能無法使用。\",\n    \"public.invalidLink\": \"無效的連結\",\n    \"public.managePrefs\": \"管理喜好設定\",\n    \"public.managePrefsUnsub\": \"取消訂閱清單請取消勾選。\",\n    \"public.noListsAvailable\": \"沒有可供訂閱的清單。\",\n    \"public.noListsSelected\": \"沒有可訂閱的有效清單\",\n    \"public.noSubInfo\": \"沒有需要確認的訂閱。\",\n    \"public.noSubTitle\": \"沒有訂閱\",\n    \"public.notFoundTitle\": \"未找到\",\n    \"public.poweredBy\": \"由我們精心打造\",\n    \"public.prefsSaved\": \"您的設定已儲存。\",\n    \"public.privacyConfirmWipe\": \"您確定要永久刪除所有訂閱資料嗎？\",\n    \"public.privacyExport\": \"匯出您的資料\",\n    \"public.privacyExportHelp\": \"您的資料副本將透過電子郵件發送給您。\",\n    \"public.privacyTitle\": \"隱私權和數據資料\",\n    \"public.privacyWipe\": \"清除您的數據\",\n    \"public.privacyWipeHelp\": \"從資料庫中永久刪除所有訂閱和相關數據資料。\",\n    \"public.sub\": \"訂閱\",\n    \"public.subConfirmed\": \"訂閱成功。\",\n    \"public.subConfirmedTitle\": \"已確認\",\n    \"public.subName\": \"姓名（非必填）\",\n    \"public.subNotFound\": \"未找到訂閱\",\n    \"public.subOptinPending\": \"已向您發送一封電子郵件以確認您的訂閱。\",\n    \"public.subPrivateList\": \"不公開清單\",\n    \"public.subTitle\": \"訂閱\",\n    \"public.unsub\": \"退訂\",\n    \"public.unsubFull\": \"也取消訂閱所有未來的電子郵件。\",\n    \"public.unsubHelp\": \"您想退訂此電子報清單嗎？\",\n    \"public.unsubTitle\": \"退訂\",\n    \"public.unsubbedInfo\": \"您已成功退訂。\",\n    \"public.unsubbedTitle\": \"退訂\",\n    \"public.unsubscribeTitle\": \"退訂郵件清單\",\n    \"settings.appearance.adminHelp\": \"給管理者介面使用的自訂 CSS。\",\n    \"settings.appearance.adminName\": \"管理員\",\n    \"settings.appearance.customCSS\": \"自定 CSS\",\n    \"settings.appearance.customJS\": \"JavaScript\",\n    \"settings.appearance.name\": \"外觀\",\n    \"settings.appearance.publicHelp\": \"自定義 CSS 和 JavaScript 來用於公開頁面。\",\n    \"settings.appearance.publicName\": \"公開\",\n    \"settings.bounces.action\": \"行動\",\n    \"settings.bounces.blocklist\": \"黑名單\",\n    \"settings.bounces.count\": \"退回信合計\",\n    \"settings.bounces.countHelp\": \"每個訂閱者的退回次數\",\n    \"settings.bounces.enable\": \"啟用退回信件處理\",\n    \"settings.bounces.enableForwardemail\": \"啟用轉寄電子郵件\",\n    \"settings.bounces.enableMailbox\": \"啟用退回信箱\",\n    \"settings.bounces.enablePostmark\": \"啟用郵戳\",\n    \"settings.bounces.enableSES\": \"啟用 SES\",\n    \"settings.bounces.enableSendgrid\": \"啟用 SendGrid\",\n    \"settings.bounces.enableWebhooks\": \"啟用退回信件 webhooks\",\n    \"settings.bounces.enabled\": \"已啟用\",\n    \"settings.bounces.folder\": \"資料夾\",\n    \"settings.bounces.folderHelp\": \"要掃描的 IMAP 資料夾名稱。例如：收件匣。\",\n    \"settings.bounces.forwardemailKey\": \"轉寄電子郵件鍵\",\n    \"settings.bounces.invalidScanInterval\": \"退回信件的偵測間隔應至少為 1 分鐘。\",\n    \"settings.bounces.name\": \"退回\",\n    \"settings.bounces.none\": \"無\",\n    \"settings.bounces.postmarkPassword\": \"郵戳密碼\",\n    \"settings.bounces.postmarkUsername\": \"郵戳用戶名稱\",\n    \"settings.bounces.postmarkUsernameHelp\": \"郵戳允許您為 Webhooks 啟用基本的授權。請確保在此處和 Postmark Webhook 設置中輸入相同的憑證。\",\n    \"settings.bounces.scanInterval\": \"偵測間隔\",\n    \"settings.bounces.scanIntervalHelp\": \"應偵測退回信箱以查找退回郵件的時間間隔（s 表示秒，m 表示分鐘）。\",\n    \"settings.bounces.sendgridKey\": \"SendGrid 金鑰\",\n    \"settings.bounces.type\": \"類型\",\n    \"settings.bounces.username\": \"用戶名稱\",\n    \"settings.confirmRestart\": \"確保正在進行發送的廣告已暫停。重新啟動？\",\n    \"settings.duplicateMessengerName\": \"重複的 Messenger 名稱：{name}\",\n    \"settings.errorEncoding\": \"錯誤編碼設定：{error}\",\n    \"settings.errorNoSMTP\": \"至少應啟用一個 SMTP\",\n    \"settings.general.adminNotifEmails\": \"管理員通知電子郵件\",\n    \"settings.general.adminNotifEmailsHelp\": \"應向其發送管理通知（例如匯入更新、活動完成、失敗等）的電子郵件地址的逗號分隔列表。\",\n    \"settings.general.checkUpdates\": \"檢查更新\",\n    \"settings.general.checkUpdatesHelp\": \"定期檢查新的應用程式版本並通知我。\",\n    \"settings.general.enablePublicArchive\": \"啟用公開的郵件清單封存頁面\",\n    \"settings.general.enablePublicArchiveHelp\": \"在公開網站上發布啟用封存的活動 (Campaign)。\",\n    \"settings.general.enablePublicArchiveRSSContent\": \"在 RSS 訂閱中顯示完整內容\",\n    \"settings.general.enablePublicArchiveRSSContentHelp\": \"在 RSS 訂閱中顯示完整的電子郵件內容。如果禁用，則只顯示標題和連結元素。\",\n    \"settings.general.enablePublicSubPage\": \"啟用公開訂閱頁面\",\n    \"settings.general.enablePublicSubPageHelp\": \"顯示一個公開的訂閱頁面，其中包含所有公開的清單供使用者訂閱。\",\n    \"settings.general.faviconURL\": \"網站圖示 (favicon) 網址\",\n    \"settings.general.faviconURLHelp\": \"（選擇性）在給使用者的介面（例如退訂頁面）上顯示的靜態網站 favicon 的完整 URL。\",\n    \"settings.general.fromEmail\": \"預設“寄件人”電子郵件\",\n    \"settings.general.fromEmailHelp\": \"預設“寄件人”電子郵件顯示在寄出的行銷活動電子郵件中。這可以在每個廣告中修改。\",\n    \"settings.general.language\": \"語言\",\n    \"settings.general.logoURL\": \"標誌網址\",\n    \"settings.general.logoURLHelp\": \"（選擇性）在給使用者的介面（例如退訂頁面）上顯示的靜態標誌的完整 URL。\",\n    \"settings.general.name\": \"通用\",\n    \"settings.general.rootURL\": \"root URL\",\n    \"settings.general.rootURLHelp\": \"安裝的 root URL（沒有結尾 / ）。\",\n    \"settings.general.sendOptinConfirm\": \"寄送 opt-in 確認信\",\n    \"settings.general.sendOptinConfirmHelp\": \"當訂閱者通過公開的表單註冊或由管理員新增時，寄送 opt-in 的再次確認電子郵件。\",\n    \"settings.general.siteName\": \"網站名稱\",\n    \"settings.invalidMessengerName\": \"Messenger 名稱無效。\",\n    \"settings.mailserver.authProtocol\": \"身份驗證協議\",\n    \"settings.mailserver.host\": \"主機\",\n    \"settings.mailserver.hostHelp\": \"SMTP 伺服器的 host 地址。\",\n    \"settings.mailserver.idleTimeout\": \"逾時\",\n    \"settings.mailserver.idleTimeoutHelp\": \"Time to wait for new activity on a connection before closing it and removing it from the pool（s 表示秒，m 表示分鐘）。\",\n    \"settings.mailserver.maxConns\": \"最大聯結數\",\n    \"settings.mailserver.maxConnsHelp\": \"與伺服器的最高同時聯結數量。\",\n    \"settings.mailserver.nameHelp\": \"SMTP 伺服器的可選唯一名稱。必須以 email- 為前綴。設定此項可讓該伺服器專門用於某個活動。例如：email-primary-server。僅限英數字和連字號。\",\n    \"settings.mailserver.password\": \"密碼\",\n    \"settings.mailserver.passwordHelp\": \"輸入以變更\",\n    \"settings.mailserver.port\": \"連接埠\",\n    \"settings.mailserver.portHelp\": \"SMTP 伺服器的 Port。\",\n    \"settings.mailserver.skipTLS\": \"略過 TLS 驗證\",\n    \"settings.mailserver.skipTLSHelp\": \"略過對 TLS certificate 的主機名稱檢查。\",\n    \"settings.mailserver.tls\": \"TLS 協議\",\n    \"settings.mailserver.tlsHelp\": \"TLS/SSL 加密。STARTTLS 是常用的。\",\n    \"settings.mailserver.username\": \"用戶名稱\",\n    \"settings.mailserver.waitTimeout\": \"等待逾時\",\n    \"settings.mailserver.waitTimeoutHelp\": \"Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).（s 表示秒，m 表示分鐘）。\",\n    \"settings.maintenance.cron\": \"CRON週期\",\n    \"settings.media.provider\": \"提供者\",\n    \"settings.media.s3.bucket\": \"s3 Bucket\",\n    \"settings.media.s3.bucketPath\": \"s3 Bucket 路徑\",\n    \"settings.media.s3.bucketPathHelp\": \"Bucket 內用於上傳檔案的路徑。預設為/\",\n    \"settings.media.s3.bucketType\": \"Bucket 類型\",\n    \"settings.media.s3.bucketTypePrivate\": \"私人的 Bucket\",\n    \"settings.media.s3.bucketTypePublic\": \"公開的 Bucket\",\n    \"settings.media.s3.key\": \"AWS 訪問密鑰\",\n    \"settings.media.s3.publicURL\": \"自定公開 URL（選擇性）\",\n    \"settings.media.s3.publicURLHelp\": \"用於媒體連結的自定義 S3 domain，取代預設的 S3 backend URL。\",\n    \"settings.media.s3.region\": \"地區\",\n    \"settings.media.s3.secret\": \"AWS 訪問密鑰\",\n    \"settings.media.s3.uploadExpiry\": \"上傳已過期\",\n    \"settings.media.s3.uploadExpiryHelp\": \"（選擇性）為預先指定的簽名 URL 指定過期時間。僅適用於不公開的 buckets（s、m、h、d 表示秒、分鐘、小時、天）。\",\n    \"settings.media.s3.url\": \"S3後端網址\",\n    \"settings.media.s3.urlHelp\": \"當使用自訂的 S3 與後端相容時 (如：Minio) 才進行變更。\",\n    \"settings.media.title\": \"媒體上傳\",\n    \"settings.media.upload.extensions\": \"允許的檔案副檔名\",\n    \"settings.media.upload.extensionsHelp\": \"新增 * 以允許所有副檔名\",\n    \"settings.media.upload.path\": \"上傳路徑\",\n    \"settings.media.upload.pathHelp\": \"將上傳媒體的目錄的路徑。\",\n    \"settings.media.upload.uri\": \"上傳 URI\",\n    \"settings.media.upload.uriHelp\": \"上傳對外公開的 URI。上傳到 upload_path 的媒體將在 {root_url} 下可被公開檢視，例如 https://listmonk.yoursite.com/uploads。\",\n    \"settings.messengers.maxConns\": \"最大連接數\",\n    \"settings.messengers.maxConnsHelp\": \"與伺服器的最大同時連接數。\",\n    \"settings.messengers.messageSaved\": \"設定已儲存。正在重新讀取應用程式...\",\n    \"settings.messengers.name\": \"messengers\",\n    \"settings.messengers.nameHelp\": \"例如：我的訊息。字母數字/破折號。\",\n    \"settings.messengers.password\": \"密碼\",\n    \"settings.messengers.retries\": \"重試\",\n    \"settings.messengers.retriesHelp\": \"Message 發送失敗時重試的次數。\",\n    \"settings.messengers.skipTLSHelp\": \"略過對 TLS certificate 的主機名檢查。\",\n    \"settings.messengers.timeout\": \"閒置逾時\",\n    \"settings.messengers.timeoutHelp\": \"Time to wait for new activity on a connection before closing it and removing it from the pool（s 表示秒，m 表示分鐘）。\",\n    \"settings.messengers.url\": \"網址\",\n    \"settings.messengers.urlHelp\": \"Postback 伺服器的根網址。\",\n    \"settings.messengers.username\": \"用戶名稱\",\n    \"settings.needsRestart\": \"設定已變更。暫停所有正在進行的廣告並重新啟動應用程式\",\n    \"settings.performance.batchSize\": \"批次大小\",\n    \"settings.performance.batchSizeHelp\": \"在單次迭代中從資料庫中拉出的訂閱者數量。每次迭代都會從資料庫中拉取訂閱者，向他們發送訊息，然後繼續進行下一次迭代以拉取下一批訂閱者。理想情況下，這應該高於可實現的 maximum achievable（concurrency * message_rate）。\",\n    \"settings.performance.cacheSlowQueries\": \"快取緩慢的資料庫查詢\",\n    \"settings.performance.cacheSlowQueriesHelp\": \"只在速度明顯變慢的大型資料庫上啟用此功能。緩存清單、訂閱者總數、儀表板分析數據等資訊。\",\n    \"settings.performance.concurrency\": \"同步處理數\",\n    \"settings.performance.concurrencyHelp\": \"將嘗試同時發送訊息的最大 Concurrency 工作線程數（threads）。\",\n    \"settings.performance.maxErrThreshold\": \"最大錯誤閾值\",\n    \"settings.performance.maxErrThresholdHelp\": \"正在進行中的行銷活動在暫停進行手動偵查或干預之前，應容忍的錯誤數（例如：發送電子郵件時的 SMTP 逾時）。設置為 0 表示永遠不暫停。\",\n    \"settings.performance.messageRate\": \"發送訊息速率\",\n    \"settings.performance.messageRateHelp\": \"每項工作每秒發送的最大訊息數。如果 concurrency = 10 且 message_rate = 10，則每秒最多可以寄送 10x10=100 條消息。這應該與 Concurrency 一起進行調整，以使每秒發出的淨訊息保持在目標訊息伺服器速率限制（如果有）之下。\",\n    \"settings.performance.name\": \"表現\",\n    \"settings.performance.slidingWindow\": \"啟用滑動視窗限制\",\n    \"settings.performance.slidingWindowDuration\": \"持續時間\",\n    \"settings.performance.slidingWindowDurationHelp\": \"滑動視窗的持續時間（m 代表分鐘，h 代表小時）。\",\n    \"settings.performance.slidingWindowHelp\": \"限制在時間間隔內發出的訊息總數。達到此限制後，將暫停發送訊息，直到 time window 清除為止。\",\n    \"settings.performance.slidingWindowRate\": \"最大訊息數\",\n    \"settings.performance.slidingWindowRateHelp\": \"在視窗持續時間內發送的最大訊息數。\",\n    \"settings.privacy.allowBlocklist\": \"允許列入黑名單\",\n    \"settings.privacy.allowBlocklistHelp\": \"允許訂閱者從所有郵件清單中退訂，並將自己標記為已列入黑名單 (blocklisted)？\",\n    \"settings.privacy.allowExport\": \"允許匯出\",\n    \"settings.privacy.allowExportHelp\": \"允許訂閱者匯出收集到的數據資料？\",\n    \"settings.privacy.allowPrefs\": \"允許更改偏好\",\n    \"settings.privacy.allowPrefsHelp\": \"允許訂閱者更改偏好，例如他們的名字和多個訂閱清單。\",\n    \"settings.privacy.allowWipe\": \"允許清除\",\n    \"settings.privacy.allowWipeHelp\": \"允許訂閱者刪除自己，包括他們的訂閱和資料庫中的所有其他數據資料。廣告瀏覽量和連結點擊次數也會被刪除，而瀏覽量和點擊量仍然存在（只是沒有與之關聯的訂閱者），因此統計數據和分析不會受到影響。\",\n    \"settings.privacy.domainAllowlist\": \"允許清單域名\",\n    \"settings.privacy.domainAllowlistHelp\": \"只允許此列表中的電子郵件域名訂閱。每行輸入一個域名，例如: example.com、*.example.com\",\n    \"settings.privacy.domainBlocklist\": \"網域封鎖清單\",\n    \"settings.privacy.domainBlocklistHelp\": \"不允許使用這些網域的電子郵件進行訂閱。每行輸入一個網域，例如：somesite.com\",\n    \"settings.privacy.individualSubTracking\": \"個人訂閱用戶追蹤\",\n    \"settings.privacy.individualSubTrackingHelp\": \"追蹤訂閱者級的廣告瀏覽量和點擊次數。停用後，瀏覽和點擊追蹤將繼續進行，而不會與單一訂閱者相關聯。\",\n    \"settings.privacy.listUnsubHeader\": \"包括`退訂郵件清單` header\",\n    \"settings.privacy.listUnsubHeaderHelp\": \"包括取消訂閱 header，這些 header 允許電子郵件使用者透過點擊 「取消訂閱」來一鍵取消訂閱。\",\n    \"settings.privacy.name\": \"隱私\",\n    \"settings.privacy.recordOptinIP\": \"記錄訂閱同意的 IP 位址\",\n    \"settings.privacy.recordOptinIPHelp\": \"在訂閱者屬性中記錄 double opt-ins 的 IP 位址。\",\n    \"settings.restart\": \"重新開始\",\n    \"settings.security.CORSDomains\": \"允許的來源\",\n    \"settings.security.CORSDomainsHelp\": \"允許從外部網域透過瀏覽器 Javascript 存取 API 端點。每行輸入一個網域（例如：https://example.com）。留空以停用 CORS 或新增 * 以允許所有（不建議）。\",\n    \"settings.security.OIDCAutoCreateUsers\": \"自動建立使用者\",\n    \"settings.security.OIDCAutoCreateUsersHelp\": \"若帳號不存在，首次登入時自動建立使用者。\",\n    \"settings.security.OIDCClientID\": \"用戶端ID\",\n    \"settings.security.OIDCClientSecret\": \"用戶端密鑰\",\n    \"settings.security.OIDCDefaultListRole\": \"預設名單角色\",\n    \"settings.security.OIDCDefaultRoleHelp\": \"從 OIDC 自動建立的使用者所指派的預設角色。\",\n    \"settings.security.OIDCDefaultUserRole\": \"預設使用者角色\",\n    \"settings.security.OIDCHelp\": \"啟用 OpenID Connect OAuth2 登入，透過 OAuth 提供者。\",\n    \"settings.security.OIDCName\": \"提供者名稱\",\n    \"settings.security.OIDCRedirectURL\": \"oAuth 提供者的重新導向網址\",\n    \"settings.security.OIDCRedirectWarning\": \"這似乎不是生產網址。請更改「一般」設定中的根網址。\",\n    \"settings.security.OIDCURL\": \"提供者網址\",\n    \"settings.security.OIDCWarning\": \"啟用 OIDC 後，預設密碼登入將被停用。無效的設定可能導致你無法登入。\",\n    \"settings.security.altchaComplexity\": \"Altcha 複雜度\",\n    \"settings.security.altchaComplexityHelp\": \"數值越高安全性越佳，但解題速度越慢（1000-1000000）。\",\n    \"settings.security.captchaKey\": \"hCaptcha.com 網站金鑰\",\n    \"settings.security.captchaKeyHelp\": \"開啟 www.hcaptcha.com 獲取金鑰和密鑰。\",\n    \"settings.security.captchaSecret\": \"hCaptcha.com 密鑰\",\n    \"settings.security.enableCaptcha\": \"啟用 CAPTCHA 驗證\",\n    \"settings.security.enableCaptchaHelp\": \"在公開訂閱表單上啟用 CAPTCHA 驗證。\",\n    \"settings.security.enableOIDC\": \"啟用 OIDC 單一登入\",\n    \"settings.security.name\": \"安全性\",\n    \"settings.smtp.customHeaders\": \"自定義 header\",\n    \"settings.smtp.customHeadersHelp\": \"可選擇性的排列此伺服器寄送的所有電子郵件 headers。例如： [{\\\"X-Custom\\\": \\\"value\\\"}, {\\\"X-Custom2\\\": \\\"value\\\"}]\",\n    \"settings.smtp.enabled\": \"已啟用\",\n    \"settings.smtp.heloHost\": \"HELO主機名稱\",\n    \"settings.smtp.heloHostHelp\": \"(選擇性的) 某些 SMTP 伺服器要求主機名中包含 FQDN。預設情況下，HELLOs 使用`localhost`。如果需要使用自定主機名稱，請設定此選項。\",\n    \"settings.smtp.name\": \"SMTP 伺服器\",\n    \"settings.smtp.retries\": \"重試\",\n    \"settings.smtp.retriesHelp\": \"訊息寄送失敗時的重試次數。\",\n    \"settings.smtp.sendTest\": \"發送電子郵件\",\n    \"settings.smtp.setCustomHeaders\": \"設定自定義 header\",\n    \"settings.smtp.testConnection\": \"測試聯接\",\n    \"settings.smtp.testEnterEmail\": \"輸入密碼以進行測試\",\n    \"settings.smtp.toEmail\": \"電子郵件至\",\n    \"settings.title\": \"設定\",\n    \"settings.updateAvailable\": \"有新的更新 {version} 可用。\",\n    \"subscribers.activity\": \"活動\",\n    \"subscribers.advancedQuery\": \"高級\",\n    \"subscribers.advancedQueryHelp\": \"查看訂閱者屬性的部分 SQL 表達式\",\n    \"subscribers.attribsHelp\": \"屬性定義為 JSON map，例如：\",\n    \"subscribers.blocklistedHelp\": \"列入黑名單的訂閱者永遠不會收到任何電子郵件。\",\n    \"subscribers.confirmBlocklist\": \"將 {num} 個訂閱者加入黑名單？\",\n    \"subscribers.confirmDelete\": \"刪除 {num} 個訂閱者？\",\n    \"subscribers.confirmExport\": \"匯出{num} 個訂閱者？\",\n    \"subscribers.domainBlocklisted\": \"電子郵件網域被列入黑名單。\",\n    \"subscribers.downloadData\": \"下載數據資料\",\n    \"subscribers.email\": \"電子郵件\",\n    \"subscribers.emailExists\": \"電子郵件已經存在。\",\n    \"subscribers.errorBlocklisting\": \"將訂閱者列入黑名單時出錯：{error}\",\n    \"subscribers.errorNoIDs\": \"沒有給出 IDs。\",\n    \"subscribers.errorNoListsGiven\": \"沒有指定清單。\",\n    \"subscribers.errorPreparingQuery\": \"準備訂閱者查詢時出錯：{error}\",\n    \"subscribers.errorSendingOptin\": \"發送 opt-in 電子郵件時出錯。\",\n    \"subscribers.export\": \"匯出\",\n    \"subscribers.invalidAction\": \"無效的操作。\",\n    \"subscribers.invalidEmail\": \"無效的電子郵件。\",\n    \"subscribers.invalidJSON\": \"屬性中的 JSON 無效。\",\n    \"subscribers.invalidName\": \"名稱無效。\",\n    \"subscribers.listChangeApplied\": \"已套用到清單的變更。\",\n    \"subscribers.lists\": \"清單\",\n    \"subscribers.listsHelp\": \"無法刪除訂閱者自行取消訂閱的清單。\",\n    \"subscribers.listsPlaceholder\": \"要訂閱的清單\",\n    \"subscribers.manageLists\": \"管理清單\",\n    \"subscribers.markUnsubscribed\": \"標記為退訂\",\n    \"subscribers.newSubscriber\": \"新訂閱者\",\n    \"subscribers.numSelected\": \"已選擇 {num} 個訂閱者\",\n    \"subscribers.optinSubject\": \"確認訂閱\",\n    \"subscribers.preconfirm\": \"預先確認訂閱\",\n    \"subscribers.preconfirmHelp\": \"不要發送 opt-in 的電子郵件並將所有清單訂閱標記為“已訂閱”。\",\n    \"subscribers.query\": \"查詢\",\n    \"subscribers.queryPlaceholder\": \"電子郵件或姓名\",\n    \"subscribers.reset\": \"重置\",\n    \"subscribers.selectAll\": \"全選{num}\",\n    \"subscribers.sendOptinConfirm\": \"發送 opt-in 確認\",\n    \"subscribers.sentOptinConfirm\": \"已發送 opt-in 確認\",\n    \"subscribers.status.blocklisted\": \"列入黑名單\",\n    \"subscribers.status.confirmed\": \"已確認\",\n    \"subscribers.status.enabled\": \"啟用\",\n    \"subscribers.status.subscribed\": \"訂閱\",\n    \"subscribers.status.unconfirmed\": \"未確認\",\n    \"subscribers.status.unsubscribed\": \"退訂\",\n    \"subscribers.subscribersDeleted\": \"{num} 個訂閱者已刪除\",\n    \"templates.cantDeleteDefault\": \"無法刪除預設版型\",\n    \"templates.default\": \"預設\",\n    \"templates.dummyName\": \"空的廣告名稱\",\n    \"templates.dummySubject\": \"空的廣告主題\",\n    \"templates.errorCompiling\": \"編輯版型時出錯：{error}\",\n    \"templates.errorRendering\": \"錯誤顯示訊息：{error}\",\n    \"templates.fieldInvalidName\": \"名稱長度無效\",\n    \"templates.makeDefault\": \"預設設定\",\n    \"templates.newTemplate\": \"新版型\",\n    \"templates.placeholderHelp\": \"The Plachholder {placeholder} 應在版型中只出現一次。\",\n    \"templates.preview\": \"預覽\",\n    \"templates.rawHTML\": \"原始 HTML\",\n    \"templates.subject\": \"主題\",\n    \"templates.typeCampaignHTML\": \"活動 / HTML\",\n    \"templates.typeCampaignVisual\": \"活動 / 視覺\",\n    \"templates.typeTransactional\": \"交易型\",\n    \"users.apiOneTimeToken\": \"立即複製 API 存取權杖。將不再顯示。\",\n    \"users.cantDeleteRole\": \"無法刪除正在使用的角色。\",\n    \"users.firstTime\": \"這是全新的安裝。為超級管理員帳戶選擇使用者名稱和密碼。\",\n    \"users.forgotPassword\": \"忘記密碼？\",\n    \"users.invalidLogin\": \"登入或密碼無效\",\n    \"users.invalidPassword\": \"無效密碼\",\n    \"users.invalidRequest\": \"無效的身份驗證請求\",\n    \"users.invalidResetLink\": \"無效或已過期的重設連結\",\n    \"users.lastLogin\": \"上次登入\",\n    \"users.listPerms\": \"清單權限\",\n    \"users.listPermsWarning\": \"啟用 lists:get_all 或 lists:manage_all 將覆蓋每個清單的權限設定\",\n    \"users.listRole\": \"清單角色 | 清單角色\",\n    \"users.listRoles\": \"清單角色\",\n    \"users.login\": \"登入\",\n    \"users.loginOIDC\": \"使用 {name} 登入\",\n    \"users.logout\": \"登出\",\n    \"users.needSuper\": \"使用者無法更新。至少需要一個有效的超級管理員用戶。\",\n    \"users.newListRole\": \"新清單角色\",\n    \"users.newPassword\": \"新密碼\",\n    \"users.newUser\": \"新使用者\",\n    \"users.newUserRole\": \"新使用者角色\",\n    \"users.password\": \"密碼\",\n    \"users.passwordEnable\": \"啟用密碼登入\",\n    \"users.passwordMismatch\": \"密碼不符\",\n    \"users.passwordRepeat\": \"重複密碼\",\n    \"users.perms\": \"權限\",\n    \"users.profile\": \"個人資料\",\n    \"users.resetLinkSent\": \"如果帳戶有效，您將收到密碼重設郵件。\",\n    \"users.resetPassword\": \"重設密碼\",\n    \"users.role\": \"角色 | 角色\",\n    \"users.roleGroup\": \"使用者群組\",\n    \"users.roles\": \"用戶角色\",\n    \"users.status.disabled\": \"已停用\",\n    \"users.status.enabled\": \"已啟用\",\n    \"users.totpCode\": \"TOTP 代碼\",\n    \"users.totpCodeHelp\": \"輸入驗證器應用程式中的 6 位數代碼\",\n    \"users.totpScanQR\": \"使用驗證器應用程式（如 Ente 或 Google Authenticator）掃描 QR Code，並在下方輸入 TOTP 代碼。\",\n    \"users.totpSecret\": \"祕密金鑰\",\n    \"users.twoFA\": \"雙因素驗證\",\n    \"users.twoFAAlreadyEnabled\": \"雙因素驗證已啟用。\",\n    \"users.twoFAEnabled\": \"雙因素驗證已開啟\",\n    \"users.twoFAEnabledDesc\": \"您的帳戶受到 {type} 2FA 保護\",\n    \"users.twoFANotEnabled\": \"啟用 2FA 以在登入帳戶時提供額外安全性。\",\n    \"users.type\": \"用戶類型\",\n    \"users.type.api\": \"API 用戶\",\n    \"users.type.super\": \"超級管理員\",\n    \"users.type.user\": \"一般使用者\",\n    \"users.userRole\": \"使用者身分\",\n    \"users.userRoles\": \"使用者角色\",\n    \"users.username\": \"使用者名稱\",\n    \"users.usernameHelp\": \"請用此名稱搭配密碼進行登入\"\n}\n"
  },
  {
    "path": "internal/auth/auth.go",
    "content": "package auth\n\nimport (\n\t\"context\"\n\t\"crypto/subtle\"\n\t\"database/sql\"\n\t\"encoding/base64\"\n\t\"errors\"\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/coreos/go-oidc/v3/oidc\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/zerodha/simplesessions/stores/postgres/v3\"\n\t\"github.com/zerodha/simplesessions/v3\"\n\t\"golang.org/x/oauth2\"\n)\n\ntype OIDCclaim struct {\n\tEmail             string `json:\"email\"`\n\tEmailVerified     bool   `json:\"email_verified\"`\n\tSub               string `json:\"sub\"`\n\tPicture           string `json:\"picture\"`\n\tName              string `json:\"name\"`\n\tPreferredUsername string `json:\"preferred_username\"`\n}\n\ntype OIDCConfig struct {\n\tEnabled           bool   `json:\"enabled\"`\n\tProviderURL       string `json:\"provider_url\"`\n\tRedirectURL       string `json:\"redirect_url\"`\n\tClientID          string `json:\"client_id\"`\n\tClientSecret      string `json:\"client_secret\"`\n\tAutoCreateUsers   bool   `json:\"auto_create_users\"`\n\tDefaultUserRoleID int    `json:\"default_user_role_id\"`\n\tDefaultListRoleID int    `json:\"default_list_role_id\"`\n}\n\ntype BasicAuthConfig struct {\n\tEnabled  bool   `json:\"enabled\"`\n\tUsername string `json:\"username\"`\n\tPassword string `json:\"password\"`\n}\n\ntype Config struct {\n\tOIDC      OIDCConfig\n\tBasicAuth BasicAuthConfig\n}\n\n// Callbacks takes two callback functions required by simplesessions.\ntype Callbacks struct {\n\tSetCookie func(cookie *http.Cookie, w any) error\n\tGetCookie func(name string, r any) (*http.Cookie, error)\n\tGetUser   func(id int) (User, error)\n}\n\ntype Auth struct {\n\tapiUsers map[string]User\n\tsync.RWMutex\n\n\tcfg       Config\n\toauthCfg  oauth2.Config\n\tverifier  *oidc.IDTokenVerifier\n\tprovider  *oidc.Provider\n\tsess      *simplesessions.Manager\n\tsessStore *postgres.Store\n\tcb        *Callbacks\n\tlog       *log.Logger\n}\n\nvar sessPruneInterval = time.Hour * 12\n\n// New returns an initialize Auth instance.\nfunc New(cfg Config, db *sql.DB, cb *Callbacks, lo *log.Logger) (*Auth, error) {\n\ta := &Auth{\n\t\tcfg: cfg,\n\t\tcb:  cb,\n\t\tlog: lo,\n\n\t\tapiUsers: map[string]User{},\n\t}\n\n\t// Initialize session manager.\n\ta.sess = simplesessions.New(simplesessions.Options{\n\t\tEnableAutoCreate: false,\n\t\tSessionIDLength:  64,\n\t\tCookie: simplesessions.CookieOptions{\n\t\t\tIsHTTPOnly: true,\n\t\t\tMaxAge:     time.Hour * 24 * 7,\n\t\t},\n\t})\n\tst, err := postgres.New(postgres.Opt{}, db)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ta.sessStore = st\n\ta.sess.UseStore(st)\n\ta.sess.SetCookieHooks(cb.GetCookie, cb.SetCookie)\n\n\t// Prune dead sessions from the DB periodically.\n\tgo func() {\n\t\tif err := st.Prune(); err != nil {\n\t\t\tlo.Printf(\"error pruning login sessions: %v\", err)\n\t\t}\n\t\ttime.Sleep(sessPruneInterval)\n\t}()\n\n\treturn a, nil\n}\n\n// CacheAPIUsers caches API users for authenticating requests. It wipes\n// the existing cache every time and is meant for syncing all API users\n// in the database in one shot.\nfunc (o *Auth) CacheAPIUsers(users []User) {\n\to.Lock()\n\tdefer o.Unlock()\n\n\to.apiUsers = map[string]User{}\n\tfor _, u := range users {\n\t\to.apiUsers[u.Username] = u\n\t}\n}\n\n// CacheAPIUser caches an API user for authenticating requests.\nfunc (o *Auth) CacheAPIUser(u User) {\n\to.Lock()\n\to.apiUsers[u.Username] = u\n\to.Unlock()\n}\n\n// GetAPIToken validates an API user+token.\nfunc (o *Auth) GetAPIToken(user string, token string) (User, bool) {\n\to.RLock()\n\tt, ok := o.apiUsers[user]\n\to.RUnlock()\n\n\tif !ok || subtle.ConstantTimeCompare([]byte(t.Password.String), []byte(token)) != 1 {\n\t\treturn User{}, false\n\t}\n\n\treturn t, true\n}\n\n// initOIDC initializes the OIDC provider, verifier, and OAuth config.\nfunc (o *Auth) initOIDC() error {\n\tif !o.cfg.OIDC.Enabled {\n\t\treturn fmt.Errorf(\"OIDC is not enabled\")\n\t}\n\n\tprovider, err := oidc.NewProvider(context.Background(), o.cfg.OIDC.ProviderURL)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error initializing OIDC OAuth provider: %v\", err)\n\t}\n\n\to.verifier = provider.Verifier(&oidc.Config{\n\t\tClientID: o.cfg.OIDC.ClientID,\n\t})\n\n\to.oauthCfg = oauth2.Config{\n\t\tClientID:     o.cfg.OIDC.ClientID,\n\t\tClientSecret: o.cfg.OIDC.ClientSecret,\n\t\tEndpoint:     provider.Endpoint(),\n\t\tRedirectURL:  o.cfg.OIDC.RedirectURL,\n\t\tScopes:       []string{oidc.ScopeOpenID, \"profile\", \"email\"},\n\t}\n\to.provider = provider\n\n\treturn nil\n}\n\n// getProvider returns the OIDC provider, initializing it if necessary.\nfunc (o *Auth) getProvider() (*oidc.Provider, error) {\n\to.Lock()\n\tdefer o.Unlock()\n\n\tif o.provider == nil {\n\t\tif err := o.initOIDC(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn o.provider, nil\n}\n\n// getVerifier returns the OIDC verifier, initializing it if necessary.\nfunc (o *Auth) getVerifier() (*oidc.IDTokenVerifier, error) {\n\to.Lock()\n\tdefer o.Unlock()\n\n\tif o.verifier == nil {\n\t\tif err := o.initOIDC(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn o.verifier, nil\n}\n\n// getOAuthConfig returns the OAuth config, initializing it if necessary.\nfunc (o *Auth) getOAuthConfig() (*oauth2.Config, error) {\n\to.Lock()\n\tdefer o.Unlock()\n\n\tif o.oauthCfg.ClientID == \"\" {\n\t\tif err := o.initOIDC(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn &o.oauthCfg, nil\n}\n\n// GetOIDCAuthURL returns the OIDC provider's auth URL to redirect to.\nfunc (o *Auth) GetOIDCAuthURL(state, nonce string) string {\n\tcfg, err := o.getOAuthConfig()\n\tif err != nil {\n\t\to.log.Printf(\"error getting OAuth config: %v\", err)\n\t\treturn \"\"\n\t}\n\treturn cfg.AuthCodeURL(state, oidc.Nonce(nonce))\n}\n\n// ExchangeOIDCToken takes an OIDC authorization code (recieved via redirect from the OIDC provider),\n// validates it, and returns an OIDC token for subsequent auth.\nfunc (o *Auth) ExchangeOIDCToken(code, nonce string) (string, OIDCclaim, error) {\n\tcfg, err := o.getOAuthConfig()\n\tif err != nil {\n\t\treturn \"\", OIDCclaim{}, echo.NewHTTPError(http.StatusUnauthorized, fmt.Sprintf(\"error getting OAuth config: %v\", err))\n\t}\n\n\ttk, err := cfg.Exchange(context.TODO(), code)\n\tif err != nil {\n\t\treturn \"\", OIDCclaim{}, echo.NewHTTPError(http.StatusUnauthorized, fmt.Sprintf(\"error exchanging token: %v\", err))\n\t}\n\n\trawIDTk, ok := tk.Extra(\"id_token\").(string)\n\tif !ok {\n\t\treturn \"\", OIDCclaim{}, echo.NewHTTPError(http.StatusUnauthorized, \"`id_token` missing.\")\n\t}\n\n\tverifier, err := o.getVerifier()\n\tif err != nil {\n\t\treturn \"\", OIDCclaim{}, echo.NewHTTPError(http.StatusUnauthorized, fmt.Sprintf(\"error getting verifier: %v\", err))\n\t}\n\n\tidTk, err := verifier.Verify(context.TODO(), rawIDTk)\n\tif err != nil {\n\t\treturn \"\", OIDCclaim{}, echo.NewHTTPError(http.StatusUnauthorized, fmt.Sprintf(\"error verifying ID token: %v\", err))\n\t}\n\n\tif idTk.Nonce != nonce {\n\t\treturn \"\", OIDCclaim{}, echo.NewHTTPError(http.StatusUnauthorized, \"nonce did not match\")\n\t}\n\n\tvar claims OIDCclaim\n\tif err := idTk.Claims(&claims); err != nil {\n\t\treturn \"\", OIDCclaim{}, errors.New(\"error getting user from OIDC\")\n\t}\n\n\t// If claims doesn't have the e-mail, attempt to fetch it from the userinfo endpoint.\n\tif claims.Email == \"\" {\n\t\tprovider, err := o.getProvider()\n\t\tif err != nil {\n\t\t\treturn \"\", OIDCclaim{}, fmt.Errorf(\"error getting provider: %v\", err)\n\t\t}\n\n\t\tuserInfo, err := provider.UserInfo(context.TODO(), oauth2.StaticTokenSource(tk))\n\t\tif err != nil {\n\t\t\treturn \"\", OIDCclaim{}, errors.New(\"error fetching user info from OIDC\")\n\t\t}\n\n\t\t// Parse the UserInfo claims into the claims struct\n\t\tif err := userInfo.Claims(&claims); err != nil {\n\t\t\treturn \"\", OIDCclaim{}, errors.New(\"error parsing user info claims\")\n\t\t}\n\t}\n\n\treturn rawIDTk, claims, nil\n}\n\n// Middleware is the HTTP middleware used for wrapping HTTP handlers registered on the echo router.\n// It authorizes token (BasicAuth/token) based and cookie based sessions and on successful auth,\n// sets the authenticated User{} on the echo context on the key UserKey. On failure, it sets an Error{}\n// instead on the same key.\nfunc (o *Auth) Middleware(next echo.HandlerFunc) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\t// It's an `Authorization` header request.\n\t\thdr := strings.TrimSpace(c.Request().Header.Get(\"Authorization\"))\n\n\t\t// If cookie is set, ignore BasicAuth. This is to preserve backwards compatibility\n\t\t// in v3 -> v4 upgrade where the user browser sessions would still have old\n\t\t// BasicAuth credentials, which no longer work in the new system which expects\n\t\t// session cookies instead, which causes a redirect loop despite loggin in and session\n\t\t// cookies being set.\n\t\t//\n\t\t// TODO: This should be removed in a future version.\n\t\tif c := strings.TrimSpace(c.Request().Header.Get(\"Cookie\")); strings.Contains(c, \"session=\") {\n\t\t\thdr = \"\"\n\t\t}\n\n\t\tif len(hdr) > 0 {\n\t\t\tkey, token, err := parseAuthHeader(hdr)\n\t\t\tif err != nil {\n\t\t\t\tc.Set(UserHTTPCtxKey, echo.NewHTTPError(http.StatusForbidden, err.Error()))\n\t\t\t\treturn next(c)\n\t\t\t}\n\n\t\t\t// Validate the token.\n\t\t\tuser, ok := o.GetAPIToken(key, token)\n\t\t\tif !ok {\n\t\t\t\tc.Set(UserHTTPCtxKey, echo.NewHTTPError(http.StatusForbidden, \"invalid API credentials\"))\n\t\t\t\treturn next(c)\n\t\t\t}\n\n\t\t\t// Set the user details on the handler context.\n\t\t\tc.Set(UserHTTPCtxKey, user)\n\t\t\treturn next(c)\n\t\t}\n\n\t\t// Is it a cookie based session?\n\t\tsess, user, err := o.validateSession(c)\n\t\tif err != nil {\n\t\t\tc.Set(UserHTTPCtxKey, echo.NewHTTPError(http.StatusForbidden, \"invalid session\"))\n\t\t\treturn next(c)\n\t\t}\n\n\t\t// Set the user details on the handler context.\n\t\tc.Set(UserHTTPCtxKey, user)\n\t\tc.Set(SessionKey, sess)\n\t\treturn next(c)\n\t}\n}\n\n// Perm is an HTTP handler middleware that checks if the authenticated user has the required permissions.\nfunc (o *Auth) Perm(next echo.HandlerFunc, perms ...string) echo.HandlerFunc {\n\treturn func(c echo.Context) error {\n\t\tu, ok := c.Get(UserHTTPCtxKey).(User)\n\t\tif !ok {\n\t\t\tc.Set(UserHTTPCtxKey, echo.NewHTTPError(http.StatusForbidden, \"invalid session\"))\n\t\t\treturn next(c)\n\t\t}\n\n\t\t// If the current user is a Super Admin user, do no checks.\n\t\tif u.UserRole.ID == SuperAdminRoleID {\n\t\t\treturn next(c)\n\t\t}\n\n\t\t// Check if the current handler's permission is in the user's permission map.\n\t\tvar (\n\t\t\thas  = false\n\t\t\tperm = \"\"\n\t\t)\n\t\tfor _, perm = range perms {\n\t\t\tif _, ok := u.PermissionsMap[perm]; ok {\n\t\t\t\thas = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif !has {\n\t\t\treturn echo.NewHTTPError(http.StatusForbidden, fmt.Sprintf(\"permission denied: %s\", perm))\n\t\t}\n\n\t\treturn next(c)\n\t}\n}\n\n// SaveSession creates and sets a session (post successful login/auth).\nfunc (o *Auth) SaveSession(u User, oidcToken string, c echo.Context) error {\n\tsess, err := o.sess.NewSession(c, c)\n\tif err != nil {\n\t\to.log.Printf(\"error creating login session: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, \"error creating session\")\n\t}\n\n\tif err := sess.SetMulti(map[string]any{\"user_id\": u.ID, \"oidc_token\": oidcToken}); err != nil {\n\t\to.log.Printf(\"error setting login session: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, \"error creating session\")\n\t}\n\n\treturn nil\n}\n\n// validateSession checks if the cookie session is valid (in the DB) and returns the session and user details.\nfunc (o *Auth) validateSession(c echo.Context) (*simplesessions.Session, User, error) {\n\t// Cookie session.\n\tsess, err := o.sess.Acquire(context.TODO(), c, c)\n\tif err != nil {\n\t\treturn nil, User{}, echo.NewHTTPError(http.StatusForbidden, err.Error())\n\t}\n\n\t// Get the session variables.\n\tvars, err := sess.GetMulti(\"user_id\", \"oidc_token\")\n\tif err != nil {\n\t\treturn nil, User{}, echo.NewHTTPError(http.StatusInternalServerError, err.Error())\n\t}\n\n\t// Validate the user ID in the session.\n\tuserID, err := o.sessStore.Int(vars[\"user_id\"], nil)\n\tif err != nil || userID < 1 {\n\t\to.log.Printf(\"error fetching session user ID: %v\", err)\n\t\treturn nil, User{}, echo.NewHTTPError(http.StatusInternalServerError, \"invalid session.\")\n\t}\n\n\t// Fetch user details from the database.\n\tuser, err := o.cb.GetUser(userID)\n\tif err != nil {\n\t\to.log.Printf(\"error fetching session user: %v\", err)\n\t}\n\n\treturn sess, user, err\n}\n\n// GetUser retrieves and returns the User object from an authenticated\n// HTTP handler request.\nfunc GetUser(c echo.Context) User {\n\treturn c.Get(UserHTTPCtxKey).(User)\n}\n\n// parseAuthHeader parses the Authorization header and returns the api_key and access_token.\nfunc parseAuthHeader(h string) (string, string, error) {\n\tconst authBasic = \"Basic\"\n\tconst authToken = \"token\"\n\n\tvar (\n\t\tpair  []string\n\t\tdelim = \":\"\n\t)\n\n\tif strings.HasPrefix(h, authToken) {\n\t\t// token api_key:access_token.\n\t\tpair = strings.SplitN(strings.Trim(h[len(authToken):], \" \"), delim, 2)\n\t} else if strings.HasPrefix(h, authBasic) {\n\t\t// HTTP BasicAuth. This is supported for backwards compatibility.\n\t\tpayload, err := base64.StdEncoding.DecodeString(string(strings.Trim(h[len(authBasic):], \" \")))\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", echo.NewHTTPError(http.StatusBadRequest, \"invalid Base64 value in Basic Authorization header\")\n\t\t}\n\t\tpair = strings.SplitN(string(payload), delim, 2)\n\t} else {\n\t\treturn \"\", \"\", echo.NewHTTPError(http.StatusBadRequest, \"unknown Authorization scheme\")\n\t}\n\n\tif len(pair) < 2 {\n\t\treturn \"\", \"\", echo.NewHTTPError(http.StatusBadRequest, \"api_key:token missing\")\n\t}\n\n\tif len(pair[0]) == 0 || len(pair[1]) == 0 {\n\t\treturn \"\", \"\", echo.NewHTTPError(http.StatusBadRequest, \"empty `api_key` or `token`\")\n\t}\n\n\treturn pair[0], pair[1], nil\n}\n"
  },
  {
    "path": "internal/auth/models.go",
    "content": "package auth\n\nimport (\n\t\"encoding/json\"\n\t\"net/http\"\n\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\nvar ErrPermDenied = echo.NewHTTPError(http.StatusForbidden, \"permission denied\")\n\n// PermType indicates a generic permission type which is either get (read) or manage (write).\ntype PermType uint8\n\nconst (\n\tPermTypeGet PermType = 1 << iota\n\tPermTypeManage\n)\n\nconst (\n\t// UserHTTPCtxKey is the key on which the User profile is set on echo handlers.\n\tUserHTTPCtxKey = \"auth_user\"\n\tSessionKey     = \"auth_session\"\n)\n\nconst (\n\t// SuperAdminRoleID is the database ID of the primordial super admin role.\n\tSuperAdminRoleID = 1\n\n\t// User.\n\tUserTypeUser       = \"user\"\n\tUserTypeAPI        = \"api\"\n\tUserStatusEnabled  = \"enabled\"\n\tUserStatusDisabled = \"disabled\"\n\n\t// Role.\n\tRoleTypeUser = \"user\"\n\tRoleTypeList = \"list\"\n)\n\n// List of all granular permissions.\nconst (\n\tPermListGetAll            = \"lists:get_all\"\n\tPermListManageAll         = \"lists:manage_all\"\n\tPermListManage            = \"list:manage\"\n\tPermListGet               = \"list:get\"\n\tPermSubscribersGet        = \"subscribers:get\"\n\tPermSubscribersGetAll     = \"subscribers:get_all\"\n\tPermSubscribersManage     = \"subscribers:manage\"\n\tPermSubscribersImport     = \"subscribers:import\"\n\tPermSubscribersSqlQuery   = \"subscribers:sql_query\"\n\tPermTxSend                = \"tx:send\"\n\tPermCampaignsGet          = \"campaigns:get\"\n\tPermCampaignsGetAll       = \"campaigns:get_all\"\n\tPermCampaignsGetAnalytics = \"campaigns:get_analytics\"\n\tPermCampaignsManage       = \"campaigns:manage\"\n\tPermCampaignsManageAll    = \"campaigns:manage_all\"\n\tPermBouncesGet            = \"bounces:get\"\n\tPermBouncesManage         = \"bounces:manage\"\n\tPermWebhooksPostBounce    = \"webhooks:post_bounce\"\n\tPermMediaGet              = \"media:get\"\n\tPermMediaManage           = \"media:manage\"\n\tPermTemplatesGet          = \"templates:get\"\n\tPermTemplatesManage       = \"templates:manage\"\n\tPermUsersGet              = \"users:get\"\n\tPermUsersManage           = \"users:manage\"\n\tPermRolesGet              = \"roles:get\"\n\tPermRolesManage           = \"roles:manage\"\n\tPermSettingsGet           = \"settings:get\"\n\tPermSettingsManage        = \"settings:manage\"\n\tPermSettingsMaintain      = \"settings:maintain\"\n)\n\n// Base holds common fields shared across models.\ntype Base struct {\n\tID        int       `db:\"id\" json:\"id\"`\n\tCreatedAt null.Time `db:\"created_at\" json:\"created_at\"`\n\tUpdatedAt null.Time `db:\"updated_at\" json:\"updated_at\"`\n}\n\n// User represents an admin user.\ntype User struct {\n\tBase\n\n\tUsername string `db:\"username\" json:\"username\"`\n\n\t// For API users, this is the plaintext API token.\n\tPassword null.String `db:\"password\" json:\"password,omitempty\"`\n\n\tPasswordLogin bool             `db:\"password_login\" json:\"password_login\"`\n\tEmail         null.String      `db:\"email\" json:\"email\"`\n\tName          string           `db:\"name\" json:\"name\"`\n\tType          string           `db:\"type\" json:\"type\"`\n\tStatus        string           `db:\"status\" json:\"status\"`\n\tAvatar        null.String      `db:\"avatar\" json:\"avatar\"`\n\tTwofaType     string           `db:\"twofa_type\" json:\"twofa_type\"`\n\tTwofaKey      null.String      `db:\"twofa_key\" json:\"-\"`\n\tLoggedInAt    null.Time        `db:\"loggedin_at\" json:\"loggedin_at\"`\n\tUserRoleID    int              `db:\"user_role_id\" json:\"user_role_id,omitempty\"`\n\tUserRoleName  string           `db:\"user_role_name\" json:\"-\"`\n\tListRoleID    *int             `db:\"list_role_id\" json:\"list_role_id,omitempty\"`\n\tListRoleName  null.String      `db:\"list_role_name\" json:\"-\"`\n\tUserRolePerms pq.StringArray   `db:\"user_role_permissions\" json:\"-\"`\n\tListsPermsRaw *json.RawMessage `db:\"list_role_perms\" json:\"-\"`\n\n\t// Non-DB fields filled post-retrieval.\n\tUserRole struct {\n\t\tID          int      `db:\"-\" json:\"id\"`\n\t\tName        string   `db:\"-\" json:\"name\"`\n\t\tPermissions []string `db:\"-\" json:\"permissions\"`\n\t} `db:\"-\" json:\"user_role\"`\n\n\tListRole           *ListRolePermissions        `db:\"-\" json:\"list_role\"`\n\tPermissionsMap     map[string]struct{}         `db:\"-\" json:\"-\"`\n\tListPermissionsMap map[int]map[string]struct{} `db:\"-\" json:\"-\"`\n\tGetListIDs         []int                       `db:\"-\" json:\"-\"`\n\tManageListIDs      []int                       `db:\"-\" json:\"-\"`\n\tHasPassword        bool                        `db:\"-\" json:\"-\"`\n}\n\ntype ListPermission struct {\n\tID          int            `json:\"id\"`\n\tName        string         `json:\"name\"`\n\tPermissions pq.StringArray `json:\"permissions\"`\n}\n\ntype ListRolePermissions struct {\n\tID    int              `db:\"-\" json:\"id\"`\n\tName  string           `db:\"-\" json:\"name\"`\n\tLists []ListPermission `db:\"-\" json:\"lists\"`\n}\n\ntype Role struct {\n\tBase\n\n\tType        string         `db:\"type\" json:\"type\"`\n\tName        null.String    `db:\"name\" json:\"name\"`\n\tPermissions pq.StringArray `db:\"permissions\" json:\"permissions\"`\n\n\tListID   null.Int         `db:\"list_id\" json:\"-\"`\n\tParentID null.Int         `db:\"parent_id\" json:\"-\"`\n\tListsRaw json.RawMessage  `db:\"list_permissions\" json:\"-\"`\n\tLists    []ListPermission `db:\"-\" json:\"lists\"`\n}\n\ntype ListRole struct {\n\tBase\n\n\tName null.String `db:\"name\" json:\"name\"`\n\n\tListID   null.Int         `db:\"list_id\" json:\"-\"`\n\tParentID null.Int         `db:\"parent_id\" json:\"-\"`\n\tListsRaw json.RawMessage  `db:\"list_permissions\" json:\"-\"`\n\tLists    []ListPermission `db:\"-\" json:\"lists\"`\n}\n\n// HasPerm checks if the user has a specific permission.\nfunc (u *User) HasPerm(perm string) bool {\n\t// Short-circuit if the user is the primordial super admin.\n\tif u.UserRoleID == SuperAdminRoleID {\n\t\treturn true\n\t}\n\n\t_, ok := u.PermissionsMap[perm]\n\treturn ok\n}\n\n// HasListPerm checks if the user has get or manage access to the given list.\n// perm is either PermGet or PermManage.\nfunc (u *User) HasListPerm(types PermType, listIDs ...int) error {\n\tvar permAll, perm string\n\n\tif types == 0 {\n\t\treturn ErrPermDenied\n\t}\n\n\tif types&PermTypeGet != 0 {\n\t\tpermAll = PermListGetAll\n\t\tperm = PermListGet\n\t} else if types&PermTypeManage != 0 {\n\t\tpermAll = PermListManageAll\n\t\tperm = PermListManage\n\t}\n\n\t// Check if the user has permissions for all lists or the specific list.\n\tif u.HasPerm(permAll) {\n\t\treturn nil\n\t}\n\n\tfor _, id := range listIDs {\n\t\tif id > 0 {\n\t\t\tif !u.hasListPerm(perm, id) {\n\t\t\t\treturn ErrPermDenied\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (u *User) hasListPerm(perm string, listID int) bool {\n\t// Short-circuit if the user is the primordial super admin.\n\tif u.UserRoleID == SuperAdminRoleID {\n\t\treturn true\n\t}\n\n\tif _, ok := u.ListPermissionsMap[listID]; !ok {\n\t\treturn false\n\t}\n\n\t_, ok := u.ListPermissionsMap[listID][perm]\n\treturn ok\n}\n\n// GetPermittedLists returns a list of IDs the user has access to based on\n// the given get / manage permissions. If the user has the blanket \"*_all\"\n// permission (or the user is a super admin), then the bool is set to true and\n// the list is nil as all lists are permitted.\nfunc (u *User) GetPermittedLists(types PermType) (bool, []int) {\n\tif types == 0 {\n\t\treturn false, nil\n\t}\n\n\t// Short-circuit if the user is the primordial super admin.\n\tif u.UserRoleID == SuperAdminRoleID {\n\t\treturn true, nil\n\t}\n\n\tvar (\n\t\tget    = types&PermTypeGet != 0\n\t\tmanage = types&PermTypeManage != 0\n\t)\n\n\t// If the user has the list:get_all or list:manage_all permission, no\n\t// further checks are required.\n\tif get {\n\t\tif _, ok := u.PermissionsMap[PermListGetAll]; ok {\n\t\t\treturn true, nil\n\t\t}\n\t}\n\tif manage {\n\t\tif _, ok := u.PermissionsMap[PermListManageAll]; ok {\n\t\t\treturn true, nil\n\t\t}\n\t}\n\n\tif get {\n\t\t// If the user has per-list permissions, return that. Otherwise, let the\n\t\t// 'manage' permission check run.\n\t\tif len(u.GetListIDs) > 0 {\n\t\t\tout := make([]int, len(u.GetListIDs))\n\t\t\tcopy(out, u.GetListIDs)\n\t\t\treturn false, out\n\t\t}\n\t}\n\n\tif manage {\n\t\t// User has per-list permissions.\n\t\tout := make([]int, len(u.ManageListIDs))\n\t\tcopy(out, u.ManageListIDs)\n\t\treturn false, out\n\t}\n\n\treturn false, nil\n}\n\n// FilterListsByPerm returns list IDs filtered by either of the given perms.\nfunc (u *User) FilterListsByPerm(types PermType, listIDs []int) []int {\n\tif types == 0 {\n\t\treturn nil\n\t}\n\n\tvar (\n\t\tget    = types&PermTypeGet != 0\n\t\tmanage = types&PermTypeManage != 0\n\t)\n\n\t// If the user has full list management permission,\n\t// no further checks are required.\n\tif get {\n\t\tif _, ok := u.PermissionsMap[PermListGetAll]; ok {\n\t\t\treturn listIDs\n\t\t}\n\t}\n\tif manage {\n\t\tif _, ok := u.PermissionsMap[PermListManageAll]; ok {\n\t\t\treturn listIDs\n\t\t}\n\t}\n\n\tout := make([]int, 0, len(listIDs))\n\tfor _, id := range listIDs {\n\t\t// Check if it exists in the map.\n\t\tif l, ok := u.ListPermissionsMap[id]; ok {\n\t\t\t// Check if any of the given permission exists for it.\n\t\t\tif get {\n\t\t\t\tif _, ok := l[PermListGet]; ok {\n\t\t\t\t\tout = append(out, id)\n\t\t\t\t}\n\t\t\t} else if manage {\n\t\t\t\tif _, ok := l[PermListManage]; ok {\n\t\t\t\t\tout = append(out, id)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out\n}\n"
  },
  {
    "path": "internal/bounce/bounce.go",
    "content": "package bounce\n\nimport (\n\t\"errors\"\n\t\"log\"\n\t\"time\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/listmonk/internal/bounce/mailbox\"\n\t\"github.com/knadh/listmonk/internal/bounce/webhooks\"\n\t\"github.com/knadh/listmonk/models\"\n)\n\n// Mailbox represents a POP/IMAP mailbox client that can scan messages and pass\n// them to a given channel.\ntype Mailbox interface {\n\tScan(limit int, ch chan models.Bounce) error\n}\n\n// Opt represents bounce processing options.\ntype Opt struct {\n\tMailboxEnabled  bool        `json:\"mailbox_enabled\"`\n\tMailboxType     string      `json:\"mailbox_type\"`\n\tMailbox         mailbox.Opt `json:\"mailbox\"`\n\tWebhooksEnabled bool        `json:\"webhooks_enabled\"`\n\tSESEnabled      bool        `json:\"ses_enabled\"`\n\tSendgridEnabled bool        `json:\"sendgrid_enabled\"`\n\tSendgridKey     string      `json:\"sendgrid_key\"`\n\tPostmark        struct {\n\t\tEnabled  bool\n\t\tUsername string\n\t\tPassword string\n\t}\n\tForwardEmail struct {\n\t\tEnabled bool\n\t\tKey     string\n\t}\n\n\tRecordBounceCB func(models.Bounce) error\n}\n\n// Manager handles e-mail bounces.\ntype Manager struct {\n\tqueue        chan models.Bounce\n\tmailbox      Mailbox\n\tSES          *webhooks.SES\n\tSendgrid     *webhooks.Sendgrid\n\tPostmark     *webhooks.Postmark\n\tForwardemail *webhooks.Forwardemail\n\tqueries      *Queries\n\topt          Opt\n\tlog          *log.Logger\n}\n\n// Queries contains the queries.\ntype Queries struct {\n\tDB          *sqlx.DB\n\tRecordQuery *sqlx.Stmt\n}\n\n// New returns a new instance of the bounce manager.\nfunc New(opt Opt, q *Queries, lo *log.Logger) (*Manager, error) {\n\tm := &Manager{\n\t\topt:     opt,\n\t\tqueries: q,\n\t\tqueue:   make(chan models.Bounce, 1000),\n\t\tlog:     lo,\n\t}\n\n\t// Is there a mailbox?\n\tif opt.MailboxEnabled {\n\t\tswitch opt.MailboxType {\n\t\tcase \"pop\":\n\t\t\tm.mailbox = mailbox.NewPOP(opt.Mailbox, lo)\n\t\tdefault:\n\t\t\treturn nil, errors.New(\"unknown bounce mailbox type\")\n\t\t}\n\t}\n\n\tif opt.WebhooksEnabled {\n\t\tif opt.SESEnabled {\n\t\t\tm.SES = webhooks.NewSES()\n\t\t}\n\n\t\tif opt.SendgridEnabled {\n\t\t\tsg, err := webhooks.NewSendgrid(opt.SendgridKey)\n\t\t\tif err != nil {\n\t\t\t\tlo.Printf(\"error initializing sendgrid webhooks: %v\", err)\n\t\t\t} else {\n\t\t\t\tm.Sendgrid = sg\n\t\t\t}\n\t\t}\n\n\t\tif opt.Postmark.Enabled {\n\t\t\tm.Postmark = webhooks.NewPostmark(opt.Postmark.Username, opt.Postmark.Password)\n\t\t}\n\n\t\tif opt.ForwardEmail.Enabled {\n\t\t\tfe := webhooks.NewForwardemail([]byte(opt.ForwardEmail.Key))\n\t\t\tm.Forwardemail = fe\n\t\t}\n\t}\n\n\treturn m, nil\n}\n\n// Run is a blocking function that listens for bounce events from webhooks and or mailboxes\n// and executes them on the DB.\nfunc (m *Manager) Run() {\n\tif m.opt.MailboxEnabled {\n\t\tgo m.runMailboxScanner()\n\t}\n\n\tfor b := range m.queue {\n\t\tif b.CreatedAt.IsZero() {\n\t\t\tb.CreatedAt = time.Now()\n\t\t}\n\n\t\tif err := m.opt.RecordBounceCB(b); err != nil {\n\t\t\tcontinue\n\t\t}\n\t}\n}\n\n// runMailboxScanner runs a blocking loop that scans the mailbox at given intervals.\nfunc (m *Manager) runMailboxScanner() {\n\tfor {\n\t\tm.log.Printf(\"scanning bounce mailbox %s\", m.opt.Mailbox.Host)\n\t\tif err := m.mailbox.Scan(1000, m.queue); err != nil {\n\t\t\tm.log.Printf(\"error scanning bounce mailbox: %v\", err)\n\t\t}\n\n\t\ttime.Sleep(m.opt.Mailbox.ScanInterval)\n\t}\n}\n\n// Record records a new bounce event given the subscriber's email or UUID.\nfunc (m *Manager) Record(b models.Bounce) error {\n\tm.queue <- b\n\treturn nil\n}\n"
  },
  {
    "path": "internal/bounce/mailbox/opt.go",
    "content": "package mailbox\n\nimport \"time\"\n\n// Opt represents an e-mail POP/IMAP mailbox configuration.\ntype Opt struct {\n\t// Host is the server's hostname.\n\tHost string `json:\"host\"`\n\n\t// Port is the server port.\n\tPort int `json:\"port\"`\n\n\tAuthProtocol string `json:\"auth_protocol\"`\n\n\t// Username is the mail server login username.\n\tUsername string `json:\"username\"`\n\n\t// Password is the mail server login password.\n\tPassword string `json:\"password\"`\n\n\t// Folder is the name of the IMAP folder to scan for e-mails.\n\tFolder string `json:\"folder\"`\n\n\t// Optional TLS settings.\n\tTLSEnabled    bool `json:\"tls_enabled\"`\n\tTLSSkipVerify bool `json:\"tls_skip_verify\"`\n\n\tScanInterval time.Duration `json:\"scan_interval\"`\n}\n"
  },
  {
    "path": "internal/bounce/mailbox/pop.go",
    "content": "package mailbox\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"regexp\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/emersion/go-message\"\n\t_ \"github.com/emersion/go-message/charset\"\n\t\"github.com/knadh/go-pop3\"\n\t\"github.com/knadh/listmonk/models\"\n)\n\n// POP represents a POP mailbox.\ntype POP struct {\n\topt    Opt\n\tclient *pop3.Client\n\tlo     *log.Logger\n}\n\ntype bounceHeaders struct {\n\tHeader string\n\tRegexp *regexp.Regexp\n}\n\ntype bounceMeta struct {\n\tFrom           string   `json:\"from\"`\n\tSubject        string   `json:\"subject\"`\n\tMessageID      string   `json:\"message_id\"`\n\tDeliveredTo    string   `json:\"delivered_to\"`\n\tReceived       []string `json:\"received\"`\n\tClassifyReason string   `json:\"classify_reason\"`\n}\n\nvar (\n\t// List of header to look for in the e-mail body, regexp to fall back to if the header is empty.\n\theaderLookups = []bounceHeaders{\n\t\t{models.EmailHeaderCampaignUUID, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderCampaignUUID + `:\\s+?)([a-z0-9\\-]{36})`)},\n\t\t{models.EmailHeaderSubscriberUUID, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderSubscriberUUID + `:\\s+?)([a-z0-9\\-]{36})`)},\n\t\t{models.EmailHeaderDate, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderDate + `:\\s+?)([\\w,\\,\\ ,:,+,-]*(?:\\(?:\\w*\\))?)`)},\n\t\t{models.EmailHeaderFrom, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderFrom + `:\\s+?)(.*)`)},\n\t\t{models.EmailHeaderSubject, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderSubject + `:\\s+?)(.*)`)},\n\t\t{models.EmailHeaderMessageId, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderMessageId + `:\\s+?)(.*)`)},\n\t\t{models.EmailHeaderDeliveredTo, regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderDeliveredTo + `:\\s+?)(.*)`)},\n\t}\n\n\treHdrReceived = regexp.MustCompile(`(?m)(?:^` + models.EmailHeaderReceived + `:\\s+?)(.*)`)\n\n\t// SMTP status code (5.x.x or 4.x.x) to classify hard/soft bounces.\n\treSMTPStatus = regexp.MustCompile(`(?m)(?i)^(?:Status:\\s*)?(?:\\d{3}\\s+)?([45]\\.\\d+\\.\\d+)`)\n\n\t// List of (conventional) strings to guess hard bounces.\n\treHardBounce = regexp.MustCompile(`(?i)(NXDOMAIN|user unknown|address not found|mailbox not found|address.*reject|does not exist|` +\n\t\t`invalid recipient|no such user|recipient.*invalid|undeliverable|permanent.*failure|permanent.*error|` +\n\t\t`bad.*address|unknown.*user|account.*disabled|address.*disabled)`)\n)\n\n// NewPOP returns a new instance of the POP mailbox client.\nfunc NewPOP(opt Opt, lo *log.Logger) *POP {\n\treturn &POP{\n\t\topt: opt,\n\t\tclient: pop3.New(pop3.Opt{\n\t\t\tHost:          opt.Host,\n\t\t\tPort:          opt.Port,\n\t\t\tTLSEnabled:    opt.TLSEnabled,\n\t\t\tTLSSkipVerify: opt.TLSSkipVerify,\n\t\t}),\n\t\tlo: lo,\n\t}\n}\n\n// Scan scans the mailbox and pushes the downloaded messages into the given channel.\n// The messages that are downloaded are deleted from the server. If limit > 0,\n// all messages on the server are downloaded and deleted.\nfunc (p *POP) Scan(limit int, ch chan models.Bounce) error {\n\tc, err := p.client.NewConn()\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer c.Quit()\n\n\t// Authenticate.\n\tif p.opt.AuthProtocol != \"none\" {\n\t\tif err := c.Auth(p.opt.Username, p.opt.Password); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Get the total number of messages on the server.\n\tcount, _, err := c.Stat()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// No messages.\n\tif count == 0 {\n\t\treturn nil\n\t}\n\n\tif limit > 0 && count > limit {\n\t\tcount = limit\n\t}\n\n\t// Download messages.\n\tfor id := 1; id <= count; id++ {\n\t\t// Retrieve the raw bytes of the message.\n\t\tb, err := c.RetrRaw(id)\n\t\tif err != nil {\n\t\t\tp.lo.Printf(\"error retrieving bounce message %d: %v\", id, err)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Parse the message.\n\t\tm, err := message.Read(b)\n\t\tif err != nil {\n\t\t\tp.lo.Printf(\"error parsing bounce message %d: %v\", id, err)\n\t\t\tcontinue\n\t\t}\n\n\t\th := m\n\n\t\t// If this is a multipart message, find the last part.\n\t\tif mr := m.MultipartReader(); mr != nil {\n\t\t\tfor {\n\t\t\t\tpart, err := mr.NextPart()\n\t\t\t\tif err == io.EOF {\n\t\t\t\t\tbreak\n\t\t\t\t} else if err != nil {\n\t\t\t\t\tp.lo.Printf(\"error reading multipart bounce message %d: %v\", id, err)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\th = part\n\t\t\t}\n\t\t}\n\n\t\t// Reset the \"unread portion\" pointer of the message buffer.\n\t\t// If you don't do this, you can't read the entire body because the pointer will not point to the beginning.\n\t\tb, _ = c.RetrRaw(id)\n\n\t\t// Lookup headers in the e-mail. If a header isn't found, fall back to regexp lookups.\n\t\thdr := make(map[string]string, 7)\n\t\tfor _, l := range headerLookups {\n\t\t\tv := h.Header.Get(l.Header)\n\n\t\t\t// Not in the header. Try regexp.\n\t\t\tif v == \"\" {\n\t\t\t\tif m := l.Regexp.FindAllSubmatch(b.Bytes(), -1); m != nil {\n\t\t\t\t\tv = string(m[len(m)-1][1])\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thdr[l.Header] = strings.TrimSpace(v)\n\t\t}\n\n\t\t// Received is a []string header.\n\t\tmsgReceived := h.Header.Map()[models.EmailHeaderReceived]\n\t\tif len(msgReceived) == 0 {\n\t\t\tif u := reHdrReceived.FindAllSubmatch(b.Bytes(), -1); u != nil {\n\t\t\t\tfor i := range u {\n\t\t\t\t\tmsgReceived = append(msgReceived, string(u[i][1]))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdate, _ := time.Parse(\"Mon, 02 Jan 2006 15:04:05 -0700\", hdr[models.EmailHeaderDate])\n\t\tif date.IsZero() {\n\t\t\tdate = time.Now()\n\t\t}\n\n\t\t// Classify the bounce type based on message content.\n\t\tbounceType, bounceReason := classifyBounce(b.Bytes())\n\n\t\t// Additional bounce e-mail metadata.\n\t\tmeta, _ := json.Marshal(bounceMeta{\n\t\t\tFrom:           hdr[models.EmailHeaderFrom],\n\t\t\tSubject:        hdr[models.EmailHeaderSubject],\n\t\t\tMessageID:      hdr[models.EmailHeaderMessageId],\n\t\t\tDeliveredTo:    hdr[models.EmailHeaderDeliveredTo],\n\t\t\tReceived:       msgReceived,\n\t\t\tClassifyReason: bounceReason,\n\t\t})\n\n\t\tselect {\n\t\tcase ch <- models.Bounce{\n\t\t\tType:           bounceType,\n\t\t\tCampaignUUID:   hdr[models.EmailHeaderCampaignUUID],\n\t\t\tSubscriberUUID: hdr[models.EmailHeaderSubscriberUUID],\n\t\t\tSource:         p.opt.Host,\n\t\t\tCreatedAt:      date,\n\t\t\tMeta:           meta,\n\t\t}:\n\t\tdefault:\n\t\t}\n\t}\n\n\t// Delete the downloaded messages.\n\tfor id := 1; id <= count; id++ {\n\t\tif err := c.Dele(id); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// classifyBounce analyzes the bounce message content and determines if it's a hard or soft bounce.\n// It checks SMTP status codes, diagnostic headers, and bounce keywords (using string heuristics).\n// soft is the default preference.\n// Returns the bounce type and a classification reason containing context about what matched.\nfunc classifyBounce(b []byte) (string, string) {\n\tif matches := reSMTPStatus.FindAllSubmatch(b, -1); matches != nil {\n\t\tfor _, m := range matches {\n\t\t\tif len(m) >= 2 && len(m[0]) > 1 {\n\t\t\t\t// Full status code (e.g., \"5.1.1\").\n\t\t\t\tstatus := m[1]\n\n\t\t\t\t// 5.x.x is hard bounce.\n\t\t\t\tif status[0] == '5' {\n\t\t\t\t\treturn models.BounceTypeHard, fmt.Sprintf(\"smtp_status=%s\", status)\n\t\t\t\t}\n\n\t\t\t\t// 4.x.x  is soft bounce.\n\t\t\t\tif status[0] == '4' {\n\t\t\t\t\treturn models.BounceTypeSoft, fmt.Sprintf(\"smtp_status=%s\", status)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check for explicit hard bounce keywords.\n\tif match := reHardBounce.FindSubmatch(b); match != nil {\n\t\treturn models.BounceTypeHard, fmt.Sprintf(\"body_match=%s\", match[1])\n\t}\n\n\treturn models.BounceTypeSoft, \"default\"\n}\n"
  },
  {
    "path": "internal/bounce/webhooks/forwardemail.go",
    "content": "package webhooks\n\nimport (\n\t\"crypto/hmac\"\n\t\"crypto/sha256\"\n\t\"encoding/hex\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n)\n\ntype BounceDetails struct {\n\tAction   string `json:\"action\"`\n\tMessage  string `json:\"message\"`\n\tCategory string `json:\"category\"`\n\tCode     int    `json:\"code\"`\n\tStatus   any    `json:\"status\"`\n\tLine     int    `json:\"line\"`\n}\n\ntype forwardemailNotif struct {\n\tEmailID         string            `json:\"email_id\"`\n\tListID          string            `json:\"list_id\"`\n\tListUnsubscribe string            `json:\"list_unsubscribe\"`\n\tFeedbackID      string            `json:\"feedback_id\"`\n\tRecipient       string            `json:\"recipient\"`\n\tMessage         string            `json:\"message\"`\n\tResponse        string            `json:\"response\"`\n\tResponseCode    int               `json:\"response_code\"`\n\tTruthSource     string            `json:\"truth_source\"`\n\tHeaders         map[string]string `json:\"headers\"`\n\tBounce          BounceDetails     `json:\"bounce\"`\n\tBouncedAt       time.Time         `json:\"bounced_at\"`\n}\n\n// Forwardemail handles webhook notifications (mainly bounce notifications).\ntype Forwardemail struct {\n\thmacKey []byte\n}\n\nfunc NewForwardemail(key []byte) *Forwardemail {\n\treturn &Forwardemail{hmacKey: key}\n}\n\nfunc (p *Forwardemail) ProcessBounce(sigHex string, body []byte) ([]models.Bounce, error) {\n\t// Decode the hex-encoded signature from the webhook\n\tsig, err := hex.DecodeString(sigHex)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"invalid signature encoding: %v\", err)\n\t}\n\n\t// Generate HMAC using the request body and secret key\n\tmac := hmac.New(sha256.New, p.hmacKey)\n\tmac.Write(body)\n\texpectedSignature := mac.Sum(nil)\n\n\t// Compare the generated signature with the provided signature\n\tif !hmac.Equal(expectedSignature, sig) {\n\t\treturn nil, errors.New(\"invalid signature\")\n\t}\n\n\t// Parse the JSON payload\n\tvar n forwardemailNotif\n\tif err := json.Unmarshal(body, &n); err != nil {\n\t\treturn nil, fmt.Errorf(\"error unmarshalling Forwardemail notification: %v\", err)\n\t}\n\n\t// Categorize the bounce type\n\ttyp := models.BounceTypeSoft\n\thardBounceCategories := []string{\"block\", \"recipient\", \"virus\", \"spam\"}\n\tfor _, category := range hardBounceCategories {\n\t\tif n.Bounce.Category == category {\n\t\t\ttyp = models.BounceTypeHard\n\t\t\tbreak\n\t\t}\n\t}\n\n\tcampUUID := \"\"\n\tif v, ok := n.Headers[\"X-Listmonk-Campaign\"]; ok {\n\t\tcampUUID = v\n\t}\n\n\treturn []models.Bounce{{\n\t\tEmail:        strings.ToLower(n.Recipient),\n\t\tCampaignUUID: campUUID,\n\t\tType:         typ,\n\t\tSource:       \"forwardemail\",\n\t\tMeta:         json.RawMessage(body),\n\t\tCreatedAt:    n.BouncedAt,\n\t}}, nil\n}\n"
  },
  {
    "path": "internal/bounce/webhooks/postmark.go",
    "content": "package webhooks\n\nimport (\n\t\"crypto/subtle\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/labstack/echo/v4/middleware\"\n)\n\ntype postmarkNotif struct {\n\tRecordType    string            `json:\"RecordType\"`\n\tMessageStream string            `json:\"MessageStream\"`\n\tID            int               `json:\"ID\"`\n\tType          string            `json:\"Type\"`\n\tTypeCode      int               `json:\"TypeCode\"`\n\tName          string            `json:\"Name\"`\n\tTag           string            `json:\"Tag\"`\n\tMessageID     string            `json:\"MessageID\"`\n\tMetadata      map[string]string `json:\"Metadata\"`\n\tServerID      int               `json:\"ServerID\"`\n\tDescription   string            `json:\"Description\"`\n\tDetails       string            `json:\"Details\"`\n\tEmail         string            `json:\"Email\"`\n\tFrom          string            `json:\"From\"`\n\tBouncedAt     time.Time         `json:\"BouncedAt\"` // \"2019-11-05T16:33:54.9070259Z\"\n\tDumpAvailable bool              `json:\"DumpAvailable\"`\n\tInactive      bool              `json:\"Inactive\"`\n\tCanActivate   bool              `json:\"CanActivate\"`\n\tSubject       string            `json:\"Subject\"`\n\tContent       string            `json:\"Content\"`\n}\n\n// Postmark handles webhook notifications (mainly bounce notifications).\ntype Postmark struct {\n\tauthHandler echo.HandlerFunc\n}\n\nfunc NewPostmark(username, password string) *Postmark {\n\treturn &Postmark{\n\t\tauthHandler: middleware.BasicAuth(makePostmarkAuthHandler(username, password))(func(c echo.Context) error {\n\t\t\treturn nil\n\t\t}),\n\t}\n}\n\n// ProcessBounce processes Postmark bounce notifications and returns one object.\nfunc (p *Postmark) ProcessBounce(b []byte, c echo.Context) ([]models.Bounce, error) {\n\t// Do basicauth.\n\tif err := p.authHandler(c); err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar n postmarkNotif\n\tif err := json.Unmarshal(b, &n); err != nil {\n\t\treturn nil, fmt.Errorf(\"error unmarshalling postmark notification: %v\", err)\n\t}\n\n\t// Ignore irrelevant messages.\n\tif n.RecordType != \"Bounce\" && n.RecordType != \"SpamComplaint\" {\n\t\treturn nil, nil\n\t}\n\n\tsupportedBounceType := true\n\ttyp := models.BounceTypeHard\n\tswitch n.Type {\n\tcase \"HardBounce\", \"BadEmailAddress\", \"ManuallyDeactivated\":\n\t\ttyp = models.BounceTypeHard\n\tcase \"SoftBounce\", \"Transient\", \"DnsError\", \"SpamNotification\", \"VirusNotification\", \"DMARCPolicy\":\n\t\ttyp = models.BounceTypeSoft\n\tcase \"SpamComplaint\":\n\t\ttyp = models.BounceTypeComplaint\n\tdefault:\n\t\tsupportedBounceType = false\n\t}\n\n\tif !supportedBounceType {\n\t\treturn nil, fmt.Errorf(\"unsupported bounce type: %v\", n.Type)\n\t}\n\n\t// Look for the campaign ID in headers.\n\tcampUUID := \"\"\n\tif v, ok := n.Metadata[\"X-Listmonk-Campaign\"]; ok {\n\t\tcampUUID = v\n\t}\n\n\treturn []models.Bounce{{\n\t\tEmail:        strings.ToLower(n.Email),\n\t\tCampaignUUID: campUUID,\n\t\tType:         typ,\n\t\tSource:       \"postmark\",\n\t\tMeta:         json.RawMessage(b),\n\t\tCreatedAt:    n.BouncedAt,\n\t}}, nil\n}\n\nfunc makePostmarkAuthHandler(cfgUser, cfgPassword string) func(username, password string, c echo.Context) (bool, error) {\n\tvar (\n\t\tu = []byte(cfgUser)\n\t\tp = []byte(cfgPassword)\n\t)\n\n\treturn func(username, password string, c echo.Context) (bool, error) {\n\t\tif len(u) == 0 || len(p) == 0 {\n\t\t\treturn true, nil\n\t\t}\n\n\t\tif subtle.ConstantTimeCompare([]byte(username), u) == 1 && subtle.ConstantTimeCompare([]byte(password), p) == 1 {\n\t\t\treturn true, nil\n\t\t}\n\n\t\treturn false, nil\n\t}\n}\n"
  },
  {
    "path": "internal/bounce/webhooks/sendgrid.go",
    "content": "package webhooks\n\nimport (\n\t\"crypto/ecdsa\"\n\t\"crypto/sha256\"\n\t\"crypto/x509\"\n\t\"encoding/asn1\"\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"math/big\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n)\n\ntype sendgridNotif struct {\n\tEmail                string `json:\"email\"`\n\tTimestamp            int64  `json:\"timestamp\"`\n\tEvent                string `json:\"event\"`\n\tBounceClassification string `json:\"bounce_classification\"`\n\n\t// SendGrid flattens all X-headers and adds them to the bounce\n\t// event notification.\n\tCampaignUUID string `json:\"XListmonkCampaign\"`\n}\n\n// Sendgrid handles Sendgrid/SNS webhook notifications including confirming SNS topic subscription\n// requests and bounce notifications.\ntype Sendgrid struct {\n\tpubKey *ecdsa.PublicKey\n}\n\n// NewSendgrid returns a new Sendgrid instance.\nfunc NewSendgrid(key string) (*Sendgrid, error) {\n\t// Get the certificate from the key.\n\tsigB, err := base64.StdEncoding.DecodeString(key)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tpubKey, err := x509.ParsePKIXPublicKey(sigB)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &Sendgrid{pubKey: pubKey.(*ecdsa.PublicKey)}, nil\n}\n\n// ProcessBounce processes Sendgrid bounce notifications and returns one or more Bounce objects.\nfunc (s *Sendgrid) ProcessBounce(sig, timestamp string, b []byte) ([]models.Bounce, error) {\n\tif err := s.verifyNotif(sig, timestamp, b); err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar notifs []sendgridNotif\n\tif err := json.Unmarshal(b, &notifs); err != nil {\n\t\treturn nil, fmt.Errorf(\"error unmarshalling Sendgrid notification: %v\", err)\n\t}\n\n\tout := make([]models.Bounce, 0, len(notifs))\n\tfor _, n := range notifs {\n\t\tif n.Event != \"bounce\" {\n\t\t\tcontinue\n\t\t}\n\n\t\ttyp := models.BounceTypeHard\n\t\tif n.BounceClassification == \"technical\" || n.BounceClassification == \"content\" {\n\t\t\ttyp = models.BounceTypeSoft\n\t\t}\n\n\t\ttstamp := time.Unix(n.Timestamp, 0)\n\t\tbn := models.Bounce{\n\t\t\tCampaignUUID: n.CampaignUUID,\n\t\t\tEmail:        strings.ToLower(n.Email),\n\t\t\tType:         typ,\n\t\t\tMeta:         json.RawMessage(b),\n\t\t\tSource:       \"sendgrid\",\n\t\t\tCreatedAt:    tstamp,\n\t\t}\n\t\tout = append(out, bn)\n\t}\n\n\treturn out, nil\n}\n\n// verifyNotif verifies the signature on a notification payload.\nfunc (s *Sendgrid) verifyNotif(sig, timestamp string, b []byte) error {\n\tsigB, err := base64.StdEncoding.DecodeString(sig)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tecdsaSig := struct {\n\t\tR *big.Int\n\t\tS *big.Int\n\t}{}\n\n\tif _, err := asn1.Unmarshal(sigB, &ecdsaSig); err != nil {\n\t\treturn fmt.Errorf(\"error asn1 unmarshal of signature: %v\", err)\n\t}\n\n\th := sha256.New()\n\th.Write([]byte(timestamp))\n\th.Write(b)\n\thash := h.Sum(nil)\n\n\tif !ecdsa.Verify(s.pubKey, hash, ecdsaSig.R, ecdsaSig.S) {\n\t\treturn errors.New(\"invalid signature\")\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/bounce/webhooks/ses.go",
    "content": "package webhooks\n\nimport (\n\t\"bytes\"\n\t\"crypto/x509\"\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"encoding/pem\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"regexp\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n)\n\n// AWS signature/validation logic borrowed from @cavnit's contrib:\n// https://gist.github.com/cavnit/f4d63ba52b3aa05406c07dcbca2ca6cf\n\n// https://sns.ap-southeast-1.amazonaws.com/SimpleNotificationService-010a507c1833636cd94bdb98bd93083a.pem\nvar sesRegCertURL = regexp.MustCompile(`(?i)^https://sns\\.[a-z0-9\\-]+\\.amazonaws\\.com(\\.cn)?/SimpleNotificationService\\-[a-z0-9]+\\.pem$`)\n\n// sesNotif is an individual notification wrapper posted by SNS.\ntype sesNotif struct {\n\t// Message may be a plaintext message or a stringified JSON payload based on the message type.\n\t// Four SES messages, this is the actual payload.\n\tMessage string `json:\"Message\"`\n\n\tMessageId        string `json:\"MessageId\"`\n\tSignature        string `json:\"Signature\"`\n\tSignatureVersion string `json:\"SignatureVersion\"`\n\tSigningCertURL   string `json:\"SigningCertURL\"`\n\tSubject          string `json:\"Subject\"`\n\tTimestamp        string `json:\"Timestamp\"`\n\tToken            string `json:\"Token\"`\n\tTopicArn         string `json:\"TopicArn\"`\n\tType             string `json:\"Type\"`\n\tSubscribeURL     string `json:\"SubscribeURL\"`\n\tUnsubscribeURL   string `json:\"UnsubscribeURL\"`\n}\n\ntype sesTimestamp time.Time\n\ntype sesMail struct {\n\tEventType string `json:\"eventType\"`\n\tNotifType string `json:\"notificationType\"`\n\tBounce    struct {\n\t\tBounceType        string `json:\"bounceType\"`\n\t\tBouncedRecipients []struct {\n\t\t\tStatus string `json:\"status\"`\n\t\t} `json:\"bouncedRecipients\"`\n\t} `json:\"bounce\"`\n\tMail struct {\n\t\tTimestamp        sesTimestamp        `json:\"timestamp\"`\n\t\tHeadersTruncated bool                `json:\"headersTruncated\"`\n\t\tDestination      []string            `json:\"destination\"`\n\t\tHeaders          []map[string]string `json:\"headers\"`\n\t} `json:\"mail\"`\n}\n\n// SES handles SES/SNS webhook notifications including confirming SNS topic subscription\n// requests and bounce notifications.\ntype SES struct {\n\tcerts map[string]*x509.Certificate\n}\n\n// NewSES returns a new SES instance.\nfunc NewSES() *SES {\n\treturn &SES{\n\t\tcerts: make(map[string]*x509.Certificate),\n\t}\n}\n\n// ProcessSubscription processes an SNS topic subscribe / unsubscribe notification\n// by parsing and verifying the payload and calling the subscribe / unsubscribe URL.\nfunc (s *SES) ProcessSubscription(b []byte) error {\n\tvar n sesNotif\n\tif err := json.Unmarshal(b, &n); err != nil {\n\t\treturn fmt.Errorf(\"error unmarshalling SNS notification: %v\", err)\n\t}\n\tif err := s.verifyNotif(n); err != nil {\n\t\treturn err\n\t}\n\n\t// Make an HTTP request to the sub/unsub URL.\n\tu := n.SubscribeURL\n\tif n.Type == \"UnsubscriptionConfirmation\" {\n\t\tu = n.UnsubscribeURL\n\t}\n\n\tresp, err := http.Get(u)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error requesting subscription URL: %v\", err)\n\t}\n\n\tif resp.StatusCode != http.StatusOK {\n\t\treturn fmt.Errorf(\"non 200 response on subscription URL: %v\", resp.StatusCode)\n\t}\n\n\treturn nil\n}\n\n// ProcessBounce processes an SES bounce notification and returns a Bounce object.\nfunc (s *SES) ProcessBounce(b []byte) (models.Bounce, error) {\n\tvar (\n\t\tbounce models.Bounce\n\t\tn      sesNotif\n\t)\n\tif err := json.Unmarshal(b, &n); err != nil {\n\t\treturn bounce, fmt.Errorf(\"error unmarshalling SES notification: %v\", err)\n\t}\n\tif err := s.verifyNotif(n); err != nil {\n\t\treturn bounce, err\n\t}\n\n\tvar m sesMail\n\tif err := json.Unmarshal([]byte(n.Message), &m); err != nil {\n\t\treturn bounce, fmt.Errorf(\"error unmarshalling SES notification: %v\", err)\n\t}\n\n\tif (m.EventType != \"\" && m.EventType != \"Bounce\") ||\n\t\t(m.NotifType != \"\" && (m.NotifType != \"Bounce\" && m.NotifType != \"Complaint\")) {\n\t\treturn bounce, errors.New(\"notification type is not bounce\")\n\t}\n\n\tif len(m.Mail.Destination) == 0 {\n\t\treturn bounce, errors.New(\"no destination e-mails found in SES notification\")\n\t}\n\n\ttyp := models.BounceTypeSoft\n\tif m.Bounce.BounceType == \"Permanent\" {\n\t\ttyp = models.BounceTypeHard\n\t}\n\tif m.Bounce.BounceType == \"Transient\" && len(m.Bounce.BouncedRecipients) > 0 {\n\t\t// \"Invalid domain\" bounce.\n\t\tif m.Bounce.BouncedRecipients[0].Status == \"5.4.4\" {\n\t\t\ttyp = models.BounceTypeHard\n\t\t}\n\t}\n\tif m.NotifType == \"Complaint\" {\n\t\ttyp = models.BounceTypeComplaint\n\t}\n\n\t// Look for the campaign ID in headers.\n\tcampUUID := \"\"\n\tif !m.Mail.HeadersTruncated {\n\t\tfor _, h := range m.Mail.Headers {\n\t\t\tkey, ok := h[\"name\"]\n\t\t\tif !ok || key != models.EmailHeaderCampaignUUID {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tcampUUID, ok = h[\"value\"]\n\t\t\tif !ok {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn models.Bounce{\n\t\tEmail:        strings.ToLower(m.Mail.Destination[0]),\n\t\tCampaignUUID: campUUID,\n\t\tType:         typ,\n\t\tSource:       \"ses\",\n\t\tMeta:         json.RawMessage(n.Message),\n\t\tCreatedAt:    time.Time(m.Mail.Timestamp),\n\t}, nil\n}\n\nfunc (s *SES) buildSignature(n sesNotif) []byte {\n\tvar b bytes.Buffer\n\tb.WriteString(\"Message\" + \"\\n\" + n.Message + \"\\n\")\n\tb.WriteString(\"MessageId\" + \"\\n\" + n.MessageId + \"\\n\")\n\n\tif n.Subject != \"\" {\n\t\tb.WriteString(\"Subject\" + \"\\n\" + n.Subject + \"\\n\")\n\t}\n\tif n.SubscribeURL != \"\" {\n\t\tb.WriteString(\"SubscribeURL\" + \"\\n\" + n.SubscribeURL + \"\\n\")\n\t}\n\n\tb.WriteString(\"Timestamp\" + \"\\n\" + n.Timestamp + \"\\n\")\n\n\tif n.Token != \"\" {\n\t\tb.WriteString(\"Token\" + \"\\n\" + n.Token + \"\\n\")\n\t}\n\tb.WriteString(\"TopicArn\" + \"\\n\" + n.TopicArn + \"\\n\")\n\tb.WriteString(\"Type\" + \"\\n\" + n.Type + \"\\n\")\n\n\treturn b.Bytes()\n}\n\n// verifyNotif verifies the signature on a notification payload.\nfunc (s *SES) verifyNotif(n sesNotif) error {\n\t// Get the message signing certificate.\n\tcert, err := s.getCert(n.SigningCertURL)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error getting SNS cert: %v\", err)\n\t}\n\n\tsign, err := base64.StdEncoding.DecodeString(n.Signature)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn cert.CheckSignature(x509.SHA1WithRSA, s.buildSignature(n), sign)\n}\n\n// getCert takes the SNS certificate URL and fetches it and caches it for the first time,\n// and returns the cached cert for subsequent calls.\nfunc (s *SES) getCert(certURL string) (*x509.Certificate, error) {\n\t// Ensure that the cert URL is Amazon's.\n\tu, err := url.Parse(certURL)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif !sesRegCertURL.MatchString(certURL) {\n\t\treturn nil, fmt.Errorf(\"invalid SNS certificate URL: %v\", u.Host)\n\t}\n\n\t// Return if it's cached.\n\tif c, ok := s.certs[u.Path]; ok {\n\t\treturn c, nil\n\t}\n\n\t// Fetch the certificate.\n\tresp, err := http.Get(certURL)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer resp.Body.Close()\n\n\tif resp.StatusCode != http.StatusOK {\n\t\treturn nil, fmt.Errorf(\"invalid SNS certificate URL: %v\", u.Host)\n\t}\n\n\tbody, err := io.ReadAll(resp.Body)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tp, _ := pem.Decode(body)\n\tif p == nil {\n\t\treturn nil, errors.New(\"invalid PEM\")\n\t}\n\n\tcert, err := x509.ParseCertificate(p.Bytes)\n\n\t// Cache the cert in-memory.\n\ts.certs[u.Path] = cert\n\n\treturn cert, err\n}\n\nfunc (st *sesTimestamp) UnmarshalJSON(b []byte) error {\n\tt, err := time.Parse(\"2006-01-02T15:04:05.999999999Z\", strings.Trim(string(b), `\"`))\n\tif err != nil {\n\t\treturn err\n\t}\n\t*st = sesTimestamp(t)\n\treturn nil\n}\n"
  },
  {
    "path": "internal/buflog/buflog.go",
    "content": "package buflog\n\nimport (\n\t\"bytes\"\n\t\"strings\"\n\t\"sync\"\n)\n\n// BufLog implements a simple log buffer that can be supplied to a std\n// log instance. It stores logs up to N lines.\ntype BufLog struct {\n\tmaxLines int\n\tbuf      *bytes.Buffer\n\tlines    []string\n\n\tsync.RWMutex\n}\n\n// New returns a new log buffer that stores up to maxLines lines.\nfunc New(maxLines int) *BufLog {\n\treturn &BufLog{\n\t\tmaxLines: maxLines,\n\t\tbuf:      &bytes.Buffer{},\n\t\tlines:    make([]string, 0, maxLines),\n\t}\n}\n\n// Write writes a log item to the buffer maintaining maxLines capacity\n// using LIFO.\nfunc (bu *BufLog) Write(b []byte) (n int, err error) {\n\tbu.Lock()\n\tdefer bu.Unlock()\n\n\tif len(bu.lines) >= bu.maxLines {\n\t\tbu.lines[0] = \"\"\n\t\tbu.lines = bu.lines[1:len(bu.lines)]\n\t}\n\tbu.lines = append(bu.lines, strings.TrimSpace(string(b)))\n\n\treturn len(b), nil\n}\n\n// Lines returns the log lines.\nfunc (bu *BufLog) Lines() []string {\n\tbu.RLock()\n\tdefer bu.RUnlock()\n\n\tout := make([]string, len(bu.lines))\n\tcopy(out[:], bu.lines[:])\n\treturn out\n}\n"
  },
  {
    "path": "internal/captcha/captcha.go",
    "content": "package captcha\n\nimport (\n\t\"crypto/rand\"\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/altcha-org/altcha-lib-go\"\n\t\"github.com/knadh/listmonk/internal/tmptokens\"\n)\n\nconst (\n\thCaptchaURL = \"https://hcaptcha.com/siteverify\"\n)\n\ntype hCaptchaResp struct {\n\tSuccess    bool     `json:\"success\"`\n\tErrorCodes []string `json:\"error_codes\"`\n}\n\nconst (\n\tProviderNone     = \"\"\n\tProviderHCaptcha = \"hcaptcha\"\n\tProviderAltcha   = \"altcha\"\n)\n\n// Captcha is a captcha client supporting multiple providers.\ntype Captcha struct {\n\tprovider string\n\thCaptcha hCaptchaOpt\n\taltcha   altchaOpt\n\tclient   *http.Client\n}\n\ntype Opt struct {\n\tHCaptcha struct {\n\t\tEnabled bool   `json:\"enabled\"`\n\t\tKey     string `json:\"key\"`\n\t\tSecret  string `json:\"secret\"`\n\t} `json:\"hcaptcha\"`\n\tAltcha struct {\n\t\tEnabled    bool `json:\"enabled\"`\n\t\tComplexity int  `json:\"complexity\"`\n\t} `json:\"altcha\"`\n}\n\ntype hCaptchaOpt struct {\n\tSecret string\n}\n\ntype altchaOpt struct {\n\tComplexity int\n\tHMACKey    string\n}\n\n// New returns a new instance of the CAPTCHA client.\nfunc New(o Opt) *Captcha {\n\ttimeout := time.Second * 5\n\n\tc := &Captcha{\n\t\tclient: &http.Client{\n\t\t\tTimeout: timeout,\n\t\t\tTransport: &http.Transport{\n\t\t\t\tMaxIdleConnsPerHost:   10,\n\t\t\t\tMaxConnsPerHost:       100,\n\t\t\t\tResponseHeaderTimeout: timeout,\n\t\t\t\tIdleConnTimeout:       timeout,\n\t\t\t},\n\t\t},\n\t}\n\n\t// Determine which provider is enabled\n\tif o.Altcha.Enabled {\n\t\tc.provider = ProviderAltcha\n\n\t\t// Generate an random HMAC key for Altcha.\n\t\tb := make([]byte, 24) // 24 bytes will give 32 characters when base64 encoded\n\t\t_, err := rand.Read(b)\n\t\tif err != nil {\n\t\t\tpanic(fmt.Sprintf(\"error generating Altcha HMAC key: %v\", err))\n\t\t}\n\t\thmacKey := base64.URLEncoding.EncodeToString(b)[:32]\n\n\t\tc.altcha = altchaOpt{\n\t\t\tComplexity: o.Altcha.Complexity,\n\t\t\tHMACKey:    hmacKey,\n\t\t}\n\t} else if o.HCaptcha.Enabled {\n\t\tc.provider = ProviderHCaptcha\n\t\tc.hCaptcha = hCaptchaOpt{\n\t\t\tSecret: o.HCaptcha.Secret,\n\t\t}\n\t}\n\n\treturn c\n}\n\n// IsEnabled returns true if any captcha provider is enabled.\nfunc (c *Captcha) IsEnabled() bool {\n\treturn c.provider != ProviderNone\n}\n\n// GetProvider returns the active captcha provider.\nfunc (c *Captcha) GetProvider() string {\n\treturn c.provider\n}\n\n// GenerateChallenge generates a challenge for the active provider.\n// For hCaptcha, this returns empty string as challenges are generated client-side.\n// For Altcha, this returns a JSON challenge.\nfunc (c *Captcha) GenerateChallenge() (string, error) {\n\tswitch c.provider {\n\tcase ProviderAltcha:\n\t\texp := time.Now().Add(5 * time.Minute)\n\t\tchallenge, err := altcha.CreateChallenge(altcha.ChallengeOptions{\n\t\t\tAlgorithm:  altcha.SHA256,\n\t\t\tMaxNumber:  int64(c.altcha.Complexity),\n\t\t\tSaltLength: 12,\n\t\t\tHMACKey:    c.altcha.HMACKey,\n\t\t\tExpires:    &exp,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn \"\", fmt.Errorf(\"failed to create Altcha challenge: %w\", err)\n\t\t}\n\n\t\tchallengeJSON, err := json.Marshal(challenge)\n\t\tif err != nil {\n\t\t\treturn \"\", fmt.Errorf(\"failed to marshal Altcha challenge: %w\", err)\n\t\t}\n\n\t\treturn string(challengeJSON), nil\n\tcase ProviderHCaptcha:\n\t\t// hCaptcha generates challenges client-side.\n\t\treturn \"\", nil\n\tdefault:\n\t\treturn \"\", fmt.Errorf(\"no captcha provider enabled\")\n\t}\n}\n\n// Verify verifies a CAPTCHA response.\nfunc (c *Captcha) Verify(token string) (error, bool) {\n\tswitch c.provider {\n\tcase ProviderAltcha:\n\t\treturn c.verifyAltcha(token)\n\tcase ProviderHCaptcha:\n\t\treturn c.verifyHCaptcha(token)\n\tdefault:\n\t\treturn fmt.Errorf(\"no captcha provider enabled\"), false\n\t}\n}\n\n// verifyHCaptcha verifies an hCaptcha response.\nfunc (c *Captcha) verifyHCaptcha(token string) (error, bool) {\n\tresp, err := c.client.PostForm(hCaptchaURL, url.Values{\n\t\t\"secret\":   {c.hCaptcha.Secret},\n\t\t\"response\": {token},\n\t})\n\tif err != nil {\n\t\treturn err, false\n\t}\n\n\tdefer resp.Body.Close()\n\tbody, err := io.ReadAll(resp.Body)\n\tif err != nil {\n\t\treturn err, false\n\t}\n\n\tvar r hCaptchaResp\n\tif err := json.Unmarshal(body, &r); err != nil {\n\t\treturn err, true\n\t}\n\n\tif !r.Success {\n\t\treturn fmt.Errorf(\"hCaptcha failed: %s\", strings.Join(r.ErrorCodes, \",\")), false\n\t}\n\n\treturn nil, true\n}\n\n// verifyAltcha verifies an Altcha response.\nfunc (c *Captcha) verifyAltcha(payload string) (error, bool) {\n\tvalid, err := altcha.VerifySolution(payload, c.altcha.HMACKey, true)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to verify captcha solution: %w\", err), false\n\t}\n\n\tif !valid {\n\t\treturn fmt.Errorf(\"captcha verification failed\"), false\n\t}\n\n\t// Disallow token reuse.\n\tif _, err := tmptokens.Check(payload); err == nil {\n\t\treturn fmt.Errorf(\"captcha token already used\"), false\n\t}\n\ttmptokens.Set(payload, 5*time.Minute, nil)\n\n\treturn nil, true\n}\n"
  },
  {
    "path": "internal/core/bounces.go",
    "content": "package core\n\nimport (\n\t\"net/http\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\nvar bounceQuerySortFields = []string{\"email\", \"campaign_name\", \"source\", \"created_at\", \"type\"}\n\n// QueryBounces retrieves paginated bounce entries based on the given params.\n// It also returns the total number of bounce records in the DB.\nfunc (c *Core) QueryBounces(campID, subID int, source, orderBy, order string, offset, limit int) ([]models.Bounce, int, error) {\n\tif !strSliceContains(orderBy, bounceQuerySortFields) {\n\t\torderBy = \"created_at\"\n\t}\n\tif order != SortAsc && order != SortDesc {\n\t\torder = SortDesc\n\t}\n\n\tout := []models.Bounce{}\n\tstmt := strings.ReplaceAll(c.q.QueryBounces, \"%order%\", orderBy+\" \"+order)\n\tif err := c.db.Select(&out, stmt, 0, campID, subID, source, offset, limit); err != nil {\n\t\tc.log.Printf(\"error fetching bounces: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.bounce}\", \"error\", pqErrMsg(err)))\n\t}\n\n\ttotal := 0\n\tif len(out) > 0 {\n\t\ttotal = out[0].Total\n\t}\n\n\treturn out, total, nil\n}\n\n// GetBounce retrieves bounce entries based on the given params.\nfunc (c *Core) GetBounce(id int) (models.Bounce, error) {\n\tvar out []models.Bounce\n\tstmt := strings.ReplaceAll(c.q.QueryBounces, \"%order%\", \"id \"+SortAsc)\n\tif err := c.db.Select(&out, stmt, id, 0, 0, \"\", 0, 1); err != nil {\n\t\tc.log.Printf(\"error fetching bounces: %v\", err)\n\t\treturn models.Bounce{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.bounce}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif len(out) == 0 {\n\t\treturn models.Bounce{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.bounce}\"))\n\n\t}\n\n\treturn out[0], nil\n}\n\n// RecordBounce records a new bounce.\nfunc (c *Core) RecordBounce(b models.Bounce) error {\n\taction, ok := c.consts.BounceActions[b.Type]\n\tif !ok {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts(\"globals.messages.invalidData\")+\": \"+b.Type)\n\t}\n\n\t_, err := c.q.RecordBounce.Exec(b.SubscriberUUID,\n\t\tb.Email,\n\t\tb.CampaignUUID,\n\t\tb.Type,\n\t\tb.Source,\n\t\tb.Meta,\n\t\tb.CreatedAt,\n\t\taction.Count,\n\t\taction.Action)\n\n\tif err != nil {\n\t\t// Ignore the error if it complained of no subscriber.\n\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Column == \"subscriber_id\" {\n\t\t\tc.log.Printf(\"bounced subscriber (%s / %s) not found\", b.SubscriberUUID, b.Email)\n\t\t\treturn nil\n\t\t}\n\n\t\tc.log.Printf(\"error recording bounce: %v\", err)\n\t}\n\n\treturn err\n}\n\n// BlocklistBouncedSubscribers blocklists all bounced subscribers.\nfunc (c *Core) BlocklistBouncedSubscribers() error {\n\tif _, err := c.q.BlocklistBouncedSubscribers.Exec(); err != nil {\n\t\tc.log.Printf(\"error blocklisting bounced subscribers: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts(\"subscribers.errorBlocklisting\", \"error\", err.Error()))\n\t}\n\n\treturn nil\n}\n\n// DeleteBounce deletes a list.\nfunc (c *Core) DeleteBounce(id int) error {\n\treturn c.DeleteBounces([]int{id}, false)\n}\n\n// DeleteBounces deletes multiple lists.\nfunc (c *Core) DeleteBounces(ids []int, all bool) error {\n\tif _, err := c.q.DeleteBounces.Exec(pq.Array(ids), all); err != nil {\n\t\tc.log.Printf(\"error deleting lists: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.list}\", \"error\", pqErrMsg(err)))\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "internal/core/campaigns.go",
    "content": "package core\n\nimport (\n\t\"database/sql\"\n\t\"net/http\"\n\t\"time\"\n\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\nconst (\n\tCampaignAnalyticsViews   = \"views\"\n\tCampaignAnalyticsClicks  = \"clicks\"\n\tCampaignAnalyticsBounces = \"bounces\"\n\n\tcampaignTplDefault = \"default\"\n\tcampaignTplArchive = \"archive\"\n)\n\n// QueryCampaigns retrieves paginated campaigns optionally filtering them by the given arbitrary\n// query expression. It also returns the total number of records in the DB.\nfunc (c *Core) QueryCampaigns(searchStr string, statuses, tags []string, orderBy, order string, getAll bool, permittedLists []int, offset, limit int) (models.Campaigns, int, error) {\n\tqueryStr, stmt := makeSearchQuery(searchStr, orderBy, order, c.q.QueryCampaigns, campQuerySortFields)\n\n\tif statuses == nil {\n\t\tstatuses = []string{}\n\t}\n\n\tif tags == nil {\n\t\ttags = []string{}\n\t}\n\n\t// Unsafe to ignore scanning fields not present in models.Campaigns.\n\tvar out models.Campaigns\n\tif err := c.db.Select(&out, stmt, 0, pq.StringArray(statuses), pq.StringArray(tags), queryStr, getAll, pq.Array(permittedLists), offset, limit); err != nil {\n\t\tc.log.Printf(\"error fetching campaigns: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tfor i := range out {\n\t\t// Replace null tags.\n\t\tif out[i].Tags == nil {\n\t\t\tout[i].Tags = []string{}\n\t\t}\n\t}\n\n\t// Lazy load stats.\n\tif err := out.LoadStats(c.q.GetCampaignStats); err != nil {\n\t\tc.log.Printf(\"error fetching campaign stats: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaigns}\", \"error\", pqErrMsg(err)))\n\t}\n\n\ttotal := 0\n\tif len(out) > 0 {\n\t\ttotal = out[0].Total\n\t}\n\n\treturn out, total, nil\n}\n\n// GetCampaign retrieves a campaign.\nfunc (c *Core) GetCampaign(id int, uuid, archiveSlug string) (models.Campaign, error) {\n\treturn c.getCampaign(id, uuid, archiveSlug, campaignTplDefault)\n}\n\n// GetArchivedCampaign retrieves a campaign with the archive template body.\nfunc (c *Core) GetArchivedCampaign(id int, uuid, archiveSlug string) (models.Campaign, error) {\n\tout, err := c.getCampaign(id, uuid, archiveSlug, campaignTplArchive)\n\tif err != nil {\n\t\treturn out, err\n\t}\n\n\tif !out.Archive {\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.campaign}\"))\n\t}\n\n\treturn out, nil\n}\n\n// getCampaign retrieves a campaign. If typlType=default, then the campaign's\n// template body is returned as \"template_body\". If tplType=\"archive\",\n// the archive template is returned.\nfunc (c *Core) getCampaign(id int, uuid, archiveSlug string, tplType string) (models.Campaign, error) {\n\t// Unsafe to ignore scanning fields not present in models.Campaigns.\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\tvar out models.Campaigns\n\tif err := c.q.GetCampaign.Select(&out, id, uu, archiveSlug, tplType); err != nil {\n\t\t// if err := c.db.Select(&out, stmt, 0, pq.Array([]string{}), queryStr, 0, 1); err != nil {\n\t\tc.log.Printf(\"error fetching campaign: %v\", err)\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif len(out) == 0 {\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.campaign}\"))\n\t}\n\n\tfor i := 0; i < len(out); i++ {\n\t\t// Replace null tags.\n\t\tif out[i].Tags == nil {\n\t\t\tout[i].Tags = []string{}\n\t\t}\n\t}\n\n\t// Lazy load stats.\n\tif err := out.LoadStats(c.q.GetCampaignStats); err != nil {\n\t\tc.log.Printf(\"error fetching campaign stats: %v\", err)\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out[0], nil\n}\n\n// GetCampaignForPreview retrieves a campaign with a template body. If the optional tplID is > 0\n// that particular template is used, otherwise, the template saved on the campaign is.\nfunc (c *Core) GetCampaignForPreview(id, tplID int) (models.Campaign, error) {\n\tvar out models.Campaign\n\tif err := c.q.GetCampaignForPreview.Get(&out, id, tplID); err != nil {\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.campaign}\"))\n\t\t}\n\n\t\tc.log.Printf(\"error fetching campaign: %v\", err)\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// GetArchivedCampaigns retrieves campaigns with a template body.\nfunc (c *Core) GetArchivedCampaigns(offset, limit int) (models.Campaigns, int, error) {\n\tvar out models.Campaigns\n\tif err := c.q.GetArchivedCampaigns.Select(&out, offset, limit, campaignTplArchive); err != nil {\n\t\tc.log.Printf(\"error fetching public campaigns: %v\", err)\n\t\treturn models.Campaigns{}, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\ttotal := 0\n\tif len(out) > 0 {\n\t\ttotal = out[0].Total\n\t}\n\n\treturn out, total, nil\n}\n\n// CreateCampaign creates a new campaign.\nfunc (c *Core) CreateCampaign(o models.Campaign, listIDs []int, mediaIDs []int) (models.Campaign, error) {\n\tuu, err := uuid.NewV4()\n\tif err != nil {\n\t\tc.log.Printf(\"error generating UUID: %v\", err)\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUUID\", \"error\", err.Error()))\n\t}\n\n\t// Insert and read ID.\n\tvar newID int\n\tif err := c.q.CreateCampaign.Get(&newID,\n\t\tuu,\n\t\to.Type,\n\t\to.Name,\n\t\to.Subject,\n\t\to.FromEmail,\n\t\to.Body,\n\t\to.AltBody,\n\t\to.ContentType,\n\t\to.SendAt,\n\t\to.Headers,\n\t\to.Attribs,\n\t\tpq.StringArray(normalizeTags(o.Tags)),\n\t\to.Messenger,\n\t\to.TemplateID,\n\t\tpq.Array(listIDs),\n\t\to.Archive,\n\t\to.ArchiveSlug,\n\t\to.ArchiveTemplateID,\n\t\to.ArchiveMeta,\n\t\tpq.Array(mediaIDs),\n\t\to.BodySource,\n\t); err != nil {\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"campaigns.noSubs\"))\n\t\t}\n\n\t\tc.log.Printf(\"error creating campaign: %v\", err)\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tout, err := c.GetCampaign(newID, \"\", \"\")\n\tif err != nil {\n\t\treturn models.Campaign{}, err\n\t}\n\n\treturn out, nil\n}\n\n// UpdateCampaign updates a campaign.\nfunc (c *Core) UpdateCampaign(id int, o models.Campaign, listIDs []int, mediaIDs []int) (models.Campaign, error) {\n\t_, err := c.q.UpdateCampaign.Exec(id,\n\t\to.Name,\n\t\to.Subject,\n\t\to.FromEmail,\n\t\to.Body,\n\t\to.AltBody,\n\t\to.ContentType,\n\t\to.SendAt,\n\t\to.Headers,\n\t\to.Attribs,\n\t\tpq.StringArray(normalizeTags(o.Tags)),\n\t\to.Messenger,\n\t\to.TemplateID,\n\t\tpq.Array(listIDs),\n\t\to.Archive,\n\t\to.ArchiveSlug,\n\t\to.ArchiveTemplateID,\n\t\to.ArchiveMeta,\n\t\tpq.Array(mediaIDs),\n\t\to.BodySource)\n\tif err != nil {\n\t\tc.log.Printf(\"error updating campaign: %v\", err)\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tout, err := c.GetCampaign(id, \"\", \"\")\n\tif err != nil {\n\t\treturn models.Campaign{}, err\n\t}\n\n\treturn out, nil\n}\n\n// UpdateCampaignStatus updates a campaign's status, eg: draft to running.\nfunc (c *Core) UpdateCampaignStatus(id int, status string) (models.Campaign, error) {\n\tcm, err := c.GetCampaign(id, \"\", \"\")\n\tif err != nil {\n\t\treturn models.Campaign{}, err\n\t}\n\n\terrMsg := \"\"\n\tswitch status {\n\tcase models.CampaignStatusDraft:\n\t\tif cm.Status != models.CampaignStatusScheduled {\n\t\t\terrMsg = c.i18n.T(\"campaigns.onlyScheduledAsDraft\")\n\t\t}\n\tcase models.CampaignStatusScheduled:\n\t\tif cm.Status != models.CampaignStatusDraft && cm.Status != models.CampaignStatusPaused {\n\t\t\terrMsg = c.i18n.T(\"campaigns.onlyDraftAsScheduled\")\n\t\t}\n\t\tif !cm.SendAt.Valid {\n\t\t\terrMsg = c.i18n.T(\"campaigns.needsSendAt\")\n\t\t}\n\n\tcase models.CampaignStatusRunning:\n\t\tif cm.Status != models.CampaignStatusPaused && cm.Status != models.CampaignStatusDraft {\n\t\t\terrMsg = c.i18n.T(\"campaigns.onlyPausedDraft\")\n\t\t}\n\tcase models.CampaignStatusPaused:\n\t\tif cm.Status != models.CampaignStatusRunning {\n\t\t\terrMsg = c.i18n.T(\"campaigns.onlyActivePause\")\n\t\t}\n\tcase models.CampaignStatusCancelled:\n\t\tif cm.Status != models.CampaignStatusRunning && cm.Status != models.CampaignStatusPaused {\n\t\t\terrMsg = c.i18n.T(\"campaigns.onlyActiveCancel\")\n\t\t}\n\t}\n\n\tif len(errMsg) > 0 {\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusBadRequest, errMsg)\n\t}\n\n\tres, err := c.q.UpdateCampaignStatus.Exec(cm.ID, status)\n\tif err != nil {\n\t\tc.log.Printf(\"error updating campaign status: %v\", err)\n\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif n, _ := res.RowsAffected(); n == 0 {\n\t\treturn models.Campaign{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tcm.Status = status\n\treturn cm, nil\n}\n\n// UpdateCampaignArchive updates a campaign's archive properties.\nfunc (c *Core) UpdateCampaignArchive(id int, enabled bool, tplID int, meta models.JSON, archiveSlug string) error {\n\tif _, err := c.q.UpdateCampaignArchive.Exec(id, enabled, archiveSlug, tplID, meta); err != nil {\n\t\tc.log.Printf(\"error updating campaign: %v\", err)\n\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteCampaign deletes a campaign.\nfunc (c *Core) DeleteCampaign(id int) error {\n\tres, err := c.q.DeleteCampaign.Exec(id)\n\tif err != nil {\n\t\tc.log.Printf(\"error deleting campaign: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\n\t}\n\n\tif n, _ := res.RowsAffected(); n == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.campaign}\"))\n\t}\n\n\treturn nil\n}\n\n// DeleteCampaigns deletes multiple campaigns by IDs or by query.\nfunc (c *Core) DeleteCampaigns(ids []int, query string, hasAllPerm bool, permittedLists []int) error {\n\tvar queryStr string\n\n\tif len(ids) > 0 {\n\t\tqueryStr = \"\"\n\t} else {\n\t\tqueryStr = makeSearchString(query)\n\t}\n\n\tif _, err := c.q.DeleteCampaigns.Exec(pq.Array(ids), queryStr, hasAllPerm, pq.Array(permittedLists)); err != nil {\n\t\tc.log.Printf(\"error deleting campaigns: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.campaigns}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// CampaignHasLists checks if a campaign has any of the given list IDs.\nfunc (c *Core) CampaignHasLists(id int, listIDs []int) (bool, error) {\n\thas := false\n\tif err := c.q.CampaignHasLists.Get(&has, id, pq.Array(listIDs)); err != nil {\n\t\tc.log.Printf(\"error checking campaign lists: %v\", err)\n\t\treturn false, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn has, nil\n}\n\n// GetRunningCampaignStats returns the progress stats of running campaigns.\nfunc (c *Core) GetRunningCampaignStats() ([]models.CampaignStats, error) {\n\tout := []models.CampaignStats{}\n\tif err := c.q.GetCampaignStatus.Select(&out, models.CampaignStatusRunning); err != nil {\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tc.log.Printf(\"error fetching campaign stats: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t} else if len(out) == 0 {\n\t\treturn nil, nil\n\t}\n\n\treturn out, nil\n}\n\nfunc (c *Core) GetCampaignAnalyticsCounts(campIDs []int, typ, fromDate, toDate string) ([]models.CampaignAnalyticsCount, error) {\n\t// Pick campaign view counts or click counts.\n\tvar stmt *sqlx.Stmt\n\tswitch typ {\n\tcase \"views\":\n\t\tstmt = c.q.GetCampaignViewCounts\n\tcase \"clicks\":\n\t\tstmt = c.q.GetCampaignClickCounts\n\tcase \"bounces\":\n\t\tstmt = c.q.GetCampaignBounceCounts\n\tdefault:\n\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"globals.messages.invalidData\"))\n\t}\n\n\tif !strHasLen(fromDate, 10, 30) || !strHasLen(toDate, 10, 30) {\n\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"analytics.invalidDates\"))\n\t}\n\n\tout := []models.CampaignAnalyticsCount{}\n\tif err := stmt.Select(&out, pq.Array(campIDs), fromDate, toDate); err != nil {\n\t\tc.log.Printf(\"error fetching campaign %s: %v\", typ, err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.analytics}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// GetCampaignAnalyticsLinks returns link click analytics for the given campaign IDs.\nfunc (c *Core) GetCampaignAnalyticsLinks(campIDs []int, typ, fromDate, toDate string) ([]models.CampaignAnalyticsLink, error) {\n\tout := []models.CampaignAnalyticsLink{}\n\tif err := c.q.GetCampaignLinkCounts.Select(&out, pq.Array(campIDs), fromDate, toDate); err != nil {\n\t\tc.log.Printf(\"error fetching campaign %s: %v\", typ, err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.analytics}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// RegisterCampaignView registers a subscriber's view on a campaign.\nfunc (c *Core) RegisterCampaignView(campUUID, subUUID string) error {\n\tif _, err := c.q.RegisterCampaignView.Exec(campUUID, subUUID); err != nil {\n\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Column == \"campaign_id\" {\n\t\t\treturn nil\n\t\t}\n\n\t\tc.log.Printf(\"error registering campaign view: %s\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.campaign}\", \"error\", pqErrMsg(err)))\n\t}\n\treturn nil\n}\n\n// GetLinkURL returns the original URL for a link UUID without recording a click.\nfunc (c *Core) GetLinkURL(linkUUID string) (string, error) {\n\tvar url string\n\tif err := c.q.GetLinkURL.Get(&url, linkUUID); err != nil {\n\t\tc.log.Printf(\"error getting link URL: %s\", err)\n\t\treturn \"\", echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts(\"public.errorProcessingRequest\"))\n\t}\n\treturn url, nil\n}\n\n// RegisterCampaignLinkClick registers a subscriber's link click on a campaign.\nfunc (c *Core) RegisterCampaignLinkClick(linkUUID, campUUID, subUUID string) (string, error) {\n\tvar url string\n\tif err := c.q.RegisterLinkClick.Get(&url, linkUUID, campUUID, subUUID); err != nil {\n\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Column == \"link_id\" {\n\t\t\treturn \"\", echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts(\"public.invalidLink\"))\n\t\t}\n\n\t\tc.log.Printf(\"error registering link click: %s\", err)\n\t\treturn \"\", echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts(\"public.errorProcessingRequest\"))\n\t}\n\n\treturn url, nil\n}\n\n// DeleteCampaignViews deletes campaign views older than a given date.\nfunc (c *Core) DeleteCampaignViews(before time.Time) error {\n\tif _, err := c.q.DeleteCampaignViews.Exec(before); err != nil {\n\t\tc.log.Printf(\"error deleting campaign views: %s\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts(\"public.errorProcessingRequest\"))\n\t}\n\n\treturn nil\n}\n\n// DeleteCampaignLinkClicks deletes campaign views older than a given date.\nfunc (c *Core) DeleteCampaignLinkClicks(before time.Time) error {\n\tif _, err := c.q.DeleteCampaignLinkClicks.Exec(before); err != nil {\n\t\tc.log.Printf(\"error deleting campaign link clicks: %s\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError, c.i18n.Ts(\"public.errorProcessingRequest\"))\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/core/core.go",
    "content": "// package core is the collection of re-usable functions that primarily provides data (DB / CRUD) operations\n// to the app. For instance, creating and mutating objects like lists, subscribers etc.\n// All such methods return an echo.HTTPError{} (which implements error.error) that can be directly returned\n// as a response to HTTP handlers without further processing.\npackage core\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\nconst (\n\tSortAsc  = \"asc\"\n\tSortDesc = \"desc\"\n\n\tmatDashboardCharts = \"mat_dashboard_charts\"\n\tmatDashboardCounts = \"mat_dashboard_counts\"\n\tmatListSubStats    = \"mat_list_subscriber_stats\"\n)\n\n// Core represents the listmonk core with all shared, global functions.\ntype Core struct {\n\th *Hooks\n\n\tconsts Constants\n\ti18n   *i18n.I18n\n\tdb     *sqlx.DB\n\tq      *models.Queries\n\tlog    *log.Logger\n}\n\n// Constants represents constant config.\ntype Constants struct {\n\tSendOptinConfirmation bool\n\tBounceActions         map[string]struct {\n\t\tCount  int\n\t\tAction string\n\t}\n\tCacheSlowQueries bool\n}\n\n// Hooks contains external function hooks that are required by the core package.\ntype Hooks struct {\n\tSendOptinConfirmation func(models.Subscriber, []int) (int, error)\n}\n\n// Opt contains the controllers required to start the core.\ntype Opt struct {\n\tConstants Constants\n\tI18n      *i18n.I18n\n\tDB        *sqlx.DB\n\tQueries   *models.Queries\n\tLog       *log.Logger\n}\n\nvar (\n\tErrNotFound = echo.NewHTTPError(http.StatusNotFound, \"not found\")\n)\n\nvar (\n\tregexFullTextQuery  = regexp.MustCompile(`\\s+`)\n\tregexpSpaces        = regexp.MustCompile(`[\\s]+`)\n\tcampQuerySortFields = []string{\"name\", \"status\", \"created_at\", \"updated_at\"}\n\tsubQuerySortFields  = []string{\"email\", \"status\", \"name\", \"created_at\", \"updated_at\"}\n\tlistQuerySortFields = []string{\"name\", \"status\", \"created_at\", \"updated_at\", \"subscriber_count\"}\n)\n\n// New returns a new instance of the core.\nfunc New(o *Opt, h *Hooks) *Core {\n\treturn &Core{\n\t\th:      h,\n\t\tconsts: o.Constants,\n\t\ti18n:   o.I18n,\n\t\tdb:     o.DB,\n\t\tq:      o.Queries,\n\t\tlog:    o.Log,\n\t}\n}\n\n// RefreshMatViews refreshes all materialized views.\nfunc (c *Core) RefreshMatViews(concurrent bool) error {\n\tfor _, v := range []string{matDashboardCharts, matDashboardCounts, matListSubStats} {\n\t\t_ = c.RefreshMatView(v, true)\n\t}\n\treturn nil\n}\n\n// RefreshMatView refreshes a Postgres materialized view.\nfunc (c *Core) RefreshMatView(name string, concurrent bool) error {\n\tq := \"REFRESH MATERIALIZED VIEW %s %s\"\n\tif concurrent {\n\t\tq = fmt.Sprintf(q, \"CONCURRENTLY\", name)\n\t} else {\n\t\tq = fmt.Sprintf(q, \"\", name)\n\t}\n\n\tif _, err := c.db.Exec(q); err != nil {\n\t\tc.log.Printf(\"error refreshing materialized view: %s: %v\", name, err)\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// refreshCache refreshes a Postgres materialized view if caching is disabled.\nfunc (c *Core) refreshCache(name string, concurrent bool) error {\n\tif c.consts.CacheSlowQueries {\n\t\treturn nil\n\t}\n\n\treturn c.RefreshMatView(name, concurrent)\n}\n\n// Given an error, pqErrMsg will try to return pq error details\n// if it's a pq error.\nfunc pqErrMsg(err error) string {\n\tif err, ok := err.(*pq.Error); ok {\n\t\tif err.Detail != \"\" {\n\t\t\treturn fmt.Sprintf(\"%s. %s\", err, err.Detail)\n\t\t}\n\t}\n\treturn err.Error()\n}\n\n// makeSearchQuery cleans an optional search string and prepares the\n// query SQL statement (string interpolated) and returns the\n// search query string along with the SQL expression.\nfunc makeSearchQuery(searchStr, orderBy, order, query string, querySortFields []string) (string, string) {\n\tsearchStr = makeSearchString(searchStr)\n\n\t// Sort params.\n\tif !strSliceContains(orderBy, querySortFields) {\n\t\torderBy = \"created_at\"\n\t}\n\tif order != SortAsc && order != SortDesc {\n\t\torder = SortDesc\n\t}\n\n\tquery = strings.ReplaceAll(query, \"%order%\", orderBy+\" \"+order)\n\n\treturn searchStr, query\n}\n\n// makeSearchString prepares a search string for use in both tsquery and ILIKE queries.\nfunc makeSearchString(searchStr string) string {\n\tif searchStr == \"\" {\n\t\treturn \"\"\n\t}\n\treturn `%` + string(regexFullTextQuery.ReplaceAll([]byte(searchStr), []byte(\"&\"))) + `%`\n}\n\n// strSliceContains checks if a string is present in the string slice.\nfunc strSliceContains(str string, sl []string) bool {\n\tfor _, s := range sl {\n\t\tif s == str {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n\n// normalizeTags takes a list of string tags and normalizes them by\n// lower casing and removing all special characters except for dashes.\nfunc normalizeTags(tags []string) []string {\n\tvar (\n\t\tout  []string\n\t\tdash = []byte(\"-\")\n\t)\n\n\tfor _, t := range tags {\n\t\trep := regexpSpaces.ReplaceAll(bytes.TrimSpace([]byte(t)), dash)\n\n\t\tif len(rep) > 0 {\n\t\t\tout = append(out, string(rep))\n\t\t}\n\t}\n\treturn out\n}\n\n// sanitizeSQLExp does basic sanitisation on arbitrary\n// SQL query expressions coming from the frontend.\nfunc sanitizeSQLExp(q string) string {\n\tif len(q) == 0 {\n\t\treturn \"\"\n\t}\n\tq = strings.TrimSpace(q)\n\n\t// Remove semicolon suffix.\n\tif q[len(q)-1] == ';' {\n\t\tq = q[:len(q)-1]\n\t}\n\treturn q\n}\n\n// strHasLen checks if the given string has a length within min-max.\nfunc strHasLen(str string, min, max int) bool {\n\treturn len(str) >= min && len(str) <= max\n}\n"
  },
  {
    "path": "internal/core/dashboard.go",
    "content": "package core\n\nimport (\n\t\"net/http\"\n\n\t\"github.com/jmoiron/sqlx/types\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// GetDashboardCharts returns chart data points to render on the dashboard.\nfunc (c *Core) GetDashboardCharts() (types.JSONText, error) {\n\t_ = c.refreshCache(matDashboardCharts, false)\n\n\tvar out types.JSONText\n\tif err := c.q.GetDashboardCharts.Get(&out); err != nil {\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"dashboard charts\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// GetDashboardCounts returns stats counts to show on the dashboard.\nfunc (c *Core) GetDashboardCounts() (types.JSONText, error) {\n\t_ = c.refreshCache(matDashboardCounts, false)\n\n\tvar out types.JSONText\n\tif err := c.q.GetDashboardCounts.Get(&out); err != nil {\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"dashboard stats\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n"
  },
  {
    "path": "internal/core/lists.go",
    "content": "package core\n\nimport (\n\t\"net/http\"\n\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\ntype listType struct {\n\tID   int    `json:\"id\"`\n\tUUID string `json:\"uuid\"`\n\tType string `json:\"type\"`\n}\n\n// GetLists gets all lists optionally filtered by type and status.\nfunc (c *Core) GetLists(typ, status string, getAll bool, permittedIDs []int) ([]models.List, error) {\n\tout := []models.List{}\n\n\tif err := c.q.GetLists.Select(&out, typ, status, \"id\", getAll, pq.Array(permittedIDs)); err != nil {\n\t\tc.log.Printf(\"error fetching lists: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.lists}\", \"error\", pqErrMsg(err)))\n\t}\n\n\t// Replace null tags.\n\tfor i, l := range out {\n\t\tif l.Tags == nil {\n\t\t\tout[i].Tags = []string{}\n\t\t}\n\n\t\t// Total counts.\n\t\tfor _, c := range l.SubscriberCounts {\n\t\t\tout[i].SubscriberCount += c\n\t\t}\n\t}\n\n\treturn out, nil\n}\n\n// QueryLists gets multiple lists based on multiple query params. Along with the  paginated and sliced\n// results, the total number of lists in the DB is returned.\nfunc (c *Core) QueryLists(searchStr, typ, optin, status string, tags []string, orderBy, order string, getAll bool, permittedIDs []int, offset, limit int) ([]models.List, int, error) {\n\t_ = c.refreshCache(matListSubStats, false)\n\n\tif tags == nil {\n\t\ttags = []string{}\n\t}\n\n\tvar (\n\t\tout            = []models.List{}\n\t\tqueryStr, stmt = makeSearchQuery(searchStr, orderBy, order, c.q.QueryLists, listQuerySortFields)\n\t)\n\tif err := c.db.Select(&out, stmt, 0, \"\", queryStr, typ, optin, status, pq.StringArray(tags), getAll, pq.Array(permittedIDs), offset, limit); err != nil {\n\t\tc.log.Printf(\"error fetching lists: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.lists}\", \"error\", pqErrMsg(err)))\n\t}\n\n\ttotal := 0\n\tif len(out) > 0 {\n\t\ttotal = out[0].Total\n\n\t\t// Replace null tags.\n\t\tfor i, l := range out {\n\t\t\tif l.Tags == nil {\n\t\t\t\tout[i].Tags = []string{}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out, total, nil\n}\n\n// GetList gets a list by its ID or UUID.\nfunc (c *Core) GetList(id int, uuid string) (models.List, error) {\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\tvar res []models.List\n\tqueryStr, stmt := makeSearchQuery(\"\", \"\", \"\", c.q.QueryLists, nil)\n\tif err := c.db.Select(&res, stmt, id, uu, queryStr, \"\", \"\", \"\", pq.StringArray{}, true, nil, 0, 1); err != nil {\n\t\tc.log.Printf(\"error fetching lists: %v\", err)\n\t\treturn models.List{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.lists}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif len(res) == 0 {\n\t\treturn models.List{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.list}\"))\n\t}\n\n\tout := res[0]\n\tif out.Tags == nil {\n\t\tout.Tags = []string{}\n\t}\n\t// Total counts.\n\tfor _, c := range out.SubscriberCounts {\n\t\tout.SubscriberCount += c\n\t}\n\n\treturn out, nil\n}\n\n// GetListsByOptin returns lists by optin type.\nfunc (c *Core) GetListsByOptin(ids []int, optinType string) ([]models.List, error) {\n\tout := []models.List{}\n\tif err := c.q.GetListsByOptin.Select(&out, optinType, pq.Array(ids), nil); err != nil {\n\t\tc.log.Printf(\"error fetching lists for opt-in: %s\", pqErrMsg(err))\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.list}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// GetListTypes returns lists by their IDs or UUIDs.\n// If ids is given, then the map returned has the list IDs as keys,\n// otherwise, they have UUIDs as the keys.\n// Note: This is a really weird and awkward API. Ideally, Go Generics\n// should've somehow supported generic struct methods.\nfunc (c *Core) GetListTypes(ids []int, uuids []string) (map[any]string, error) {\n\tres := []listType{}\n\n\tout := map[any]string{}\n\tif err := c.q.GetListTypes.Select(&res, pq.Array(ids), pq.StringArray(uuids)); err != nil {\n\t\tc.log.Printf(\"error fetching list types: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.list}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tisIDs := ids != nil\n\tfor _, r := range res {\n\t\tif isIDs {\n\t\t\tout[r.ID] = r.Type\n\t\t} else {\n\t\t\tout[r.UUID] = r.Type\n\t\t}\n\t}\n\n\treturn out, nil\n}\n\n// CreateList creates a new list.\nfunc (c *Core) CreateList(l models.List) (models.List, error) {\n\tuu, err := uuid.NewV4()\n\tif err != nil {\n\t\tc.log.Printf(\"error generating UUID: %v\", err)\n\t\treturn models.List{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUUID\", \"error\", err.Error()))\n\t}\n\n\tif l.Type == \"\" {\n\t\tl.Type = models.ListTypePrivate\n\t}\n\tif l.Optin == \"\" {\n\t\tl.Optin = models.ListOptinSingle\n\t}\n\tif l.Status == \"\" {\n\t\tl.Status = models.ListStatusActive\n\t}\n\n\t// Insert and read ID.\n\tvar newID int\n\tl.UUID = uu.String()\n\tif err := c.q.CreateList.Get(&newID, l.UUID, l.Name, l.Type, l.Optin, l.Status, pq.StringArray(normalizeTags(l.Tags)), l.Description); err != nil {\n\t\tc.log.Printf(\"error creating list: %v\", err)\n\t\treturn models.List{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.list}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn c.GetList(newID, \"\")\n}\n\n// UpdateList updates a given list.\nfunc (c *Core) UpdateList(id int, l models.List) (models.List, error) {\n\tres, err := c.q.UpdateList.Exec(id, l.Name, l.Type, l.Optin, l.Status, pq.StringArray(normalizeTags(l.Tags)), l.Description)\n\tif err != nil {\n\t\tc.log.Printf(\"error updating list: %v\", err)\n\t\treturn models.List{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.list}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif n, _ := res.RowsAffected(); n == 0 {\n\t\treturn models.List{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.list}\"))\n\t}\n\n\treturn c.GetList(id, \"\")\n}\n\n// DeleteList deletes a list.\nfunc (c *Core) DeleteList(id int) error {\n\treturn c.DeleteLists([]int{id}, \"\", true, nil)\n}\n\n// DeleteLists deletes multiple lists.\nfunc (c *Core) DeleteLists(ids []int, query string, getAll bool, permittedIDs []int) error {\n\tvar queryStr string\n\n\tif len(ids) > 0 {\n\t\tqueryStr = \"\"\n\t} else {\n\t\tqueryStr = makeSearchString(query)\n\t}\n\n\tif _, err := c.q.DeleteLists.Exec(pq.Array(ids), queryStr, getAll, pq.Array(permittedIDs)); err != nil {\n\t\tc.log.Printf(\"error deleting lists: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.lists}\", \"error\", pqErrMsg(err)))\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "internal/core/media.go",
    "content": "package core\n\nimport (\n\t\"database/sql\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"strings\"\n\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/knadh/listmonk/internal/media\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\n// QueryMedia returns media entries optionally filtered by a query string.\nfunc (c *Core) QueryMedia(provider string, s media.Store, query string, offset, limit int) ([]media.Media, int, error) {\n\tout := []media.Media{}\n\n\tif query != \"\" {\n\t\tquery = strings.ToLower(query)\n\t}\n\n\tif err := c.q.QueryMedia.Select(&out, fmt.Sprintf(\"%%%s%%\", query), provider, offset, limit); err != nil {\n\t\treturn out, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\",\n\t\t\t\t\"name\", \"{globals.terms.media}\", \"error\", pqErrMsg(err)))\n\t}\n\n\ttotal := 0\n\tif len(out) > 0 {\n\t\ttotal = out[0].Total\n\n\t\tfor i := 0; i < len(out); i++ {\n\t\t\tout[i].URL = s.GetURL(out[i].Filename)\n\n\t\t\tif out[i].Thumb != \"\" {\n\t\t\t\tout[i].ThumbURL = null.String{Valid: true, String: s.GetURL(out[i].Thumb)}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out, total, nil\n}\n\n// GetMedia returns a media item.\nfunc (c *Core) GetMedia(id int, uuid, fileName string, s media.Store) (media.Media, error) {\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\tvar out media.Media\n\tif err := c.q.GetMedia.Get(&out, id, uu, fileName); err != nil {\n\t\t// If it's ` sql: no rows in result set`, return a 404.\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn out, ErrNotFound\n\t\t}\n\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.media}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tout.URL = s.GetURL(out.Filename)\n\tif out.Thumb != \"\" {\n\t\tout.ThumbURL = null.String{Valid: true, String: s.GetURL(out.Thumb)}\n\t}\n\n\treturn out, nil\n}\n\n// InsertMedia inserts a new media file into the DB.\nfunc (c *Core) InsertMedia(fileName, thumbName, contentType string, meta models.JSON, provider string, s media.Store) (media.Media, error) {\n\tuu, err := uuid.NewV4()\n\tif err != nil {\n\t\tc.log.Printf(\"error generating UUID: %v\", err)\n\t\treturn media.Media{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUUID\", \"error\", err.Error()))\n\t}\n\n\t// Write to the DB.\n\tvar newID int\n\tif err := c.q.InsertMedia.Get(&newID, uu, fileName, thumbName, contentType, provider, meta); err != nil {\n\t\tc.log.Printf(\"error inserting uploaded file to db: %v\", err)\n\t\treturn media.Media{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.media}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn c.GetMedia(newID, \"\", \"\", s)\n}\n\n// DeleteMedia deletes a given media item and returns the filename of the deleted item.\nfunc (c *Core) DeleteMedia(id int) (string, error) {\n\tvar fname string\n\tif err := c.q.DeleteMedia.Get(&fname, id); err != nil {\n\t\tc.log.Printf(\"error inserting uploaded file to db: %v\", err)\n\t\treturn \"\", echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.media}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn fname, nil\n}\n"
  },
  {
    "path": "internal/core/roles.go",
    "content": "package core\n\nimport (\n\t\"encoding/json\"\n\t\"net/http\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\n// GetRoles retrieves all roles.\nfunc (c *Core) GetRoles() ([]auth.Role, error) {\n\tout := []auth.Role{}\n\tif err := c.q.GetUserRoles.Select(&out, nil); err != nil {\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"role\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// GetRole retrieves a role.\nfunc (c *Core) GetRole(id int) (auth.Role, error) {\n\tout := []auth.Role{}\n\tif err := c.q.GetUserRoles.Select(&out, id); err != nil {\n\t\treturn auth.Role{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"role\", \"error\", pqErrMsg(err)))\n\t}\n\n\t// Role does not exist.\n\tif len(out) == 0 {\n\t\treturn auth.Role{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"role\", \"error\", \"role not found\"))\n\t}\n\n\treturn out[0], nil\n}\n\n// GetListRoles retrieves all list roles.\nfunc (c *Core) GetListRoles() ([]auth.ListRole, error) {\n\tout := []auth.ListRole{}\n\tif err := c.q.GetListRoles.Select(&out); err != nil {\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"role\", \"error\", pqErrMsg(err)))\n\t}\n\n\t// Unmarshall the nested list permissions, if any.\n\tfor n, r := range out {\n\t\tif r.ListsRaw == nil {\n\t\t\tcontinue\n\t\t}\n\n\t\tif err := json.Unmarshal(r.ListsRaw, &out[n].Lists); err != nil {\n\t\t\tc.log.Printf(\"error unmarshalling list permissions for role %d: %v\", r.ID, err)\n\t\t}\n\t}\n\n\treturn out, nil\n}\n\n// CreateRole creates a new role.\nfunc (c *Core) CreateRole(r auth.Role) (auth.Role, error) {\n\tvar out auth.Role\n\n\tif err := c.q.CreateRole.Get(&out, r.Name, auth.RoleTypeUser, pq.Array(r.Permissions)); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{users.role}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// CreateListRole creates a new list role.\nfunc (c *Core) CreateListRole(r auth.ListRole) (auth.ListRole, error) {\n\tvar out auth.ListRole\n\n\tif err := c.q.CreateRole.Get(&out, r.Name, auth.RoleTypeList, pq.Array([]string{})); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{users.role}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif err := c.UpsertListPermissions(out.ID, r.Lists); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{users.role}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// UpsertListPermissions upserts permission for a role.\nfunc (c *Core) UpsertListPermissions(roleID int, lp []auth.ListPermission) error {\n\tvar (\n\t\tlistIDs   = make([]int, 0, len(lp))\n\t\tlistPerms = make([][]string, 0, len(lp))\n\t)\n\tfor _, p := range lp {\n\t\tif len(p.Permissions) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\tlistIDs = append(listIDs, p.ID)\n\n\t\t// For the Postgres array unnesting query to work, all permissions arrays should\n\t\t// have equal number of entries. Add \"\" in case there's only one of either list:get or list:manage\n\t\tperms := make([]string, 2)\n\t\tcopy(perms[:], p.Permissions[:])\n\t\tlistPerms = append(listPerms, perms)\n\t}\n\n\tif _, err := c.q.UpsertListPermissions.Exec(roleID, pq.Array(listIDs), pq.Array(listPerms)); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{users.role}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteListPermission deletes a list permission entry from a role.\nfunc (c *Core) DeleteListPermission(roleID, listID int) error {\n\tif _, err := c.q.DeleteListPermission.Exec(roleID, listID); err != nil {\n\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Constraint == \"users_role_id_fkey\" {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"users.cantDeleteRole\"))\n\t\t}\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{users.role}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// UpdateUserRole updates a given role.\nfunc (c *Core) UpdateUserRole(id int, r auth.Role) (auth.Role, error) {\n\tvar out auth.Role\n\n\tif err := c.q.UpdateRole.Get(&out, id, r.Name, pq.Array(r.Permissions)); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{users.userRole}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif out.ID == 0 {\n\t\treturn out, echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{users.userRole}\"))\n\t}\n\n\treturn out, nil\n}\n\n// UpdateListRole updates a given role.\nfunc (c *Core) UpdateListRole(id int, r auth.ListRole) (auth.ListRole, error) {\n\tvar out auth.ListRole\n\n\tif err := c.q.UpdateRole.Get(&out, id, r.Name, pq.Array([]string{})); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{users.listRole}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif out.ID == 0 {\n\t\treturn out, echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{users.listRole}\"))\n\t}\n\n\tif err := c.UpsertListPermissions(out.ID, r.Lists); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{users.listRole}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// DeleteRole deletes a given role.\nfunc (c *Core) DeleteRole(id int) error {\n\tif _, err := c.q.DeleteRole.Exec(id); err != nil {\n\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Constraint == \"users_role_id_fkey\" {\n\t\t\treturn echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"users.cantDeleteRole\"))\n\t\t}\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{users.role}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/core/settings.go",
    "content": "package core\n\nimport (\n\t\"encoding/json\"\n\t\"net/http\"\n\n\t\"github.com/jmoiron/sqlx/types\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n)\n\n// GetSettings returns settings from the DB.\nfunc (c *Core) GetSettings() (models.Settings, error) {\n\tvar (\n\t\tb   types.JSONText\n\t\tout models.Settings\n\t)\n\n\tif err := c.q.GetSettings.Get(&b); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\",\n\t\t\t\t\"name\", \"{globals.terms.settings}\", \"error\", pqErrMsg(err)))\n\t}\n\n\t// Unmarshal the settings and filter out sensitive fields.\n\tif err := json.Unmarshal([]byte(b), &out); err != nil {\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"settings.errorEncoding\", \"error\", err.Error()))\n\t}\n\n\treturn out, nil\n}\n\n// UpdateSettings updates settings.\nfunc (c *Core) UpdateSettings(s models.Settings) error {\n\t// Marshal settings.\n\tb, err := json.Marshal(s)\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"settings.errorEncoding\", \"error\", err.Error()))\n\t}\n\n\t// Update the settings in the DB.\n\tif _, err := c.q.UpdateSettings.Exec(b); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.settings}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// UpdateSettingsByKey updates a single setting by key.\nfunc (c *Core) UpdateSettingsByKey(key string, value json.RawMessage) error {\n\tif _, err := c.q.UpdateSettingsByKey.Exec(key, value); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.settings}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/core/subscribers.go",
    "content": "package core\n\nimport (\n\t\"context\"\n\t\"database/sql\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"strings\"\n\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\nvar (\n\tallowedSubQueryTables = map[string]struct{}{\n\t\t\"subscribers\":       {},\n\t\t\"lists\":             {},\n\t\t\"subscribers_lists\": {},\n\t\t\"campaigns\":         {},\n\t\t\"campaign_lists\":    {},\n\t\t\"campaign_views\":    {},\n\t\t\"links\":             {},\n\t\t\"link_clicks\":       {},\n\t\t\"bounces\":           {},\n\t}\n)\n\n// GetSubscriber fetches a subscriber by one of the given params.\nfunc (c *Core) GetSubscriber(id int, uuid, email string) (models.Subscriber, error) {\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\tvar out models.Subscribers\n\tif err := c.q.GetSubscriber.Select(&out, id, uu, email); err != nil {\n\t\tc.log.Printf(\"error fetching subscriber: %v\", err)\n\t\treturn models.Subscriber{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\",\n\t\t\t\t\"name\", \"{globals.terms.subscriber}\", \"error\", pqErrMsg(err)))\n\t}\n\tif len(out) == 0 {\n\t\treturn models.Subscriber{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\",\n\t\t\t\tfmt.Sprintf(\"{globals.terms.subscriber} (%d: %s%s)\", id, uuid, email)))\n\t}\n\tif err := out.LoadLists(c.q.GetSubscriberListsLazy); err != nil {\n\t\tc.log.Printf(\"error loading subscriber lists: %v\", err)\n\t\treturn models.Subscriber{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\",\n\t\t\t\t\"name\", \"{globals.terms.lists}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out[0], nil\n}\n\n// HasSubscriberLists checks if the given subscribers have at least one of the given lists.\nfunc (c *Core) HasSubscriberLists(subIDs []int, listIDs []int) (map[int]bool, error) {\n\tres := []struct {\n\t\tSubID int  `db:\"subscriber_id\"`\n\t\tHas   bool `db:\"has\"`\n\t}{}\n\n\tif err := c.q.HasSubscriberLists.Select(&res, pq.Array(subIDs), pq.Array(listIDs)); err != nil {\n\t\tc.log.Printf(\"error fetching subscriber: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscriber}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tout := make(map[int]bool, len(res))\n\tfor _, r := range res {\n\t\tout[r.SubID] = r.Has\n\t}\n\n\treturn out, nil\n}\n\n// GetSubscribersByEmail fetches a subscriber by one of the given params.\nfunc (c *Core) GetSubscribersByEmail(emails []string) (models.Subscribers, error) {\n\tvar out models.Subscribers\n\n\tif err := c.q.GetSubscribersByEmails.Select(&out, pq.Array(emails)); err != nil {\n\t\tc.log.Printf(\"error fetching subscriber: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscriber}\", \"error\", pqErrMsg(err)))\n\t}\n\tif len(out) == 0 {\n\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"campaigns.noKnownSubsToTest\"))\n\t}\n\n\tif err := out.LoadLists(c.q.GetSubscriberListsLazy); err != nil {\n\t\tc.log.Printf(\"error loading subscriber lists: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.lists}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// QuerySubscribers queries and returns paginated subscrribers based on the given params including the total count.\nfunc (c *Core) QuerySubscribers(searchStr, queryExp string, listIDs []int, subStatus string, order, orderBy string, offset, limit int) (models.Subscribers, int, error) {\n\t// Sort params.\n\tif !strSliceContains(orderBy, subQuerySortFields) {\n\t\torderBy = \"subscribers.id\"\n\t}\n\tif order != SortAsc && order != SortDesc {\n\t\torder = SortDesc\n\t}\n\n\t// Required for pq.Array()\n\tif listIDs == nil {\n\t\tlistIDs = []int{}\n\t}\n\n\t// There's an arbitrary query condition.\n\tcond := \"TRUE\"\n\tif queryExp != \"\" {\n\t\tcond = queryExp\n\t}\n\n\t// stmt is the raw SQL query.\n\tstmt := strings.ReplaceAll(c.q.QuerySubscribers, \"%query%\", cond)\n\tstmt = strings.ReplaceAll(stmt, \"%order%\", orderBy+\" \"+order)\n\n\t// Validate the tables used in the query.\n\tif err := validateQueryTables(c.db, stmt, allowedSubQueryTables); err != nil {\n\t\tc.log.Printf(\"error validating query tables: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"subscribers.errorPreparingQuery\", \"error\", err.Error()))\n\t}\n\n\t// Create a readonly transaction that just does COUNT() to obtain the count of results\n\t// and to ensure that the arbitrary query is indeed readonly.\n\ttotal, err := c.getSubscriberCount(searchStr, cond, subStatus, listIDs)\n\tif err != nil {\n\t\tc.log.Printf(\"error getting subscriber count: %v\", err)\n\t\treturn nil, 0, err\n\t}\n\n\t// No results.\n\tif total == 0 {\n\t\treturn models.Subscribers{}, 0, nil\n\t}\n\n\ttx, err := c.db.BeginTxx(context.Background(), &sql.TxOptions{ReadOnly: true})\n\tif err != nil {\n\t\tc.log.Printf(\"error preparing subscriber query: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts(\"subscribers.errorPreparingQuery\", \"error\", pqErrMsg(err)))\n\t}\n\tdefer tx.Rollback()\n\n\tvar out models.Subscribers\n\tif err := tx.Select(&out, stmt, pq.Array(listIDs), subStatus, searchStr, offset, limit); err != nil {\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\t// Lazy load lists for each subscriber.\n\tif err := out.LoadLists(c.q.GetSubscriberListsLazy); err != nil {\n\t\tc.log.Printf(\"error fetching subscriber lists: %v\", err)\n\t\treturn nil, 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, total, nil\n}\n\n// GetSubscriberLists returns a subscriber's lists based on the given conditions.\nfunc (c *Core) GetSubscriberLists(subID int, uuid string, listIDs []int, listUUIDs []string, subStatus string, listType string) ([]models.List, error) {\n\tif listIDs == nil {\n\t\tlistIDs = []int{}\n\t}\n\tif listUUIDs == nil {\n\t\tlistUUIDs = []string{}\n\t}\n\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\t// Fetch double opt-in lists from the given list IDs.\n\t// Get the list of subscription lists where the subscriber hasn't confirmed.\n\tout := []models.List{}\n\tif err := c.q.GetSubscriberLists.Select(&out, subID, uu, pq.Array(listIDs), pq.Array(listUUIDs), subStatus, listType); err != nil {\n\t\tc.log.Printf(\"error fetching lists for opt-in: %s\", pqErrMsg(err))\n\t\treturn nil, err\n\t}\n\n\treturn out, nil\n}\n\n// GetSubscriberProfileForExport returns the subscriber's profile data as a JSON exportable.\n// Get the subscriber's data. A single query that gets the profile, list subscriptions, campaign views,\n// and link clicks. Names of private lists are replaced with \"Private list\".\nfunc (c *Core) GetSubscriberProfileForExport(id int, uuid string) (models.SubscriberExportProfile, error) {\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\tvar out models.SubscriberExportProfile\n\tif err := c.q.ExportSubscriberData.Get(&out, id, uu); err != nil {\n\t\tc.log.Printf(\"error fetching subscriber export data: %v\", err)\n\n\t\treturn models.SubscriberExportProfile{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", err.Error()))\n\t}\n\n\treturn out, nil\n}\n\n// GetSubscriberActivity returns the subscriber's campaign views and link clicks for the Activity tab.\nfunc (c *Core) GetSubscriberActivity(id int) (models.SubscriberActivity, error) {\n\tvar out models.SubscriberActivity\n\tif err := c.q.GetSubscriberActivity.Get(&out, id); err != nil {\n\t\tc.log.Printf(\"error fetching subscriber activity: %v\", err)\n\n\t\treturn models.SubscriberActivity{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"activity\", \"error\", err.Error()))\n\t}\n\n\treturn out, nil\n}\n\n// ExportSubscribers returns an iterator function that provides lists of subscribers based\n// on the given criteria in an exportable form. The iterator function returned can be called\n// repeatedly until there are nil subscribers. It's an iterator because exports can be extremely\n// large and may have to be fetched in batches from the DB and streamed somewhere.\nfunc (c *Core) ExportSubscribers(searchStr, query string, subIDs, listIDs []int, subStatus string, batchSize int) (func() ([]models.SubscriberExport, error), error) {\n\tif subIDs == nil {\n\t\tsubIDs = []int{}\n\t}\n\tif listIDs == nil {\n\t\tlistIDs = []int{}\n\t}\n\n\t// There's an arbitrary query condition.\n\tcond := \"TRUE\"\n\tif query != \"\" {\n\t\tcond = query\n\t}\n\n\tstmt := strings.ReplaceAll(c.q.QuerySubscribersForExport, \"%query%\", cond)\n\n\t// Create a readonly transaction that just does COUNT() to obtain the count of results\n\t// and to ensure that the arbitrary query is indeed readonly.\n\tif _, err := c.getSubscriberCount(searchStr, cond, subStatus, listIDs); err != nil {\n\t\tc.log.Printf(\"error getting subscriber count: %v\", err)\n\t\treturn nil, err\n\t}\n\n\t// Prepare the actual query statement.\n\ttx, err := c.db.Preparex(stmt)\n\tif err != nil {\n\t\tc.log.Printf(\"error preparing subscriber query: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"subscribers.errorPreparingQuery\", \"error\", pqErrMsg(err)))\n\t}\n\n\tid := 0\n\treturn func() ([]models.SubscriberExport, error) {\n\t\tvar out []models.SubscriberExport\n\t\tif err := tx.Select(&out, pq.Array(listIDs), id, pq.Array(subIDs), subStatus, searchStr, batchSize); err != nil {\n\t\t\tc.log.Printf(\"error exporting subscribers by query: %v\", err)\n\t\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t\t}\n\t\tif len(out) == 0 {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tid = out[len(out)-1].ID\n\t\treturn out, nil\n\t}, nil\n}\n\n// InsertSubscriber inserts a subscriber and returns the ID. The first bool indicates if\n// it was a new subscriber, and the second bool indicates if the subscriber was sent an optin confirmation.\n// bool = optinSent?\nfunc (c *Core) InsertSubscriber(sub models.Subscriber, listIDs []int, listUUIDs []string, preconfirm, assertOptin bool) (models.Subscriber, bool, error) {\n\tuu, err := uuid.NewV4()\n\tif err != nil {\n\t\tc.log.Printf(\"error generating UUID: %v\", err)\n\t\treturn models.Subscriber{}, false, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUUID\", \"error\", err.Error()))\n\t}\n\tsub.UUID = uu.String()\n\n\tsubStatus := models.SubscriptionStatusUnconfirmed\n\tif preconfirm {\n\t\tsubStatus = models.SubscriptionStatusConfirmed\n\t}\n\tif sub.Status == \"\" {\n\t\tsub.Status = auth.UserStatusEnabled\n\t}\n\n\t// For pq.Array()\n\tif listIDs == nil {\n\t\tlistIDs = []int{}\n\t}\n\tif listUUIDs == nil {\n\t\tlistUUIDs = []string{}\n\t}\n\n\tif err = c.q.InsertSubscriber.Get(&sub.ID,\n\t\tsub.UUID,\n\t\tsub.Email,\n\t\tstrings.TrimSpace(sub.Name),\n\t\tsub.Status,\n\t\tsub.Attribs,\n\t\tpq.Array(listIDs),\n\t\tpq.Array(listUUIDs),\n\t\tsubStatus); err != nil {\n\t\tif pqErr, ok := err.(*pq.Error); ok && pqErr.Constraint == \"subscribers_email_key\" {\n\t\t\treturn models.Subscriber{}, false, echo.NewHTTPError(http.StatusConflict, c.i18n.T(\"subscribers.emailExists\"))\n\t\t} else {\n\t\t\t// return sub.Subscriber, errSubscriberExists\n\t\t\tc.log.Printf(\"error inserting subscriber: %v\", err)\n\t\t\treturn models.Subscriber{}, false, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.subscriber}\", \"error\", pqErrMsg(err)))\n\t\t}\n\t}\n\n\t// Fetch the subscriber's full data. If the subscriber already existed and wasn't\n\t// created, the id will be empty. Fetch the details by e-mail then.\n\tout, err := c.GetSubscriber(sub.ID, \"\", sub.Email)\n\tif err != nil {\n\t\treturn models.Subscriber{}, false, err\n\t}\n\n\thasOptin := false\n\tif !preconfirm && c.consts.SendOptinConfirmation {\n\t\t// Send a confirmation e-mail (if there are any double opt-in lists).\n\t\tnum, err := c.h.SendOptinConfirmation(out, listIDs)\n\t\tif assertOptin && err != nil {\n\t\t\treturn out, hasOptin, err\n\t\t}\n\n\t\thasOptin = num > 0\n\t}\n\n\treturn out, hasOptin, nil\n}\n\n// UpdateSubscriber updates a subscriber's properties.\nfunc (c *Core) UpdateSubscriber(id int, sub models.Subscriber) (models.Subscriber, error) {\n\t// Format raw JSON attributes.\n\tattribs := []byte(\"{}\")\n\tif len(sub.Attribs) > 0 {\n\t\tif b, err := json.Marshal(sub.Attribs); err != nil {\n\t\t\treturn models.Subscriber{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\",\n\t\t\t\t\t\"name\", \"{globals.terms.subscriber}\", \"error\", err.Error()))\n\t\t} else {\n\t\t\tattribs = b\n\t\t}\n\t}\n\n\t_, err := c.q.UpdateSubscriber.Exec(id,\n\t\tsub.Email,\n\t\tstrings.TrimSpace(sub.Name),\n\t\tsub.Status,\n\t\tjson.RawMessage(attribs),\n\t)\n\tif err != nil {\n\t\tc.log.Printf(\"error updating subscriber: %v\", err)\n\t\treturn models.Subscriber{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscriber}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tout, err := c.GetSubscriber(sub.ID, \"\", sub.Email)\n\tif err != nil {\n\t\treturn models.Subscriber{}, err\n\t}\n\n\treturn out, nil\n}\n\n// UpdateSubscriberWithLists updates a subscriber's properties.\n// If deleteLists is set to true, all existing subscriptions are deleted and only\n// the ones provided are added or retained.\nfunc (c *Core) UpdateSubscriberWithLists(id int, sub models.Subscriber, listIDs []int, listUUIDs []string, preconfirm, deleteLists, assertOptin bool, permittedListIDs []int) (models.Subscriber, bool, error) {\n\tsubStatus := models.SubscriptionStatusUnconfirmed\n\tif preconfirm {\n\t\tsubStatus = models.SubscriptionStatusConfirmed\n\t}\n\n\t// Format raw JSON attributes.\n\tattribs := []byte(\"{}\")\n\tif len(sub.Attribs) > 0 {\n\t\tif b, err := json.Marshal(sub.Attribs); err != nil {\n\t\t\treturn models.Subscriber{}, false, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\",\n\t\t\t\t\t\"name\", \"{globals.terms.subscriber}\", \"error\", err.Error()))\n\t\t} else {\n\t\t\tattribs = b\n\t\t}\n\t}\n\n\t_, err := c.q.UpdateSubscriberWithLists.Exec(id,\n\t\tsub.Email,\n\t\tstrings.TrimSpace(sub.Name),\n\t\tsub.Status,\n\t\tjson.RawMessage(attribs),\n\t\tpq.Array(listIDs),\n\t\tpq.Array(listUUIDs),\n\t\tsubStatus,\n\t\tdeleteLists,\n\t\tpq.Array(permittedListIDs))\n\tif err != nil {\n\t\tc.log.Printf(\"error updating subscriber: %v\", err)\n\t\treturn models.Subscriber{}, false, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscriber}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tout, err := c.GetSubscriber(sub.ID, \"\", sub.Email)\n\tif err != nil {\n\t\treturn models.Subscriber{}, false, err\n\t}\n\n\thasOptin := false\n\tif !preconfirm && c.consts.SendOptinConfirmation {\n\t\t// Send a confirmation e-mail (if there are any double opt-in lists).\n\t\tnum, err := c.h.SendOptinConfirmation(out, listIDs)\n\t\tif assertOptin && err != nil {\n\t\t\treturn out, hasOptin, err\n\t\t}\n\t\thasOptin = num > 0\n\t}\n\n\treturn out, hasOptin, nil\n}\n\n// BlocklistSubscribers blocklists the given list of subscribers.\nfunc (c *Core) BlocklistSubscribers(subIDs []int) error {\n\tif _, err := c.q.BlocklistSubscribers.Exec(pq.Array(subIDs)); err != nil {\n\t\tc.log.Printf(\"error blocklisting subscribers: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"subscribers.errorBlocklisting\", \"error\", err.Error()))\n\t}\n\n\treturn nil\n}\n\n// BlocklistSubscribersByQuery blocklists the given list of subscribers.\nfunc (c *Core) BlocklistSubscribersByQuery(searchStr, queryExp string, listIDs []int, subStatus string) error {\n\tif err := c.q.ExecSubQueryTpl(searchStr, sanitizeSQLExp(queryExp), c.q.BlocklistSubscribersByQuery, listIDs, c.db, subStatus); err != nil {\n\t\tc.log.Printf(\"error blocklisting subscribers: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"subscribers.errorBlocklisting\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteSubscribers deletes the given list of subscribers.\nfunc (c *Core) DeleteSubscribers(subIDs []int, subUUIDs []string) error {\n\tif subIDs == nil {\n\t\tsubIDs = []int{}\n\t}\n\tif subUUIDs == nil {\n\t\tsubUUIDs = []string{}\n\t}\n\n\tif _, err := c.q.DeleteSubscribers.Exec(pq.Array(subIDs), pq.Array(subUUIDs)); err != nil {\n\t\tc.log.Printf(\"error deleting subscribers: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteSubscribersByQuery deletes subscribers by a given arbitrary query expression.\nfunc (c *Core) DeleteSubscribersByQuery(searchStr, queryExp string, listIDs []int, subStatus string) error {\n\terr := c.q.ExecSubQueryTpl(searchStr, sanitizeSQLExp(queryExp), c.q.DeleteSubscribersByQuery, listIDs, c.db, subStatus)\n\tif err != nil {\n\t\tc.log.Printf(\"error deleting subscribers: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn err\n}\n\n// UnsubscribeByCampaign unsubscribes a given subscriber from lists in a given campaign.\nfunc (c *Core) UnsubscribeByCampaign(subUUID, campUUID string, blocklist bool) error {\n\tif _, err := c.q.UnsubscribeByCampaign.Exec(campUUID, subUUID, blocklist); err != nil {\n\t\tc.log.Printf(\"error unsubscribing: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// ConfirmOptionSubscription confirms a subscriber's optin subscription.\nfunc (c *Core) ConfirmOptionSubscription(subUUID string, listUUIDs []string, meta models.JSON) error {\n\tif meta == nil {\n\t\tmeta = models.JSON{}\n\t}\n\n\tif _, err := c.q.ConfirmSubscriptionOptin.Exec(subUUID, pq.Array(listUUIDs), meta); err != nil {\n\t\tc.log.Printf(\"error confirming subscription: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteSubscriberBounces deletes the given list of subscribers.\nfunc (c *Core) DeleteSubscriberBounces(id int, uuid string) error {\n\tvar uu any\n\tif uuid != \"\" {\n\t\tuu = uuid\n\t}\n\n\tif _, err := c.q.DeleteBouncesBySubscriber.Exec(id, uu); err != nil {\n\t\tc.log.Printf(\"error deleting bounces: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.bounces}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteOrphanSubscribers deletes orphan subscriber records (subscribers without lists).\nfunc (c *Core) DeleteOrphanSubscribers() (int, error) {\n\tres, err := c.q.DeleteOrphanSubscribers.Exec()\n\tif err != nil {\n\t\tc.log.Printf(\"error deleting orphan subscribers: %v\", err)\n\t\treturn 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tn, _ := res.RowsAffected()\n\treturn int(n), nil\n}\n\n// DeleteBlocklistedSubscribers deletes blocklisted subscribers.\nfunc (c *Core) DeleteBlocklistedSubscribers() (int, error) {\n\tres, err := c.q.DeleteBlocklistedSubscribers.Exec()\n\tif err != nil {\n\t\tc.log.Printf(\"error deleting blocklisted subscribers: %v\", err)\n\t\treturn 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tn, _ := res.RowsAffected()\n\treturn int(n), nil\n}\n\nfunc (c *Core) getSubscriberCount(searchStr, queryExp, subStatus string, listIDs []int) (int, error) {\n\t// If there's no condition, it's a \"get all\" call which can probably be optionally pulled from cache.\n\tif queryExp == \"\" {\n\t\t_ = c.refreshCache(matListSubStats, false)\n\n\t\ttotal := 0\n\t\tif err := c.q.QuerySubscribersCountAll.Get(&total, pq.Array(listIDs), subStatus); err != nil {\n\t\t\treturn 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t\t}\n\n\t\treturn total, nil\n\t}\n\n\t// Create a readonly transaction that just does COUNT() to obtain the count of results\n\t// and to ensure that the arbitrary query is indeed readonly.\n\tstmt := strings.ReplaceAll(c.q.QuerySubscribersCount, \"%query%\", queryExp)\n\ttx, err := c.db.BeginTxx(context.Background(), &sql.TxOptions{ReadOnly: true})\n\tif err != nil {\n\t\tc.log.Printf(\"error preparing subscriber query: %v\", err)\n\t\treturn 0, echo.NewHTTPError(http.StatusBadRequest, c.i18n.Ts(\"subscribers.errorPreparingQuery\", \"error\", pqErrMsg(err)))\n\t}\n\tdefer tx.Rollback()\n\n\t// Execute the readonly query and get the count of results.\n\ttotal := 0\n\tif err := tx.Get(&total, stmt, pq.Array(listIDs), subStatus, searchStr); err != nil {\n\t\treturn 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn total, nil\n}\n\n// validateQueryTables checks if the query accesses only allowed tables.\nfunc validateQueryTables(db *sqlx.DB, query string, allowedTables map[string]struct{}) error {\n\t// Get the EXPLAIN (FORMAT JSON) output.\n\ttx, err := db.BeginTxx(context.Background(), &sql.TxOptions{ReadOnly: true})\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer tx.Rollback()\n\n\tvar plan string\n\tif err = tx.QueryRow(\"EXPLAIN (FORMAT JSON) \"+query, nil, models.SubscriberStatusEnabled, \"\", 0, 10).Scan(&plan); err != nil {\n\t\treturn err\n\t}\n\n\t// Extract all relation names from the JSON plan.\n\ttables, err := getTablesFromQueryPlan(plan)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error getting tables from query: %v\", err)\n\t}\n\n\t// Validate against allowed tables.\n\tfor _, table := range tables {\n\t\tif _, ok := allowedTables[table]; !ok {\n\t\t\treturn fmt.Errorf(\"table '%s' is not allowed\", table)\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// getTablesFromQueryPlan parses the EXPLAIN JSON to find all \"Relation Name\" entries.\nfunc getTablesFromQueryPlan(explainJSON string) ([]string, error) {\n\tvar plans []map[string]any\n\tif err := json.Unmarshal([]byte(explainJSON), &plans); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Collect table names in `tables` recursively.\n\ttables := make(map[string]struct{})\n\tfor _, plan := range plans {\n\t\ttraverseQueryPlan(plan, tables)\n\t}\n\n\tresult := make([]string, 0, len(tables))\n\tfor table := range tables {\n\t\tresult = append(result, table)\n\t}\n\treturn result, nil\n}\n\nfunc traverseQueryPlan(node map[string]any, tables map[string]struct{}) {\n\tif relName, ok := node[\"Relation Name\"].(string); ok {\n\t\ttables[relName] = struct{}{}\n\t}\n\n\t// Recursively check nested plans (e.g., subqueries, CTEs).\n\tfor _, v := range node {\n\t\tswitch v := v.(type) {\n\t\tcase map[string]any:\n\t\t\ttraverseQueryPlan(v, tables)\n\t\tcase []any:\n\t\t\tfor _, item := range v {\n\t\t\t\tif m, ok := item.(map[string]any); ok {\n\t\t\t\t\ttraverseQueryPlan(m, tables)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "internal/core/subscriptions.go",
    "content": "package core\n\nimport (\n\t\"net/http\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n)\n\n// GetSubscriptions retrieves the subscriptions for a subscriber.\nfunc (c *Core) GetSubscriptions(subID int, subUUID string, allLists bool) ([]models.Subscription, error) {\n\tvar out []models.Subscription\n\terr := c.q.GetSubscriptions.Select(&out, subID, subUUID, allLists)\n\tif err != nil {\n\t\tc.log.Printf(\"error getting subscriptions: %v\", err)\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.subscribers}\", \"error\", err.Error()))\n\t}\n\n\treturn out, err\n}\n\n// AddSubscriptions adds list subscriptions to subscribers.\nfunc (c *Core) AddSubscriptions(subIDs, listIDs []int, status string) error {\n\tif _, err := c.q.AddSubscribersToLists.Exec(pq.Array(subIDs), pq.Array(listIDs), status); err != nil {\n\t\tc.log.Printf(\"error adding subscriptions: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", err.Error()))\n\t}\n\n\treturn nil\n}\n\n// AddSubscriptionsByQuery adds list subscriptions to subscribers by a given arbitrary query expression.\n// sourceListIDs is the list of list IDs to filter the subscriber query with.\nfunc (c *Core) AddSubscriptionsByQuery(searchStr, queryExp string, sourceListIDs, targetListIDs []int, status string, subStatus string) error {\n\tif sourceListIDs == nil {\n\t\tsourceListIDs = []int{}\n\t}\n\n\terr := c.q.ExecSubQueryTpl(searchStr, queryExp, c.q.AddSubscribersToListsByQuery, sourceListIDs, c.db, subStatus, pq.Array(targetListIDs), status)\n\tif err != nil {\n\t\tc.log.Printf(\"error adding subscriptions by query: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteSubscriptions delete list subscriptions from subscribers.\nfunc (c *Core) DeleteSubscriptions(subIDs, listIDs []int) error {\n\tif _, err := c.q.DeleteSubscriptions.Exec(pq.Array(subIDs), pq.Array(listIDs)); err != nil {\n\t\tc.log.Printf(\"error deleting subscriptions: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", err.Error()))\n\n\t}\n\n\treturn nil\n}\n\n// DeleteSubscriptionsByQuery deletes list subscriptions from subscribers by a given arbitrary query expression.\n// sourceListIDs is the list of list IDs to filter the subscriber query with.\nfunc (c *Core) DeleteSubscriptionsByQuery(searchStr, queryExp string, sourceListIDs, targetListIDs []int, subStatus string) error {\n\tif sourceListIDs == nil {\n\t\tsourceListIDs = []int{}\n\t}\n\n\terr := c.q.ExecSubQueryTpl(searchStr, queryExp, c.q.DeleteSubscriptionsByQuery, sourceListIDs, c.db, subStatus, pq.Array(targetListIDs))\n\tif err != nil {\n\t\tc.log.Printf(\"error deleting subscriptions by query: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// UnsubscribeLists sets list subscriptions to 'unsubscribed'.\nfunc (c *Core) UnsubscribeLists(subIDs, listIDs []int, listUUIDs []string) error {\n\tif _, err := c.q.UnsubscribeSubscribersFromLists.Exec(pq.Array(subIDs), pq.Array(listIDs), pq.StringArray(listUUIDs)); err != nil {\n\t\tc.log.Printf(\"error unsubscribing from lists: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", err.Error()))\n\t}\n\n\treturn nil\n}\n\n// UnsubscribeListsByQuery sets list subscriptions to 'unsubscribed' by a given arbitrary query expression.\n// sourceListIDs is the list of list IDs to filter the subscriber query with.\nfunc (c *Core) UnsubscribeListsByQuery(searchStr, queryExp string, sourceListIDs, targetListIDs []int, subStatus string) error {\n\tif sourceListIDs == nil {\n\t\tsourceListIDs = []int{}\n\t}\n\n\terr := c.q.ExecSubQueryTpl(searchStr, queryExp, c.q.UnsubscribeSubscribersFromListsByQuery, sourceListIDs, c.db, subStatus, pq.Array(targetListIDs))\n\tif err != nil {\n\t\tc.log.Printf(\"error unsubscribing from lists by query: %v\", err)\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteUnconfirmedSubscriptions sets list subscriptions to 'unsubscribed' by a given arbitrary query expression.\n// sourceListIDs is the list of list IDs to filter the subscriber query with.\nfunc (c *Core) DeleteUnconfirmedSubscriptions(beforeDate time.Time) (int, error) {\n\tres, err := c.q.DeleteUnconfirmedSubscriptions.Exec(beforeDate)\n\tif err != nil {\n\t\tc.log.Printf(\"error deleting unconfirmed subscribers: %v\", err)\n\t\treturn 0, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.subscribers}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tn, _ := res.RowsAffected()\n\treturn int(n), nil\n}\n"
  },
  {
    "path": "internal/core/templates.go",
    "content": "package core\n\nimport (\n\t\"database/sql\"\n\t\"net/http\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/labstack/echo/v4\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\n// GetTemplates retrieves all templates.\nfunc (c *Core) GetTemplates(status string, noBody bool) ([]models.Template, error) {\n\tout := []models.Template{}\n\tif err := c.q.GetTemplates.Select(&out, 0, noBody, status); err != nil {\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.templates}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// GetTemplate retrieves a given template.\nfunc (c *Core) GetTemplate(id int, noBody bool) (models.Template, error) {\n\tvar out []models.Template\n\tif err := c.q.GetTemplates.Select(&out, id, noBody, \"\"); err != nil {\n\t\treturn models.Template{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.templates}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif len(out) == 0 {\n\t\treturn models.Template{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.template}\"))\n\t}\n\n\treturn out[0], nil\n}\n\n// CreateTemplate creates a new template.\nfunc (c *Core) CreateTemplate(name, typ, subject string, body []byte, bodySource null.String) (models.Template, error) {\n\tvar newID int\n\tif err := c.q.CreateTemplate.Get(&newID, name, typ, subject, body, bodySource); err != nil {\n\t\treturn models.Template{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.template}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn c.GetTemplate(newID, false)\n}\n\n// UpdateTemplate updates a given template.\nfunc (c *Core) UpdateTemplate(id int, name, subject string, body []byte, bodySource null.String) (models.Template, error) {\n\tres, err := c.q.UpdateTemplate.Exec(id, name, subject, body, bodySource)\n\tif err != nil {\n\t\treturn models.Template{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.template}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif n, _ := res.RowsAffected(); n == 0 {\n\t\treturn models.Template{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.template}\"))\n\t}\n\n\treturn c.GetTemplate(id, false)\n}\n\n// SetDefaultTemplate sets a template as default.\nfunc (c *Core) SetDefaultTemplate(id int) error {\n\tif _, err := c.q.SetDefaultTemplate.Exec(id); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.template}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteTemplate deletes a given template.\nfunc (c *Core) DeleteTemplate(id int) error {\n\tvar delID int\n\tif err := c.q.DeleteTemplate.Get(&delID, id); err != nil && err != sql.ErrNoRows {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.template}\", \"error\", pqErrMsg(err)))\n\t}\n\tif delID == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"templates.cantDeleteDefault\"))\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/core/users.go",
    "content": "package core\n\nimport (\n\t\"database/sql\"\n\t\"encoding/json\"\n\t\"net/http\"\n\n\t\"github.com/knadh/listmonk/internal/auth\"\n\t\"github.com/knadh/listmonk/internal/utils\"\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/lib/pq\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\nfunc (c *Core) GetUsers() ([]auth.User, error) {\n\tout := []auth.User{}\n\tif err := c.q.GetUsers.Select(&out); err != nil {\n\t\treturn nil, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.users}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn c.setupUserFields(out), nil\n}\n\n// GetUser retrieves a specific user based on any one given identifier.\nfunc (c *Core) GetUser(id int, username, email string) (auth.User, error) {\n\tvar out auth.User\n\tif err := c.q.GetUser.Get(&out, id, username, email); err != nil {\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn out, echo.NewHTTPError(http.StatusNotFound,\n\t\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.user}\"))\n\n\t\t}\n\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.users}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn c.setupUserFields([]auth.User{out})[0], nil\n}\n\n// CreateUser creates a new user.\nfunc (c *Core) CreateUser(u auth.User) (auth.User, error) {\n\tvar id int\n\n\t// If it's an API user, generate a random token for password\n\t// and set the e-mail to default.\n\tif u.Type == auth.UserTypeAPI {\n\t\t// Generate a random admin password.\n\t\ttk, err := utils.GenerateRandomString(32)\n\t\tif err != nil {\n\t\t\treturn auth.User{}, err\n\t\t}\n\n\t\tu.Email = null.String{String: u.Username + \"@api\", Valid: true}\n\t\tu.PasswordLogin = false\n\t\tu.Password = null.String{String: tk, Valid: true}\n\t}\n\n\tif err := c.q.CreateUser.Get(&id, u.Username, u.PasswordLogin, u.Password, u.Email, u.Name, u.Type, u.UserRoleID, u.ListRoleID, u.Status); err != nil {\n\t\treturn auth.User{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorCreating\", \"name\", \"{globals.terms.user}\", \"error\", pqErrMsg(err)))\n\t}\n\n\t// Hide the password field in the response except for when the user type is an API token,\n\t// where the frontend shows the token on the UI just once.\n\tif u.Type != auth.UserTypeAPI {\n\t\tu.Password = null.String{Valid: false}\n\t}\n\n\tout, err := c.GetUser(id, \"\", \"\")\n\treturn out, err\n}\n\n// UpdateUser updates a given user.\nfunc (c *Core) UpdateUser(id int, u auth.User) (auth.User, error) {\n\tlistRoleID := 0\n\tif u.ListRoleID == nil {\n\t\tlistRoleID = -1\n\t} else {\n\t\tlistRoleID = *u.ListRoleID\n\t}\n\n\tres, err := c.q.UpdateUser.Exec(id, u.Username, u.PasswordLogin, u.Password, u.Email, u.Name, u.Type, u.UserRoleID, listRoleID, u.Status)\n\tif err != nil {\n\t\treturn auth.User{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.user}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif n, _ := res.RowsAffected(); n == 0 {\n\t\treturn auth.User{}, echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"users.needSuper\"))\n\t}\n\n\tout, err := c.GetUser(id, \"\", \"\")\n\n\treturn out, err\n}\n\n// UpdateUserProfile updates the basic fields of a given uesr (name, email, password).\nfunc (c *Core) UpdateUserProfile(id int, u auth.User) (auth.User, error) {\n\tres, err := c.q.UpdateUserProfile.Exec(id, u.Name, u.Email, u.PasswordLogin, u.Password)\n\tif err != nil {\n\t\treturn auth.User{}, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.user}\", \"error\", pqErrMsg(err)))\n\t}\n\n\tif n, _ := res.RowsAffected(); n == 0 {\n\t\treturn auth.User{}, echo.NewHTTPError(http.StatusBadRequest,\n\t\t\tc.i18n.Ts(\"globals.messages.notFound\", \"name\", \"{globals.terms.user}\"))\n\t}\n\n\treturn c.GetUser(id, \"\", \"\")\n}\n\n// UpdateUserLogin updates a user's record post-login.\nfunc (c *Core) UpdateUserLogin(id int, avatar string) error {\n\tif _, err := c.q.UpdateUserLogin.Exec(id, avatar); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.user}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// SetTwoFA sets or clears the 2FA configuration for a user.\nfunc (c *Core) SetTwoFA(id int, twofaType, twofaKey string) error {\n\tif _, err := c.q.SetUserTwoFA.Exec(id, twofaType, twofaKey); err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorUpdating\", \"name\", \"{globals.terms.user}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn nil\n}\n\n// DeleteUsers deletes a given user.\nfunc (c *Core) DeleteUsers(ids []int) error {\n\tres, err := c.q.DeleteUsers.Exec(pq.Array(ids))\n\tif err != nil {\n\t\treturn echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorDeleting\", \"name\", \"{globals.terms.user}\", \"error\", pqErrMsg(err)))\n\t}\n\tif num, err := res.RowsAffected(); err != nil || num == 0 {\n\t\treturn echo.NewHTTPError(http.StatusBadRequest, c.i18n.T(\"users.needSuper\"))\n\t}\n\n\treturn nil\n}\n\n// LoginUser attempts to log the given user_id in by matching the password.\nfunc (c *Core) LoginUser(username, password string) (auth.User, error) {\n\tvar out auth.User\n\tif err := c.q.LoginUser.Get(&out, username, password); err != nil {\n\t\tif err == sql.ErrNoRows {\n\t\t\treturn out, echo.NewHTTPError(http.StatusForbidden, c.i18n.T(\"users.invalidLogin\"))\n\t\t}\n\n\t\treturn out, echo.NewHTTPError(http.StatusInternalServerError,\n\t\t\tc.i18n.Ts(\"globals.messages.errorFetching\", \"name\", \"{globals.terms.users}\", \"error\", pqErrMsg(err)))\n\t}\n\n\treturn out, nil\n}\n\n// setupUserFields prepares and sets up various user fields.\nfunc (c *Core) setupUserFields(users []auth.User) []auth.User {\n\tfor n, u := range users {\n\t\tu := u\n\n\t\tif u.Password.String != \"\" {\n\t\t\tu.HasPassword = true\n\t\t\tu.PasswordLogin = true\n\t\t}\n\n\t\tif u.Type == auth.UserTypeAPI {\n\t\t\tu.Email = null.String{}\n\t\t}\n\n\t\tu.UserRole.ID = u.UserRoleID\n\t\tu.UserRole.Name = u.UserRoleName\n\t\tu.UserRole.Permissions = u.UserRolePerms\n\t\tu.UserRoleID = 0\n\n\t\t// Prepare lookup maps.\n\t\tu.ListPermissionsMap = make(map[int]map[string]struct{})\n\t\tu.PermissionsMap = make(map[string]struct{})\n\t\tfor _, p := range u.UserRolePerms {\n\t\t\tu.PermissionsMap[p] = struct{}{}\n\t\t}\n\n\t\tif u.ListRoleID != nil {\n\t\t\t// Unmarshall the raw list perms map.\n\t\t\tvar listPerms []auth.ListPermission\n\t\t\tif u.ListsPermsRaw != nil {\n\t\t\t\tif err := json.Unmarshal(*u.ListsPermsRaw, &listPerms); err != nil {\n\t\t\t\t\tc.log.Printf(\"error unmarshalling list permissions for role %d: %v\", u.ID, err)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tu.ListRole = &auth.ListRolePermissions{ID: *u.ListRoleID, Name: u.ListRoleName.String, Lists: listPerms}\n\n\t\t\t// Iterate each list in the list permissions and setup get/manage list IDs.\n\t\t\tfor _, p := range listPerms {\n\t\t\t\tu.ListPermissionsMap[p.ID] = make(map[string]struct{})\n\n\t\t\t\tfor _, perm := range p.Permissions {\n\t\t\t\t\tu.ListPermissionsMap[p.ID][perm] = struct{}{}\n\n\t\t\t\t\t// List IDs with get / manage permissions.\n\t\t\t\t\tif perm == auth.PermListGet {\n\t\t\t\t\t\tu.GetListIDs = append(u.GetListIDs, p.ID)\n\t\t\t\t\t}\n\t\t\t\t\tif perm == auth.PermListManage {\n\t\t\t\t\t\tu.ManageListIDs = append(u.ManageListIDs, p.ID)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tusers[n] = u\n\t}\n\n\treturn users\n}\n"
  },
  {
    "path": "internal/events/events.go",
    "content": "// Package events implements a simple event broadcasting mechanism\n// for usage in broadcasting error messages, postbacks etc. various\n// channels.\npackage events\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"sync\"\n)\n\nconst (\n\tTypeError = \"error\"\n)\n\n// Event represents a single event in the system.\ntype Event struct {\n\tID       string   `json:\"id\"`\n\tType     string   `json:\"type\"`\n\tMessage  string   `json:\"message\"`\n\tData     any      `json:\"data\"`\n\tChannels []string `json:\"-\"`\n}\n\ntype Events struct {\n\tsubs map[string]chan Event\n\tsync.RWMutex\n}\n\n// New returns a new instance of Events.\nfunc New() *Events {\n\treturn &Events{\n\t\tsubs: make(map[string]chan Event),\n\t}\n}\n\n// Subscribe returns a channel to which the given event `types` are streamed.\n// id is the unique identifier for the caller. A caller can only register\n// for subscription once.\nfunc (ev *Events) Subscribe(id string) (chan Event, error) {\n\tev.Lock()\n\tdefer ev.Unlock()\n\n\tif ch, ok := ev.subs[id]; ok {\n\t\treturn ch, nil\n\t}\n\n\tch := make(chan Event, 100)\n\tev.subs[id] = ch\n\n\treturn ch, nil\n}\n\n// Unsubscribe unsubscribes a subscriber (obviously).\nfunc (ev *Events) Unsubscribe(id string) {\n\tev.Lock()\n\tdefer ev.Unlock()\n\tdelete(ev.subs, id)\n}\n\n// Publish publishes an event to all subscribers.\nfunc (ev *Events) Publish(e Event) error {\n\tev.Lock()\n\tdefer ev.Unlock()\n\n\tfor _, ch := range ev.subs {\n\t\tselect {\n\t\tcase ch <- e:\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"event queue full for type: %s\", e.Type)\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// This implements an io.Writer specifically for receiving error messages\n// mirrored (io.MultiWriter) from error log writing.\ntype wri struct {\n\tev *Events\n}\n\nfunc (w *wri) Write(b []byte) (n int, err error) {\n\t// Only broadcast error messages.\n\tif !bytes.Contains(b, []byte(\"error\")) {\n\t\treturn 0, nil\n\t}\n\n\tw.ev.Publish(Event{\n\t\tType:    TypeError,\n\t\tMessage: string(b),\n\t})\n\n\treturn len(b), nil\n}\n\nfunc (ev *Events) ErrWriter() io.Writer {\n\treturn &wri{ev: ev}\n}\n"
  },
  {
    "path": "internal/i18n/i18n.go",
    "content": "// i18n is a simple package that translates strings using a language map.\n// It mimics some functionality of the vue-i18n library so that the same JSON\n// language map may be used in the JS frontend and the Go backend.\npackage i18n\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"regexp\"\n\t\"strings\"\n)\n\n// I18n offers translation functions over a language map.\ntype I18n struct {\n\tCode    string `json:\"code\"`\n\tName    string `json:\"name\"`\n\tlangMap map[string]string\n}\n\nvar reParam = regexp.MustCompile(`(?i)\\{([a-z0-9-.]+)\\}`)\n\n// New returns an I18n instance.\nfunc New(b []byte) (*I18n, error) {\n\tvar l map[string]string\n\tif err := json.Unmarshal(b, &l); err != nil {\n\t\treturn nil, err\n\t}\n\n\tcode, ok := l[\"_.code\"]\n\tif !ok {\n\t\treturn nil, errors.New(\"missing _.code field in language file\")\n\t}\n\n\tname, ok := l[\"_.name\"]\n\tif !ok {\n\t\treturn nil, errors.New(\"missing _.name field in language file\")\n\t}\n\n\treturn &I18n{\n\t\tlangMap: l,\n\t\tCode:    code,\n\t\tName:    name,\n\t}, nil\n}\n\n// Load loads a JSON language map into the instance overwriting\n// existing keys that conflict.\nfunc (i *I18n) Load(b []byte) error {\n\tvar l map[string]string\n\tif err := json.Unmarshal(b, &l); err != nil {\n\t\treturn err\n\t}\n\n\tfor k, v := range l {\n\t\ti.langMap[k] = v\n\t}\n\n\treturn nil\n}\n\n// JSON returns the languagemap as raw JSON.\nfunc (i *I18n) JSON() []byte {\n\tb, _ := json.Marshal(i.langMap)\n\treturn b\n}\n\n// T returns the translation for the given key similar to vue i18n's t().\nfunc (i *I18n) T(key string) string {\n\ts, ok := i.langMap[key]\n\tif !ok {\n\t\treturn key\n\t}\n\n\treturn i.getSingular(s)\n}\n\n// Ts returns the translation for the given key similar to vue i18n's t()\n// and substitutes the params in the given map in the translated value.\n// In the language values, the substitutions are represented as: {key}\n// The params and values are received as a pairs of succeeding strings.\n// That is, the number of these arguments should be an even number.\n// eg: Ts(\"globals.message.notFound\",\n//\n//\t\"name\", \"campaigns\",\n//\t\"error\", err)\nfunc (i *I18n) Ts(key string, params ...string) string {\n\tif len(params)%2 != 0 {\n\t\treturn key + `: Invalid arguments`\n\t}\n\n\ts, ok := i.langMap[key]\n\tif !ok {\n\t\treturn key\n\t}\n\n\ts = i.getSingular(s)\n\tfor n := 0; n < len(params); n += 2 {\n\t\t// If there are {params} in the param values, substitute them.\n\t\tval := i.subAllParams(params[n+1])\n\t\ts = strings.ReplaceAll(s, `{`+params[n]+`}`, val)\n\t}\n\n\treturn s\n}\n\n// Tc returns the translation for the given key similar to vue i18n's tc().\n// It expects the language string in the map to be of the form `Singular | Plural` and\n// returns `Plural` if n > 1, or `Singular` otherwise.\nfunc (i *I18n) Tc(key string, n int) string {\n\ts, ok := i.langMap[key]\n\tif !ok {\n\t\treturn key\n\t}\n\n\t// Plural.\n\tif n > 1 {\n\t\treturn i.getPlural(s)\n\t}\n\n\treturn i.getSingular(s)\n}\n\n// getSingular returns the singular term from the vuei18n pipe separated value.\n// singular term | plural term\nfunc (i *I18n) getSingular(s string) string {\n\tif !strings.Contains(s, \"|\") {\n\t\treturn s\n\t}\n\n\treturn strings.TrimSpace(strings.Split(s, \"|\")[0])\n}\n\n// getPlural returns the plural term from the vuei18n pipe separated value.\n// singular term | plural term\nfunc (i *I18n) getPlural(s string) string {\n\tif !strings.Contains(s, \"|\") {\n\t\treturn s\n\t}\n\n\tchunks := strings.Split(s, \"|\")\n\tif len(chunks) == 2 {\n\t\treturn strings.TrimSpace(chunks[1])\n\t}\n\n\treturn strings.TrimSpace(chunks[0])\n}\n\n// subAllParams recursively resolves and replaces all {params} in a string.\nfunc (i *I18n) subAllParams(s string) string {\n\tif !strings.Contains(s, `{`) {\n\t\treturn s\n\t}\n\n\tparts := reParam.FindAllStringSubmatch(s, -1)\n\tif len(parts) < 1 {\n\t\treturn s\n\t}\n\n\tfor _, p := range parts {\n\t\ts = strings.ReplaceAll(s, p[0], i.T(p[1]))\n\t}\n\n\treturn i.subAllParams(s)\n}\n"
  },
  {
    "path": "internal/manager/manager.go",
    "content": "package manager\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"log\"\n\t\"net/textproto\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"maps\"\n\n\t\"github.com/Masterminds/sprig/v3\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/internal/notifs\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"golang.org/x/text/cases\"\n\t\"golang.org/x/text/language\"\n)\n\nconst (\n\t// BaseTPL is the name of the base template.\n\tBaseTPL = \"base\"\n\n\t// ContentTpl is the name of the compiled message.\n\tContentTpl = \"content\"\n\n\tdummyUUID = \"00000000-0000-0000-0000-000000000000\"\n)\n\n// Store represents a data backend, such as a database,\n// that provides subscriber and campaign records.\ntype Store interface {\n\tNextCampaigns(currentIDs []int64, sentCounts []int64) ([]*models.Campaign, error)\n\tNextSubscribers(campID, limit int) ([]models.Subscriber, error)\n\tGetCampaign(campID int) (*models.Campaign, error)\n\tGetAttachment(mediaID int) (models.Attachment, error)\n\tUpdateCampaignStatus(campID int, status string) error\n\tUpdateCampaignCounts(campID int, toSend int, sent int, lastSubID int) error\n\tCreateLink(url string) (string, error)\n\tBlocklistSubscriber(id int64) error\n\tDeleteSubscriber(id int64) error\n}\n\n// Messenger is an interface for a generic messaging backend,\n// for instance, e-mail, SMS etc.\ntype Messenger interface {\n\tName() string\n\tPush(models.Message) error\n\tFlush() error\n\tClose() error\n}\n\n// CampStats contains campaign stats like per minute send rate.\ntype CampStats struct {\n\tSendRate int\n}\n\n// Manager handles the scheduling, processing, and queuing of campaigns\n// and message pushes.\ntype Manager struct {\n\tcfg        Config\n\tstore      Store\n\ti18n       *i18n.I18n\n\tmessengers map[string]Messenger\n\tfnNotify   func(subject string, data any) error\n\tlog        *log.Logger\n\n\t// Campaigns that are currently running.\n\tpipes    map[int]*pipe\n\tpipesMut sync.RWMutex\n\n\ttpls    map[int]*models.Template\n\ttplsMut sync.RWMutex\n\n\t// Links generated using Track() are cached here so as to not query\n\t// the database for the link UUID for every message sent. This has to\n\t// be locked as it may be used externally when previewing campaigns.\n\tlinks    map[string]string\n\tlinksMut sync.RWMutex\n\n\tnextPipes chan *pipe\n\tcampMsgQ  chan CampaignMessage\n\tmsgQ      chan models.Message\n\n\t// Sliding window keeps track of the total number of messages sent in a period\n\t// and on reaching the specified limit, waits until the window is over before\n\t// sending further messages.\n\tslidingCount int\n\tslidingStart time.Time\n\n\ttplFuncs template.FuncMap\n}\n\n// CampaignMessage represents an instance of campaign message to be pushed out,\n// specific to a subscriber, via the campaign's messenger.\ntype CampaignMessage struct {\n\tCampaign   *models.Campaign\n\tSubscriber models.Subscriber\n\n\tfrom     string\n\tto       string\n\tsubject  string\n\tbody     []byte\n\taltBody  []byte\n\tunsubURL string\n\n\tpipe *pipe\n}\n\n// Config has parameters for configuring the manager.\ntype Config struct {\n\t// Number of subscribers to pull from the DB in a single iteration.\n\tBatchSize             int\n\tConcurrency           int\n\tMessageRate           int\n\tMaxSendErrors         int\n\tSlidingWindow         bool\n\tSlidingWindowDuration time.Duration\n\tSlidingWindowRate     int\n\tRequeueOnError        bool\n\tFromEmail             string\n\tIndividualTracking    bool\n\tDisableTracking       bool\n\tLinkTrackURL          string\n\tUnsubURL              string\n\tOptinURL              string\n\tMessageURL            string\n\tViewTrackURL          string\n\tArchiveURL            string\n\tRootURL               string\n\tUnsubHeader           bool\n\n\t// Interval to scan the DB for active campaign checkpoints.\n\tScanInterval time.Duration\n\n\t// ScanCampaigns indicates whether this instance of manager will scan the DB\n\t// for active campaigns and process them.\n\t// This can be used to run multiple instances of listmonk\n\t// (exposed to the internet, private etc.) where only one does campaign\n\t// processing while the others handle other kinds of traffic.\n\tScanCampaigns bool\n}\n\nvar pushTimeout = time.Second * 3\n\n// New returns a new instance of Mailer.\nfunc New(cfg Config, store Store, i *i18n.I18n, l *log.Logger) *Manager {\n\tif cfg.BatchSize < 1 {\n\t\tcfg.BatchSize = 1000\n\t}\n\tif cfg.Concurrency < 1 {\n\t\tcfg.Concurrency = 1\n\t}\n\tif cfg.MessageRate < 1 {\n\t\tcfg.MessageRate = 1\n\t}\n\n\tm := &Manager{\n\t\tcfg:   cfg,\n\t\tstore: store,\n\t\ti18n:  i,\n\t\tfnNotify: func(subject string, data any) error {\n\t\t\treturn notifs.NotifySystem(subject, notifs.TplCampaignStatus, data, nil)\n\t\t},\n\t\tlog:          l,\n\t\tmessengers:   make(map[string]Messenger),\n\t\tpipes:        make(map[int]*pipe),\n\t\ttpls:         make(map[int]*models.Template),\n\t\tlinks:        make(map[string]string),\n\t\tnextPipes:    make(chan *pipe, 1000),\n\t\tcampMsgQ:     make(chan CampaignMessage, cfg.Concurrency*cfg.MessageRate*2),\n\t\tmsgQ:         make(chan models.Message, cfg.Concurrency*cfg.MessageRate*2),\n\t\tslidingStart: time.Now(),\n\t}\n\tm.tplFuncs = m.makeGnericFuncMap()\n\n\treturn m\n}\n\n// AddMessenger adds a Messenger messaging backend to the manager.\nfunc (m *Manager) AddMessenger(msg Messenger) error {\n\tid := msg.Name()\n\tif _, ok := m.messengers[id]; ok {\n\t\treturn fmt.Errorf(\"messenger '%s' is already loaded\", id)\n\t}\n\tm.messengers[id] = msg\n\n\treturn nil\n}\n\n// PushMessage pushes an arbitrary non-campaign Message to be sent out by the workers.\n// It times out if the queue is busy.\nfunc (m *Manager) PushMessage(msg models.Message) error {\n\tt := time.NewTicker(pushTimeout)\n\tdefer t.Stop()\n\n\tselect {\n\tcase m.msgQ <- msg:\n\tcase <-t.C:\n\t\tm.log.Printf(\"message push timed out: '%s'\", msg.Subject)\n\t\treturn errors.New(\"message push timed out\")\n\t}\n\n\treturn nil\n}\n\n// PushCampaignMessage pushes a campaign messages into a queue to be sent out by the workers.\n// It times out if the queue is busy.\nfunc (m *Manager) PushCampaignMessage(msg CampaignMessage) error {\n\tt := time.NewTicker(pushTimeout)\n\tdefer t.Stop()\n\n\t// Load any media/attachments.\n\tif err := m.attachMedia(msg.Campaign); err != nil {\n\t\treturn err\n\t}\n\n\tselect {\n\tcase m.campMsgQ <- msg:\n\tcase <-t.C:\n\t\tm.log.Printf(\"message push timed out: '%s'\", msg.Subject())\n\t\treturn errors.New(\"message push timed out\")\n\t}\n\n\treturn nil\n}\n\n// HasMessenger checks if a given messenger is registered.\nfunc (m *Manager) HasMessenger(id string) bool {\n\t_, ok := m.messengers[id]\n\n\treturn ok\n}\n\n// HasRunningCampaigns checks if there are any active campaigns.\nfunc (m *Manager) HasRunningCampaigns() bool {\n\tm.pipesMut.Lock()\n\tdefer m.pipesMut.Unlock()\n\n\treturn len(m.pipes) > 0\n}\n\n// GetCampaignStats returns campaign statistics.\nfunc (m *Manager) GetCampaignStats(id int) CampStats {\n\tn := 0\n\n\tm.pipesMut.Lock()\n\tif c, ok := m.pipes[id]; ok {\n\t\tn = int(c.rate.Rate())\n\t}\n\tm.pipesMut.Unlock()\n\n\treturn CampStats{SendRate: n}\n}\n\n// Run is a blocking function (that should be invoked as a goroutine)\n// that scans the data source at regular intervals for pending campaigns,\n// and queues them for processing. The process queue fetches batches of\n// subscribers and pushes messages to them for each queued campaign\n// until all subscribers are exhausted, at which point, a campaign is marked\n// as \"finished\".\nfunc (m *Manager) Run() {\n\tif m.cfg.ScanCampaigns {\n\t\t// Periodically scan campaigns and push running campaigns to nextPipes\n\t\t// to fetch subscribers from the campaign.\n\t\tgo m.scanCampaigns(m.cfg.ScanInterval)\n\t}\n\n\t// Spawn N message workers.\n\tfor i := 0; i < m.cfg.Concurrency; i++ {\n\t\tgo m.worker()\n\t}\n\n\t// Indefinitely wait on the pipe queue to fetch the next set of subscribers\n\t// for any active campaigns.\n\tfor p := range m.nextPipes {\n\t\thas, err := p.NextSubscribers()\n\t\tif err != nil {\n\t\t\tm.log.Printf(\"error processing campaign batch (%s): %v\", p.camp.Name, err)\n\n\t\t\t// If the batch fails, stop the pipe and release it so that it doesn't hang forever.\n\t\t\t// The cleanup() records the state in DB and scanCampaigns() picks it up at a later point.\n\t\t\tp.Stop(false)\n\t\t\tp.wg.Done()\n\t\t\tcontinue\n\t\t}\n\n\t\tif has {\n\t\t\t// There are more subscribers to fetch. Queue again.\n\t\t\tselect {\n\t\t\tcase m.nextPipes <- p:\n\t\t\tdefault:\n\t\t\t\t// If the queue is full for any reason, stop the pipe and release it.\n\t\t\t\t// The cleanup() records the state in DB and scanCampaigns() picks it up\n\t\t\t\t// at a later point.\n\t\t\t\tp.Stop(false)\n\t\t\t\tp.wg.Done()\n\t\t\t}\n\t\t} else {\n\t\t\t// The pipe is created with a +1 on the waitgroup pseudo counter\n\t\t\t// so that it immediately waits. Subsequently, every message created\n\t\t\t// is incremented in the counter in pipe.newMessage(), and when it's'\n\t\t\t// processed (or ignored when a campaign is paused or cancelled),\n\t\t\t// the count is's reduced in worker().\n\t\t\t//\n\t\t\t// This marks down the original non-message +1, causing the waitgroup\n\t\t\t// to be released and the pipe to end, triggering the pg.Wait()\n\t\t\t// in newPipe() that calls pipe.cleanup().\n\t\t\tp.wg.Done()\n\t\t}\n\t}\n}\n\n// CacheTpl caches a template for ad-hoc use. This is currently only used by tx templates.\nfunc (m *Manager) CacheTpl(id int, tpl *models.Template) {\n\tm.tplsMut.Lock()\n\tm.tpls[id] = tpl\n\tm.tplsMut.Unlock()\n}\n\n// DeleteTpl deletes a cached template.\nfunc (m *Manager) DeleteTpl(id int) {\n\tm.tplsMut.Lock()\n\tdelete(m.tpls, id)\n\tm.tplsMut.Unlock()\n}\n\n// GetTpl returns a cached template.\nfunc (m *Manager) GetTpl(id int) (*models.Template, error) {\n\tm.tplsMut.RLock()\n\ttpl, ok := m.tpls[id]\n\tm.tplsMut.RUnlock()\n\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"template %d not found\", id)\n\t}\n\n\treturn tpl, nil\n}\n\n// TemplateFuncs returns the template functions to be applied into\n// compiled campaign templates.\nfunc (m *Manager) TemplateFuncs(c *models.Campaign) template.FuncMap {\n\tf := template.FuncMap{\n\t\t\"TrackLink\": func(url string, msg *CampaignMessage) string {\n\t\t\tif m.cfg.DisableTracking {\n\t\t\t\treturn url\n\t\t\t}\n\n\t\t\tsubUUID := msg.Subscriber.UUID\n\t\t\tif !m.cfg.IndividualTracking {\n\t\t\t\tsubUUID = dummyUUID\n\t\t\t}\n\n\t\t\treturn m.trackLink(url, msg.Campaign.UUID, subUUID)\n\t\t},\n\t\t\"TrackView\": func(msg *CampaignMessage) template.HTML {\n\t\t\tif m.cfg.DisableTracking {\n\t\t\t\treturn template.HTML(\"\")\n\t\t\t}\n\n\t\t\tsubUUID := msg.Subscriber.UUID\n\t\t\tif !m.cfg.IndividualTracking {\n\t\t\t\tsubUUID = dummyUUID\n\t\t\t}\n\n\t\t\treturn template.HTML(fmt.Sprintf(`<img src=\"%s\" alt=\"\" />`,\n\t\t\t\tfmt.Sprintf(m.cfg.ViewTrackURL, msg.Campaign.UUID, subUUID)))\n\t\t},\n\t\t\"UnsubscribeURL\": func(msg *CampaignMessage) string {\n\t\t\treturn msg.unsubURL\n\t\t},\n\t\t\"ManageURL\": func(msg *CampaignMessage) string {\n\t\t\treturn msg.unsubURL + \"?manage=true\"\n\t\t},\n\t\t\"OptinURL\": func(msg *CampaignMessage) string {\n\t\t\t// Add list IDs.\n\t\t\t// TODO: Show private lists list on optin e-mail\n\t\t\treturn fmt.Sprintf(m.cfg.OptinURL, msg.Subscriber.UUID, \"\")\n\t\t},\n\t\t\"MessageURL\": func(msg *CampaignMessage) string {\n\t\t\treturn fmt.Sprintf(m.cfg.MessageURL, c.UUID, msg.Subscriber.UUID)\n\t\t},\n\t\t\"ArchiveURL\": func() string {\n\t\t\treturn m.cfg.ArchiveURL\n\t\t},\n\t\t\"RootURL\": func() string {\n\t\t\treturn m.cfg.RootURL\n\t\t},\n\t}\n\n\tmaps.Copy(f, m.tplFuncs)\n\n\treturn f\n}\n\nfunc (m *Manager) GenericTemplateFuncs() template.FuncMap {\n\treturn m.tplFuncs\n}\n\n// StopCampaign marks a running campaign as stopped so that all its queued messages are ignored.\nfunc (m *Manager) StopCampaign(id int) {\n\tm.pipesMut.RLock()\n\tif p, ok := m.pipes[id]; ok {\n\t\tp.Stop(false)\n\t}\n\tm.pipesMut.RUnlock()\n}\n\n// Close closes and exits the campaign manager.\nfunc (m *Manager) Close() {\n\tclose(m.nextPipes)\n\tclose(m.msgQ)\n}\n\n// scanCampaigns is a blocking function that periodically scans the data source\n// for campaigns to process and dispatches them to the manager. It feeds campaigns\n// into nextPipes.\nfunc (m *Manager) scanCampaigns(tick time.Duration) {\n\tt := time.NewTicker(tick)\n\tdefer t.Stop()\n\n\t// Periodically scan the data source for campaigns to process.\n\tfor range t.C {\n\t\tids, counts := m.getCurrentCampaigns()\n\t\tcampaigns, err := m.store.NextCampaigns(ids, counts)\n\t\tif err != nil {\n\t\t\tm.log.Printf(\"error fetching campaigns: %v\", err)\n\t\t\tcontinue\n\t\t}\n\n\t\tfor _, c := range campaigns {\n\t\t\t// Create a new pipe that'll handle this campaign's states.\n\t\t\tp, err := m.newPipe(c)\n\t\t\tif err != nil {\n\t\t\t\tm.log.Printf(\"error processing campaign (%s): %v\", c.Name, err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tm.log.Printf(\"start processing campaign (%s)\", c.Name)\n\n\t\t\t// If subscriber processing is busy, move on. Blocking and waiting\n\t\t\t// can end up in a race condition where the waiting campaign's\n\t\t\t// state in the data source has changed.\n\t\t\tselect {\n\t\t\tcase m.nextPipes <- p:\n\t\t\tdefault:\n\t\t\t\t// If the queue is full for any reason, stop the pipe and release it.\n\t\t\t\t// The cleanup() records the state in DB and scanCampaigns() picks it up\n\t\t\t\t// at a later point.\n\t\t\t\tp.Stop(false)\n\t\t\t\tp.wg.Done()\n\t\t\t}\n\t\t}\n\t}\n}\n\n// worker is a blocking function that perpetually listents to events (message) on different\n// queues and processes them.\nfunc (m *Manager) worker() {\n\t// Counter to keep track of the message / sec rate limit.\n\tnumMsg := 0\n\tfor {\n\t\tselect {\n\t\t// Campaign message.\n\t\tcase msg, ok := <-m.campMsgQ:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If the campaign has ended or stopped, ignore the message.\n\t\t\tif msg.pipe != nil && msg.pipe.stopped.Load() {\n\t\t\t\t// Reduce the message counter on the pipe.\n\t\t\t\tmsg.pipe.wg.Done()\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Pause on hitting the message rate.\n\t\t\tif numMsg >= m.cfg.MessageRate {\n\t\t\t\ttime.Sleep(time.Second)\n\t\t\t\tnumMsg = 0\n\t\t\t}\n\t\t\tnumMsg++\n\n\t\t\t// Outgoing message.\n\t\t\tout := models.Message{\n\t\t\t\tFrom:        msg.from,\n\t\t\t\tTo:          []string{msg.to},\n\t\t\t\tSubject:     msg.subject,\n\t\t\t\tContentType: msg.Campaign.ContentType,\n\t\t\t\tBody:        msg.body,\n\t\t\t\tAltBody:     msg.altBody,\n\t\t\t\tSubscriber:  msg.Subscriber,\n\t\t\t\tCampaign:    msg.Campaign,\n\t\t\t\tAttachments: msg.Campaign.Attachments,\n\t\t\t}\n\n\t\t\th := textproto.MIMEHeader{}\n\t\t\th.Set(models.EmailHeaderCampaignUUID, msg.Campaign.UUID)\n\t\t\th.Set(models.EmailHeaderSubscriberUUID, msg.Subscriber.UUID)\n\n\t\t\t// Attach List-Unsubscribe headers?\n\t\t\tif m.cfg.UnsubHeader {\n\t\t\t\th.Set(\"List-Unsubscribe-Post\", \"List-Unsubscribe=One-Click\")\n\t\t\t\th.Set(\"List-Unsubscribe\", `<`+msg.unsubURL+`>`)\n\t\t\t}\n\n\t\t\t// Attach any custom headers.\n\t\t\tif len(msg.Campaign.Headers) > 0 {\n\t\t\t\tfor _, set := range msg.Campaign.Headers {\n\t\t\t\t\tfor hdr, val := range set {\n\t\t\t\t\t\th.Add(hdr, val)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set the headers.\n\t\t\tout.Headers = h\n\n\t\t\t// Push the message to the messenger.\n\t\t\terr := m.messengers[msg.Campaign.Messenger].Push(out)\n\t\t\tif err != nil {\n\t\t\t\tm.log.Printf(\"error sending message in campaign %s: subscriber %d: %v\", msg.Campaign.Name, msg.Subscriber.ID, err)\n\t\t\t}\n\n\t\t\t// Increment the send rate or the error counter if there was an error.\n\t\t\tif msg.pipe != nil {\n\t\t\t\t// Mark the message as done.\n\t\t\t\tmsg.pipe.wg.Done()\n\n\t\t\t\tif err != nil {\n\t\t\t\t\t// Call the error callback, which keeps track of the error count\n\t\t\t\t\t// and stops the campaign if the error count exceeds the threshold.\n\t\t\t\t\tmsg.pipe.OnError()\n\t\t\t\t} else {\n\t\t\t\t\tid := uint64(msg.Subscriber.ID)\n\t\t\t\t\tif id > msg.pipe.lastID.Load() {\n\t\t\t\t\t\tmsg.pipe.lastID.Store(uint64(msg.Subscriber.ID))\n\t\t\t\t\t}\n\t\t\t\t\tmsg.pipe.rate.Incr(1)\n\t\t\t\t\tmsg.pipe.sent.Add(1)\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Arbitrary message.\n\t\tcase msg, ok := <-m.msgQ:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Push the message to the messenger.\n\t\t\tif err := m.messengers[msg.Messenger].Push(msg); err != nil {\n\t\t\t\tm.log.Printf(\"error sending message '%s': %v\", msg.Subject, err)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// getCurrentCampaigns returns the IDs of campaigns currently being processed\n// and their sent counts.\nfunc (m *Manager) getCurrentCampaigns() ([]int64, []int64) {\n\t// Needs to return an empty slice in case there are no campaigns.\n\tm.pipesMut.RLock()\n\tdefer m.pipesMut.RUnlock()\n\n\tvar (\n\t\tids    = make([]int64, 0, len(m.pipes))\n\t\tcounts = make([]int64, 0, len(m.pipes))\n\t)\n\tfor _, p := range m.pipes {\n\t\tids = append(ids, int64(p.camp.ID))\n\n\t\t// Get the sent counts for campaigns and reset them to 0\n\t\t// as in the database, they're stored cumulatively (sent += $newSent).\n\t\tcounts = append(counts, p.sent.Load())\n\t\tp.sent.Store(0)\n\t}\n\n\treturn ids, counts\n}\n\n// trackLink register a URL and return its UUID to be used in message templates\n// for tracking links.\nfunc (m *Manager) trackLink(url, campUUID, subUUID string) string {\n\tif m.cfg.DisableTracking {\n\t\treturn url\n\t}\n\n\turl = strings.ReplaceAll(url, \"&amp;\", \"&\")\n\n\tm.linksMut.RLock()\n\tif uu, ok := m.links[url]; ok {\n\t\tm.linksMut.RUnlock()\n\t\treturn fmt.Sprintf(m.cfg.LinkTrackURL, uu, campUUID, subUUID)\n\t}\n\tm.linksMut.RUnlock()\n\n\t// Register link.\n\tuu, err := m.store.CreateLink(url)\n\tif err != nil {\n\t\tm.log.Printf(\"error registering tracking for link '%s': %v\", url, err)\n\n\t\t// If the registration fails, fail over to the original URL.\n\t\treturn url\n\t}\n\n\tm.linksMut.Lock()\n\tm.links[url] = uu\n\tm.linksMut.Unlock()\n\n\treturn fmt.Sprintf(m.cfg.LinkTrackURL, uu, campUUID, subUUID)\n}\n\n// sendNotif sends a notification to registered admin e-mails.\nfunc (m *Manager) sendNotif(c *models.Campaign, status, reason string) error {\n\tvar (\n\t\tsubject = fmt.Sprintf(\"%s: %s\", cases.Title(language.Und).String(status), c.Name)\n\t\tdata    = map[string]any{\n\t\t\t\"ID\":     c.ID,\n\t\t\t\"Name\":   c.Name,\n\t\t\t\"Status\": status,\n\t\t\t\"Sent\":   c.Sent,\n\t\t\t\"ToSend\": c.ToSend,\n\t\t\t\"Reason\": reason,\n\t\t}\n\t)\n\n\treturn m.fnNotify(subject, data)\n}\n\n// makeGnericFuncMap returns a generic template func map with custom template\n// functions and sprig template functions.\nfunc (m *Manager) makeGnericFuncMap() template.FuncMap {\n\tfuncs := template.FuncMap{\n\t\t\"Date\": func(layout string) string {\n\t\t\tif layout == \"\" {\n\t\t\t\tlayout = time.ANSIC\n\t\t\t}\n\t\t\treturn time.Now().Format(layout)\n\t\t},\n\t\t\"L\": func() *i18n.I18n {\n\t\t\treturn m.i18n\n\t\t},\n\t\t\"Safe\": func(safeHTML string) template.HTML {\n\t\t\treturn template.HTML(safeHTML)\n\t\t},\n\t}\n\n\t// Copy spring functions.\n\tsprigFuncs := sprig.GenericFuncMap()\n\tdelete(sprigFuncs, \"env\")\n\tdelete(sprigFuncs, \"expandenv\")\n\tdelete(sprigFuncs, \"getHostByName\")\n\n\tmaps.Copy(funcs, sprigFuncs)\n\n\treturn funcs\n}\n\n// attachMedia loads any media/attachments from the media store and attaches\n// the byte blobs to the campaign.\nfunc (m *Manager) attachMedia(c *models.Campaign) error {\n\tif len(c.Attachments) > 0 {\n\t\treturn nil\n\t}\n\n\t// Load any media/attachments.\n\tfor _, mid := range []int64(c.MediaIDs) {\n\t\ta, err := m.store.GetAttachment(int(mid))\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error fetching attachment %d on campaign %s: %v\", mid, c.Name, err)\n\t\t}\n\n\t\tc.Attachments = append(c.Attachments, a)\n\t}\n\n\treturn nil\n}\n\n// MakeAttachmentHeader is a helper function that returns a\n// textproto.MIMEHeader tailored for attachments, primarily\n// email. If no encoding is given, base64 is assumed.\nfunc MakeAttachmentHeader(filename, encoding, contentType string) textproto.MIMEHeader {\n\tif encoding == \"\" {\n\t\tencoding = \"base64\"\n\t}\n\tif contentType == \"\" {\n\t\tcontentType = \"application/octet-stream\"\n\t}\n\n\th := textproto.MIMEHeader{}\n\th.Set(\"Content-Disposition\", \"attachment; filename=\"+filename)\n\th.Set(\"Content-Type\", fmt.Sprintf(\"%s; name=\\\"\"+filename+\"\\\"\", contentType))\n\th.Set(\"Content-Transfer-Encoding\", encoding)\n\treturn h\n}\n"
  },
  {
    "path": "internal/manager/message.go",
    "content": "package manager\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\n\t\"github.com/knadh/listmonk/models\"\n)\n\n// NewCampaignMessage creates and returns a CampaignMessage that is made available\n// to message templates while they're compiled. It represents a message from\n// a campaign that's bound to a single Subscriber.\nfunc (m *Manager) NewCampaignMessage(c *models.Campaign, s models.Subscriber) (CampaignMessage, error) {\n\tmsg := CampaignMessage{\n\t\tCampaign:   c,\n\t\tSubscriber: s,\n\n\t\tsubject:  c.Subject,\n\t\tfrom:     c.FromEmail,\n\t\tto:       s.Email,\n\t\tunsubURL: fmt.Sprintf(m.cfg.UnsubURL, c.UUID, s.UUID),\n\t}\n\n\tif err := msg.render(); err != nil {\n\t\treturn msg, err\n\t}\n\n\treturn msg, nil\n}\n\n// render takes a Message, executes its pre-compiled Campaign.Tpl\n// and applies the resultant bytes to Message.body to be used in messages.\nfunc (m *CampaignMessage) render() error {\n\tout := bytes.Buffer{}\n\n\t// Render the subject if it's a template.\n\tif m.Campaign.SubjectTpl != nil {\n\t\tif err := m.Campaign.SubjectTpl.ExecuteTemplate(&out, models.ContentTpl, m); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tm.subject = out.String()\n\t\tout.Reset()\n\t}\n\n\t// Compile the main template.\n\tif err := m.Campaign.Tpl.ExecuteTemplate(&out, models.BaseTpl, m); err != nil {\n\t\treturn err\n\t}\n\tm.body = out.Bytes()\n\n\t// Is there an alt body?\n\tif m.Campaign.ContentType != models.CampaignContentTypePlain && m.Campaign.AltBody.Valid {\n\t\tif m.Campaign.AltBodyTpl != nil {\n\t\t\tb := bytes.Buffer{}\n\t\t\tif err := m.Campaign.AltBodyTpl.ExecuteTemplate(&b, models.ContentTpl, m); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tm.altBody = b.Bytes()\n\t\t} else {\n\t\t\tm.altBody = []byte(m.Campaign.AltBody.String)\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// Subject returns a copy of the message subject\nfunc (m *CampaignMessage) Subject() string {\n\treturn m.subject\n}\n\n// Body returns a copy of the message body.\nfunc (m *CampaignMessage) Body() []byte {\n\tout := make([]byte, len(m.body))\n\tcopy(out, m.body)\n\treturn out\n}\n\n// AltBody returns a copy of the message's alt body.\nfunc (m *CampaignMessage) AltBody() []byte {\n\tout := make([]byte, len(m.altBody))\n\tcopy(out, m.altBody)\n\treturn out\n}\n"
  },
  {
    "path": "internal/manager/pipe.go",
    "content": "package manager\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/paulbellamy/ratecounter\"\n)\n\ntype pipe struct {\n\tcamp       *models.Campaign\n\trate       *ratecounter.RateCounter\n\twg         *sync.WaitGroup\n\tsent       atomic.Int64\n\tlastID     atomic.Uint64\n\terrors     atomic.Uint64\n\tstopped    atomic.Bool\n\twithErrors atomic.Bool\n\n\tm *Manager\n}\n\n// newPipe adds a campaign to the process queue.\nfunc (m *Manager) newPipe(c *models.Campaign) (*pipe, error) {\n\t// Validate messenger.\n\tif _, ok := m.messengers[c.Messenger]; !ok {\n\t\tm.store.UpdateCampaignStatus(c.ID, models.CampaignStatusCancelled)\n\t\treturn nil, fmt.Errorf(\"unknown messenger %s on campaign %s\", c.Messenger, c.Name)\n\t}\n\n\t// Load the template.\n\tif err := c.CompileTemplate(m.TemplateFuncs(c)); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Load any media/attachments.\n\tif err := m.attachMedia(c); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Add the campaign to the active map.\n\tp := &pipe{\n\t\tcamp: c,\n\t\trate: ratecounter.NewRateCounter(time.Minute),\n\t\twg:   &sync.WaitGroup{},\n\t\tm:    m,\n\t}\n\n\t// Increment the waitgroup so that Wait() blocks immediately. This is necessary\n\t// as a campaign pipe is created first and subscribers/messages under it are\n\t// fetched asynchronolusly later. The messages each add to the wg and that\n\t// count is used to determine the exhaustion/completion of all messages.\n\tp.wg.Add(1)\n\n\tgo func() {\n\t\t// Wait for all the messages in the campaign to be processed\n\t\t// (successfully or skipped after errors or cancellation).\n\t\tp.wg.Wait()\n\n\t\tp.cleanup()\n\t}()\n\n\tm.pipesMut.Lock()\n\tm.pipes[c.ID] = p\n\tm.pipesMut.Unlock()\n\treturn p, nil\n}\n\n// NextSubscribers processes the next batch of subscribers in a given campaign.\n// It returns a bool indicating whether any subscribers were processed\n// in the current batch or not. A false indicates that all subscribers\n// have been processed, or that a campaign has been paused or cancelled.\nfunc (p *pipe) NextSubscribers() (bool, error) {\n\t// Fetch the next batch of subscribers from a 'running' campaign.\n\tsubs, err := p.m.store.NextSubscribers(p.camp.ID, p.m.cfg.BatchSize)\n\tif err != nil {\n\t\treturn false, fmt.Errorf(\"error fetching campaign subscribers (%s): %v\", p.camp.Name, err)\n\t}\n\n\t// There are no subscribers from the query. Either all subscribers on the campaign\n\t// have been processed, or the campaign has changed from 'running' to 'paused' or 'cancelled'.\n\tif len(subs) == 0 {\n\t\treturn false, nil\n\t}\n\n\t// Is there a sliding window limit configured?\n\thasSliding := p.m.cfg.SlidingWindow &&\n\t\tp.m.cfg.SlidingWindowRate > 0 &&\n\t\tp.m.cfg.SlidingWindowDuration.Seconds() > 1\n\n\t// Push messages.\n\tfor _, s := range subs {\n\t\tmsg, err := p.newMessage(s)\n\t\tif err != nil {\n\t\t\tp.m.log.Printf(\"error rendering message (%s) (%s): %v\", p.camp.Name, s.Email, err)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Push the message to the queue while blocking and waiting until\n\t\t// the queue is drained.\n\t\tp.m.campMsgQ <- msg\n\n\t\t// Check if the sliding window is active.\n\t\tif hasSliding {\n\t\t\tdiff := time.Since(p.m.slidingStart)\n\n\t\t\t// Window has expired. Reset the clock.\n\t\t\tif diff >= p.m.cfg.SlidingWindowDuration {\n\t\t\t\tp.m.slidingStart = time.Now()\n\t\t\t\tp.m.slidingCount = 0\n\t\t\t}\n\n\t\t\t// Have the messages exceeded the limit?\n\t\t\tp.m.slidingCount++\n\t\t\tif p.m.slidingCount >= p.m.cfg.SlidingWindowRate {\n\t\t\t\twait := p.m.cfg.SlidingWindowDuration - diff\n\n\t\t\t\tp.m.log.Printf(\"messages exceeded (%d) for the window (%v since %s). Sleeping for %s.\",\n\t\t\t\t\tp.m.slidingCount,\n\t\t\t\t\tp.m.cfg.SlidingWindowDuration,\n\t\t\t\t\tp.m.slidingStart.Format(time.RFC822Z),\n\t\t\t\t\twait.Round(time.Second)*1)\n\n\t\t\t\tp.m.slidingCount = 0\n\t\t\t\ttime.Sleep(wait)\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true, nil\n}\n\n// OnError keeps track of the number of errors that occur while sending messages\n// and pauses the campaign if the error threshold is met.\nfunc (p *pipe) OnError() {\n\tif p.m.cfg.MaxSendErrors < 1 {\n\t\treturn\n\t}\n\n\t// If the error threshold is met, pause the campaign.\n\tcount := p.errors.Add(1)\n\tif int(count) < p.m.cfg.MaxSendErrors {\n\t\treturn\n\t}\n\n\tp.Stop(true)\n\tp.m.log.Printf(\"error count exceeded %d. pausing campaign %s\", p.m.cfg.MaxSendErrors, p.camp.Name)\n}\n\n// Stop \"marks\" a campaign as stopped. It doesn't actually stop the processing\n// of messages. That happens when every queued message in the campaign is processed,\n// marking .wg, the waitgroup counter as done. That triggers cleanup().\nfunc (p *pipe) Stop(withErrors bool) {\n\t// Already stopped.\n\tif p.stopped.Load() {\n\t\treturn\n\t}\n\n\tif withErrors {\n\t\tp.withErrors.Store(true)\n\t}\n\n\tp.stopped.Store(true)\n}\n\n// newMessage returns a campaign message while internally incrementing the\n// number of messages in the pipe wait group so that the status of every\n// message can be atomically tracked.\nfunc (p *pipe) newMessage(s models.Subscriber) (CampaignMessage, error) {\n\tmsg, err := p.m.NewCampaignMessage(p.camp, s)\n\tif err != nil {\n\t\treturn msg, err\n\t}\n\n\tmsg.pipe = p\n\tp.wg.Add(1)\n\n\treturn msg, nil\n}\n\n// cleanup finishes the campaign and updates the campaign status in the DB\n// and also triggers a notification to the admin. This only triggers once\n// a pipe's wg counter is fully exhausted, draining all messages in its queue.\nfunc (p *pipe) cleanup() {\n\tdefer func() {\n\t\tp.m.pipesMut.Lock()\n\t\tdelete(p.m.pipes, p.camp.ID)\n\t\tp.m.pipesMut.Unlock()\n\t}()\n\n\t// Update campaign's 'sent count.\n\tif err := p.m.store.UpdateCampaignCounts(p.camp.ID, 0, int(p.sent.Load()), int(p.lastID.Load())); err != nil {\n\t\tp.m.log.Printf(\"error updating campaign counts (%s): %v\", p.camp.Name, err)\n\t}\n\n\t// The campaign was auto-paused due to errors.\n\tif p.withErrors.Load() {\n\t\tif err := p.m.store.UpdateCampaignStatus(p.camp.ID, models.CampaignStatusPaused); err != nil {\n\t\t\tp.m.log.Printf(\"error updating campaign (%s) status to %s: %v\", p.camp.Name, models.CampaignStatusPaused, err)\n\t\t} else {\n\t\t\tp.m.log.Printf(\"set campaign (%s) to %s\", p.camp.Name, models.CampaignStatusPaused)\n\t\t}\n\n\t\t_ = p.m.sendNotif(p.camp, models.CampaignStatusPaused, \"Too many errors\")\n\t\treturn\n\t}\n\n\t// The campaign was manually stopped (pause, cancel).\n\tif p.stopped.Load() {\n\t\tp.m.log.Printf(\"stop processing campaign (%s)\", p.camp.Name)\n\t\treturn\n\t}\n\n\t// Campaign wasn't manually stopped and subscribers were naturally exhausted.\n\t// Fetch the up-to-date campaign status from the DB.\n\tc, err := p.m.store.GetCampaign(p.camp.ID)\n\tif err != nil {\n\t\tp.m.log.Printf(\"error fetching campaign (%s) for ending: %v\", p.camp.Name, err)\n\t\treturn\n\t}\n\n\t// If a running campaign has exhausted subscribers, it's finished.\n\tif c.Status == models.CampaignStatusRunning || c.Status == models.CampaignStatusScheduled {\n\t\tc.Status = models.CampaignStatusFinished\n\t\tif err := p.m.store.UpdateCampaignStatus(p.camp.ID, models.CampaignStatusFinished); err != nil {\n\t\t\tp.m.log.Printf(\"error finishing campaign (%s): %v\", p.camp.Name, err)\n\t\t} else {\n\t\t\tp.m.log.Printf(\"campaign (%s) finished\", p.camp.Name)\n\t\t}\n\t} else {\n\t\tp.m.log.Printf(\"finish processing campaign (%s)\", p.camp.Name)\n\t}\n\n\t// Notify admin.\n\t_ = p.m.sendNotif(c, c.Status, \"\")\n}\n"
  },
  {
    "path": "internal/media/media.go",
    "content": "package media\n\nimport (\n\t\"io\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"gopkg.in/volatiletech/null.v6\"\n)\n\n// Media represents an uploaded object.\ntype Media struct {\n\tID          int         `db:\"id\" json:\"id\"`\n\tUUID        string      `db:\"uuid\" json:\"uuid\"`\n\tFilename    string      `db:\"filename\" json:\"filename\"`\n\tContentType string      `db:\"content_type\" json:\"content_type\"`\n\tThumb       string      `db:\"thumb\" json:\"-\"`\n\tCreatedAt   null.Time   `db:\"created_at\" json:\"created_at\"`\n\tThumbURL    null.String `json:\"thumb_url\"`\n\tProvider    string      `json:\"provider\"`\n\tMeta        models.JSON `db:\"meta\" json:\"meta\"`\n\tURL         string      `json:\"url\"`\n\n\tTotal int `db:\"total\" json:\"-\"`\n}\n\n// Store represents functions to store and retrieve media (files).\ntype Store interface {\n\tPut(string, string, io.ReadSeeker) (string, error)\n\tDelete(string) error\n\tGetURL(string) string\n\tGetBlob(string) ([]byte, error)\n}\n"
  },
  {
    "path": "internal/media/providers/filesystem/filesystem.go",
    "content": "package filesystem\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/knadh/listmonk/internal/media\"\n)\n\n// Opts represents filesystem params\ntype Opts struct {\n\tUploadPath string `koanf:\"upload_path\"`\n\tUploadURI  string `koanf:\"upload_uri\"`\n\tRootURL    string `koanf:\"root_url\"`\n}\n\n// Client implements `media.Store`\ntype Client struct {\n\topts Opts\n}\n\n// New initialises store for Filesystem provider.\nfunc New(opts Opts) (media.Store, error) {\n\treturn &Client{\n\t\topts: opts,\n\t}, nil\n}\n\n// Put accepts the filename, the content type and file object itself and stores the file in disk.\nfunc (c *Client) Put(filename string, cType string, src io.ReadSeeker) (string, error) {\n\t// Get the directory path\n\tdir := getDir(c.opts.UploadPath)\n\n\t// Read the  file contents.\n\tout, err := os.OpenFile(filepath.Join(dir, filename), os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0664)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer out.Close()\n\n\t// Copy it to the target location.\n\tif _, err := io.Copy(out, src); err != nil {\n\t\treturn \"\", err\n\t}\n\n\treturn filename, nil\n}\n\n// GetURL accepts a filename and retrieves the full path from disk.\nfunc (c *Client) GetURL(name string) string {\n\treturn fmt.Sprintf(\"%s%s/%s\", c.opts.RootURL, c.opts.UploadURI, name)\n}\n\n// GetBlob accepts a URL, reads the file, and returns the blob.\nfunc (c *Client) GetBlob(url string) ([]byte, error) {\n\tb, err := os.ReadFile(filepath.Join(getDir(c.opts.UploadPath), filepath.Base(url)))\n\treturn b, err\n}\n\n// Delete accepts a filename and removes it from disk.\nfunc (c *Client) Delete(file string) error {\n\tdir := getDir(c.opts.UploadPath)\n\n\terr := os.Remove(filepath.Join(dir, file))\n\treturn err\n}\n\n// getDir returns the current working directory path if no directory is specified,\n// else returns the directory path specified itself.\nfunc getDir(dir string) string {\n\tif dir == \"\" {\n\t\tdir, _ = os.Getwd()\n\t}\n\n\treturn dir\n}\n"
  },
  {
    "path": "internal/media/providers/s3/s3.go",
    "content": "package s3\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/url\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/internal/media\"\n\t\"github.com/rhnvrm/simples3\"\n)\n\n// Opt represents AWS S3 specific params\ntype Opt struct {\n\tURL        string        `koanf:\"url\"`\n\tPublicURL  string        `koanf:\"public_url\"`\n\tAccessKey  string        `koanf:\"aws_access_key_id\"`\n\tSecretKey  string        `koanf:\"aws_secret_access_key\"`\n\tRegion     string        `koanf:\"aws_default_region\"`\n\tBucket     string        `koanf:\"bucket\"`\n\tBucketPath string        `koanf:\"bucket_path\"`\n\tBucketType string        `koanf:\"bucket_type\"`\n\tExpiry     time.Duration `koanf:\"expiry\"`\n\tRootURL    string        `koanf:\"root_url\"`\n}\n\n// Client implements `media.Store` for S3 provider\ntype Client struct {\n\ts3   *simples3.S3\n\topts Opt\n}\n\n// NewS3Store initialises store for S3 provider. It takes in the AWS configuration\n// and sets up the `simples3` client to interact with AWS APIs for all bucket operations.\nfunc NewS3Store(opt Opt) (media.Store, error) {\n\tvar cl *simples3.S3\n\tif opt.URL == \"\" {\n\t\topt.URL = fmt.Sprintf(\"https://s3.%s.amazonaws.com\", opt.Region)\n\t}\n\topt.URL = strings.TrimRight(opt.URL, \"/\")\n\n\t// Default (and max S3 expiry) is 7 days.\n\tif opt.Expiry.Seconds() < 1 {\n\t\topt.Expiry = time.Duration(167) * time.Hour\n\t}\n\n\tif opt.AccessKey == \"\" && opt.SecretKey == \"\" {\n\t\t// fallback to IAM role if no access key/secret key is provided.\n\t\tcl, _ = simples3.NewUsingIAM(opt.Region)\n\t}\n\n\tif cl == nil {\n\t\tcl = simples3.New(opt.Region, opt.AccessKey, opt.SecretKey)\n\t}\n\n\tcl.SetEndpoint(opt.URL)\n\n\treturn &Client{\n\t\ts3:   cl,\n\t\topts: opt,\n\t}, nil\n}\n\n// Put takes in the filename, the content type and file object itself and uploads to S3.\nfunc (c *Client) Put(name string, cType string, file io.ReadSeeker) (string, error) {\n\t// Upload input parameters\n\tp := simples3.UploadInput{\n\t\tBucket:      c.opts.Bucket,\n\t\tContentType: cType,\n\t\tFileName:    name,\n\t\tBody:        file,\n\n\t\t// Paths inside the bucket should not start with /.\n\t\tObjectKey: c.makeBucketPath(name),\n\t}\n\n\tif c.opts.BucketType == \"public\" {\n\t\tp.ACL = \"public-read\"\n\t}\n\n\t// Upload.\n\tif _, err := c.s3.FilePut(p); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn name, nil\n}\n\n// Get accepts the filename of the object stored and retrieves from S3.\nfunc (c *Client) GetURL(name string) string {\n\t// Generate a private S3 pre-signed URL if it's a private bucket, and there\n\t// is no public URL provided.\n\tif c.opts.BucketType == \"private\" && c.opts.PublicURL == \"\" {\n\t\tu := c.s3.GeneratePresignedURL(simples3.PresignedInput{\n\t\t\tBucket:        c.opts.Bucket,\n\t\t\tObjectKey:     c.makeBucketPath(name),\n\t\t\tMethod:        \"GET\",\n\t\t\tTimestamp:     time.Now(),\n\t\t\tExpirySeconds: int(c.opts.Expiry.Seconds()),\n\t\t})\n\n\t\treturn u\n\t}\n\n\t// Generate a public S3 URL if it's a public bucket or a public URL is\n\t// provided.\n\treturn c.makeFileURL(name)\n}\n\n// GetBlob reads a file from S3 and returns the raw bytes.\nfunc (c *Client) GetBlob(uurl string) ([]byte, error) {\n\tif p, err := url.Parse(uurl); err != nil {\n\t\tuurl = filepath.Base(uurl)\n\t} else {\n\t\tuurl = filepath.Base(p.Path)\n\t}\n\n\t// Download the file from S3.\n\tfile, err := c.s3.FileDownload(simples3.DownloadInput{\n\t\tBucket:    c.opts.Bucket,\n\t\tObjectKey: c.makeBucketPath(filepath.Base(uurl)),\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Read it into a byte blob.\n\tb, err := io.ReadAll(file)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer file.Close()\n\n\treturn b, nil\n}\n\n// Delete accepts the filename of the object and deletes from S3.\nfunc (c *Client) Delete(name string) error {\n\terr := c.s3.FileDelete(simples3.DeleteInput{\n\t\tBucket:    c.opts.Bucket,\n\t\tObjectKey: c.makeBucketPath(name),\n\t})\n\n\treturn err\n}\n\n// makeBucketPath returns the file path inside the bucket. The path should not\n// start with a /.\nfunc (c *Client) makeBucketPath(name string) string {\n\t// If the path is root (/), return the filename without the preceding slash.\n\tp := strings.TrimPrefix(strings.TrimSuffix(c.opts.BucketPath, \"/\"), \"/\")\n\tif p == \"\" {\n\t\treturn name\n\t}\n\n\t// whatever/bucket/path/filename.jpg: No preceding slash.\n\treturn p + \"/\" + name\n}\n\nfunc (c *Client) makeFileURL(name string) string {\n\tif c.opts.PublicURL != \"\" {\n\t\tprefix := c.opts.PublicURL\n\t\tif strings.HasPrefix(prefix, \"/\") {\n\t\t\tprefix = c.opts.RootURL + prefix\n\t\t}\n\t\treturn prefix + \"/\" + c.makeBucketPath(name)\n\t}\n\n\treturn c.opts.URL + \"/\" + c.opts.Bucket + \"/\" + c.makeBucketPath(name)\n}\n"
  },
  {
    "path": "internal/messenger/email/email.go",
    "content": "package email\n\nimport (\n\t\"crypto/tls\"\n\t\"fmt\"\n\t\"math/rand\"\n\t\"net/smtp\"\n\t\"net/textproto\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/knadh/smtppool/v2\"\n)\n\nconst (\n\tMessengerName = \"email\"\n\n\thdrReturnPath = \"Return-Path\"\n\thdrBcc        = \"Bcc\"\n\thdrCc         = \"Cc\"\n)\n\n// Server represents an SMTP server's credentials.\ntype Server struct {\n\t// Name is a unique identifier for the server.\n\tName          string            `json:\"name\"`\n\tUsername      string            `json:\"username\"`\n\tPassword      string            `json:\"password\"`\n\tAuthProtocol  string            `json:\"auth_protocol\"`\n\tTLSType       string            `json:\"tls_type\"`\n\tTLSSkipVerify bool              `json:\"tls_skip_verify\"`\n\tEmailHeaders  map[string]string `json:\"email_headers\"`\n\n\t// Rest of the options are embedded directly from the smtppool lib.\n\t// The JSON tag is for config unmarshal to work.\n\t//lint:ignore SA5008 ,squash is needed by koanf/mapstructure config unmarshal.\n\tsmtppool.Opt `json:\",squash\"`\n\n\tpool *smtppool.Pool\n}\n\n// Emailer is the SMTP e-mail messenger.\ntype Emailer struct {\n\tservers []*Server\n\tname    string\n}\n\n// New returns an SMTP e-mail Messenger backend with the given SMTP servers.\n// Group indicates whether the messenger represents a group of SMTP servers (1 or more)\n// that are used as a round-robin pool, or a single server.\nfunc New(name string, servers ...Server) (*Emailer, error) {\n\te := &Emailer{\n\t\tservers: make([]*Server, 0, len(servers)),\n\t\tname:    name,\n\t}\n\n\tfor _, srv := range servers {\n\t\ts := srv\n\n\t\tvar auth smtp.Auth\n\t\tswitch s.AuthProtocol {\n\t\tcase \"cram\":\n\t\t\tauth = smtp.CRAMMD5Auth(s.Username, s.Password)\n\t\tcase \"plain\":\n\t\t\tauth = smtp.PlainAuth(\"\", s.Username, s.Password, s.Host)\n\t\tcase \"login\":\n\t\t\tauth = &smtppool.LoginAuth{Username: s.Username, Password: s.Password}\n\t\tcase \"\", \"none\":\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"unknown SMTP auth type '%s'\", s.AuthProtocol)\n\t\t}\n\t\ts.Opt.Auth = auth\n\n\t\t// TLS config.\n\t\ts.Opt.SSL = smtppool.SSLNone\n\t\tif s.TLSType != \"none\" {\n\t\t\ts.TLSConfig = &tls.Config{}\n\t\t\tif s.TLSSkipVerify {\n\t\t\t\ts.TLSConfig.InsecureSkipVerify = s.TLSSkipVerify\n\t\t\t} else {\n\t\t\t\ts.TLSConfig.ServerName = s.Host\n\t\t\t}\n\n\t\t\t// SSL/TLS, not STARTTLS.\n\t\t\tswitch s.TLSType {\n\t\t\tcase \"TLS\":\n\t\t\t\ts.Opt.SSL = smtppool.SSLTLS\n\t\t\tcase \"STARTTLS\":\n\t\t\t\ts.Opt.SSL = smtppool.SSLSTARTTLS\n\t\t\t}\n\t\t}\n\n\t\tpool, err := smtppool.New(s.Opt)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\ts.pool = pool\n\t\te.servers = append(e.servers, &s)\n\t}\n\n\treturn e, nil\n}\n\n// Name returns the messenger's name.\nfunc (e *Emailer) Name() string {\n\treturn e.name\n}\n\n// Push pushes a message to the server.\nfunc (e *Emailer) Push(m models.Message) error {\n\t// If there are more than one SMTP servers, send to a random\n\t// one from the list.\n\tvar (\n\t\tln  = len(e.servers)\n\t\tsrv *Server\n\t)\n\tif ln > 1 {\n\t\tsrv = e.servers[rand.Intn(ln)]\n\t} else {\n\t\tsrv = e.servers[0]\n\t}\n\n\t// Are there attachments?\n\tvar files []smtppool.Attachment\n\tif m.Attachments != nil {\n\t\tfiles = make([]smtppool.Attachment, 0, len(m.Attachments))\n\t\tfor _, f := range m.Attachments {\n\t\t\ta := smtppool.Attachment{\n\t\t\t\tFilename: f.Name,\n\t\t\t\tHeader:   f.Header,\n\t\t\t\tContent:  make([]byte, len(f.Content)),\n\t\t\t}\n\t\t\tcopy(a.Content, f.Content)\n\t\t\tfiles = append(files, a)\n\t\t}\n\t}\n\n\t// Create the email.\n\tem := smtppool.Email{\n\t\tFrom:        m.From,\n\t\tTo:          m.To,\n\t\tSubject:     m.Subject,\n\t\tAttachments: files,\n\t}\n\n\tem.Headers = textproto.MIMEHeader{}\n\n\t// Attach SMTP level headers.\n\tfor k, v := range srv.EmailHeaders {\n\t\tem.Headers.Set(k, v)\n\t}\n\n\t// Attach e-mail level headers.\n\tfor k, v := range m.Headers {\n\t\tem.Headers.Set(k, v[0])\n\t}\n\n\t// If the `Return-Path` header is set, it should be set as the\n\t// the SMTP envelope sender (via the Sender field of the email struct).\n\tif sender := em.Headers.Get(hdrReturnPath); sender != \"\" {\n\t\tem.Sender = sender\n\t\tem.Headers.Del(hdrReturnPath)\n\t}\n\n\t// If the `Bcc` header is set, it should be set on the Envelope\n\tif bcc := em.Headers.Get(hdrBcc); bcc != \"\" {\n\t\tfor _, part := range strings.Split(bcc, \",\") {\n\t\t\tem.Bcc = append(em.Bcc, strings.TrimSpace(part))\n\t\t}\n\t\tem.Headers.Del(hdrBcc)\n\t}\n\n\t// If the `Cc` header is set, it should be set on the Envelope\n\tif cc := em.Headers.Get(hdrCc); cc != \"\" {\n\t\tfor _, part := range strings.Split(cc, \",\") {\n\t\t\tem.Cc = append(em.Cc, strings.TrimSpace(part))\n\t\t}\n\t\tem.Headers.Del(hdrCc)\n\t}\n\n\tswitch m.ContentType {\n\tcase \"plain\":\n\t\tem.Text = []byte(m.Body)\n\tdefault:\n\t\tem.HTML = m.Body\n\t\tif len(m.AltBody) > 0 {\n\t\t\tem.Text = m.AltBody\n\t\t}\n\t}\n\n\treturn srv.pool.Send(em)\n}\n\n// Flush flushes the message queue to the server.\nfunc (e *Emailer) Flush() error {\n\treturn nil\n}\n\n// Close closes the SMTP pools.\nfunc (e *Emailer) Close() error {\n\tfor _, s := range e.servers {\n\t\ts.pool.Close()\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "internal/messenger/postback/postback.go",
    "content": "package postback\n\nimport (\n\t\"bytes\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/textproto\"\n\t\"time\"\n\n\t\"github.com/knadh/listmonk/models\"\n)\n\n// postback is the payload that's posted as JSON to the HTTP Postback server.\n//\n//easyjson:json\ntype postback struct {\n\tSubject     string       `json:\"subject\"`\n\tFromEmail   string       `json:\"from_email\"`\n\tContentType string       `json:\"content_type\"`\n\tBody        string       `json:\"body\"`\n\tRecipients  []recipient  `json:\"recipients\"`\n\tCampaign    *campaign    `json:\"campaign\"`\n\tAttachments []attachment `json:\"attachments\"`\n}\n\ntype campaign struct {\n\tFromEmail string         `json:\"from_email\"`\n\tUUID      string         `json:\"uuid\"`\n\tName      string         `json:\"name\"`\n\tHeaders   models.Headers `json:\"headers\"`\n\tTags      []string       `json:\"tags\"`\n}\n\ntype recipient struct {\n\tUUID    string      `json:\"uuid\"`\n\tEmail   string      `json:\"email\"`\n\tName    string      `json:\"name\"`\n\tAttribs models.JSON `json:\"attribs\"`\n\tStatus  string      `json:\"status\"`\n}\n\ntype attachment struct {\n\tName    string               `json:\"name\"`\n\tHeader  textproto.MIMEHeader `json:\"header\"`\n\tContent []byte               `json:\"content\"`\n}\n\n// Options represents HTTP Postback server options.\ntype Options struct {\n\tName     string        `json:\"name\"`\n\tUsername string        `json:\"username\"`\n\tPassword string        `json:\"password\"`\n\tRootURL  string        `json:\"root_url\"`\n\tMaxConns int           `json:\"max_conns\"`\n\tRetries  int           `json:\"retries\"`\n\tTimeout  time.Duration `json:\"timeout\"`\n}\n\n// Postback represents an HTTP Message server.\ntype Postback struct {\n\tauthStr string\n\to       Options\n\tc       *http.Client\n}\n\n// New returns a new instance of the HTTP Postback messenger.\nfunc New(o Options) (*Postback, error) {\n\tauthStr := \"\"\n\tif o.Username != \"\" && o.Password != \"\" {\n\t\tauthStr = fmt.Sprintf(\"Basic %s\", base64.StdEncoding.EncodeToString(\n\t\t\t[]byte(o.Username+\":\"+o.Password)))\n\t}\n\n\treturn &Postback{\n\t\tauthStr: authStr,\n\t\to:       o,\n\t\tc: &http.Client{\n\t\t\tTimeout: o.Timeout,\n\t\t\tTransport: &http.Transport{\n\t\t\t\tMaxIdleConnsPerHost:   o.MaxConns,\n\t\t\t\tMaxConnsPerHost:       o.MaxConns,\n\t\t\t\tResponseHeaderTimeout: o.Timeout,\n\t\t\t\tIdleConnTimeout:       o.Timeout,\n\t\t\t},\n\t\t},\n\t}, nil\n}\n\n// Name returns the messenger's name.\nfunc (p *Postback) Name() string {\n\treturn p.o.Name\n}\n\n// Push pushes a message to the server.\nfunc (p *Postback) Push(m models.Message) error {\n\tpb := postback{\n\t\tSubject:     m.Subject,\n\t\tFromEmail:   m.From,\n\t\tContentType: m.ContentType,\n\t\tBody:        string(m.Body),\n\t\tRecipients: []recipient{{\n\t\t\tUUID:    m.Subscriber.UUID,\n\t\t\tEmail:   m.Subscriber.Email,\n\t\t\tName:    m.Subscriber.Name,\n\t\t\tStatus:  m.Subscriber.Status,\n\t\t\tAttribs: m.Subscriber.Attribs,\n\t\t}},\n\t}\n\n\tif m.Campaign != nil {\n\t\tpb.Campaign = &campaign{\n\t\t\tFromEmail: m.Campaign.FromEmail,\n\t\t\tUUID:      m.Campaign.UUID,\n\t\t\tName:      m.Campaign.Name,\n\t\t\tHeaders:   m.Campaign.Headers,\n\t\t\tTags:      m.Campaign.Tags,\n\t\t}\n\t}\n\n\tif len(m.Attachments) > 0 {\n\t\tfiles := make([]attachment, 0, len(m.Attachments))\n\t\tfor _, f := range m.Attachments {\n\t\t\ta := attachment{\n\t\t\t\tName:    f.Name,\n\t\t\t\tHeader:  f.Header,\n\t\t\t\tContent: make([]byte, len(f.Content)),\n\t\t\t}\n\t\t\tcopy(a.Content, f.Content)\n\t\t\tfiles = append(files, a)\n\t\t}\n\t\tpb.Attachments = files\n\t}\n\n\tb, err := pb.MarshalJSON()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn p.exec(http.MethodPost, p.o.RootURL, b, nil)\n}\n\n// Flush flushes the message queue to the server.\nfunc (p *Postback) Flush() error {\n\treturn nil\n}\n\n// Close closes idle HTTP connections.\nfunc (p *Postback) Close() error {\n\tp.c.CloseIdleConnections()\n\n\treturn nil\n}\n\nfunc (p *Postback) exec(method, rURL string, reqBody []byte, headers http.Header) error {\n\tvar (\n\t\terr      error\n\t\tpostBody io.Reader\n\t)\n\n\t// Encode POST / PUT params.\n\tif method == http.MethodPost || method == http.MethodPut {\n\t\tpostBody = bytes.NewReader(reqBody)\n\t}\n\n\treq, err := http.NewRequest(method, rURL, postBody)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif headers != nil {\n\t\treq.Header = headers\n\t} else {\n\t\treq.Header = http.Header{}\n\t}\n\treq.Header.Set(\"User-Agent\", \"listmonk\")\n\n\t// Optional BasicAuth.\n\tif p.authStr != \"\" {\n\t\treq.Header.Set(\"Authorization\", p.authStr)\n\t}\n\n\t// If a content-type isn't set, set the default one.\n\tif req.Header.Get(\"Content-Type\") == \"\" {\n\t\tif method == http.MethodPost || method == http.MethodPut {\n\t\t\treq.Header.Add(\"Content-Type\", \"application/json\")\n\t\t}\n\t}\n\n\t// If the request method is GET or DELETE, add the params as QueryString.\n\tif method == http.MethodGet || method == http.MethodDelete {\n\t\treq.URL.RawQuery = string(reqBody)\n\t}\n\n\t// Execute the request.\n\tr, err := p.c.Do(req)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer func() {\n\t\t// Drain and close the body to let the Transport reuse the connection\n\t\tio.Copy(io.Discard, r.Body)\n\t\tr.Body.Close()\n\t}()\n\n\tif r.StatusCode != http.StatusOK {\n\t\treturn fmt.Errorf(\"non-OK response from Postback server: %d\", r.StatusCode)\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/messenger/postback/postback_easyjson.go",
    "content": "// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.\n\npackage postback\n\nimport (\n\tjson \"encoding/json\"\n\tmodels \"github.com/knadh/listmonk/models\"\n\teasyjson \"github.com/zerodha/easyjson\"\n\tjlexer \"github.com/zerodha/easyjson/jlexer\"\n\tjwriter \"github.com/zerodha/easyjson/jwriter\"\n\ttextproto \"net/textproto\"\n)\n\n// suppress unused package warning\nvar (\n\t_ *json.RawMessage\n\t_ *jlexer.Lexer\n\t_ *jwriter.Writer\n\t_ easyjson.Marshaler\n)\n\nfunc easyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback(in *jlexer.Lexer, out *postback) {\n\tisTopLevel := in.IsStart()\n\tif in.IsNull() {\n\t\tif isTopLevel {\n\t\t\tin.Consumed()\n\t\t}\n\t\tin.Skip()\n\t\treturn\n\t}\n\tin.Delim('{')\n\tfor !in.IsDelim('}') {\n\t\tkey := in.UnsafeFieldName(false)\n\t\tin.WantColon()\n\t\tif in.IsNull() {\n\t\t\tin.Skip()\n\t\t\tin.WantComma()\n\t\t\tcontinue\n\t\t}\n\t\tswitch key {\n\t\tcase \"subject\":\n\t\t\tout.Subject = string(in.String())\n\t\tcase \"from_email\":\n\t\t\tout.FromEmail = string(in.String())\n\t\tcase \"content_type\":\n\t\t\tout.ContentType = string(in.String())\n\t\tcase \"body\":\n\t\t\tout.Body = string(in.String())\n\t\tcase \"recipients\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t\tout.Recipients = nil\n\t\t\t} else {\n\t\t\t\tin.Delim('[')\n\t\t\t\tif out.Recipients == nil {\n\t\t\t\t\tif !in.IsDelim(']') {\n\t\t\t\t\t\tout.Recipients = make([]recipient, 0, 0)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tout.Recipients = []recipient{}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tout.Recipients = (out.Recipients)[:0]\n\t\t\t\t}\n\t\t\t\tfor !in.IsDelim(']') {\n\t\t\t\t\tvar v1 recipient\n\t\t\t\t\teasyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback1(in, &v1)\n\t\t\t\t\tout.Recipients = append(out.Recipients, v1)\n\t\t\t\t\tin.WantComma()\n\t\t\t\t}\n\t\t\t\tin.Delim(']')\n\t\t\t}\n\t\tcase \"campaign\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t\tout.Campaign = nil\n\t\t\t} else {\n\t\t\t\tif out.Campaign == nil {\n\t\t\t\t\tout.Campaign = new(campaign)\n\t\t\t\t}\n\t\t\t\teasyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback2(in, out.Campaign)\n\t\t\t}\n\t\tcase \"attachments\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t\tout.Attachments = nil\n\t\t\t} else {\n\t\t\t\tin.Delim('[')\n\t\t\t\tif out.Attachments == nil {\n\t\t\t\t\tif !in.IsDelim(']') {\n\t\t\t\t\t\tout.Attachments = make([]attachment, 0, 1)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tout.Attachments = []attachment{}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tout.Attachments = (out.Attachments)[:0]\n\t\t\t\t}\n\t\t\t\tfor !in.IsDelim(']') {\n\t\t\t\t\tvar v2 attachment\n\t\t\t\t\teasyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback3(in, &v2)\n\t\t\t\t\tout.Attachments = append(out.Attachments, v2)\n\t\t\t\t\tin.WantComma()\n\t\t\t\t}\n\t\t\t\tin.Delim(']')\n\t\t\t}\n\t\tdefault:\n\t\t\tin.SkipRecursive()\n\t\t}\n\t\tin.WantComma()\n\t}\n\tin.Delim('}')\n\tif isTopLevel {\n\t\tin.Consumed()\n\t}\n}\nfunc easyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback(out *jwriter.Writer, in postback) {\n\tout.RawByte('{')\n\tfirst := true\n\t_ = first\n\t{\n\t\tconst prefix string = \",\\\"subject\\\":\"\n\t\tout.RawString(prefix[1:])\n\t\tout.String(string(in.Subject))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"from_email\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.FromEmail))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"content_type\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.ContentType))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"body\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.Body))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"recipients\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Recipients == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {\n\t\t\tout.RawString(\"null\")\n\t\t} else {\n\t\t\tout.RawByte('[')\n\t\t\tfor v3, v4 := range in.Recipients {\n\t\t\t\tif v3 > 0 {\n\t\t\t\t\tout.RawByte(',')\n\t\t\t\t}\n\t\t\t\teasyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback1(out, v4)\n\t\t\t}\n\t\t\tout.RawByte(']')\n\t\t}\n\t}\n\t{\n\t\tconst prefix string = \",\\\"campaign\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Campaign == nil {\n\t\t\tout.RawString(\"null\")\n\t\t} else {\n\t\t\teasyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback2(out, *in.Campaign)\n\t\t}\n\t}\n\t{\n\t\tconst prefix string = \",\\\"attachments\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Attachments == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {\n\t\t\tout.RawString(\"null\")\n\t\t} else {\n\t\t\tout.RawByte('[')\n\t\t\tfor v5, v6 := range in.Attachments {\n\t\t\t\tif v5 > 0 {\n\t\t\t\t\tout.RawByte(',')\n\t\t\t\t}\n\t\t\t\teasyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback3(out, v6)\n\t\t\t}\n\t\t\tout.RawByte(']')\n\t\t}\n\t}\n\tout.RawByte('}')\n}\n\n// MarshalJSON supports json.Marshaler interface\nfunc (v postback) MarshalJSON() ([]byte, error) {\n\tw := jwriter.Writer{FloatFmt: \"\"}\n\teasyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback(&w, v)\n\treturn w.Buffer.BuildBytes(), w.Error\n}\n\n// MarshalEasyJSON supports easyjson.Marshaler interface\nfunc (v postback) MarshalEasyJSON(w *jwriter.Writer) {\n\teasyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback(w, v)\n}\n\n// UnmarshalJSON supports json.Unmarshaler interface\nfunc (v *postback) UnmarshalJSON(data []byte) error {\n\tr := jlexer.Lexer{Data: data}\n\teasyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback(&r, v)\n\treturn r.Error()\n}\n\n// UnmarshalEasyJSON supports easyjson.Unmarshaler interface\nfunc (v *postback) UnmarshalEasyJSON(l *jlexer.Lexer) {\n\teasyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback(l, v)\n}\nfunc easyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback3(in *jlexer.Lexer, out *attachment) {\n\tisTopLevel := in.IsStart()\n\tif in.IsNull() {\n\t\tif isTopLevel {\n\t\t\tin.Consumed()\n\t\t}\n\t\tin.Skip()\n\t\treturn\n\t}\n\tin.Delim('{')\n\tfor !in.IsDelim('}') {\n\t\tkey := in.UnsafeFieldName(false)\n\t\tin.WantColon()\n\t\tif in.IsNull() {\n\t\t\tin.Skip()\n\t\t\tin.WantComma()\n\t\t\tcontinue\n\t\t}\n\t\tswitch key {\n\t\tcase \"name\":\n\t\t\tout.Name = string(in.String())\n\t\tcase \"header\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t} else {\n\t\t\t\tin.Delim('{')\n\t\t\t\tout.Header = make(textproto.MIMEHeader)\n\t\t\t\tfor !in.IsDelim('}') {\n\t\t\t\t\tkey := string(in.String())\n\t\t\t\t\tin.WantColon()\n\t\t\t\t\tvar v7 []string\n\t\t\t\t\tif in.IsNull() {\n\t\t\t\t\t\tin.Skip()\n\t\t\t\t\t\tv7 = nil\n\t\t\t\t\t} else {\n\t\t\t\t\t\tin.Delim('[')\n\t\t\t\t\t\tif v7 == nil {\n\t\t\t\t\t\t\tif !in.IsDelim(']') {\n\t\t\t\t\t\t\t\tv7 = make([]string, 0, 4)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tv7 = []string{}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tv7 = (v7)[:0]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor !in.IsDelim(']') {\n\t\t\t\t\t\t\tvar v8 string\n\t\t\t\t\t\t\tv8 = string(in.String())\n\t\t\t\t\t\t\tv7 = append(v7, v8)\n\t\t\t\t\t\t\tin.WantComma()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tin.Delim(']')\n\t\t\t\t\t}\n\t\t\t\t\t(out.Header)[key] = v7\n\t\t\t\t\tin.WantComma()\n\t\t\t\t}\n\t\t\t\tin.Delim('}')\n\t\t\t}\n\t\tcase \"content\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t\tout.Content = nil\n\t\t\t} else {\n\t\t\t\tout.Content = in.Bytes()\n\t\t\t}\n\t\tdefault:\n\t\t\tin.SkipRecursive()\n\t\t}\n\t\tin.WantComma()\n\t}\n\tin.Delim('}')\n\tif isTopLevel {\n\t\tin.Consumed()\n\t}\n}\nfunc easyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback3(out *jwriter.Writer, in attachment) {\n\tout.RawByte('{')\n\tfirst := true\n\t_ = first\n\t{\n\t\tconst prefix string = \",\\\"name\\\":\"\n\t\tout.RawString(prefix[1:])\n\t\tout.String(string(in.Name))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"header\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Header == nil && (out.Flags&jwriter.NilMapAsEmpty) == 0 {\n\t\t\tout.RawString(`null`)\n\t\t} else {\n\t\t\tout.RawByte('{')\n\t\t\tv10First := true\n\t\t\tfor v10Name, v10Value := range in.Header {\n\t\t\t\tif v10First {\n\t\t\t\t\tv10First = false\n\t\t\t\t} else {\n\t\t\t\t\tout.RawByte(',')\n\t\t\t\t}\n\t\t\t\tout.String(string(v10Name))\n\t\t\t\tout.RawByte(':')\n\t\t\t\tif v10Value == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {\n\t\t\t\t\tout.RawString(\"null\")\n\t\t\t\t} else {\n\t\t\t\t\tout.RawByte('[')\n\t\t\t\t\tfor v11, v12 := range v10Value {\n\t\t\t\t\t\tif v11 > 0 {\n\t\t\t\t\t\t\tout.RawByte(',')\n\t\t\t\t\t\t}\n\t\t\t\t\t\tout.String(string(v12))\n\t\t\t\t\t}\n\t\t\t\t\tout.RawByte(']')\n\t\t\t\t}\n\t\t\t}\n\t\t\tout.RawByte('}')\n\t\t}\n\t}\n\t{\n\t\tconst prefix string = \",\\\"content\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.Base64Bytes(in.Content)\n\t}\n\tout.RawByte('}')\n}\nfunc easyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback2(in *jlexer.Lexer, out *campaign) {\n\tisTopLevel := in.IsStart()\n\tif in.IsNull() {\n\t\tif isTopLevel {\n\t\t\tin.Consumed()\n\t\t}\n\t\tin.Skip()\n\t\treturn\n\t}\n\tin.Delim('{')\n\tfor !in.IsDelim('}') {\n\t\tkey := in.UnsafeFieldName(false)\n\t\tin.WantColon()\n\t\tif in.IsNull() {\n\t\t\tin.Skip()\n\t\t\tin.WantComma()\n\t\t\tcontinue\n\t\t}\n\t\tswitch key {\n\t\tcase \"from_email\":\n\t\t\tout.FromEmail = string(in.String())\n\t\tcase \"uuid\":\n\t\t\tout.UUID = string(in.String())\n\t\tcase \"name\":\n\t\t\tout.Name = string(in.String())\n\t\tcase \"headers\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t\tout.Headers = nil\n\t\t\t} else {\n\t\t\t\tin.Delim('[')\n\t\t\t\tif out.Headers == nil {\n\t\t\t\t\tif !in.IsDelim(']') {\n\t\t\t\t\t\tout.Headers = make(models.Headers, 0, 8)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tout.Headers = models.Headers{}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tout.Headers = (out.Headers)[:0]\n\t\t\t\t}\n\t\t\t\tfor !in.IsDelim(']') {\n\t\t\t\t\tvar v15 map[string]string\n\t\t\t\t\tif in.IsNull() {\n\t\t\t\t\t\tin.Skip()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tin.Delim('{')\n\t\t\t\t\t\tv15 = make(map[string]string)\n\t\t\t\t\t\tfor !in.IsDelim('}') {\n\t\t\t\t\t\t\tkey := string(in.String())\n\t\t\t\t\t\t\tin.WantColon()\n\t\t\t\t\t\t\tvar v16 string\n\t\t\t\t\t\t\tv16 = string(in.String())\n\t\t\t\t\t\t\t(v15)[key] = v16\n\t\t\t\t\t\t\tin.WantComma()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tin.Delim('}')\n\t\t\t\t\t}\n\t\t\t\t\tout.Headers = append(out.Headers, v15)\n\t\t\t\t\tin.WantComma()\n\t\t\t\t}\n\t\t\t\tin.Delim(']')\n\t\t\t}\n\t\tcase \"tags\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t\tout.Tags = nil\n\t\t\t} else {\n\t\t\t\tin.Delim('[')\n\t\t\t\tif out.Tags == nil {\n\t\t\t\t\tif !in.IsDelim(']') {\n\t\t\t\t\t\tout.Tags = make([]string, 0, 4)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tout.Tags = []string{}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tout.Tags = (out.Tags)[:0]\n\t\t\t\t}\n\t\t\t\tfor !in.IsDelim(']') {\n\t\t\t\t\tvar v17 string\n\t\t\t\t\tv17 = string(in.String())\n\t\t\t\t\tout.Tags = append(out.Tags, v17)\n\t\t\t\t\tin.WantComma()\n\t\t\t\t}\n\t\t\t\tin.Delim(']')\n\t\t\t}\n\t\tdefault:\n\t\t\tin.SkipRecursive()\n\t\t}\n\t\tin.WantComma()\n\t}\n\tin.Delim('}')\n\tif isTopLevel {\n\t\tin.Consumed()\n\t}\n}\nfunc easyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback2(out *jwriter.Writer, in campaign) {\n\tout.RawByte('{')\n\tfirst := true\n\t_ = first\n\t{\n\t\tconst prefix string = \",\\\"from_email\\\":\"\n\t\tout.RawString(prefix[1:])\n\t\tout.String(string(in.FromEmail))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"uuid\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.UUID))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"name\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.Name))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"headers\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Headers == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {\n\t\t\tout.RawString(\"null\")\n\t\t} else {\n\t\t\tout.RawByte('[')\n\t\t\tfor v18, v19 := range in.Headers {\n\t\t\t\tif v18 > 0 {\n\t\t\t\t\tout.RawByte(',')\n\t\t\t\t}\n\t\t\t\tif v19 == nil && (out.Flags&jwriter.NilMapAsEmpty) == 0 {\n\t\t\t\t\tout.RawString(`null`)\n\t\t\t\t} else {\n\t\t\t\t\tout.RawByte('{')\n\t\t\t\t\tv20First := true\n\t\t\t\t\tfor v20Name, v20Value := range v19 {\n\t\t\t\t\t\tif v20First {\n\t\t\t\t\t\t\tv20First = false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tout.RawByte(',')\n\t\t\t\t\t\t}\n\t\t\t\t\t\tout.String(string(v20Name))\n\t\t\t\t\t\tout.RawByte(':')\n\t\t\t\t\t\tout.String(string(v20Value))\n\t\t\t\t\t}\n\t\t\t\t\tout.RawByte('}')\n\t\t\t\t}\n\t\t\t}\n\t\t\tout.RawByte(']')\n\t\t}\n\t}\n\t{\n\t\tconst prefix string = \",\\\"tags\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Tags == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {\n\t\t\tout.RawString(\"null\")\n\t\t} else {\n\t\t\tout.RawByte('[')\n\t\t\tfor v21, v22 := range in.Tags {\n\t\t\t\tif v21 > 0 {\n\t\t\t\t\tout.RawByte(',')\n\t\t\t\t}\n\t\t\t\tout.String(string(v22))\n\t\t\t}\n\t\t\tout.RawByte(']')\n\t\t}\n\t}\n\tout.RawByte('}')\n}\nfunc easyjsonDf11841fDecodeGithubComKnadhListmonkInternalMessengerPostback1(in *jlexer.Lexer, out *recipient) {\n\tisTopLevel := in.IsStart()\n\tif in.IsNull() {\n\t\tif isTopLevel {\n\t\t\tin.Consumed()\n\t\t}\n\t\tin.Skip()\n\t\treturn\n\t}\n\tin.Delim('{')\n\tfor !in.IsDelim('}') {\n\t\tkey := in.UnsafeFieldName(false)\n\t\tin.WantColon()\n\t\tif in.IsNull() {\n\t\t\tin.Skip()\n\t\t\tin.WantComma()\n\t\t\tcontinue\n\t\t}\n\t\tswitch key {\n\t\tcase \"uuid\":\n\t\t\tout.UUID = string(in.String())\n\t\tcase \"email\":\n\t\t\tout.Email = string(in.String())\n\t\tcase \"name\":\n\t\t\tout.Name = string(in.String())\n\t\tcase \"attribs\":\n\t\t\tif in.IsNull() {\n\t\t\t\tin.Skip()\n\t\t\t} else {\n\t\t\t\tin.Delim('{')\n\t\t\t\tout.Attribs = make(models.JSON)\n\t\t\t\tfor !in.IsDelim('}') {\n\t\t\t\t\tkey := string(in.String())\n\t\t\t\t\tin.WantColon()\n\t\t\t\t\tvar v23 interface{}\n\t\t\t\t\tif m, ok := v23.(easyjson.Unmarshaler); ok {\n\t\t\t\t\t\tm.UnmarshalEasyJSON(in)\n\t\t\t\t\t} else if m, ok := v23.(json.Unmarshaler); ok {\n\t\t\t\t\t\t_ = m.UnmarshalJSON(in.Raw())\n\t\t\t\t\t} else {\n\t\t\t\t\t\tv23 = in.Interface()\n\t\t\t\t\t}\n\t\t\t\t\t(out.Attribs)[key] = v23\n\t\t\t\t\tin.WantComma()\n\t\t\t\t}\n\t\t\t\tin.Delim('}')\n\t\t\t}\n\t\tcase \"status\":\n\t\t\tout.Status = string(in.String())\n\t\tdefault:\n\t\t\tin.SkipRecursive()\n\t\t}\n\t\tin.WantComma()\n\t}\n\tin.Delim('}')\n\tif isTopLevel {\n\t\tin.Consumed()\n\t}\n}\nfunc easyjsonDf11841fEncodeGithubComKnadhListmonkInternalMessengerPostback1(out *jwriter.Writer, in recipient) {\n\tout.RawByte('{')\n\tfirst := true\n\t_ = first\n\t{\n\t\tconst prefix string = \",\\\"uuid\\\":\"\n\t\tout.RawString(prefix[1:])\n\t\tout.String(string(in.UUID))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"email\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.Email))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"name\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.Name))\n\t}\n\t{\n\t\tconst prefix string = \",\\\"attribs\\\":\"\n\t\tout.RawString(prefix)\n\t\tif in.Attribs == nil && (out.Flags&jwriter.NilMapAsEmpty) == 0 {\n\t\t\tout.RawString(`null`)\n\t\t} else {\n\t\t\tout.RawByte('{')\n\t\t\tv24First := true\n\t\t\tfor v24Name, v24Value := range in.Attribs {\n\t\t\t\tif v24First {\n\t\t\t\t\tv24First = false\n\t\t\t\t} else {\n\t\t\t\t\tout.RawByte(',')\n\t\t\t\t}\n\t\t\t\tout.String(string(v24Name))\n\t\t\t\tout.RawByte(':')\n\t\t\t\tif m, ok := v24Value.(easyjson.Marshaler); ok {\n\t\t\t\t\tm.MarshalEasyJSON(out)\n\t\t\t\t} else if m, ok := v24Value.(json.Marshaler); ok {\n\t\t\t\t\tout.Raw(m.MarshalJSON())\n\t\t\t\t} else {\n\t\t\t\t\tout.Raw(json.Marshal(v24Value))\n\t\t\t\t}\n\t\t\t}\n\t\t\tout.RawByte('}')\n\t\t}\n\t}\n\t{\n\t\tconst prefix string = \",\\\"status\\\":\"\n\t\tout.RawString(prefix)\n\t\tout.String(string(in.Status))\n\t}\n\tout.RawByte('}')\n}\n"
  },
  {
    "path": "internal/migrations/v0.4.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V0_4_0 performs the DB migrations for v.0.4.0.\nfunc V0_4_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t_, err := db.Exec(`\n\tDO $$\n\tBEGIN\n\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'list_optin') THEN\n\t\t\tCREATE TYPE list_optin AS ENUM ('single', 'double');\n\t\tEND IF;\n\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'campaign_type') THEN\n\t\t\tCREATE TYPE campaign_type AS ENUM ('regular', 'optin');\n\t\tEND IF;\n\tEND$$;\n\n\tALTER TABLE lists ADD COLUMN IF NOT EXISTS optin list_optin NOT NULL DEFAULT 'single';\n\tALTER TABLE campaigns ADD COLUMN IF NOT EXISTS type campaign_type DEFAULT 'regular';\n\t`)\n\treturn err\n}\n"
  },
  {
    "path": "internal/migrations/v0.7.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V0_7_0 performs the DB migrations for v.0.7.0.\nfunc V0_7_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t// Check if the subscriber_status.blocklisted enum value exists. If not,\n\t// it has to be created (for the change from blacklisted -> blocklisted).\n\tvar bl bool\n\tif err := db.Get(&bl, `SELECT 'blocklisted' = ANY(ENUM_RANGE(NULL::subscriber_status)::TEXT[])`); err != nil {\n\t\treturn err\n\t}\n\n\t// If `blocklist` doesn't exist, add it to the subscriber_status enum,\n\t// and update existing statuses to this value. Unfortunately, it's not possible\n\t// to remove the enum value `blacklisted` (until PG10).\n\tif !bl {\n\t\ttx, err := db.Begin()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefer tx.Rollback()\n\t\tif _, err := tx.Exec(`\n\t\t\t-- Change the status column to text.\n\t\t\tALTER TABLE subscribers ALTER COLUMN status TYPE TEXT;\n\n\t\t\t-- Change all statuses from 'blacklisted' to 'blocklisted'.\n\t\t\tUPDATE subscribers SET status='blocklisted' WHERE status='blacklisted';\n\t\n\t\t\t-- Remove the old enum.\n\t\t\tDROP TYPE subscriber_status CASCADE;\n\n\t\t\t-- Create new enum with the new values.\n\t\t\tCREATE TYPE subscriber_status AS ENUM ('enabled', 'disabled', 'blocklisted');\n\n\t\t\t-- Change the text status column to the new enum.\n\t\t\tALTER TABLE subscribers ALTER COLUMN status TYPE subscriber_status\n\t\t\t\tUSING (status::subscriber_status);\n\t\t`); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := tx.Commit(); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t_, err := db.Exec(`\n\tALTER TABLE media DROP COLUMN IF EXISTS width,\n\t\t\t\t\t  DROP COLUMN IF EXISTS height,\n\t\t\t\t\t  ADD COLUMN IF NOT EXISTS provider TEXT NOT NULL DEFAULT '';\n\n\t-- 'blacklisted' to 'blocklisted' ENUM rename is not possible (until pg10),\n\t-- so just add the new value and ignore the old one.\n\t\n\t\n\tCREATE TABLE IF NOT EXISTS settings (\n\t\tkey             TEXT NOT NULL UNIQUE,\n\t\tvalue           JSONB NOT NULL DEFAULT '{}',\n\t\tupdated_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n\t);\n\tCREATE INDEX IF NOT EXISTS idx_settings_key ON settings(key);\n\t\n\t-- Insert default settings if the table is empty.\n\tINSERT INTO settings (key, value) SELECT k, v::JSONB FROM (VALUES\n\t\t('app.root_url', '\"http://localhost:9000\"'),\n\t\t('app.favicon_url', '\"\"'),\n\t\t('app.from_email', '\"listmonk <noreply@listmonk.yoursite.com>\"'),\n\t\t('app.logo_url', '\"http://localhost:9000/public/static/logo.png\"'),\n\t\t('app.concurrency', '10'),\n\t\t('app.message_rate', '10'),\n\t\t('app.batch_size', '1000'),\n\t\t('app.max_send_errors', '1000'),\n\t\t('app.notify_emails', '[]'),\n\t\t('privacy.unsubscribe_header', 'true'),\n\t\t('privacy.allow_blocklist', 'true'),\n\t\t('privacy.allow_export', 'true'),\n\t\t('privacy.allow_wipe', 'true'),\n\t\t('privacy.exportable', '[\"profile\", \"subscriptions\", \"campaign_views\", \"link_clicks\"]'),\n\t\t('upload.provider', '\"filesystem\"'),\n\t\t('upload.filesystem.upload_path', '\"uploads\"'),\n\t\t('upload.filesystem.upload_uri', '\"/uploads\"'),\n\t\t('upload.s3.aws_access_key_id', '\"\"'),\n\t\t('upload.s3.aws_secret_access_key', '\"\"'),\n\t\t('upload.s3.aws_default_region', '\"ap-south-1\"'),\n\t\t('upload.s3.bucket', '\"\"'),\n\t\t('upload.s3.bucket_domain', '\"\"'),\n\t\t('upload.s3.bucket_path', '\"/\"'),\n\t\t('upload.s3.bucket_type', '\"public\"'),\n\t\t('upload.s3.expiry', '\"14d\"'),\n\t\t('smtp',\n\t\t\t'[{\"enabled\":true, \"host\":\"smtp.yoursite.com\",\"port\":25,\"auth_protocol\":\"cram\",\"username\":\"username\",\"password\":\"password\",\"hello_hostname\":\"\",\"max_conns\":10,\"idle_timeout\":\"15s\",\"wait_timeout\":\"5s\",\"max_msg_retries\":2,\"tls_enabled\":true,\"tls_skip_verify\":false,\"email_headers\":[]},\n\t\t\t  {\"enabled\":false, \"host\":\"smtp2.yoursite.com\",\"port\":587,\"auth_protocol\":\"plain\",\"username\":\"username\",\"password\":\"password\",\"hello_hostname\":\"\",\"max_conns\":10,\"idle_timeout\":\"15s\",\"wait_timeout\":\"5s\",\"max_msg_retries\":2,\"tls_enabled\":false,\"tls_skip_verify\":false,\"email_headers\":[]}]'),\n\t\t('messengers', '[]')) vals(k, v) WHERE NOT EXISTS(SELECT * FROM settings LIMIT 1);\n\t\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// `provider` in the media table is a new field. If there's provider config available\n\t// and no provider value exists in the media table, set it.\n\tprov := ko.String(\"upload.provider\")\n\tif prov != \"\" {\n\t\tif _, err := db.Exec(`UPDATE media SET provider=$1 WHERE provider=''`, prov); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v0.8.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V0_8_0 performs the DB migrations for v.0.8.0.\nfunc V0_8_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t_, err := db.Exec(`\n\tINSERT INTO settings (key, value) VALUES ('privacy.individual_tracking', 'false')\n\t\tON CONFLICT DO NOTHING;\n\tINSERT INTO settings (key, value) VALUES ('messengers', '[]')\n\t\tON CONFLICT DO NOTHING;\n\n\t-- Link clicks shouldn't exist if there's no corresponding link.\n\t-- links_clicks.link_id should have been NOT NULL originally.\n\tDELETE FROM link_clicks WHERE link_id is NULL;\n\tALTER TABLE link_clicks ALTER COLUMN link_id SET NOT NULL;\n\t`)\n\treturn err\n}\n"
  },
  {
    "path": "internal/migrations/v0.9.0.go",
    "content": "package migrations\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V0_9_0 performs the DB migrations for v.0.9.0.\nfunc V0_9_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n\t\t\t('app.lang', '\"en\"'),\n\t\t\t('app.message_sliding_window', 'false'),\n\t\t\t('app.message_sliding_window_duration', '\"1h\"'),\n\t\t\t('app.message_sliding_window_rate', '10000'),\n\t\t\t('app.enable_public_subscription_page', 'true')\n\t\t\tON CONFLICT DO NOTHING;\n\n\t\t-- Add alternate (plain text) body field on campaigns.\n\t\tALTER TABLE campaigns ADD COLUMN IF NOT EXISTS altbody TEXT NULL DEFAULT NULL;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Until this version, the default template during installation was broken!\n\t// Check if there's a broken default template and if yes, override it with the\n\t// actual one.\n\ttplBody, err := fs.Get(\"/static/email-templates/default.tpl\")\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error reading default e-mail template: %v\", err)\n\t}\n\n\tif _, err := db.Exec(`UPDATE templates SET body=$1 WHERE body=$2`,\n\t\ttplBody.ReadBytes(), `{{ template \"content\" . }}`); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v1.0.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V1_0_0 performs the DB migrations for v.1.0.0.\nfunc V1_0_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tif _, err := db.Exec(`ALTER TYPE content_type ADD VALUE IF NOT EXISTS 'markdown'`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n\t\t\t('app.check_updates', 'true')\n\t\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v2.0.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V2_0_0 performs the DB migrations for v.1.0.0.\nfunc V2_0_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tif _, err := db.Exec(`\n\t\tDO $$\n\t\tBEGIN\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'bounce_type') THEN\n\t\t\t\tCREATE TYPE bounce_type AS ENUM ('soft', 'hard', 'complaint');\n\t\t\tEND IF;\n\t\tEND$$;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tCREATE TABLE IF NOT EXISTS bounces (\n\t\t    id               SERIAL PRIMARY KEY,\n\t\t    subscriber_id    INTEGER NOT NULL REFERENCES subscribers(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\t\t    campaign_id      INTEGER NULL REFERENCES campaigns(id) ON DELETE SET NULL ON UPDATE CASCADE,\n\t\t    type             bounce_type NOT NULL DEFAULT 'hard',\n\t\t    source           TEXT NOT NULL DEFAULT '',\n\t\t    meta             JSONB NOT NULL DEFAULT '{}',\n\t\t    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n\t\t);\n\t\tCREATE INDEX IF NOT EXISTS idx_bounces_sub_id ON bounces(subscriber_id);\n\t\tCREATE INDEX IF NOT EXISTS idx_bounces_camp_id ON bounces(campaign_id);\n\t\tCREATE INDEX IF NOT EXISTS idx_bounces_source ON bounces(source);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n\t    ('app.send_optin_confirmation', 'true'),\n\t    ('privacy.domain_blocklist', '[]'),\n\t    ('bounce.enabled', 'false'),\n\t    ('bounce.webhooks_enabled', 'false'),\n\t    ('bounce.count', '2'),\n\t    ('bounce.action', '\"blocklist\"'),\n\t    ('bounce.ses_enabled', 'false'),\n\t    ('bounce.sendgrid_enabled', 'false'),\n\t    ('bounce.sendgrid_key', '\"\"'),\n\t    ('bounce.mailboxes', '[{\"enabled\":false, \"type\": \"pop\", \"host\":\"pop.yoursite.com\",\"port\":995,\"auth_protocol\":\"userpass\",\"username\":\"username\",\"password\":\"password\",\"return_path\": \"bounce@listmonk.yoursite.com\",\"scan_interval\":\"15m\",\"tls_enabled\":true,\"tls_skip_verify\":false}]')\n\t    ON CONFLICT DO NOTHING;`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`ALTER TABLE subscribers DROP COLUMN IF EXISTS campaigns`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tDO $$\n\t\tBEGIN\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = 'campaign_views_pkey') THEN\n\t\t\t\tALTER TABLE campaign_views ADD COLUMN IF NOT EXISTS id BIGSERIAL PRIMARY KEY;\n\t\t\tEND IF;\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = 'link_clicks_pkey') THEN\n\t\t\t\tALTER TABLE link_clicks ADD COLUMN IF NOT EXISTS id BIGSERIAL PRIMARY KEY;\n\t\t\tEND IF;\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = 'campaign_lists_pkey') THEN\n\t\t\t\tALTER TABLE campaign_lists ADD COLUMN IF NOT EXISTS id BIGSERIAL PRIMARY KEY;\n\t\t\tEND IF;\n\t\tEND$$;\n\n\t\tCREATE INDEX IF NOT EXISTS idx_views_date ON campaign_views((TIMEZONE('UTC', created_at)::DATE));\n\t\tCREATE INDEX IF NOT EXISTS idx_clicks_date ON link_clicks((TIMEZONE('UTC', created_at)::DATE));\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// S3 URL i snow a settings field. Prepare S3 URL based on region and bucket.\n\tif _, err := db.Exec(`\n\t\tWITH region AS (\n\t\t\tSELECT value#>>'{}' AS value FROM settings WHERE key='upload.s3.aws_default_region'\n\t\t), s3url AS (\n\t\t\tSELECT FORMAT('https://s3.%s.amazonaws.com', (SELECT value FROM region)) AS value\n\t\t)\n\n\t\tINSERT INTO settings (key, value) VALUES ('upload.s3.url', TO_JSON((SELECT * FROM s3url))) ON CONFLICT DO NOTHING;`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v2.1.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V2_1_0 performs the DB migrations for v.2.1.0.\nfunc V2_1_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t// Insert appearance related settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n \t\t\t('appearance.admin.custom_css', '\"\"'),\n \t\t\t('appearance.admin.custom_js', '\"\"'),\n \t\t\t('appearance.public.custom_css', '\"\"'),\n \t\t\t('appearance.public.custom_js', '\"\"'),\n \t\t\t('upload.s3.public_url', '\"\"')\n \t\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Replace all `tls_enabled: true/false` keys in the `smtp` settings JSON array\n\t// with the new field `tls_type: STARTTLS|TLS|none`.\n\t// The `tls_enabled` key is removed.\n\tif _, err := db.Exec(`\n\t\tUPDATE settings SET value = s.updated\n\t\tFROM (\n\t\t\tSELECT JSONB_AGG(\n\t\t\t\tJSONB_SET(v - 'tls_enabled', '{tls_type}', (CASE WHEN v->>'tls_enabled' = 'true' THEN '\"STARTTLS\"' ELSE '\"none\"' END)::JSONB)\n\t\t\t) AS updated FROM settings, JSONB_ARRAY_ELEMENTS(value) v WHERE key = 'smtp'\n\t\t) s WHERE key = 'smtp' AND value::TEXT LIKE '%tls_enabled%';\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`ALTER TABLE campaigns ADD COLUMN IF NOT EXISTS headers JSONB NOT NULL DEFAULT '[]';`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v2.2.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V2_2_0 performs the DB migrations for v.2.2.0.\nfunc V2_2_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tif _, err := db.Exec(`\n\t\tDO $$\n\t\tBEGIN\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'template_type') THEN\n\t\t\t\tCREATE TYPE template_type AS ENUM ('campaign', 'tx');\n\t\t\tEND IF;\n\t\tEND$$;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`ALTER TABLE templates ADD COLUMN IF NOT EXISTS \"type\" template_type NOT NULL DEFAULT 'campaign'`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`ALTER TABLE templates ADD COLUMN IF NOT EXISTS subject TEXT NOT NULL DEFAULT ''`); err != nil {\n\t\treturn err\n\t}\n\tif _, err := db.Exec(`ALTER TABLE templates ALTER COLUMN subject DROP DEFAULT`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert transactional template.\n\ttxTpl, err := fs.Get(\"/static/email-templates/sample-tx.tpl\")\n\tif err != nil {\n\t\treturn err\n\t}\n\tif _, err := db.Exec(`INSERT INTO templates (name, type, subject, body) VALUES($1, $2, $3, $4)`,\n\t\t\"Sample transactional template\", \"tx\", \"Welcome {{ .Subscriber.Name }}\", txTpl.ReadBytes()); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v2.3.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V2_2_0 performs the DB migrations for v.2.3.0.\nfunc V2_3_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tif _, err := db.Exec(`ALTER TABLE media ADD COLUMN IF NOT EXISTS \"meta\" JSONB NOT NULL DEFAULT '{}'`); err != nil {\n\t\treturn err\n\t}\n\n\t// Add `description` field to lists.\n\tif _, err := db.Exec(`ALTER TABLE lists ADD COLUMN IF NOT EXISTS \"description\" TEXT NOT NULL DEFAULT ''`); err != nil {\n\t\treturn err\n\t}\n\n\t// Add archive publishing field to campaigns.\n\tif _, err := db.Exec(`ALTER TABLE campaigns\n\t\tADD COLUMN IF NOT EXISTS archive BOOLEAN NOT NULL DEFAULT false,\n\t\tADD COLUMN IF NOT EXISTS archive_meta JSONB NOT NULL DEFAULT '{}',\n\t\tADD COLUMN IF NOT EXISTS archive_template_id INTEGER REFERENCES templates(id) ON DELETE SET DEFAULT DEFAULT 1\n\t\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n \t\t\t('app.site_name', '\"Mailing list\"'),\n \t\t\t('app.enable_public_archive', 'true'),\n \t\t\t('privacy.allow_preferences', 'false')\n \t\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v2.4.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V2_4_0 performs the DB migrations.\nfunc V2_4_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n \t\t\t('security.enable_captcha', 'false'),\n \t\t\t('security.captcha_key', '\"\"'),\n \t\t\t('security.captcha_secret', '\"\"')\n \t\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v2.5.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V2_5_0 performs the DB migrations.\nfunc V2_5_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n \t\t\t('upload.extensions', '[\"jpg\",\"jpeg\",\"png\",\"gif\",\"svg\",\"*\"]'),\n \t\t\t('app.enable_public_archive_rss_content', 'false'),\n \t\t\t('bounce.actions', '{\"soft\": {\"count\": 2, \"action\": \"none\"}, \"hard\": {\"count\": 2, \"action\": \"blocklist\"}, \"complaint\" : {\"count\": 2, \"action\": \"blocklist\"}}'),\n\t\t\t('privacy.record_optin_ip', 'false')\n \t\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tDELETE FROM settings WHERE key IN ('bounce.count', 'bounce.action');\n\n\t\t-- Add the content_type column.\n\t\tALTER TABLE media ADD COLUMN IF NOT EXISTS content_type TEXT NOT NULL DEFAULT 'application/octet-stream';\n\n\t\t-- Add meta column to subscriptions.\n\t\tALTER TABLE subscriber_lists ADD COLUMN IF NOT EXISTS meta JSONB NOT NULL DEFAULT '{}';\n\n\t\t-- Fill the content type column for existing files (which would only be images at this point).\n\t\tUPDATE media SET content_type = CASE\n\t\t\tWHEN LOWER(SUBSTRING(filename FROM '.([^.]+)$')) = 'svg' THEN 'image/svg+xml'\n\t\t\t\tELSE 'image/' || LOWER(SUBSTRING(filename FROM '.([^.]+)$'))\n\t\t\tEND;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tCREATE TABLE IF NOT EXISTS campaign_media (\n\t\t    campaign_id  INTEGER REFERENCES campaigns(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\n\t\t    -- Media items may be deleted, so media_id is nullable\n\t\t    -- and a copy of the original name is maintained here.\n\t\t    media_id     INTEGER NULL REFERENCES media(id) ON DELETE SET NULL ON UPDATE CASCADE,\n\n\t\t    filename     TEXT NOT NULL DEFAULT ''\n\t\t);\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS idx_camp_media_id ON campaign_media (campaign_id, media_id);\n\t\tCREATE INDEX IF NOT EXISTS idx_camp_media_camp_id ON campaign_media(campaign_id);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v3.0.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V3_0_0 performs the DB migrations.\nfunc V3_0_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tlo.Println(\"IMPORTANT: this upgrade might take a while if you have a large database. Please be patient ...\")\n\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n\t\t('bounce.postmark', '{\"enabled\": false, \"username\": \"\", \"password\": \"\"}'),\n\t\t('app.cache_slow_queries', 'false'),\n\t\t('app.cache_slow_queries_interval', '\"0 3 * * *\"')\n\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Fix incorrect \"d\" (day) time prefix in S3 expiry settings.\n\tif _, err := db.Exec(`UPDATE settings SET value = '\"167h\"'  WHERE key = 'upload.s3.expiry' AND value = '\"14d\"'`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`ALTER TABLE campaigns ADD COLUMN IF NOT EXISTS archive_slug TEXT NULL UNIQUE`); err != nil {\n\t\treturn err\n\t}\n\n\t// Add indexes that make sorting faster on large tables.\n\tif _, err := db.Exec(`\n\t\tCREATE INDEX IF NOT EXISTS idx_subs_created_at ON subscribers(created_at);\n\t\tCREATE INDEX IF NOT EXISTS idx_subs_updated_at ON subscribers(updated_at);\n\n\t\tCREATE INDEX IF NOT EXISTS idx_camps_status ON campaigns(status);\n\t\tCREATE INDEX IF NOT EXISTS idx_camps_name ON campaigns(name);\n\t\tCREATE INDEX IF NOT EXISTS idx_camps_created_at ON campaigns(created_at);\n\t\tCREATE INDEX IF NOT EXISTS idx_camps_updated_at ON campaigns(updated_at);\n\n\t\tCREATE INDEX IF NOT EXISTS idx_lists_type ON lists(type);\n\t\tCREATE INDEX IF NOT EXISTS idx_lists_optin ON lists(optin);\n\t\tCREATE INDEX IF NOT EXISTS idx_lists_name ON lists(name);\n\t\tCREATE INDEX IF NOT EXISTS idx_lists_created_at ON lists(created_at);\n\t\tCREATE INDEX IF NOT EXISTS idx_lists_updated_at ON lists(updated_at);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Create materialized views for slow aggregate queries.\n\tif _, err := db.Exec(`\n\t\t-- dashboard stats\n\t\tCREATE MATERIALIZED VIEW IF NOT EXISTS mat_dashboard_counts AS\n\t\t    WITH subs AS (\n\t\t        SELECT COUNT(*) AS num, status FROM subscribers GROUP BY status\n\t\t    )\n\t\t    SELECT NOW() AS updated_at,\n\t\t        JSON_BUILD_OBJECT(\n\t\t            'subscribers', JSON_BUILD_OBJECT(\n\t\t                'total', (SELECT SUM(num) FROM subs),\n\t\t                'blocklisted', (SELECT num FROM subs WHERE status='blocklisted'),\n\t\t                'orphans', (\n\t\t                    SELECT COUNT(id) FROM subscribers\n\t\t                    LEFT JOIN subscriber_lists ON (subscribers.id = subscriber_lists.subscriber_id)\n\t\t                    WHERE subscriber_lists.subscriber_id IS NULL\n\t\t                )\n\t\t            ),\n\t\t            'lists', JSON_BUILD_OBJECT(\n\t\t                'total', (SELECT COUNT(*) FROM lists),\n\t\t                'private', (SELECT COUNT(*) FROM lists WHERE type='private'),\n\t\t                'public', (SELECT COUNT(*) FROM lists WHERE type='public'),\n\t\t                'optin_single', (SELECT COUNT(*) FROM lists WHERE optin='single'),\n\t\t                'optin_double', (SELECT COUNT(*) FROM lists WHERE optin='double')\n\t\t            ),\n\t\t            'campaigns', JSON_BUILD_OBJECT(\n\t\t                'total', (SELECT COUNT(*) FROM campaigns),\n\t\t                'by_status', (\n\t\t                    SELECT JSON_OBJECT_AGG (status, num) FROM\n\t\t                    (SELECT status, COUNT(*) AS num FROM campaigns GROUP BY status) r\n\t\t                )\n\t\t            ),\n\t\t            'messages', (SELECT SUM(sent) AS messages FROM campaigns)\n\t\t        ) AS data;\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS mat_dashboard_stats_idx ON mat_dashboard_counts (updated_at);\n\n\t\tCREATE MATERIALIZED VIEW IF NOT EXISTS mat_dashboard_charts AS\n\t\t    WITH clicks AS (\n\t\t        SELECT JSON_AGG(ROW_TO_JSON(row))\n\t\t        FROM (\n\t\t            WITH viewDates AS (\n\t\t              SELECT TIMEZONE('UTC', created_at)::DATE AS to_date,\n\t\t                     TIMEZONE('UTC', created_at)::DATE - INTERVAL '30 DAY' AS from_date\n\t\t                     FROM link_clicks ORDER BY id DESC LIMIT 1\n\t\t            )\n\t\t            SELECT COUNT(*) AS count, created_at::DATE as date FROM link_clicks\n\t\t              -- use > between < to force the use of the date index.\n\t\t              WHERE TIMEZONE('UTC', created_at)::DATE BETWEEN (SELECT from_date FROM viewDates) AND (SELECT to_date FROM viewDates)\n\t\t              GROUP by date ORDER BY date\n\t\t        ) row\n\t\t    ),\n\t\t    views AS (\n\t\t        SELECT JSON_AGG(ROW_TO_JSON(row))\n\t\t        FROM (\n\t\t            WITH viewDates AS (\n\t\t              SELECT TIMEZONE('UTC', created_at)::DATE AS to_date,\n\t\t                     TIMEZONE('UTC', created_at)::DATE - INTERVAL '30 DAY' AS from_date\n\t\t                     FROM campaign_views ORDER BY id DESC LIMIT 1\n\t\t            )\n\t\t            SELECT COUNT(*) AS count, created_at::DATE as date FROM campaign_views\n\t\t              -- use > between < to force the use of the date index.\n\t\t              WHERE TIMEZONE('UTC', created_at)::DATE BETWEEN (SELECT from_date FROM viewDates) AND (SELECT to_date FROM viewDates)\n\t\t              GROUP by date ORDER BY date\n\t\t        ) row\n\t\t    )\n\t\t    SELECT NOW() AS updated_at, JSON_BUILD_OBJECT('link_clicks', COALESCE((SELECT * FROM clicks), '[]'),\n\t\t                                  'campaign_views', COALESCE((SELECT * FROM views), '[]')\n\t\t                                ) AS data;\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS mat_dashboard_charts_idx ON mat_dashboard_charts (updated_at);\n\n\t\t-- subscriber counts stats for lists\n\t\tCREATE MATERIALIZED VIEW IF NOT EXISTS mat_list_subscriber_stats AS\n\t\t    SELECT NOW() AS updated_at, lists.id AS list_id, subscriber_lists.status, COUNT(*) AS subscriber_count FROM lists\n\t\t    LEFT JOIN subscriber_lists ON (subscriber_lists.list_id = lists.id)\n\t\t    GROUP BY lists.id, subscriber_lists.status\n\t\t    UNION ALL\n\t\t    SELECT NOW() AS updated_at, 0 AS list_id, NULL AS status, COUNT(*) AS subscriber_count FROM subscribers;\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS mat_list_subscriber_stats_idx ON mat_list_subscriber_stats (list_id, status);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v4.0.0.go",
    "content": "package migrations\n\nimport (\n\t\"encoding/json\"\n\t\"log\"\n\t\"os\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n\t\"github.com/lib/pq\"\n)\n\n// V4_0_0 performs the DB migrations.\nfunc V4_0_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tlo.Println(\"IMPORTANT: this upgrade might take a while if you have a large database. Please be patient ...\")\n\n\tif _, err := db.Exec(`CREATE INDEX IF NOT EXISTS idx_subs_id_status ON subscribers(id, status);`); err != nil {\n\t\treturn err\n\t}\n\n\tif _, err := db.Exec(`\n\t\tCREATE EXTENSION IF NOT EXISTS pgcrypto;\n\n\t\tDO $$\n\t\tBEGIN\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'user_type') THEN\n\t\t\tCREATE TYPE user_type AS ENUM ('user', 'api');\n\t\t\tEND IF;\n\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'user_status') THEN\n\t\t\tCREATE TYPE user_status AS ENUM ('enabled', 'disabled');\n\t\t\tEND IF;\n\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'role_type') THEN\n\t\t\tCREATE TYPE role_type AS ENUM ('user', 'list');\n\t\t\tEND IF;\n\t\tEND$$;\n\n\t\tCREATE TABLE IF NOT EXISTS roles (\n\t\t    id               SERIAL PRIMARY KEY,\n\t\t    type             role_type NOT NULL DEFAULT 'user',\n\t\t    parent_id        INTEGER NULL REFERENCES roles(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\t\t    list_id          INTEGER NULL REFERENCES lists(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\t\t    permissions      TEXT[] NOT NULL DEFAULT '{}',\n\t\t    name             TEXT NULL,\n\t\t    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n\t\t    updated_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n\t\t);\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS idx_roles ON roles (parent_id, list_id);\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS idx_roles_name ON roles (type, name) WHERE name IS NOT NULL;\n\n\t\tCREATE TABLE IF NOT EXISTS users (\n\t\t    id               SERIAL PRIMARY KEY,\n\t\t    username         TEXT NOT NULL UNIQUE,\n\t\t    password_login   BOOLEAN NOT NULL DEFAULT false,\n\t\t    password         TEXT NULL,\n\t\t    email            TEXT NOT NULL UNIQUE,\n\t\t    name             TEXT NOT NULL,\n\t\t    avatar           TEXT NULL,\n\t\t    type             user_type NOT NULL DEFAULT 'user',\n\t\t    user_role_id     INTEGER NOT NULL REFERENCES roles(id) ON DELETE RESTRICT,\n\t\t    list_role_id     INTEGER NULL REFERENCES roles(id) ON DELETE CASCADE,\n\t\t    status           user_status NOT NULL DEFAULT 'disabled',\n\t\t    loggedin_at      TIMESTAMP WITH TIME ZONE NULL,\n\t\t    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n\t\t    updated_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n\t\t);\n\n\t\tCREATE TABLE IF NOT EXISTS sessions (\n\t\t    id TEXT NOT NULL PRIMARY KEY,\n\t\t    data JSONB DEFAULT '{}'::jsonb NOT NULL,\n\t\t    created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL\n\t\t);\n\t\tCREATE INDEX IF NOT EXISTS idx_sessions ON sessions (id, created_at);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES('security.oidc', '{\"enabled\": false, \"provider_url\": \"\", \"client_id\": \"\", \"client_secret\": \"\"}') ON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert superuser role.\n\tpmRaw, err := fs.Read(\"/permissions.json\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading permissions file: %v\", err)\n\t}\n\tpermGroups := []struct {\n\t\tGroup       string   `json:\"group\"`\n\t\tPermissions []string `json:\"permissions\"`\n\t}{}\n\tif err := json.Unmarshal(pmRaw, &permGroups); err != nil {\n\t\tlo.Fatalf(\"error loading permissions file: %v\", err)\n\t}\n\n\t// Create super admin.\n\tvar (\n\t\tuser     = os.Getenv(\"LISTMONK_ADMIN_USER\")\n\t\tpassword = os.Getenv(\"LISTMONK_ADMIN_PASSWORD\")\n\t\ttyp      = \"env\"\n\t)\n\n\tif user != \"\" {\n\t\t// If the env vars are set, use those values\n\t\tif len(user) < 2 || len(password) < 8 {\n\t\t\tlo.Fatal(\"LISTMONK_ADMIN_USER should be min 3 chars and LISTMONK_ADMIN_PASSWORD should be min 8 chars\")\n\t\t}\n\t} else if ko.Exists(\"app.admin_username\") {\n\t\t// Legacy admin/password are set in the config or env var. Use those.\n\t\tuser = ko.String(\"app.admin_username\")\n\t\tpassword = ko.String(\"app.admin_password\")\n\n\t\tif len(user) < 2 || len(password) < 8 {\n\t\t\tlo.Fatal(\"admin_username should be min 3 chars and admin_password should be min 8 chars in the TOML config\")\n\t\t}\n\t\ttyp = \"TOML config\"\n\t}\n\n\tif user != \"\" && password != \"\" {\n\t\tlo.Printf(\"creating admin user '%s'. Credential source is '%s'\", user, typ)\n\n\t\tperms := []string{}\n\t\tfor _, group := range permGroups {\n\t\t\tperms = append(perms, group.Permissions...)\n\t\t}\n\t\tif _, err := db.Exec(`INSERT INTO roles (type, name, permissions) VALUES('user', 'Super Admin', $1) ON CONFLICT DO NOTHING`, pq.Array(perms)); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif _, err := db.Exec(`\n\t\tINSERT INTO users (username, password_login, password, email, name, type, user_role_id, status) VALUES($1, true, CRYPT($2, GEN_SALT('bf')), $3, $4, 'user', 1, 'enabled') ON CONFLICT DO NOTHING;\n\t`, user, password, user+\"@listmonk\", user); err != nil {\n\t\t\treturn err\n\t\t}\n\t} else {\n\t\tlo.Printf(\"no Super Admin user created. Visit webpage to create user.\")\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v4.1.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V4_1_0 performs the DB migrations.\nfunc V4_1_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES('bounce.forwardemail', '{\"enabled\": false, \"key\": \"\"}') ON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v5.0.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\n// V5_0_0 performs the DB migrations.\nfunc V5_0_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tlo.Println(\"IMPORTANT: this upgrade might take a while if you have a large database. Please be patient ...\")\n\tif _, err := db.Exec(`\n\t\t-- Create a new temp materialized view with the fixed query (removing COUNT(*) that returns 1 for NULLs) \n\t\tCREATE MATERIALIZED VIEW IF NOT EXISTS mat_list_subscriber_stats_v5_0_0 AS\n\t\tSELECT NOW() AS updated_at, lists.id AS list_id, subscriber_lists.status, COUNT(subscriber_lists.status) AS subscriber_count FROM lists\n\t\tLEFT JOIN subscriber_lists ON (subscriber_lists.list_id = lists.id)\n\t\tGROUP BY lists.id, subscriber_lists.status\n\t\tUNION ALL\n\t\tSELECT NOW() AS updated_at, 0 AS list_id, NULL AS status, COUNT(id) AS subscriber_count FROM subscribers;\n\t\n\t\t-- Drop the old view and index.\n\t\tDROP INDEX IF EXISTS mat_list_subscriber_stats_idx;\n\t\tDROP MATERIALIZED VIEW IF EXISTS mat_list_subscriber_stats;\n\t\t\n\t\t-- Rename the temp view and create an index.\n\t\tALTER MATERIALIZED VIEW mat_list_subscriber_stats_v5_0_0 RENAME TO mat_list_subscriber_stats;\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS mat_list_subscriber_stats_idx ON mat_list_subscriber_stats (list_id, status);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Index of media filename lookup.\n\tif _, err := db.Exec(`\n\t\tCREATE INDEX IF NOT EXISTS idx_media_filename ON media(provider, filename);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert new preference settings.\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value) VALUES\n\t\t\t('privacy.domain_allowlist', '[]'),\n\t\t\t('security.oidc.provider_name', '\"\"')\n\t\tON CONFLICT DO NOTHING;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert new default super admin permissions.\n\tif _, err := db.Exec(`\n\t\tUPDATE roles SET permissions = permissions || '{campaigns:get_all}' WHERE id = 1 AND NOT permissions @> '{campaigns:get_all}';\n\t\tUPDATE roles SET permissions = permissions || '{campaigns:manage_all}' WHERE id = 1 AND NOT permissions @> '{campaigns:manage_all}';\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Visual editor changes.\n\tif _, err := db.Exec(`\n\t\tALTER TYPE content_type ADD VALUE IF NOT EXISTS 'visual';\n\t\tALTER TYPE template_type ADD VALUE IF NOT EXISTS 'campaign_visual';\n\t\tALTER TABLE templates ADD COLUMN IF NOT EXISTS body_source TEXT NULL;\n\t\tALTER TABLE campaigns ADD COLUMN IF NOT EXISTS body_source TEXT NULL;\n\t`); err != nil {\n\t\treturn err\n\t}\n\tif _, err := db.Exec(`\n\t\tALTER TABLE campaigns DROP CONSTRAINT IF EXISTS campaigns_template_id_fkey,\n\t\t\tADD FOREIGN KEY (template_id) REFERENCES templates(id) ON DELETE SET NULL,\n\t\t\tALTER COLUMN template_id DROP DEFAULT;\n\n\t\tALTER TABLE campaigns DROP CONSTRAINT IF EXISTS campaigns_archive_template_id_fkey,\n\t\t\tADD FOREIGN KEY (archive_template_id) REFERENCES templates(id) ON DELETE SET NULL,\n\t\t\tALTER COLUMN archive_template_id DROP DEFAULT;\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Insert visual campaign template.\n\tvisualTpl, err := fs.Get(\"/static/email-templates/default-visual.tpl\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default visual template: %v\", err)\n\t}\n\tvisualSrc, err := fs.Get(\"/static/email-templates/default-visual.json\")\n\tif err != nil {\n\t\tlo.Fatalf(\"error reading default visual template json: %v\", err)\n\t}\n\n\tif _, err := db.Exec(`INSERT INTO templates (name, type, subject, body, body_source) VALUES($1, $2, $3, $4, $5)`,\n\t\t\"Sample visual template\", \"campaign_visual\", \"\", visualTpl.ReadBytes(), visualSrc.ReadBytes()); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v5.1.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\nfunc V5_1_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t// Update OIDC settings to include auto_create_users and default_user_role_id fields if not present\n\t_, err := db.Exec(`\n\t\tUPDATE settings\n\t\tSET value = value::JSONB\n\t\t\t|| CASE WHEN NOT (value::JSONB ? 'auto_create_users') THEN '{\"auto_create_users\": false}'::JSONB ELSE '{}'::JSONB END\n\t\t\t|| CASE WHEN NOT (value::JSONB ? 'default_user_role_id') THEN '{\"default_user_role_id\": null}'::JSONB ELSE '{}'::JSONB END\n\t\t\t|| CASE WHEN NOT (value::JSONB ? 'default_list_role_id') THEN '{\"default_list_role_id\": null}'::JSONB ELSE '{}'::JSONB END\n\t\tWHERE key = 'security.oidc';\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Migrate old captcha settings to new JSON structure.\n\t_, err = db.Exec(`\n\t\tWITH old AS (\n\t\t\tSELECT \n\t\t\t\tCOALESCE((SELECT (value#>>'{}')::BOOLEAN FROM settings WHERE key = 'security.enable_captcha'), false) AS enable_captcha,\n\t\t\t\tCOALESCE((SELECT value#>>'{}' FROM settings WHERE key = 'security.captcha_key'), '') AS captcha_key,\n\t\t\t\tCOALESCE((SELECT value#>>'{}' FROM settings WHERE key = 'security.captcha_secret'), '') AS captcha_secret\n\t\t)\n\t\tINSERT INTO settings (key, value, updated_at) \n\t\tSELECT \n\t\t\t'security.captcha',\n\t\t\tJSON_BUILD_OBJECT(\n\t\t\t\t'altcha', JSON_BUILD_OBJECT('enabled', false, 'complexity', 300000),\n\t\t\t\t'hcaptcha', JSON_BUILD_OBJECT('enabled', enable_captcha, 'key', captcha_key, 'secret', captcha_secret)\n\t\t\t),\n\t\t\tNOW()\n\t\tFROM old\n\t\tON CONFLICT (key) DO NOTHING\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Remove old captcha settings.\n\tif _, err = db.Exec(`DELETE FROM settings WHERE key IN ('security.enable_captcha', 'security.captcha_key', 'security.captcha_secret')`); err != nil {\n\t\treturn err\n\t}\n\n\t// Add maintenance.db setting if not present.\n\t_, err = db.Exec(`\n\t\tINSERT INTO settings (key, value, updated_at)\n\t\tVALUES ('maintenance.db', '{\"vacuum\": false, \"vacuum_cron_interval\": \"0 2 * * *\"}', NOW())\n\t\tON CONFLICT (key) DO NOTHING\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v6.0.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\nfunc V6_0_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\t_, err := db.Exec(`\n\t\tINSERT INTO settings (key, value, updated_at) VALUES ('security.cors_origins', '[]', NOW()) ON CONFLICT (key) DO NOTHING\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Add 2FA fields to users table.\n\t_, err = db.Exec(`\n\t\tDO $$ BEGIN\n\t\t\t-- Create twofa_type enum if it doesn't exist\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'twofa_type') THEN\n\t\t\t\tCREATE TYPE twofa_type AS ENUM ('none', 'totp');\n\t\t\tEND IF;\n\t\tEND $$;\n\n\t\tALTER TABLE users ADD COLUMN IF NOT EXISTS twofa_type twofa_type NOT NULL DEFAULT 'none';\n\t\tALTER TABLE users ADD COLUMN IF NOT EXISTS twofa_key TEXT NULL;\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Add status field to lists table.\n\t_, err = db.Exec(`\n\t\tDO $$ BEGIN\n\t\t\t-- Create list_status enum if it doesn't exist\n\t\t\tIF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'list_status') THEN\n\t\t\t\tCREATE TYPE list_status AS ENUM ('active', 'archived');\n\t\t\tEND IF;\n\t\tEND $$;\n\n\t\tALTER TABLE lists ADD COLUMN IF NOT EXISTS status list_status NOT NULL DEFAULT 'active';\n\t\tCREATE INDEX IF NOT EXISTS idx_lists_status ON lists(status);\n\t`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Add attribs field to campaigns table.\n\t_, err = db.Exec(`ALTER TABLE campaigns ADD COLUMN IF NOT EXISTS attribs JSONB NOT NULL DEFAULT '{}'`)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/migrations/v6.1.0.go",
    "content": "package migrations\n\nimport (\n\t\"log\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/knadh/koanf/v2\"\n\t\"github.com/knadh/stuffbin\"\n)\n\nfunc V6_1_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf, lo *log.Logger) error {\n\tif _, err := db.Exec(`\n\t\tINSERT INTO settings (key, value, updated_at) VALUES ('privacy.disable_tracking', 'false', NOW()) ON CONFLICT (key) DO NOTHING\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Drop the old UTC-based date indexes and simply use local time with zone consistent\n\t// with the rest of the schema.\n\tif _, err := db.Exec(`\n\t\tDROP INDEX IF EXISTS idx_views_date; CREATE INDEX IF NOT EXISTS idx_views_date ON campaign_views(created_at);\n\t\tDROP INDEX IF EXISTS idx_clicks_date; CREATE INDEX IF NOT EXISTS idx_clicks_date ON link_clicks(created_at);\n\t\tDROP INDEX IF EXISTS idx_bounces_date; CREATE INDEX IF NOT EXISTS idx_bounces_date ON bounces(created_at);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\t// Recreate the materialized views to use server local time instead of UTC.\n\t// Create new views first, let them populate, then drop the old ones and rename the new ones.\n\tlo.Println(\"IMPORTANT: recreating analytics materialized views. This might take a while if you have a large database. Please be patient ...\")\n\tif _, err := db.Exec(`\n\t\tCREATE MATERIALIZED VIEW IF NOT EXISTS mat_dashboard_charts_v6_1_0 AS\n\t\tWITH clicks AS (\n\t\t\tSELECT JSON_AGG(ROW_TO_JSON(row))\n\t\t\tFROM (\n\t\t\t\tWITH viewDates AS (\n\t\t\t\t\tSELECT created_at::DATE AS to_date,\n\t\t\t\t\t\t   created_at::DATE - INTERVAL '30 DAY' AS from_date\n\t\t\t\t\t\t   FROM link_clicks ORDER BY id DESC LIMIT 1\n\t\t\t\t)\n\t\t\t\tSELECT COUNT(*) AS count, created_at::DATE as date FROM link_clicks\n\t\t\t\t\tWHERE created_at >= (SELECT from_date FROM viewDates)\n\t\t\t\t\tAND created_at < (SELECT to_date FROM viewDates) + INTERVAL '1 day'\n\t\t\t\t\tGROUP by date ORDER BY date\n\t\t\t) row\n\t\t),\n\t\tviews AS (\n\t\t\tSELECT JSON_AGG(ROW_TO_JSON(row))\n\t\t\tFROM (\n\t\t\t\tWITH viewDates AS (\n\t\t\t\t\tSELECT created_at::DATE AS to_date,\n\t\t\t\t\t\t   created_at::DATE - INTERVAL '30 DAY' AS from_date\n\t\t\t\t\t\t   FROM campaign_views ORDER BY id DESC LIMIT 1\n\t\t\t\t)\n\t\t\t\tSELECT COUNT(*) AS count, created_at::DATE as date FROM campaign_views\n\t\t\t\t\tWHERE created_at >= (SELECT from_date FROM viewDates)\n\t\t\t\t\tAND created_at < (SELECT to_date FROM viewDates) + INTERVAL '1 day'\n\t\t\t\t\tGROUP by date ORDER BY date\n\t\t\t) row\n\t\t)\n\t\tSELECT NOW() AS updated_at, JSON_BUILD_OBJECT('link_clicks', COALESCE((SELECT * FROM clicks), '[]'),\n\t\t\t\t\t\t\t\t  'campaign_views', COALESCE((SELECT * FROM views), '[]')\n\t\t\t\t\t\t\t\t) AS data;\n\n\t\tDROP INDEX IF EXISTS mat_dashboard_charts_idx;\n\t\tDROP MATERIALIZED VIEW IF EXISTS mat_dashboard_charts;\n\n\t\tALTER MATERIALIZED VIEW mat_dashboard_charts_v6_1_0 RENAME TO mat_dashboard_charts;\n\t\tCREATE UNIQUE INDEX IF NOT EXISTS mat_dashboard_charts_idx ON mat_dashboard_charts (updated_at);\n\t`); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "internal/notifs/notifs.go",
    "content": "// package notifs is a special singleton, stateful globally accessible package\n// that handles sending out arbitrary notifications to the admin and users.\n// It's initialized once in the main package and is accessed globally across\n// other packages.\npackage notifs\n\nimport (\n\t\"bytes\"\n\t\"html/template\"\n\t\"log\"\n\t\"net/textproto\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"github.com/knadh/listmonk/internal/messenger/email\"\n\t\"github.com/knadh/listmonk/models\"\n)\n\nconst (\n\tTplImport          = \"import-status\"\n\tTplCampaignStatus  = \"campaign-status\"\n\tTplSubscriberOptin = \"subscriber-optin\"\n\tTplSubscriberData  = \"subscriber-data\"\n\tTplForgotPassword  = \"forgot-password\"\n)\n\ntype FuncPush func(msg models.Message) error\ntype FuncNotif func(toEmails []string, subject, tplName string, data any, headers textproto.MIMEHeader) error\ntype FuncNotifSystem func(subject, tplName string, data any, headers textproto.MIMEHeader) error\n\ntype Opt struct {\n\tFromEmail    string\n\tSystemEmails []string\n\tContentType  string\n}\n\ntype Notifs struct {\n\tem *email.Emailer\n\tlo *log.Logger\n\n\topt Opt\n}\n\nvar (\n\treTitle = regexp.MustCompile(`(?s)<title\\s*data-i18n\\s*>(.+?)</title>`)\n\n\tTpls *template.Template\n\tno   *Notifs\n)\n\n// Initialize returns a new Notifs instance.\nfunc Initialize(opt Opt, tpls *template.Template, em *email.Emailer, lo *log.Logger) {\n\tif no != nil {\n\t\tlo.Fatal(\"notifs already initialized\")\n\t}\n\n\tTpls = tpls\n\tno = &Notifs{\n\t\topt: opt,\n\t\tem:  em,\n\t\tlo:  lo,\n\t}\n}\n\n// NotifySystem sends out an e-mail notification to the admin emails.\nfunc NotifySystem(subject, tplName string, data any, hdr textproto.MIMEHeader) error {\n\treturn Notify(no.opt.SystemEmails, subject, tplName, data, hdr)\n}\n\n// Notify sends out an e-mail notification.\nfunc Notify(toEmails []string, subject, tplName string, data any, hdr textproto.MIMEHeader) error {\n\tif len(toEmails) == 0 {\n\t\treturn nil\n\t}\n\n\tvar buf bytes.Buffer\n\tif err := Tpls.ExecuteTemplate(&buf, tplName, data); err != nil {\n\t\tno.lo.Printf(\"error compiling notification template '%s': %v\", tplName, err)\n\t\treturn err\n\t}\n\tbody := buf.Bytes()\n\n\tsubject, body = GetTplSubject(subject, body)\n\n\tm := models.Message{\n\t\tMessenger:   \"email\",\n\t\tContentType: no.opt.ContentType,\n\t\tFrom:        no.opt.FromEmail,\n\t\tTo:          toEmails,\n\t\tSubject:     subject,\n\t\tBody:        body,\n\t\tHeaders:     hdr,\n\t}\n\n\t// Send the message.\n\tif err := no.em.Push(m); err != nil {\n\t\tno.lo.Printf(\"error sending admin notification (%s): %v\", subject, err)\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// GetTplSubject extracts any custom i18n subject rendered in the given rendered\n// template body. If it's not found, the incoming subject and body are returned.\nfunc GetTplSubject(subject string, body []byte) (string, []byte) {\n\tm := reTitle.FindSubmatch(body)\n\tif len(m) != 2 {\n\t\treturn subject, body\n\t}\n\n\treturn strings.TrimSpace(string(m[1])), reTitle.ReplaceAll(body, []byte(\"\"))\n}\n"
  },
  {
    "path": "internal/subimporter/importer.go",
    "content": "// Package subimporter implements a bulk ZIP/CSV importer of subscribers.\n// It implements a simple queue for buffering imports and committing records\n// to DB along with ZIP and CSV handling utilities. It is meant to be used as\n// a singleton as each Importer instance is stateful, where it keeps track of\n// an import in progress. Only one import should happen on a single importer\n// instance at a time.\npackage subimporter\n\nimport (\n\t\"archive/zip\"\n\t\"bytes\"\n\t\"database/sql\"\n\t\"encoding/csv\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/mail\"\n\t\"os\"\n\t\"regexp\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"github.com/gofrs/uuid/v5\"\n\t\"github.com/knadh/listmonk/internal/i18n\"\n\t\"github.com/knadh/listmonk/models\"\n\t\"github.com/lib/pq\"\n\t\"golang.org/x/text/cases\"\n\t\"golang.org/x/text/language\"\n)\n\nconst (\n\t// commitBatchSize is the number of inserts to commit in a single SQL transaction.\n\tcommitBatchSize = 10000\n)\n\n// Various import statuses.\nconst (\n\tStatusNone      = \"none\"\n\tStatusImporting = \"importing\"\n\tStatusStopping  = \"stopping\"\n\tStatusFinished  = \"finished\"\n\tStatusFailed    = \"failed\"\n\n\tModeSubscribe = \"subscribe\"\n\tModeBlocklist = \"blocklist\"\n)\n\n// Importer represents the bulk CSV subscriber import system.\ntype Importer struct {\n\topt  Options\n\tdb   *sql.DB\n\ti18n *i18n.I18n\n\n\tdomainBlocklist       map[string]struct{}\n\thasBlocklistWildcards bool\n\thasBlocklist          bool\n\n\tdomainAllowlist       map[string]struct{}\n\thasAllowlistWildcards bool\n\thasAllowlist          bool\n\n\tstop   chan bool\n\tstatus Status\n\tsync.RWMutex\n}\n\n// Options represents import options.\ntype Options struct {\n\tUpsertStmt         *sql.Stmt\n\tBlocklistStmt      *sql.Stmt\n\tUpdateListDateStmt *sql.Stmt\n\tPostCB             func(subject string, data any) error\n\n\tDomainBlocklist []string\n\tDomainAllowlist []string\n}\n\n// Session represents a single import session.\ntype Session struct {\n\tim       *Importer\n\tsubQueue chan SubReq\n\tlog      *log.Logger\n\n\topt SessionOpt\n}\n\n// SessionOpt represents the options for an importer session.\ntype SessionOpt struct {\n\tFilename           string `json:\"filename\"`\n\tMode               string `json:\"mode\"`\n\tSubStatus          string `json:\"subscription_status\"`\n\tOverwrite          bool   `json:\"overwrite\"`\n\tOverwriteUserInfo  bool   `json:\"overwrite_userinfo\"`\n\tOverwriteSubStatus bool   `json:\"overwrite_subscription_status\"`\n\tDelim              string `json:\"delim\"`\n\tListIDs            []int  `json:\"lists\"`\n}\n\n// Status represents statistics from an ongoing import session.\ntype Status struct {\n\tName     string `json:\"name\"`\n\tTotal    int    `json:\"total\"`\n\tImported int    `json:\"imported\"`\n\tStatus   string `json:\"status\"`\n\tlogBuf   *bytes.Buffer\n}\n\n// SubReq is a wrapper over the Subscriber model.\ntype SubReq struct {\n\tmodels.Subscriber\n\tLists          []int    `json:\"lists\"`\n\tListUUIDs      []string `json:\"list_uuids\"`\n\tPreconfirmSubs bool     `json:\"preconfirm_subscriptions\"`\n}\n\ntype importStatusTpl struct {\n\tName     string\n\tStatus   string\n\tImported int\n\tTotal    int\n}\n\nvar (\n\t// ErrIsImporting is thrown when an import request is made while an\n\t// import is already running.\n\tErrIsImporting = errors.New(\"import is already running\")\n\n\tcsvHeaders = map[string]bool{\n\t\t\"email\":      true,\n\t\t\"name\":       true,\n\t\t\"attributes\": true}\n\n\tregexCleanStr = regexp.MustCompile(\"[[:^ascii:]]\")\n)\n\n// New returns a new instance of Importer.\nfunc New(opt Options, db *sql.DB, i *i18n.I18n) *Importer {\n\tim := Importer{\n\t\topt:             opt,\n\t\tdb:              db,\n\t\ti18n:            i,\n\t\tdomainBlocklist: make(map[string]struct{}, len(opt.DomainBlocklist)),\n\t\tdomainAllowlist: make(map[string]struct{}, len(opt.DomainAllowlist)),\n\t\tstatus:          Status{Status: StatusNone, logBuf: bytes.NewBuffer(nil)},\n\t\tstop:            make(chan bool, 1),\n\t}\n\n\t// Domain blocklist.\n\tmp, hasWildcards := makeDomainMap(opt.DomainBlocklist)\n\tim.domainBlocklist = mp\n\tim.hasBlocklistWildcards = hasWildcards\n\tim.hasBlocklist = len(mp) > 0\n\n\t// Domain allowlist.\n\tmp, hasWildcards = makeDomainMap(opt.DomainAllowlist)\n\tim.domainAllowlist = mp\n\tim.hasAllowlistWildcards = hasWildcards\n\tim.hasAllowlist = len(mp) > 0\n\n\treturn &im\n}\n\n// NewSession returns an new instance of Session. It takes the name\n// of the uploaded file, but doesn't do anything with it but retains it for stats.\nfunc (im *Importer) NewSession(opt SessionOpt) (*Session, error) {\n\tif !im.isDone() {\n\t\treturn nil, errors.New(\"an import is already running\")\n\t}\n\n\t// For API backwards compatibility, if the old 'overwrite'\n\t// field is set, set both overwrite fields to true.\n\tif opt.Overwrite {\n\t\topt.OverwriteUserInfo = true\n\t\topt.OverwriteSubStatus = true\n\t}\n\n\tim.Lock()\n\tim.status = Status{Status: StatusImporting,\n\t\tName:   opt.Filename,\n\t\tlogBuf: bytes.NewBuffer(nil)}\n\tim.Unlock()\n\n\ts := &Session{\n\t\tim:       im,\n\t\tlog:      log.New(im.status.logBuf, \"\", log.Ldate|log.Ltime|log.Lmicroseconds|log.Lshortfile),\n\t\tsubQueue: make(chan SubReq, commitBatchSize),\n\t\topt:      opt,\n\t}\n\n\ts.log.Printf(\"processing '%s'\", opt.Filename)\n\treturn s, nil\n}\n\n// GetStats returns the global Stats of the importer.\nfunc (im *Importer) GetStats() Status {\n\tim.RLock()\n\tdefer im.RUnlock()\n\n\treturn Status{\n\t\tName:     im.status.Name,\n\t\tStatus:   im.status.Status,\n\t\tTotal:    im.status.Total,\n\t\tImported: im.status.Imported,\n\t}\n}\n\n// GetLogs returns the log entries of the last import session.\nfunc (im *Importer) GetLogs() []byte {\n\tim.RLock()\n\tdefer im.RUnlock()\n\n\tif im.status.logBuf == nil {\n\t\treturn []byte{}\n\t}\n\n\treturn im.status.logBuf.Bytes()\n}\n\n// setStatus sets the Importer's status.\nfunc (im *Importer) setStatus(status string) {\n\tim.Lock()\n\tim.status.Status = status\n\tim.Unlock()\n}\n\n// getStatus get's the Importer's status.\nfunc (im *Importer) getStatus() string {\n\tim.RLock()\n\tstatus := im.status.Status\n\tim.RUnlock()\n\treturn status\n}\n\n// isDone returns true if the importer is working (importing|stopping).\nfunc (im *Importer) isDone() bool {\n\ts := true\n\tim.RLock()\n\tif im.getStatus() == StatusImporting || im.getStatus() == StatusStopping {\n\t\ts = false\n\t}\n\tim.RUnlock()\n\n\treturn s\n}\n\n// incrementImportCount sets the Importer's \"imported\" counter.\nfunc (im *Importer) incrementImportCount(n int) {\n\tim.Lock()\n\tim.status.Imported += n\n\tim.Unlock()\n}\n\n// sendNotif sends admin notifications for import completions.\nfunc (im *Importer) sendNotif(status string) error {\n\tvar (\n\t\ts   = im.GetStats()\n\t\tout = importStatusTpl{\n\t\t\tName:     s.Name,\n\t\t\tStatus:   status,\n\t\t\tImported: s.Imported,\n\t\t\tTotal:    s.Total,\n\t\t}\n\t\tsubject = fmt.Sprintf(\"%s: %s import\", cases.Title(language.Und).String(status), s.Name)\n\t)\n\treturn im.opt.PostCB(subject, out)\n}\n\n// Start is a blocking function that selects on a channel queue until all\n// subscriber entries in the import session are imported. It should be\n// invoked as a goroutine.\nfunc (s *Session) Start() {\n\tvar (\n\t\ttx    *sql.Tx\n\t\tstmt  *sql.Stmt\n\t\terr   error\n\t\ttotal = 0\n\t\tcur   = 0\n\t)\n\n\tlistIDs := make([]int, len(s.opt.ListIDs))\n\tcopy(listIDs, s.opt.ListIDs)\n\n\tfor sub := range s.subQueue {\n\t\tif cur == 0 {\n\t\t\t// New transaction batch.\n\t\t\ttx, err = s.im.db.Begin()\n\t\t\tif err != nil {\n\t\t\t\ts.log.Printf(\"error creating DB transaction: %v\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif s.opt.Mode == ModeSubscribe {\n\t\t\t\tstmt = tx.Stmt(s.im.opt.UpsertStmt)\n\t\t\t} else {\n\t\t\t\tstmt = tx.Stmt(s.im.opt.BlocklistStmt)\n\t\t\t}\n\t\t}\n\n\t\tuu, err := uuid.NewV4()\n\t\tif err != nil {\n\t\t\ts.log.Printf(\"error generating UUID: %v\", err)\n\t\t\ttx.Rollback()\n\t\t\tbreak\n\t\t}\n\n\t\tif s.opt.Mode == ModeSubscribe {\n\t\t\t_, err = stmt.Exec(uu, sub.Email, sub.Name, sub.Attribs, pq.Array(listIDs), s.opt.SubStatus, s.opt.OverwriteUserInfo, s.opt.OverwriteSubStatus)\n\t\t} else if s.opt.Mode == ModeBlocklist {\n\t\t\t_, err = stmt.Exec(uu, sub.Email, sub.Name, sub.Attribs)\n\t\t}\n\t\tif err != nil {\n\t\t\ts.log.Printf(\"error executing insert: %v\", err)\n\t\t\ttx.Rollback()\n\t\t\tbreak\n\t\t}\n\t\tcur++\n\t\ttotal++\n\n\t\t// Batch size is met. Commit.\n\t\tif cur%commitBatchSize == 0 {\n\t\t\tif err := tx.Commit(); err != nil {\n\t\t\t\ttx.Rollback()\n\t\t\t\ts.log.Printf(\"error committing to DB: %v\", err)\n\t\t\t} else {\n\t\t\t\ts.im.incrementImportCount(cur)\n\t\t\t\ts.log.Printf(\"imported %d\", total)\n\t\t\t}\n\n\t\t\tcur = 0\n\t\t}\n\t}\n\n\t// Queue's closed and there's nothing left to commit.\n\tif cur == 0 {\n\t\ts.im.setStatus(StatusFinished)\n\t\ts.log.Printf(\"imported finished\")\n\t\tif _, err := s.im.opt.UpdateListDateStmt.Exec(pq.Array(listIDs)); err != nil {\n\t\t\ts.log.Printf(\"error updating lists date: %v\", err)\n\t\t}\n\t\ts.im.sendNotif(StatusFinished)\n\t\treturn\n\t}\n\n\t// Queue's closed and there are records left to commit.\n\tif err := tx.Commit(); err != nil {\n\t\ttx.Rollback()\n\t\ts.im.setStatus(StatusFailed)\n\t\ts.log.Printf(\"error committing to DB: %v\", err)\n\t\ts.im.sendNotif(StatusFailed)\n\t\treturn\n\t}\n\n\ts.im.incrementImportCount(cur)\n\ts.im.setStatus(StatusFinished)\n\ts.log.Printf(\"imported finished\")\n\tif _, err := s.im.opt.UpdateListDateStmt.Exec(pq.Array(listIDs)); err != nil {\n\t\ts.log.Printf(\"error updating lists date: %v\", err)\n\t}\n\n\ts.im.sendNotif(StatusFinished)\n}\n\n// Stop stops an active import session.\nfunc (s *Session) Stop() {\n\tclose(s.subQueue)\n}\n\n// ExtractZIP takes a ZIP file's path and extracts all .csv files in it to\n// a temporary directory, and returns the name of the temp directory and the\n// list of extracted .csv files.\nfunc (s *Session) ExtractZIP(srcPath string, maxCSVs int) (string, []string, error) {\n\tif s.im.isDone() {\n\t\treturn \"\", nil, ErrIsImporting\n\t}\n\n\tfailed := true\n\tdefer func() {\n\t\tif failed {\n\t\t\ts.im.setStatus(StatusFailed)\n\t\t}\n\t}()\n\n\tz, err := zip.OpenReader(srcPath)\n\tif err != nil {\n\t\treturn \"\", nil, err\n\t}\n\tdefer z.Close()\n\n\t// Create a temporary directory to extract the files.\n\tdir, err := os.MkdirTemp(\"\", \"listmonk\")\n\tif err != nil {\n\t\ts.log.Printf(\"error creating temporary directory for extracting ZIP: %v\", err)\n\t\treturn \"\", nil, err\n\t}\n\n\tfiles := make([]string, 0, len(z.File))\n\tfor _, f := range z.File {\n\t\tfName := f.FileInfo().Name()\n\n\t\t// Skip directories.\n\t\tif f.FileInfo().IsDir() {\n\t\t\ts.log.Printf(\"skipping directory '%s'\", fName)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Skip files without the .csv extension.\n\t\tif !strings.HasSuffix(strings.ToLower(fName), \".csv\") {\n\t\t\ts.log.Printf(\"skipping non .csv file '%s'\", fName)\n\t\t\tcontinue\n\t\t}\n\n\t\ts.log.Printf(\"extracting '%s'\", fName)\n\t\tsrc, err := f.Open()\n\t\tif err != nil {\n\t\t\ts.log.Printf(\"error opening '%s' from ZIP: '%v'\", fName, err)\n\t\t\treturn \"\", nil, err\n\t\t}\n\t\tdefer src.Close()\n\n\t\tout, err := os.OpenFile(dir+\"/\"+fName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())\n\t\tif err != nil {\n\t\t\ts.log.Printf(\"error creating '%s/%s': '%v'\", dir, fName, err)\n\t\t\treturn \"\", nil, err\n\t\t}\n\t\tdefer out.Close()\n\n\t\tif _, err := io.Copy(out, src); err != nil {\n\t\t\ts.log.Printf(\"error extracting to '%s/%s': '%v'\", dir, fName, err)\n\t\t\treturn \"\", nil, err\n\t\t}\n\t\ts.log.Printf(\"extracted '%s'\", fName)\n\n\t\tfiles = append(files, fName)\n\t\tif len(files) > maxCSVs {\n\t\t\ts.log.Printf(\"won't extract any more files. Maximum is %d\", maxCSVs)\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif len(files) == 0 {\n\t\ts.log.Println(\"no CSV files found in the ZIP\")\n\t\treturn \"\", nil, errors.New(\"no CSV files found in the ZIP\")\n\t}\n\n\tfailed = false\n\treturn dir, files, nil\n}\n\n// LoadCSV loads a CSV file and validates and imports the subscriber entries in it.\nfunc (s *Session) LoadCSV(srcPath string, delim rune) error {\n\tif s.im.isDone() {\n\t\treturn ErrIsImporting\n\t}\n\n\t// Default status is \"failed\" in case the function\n\t// returns at one of the many possible errors.\n\tfailed := true\n\tdefer func() {\n\t\tif failed {\n\t\t\ts.im.setStatus(StatusFailed)\n\t\t}\n\t}()\n\n\tf, err := os.Open(srcPath)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Count the total number of lines in the file. This doesn't distinguish\n\t// between \"blank\" and non \"blank\" lines, and is only used to derive\n\t// the progress percentage for the frontend.\n\tnumLines, err := countLines(f)\n\tif err != nil {\n\t\ts.log.Printf(\"error counting lines in '%s': '%v'\", srcPath, err)\n\t\treturn err\n\t}\n\n\tif numLines == 0 {\n\t\treturn errors.New(\"empty file\")\n\t}\n\n\t// Exclude the header from count.\n\ts.im.Lock()\n\ts.im.status.Total = numLines - 1\n\ts.im.Unlock()\n\n\t// Rewind, now that we've done a linecount on the same handler.\n\t_, _ = f.Seek(0, 0)\n\trd := csv.NewReader(f)\n\trd.Comma = delim\n\n\t// Read the header.\n\tcsvHdr, err := rd.Read()\n\tif err != nil {\n\t\ts.log.Printf(\"error reading header from '%s': '%v'\", srcPath, err)\n\t\treturn err\n\t}\n\n\thdrKeys := s.mapCSVHeaders(csvHdr, csvHeaders)\n\t// email is a required header.\n\tif _, ok := hdrKeys[\"email\"]; !ok {\n\t\ts.log.Printf(\"'email' column not found in '%s'\", srcPath)\n\t\treturn errors.New(\"'email' column not found\")\n\t}\n\n\tvar (\n\t\tlnHdr = len(hdrKeys)\n\t\ti     = 0\n\t)\n\tfor {\n\t\ti++\n\n\t\t// Check for the stop signal.\n\t\tselect {\n\t\tcase <-s.im.stop:\n\t\t\tfailed = false\n\t\t\tclose(s.subQueue)\n\t\t\ts.log.Println(\"stop request received\")\n\t\t\treturn nil\n\t\tdefault:\n\t\t}\n\n\t\tcols, err := rd.Read()\n\t\tif err == io.EOF {\n\t\t\tbreak\n\t\t} else if err != nil {\n\t\t\tif err, ok := err.(*csv.ParseError); ok && err.Err == csv.ErrFieldCount {\n\t\t\t\ts.log.Printf(\"skipping line %d. %v\", i, err)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\ts.log.Printf(\"error reading CSV '%s'\", err)\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\n\t\tlnCols := len(cols)\n\t\tif lnCols < lnHdr {\n\t\t\ts.log.Printf(\"skipping line %d. column count (%d) does not match minimum header count (%d)\", i, lnCols, lnHdr)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Iterate the key map and based on the indices mapped earlier,\n\t\t// form a map of key: csv_value, eg: email: user@user.com.\n\t\trow := make(map[string]string, lnCols)\n\t\tfor key := range hdrKeys {\n\t\t\trow[key] = cols[hdrKeys[key]]\n\t\t}\n\n\t\tsub := SubReq{}\n\t\tsub.Email = row[\"email\"]\n\n\t\tif v, ok := row[\"name\"]; ok {\n\t\t\tsub.Name = v\n\t\t}\n\n\t\tsub, err = s.im.ValidateFields(sub)\n\t\tif err != nil {\n\t\t\ts.log.Printf(\"skipping line %d: %v: %v\", i, err, cols)\n\t\t\tcontinue\n\t\t}\n\n\t\t// JSON attributes.\n\t\tif len(row[\"attributes\"]) > 0 {\n\t\t\tvar (\n\t\t\t\tattribs models.JSON\n\t\t\t\tb       = []byte(row[\"attributes\"])\n\t\t\t)\n\t\t\tif err := json.Unmarshal(b, &attribs); err != nil {\n\t\t\t\ts.log.Printf(\"skipping invalid attributes JSON on line %d for '%s': %v\", i, sub.Email, err)\n\t\t\t} else {\n\t\t\t\tsub.Attribs = attribs\n\t\t\t}\n\t\t}\n\n\t\t// Send the subscriber to the queue.\n\t\ts.subQueue <- sub\n\t}\n\n\tclose(s.subQueue)\n\tfailed = false\n\n\treturn nil\n}\n\n// Stop sends a signal to stop the existing import.\nfunc (im *Importer) Stop() {\n\tif im.getStatus() != StatusImporting {\n\t\tim.Lock()\n\t\tim.status = Status{Status: StatusNone}\n\t\tim.Unlock()\n\n\t\treturn\n\t}\n\n\tselect {\n\tcase im.stop <- true:\n\t\tim.setStatus(StatusStopping)\n\tdefault:\n\t}\n}\n\n// SanitizeEmail validates and sanitizes an e-mail string and returns the lowercased,\n// e-mail component of an e-mail string.\nfunc (im *Importer) SanitizeEmail(email string) (string, error) {\n\temail = strings.ToLower(strings.TrimSpace(email))\n\n\t// Since `mail.ParseAddress` parses an email address which can also contain optional name component\n\t// here we check if incoming email string is same as the parsed email.Address. So this eliminates\n\t// any valid email address with name and also valid address with empty name like `<abc@example.com>`.\n\tem, err := mail.ParseAddress(email)\n\tif err != nil || em.Address != email {\n\t\treturn \"\", errors.New(im.i18n.T(\"subscribers.invalidEmail\"))\n\t}\n\n\t// Check if the e-mail's domain is blocklisted. The e-mail domain and blocklist config\n\t// are always lowercase.\n\tif im.hasAllowlist || im.hasBlocklist {\n\t\td := strings.Split(em.Address, \"@\")\n\t\tif len(d) != 2 {\n\t\t\treturn em.Address, nil\n\t\t}\n\n\t\tdomain := d[1]\n\n\t\t// If there's an allowlist, check if the domain is in it. Checking blocklist after that is moot.\n\t\tif im.hasAllowlist {\n\t\t\tif !im.checkInList(domain, im.hasAllowlistWildcards, im.domainAllowlist) {\n\t\t\t\treturn \"\", errors.New(im.i18n.T(\"subscribers.domainBlocklisted\"))\n\t\t\t}\n\t\t} else if im.hasBlocklist {\n\t\t\tif im.checkInList(domain, im.hasBlocklistWildcards, im.domainBlocklist) {\n\t\t\t\treturn \"\", errors.New(im.i18n.T(\"subscribers.domainBlocklisted\"))\n\t\t\t}\n\t\t}\n\t}\n\n\treturn em.Address, nil\n}\n\n// ValidateFields validates incoming subscriber field values and returns sanitized fields.\nfunc (im *Importer) ValidateFields(s SubReq) (SubReq, error) {\n\tif len(s.Email) > 1000 {\n\t\treturn s, errors.New(im.i18n.T(\"subscribers.invalidEmail\"))\n\t}\n\n\tem, err := im.SanitizeEmail(s.Email)\n\tif err != nil {\n\t\treturn s, err\n\t}\n\ts.Email = strings.ToLower(em)\n\n\t// If there's no name, use the name part of the e-mail.\n\ts.Name = strings.TrimSpace(s.Name)\n\tif len(s.Name) == 0 {\n\t\tname := strings.ToLower(strings.Split(s.Email, \"@\")[0])\n\n\t\tparts := strings.Fields(strings.ReplaceAll(name, \".\", \" \"))\n\t\tfor n, p := range parts {\n\t\t\tparts[n] = cases.Title(language.Und).String(p)\n\t\t}\n\n\t\ts.Name = strings.Join(parts, \" \")\n\t}\n\n\treturn s, nil\n}\n\n// Check the domain against the given map of domains (block/allowlist).\nfunc (im *Importer) checkInList(domain string, hasWildcards bool, mp map[string]struct{}) bool {\n\t// Check the domain as-is.\n\tif _, ok := mp[domain]; ok {\n\t\treturn true\n\t}\n\n\t// If there are wildcards in the list and the email domain has a subdomain, check that.\n\tif hasWildcards && strings.Count(domain, \".\") > 1 {\n\t\tparts := strings.Split(domain, \".\")\n\n\t\t// Replace the first part of the subdomain with * and check if that exists in the list.\n\t\t// Eg: test.mail.example.com => *.mail.example.com\n\t\tparts[0] = \"*\"\n\t\tdomain = strings.Join(parts, \".\")\n\n\t\tif _, ok := mp[domain]; ok {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n\n// mapCSVHeaders takes a list of headers obtained from a CSV file, a map of known headers,\n// and returns a new map with each of the headers in the known map mapped by the position (0-n)\n// in the given CSV list.\nfunc (s *Session) mapCSVHeaders(csvHdrs []string, knownHdrs map[string]bool) map[string]int {\n\t// Map 0-n column index to the header keys, name: 0, email: 1 etc.\n\t// This is to allow dynamic ordering of columns in th CSV.\n\thdrKeys := make(map[string]int)\n\tfor i, h := range csvHdrs {\n\t\t// Clean the string of non-ASCII characters (BOM etc.).\n\t\th := regexCleanStr.ReplaceAllString(strings.TrimSpace(h), \"\")\n\t\tif _, ok := knownHdrs[h]; !ok {\n\t\t\ts.log.Printf(\"ignoring unknown header '%s'\", h)\n\t\t\tcontinue\n\t\t}\n\t\thdrKeys[h] = i\n\t}\n\n\treturn hdrKeys\n}\n\n// countLines counts the number of line breaks in a file. This does not\n// distinguish between \"blank\" and non \"blank\" lines.\n// Credit: https://stackoverflow.com/a/24563853\nfunc countLines(r io.Reader) (int, error) {\n\tvar (\n\t\tbuf      = make([]byte, 32*1024)\n\t\tcount    = 0\n\t\tlineSep  = byte('\\n')\n\t\tlastByte byte\n\t)\n\n\tfor {\n\t\tc, err := r.Read(buf)\n\t\tif c > 0 {\n\t\t\tcount += bytes.Count(buf[:c], []byte{lineSep})\n\t\t\tlastByte = buf[c-1]\n\t\t}\n\n\t\tif err == io.EOF {\n\t\t\tbreak\n\t\t}\n\t\tif err != nil {\n\t\t\treturn count, err\n\t\t}\n\t}\n\n\tif lastByte != 0 && lastByte != lineSep {\n\t\tcount++\n\t}\n\n\treturn count, nil\n}\n\nfunc makeDomainMap(domains []string) (map[string]struct{}, bool) {\n\tvar (\n\t\tout          = make(map[string]struct{}, len(domains))\n\t\thasWildCards = false\n\t)\n\tfor _, d := range domains {\n\t\tout[d] = struct{}{}\n\n\t\t// Domains with *. as the subdomain prefix, strip that\n\t\t// and add the full domain to the blocklist as well.\n\t\t// eg: *.example.com => example.com\n\t\tif strings.Contains(d, \"*.\") {\n\t\t\thasWildCards = true\n\t\t\tout[strings.TrimPrefix(d, \"*.\")] = struct{}{}\n\t\t}\n\t}\n\n\treturn out, hasWildCards\n}\n"
  },
  {
    "path": "internal/tmptokens/tmptokens.go",
    "content": "// Package tmptokens provides a simple in memory store for one time temp tokens with TTL.\n// This can be used for creating throwaway tokens for flows like password reset, 2FA verification, etc.\n// Tokens are automatically deleted when retrieved or when they expire.\npackage tmptokens\n\nimport (\n\t\"errors\"\n\t\"sync\"\n\t\"time\"\n)\n\nconst (\n\t// maxTries is the maximum number of verification attempts allowed for a token.\n\t// After this many failed checks, the token is automatically deleted.\n\tmaxTries = 15\n)\n\n// Token represents a temporary token with TTL and arbitrary data.\ntype Token struct {\n\tTTL       time.Duration\n\tCreatedAt time.Time\n\tCount     int\n\tData      any\n}\n\nvar (\n\tErr = errors.New(\"token was not found or has expired\")\n\n\ttokens = make(map[string]Token)\n\tmu     sync.RWMutex\n)\n\nfunc init() {\n\t// Start periodic cleanup of expired temporary tokens (2FA, password reset).\n\tgo func() {\n\t\tticker := time.NewTicker(time.Hour)\n\t\tdefer ticker.Stop()\n\t\tfor range ticker.C {\n\t\t\tClean()\n\t\t}\n\t}()\n}\n\n// Set stores a token with the given ID, TTL, and data.\n// If a token with the same ID already exists, it will be overwritten silently.\nfunc Set(id string, ttl time.Duration, data any) {\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\ttokens[id] = Token{\n\t\tTTL:       ttl,\n\t\tData:      data,\n\t\tCreatedAt: time.Now(),\n\t}\n}\n\n// Check retrieves a token by ID without deleting it.\n// An error is returned if the token doesn't exist or has expired.\n// Unlike Get(), this method does not consume/delete the token.\n// It also increments the check counter and deletes the token if maxTries is exceeded,\n// acting as a rate limiter.\nfunc Check(id string) (any, error) {\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\ttoken, exists := tokens[id]\n\tif !exists {\n\t\treturn nil, Err\n\t}\n\n\t// Check if token has expired.\n\tif time.Since(token.CreatedAt) > token.TTL {\n\t\tdelete(tokens, id)\n\t\treturn nil, Err\n\t}\n\n\t// Increment the rate limit counter.\n\ttoken.Count++\n\n\t// Check if max attempts exceeded.\n\tif token.Count > maxTries {\n\t\tdelete(tokens, id)\n\t\treturn nil, Err\n\t}\n\n\t// Update the token with the new count.\n\ttokens[id] = token\n\n\treturn token.Data, nil\n}\n\n// Get retrieves a token by ID and automatically deletes it (after one time use).\n// An error is returned if the token doesn't exist or has expired.\nfunc Get(id string) (any, error) {\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\ttoken, exists := tokens[id]\n\tif !exists {\n\t\treturn nil, Err\n\t}\n\n\t// Check if token has expired.\n\tif time.Since(token.CreatedAt) > token.TTL {\n\t\tdelete(tokens, id)\n\t\treturn nil, Err\n\t}\n\n\t// Delete the token.\n\tdelete(tokens, id)\n\n\treturn token.Data, nil\n}\n\n// Delete deletes a token by ID.\nfunc Delete(id string) {\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\tdelete(tokens, id)\n}\n\n// Clean deletes all expired tokens. This can be called periodically\n// to purge unused and expired tokens.\nfunc Clean() {\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\tnow := time.Now()\n\tfor id, token := range tokens {\n\t\tif now.Sub(token.CreatedAt) > token.TTL {\n\t\t\tdelete(tokens, id)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "internal/utils/utils.go",
    "content": "package utils\n\nimport (\n\t\"crypto/rand\"\n\t\"net/mail\"\n\t\"net/url\"\n\t\"path\"\n\t\"strings\"\n)\n\n// ValidateEmail validates whether the given string is a correctly formed e-mail address.\nfunc ValidateEmail(email string) bool {\n\t// Since `mail.ParseAddress` parses an email address which can also contain an optional name component,\n\t// here we check if incoming email string is same as the parsed email.Address. So this eliminates\n\t// any valid email address with name and also valid address with empty name like `<abc@example.com>`.\n\tem, err := mail.ParseAddress(email)\n\tif err != nil || em.Address != email {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n// GenerateRandomString generates a cryptographically random, alphanumeric string of length n.\nfunc GenerateRandomString(n int) (string, error) {\n\tconst dictionary = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\n\tvar bytes = make([]byte, n)\n\n\tif _, err := rand.Read(bytes); err != nil {\n\t\treturn \"\", err\n\t}\n\tfor k, v := range bytes {\n\t\tbytes[k] = dictionary[v%byte(len(dictionary))]\n\t}\n\n\treturn string(bytes), nil\n}\n\n// SanitizeURI takes a URL or URI, removes the domain from it, returns only the URI.\n// This is used for cleaning \"next\" redirect URLs/URIs to prevent open redirects.\nfunc SanitizeURI(u string) string {\n\tu = strings.TrimSpace(u)\n\tif u == \"\" {\n\t\treturn \"/\"\n\t}\n\n\tp, err := url.Parse(u)\n\tif err != nil || strings.Contains(p.Path, \"..\") {\n\t\treturn \"/\"\n\t}\n\n\treturn path.Clean(p.Path)\n}\n"
  },
  {
    "path": "listmonk-simple.service",
    "content": "# A simpler version of the service template with wider compatibility for older OS's\n\n[Unit]\nDescription=listmonk email service\nConditionPathExists=/etc/listmonk/config.toml\nWants=network.target\n# The PostgreSQL database may not be on the same host but if it\n# is listmonk should wait for it to start up.\nAfter=postgresql.service\n\n[Service]\nType=simple\nPermissionsStartOnly=true\nWorkingDirectory=/usr/bin\nExecStartPre=/usr/bin/mkdir -p \"/etc/listmonk/uploads\"\nExecStartPre=/usr/bin/listmonk --config /etc/listmonk/config.toml --upgrade --yes\nExecStart=/usr/bin/listmonk --config /etc/listmonk/config.toml\nTimeoutStopSec=10\nRestart=on-failure\nRestartSec=5\n\n# To enable a static dir, add the following \n# --static-dir /etc/listmonk/static\n# to the end of the ExecStart line above after creating the dir and fetching the files with:\n# mkdir -p /etc/listmonk/static ; wget -O - https://github.com/knadh/listmonk/archive/master.tar.gz | tar xz -C /etc/listmonk/static --strip=2 \"listmonk-master/static\"\n\n# To enable a log file that persists after restarts, replace the ExecStart= line with:\n# ExecStart=/bin/bash -ce \"exec /usr/bin/listmonk --config /etc/listmonk/config.toml --static-dir /etc/listmonk/static >>/etc/listmonk/listmonk.log 2>&1\"\n\n# Set user to run listmonk service as (instead of root).\n# Can use \"DynamicUser=\" instead, if your systemd version is >= 232.\n# https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#DynamicUser=\n#User=\n#StateDirectory=/etc/listmonk\n#Environment=HOME=/usr/bin\n\n# Use systemd’s ability to disable security-sensitive features\n# that listmonk does not explicitly need.\n# NoNewPrivileges should be enabled by DynamicUser=yes but systemd-analyze\n# still recommended to explicitly enable it.\nNoNewPrivileges=True\n# listmonk doesn’t need any capabilities as defined by the linux kernel\n# see: https://man7.org/linux/man-pages/man7/capabilities.7.html\nCapabilityBoundingSet=\n# listmonk only executes native code with no need for any other ABIs.\nSystemCallArchitectures=native\n\n# Make /home/, /root/, and /run/user/ inaccessible.\n# ProtectSystem=strict and ProtectHome=read-only are implied by DynamicUser=True\n# If you set ExecStartPre=/usr/bin/mkdir -p \"listmonk/uploads\" to a directory in /home/ or /root/ it will cause uploads to fail \n# See https://github.com/knadh/listmonk/issues/843#issuecomment-1836023524\nProtectHome=True\n\n# Make sure files created by listmonk are only readable by itself and\n# others in the listmonk system group.\nUMask=0027\n# listmonk only needs to support the IPv4 and IPv6 address families.\nRestrictAddressFamilies=AF_INET AF_INET6\n\n[Install]\nWantedBy=multi-user.target\n"
  },
  {
    "path": "listmonk@.service",
    "content": "[Unit]\nDescription=listmonk mailing list and newsletter manager (%I)\nConditionPathExists=/etc/listmonk/%i.toml\nWants=network.target\n# The PostgreSQL database may not be on the same host but if it\n# is listmonk should wait for it to start up.\nAfter=postgresql.service\n\n[Service]\nType=simple\nEnvironmentFile=-/etc/default/listmonk\nEnvironmentFile=-/etc/default/listmonk-%i\nExecStartPre=/usr/bin/mkdir -p \"${HOME}/uploads\"\nExecStartPre=/usr/bin/listmonk --config /etc/listmonk/%i.toml --upgrade --yes\nExecStart=/usr/bin/listmonk --config /etc/listmonk/%i.toml $SYSTEMD_LISTMONK_ARGS\nRestart=on-failure\n\n# Create dynamic users for listmonk service instances\n# but create a state directory for uploads in /var/lib/private/%i.\nDynamicUser=True\nStateDirectory=listmonk-%i\nEnvironment=HOME=%S/listmonk-%i\nWorkingDirectory=%S/listmonk-%i\n\n# Use systemd’s ability to disable security-sensitive features\n# that listmonk does not explicitly need.\n# NoNewPrivileges should be enabled by DynamicUser=yes but systemd-analyze\n# still recommended to explicitly enable it.\nNoNewPrivileges=True\n# listmonk doesn’t need any capabilities as defined by the linux kernel\n# see: https://man7.org/linux/man-pages/man7/capabilities.7.html\nCapabilityBoundingSet=\n# listmonk only executes native code with no need for any other ABIs.\nSystemCallArchitectures=native\n# Only enable a reasonable set of system calls.\n# see: https://www.freedesktop.org/software/systemd/man/systemd.exec.html#SystemCallFilter=\nSystemCallFilter=@system-service\nSystemCallFilter=~@privileged\n# ProtectSystem=strict, which is implied by DynamicUser=True, already disabled write calls\n# to the entire filesystem hierarchy, leaving only /dev/, /proc/, and /sys/ writable.\n# listmonk doesn’t need access to those so might as well disable them.\nPrivateDevices=True\nProtectControlGroups=True\nProtectKernelTunables=True\n# Make /home/, /root/, and /run/user/ inaccessible.\nProtectHome=True\n# listmonk doesn’t handle any specific device nodes.\nDeviceAllow=False\n# listmonk doesn’t make use of linux namespaces.\nRestrictNamespaces=True\n# listmonk doesn’t need realtime scheduling.\nRestrictRealtime=True\n# Make sure files created by listmonk are only readable by itself and\n# others in the listmonk system group.\nUMask=0027\n# Disable memory mappings that are both writable and executable.\nMemoryDenyWriteExecute=True\n# listmonk doesn’t make use of linux personality switching.\nLockPersonality=True\n# listmonk only needs to support the IPv4 and IPv6 address families.\nRestrictAddressFamilies=AF_INET AF_INET6\n# listmonk doesn’t need to load any linux kernel modules.\nProtectKernelModules=True\n# Create a sandboxed environment where the system users are mapped to a\n# service-specific linux kernel namespace.\nPrivateUsers=True\n\n[Install]\nWantedBy=multi-user.target\n"
  },
  {
    "path": "models/bounces.go",
    "content": "package models\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n)\n\nconst (\n\tBounceTypeHard      = \"hard\"\n\tBounceTypeSoft      = \"soft\"\n\tBounceTypeComplaint = \"complaint\"\n)\n\n// Bounce represents a single bounce event.\ntype Bounce struct {\n\tID        int             `db:\"id\" json:\"id\"`\n\tType      string          `db:\"type\" json:\"type\"`\n\tSource    string          `db:\"source\" json:\"source\"`\n\tMeta      json.RawMessage `db:\"meta\" json:\"meta\"`\n\tCreatedAt time.Time       `db:\"created_at\" json:\"created_at\"`\n\n\t// One of these should be provided.\n\tEmail            string `db:\"email\" json:\"email,omitempty\"`\n\tSubscriberUUID   string `db:\"subscriber_uuid\" json:\"subscriber_uuid,omitempty\"`\n\tSubscriberID     int    `db:\"subscriber_id\" json:\"subscriber_id,omitempty\"`\n\tSubscriberStatus string `db:\"subscriber_status\" json:\"subscriber_status\"`\n\n\tCampaignUUID string           `db:\"campaign_uuid\" json:\"campaign_uuid,omitempty\"`\n\tCampaign     *json.RawMessage `db:\"campaign\" json:\"campaign\"`\n\n\t// Pseudofield for getting the total number of bounces\n\t// in searches and queries.\n\tTotal int `db:\"total\" json:\"-\"`\n}\n"
  },
  {
    "path": "models/campaigns.go",
    "content": "package models\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"strings\"\n\ttxttpl \"text/template\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/jmoiron/sqlx/types\"\n\t\"github.com/lib/pq\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\nconst (\n\tCampaignStatusDraft         = \"draft\"\n\tCampaignStatusScheduled     = \"scheduled\"\n\tCampaignStatusRunning       = \"running\"\n\tCampaignStatusPaused        = \"paused\"\n\tCampaignStatusFinished      = \"finished\"\n\tCampaignStatusCancelled     = \"cancelled\"\n\tCampaignTypeRegular         = \"regular\"\n\tCampaignTypeOptin           = \"optin\"\n\tCampaignContentTypeRichtext = \"richtext\"\n\tCampaignContentTypeHTML     = \"html\"\n\tCampaignContentTypeMarkdown = \"markdown\"\n\tCampaignContentTypePlain    = \"plain\"\n\tCampaignContentTypeVisual   = \"visual\"\n)\n\n// Campaigns represents a slice of Campaigns.\ntype Campaigns []Campaign\n\n// Campaign represents an e-mail campaign.\ntype Campaign struct {\n\tBase\n\tCampaignMeta\n\n\tUUID              string          `db:\"uuid\" json:\"uuid\"`\n\tType              string          `db:\"type\" json:\"type\"`\n\tName              string          `db:\"name\" json:\"name\"`\n\tSubject           string          `db:\"subject\" json:\"subject\"`\n\tFromEmail         string          `db:\"from_email\" json:\"from_email\"`\n\tBody              string          `db:\"body\" json:\"body\"`\n\tBodySource        null.String     `db:\"body_source\" json:\"body_source\"`\n\tAltBody           null.String     `db:\"altbody\" json:\"altbody\"`\n\tSendAt            null.Time       `db:\"send_at\" json:\"send_at\"`\n\tStatus            string          `db:\"status\" json:\"status\"`\n\tContentType       string          `db:\"content_type\" json:\"content_type\"`\n\tTags              pq.StringArray  `db:\"tags\" json:\"tags\"`\n\tHeaders           Headers         `db:\"headers\" json:\"headers\"`\n\tAttribs           JSON            `db:\"attribs\" json:\"attribs\"`\n\tTemplateID        null.Int        `db:\"template_id\" json:\"template_id\"`\n\tMessenger         string          `db:\"messenger\" json:\"messenger\"`\n\tArchive           bool            `db:\"archive\" json:\"archive\"`\n\tArchiveSlug       null.String     `db:\"archive_slug\" json:\"archive_slug\"`\n\tArchiveTemplateID null.Int        `db:\"archive_template_id\" json:\"archive_template_id\"`\n\tArchiveMeta       json.RawMessage `db:\"archive_meta\" json:\"archive_meta\"`\n\n\t// TemplateBody is joined in from templates by the next-campaigns query.\n\tTemplateBody        string             `db:\"template_body\" json:\"-\"`\n\tArchiveTemplateBody string             `db:\"archive_template_body\" json:\"-\"`\n\tTpl                 *template.Template `json:\"-\"`\n\tSubjectTpl          *txttpl.Template   `json:\"-\"`\n\tAltBodyTpl          *template.Template `json:\"-\"`\n\n\t// List of media (attachment) IDs obtained from the next-campaign query\n\t// while sending a campaign.\n\tMediaIDs pq.Int64Array `json:\"-\" db:\"media_id\"`\n\n\t// Fetched bodies of the attachments.\n\tAttachments []Attachment `json:\"-\" db:\"-\"`\n\n\t// Pseudofield for getting the total number of subscribers\n\t// in searches and queries.\n\tTotal int `db:\"total\" json:\"-\"`\n}\n\n// CampaignMeta contains fields tracking a campaign's progress.\ntype CampaignMeta struct {\n\tCampaignID int `db:\"campaign_id\" json:\"-\"`\n\tViews      int `db:\"views\" json:\"views\"`\n\tClicks     int `db:\"clicks\" json:\"clicks\"`\n\tBounces    int `db:\"bounces\" json:\"bounces\"`\n\n\t// This is a list of {list_id, name} pairs unlike Subscriber.Lists[]\n\t// because lists can be deleted after a campaign is finished, resulting\n\t// in null lists data to be returned. For that reason, campaign_lists maintains\n\t// campaign-list associations with a historical record of id + name that persist\n\t// even after a list is deleted.\n\tLists types.JSONText `db:\"lists\" json:\"lists\"`\n\tMedia types.JSONText `db:\"media\" json:\"media\"`\n\n\tStartedAt null.Time `db:\"started_at\" json:\"started_at\"`\n\tToSend    int       `db:\"to_send\" json:\"to_send\"`\n\tSent      int       `db:\"sent\" json:\"sent\"`\n}\n\n// GetIDs returns the list of campaign IDs.\nfunc (camps Campaigns) GetIDs() []int {\n\tIDs := make([]int, len(camps))\n\tfor i, c := range camps {\n\t\tIDs[i] = c.ID\n\t}\n\n\treturn IDs\n}\n\n// LoadStats lazy loads campaign stats onto a list of campaigns.\nfunc (camps Campaigns) LoadStats(stmt *sqlx.Stmt) error {\n\tvar meta []CampaignMeta\n\tif err := stmt.Select(&meta, pq.Array(camps.GetIDs())); err != nil {\n\t\treturn err\n\t}\n\n\tif len(camps) != len(meta) {\n\t\treturn errors.New(\"campaign stats count does not match\")\n\t}\n\n\tfor i, c := range meta {\n\t\tif c.CampaignID == camps[i].ID {\n\t\t\tcamps[i].Lists = c.Lists\n\t\t\tcamps[i].Views = c.Views\n\t\t\tcamps[i].Clicks = c.Clicks\n\t\t\tcamps[i].Bounces = c.Bounces\n\t\t\tcamps[i].Media = c.Media\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// CompileTemplate compiles a campaign body template into its base\n// template and sets the resultant template to Campaign.Tpl.\nfunc (c *Campaign) CompileTemplate(f template.FuncMap) error {\n\t// If the subject line has a template string, compile it.\n\tif strings.Contains(c.Subject, \"{{\") {\n\t\tsubj := c.Subject\n\t\tfor _, r := range regTplFuncs {\n\t\t\tsubj = r.regExp.ReplaceAllString(subj, r.replace)\n\t\t}\n\n\t\tvar txtFuncs map[string]any = f\n\t\tsubjTpl, err := txttpl.New(ContentTpl).Funcs(txtFuncs).Parse(subj)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error compiling subject: %v\", err)\n\t\t}\n\t\tc.SubjectTpl = subjTpl\n\t}\n\n\t// Compile the base template.\n\tbody := c.TemplateBody\n\n\tif body == \"\" || c.ContentType == CampaignContentTypeVisual {\n\t\tbody = `{{ template \"content\" . }}`\n\t}\n\n\tfor _, r := range regTplFuncs {\n\t\tbody = r.regExp.ReplaceAllString(body, r.replace)\n\t}\n\n\tbaseTPL, err := template.New(BaseTpl).Funcs(f).Parse(body)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error compiling base template: %v\", err)\n\t}\n\n\t// If the format is markdown, convert Markdown to HTML.\n\tif c.ContentType == CampaignContentTypeMarkdown {\n\t\tvar b bytes.Buffer\n\t\tif err := markdown.Convert([]byte(c.Body), &b); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbody = b.String()\n\t} else {\n\t\tbody = c.Body\n\t}\n\n\t// Compile the campaign message.\n\tfor _, r := range regTplFuncs {\n\t\tbody = r.regExp.ReplaceAllString(body, r.replace)\n\t}\n\n\tmsgTpl, err := template.New(ContentTpl).Funcs(f).Parse(body)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error compiling message: %v\", err)\n\t}\n\n\tout, err := baseTPL.AddParseTree(ContentTpl, msgTpl.Tree)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error inserting child template: %v\", err)\n\t}\n\tc.Tpl = out\n\n\tif strings.Contains(c.AltBody.String, \"{{\") {\n\t\tb := c.AltBody.String\n\t\tfor _, r := range regTplFuncs {\n\t\t\tb = r.regExp.ReplaceAllString(b, r.replace)\n\t\t}\n\t\tbTpl, err := template.New(ContentTpl).Funcs(f).Parse(b)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error compiling alt plaintext message: %v\", err)\n\t\t}\n\t\tc.AltBodyTpl = bTpl\n\t}\n\n\treturn nil\n}\n\n// ConvertContent converts a campaign's body from one format to another,\n// for example, Markdown to HTML.\nfunc (c *Campaign) ConvertContent(from, to string) (string, error) {\n\tbody := c.Body\n\tfor _, r := range regTplFuncs {\n\t\tbody = r.regExp.ReplaceAllString(body, r.replace)\n\t}\n\n\t// If the format is markdown, convert Markdown to HTML.\n\tvar out string\n\tif from == CampaignContentTypeMarkdown &&\n\t\t(to == CampaignContentTypeHTML || to == CampaignContentTypeRichtext) {\n\t\tvar b bytes.Buffer\n\t\tif err := markdown.Convert([]byte(c.Body), &b); err != nil {\n\t\t\treturn out, err\n\t\t}\n\t\tout = b.String()\n\t} else {\n\t\treturn out, errors.New(\"unknown formats to convert\")\n\t}\n\n\treturn out, nil\n}\n"
  },
  {
    "path": "models/common.go",
    "content": "package models\n\nimport (\n\t\"database/sql/driver\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"regexp\"\n\n\t\"github.com/yuin/goldmark\"\n\t\"github.com/yuin/goldmark/extension\"\n\t\"github.com/yuin/goldmark/parser\"\n\t\"github.com/yuin/goldmark/renderer/html\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\n// Enum values for various statuses.\nconst (\n\t// Headers attached to e-mails for bounce tracking.\n\tEmailHeaderSubscriberUUID = \"X-Listmonk-Subscriber\"\n\tEmailHeaderCampaignUUID   = \"X-Listmonk-Campaign\"\n\n\t// Standard e-mail headers.\n\tEmailHeaderDate        = \"Date\"\n\tEmailHeaderFrom        = \"From\"\n\tEmailHeaderSubject     = \"Subject\"\n\tEmailHeaderMessageId   = \"Message-Id\"\n\tEmailHeaderDeliveredTo = \"Delivered-To\"\n\tEmailHeaderReceived    = \"Received\"\n\n\t// TwoFA types.\n\tTwofaTypeNone = \"none\"\n\tTwofaTypeTOTP = \"totp\"\n)\n\n// regTplFunc represents contains a regular expression for wrapping and\n// substituting a Go template function from the user's shorthand to a full\n// function call.\ntype regTplFunc struct {\n\tregExp  *regexp.Regexp\n\treplace string\n}\n\nvar regTplFuncs = []regTplFunc{\n\t// Regular expression for matching {{ TrackLink \"http://link.com\" }} in the template\n\t// and substituting it with {{ TrackLink \"http://link.com\" . }} (the dot context)\n\t// before compilation. This is to make linking easier for users.\n\t{\n\t\tregExp:  regexp.MustCompile(`{{\\s*TrackLink\\s+\"([^\"]+)\"\\s*}}`),\n\t\treplace: `{{ TrackLink \"$1\" . }}`,\n\t},\n\n\t// Convert the shorthand https://google.com@TrackLink to {{ TrackLink ... }}.\n\t// This is for WYSIWYG editors that encode and break quotes {{ \"\" }} when inserted\n\t// inside <a href=\"{{ TrackLink \"https://these-quotes-break\" }}>.\n\t// The regex matches all characters that may occur in an URL\n\t// (see \"2. Characters\" in RFC3986: https://www.ietf.org/rfc/rfc3986.txt)\n\t{\n\t\tregExp:  regexp.MustCompile(`(https?://[\\p{L}\\p{N}_\\-\\.~!#$&'()*+,/:;=?@\\[\\]%]*)@TrackLink`),\n\t\treplace: `{{ TrackLink \"$1\" . }}`,\n\t},\n\n\t{\n\t\tregExp:  regexp.MustCompile(`{{(\\s+)?(TrackView|UnsubscribeURL|ManageURL|OptinURL|MessageURL)(\\s+)?}}`),\n\t\treplace: `{{ $2 . }}`,\n\t},\n}\n\n// markdown is a global instance of Markdown parser and renderer.\nvar markdown = goldmark.New(\n\tgoldmark.WithParserOptions(\n\t\tparser.WithAutoHeadingID(),\n\t),\n\tgoldmark.WithRendererOptions(\n\t\thtml.WithXHTML(),\n\t\thtml.WithUnsafe(),\n\t),\n\tgoldmark.WithExtensions(\n\t\textension.Table,\n\t\textension.Strikethrough,\n\t\textension.TaskList,\n\t\textension.NewTypographer(\n\t\t\textension.WithTypographicSubstitutions(extension.TypographicSubstitutions{\n\t\t\t\textension.LeftDoubleQuote:  []byte(`\"`),\n\t\t\t\textension.RightDoubleQuote: []byte(`\"`),\n\t\t\t}),\n\t\t),\n\t),\n)\n\n// Headers represents an array of string maps used to represent SMTP, HTTP headers etc.\n// similar to url.Values{}\ntype Headers []map[string]string\n\n// PageResults is a generic HTTP response container for paginated results of list of items.\ntype PageResults struct {\n\tResults any `json:\"results\"`\n\n\tSearch  string `json:\"search\"`\n\tQuery   string `json:\"query\"`\n\tTotal   int    `json:\"total\"`\n\tPerPage int    `json:\"per_page\"`\n\tPage    int    `json:\"page\"`\n}\n\n// Base holds common fields shared across models.\ntype Base struct {\n\tID        int       `db:\"id\" json:\"id\"`\n\tCreatedAt null.Time `db:\"created_at\" json:\"created_at\"`\n\tUpdatedAt null.Time `db:\"updated_at\" json:\"updated_at\"`\n}\n\n// JSON is the wrapper for reading and writing arbitrary JSONB fields from the DB.\ntype JSON map[string]any\n\n// StringIntMap is used to define DB Scan()s.\ntype StringIntMap map[string]int\n\n// Value returns the JSON marshalled SubscriberAttribs.\nfunc (s JSON) Value() (driver.Value, error) {\n\treturn json.Marshal(s)\n}\n\n// Scan unmarshals JSONB from the DB.\nfunc (s JSON) Scan(b any) error {\n\tif b == nil {\n\t\ts = make(JSON)\n\t\treturn nil\n\t}\n\n\tif data, ok := b.([]byte); ok {\n\t\treturn json.Unmarshal(data, &s)\n\t}\n\treturn fmt.Errorf(\"could not not decode type %T -> %T\", b, s)\n}\n\n// Scan unmarshals JSONB from the DB.\nfunc (s StringIntMap) Scan(src any) error {\n\tif src == nil {\n\t\ts = make(StringIntMap)\n\t\treturn nil\n\t}\n\n\tif data, ok := src.([]byte); ok {\n\t\treturn json.Unmarshal(data, &s)\n\t}\n\treturn fmt.Errorf(\"could not not decode type %T -> %T\", src, s)\n}\n\n// Scan implements the sql.Scanner interface.\nfunc (h *Headers) Scan(src any) error {\n\tvar b []byte\n\tswitch src := src.(type) {\n\tcase []byte:\n\t\tb = src\n\tcase string:\n\t\tb = []byte(src)\n\tcase nil:\n\t\treturn nil\n\t}\n\n\tif err := json.Unmarshal(b, h); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// Value implements the driver.Valuer interface.\nfunc (h Headers) Value() (driver.Value, error) {\n\tif h == nil {\n\t\treturn nil, nil\n\t}\n\n\tif n := len(h); n > 0 {\n\t\tb, err := json.Marshal(h)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\treturn b, nil\n\t}\n\n\treturn \"[]\", nil\n}\n"
  },
  {
    "path": "models/lists.go",
    "content": "package models\n\nimport (\n\t\"github.com/lib/pq\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\nconst (\n\tListTypePrivate    = \"private\"\n\tListTypePublic     = \"public\"\n\tListOptinSingle    = \"single\"\n\tListOptinDouble    = \"double\"\n\tListStatusActive   = \"active\"\n\tListStatusArchived = \"archived\"\n)\n\n// List represents a mailing list.\ntype List struct {\n\tBase\n\n\tUUID             string         `db:\"uuid\" json:\"uuid\"`\n\tName             string         `db:\"name\" json:\"name\"`\n\tType             string         `db:\"type\" json:\"type\"`\n\tOptin            string         `db:\"optin\" json:\"optin\"`\n\tStatus           string         `db:\"status\" json:\"status\"`\n\tTags             pq.StringArray `db:\"tags\" json:\"tags\"`\n\tDescription      string         `db:\"description\" json:\"description\"`\n\tSubscriberCount  int            `db:\"subscriber_count\" json:\"subscriber_count\"`\n\tSubscriberCounts StringIntMap   `db:\"subscriber_statuses\" json:\"subscriber_statuses\"`\n\tSubscriberID     int            `db:\"subscriber_id\" json:\"-\"`\n\n\t// This is only relevant when querying the lists of a subscriber.\n\tSubscriptionStatus    string    `db:\"subscription_status\" json:\"subscription_status,omitempty\"`\n\tSubscriptionCreatedAt null.Time `db:\"subscription_created_at\" json:\"subscription_created_at,omitempty\"`\n\tSubscriptionUpdatedAt null.Time `db:\"subscription_updated_at\" json:\"subscription_updated_at,omitempty\"`\n\n\t// Pseudofield for getting the total number of subscribers\n\t// in searches and queries.\n\tTotal int `db:\"total\" json:\"-\"`\n}\n"
  },
  {
    "path": "models/messages.go",
    "content": "package models\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"net/textproto\"\n\t\"strings\"\n\ttxttpl \"text/template\"\n)\n\n// Message is the message pushed to a Messenger.\ntype Message struct {\n\tFrom        string\n\tTo          []string\n\tSubject     string\n\tContentType string\n\tBody        []byte\n\tAltBody     []byte\n\tHeaders     textproto.MIMEHeader\n\tAttachments []Attachment\n\n\tSubscriber Subscriber\n\n\t// Campaign is generally the same instance for a large number of subscribers.\n\tCampaign *Campaign\n\n\t// Messenger is the messenger backend to use: email|postback.\n\tMessenger string\n}\n\n// Attachment represents a file or blob attachment that can be\n// sent along with a message by a Messenger.\ntype Attachment struct {\n\tName    string\n\tHeader  textproto.MIMEHeader\n\tContent []byte\n}\n\n// TxMessage subscriber modes.\nconst (\n\tTxSubModeDefault  = \"default\"\n\tTxSubModeFallback = \"fallback\"\n\tTxSubModeExternal = \"external\"\n)\n\n// TxMessage represents an e-mail campaign.\ntype TxMessage struct {\n\tSubscriberMode   string   `json:\"subscriber_mode\"`\n\tSubscriberEmails []string `json:\"subscriber_emails\"`\n\tSubscriberIDs    []int    `json:\"subscriber_ids\"`\n\n\t// Deprecated.\n\tSubscriberEmail string `json:\"subscriber_email\"`\n\tSubscriberID    int    `json:\"subscriber_id\"`\n\n\tTemplateID  int            `json:\"template_id\"`\n\tData        map[string]any `json:\"data\"`\n\tFromEmail   string         `json:\"from_email\"`\n\tHeaders     Headers        `json:\"headers\"`\n\tContentType string         `json:\"content_type\"`\n\tMessenger   string         `json:\"messenger\"`\n\tSubject     string         `json:\"subject\"`\n\tAltBody     string         `json:\"altbody\"`\n\n\t// File attachments added from multi-part form data.\n\tAttachments []Attachment `json:\"-\"`\n\n\tBody       []byte             `json:\"-\"`\n\tTpl        *template.Template `json:\"-\"`\n\tSubjectTpl *txttpl.Template   `json:\"-\"`\n}\n\nfunc (m *TxMessage) Render(sub Subscriber, tpl *Template, funcs txttpl.FuncMap) error {\n\tdata := struct {\n\t\tSubscriber Subscriber\n\t\tTx         *TxMessage\n\t}{sub, m}\n\n\t// Render the body.\n\tb := bytes.Buffer{}\n\tif err := tpl.Tpl.ExecuteTemplate(&b, BaseTpl, data); err != nil {\n\t\treturn err\n\t}\n\tm.Body = make([]byte, b.Len())\n\tcopy(m.Body, b.Bytes())\n\tb.Reset()\n\n\t// Render alt body if it has any templating strings.\n\tif m.AltBody != \"\" && strings.Contains(m.AltBody, \"{{\") {\n\t\tt, err := txttpl.New(BaseTpl).Funcs(funcs).Parse(m.AltBody)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error compiling alt body: %v\", err)\n\t\t}\n\t\tif err := t.ExecuteTemplate(&b, BaseTpl, data); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tm.AltBody = b.String()\n\t\tb.Reset()\n\t}\n\n\t// Was a subject provided in the message?\n\tvar (\n\t\tsubjTpl *txttpl.Template\n\t\tsubject = m.Subject\n\t)\n\tif subject != \"\" {\n\t\tif strings.Contains(m.Subject, \"{{\") {\n\t\t\t// If the subject has a template string, render that.\n\t\t\ts, err := txttpl.New(BaseTpl).Funcs(funcs).Parse(m.Subject)\n\t\t\tif err != nil {\n\t\t\t\treturn fmt.Errorf(\"error compiling subject: %v\", err)\n\t\t\t}\n\t\t\tsubjTpl = s\n\t\t}\n\t} else {\n\t\t// Use the subject from the template.\n\t\tsubject = tpl.Subject\n\t\tsubjTpl = tpl.SubjectTpl\n\t}\n\n\t// If the subject is also a template, render that.\n\tif subjTpl != nil {\n\t\tif err := subjTpl.ExecuteTemplate(&b, BaseTpl, data); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tm.Subject = b.String()\n\t\tb.Reset()\n\t} else {\n\t\tm.Subject = subject\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "models/queries.go",
    "content": "package models\n\nimport (\n\t\"context\"\n\t\"database/sql\"\n\t\"strings\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/lib/pq\"\n)\n\n// Queries contains all prepared SQL queries.\ntype Queries struct {\n\tGetDashboardCharts *sqlx.Stmt `query:\"get-dashboard-charts\"`\n\tGetDashboardCounts *sqlx.Stmt `query:\"get-dashboard-counts\"`\n\n\tInsertSubscriber                *sqlx.Stmt `query:\"insert-subscriber\"`\n\tUpsertSubscriber                *sqlx.Stmt `query:\"upsert-subscriber\"`\n\tUpsertBlocklistSubscriber       *sqlx.Stmt `query:\"upsert-blocklist-subscriber\"`\n\tGetSubscriber                   *sqlx.Stmt `query:\"get-subscriber\"`\n\tHasSubscriberLists              *sqlx.Stmt `query:\"has-subscriber-list\"`\n\tGetSubscribersByEmails          *sqlx.Stmt `query:\"get-subscribers-by-emails\"`\n\tGetSubscriberLists              *sqlx.Stmt `query:\"get-subscriber-lists\"`\n\tGetSubscriptions                *sqlx.Stmt `query:\"get-subscriptions\"`\n\tGetSubscriberListsLazy          *sqlx.Stmt `query:\"get-subscriber-lists-lazy\"`\n\tUpdateSubscriber                *sqlx.Stmt `query:\"update-subscriber\"`\n\tUpdateSubscriberWithLists       *sqlx.Stmt `query:\"update-subscriber-with-lists\"`\n\tBlocklistSubscribers            *sqlx.Stmt `query:\"blocklist-subscribers\"`\n\tAddSubscribersToLists           *sqlx.Stmt `query:\"add-subscribers-to-lists\"`\n\tDeleteSubscriptions             *sqlx.Stmt `query:\"delete-subscriptions\"`\n\tDeleteUnconfirmedSubscriptions  *sqlx.Stmt `query:\"delete-unconfirmed-subscriptions\"`\n\tConfirmSubscriptionOptin        *sqlx.Stmt `query:\"confirm-subscription-optin\"`\n\tUnsubscribeSubscribersFromLists *sqlx.Stmt `query:\"unsubscribe-subscribers-from-lists\"`\n\tDeleteSubscribers               *sqlx.Stmt `query:\"delete-subscribers\"`\n\tDeleteBlocklistedSubscribers    *sqlx.Stmt `query:\"delete-blocklisted-subscribers\"`\n\tDeleteOrphanSubscribers         *sqlx.Stmt `query:\"delete-orphan-subscribers\"`\n\tUnsubscribeByCampaign           *sqlx.Stmt `query:\"unsubscribe-by-campaign\"`\n\tExportSubscriberData            *sqlx.Stmt `query:\"export-subscriber-data\"`\n\tGetSubscriberActivity           *sqlx.Stmt `query:\"get-subscriber-activity\"`\n\n\t// Non-prepared arbitrary subscriber queries.\n\tQuerySubscribers                       string     `query:\"query-subscribers\"`\n\tQuerySubscribersCount                  string     `query:\"query-subscribers-count\"`\n\tQuerySubscribersCountAll               *sqlx.Stmt `query:\"query-subscribers-count-all\"`\n\tQuerySubscribersForExport              string     `query:\"query-subscribers-for-export\"`\n\tQuerySubscribersTpl                    string     `query:\"query-subscribers-template\"`\n\tDeleteSubscribersByQuery               string     `query:\"delete-subscribers-by-query\"`\n\tAddSubscribersToListsByQuery           string     `query:\"add-subscribers-to-lists-by-query\"`\n\tBlocklistSubscribersByQuery            string     `query:\"blocklist-subscribers-by-query\"`\n\tDeleteSubscriptionsByQuery             string     `query:\"delete-subscriptions-by-query\"`\n\tUnsubscribeSubscribersFromListsByQuery string     `query:\"unsubscribe-subscribers-from-lists-by-query\"`\n\n\tCreateList      *sqlx.Stmt `query:\"create-list\"`\n\tQueryLists      string     `query:\"query-lists\"`\n\tGetLists        *sqlx.Stmt `query:\"get-lists\"`\n\tGetListsByOptin *sqlx.Stmt `query:\"get-lists-by-optin\"`\n\tGetListTypes    *sqlx.Stmt `query:\"get-list-types\"`\n\tUpdateList      *sqlx.Stmt `query:\"update-list\"`\n\tUpdateListsDate *sqlx.Stmt `query:\"update-lists-date\"`\n\tDeleteLists     *sqlx.Stmt `query:\"delete-lists\"`\n\n\tCreateCampaign        *sqlx.Stmt `query:\"create-campaign\"`\n\tQueryCampaigns        string     `query:\"query-campaigns\"`\n\tGetCampaign           *sqlx.Stmt `query:\"get-campaign\"`\n\tGetCampaignForPreview *sqlx.Stmt `query:\"get-campaign-for-preview\"`\n\tGetCampaignStats      *sqlx.Stmt `query:\"get-campaign-stats\"`\n\tGetCampaignStatus     *sqlx.Stmt `query:\"get-campaign-status\"`\n\tGetArchivedCampaigns  *sqlx.Stmt `query:\"get-archived-campaigns\"`\n\tCampaignHasLists      *sqlx.Stmt `query:\"campaign-has-lists\"`\n\n\t// These two queries are read as strings and based on settings.individual_tracking=on/off,\n\t// are interpolated and copied to view and click counts. Same query, different tables.\n\tGetCampaignAnalyticsCounts string     `query:\"get-campaign-analytics-counts\"`\n\tGetCampaignViewCounts      *sqlx.Stmt `query:\"get-campaign-view-counts\"`\n\tGetCampaignClickCounts     *sqlx.Stmt `query:\"get-campaign-click-counts\"`\n\tGetCampaignLinkCounts      *sqlx.Stmt `query:\"get-campaign-link-counts\"`\n\tGetCampaignBounceCounts    *sqlx.Stmt `query:\"get-campaign-bounce-counts\"`\n\tDeleteCampaignViews        *sqlx.Stmt `query:\"delete-campaign-views\"`\n\tDeleteCampaignLinkClicks   *sqlx.Stmt `query:\"delete-campaign-link-clicks\"`\n\n\tNextCampaigns            *sqlx.Stmt `query:\"next-campaigns\"`\n\tGetRunningCampaign       *sqlx.Stmt `query:\"get-running-campaign\"`\n\tNextCampaignSubscribers  *sqlx.Stmt `query:\"next-campaign-subscribers\"`\n\tGetOneCampaignSubscriber *sqlx.Stmt `query:\"get-one-campaign-subscriber\"`\n\tUpdateCampaign           *sqlx.Stmt `query:\"update-campaign\"`\n\tUpdateCampaignStatus     *sqlx.Stmt `query:\"update-campaign-status\"`\n\tUpdateCampaignCounts     *sqlx.Stmt `query:\"update-campaign-counts\"`\n\tUpdateCampaignArchive    *sqlx.Stmt `query:\"update-campaign-archive\"`\n\tRegisterCampaignView     *sqlx.Stmt `query:\"register-campaign-view\"`\n\tDeleteCampaign           *sqlx.Stmt `query:\"delete-campaign\"`\n\tDeleteCampaigns          *sqlx.Stmt `query:\"delete-campaigns\"`\n\n\tInsertMedia *sqlx.Stmt `query:\"insert-media\"`\n\tGetMedia    *sqlx.Stmt `query:\"get-media\"`\n\tQueryMedia  *sqlx.Stmt `query:\"query-media\"`\n\tDeleteMedia *sqlx.Stmt `query:\"delete-media\"`\n\n\tCreateTemplate     *sqlx.Stmt `query:\"create-template\"`\n\tGetTemplates       *sqlx.Stmt `query:\"get-templates\"`\n\tUpdateTemplate     *sqlx.Stmt `query:\"update-template\"`\n\tSetDefaultTemplate *sqlx.Stmt `query:\"set-default-template\"`\n\tDeleteTemplate     *sqlx.Stmt `query:\"delete-template\"`\n\n\tCreateLink        *sqlx.Stmt `query:\"create-link\"`\n\tGetLinkURL        *sqlx.Stmt `query:\"get-link-url\"`\n\tRegisterLinkClick *sqlx.Stmt `query:\"register-link-click\"`\n\n\tGetSettings         *sqlx.Stmt `query:\"get-settings\"`\n\tUpdateSettings      *sqlx.Stmt `query:\"update-settings\"`\n\tUpdateSettingsByKey *sqlx.Stmt `query:\"update-settings-by-key\"`\n\n\t// GetStats *sqlx.Stmt `query:\"get-stats\"`\n\tRecordBounce                *sqlx.Stmt `query:\"record-bounce\"`\n\tQueryBounces                string     `query:\"query-bounces\"`\n\tBlocklistBouncedSubscribers *sqlx.Stmt `query:\"blocklist-bounced-subscribers\"`\n\tDeleteBounces               *sqlx.Stmt `query:\"delete-bounces\"`\n\tDeleteBouncesBySubscriber   *sqlx.Stmt `query:\"delete-bounces-by-subscriber\"`\n\tGetDBInfo                   string     `query:\"get-db-info\"`\n\n\tCreateUser        *sqlx.Stmt `query:\"create-user\"`\n\tUpdateUser        *sqlx.Stmt `query:\"update-user\"`\n\tUpdateUserProfile *sqlx.Stmt `query:\"update-user-profile\"`\n\tUpdateUserLogin   *sqlx.Stmt `query:\"update-user-login\"`\n\tSetUserTwoFA      *sqlx.Stmt `query:\"set-user-twofa\"`\n\tDeleteUsers       *sqlx.Stmt `query:\"delete-users\"`\n\tGetUsers          *sqlx.Stmt `query:\"get-users\"`\n\tGetUser           *sqlx.Stmt `query:\"get-user\"`\n\tGetAPITokens      *sqlx.Stmt `query:\"get-api-tokens\"`\n\tLoginUser         *sqlx.Stmt `query:\"login-user\"`\n\n\tCreateRole            *sqlx.Stmt `query:\"create-role\"`\n\tGetUserRoles          *sqlx.Stmt `query:\"get-user-roles\"`\n\tGetListRoles          *sqlx.Stmt `query:\"get-list-roles\"`\n\tUpdateRole            *sqlx.Stmt `query:\"update-role\"`\n\tDeleteRole            *sqlx.Stmt `query:\"delete-role\"`\n\tUpsertListPermissions *sqlx.Stmt `query:\"upsert-list-permissions\"`\n\tDeleteListPermission  *sqlx.Stmt `query:\"delete-list-permission\"`\n}\n\n// compileSubscriberQueryTpl takes an arbitrary WHERE expressions\n// to filter subscribers from the subscribers table and prepares a query\n// out of it using the raw `query-subscribers-template` query template.\n// While doing this, a readonly transaction is created and the query is\n// dry run on it to ensure that it is indeed readonly.\nfunc (q *Queries) compileSubscriberQueryTpl(searchStr, queryExp string, db *sqlx.DB, subStatus string) (string, error) {\n\ttx, err := db.BeginTxx(context.Background(), &sql.TxOptions{ReadOnly: true})\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer tx.Rollback()\n\n\t// There's an arbitrary query condition.\n\tcond := \"TRUE\"\n\tif queryExp != \"\" {\n\t\tcond = queryExp\n\t}\n\n\t// Perform the dry run.\n\tstmt := strings.ReplaceAll(q.QuerySubscribersTpl, \"%query%\", cond)\n\tif _, err := tx.Exec(stmt, true, pq.Int64Array{}, subStatus, searchStr); err != nil {\n\t\treturn \"\", err\n\t}\n\n\treturn stmt, nil\n}\n\n// compileSubscriberQueryTpl takes an arbitrary WHERE expressions and a subscriber\n// query template that depends on the filter (eg: delete by query, blocklist by query etc.)\n// combines and executes them.\nfunc (q *Queries) ExecSubQueryTpl(searchStr, queryExp, baseQueryTpl string, listIDs []int, db *sqlx.DB, subStatus string, args ...any) error {\n\t// Perform a dry run.\n\tfilterExp, err := q.compileSubscriberQueryTpl(searchStr, queryExp, db, subStatus)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif len(listIDs) == 0 {\n\t\tlistIDs = []int{}\n\t}\n\n\t// Insert the subscriber filter query into the target query.\n\tstmt := strings.ReplaceAll(baseQueryTpl, \"%query%\", filterExp)\n\n\t// First argument is the boolean indicating if the query is a dry run.\n\ta := append([]any{false, pq.Array(listIDs), subStatus, searchStr}, args...)\n\n\t// Execute the query on the DB.\n\tif _, err := db.Exec(stmt, a...); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "models/settings.go",
    "content": "package models\n\nimport \"gopkg.in/volatiletech/null.v6\"\n\n// Settings represents the app settings stored in the DB.\ntype Settings struct {\n\tAppSiteName                   string   `json:\"app.site_name\"`\n\tAppRootURL                    string   `json:\"app.root_url\"`\n\tAppLogoURL                    string   `json:\"app.logo_url\"`\n\tAppFaviconURL                 string   `json:\"app.favicon_url\"`\n\tAppFromEmail                  string   `json:\"app.from_email\"`\n\tAppNotifyEmails               []string `json:\"app.notify_emails\"`\n\tEnablePublicSubPage           bool     `json:\"app.enable_public_subscription_page\"`\n\tEnablePublicArchive           bool     `json:\"app.enable_public_archive\"`\n\tEnablePublicArchiveRSSContent bool     `json:\"app.enable_public_archive_rss_content\"`\n\tSendOptinConfirmation         bool     `json:\"app.send_optin_confirmation\"`\n\tCheckUpdates                  bool     `json:\"app.check_updates\"`\n\tAppLang                       string   `json:\"app.lang\"`\n\n\tAppBatchSize             int    `json:\"app.batch_size\"`\n\tAppConcurrency           int    `json:\"app.concurrency\"`\n\tAppMaxSendErrors         int    `json:\"app.max_send_errors\"`\n\tAppMessageRate           int    `json:\"app.message_rate\"`\n\tCacheSlowQueries         bool   `json:\"app.cache_slow_queries\"`\n\tCacheSlowQueriesInterval string `json:\"app.cache_slow_queries_interval\"`\n\n\tAppMessageSlidingWindow         bool   `json:\"app.message_sliding_window\"`\n\tAppMessageSlidingWindowDuration string `json:\"app.message_sliding_window_duration\"`\n\tAppMessageSlidingWindowRate     int    `json:\"app.message_sliding_window_rate\"`\n\n\tPrivacyIndividualTracking bool     `json:\"privacy.individual_tracking\"`\n\tPrivacyDisableTracking   bool     `json:\"privacy.disable_tracking\"`\n\tPrivacyUnsubHeader        bool     `json:\"privacy.unsubscribe_header\"`\n\tPrivacyAllowBlocklist     bool     `json:\"privacy.allow_blocklist\"`\n\tPrivacyAllowPreferences   bool     `json:\"privacy.allow_preferences\"`\n\tPrivacyAllowExport        bool     `json:\"privacy.allow_export\"`\n\tPrivacyAllowWipe          bool     `json:\"privacy.allow_wipe\"`\n\tPrivacyExportable         []string `json:\"privacy.exportable\"`\n\tPrivacyRecordOptinIP      bool     `json:\"privacy.record_optin_ip\"`\n\tDomainBlocklist           []string `json:\"privacy.domain_blocklist\"`\n\tDomainAllowlist           []string `json:\"privacy.domain_allowlist\"`\n\n\tSecurityCaptcha struct {\n\t\tAltcha struct {\n\t\t\tEnabled    bool `json:\"enabled\"`\n\t\t\tComplexity int  `json:\"complexity\"`\n\t\t} `json:\"altcha\"`\n\t\tHCaptcha struct {\n\t\t\tEnabled bool   `json:\"enabled\"`\n\t\t\tKey     string `json:\"key\"`\n\t\t\tSecret  string `json:\"secret\"`\n\t\t} `json:\"hcaptcha\"`\n\t} `json:\"security.captcha\"`\n\n\tOIDC struct {\n\t\tEnabled           bool     `json:\"enabled\"`\n\t\tProviderURL       string   `json:\"provider_url\"`\n\t\tProviderName      string   `json:\"provider_name\"`\n\t\tClientID          string   `json:\"client_id\"`\n\t\tClientSecret      string   `json:\"client_secret\"`\n\t\tAutoCreateUsers   bool     `json:\"auto_create_users\"`\n\t\tDefaultUserRoleID null.Int `json:\"default_user_role_id\"`\n\t\tDefaultListRoleID null.Int `json:\"default_list_role_id\"`\n\t} `json:\"security.oidc\"`\n\n\tSecurityCORSOrigins []string `json:\"security.cors_origins\"`\n\n\tUploadProvider             string   `json:\"upload.provider\"`\n\tUploadExtensions           []string `json:\"upload.extensions\"`\n\tUploadFilesystemUploadPath string   `json:\"upload.filesystem.upload_path\"`\n\tUploadFilesystemUploadURI  string   `json:\"upload.filesystem.upload_uri\"`\n\tUploadS3URL                string   `json:\"upload.s3.url\"`\n\tUploadS3PublicURL          string   `json:\"upload.s3.public_url\"`\n\tUploadS3AwsAccessKeyID     string   `json:\"upload.s3.aws_access_key_id\"`\n\tUploadS3AwsDefaultRegion   string   `json:\"upload.s3.aws_default_region\"`\n\tUploadS3AwsSecretAccessKey string   `json:\"upload.s3.aws_secret_access_key,omitempty\"`\n\tUploadS3Bucket             string   `json:\"upload.s3.bucket\"`\n\tUploadS3BucketDomain       string   `json:\"upload.s3.bucket_domain\"`\n\tUploadS3BucketPath         string   `json:\"upload.s3.bucket_path\"`\n\tUploadS3BucketType         string   `json:\"upload.s3.bucket_type\"`\n\tUploadS3Expiry             string   `json:\"upload.s3.expiry\"`\n\n\tSMTP []struct {\n\t\tName          string              `json:\"name\"`\n\t\tUUID          string              `json:\"uuid\"`\n\t\tEnabled       bool                `json:\"enabled\"`\n\t\tHost          string              `json:\"host\"`\n\t\tHelloHostname string              `json:\"hello_hostname\"`\n\t\tPort          int                 `json:\"port\"`\n\t\tAuthProtocol  string              `json:\"auth_protocol\"`\n\t\tUsername      string              `json:\"username\"`\n\t\tPassword      string              `json:\"password,omitempty\"`\n\t\tEmailHeaders  []map[string]string `json:\"email_headers\"`\n\t\tMaxConns      int                 `json:\"max_conns\"`\n\t\tMaxMsgRetries int                 `json:\"max_msg_retries\"`\n\t\tIdleTimeout   string              `json:\"idle_timeout\"`\n\t\tWaitTimeout   string              `json:\"wait_timeout\"`\n\t\tTLSType       string              `json:\"tls_type\"`\n\t\tTLSSkipVerify bool                `json:\"tls_skip_verify\"`\n\t} `json:\"smtp\"`\n\n\tMessengers []struct {\n\t\tUUID          string `json:\"uuid\"`\n\t\tEnabled       bool   `json:\"enabled\"`\n\t\tName          string `json:\"name\"`\n\t\tRootURL       string `json:\"root_url\"`\n\t\tUsername      string `json:\"username\"`\n\t\tPassword      string `json:\"password,omitempty\"`\n\t\tMaxConns      int    `json:\"max_conns\"`\n\t\tTimeout       string `json:\"timeout\"`\n\t\tMaxMsgRetries int    `json:\"max_msg_retries\"`\n\t} `json:\"messengers\"`\n\n\tBounceEnabled        bool `json:\"bounce.enabled\"`\n\tBounceEnableWebhooks bool `json:\"bounce.webhooks_enabled\"`\n\tBounceActions        map[string]struct {\n\t\tCount  int    `json:\"count\"`\n\t\tAction string `json:\"action\"`\n\t} `json:\"bounce.actions\"`\n\tSESEnabled      bool   `json:\"bounce.ses_enabled\"`\n\tSendgridEnabled bool   `json:\"bounce.sendgrid_enabled\"`\n\tSendgridKey     string `json:\"bounce.sendgrid_key\"`\n\tBouncePostmark  struct {\n\t\tEnabled  bool   `json:\"enabled\"`\n\t\tUsername string `json:\"username\"`\n\t\tPassword string `json:\"password\"`\n\t} `json:\"bounce.postmark\"`\n\tBounceForwardEmail struct {\n\t\tEnabled bool   `json:\"enabled\"`\n\t\tKey     string `json:\"key\"`\n\t} `json:\"bounce.forwardemail\"`\n\tBounceBoxes []struct {\n\t\tUUID          string `json:\"uuid\"`\n\t\tEnabled       bool   `json:\"enabled\"`\n\t\tType          string `json:\"type\"`\n\t\tHost          string `json:\"host\"`\n\t\tPort          int    `json:\"port\"`\n\t\tAuthProtocol  string `json:\"auth_protocol\"`\n\t\tReturnPath    string `json:\"return_path\"`\n\t\tUsername      string `json:\"username\"`\n\t\tPassword      string `json:\"password,omitempty\"`\n\t\tTLSEnabled    bool   `json:\"tls_enabled\"`\n\t\tTLSSkipVerify bool   `json:\"tls_skip_verify\"`\n\t\tScanInterval  string `json:\"scan_interval\"`\n\t} `json:\"bounce.mailboxes\"`\n\n\tMaintenanceDB struct {\n\t\tVacuum         bool   `json:\"vacuum\"`\n\t\tVacuumInterval string `json:\"vacuum_cron_interval\"`\n\t} `json:\"maintenance.db\"`\n\n\tAdminCustomCSS  string `json:\"appearance.admin.custom_css\"`\n\tAdminCustomJS   string `json:\"appearance.admin.custom_js\"`\n\tPublicCustomCSS string `json:\"appearance.public.custom_css\"`\n\tPublicCustomJS  string `json:\"appearance.public.custom_js\"`\n}\n"
  },
  {
    "path": "models/subscribers.go",
    "content": "package models\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"strings\"\n\n\t\"github.com/jmoiron/sqlx\"\n\t\"github.com/jmoiron/sqlx/types\"\n\t\"github.com/lib/pq\"\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\nconst (\n\tSubscriberStatusEnabled     = \"enabled\"\n\tSubscriberStatusDisabled    = \"disabled\"\n\tSubscriberStatusBlockListed = \"blocklisted\"\n\n\tSubscriptionStatusUnconfirmed  = \"unconfirmed\"\n\tSubscriptionStatusConfirmed    = \"confirmed\"\n\tSubscriptionStatusUnsubscribed = \"unsubscribed\"\n)\n\n// Subscribers represents a slice of Subscriber.\ntype Subscribers []Subscriber\n\n// Subscriber represents an e-mail subscriber.\ntype Subscriber struct {\n\tBase\n\n\tUUID    string         `db:\"uuid\" json:\"uuid\"`\n\tEmail   string         `db:\"email\" json:\"email\" form:\"email\"`\n\tName    string         `db:\"name\" json:\"name\" form:\"name\"`\n\tAttribs JSON           `db:\"attribs\" json:\"attribs\"`\n\tStatus  string         `db:\"status\" json:\"status\"`\n\tLists   types.JSONText `db:\"lists\" json:\"lists\"`\n}\n\ntype subLists struct {\n\tSubscriberID int            `db:\"subscriber_id\"`\n\tLists        types.JSONText `db:\"lists\"`\n}\n\n// GetIDs returns the list of subscriber IDs.\nfunc (subs Subscribers) GetIDs() []int {\n\tIDs := make([]int, len(subs))\n\tfor i, c := range subs {\n\t\tIDs[i] = c.ID\n\t}\n\n\treturn IDs\n}\n\n// LoadLists lazy loads the lists for all the subscribers\n// in the Subscribers slice and attaches them to their []Lists property.\nfunc (subs Subscribers) LoadLists(stmt *sqlx.Stmt) error {\n\tvar sl []subLists\n\terr := stmt.Select(&sl, pq.Array(subs.GetIDs()))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif len(subs) != len(sl) {\n\t\treturn errors.New(\"campaign stats count does not match\")\n\t}\n\n\tfor i, s := range sl {\n\t\tif s.SubscriberID == subs[i].ID {\n\t\t\tsubs[i].Lists = s.Lists\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// FirstName splits the name by spaces and returns the first chunk\n// of the name that's greater than 2 characters in length, assuming\n// that it is the subscriber's first name.\nfunc (s Subscriber) FirstName() string {\n\tfor _, s := range strings.Split(s.Name, \" \") {\n\t\tif len(s) > 2 {\n\t\t\treturn s\n\t\t}\n\t}\n\n\treturn s.Name\n}\n\n// LastName splits the name by spaces and returns the last chunk\n// of the name that's greater than 2 characters in length, assuming\n// that it is the subscriber's last name.\nfunc (s Subscriber) LastName() string {\n\tchunks := strings.Split(s.Name, \" \")\n\tfor i := len(chunks) - 1; i >= 0; i-- {\n\t\tchunk := chunks[i]\n\t\tif len(chunk) > 2 {\n\t\t\treturn chunk\n\t\t}\n\t}\n\n\treturn s.Name\n}\n\n// Subscription represents a list attached to a subscriber.\ntype Subscription struct {\n\tList\n\tSubscriptionStatus    null.String     `db:\"subscription_status\" json:\"subscription_status\"`\n\tSubscriptionCreatedAt null.String     `db:\"subscription_created_at\" json:\"subscription_created_at\"`\n\tMeta                  json.RawMessage `db:\"meta\" json:\"meta\"`\n}\n\n// SubscriberExport represents a subscriber record that is exported to raw data.\ntype SubscriberExport struct {\n\tBase\n\n\tUUID    string `db:\"uuid\" json:\"uuid\"`\n\tEmail   string `db:\"email\" json:\"email\"`\n\tName    string `db:\"name\" json:\"name\"`\n\tAttribs string `db:\"attribs\" json:\"attribs\"`\n\tStatus  string `db:\"status\" json:\"status\"`\n}\n\n// SubscriberExportProfile represents a subscriber's collated data in JSON for export.\ntype SubscriberExportProfile struct {\n\tEmail         string          `db:\"email\" json:\"-\"`\n\tProfile       json.RawMessage `db:\"profile\" json:\"profile,omitempty\"`\n\tSubscriptions json.RawMessage `db:\"subscriptions\" json:\"subscriptions,omitempty\"`\n\tCampaignViews json.RawMessage `db:\"campaign_views\" json:\"campaign_views,omitempty\"`\n\tLinkClicks    json.RawMessage `db:\"link_clicks\" json:\"link_clicks,omitempty\"`\n}\n\n// SubscriberActivity represents a subscriber's campaign views and link clicks for the Activity tab.\ntype SubscriberActivity struct {\n\tCampaignViews json.RawMessage `db:\"campaign_views\" json:\"campaign_views\"`\n\tLinkClicks    json.RawMessage `db:\"link_clicks\" json:\"link_clicks\"`\n}\n"
  },
  {
    "path": "models/templates.go",
    "content": "package models\n\nimport (\n\t\"fmt\"\n\t\"html/template\"\n\t\"strings\"\n\ttxttpl \"text/template\"\n\t\"time\"\n\n\tnull \"gopkg.in/volatiletech/null.v6\"\n)\n\nconst (\n\tBaseTpl                    = \"base\"\n\tContentTpl                 = \"content\"\n\tTemplateTypeCampaign       = \"campaign\"\n\tTemplateTypeCampaignVisual = \"campaign_visual\"\n\tTemplateTypeTx             = \"tx\"\n)\n\n// Template represents a reusable e-mail template.\ntype Template struct {\n\tBase\n\n\tName string `db:\"name\" json:\"name\"`\n\t// Subject is only for type=tx.\n\tSubject    string      `db:\"subject\" json:\"subject\"`\n\tType       string      `db:\"type\" json:\"type\"`\n\tBody       string      `db:\"body\" json:\"body,omitempty\"`\n\tBodySource null.String `db:\"body_source\" json:\"body_source,omitempty\"`\n\tIsDefault  bool        `db:\"is_default\" json:\"is_default\"`\n\n\t// Only relevant to tx (transactional) templates.\n\tSubjectTpl *txttpl.Template   `json:\"-\"`\n\tTpl        *template.Template `json:\"-\"`\n}\n\n// Compile compiles a template body and subject (only for tx templates) and\n// caches the templat references to be executed later.\nfunc (t *Template) Compile(f template.FuncMap) error {\n\ttpl, err := template.New(BaseTpl).Funcs(f).Parse(t.Body)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error compiling transactional template: %v\", err)\n\t}\n\tt.Tpl = tpl\n\n\t// If the subject line has a template string, compile it.\n\tif strings.Contains(t.Subject, \"{{\") {\n\t\tsubj := t.Subject\n\n\t\tsubjTpl, err := txttpl.New(BaseTpl).Funcs(txttpl.FuncMap(f)).Parse(subj)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error compiling subject: %v\", err)\n\t\t}\n\t\tt.SubjectTpl = subjTpl\n\t}\n\n\treturn nil\n}\n\ntype CampaignStats struct {\n\tID        int       `db:\"id\" json:\"id\"`\n\tStatus    string    `db:\"status\" json:\"status\"`\n\tToSend    int       `db:\"to_send\" json:\"to_send\"`\n\tSent      int       `db:\"sent\" json:\"sent\"`\n\tStarted   null.Time `db:\"started_at\" json:\"started_at\"`\n\tUpdatedAt null.Time `db:\"updated_at\" json:\"updated_at\"`\n\tRate      int       `json:\"rate\"`\n\tNetRate   int       `json:\"net_rate\"`\n}\n\ntype CampaignAnalyticsCount struct {\n\tCampaignID int       `db:\"campaign_id\" json:\"campaign_id\"`\n\tCount      int       `db:\"count\" json:\"count\"`\n\tTimestamp  time.Time `db:\"timestamp\" json:\"timestamp\"`\n}\n\ntype CampaignAnalyticsLink struct {\n\tURL   string `db:\"url\" json:\"url\"`\n\tCount int    `db:\"count\" json:\"count\"`\n}\n"
  },
  {
    "path": "permissions.json",
    "content": "[\n    {\n        \"group\": \"lists\",\n        \"permissions\":\n        [\n            \"lists:get_all\",\n            \"lists:manage_all\"\n        ]\n    },\n    {\n        \"group\": \"subscribers\",\n        \"permissions\":\n        [\n            \"subscribers:get\",\n            \"subscribers:get_all\",\n            \"subscribers:manage\",\n            \"subscribers:import\",\n            \"subscribers:sql_query\",\n            \"tx:send\"\n        ]\n    },\n    {\n        \"group\": \"campaigns\",\n        \"permissions\":\n        [\n            \"campaigns:get\",\n            \"campaigns:get_all\",\n            \"campaigns:get_analytics\",\n            \"campaigns:manage\",\n            \"campaigns:manage_all\"\n        ]\n    },\n    {\n        \"group\": \"bounces\",\n        \"permissions\":\n        [\n            \"bounces:get\",\n            \"bounces:manage\",\n            \"webhooks:post_bounce\"\n        ]\n    },\n    {\n        \"group\": \"media\",\n        \"permissions\":\n        [\n            \"media:get\",\n            \"media:manage\"\n        ]\n    },\n    {\n        \"group\": \"templates\",\n        \"permissions\":\n        [\n            \"templates:get\",\n            \"templates:manage\"\n        ]\n    },\n    {\n        \"group\": \"users\",\n        \"permissions\":\n        [\n            \"users:get\",\n            \"users:manage\",\n            \"roles:get\",\n            \"roles:manage\"\n        ]\n    },\n    {\n        \"group\": \"settings\",\n        \"permissions\":\n        [\n            \"settings:get\",\n            \"settings:manage\",\n            \"settings:maintain\"\n        ]\n    }\n]\n"
  },
  {
    "path": "project.inlang.json",
    "content": "{\n    \"$schema\":\"https://inlang.com/schema/project-settings\",\n    \"sourceLanguageTag\": \"en\",\n    \"languageTags\": [\"ca\", \"cs-cz\", \"cy\", \"de\", \"en\", \"es\", \"fi\", \"fr\", \"hu\", \"it\", \"jp\", \"ml\", \"nl\", \"pl\", \"pt-BR\", \"pt\", \"ro\", \"ru\", \"se\", \"sk\", \"tr\", \"vi\", \"zh-CN\", \"zh-TW\"],\n    \"modules\": [\n        \"https://cdn.jsdelivr.net/npm/@inlang/plugin-json@4/dist/index.js\",\n        \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js\",\n        \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js\",\n        \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js\",\n        \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js\"\n    ],\n    \"plugin.inlang.json\": {\n        \"pathPattern\": \"./i18n/{languageTag}.json\",\n        \"variableReferencePattern\": [\n            \"{\",\n            \"}\"\n        ]\n    }\n}\n"
  },
  {
    "path": "queries/bounces.sql",
    "content": "-- name: record-bounce\n-- Insert a bounce and count the bounces for the subscriber and either unsubscribe them,\nWITH sub AS (\n    SELECT id, status FROM subscribers WHERE CASE WHEN $1 != '' THEN uuid = $1::UUID ELSE email = $2 END\n),\ncamp AS (\n    SELECT id FROM campaigns WHERE $3 != '' AND uuid = $3::UUID\n),\nnum AS (\n    -- Add a +1 to include the current insertion that is happening.\n    SELECT COUNT(*) + 1 AS num FROM bounces WHERE subscriber_id = (SELECT id FROM sub) AND type = $4\n),\n-- block1 and block2 will run when $8 = 'blocklist' and the number of bounces exceed $8.\nblock1 AS (\n    UPDATE subscribers SET status='blocklisted'\n    WHERE $9 = 'blocklist' AND (SELECT num FROM num) >= $8 AND id = (SELECT id FROM sub) AND (SELECT status FROM sub) != 'blocklisted'\n),\nblock2 AS (\n    UPDATE subscriber_lists SET status='unsubscribed'\n    WHERE $9 = 'unsubscribe' AND (SELECT num FROM num) >= $8 AND subscriber_id = (SELECT id FROM sub) AND (SELECT status FROM sub) != 'blocklisted'\n),\nbounce AS (\n    -- Record the bounce if the subscriber is not already blocklisted;\n    INSERT INTO bounces (subscriber_id, campaign_id, type, source, meta, created_at)\n    SELECT (SELECT id FROM sub), (SELECT id FROM camp), $4, $5, $6, $7\n    WHERE NOT EXISTS (SELECT 1 WHERE (SELECT status FROM sub) = 'blocklisted' OR (SELECT num FROM num) > $8)\n)\n-- This delete  will only run when $9 = 'delete' and the number of bounces exceed $8.\nDELETE FROM subscribers\n    WHERE $9 = 'delete' AND (SELECT num FROM num) >= $8 AND id = (SELECT id FROM sub);\n\n-- name: query-bounces\nSELECT COUNT(*) OVER () AS total,\n    bounces.id,\n    bounces.type,\n    bounces.source,\n    bounces.meta,\n    bounces.created_at,\n    bounces.subscriber_id,\n    subscribers.uuid AS subscriber_uuid,\n    subscribers.email AS email,\n    subscribers.status as subscriber_status,\n    (\n        CASE WHEN bounces.campaign_id IS NOT NULL\n        THEN JSON_BUILD_OBJECT('id', bounces.campaign_id, 'name', campaigns.name)\n        ELSE NULL END\n    ) AS campaign\nFROM bounces\nLEFT JOIN subscribers ON (subscribers.id = bounces.subscriber_id)\nLEFT JOIN campaigns ON (campaigns.id = bounces.campaign_id)\nWHERE ($1 = 0 OR bounces.id = $1)\n    AND ($2 = 0 OR bounces.campaign_id = $2)\n    AND ($3 = 0 OR bounces.subscriber_id = $3)\n    AND ($4 = '' OR bounces.source = $4)\nORDER BY %order% OFFSET $5 LIMIT (CASE WHEN $6 < 1 THEN NULL ELSE $6 END);\n\n-- name: delete-bounces\nDELETE FROM bounces WHERE $2 = TRUE OR id = ANY($1);\n\n-- name: delete-bounces-by-subscriber\nWITH sub AS (\n    SELECT id FROM subscribers WHERE CASE WHEN $1 > 0 THEN id = $1 ELSE uuid = $2 END\n)\nDELETE FROM bounces WHERE subscriber_id = (SELECT id FROM sub);\n\n-- name: blocklist-bounced-subscribers\nWITH subs AS (\n    SELECT subscriber_id FROM bounces\n),\nb AS (\n    UPDATE subscribers SET status='blocklisted', updated_at=NOW()\n    WHERE id = ANY(SELECT subscriber_id FROM subs)\n)\nUPDATE subscriber_lists SET status='unsubscribed', updated_at=NOW()\n    WHERE subscriber_id = ANY(SELECT subscriber_id FROM subs);\n\n"
  },
  {
    "path": "queries/campaigns.sql",
    "content": "-- campaigns\n-- name: create-campaign\n-- This creates the campaign and inserts campaign_lists relationships.\nWITH tpl AS (\n    -- Select the template for the given template ID or use the default template.\n    SELECT\n        -- If the template is a visual template, then use it's HTML body as the campaign\n        -- body and its block source as the campaign's block source,\n        -- and don't set a template_id in the campaigns table, as it's essentially an\n        -- HTML template body \"import\" during creation.\n        (CASE WHEN type = 'campaign_visual' THEN NULL ELSE id END) AS id,\n        (CASE WHEN type = 'campaign_visual' THEN body ELSE '' END) AS body,\n        (CASE WHEN type = 'campaign_visual' THEN body_source ELSE NULL END) AS body_source,\n        (CASE WHEN type = 'campaign_visual' THEN 'visual' ELSE 'richtext' END) AS content_type\n    FROM templates\n    WHERE\n        CASE\n            -- If a template ID is present, use it. If not, use the default template only if\n            -- it's not a visual template.\n            WHEN $14::INT IS NOT NULL THEN id = $14::INT\n            ELSE $8 != 'visual' AND is_default = TRUE\n        END\n    LIMIT 1\n),\ncamp AS (\n    INSERT INTO campaigns (uuid, type, name, subject, from_email, body, altbody,\n        content_type, send_at, headers, attribs, tags, messenger, template_id, to_send,\n        max_subscriber_id, archive, archive_slug, archive_template_id, archive_meta, body_source)\n        SELECT $1, $2, $3, $4, $5,\n            -- body\n            COALESCE(NULLIF($6, ''), (SELECT body FROM tpl), ''),\n            $7,\n            $8::content_type,\n            $9, $10, $11, $12, $13,\n            (SELECT id FROM tpl),\n            0,\n            0,\n            $16, $17,\n            -- archive_template_id\n            $18,\n            $19,\n            -- body_source\n            COALESCE($21, (SELECT body_source FROM tpl))\n        RETURNING id\n),\nmed AS (\n    INSERT INTO campaign_media (campaign_id, media_id, filename)\n        (SELECT (SELECT id FROM camp), id, filename FROM media WHERE id=ANY($20::INT[]))\n),\ninsLists AS (\n    INSERT INTO campaign_lists (campaign_id, list_id, list_name)\n        SELECT (SELECT id FROM camp), id, name FROM lists WHERE id=ANY($15::INT[])\n)\nSELECT id FROM camp;\n\n-- name: query-campaigns\n-- Here, 'lists' is returned as an aggregated JSON array from campaign_lists because\n-- the list reference may have been deleted.\n-- While the results are sliced using offset+limit,\n-- there's a COUNT() OVER() that still returns the total result count\n-- for pagination in the frontend, albeit being a field that'll repeat\n-- with every resultant row.\nSELECT  c.*,\n        COUNT(*) OVER () AS total,\n        (\n            SELECT COALESCE(ARRAY_TO_JSON(ARRAY_AGG(l)), '[]') FROM (\n                SELECT COALESCE(campaign_lists.list_id, 0) AS id,\n                campaign_lists.list_name AS name\n                FROM campaign_lists WHERE campaign_lists.campaign_id = c.id\n        ) l\n    ) AS lists\nFROM campaigns c\nWHERE ($1 = 0 OR id = $1)\n    AND (CARDINALITY($2::campaign_status[]) = 0 OR status = ANY($2))\n    AND (CARDINALITY($3::VARCHAR(100)[]) = 0 OR $3 <@ tags)\n    AND ($4 = '' OR TO_TSVECTOR(CONCAT(name, ' ', subject)) @@ TO_TSQUERY($4) OR CONCAT(c.name, ' ', c.subject) ILIKE $4)\n    -- Get all campaigns or filter by list IDs.\n    AND (\n        $5 OR EXISTS (\n            SELECT 1 FROM campaign_lists WHERE campaign_id = c.id AND list_id = ANY($6::INT[])\n        )\n    )\nORDER BY %order% OFFSET $7 LIMIT (CASE WHEN $8 < 1 THEN NULL ELSE $8 END);\n\n-- name: get-campaign\nSELECT campaigns.*,\n    COALESCE(templates.body, (SELECT body FROM templates WHERE is_default = true LIMIT 1), '') AS template_body\n    FROM campaigns\n    LEFT JOIN templates ON (\n        CASE WHEN $4 = 'default' THEN templates.id = campaigns.template_id\n        ELSE templates.id = campaigns.archive_template_id END\n    )\n    WHERE CASE\n            WHEN $1 > 0 THEN campaigns.id = $1\n            WHEN $3 != '' THEN campaigns.archive_slug = $3\n            ELSE uuid = $2\n          END;\n\n-- name: get-archived-campaigns\nSELECT COUNT(*) OVER () AS total, campaigns.*,\n    COALESCE(templates.body, (SELECT body FROM templates WHERE is_default = true LIMIT 1), '') AS template_body\n    FROM campaigns\n    LEFT JOIN templates ON (\n        CASE WHEN $3 = 'default' THEN templates.id = campaigns.template_id\n        ELSE templates.id = campaigns.archive_template_id END\n    )\n    WHERE campaigns.archive=true AND campaigns.type='regular' AND campaigns.status=ANY('{running, paused, finished}')\n    ORDER by campaigns.created_at DESC OFFSET $1 LIMIT $2;\n\n-- name: get-campaign-stats\n-- This query is used to lazy load campaign stats (views, counts, list of lists) given a list of campaign IDs.\n-- The query returns results in the same order as the given campaign IDs, and for non-existent campaign IDs,\n-- the query still returns a row with 0 values. Thus, for lazy loading, the application simply iterate on the results in\n-- the same order as the list of campaigns it would've queried and attach the results.\nWITH lists AS (\n    SELECT campaign_id, JSON_AGG(JSON_BUILD_OBJECT('id', list_id, 'name', list_name)) AS lists FROM campaign_lists\n    WHERE campaign_id = ANY($1) GROUP BY campaign_id\n),\nmedia AS (\n    SELECT campaign_id, JSON_AGG(JSON_BUILD_OBJECT('id', media_id, 'filename', filename)) AS media FROM campaign_media\n    WHERE campaign_id = ANY($1) GROUP BY campaign_id\n),\nviews AS (\n    SELECT campaign_id, COUNT(campaign_id) as num FROM campaign_views\n    WHERE campaign_id = ANY($1)\n    GROUP BY campaign_id\n),\nclicks AS (\n    SELECT campaign_id, COUNT(campaign_id) as num FROM link_clicks\n    WHERE campaign_id = ANY($1)\n    GROUP BY campaign_id\n),\nbounces AS (\n    SELECT campaign_id, COUNT(campaign_id) as num FROM bounces\n    WHERE campaign_id = ANY($1)\n    GROUP BY campaign_id\n)\nSELECT id as campaign_id,\n    COALESCE(v.num, 0) AS views,\n    COALESCE(c.num, 0) AS clicks,\n    COALESCE(b.num, 0) AS bounces,\n    COALESCE(l.lists, '[]') AS lists,\n    COALESCE(m.media, '[]') AS media\nFROM (SELECT id FROM UNNEST($1) AS id) x\nLEFT JOIN lists AS l ON (l.campaign_id = id)\nLEFT JOIN media AS m ON (m.campaign_id = id)\nLEFT JOIN views AS v ON (v.campaign_id = id)\nLEFT JOIN clicks AS c ON (c.campaign_id = id)\nLEFT JOIN bounces AS b ON (b.campaign_id = id)\nORDER BY ARRAY_POSITION($1, id);\n\n-- name: get-campaign-for-preview\nSELECT campaigns.*, COALESCE(templates.body, '') AS template_body,\n(\n\tSELECT COALESCE(ARRAY_TO_JSON(ARRAY_AGG(l)), '[]') FROM (\n\t\tSELECT COALESCE(campaign_lists.list_id, 0) AS id,\n        campaign_lists.list_name AS name\n        FROM campaign_lists WHERE campaign_lists.campaign_id = campaigns.id\n\t) l\n) AS lists\nFROM campaigns\nLEFT JOIN templates ON (templates.id = (CASE WHEN $2=0 THEN campaigns.template_id ELSE $2 END))\nWHERE campaigns.id = $1;\n\n-- name: get-campaign-status\nSELECT id, status, to_send, sent, started_at, updated_at FROM campaigns WHERE status=$1;\n\n-- name: campaign-has-lists\n-- Returns TRUE if the campaign $1 has any of the lists given in $2.\nSELECT EXISTS (\n    SELECT TRUE FROM campaign_lists WHERE campaign_id = $1 AND list_id = ANY($2::INT[])\n);\n\n-- name: next-campaigns\n-- Retreives campaigns that are running (or scheduled and the time's up) and need\n-- to be processed. It updates the to_send count and max_subscriber_id of the campaign,\n-- that is, the total number of subscribers to be processed across all lists of a campaign.\n-- Thus, it has a sideaffect.\n-- In addition, it finds the max_subscriber_id, the upper limit across all lists of\n-- a campaign. This is used to fetch and slice subscribers for the campaign in next-campaign-subscribers.\nWITH camps AS (\n    -- Get all running campaigns and their template bodies (if the template's deleted, the default template body instead)\n    SELECT campaigns.*, COALESCE(templates.body, (SELECT body FROM templates WHERE is_default = true LIMIT 1), '') AS template_body\n    FROM campaigns\n    LEFT JOIN templates ON (templates.id = campaigns.template_id)\n    WHERE (status='running' OR (status='scheduled' AND NOW() >= campaigns.send_at))\n    AND NOT(campaigns.id = ANY($1::INT[]))\n),\ncampLists AS (\n    -- Get the list_ids and their optin statuses for the campaigns found in the previous step.\n    SELECT lists.id AS list_id, campaign_id, optin FROM lists\n    INNER JOIN campaign_lists ON (campaign_lists.list_id = lists.id)\n    WHERE campaign_lists.campaign_id = ANY(SELECT id FROM camps)\n),\ncampMedia AS (\n    -- Get the list_ids and their optin statuses for the campaigns found in the previous step.\n    SELECT campaign_id, ARRAY_AGG(campaign_media.media_id)::INT[] AS media_id FROM campaign_media\n    WHERE campaign_id = ANY(SELECT id FROM camps) AND media_id IS NOT NULL\n    GROUP BY campaign_id\n),\ncounts AS (\n    SELECT camps.id AS campaign_id, COUNT(DISTINCT sl.subscriber_id) AS to_send, COALESCE(MAX(sl.subscriber_id), 0) AS max_subscriber_id\n    FROM camps\n    JOIN campLists cl ON cl.campaign_id = camps.id\n    JOIN subscriber_lists sl ON sl.list_id = cl.list_id\n        AND (\n            CASE\n                WHEN camps.type = 'optin' THEN sl.status = 'unconfirmed' AND cl.optin = 'double'\n                WHEN cl.optin = 'double' THEN sl.status = 'confirmed'\n                ELSE sl.status != 'unsubscribed'\n            END\n        )\n    JOIN subscribers s ON (s.id = sl.subscriber_id AND s.status != 'blocklisted')\n    GROUP BY camps.id\n),\nupdateCounts AS (\n    WITH uc (campaign_id, sent_count) AS (SELECT * FROM unnest($1::INT[], $2::INT[]))\n    UPDATE campaigns\n    SET sent = sent + uc.sent_count\n    FROM uc WHERE campaigns.id = uc.campaign_id\n),\nu AS (\n    -- For each campaign, update the to_send count and set the max_subscriber_id.\n    UPDATE campaigns AS ca\n    SET to_send = co.to_send,\n        status = (CASE WHEN status != 'running' THEN 'running' ELSE status END),\n        max_subscriber_id = co.max_subscriber_id,\n        started_at=(CASE WHEN ca.started_at IS NULL THEN NOW() ELSE ca.started_at END)\n    FROM (SELECT * FROM counts) co\n    WHERE ca.id = co.campaign_id\n)\nSELECT camps.*, campMedia.media_id FROM camps LEFT JOIN campMedia ON (campMedia.campaign_id = camps.id);\n\n-- name: get-campaign-analytics-unique-counts\nWITH intval AS (\n    -- For intervals < a week, aggregate counts hourly, otherwise daily.\n    SELECT CASE WHEN (EXTRACT (EPOCH FROM ($3::TIMESTAMP - $2::TIMESTAMP)) / 86400) >= 7 THEN 'day' ELSE 'hour' END\n),\nuniqIDs AS (\n    SELECT DISTINCT ON(subscriber_id) subscriber_id, campaign_id, DATE_TRUNC((SELECT * FROM intval), created_at) AS \"timestamp\"\n    FROM %s\n    WHERE campaign_id=ANY($1) AND created_at >= $2 AND created_at <= $3\n    ORDER BY subscriber_id, \"timestamp\"\n)\nSELECT COUNT(*) AS \"count\", campaign_id, \"timestamp\"\n    FROM uniqIDs GROUP BY campaign_id, \"timestamp\" ORDER BY \"timestamp\" ASC;\n\n-- name: get-campaign-analytics-counts\n-- raw: true\nWITH intval AS (\n    -- For intervals < a week, aggregate counts hourly, otherwise daily.\n    SELECT CASE WHEN (EXTRACT (EPOCH FROM ($3::TIMESTAMP - $2::TIMESTAMP)) / 86400) >= 7 THEN 'day' ELSE 'hour' END\n)\nSELECT campaign_id, COUNT(*) AS \"count\", DATE_TRUNC((SELECT * FROM intval), created_at) AS \"timestamp\"\n    FROM %s\n    WHERE campaign_id=ANY($1) AND created_at >= $2 AND created_at <= $3\n    GROUP BY campaign_id, \"timestamp\" ORDER BY \"timestamp\" ASC;\n\n-- name: get-campaign-bounce-counts\nWITH intval AS (\n    -- For intervals < a week, aggregate counts hourly, otherwise daily.\n    SELECT CASE WHEN (EXTRACT (EPOCH FROM ($3::TIMESTAMP - $2::TIMESTAMP)) / 86400) >= 7 THEN 'day' ELSE 'hour' END\n)\nSELECT campaign_id, COUNT(*) AS \"count\", DATE_TRUNC((SELECT * FROM intval), created_at) AS \"timestamp\"\n    FROM bounces\n    WHERE campaign_id=ANY($1) AND created_at >= $2 AND created_at <= $3\n    GROUP BY campaign_id, \"timestamp\" ORDER BY \"timestamp\" ASC;\n\n-- name: get-campaign-link-counts\n-- raw: true\n-- %s = * or DISTINCT subscriber_id (prepared based on based on individual tracking=on/off). Prepared on boot.\nSELECT COUNT(%s) AS \"count\", url\n    FROM link_clicks\n    LEFT JOIN links ON (link_clicks.link_id = links.id)\n    WHERE campaign_id=ANY($1) AND link_clicks.created_at >= $2 AND link_clicks.created_at <= $3\n    GROUP BY links.url ORDER BY \"count\" DESC LIMIT 50;\n\n-- name: get-running-campaign\n-- Returns the metadata for a running campaign that is required by next-campaign-subscribers to retrieve\n-- a batch of campaign subscribers for processing.\nSELECT campaigns.id AS campaign_id, campaigns.type as campaign_type, last_subscriber_id, max_subscriber_id, lists.id AS list_id\n    FROM campaigns\n    LEFT JOIN campaign_lists ON (campaign_lists.campaign_id = campaigns.id)\n    LEFT JOIN lists ON (lists.id = campaign_lists.list_id)\n    WHERE campaigns.id = $1 AND campaigns.status='running';\n\n-- name: next-campaign-subscribers\n-- Returns a batch of subscribers in a given campaign starting from the last checkpoint\n-- (last_subscriber_id). Every fetch updates the checkpoint and the sent count, which means\n-- every fetch returns a new batch of subscribers until all rows are exhausted.\n--\n-- In previous versions, get-running-campaign + this was a single query spread across multiple\n-- CTEs, but despite numerous permutations and combinations, Postgres query planner simply would not use\n-- the right indexes on subscriber_lists when the JOIN or ids were referenced dynamically from campLists\n-- (be it a CTE or various kinds of joins). However, statically providing the list IDs to JOIN on ($5::INT[])\n-- the query planner works as expected. The difference is staggering. ~15 seconds on a subscribers table with 15m\n-- rows and a subscriber_lists table with 70 million rows when fetching subscribers for a campaign with a single list,\n-- vs. a few million seconds using this current approach.\nWITH campLists AS (\n    SELECT lists.id AS list_id, optin FROM lists\n    LEFT JOIN campaign_lists ON campaign_lists.list_id = lists.id\n    WHERE campaign_lists.campaign_id = $1\n),\nsubs AS (\n    SELECT s.*\n    FROM (\n        SELECT DISTINCT s.id\n        FROM subscriber_lists sl\n        JOIN campLists ON sl.list_id = campLists.list_id\n        JOIN subscribers s ON s.id = sl.subscriber_id\n        WHERE\n            sl.list_id = ANY($5::INT[])\n            -- last_subscriber_id\n            AND s.id > $3\n             -- max_subscriber_id\n            AND s.id <= $4\n             -- Subscriber should not be blacklisted.\n            AND s.status != 'blocklisted'\n            AND (\n                -- If it's an optin campaign and the list is double-optin, only pick unconfirmed subscribers.\n                ($2 = 'optin' AND sl.status = 'unconfirmed' AND campLists.optin = 'double')\n                OR (\n                    -- It is a regular campaign.\n                    $2 != 'optin' AND (\n                        -- It is a double optin list. Only pick confirmed subscribers.\n                        (campLists.optin = 'double' AND sl.status = 'confirmed') OR\n\n                        -- It is a single optin list. Pick all non-unsubscribed subscribers.\n                        (campLists.optin != 'double' AND sl.status != 'unsubscribed')\n                    )\n                )\n            )\n        ORDER BY s.id LIMIT $6\n    ) subIDs JOIN subscribers s ON (s.id = subIDs.id) ORDER BY s.id\n),\nu AS (\n    UPDATE campaigns\n    SET last_subscriber_id = (SELECT MAX(id) FROM subs), updated_at = NOW()\n    WHERE (SELECT COUNT(id) FROM subs) > 0 AND id=$1\n)\nSELECT * FROM subs;\n\n-- name: delete-campaign-views\nDELETE FROM campaign_views WHERE created_at < $1;\n\n-- name: delete-campaign-link-clicks\nDELETE FROM link_clicks WHERE created_at < $1;\n\n-- name: get-one-campaign-subscriber\nSELECT * FROM subscribers\nLEFT JOIN subscriber_lists ON (subscribers.id = subscriber_lists.subscriber_id AND subscriber_lists.status != 'unsubscribed')\nWHERE subscriber_lists.list_id=ANY(\n    SELECT list_id FROM campaign_lists where campaign_id=$1 AND list_id IS NOT NULL\n)\nORDER BY RANDOM() LIMIT 1;\n\n-- name: update-campaign\nWITH camp AS (\n    UPDATE campaigns SET\n        name=$2,\n        subject=$3,\n        from_email=$4,\n        body=$5,\n        altbody=(CASE WHEN $6 = '' THEN NULL ELSE $6 END),\n        content_type=$7::content_type,\n        send_at=$8::TIMESTAMP WITH TIME ZONE,\n        status=(\n            CASE\n                WHEN status = 'scheduled' AND $8 IS NULL THEN 'draft'\n                ELSE status\n            END\n        ),\n        headers=$9,\n        attribs=$10,\n        tags=$11::VARCHAR(100)[],\n        messenger=$12,\n        -- template_id shouldn't be saved for visual campaigns.\n        template_id=(CASE WHEN $7::content_type = 'visual' THEN NULL ELSE $13::INT END),\n        archive=$15,\n        archive_slug=$16,\n        archive_template_id=(CASE WHEN $7::content_type = 'visual' THEN NULL ELSE $17::INT END),\n        archive_meta=$18,\n        body_source=$20,\n        updated_at=NOW()\n    WHERE id = $1 RETURNING id\n),\nclists AS (\n    -- Reset list relationships\n    DELETE FROM campaign_lists WHERE campaign_id = $1 AND NOT(list_id = ANY($14))\n),\nmed AS (\n    DELETE FROM campaign_media WHERE campaign_id = $1\n    AND ( media_id IS NULL or NOT(media_id = ANY($19))) RETURNING media_id\n),\nmedi AS (\n    INSERT INTO campaign_media (campaign_id, media_id, filename)\n        (SELECT $1 AS campaign_id, id, filename FROM media WHERE id=ANY($19::INT[]))\n        ON CONFLICT (campaign_id, media_id) DO NOTHING\n)\nINSERT INTO campaign_lists (campaign_id, list_id, list_name)\n    (SELECT $1 as campaign_id, id, name FROM lists WHERE id=ANY($14::INT[]))\n    ON CONFLICT (campaign_id, list_id) DO UPDATE SET list_name = EXCLUDED.list_name;\n\n-- name: update-campaign-counts\nUPDATE campaigns SET\n    to_send=(CASE WHEN $2 != 0 THEN $2 ELSE to_send END),\n    sent=sent+$3,\n    last_subscriber_id=(CASE WHEN $4 > 0 THEN $4 ELSE last_subscriber_id END),\n    updated_at=NOW()\nWHERE id=$1;\n\n-- name: update-campaign-status\nUPDATE campaigns SET\n    status=(\n        CASE\n            WHEN send_at IS NOT NULL AND $2 = 'running' THEN 'scheduled'\n            ELSE $2::campaign_status\n        END\n    ),\n    updated_at=NOW()\nWHERE id = $1;\n\n-- name: update-campaign-archive\nUPDATE campaigns SET\n    archive=$2,\n    archive_slug=(CASE WHEN $3::TEXT = '' THEN NULL ELSE $3 END),\n    archive_template_id=(CASE WHEN $4 > 0 THEN $4 ELSE archive_template_id END),\n    archive_meta=(CASE WHEN $5::TEXT != '' THEN $5::JSONB ELSE archive_meta END),\n    updated_at=NOW()\n    WHERE id=$1;\n\n-- name: delete-campaign\nDELETE FROM campaigns WHERE id=$1;\n\n-- name: delete-campaigns\nDELETE FROM campaigns c\nWHERE (\n    CASE\n        WHEN CARDINALITY($1::INT[]) > 0 THEN id = ANY($1)\n        ELSE $2 = '' OR TO_TSVECTOR(CONCAT(name, ' ', subject)) @@ TO_TSQUERY($2) OR CONCAT(c.name, ' ', c.subject) ILIKE $2\n    END\n)\n-- Get all campaigns or filter by permitted list IDs.\nAND (\n    $3 OR EXISTS (\n        SELECT 1 FROM campaign_lists WHERE campaign_id = c.id AND list_id = ANY($4::INT[])\n    )\n);\n\n-- name: register-campaign-view\nWITH view AS (\n    SELECT campaigns.id as campaign_id, subscribers.id AS subscriber_id FROM campaigns\n    LEFT JOIN subscribers ON (CASE WHEN $2::TEXT != '' THEN subscribers.uuid = $2::UUID ELSE FALSE END)\n    WHERE campaigns.uuid = $1\n)\nINSERT INTO campaign_views (campaign_id, subscriber_id)\n    VALUES((SELECT campaign_id FROM view), (SELECT subscriber_id FROM view));\n\n"
  },
  {
    "path": "queries/links.sql",
    "content": "-- links\n-- name: create-link\nINSERT INTO links (uuid, url) VALUES($1, $2) ON CONFLICT (url) DO UPDATE SET url=EXCLUDED.url RETURNING uuid;\n\n-- name: get-link-url\nSELECT url FROM links WHERE uuid = $1;\n\n-- name: register-link-click\nWITH link AS(\n    SELECT id, url FROM links WHERE uuid = $1\n)\nINSERT INTO link_clicks (campaign_id, subscriber_id, link_id) VALUES(\n    (SELECT id FROM campaigns WHERE uuid = $2),\n    (SELECT id FROM subscribers WHERE\n        (CASE WHEN $3::TEXT != '' THEN subscribers.uuid = $3::UUID ELSE FALSE END)\n    ),\n    (SELECT id FROM link)\n) RETURNING (SELECT url FROM link);\n"
  },
  {
    "path": "queries/lists.sql",
    "content": "-- lists\n-- name: get-lists\nSELECT * FROM lists WHERE (CASE WHEN $1 = '' THEN 1=1 ELSE type=$1::list_type END)\n    AND (CASE WHEN $2 = '' THEN 1=1 ELSE status=$2::list_status END)\n    AND CASE\n        -- Optional list IDs based on user permission.\n        WHEN $4 = TRUE THEN TRUE ELSE id = ANY($5::INT[])\n    END\n    ORDER BY CASE WHEN $3 = 'id' THEN id END, CASE WHEN $3 = 'name' THEN name END;\n\n-- name: query-lists\nWITH ls AS (\n    SELECT COUNT(*) OVER () AS total, lists.* FROM lists WHERE\n    CASE\n        WHEN $1 > 0 THEN id = $1\n        WHEN $2 != '' THEN uuid = $2::UUID\n        WHEN $3 != '' THEN (TO_TSVECTOR(name) @@ TO_TSQUERY ($3) OR name ILIKE $3)\n        ELSE TRUE\n    END\n    AND ($4 = '' OR type = $4::list_type)\n    AND ($5 = '' OR optin = $5::list_optin)\n    AND ($6 = '' OR status = $6::list_status)\n    AND (CARDINALITY($7::VARCHAR(100)[]) = 0 OR $7 <@ tags)\n    AND CASE\n        -- Optional list IDs based on user permission.\n        WHEN $8 = TRUE THEN TRUE ELSE id = ANY($9::INT[])\n    END\n    OFFSET $10 LIMIT (CASE WHEN $11 < 1 THEN NULL ELSE $11 END)\n),\nstatuses AS (\n    SELECT\n        list_id,\n        COALESCE(JSONB_OBJECT_AGG(status, subscriber_count) FILTER (WHERE status IS NOT NULL), '{}') AS subscriber_statuses,\n        SUM(subscriber_count) AS subscriber_count\n    FROM mat_list_subscriber_stats\n    GROUP BY list_id\n)\nSELECT ls.*, COALESCE(ss.subscriber_statuses, '{}') AS subscriber_statuses, COALESCE(ss.subscriber_count, 0) AS subscriber_count\n    FROM ls LEFT JOIN statuses ss ON (ls.id = ss.list_id) ORDER BY %order%;\n\n-- name: get-lists-by-optin\n-- Can have a list of IDs or a list of UUIDs.\nSELECT * FROM lists WHERE (CASE WHEN $1 != '' THEN optin=$1::list_optin ELSE TRUE END) AND\n    (CASE WHEN $2::INT[] IS NOT NULL THEN id = ANY($2::INT[])\n          WHEN $3::UUID[] IS NOT NULL THEN uuid = ANY($3::UUID[])\n    END) ORDER BY name;\n\n-- name: get-list-types\n-- Retrieves the private|public type of lists by ID or uuid. Used for filtering.\nSELECT id, uuid, type FROM lists WHERE\n    (CASE WHEN $1::INT[] IS NOT NULL THEN id = ANY($1::INT[])\n          WHEN $2::UUID[] IS NOT NULL THEN uuid = ANY($2::UUID[])\n    END);\n\n-- name: create-list\nINSERT INTO lists (uuid, name, type, optin, status, tags, description) VALUES($1, $2, $3, $4, $5, $6, $7) RETURNING id;\n\n-- name: update-list\nWITH l AS (\n    UPDATE lists SET\n        name=(CASE WHEN $2 != '' THEN $2 ELSE name END),\n        type=(CASE WHEN $3 != '' THEN $3::list_type ELSE type END),\n        optin=(CASE WHEN $4 != '' THEN $4::list_optin ELSE optin END),\n        status=(CASE WHEN $5 != '' THEN $5::list_status ELSE status END),\n        tags=$6::VARCHAR(100)[],\n        description=(CASE WHEN $7 != '' THEN $7 ELSE description END),\n        updated_at=NOW()\n    WHERE id = $1\n    RETURNING id, name\n),\nc AS (\n    UPDATE campaign_lists SET list_name = l.name FROM l WHERE campaign_lists.list_id = l.id RETURNING 1\n)\nSELECT COUNT(*) FROM l, c;\n\n-- name: update-lists-date\nUPDATE lists SET updated_at=NOW() WHERE id = ANY($1);\n\n-- name: delete-lists\nDELETE FROM lists\nWHERE CASE\n    WHEN CARDINALITY($1::INT[]) > 0 THEN id = ANY($1)\n    ELSE ($2 = '' OR to_tsvector(name) @@ to_tsquery($2))\nEND\nAND CASE\n    -- Optional list IDs based on user permission.\n    WHEN $3 = TRUE THEN TRUE ELSE id = ANY($4::INT[])\nEND;\n\n"
  },
  {
    "path": "queries/media.sql",
    "content": "-- media\n-- name: insert-media\nINSERT INTO media (uuid, filename, thumb, content_type, provider, meta, created_at) VALUES($1, $2, $3, $4, $5, $6, NOW()) RETURNING id;\n\n-- name: query-media\nSELECT COUNT(*) OVER () AS total, * FROM media\n    WHERE ($1 = '' OR filename ILIKE $1) AND provider=$2 ORDER BY created_at DESC OFFSET $3 LIMIT $4;\n\n-- name: get-media\nSELECT * FROM media WHERE\n    CASE\n        WHEN $1 > 0 THEN id = $1\n        WHEN $2 != '' THEN uuid = $2::UUID\n        WHEN $3 != '' THEN filename = $3    \n        ELSE false\n    END;\n\n-- name: delete-media\nDELETE FROM media WHERE id=$1 RETURNING filename;\n\n"
  },
  {
    "path": "queries/misc.sql",
    "content": "-- name: get-dashboard-charts\nSELECT data FROM mat_dashboard_charts;\n\n-- name: get-dashboard-counts\nSELECT data FROM mat_dashboard_counts;\n\n-- name: get-settings\nSELECT JSON_OBJECT_AGG(key, value) AS settings FROM (SELECT * FROM settings ORDER BY key) t;\n\n-- name: update-settings\nUPDATE settings AS s SET value = c.value\n    -- For each key in the incoming JSON map, update the row with the key and its value.\n    FROM(SELECT * FROM JSONB_EACH($1)) AS c(key, value) WHERE s.key = c.key;\n\n-- name: update-settings-by-key\nUPDATE settings SET value = $2, updated_at = NOW() WHERE key = $1;\n\n-- name: get-db-info\nSELECT JSON_BUILD_OBJECT('version', (SELECT VERSION()),\n                        'size_mb', (SELECT ROUND(pg_database_size((SELECT CURRENT_DATABASE()))/(1024^2)))) AS info;\n"
  },
  {
    "path": "queries/roles.sql",
    "content": "-- name: get-user-roles\nWITH mainroles AS (\n    SELECT ur.* FROM roles ur WHERE type = 'user' AND ur.parent_id IS NULL AND\n    CASE WHEN $1::INT != 0 THEN ur.id = $1 ELSE TRUE END\n),\nlistPerms AS (\n    SELECT ur.parent_id, JSONB_AGG(JSONB_BUILD_OBJECT('id', ur.list_id, 'name', lists.name, 'permissions', ur.permissions)) AS listPerms\n    FROM roles ur\n    LEFT JOIN lists ON(lists.id = ur.list_id)\n    WHERE ur.parent_id IS NOT NULL GROUP BY ur.parent_id\n)\nSELECT p.*, COALESCE(l.listPerms, '[]'::JSONB) AS \"list_permissions\" FROM mainroles p\n    LEFT JOIN listPerms l ON p.id = l.parent_id ORDER BY p.created_at;\n\n-- name: get-list-roles\nWITH mainroles AS (\n    SELECT ur.* FROM roles ur WHERE type = 'list' AND ur.parent_id IS NULL\n),\nlistPerms AS (\n    SELECT ur.parent_id, JSONB_AGG(JSONB_BUILD_OBJECT('id', ur.list_id, 'name', lists.name, 'permissions', ur.permissions)) AS listPerms\n    FROM roles ur\n    LEFT JOIN lists ON(lists.id = ur.list_id)\n    WHERE ur.parent_id IS NOT NULL GROUP BY ur.parent_id\n)\nSELECT p.*, COALESCE(l.listPerms, '[]'::JSONB) AS \"list_permissions\" FROM mainroles p\n    LEFT JOIN listPerms l ON p.id = l.parent_id ORDER BY p.created_at;\n\n\n-- name: create-role\nINSERT INTO roles (name, type, permissions, created_at, updated_at) VALUES($1, $2, $3, NOW(), NOW()) RETURNING *;\n\n-- name: upsert-list-permissions\nWITH d AS (\n    -- Delete lists that aren't included.\n    DELETE FROM roles WHERE parent_id = $1 AND list_id != ALL($2::INT[])\n),\np AS (\n    -- Get (list_id, perms[]), (list_id, perms[])\n    SELECT UNNEST($2) AS list_id, JSONB_ARRAY_ELEMENTS(TO_JSONB($3::TEXT[][])) AS perms\n)\nINSERT INTO roles (parent_id, list_id, permissions, type)\n    SELECT $1, list_id, ARRAY_REMOVE(ARRAY(SELECT JSONB_ARRAY_ELEMENTS_TEXT(perms)), ''), 'list' FROM p\n    ON CONFLICT (parent_id, list_id) DO UPDATE SET permissions = EXCLUDED.permissions;\n\n-- name: delete-list-permission\nDELETE FROM roles WHERE parent_id=$1 AND list_id=$2;\n\n-- name: update-role\nUPDATE roles SET name=$2, permissions=$3 WHERE id=$1 and parent_id IS NULL RETURNING *;\n\n-- name: delete-role\nDELETE FROM roles WHERE id=$1;\n"
  },
  {
    "path": "queries/subscribers.sql",
    "content": "-- subscribers\n-- name: get-subscriber\n-- Get a single subscriber by id or UUID or email.\nSELECT * FROM subscribers WHERE\n    CASE\n        WHEN $1 > 0 THEN id = $1\n        WHEN $2 != '' THEN uuid = $2::UUID\n        WHEN $3 != '' THEN email = $3\n    END;\n\n-- name: has-subscriber-list\n-- Used for checking access permission by list.\nSELECT s.id AS subscriber_id,\n    CASE\n        WHEN EXISTS (SELECT 1 FROM subscriber_lists sl WHERE sl.subscriber_id = s.id AND sl.list_id = ANY($2))\n        THEN TRUE\n        ELSE FALSE\n    END AS has\nFROM subscribers s WHERE s.id = ANY($1);\n\n-- name: get-subscribers-by-emails\n-- Get subscribers by emails.\nSELECT * FROM subscribers WHERE email=ANY($1);\n\n-- name: get-subscriber-lists\nWITH sub AS (\n    SELECT id FROM subscribers WHERE CASE WHEN $1 > 0 THEN id = $1 ELSE uuid = $2 END\n)\nSELECT * FROM lists\n    LEFT JOIN subscriber_lists ON (lists.id = subscriber_lists.list_id)\n    WHERE subscriber_id = (SELECT id FROM sub)\n    -- Optional list IDs or UUIDs to filter.\n    AND (CASE WHEN CARDINALITY($3::INT[]) > 0 THEN id = ANY($3::INT[])\n          WHEN CARDINALITY($4::UUID[]) > 0 THEN uuid = ANY($4::UUID[])\n          ELSE TRUE\n    END)\n    AND (CASE WHEN $5 != '' THEN subscriber_lists.status = $5::subscription_status ELSE TRUE END)\n    AND (CASE WHEN $6 != '' THEN lists.optin = $6::list_optin ELSE TRUE END)\n    ORDER BY id;\n\n-- name: get-subscriber-lists-lazy\n-- Get lists associations of subscribers given a list of subscriber IDs.\n-- This query is used to lazy load given a list of subscriber IDs.\n-- The query returns results in the same order as the given subscriber IDs, and for non-existent subscriber IDs,\n-- the query still returns a row with 0 values. Thus, for lazy loading, the application simply iterate on the results in\n-- the same order as the list of campaigns it would've queried and attach the results.\nWITH subs AS (\n    SELECT subscriber_id, JSON_AGG(\n        ROW_TO_JSON(\n            (SELECT l FROM (\n                SELECT\n                    subscriber_lists.status AS subscription_status,\n                    subscriber_lists.created_at AS subscription_created_at,\n                    subscriber_lists.updated_at AS subscription_updated_at,\n                    subscriber_lists.meta AS subscription_meta,\n                    lists.*\n            ) l)\n        )\n    ) AS lists FROM lists\n    LEFT JOIN subscriber_lists ON (subscriber_lists.list_id = lists.id)\n    WHERE subscriber_lists.subscriber_id = ANY($1)\n    GROUP BY subscriber_id\n)\nSELECT id as subscriber_id,\n    COALESCE(s.lists, '[]') AS lists\n    FROM (SELECT id FROM UNNEST($1) AS id) x\n    LEFT JOIN subs AS s ON (s.subscriber_id = id)\n    ORDER BY ARRAY_POSITION($1, id);\n\n-- name: get-subscriptions\n-- Retrieves all lists a subscriber is attached to.\n-- if $3 is set to true, all lists are fetched including the subscriber's subscriptions.\n-- subscription_status, and subscription_created_at are null in that case.\nWITH sub AS (\n    SELECT id FROM subscribers WHERE CASE WHEN $1 > 0 THEN id = $1 ELSE uuid = $2 END\n)\nSELECT lists.*,\n    subscriber_lists.status as subscription_status,\n    subscriber_lists.created_at as subscription_created_at,\n    subscriber_lists.meta as subscription_meta\n    FROM lists LEFT JOIN subscriber_lists\n    ON (subscriber_lists.list_id = lists.id AND subscriber_lists.subscriber_id = (SELECT id FROM sub))\n    WHERE CASE WHEN $3 = TRUE THEN TRUE ELSE subscriber_lists.status IS NOT NULL END\n    ORDER BY subscriber_lists.status;\n\n-- name: insert-subscriber\nWITH sub AS (\n    INSERT INTO subscribers (uuid, email, name, status, attribs)\n    VALUES($1, $2, $3, $4, $5)\n    RETURNING id, status\n),\nlistIDs AS (\n    SELECT id FROM lists WHERE\n        (CASE WHEN CARDINALITY($6::INT[]) > 0 THEN id=ANY($6)\n              ELSE uuid=ANY($7::UUID[]) END)\n),\nsubs AS (\n    INSERT INTO subscriber_lists (subscriber_id, list_id, status)\n    VALUES(\n        (SELECT id FROM sub),\n        UNNEST(ARRAY(SELECT id FROM listIDs)),\n        (CASE WHEN $4='blocklisted' THEN 'unsubscribed'::subscription_status ELSE $8::subscription_status END)\n    )\n    ON CONFLICT (subscriber_id, list_id) DO UPDATE\n        SET updated_at=NOW(),\n            status=(\n                CASE WHEN $4='blocklisted' OR (SELECT status FROM sub)='blocklisted'\n                THEN 'unsubscribed'::subscription_status\n                ELSE $8::subscription_status END\n            )\n)\nSELECT id from sub;\n\n-- name: upsert-subscriber\n-- Upserts a subscriber where existing subscribers get their names and attributes overwritten.\n-- If $7 = true, update name/attribs. If $8 = true, update subscription status.\nWITH sub AS (\n    INSERT INTO subscribers as s (uuid, email, name, attribs, status)\n    VALUES($1, $2, $3, $4, 'enabled')\n    ON CONFLICT (email)\n    DO UPDATE SET\n        name=(CASE WHEN $7 THEN $3 ELSE s.name END),\n        attribs=(CASE WHEN $7 THEN $4 ELSE s.attribs END),\n        updated_at=NOW()\n    RETURNING uuid, id, status\n),\nsubs AS (\n    INSERT INTO subscriber_lists (subscriber_id, list_id, status)\n    SELECT sub.id, listID, CASE WHEN sub.status = 'blocklisted' THEN 'unsubscribed' ELSE $6::subscription_status END\n    FROM sub, UNNEST($5::INT[]) AS listID\n    ON CONFLICT (subscriber_id, list_id) DO UPDATE\n    SET updated_at = NOW(),\n        status = CASE WHEN $8 THEN EXCLUDED.status ELSE subscriber_lists.status END\n)\nSELECT uuid, id from sub;\n\n-- name: upsert-blocklist-subscriber\n-- Upserts a subscriber where the update will only set the status to blocklisted\n-- unlike upsert-subscribers where name and attributes are updated. In addition, all\n-- existing subscriptions are marked as 'unsubscribed'.\n-- This is used in the bulk importer.\nWITH sub AS (\n    INSERT INTO subscribers (uuid, email, name, attribs, status)\n    VALUES($1, $2, $3, $4, 'blocklisted')\n    ON CONFLICT (email) DO UPDATE SET status='blocklisted', updated_at=NOW()\n    RETURNING id\n)\nUPDATE subscriber_lists SET status='unsubscribed', updated_at=NOW()\n    WHERE subscriber_id = (SELECT id FROM sub);\n\n-- name: update-subscriber\nUPDATE subscribers SET\n    email=(CASE WHEN $2 != '' THEN $2 ELSE email END),\n    name=(CASE WHEN $3 != '' THEN $3 ELSE name END),\n    status=(CASE WHEN $4 != '' THEN $4::subscriber_status ELSE status END),\n    attribs=(CASE WHEN $5 != '' THEN $5::JSONB ELSE attribs END),\n    updated_at=NOW()\nWHERE id = $1;\n\n-- name: update-subscriber-with-lists\n-- Updates a subscriber's data, and given a list of list_ids, inserts subscriptions\n-- for them while deleting existing subscriptions not in the list.\nWITH s AS (\n    UPDATE subscribers SET\n        email=(CASE WHEN $2 != '' THEN $2 ELSE email END),\n        name=(CASE WHEN $3 != '' THEN $3 ELSE name END),\n        status=(CASE WHEN $4 != '' THEN $4::subscriber_status ELSE status END),\n        attribs=(CASE WHEN $5 != '' THEN $5::JSONB ELSE attribs END),\n        updated_at=NOW()\n    WHERE id = $1 RETURNING id\n),\nlistIDs AS (\n    SELECT id FROM lists WHERE\n        (CASE WHEN CARDINALITY($6::INT[]) > 0 THEN id=ANY($6)\n              ELSE uuid=ANY($7::UUID[]) END)\n),\nd AS (\n    DELETE FROM subscriber_lists WHERE $9 = TRUE AND subscriber_id = $1\n        AND list_id != ALL(SELECT id FROM listIDs)\n        AND (CARDINALITY($10::INT[]) = 0 OR list_id = ANY($10::INT[]))\n)\nINSERT INTO subscriber_lists (subscriber_id, list_id, status)\n    VALUES(\n        (SELECT id FROM s),\n        UNNEST(ARRAY(SELECT id FROM listIDs)),\n        (CASE WHEN $4='blocklisted' THEN 'unsubscribed'::subscription_status ELSE $8::subscription_status END)\n    )\n    ON CONFLICT (subscriber_id, list_id) DO UPDATE\n    SET status = (\n        CASE\n            WHEN $4='blocklisted' THEN 'unsubscribed'::subscription_status\n            -- When subscriber is edited from the admin form, retain the status. Otherwise, a blocklisted\n            -- subscriber when being re-enabled, their subscription statuses change.\n            WHEN subscriber_lists.status = 'confirmed' THEN 'confirmed'\n            WHEN subscriber_lists.status = 'unsubscribed' THEN 'unsubscribed'::subscription_status\n            ELSE $8::subscription_status\n        END\n    );\n\n-- name: delete-subscribers\n-- Delete one or more subscribers by ID or UUID.\nDELETE FROM subscribers WHERE CASE WHEN ARRAY_LENGTH($1::INT[], 1) > 0 THEN id = ANY($1) ELSE uuid = ANY($2::UUID[]) END;\n\n-- name: delete-blocklisted-subscribers\nDELETE FROM subscribers WHERE status = 'blocklisted';\n\n-- name: delete-orphan-subscribers\nDELETE FROM subscribers a WHERE NOT EXISTS\n    (SELECT 1 FROM subscriber_lists b WHERE b.subscriber_id = a.id);\n\n-- name: blocklist-subscribers\nWITH b AS (\n    UPDATE subscribers SET status='blocklisted', updated_at=NOW()\n    WHERE id = ANY($1::INT[])\n)\nUPDATE subscriber_lists SET status='unsubscribed', updated_at=NOW()\n    WHERE subscriber_id = ANY($1::INT[]);\n\n-- name: add-subscribers-to-lists\nINSERT INTO subscriber_lists (subscriber_id, list_id, status)\n    (SELECT a, b, (CASE WHEN $3 != '' THEN $3::subscription_status ELSE 'unconfirmed' END) FROM UNNEST($1::INT[]) a, UNNEST($2::INT[]) b)\n    ON CONFLICT (subscriber_id, list_id) DO UPDATE SET status=(CASE WHEN $3 != '' THEN $3::subscription_status ELSE subscriber_lists.status END);\n\n-- name: delete-subscriptions\nDELETE FROM subscriber_lists\n    WHERE (subscriber_id, list_id) = ANY(SELECT a, b FROM UNNEST($1::INT[]) a, UNNEST($2::INT[]) b);\n\n-- name: confirm-subscription-optin\nWITH subID AS (\n    SELECT id FROM subscribers WHERE uuid = $1::UUID\n),\nlistIDs AS (\n    SELECT id FROM lists WHERE uuid = ANY($2::UUID[])\n)\nUPDATE subscriber_lists SET status='confirmed', meta=meta || $3, updated_at=NOW()\n    WHERE subscriber_id = (SELECT id FROM subID) AND list_id = ANY(SELECT id FROM listIDs);\n\n-- name: unsubscribe-subscribers-from-lists\nWITH listIDs AS (\n    SELECT ARRAY(\n        SELECT id FROM lists WHERE\n        (CASE WHEN CARDINALITY($2::INT[]) > 0 THEN id=ANY($2) ELSE uuid=ANY($3::UUID[]) END)\n    ) id\n)\nUPDATE subscriber_lists SET status='unsubscribed', updated_at=NOW()\n    WHERE (subscriber_id, list_id) = ANY(SELECT a, b FROM UNNEST($1::INT[]) a, UNNEST((SELECT id FROM listIDs)) b);\n\n-- name: unsubscribe-by-campaign\n-- Unsubscribes a subscriber given a campaign UUID (from all the lists in the campaign) and the subscriber UUID.\n-- If $3 is TRUE, then all subscriptions of the subscriber is blocklisted\n-- and all existing subscriptions, irrespective of lists, unsubscribed.\nWITH lists AS (\n    SELECT list_id FROM campaign_lists\n    LEFT JOIN campaigns ON (campaign_lists.campaign_id = campaigns.id)\n    WHERE campaigns.uuid = $1\n),\nsub AS (\n    UPDATE subscribers SET status = (CASE WHEN $3 IS TRUE THEN 'blocklisted' ELSE status END)\n    WHERE uuid = $2 RETURNING id\n)\nUPDATE subscriber_lists SET status = 'unsubscribed', updated_at=NOW() WHERE\n    subscriber_id = (SELECT id FROM sub) AND status != 'unsubscribed' AND\n    -- If $3 is false, unsubscribe from the campaign's lists, otherwise all lists.\n    CASE WHEN $3 IS FALSE THEN list_id = ANY(SELECT list_id FROM lists) ELSE list_id != 0 END;\n\n-- name: delete-unconfirmed-subscriptions\nWITH optins AS (\n    SELECT id FROM lists WHERE optin = 'double'\n)\nDELETE FROM subscriber_lists\n    WHERE status = 'unconfirmed' AND list_id IN (SELECT id FROM optins) AND created_at < $1;\n\n\n-- Partial and RAW queries used to construct arbitrary subscriber\n-- queries for segmentation follow.\n\n-- name: query-subscribers\n-- raw: true\n-- Unprepared statement for issuring arbitrary WHERE conditions for\n-- searching subscribers. While the results are sliced using offset+limit,\n-- there's a COUNT() OVER() that still returns the total result count\n-- for pagination in the frontend, albeit being a field that'll repeat\n-- with every resultant row.\nSELECT subscribers.* FROM subscribers\n    LEFT JOIN subscriber_lists\n    ON (\n        -- Optional list filtering.\n        (CASE WHEN CARDINALITY($1::INT[]) > 0 THEN true ELSE false END)\n        AND subscriber_lists.subscriber_id = subscribers.id\n        AND ($2 = '' OR subscriber_lists.status = $2::subscription_status)\n    )\n    WHERE (CARDINALITY($1) = 0 OR subscriber_lists.list_id = ANY($1::INT[]))\n    AND (CASE WHEN $3 != '' THEN name ~* $3 OR email ~* $3 ELSE TRUE END)\n    AND %query%\n    ORDER BY %order% OFFSET $4 LIMIT (CASE WHEN $5 < 1 THEN NULL ELSE $5 END);\n\n-- name: query-subscribers-count\n-- Replica of query-subscribers for obtaining the results count.\nSELECT COUNT(*) AS total FROM subscribers\n    LEFT JOIN subscriber_lists\n    ON (\n        -- Optional list filtering.\n        (CASE WHEN CARDINALITY($1::INT[]) > 0 THEN true ELSE false END)\n        AND subscriber_lists.subscriber_id = subscribers.id\n        AND ($2 = '' OR subscriber_lists.status = $2::subscription_status)\n    )\n    WHERE (CARDINALITY($1) = 0 OR subscriber_lists.list_id = ANY($1::INT[]))\n    AND (CASE WHEN $3 != '' THEN name ~* $3 OR email ~* $3 ELSE TRUE END)\n    AND %query%;\n\n-- name: query-subscribers-count-all\n-- Cached query for getting the \"all\" subscriber count without arbitrary conditions.\nSELECT COALESCE(SUM(subscriber_count), 0) AS total FROM mat_list_subscriber_stats\n    WHERE list_id = ANY(CASE WHEN CARDINALITY($1::INT[]) > 0 THEN $1 ELSE '{0}' END)\n    AND ($2 = '' OR status = $2::subscription_status);\n\n-- name: query-subscribers-for-export\n-- raw: true\n-- Unprepared statement for issuring arbitrary WHERE conditions for\n-- searching subscribers to do bulk CSV export.\nSELECT subscribers.id,\n       subscribers.uuid,\n       subscribers.email,\n       subscribers.name,\n       subscribers.status,\n       subscribers.attribs,\n       subscribers.created_at,\n       subscribers.updated_at\n       FROM subscribers\n    LEFT JOIN subscriber_lists\n    ON (\n        -- Optional list filtering.\n        (CASE WHEN CARDINALITY($1::INT[]) > 0 THEN true ELSE false END)\n        AND subscriber_lists.subscriber_id = subscribers.id\n        AND ($4 = '' OR subscriber_lists.status = $4::subscription_status)\n    )\n    WHERE subscriber_lists.list_id = ALL($1::INT[]) AND id > $2\n    AND (CASE WHEN CARDINALITY($3::INT[]) > 0 THEN id=ANY($3) ELSE true END)\n    AND (CASE WHEN $5 != '' THEN name ~* $5 OR email ~* $5 ELSE TRUE END)\n    AND %query%\n    ORDER BY subscribers.id ASC LIMIT (CASE WHEN $6 < 1 THEN NULL ELSE $6 END);\n\n-- name: query-subscribers-template\n-- raw: true\n-- This raw query is reused in multiple queries (blocklist, add to list, delete)\n-- etc., so it's kept has a raw template to be injected into other raw queries,\n-- and for the same reason, it is not terminated with a semicolon.\n--\n-- All queries that embed this query should expect\n-- $1=true/false (dry-run or not) and $2=[]INT (option list IDs).\n-- That is, their positional arguments should start from $4.\nSELECT subscribers.id FROM subscribers\nLEFT JOIN subscriber_lists\nON (\n    -- Optional list filtering.\n    (CASE WHEN CARDINALITY($2::INT[]) > 0 THEN true ELSE false END)\n    AND subscriber_lists.subscriber_id = subscribers.id\n    AND ($3 = '' OR subscriber_lists.status = $3::subscription_status)\n)\nWHERE subscriber_lists.list_id = ALL($2::INT[])\n    AND (CASE WHEN $4 != '' THEN name ~* $4 OR email ~* $4 ELSE TRUE END)\n    AND %query%\nLIMIT (CASE WHEN $1 THEN 1 END)\n\n-- name: delete-subscribers-by-query\n-- raw: true\nWITH subs AS (%query%)\nDELETE FROM subscribers WHERE id=ANY(SELECT id FROM subs);\n\n-- name: blocklist-subscribers-by-query\n-- raw: true\nWITH subs AS (%query%),\nb AS (\n    UPDATE subscribers SET status='blocklisted', updated_at=NOW()\n    WHERE id = ANY(SELECT id FROM subs)\n)\nUPDATE subscriber_lists SET status='unsubscribed', updated_at=NOW()\n    WHERE subscriber_id = ANY(SELECT id FROM subs);\n\n-- name: add-subscribers-to-lists-by-query\n-- raw: true\nWITH subs AS (%query%)\nINSERT INTO subscriber_lists (subscriber_id, list_id, status)\n    (SELECT a, b, (CASE WHEN $6 != '' THEN $6::subscription_status ELSE 'unconfirmed' END) FROM UNNEST(ARRAY(SELECT id FROM subs)) a, UNNEST($5::INT[]) b)\n    ON CONFLICT (subscriber_id, list_id) DO NOTHING;\n\n-- name: delete-subscriptions-by-query\n-- raw: true\nWITH subs AS (%query%)\nDELETE FROM subscriber_lists\n    WHERE (subscriber_id, list_id) = ANY(SELECT a, b FROM UNNEST(ARRAY(SELECT id FROM subs)) a, UNNEST($5::INT[]) b);\n\n-- name: unsubscribe-subscribers-from-lists-by-query\n-- raw: true\nWITH subs AS (%query%)\nUPDATE subscriber_lists SET status='unsubscribed', updated_at=NOW()\n    WHERE (subscriber_id, list_id) = ANY(SELECT a, b FROM UNNEST(ARRAY(SELECT id FROM subs)) a, UNNEST($5::INT[]) b);\n\n\n-- privacy\n-- name: export-subscriber-data\nWITH prof AS (\n    SELECT id, uuid, email, name, attribs, status, created_at, updated_at FROM subscribers WHERE\n    CASE WHEN $1 > 0 THEN id = $1 ELSE uuid = $2 END\n),\nsubs AS (\n    SELECT subscriber_lists.status AS subscription_status,\n            (CASE WHEN lists.type = 'private' THEN 'Private list' ELSE lists.name END) as name,\n            lists.type, subscriber_lists.created_at\n    FROM lists\n    LEFT JOIN subscriber_lists ON (subscriber_lists.list_id = lists.id)\n    WHERE subscriber_lists.subscriber_id = (SELECT id FROM prof)\n),\nviews AS (\n    SELECT subject as campaign, COUNT(subscriber_id) as views FROM campaign_views\n        LEFT JOIN campaigns ON (campaigns.id = campaign_views.campaign_id)\n        WHERE subscriber_id = (SELECT id FROM prof)\n        GROUP BY campaigns.id ORDER BY campaigns.id\n),\nclicks AS (\n    SELECT url, COUNT(subscriber_id) as clicks FROM link_clicks\n        LEFT JOIN links ON (links.id = link_clicks.link_id)\n        WHERE subscriber_id = (SELECT id FROM prof)\n        GROUP BY links.id ORDER BY links.id\n)\nSELECT (SELECT email FROM prof) as email,\n        COALESCE((SELECT JSON_AGG(t) FROM prof t), '{}') AS profile,\n        COALESCE((SELECT JSON_AGG(t) FROM subs t), '[]') AS subscriptions,\n        COALESCE((SELECT JSON_AGG(t) FROM views t), '[]') AS campaign_views,\n        COALESCE((SELECT JSON_AGG(t) FROM clicks t), '[]') AS link_clicks;\n\n-- name: get-subscriber-activity\n-- Gets the subscriber's campaign views and link clicks with detailed information\n-- for display in the Activity tab\nWITH views AS (\n    SELECT\n        c.id,\n        c.uuid,\n        c.name,\n        c.subject,\n        COUNT(*) as view_count,\n        MAX(cv.created_at) as last_viewed_at\n    FROM campaign_views cv\n    LEFT JOIN campaigns c ON c.id = cv.campaign_id\n    WHERE cv.subscriber_id = $1\n    GROUP BY c.id, c.uuid, c.name, c.subject\n    ORDER BY last_viewed_at DESC\n),\nclicks AS (\n    SELECT\n        l.id as link_id,\n        l.url,\n        c.id as campaign_id,\n        c.uuid as campaign_uuid,\n        c.name as campaign_name,\n        c.subject as campaign_subject,\n        COUNT(*) as click_count,\n        MAX(lc.created_at) as last_clicked_at\n    FROM link_clicks lc\n    LEFT JOIN links l ON l.id = lc.link_id\n    LEFT JOIN campaigns c ON c.id = lc.campaign_id\n    WHERE lc.subscriber_id = $1\n    GROUP BY l.id, l.url, c.id, c.uuid, c.name, c.subject\n    ORDER BY last_clicked_at DESC\n)\nSELECT\n    COALESCE((SELECT JSON_AGG(v) FROM views v), '[]') as campaign_views,\n    COALESCE((SELECT JSON_AGG(c) FROM clicks c), '[]') as link_clicks;\n"
  },
  {
    "path": "queries/templates.sql",
    "content": "-- templates\n-- name: get-templates\n-- Only if the second param ($2 - noBody) is true, body and body_source is returned.\nSELECT id, name, type, subject,\n    (CASE WHEN $2 = false THEN body ELSE '' END) as body,\n    (CASE WHEN $2 = false THEN body_source ELSE NULL END) as body_source,\n    is_default, created_at, updated_at\n    FROM templates WHERE ($1 = 0 OR id = $1) AND ($3 = '' OR type = $3::template_type)\n    ORDER BY created_at;\n\n-- name: create-template\nINSERT INTO templates (name, type, subject, body, body_source) VALUES($1, $2, $3, $4, $5) RETURNING id;\n\n-- name: update-template\nUPDATE templates SET\n    name=(CASE WHEN $2 != '' THEN $2 ELSE name END),\n    subject=(CASE WHEN $3 != '' THEN $3 ELSE name END),\n    body=(CASE WHEN $4 != '' THEN $4 ELSE body END),\n    body_source=(CASE WHEN $5 != '' THEN $5 ELSE body_source END),\n    updated_at=NOW()\nWHERE id = $1;\n\n-- name: set-default-template\nWITH u AS (\n    UPDATE templates SET is_default=true WHERE id=$1 AND type='campaign' RETURNING id\n)\nUPDATE templates SET is_default=false WHERE id != $1;\n\n-- name: delete-template\n-- Delete a template as long as there's more than one. On deletion, set all campaigns\n-- with that template to the default template instead.\nWITH tpl AS (\n    DELETE FROM templates WHERE id = $1 AND (SELECT COUNT(id) FROM templates) > 1 AND is_default = false RETURNING id\n),\ndef AS (\n    SELECT id FROM templates WHERE is_default = true AND (type='campaign' OR type='campaign_visual') LIMIT 1\n),\nup AS (\n    UPDATE campaigns SET template_id = (SELECT id FROM def) WHERE (SELECT id FROM tpl) > 0 AND template_id = $1\n)\nSELECT id FROM tpl;\n\n"
  },
  {
    "path": "queries/users.sql",
    "content": "-- name: create-user\nINSERT INTO users (username, password_login, password, email, name, type, user_role_id, list_role_id, status)\n    VALUES($1, $2, (\n        CASE\n            -- For user types with password_login enabled, bcrypt and store the hash of the password.\n            WHEN $6::user_type != 'api' AND $2 AND $3 != ''\n                THEN CRYPT($3, GEN_SALT('bf'))\n            WHEN $6 = 'api'\n            -- For APIs, store the password (token) as-is.\n                THEN $3\n            ELSE NULL\n        END\n    ), $4, $5, $6, (SELECT id FROM roles WHERE id = $7 AND type = 'user'), (SELECT id FROM roles WHERE id = $8 AND type = 'list'), $9) RETURNING id;\n\n-- name: update-user\nWITH u AS (\n    -- Edit is only allowed if there are more than 1 active super users or\n    -- if the only superadmin user's status/role isn't being changed.\n    SELECT\n        CASE\n            WHEN (SELECT COUNT(*) FROM users WHERE id != $1 AND status = 'enabled' AND type = 'user' AND user_role_id = 1) = 0  AND ($8 != 1 OR $10 != 'enabled')\n            THEN FALSE\n            ELSE TRUE\n        END AS canEdit\n)\nUPDATE users SET\n    username=(CASE WHEN $2 != '' THEN $2 ELSE username END),\n    password_login=$3,\n    password=(CASE WHEN $3 = TRUE THEN (CASE WHEN $4 != '' THEN CRYPT($4, GEN_SALT('bf')) ELSE password END) ELSE NULL END),\n    email=(CASE WHEN $5 != '' THEN $5 ELSE email END),\n    name=(CASE WHEN $6 != '' THEN $6 ELSE name END),\n    type=(CASE WHEN $7 != '' THEN $7::user_type ELSE type END),\n    user_role_id=(CASE WHEN $8 != 0 THEN (SELECT id FROM roles WHERE id = $8 AND type = 'user') ELSE user_role_id END),\n    list_role_id=(\n        CASE\n            WHEN $9 < 0 THEN NULL\n            WHEN $9 > 0 THEN (SELECT id FROM roles WHERE id = $9 AND type = 'list')\n            ELSE list_role_id END\n    ),\n    status=(CASE WHEN $10 != '' THEN $10::user_status ELSE status END),\n    updated_at=NOW()\n    WHERE id=$1 AND (SELECT canEdit FROM u) = TRUE;\n\n-- name: delete-users\nWITH u AS (\n    SELECT COUNT(*) AS num FROM users WHERE NOT(id = ANY($1)) AND user_role_id=1 AND type='user' AND status='enabled'\n)\nDELETE FROM users WHERE id = ALL($1) AND (SELECT num FROM u) > 0;\n\n-- name: get-users\nWITH ur AS (\n    SELECT id, name, permissions FROM roles WHERE type = 'user' AND parent_id IS NULL\n),\nlr AS (\n    SELECT r.id, r.name, r.permissions, r.list_id, l.name AS list_name\n    FROM roles r\n    LEFT JOIN lists l ON r.list_id = l.id\n    WHERE r.type = 'list' AND r.parent_id IS NULL\n),\nlp AS (\n    SELECT lr.id AS list_role_id,\n        JSONB_AGG(\n            JSONB_BUILD_OBJECT(\n                'id', COALESCE(cr.list_id, lr.list_id),\n                'name', COALESCE(cl.name, lr.list_name),\n                'permissions', COALESCE(cr.permissions, lr.permissions)\n            )\n        ) AS list_role_perms\n    FROM lr\n    LEFT JOIN roles cr ON cr.parent_id = lr.id AND cr.type = 'list'\n    LEFT JOIN lists cl ON cr.list_id = cl.id\n    GROUP BY lr.id\n)\nSELECT\n    users.*,\n    ur.id AS user_role_id,\n    ur.name AS user_role_name,\n    ur.permissions AS user_role_permissions,\n    lp.list_role_id,\n    lr.name AS list_role_name,\n    lp.list_role_perms\nFROM users\n    LEFT JOIN ur ON users.user_role_id = ur.id\n    LEFT JOIN lp ON users.list_role_id = lp.list_role_id\n    LEFT JOIN lr ON lp.list_role_id = lr.id\n    ORDER BY users.created_at;\n\n-- name: get-user\nWITH sel AS (\n    SELECT * FROM users\n    WHERE\n    (\n        CASE\n            WHEN $1::INT != 0 THEN users.id = $1\n            WHEN $2::TEXT != '' THEN username = $2\n            WHEN $3::TEXT != '' THEN email = $3\n        END\n    )\n)\nSELECT\n    sel.*,\n    ur.id AS user_role_id,\n    ur.name AS user_role_name,\n    ur.permissions AS user_role_permissions,\n    lr.id AS list_role_id,\n    lr.name AS list_role_name,\n    lp.list_role_perms\nFROM sel\n    LEFT JOIN roles ur ON sel.user_role_id = ur.id AND ur.type = 'user' AND ur.parent_id IS NULL\n    LEFT JOIN (\n        SELECT r.id, r.name, r.permissions, r.list_id, l.name AS list_name\n        FROM roles r\n        LEFT JOIN lists l ON r.list_id = l.id\n        WHERE r.type = 'list' AND r.parent_id IS NULL\n    ) lr ON sel.list_role_id = lr.id\n    LEFT JOIN LATERAL (\n        SELECT JSONB_AGG(\n                JSONB_BUILD_OBJECT(\n                    'id', COALESCE(cr.list_id, lr.list_id),\n                    'name', COALESCE(cl.name, lr.list_name),\n                    'permissions', COALESCE(cr.permissions, lr.permissions)\n                )\n            ) AS list_role_perms\n        FROM roles cr\n        LEFT JOIN lists cl ON cr.list_id = cl.id\n        WHERE cr.parent_id = lr.id AND cr.type = 'list'\n        GROUP BY lr.id\n    ) lp ON TRUE;\n\n\n-- name: get-api-tokens\nSELECT username, password FROM users WHERE status='enabled' AND type='api';\n\n-- name: login-user\nWITH u AS (\n    SELECT users.*, r.name as role_name, r.permissions FROM users\n    LEFT JOIN roles r ON (r.id = users.user_role_id)\n    WHERE username = $1 AND status != 'disabled' AND password_login = TRUE\n    AND CRYPT($2, password) = password\n)\nUPDATE users SET loggedin_at = NOW() WHERE id = (SELECT id FROM u) RETURNING *;\n\n-- name: update-user-profile\nUPDATE users SET name=$2, email=(CASE WHEN password_login THEN $3 ELSE email END),\n    password=(CASE WHEN $4 = TRUE THEN (CASE WHEN $5 != '' THEN CRYPT($5, GEN_SALT('bf')) ELSE password END) ELSE NULL END)\n    WHERE id=$1;\n\n-- name: update-user-login\nUPDATE users SET loggedin_at=NOW(), avatar=(CASE WHEN $2 != '' THEN $2 ELSE avatar END) WHERE id=$1;\n\n-- name: set-user-twofa\nUPDATE users SET twofa_type=$2::twofa_type, twofa_key=$3, updated_at=NOW() WHERE id=$1;\n"
  },
  {
    "path": "schema.sql",
    "content": "DROP TYPE IF EXISTS list_type CASCADE; CREATE TYPE list_type AS ENUM ('public', 'private', 'temporary');\nDROP TYPE IF EXISTS list_optin CASCADE; CREATE TYPE list_optin AS ENUM ('single', 'double');\nDROP TYPE IF EXISTS list_status CASCADE; CREATE TYPE list_status AS ENUM ('active', 'archived');\nDROP TYPE IF EXISTS subscriber_status CASCADE; CREATE TYPE subscriber_status AS ENUM ('enabled', 'disabled', 'blocklisted');\nDROP TYPE IF EXISTS subscription_status CASCADE; CREATE TYPE subscription_status AS ENUM ('unconfirmed', 'confirmed', 'unsubscribed');\nDROP TYPE IF EXISTS campaign_status CASCADE; CREATE TYPE campaign_status AS ENUM ('draft', 'running', 'scheduled', 'paused', 'cancelled', 'finished');\nDROP TYPE IF EXISTS campaign_type CASCADE; CREATE TYPE campaign_type AS ENUM ('regular', 'optin');\nDROP TYPE IF EXISTS content_type CASCADE; CREATE TYPE content_type AS ENUM ('richtext', 'html', 'plain', 'markdown', 'visual');\nDROP TYPE IF EXISTS bounce_type CASCADE; CREATE TYPE bounce_type AS ENUM ('soft', 'hard', 'complaint');\nDROP TYPE IF EXISTS template_type CASCADE; CREATE TYPE template_type AS ENUM ('campaign', 'campaign_visual', 'tx');\nDROP TYPE IF EXISTS user_type CASCADE; CREATE TYPE user_type AS ENUM ('user', 'api');\nDROP TYPE IF EXISTS user_status CASCADE; CREATE TYPE user_status AS ENUM ('enabled', 'disabled');\nDROP TYPE IF EXISTS role_type CASCADE; CREATE TYPE role_type AS ENUM ('user', 'list');\nDROP TYPE IF EXISTS twofa_type CASCADE; CREATE TYPE twofa_type AS ENUM ('none', 'totp');\n\nCREATE EXTENSION IF NOT EXISTS pgcrypto;\n\n-- subscribers\nDROP TABLE IF EXISTS subscribers CASCADE;\nCREATE TABLE subscribers (\n    id              SERIAL PRIMARY KEY,\n    uuid uuid       NOT NULL UNIQUE,\n    email           TEXT NOT NULL UNIQUE,\n    name            TEXT NOT NULL,\n    attribs         JSONB NOT NULL DEFAULT '{}',\n    status          subscriber_status NOT NULL DEFAULT 'enabled',\n\n    created_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_subs_email; CREATE UNIQUE INDEX idx_subs_email ON subscribers(LOWER(email));\nDROP INDEX IF EXISTS idx_subs_status; CREATE INDEX idx_subs_status ON subscribers(status);\nDROP INDEX IF EXISTS idx_subs_id_status; CREATE INDEX idx_subs_id_status ON subscribers(id, status);\nDROP INDEX IF EXISTS idx_subs_created_at; CREATE INDEX idx_subs_created_at ON subscribers(created_at);\nDROP INDEX IF EXISTS idx_subs_updated_at; CREATE INDEX idx_subs_updated_at ON subscribers(updated_at);\n\n-- lists\nDROP TABLE IF EXISTS lists CASCADE;\nCREATE TABLE lists (\n    id              SERIAL PRIMARY KEY,\n    uuid            uuid NOT NULL UNIQUE,\n    name            TEXT NOT NULL,\n    type            list_type NOT NULL,\n    optin           list_optin NOT NULL DEFAULT 'single',\n    status          list_status NOT NULL DEFAULT 'active',\n    tags            VARCHAR(100)[],\n    description     TEXT NOT NULL DEFAULT '',\n\n    created_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_lists_type; CREATE INDEX idx_lists_type ON lists(type);\nDROP INDEX IF EXISTS idx_lists_optin; CREATE INDEX idx_lists_optin ON lists(optin);\nDROP INDEX IF EXISTS idx_lists_status; CREATE INDEX idx_lists_status ON lists(status);\nDROP INDEX IF EXISTS idx_lists_name; CREATE INDEX idx_lists_name ON lists(name);\nDROP INDEX IF EXISTS idx_lists_created_at; CREATE INDEX idx_lists_created_at ON lists(created_at);\nDROP INDEX IF EXISTS idx_lists_updated_at; CREATE INDEX idx_lists_updated_at ON lists(updated_at);\n\n\nDROP TABLE IF EXISTS subscriber_lists CASCADE;\nCREATE TABLE subscriber_lists (\n    subscriber_id      INTEGER REFERENCES subscribers(id) ON DELETE CASCADE ON UPDATE CASCADE,\n    list_id            INTEGER NULL REFERENCES lists(id) ON DELETE CASCADE ON UPDATE CASCADE,\n    meta               JSONB NOT NULL DEFAULT '{}',\n    status             subscription_status NOT NULL DEFAULT 'unconfirmed',\n\n    created_at         TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at         TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n\n    PRIMARY KEY(subscriber_id, list_id)\n);\nDROP INDEX IF EXISTS idx_sub_lists_sub_id; CREATE INDEX idx_sub_lists_sub_id ON subscriber_lists(subscriber_id);\nDROP INDEX IF EXISTS idx_sub_lists_list_id; CREATE INDEX idx_sub_lists_list_id ON subscriber_lists(list_id);\nDROP INDEX IF EXISTS idx_sub_lists_status; CREATE INDEX idx_sub_lists_status ON subscriber_lists(status);\n\n-- templates\nDROP TABLE IF EXISTS templates CASCADE;\nCREATE TABLE templates (\n    id              SERIAL PRIMARY KEY,\n    name            TEXT NOT NULL,\n    type            template_type NOT NULL DEFAULT 'campaign',\n    subject         TEXT NOT NULL,\n    body            TEXT NOT NULL,\n    body_source     TEXT NULL,\n    is_default      BOOLEAN NOT NULL DEFAULT false,\n\n    created_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nCREATE UNIQUE INDEX ON templates (is_default) WHERE is_default = true;\n\n\n-- campaigns\nDROP TABLE IF EXISTS campaigns CASCADE;\nCREATE TABLE campaigns (\n    id               SERIAL PRIMARY KEY,\n    uuid uuid        NOT NULL UNIQUE,\n    name             TEXT NOT NULL,\n    subject          TEXT NOT NULL,\n    from_email       TEXT NOT NULL,\n    body             TEXT NOT NULL,\n    body_source      TEXT NULL,\n    altbody          TEXT NULL,\n    content_type     content_type NOT NULL DEFAULT 'richtext',\n    send_at          TIMESTAMP WITH TIME ZONE,\n    headers          JSONB NOT NULL DEFAULT '[]',\n    attribs          JSONB NOT NULL DEFAULT '{}',\n    status           campaign_status NOT NULL DEFAULT 'draft',\n    tags             VARCHAR(100)[],\n\n    -- The subscription statuses of subscribers to which a campaign will be sent.\n    -- For opt-in campaigns, this will be 'unsubscribed'.\n    type campaign_type DEFAULT 'regular',\n\n    -- The ID of the messenger backend used to send this campaign.\n    messenger        TEXT NOT NULL,\n    template_id      INTEGER REFERENCES templates(id) ON DELETE SET NULL,\n\n    -- Progress and stats.\n    to_send            INT NOT NULL DEFAULT 0,\n    sent               INT NOT NULL DEFAULT 0,\n    max_subscriber_id  INT NOT NULL DEFAULT 0,\n    last_subscriber_id INT NOT NULL DEFAULT 0,\n\n    -- Publishing.\n    archive             BOOLEAN NOT NULL DEFAULT false,\n    archive_slug        TEXT NULL UNIQUE,\n    archive_template_id INTEGER REFERENCES templates(id) ON DELETE SET NULL,\n    archive_meta        JSONB NOT NULL DEFAULT '{}',\n\n    started_at       TIMESTAMP WITH TIME ZONE,\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_camps_status; CREATE INDEX idx_camps_status ON campaigns(status);\nDROP INDEX IF EXISTS idx_camps_name; CREATE INDEX idx_camps_name ON campaigns(name);\nDROP INDEX IF EXISTS idx_camps_created_at; CREATE INDEX idx_camps_created_at ON campaigns(created_at);\nDROP INDEX IF EXISTS idx_camps_updated_at; CREATE INDEX idx_camps_updated_at ON campaigns(updated_at);\n\n\nDROP TABLE IF EXISTS campaign_lists CASCADE;\nCREATE TABLE campaign_lists (\n    id           BIGSERIAL PRIMARY KEY,\n    campaign_id  INTEGER NOT NULL REFERENCES campaigns(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\n    -- Lists may be deleted, so list_id is nullable\n    -- and a copy of the original list name is maintained here.\n    list_id      INTEGER NULL REFERENCES lists(id) ON DELETE SET NULL ON UPDATE CASCADE,\n    list_name    TEXT NOT NULL DEFAULT ''\n);\nCREATE UNIQUE INDEX ON campaign_lists (campaign_id, list_id);\nDROP INDEX IF EXISTS idx_camp_lists_camp_id; CREATE INDEX idx_camp_lists_camp_id ON campaign_lists(campaign_id);\nDROP INDEX IF EXISTS idx_camp_lists_list_id; CREATE INDEX idx_camp_lists_list_id ON campaign_lists(list_id);\n\nDROP TABLE IF EXISTS campaign_views CASCADE;\nCREATE TABLE campaign_views (\n    id               BIGSERIAL PRIMARY KEY,\n    campaign_id      INTEGER NOT NULL REFERENCES campaigns(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\n    -- Subscribers may be deleted, but the view counts should remain.\n    subscriber_id    INTEGER NULL REFERENCES subscribers(id) ON DELETE SET NULL ON UPDATE CASCADE,\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_views_camp_id; CREATE INDEX idx_views_camp_id ON campaign_views(campaign_id);\nDROP INDEX IF EXISTS idx_views_subscriber_id; CREATE INDEX idx_views_subscriber_id ON campaign_views(subscriber_id);\nDROP INDEX IF EXISTS idx_views_date; CREATE INDEX idx_views_date ON campaign_views(created_at);\n\n-- media\nDROP TABLE IF EXISTS media CASCADE;\nCREATE TABLE media (\n    id               SERIAL PRIMARY KEY,\n    uuid uuid        NOT NULL UNIQUE,\n    provider         TEXT NOT NULL DEFAULT '',\n    filename         TEXT NOT NULL,\n    content_type     TEXT NOT NULL DEFAULT 'application/octet-stream',\n    thumb            TEXT NOT NULL,\n    meta             JSONB NOT NULL DEFAULT '{}',\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_media_filename; CREATE INDEX idx_media_filename ON media(provider, filename);\n\n-- campaign_media\nDROP TABLE IF EXISTS campaign_media CASCADE;\nCREATE TABLE campaign_media (\n    campaign_id  INTEGER REFERENCES campaigns(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\n    -- Media items may be deleted, so media_id is nullable\n    -- and a copy of the original name is maintained here.\n    media_id     INTEGER NULL REFERENCES media(id) ON DELETE SET NULL ON UPDATE CASCADE,\n\n    filename     TEXT NOT NULL DEFAULT ''\n);\nDROP INDEX IF EXISTS idx_camp_media_id; CREATE UNIQUE INDEX idx_camp_media_id ON campaign_media (campaign_id, media_id);\nDROP INDEX IF EXISTS idx_camp_media_camp_id; CREATE INDEX idx_camp_media_camp_id ON campaign_media(campaign_id);\n\n\n-- links\nDROP TABLE IF EXISTS links CASCADE;\nCREATE TABLE links (\n    id               SERIAL PRIMARY KEY,\n    uuid uuid        NOT NULL UNIQUE,\n    url              TEXT NOT NULL UNIQUE,\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\n\nDROP TABLE IF EXISTS link_clicks CASCADE;\nCREATE TABLE link_clicks (\n    id               BIGSERIAL PRIMARY KEY,\n    campaign_id      INTEGER NULL REFERENCES campaigns(id) ON DELETE CASCADE ON UPDATE CASCADE,\n    link_id          INTEGER NOT NULL REFERENCES links(id) ON DELETE CASCADE ON UPDATE CASCADE,\n\n    -- Subscribers may be deleted, but the link counts should remain.\n    subscriber_id    INTEGER NULL REFERENCES subscribers(id) ON DELETE SET NULL ON UPDATE CASCADE,\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_clicks_camp_id; CREATE INDEX idx_clicks_camp_id ON link_clicks(campaign_id);\nDROP INDEX IF EXISTS idx_clicks_link_id; CREATE INDEX idx_clicks_link_id ON link_clicks(link_id);\nDROP INDEX IF EXISTS idx_clicks_sub_id; CREATE INDEX idx_clicks_sub_id ON link_clicks(subscriber_id);\nDROP INDEX IF EXISTS idx_clicks_date; CREATE INDEX idx_clicks_date ON link_clicks(created_at);\n\n-- settings\nDROP TABLE IF EXISTS settings CASCADE;\nCREATE TABLE settings (\n    key             TEXT NOT NULL UNIQUE,\n    value           JSONB NOT NULL DEFAULT '{}',\n    updated_at      TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_settings_key; CREATE INDEX idx_settings_key ON settings(key);\nINSERT INTO settings (key, value) VALUES\n    ('app.site_name', '\"Mailing list\"'),\n    ('app.root_url', '\"http://localhost:9000\"'),\n    ('app.favicon_url', '\"\"'),\n    ('app.from_email', '\"listmonk <noreply@listmonk.yoursite.com>\"'),\n    ('app.logo_url', '\"\"'),\n    ('app.concurrency', '10'),\n    ('app.message_rate', '10'),\n    ('app.batch_size', '1000'),\n    ('app.max_send_errors', '1000'),\n    ('app.message_sliding_window', 'false'),\n    ('app.message_sliding_window_duration', '\"1h\"'),\n    ('app.message_sliding_window_rate', '10000'),\n    ('app.cache_slow_queries', 'false'),\n    ('app.cache_slow_queries_interval', '\"0 3 * * *\"'),\n    ('app.enable_public_archive', 'true'),\n    ('app.enable_public_subscription_page', 'true'),\n    ('app.enable_public_archive_rss_content', 'true'),\n    ('app.send_optin_confirmation', 'true'),\n    ('app.check_updates', 'true'),\n    ('app.notify_emails', '[]'),\n    ('app.lang', '\"en\"'),\n    ('privacy.individual_tracking', 'false'),\n    ('privacy.disable_tracking', 'false'),\n    ('privacy.unsubscribe_header', 'true'),\n    ('privacy.allow_blocklist', 'true'),\n    ('privacy.allow_export', 'true'),\n    ('privacy.allow_wipe', 'true'),\n    ('privacy.allow_preferences', 'true'),\n    ('privacy.exportable', '[\"profile\", \"subscriptions\", \"campaign_views\", \"link_clicks\"]'),\n    ('privacy.domain_blocklist', '[]'),\n    ('privacy.domain_allowlist', '[]'),\n    ('privacy.record_optin_ip', 'false'),\n    ('security.captcha', '{\"altcha\": {\"enabled\": false, \"complexity\": 300000}, \"hcaptcha\": {\"enabled\": false, \"key\": \"\", \"secret\": \"\"}}'),\n    ('security.oidc', '{\"enabled\": false, \"provider_url\": \"\", \"provider_name\": \"\", \"client_id\": \"\", \"client_secret\": \"\", \"auto_create_users\": false, \"default_user_role_id\": null, \"default_list_role_id\": null}'),\n    ('security.cors_origins', '[]'),\n    ('upload.provider', '\"filesystem\"'),\n    ('upload.max_file_size', '5000'),\n    ('upload.extensions', '[\"jpg\",\"jpeg\",\"png\",\"gif\",\"svg\",\"*\"]'),\n    ('upload.filesystem.upload_path', '\"uploads\"'),\n    ('upload.filesystem.upload_uri', '\"/uploads\"'),\n    ('upload.s3.url', '\"https://ap-south-1.s3.amazonaws.com\"'),\n    ('upload.s3.public_url', '\"\"'),\n    ('upload.s3.aws_access_key_id', '\"\"'),\n    ('upload.s3.aws_secret_access_key', '\"\"'),\n    ('upload.s3.aws_default_region', '\"ap-south-1\"'),\n    ('upload.s3.bucket', '\"\"'),\n    ('upload.s3.bucket_domain', '\"\"'),\n    ('upload.s3.bucket_path', '\"/\"'),\n    ('upload.s3.bucket_type', '\"public\"'),\n    ('upload.s3.expiry', '\"167h\"'),\n    ('smtp',\n        '[{\"enabled\":true, \"host\":\"smtp.yoursite.com\",\"port\":25,\"auth_protocol\":\"cram\",\"username\":\"username\",\"password\":\"password\",\"hello_hostname\":\"\",\"max_conns\":10,\"idle_timeout\":\"15s\",\"wait_timeout\":\"5s\",\"max_msg_retries\":2,\"tls_type\":\"STARTTLS\",\"tls_skip_verify\":false,\"email_headers\":[]},\n          {\"enabled\":false, \"host\":\"smtp.gmail.com\",\"port\":465,\"auth_protocol\":\"login\",\"username\":\"username@gmail.com\",\"password\":\"password\",\"hello_hostname\":\"\",\"max_conns\":10,\"idle_timeout\":\"15s\",\"wait_timeout\":\"5s\",\"max_msg_retries\":2,\"tls_type\":\"TLS\",\"tls_skip_verify\":false,\"email_headers\":[]}]'),\n    ('messengers', '[]'),\n    ('bounce.enabled', 'false'),\n    ('bounce.webhooks_enabled', 'false'),\n    ('bounce.actions', '{\"soft\": {\"count\": 2, \"action\": \"none\"}, \"hard\": {\"count\": 1, \"action\": \"blocklist\"}, \"complaint\" : {\"count\": 1, \"action\": \"blocklist\"}}'),\n    ('bounce.ses_enabled', 'false'),\n    ('bounce.sendgrid_enabled', 'false'),\n    ('bounce.sendgrid_key', '\"\"'),\n    ('bounce.postmark', '{\"enabled\": false, \"username\": \"\", \"password\": \"\"}'),\n    ('bounce.forwardemail', '{\"enabled\": false, \"key\": \"\"}'),\n    ('bounce.mailboxes',\n        '[{\"enabled\":false, \"type\": \"pop\", \"host\":\"pop.yoursite.com\",\"port\":995,\"auth_protocol\":\"userpass\",\"username\":\"username\",\"password\":\"password\",\"return_path\": \"bounce@listmonk.yoursite.com\",\"scan_interval\":\"15m\",\"tls_enabled\":true,\"tls_skip_verify\":false}]'),\n    ('appearance.admin.custom_css', '\"\"'),\n    ('appearance.admin.custom_js', '\"\"'),\n    ('appearance.public.custom_css', '\"\"'),\n    ('appearance.public.custom_js', '\"\"'),\n    ('maintenance.db', '{\"vacuum\": false, \"vacuum_cron_interval\": \"0 2 * * *\"}');\n\n-- bounces\nDROP TABLE IF EXISTS bounces CASCADE;\nCREATE TABLE bounces (\n    id               SERIAL PRIMARY KEY,\n    subscriber_id    INTEGER NOT NULL REFERENCES subscribers(id) ON DELETE CASCADE ON UPDATE CASCADE,\n    campaign_id      INTEGER NULL REFERENCES campaigns(id) ON DELETE SET NULL ON UPDATE CASCADE,\n    type             bounce_type NOT NULL DEFAULT 'hard',\n    source           TEXT NOT NULL DEFAULT '',\n    meta             JSONB NOT NULL DEFAULT '{}',\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nDROP INDEX IF EXISTS idx_bounces_sub_id; CREATE INDEX idx_bounces_sub_id ON bounces(subscriber_id);\nDROP INDEX IF EXISTS idx_bounces_camp_id; CREATE INDEX idx_bounces_camp_id ON bounces(campaign_id);\nDROP INDEX IF EXISTS idx_bounces_source; CREATE INDEX idx_bounces_source ON bounces(source);\nDROP INDEX IF EXISTS idx_bounces_date; CREATE INDEX idx_bounces_date ON bounces(created_at);\n\n-- roles\nDROP TABLE IF EXISTS roles CASCADE;\nCREATE TABLE roles (\n    id               SERIAL PRIMARY KEY,\n    type             role_type NOT NULL DEFAULT 'user',\n    parent_id        INTEGER NULL REFERENCES roles(id) ON DELETE CASCADE ON UPDATE CASCADE,\n    list_id          INTEGER NULL REFERENCES lists(id) ON DELETE CASCADE ON UPDATE CASCADE,\n    permissions      TEXT[] NOT NULL DEFAULT '{}',\n    name             TEXT NULL,\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\nCREATE UNIQUE INDEX idx_roles ON roles (parent_id, list_id);\nCREATE UNIQUE INDEX idx_roles_name ON roles (type, name) WHERE name IS NOT NULL;\n\n-- users\nDROP TABLE IF EXISTS users CASCADE;\nCREATE TABLE users (\n    id               SERIAL PRIMARY KEY,\n    username         TEXT NOT NULL UNIQUE,\n    password_login   BOOLEAN NOT NULL DEFAULT false,\n    password         TEXT NULL,\n    email            TEXT NOT NULL UNIQUE,\n    name             TEXT NOT NULL,\n    avatar           TEXT NULL,\n    type             user_type NOT NULL DEFAULT 'user',\n    user_role_id     INTEGER NOT NULL REFERENCES roles(id) ON DELETE RESTRICT,\n    list_role_id     INTEGER NULL REFERENCES roles(id) ON DELETE CASCADE,\n    status           user_status NOT NULL DEFAULT 'disabled',\n    twofa_type       twofa_type NOT NULL DEFAULT 'none',\n    twofa_key        TEXT NULL,\n    loggedin_at      TIMESTAMP WITH TIME ZONE NULL,\n    created_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW(),\n    updated_at       TIMESTAMP WITH TIME ZONE DEFAULT NOW()\n);\n\n-- user sessions\nDROP TABLE IF EXISTS sessions CASCADE;\nCREATE TABLE sessions (\n    id TEXT NOT NULL PRIMARY KEY,\n    data JSONB DEFAULT '{}'::jsonb NOT NULL,\n    created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL\n);\nDROP INDEX IF EXISTS idx_sessions; CREATE INDEX idx_sessions ON sessions (id, created_at);\n\n-- materialized views\n\n-- dashboard stats\nDROP MATERIALIZED VIEW IF EXISTS mat_dashboard_counts;\nCREATE MATERIALIZED VIEW mat_dashboard_counts AS\n    WITH subs AS (\n        SELECT COUNT(*) AS num, status FROM subscribers GROUP BY status\n    )\n    SELECT NOW() AS updated_at,\n        JSON_BUILD_OBJECT(\n            'subscribers', JSON_BUILD_OBJECT(\n                'total', (SELECT SUM(num) FROM subs),\n                'blocklisted', (SELECT num FROM subs WHERE status='blocklisted'),\n                'orphans', (\n                    SELECT COUNT(id) FROM subscribers\n                    LEFT JOIN subscriber_lists ON (subscribers.id = subscriber_lists.subscriber_id)\n                    WHERE subscriber_lists.subscriber_id IS NULL\n                )\n            ),\n            'lists', JSON_BUILD_OBJECT(\n                'total', (SELECT COUNT(*) FROM lists),\n                'private', (SELECT COUNT(*) FROM lists WHERE type='private'),\n                'public', (SELECT COUNT(*) FROM lists WHERE type='public'),\n                'optin_single', (SELECT COUNT(*) FROM lists WHERE optin='single'),\n                'optin_double', (SELECT COUNT(*) FROM lists WHERE optin='double')\n            ),\n            'campaigns', JSON_BUILD_OBJECT(\n                'total', (SELECT COUNT(*) FROM campaigns),\n                'by_status', (\n                    SELECT JSON_OBJECT_AGG (status, num) FROM\n                    (SELECT status, COUNT(*) AS num FROM campaigns GROUP BY status) r\n                )\n            ),\n            'messages', (SELECT SUM(sent) AS messages FROM campaigns)\n        ) AS data;\nDROP INDEX IF EXISTS mat_dashboard_stats_idx; CREATE UNIQUE INDEX mat_dashboard_stats_idx ON mat_dashboard_counts (updated_at);\n\n\nDROP MATERIALIZED VIEW IF EXISTS mat_dashboard_charts;\nCREATE MATERIALIZED VIEW mat_dashboard_charts AS\n    WITH clicks AS (\n        SELECT JSON_AGG(ROW_TO_JSON(row))\n        FROM (\n            WITH viewDates AS (\n              SELECT created_at::DATE AS to_date,\n                     created_at::DATE - INTERVAL '30 DAY' AS from_date\n                     FROM link_clicks ORDER BY id DESC LIMIT 1\n            )\n            SELECT COUNT(*) AS count, created_at::DATE as date FROM link_clicks\n              WHERE created_at >= (SELECT from_date FROM viewDates)\n                AND created_at < (SELECT to_date FROM viewDates) + INTERVAL '1 day'\n              GROUP by date ORDER BY date\n        ) row\n    ),\n    views AS (\n        SELECT JSON_AGG(ROW_TO_JSON(row))\n        FROM (\n            WITH viewDates AS (\n              SELECT created_at::DATE AS to_date,\n                     created_at::DATE - INTERVAL '30 DAY' AS from_date\n                     FROM campaign_views ORDER BY id DESC LIMIT 1\n            )\n            SELECT COUNT(*) AS count, created_at::DATE as date FROM campaign_views\n              WHERE created_at >= (SELECT from_date FROM viewDates)\n                AND created_at < (SELECT to_date FROM viewDates) + INTERVAL '1 day'\n              GROUP by date ORDER BY date\n        ) row\n    )\n    SELECT NOW() AS updated_at, JSON_BUILD_OBJECT('link_clicks', COALESCE((SELECT * FROM clicks), '[]'),\n                                  'campaign_views', COALESCE((SELECT * FROM views), '[]')\n                                ) AS data;\nDROP INDEX IF EXISTS mat_dashboard_charts_idx; CREATE UNIQUE INDEX mat_dashboard_charts_idx ON mat_dashboard_charts (updated_at);\n\n-- subscriber counts stats for lists\nDROP MATERIALIZED VIEW IF EXISTS mat_list_subscriber_stats;\nCREATE MATERIALIZED VIEW mat_list_subscriber_stats AS\n    SELECT NOW() AS updated_at, lists.id AS list_id, subscriber_lists.status, COUNT(subscriber_lists.status) AS subscriber_count FROM lists\n    LEFT JOIN subscriber_lists ON (subscriber_lists.list_id = lists.id)\n    GROUP BY lists.id, subscriber_lists.status\n    UNION ALL\n    SELECT NOW() AS updated_at, 0 AS list_id, NULL AS status, COUNT(id) AS subscriber_count FROM subscribers;\nDROP INDEX IF EXISTS mat_list_subscriber_stats_idx; CREATE UNIQUE INDEX mat_list_subscriber_stats_idx ON mat_list_subscriber_stats (list_id, status);\n"
  },
  {
    "path": "scripts/refresh-i18n.sh",
    "content": "#!/bin/bash\n\n# \"Refresh\" all i18n language files by merging and syncing keys with the base file.\nBASE_DIR=$(dirname \"$0\")\"/../i18n\" # Exclude the trailing slash.\nBASE_FILE=\"en.json\"\n\n# Iterate through all i18n files and sync them with the base file.\nfor fpath in \"$BASE_DIR/\"*.json; do\n    if [ \"$(basename -- \"$fpath\")\" = \"$BASE_FILE\" ]; then\n        continue  # Skip the base file itself\n    fi\n    echo \"$(basename -- \"$fpath\")\"\n    jq -s --indent 4 --sort-keys \\\n        '.[0] as $base | .[1] as $target |\n        $base | with_entries(.value = ($target[.key] // .value))' \\\n        \"$BASE_DIR/$BASE_FILE\" \"$fpath\" > \"$fpath.tmp\" && mv \"$fpath.tmp\" \"$fpath\"\ndone\n"
  },
  {
    "path": "scripts/translate-i18n.py",
    "content": "import os\nimport json\nfrom glob import glob\nfrom openai import OpenAI\n\nclient = OpenAI(\n    # This is the default and can be omitted\n    api_key=os.environ.get(\"OPENAI_API_KEY\")\n)\n\n# Keys to translate. If this is empty, all keys are translated.\nKEYS = []\n\nDEFAULT_LANG = \"en.json\"\nDIR = os.path.normpath(os.path.join(\n    os.path.dirname(os.path.abspath(__file__)), \"../i18n\"))\nBASE = json.loads(open(os.path.join(DIR, DEFAULT_LANG), \"r\").read())\n\n\ndef translate(data, lang):\n    completion = client.chat.completions.create(\n        model=\"gpt-4.1-mini\",\n        messages=[\n            {\"role\": \"system\", \"content\": \"You are an i18n language pack translator for listmonk, a mailing list manager. Remember that context when translating.\"},\n            {\"role\": \"user\",\n                \"content\": \"Translate the untranslated English strings in the following JSON language map to {}. Retain any technical terms or acronyms.\".format(lang)},\n            {\"role\": \"user\", \"content\": json.dumps(data)}\n            # {\"role\": \"user\", \"content\": \"Hello world good morning!\"}\n        ]\n    )\n\n    return json.loads(str(completion.choices[0].message.content))\n\n\n# Go through every i18n file.\nfor f in glob(os.path.join(DIR, \"*.json\")):\n    if os.path.basename(f) == DEFAULT_LANG:\n        continue\n\n    print(os.path.basename(f))\n\n    data = json.loads(open(f, \"r\").read())\n\n    # Diff the entire file or only given keys.\n    if KEYS:\n        diff = {k: BASE[k] for k in KEYS}\n    else:\n        diff = {k: v for k, v in data.items() if BASE.get(k) == v}\n\n    new = translate(diff, data[\"_.name\"])\n    data.update(new)\n\n    with open(f, \"w\") as o:\n        o.write(json.dumps(data, sort_keys=True,\n                indent=4, ensure_ascii=False) + \"\\n\")\n"
  },
  {
    "path": "static/email-templates/base.html",
    "content": "{{ define \"header\" }}\n<!doctype html>\n<html>\n    <head>\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\" />\n        <base target=\"_blank\">\n\n        <style>\n            body {\n                background-color: #F0F1F3;\n                font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;\n                font-size: 15px;\n                line-height: 26px;\n                margin: 0;\n                color: #444;\n            }\n\n            .wrap {\n                background-color: #fff;\n                padding: 30px;\n                max-width: 525px;\n                margin: 0 auto;\n                border-radius: 5px;\n            }\n\n            .header {\n                border-bottom: 1px solid #eee;\n                padding-bottom: 15px;\n                margin-bottom: 15px;\n            }\n\n            .footer {\n                text-align: center;\n                font-size: 12px;\n                color: #888;\n            }\n                .footer a {\n                    color: #888;\n                }\n\n            .gutter {\n                padding: 30px;\n            }\n            .button {\n                background: #0055d4;\n                color: #fff !important;\n                display: inline-block;\n                border-radius: 3px;\n                padding: 10px 30px;\n                text-align: center;\n                text-decoration: none;\n                font-weight: bold;\n            }\n            .button:hover {\n                background: #222;\n                color: #fff;\n            }\n            img {\n                max-width: 100%;\n            }\n\n            a {\n                color: #0055d4;\n            }\n                a:hover {\n                    color: #111;\n                }\n            @media screen and (max-width: 600px) {\n                .wrap {\n                    max-width: auto;\n                }\n                .gutter {\n                    padding: 10px;\n                }\n            }\n        </style>\n    </head>\n<body style=\"background-color: #F0F1F3;\">\n    <div class=\"gutter\">&nbsp;</div>\n    <div class=\"wrap\">\n        <div class=\"header\">\n            {{ if ne LogoURL \"\" }}\n                <img src=\"{{ LogoURL }}\" alt=\"listmonk\" />\n            {{ end }}\n        </div>\n{{ end }}\n\n{{ define \"footer\" }}\n    </div>\n    \n    <div class=\"footer\">\n        <p>{{ L.T \"public.poweredBy\" }} <a href=\"https://listmonk.app\" target=\"_blank\" rel=\"noreferrer\">listmonk</a></p>\n    </div>\n    <div class=\"gutter\">&nbsp;</div>\n</body>\n</html>\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/campaign-status.html",
    "content": "{{ define \"campaign-status\" }}\n{{ template \"header\" . }}\n<h2>{{ L.Ts \"email.status.campaignUpdateTitle\" }}</h2>\n<table width=\"100%\">\n    <tr>\n        <td width=\"30%\"><strong>{{ L.Ts \"globals.terms.campaign\" }}</strong></td>\n        <td><a href=\"{{ RootURL }}/admin/campaigns/{{ index . \"ID\" }}\">{{ index . \"Name\" }}</a></td>\n    </tr>\n    <tr>\n        <td width=\"30%\"><strong>{{ L.Ts \"email.status.status\" }}</strong></td>\n        <td>{{ index . \"Status\" }}</td>\n    </tr>\n    <tr>\n        <td width=\"30%\"><strong>{{ L.Ts \"email.status.campaignSent\" }}</strong></td>\n        <td>{{ index . \"Sent\" }} / {{ index . \"ToSend\" }}</td>\n    </tr>\n    {{ if ne (index . \"Reason\") \"\" }}\n        <tr>\n            <td width=\"30%\"><strong>{{ L.Ts \"email.status.campaignReason\" }}</strong></td>\n            <td>{{ index . \"Reason\" }}</td>\n        </tr>\n    {{ end }}\n</table>\n{{ template \"footer\" }}\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/default-archive.tpl",
    "content": "<!doctype html>\n<html>\n    <head>\n        <title>{{ .Campaign.Subject }}</title>\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\">\n        <base target=\"_blank\">\n        <style>\n            body {\n                background-color: #F0F1F3;\n                font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;\n                font-size: 15px;\n                line-height: 26px;\n                margin: 0;\n                color: #444;\n            }\n\n            pre {\n                background: #f4f4f4f4;\n                padding: 2px;\n            }\n\n            table {\n                width: 100%;\n                border: 1px solid #ddd;\n            }\n            table td {\n                border-color: #ddd;\n                padding: 5px;\n            }\n\n            .wrap {\n                background-color: #fff;\n                padding: 30px;\n                max-width: 525px;\n                margin: 0 auto;\n                border-radius: 5px;\n            }\n\n            .button {\n                background: #0055d4;\n                border-radius: 3px;\n                text-decoration: none !important;\n                color: #fff !important;\n                font-weight: bold;\n                padding: 10px 30px;\n                display: inline-block;\n            }\n            .button:hover {\n                background: #111;\n            }\n\n            .footer {\n                text-align: center;\n                font-size: 12px;\n                color: #888;\n            }\n                .footer a {\n                    color: #888;\n                    margin-right: 5px;\n                }\n\n            .gutter {\n                padding: 30px;\n            }\n\n            img {\n                max-width: 100%;\n                height: auto;\n            }\n\n            a {\n                color: #0055d4;\n            }\n                a:hover {\n                    color: #111;\n                }\n            @media screen and (max-width: 600px) {\n                .wrap {\n                    max-width: auto;\n                }\n                .gutter {\n                    padding: 10px;\n                }\n            }\n        </style>\n    </head>\n<body style=\"background-color: #F0F1F3;font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;font-size: 15px;line-height: 26px;margin: 0;color: #444;\">\n    <div class=\"gutter\" style=\"padding: 30px;\">&nbsp;</div>\n    <div class=\"wrap\" style=\"background-color: #fff;padding: 30px;max-width: 525px;margin: 0 auto;border-radius: 5px;\">\n        {{ template \"content\" . }}\n    </div>\n    \n    <div class=\"footer\" style=\"text-align: center;font-size: 12px;color: #888;\">\n        <p>{{ L.T \"public.poweredBy\" }} <a href=\"https://listmonk.app\" target=\"_blank\" rel=\"noreferrer\" style=\"color: #888;\">listmonk</a></p>\n    </div>\n</body>\n</html>\n"
  },
  {
    "path": "static/email-templates/default-visual.json",
    "content": "{\n  \"root\": {\n    \"type\": \"EmailLayout\",\n    \"data\": {\n      \"backdropColor\": \"#F5F5F5\",\n      \"canvasColor\": \"#FFFFFF\",\n      \"textColor\": \"#262626\",\n      \"fontFamily\": \"MODERN_SANS\",\n      \"childrenIds\": [\n        \"block-1744970939431\",\n        \"block-1744970976991\",\n        \"block-1744971036169\",\n        \"block-1744971054197\",\n        \"block-1764116602073\"\n      ]\n    }\n  },\n  \"block-1744970939431\": {\n    \"type\": \"Heading\",\n    \"data\": {\n      \"props\": {\n        \"text\": \"Hello {{ .Subscriber.Name }}\",\n        \"level\": \"h3\"\n      },\n      \"style\": {\n        \"padding\": {\n          \"top\": 16,\n          \"bottom\": 16,\n          \"right\": 24,\n          \"left\": 24\n        }\n      }\n    }\n  },\n  \"block-1744970976991\": {\n    \"type\": \"Text\",\n    \"data\": {\n      \"style\": {\n        \"fontWeight\": \"normal\",\n        \"padding\": {\n          \"top\": 16,\n          \"bottom\": 16,\n          \"right\": 24,\n          \"left\": 24\n        }\n      },\n      \"props\": {\n        \"markdown\": true,\n        \"text\": \"This is a test e-mail campaign. Your second name is {{ .Subscriber.LastName }} and this block of text is in Markdown.\\n\\nHere is a [tracked link](https://listmonk.app@TrackLink).\\n\\nUse the link icon in the editor toolbar or when writing raw HTML or Markdown, simply suffix @TrackLink to the end of a URL to turn it into a tracking link. Example:\\n\\n<a href=\\\"https:/‌/listmonk.app@TrackLink\\\"></a>\\n\\nFor help, refer to the [documentation](https://listmonk.app/docs).\"\n      }\n    }\n  },\n  \"block-1744971036169\": {\n    \"type\": \"Divider\",\n    \"data\": {\n      \"style\": {\n        \"padding\": {\n          \"top\": 16,\n          \"bottom\": 16,\n          \"right\": 0,\n          \"left\": 0\n        }\n      },\n      \"props\": {\n        \"lineColor\": \"#CCCCCC\"\n      }\n    }\n  },\n  \"block-1744971054197\": {\n    \"type\": \"Button\",\n    \"data\": {\n      \"style\": {\n        \"padding\": {\n          \"top\": 16,\n          \"bottom\": 16,\n          \"right\": 24,\n          \"left\": 24\n        }\n      },\n      \"props\": {\n        \"buttonBackgroundColor\": \"#0055d4\",\n        \"text\": \"This is a button\",\n        \"url\": \"https://listmonk.app\"\n      }\n    }\n  },\n  \"block-1764115374178\": {\n    \"type\": \"Text\",\n    \"data\": {\n      \"style\": {\n        \"backgroundColor\": \"#F5F5F5\",\n        \"fontSize\": 12,\n        \"fontWeight\": \"normal\",\n        \"textAlign\": \"center\",\n        \"padding\": {\n          \"top\": 16,\n          \"bottom\": 16,\n          \"right\": 24,\n          \"left\": 24\n        }\n      },\n      \"props\": {\n        \"markdown\": true,\n        \"text\": \"<a href=\\\"{{ UnsubscribeURL }}\\\" style=\\\"color: #888;\\\">{{ L.T \\\"email.unsub\\\" }}</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=\\\"{{ MessageURL }}\\\" style=\\\"color: #888;\\\">{{ L.T \\\"email.viewInBrowser\\\" }}</a>\"\n      }\n    }\n  },\n  \"block-1764116602073\": {\n    \"type\": \"Text\",\n    \"data\": {\n      \"style\": {\n        \"backgroundColor\": \"#F5F5F5\",\n        \"fontSize\": 12,\n        \"fontWeight\": \"normal\",\n        \"textAlign\": \"center\",\n        \"padding\": {\n          \"top\": 16,\n          \"bottom\": 16,\n          \"right\": 24,\n          \"left\": 24\n        }\n      },\n      \"props\": {\n        \"markdown\": true,\n        \"text\": \"<a href=\\\"{{ UnsubscribeURL }}\\\" style=\\\"color: #888;\\\">{{ L.T \\\"email.unsub\\\" }}</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=\\\"{{ MessageURL }}\\\" style=\\\"color: #888;\\\">{{ L.T \\\"email.viewInBrowser\\\" }}</a>\\n{{ TrackView }}\"\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "static/email-templates/default-visual.tpl",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n  </head>\n  <body>\n    <div\n      style='background-color:#F5F5F5;color:#262626;font-family:\"Helvetica Neue\", \"Arial Nova\", \"Nimbus Sans\", Arial, sans-serif;font-size:16px;font-weight:400;letter-spacing:0.15008px;line-height:1.5;margin:0;padding:32px 0;min-height:100%;width:100%'\n    >\n      <table align=\"center\" width=\"100%\" style=\"margin:0 auto;max-width:600px;background-color:#FFFFFF\" role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n        <tbody>\n          <tr style=\"width:100%\">\n            <td>\n              <h3 style=\"font-weight:bold;margin:0;font-size:20px;padding:16px 24px 16px 24px\">\n                Hello {{ .Subscriber.Name }}\n              </h3>\n              <div style=\"font-weight:normal;padding:16px 24px 16px 24px\">\n                <p>\n                  This is a test e-mail campaign. Your second name is {{ .Subscriber.LastName }} and this block of text is in Markdown.\n                </p>\n                <p>\n                  Here is a\n                  <a href=\"https://listmonk.app@TrackLink\" target=\"_blank\">tracked link</a>.\n                </p>\n                <p>\n                  Use the link icon in the editor toolbar or when writing raw\n                  HTML or Markdown, simply suffix @TrackLink to the end of a URL\n                  to turn it into a tracking link. Example:\n                </p>\n                <p><a href=\"https:/‌/listmonk.app@TrackLink\"></a></p>\n                <p>\n                  For help, refer to the\n                  <a href=\"https://listmonk.app/docs\" target=\"_blank\">documentation</a>.\n                </p>\n              </div>\n              <div style=\"padding:16px 0px 16px 0px\">\n                <hr style=\"width:100%;border:none;border-top:1px solid #CCCCCC;margin:0\"/>\n              </div>\n              <div style=\"padding:16px 24px 16px 24px\">\n                <a href=\"https://listmonk.app\"\n                  style=\"color:#FFFFFF;font-size:16px;font-weight:bold;background-color:#0055d4;border-radius:4px;display:inline-block;padding:12px 20px;text-decoration:none\"\n                  target=\"_blank\">\n                  <span><!--[if mso]><i style=\"letter-spacing: 20px;mso-font-width:-100%;mso-text-raise:30\" hidden>&nbsp;</i><![endif]--></span>\n                  <span>This is a button</span>\n                  <span><!--[if mso]><i style=\"letter-spacing: 20px;mso-font-width:-100%\" hidden>&nbsp;</i><![endif]--></span>\n                </a>\n              </div>\n              <div style=\"background-color:#F5F5F5;font-size:12px;font-weight:normal;text-align:center;padding:16px 24px 16px 24px\">\n                <p>\n                  <a href=\"{{ UnsubscribeURL }}\" style=\"color: #888;\">{{ L.T \"email.unsub\" }}</a>\n                  &nbsp;&nbsp;&nbsp;&nbsp;\n                  <a href=\"{{ MessageURL }}\"style=\"color: #888;\">{{ L.T \"email.viewInBrowser\" }}</a>\n                  {{ TrackView }}\n                </p>\n              </div>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "static/email-templates/default.tpl",
    "content": "<!doctype html>\n<html>\n    <head>\n        <title>{{ .Campaign.Subject }}</title>\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\">\n        <base target=\"_blank\">\n        <style>\n            body {\n                background-color: #F0F1F3;\n                font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;\n                font-size: 15px;\n                line-height: 26px;\n                margin: 0;\n                color: #444;\n            }\n\n            pre {\n                background: #f4f4f4f4;\n                padding: 2px;\n            }\n\n            table {\n                width: 100%;\n                border: 1px solid #ddd;\n            }\n            table td {\n                border-color: #ddd;\n                padding: 5px;\n            }\n\n            .wrap {\n                background-color: #fff;\n                padding: 30px;\n                max-width: 525px;\n                margin: 0 auto;\n                border-radius: 5px;\n            }\n\n            .button {\n                background: #0055d4;\n                border-radius: 3px;\n                text-decoration: none !important;\n                color: #fff !important;\n                font-weight: bold;\n                padding: 10px 30px;\n                display: inline-block;\n            }\n            .button:hover {\n                background: #111;\n            }\n\n            .footer {\n                text-align: center;\n                font-size: 12px;\n                color: #888;\n            }\n                .footer a {\n                    color: #888;\n                    margin-right: 5px;\n                }\n\n            .gutter {\n                padding: 30px;\n            }\n\n            img {\n                max-width: 100%;\n                height: auto;\n            }\n\n            a {\n                color: #0055d4;\n            }\n                a:hover {\n                    color: #111;\n                }\n            @media screen and (max-width: 600px) {\n                .wrap {\n                    max-width: auto;\n                }\n                .gutter {\n                    padding: 10px;\n                }\n            }\n        </style>\n    </head>\n<body style=\"background-color: #F0F1F3;font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;font-size: 15px;line-height: 26px;margin: 0;color: #444;\">\n    <div class=\"gutter\" style=\"padding: 30px;\">&nbsp;</div>\n    <div class=\"wrap\" style=\"background-color: #fff;padding: 30px;max-width: 525px;margin: 0 auto;border-radius: 5px;\">\n        {{ template \"content\" . }}\n    </div>\n    \n    <div class=\"footer\" style=\"text-align: center;font-size: 12px;color: #888;\">\n        <p>\n            <a href=\"{{ UnsubscribeURL }}\" style=\"color: #888;\">{{ L.T \"email.unsub\" }}</a>\n            &nbsp;&nbsp;\n            <a href=\"{{ MessageURL }}\" style=\"color: #888;\">{{ L.T \"email.viewInBrowser\" }}</a>\n        </p>\n    </div>\n    <div class=\"gutter\" style=\"padding: 30px;\">&nbsp;{{ TrackView }}</div>\n</body>\n</html>\n"
  },
  {
    "path": "static/email-templates/forgot-password.html",
    "content": "{{ define \"forgot-password\" }}\n{{ template \"header\" . }}\n\n<h2>{{ L.T \"email.forgotPassword.subject\" }}</h2>\n\n<p>\n    <a href=\"{{ .ResetURL }}\" class=\"button\">{{ L.T \"email.forgotPassword.button\" }}</a>\n</p>\n<p style=\"color: #666; font-size: 12px;\">{{ L.T \"email.forgotPassword.info\" }}</p>\n\n{{ template \"footer\" }}\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/import-status.html",
    "content": "{{ define \"import-status\" }}\n{{ template \"header\" . }}\n<h2>{{ L.Ts \"email.status.importTitle\" }}</h2>\n<table width=\"100%\">\n    <tr>\n        <td width=\"30%\"><strong>{{ L.Ts \"email.status.importFile\" }}</strong></td>\n        <td><a href=\"{{ RootURL }}/admin/subscribers/import\">{{ .Name }}</a></td>\n    </tr>\n    <tr>\n        <td width=\"30%\"><strong>{{ L.Ts \"email.status.status\" }}</strong></td>\n        <td>{{ .Status }}</td>\n    </tr>\n    <tr>\n        <td width=\"30%\"><strong>{{ L.Ts \"email.status.importRecords\" }}</strong></td>\n        <td>{{ .Imported }} / {{ .Total }}</td>\n    </tr>\n</table>\n{{ template \"footer\" }}\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/sample-tx.tpl",
    "content": "<!doctype html>\n<html>\n    <head>\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\">\n        <base target=\"_blank\">\n\n        <style>\n            body {\n                background-color: #F0F1F3;\n                font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;\n                font-size: 15px;\n                line-height: 26px;\n                margin: 0;\n                color: #444;\n            }\n\n            pre {\n                background: #f4f4f4f4;\n                padding: 2px;\n            }\n\n            table {\n                width: 100%;\n                border: 1px solid #ddd;\n            }\n            table td {\n                border-color: #ddd;\n                padding: 5px;\n            }\n\n            .wrap {\n                background-color: #fff;\n                padding: 30px;\n                max-width: 525px;\n                margin: 0 auto;\n                border-radius: 5px;\n            }\n\n            .button {\n                background: #0055d4;\n                border-radius: 3px;\n                text-decoration: none !important;\n                color: #fff !important;\n                font-weight: bold;\n                padding: 10px 30px;\n                display: inline-block;\n            }\n            .button:hover {\n                background: #111;\n            }\n\n            .footer {\n                text-align: center;\n                font-size: 12px;\n                color: #888;\n            }\n                .footer a {\n                    color: #888;\n                    margin-right: 5px;\n                }\n\n            .gutter {\n                padding: 30px;\n            }\n\n            img {\n                max-width: 100%;\n                height: auto;\n            }\n\n            a {\n                color: #0055d4;\n            }\n                a:hover {\n                    color: #111;\n                }\n            @media screen and (max-width: 600px) {\n                .wrap {\n                    max-width: auto;\n                }\n                .gutter {\n                    padding: 10px;\n                }\n            }\n        </style>\n    </head>\n<body style=\"background-color: #F0F1F3;font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;font-size: 15px;line-height: 26px;margin: 0;color: #444;\">\n    <div class=\"gutter\" style=\"padding: 30px;\">&nbsp;</div>\n    <div class=\"wrap\" style=\"background-color: #fff;padding: 30px;max-width: 525px;margin: 0 auto;border-radius: 5px;\">\n        <p>Hello {{ .Subscriber.Name }}</p>\n        <p>\n            <strong>Order number: </strong> {{ .Tx.Data.order_id }}<br />\n            <strong>Shipping date: </strong> {{ .Tx.Data.shipping_date }}<br />\n        </p>\n        <br />\n        <p>\n            Transactional templates supports arbitrary parameters.\n            Render them using <code>.Tx.Data.YourParamName</code>. For more information,\n            see the transactional mailing <a href=\"https://listmonk.app/docs/transactional\">documentation</a>.\n        </p>\n    </div>\n    \n    <div class=\"footer\" style=\"text-align: center;font-size: 12px;color: #888;\">\n        <p>{{ L.T \"public.poweredBy\" }} <a href=\"https://listmonk.app\" target=\"_blank\" rel=\"noreferrer\" style=\"color: #888;\">listmonk</a></p>\n    </div>\n</body>\n</html>\n"
  },
  {
    "path": "static/email-templates/smtp-test.html",
    "content": "{{ define \"smtp-test\" }}\n{{ template \"header\" . }}\n<h2>{{ L.Ts \"settings.smtp.testConnection\" }}</h2>\n{{ template \"footer\" }}\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/subscriber-data.html",
    "content": "{{ define \"subscriber-data\" }}\n{{ template \"header\" . }}\n<h2>{{ L.Ts \"email.data.title\" }}</h2>\n<p>\n  {{ L.Ts \"email.data.info\" }}\n</p>\n{{ template \"footer\" }}\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/subscriber-optin-campaign.html",
    "content": "{{ define \"optin-campaign\" }}\n\n<p>{{ L.Ts \"email.optin.confirmSubWelcome\" }} {{ \"{{\" }}.Subscriber.FirstName {{ \"}}\" }}</p>\n<p>{{ L.Ts \"email.optin.confirmSubInfo\" }}</p>\n<ul>\n    {{ range $i, $l := .Lists }}\n        {{ if eq .Type \"public\" }}\n            <li>{{ .Name }}</li>\n        {{ else }}\n            <li>{{ L.Ts \"email.optin.privateList\" }}</li>\n        {{ end }}\n    {{ end }}\n</ul>\n<p>\n    <a class=\"button\" {{ .OptinURLAttr }}>{{ L.Ts \"email.optin.confirmSub\" }}</a>\n</p>\n{{ end }}\n"
  },
  {
    "path": "static/email-templates/subscriber-optin.html",
    "content": "{{ define \"subscriber-optin\" }}\n{{ template \"header\" . }}\n<h2>{{ L.Ts \"email.optin.confirmSubTitle\" }}</h2>\n<p>{{ L.Ts \"email.optin.confirmSubWelcome\" }} {{ .Subscriber.FirstName }}</p>\n<p>{{ L.Ts \"email.optin.confirmSubInfo\" }}</p>\n<ul>\n    {{ range $i, $l := .Lists }}\n        {{ if eq .Type \"public\" }}\n            <li>{{ .Name }}</li>\n        {{ else }}\n            <li>{{ L.Ts \"email.optin.privateList\" }}</li>\n        {{ end }}\n    {{ end }}\n</ul>\n<p>{{ L.Ts \"email.optin.confirmSubHelp\" }}</p>\n<p>\n    <a href=\"{{ .OptinURL }}\" class=\"button\">{{ L.Ts \"email.optin.confirmSub\" }}</a>\n</p>\n<a href=\"{{ .UnsubURL }}?manage=true\">{{ L.T \"email.unsub\" }}</a>\n\n{{ template \"footer\" }}\n{{ end }}\n"
  },
  {
    "path": "static/public/static/script.js",
    "content": ""
  },
  {
    "path": "static/public/static/style.css",
    "content": "* {\n  box-sizing: border-box;\n}\nhtml, body {\n  padding: 0;\n  margin: 0;\n  min-width: 320px;\n}\nbody {\n  background: #f9f9f9;\n  font-family: \"Inter\", \"Open Sans\", \"Helvetica Neue\", sans-serif;\n  font-size: 16px;\n  line-height: 26px;\n  color: #111;\n}\na {\n  color: #0055d4;\n  text-decoration-color: #abcbfb;\n}\na:hover {\n  color: #111;\n}\nlabel {\n  cursor: pointer;\n  color: #444;\n}\nh1,\nh2,\nh3,\nh4 {\n  font-weight: 400;\n}\n.section {\n  margin-bottom: 45px;\n}\n\ninput[type=\"text\"], input[type=\"email\"], input[type=\"password\"], select {\n  padding: 10px 15px;\n  border: 1px solid #888;\n  border-radius: 3px;\n  width: 100%;\n  box-shadow: 2px 2px 0 #f3f3f3;\n  border: 1px solid #ddd;\n  font-size: 1em;\n}\n  input:focus {\n    border-color: #0055d4;\n  }\n\ninput:focus::placeholder {\n  color: transparent;\n}\n\ninput[disabled] {\n  opacity: 0.5;\n}\n\n.center {\n  text-align: center;\n}\n.right {\n  text-align: right;\n}\n.small {\n  font-size: 0.875em;\n}\n.error {\n  color: #FF5722;\n}\n.button {\n  background: #0055d4;\n  padding: 15px 30px;\n  border-radius: 3px;\n  border: 0;\n  cursor: pointer;\n  text-decoration: none;\n  color: #ffff;\n  display: inline-block;\n  min-width: 150px;\n  font-size: 1.1em;\n  text-align: center;\n}\n.button:hover {\n  background: #333;\n  color: #fff;\n}\n.button.button-outline {\n  background: #fff;\n  border: 1px solid #0055d4;\n  color: #0055d4;\n}\n.button.button-outline:hover {\n  border-color: #333;\n  background-color: #333;\n  color: #fff;\n}\n\n.container {\n  margin: 60px auto 15px auto;\n  max-width: 550px;  \n}\n\n.wrap {\n  background: #fff;\n  padding: 40px;\n  box-shadow: 2px 2px 0 #f3f3f3;\n  border: 1px solid #eee;\n}\n\n.header {\n  border-bottom: 1px solid #eee;\n  padding-bottom: 15px;\n  margin-bottom: 30px;\n}\n.header .logo img {\n  width: auto;\n  max-width: 150px;\n}\n\n.unsub-all {\n  margin-top: 30px;\n  padding-top: 30px;\n  border-top: 1px solid #eee;\n}\n\n.row {\n  margin-bottom: 20px;\n}\n.lists {\n  list-style-type: none;\n  padding: 0;\n}\n  .lists li {\n    margin: 0 0 5px 0;    \n  }\n  .lists .description {\n    margin: 0 0 15px 0;\n    font-size: 0.875em;\n    line-height: 1.3rem;\n    color: #888;\n    margin-left: 25px;\n  }\n  .form .nonce {\n    display: none;\n  }\n  .form .captcha {\n    margin-top: 30px;\n  }\n\n.archive {\n  list-style-type: none;\n  margin: 25px 0 0 0;\n  padding: 0;\n}\n  .archive .date {\n    display: block;\n    color: #666;\n    font-size: 0.875em;\n  }\n  .archive li {\n    margin-bottom: 15px;\n  }\n  .feed {\n    margin-right: 15px;\n  }\n\n.home-options {\n  margin-top: 30px;\n}\n  .home-options a {\n    margin: 0 7px;\n  }\n\n.pagination {\n  margin-top: 30px;\n  text-align: center;\n}\n  .pg-page {\n    display: inline-block;\n    padding: 0 10px;\n    text-decoration: none;\n  }\n  .pg-page.pg-selected {\n    text-decoration: underline;\n    font-weight: bold;\n  }\n\n.login .submit {\n  margin-top: 20px;\n}\n  .login button {\n    width: 100%;\n    vertical-align: middle;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .login button img {\n    max-width: 24px;\n    margin-right: 10px;\n  }\n  .login input[name=totp_code] {\n    font-size: 2em;\n    letter-spacing: 5px;\n    text-align: center;\n  }\n\n#btn-back {\n  display: none;\n}\n\nfooter.container {\n  margin-top: 15px;\n  text-align: center;\n  color: #aaa;\n  font-size: 0.775em;\n  margin-top: 30px;\n  margin-bottom: 30px;\n}\n  footer a {\n    color: #aaa;\n    text-decoration: none;\n  }\n  footer a:hover {\n    color: #111;\n  }\n\n@media screen and (max-width: 650px) {\n  .wrap {\n    margin: 0;\n    padding: 30px;\n    max-width: none;\n  }\n}\n"
  },
  {
    "path": "static/public/templates/archive.html",
    "content": "{{ define \"archive\" }}\n{{ template \"header\" .}}\n<section>\n    <h2>{{ L.T \"public.archiveTitle\" }}</h2>\n\n    <ul class=\"archive\">\n        {{ range $c := .Data.Campaigns }}\n            <li>\n                <a href=\"{{ $c.URL }}\">{{ $c.Subject }}</a>\n                <span class=\"date\">\n                    {{ if $c.SendAt.Valid }}\n                        {{ $c.SendAt.Time.Format \"Mon, 02 Jan 2006\" }}\n                    {{ else }}\n                        {{ $c.CreatedAt.Time.Format \"Mon, 02 Jan 2006\" }}\n                    {{ end }}\n                </span>\n            </li>\n        {{ end }}\n    </ul>\n\n    {{ if not .Data.Campaigns }}\n        {{ L.T \"public.archiveEmpty\" }}\n    {{ end }}\n\n    {{ if .EnablePublicSubPage }}\n        <div class=\"right\">\n            <a href=\"{{ .RootURL }}/archive.xml\">\n                <img src=\"{{ .RootURL }}/public/static/rss.svg\" alt=\"RSS\" class=\"feed\"\n                    width=\"16\" height=\"16\" />\n            </a>\n            <a href=\"{{ .RootURL }}/subscription/form\">{{ L.T \"public.sub\" }}</a>\n        </div>\n    {{ end }}\n\n    {{ if gt .Data.TotalPages 1 }}\n        <div class=\"pagination\">{{ .Data.Pagination }}</div>\n    {{ end }}\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}\n"
  },
  {
    "path": "static/public/templates/forgot-password.html",
    "content": "{{ define \"admin-forgot-password\" }}\n{{ template \"header\" .}}\n\n<section class=\"login\">\n\t<h2>{{ .L.T \"users.forgotPassword\"}}</h2>\n\n\t<form method=\"post\" action=\"/admin/forgot\" class=\"form\">\n\t\t<div>\n\t\t\t<p>\n\t\t\t\t<label for=\"email\">{{ .L.T \"subscribers.email\" }}</label>\n\t\t\t\t<input id=\"email\" type=\"email\" name=\"email\" autofocus required />\n\t\t\t</p>\n\n\t\t\t{{ if .Data.Error }}<p class=\"error\">{{ .Data.Error }}</p>{{ end }}\n\n\t\t\t<p><button class=\"button\" type=\"submit\">{{ .L.T \"globals.buttons.continue\" }}</button></p>\n\t\t\t<p class=\"small\"><a href=\"{{ .RootURL }}/admin/login\">&larr; {{ .L.T \"users.login\" }}</a></p>\n\t\t</div>\n\t</form>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}\n"
  },
  {
    "path": "static/public/templates/home.html",
    "content": "{{ define \"home\" }}\n{{ template \"header\" .}}\n\n<section class=\"center\">\n\t<a href=\"admin\" class=\"button\">{{ L.T \"users.login\" }}</a>\n\n\t<div class=\"home-options\">\n\t\t{{ if .EnablePublicSubPage }}\n\t\t\t<a href=\"{{ .RootURL }}/subscription/form\">{{ L.T \"public.sub\" }}</a>\n\t\t{{ end }}\n\t\t{{ if .EnablePublicArchive }}\n\t\t    <a href=\"{{ .RootURL }}/archive\">{{ L.T \"public.archiveTitle\" }}</a>\n\t\t{{ end }}\n\t</div>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}"
  },
  {
    "path": "static/public/templates/index.html",
    "content": "{{ define \"header\" }}\n<!DOCTYPE html>\n<html>\n<head>\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\t\n\t<title>{{ .Data.Title }} - {{ .SiteName }}</title>\n\t<meta name=\"description\" content=\"{{ .Data.Description }}\" />\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\" />\n\n\t{{ if .EnablePublicArchive }}\n\t\t<link rel=\"alternate\" type=\"application/rss+xml\" title=\"{{ L.T \"public.archiveTitle\" }} - {{ .SiteName }}\"\n\t\t\thref=\"{{ .RootURL }}/archive.xml\" />\n\t{{ end }}\n\n\t<link href=\"/public/static/style.css?v={{ .AssetVersion }}\" rel=\"stylesheet\" type=\"text/css\" />\n\t<link href=\"/public/custom.css?v={{ .AssetVersion }}\" rel=\"stylesheet\" type=\"text/css\">\n\t<script src=\"/public/custom.js?v={{ .AssetVersion }}\" async defer></script>\n\n\t{{ if ne .FaviconURL \"\" }}\n\t\t<link rel=\"icon\" href=\"{{ .FaviconURL }}\" type=\"image/x-icon\" />\n\t{{ else }}\n\t\t<link rel=\"icon\" href=\"/public/static/favicon.png?v={{ .AssetVersion }}\" type=\"image/png\" />\n\t{{ end }}\n</head>\n<body>\n    <div class=\"container wrap\">\n\t\t<header class=\"header\">\n\t\t\t<div class=\"logo\">\n\t\t\t\t<a href=\"{{ if .EnablePublicSubPage }}{{ .RootURL}}/subscription/form{{ end }}\">\n\t\t\t\t{{ if ne .LogoURL \"\" }}\n\t\t\t\t\t<img src=\"{{ .LogoURL }}\" alt=\"{{ .Data.Title }}\" />\n\t\t\t\t{{ else }}\n\t\t\t\t\t<img src=\"/public/static/logo.svg?v={{ .AssetVersion }}\" alt=\"{{ .Data.Title }}\" />\n\t\t\t\t{{ end }}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</header>\n{{ end }}\n\n{{ define \"footer\" }}\n\t</div>\n\t\n\t<footer class=\"container\">\n\t\t{{ L.T \"public.poweredBy\" }} <a target=\"_blank\" rel=\"noreferrer\" href=\"https://listmonk.app\">listmonk</a>\n\t</footer>\n</body>\n</html>\n{{ end }}\n"
  },
  {
    "path": "static/public/templates/login-setup.html",
    "content": "{{ define \"admin-login-setup\" }}\n{{ template \"header\" .}}\n\n<section class=\"login\">\n\t<h2>{{ .L.T \"users.newUser\"}}</h2>\n\t<p> {{ .L.T \"users.firstTime\" }}</p>\n\n\t<form method=\"post\" action=\"\" class=\"form\">\n\t\t<div>\n\t\t\t<input type=\"hidden\" name=\"nonce\" value=\"{{ .Data.Nonce }}\" />\n\t\t\t<input type=\"hidden\" name=\"next\" value=\"{{ .Data.NextURI }}\" />\n\t\t\t<p>\n\t\t\t\t<label for=\"email\">{{ .L.T \"subscribers.email\" }}</label>\n\t\t\t\t<input id=\"email\" type=\"email\" name=\"email\" autofocus required minlength=\"3\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<label for=\"username\">{{ .L.T \"users.username\" }}</label>\n\t\t\t\t<input id=\"username\" type=\"text\" name=\"username\" required minlength=\"3\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\">{{ .L.T \"users.password\" }}</label>\n\t\t\t\t<input id=\"password\" type=\"password\" name=\"password\" required minlength=\"8\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<label for=\"password2\">{{ .L.T \"users.passwordRepeat\" }}</label>\n\t\t\t\t<input id=\"password2\" type=\"password\" name=\"password2\" required minlength=\"8\" />\n\t\t\t</p>\n\n\t\t\t{{ if .Data.Error }}<p><span class=\"error\">{{ .Data.Error }}</span></p>{{ end }}\n\n\t\t\t<p class=\"submit\"><button class=\"button\" type=\"submit\">{{ .L.T \"globals.buttons.continue\" }}</button></p>\n\t\t</div>\n\t</form>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}"
  },
  {
    "path": "static/public/templates/login.html",
    "content": "{{ define \"admin-login\" }}\n{{ template \"header\" .}}\n\n<section class=\"login\">\n\t<h2>{{ .L.T \"users.login\"}}</h2>\n\t{{ if .Data.PasswordEnabled }}\n\t<form method=\"post\" action=\"/admin/login\" class=\"form\">\n\t\t<div>\n\t\t\t<input type=\"hidden\" name=\"nonce\" value=\"{{ .Data.Nonce }}\" />\n\t\t\t<input type=\"hidden\" name=\"next\" value=\"{{ .Data.NextURI }}\" />\n\t\t\t<p>\n\t\t\t\t<label for=\"username\">{{ .L.T \"users.username\" }}</label>\n\t\t\t\t<input id=\"username\" type=\"text\" name=\"username\" autofocus required minlength=\"3\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\">{{ .L.T \"users.password\" }}</label>\n\t\t\t\t<input id=\"password\" type=\"password\" name=\"password\" required minlength=\"8\" />\n\t\t\t</p>\n\n\t\t\t{{ if .Data.Error }}<p><span class=\"error\">{{ .Data.Error }}</span></p>{{ end }}\n\n\t\t\t<p class=\"submit\"><button class=\"button\" type=\"submit\">{{ .L.T \"users.login\" }}</button></p>\n\t\t</div>\n\t</form>\n\t{{ end }}\n\t\n\t{{ if .Data.OIDCProvider }}\n\t<form method=\"post\" action=\"/auth/oidc\">\n\t\t<div>\n\t\t\t<input type=\"hidden\" name=\"nonce\" value=\"{{ .Data.Nonce }}\" />\n\t\t\t<input type=\"hidden\" name=\"next\" value=\"{{ .Data.NextURI }}\" />\n\t\t\t<p><button class=\"button button-outline\" type=\"submit\">\n\t\t\t\t<img src=\"{{ .RootURL }}/public/static/auth/{{ .Data.OIDCProviderLogo }}\" alt=\"\" />\n\t\t\t\t{{ .L.Ts \"users.loginOIDC\" \"name\" .Data.OIDCProvider }}\n\t\t\t</button></p>\n\t\t</div>\n\t</form>\n\t{{ end }}\n\n\t<p class=\"center small\"><a href=\"{{ .RootURL }}/admin/forgot\">{{ .L.T \"users.forgotPassword\" }}</a></p>\n\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}"
  },
  {
    "path": "static/public/templates/message.html",
    "content": "{{ define \"message\" }}\n    {{ template \"header\" .}}\n\n    <h2>{{ .Data.Title }}</h2>\n    <div>\n        {{ .Data.Message }}\n    </div>\n\n    <p>\n        <a href=\"\" class=\"button\" id=\"btn-back\">{{ L.T \"globals.buttons.back\" }}</a>\n    </p>\n\n    <script>\n        (function() {\n            // If there's page history to go back to, show the back button.\n            if(history && history.length >= 3) {\n                var btn = document.getElementById(\"btn-back\");\n                btn.style.display = 'inline-block';\n                btn.onclick = function(e) {\n                    history.go(history.length > 2 ? -2 : -1);\n                    e.preventDefault();\n                };\n            }\n        })();\n    </script>\n    {{ template \"footer\" .}}\n{{ end }}\n"
  },
  {
    "path": "static/public/templates/optin.html",
    "content": "{{ define \"optin\" }}\n{{ template \"header\" .}}\n<section>\n    <h2>{{ L.T \"public.confirmSubTitle\" }}</h2>\n    <p>\n        {{ L.T \"public.confirmSubInfo\" }}\n    </p>\n\n    <form method=\"post\" class=\"optin-form\">\n        <ul>\n            {{ range $i, $l := .Data.Lists }}\n                <input type=\"hidden\" name=\"l\" value=\"{{ $l.UUID }}\" />\n                {{ if eq $l.Type \"public\" }}\n                    <li>{{ $l.Name }}</li>\n                {{ else }}\n                    <li>{{ L.Ts \"public.subPrivateList\" }}</li>\n                {{ end }}\n            {{ end }}\n        </ul>\n        <p>\n            <input type=\"hidden\" name=\"confirm\" value=\"true\" />\n            <button type=\"submit\" class=\"button\" id=\"btn-unsub\">\n                {{ L.Ts \"public.confirmSub\" }}\n            </button>\n        </p>\n    </form>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}"
  },
  {
    "path": "static/public/templates/reset-password.html",
    "content": "{{ define \"admin-reset-password\" }}\n{{ template \"header\" .}}\n\n<section class=\"login\">\n\t<h2>{{ .L.T \"users.resetPassword\"}}</h2>\n\n\t<form method=\"post\" action=\"/admin/reset?token={{ .Data.Token }}&email={{ .Data.Email }}\" class=\"form\">\n\t\t<div>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\">{{ .L.T \"users.newPassword\" }}</label>\n\t\t\t\t<input id=\"password\" type=\"password\" name=\"password\" autofocus required minlength=\"8\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<label for=\"password2\">{{ .L.T \"users.passwordRepeat\" }}</label>\n\t\t\t\t<input id=\"password2\" type=\"password\" name=\"password2\" required minlength=\"8\" />\n\t\t\t</p>\n\n\t\t\t{{ if .Data.Error }}<p><span class=\"error\">{{ .Data.Error }}</span></p>{{ end }}\n\n\t\t\t<p class=\"submit\"><button class=\"button\" type=\"submit\">{{ .L.T \"users.resetPassword\" }}</button></p>\n\t\t</div>\n\t</form>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}\n"
  },
  {
    "path": "static/public/templates/subscription-form.html",
    "content": "{{ define \"subscription-form\" }}\n{{ template \"header\" . }}\n<section>\n    <h2>{{ L.T \"public.subTitle\" }}</h2>\n\n    <form method=\"post\" action=\"\" class=\"form\">\n        <div>\n            <p>\n                <label for=\"email\">{{ L.T \"subscribers.email\" }}</label>\n                <input id=\"email\" name=\"email\" required=\"true\" type=\"email\" placeholder=\"{{ L.T \"subscribers.email\" }}\" autofocus=\"true\" >\n\n                <input name=\"nonce\" class=\"nonce\" value=\"\" />\n            </p>\n            <p>\n                <label for=\"name\">{{ L.T \"public.subName\" }}</label>\n                <input id=\"name\" name=\"name\" type=\"text\" placeholder=\"{{ L.T \"public.subName\" }}\" >\n            </p>\n\n            <ul class=\"lists\">\n                <h2>{{ L.T \"globals.terms.lists\" }}</h2>\n                {{ range $i, $l := .Data.Lists }}\n                    <li>\n                        <input checked=\"true\" id=\"l-{{ $l.UUID}}\" type=\"checkbox\" name=\"l\" value=\"{{ $l.UUID }}\" >\n                        <label for=\"l-{{ $l.UUID}}\">{{ $l.Name }}</label>\n                        {{ if ne $l.Description \"\" }}\n                            <p class=\"description\">{{ $l.Description }}</p>\n                        {{ end }}\n                    </li>\n                {{ end }}\n            </ul>\n\n            {{ if .Data.Captcha.Enabled }}\n                <div class=\"captcha\">\n                    {{ if eq .Data.Captcha.Provider \"hcaptcha\" }}\n                        <div class=\"h-captcha\" data-sitekey=\"{{ .Data.Captcha.Key }}\"></div>\n                        <script src=\"https://js.hcaptcha.com/1/api.js\" async defer></script>\n                    {{ else if eq .Data.Captcha.Provider \"altcha\" }}\n                        <altcha-widget challengeurl=\"{{ .RootURL }}/api/public/captcha/altcha\"></altcha-widget>\n                        <script type=\"module\" src=\"{{ .RootURL }}/public/static/altcha.umd.js\" async defer></script>\n                    {{ end }}\n                </div>\n            {{ end }}\n            <p>\n                <button type=\"submit\" class=\"button\">{{ L.T \"public.sub\" }}</button>\n\n                {{ if .EnablePublicArchive }}\n                    <p class=\"right\">\n                        <a href=\"{{ .RootURL }}/archive\">{{ L.T \"public.archiveTitle\" }}</a>\n                    </p>\n                {{ end }}\n            </p>\n        </div>\n    </form>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}\n"
  },
  {
    "path": "static/public/templates/subscription.html",
    "content": "{{ define \"subscription\" }}\n{{ template \"header\" .}}\n<section class=\"section\">\n    {{ if not .Data.ShowManage }}\n        <h2>{{ L.T \"public.unsubTitle\" }}</h2>\n        <form method=\"post\" class=\"unsub-form\">\n            <div>\n                {{ if .Data.AllowBlocklist }}\n                    <p>{{ L.T \"public.unsubHelp\" }}</p>\n                    <p>\n                        <input id=\"privacy-blocklist\" type=\"checkbox\" name=\"blocklist\" value=\"true\" />\n                        <label for=\"privacy-blocklist\">{{ L.T \"public.unsubFull\" }}</label>\n                    </p>\n                {{ end }}\n\n                <p>\n                    <button type=\"submit\" class=\"button\" id=\"btn-unsub\">{{ L.T \"public.unsub\" }}</button>\n                </p>\n\n                {{ if .Data.AllowPreferences }}\n                    <a href=\"?manage=true\">{{ L.T \"public.managePrefs\" }}</a>\n                {{ end }}\n            </div>\n        </form>\n    {{ else }}\n        <form method=\"post\" class=\"manage-form\">\n            <div>\n                <input type=\"hidden\" name=\"manage\" value=\"true\" />\n\n                <h2>{{ L.T \"public.managePrefs\" }}</h2>\n                <label>{{ L.T \"globals.fields.name\" }}</label>\n                <input type=\"text\" name=\"name\" value=\"{{ .Data.Subscriber.Name }}\" maxlength=\"256\" required />\n\n                {{ if .Data.Subscriptions }}\n                    <br /><br />\n                    <h3>{{ L.T \"public.managePrefsUnsub\" }}</h3>\n                    <ul class=\"lists\">\n                        {{ range $i, $l := .Data.Subscriptions }}\n                            {{ if ne $l.SubscriptionStatus.Value \"unsubscribed\" }}\n                                <li>\n                                    <input id=\"l-{{ $l.UUID}}\" type=\"checkbox\" name=\"l\" value=\"{{ $l.UUID }}\" checked />\n                                    <label for=\"l-{{ $l.UUID}}\">{{ $l.Name }}</label>\n                                </li>\n                            {{ end }}\n                        {{ end }}\n                    </ul>\n                {{ end }}\n\n                {{ if .Data.AllowBlocklist }}\n                    <p>\n                        <input id=\"privacy-blocklist\" type=\"checkbox\" name=\"blocklist\" value=\"true\" onchange=\"unsubAll(event)\" />\n                        <label for=\"privacy-blocklist\">{{ L.T \"public.unsubFull\" }}</label>\n                    </p>\n                {{ end }}\n\n                <p>\n                    <button type=\"submit\" class=\"button\" id=\"btn-unsub\">{{ L.T \"globals.buttons.save\" }}</button>\n                </p>\n            </div>\n        </form>\n    {{ end }}\n</section>\n\n{{ if or .Data.AllowExport .Data.AllowWipe }}\n<form id=\"data-form\" class=\"data-form\" method=\"post\" action=\"\" onsubmit=\"return handleData()\">\n    <section>\n        <h2>{{ L.T \"public.privacyTitle\" }}</h2>\n        {{ if .Data.AllowExport }}\n        <div class=\"row\">\n            <input id=\"privacy-export\" type=\"radio\" name=\"data-action\" value=\"export\" required />\n            <label for=\"privacy-export\"><strong>{{ L.T \"public.privacyExport\" }}</strong></label>\n            <br />\n            {{ L.T \"public.privacyExportHelp\" }}\n        </div>\n        {{ end }}\n\n        {{ if .Data.AllowWipe }}\n        <div class=\"row\">\n            <input id=\"privacy-wipe\" type=\"radio\" name=\"data-action\" value=\"wipe\" required />\n            <label for=\"privacy-wipe\"><strong>{{ L.T \"public.privacyWipe\" }}</strong></label>\n            <br />\n            {{ L.T \"public.privacyWipeHelp\" }}\n        </div>\n        {{ end }}\n        <p>\n            <input type=\"submit\" value=\"{{ L.T \"globals.buttons.continue\" }}\" class=\"button button-outline\" />\n        </p>\n    </section>\n</form>\n<script>\n    function handleData() {\n        var a = document.querySelector('input[name=\"data-action\"]:checked').value,\n            f = document.querySelector(\"#data-form\");\n        if (a == \"export\") {\n            f.action = \"/subscription/export/{{ .Data.SubUUID }}\";\n            return true;\n        } else if (confirm(\"{{ L.T \"public.privacyConfirmWipe\" }}\")) {\n            f.action = \"/subscription/wipe/{{ .Data.SubUUID }}\";\n            return true;\n        }\n        return false;\n    }\n\n    function unsubAll(e) {\n        if (e.target.checked) {\n            document.querySelector(\"input[name=name]\").disabled = \"disabled\";\n        } else {\n            document.querySelector(\"input[name=name]\").removeAttribute(\"disabled\");\n        }\n\n        document.querySelectorAll('input[type=checkbox][name=l]').forEach(function(l) {\n            if (e.target.checked) {\n                l.disabled = \"disabled\";\n            } else {\n                l.removeAttribute(\"disabled\");\n            }\n        });\n    }\n</script>\n{{ end }}\n\n{{ template \"footer\" .}}\n{{ end }}"
  },
  {
    "path": "static/public/templates/twofa.html",
    "content": "{{ define \"admin-twofa\" }}\n{{ template \"header\" .}}\n\n<section class=\"login\">\n\t<h2>{{ .L.T \"users.twoFA\"}}</h2>\n\t<p>{{ .L.T \"users.totpCodeHelp\" }}</p>\n\n\t<form method=\"post\" action=\"/admin/login/twofa\" class=\"form\">\n\t\t<div>\n\t\t\t<input type=\"hidden\" name=\"token\" value=\"{{ .Data.Token }}\" />\n\t\t\t<input type=\"hidden\" name=\"next\" value=\"{{ .Data.NextURI }}\" />\n\t\t\t<p>\n\t\t\t\t<input id=\"totp_code\" type=\"text\" name=\"totp_code\" autofocus required \n\t\t\t\tpattern=\"[0-9]{6}\" maxlength=\"6\" placeholder=\"• • • • • •\" aria-label=\"{{ .L.T \"users.totpCode\" }}\" />\n\t\t\t</p>\n\n\t\t\t{{ if .Data.Error }}<p><span class=\"error\">{{ .Data.Error }}</span></p>{{ end }}\n\n\t\t\t<p class=\"submit\"><button class=\"button\" type=\"submit\">{{ .L.T \"globals.buttons.continue\" }}</button></p>\n\t\t</div>\n\t</form>\n</section>\n\n{{ template \"footer\" .}}\n{{ end }}\n"
  }
]