(CommandList
  children: [
    (C {(source)} {(sources/utility_functions.sh)})
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-lt)} {(1)} {(Lit_Other "]")})
          action: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Usage: timeout.sh SECONDS COMMANDS..."))}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[44])]
                )
                (C {(exit)} {(1)})
              ]
            )
          spids: [-1 35]
        )
      ]
      spids: [-1 52]
    )
    (C {(trap)} {(DQ ("killtree ") ($ VSub_Dollar "$$"))} {(EXIT)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:TIMEOUT) rhs:{(DQ ($ VSub_Number "$1"))} spids:[64])]
      spids: [64]
    )
    (C {(shift)})
    (Pipeline
      children: [
        (Subshell children:[(C {(eval)} {(DQ ($ VSub_At "$@"))})] spids:[7179])
        (C {(tee)} 
          {
            (CommandSubPart
              command_list: 
                (CommandList
                  children: [
                    (Sentence
                      command: 
                        (While
                          cond: 
                            (Sentence
                              command: 
                                (C {(read)} {(-t)} {(DQ ($ VSub_Name "$TIMEOUT"))} {(-n)} {(32)} {(i)})
                              terminator: <Op_Semi ";">
                            )
                          body: 
                            (DoGroup
                              child: (Sentence command:(C {(true)}) terminator:<Op_Semi ";">)
                              spids: [103 108]
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Sentence
                      command: (C {(sleep)} {(1)})
                      terminator: <Op_Semi ";">
                    )
                    (SimpleCommand
                      words: [{(kill)} {(-TERM)} {($ VSub_Dollar "$$")}]
                      redirects: [
                        (Redirect
                          op_id: Redir_Great
                          arg_word: {(/dev/null)}
                          fd: 2
                          spids: [122]
                        )
                      ]
                    )
                  ]
                )
              spids: [85 125]
            )
          }
        )
      ]
      negated: False
    )
  ]
)