(command.CommandList
  children: [
    (C {(Id.KW_Set set)} {(-e)})
    (C {(export)} {(Id.Lit_VarLike 'BOOTSTRAP_METHOD=') (vagrant)})
    (C {(echo)} {(DQ (' ____   ____ ____   ____ '))})
    (C {(echo)} {(DQ ('| __ ) / ___|  _ ') (Id.Lit_Other '\\') (' / ___|'))})
    (C {(echo)} {(DQ ('|  _ ') (Id.Lit_Other '\\') ('| |   | |_) | |    '))})
    (C {(echo)} {(DQ ('| |_) | |___|  __/| |___ '))})
    (C {(echo)} {(DQ ('|____/ ') (Id.Lit_Other '\\') ('____|_|    ') (Id.Lit_Other '\\') ('____|'))})
    (C {(echo)})
    (C {(echo)} {(DQ ('BCPC Vagrant BootstrapV2 0.2'))})
    (C {(echo)} {(DQ (--------------------------------------------))})
    (C {(echo)} {(DQ ('Bootstrapping local Vagrant environment...'))})
    (command.WhileUntil
      keyword: (Token id:Id.KW_While val:while span_id:79)
      cond: [
        (command.Sentence
          child: (C {(getopts)} {(DQ (v))} {(opt)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:88)
        )
      ]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$opt')}
              arms: [
                (case_arm
                  pat_list: [{(v)}]
                  action: [(C {(Id.KW_Set set)} {(-x)})]
                  spids: [104 105 113 -1]
                )
              ]
            )
          ]
        )
    )
    (C {(source)} {(../shared/shared_functions.sh)})
    (C {(export)} {(Id.Lit_VarLike 'REPO_ROOT=') ($ Id.VSub_DollarName '$REPO_ROOT')})
    (C {(load_configs)})
    (C {(echo)} {(DQ ('Performing preflight environment validation...'))})
    (C {(source)} {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/shared/shared_validate_env.sh)})
    (C {(echo)} {(DQ ('Checking VirtualBox and Vagrant...'))})
    (C {(source)} {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/vagrant_scripts/vagrant_test.sh)})
    (C {(echo)} {(DQ ('Downloading necessary files to local cache...'))})
    (C {(source)} {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/shared/shared_prereqs.sh)})
    (C {(echo)} {(DQ ('Shutting down and unregistering VMs from VirtualBox...'))})
    (C {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/vagrant_scripts/vagrant_clean.sh)})
    (C {(echo)} {(DQ ('Starting local Vagrant cluster...'))})
    (C {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/vagrant_scripts/vagrant_create.sh)})
    (C {(echo)} {(DQ ('Installing and configuring Chef on all nodes...'))})
    (C {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/shared/shared_configure_chef.sh)})
    (C {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/vagrant_scripts/vagrant_print_useful_info.sh)})
    (C {(echo)} {(DQ ('Finished in ') ($ Id.VSub_DollarName '$SECONDS') (' seconds'))})
  ]
)