(CommandList
  children: [
    (C {(source)} {(sources/utility_functions.sh)})
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-lt)} {(1)} {(Lit_Other "]")})]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("Usage: timeout.sh SECONDS COMMANDS..."))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} 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: (LhsName name:TIMEOUT)
          op: Equal
          rhs: {(DQ ($ VSub_Number "$1"))}
          spids: [64]
        )
      ]
      spids: [64]
    )
    (C {(shift)})
    (Pipeline
      children: [
        (Subshell child:(C {(eval)} {(DQ ($ VSub_At "$@"))}) spids:[7179])
        (C {(tee)} 
          {
            (CommandSubPart
              command_list: 
                (CommandList
                  children: [
                    (Sentence
                      child: 
                        (While
                          cond: [
                            (Sentence
                              child: 
                                (C {(read)} {(-t)} {(DQ ($ VSub_Name "$TIMEOUT"))} {(-n)} {(32)} {(i)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          body: 
                            (DoGroup
                              children: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)]
                              spids: [103 108]
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Sentence child:(C {(sleep)} {(1)}) terminator:<Op_Semi ";">)
                    (SimpleCommand
                      words: [{(kill)} {(-TERM)} {($ VSub_Dollar "$$")}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[122])]
                    )
                  ]
                )
              left_token: <Left_ProcSubOut ">(">
              spids: [85 125]
            )
          }
        )
      ]
      negated: False
    )
  ]
)