(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [69 74] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('Sorry, you need to use a debugger-enabled version of bash.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[91])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [16777215 81] ) ] spids: [16777215 99] ) (ForEach iter_name: _Dbg_file iter_words: [{(require)} {(pre)} {(vars)} {(io)}] do_arg_iter: F body: (DoGroup children: [ (C {(source)} {(${ VSub_Name _Dbg_libdir) (/init/) (${ VSub_Name _Dbg_file) (.sh)}) ] spids: [124 139] ) spids: [113 122] ) (ForEach iter_name: _Dbg_file iter_words: [ {(${ VSub_Name _Dbg_libdir) (/lib/) (Lit_Other '*') (.sh)} {(${ VSub_Name _Dbg_libdir) (/command/) (Lit_Other '*') (.sh)} ] do_arg_iter: F body: (DoGroup children:[(C {(source)} {($ VSub_Name '$_Dbg_file')})] spids:[164 172]) spids: [147 162] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_r child:{(/dev/stdin)})) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_do_source)} {(/dev/stdin)})] spids: [16777215 187] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (CommandSubPart command_list: (CommandList children:[(C {(tty)})]) left_token: <Left_CommandSub '$('> spids: [198 200] ) } right: {(SQ <'not a tty'>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_do_source)} { (CommandSubPart command_list: (CommandList children:[(C {(tty)})]) left_token: <Left_CommandSub '$('> spids: [217 219] ) } ) ] spids: [194 212] ) ] spids: [16777215 221] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_input) op:Equal spids:[231])] spids: [227] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$DBG_INPUT'))}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_input) op: Equal rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Name '$DBG_INPUT'))}])} spids: [264] ) ] spids: [264] ) (C {(_Dbg_do_source)} { (DQ (BracedVarSub token: <VSub_Name _Dbg_input> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [275 280] ) ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_Dbg_no_nx) op:Equal rhs:{(1)} spids:[284])] spids: [284] ) ] spids: [16777215 260] ) ] spids: [16777215 287] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_startup_cmdfile) op: Equal rhs: { (BracedVarSub token: <VSub_Name HOME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{('~')}) spids: [293 297] ) (/.) (${ VSub_Name _Dbg_debugger_name) (rc) } spids: [292] ) ] spids: [290] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithVarRef name:_Dbg_o_nx) ) ) (DBracket expr: (BoolUnary op_id: BoolUnary_r child: {(DQ ($ VSub_Name '$_Dbg_startup_cmdfile'))} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_do_source)} {(DQ ($ VSub_Name '$_Dbg_startup_cmdfile'))})] spids: [16777215 330] ) ] spids: [16777215 339] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name _Dbg_DEBUGGER_LEVEL))}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset flags: [-xi] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_DEBUGGER_LEVEL) op: Equal rhs: {(1)} spids: [371] ) ] spids: [367] ) ] spids: [16777215 364] ) ] spids: [16777215 374] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name _Dbg_libdir> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [391 397] ) } right: {(SQ <.>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_libdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_expand_filename)} {(${ VSub_Name _Dbg_init_cwd) (/) (${ VSub_Name _Dbg_libdir)} ) ] ) left_token: <Left_CommandSub '$('> spids: [417 427] ) } spids: [416] ) ] spids: [416] ) ] spids: [16777215 409] ) ] spids: [16777215 429] ) (ForEach iter_name: source_file iter_words: [ { (BracedVarSub token: <VSub_Name _Dbg_o_init_files> bracket_op: (WholeArray op_id:Lit_At) spids: [438 443] ) } {(DQ ($ VSub_Name '$DBG_RESTART_FILE'))} ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$source_file'))}) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_r child: {(DQ ($ VSub_Name '$source_file'))} ) ) (DBracket expr: (BoolUnary op_id: BoolUnary_f child: {(DQ ($ VSub_Name '$source_file'))} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(source)} {($ VSub_Name '$source_file')})] spids: [16777215 496] ) ] else_action: [ (C {(_Dbg_errmsg)} {(DQ ('Unable to read shell script: ') (${ VSub_Name source_file))} ) ] spids: [504 517] ) ] spids: [16777215 467] ) ] spids: [16777215 520] ) ] spids: [450 522] ) spids: [437 448] ) ] )