code: def _reporthook(count, block_size, total_size):
      global start_time
      if count == 0:
          start_time = time.time()
          print("  %   Total    Recv       Speed  Time left")
          return
      duration = time.time() - start_time
      progress_size = count * block_size
      try:
          speed = progress_size / duration
      except ZeroDivisionError:
          speed = float("inf")
      percent = progress_size / total_size * 100
      eta = int((total_size - progress_size) / speed)
      sys.stdout.write(
          "\r{:3.0f} {:4.0f}MiB {:4.0f}MiB {:6.0f}KiB/s {:4d}:{:02d}:{:02d}".format(
              percent,
              total_size / (1 << 20),
              progress_size / (1 << 20),
              speed / (1 << 10),
              eta // 60 // 60,
              (eta // 60) % 60,
              eta % 60,
          )
      )
      sys.stdout.flush()
  
file_path: pfrl/pfrl/utils/pretrained_models.py
imports: import hashlib
  import os
  import posixpath
  import shutil
  import sys
  import tempfile
  import time
  import urllib
  import zipfile
  import filelock
label_desc: Use image node_id 2 for calling a global function with example usage: _reporthook(count, block_size, total_size) without return types