(CommandList
  children: [
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name srcdir>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
          spids: [5 9]
        )
      }
    )
    (CommandList
      children: [
        (Sentence
          child: (C {(.)} {(DQ ($ VSub_Name '$srcdir') (/init.sh))})
          terminator: <Op_Semi ';'>
        )
        (C {(path_prepend_)} {(.)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:too_big)
          op: Equal
          rhs: {(99999999999999999999999999999999999999999999999999999999999999999999)}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(0)} spids:[27])]
      spids: [27]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(1)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[47])]
          spids: [47]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(-1)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[63])]
          spids: [63]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(1k)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[79])]
          spids: [79]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(${ VSub_Name too_big) (h)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[98])]
          spids: [98]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {($ VSub_Name '$too_big')}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[114])]
          spids: [114]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(x)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[130])]
          spids: [130]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(9x)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[146])]
          spids: [146]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(010)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[162])]
          spids: [162]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(test-xstrtoumax)} {(MiB)}]
          redirects: [
            (Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(out)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[178])]
          spids: [178]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (Pipeline
                  children: [
                    (C {(echo)} {(solaris)})
                    (C {(tr)} {(-d)} {(SQ <'\\r'>)})
                    (SimpleCommand
                      words: [{(grep)} {(solais)}]
                      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                    )
                  ]
                  negated: F
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:cr) op:Equal rhs:{(SQ <'\\015'>)} spids:[218])]
              spids: [218]
            )
          ]
          spids: [16777215 215]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:cr) op:Equal rhs:{(SQ <'\\r'>)} spids:[226])]
          spids: [226]
        )
      ]
      spids: [223 231]
    )
    (SimpleCommand
      words: [{(tr)} {(-d)} {(DQ ($ VSub_Name '$cr'))}]
      redirects: [
        (Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(out)})
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(k)})
      ]
      more_env: [(env_pair name:LC_ALL val:{(C)} spids:[237])]
    )
    (C {(mv)} {(k)} {(out)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(exp)})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 291
          stdin_parts: [
            ('1->1 ()\n')
            ("invalid X argument '-1'\n")
            ('1k->1024 ()\n')
            ("invalid suffix in X argument '")
            (${ VSub_Name too_big)
            ("h'\n")
            ("X argument '")
            ($ VSub_Name '$too_big')
            ("' too large\n")
            ("invalid X argument 'x'\n")
            ("invalid suffix in X argument '9x'\n")
            ('010->8 ()\n')
            ('MiB->1048576 ()\n')
          ]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp)} {(out)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[301])]
          spids: [301]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$result')})
  ]
)