(command.CommandList
  children: [
    (command.AndOr
      children: [
        (command.DBracket
          left: <Id.KW_DLeftBracket '[['>
          expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{($ Id.VSub_DollarName _Dbg_init_ver)})
          right: <Id.Lit_DRightBracket ']]'>
          redirects: []
        )
        (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<_Dbg_cur_fn>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_have_set0='> <0>}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Unary
                          op_id: Id.BoolUnary_r
                          child: {($ Id.VSub_DollarName _Dbg_libdir) <'/builtin/set0'>}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <enable>
                              more_env: []
                              words: [
                                {<enable>}
                                {<-f>}
                                {($ Id.VSub_DollarName _Dbg_libdir) <'/builtin/set0'>}
                                {<set0>}
                              ]
                              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
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike '_Dbg_have_set0='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike '_Dbg_have_set0='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike '_Dbg_have_set0='>
                              name: _Dbg_have_set0
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [125 144]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          spids: [109 122]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_orig_0='> ($ Id.VSub_Number 0)}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Unary
                          op_id: Id.BoolUnary_n
                          child: {($ Id.VSub_DollarName _Dbg_script)}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              children: [
                                (command.DParen
                                  left: <Id.Op_DLeftParen _>
                                  child: ($ Id.Lit_ArithVarLike _Dbg_have_set0)
                                  right: <Id.Op_DRightParen _>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: {($ Id.VSub_DollarName _Dbg_script_file)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                              ops: [<Id.Op_DAmp _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <builtin>
                      more_env: []
                      words: [{<builtin>} {<set0>} {($ Id.VSub_DollarName _Dbg_script_file)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [177 196]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike '_Dbg_step_ignore='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '_Dbg_step_ignore='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike '_Dbg_step_ignore='>
                      name: _Dbg_step_ignore
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                )
              ]
              redirects: []
            )
          ]
          spids: [161 173]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.Simple
          blame_tok: <typeset>
          more_env: []
          words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_n='> ($ Id.VSub_Pound '#')}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <typeset>
          more_env: []
          words: [{<typeset>} {<-i>} {<_Dbg_i>}]
          redirects: []
          do_fork: T
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_need_input='> <1>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_brkpt_num='> <0>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike 'last_next_step_cmd='> (SQ <s>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_last_print='> (SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_last_printe='> (SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [
        {<typeset>}
        {<Id.Lit_VarLike '_seteglob='> 
          (SQ <'local __eopt=-u ; shopt -q extglob && __eopt=-s ; shopt -s extglob'>)
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike '_resteglob='> (SQ <'shopt $__eopt extglob'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike 'int_pat='> (SQ <'[0-9]*([0-9])'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_signed_int_pat='> (SQ <'?([-+])+([0-9])'>)}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Unary
                          op_id: Id.BoolUnary_z
                          child: {($ Id.VSub_DollarName _Dbg_tty)}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<-x>} {<_Dbg_tty>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike '_Dbg_tty='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '_Dbg_tty='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_tty='> name:_Dbg_tty)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <tty>
                            more_env: []
                            words: [{<tty>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.DBracket
                  left: <Id.KW_DLeftBracket '[['>
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_GlobNEqual
                      left: {($ Id.VSub_QMark '?')}
                      right: {<0>}
                    )
                  right: <Id.Lit_DRightBracket ']]'>
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike '_Dbg_tty='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike '_Dbg_tty='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_tty='> name:_Dbg_tty)
                      op: assign_op.Equal
                      rhs: {(SQ )}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
          ]
          spids: [325 337]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.AndOr
      children: [
        (command.DBracket
          left: <Id.KW_DLeftBracket '[['>
          expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{($ Id.VSub_DollarName _Dbg_QUIT_LEVELS)})
          right: <Id.Lit_DRightBracket ']]'>
          redirects: []
        )
        (command.ShAssignment
          left: <Id.Lit_VarLike '_Dbg_QUIT_LEVELS='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike '_Dbg_QUIT_LEVELS='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_QUIT_LEVELS='> name:_Dbg_QUIT_LEVELS)
              op: assign_op.Equal
              rhs: {<0>}
            )
          ]
          redirects: []
        )
      ]
      ops: [<Id.Op_DAmp _>]
    )
  ]
)