$mirrors = {
  'Asia' => {
    'China' => {
      'https://mirrors.cqu.edu.cn/CTAN/' => 1,
      'https://mirrors.hit.edu.cn/CTAN/' => 1,
      'https://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1,
      'https://mirrors.sustech.edu.cn/CTAN/' => 1,
      'https://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1,
      'https://mirrors.ustc.edu.cn/CTAN/' => 1,
    },
    'Iran' => {
      'https://ctan.asis.sh/' => 1,
      'https://mirror.bardia.tech/ctan/' => 1,
    },
    'Japan' => {
      'https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1,
    },
    'Korea' => {
      'http://ftp.ktug.org/tex-archive/' => 1,
    },
  },
  'Europe' => {
    'Czech Republic' => {
      'http://ftp.cvut.cz/tex-archive/' => 1,
    },
    'France' => {
      'https://ctan.crest.fr/tex-archive/' => 1,
      'https://ctan.gutenberg-asso.fr/' => 1,
    },
    'Germany' => {
      'http://mirror.funkfreundelandshut.de/latex/' => 1,
      'https://ctan.joethei.xyz/' => 1,
      'https://ctan.kako-dev.de/' => 1,
      'https://ftp.gwdg.de/pub/ctan/' => 1,
      'https://mirror.dogado.de/tex-archive/' => 1,
      'https://packages.oth-regensburg.de/ctan/' => 1,
    },
    'Greece' => {
      'http://ftp.ntua.gr/mirror/ctan/' => 1,
    },
    'Hungary' => {
      'https://mirror.szerverem.hu/ctan/' => 1,
    },
    'Norway' => {
      'https://ftp.fagskolen.gjovik.no/pub/tex-archive/' => 1,
    },
    'Poland' => {
      'https://repo.skni.umcs.pl/ctan/' => 1,
    },
    'Portugal' => {
      'https://mirrors.up.pt/pub/CTAN/' => 1,
    },
    'Romania' => {
      'https://mirrors.nxthost.com/ctan/' => 1,
    },
    'Switzerland' => {
      'https://mirror.foobar.to/CTAN/' => 1,
      'https://mirror.metanet.ch/tex-archive/' => 1,
    },
  },
  'North America' => {
    'Canada' => {
      'https://muug.ca/mirror/ctan/' => 1,
    },
    'USA' => {
      'https://mirror.math.princeton.edu/pub/CTAN/' => 1,
      'https://mirrors.rit.edu/CTAN/' => 1,
    },
  },
  'South America' => {
    'Chile' => {
      'https://ctan.dcc.uchile.cl/' => 1,
    },
  },
};
