code: def split_package(package):
      if package.endswith("_finetuned"):
          package = package[:-10]
  
      if package.endswith("_nopretrain"):
          package = package[:-11]
          return package, False, False
      if package.endswith("_nocharlm"):
          package = package[:-9]
          return package, True, False
      if package.endswith("_charlm"):
          package = package[:-7]
          return package, True, True
      underscore = package.rfind("_")
      if underscore >= 0:
          # +1 to skip the underscore
          nickname = package[underscore + 1 :]
          if nickname in known_nicknames():
              return package[:underscore], True, True
  
      # guess it was a model which wasn't built with the new naming convention of putting the pretrain type at the end
      # assume WV and charlm... if the language / package doesn't allow for one, that should be caught later
      return package, True, True
  
imports: import argparse
  from collections import defaultdict
  import json
  import os
  from pathlib import Path
  import hashlib
  import shutil
  import zipfile
  from stanza import __resources_version__
  from stanza.models.common.constant import lcode2lang, two_to_three_letters, three_to_two_letters
  from stanza.resources.default_packages import PACKAGES, TRANSFORMERS, TRANSFORMER_NICKNAMES
  from stanza.resources.default_packages import *
  from stanza.utils.get_tqdm import get_tqdm
label_desc: Use image node_id 6 for calling a global function with example usage: split_package(package) and returns: package,  True,  True, package,  False,  False, package,  True,  False, package,  True,  True, package,  True,  True