(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_NAME='> name:NANO_NAME)
          op: assign_op.Equal
          rhs: {<full>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_SRC='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_SRC='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SRC='> name:NANO_SRC)
          op: assign_op.Equal
          rhs: {<'/usr/src'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_TOOLS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_TOOLS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_TOOLS='> name:NANO_TOOLS)
          op: assign_op.Equal
          rhs: {<'tools/tools/nanobsd'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_PACKAGE_DIR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_PACKAGE_DIR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_PACKAGE_DIR='> name:NANO_PACKAGE_DIR)
          op: assign_op.Equal
          rhs: {(${ Id.VSub_Name NANO_SRC) <'/'> (${ Id.VSub_Name NANO_TOOLS) <'/Pkg'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_PACKAGE_LIST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_PACKAGE_LIST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_PACKAGE_LIST='> name:NANO_PACKAGE_LIST)
          op: assign_op.Equal
          rhs: {(DQ <'*'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_PKG_META_BASE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_PKG_META_BASE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_PKG_META_BASE='> name:NANO_PKG_META_BASE)
          op: assign_op.Equal
          rhs: {<'/var/db'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_MAKE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_MAKE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_MAKE='> name:NANO_MAKE)
          op: assign_op.Equal
          rhs: {(DQ <make>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_PMAKE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_PMAKE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_PMAKE='> name:NANO_PMAKE)
          op: assign_op.Equal
          rhs: {(DQ <'make -j 3'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_IMGNAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_IMGNAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_IMGNAME='> name:NANO_IMGNAME)
          op: assign_op.Equal
          rhs: {(DQ <_.disk.full>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CONF_BUILD='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CONF_BUILD='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONF_BUILD='> name:CONF_BUILD)
          op: assign_op.Equal
          rhs: {(SQ <' '>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CONF_INSTALL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CONF_INSTALL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONF_INSTALL='> name:CONF_INSTALL)
          op: assign_op.Equal
          rhs: {(SQ <' '>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CONF_WORLD='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CONF_WORLD='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONF_WORLD='> name:CONF_WORLD)
          op: assign_op.Equal
          rhs: {(SQ <' '>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_KERNEL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_KERNEL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_KERNEL='> name:NANO_KERNEL)
          op: assign_op.Equal
          rhs: {<GENERIC>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_MODULES='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_MODULES='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_MODULES='> name:NANO_MODULES)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_EARLY_CUSTOMIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_EARLY_CUSTOMIZE='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'NANO_EARLY_CUSTOMIZE='>
              name: NANO_EARLY_CUSTOMIZE
            )
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_CUSTOMIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_CUSTOMIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_CUSTOMIZE='> name:NANO_CUSTOMIZE)
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_LATE_CUSTOMIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_LATE_CUSTOMIZE='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'NANO_LATE_CUSTOMIZE='>
              name: NANO_LATE_CUSTOMIZE
            )
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_NEWFS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_NEWFS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_NEWFS='> name:NANO_NEWFS)
          op: assign_op.Equal
          rhs: {(DQ <'-b 4096 -f 512 -i 8192 -U'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_DRIVE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_DRIVE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_DRIVE='> name:NANO_DRIVE)
          op: assign_op.Equal
          rhs: {<ada0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_MEDIASIZE='> name:NANO_MEDIASIZE)
          op: assign_op.Equal
          rhs: {<2000000>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_IMAGES='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_IMAGES='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_IMAGES='> name:NANO_IMAGES)
          op: assign_op.Equal
          rhs: {<2>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_INIT_IMG2='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_INIT_IMG2='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_INIT_IMG2='> name:NANO_INIT_IMG2)
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_CODESIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_CODESIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_CODESIZE='> name:NANO_CODESIZE)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_CONFSIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_CONFSIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_CONFSIZE='> name:NANO_CONFSIZE)
          op: assign_op.Equal
          rhs: {<2048>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_DATASIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_DATASIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_DATASIZE='> name:NANO_DATASIZE)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_RAM_ETCSIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_RAM_ETCSIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_RAM_ETCSIZE='> name:NANO_RAM_ETCSIZE)
          op: assign_op.Equal
          rhs: {<10240>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_RAM_TMPVARSIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_RAM_TMPVARSIZE='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'NANO_RAM_TMPVARSIZE='>
              name: NANO_RAM_TMPVARSIZE
            )
          op: assign_op.Equal
          rhs: {<10240>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_SECTS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_SECTS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SECTS='> name:NANO_SECTS)
          op: assign_op.Equal
          rhs: {<63>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_HEADS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_HEADS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_HEADS='> name:NANO_HEADS)
          op: assign_op.Equal
          rhs: {<16>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_BOOT0CFG='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_BOOT0CFG='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_BOOT0CFG='> name:NANO_BOOT0CFG)
          op: assign_op.Equal
          rhs: {(DQ <'-o packet -s 1 -m 3'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_BOOTLOADER='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_BOOTLOADER='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_BOOTLOADER='> name:NANO_BOOTLOADER)
          op: assign_op.Equal
          rhs: {(DQ <'boot/boot0sio'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_BOOT2CFG='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_BOOT2CFG='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_BOOT2CFG='> name:NANO_BOOT2CFG)
          op: assign_op.Equal
          rhs: {(DQ <'-h -S115200'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_MD_BACKING='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_MD_BACKING='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_MD_BACKING='> name:NANO_MD_BACKING)
          op: assign_op.Equal
          rhs: {(DQ <file>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_IMAGE_MBRONLY='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_IMAGE_MBRONLY='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_IMAGE_MBRONLY='> name:NANO_IMAGE_MBRONLY)
          op: assign_op.Equal
          rhs: {<true>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PPLEVEL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PPLEVEL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PPLEVEL='> name:PPLEVEL)
          op: assign_op.Equal
          rhs: {<3>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_LABEL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_LABEL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_LABEL='> name:NANO_LABEL)
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_SLICE_ROOT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_SLICE_ROOT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SLICE_ROOT='> name:NANO_SLICE_ROOT)
          op: assign_op.Equal
          rhs: {<s1>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_SLICE_ALTROOT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_SLICE_ALTROOT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SLICE_ALTROOT='> name:NANO_SLICE_ALTROOT)
          op: assign_op.Equal
          rhs: {<s2>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_SLICE_CFG='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_SLICE_CFG='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SLICE_CFG='> name:NANO_SLICE_CFG)
          op: assign_op.Equal
          rhs: {<s3>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_SLICE_DATA='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_SLICE_DATA='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SLICE_DATA='> name:NANO_SLICE_DATA)
          op: assign_op.Equal
          rhs: {<s4>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_ROOT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_ROOT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_ROOT='> name:NANO_ROOT)
          op: assign_op.Equal
          rhs: {<s1a>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_ALTROOT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_ALTROOT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_ALTROOT='> name:NANO_ALTROOT)
          op: assign_op.Equal
          rhs: {<s2a>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_DEF_UNAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_DEF_UNAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_DEF_UNAME='> name:NANO_DEF_UNAME)
          op: assign_op.Equal
          rhs: {<root>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_DEF_GNAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_DEF_GNAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_DEF_GNAME='> name:NANO_DEF_GNAME)
          op: assign_op.Equal
          rhs: {<wheel>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_ARCH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_ARCH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_ARCH='> name:NANO_ARCH)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    blame_tok: <uname>
                    more_env: []
                    words: [{<uname>} {<-p>}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_CPUTYPE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_CPUTYPE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_CPUTYPE='> name:NANO_CPUTYPE)
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_CFGDIR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_CFGDIR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_CFGDIR='> name:NANO_CFGDIR)
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NANO_DATADIR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NANO_DATADIR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_DATADIR='> name:NANO_DATADIR)
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SRCCONF='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SRCCONF='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCCONF='> name:SRCCONF)
          op: assign_op.Equal
          rhs: {<'/dev/null'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SRC_ENV_CONF='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SRC_ENV_CONF='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRC_ENV_CONF='> name:SRC_ENV_CONF)
          op: assign_op.Equal
          rhs: {<'/dev/null'>}
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name_tok: <make_export>
      name: make_export
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'var='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'var='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'var='> name:var)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'val='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\$'>
                    ch: '$'
                  ) ($ Id.VSub_DollarName var)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'Setting variable: '> ($ Id.VSub_DollarName var) <'='> 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\"'>
                      ch: '"'
                    ) ($ Id.VSub_DollarName val) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export>
              more_env: []
              words: [{<export>} {($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <nano_make_build_env>
      name: nano_make_build_env
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike '__MAKE_CONF='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '__MAKE_CONF='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '__MAKE_CONF='> name:__MAKE_CONF)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name NANO_MAKE_CONF_BUILD))}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <make_export>
              more_env: []
              words: [{<make_export>} {<__MAKE_CONF>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <nano_make_install_env>
      name: nano_make_install_env
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike '__MAKE_CONF='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '__MAKE_CONF='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '__MAKE_CONF='> name:__MAKE_CONF)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name NANO_MAKE_CONF_INSTALL))}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <make_export>
              more_env: []
              words: [{<make_export>} {<__MAKE_CONF>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <nano_make_kernel_env>
      name: nano_make_kernel_env
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {<-f>}
                                {(${ Id.VSub_Name NANO_KERNEL)}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'KERNCONFDIR='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'KERNCONFDIR='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'KERNCONFDIR='>
                              name: KERNCONFDIR
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Simple
                                      blame_tok: <realpath>
                                      more_env: []
                                      words: [
                                        {<realpath>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                blame_tok: <dirname>
                                                more_env: []
                                                words: [{<dirname>} {(${ Id.VSub_Name NANO_KERNEL)}]
                                                redirects: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'KERNCONF='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'KERNCONF='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KERNCONF='> name:KERNCONF)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Simple
                                      blame_tok: <basename>
                                      more_env: []
                                      words: [{<basename>} {(${ Id.VSub_Name NANO_KERNEL)}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <make_export>
                      more_env: []
                      words: [{<make_export>} {<KERNCONFDIR>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <make_export>
                      more_env: []
                      words: [{<make_export>} {<KERNCONF>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [684 698]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <export>
                  more_env: []
                  words: [{<export>} {<Id.Lit_VarLike 'KERNCONF='> (DQ (${ Id.VSub_Name NANO_KERNEL))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <make_export>
                  more_env: []
                  words: [{<make_export>} {<KERNCONF>}]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <nano_global_make_env>
      name: nano_global_make_env
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.AndOr
                  children: [
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-z>}
                        {(DQ (${ Id.VSub_Name NANO_ARCH))}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {<Id.Lit_VarLike 'TARGET_ARCH='> (DQ (${ Id.VSub_Name NANO_ARCH))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_DPipe _>]
                )
                (command.AndOr
                  children: [
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-z>}
                        {(DQ (${ Id.VSub_Name NANO_CPUTYPE))}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {<Id.Lit_VarLike 'TARGET_CPUTYPE='> (DQ (${ Id.VSub_Name NANO_CPUTYPE))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_DPipe _>]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <rm>
      name: rm
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'NANO RM '> ($ Id.VSub_Star '*'))}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <uname>
                            more_env: []
                            words: [{<uname>} {<-r>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <7>
                  pattern: 
                    (pat.Words
                      words: [{<7> <Id.Lit_Star '*'>} {<8> <Id.Lit_Star '*'>} {<9> <Id.Lit_Star '*'>}]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <command>
                      more_env: []
                      words: [{<command>} {<rm>} {($ Id.VSub_Star '*')}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <command>
                      more_env: []
                      words: [{<command>} {<rm>} {<-x>} {($ Id.VSub_Star '*')}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <tgt_touch>
      name: tgt_touch
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <cd>
                  more_env: []
                  words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                  redirects: []
                  do_fork: T
                )
                (command.ForEach
                  keyword: <Id.KW_For for>
                  iter_names: [i]
                  iterable: (for_iter__Args)
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.Simple
                          blame_tok: <touch>
                          more_env: []
                          words: [{<touch>} {($ Id.VSub_DollarName i)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'./'> (${ Id.VSub_Name i) <' type=file'>)}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name NANO_METALOG)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <tgt_dir2symlink>
      name: tgt_dir2symlink
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'dir='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'dir='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 1)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'symlink='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'symlink='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'symlink='> name:symlink)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 2)}
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <cd>
                  more_env: []
                  words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <rm>
                  more_env: []
                  words: [{<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName dir))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <ln>
                  more_env: []
                  words: [
                    {<ln>}
                    {<-s>}
                    {(DQ ($ Id.VSub_DollarName symlink))}
                    {(DQ ($ Id.VSub_DollarName dir))}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<-n>}
                                    {(DQ ($ Id.VSub_DollarName NANO_METALOG))}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'./'> (${ Id.VSub_Name dir) <' type=link mode=0777 link='> 
                                (${ Id.VSub_Name symlink)
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name NANO_METALOG)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [1029 1042]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <CR>
      name: CR
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <chroot>
              more_env: []
              words: [
                {<chroot>}
                {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                {<'/bin/sh'>}
                {<-exc>}
                {(DQ ($ Id.VSub_Star '*'))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <CR0>
      name: CR0
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <chroot>
                  more_env: []
                  words: [
                    {<chroot>}
                    {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                    {<'/bin/sh'>}
                    {<-c>}
                    {(DQ ($ Id.VSub_Star '*'))}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <true>
                  more_env: []
                  words: [{<true>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <nano_cleanup>
      name: nano_cleanup
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.AndOr
                  children: [
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {($ Id.VSub_QMark '?')}
                        {<-eq>}
                        {<0>}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Error encountered.  Check for errors in last log file.'>)}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_DPipe _>]
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Exit exit>
                  arg_word: {($ Id.VSub_QMark '?')}
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <clean_build>
      name: clean_build
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<2>}
                    {
                      (DQ <'Clean and create object directory ('> (${ Id.VSub_Name MAKEOBJDIRPREFIX) 
                        <')'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  negated: <Id.KW_Bang '!'>
                                  children: [
                                    (command.Simple
                                      blame_tok: <rm>
                                      more_env: []
                                      words: [{<rm>} {<-rf>} {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/'>}]
                                      redirects: [
                                        (Redir
                                          op: <Id.Redir_Great '>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                        (Redir
                                          op: <Id.Redir_GreatAnd '2>&'>
                                          loc: (redir_loc.Fd fd:2)
                                          arg: {<1>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                  ]
                                  ops: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <chflags>
                          more_env: []
                          words: [
                            {<chflags>}
                            {<-R>}
                            {<noschg>}
                            {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <rm>
                          more_env: []
                          words: [{<rm>} {<-r>} {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/'>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      spids: [1197 1219]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <make_conf_build>
      name: make_conf_build
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<2>}
                    {
                      (DQ <'Construct build make.conf ('> ($ Id.VSub_DollarName NANO_MAKE_CONF_BUILD) 
                        <')'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mkdir>
                  more_env: []
                  words: [{<mkdir>} {<-p>} {(${ Id.VSub_Name MAKEOBJDIRPREFIX)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <printenv>
                  more_env: []
                  words: [{<printenv>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/_.env'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_global_make_env>
                          more_env: []
                          words: [{<nano_global_make_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name CONF_WORLD))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name CONF_BUILD))}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_MAKE_CONF_BUILD)}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <build_world>
      name: build_world
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'run buildworld'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/_.bw'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_make_build_env>
                          more_env: []
                          words: [{<nano_make_build_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <set>
                          more_env: []
                          words: [{<set>} {<-o>} {<xtrace>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_SRC))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [{(${ Id.VSub_Name NANO_PMAKE)} {<buildworld>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/_.bw'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <build_kernel>
      name: build_kernel
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [{<local>} {<extra>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<2>}
                    {(DQ <'build kernel ('> ($ Id.VSub_DollarName NANO_KERNEL) <')'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/_.bk'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_make_build_env>
                          more_env: []
                          words: [{<nano_make_build_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <nano_make_kernel_env>
                          more_env: []
                          words: [{<nano_make_kernel_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <set>
                          more_env: []
                          words: [{<set>} {<-o>} {<xtrace>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_SRC))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [{(${ Id.VSub_Name NANO_PMAKE)} {<buildkernel>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/_.bk'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <clean_world>
      name: clean_world
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {(DQ (${ Id.VSub_Name NANO_OBJ))}
                                {<Id.KW_Bang '!'> <Id.Lit_Equals '='>}
                                {(DQ (${ Id.VSub_Name MAKEOBJDIRPREFIX))}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <pprint>
                      more_env: []
                      words: [
                        {<pprint>}
                        {<2>}
                        {
                          (DQ <'Clean and create object directory ('> (${ Id.VSub_Name NANO_OBJ) <')'>)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Pipeline
                                      negated: <Id.KW_Bang '!'>
                                      children: [
                                        (command.Simple
                                          blame_tok: <rm>
                                          more_env: []
                                          words: [{<rm>} {<-rf>} {(${ Id.VSub_Name NANO_OBJ) <'/'>}]
                                          redirects: [
                                            (Redir
                                              op: <Id.Redir_Great '>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<'/dev/null'>}
                                            )
                                            (Redir
                                              op: <Id.Redir_GreatAnd '2>&'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<1>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      ]
                                      ops: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <chflags>
                              more_env: []
                              words: [{<chflags>} {<-R>} {<noschg>} {(${ Id.VSub_Name NANO_OBJ)}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <rm>
                              more_env: []
                              words: [{<rm>} {<-r>} {(${ Id.VSub_Name NANO_OBJ) <'/'>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          spids: [1560 1582]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <mkdir>
                      more_env: []
                      words: [
                        {<mkdir>}
                        {<-p>}
                        {(DQ (${ Id.VSub_Name NANO_OBJ))}
                        {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <printenv>
                      more_env: []
                      words: [{<printenv>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(${ Id.VSub_Name NANO_LOG) <'/_.env'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1522 1544]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<2>}
                    {
                      (DQ <'Clean and create world directory ('> (${ Id.VSub_Name NANO_WORLDDIR) <')'>)
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  negated: <Id.KW_Bang '!'>
                                  children: [
                                    (command.Simple
                                      blame_tok: <rm>
                                      more_env: []
                                      words: [{<rm>} {<-rf>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR) <'/'>)}]
                                      redirects: [
                                        (Redir
                                          op: <Id.Redir_Great '>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                        (Redir
                                          op: <Id.Redir_GreatAnd '2>&'>
                                          loc: (redir_loc.Fd fd:2)
                                          arg: {<1>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                  ]
                                  ops: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <chflags>
                          more_env: []
                          words: [{<chflags>} {<-R>} {<noschg>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <rm>
                          more_env: []
                          words: [{<rm>} {<-rf>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR) <'/'>)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      spids: [1652 1676]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
                (command.Simple
                  blame_tok: <mkdir>
                  more_env: []
                  words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <make_conf_install>
      name: make_conf_install
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<2>}
                    {
                      (DQ <'Construct install make.conf ('> 
                        ($ Id.VSub_DollarName NANO_MAKE_CONF_INSTALL) <')'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_global_make_env>
                          more_env: []
                          words: [{<nano_global_make_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name CONF_WORLD))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name CONF_INSTALL))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {<-n>}
                                            {(DQ (${ Id.VSub_Name NANO_NOPRIV_BUILD))}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {<Id.Lit_VarLike 'NO_ROOT='> <t>}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [
                                    {<echo>}
                                    {<Id.Lit_VarLike 'METALOG='> (${ Id.VSub_Name NANO_METALOG)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [1776 1791]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_MAKE_CONF_INSTALL)}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <install_world>
      name: install_world
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <installworld>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.iw'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_make_install_env>
                          more_env: []
                          words: [{<nano_make_install_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <set>
                          more_env: []
                          words: [{<set>} {<-o>} {<xtrace>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_SRC))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [
                            {(${ Id.VSub_Name NANO_MAKE)}
                            {<installworld>}
                            {<Id.Lit_VarLike 'DESTDIR='> (DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <chflags>
                          more_env: []
                          words: [{<chflags>} {<-R>} {<noschg>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_LOG) <'/_.iw'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <install_etc>
      name: install_etc
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'install /etc'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.etc'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_make_install_env>
                          more_env: []
                          words: [{<nano_make_install_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <set>
                          more_env: []
                          words: [{<set>} {<-o>} {<xtrace>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_SRC))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [
                            {(${ Id.VSub_Name NANO_MAKE)}
                            {<distribution>}
                            {<Id.Lit_VarLike 'DESTDIR='> (DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cp>
                          more_env: []
                          words: [
                            {<cp>}
                            {<'/dev/null'>}
                            {(DQ (${ Id.VSub_Name NANO_WORLDDIR)) <'/etc/make.conf'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_LOG) <'/_.etc'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <install_kernel>
      name: install_kernel
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [{<local>} {<extra>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<2>}
                    {(DQ <'install kernel ('> ($ Id.VSub_DollarName NANO_KERNEL) <')'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.ik'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_make_install_env>
                          more_env: []
                          words: [{<nano_make_install_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <nano_make_kernel_env>
                          more_env: []
                          words: [{<nano_make_kernel_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {(DQ (${ Id.VSub_Name NANO_MODULES))}
                                            {<Id.KW_Bang '!'> <Id.Lit_Equals '='>}
                                            {(DQ <default>)}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'MODULES_OVERRIDE='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'MODULES_OVERRIDE='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'MODULES_OVERRIDE='>
                                          name: MODULES_OVERRIDE
                                        )
                                      op: assign_op.Equal
                                      rhs: {(DQ (${ Id.VSub_Name NANO_MODULES))}
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.Simple
                                  blame_tok: <make_export>
                                  more_env: []
                                  words: [{<make_export>} {<MODULES_OVERRIDE>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [2073 2093]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <set>
                          more_env: []
                          words: [{<set>} {<-o>} {<xtrace>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_SRC))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [
                            {(${ Id.VSub_Name NANO_MAKE)}
                            {<installkernel>}
                            {<Id.Lit_VarLike 'DESTDIR='> (DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_LOG) <'/_.ik'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <native_xtools>
      name: native_xtools
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <print>
                  more_env: []
                  words: [
                    {<print>}
                    {<2>}
                    {(DQ <'Installing the optimized native build tools for cross env'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [
                    {<pprint>}
                    {<3>}
                    {(DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.native_xtools'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <nano_make_install_env>
                          more_env: []
                          words: [{<nano_make_install_env>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <set>
                          more_env: []
                          words: [{<set>} {<-o>} {<xtrace>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_SRC))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [
                            {(${ Id.VSub_Name NANO_MAKE)}
                            {<native-xtools>}
                            {<Id.Lit_VarLike 'DESTDIR='> (DQ (${ Id.VSub_Name NANO_WORLDDIR))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_LOG) <'/_.native_xtools'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <run_early_customize>
      name: run_early_customize
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <pprint>
              more_env: []
              words: [{<pprint>} {<2>} {(DQ <'run early customize scripts'>)}]
              redirects: []
              do_fork: T
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [c]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName NANO_EARLY_CUSTOMIZE)}])
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <pprint>
                      more_env: []
                      words: [
                        {<pprint>}
                        {<2>}
                        {
                          (DQ <'early customize '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\"'>
                              ch: '"'
                            ) ($ Id.VSub_DollarName c) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <pprint>
                      more_env: []
                      words: [
                        {<pprint>}
                        {<3>}
                        {
                          (DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.early_cust.'> 
                            ($ Id.VSub_DollarName c)
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <pprint>
                      more_env: []
                      words: [
                        {<pprint>}
                        {<4>}
                        {
                          (DQ 
                            (CommandSub
                              left_token: <Id.Left_Backtick '`'>
                              child: 
                                (command.Simple
                                  blame_tok: <type>
                                  more_env: []
                                  words: [{<type>} {($ Id.VSub_DollarName c)}]
                                  redirects: []
                                  do_fork: T
                                )
                              right: <Id.Backtick_Right '`'>
                            )
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (BraceGroup
                      left: <Id.Lit_LBrace '{'>
                      children: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <set>
                              more_env: []
                              words: [{<set>} {<-x>}]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.VSub_DollarName '$c'>
                              more_env: []
                              words: [{($ Id.VSub_DollarName c)}]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <set>
                              more_env: []
                              words: [{<set>} {<Id.Lit_Other '+'> <x>}]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(${ Id.VSub_Name NANO_LOG) <'/_.early_cust.'> ($ Id.VSub_DollarName c)}
                        )
                        (Redir
                          op: <Id.Redir_GreatAnd '2>&'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<1>}
                        )
                      ]
                      right: <Id.Lit_RBrace '}'>
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <run_customize>
      name: run_customize
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'run customize scripts'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.ForEach
                  keyword: <Id.KW_For for>
                  iter_names: [c]
                  iterable: (for_iter.Words words:[{($ Id.VSub_DollarName NANO_CUSTOMIZE)}])
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.Simple
                          blame_tok: <pprint>
                          more_env: []
                          words: [
                            {<pprint>}
                            {<2>}
                            {
                              (DQ <'customize '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) ($ Id.VSub_DollarName c) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <pprint>
                          more_env: []
                          words: [
                            {<pprint>}
                            {<3>}
                            {
                              (DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.cust.'> 
                                ($ Id.VSub_DollarName c)
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <pprint>
                          more_env: []
                          words: [
                            {<pprint>}
                            {<4>}
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Simple
                                      blame_tok: <type>
                                      more_env: []
                                      words: [{<type>} {($ Id.VSub_DollarName c)}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <set>
                                      more_env: []
                                      words: [{<set>} {<-x>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Simple
                                  blame_tok: <Id.VSub_DollarName '$c'>
                                  more_env: []
                                  words: [{($ Id.VSub_DollarName c)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name NANO_LOG) <'/_.cust.'> ($ Id.VSub_DollarName c)}
                            )
                            (Redir
                              op: <Id.Redir_GreatAnd '2>&'>
                              loc: (redir_loc.Fd fd:2)
                              arg: {<1>}
                            )
                          ]
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <run_late_customize>
      name: run_late_customize
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'run late customize scripts'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.ForEach
                  keyword: <Id.KW_For for>
                  iter_names: [c]
                  iterable: (for_iter.Words words:[{($ Id.VSub_DollarName NANO_LATE_CUSTOMIZE)}])
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.Simple
                          blame_tok: <pprint>
                          more_env: []
                          words: [
                            {<pprint>}
                            {<2>}
                            {
                              (DQ <'late customize '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) ($ Id.VSub_DollarName c) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <pprint>
                          more_env: []
                          words: [
                            {<pprint>}
                            {<3>}
                            {
                              (DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.late_cust.'> 
                                ($ Id.VSub_DollarName c)
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <pprint>
                          more_env: []
                          words: [
                            {<pprint>}
                            {<4>}
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Simple
                                      blame_tok: <type>
                                      more_env: []
                                      words: [{<type>} {($ Id.VSub_DollarName c)}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <set>
                                      more_env: []
                                      words: [{<set>} {<-x>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Simple
                                  blame_tok: <Id.VSub_DollarName '$c'>
                                  more_env: []
                                  words: [{($ Id.VSub_DollarName c)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {(${ Id.VSub_Name NANO_LOG) <'/_.late_cust.'> ($ Id.VSub_DollarName c)}
                            )
                            (Redir
                              op: <Id.Redir_GreatAnd '2>&'>
                              loc: (redir_loc.Fd fd:2)
                              arg: {<1>}
                            )
                          ]
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <fixup_before_diskimage>
      name: fixup_before_diskimage
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {<-n>}
                                {(DQ (${ Id.VSub_Name NANO_METALOG))}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <pprint>
                      more_env: []
                      words: [{<pprint>} {<2>} {(DQ <'Fixing metalog'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [
                        {<cp>}
                        {(${ Id.VSub_Name NANO_METALOG)}
                        {(${ Id.VSub_Name NANO_METALOG) <.pre>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ <'/set uname='> (${ Id.VSub_Name NANO_DEF_UNAME) <' gname='> 
                            (${ Id.VSub_Name NANO_DEF_GNAME)
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(${ Id.VSub_Name NANO_METALOG)}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <cat>
                          more_env: []
                          words: [{<cat>} {(${ Id.VSub_Name NANO_METALOG) <.pre>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Left_DollarBrace '${'>
                          more_env: []
                          words: [{(${ Id.VSub_Name NANO_TOOLS) <'/mtree-dedup.awk'>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <sed>
                          more_env: []
                          words: [{<sed>} {<-e>} {(SQ <'s/ size=[0-9][0-9]*//'>)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <sort>
                          more_env: []
                          words: [{<sort>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name NANO_METALOG)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>]
                    )
                  ]
                  spids: [2655 2670]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <setup_nanobsd>
      name: setup_nanobsd
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'configure nanobsd setup'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.dl'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {<-d>}
                                            {<'usr/local/etc'>}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Subshell
                                  left: <Id.Op_LParen _>
                                  child: 
                                    (command.CommandList
                                      children: [
                                        (command.Simple
                                          blame_tok: <mkdir>
                                          more_env: []
                                          words: [{<mkdir>} {<-p>} {<'etc/local'>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <cd>
                                          more_env: []
                                          words: [{<cd>} {<'usr/local/etc'>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Pipeline
                                          children: [
                                            (command.Simple
                                              blame_tok: <find>
                                              more_env: []
                                              words: [{<find>} {<.>} {<-print>}]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <cpio>
                                              more_env: []
                                              words: [{<cpio>} {<-dumpl>} {<'../../../etc/local'>}]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          ops: [<Id.Op_Pipe _>]
                                        )
                                        (command.Simple
                                          blame_tok: <cd>
                                          more_env: []
                                          words: [{<cd>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <rm>
                                          more_env: []
                                          words: [{<rm>} {<-rf>} {<etc>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <ln>
                                          more_env: []
                                          words: [{<ln>} {<-s>} {<'../../etc/local'>} {<etc>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                    )
                                  right: <Id.Right_Subshell _>
                                  redirects: []
                                )
                              ]
                              spids: [2813 2825]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.ForEach
                          keyword: <Id.KW_For for>
                          iter_names: [d]
                          iterable: (for_iter.Words words:[{<Id.KW_Var var>} {<etc>}])
                          body: 
                            (command.DoGroup
                              left: <Id.KW_Do do>
                              children: [
                                (command.Simple
                                  blame_tok: <mkdir>
                                  more_env: []
                                  words: [
                                    {<mkdir>}
                                    {<-p>}
                                    {<'conf/base/'> ($ Id.VSub_DollarName d)}
                                    {<'conf/default/'> ($ Id.VSub_DollarName d)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      blame_tok: <find>
                                      more_env: []
                                      words: [{<find>} {($ Id.VSub_DollarName d)} {<-print>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <cpio>
                                      more_env: []
                                      words: [{<cpio>} {<-dumpl>} {<'conf/base/'>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  ops: [<Id.Op_Pipe _>]
                                )
                              ]
                              right: <Id.KW_Done done>
                            )
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ ($ Id.VSub_DollarName NANO_RAM_ETCSIZE))}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'conf/base/etc/md_size'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ ($ Id.VSub_DollarName NANO_RAM_TMPVARSIZE))}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'conf/base/var/md_size'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'mount -o ro /dev/'> (${ Id.VSub_Name NANO_DRIVE) 
                                (${ Id.VSub_Name NANO_SLICE_CFG)
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'conf/default/etc/remount'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <tgt_dir2symlink>
                          more_env: []
                          words: [{<tgt_dir2symlink>} {<tmp>} {<'var/tmp'>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_LOG) <'/_.dl'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <setup_nanobsd_etc>
      name: setup_nanobsd_etc
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'configure nanobsd /etc'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_WORLDDIR))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <touch>
                          more_env: []
                          words: [{<touch>} {<'etc/diskless'>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.AndOr
                          children: [
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {<-n>}
                                {(DQ (${ Id.VSub_Name NANO_NOPRIV_BUILD))}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <chmod>
                              more_env: []
                              words: [{<chmod>} {<666>} {<'etc/defaults/rc.conf'>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_DAmp _>]
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'root_rw_mount=NO'>)}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'etc/defaults/rc.conf'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'entropy_file=NO'>)}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'etc/defaults/rc.conf'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.AndOr
                          children: [
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {<-n>}
                                {(DQ (${ Id.VSub_Name NANO_NOPRIV_BUILD))}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <chmod>
                              more_env: []
                              words: [{<chmod>} {<444>} {<'etc/defaults/rc.conf'>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_DAmp _>]
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'NANO_DRIVE='> (${ Id.VSub_Name NANO_DRIVE))}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'etc/nanobsd.conf'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'/dev/'> (${ Id.VSub_Name NANO_DRIVE) (${ Id.VSub_Name NANO_ROOT) 
                                <' / ufs ro 1 1'>
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'etc/fstab'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'/dev/'> (${ Id.VSub_Name NANO_DRIVE) 
                                (${ Id.VSub_Name NANO_SLICE_CFG) <' /cfg ufs rw,noauto 2 2'>
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'etc/fstab'>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <mkdir>
                          more_env: []
                          words: [{<mkdir>} {<-p>} {<cfg>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <prune_usr>
      name: prune_usr
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <find>
                  more_env: []
                  words: [
                    {<find>}
                    {(DQ (${ Id.VSub_Name NANO_WORLDDIR)) <'/usr'>}
                    {<-type>}
                    {<d>}
                    {<-depth>}
                    {<-print>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.WhileUntil
                  keyword: <Id.KW_While while>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <read>
                          more_env: []
                          words: [{<read>} {<d>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.AndOr
                          children: [
                            (command.Simple
                              blame_tok: <rmdir>
                              more_env: []
                              words: [{<rmdir>} {($ Id.VSub_DollarName d)}]
                              redirects: [
                                (Redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                                (Redir
                                  op: <Id.Redir_GreatAnd '2>&'>
                                  loc: (redir_loc.Fd fd:2)
                                  arg: {<1>}
                                )
                              ]
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <true>
                              more_env: []
                              words: [{<true>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_DPipe _>]
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <newfs_part>
      name: newfs_part
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [{<local>} {<dev>} {<mnt>} {<lbl>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'dev='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'dev='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dev='> name:dev)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 1)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'mnt='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'mnt='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mnt='> name:mnt)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 2)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'lbl='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'lbl='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lbl='> name:lbl)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 3)}
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {<newfs>}
                    {(${ Id.VSub_Name NANO_NEWFS)}
                    {
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name NANO_LABEL>
                        var_name: NANO_LABEL
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VTest_ColonPlus _>
                            arg_word: {<-L> (${ Id.VSub_Name NANO_LABEL) (${ Id.VSub_Name lbl)}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                    {(${ Id.VSub_Name dev)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <newfs>
                  more_env: []
                  words: [
                    {<newfs>}
                    {(${ Id.VSub_Name NANO_NEWFS)}
                    {
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name NANO_LABEL>
                        var_name: NANO_LABEL
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VTest_ColonPlus _>
                            arg_word: {<-L> (${ Id.VSub_Name NANO_LABEL) (${ Id.VSub_Name lbl)}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                    {(${ Id.VSub_Name dev)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mount>
                  more_env: []
                  words: [{<mount>} {<-o>} {<async>} {(${ Id.VSub_Name dev)} {(${ Id.VSub_Name mnt)}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <nano_umount>
      name: nano_umount
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.Simple
              blame_tok: <umount>
              more_env: []
              words: [{<umount>} {(${ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <populate_slice>
      name: populate_slice
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [{<local>} {<dev>} {<dir>} {<mnt>} {<lbl>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'dev='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'dev='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dev='> name:dev)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 1)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'dir='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'dir='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 2)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'mnt='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'mnt='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mnt='> name:mnt)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 3)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'lbl='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'lbl='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lbl='> name:lbl)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 4)}
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {
                      (DQ <'Creating '> (${ Id.VSub_Name dev) <' (mounting on '> (${ Id.VSub_Name mnt) 
                        <')'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <newfs_part>
                  more_env: []
                  words: [
                    {<newfs_part>}
                    {(${ Id.VSub_Name dev)}
                    {(${ Id.VSub_Name mnt)}
                    {(${ Id.VSub_Name lbl)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<-n>}
                                    {(DQ (${ Id.VSub_Name dir))}
                                    {<-a>}
                                    {<-d>}
                                    {(DQ (${ Id.VSub_Name dir))}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'Populating '> (${ Id.VSub_Name lbl) <' from '> (${ Id.VSub_Name dir))
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cd>
                          more_env: []
                          words: [{<cd>} {(DQ (${ Id.VSub_Name dir))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Pipeline
                          children: [
                            (command.Simple
                              blame_tok: <find>
                              more_env: []
                              words: [{<find>} {<.>} {<-print>}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <grep>
                              more_env: []
                              words: [{<grep>} {<-Ev>} {(SQ <'/(CVS|\\.svn|\\.hg|\\.git)'>)}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <cpio>
                              more_env: []
                              words: [{<cpio>} {<-dumpv>} {(${ Id.VSub_Name mnt)}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                        )
                      ]
                      spids: [3448 3473]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
                (command.Simple
                  blame_tok: <df>
                  more_env: []
                  words: [{<df>} {<-i>} {(${ Id.VSub_Name mnt)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <nano_umount>
                  more_env: []
                  words: [{<nano_umount>} {(${ Id.VSub_Name mnt)}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <populate_cfg_slice>
      name: populate_cfg_slice
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.Simple
              blame_tok: <populate_slice>
              more_env: []
              words: [
                {<populate_slice>}
                {(DQ ($ Id.VSub_Number 1))}
                {(DQ ($ Id.VSub_Number 2))}
                {(DQ ($ Id.VSub_Number 3))}
                {(DQ ($ Id.VSub_Number 4))}
              ]
              redirects: []
              do_fork: T
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <populate_data_slice>
      name: populate_data_slice
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.Simple
              blame_tok: <populate_slice>
              more_env: []
              words: [
                {<populate_slice>}
                {(DQ ($ Id.VSub_Number 1))}
                {(DQ ($ Id.VSub_Number 2))}
                {(DQ ($ Id.VSub_Number 3))}
                {(DQ ($ Id.VSub_Number 4))}
              ]
              redirects: []
              do_fork: T
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <create_diskimage>
      name: create_diskimage
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<2>} {(DQ <'build diskimage'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <pprint>
                  more_env: []
                  words: [{<pprint>} {<3>} {(DQ <'log: '> (${ Id.VSub_Name NANO_LOG) <'/_.di'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Subshell
                  left: <Id.Op_LParen _>
                  child: 
                    (command.CommandList
                      children: [
                        (command.Pipeline
                          children: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {($ Id.VSub_DollarName NANO_MEDIASIZE)}
                                {($ Id.VSub_DollarName NANO_IMAGES)}
                                {($ Id.VSub_DollarName NANO_SECTS)}
                                {($ Id.VSub_DollarName NANO_HEADS)}
                                {($ Id.VSub_DollarName NANO_CODESIZE)}
                                {($ Id.VSub_DollarName NANO_CONFSIZE)}
                                {($ Id.VSub_DollarName NANO_DATASIZE)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <awk>
                              more_env: []
                              words: [
                                {<awk>}
                                {
                                  (SQ <'\n'> <'\t{\n'> <'\t\tprintf "# %s\\n", $0\n'> <'\n'> 
                                    <'\t\t# size of cylinder in sectors\n'> <'\t\tcs = $3 * $4\n'> <'\n'> <'\t\t# number of full cylinders on media\n'> 
                                    <'\t\tcyl = int ($1 / cs)\n'> <'\n'> <'\t\t# output fdisk geometry spec, truncate cyls to 1023\n'> <'\t\tif (cyl <= 1023)\n'> 
                                    <'\t\t\tprint "g c" cyl " h" $4 " s" $3\n'> <'\t\telse\n'> <'\t\t\tprint "g c" 1023 " h" $4 " s" $3\n'> <'\n'> <'\t\tif ($7 > 0) {\n'> 
                                    <'\t\t\t# size of data partition in full cylinders\n'> <'\t\t\tdsl = int (($7 + cs - 1) / cs)\n'> <'\t\t} else {\n'> <'\t\t\tdsl = 0;\n'> <'\t\t}\n'> <'\n'> 
                                    <'\t\t# size of config partition in full cylinders\n'> <'\t\tcsl = int (($6 + cs - 1) / cs)\n'> <'\n'> <'\t\tif ($5 == 0) {\n'> 
                                    <'\t\t\t# size of image partition(s) in full cylinders\n'> <'\t\t\tisl = int ((cyl - dsl - csl) / $2)\n'> <'\t\t} else {\n'> 
                                    <'\t\t\tisl = int (($5 + cs - 1) / cs)\n'> <'\t\t}\n'> <'\n'> <'\t\t# First image partition start at second track\n'> 
                                    <'\t\tprint "p 1 165 " $3, isl * cs - $3\n'> <'\t\tc = isl * cs;\n'> <'\n'> <'\t\t# Second image partition (if any) also starts offset one\n'> 
                                    <'\t\t# track to keep them identical.\n'> <'\t\tif ($2 > 1) {\n'> <'\t\t\tprint "p 2 165 " $3 + c, isl * cs - $3\n'> <'\t\t\tc += isl * cs;\n'> 
                                    <'\t\t}\n'> <'\n'> <'\t\t# Config partition starts at cylinder boundary.\n'> <'\t\tprint "p 3 165 " c, csl * cs\n'> 
                                    <'\t\tc += csl * cs\n'> <'\n'> <'\t\t# Data partition (if any) starts at cylinder boundary.\n'> <'\t\tif ($7 > 0) {\n'> 
                                    <'\t\t\tprint "p 4 165 " c, dsl * cs\n'> <'\t\t} else if ($7 < 0 && $1 > c) {\n'> <'\t\t\tprint "p 4 165 " c, $1 - c\n'> 
                                    <'\t\t} else if ($1 < c) {\n'> <'\t\t\tprint "Disk space overcommitted by", \\\n'> <'\t\t\t    c - $1, "sectors" > "/dev/stderr"\n'> 
                                    <'\t\t\texit 2\n'> <'\t\t}\n'> <'\n'> <'\t\t# Force slice 1 to be marked active. This is necessary\n'> 
                                    <'\t\t# for booting the image from a USB device to work.\n'> <'\t\tprint "a 1"\n'> <'\t}\n'> <'\t'>
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(${ Id.VSub_Name NANO_LOG) <'/_.fdisk'>}
                                )
                              ]
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_Pipe _>]
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'IMG='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'IMG='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IMG='> name:IMG)
                              op: assign_op.Equal
                              rhs: 
                                {(${ Id.VSub_Name NANO_DISKIMGDIR) <'/'> 
                                  (${ Id.VSub_Name NANO_IMGNAME)
                                }
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'MNT='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'MNT='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT='> name:MNT)
                              op: assign_op.Equal
                              rhs: {(${ Id.VSub_Name NANO_OBJ) <'/_.mnt'>}
                            )
                          ]
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <mkdir>
                          more_env: []
                          words: [{<mkdir>} {<-p>} {(${ Id.VSub_Name MNT)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {(DQ (${ Id.VSub_Name NANO_MD_BACKING))}
                                            {<Id.Lit_Equals '='>}
                                            {(DQ <swap>)}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'MD='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'MD='>
                                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD='> name:MD)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Simple
                                                blame_tok: <mdconfig>
                                                more_env: []
                                                words: [
                                                  {<mdconfig>}
                                                  {<-a>}
                                                  {<-t>}
                                                  {<swap>}
                                                  {<-s>}
                                                  {(${ Id.VSub_Name NANO_MEDIASIZE)}
                                                  {<-x>}
                                                  {(${ Id.VSub_Name NANO_SECTS)}
                                                  {<-y>}
                                                  {(${ Id.VSub_Name NANO_HEADS)}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            right: <Id.Backtick_Right '`'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [3770 3790]
                            )
                          ]
                          else_kw: <Id.KW_Else else>
                          else_action: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [{<echo>} {(DQ <'Creating md backing file...'>)}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <rm>
                              more_env: []
                              words: [{<rm>} {<-f>} {(${ Id.VSub_Name IMG)}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <dd>
                              more_env: []
                              words: [
                                {<dd>}
                                {<Id.Lit_VarLike 'if='> <'/dev/zero'>}
                                {<Id.Lit_VarLike 'of='> (${ Id.VSub_Name IMG)}
                                {<Id.Lit_VarLike 'seek='> (${ Id.VSub_Name NANO_MEDIASIZE)}
                                {<Id.Lit_VarLike 'count='> <0>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'MD='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'MD='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD='> name:MD)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (CommandSub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Simple
                                            blame_tok: <mdconfig>
                                            more_env: []
                                            words: [
                                              {<mdconfig>}
                                              {<-a>}
                                              {<-t>}
                                              {<vnode>}
                                              {<-f>}
                                              {(${ Id.VSub_Name IMG)}
                                              {<-x>}
                                              {(${ Id.VSub_Name NANO_SECTS)}
                                              {<-y>}
                                              {(${ Id.VSub_Name NANO_HEADS)}
                                            ]
                                            redirects: []
                                            do_fork: T
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <trap>
                          more_env: []
                          words: [
                            {<trap>}
                            {
                              (DQ <'echo \'Running exit trap code\' ; df -i '> (${ Id.VSub_Name MNT) 
                                <' ; nano_umount '> (${ Id.VSub_Name MNT) <' || true ; mdconfig -d -u '> ($ Id.VSub_DollarName MD)
                              )
                            }
                            {<1>}
                            {<2>}
                            {<15>}
                            {<EXIT>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <fdisk>
                          more_env: []
                          words: [
                            {<fdisk>}
                            {<-i>}
                            {<-f>}
                            {(${ Id.VSub_Name NANO_LOG) <'/_.fdisk'>}
                            {(${ Id.VSub_Name MD)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <fdisk>
                          more_env: []
                          words: [{<fdisk>} {(${ Id.VSub_Name MD)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {<-f>}
                                            {(${ Id.VSub_Name NANO_WORLDDIR) <'/'> 
                                              (${ Id.VSub_Name NANO_BOOTLOADER)
                                            }
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <boot0cfg>
                                  more_env: []
                                  words: [
                                    {<boot0cfg>}
                                    {<-B>}
                                    {<-b>}
                                    {(${ Id.VSub_Name NANO_WORLDDIR) <'/'> 
                                      (${ Id.VSub_Name NANO_BOOTLOADER)
                                    }
                                    {(${ Id.VSub_Name NANO_BOOT0CFG)}
                                    {(${ Id.VSub_Name MD)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [3965 3982]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {<-f>}
                                            {(${ Id.VSub_Name NANO_WORLDDIR) <'/boot/boot'>}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <bsdlabel>
                                  more_env: []
                                  words: [
                                    {<bsdlabel>}
                                    {<-w>}
                                    {<-B>}
                                    {<-b>}
                                    {(${ Id.VSub_Name NANO_WORLDDIR) <'/boot/boot'>}
                                    {(${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_SLICE_ROOT)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [4011 4025]
                            )
                          ]
                          else_kw: <Id.KW_Else else>
                          else_action: [
                            (command.Simple
                              blame_tok: <bsdlabel>
                              more_env: []
                              words: [
                                {<bsdlabel>}
                                {<-w>}
                                {(${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_SLICE_ROOT)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <bsdlabel>
                          more_env: []
                          words: [{<bsdlabel>} {(${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_SLICE_ROOT)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <populate_slice>
                          more_env: []
                          words: [
                            {<populate_slice>}
                            {<'/dev/'> (${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_ROOT)}
                            {(${ Id.VSub_Name NANO_WORLDDIR)}
                            {(${ Id.VSub_Name MNT)}
                            {(DQ (${ Id.VSub_Name NANO_ROOT))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <mount>
                          more_env: []
                          words: [
                            {<mount>}
                            {<'/dev/'> (${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_ROOT)}
                            {(${ Id.VSub_Name MNT)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'Generating mtree...'>)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.AndOr
                              children: [
                                (command.Simple
                                  blame_tok: <cd>
                                  more_env: []
                                  words: [{<cd>} {(DQ (${ Id.VSub_Name MNT))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <mtree>
                                  more_env: []
                                  words: [{<mtree>} {<-c>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_DAmp _>]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name NANO_LOG) <'/_.mtree'>}
                            )
                          ]
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.AndOr
                              children: [
                                (command.Simple
                                  blame_tok: <cd>
                                  more_env: []
                                  words: [{<cd>} {(DQ (${ Id.VSub_Name MNT))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <du>
                                  more_env: []
                                  words: [{<du>} {<-k>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_DAmp _>]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name NANO_LOG) <'/_.du'>}
                            )
                          ]
                        )
                        (command.Simple
                          blame_tok: <nano_umount>
                          more_env: []
                          words: [{<nano_umount>} {(DQ (${ Id.VSub_Name MNT))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {($ Id.VSub_DollarName NANO_IMAGES)}
                                            {<-gt>}
                                            {<1>}
                                            {<-a>}
                                            {($ Id.VSub_DollarName NANO_INIT_IMG2)}
                                            {<-gt>}
                                            {<0>}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ <'Duplicating to second image...'>)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <dd>
                                  more_env: []
                                  words: [
                                    {<dd>}
                                    {<Id.Lit_VarLike 'conv='> <sparse>}
                                    {<Id.Lit_VarLike 'if='> <'/dev/'> (${ Id.VSub_Name MD) 
                                      (${ Id.VSub_Name NANO_SLICE_ROOT)
                                    }
                                    {<Id.Lit_VarLike 'of='> <'/dev/'> (${ Id.VSub_Name MD) 
                                      (${ Id.VSub_Name NANO_SLICE_ALTROOT)
                                    }
                                    {<Id.Lit_VarLike 'bs='> <64k>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <mount>
                                  more_env: []
                                  words: [
                                    {<mount>}
                                    {<'/dev/'> (${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_ALTROOT)}
                                    {(${ Id.VSub_Name MNT)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.ForEach
                                  keyword: <Id.KW_For for>
                                  iter_names: [f]
                                  iterable: 
                                    (for_iter.Words
                                      words: [
                                        {(${ Id.VSub_Name MNT) <'/etc/fstab'>}
                                        {(${ Id.VSub_Name MNT) <'/conf/base/etc/fstab'>}
                                      ]
                                    )
                                  body: 
                                    (command.DoGroup
                                      left: <Id.KW_Do do>
                                      children: [
                                        (command.Simple
                                          blame_tok: <sed>
                                          more_env: []
                                          words: [
                                            {<sed>}
                                            {<-i>}
                                            {(DQ )}
                                            {
                                              (DQ <'s='> (${ Id.VSub_Name NANO_DRIVE) 
                                                (${ Id.VSub_Name NANO_SLICE_ROOT) <'='> (${ Id.VSub_Name NANO_DRIVE) (${ Id.VSub_Name NANO_SLICE_ALTROOT) <'=g'>
                                              )
                                            }
                                            {($ Id.VSub_DollarName f)}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      right: <Id.KW_Done done>
                                    )
                                  redirects: []
                                )
                                (command.Simple
                                  blame_tok: <nano_umount>
                                  more_env: []
                                  words: [{<nano_umount>} {(${ Id.VSub_Name MNT)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.If
                                  if_kw: <Id.KW_If if>
                                  arms: [
                                    (IfArm
                                      keyword: <Id.KW_If if>
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.Simple
                                                  blame_tok: <Id.Lit_LBracket '['>
                                                  more_env: []
                                                  words: [
                                                    {<Id.Lit_LBracket '['>}
                                                    {<-n>}
                                                    {(DQ (${ Id.VSub_Name NANO_LABEL))}
                                                    {<Id.Lit_RBracket ']'>}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      then_kw: <Id.KW_Then then>
                                      action: [
                                        (command.Simple
                                          blame_tok: <tunefs>
                                          more_env: []
                                          words: [
                                            {<tunefs>}
                                            {<-L>}
                                            {(${ Id.VSub_Name NANO_LABEL) 
                                              (DQ (${ Id.VSub_Name NANO_ALTROOT))
                                            }
                                            {<'/dev/'> (${ Id.VSub_Name MD) 
                                              (${ Id.VSub_Name NANO_ALTROOT)
                                            }
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      spids: [4335 4350]
                                    )
                                  ]
                                  else_action: []
                                  fi_kw: <Id.KW_Fi fi>
                                  redirects: []
                                )
                              ]
                              spids: [4191 4213]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <populate_cfg_slice>
                          more_env: []
                          words: [
                            {<populate_cfg_slice>}
                            {<'/dev/'> (${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_SLICE_CFG)}
                            {(DQ (${ Id.VSub_Name NANO_CFGDIR))}
                            {(${ Id.VSub_Name MNT)}
                            {(DQ (${ Id.VSub_Name NANO_SLICE_CFG))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {<-n>}
                                            {(DQ ($ Id.VSub_DollarName NANO_SLICE_DATA))}
                                            {<-a>}
                                            {(DQ ($ Id.VSub_DollarName NANO_SLICE_CFG))}
                                            {<Id.Lit_Equals '='>}
                                            {(DQ ($ Id.VSub_DollarName NANO_SLICE_DATA))}
                                            {<-a>}
                                            {(DQ ($ Id.VSub_DollarName NANO_DATASIZE))}
                                            {<-ne>}
                                            {<0>}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <pprint>
                                  more_env: []
                                  words: [
                                    {<pprint>}
                                    {<2>}
                                    {(DQ <'NANO_SLICE_DATA is the same as NANO_SLICE_CFG, fix.'>)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.ControlFlow
                                  keyword: <Id.ControlFlow_Exit exit>
                                  arg_word: {<2>}
                                )
                              ]
                              spids: [4418 4455]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {($ Id.VSub_DollarName NANO_DATASIZE)}
                                            {<-ne>}
                                            {<0>}
                                            {<-a>}
                                            {<-n>}
                                            {(DQ ($ Id.VSub_DollarName NANO_SLICE_DATA))}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <populate_data_slice>
                                  more_env: []
                                  words: [
                                    {<populate_data_slice>}
                                    {<'/dev/'> (${ Id.VSub_Name MD) (${ Id.VSub_Name NANO_SLICE_DATA)}
                                    {(DQ (${ Id.VSub_Name NANO_DATADIR))}
                                    {(${ Id.VSub_Name MNT)}
                                    {(DQ (${ Id.VSub_Name NANO_SLICE_DATA))}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [4475 4497]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {(DQ (${ Id.VSub_Name NANO_MD_BACKING))}
                                            {<Id.Lit_Equals '='>}
                                            {(DQ <swap>)}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.If
                                  if_kw: <Id.KW_If if>
                                  arms: [
                                    (IfArm
                                      keyword: <Id.KW_If if>
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.Simple
                                                  blame_tok: <Id.Lit_LBracket '['>
                                                  more_env: []
                                                  words: [
                                                    {<Id.Lit_LBracket '['>}
                                                    {(${ Id.VSub_Name NANO_IMAGE_MBRONLY)}
                                                    {<Id.Lit_RBracket ']'>}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      then_kw: <Id.KW_Then then>
                                      action: [
                                        (command.Simple
                                          blame_tok: <echo>
                                          more_env: []
                                          words: [{<echo>} {(DQ <'Writing out _.disk.mbr...'>)}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <dd>
                                          more_env: []
                                          words: [
                                            {<dd>}
                                            {<Id.Lit_VarLike 'if='> <'/dev/'> (${ Id.VSub_Name MD)}
                                            {<Id.Lit_VarLike 'of='> (${ Id.VSub_Name NANO_DISKIMGDIR) 
                                              <'/_.disk.mbr'>
                                            }
                                            {<Id.Lit_VarLike 'bs='> <512>}
                                            {<Id.Lit_VarLike 'count='> <1>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      spids: [4554 4565]
                                    )
                                  ]
                                  else_kw: <Id.KW_Else else>
                                  else_action: [
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [
                                        {<echo>}
                                        {(DQ <'Writing out '> (${ Id.VSub_Name NANO_IMGNAME) <...>)}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <dd>
                                      more_env: []
                                      words: [
                                        {<dd>}
                                        {<Id.Lit_VarLike 'if='> <'/dev/'> (${ Id.VSub_Name MD)}
                                        {<Id.Lit_VarLike 'of='> (${ Id.VSub_Name IMG)}
                                        {<Id.Lit_VarLike 'bs='> <64k>}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  fi_kw: <Id.KW_Fi fi>
                                  redirects: []
                                )
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [
                                    {<echo>}
                                    {(DQ <'Writing out '> (${ Id.VSub_Name NANO_IMGNAME) <...>)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <dd>
                                  more_env: []
                                  words: [
                                    {<dd>}
                                    {<Id.Lit_VarLike 'conv='> <sparse>}
                                    {<Id.Lit_VarLike 'if='> <'/dev/'> (${ Id.VSub_Name MD)}
                                    {<Id.Lit_VarLike 'of='> (${ Id.VSub_Name IMG)}
                                    {<Id.Lit_VarLike 'bs='> <64k>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [4531 4551]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Left_DollarBrace '${'>
                                          more_env: []
                                          words: [{(${ Id.VSub_Name do_copyout_partition)}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ <'Writing out _.disk.image...'>)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <dd>
                                  more_env: []
                                  words: [
                                    {<dd>}
                                    {<Id.Lit_VarLike 'conv='> <sparse>}
                                    {<Id.Lit_VarLike 'if='> <'/dev/'> (${ Id.VSub_Name MD) 
                                      (${ Id.VSub_Name NANO_SLICE_ROOT)
                                    }
                                    {<Id.Lit_VarLike 'of='> (${ Id.VSub_Name NANO_DISKIMGDIR) 
                                      <'/_.disk.image'>
                                    }
                                    {<Id.Lit_VarLike 'bs='> <64k>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [4666 4674]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <mdconfig>
                          more_env: []
                          words: [{<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName MD)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <trap>
                          more_env: []
                          words: [{<trap>} {<->} {<1>} {<2>} {<15>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <trap>
                          more_env: []
                          words: [{<trap>} {<nano_cleanup>} {<EXIT>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  right: <Id.Right_Subshell _>
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_LOG) <'/_.di'>}
                    )
                    (Redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <last_orders>
      name: last_orders
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.Simple
              blame_tok: <true>
              more_env: []
              words: [{<true>}]
              redirects: []
              do_fork: T
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <FlashDevice>
      name: FlashDevice
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {<-d>}
                                {(${ Id.VSub_Name NANO_TOOLS)}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <.>
                      more_env: []
                      words: [{<.>} {(${ Id.VSub_Name NANO_TOOLS) <'/FlashDevice.sub'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [4820 4834]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <.>
                  more_env: []
                  words: [
                    {<.>}
                    {(${ Id.VSub_Name NANO_SRC) <'/'> (${ Id.VSub_Name NANO_TOOLS) <'/FlashDevice.sub'>}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <sub_FlashDevice>
              more_env: []
              words: [{<sub_FlashDevice>} {($ Id.VSub_Number 1)} {($ Id.VSub_Number 2)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <UsbDevice>
      name: UsbDevice
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'a1='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'a1='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'a1='> name:a1)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Pipeline
                            children: [
                              (command.Simple
                                blame_tok: <echo>
                                more_env: []
                                words: [{<echo>} {($ Id.VSub_Number 1)}]
                                redirects: []
                                do_fork: T
                              )
                              (command.Simple
                                blame_tok: <tr>
                                more_env: []
                                words: [{<tr>} {(SQ <'[:upper:]'>)} {(SQ <'[:lower:]'>)}]
                                redirects: []
                                do_fork: T
                              )
                            ]
                            ops: [<Id.Op_Pipe _>]
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName a1)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <generic-fdd>
                  pattern: (pat.Words words:[{<generic-fdd>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'NANO_HEADS='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'NANO_HEADS='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_HEADS='> name:NANO_HEADS)
                          op: assign_op.Equal
                          rhs: {<64>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'NANO_SECTS='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'NANO_SECTS='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SECTS='> name:NANO_SECTS)
                          op: assign_op.Equal
                          rhs: {<32>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
                              name: NANO_MEDIASIZE
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                left: <Id.Left_DollarDParen '$(('>
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Slash
                                    left: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Star
                                        left: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Star
                                            left: {($ Id.VSub_Number 2)}
                                            right: {<Id.Lit_Digits 1000>}
                                          )
                                        right: {<Id.Lit_Digits 1000>}
                                      )
                                    right: {<Id.Lit_Digits 512>}
                                  )
                                right: <Id.Right_DollarDParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <generic>
                  pattern: (pat.Words words:[{<generic>} {<generic-hdd>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'NANO_HEADS='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'NANO_HEADS='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_HEADS='> name:NANO_HEADS)
                          op: assign_op.Equal
                          rhs: {<255>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'NANO_SECTS='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'NANO_SECTS='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_SECTS='> name:NANO_SECTS)
                          op: assign_op.Equal
                          rhs: {<63>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'NANO_MEDIASIZE='>
                              name: NANO_MEDIASIZE
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                left: <Id.Left_DollarDParen '$(('>
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Slash
                                    left: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Star
                                        left: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Star
                                            left: {($ Id.VSub_Number 2)}
                                            right: {<Id.Lit_Digits 1000>}
                                          )
                                        right: {<Id.Lit_Digits 1000>}
                                      )
                                    right: {<Id.Lit_Digits 512>}
                                  )
                                right: <Id.Right_DollarDParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Unknown USB flash device'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<2>}
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <cust_comconsole>
      name: cust_comconsole
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {(DQ )}
                    {<-e>}
                    {<'/tty'> <Id.Lit_LBracket '['> <du> <Id.Lit_RBracket ']'> <'0/s/off/on/'>}
                    {(${ Id.VSub_Name NANO_WORLDDIR) <'/etc/ttys'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {(DQ )}
                    {<-e>}
                    {(SQ <'/^ttyv[0-8]/s/\ton/\toff/'>)}
                    {(${ Id.VSub_Name NANO_WORLDDIR) <'/etc/ttys'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ (${ Id.VSub_Name NANO_BOOT2CFG))}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(${ Id.VSub_Name NANO_WORLDDIR) <'/boot.config'>}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <cust_allow_ssh_root>
      name: cust_allow_ssh_root
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {(DQ )}
                {<-e>}
                {(SQ <'/PermitRootLogin/s/.*/PermitRootLogin yes/'>)}
                {(${ Id.VSub_Name NANO_WORLDDIR) <'/etc/ssh/sshd_config'>}
              ]
              redirects: []
              do_fork: T
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <cust_install_files>
      name: cust_install_files
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <cd>
                  more_env: []
                  words: [{<cd>} {(DQ (${ Id.VSub_Name NANO_TOOLS) <'/Files'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Pipeline
                  children: [
                    (command.Simple
                      blame_tok: <find>
                      more_env: []
                      words: [{<find>} {<.>} {<-print>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <grep>
                      more_env: []
                      words: [{<grep>} {<-Ev>} {(SQ <'/(CVS|\\.svn|\\.hg|\\.git)'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <cpio>
                      more_env: []
                      words: [{<cpio>} {<-Ldumpv>} {(${ Id.VSub_Name NANO_WORLDDIR)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<-n>}
                                    {(DQ (${ Id.VSub_Name NANO_CUST_FILES_MTREE))}
                                    {<-a>}
                                    {<-f>}
                                    {(${ Id.VSub_Name NANO_CUST_FILES_MTREE)}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <CR>
                          more_env: []
                          words: [{<CR>} {(DQ <'mtree -eiU -p /'>)}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Less '<'>
                              loc: (redir_loc.Fd fd:0)
                              arg: {(${ Id.VSub_Name NANO_CUST_FILES_MTREE)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [5247 5270]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <cust_pkgng>
      name: cust_pkgng
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <mkdir>
                  more_env: []
                  words: [{<mkdir>} {<-p>} {(${ Id.VSub_Name NANO_WORLDDIR) <'/usr/local/etc'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [
                    {<local>}
                    {<Id.Lit_VarLike 'PKG_CONF='> 
                      (DQ (${ Id.VSub_Name NANO_WORLDDIR) <'/usr/local/etc/pkg.conf'>)
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [
                    {<local>}
                    {<Id.Lit_VarLike 'PKGCMD='> 
                      (DQ <'env ASSUME_ALWAYS_YES=YES PKG_DBDIR='> 
                        (${ Id.VSub_Name NANO_PKG_META_BASE) <'/pkg SIGNATURE_TYPE=none /usr/sbin/pkg'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <touch>
                  more_env: []
                  words: [{<touch>} {(${ Id.VSub_Name PKG_CONF)}]
                  redirects: []
                  do_fork: T
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [
                                    {<grep>}
                                    {<-Eiq>}
                                    {(SQ <'^PKG_DBDIR:.*'>)}
                                    {(${ Id.VSub_Name PKG_CONF)}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <sed>
                          more_env: []
                          words: [
                            {<sed>}
                            {<-i>}
                            {<-e>}
                            {(DQ <Id.Lit_BadBackslash '\\'> <'|^PKG_DBDIR:.*|Is||PKG_DBDIR: '>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\"'>
                                ch: '"'
                              ) (${ Id.VSub_Name NANO_PKG_META_BASE) <'/pkg'> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\"'>
                                ch: '"'
                              ) (DQ <'|'>)
                            }
                            {(${ Id.VSub_Name PKG_CONF)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      spids: [5352 5367]
                    )
                  ]
                  else_kw: <Id.KW_Else else>
                  else_action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ <'PKG_DBDIR: '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\"'>
                              ch: '"'
                            ) (${ Id.VSub_Name NANO_PKG_META_BASE) <'/pkg'> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\"'>
                              ch: '"'
                            )
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(${ Id.VSub_Name PKG_CONF)}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<Id.KW_Bang '!'>}
                                    {<-d>}
                                    {(${ Id.VSub_Name NANO_PACKAGE_DIR)}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'DONE 0 packages'>)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      spids: [5425 5440]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
                (command.ForEach
                  keyword: <Id.KW_For for>
                  iter_names: [x]
                  iterable: 
                    (for_iter.Words
                      words: [
                        {
                          (CommandSub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Simple
                                blame_tok: <find>
                                more_env: []
                                words: [
                                  {<find>}
                                  {<-s>}
                                  {(${ Id.VSub_Name NANO_PACKAGE_DIR)}
                                  {<-iname>}
                                  {(SQ <'pkg-*'>)}
                                ]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                      ]
                    )
                  semi_tok: <Id.Op_Semi _>
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike '_NANO_PKG_PACKAGE='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike '_NANO_PKG_PACKAGE='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike '_NANO_PKG_PACKAGE='>
                                  name: _NANO_PKG_PACKAGE
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (CommandSub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: 
                                      (command.Simple
                                        blame_tok: <basename>
                                        more_env: []
                                        words: [{<basename>} {(DQ ($ Id.VSub_DollarName x))}]
                                        redirects: []
                                        do_fork: T
                                      )
                                    right: <Id.Backtick_Right '`'>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<-z>}
                                    {(DQ (${ Id.VSub_Name _NANO_PKG_PACKAGE))}
                                    {<-o>}
                                    {<Id.KW_Bang '!'>}
                                    {<-f>}
                                    {
                                      (DQ (${ Id.VSub_Name NANO_PACKAGE_DIR) <'/'> 
                                        (${ Id.VSub_Name _NANO_PKG_PACKAGE)
                                      )
                                    }
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'FAILED: need a pkg/ package for bootstrapping'>)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Exit exit>
                          arg_word: {<2>}
                        )
                      ]
                      spids: [5506 5537]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'NANO_PACKAGE_LIST='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'NANO_PACKAGE_LIST='>
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'NANO_PACKAGE_LIST='>
                          name: NANO_PACKAGE_LIST
                        )
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ (${ Id.VSub_Name _NANO_PKG_PACKAGE) <' '> 
                            (${ Id.VSub_Name NANO_PACKAGE_LIST)
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <mkdir>
                  more_env: []
                  words: [{<mkdir>} {<-p>} {(${ Id.VSub_Name NANO_WORLDDIR) <'/_.p'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mount>
                  more_env: []
                  words: [
                    {<mount>}
                    {<-t>}
                    {<nullfs>}
                    {<-o>}
                    {<noatime>}
                    {<-o>}
                    {<ro>}
                    {(${ Id.VSub_Name NANO_PACKAGE_DIR)}
                    {(${ Id.VSub_Name NANO_WORLDDIR) <'/_.p'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <trap>
                  more_env: []
                  words: [
                    {<trap>}
                    {
                      (DQ <'umount '> (${ Id.VSub_Name NANO_WORLDDIR) <'/_.p ; rm -rf '> 
                        (${ Id.VSub_Name NANO_WORLDDIR) <'/_.p'>
                      )
                    }
                    {<1>}
                    {<2>}
                    {<15>}
                    {<EXIT>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'todo='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'todo='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'todo='> name:todo)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSub
                              left_token: <Id.Left_DollarParen '$('>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [{<echo>} {(DQ (${ Id.VSub_Name NANO_PACKAGE_LIST))}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <awk>
                                      more_env: []
                                      words: [{<awk>} {(SQ <'{ print NF }'>)}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  ops: [<Id.Op_Pipe _>]
                                )
                              right: <Id.Eof_RParen _>
                            )
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ <'=== TODO: '> ($ Id.VSub_DollarName todo))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ (${ Id.VSub_Name NANO_PACKAGE_LIST))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ <'==='>)}]
                  redirects: []
                  do_fork: T
                )
                (command.ForEach
                  keyword: <Id.KW_For for>
                  iter_names: [_PKG]
                  iterable: (for_iter.Words words:[{(${ Id.VSub_Name NANO_PACKAGE_LIST)}])
                  semi_tok: <Id.Op_Semi _>
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.Simple
                          blame_tok: <CR>
                          more_env: []
                          words: [
                            {<CR>}
                            {(DQ (${ Id.VSub_Name PKGCMD) <' add /_.p/'> (${ Id.VSub_Name _PKG))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
                (command.Simple
                  blame_tok: <CR0>
                  more_env: []
                  words: [{<CR0>} {(DQ (${ Id.VSub_Name PKGCMD) <' info'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <trap>
                  more_env: []
                  words: [{<trap>} {<->} {<1>} {<2>} {<15>} {<EXIT>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <umount>
                  more_env: []
                  words: [{<umount>} {(${ Id.VSub_Name NANO_WORLDDIR) <'/_.p'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <rm>
                  more_env: []
                  words: [{<rm>} {<-rf>} {(${ Id.VSub_Name NANO_WORLDDIR) <'/_.p'>}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <early_customize_cmd>
      name: early_customize_cmd
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NANO_EARLY_CUSTOMIZE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NANO_EARLY_CUSTOMIZE='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'NANO_EARLY_CUSTOMIZE='>
                      name: NANO_EARLY_CUSTOMIZE
                    )
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName NANO_EARLY_CUSTOMIZE) <' '> ($ Id.VSub_Star '*'))}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <customize_cmd>
      name: customize_cmd
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NANO_CUSTOMIZE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NANO_CUSTOMIZE='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_CUSTOMIZE='> name:NANO_CUSTOMIZE)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName NANO_CUSTOMIZE) <' '> ($ Id.VSub_Star '*'))}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <late_customize_cmd>
      name: late_customize_cmd
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NANO_LATE_CUSTOMIZE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NANO_LATE_CUSTOMIZE='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'NANO_LATE_CUSTOMIZE='>
                      name: NANO_LATE_CUSTOMIZE
                    )
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName NANO_LATE_CUSTOMIZE) <' '> ($ Id.VSub_Star '*'))}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <pprint>
      name: pprint
      body: 
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {(DQ ($ Id.VSub_Number 1))}
                                {<-le>}
                                {($ Id.VSub_DollarName PPLEVEL)}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'runtime='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'runtime='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'runtime='> name:runtime)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                left: <Id.Left_DollarDParen '$(('>
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: 
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_Backtick '`'>
                                          child: 
                                            (command.Simple
                                              blame_tok: <date>
                                              more_env: []
                                              words: [
                                                {<date>}
                                                {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Backtick_Right '`'>
                                        )
                                      }
                                    right: {($ Id.VSub_DollarName NANO_STARTTIME)}
                                  )
                                right: <Id.Right_DollarDParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <printf>
                      more_env: []
                      words: [
                        {<printf>}
                        {(DQ <'%s %.'> (${ Id.VSub_Number 1) <'s %s'> <Id.Lit_BadBackslash '\\'> <n>)}
                        {
                          (DQ 
                            (CommandSub
                              left_token: <Id.Left_Backtick '`'>
                              child: 
                                (command.Simple
                                  blame_tok: <date>
                                  more_env: []
                                  words: [
                                    {<date>}
                                    {<-u>}
                                    {<-r>}
                                    {($ Id.VSub_DollarName runtime)}
                                    {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <H> <Id.Lit_Colon ':'> 
                                      <Id.Lit_Other '%'> <M> <Id.Lit_Colon ':'> <Id.Lit_Other '%'> <S>
                                    }
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              right: <Id.Backtick_Right '`'>
                            )
                          )
                        }
                        {(DQ <'#####'>)}
                        {(DQ ($ Id.VSub_Number 2))}
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<3>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [5879 5894]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          right: <Id.Right_Subshell _>
          redirects: []
        )
    )
    (command.ShFunction
      name_tok: <usage>
      name: usage
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Subshell
              left: <Id.Op_LParen _>
              child: 
                (command.CommandList
                  children: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {(DQ <'Usage: '> ($ Id.VSub_Number 0) <' [-bfhiKknqvwX] [-c config_file]'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-b\tsuppress builds (both kernel and world)'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-c\tspecify config file'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-f\tsuppress code slice extraction'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-h\tprint this help summary page'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-i\tsuppress disk image build'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-K\tsuppress installkernel'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-k\tsuppress buildkernel'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-n\tadd -DNO_CLEAN to buildworld, buildkernel, etc'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-q\tmake output more quiet'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-v\tmake output more verbose'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-w\tsuppress buildworld'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'\t-X\tmake native-xtools'>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                )
              right: <Id.Right_Subshell _>
              redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <export_var>
      name: export_var
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'var='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'var='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'var='> name:var)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'val='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\$'>
                    ch: '$'
                  ) ($ Id.VSub_DollarName var)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <pprint>
              more_env: []
              words: [
                {<pprint>}
                {<3>}
                {
                  (DQ <'Setting variable: '> ($ Id.VSub_DollarName var) <'='> 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\"'>
                      ch: '"'
                    ) ($ Id.VSub_DollarName val) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export>
              more_env: []
              words: [{<export>} {($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <set_defaults_and_export>
      name: set_defaults_and_export
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name NANO_OBJ>
                    var_name: NANO_OBJ
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonEquals _>
                        arg_word: 
                          {<Id.Lit_Slash '/'> <usr> <Id.Lit_Slash '/'> <obj> <Id.Lit_Slash '/'> 
                            <nanobsd.> (${ Id.VSub_Name NANO_NAME)
                          }
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name MAKEOBJDIRPREFIX>
                    var_name: MAKEOBJDIRPREFIX
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonEquals _>
                        arg_word: {(${ Id.VSub_Name NANO_OBJ)}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name NANO_DISKIMGDIR>
                    var_name: NANO_DISKIMGDIR
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonEquals _>
                        arg_word: {(${ Id.VSub_Name NANO_OBJ)}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name NANO_WORLDDIR>
                    var_name: NANO_WORLDDIR
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonEquals _>
                        arg_word: {(${ Id.VSub_Name NANO_OBJ) <Id.Lit_Slash '/'> <_.w>}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name NANO_LOG>
                    var_name: NANO_LOG
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonEquals _>
                        arg_word: {(${ Id.VSub_Name NANO_OBJ)}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NANO_MAKE_CONF_BUILD='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NANO_MAKE_CONF_BUILD='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'NANO_MAKE_CONF_BUILD='>
                      name: NANO_MAKE_CONF_BUILD
                    )
                  op: assign_op.Equal
                  rhs: {(${ Id.VSub_Name MAKEOBJDIRPREFIX) <'/make.conf.build'>}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NANO_MAKE_CONF_INSTALL='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NANO_MAKE_CONF_INSTALL='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'NANO_MAKE_CONF_INSTALL='>
                      name: NANO_MAKE_CONF_INSTALL
                    )
                  op: assign_op.Equal
                  rhs: {(${ Id.VSub_Name NANO_OBJ) <'/make.conf.install'>}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<-n>}
                    {(DQ (${ Id.VSub_Name NANO_LABEL))}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'NANO_DRIVE='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'NANO_DRIVE='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_DRIVE='> name:NANO_DRIVE)
                      op: assign_op.Equal
                      rhs: {(DQ <'ufs/'> (${ Id.VSub_Name NANO_LABEL))}
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <true>
                  more_env: []
                  words: [{<true>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _> <Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<Id.KW_Bang '!'>}
                    {<-d>}
                    {(DQ (${ Id.VSub_Name NANO_TOOLS))}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<-d>}
                    {(DQ (${ Id.VSub_Name NANO_SRC) <'/'> (${ Id.VSub_Name NANO_TOOLS))}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'NANO_TOOLS='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'NANO_TOOLS='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_TOOLS='> name:NANO_TOOLS)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Name NANO_SRC) <'/'> (${ Id.VSub_Name NANO_TOOLS))}
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <true>
                  more_env: []
                  words: [{<true>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<-n>}
                    {(DQ (${ Id.VSub_Name NANO_NOPRIV_BUILD))}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<-z>}
                    {(DQ (${ Id.VSub_Name NANO_METALOG))}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'NANO_METALOG='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'NANO_METALOG='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_METALOG='> name:NANO_METALOG)
                      op: assign_op.Equal
                      rhs: {(${ Id.VSub_Name NANO_OBJ) <'/_.metalog'>}
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <true>
                  more_env: []
                  words: [{<true>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DPipe _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NANO_STARTTIME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NANO_STARTTIME='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NANO_STARTTIME='> name:NANO_STARTTIME)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Simple
                            blame_tok: <date>
                            more_env: []
                            words: [{<date>} {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <pprint>
              more_env: []
              words: [{<pprint>} {<3>} {(DQ <'Exporting NanoBSD variables'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<MAKEOBJDIRPREFIX>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_ARCH>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_CODESIZE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_CONFSIZE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_CUSTOMIZE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_DATASIZE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_DRIVE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_HEADS>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_IMAGES>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_IMGNAME>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_MAKE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_MAKE_CONF_BUILD>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_MAKE_CONF_INSTALL>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_MEDIASIZE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_NAME>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_NEWFS>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_OBJ>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_PMAKE>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_SECTS>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_SRC>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_TOOLS>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_WORLDDIR>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_BOOT0CFG>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_BOOTLOADER>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_LABEL>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_MODULES>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_NOPRIV_BUILD>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_METALOG>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<NANO_LOG>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<SRCCONF>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <export_var>
              more_env: []
              words: [{<export_var>} {<SRC_ENV_CONF>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)