(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ROOT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [64 72]
              ) (/..)
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))})
    (C {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') (setup_env)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BUILD_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(vendor/k8s.io/code-generator/cmd/client-gen)}
                  {(vendor/k8s.io/code-generator/cmd/lister-gen)}
                  {(vendor/k8s.io/code-generator/cmd/informer-gen)}
                ]
              )
            }
          spids: [94]
        )
      ]
      spids: [94]
    )
    (C {(make)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT))} 
      {(Lit_VarLike 'WHAT=') 
        (DQ 
          (BracedVarSub
            token: <VSub_Name BUILD_TARGETS>
            bracket_op: (WholeArray op_id:Arith_Star)
            spids: [120 125]
          )
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:clientgen)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C 
                        {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                          (find-binary)
                        } {(DQ (client-gen))}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [130 142]
              )
            }
          spids: [129]
        )
      ]
      spids: [129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:listergen)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C 
                        {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                          (find-binary)
                        } {(DQ (lister-gen))}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [145 157]
              )
            }
          spids: [144]
        )
      ]
      spids: [144]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:informergen)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C 
                        {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                          (find-binary)
                        } {(DQ (informer-gen))}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [160 172]
              )
            }
          spids: [159]
        )
      ]
      spids: [159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GROUP_VERSIONS)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_AVAILABLE_GROUP_VERSIONS)}])}
          spids: [185]
        )
      ]
      spids: [185]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:GV_DIRS) op:Equal rhs:{(ArrayLiteralPart)} spids:[192])]
      spids: [192]
    )
    (ForEach
      iter_name: gv
      iter_words: [
        {
          (DQ 
            (BracedVarSub
              token: <VSub_Name GROUP_VERSIONS>
              bracket_op: (WholeArray op_id:Lit_At)
              spids: [203 208]
            )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:api_dir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') 
                                  (Lit_Other ':') (group-version-to-pkg-path)
                                } {(DQ (${ VSub_Name gv))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [220 234]
                      )
                    }
                  spids: [219]
                )
              ]
              spids: [219]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nopkg_dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name api_dir>
                        suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(pkg) (Lit_Slash /)})
                        spids: [238 243]
                      )
                    }
                  spids: [237]
                )
              ]
              spids: [237]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nopkg_dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name nopkg_dir>
                        suffix_op: 
                          (StringUnary
                            op_id: VOp1_Pound
                            arg_word: 
                              {(vendor) (Lit_Slash /) (k8s.io) (Lit_Slash /) (api) (Lit_Slash /)}
                          )
                        spids: [247 256]
                      )
                    }
                  spids: [246]
                )
              ]
              spids: [246]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkg_dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name nopkg_dir>
                        suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(apis) (Lit_Slash /)})
                        spids: [260 265]
                      )
                    }
                  spids: [259]
                )
              ]
              spids: [259]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (' ') (${ VSub_Name KUBE_NONSERVER_GROUP_VERSIONS) (' '))}
                              right: 
                                {(Lit_Other '*') (DQ (' ') (${ VSub_Name gv) (' ')) (Lit_Other '*')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [16777215 300]
                )
              ]
              spids: [16777215 306]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:GV_DIRS)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name pkg_dir))}])}
                  spids: [310]
                )
              ]
              spids: [310]
            )
          ]
          spids: [212 319]
        )
      spids: [201 210]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GV_DIRS_CSV)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Sentence
                        child: 
                          (Assignment
                            keyword: Assign_None
                            pairs: [
                              (assign_pair
                                lhs: (LhsName name:IFS)
                                op: Equal
                                rhs: {(SQ <','>)}
                                spids: [326]
                              )
                            ]
                            spids: [326]
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (Sentence
                        child: 
                          (C {(echo)} 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name GV_DIRS>
                                  bracket_op: (WholeArray op_id:Arith_Star)
                                  suffix_op: 
                                    (PatSub
                                      pat: {(' ')}
                                      replace: {(',')}
                                      do_all: T
                                      do_prefix: F
                                      do_suffix: F
                                    )
                                  spids: [334 344]
                                )
                              )
                            }
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (Assignment
                        keyword: Assign_None
                        pairs: [
                          (assign_pair
                            lhs: (LhsName name:IFS)
                            op: Equal
                            rhs: {(Lit_Other '$')}
                            spids: [347]
                          )
                        ]
                        spids: [347]
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [325 349]
              )
            }
          spids: [324]
        )
      ]
      spids: [324]
    )
    (C {(${ VSub_Name clientgen)} {(DQ ($ VSub_At '$@'))})
    (C {(${ VSub_Name clientgen)} {(--output-base)} {(DQ (${ VSub_Name KUBE_ROOT) (/vendor))} 
      {(--clientset-path) (Lit_Other '=') (DQ (k8s.io/client-go))} {(--clientset-name) (Lit_Other '=') (DQ (kubernetes))} 
      {(--input-base) (Lit_Other '=') (DQ (k8s.io/kubernetes/vendor/k8s.io/api))} {(--input) (Lit_Other '=') (DQ (${ VSub_Name GV_DIRS_CSV))} {(DQ ($ VSub_At '$@'))}
    )
    (C {(${ VSub_Name clientgen)} {(--clientset-name) (Lit_Other '=') (federation_clientset)} 
      {(--clientset-path) (Lit_Other '=') (k8s.io/kubernetes/federation/client/clientset_generated)} {(--input-base) (Lit_Other '=') (DQ (k8s.io/kubernetes/vendor/k8s.io/api))} 
      {(--input) (Lit_Other '=') (DQ (../../../federation/apis/federation/v1beta1)) (Lit_Comma ',') 
        (DQ (core/v1)) (Lit_Comma ',') (DQ (extensions/v1beta1)) (Lit_Comma ',') (DQ (batch/v1)) (Lit_Comma ',') 
        (DQ (autoscaling/v1))
      } 
      {(--included-types-overrides) (Lit_Other '=') 
        (DQ 
          (
'core/v1/Service,core/v1/Namespace,extensions/v1beta1/ReplicaSet,core/v1/Secret,extensions/v1beta1/Ingress,extensions/v1beta1/Deployment,extensions/v1beta1/DaemonSet,core/v1/ConfigMap,core/v1/Event,batch/v1/Job,autoscaling/v1/HorizontalPodAutoscaler'
          )
        )
      } {(DQ ($ VSub_At '$@'))}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:listergen_internal_apis)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(pkg/api)}
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C {(cd)} {(${ VSub_Name KUBE_ROOT)})
                            (Pipeline
                              children: [
                                (C {(find)} {(pkg/apis)} {(-maxdepth)} {(2)} {(-name)} {(types.go)})
                                (C {(xargs)} {(-n1)} {(dirname)})
                                (C {(sort)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [468 503]
                    )
                  }
                ]
              )
            }
          spids: [463]
        )
      ]
      spids: [463]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:listergen_internal_apis)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (BracedVarSub
                      token: <VSub_Name listergen_internal_apis>
                      bracket_op: (WholeArray op_id:Lit_At)
                      suffix_op: 
                        (PatSub
                          pat: {}
                          replace: {(k8s.io) (Lit_Slash /) (kubernetes) (Lit_Slash /)}
                          do_all: F
                          do_prefix: T
                          do_suffix: F
                        )
                      spids: [509 521]
                    )
                  }
                ]
              )
            }
          spids: [507]
        )
      ]
      spids: [507]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:listergen_internal_apis_csv)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Sentence
                        child: 
                          (Assignment
                            keyword: Assign_None
                            pairs: [
                              (assign_pair
                                lhs: (LhsName name:IFS)
                                op: Equal
                                rhs: {(Lit_Comma ',')}
                                spids: [526]
                              )
                            ]
                            spids: [526]
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (C {(echo)} 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name listergen_internal_apis>
                              bracket_op: (WholeArray op_id:Arith_Star)
                              spids: [533 538]
                            )
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [525 540]
              )
            }
          spids: [524]
        )
      ]
      spids: [524]
    )
    (C {(${ VSub_Name listergen)} {(--input-dirs)} {(DQ (${ VSub_Name listergen_internal_apis_csv))} 
      {(DQ ($ VSub_At '$@'))}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:listergen_external_apis)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C {(cd)} {(${ VSub_Name KUBE_ROOT) (/staging/src)})
                            (Pipeline
                              children: [
                                (C {(find)} {(k8s.io/api)} {(-name)} {(types.go)})
                                (C {(xargs)} {(-n1)} {(dirname)})
                                (C {(sort)})
                                (C {(grep)} {(-v)} {(pkg.apis.policy.v1alpha1)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [562 605]
                    )
                  }
                ]
              )
            }
          spids: [559]
        )
      ]
      spids: [559]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:listergen_external_apis_csv)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Sentence
                        child: 
                          (Assignment
                            keyword: Assign_None
                            pairs: [
                              (assign_pair
                                lhs: (LhsName name:IFS)
                                op: Equal
                                rhs: {(Lit_Comma ',')}
                                spids: [611]
                              )
                            ]
                            spids: [611]
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (C {(echo)} 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name listergen_external_apis>
                              bracket_op: (WholeArray op_id:Arith_Star)
                              spids: [618 623]
                            )
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [610 625]
              )
            }
          spids: [609]
        )
      ]
      spids: [609]
    )
    (C {(${ VSub_Name listergen)} {(--output-base)} {(DQ (${ VSub_Name KUBE_ROOT) (/vendor))} 
      {(--output-package)} {(DQ (k8s.io/client-go/listers))} {(--input-dirs)} {(DQ (${ VSub_Name listergen_external_apis_csv))} 
      {(DQ ($ VSub_At '$@'))}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:informergen_internal_apis)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(pkg/api)}
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C {(cd)} {(${ VSub_Name KUBE_ROOT)})
                            (Pipeline
                              children: [
                                (C {(find)} {(pkg/apis)} {(-maxdepth)} {(2)} {(-name)} {(types.go)})
                                (C {(xargs)} {(-n1)} {(dirname)})
                                (C {(sort)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [664 699]
                    )
                  }
                ]
              )
            }
          spids: [659]
        )
      ]
      spids: [659]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:informergen_internal_apis)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (BracedVarSub
                      token: <VSub_Name informergen_internal_apis>
                      bracket_op: (WholeArray op_id:Lit_At)
                      suffix_op: 
                        (PatSub
                          pat: {}
                          replace: {(k8s.io) (Lit_Slash /) (kubernetes) (Lit_Slash /)}
                          do_all: F
                          do_prefix: T
                          do_suffix: F
                        )
                      spids: [705 717]
                    )
                  }
                ]
              )
            }
          spids: [703]
        )
      ]
      spids: [703]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:informergen_internal_apis_csv)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Sentence
                        child: 
                          (Assignment
                            keyword: Assign_None
                            pairs: [
                              (assign_pair
                                lhs: (LhsName name:IFS)
                                op: Equal
                                rhs: {(Lit_Comma ',')}
                                spids: [722]
                              )
                            ]
                            spids: [722]
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (C {(echo)} 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name informergen_internal_apis>
                              bracket_op: (WholeArray op_id:Arith_Star)
                              spids: [729 734]
                            )
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [721 736]
              )
            }
          spids: [720]
        )
      ]
      spids: [720]
    )
    (C {(${ VSub_Name informergen)} {(--input-dirs)} {(DQ (${ VSub_Name informergen_internal_apis_csv))} 
      {(--internal-clientset-package)} {(k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset)} {(--listers-package)} 
      {(k8s.io/kubernetes/pkg/client/listers)} {(DQ ($ VSub_At '$@'))}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:informergen_external_apis)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C {(cd)} {(${ VSub_Name KUBE_ROOT) (/staging/src)})
                            (Pipeline
                              children: [
                                (C {(find)} {(k8s.io/api)} {(-name)} {(types.go)})
                                (C {(xargs)} {(-n1)} {(dirname)})
                                (C {(sort)})
                                (C {(grep)} {(-v)} {(pkg.apis.policy.v1alpha1)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [774 817]
                    )
                  }
                ]
              )
            }
          spids: [771]
        )
      ]
      spids: [771]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:informergen_external_apis_csv)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Sentence
                        child: 
                          (Assignment
                            keyword: Assign_None
                            pairs: [
                              (assign_pair
                                lhs: (LhsName name:IFS)
                                op: Equal
                                rhs: {(Lit_Comma ',')}
                                spids: [824]
                              )
                            ]
                            spids: [824]
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (C {(echo)} 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name informergen_external_apis>
                              bracket_op: (WholeArray op_id:Arith_Star)
                              spids: [831 836]
                            )
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [823 838]
              )
            }
          spids: [822]
        )
      ]
      spids: [822]
    )
    (C {(${ VSub_Name informergen)} {(--output-base)} {(DQ (${ VSub_Name KUBE_ROOT) (/vendor))} 
      {(--output-package)} {(DQ (k8s.io/client-go/informers))} {(--single-directory)} {(--input-dirs)} 
      {(DQ (${ VSub_Name informergen_external_apis_csv))} {(--versioned-clientset-package)} {(k8s.io/client-go/kubernetes)} {(--listers-package)} 
      {(k8s.io/client-go/listers)} {(DQ ($ VSub_At '$@'))}
    )
    (SimpleCommand
      words: [{(vendor/k8s.io/code-generator/hack/update-codegen.sh)}]
      more_env: [(env_pair name:CODEGEN_PKG val:{(./vendor/k8s.io/code-generator)} spids:[904])]
    )
    (SimpleCommand
      words: [{(vendor/k8s.io/kube-aggregator/hack/update-codegen.sh)}]
      more_env: [(env_pair name:CODEGEN_PKG val:{(./vendor/k8s.io/code-generator)} spids:[909])]
    )
    (SimpleCommand
      words: [{(vendor/k8s.io/sample-apiserver/hack/update-codegen.sh)}]
      more_env: [(env_pair name:CODEGEN_PKG val:{(./vendor/k8s.io/code-generator)} spids:[914])]
    )
    (SimpleCommand
      words: [{(vendor/k8s.io/apiextensions-apiserver/hack/update-codegen.sh)}]
      more_env: [(env_pair name:CODEGEN_PKG val:{(./vendor/k8s.io/code-generator)} spids:[919])]
    )
    (SimpleCommand
      words: [{(vendor/k8s.io/metrics/hack/update-codegen.sh)}]
      more_env: [(env_pair name:CODEGEN_PKG val:{(./vendor/k8s.io/code-generator)} spids:[924])]
    )
  ]
)