code: def untar_file(tar_path, extract_location, delete=False):
      """Untars a file, optionally deleting after"""
      with tarfile.open(tar_path) as tar:
  
          def is_within_directory(directory, target):
              abs_directory = os.path.abspath(directory)
              abs_target = os.path.abspath(target)
  
              prefix = os.path.commonprefix([abs_directory, abs_target])
  
              return prefix == abs_directory
  
          def safe_extract(
              tar, path=".", members=None, *, numeric_owner=False
          ):
              for member in tar.getmembers():
                  member_path = os.path.join(path, member.name)
                  if not is_within_directory(path, member_path):
                      raise Exception(
                          "Attempted Path Traversal in Tar File"
                      )
  
              tar.extractall(path, members, numeric_owner=numeric_owner)
  
          safe_extract(tar, path=extract_location)
      if delete:
          os.remove(tar_path)
  
file_path: jiant/jiant/scripts/download_data/utils.py
imports: import datasets
  import os
  import tarfile
  import urllib
  import zipfile
  import jiant.utils.python.io
  from jiant.utils.python.datastructures import replace_key
label_desc: Use image node_id 6 for calling a global function with example usage: untar_file(tar_path, extract_location, delete) and returns: unknown