(command.CommandList
  children: [
    (command.Sentence
      child: 
        (command.ShFunction
          name: setup_zfs_filesystem
          body: 
            (BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PART)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [94]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PARTFS)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$2'))}
                      spids: [100]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PARTMNT)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$3'))}
                      spids: [106]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:EXT)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$4'))}
                      spids: [112]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PARTGEOM)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$5'))}
                      spids: [118]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ZPOOLOPTS)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$6'))}
                      spids: [124]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ROOTSLICE)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (command_sub
                              left_token: <Id.Left_Backtick '`'>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {<echo>} {(${ Id.VSub_Name PART)})
                                    (C {<rev>})
                                    (C {<cut>} {<-b>} {<2->})
                                    (C {<rev>})
                                  ]
                                  negated: F
                                )
                            )
                          )
                        }
                      spids: [130]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ZPOOLNAME)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<get_zpool_name>} {(DQ (${ Id.VSub_Name PART))})
                          )
                        }
                      spids: [160]
                    )
                  ]
                )
                (C {<sleep>} {<5>})
                (C {<sync>})
                (command.ForEach
                  iter_name: i
                  iter_words: [
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<echo>} {(${ Id.VSub_Name PARTMNT)})
                              (C {<sed>} {(SQ <'s|,| |g'>)})
                            ]
                            negated: F
                          )
                      )
                    }
                  ]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name i))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'/'>)} {<-o>} {(DQ (${ Id.VSub_Name i))} {<Id.Lit_Equals '='>} {(DQ <'/boot'>)} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  ]
                                )
                              action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} 
                                                  {(DQ ($ Id.VSub_DollarName '$HAVEBOOT'))} {<Id.Lit_Equals '='>} {(DQ <YES>)} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.Sentence
                                          child: 
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                      spids: [258 276]
                                    )
                                  ]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} 
                                                  {(DQ (${ Id.VSub_Name PARTGEOM))} {<Id.Lit_Equals '='>} {(DQ <MBR>)} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (C {<echo_log>} {(DQ <'Setting up ZFS boot loader support'>)})
                                        (C {<rc_halt>} 
                                          {
                                            (DQ <'dd if=/boot/zfsboot of='> 
                                              (${ Id.VSub_Name ROOTSLICE) <' count=1'>
                                            )
                                          }
                                        )
                                        (C {<rc_halt>} 
                                          {
                                            (DQ <'dd if=/boot/zfsboot of='> (${ Id.VSub_Name PART) 
                                              (${ Id.VSub_Name EXT) <' skip=1 seek=1024'>
                                            )
                                          }
                                        )
                                      ]
                                      spids: [285 305]
                                    )
                                  ]
                                )
                              ]
                              spids: [222 255]
                            )
                          ]
                        )
                      ]
                    )
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                                  {(DQ (${ Id.VSub_Name ZPOOLOPTS))} {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<local>} {<Id.Lit_VarLike 'gnopDev='> (DQ )})
                        (C {<local>} {<Id.Lit_VarLike 'newOpts='> (DQ )})
                        (command.ForEach
                          iter_name: i
                          iter_words: [{($ Id.VSub_DollarName '$ZPOOLOPTS')}]
                          do_arg_iter: F
                          body: 
                            (command.DoGroup
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {<echo>} {(DQ ($ Id.VSub_DollarName '$i'))})
                                    (C {<grep>} {<-q>} {(SQ <'/dev/'>)})
                                  ]
                                  negated: F
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} 
                                                  {<-eq>} {<0>} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (C {<rc_halt>} 
                                          {(DQ <'gnop create -S 4096 '> (${ Id.VSub_Name i))}
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:gnopDev)
                                              op: assign_op.Equal
                                              rhs: 
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$gnopDev') <' '> 
                                                    ($ Id.VSub_DollarName '$i')
                                                  )
                                                }
                                              spids: [455]
                                            )
                                          ]
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:newOpts)
                                              op: assign_op.Equal
                                              rhs: 
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$newOpts') <' '> 
                                                    (${ Id.VSub_Name i) <.nop>
                                                  )
                                                }
                                              spids: [463]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [428 442]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:newOpts)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$newOpts') <' '> 
                                                ($ Id.VSub_DollarName '$i')
                                              )
                                            }
                                          spids: [477]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                        (C {<echo_log>} 
                          {
                            (DQ <'Creating zpool '> (${ Id.VSub_Name ZPOOLNAME) <' with '> 
                              ($ Id.VSub_DollarName '$newOpts')
                            )
                          }
                        )
                        (C {<rc_halt>} 
                          {
                            (DQ <'zpool create -m none -f '> (${ Id.VSub_Name ZPOOLNAME) <' '> 
                              (${ Id.VSub_Name newOpts)
                            )
                          }
                        )
                        (C {<rc_halt>} {(DQ <'zpool export '> (${ Id.VSub_Name ZPOOLNAME))})
                        (command.ForEach
                          iter_name: i
                          iter_words: [{($ Id.VSub_DollarName '$gnopDev')}]
                          do_arg_iter: F
                          body: 
                            (command.DoGroup
                              children: [
                                (C {<rc_halt>} {(DQ <'gnop destroy '> (${ Id.VSub_Name i) <.nop>)})
                              ]
                            )
                        )
                        (C {<rc_halt>} {(DQ <'zpool import '> (${ Id.VSub_Name ZPOOLNAME))})
                      ]
                      spids: [360 378]
                    )
                  ]
                  else_action: [
                    (C {<rc_halt>} 
                      {(DQ <'gnop create -S 4096 '> (${ Id.VSub_Name PART) (${ Id.VSub_Name EXT))}
                    )
                    (C {<echo_log>} 
                      {
                        (DQ <'Creating zpool '> (${ Id.VSub_Name ZPOOLNAME) <' on '> 
                          (${ Id.VSub_Name PART) (${ Id.VSub_Name EXT)
                        )
                      }
                    )
                    (C {<rc_halt>} 
                      {
                        (DQ <'zpool create -m none -f '> (${ Id.VSub_Name ZPOOLNAME) <' '> 
                          (${ Id.VSub_Name PART) (${ Id.VSub_Name EXT) <.nop>
                        )
                      }
                    )
                    (C {<rc_halt>} {(DQ <'zpool export '> (${ Id.VSub_Name ZPOOLNAME))})
                    (C {<rc_halt>} 
                      {(DQ <'gnop destroy '> (${ Id.VSub_Name PART) (${ Id.VSub_Name EXT) <.nop>)}
                    )
                    (C {<rc_halt>} {(DQ <'zpool import '> (${ Id.VSub_Name ZPOOLNAME))})
                  ]
                )
                (C {<rc_nohalt>} {(DQ <'zfs set atime=off '> (${ Id.VSub_Name ZPOOLNAME))})
              ]
            )
        )
      terminator: <Id.Op_Semi _>
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: setup_filesystems
          body: 
            (BraceGroup
              children: [
                (command.Simple
                  words: [{<rm>} {<-rf>} {(${ Id.VSub_Name GELIKEYDIR)}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/dev/null'>}
                    )
                    (redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (C {<mkdir>} {(${ Id.VSub_Name GELIKEYDIR)})
                (command.ForEach
                  iter_name: PART
                  iter_words: [
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<ls>} {(${ Id.VSub_Name PARTDIR)})
                      )
                    }
                  ]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTDEV)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<echo>} {($ Id.VSub_DollarName '$PART')})
                                            (C {<sed>} {(SQ <'s|-|/|g'>)})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [769]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTFS)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<1>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [789]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTMNT)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<2>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [821]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTENC)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<3>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [853]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTLABEL)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<4>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [885]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTGEOM)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<5>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [917]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTXTRAOPTS)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<6>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [949]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PARTIMAGE)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_Backtick '`'>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} 
                                              {(${ Id.VSub_Name PARTDIR) <'/'> (${ Id.VSub_Name PART)}
                                            )
                                            (C {<cut>} {<-d>} {(SQ <'#'>)} {<-f>} {<7>})
                                          ]
                                          negated: F
                                        )
                                    )
                                  )
                                }
                              spids: [981]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                                          {(DQ (${ Id.VSub_Name PARTDEV))} {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<exit_err>} 
                                  {
                                    (DQ <'ERROR: The partition '> (${ Id.VSub_Name PARTDEV) 
                                      <' does not exist. Failure in bsdlabel?'>
                                    )
                                  }
                                )
                              ]
                              spids: [1014 1032]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (C {<Id.Lit_LBracket '['>} {<-e>} 
                                      {(DQ (${ Id.VSub_Name PARTDEV) <.journal>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  ]
                                )
                              action: [
                                (C {<rc_nohalt>} 
                                  {(DQ <'gjournal stop -f '> (${ Id.VSub_Name PARTDEV) <.journal>)}
                                )
                                (C {<rc_nohalt>} {(DQ <'gjournal clear '> (${ Id.VSub_Name PARTDEV))})
                              ]
                              spids: [1055 1071]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name PARTENC))} 
                                      {<Id.Lit_Equals '='>} {(DQ <ON>)} {<-a>} {(DQ (${ Id.VSub_Name PARTFS))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <SWAP>)} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  ]
                                )
                              action: [
                                (C {<echo_log>} 
                                  {(DQ <'Creating geli provider for '> (${ Id.VSub_Name PARTDEV))}
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} {<-e>} 
                                                  {
                                                    (DQ (${ Id.VSub_Name PARTDIR) <'-enc/'> 
                                                      (${ Id.VSub_Name PART) <-encpass>
                                                    )
                                                  } {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (C {<rc_halt>} 
                                          {
                                            (DQ <'dd if=/dev/random of='> (${ Id.VSub_Name GELIKEYDIR) 
                                              <'/'> (${ Id.VSub_Name PART) <'.key bs=64 count=1'>
                                            )
                                          }
                                        )
                                        (C {<rc_halt>} 
                                          {
                                            (DQ <'geli init -J '> (${ Id.VSub_Name PARTDIR) <'-enc/'> 
                                              (${ Id.VSub_Name PART) <'-encpass '> (${ Id.VSub_Name PARTDEV)
                                            )
                                          }
                                        )
                                        (C {<rc_halt>} 
                                          {
                                            (DQ <'geli attach -j '> (${ Id.VSub_Name PARTDIR) <'-enc/'> 
                                              (${ Id.VSub_Name PART) <'-encpass '> (${ Id.VSub_Name PARTDEV)
                                            )
                                          }
                                        )
                                      ]
                                      spids: [1151 1172]
                                    )
                                  ]
                                  else_action: [
                                    (C {<rc_halt>} 
                                      {
                                        (DQ <'dd if=/dev/random of='> (${ Id.VSub_Name GELIKEYDIR) 
                                          <'/'> (${ Id.VSub_Name PART) <'.key bs=64 count=1'>
                                        )
                                      }
                                    )
                                    (C {<rc_halt>} 
                                      {
                                        (DQ <'geli init -b -s 4096 -P -K '> 
                                          (${ Id.VSub_Name GELIKEYDIR) <'/'> (${ Id.VSub_Name PART) <'.key '> (${ Id.VSub_Name PARTDEV)
                                        )
                                      }
                                    )
                                    (C {<rc_halt>} 
                                      {
                                        (DQ <'geli attach -p -k '> (${ Id.VSub_Name GELIKEYDIR) <'/'> 
                                          (${ Id.VSub_Name PART) <'.key '> (${ Id.VSub_Name PARTDEV)
                                        )
                                      }
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:EXT)
                                      op: assign_op.Equal
                                      rhs: {(DQ <.eli>)}
                                      spids: [1293]
                                    )
                                  ]
                                )
                              ]
                              spids: [1103 1137]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:EXT)
                                  op: assign_op.Equal
                                  rhs: {(DQ )}
                                  spids: [1306]
                                )
                              ]
                            )
                          ]
                        )
                        (command.Case
                          to_match: {(${ Id.VSub_Name PARTFS)}
                          arms: [
                            (case_arm
                              pat_list: [{<UFS>}]
                              action: [
                                (C {<echo_log>} 
                                  {
                                    (DQ <'NEWFS: '> (${ Id.VSub_Name PARTDEV) <' - '> 
                                      (${ Id.VSub_Name PARTFS)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'newfs -t '> (${ Id.VSub_Name PARTXTRAOPTS) <' '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'glabel label '> (${ Id.VSub_Name PARTLABEL) <' '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<rc_halt>} {(DQ <sync>)})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} 
                                                  {(DQ ($ Id.VSub_DollarName '$PARTMNT'))} {<Id.Lit_Equals '='>} {(DQ <'/boot'>)} {<-o>} {(DQ (${ Id.VSub_Name PARTMNT))} {<Id.Lit_Equals '='>} 
                                                  {(DQ <'/'>)} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:HAVEBOOT)
                                              op: assign_op.Equal
                                              rhs: {(DQ <YES>)}
                                              spids: [1440]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1405 1437]
                                    )
                                  ]
                                )
                                (C {<sleep>} {<2>})
                              ]
                              spids: [1324 1325 1454 -1]
                            )
                            (case_arm
                              pat_list: [{<UFS> <Id.Lit_Other '+'> <S>}]
                              action: [
                                (C {<echo_log>} 
                                  {
                                    (DQ <'NEWFS: '> (${ Id.VSub_Name PARTDEV) <' - '> 
                                      (${ Id.VSub_Name PARTFS)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'newfs -t '> (${ Id.VSub_Name PARTXTRAOPTS) <' -U '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'glabel label '> (${ Id.VSub_Name PARTLABEL) <' '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<rc_halt>} {(DQ <sync>)})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} 
                                                  {(DQ ($ Id.VSub_DollarName '$PARTMNT'))} {<Id.Lit_Equals '='>} {(DQ <'/boot'>)} {<-o>} {(DQ (${ Id.VSub_Name PARTMNT))} {<Id.Lit_Equals '='>} 
                                                  {(DQ <'/'>)} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:HAVEBOOT)
                                              op: assign_op.Equal
                                              rhs: {(DQ <YES>)}
                                              spids: [1575]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1540 1572]
                                    )
                                  ]
                                )
                                (C {<sleep>} {<2>})
                              ]
                              spids: [1458 1461 1589 -1]
                            )
                            (case_arm
                              pat_list: [{<UFS> <Id.Lit_Other '+'> <SUJ>}]
                              action: [
                                (C {<echo_log>} 
                                  {
                                    (DQ <'NEWFS: '> (${ Id.VSub_Name PARTDEV) <' - '> 
                                      (${ Id.VSub_Name PARTFS)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'newfs -t '> (${ Id.VSub_Name PARTXTRAOPTS) <' -U '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'tunefs -j enable '> (${ Id.VSub_Name PARTDEV) 
                                      (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'glabel label '> (${ Id.VSub_Name PARTLABEL) <' '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<rc_halt>} {(DQ <sync>)})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} 
                                                  {(DQ ($ Id.VSub_DollarName '$PARTMNT'))} {<Id.Lit_Equals '='>} {(DQ <'/boot'>)} {<-o>} {(DQ (${ Id.VSub_Name PARTMNT))} {<Id.Lit_Equals '='>} 
                                                  {(DQ <'/'>)} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:HAVEBOOT)
                                              op: assign_op.Equal
                                              rhs: {(DQ <YES>)}
                                              spids: [1735]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1700 1732]
                                    )
                                  ]
                                )
                                (C {<sleep>} {<2>})
                              ]
                              spids: [1593 1596 1749 -1]
                            )
                            (case_arm
                              pat_list: [{<UFS> <Id.Lit_Other '+'> <J>}]
                              action: [
                                (C {<echo_log>} 
                                  {
                                    (DQ <'NEWFS: '> (${ Id.VSub_Name PARTDEV) <' - '> 
                                      (${ Id.VSub_Name PARTFS)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} 
                                  {(DQ <'newfs '> (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT))}
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'gjournal label -f '> (${ Id.VSub_Name PARTDEV) 
                                      (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'newfs '> (${ Id.VSub_Name PARTXTRAOPTS) <' -O 2 -J '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT) <.journal>
                                    )
                                  }
                                )
                                (C {<sleep>} {<2>})
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'glabel label '> (${ Id.VSub_Name PARTLABEL) <' '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT) <.journal>
                                    )
                                  }
                                )
                                (C {<rc_halt>} {(DQ <sync>)})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<Id.Lit_LBracket '['>} 
                                                  {(DQ ($ Id.VSub_DollarName '$PARTMNT'))} {<Id.Lit_Equals '='>} {(DQ <'/boot'>)} {<-o>} {(DQ (${ Id.VSub_Name PARTMNT))} {<Id.Lit_Equals '='>} 
                                                  {(DQ <'/'>)} {<Id.Lit_RBracket ']'>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:HAVEBOOT)
                                              op: assign_op.Equal
                                              rhs: {(DQ <YES>)}
                                              spids: [1909]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1874 1906]
                                    )
                                  ]
                                )
                                (C {<sleep>} {<2>})
                              ]
                              spids: [1754 1757 1923 -1]
                            )
                            (case_arm
                              pat_list: [{<ZFS>}]
                              action: [
                                (C {<echo_log>} 
                                  {
                                    (DQ <'NEWFS: '> (${ Id.VSub_Name PARTDEV) <' - '> 
                                      (${ Id.VSub_Name PARTFS)
                                    )
                                  }
                                )
                                (C {<setup_zfs_filesystem>} {(DQ (${ Id.VSub_Name PARTDEV))} 
                                  {(DQ (${ Id.VSub_Name PARTFS))} {(DQ (${ Id.VSub_Name PARTMNT))} {(DQ (${ Id.VSub_Name EXT))} {(DQ (${ Id.VSub_Name PARTGEOM))} 
                                  {(DQ (${ Id.VSub_Name PARTXTRAOPTS))}
                                )
                              ]
                              spids: [1927 1928 1985 -1]
                            )
                            (case_arm
                              pat_list: [{<SWAP>}]
                              action: [
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<rc_halt>} 
                                  {
                                    (DQ <'glabel label '> (${ Id.VSub_Name PARTLABEL) <' '> 
                                      (${ Id.VSub_Name PARTDEV) (${ Id.VSub_Name EXT)
                                    )
                                  }
                                )
                                (C {<rc_halt>} {(DQ <sync>)})
                                (C {<sleep>} {<2>})
                              ]
                              spids: [1989 1990 2030 -1]
                            )
                            (case_arm
                              pat_list: [{<IMAGE>}]
                              action: [
                                (C {<write_image>} {(DQ (${ Id.VSub_Name PARTIMAGE))} 
                                  {(DQ (${ Id.VSub_Name PARTDEV))}
                                )
                                (C {<sleep>} {<2>})
                              ]
                              spids: [2034 2035 2058 -1]
                            )
                            (case_arm
                              pat_list: [{<Id.Lit_Star '*'>}]
                              action: [
                                (C {<exit_err>} 
                                  {
                                    (DQ <'ERROR: Got unknown file-system type '> 
                                      ($ Id.VSub_DollarName '$PARTFS')
                                    )
                                  }
                                )
                              ]
                              spids: [2063 2064 2073 -1]
                            )
                          ]
                        )
                      ]
                    )
                )
              ]
            )
        )
      terminator: <Id.Op_Semi _>
    )
  ]
)