(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('putty KEX'))} spids:[7])]
      spids: [7]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(DQ (x) ($ VSub_Name '$REGRESS_INTEROP_PUTTY'))} 
                  {(KW_Bang '!') (Lit_Other '=')} {(DQ (xyes))}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(echo)} {(DQ ('putty interop tests not enabled'))}) (C {(exit)} {(0)})]
          spids: [16777215 31]
        )
      ]
      spids: [16777215 45]
    )
    (ForEach
      iter_name: k
      iter_words: [{(dh-gex-sha1)} {(dh-group1-sha1)} {(dh-group14-sha1)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ($ VSub_Name '$tid') (': kex ') ($ VSub_Name '$k'))})
            (C {(cp)} {(${ VSub_Name OBJ) (/.putty/sessions/localhost_proxy)} 
              {(${ VSub_Name OBJ) (/.putty/sessions/kex_) ($ VSub_Name '$k')}
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('KEX=') ($ VSub_Name '$k'))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(${ VSub_Name OBJ) (/.putty/sessions/kex_) ($ VSub_Name '$k')}
                  spids: [97]
                )
              ]
            )
            (C {(env)} {(Lit_VarLike 'HOME=') ($ VSub_Name '$PWD')} {(${ VSub_Name PLINK)} {(-load)} 
              {(kex_) ($ VSub_Name '$k')} {(-batch)} {(-i)} {(putty.rsa2)} {(true)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('KEX ') ($ VSub_Name '$k') (' failed'))})]
                  spids: [16777215 143]
                )
              ]
              spids: [16777215 155]
            )
          ]
          spids: [62 157]
        )
      spids: [53 60]
    )
  ]
)