code: def setup_base():
      # Copy Config Templates
      print("Creating Configuration Files...")
  
      first_run = True
  
      for root, directories, files in os.walk(os.getcwd()):
          for file in files:
              if file == "offshoot.yml":
                  first_run = False
                  break
  
          if not first_run:
              break
  
      if not first_run:
          confirm = input(
              "It appears that the setup process had already been performed. Are you sure you want to proceed? Some important files will be overwritten! (One of: 'YES', 'NO'):\n"
          )
  
          if confirm not in ["YES", "NO"]:
              confirm = "NO"
  
          if confirm == "NO":
              sys.exit()
  
      shutil.rmtree(
          os.path.join(os.getcwd(), "config"), ignore_errors=True
      )
  
      shutil.copytree(
          os.path.join(os.path.dirname(__file__), "config"),
          os.path.join(os.getcwd(), "config"),
      )
  
      # Copy Offshoot Files
      shutil.copy(
          os.path.join(os.path.dirname(__file__), "offshoot.yml"),
          os.path.join(os.getcwd(), "offshoot.yml"),
      )
  
      shutil.copy(
          os.path.join(
              os.path.dirname(__file__), "offshoot.manifest.json"
          ),
          os.path.join(os.getcwd(), "offshoot.manifest.json"),
      )
  
      # Generate Platform-Specific requirements.txt
      if is_linux():
          shutil.copy(
              os.path.join(
                  os.path.dirname(__file__), "requirements.linux.txt"
              ),
              os.path.join(os.getcwd(), "requirements.txt"),
          )
      elif is_windows():
          shutil.copy(
              os.path.join(
                  os.path.dirname(__file__), "requirements.win32.txt"
              ),
              os.path.join(os.getcwd(), "requirements.txt"),
          )
  
      # Install the dependencies
      print("Installing dependencies...")
  
      if is_linux():
          subprocess.call(shlex.split("pip install python-xlib"))
      elif is_windows():
          # Anaconda Packages
          subprocess.call(
              shlex.split(
                  "conda install numpy scipy scikit-image scikit-learn h5py -y"
              ),
              shell=True,
          )
  
      subprocess.call(shlex.split("pip install -r requirements.txt"))
  
      # Install Crossbar
      subprocess.call(shlex.split("pip install crossbar==18.6.1"))
  
      # Create Dataset Directories
      os.makedirs(
          os.path.join(os.getcwd(), "datasets/collect_frames"),
          exist_ok=True,
      )
      os.makedirs(
          os.path.join(
              os.getcwd(), "datasets/collect_frames_for_context"
          ),
          exist_ok=True,
      )
      os.makedirs(
          os.path.join(os.getcwd(), "datasets/current"), exist_ok=True
      )
  
      # Copy the Crossbar config
      shutil.copy(
          os.path.join(os.path.dirname(__file__), "crossbar.json"),
          os.path.join(os.getcwd(), "crossbar.json"),
      )
  
imports: import os
  import sys
  import shutil
  import subprocess
  import shlex
  import time
  import offshoot
  from serpent.utilities import clear_terminal, display_serpent_logo, is_linux, is_windows, wait_for_crossbar
  from serpent.window_controller import WindowController
label_desc: Use image node_id 4 for calling a global function with example usage: setup_base() without return types