(CommandList
  children: [
    (C {(set)} {(-eu)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MY_LOCATION)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name MY_LOCATION>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(DQ ($ VSub_Number "$0") (.runfiles/bazel_tools/tools/objc))}
                  )
                spids: [73 80]
              )
            }
          spids: [72]
        )
      ]
      spids: [72]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WRAPPER)
          op: Equal
          rhs: {(DQ (${ VSub_Name MY_LOCATION) (/xcrunwrapper.sh))}
          spids: [82]
        )
      ]
      spids: [82]
    )
    (FuncDef
      name: hash_objfile
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ORIGINAL_NAME)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [106]
                )
              ]
              spids: [106]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ORIGINAL_HASH)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(/sbin/md5)} {(-qs)} {(DQ (${ VSub_Name ORIGINAL_NAME))})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [114 124]
                        )
                      )
                    }
                  spids: [112]
                )
              ]
              spids: [112]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SYMLINK_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name ORIGINAL_NAME>
                          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.o)})
                          spids: [130 134]
                        ) (_) (${ VSub_Name ORIGINAL_HASH) (.o)
                      )
                    }
                  spids: [128]
                )
              ]
              spids: [128]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(DQ ($ VSub_Name "$SYMLINK_NAME"))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(ln)} {(-sf)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(basename)} {(DQ ($ VSub_Name "$ORIGINAL_NAME"))})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [166 172]
                          )
                        )
                      } {(DQ ($ VSub_Name "$SYMLINK_NAME"))}
                    )
                  ]
                  spids: [-1 158]
                )
              ]
              spids: [-1 180]
            )
            (C {(echo)} {(DQ ($ VSub_Name "$SYMLINK_NAME"))})
          ]
          spids: [103]
        )
      spids: [97 102]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ARGS) op:Equal rhs:{(ArrayLiteralPart)} spids:[192])]
      spids: [192]
    )
    (While
      cond: [
        (Sentence
          child: (DBracket expr:(BoolBinary op_id:BoolBinary_gt left:{($ VSub_Pound "$#")} right:{(0)}))
          terminator: <Op_Semi ";">
        )
      ]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARG)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [213]
                )
              ]
              spids: [213]
            )
            (C {(shift)})
            (Case
              to_match: {(DQ (${ VSub_Name ARG))}
              arms: [
                (case_arm
                  pat_list: [{(-filelist)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [262]
                        )
                      ]
                      spids: [262]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARG)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [272]
                        )
                      ]
                      spids: [272]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HASHED_FILELIST)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name ARG>
                                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.objlist)})
                                  spids: [283 287]
                                ) (_hashes.objlist)
                              )
                            }
                          spids: [281]
                        )
                      ]
                      spids: [281]
                    )
                    (C {(rm)} {(-f)} {(DQ (${ VSub_Name HASHED_FILELIST))})
                    (C {(python)} {(DQ (${ VSub_Name MY_LOCATION) (/make_hashed_objlist.py))} 
                      {(DQ (${ VSub_Name ARG))} {(DQ (${ VSub_Name HASHED_FILELIST))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name HASHED_FILELIST))}])}
                          spids: [329]
                        )
                      ]
                      spids: [329]
                    )
                  ]
                  spids: [258 259 339 -1]
                )
                (case_arm
                  pat_list: [{(-o)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [350]
                        )
                      ]
                      spids: [350]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARG)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [360]
                        )
                      ]
                      spids: [360]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [369]
                        )
                      ]
                      spids: [369]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUTFILE)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name ARG))}
                          spids: [379]
                        )
                      ]
                      spids: [379]
                    )
                  ]
                  spids: [346 347 387 -1]
                )
                (case_arm
                  pat_list: [{(-static)} {(-s)} {(-a)} {(-c)} {(-L)} {(-T)} {(-no_warning_for_no_symbols)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [410]
                        )
                      ]
                      spids: [410]
                    )
                  ]
                  spids: [394 407 420 -1]
                )
                (case_arm
                  pat_list: [{(-arch_only)} {(-syslibroot)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [433]
                        )
                      ]
                      spids: [433]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARG)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [443]
                        )
                      ]
                      spids: [443]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [452]
                        )
                      ]
                      spids: [452]
                    )
                  ]
                  spids: [427 430 462 -1]
                )
                (case_arm
                  pat_list: [{(-) (Lit_Other "*")}]
                  action: [
                    (C {(echo)} {(DQ ("Unrecognized libtool flag ") (${ VSub_Name ARG))})
                    (C {(exit)} {(1)})
                  ]
                  spids: [469 471 489 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (.a)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name ARG))}])}
                          spids: [501]
                        )
                      ]
                      spids: [501]
                    )
                  ]
                  spids: [496 498 511 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ARGS)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(echo)} 
                                                {
                                                  (DQ 
                                                    (CommandSubPart
                                                      command_list: 
                                                        (CommandList
                                                          children: [
                                                            (C {(hash_objfile)} 
                                                              {(DQ (${ VSub_Name ARG))}
                                                            )
                                                          ]
                                                        )
                                                      left_token: <Left_CommandSub "$(">
                                                      spids: [529 537]
                                                    )
                                                  )
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [525 539]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [522]
                        )
                      ]
                      spids: [522]
                    )
                  ]
                  spids: [518 519 544 -1]
                )
              ]
              spids: [239 247 547]
            )
          ]
          spids: [210 549]
        )
    )
    (C {(export)} {(Lit_VarLike "ZERO_AR_DATE=") (1)})
    (C {(DQ (${ VSub_Name WRAPPER))} {(libtool)} 
      {
        (DQ (BracedVarSub token:<VSub_Name ARGS> bracket_op:(WholeArray op_id:Lit_At) spids:[570575]))
      }
    )
    (C {(touch)} {(DQ ($ VSub_Name "$OUTPUTFILE"))})
  ]
)