(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:READELF)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$1'))}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:binary)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$2'))}
          spids: [58]
        )
      ]
      spids: [58]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NACL_SDK_ROOT'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ($ VSub_Number '$0') (': NACL_SDK_ROOT must be set in the environment'))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[82])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(77)})
          ]
          spids: [16777215 77]
        )
      ]
      spids: [16777215 95]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ncval)
          op: Equal
          rhs: {(DQ (${ VSub_Name NACL_SDK_ROOT) (/tools/ncval))}
          spids: [98]
        )
      ]
      spids: [98]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-x)} {(DQ ($ VSub_Name '$ncval'))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ($ VSub_Number '$0') (': No ncval binary in ') ($ VSub_Name '$ncval'))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[127])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(77)})
          ]
          spids: [16777215 122]
        )
      ]
      spids: [16777215 141]
    )
    (Pipeline
      children: [
        (C {(DQ (${ VSub_Name READELF))} {(-Wl)} {(DQ ($ VSub_Name '$binary'))})
        (C {(awk)} 
          {
            (SQ <'\n'> <'BEGIN { saw_load = saw_text = 0 }\n'> <'$1 == "LOAD" {\n'> 
              <'  saw_load = 1;\n'> <'  if (/ R.E /) saw_code = 1;\n'> <'}\n'> <'END {\n'> <'  exit (saw_code ? 11 : saw_load ? 22 : 1);\n'> 
              <'}\n'>
            )
          }
        )
      ]
      negated: F
    )
    (Case
      to_match: {($ VSub_QMark '$?')}
      arms: [
        (case_arm pat_list:[{(11)}] spids:[178 179 186 16777215])
        (case_arm
          pat_list: [{(22)}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('+++ No code: ') ($ VSub_Name '$binary'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[198])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [188 189 212 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('*** Failed to analyze: ') ($ VSub_Name '$binary'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[224])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)})
          ]
          spids: [214 215 238 16777215]
        )
      ]
      spids: [172 176 240]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(DQ ($ VSub_Name '$ncval'))} {(DQ ($ VSub_Name '$binary'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('+++ Validated: ') ($ VSub_Name '$binary'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[259])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [16777215 254]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ('*** Validation failed: ') ($ VSub_Name '$binary'))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[277])]
        )
        (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)})
      ]
      spids: [272 290]
    )
  ]
)