(CommandList
  children: [
    (Assignment
      keyword: Assign_Typeset
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_last_search_pat) op:Equal spids:[70])]
      spids: [68]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_listline) op:Equal rhs:{(0)} spids:[83])]
      spids: [79]
    )
    (Assignment
      keyword: Assign_Typeset
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_source_line) op:Equal spids:[89])]
      spids: [87]
    )
    (FuncDef
      name: _Dbg_print_location_and_command
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line_number)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name '$_Dbg_frame_last_lineno')}
                          )
                        spids: [111 115]
                      )
                    }
                  spids: [110]
                )
              ]
              spids: [108]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name '$_Dbg_frame_last_filename')}
                          )
                        spids: [121 125]
                      )
                    }
                  spids: [120]
                )
              ]
              spids: [118]
            )
            (C {(_Dbg_get_source_line)} {($ VSub_Name '$line_number')} {(DQ ($ VSub_Name '$filename'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(_Dbg_adjust_filename)} {(DQ ($ VSub_Name '$filename'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [138 144]
                      )
                    }
                  spids: [137]
                )
              ]
              spids: [137]
            )
            (C {(_Dbg_msg)} 
              {
                (DQ ('(') (${ VSub_Name filename) (':') (${ VSub_Name line_number) ('):\n') 
                  (${ VSub_Name line_number) (':') (Lit_Other '\\') (t) (${ VSub_Name _Dbg_source_line)
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$_Dbg_set_show_command')}
                              right: {(DQ (on))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(_Dbg_msg)} {(DQ ($ VSub_Name '$_Dbg_bash_command'))})]
                  spids: [16777215 200]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name '$_Dbg_last_lineno')}
                                  right: {($ VSub_Name '$_Dbg_frame_last_lineno')}
                                )
                            )
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name '$_Dbg_last_source_file')}
                                  right: {($ VSub_Name '$_Dbg_frame_last_filename')}
                                )
                            )
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {($ VSub_Name '$_Dbg_last_bash_command')}
                                      right: {($ VSub_Name '$_Dbg_bash_command')}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name '$_Dbg_set_show_command')}
                                      right: {(DQ (auto))}
                                    )
                                )
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(_Dbg_msg)} {(DQ ($ VSub_Name '$_Dbg_bash_command'))})]
                  spids: [210 264]
                )
              ]
              spids: [16777215 274]
            )
          ]
          spids: [105]
        )
      spids: [101 104]
    )
    (FuncDef
      name: _Dbg_print_linetrace
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line_number)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name '$_Dbg_frame_last_lineno')}
                          )
                        spids: [295 299]
                      )
                    }
                  spids: [294]
                )
              ]
              spids: [292]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(DQ ($ VSub_Name '$_Dbg_frame_last_filename'))}
                          )
                        spids: [305 311]
                      )
                    }
                  spids: [304]
                )
              ]
              spids: [302]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depth)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name FUNCNAME>
                        prefix_op: VSub_Pound
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [324 330]
                      ) (-3)
                    }
                  spids: [323]
                )
              ]
              spids: [319]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$_Dbg_script')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:depth))
                      spids: [358 362]
                    )
                  ]
                  spids: [16777215 355]
                )
              ]
              spids: [16777215 365]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:depth)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  spids: [369 378]
                )
                (ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (C {(_Dbg_get_source_line)} {($ VSub_Name '$line_number')} {(DQ ($ VSub_Name '$filename'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(_Dbg_adjust_filename)} {(DQ ($ VSub_Name '$filename'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [396 402]
                      )
                    }
                  spids: [395]
                )
              ]
              spids: [395]
            )
            (C {(_Dbg_msg)} 
              {
                (DQ ('(') (${ VSub_Name filename) (':') (${ VSub_Name line_number) ('):\n') ('level ') 
                  ($ VSub_Name '$_Dbg_DEBUGGER_LEVEL') (', subshell ') ($ VSub_Name '$BASH_SUBSHELL') (', depth ') ($ VSub_Name '$depth') (':') (Lit_Other '\\') 
                  (t) (${ VSub_Name _Dbg_source_line)
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$_Dbg_set_show_command')}
                              right: {(DQ (on))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(_Dbg_msg)} {(DQ ($ VSub_Name '$_Dbg_bash_command'))})]
                  spids: [16777215 485]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithVarRef name:_Dbg_last_lineno)
                                  right: (ArithVarRef name:_Dbg_frame_last_lineno)
                                )
                              spids: [497 506]
                            )
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name '$_Dbg_last_source_file')}
                                  right: {($ VSub_Name '$_Dbg_frame_last_filename')}
                                )
                            )
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {($ VSub_Name '$_Dbg_last_bash_command')}
                                      right: {($ VSub_Name '$_Dbg_bash_command')}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name '$_Dbg_set_show_command')}
                                      right: {(DQ (auto))}
                                    )
                                )
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(_Dbg_msg)} {(DQ ($ VSub_Name '$_Dbg_bash_command'))})]
                  spids: [495 550]
                )
              ]
              spids: [16777215 560]
            )
          ]
          spids: [289]
        )
      spids: [285 288]
    )
    (FuncDef
      name: _Dbg_parse_list_args
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:max_line) op:Equal spids:[600])]
              spids: [596]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DPipe
                      left: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithWord w:{($ VSub_Pound '$#')})
                          right: (ArithWord w:{(Lit_Digits 3)})
                        )
                      right: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{($ VSub_Pound '$#')})
                          right: (ArithWord w:{(Lit_Digits 5)})
                        )
                    )
                  spids: [603 618]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:center_line) op:Equal spids:[632])]
              spids: [628]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:center_line)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [635]
                )
              ]
              spids: [635]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:max_line)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [640]
                )
              ]
              spids: [640]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$3'))}
                  spids: [644]
                )
              ]
              spids: [644]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Number '$4')}
                              right: {(SQ <.>)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:_Dbg_listline)
                          right: (ArithVarRef name:_Dbg_frame_last_lineno)
                        )
                      spids: [673 678]
                    )
                  ]
                  spids: [16777215 670]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Number '$4')}
                              right: {(SQ <->)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:_Dbg_listline)
                          right: 
                            (ArithBinary
                              op_id: Arith_Minus
                              left: (ArithVarRef name:_Dbg_listline)
                              right: 
                                (ArithBinary
                                  op_id: Arith_Star
                                  left: (ArithWord w:{(Lit_Digits 2)})
                                  right: (ArithVarRef name:_Dbg_set_listsize)
                                )
                            )
                        )
                      spids: [699 708]
                    )
                  ]
                  spids: [681 696]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_n child:{($ VSub_Number '$4')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_Less
                                      left: (ArithWord w:{($ VSub_Number '$4')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [728 735]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (DParen
                              child: 
                                (BinaryAssign
                                  op_id: Arith_Equal
                                  left: (LhsName name:_Dbg_listline)
                                  right: 
                                    (ArithBinary
                                      op_id: Arith_Plus
                                      left: 
                                        (ArithBinary
                                          op_id: Arith_Plus
                                          left: (ArithWord w:{($ VSub_Number '$2')})
                                          right: (ArithWord w:{($ VSub_Number '$4')})
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                )
                              spids: [742 751]
                            )
                          ]
                          spids: [16777215 739]
                        )
                      ]
                      else_action: [
                        (DParen
                          child: 
                            (BinaryAssign
                              op_id: Arith_Equal
                              left: (LhsName name:_Dbg_listline)
                              right: (ArithWord w:{($ VSub_Number '$4')})
                            )
                          spids: [757 762]
                        )
                      ]
                      spids: [754 765]
                    )
                  ]
                  spids: [711 723]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{(Lit_Digits 0)})
                              right: (ArithVarRef name:_Dbg_listline)
                            )
                          spids: [770 779]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_listline)
                          op: Equal
                          rhs: {($ VSub_Name '$_Dbg_frame_last_lineno')}
                          spids: [786]
                        )
                      ]
                      spids: [786]
                    )
                  ]
                  spids: [768 783]
                )
              ]
              spids: [16777215 790]
            )
            (DParen
              child: 
                (ArithBinary
                  op_id: Arith_DAmp
                  left: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithVarRef name:_Dbg_listline)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  right: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:_Dbg_listline))
                )
              spids: [793 805]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:count) op:Equal spids:[813])]
              spids: [809]
            )
            (DParen
              child: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:count)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Number 5>
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_ColonHyphen
                                arg_word: {(_Dbg_set_listsize)}
                              )
                            spids: [819 823]
                          )
                        }
                    )
                )
              spids: [816 825]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:count)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  spids: [828 835]
                )
                (DParen
                  child: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:count)
                      right: 
                        (ArithBinary
                          op_id: Arith_Plus
                          left: 
                            (ArithBinary
                              op_id: Arith_Plus
                              left: (ArithWord w:{($ VSub_Number '$2')})
                              right: (ArithWord w:{($ VSub_Number '$5')})
                            )
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                    )
                  spids: [839 848]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (DBracket
                              expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Number '$5')})
                            )
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithVarRef name:count)
                                  right: (ArithVarRef name:_Dbg_listline)
                                )
                              spids: [863 870]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DParen
                          child: (ArithVarRef name:center_line)
                          spids: [877 880]
                        )
                        (DParen
                          child: 
                            (BinaryAssign
                              op_id: Arith_MinusEqual
                              left: (LhsName name:_Dbg_listline)
                              right: 
                                (ArithBinary
                                  op_id: Arith_Slash
                                  left: (ArithVarRef name:count)
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                            )
                          spids: [884 891]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_LessEqual
                              left: (ArithVarRef name:_Dbg_listline)
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [894 899]
                        )
                        (DParen
                          child: 
                            (BinaryAssign
                              op_id: Arith_Equal
                              left: (LhsName name:_Dbg_listline)
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [903 908]
                        )
                      ]
                    )
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:end_line)
                          right: 
                            (ArithBinary
                              op_id: Arith_Minus
                              left: 
                                (ArithBinary
                                  op_id: Arith_Plus
                                  left: (ArithVarRef name:_Dbg_listline)
                                  right: (ArithVarRef name:count)
                                )
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                        )
                      spids: [911 920]
                    )
                  ]
                  spids: [16777215 874]
                )
              ]
              else_action: [
                (DParen
                  child: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:end_line)
                      right: (ArithVarRef name:count)
                    )
                  spids: [926 931]
                )
              ]
              spids: [923 934]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [593]
        )
      spids: [589 592]
    )
    (FuncDef
      name: _Dbg_list
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DPipe
                      left: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithWord w:{($ VSub_Pound '$#')})
                          right: (ArithWord w:{(Lit_Digits 3)})
                        )
                      right: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{($ VSub_Pound '$#')})
                          right: (ArithWord w:{(Lit_Digits 5)})
                        )
                    )
                  spids: [957 972]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:filename) op:Equal spids:[984])]
              spids: [982]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [987]
                )
              ]
              spids: [987]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:end_line) op:Equal spids:[993])]
              spids: [991]
            )
            (C {(_Dbg_readin_if_new)} {(DQ ($ VSub_Name '$filename'))})
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:max_line) op:Equal spids:[1009])]
              spids: [1005]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:max_line)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(_Dbg_get_maxline)} {(DQ ($ VSub_Name '$filename'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1013 1019]
                      )
                    }
                  spids: [1012]
                )
              ]
              spids: [1012]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: (ArithWord w:{($ VSub_QMark '$?')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [1025 1034]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(_Dbg_errmsg)} 
                      {(DQ ('internal error getting number of lines in ') ($ VSub_Name '$filename'))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 1038]
                )
              ]
              spids: [16777215 1054]
            )
            (C {(_Dbg_parse_list_args)} {(DQ ($ VSub_Name '$max_line'))} {(DQ ($ VSub_At '$@'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithVarRef name:_Dbg_listline)
                              right: (ArithVarRef name:max_line)
                            )
                          spids: [1072 1081]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(_Dbg_errmsg)} 
                      {(DQ ('Line number ') ($ VSub_Name '$_Dbg_listline') (' out of range;'))} {(DQ ($ VSub_Name '$filename') (' has ') ($ VSub_Name '$max_line') (' lines.'))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 1085]
                )
              ]
              spids: [16777215 1113]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_Great
                      left: (ArithVarRef name:end_line)
                      right: (ArithVarRef name:max_line)
                    )
                  spids: [1117 1126]
                )
                (DParen
                  child: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:end_line)
                      right: (ArithVarRef name:max_line)
                    )
                  spids: [1130 1135]
                )
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:frame_fullfile) op:Equal spids:[1141])]
              spids: [1139]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:frame_fullfile)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name _Dbg_file2canonic>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$_Dbg_frame_last_filename')})
                          )
                        spids: [1145 1150]
                      )
                    }
                  spids: [1144]
                )
              ]
              spids: [1144]
            )
            (ForExpr
              cond: 
                (ArithBinary
                  op_id: Arith_LessEqual
                  left: (ArithVarRef name:_Dbg_listline)
                  right: (ArithVarRef name:end_line)
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:_Dbg_listline))
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Typeset
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prefix)
                          op: Equal
                          rhs: {(SQ <'    '>)}
                          spids: [1181]
                        )
                      ]
                      spids: [1179]
                    )
                    (C {(_Dbg_get_source_line)} {($ VSub_Name '$_Dbg_listline')} 
                      {(DQ ($ VSub_Name '$filename'))}
                    )
                    (AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithVarRef name:_Dbg_listline)
                              right: (ArithVarRef name:_Dbg_frame_last_lineno)
                            )
                          spids: [1197 1206]
                        )
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$fullname')}
                              right: {($ VSub_Name '$frame_fullfile')}
                            )
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:prefix)
                              op: Equal
                              rhs: {(SQ <' => '>)}
                              spids: [1224]
                            )
                          ]
                          spids: [1224]
                        )
                      ]
                    )
                    (C {(_Dbg_printf)} {(DQ ('%3d:%s%s'))} {($ VSub_Name '$_Dbg_listline')} 
                      {(DQ ($ VSub_Name '$prefix'))} {(DQ ($ VSub_Name '$_Dbg_source_line'))}
                    )
                  ]
                  spids: [1176 1247]
                )
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [954]
        )
      spids: [950 953]
    )
    (FuncDef
      name: _Dbg_list_columns
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:colsep) op:Equal rhs:{(SQ <'  '>)} spids:[1266])]
              spids: [1264]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_Great
                      left: (ArithWord w:{($ VSub_Pound '$#')})
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  spids: [1272 1280]
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:colsep)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$1'))}
                              spids: [1286]
                            )
                          ]
                          spids: [1286]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                  ]
                  spids: [1284]
                )
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:linewidth) op:Equal spids:[1302])]
              spids: [1298]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Pound '$#')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [1311 1319]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (BinaryAssign
                              op_id: Arith_Equal
                              left: (LhsName name:linewidth)
                              right: 
                                (ArithBinary
                                  op_id: Arith_Minus
                                  left: (ArithWord w:{($ VSub_Number '$1')})
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                            )
                          spids: [1326 1333]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 1323]
                )
              ]
              else_action: [
                (DParen
                  child: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:linewidth)
                      right: 
                        (ArithBinary
                          op_id: Arith_Minus
                          left: (ArithVarRef name:_Dbg_set_linewidth)
                          right: (ArithWord w:{(Lit_Digits 2)})
                        )
                    )
                  spids: [1343 1350]
                )
              ]
              spids: [1340 1353]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_NEqual
                      left: (ArithWord w:{($ VSub_Pound '$#')})
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  spids: [1356 1363]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Typeset
                  flags: [-a]
                  pairs: [(assign_pair lhs:(LhsName name:columnized) op:Equal spids:[1376])]
                  spids: [1372]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(columnize)} {($ VSub_Name '$linewidth')} {(DQ ($ VSub_Name '$colsep'))})
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[1392])]
              spids: [1388]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name columnized>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1405 1411]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (C {(_Dbg_msg)} 
                      {
                        (DQ ('  ') 
                          (BracedVarSub
                            token: <VSub_Name columnized>
                            bracket_op: (ArrayIndex expr:(ArithVarRef name:i))
                            spids: [1428 1433]
                          )
                        )
                      }
                    )
                  ]
                  spids: [1421 1437]
                )
            )
          ]
          spids: [1261]
        )
      spids: [1257 1260]
    )
  ]
)