(command.CommandList
  children: [
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <Id.Lit_LBracket '['>
          more_env: []
          words: [{<Id.Lit_LBracket '['>} {<-x>} {<'/usr/sbin/alsactl'>} {<Id.Lit_RBracket ']'>}]
          redirects: []
          do_fork: T
        )
        (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>})
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PATH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PATH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH)
          op: assign_op.Equal
          rhs: 
            {<'/usr/local/sbin'> <Id.Lit_Colon ':'> <'/usr/local/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'> 
              <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/sbin'> <Id.Lit_Colon ':'> <'/bin'>
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MYNAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MYNAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MYNAME='> name:MYNAME)
          op: assign_op.Equal
          rhs: {<'/etc/init.d/alsa-utils'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ALSACTLHOME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ALSACTLHOME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ALSACTLHOME='> name:ALSACTLHOME)
          op: assign_op.Equal
          rhs: {<'/run/alsa'>}
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <Id.Lit_LBracket '['>
          more_env: []
          words: [
            {<Id.Lit_LBracket '['>}
            {<-d>}
            {(DQ ($ Id.VSub_DollarName ALSACTLHOME))}
            {<Id.Lit_RBracket ']'>}
          ]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <mkdir>
          more_env: []
          words: [{<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName ALSACTLHOME))}]
          redirects: []
          do_fork: T
        )
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'/lib/lsb/init-functions'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'/usr/share/alsa/utils.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <log_action_end_msg_and_exit>
      name: log_action_end_msg_and_exit
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <log_action_end_msg>
              more_env: []
              words: [
                {<log_action_end_msg>}
                {(DQ ($ Id.VSub_Number 1))}
                {
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 2>
                    var_name: 2
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonPlus _>
                        arg_word: {(DQ ($ Id.VSub_Number 2))}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow
              keyword: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_Number 1)}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <executable>
      name: executable
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [{<Id.Lit_LBracket '['>} {<-x>} {<'/bin/which'>} {<Id.Lit_RBracket ']'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [{<Id.Lit_LBracket '['>} {<-x>} {<'/usr/bin/which'>} {<Id.Lit_RBracket ']'>}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <which>
              more_env: []
              words: [{<which>} {(DQ ($ Id.VSub_Number 1))}]
              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
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <executable>
          more_env: []
          words: [{<executable>} {<amixer>}]
          redirects: []
          do_fork: T
        )
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {(DQ (${ Id.VSub_Name MYNAME) <': Error: No amixer program available.'>)}
                  ]
                  redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.ShFunction
      name_tok: <restore_levels>
      name: restore_levels
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<-f>}
                    {<'/var/lib/alsa/asound.state'>}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CARD='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CARD='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 1))}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {(DQ ($ Id.VSub_Number 1))}
                    {<Id.Lit_Equals '='>}
                    {<all>}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'CARD='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'CARD='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              children: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'MSG='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'MSG='>
                                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MSG='> name:MSG)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <alsactl>
                                                  more_env: []
                                                  words: [
                                                    {<alsactl>}
                                                    {<-E>}
                                                    {<Id.Lit_VarLike 'HOME='> 
                                                      (DQ ($ Id.VSub_DollarName ALSACTLHOME))
                                                    }
                                                    {<restore>}
                                                    {($ Id.VSub_DollarName CARD)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Id.Redir_GreatAnd '2>&'>
                                                      loc: (redir_loc.Fd fd:2)
                                                      arg: {<1>}
                                                    )
                                                    (Redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<Id.KW_Bang '!'>}
                                    {(DQ ($ Id.VSub_DollarName MSG))}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_DAmp _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})]
                  spids: [324 364]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <alsactl>
                  more_env: []
                  words: [{<alsactl>} {<-F>} {<restore>} {($ Id.VSub_DollarName CARD)}]
                  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: <log_action_cont_msg>
                  more_env: []
                  words: [
                    {<log_action_cont_msg>}
                    {(DQ <'warning: \'alsactl -E HOME='>) ($ Id.VSub_DollarName ALSACTLHOME) 
                      (DQ <' restore'> 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name CARD>
                          var_name: CARD
                          suffix_op: 
                            (suffix_op.Unary
                              op: <Id.VTest_ColonPlus _>
                              arg_word: {<' '> ($ Id.VSub_DollarName CARD)}
                            )
                          right: <Id.Right_DollarBrace '}'>
                        ) <'\' failed with error message \''> ($ Id.VSub_DollarName MSG) <'\''>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <store_levels>
      name: store_levels
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CARD='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CARD='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 1))}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {(DQ ($ Id.VSub_Number 1))}
                    {<Id.Lit_Equals '='>}
                    {<all>}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'CARD='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'CARD='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'MSG='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'MSG='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MSG='> name:MSG)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <alsactl>
                                              more_env: []
                                              words: [
                                                {<alsactl>}
                                                {<-E>}
                                                {<Id.Lit_VarLike 'HOME='> 
                                                  (DQ ($ Id.VSub_DollarName ALSACTLHOME))
                                                }
                                                {<store>}
                                                {($ Id.VSub_DollarName CARD)}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_GreatAnd '2>&'>
                                                  loc: (redir_loc.Fd fd:2)
                                                  arg: {<1>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sleep>
                      more_env: []
                      words: [{<sleep>} {<1>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [463 488]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <log_action_cont_msg>
                  more_env: []
                  words: [
                    {<log_action_cont_msg>}
                    {
                      (DQ <'warning: \'alsactl store'> 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name CARD>
                          var_name: CARD
                          suffix_op: 
                            (suffix_op.Unary
                              op: <Id.VTest_ColonPlus _>
                              arg_word: {<' '> ($ Id.VSub_DollarName CARD)}
                            )
                          right: <Id.Right_DollarBrace '}'>
                        ) <'\' failed with error message \''> ($ Id.VSub_DollarName MSG) <'\''>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <mute_and_zero_levels_on_card>
      name: mute_and_zero_levels_on_card
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CARDOPT='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CARDOPT='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARDOPT='> name:CARDOPT)
                  op: assign_op.Equal
                  rhs: {(DQ <'-c '> ($ Id.VSub_Number 1))}
                )
              ]
              redirects: []
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [CTL]
              iterable: 
                (for_iter.Words
                  words: [
                    {<Master>}
                    {<PCM>}
                    {<Synth>}
                    {<CD>}
                    {<Line>}
                    {<Mic>}
                    {(DQ <'PCM,1'>)}
                    {<Wave>}
                    {<Music>}
                    {<AC97>}
                    {(DQ <'Master Digital'>)}
                    {<DAC>}
                    {(DQ <'DAC,0'>)}
                    {(DQ <'DAC,1'>)}
                    {<Headphone>}
                    {<Speaker>}
                    {<Playback>}
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <mute_and_zero_level>
                      more_env: []
                      words: [{<mute_and_zero_level>} {(DQ ($ Id.VSub_DollarName CTL))}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <mute_and_zero_levels>
      name: mute_and_zero_levels
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                      name: TTZML_RETURNSTATUS
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <all>
                  pattern: (pat.Words words:[{<all>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ForEach
                      keyword: <Id.KW_For for>
                      iter_names: [CARD]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <echo_card_indices>
                                    more_env: []
                                    words: [{<echo_card_indices>}]
                                    redirects: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          ]
                        )
                      semi_tok: <Id.Op_Semi _>
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.AndOr
                              children: [
                                (command.Simple
                                  blame_tok: <mute_and_zero_levels_on_card>
                                  more_env: []
                                  words: [
                                    {<mute_and_zero_levels_on_card>}
                                    {(DQ ($ Id.VSub_DollarName CARD))}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                                          name: TTZML_RETURNSTATUS
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              ops: [<Id.Op_DPipe _>]
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <mute_and_zero_levels_on_card>
                          more_env: []
                          words: [{<mute_and_zero_levels_on_card>} {(DQ ($ Id.VSub_Number 1))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                                  name: TTZML_RETURNSTATUS
                                )
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ControlFlow
              keyword: <Id.ControlFlow_Return return>
              arg_word: {($ Id.VSub_DollarName TTZML_RETURNSTATUS)}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <card_OK>
      name: card_OK
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [{<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_RBracket ']'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <bugout>
                  more_env: []
                  words: [{<bugout>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (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))}
                                {<Id.Lit_Equals '='>}
                                {<all>}
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [{<Id.Lit_LBracket '['>} {<-d>} {<'/proc/asound'>} {<Id.Lit_RBracket ']'>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {($ Id.VSub_QMark '?')}
                    )
                  ]
                  spids: [782 798]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.AndOr
                  children: [
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-d>}
                        {(DQ <'/proc/asound/card'> ($ Id.VSub_Number 1))}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-d>}
                        {(DQ <'/proc/asound/'> ($ Id.VSub_Number 1))}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_DPipe _>]
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {($ Id.VSub_QMark '?')}
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <start>
          pattern: (pat.Words words:[{<start>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'EXITSTATUS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TARGET_CARD='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_CARD='> name:TARGET_CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 2))}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName TARGET_CARD))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_DoubleQuote '"'>
                  pattern: (pat.Words words:[{(DQ )} {<all>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'TARGET_CARD='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'TARGET_CARD='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                                  name: TARGET_CARD
                                )
                              op: assign_op.Equal
                              rhs: {<all>}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      blame_tok: <log_action_begin_msg>
                      more_env: []
                      words: [{<log_action_begin_msg>} {(DQ <'Setting up ALSA'>)}]
                      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: <log_action_begin_msg>
                      more_env: []
                      words: [
                        {<log_action_begin_msg>}
                        {(DQ <'Setting up ALSA card '> (${ Id.VSub_Name TARGET_CARD))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <card_OK>
                  more_env: []
                  words: [{<card_OK>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <log_action_end_msg_and_exit>
                  more_env: []
                  words: [
                    {<log_action_end_msg_and_exit>}
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <Id.Lit_LBracket '['>
                                      more_env: []
                                      words: [
                                        {<Id.Lit_LBracket '['>}
                                        {<Id.KW_Bang '!'>}
                                        {(DQ ($ Id.VSub_Number 2))}
                                        {<Id.Lit_RBracket ']'>}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [{<echo>} {($ Id.VSub_QMark '?')}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                    {(DQ <'none loaded'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <preinit_levels>
                  more_env: []
                  words: [{<preinit_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'EXITSTATUS='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (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: <restore_levels>
                                  more_env: []
                                  words: [{<restore_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <sanify_levels>
                          more_env: []
                          words: [{<sanify_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'EXITSTATUS='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'EXITSTATUS='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                                  name: EXITSTATUS
                                )
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <restore_levels>
                          more_env: []
                          words: [{<restore_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                          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: <Id.Lit_Colon ':'>
                          more_env: []
                          words: [{<Id.Lit_Colon ':'>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  spids: [981 993]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <log_action_end_msg_and_exit>
              more_env: []
              words: [{<log_action_end_msg_and_exit>} {(DQ ($ Id.VSub_DollarName EXITSTATUS))}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <stop>
          pattern: (pat.Words words:[{<stop>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'EXITSTATUS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TARGET_CARD='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_CARD='> name:TARGET_CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 2))}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName TARGET_CARD))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_DoubleQuote '"'>
                  pattern: (pat.Words words:[{(DQ )} {<all>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'TARGET_CARD='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'TARGET_CARD='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                                  name: TARGET_CARD
                                )
                              op: assign_op.Equal
                              rhs: {<all>}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      blame_tok: <log_action_begin_msg>
                      more_env: []
                      words: [{<log_action_begin_msg>} {(DQ <'Shutting down ALSA'>)}]
                      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: <log_action_begin_msg>
                      more_env: []
                      words: [
                        {<log_action_begin_msg>}
                        {(DQ <'Shutting down ALSA card '> (${ Id.VSub_Name TARGET_CARD))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <card_OK>
                  more_env: []
                  words: [{<card_OK>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <log_action_end_msg_and_exit>
                  more_env: []
                  words: [
                    {<log_action_end_msg_and_exit>}
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <Id.Lit_LBracket '['>
                                      more_env: []
                                      words: [
                                        {<Id.Lit_LBracket '['>}
                                        {<Id.KW_Bang '!'>}
                                        {(DQ ($ Id.VSub_Number 2))}
                                        {<Id.Lit_RBracket ']'>}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [{<echo>} {($ Id.VSub_QMark '?')}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                    {(DQ <'none loaded'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <store_levels>
                  more_env: []
                  words: [{<store_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'EXITSTATUS='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <log_action_end_msg_and_exit>
              more_env: []
              words: [{<log_action_end_msg_and_exit>} {(DQ ($ Id.VSub_DollarName EXITSTATUS))}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <restart>
          pattern: (pat.Words words:[{<restart>} {<force-reload>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'EXITSTATUS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.VSub_Number '$0'>
                  more_env: []
                  words: [{($ Id.VSub_Number 0)} {<stop>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'EXITSTATUS='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.VSub_Number '$0'>
                  more_env: []
                  words: [{($ Id.VSub_Number 0)} {<start>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'EXITSTATUS='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.ControlFlow
              keyword: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName EXITSTATUS)}
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <reset>
          pattern: (pat.Words words:[{<reset>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TARGET_CARD='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_CARD='> name:TARGET_CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 2))}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName TARGET_CARD))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_DoubleQuote '"'>
                  pattern: (pat.Words words:[{(DQ )} {<all>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'TARGET_CARD='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'TARGET_CARD='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                                  name: TARGET_CARD
                                )
                              op: assign_op.Equal
                              rhs: {<all>}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      blame_tok: <log_action_begin_msg>
                      more_env: []
                      words: [{<log_action_begin_msg>} {(DQ <'Resetting ALSA'>)}]
                      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: <log_action_begin_msg>
                      more_env: []
                      words: [
                        {<log_action_begin_msg>}
                        {(DQ <'Resetting ALSA card '> (${ Id.VSub_Name TARGET_CARD))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <card_OK>
                  more_env: []
                  words: [{<card_OK>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <log_action_end_msg_and_exit>
                  more_env: []
                  words: [
                    {<log_action_end_msg_and_exit>}
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <Id.Lit_LBracket '['>
                                      more_env: []
                                      words: [
                                        {<Id.Lit_LBracket '['>}
                                        {<Id.KW_Bang '!'>}
                                        {(DQ ($ Id.VSub_Number 2))}
                                        {<Id.Lit_RBracket ']'>}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [{<echo>} {($ Id.VSub_QMark '?')}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                    {(DQ <'none loaded'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <preinit_levels>
              more_env: []
              words: [{<preinit_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sanify_levels>
              more_env: []
              words: [{<sanify_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <log_action_end_msg_and_exit>
              more_env: []
              words: [{<log_action_end_msg_and_exit>} {(DQ ($ Id.VSub_QMark '?'))}]
              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: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'Usage: '> ($ Id.VSub_DollarName MYNAME) 
                    <' {start [CARD]|stop [CARD]|restart [CARD]|reset [CARD]}'>
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
  ]
)