(CommandList
  children: [
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_GO_PACKAGE)
          op: Equal
          rhs: {(k8s.io/kubernetes)}
          spids: [49]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_GOPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name KUBE_OUTPUT) (/go))}
          spids: [54]
        )
      ]
      spids: [52]
    )
    (FuncDef
      name: "kube::golang::server_targets"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(cmd/kube-proxy)}
                          {(cmd/kube-apiserver)}
                          {(cmd/kube-controller-manager)}
                          {(cmd/cloud-controller-manager)}
                          {(cmd/kubelet)}
                          {(cmd/kubeadm)}
                          {(cmd/hyperkube)}
                          {(vendor/k8s.io/kube-aggregator)}
                          {(vendor/k8s.io/apiextensions-apiserver)}
                          {(plugin/cmd/kube-scheduler)}
                        ]
                      )
                    }
                  spids: [84]
                )
              ]
              spids: [82]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [124 129]
                  )
                )
              }
            )
          ]
          spids: [79]
        )
      spids: [69 78]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_SERVER_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                (Lit_Other ":") (server_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub "$(">
                      spids: [139 147]
                    )
                  }
                ]
              )
            }
          spids: [137]
        )
      ]
      spids: [135]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_SERVER_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [155 163]
                      )
                    )
                  }
                ]
              )
            }
          spids: [152]
        )
      ]
      spids: [150]
    )
    (FuncDef
      name: "kube::golang::node_targets"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(cmd/kube-proxy)}{(cmd/kubelet)}])}
                  spids: [189]
                )
              ]
              spids: [187]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [205 210]
                  )
                )
              }
            )
          ]
          spids: [184]
        )
      spids: [174 183]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_NODE_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                (Lit_Other ":") (node_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub "$(">
                      spids: [220 228]
                    )
                  }
                ]
              )
            }
          spids: [218]
        )
      ]
      spids: [216]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_NODE_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_NODE_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [236 244]
                      )
                    )
                  }
                ]
              )
            }
          spids: [233]
        )
      ]
      spids: [231]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_NODE_BINARIES_WIN)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_NODE_BINARIES>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {}
                            replace: {(.exe)}
                            do_all: False
                            do_prefix: False
                            do_suffix: True
                          )
                        spids: [253 262]
                      )
                    )
                  }
                ]
              )
            }
          spids: [250]
        )
      ]
      spids: [248]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_n
                      child: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBE_BUILD_PLATFORMS>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [274 277]
                            )
                          )
                        }
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_SERVER_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [288]
                )
              ]
              spids: [286]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_NODE_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [298]
                )
              ]
              spids: [296]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_TEST_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [308]
                )
              ]
              spids: [306]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [318]
                )
              ]
              spids: [316]
            )
          ]
          spids: [-1 283]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBE_FASTBUILD>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [330 333]
                            )
                          )
                        }
                      right: {(DQ (true))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_SERVER_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                  spids: [350]
                )
              ]
              spids: [348]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_NODE_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                  spids: [358]
                )
              ]
              spids: [356]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_BUILDER_OS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [369 372]
                                    )
                                  )
                                }
                              right: {(DQ (darwin)) (Lit_Other "*")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Readonly
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_TEST_PLATFORMS)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(darwin/amd64)}{(linux/amd64)}])}
                          spids: [390]
                        )
                      ]
                      spids: [388]
                    )
                    (Assignment
                      keyword: Assign_Readonly
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(darwin/amd64)}{(linux/amd64)}])}
                          spids: [405]
                        )
                      ]
                      spids: [403]
                    )
                  ]
                  spids: [-1 385]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Readonly
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:KUBE_TEST_PLATFORMS)
                      op: Equal
                      rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                      spids: [423]
                    )
                  ]
                  spids: [421]
                )
                (Assignment
                  keyword: Assign_Readonly
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
                      op: Equal
                      rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                      spids: [431]
                    )
                  ]
                  spids: [429]
                )
              ]
              spids: [418 437]
            )
          ]
          spids: [325 345]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_SERVER_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                    ]
                  )
                }
              spids: [449]
            )
          ]
          spids: [447]
        )
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_NODE_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                      {(windows/amd64)}
                    ]
                  )
                }
              spids: [478]
            )
          ]
          spids: [476]
        )
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/386)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                      {(darwin/amd64)}
                      {(darwin/386)}
                      {(windows/amd64)}
                      {(windows/386)}
                    ]
                  )
                }
              spids: [510]
            )
          ]
          spids: [508]
        )
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_TEST_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                      {(darwin/amd64)}
                      {(windows/amd64)}
                    ]
                  )
                }
              spids: [554]
            )
          ]
          spids: [552]
        )
      ]
      spids: [439 581]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CLIENT_TARGETS)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(cmd/kubectl)}{(federation/cmd/kubefed)}])}
          spids: [592]
        )
      ]
      spids: [590]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CLIENT_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_CLIENT_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [608 616]
                      )
                    )
                  }
                ]
              )
            }
          spids: [605]
        )
      ]
      spids: [603]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CLIENT_BINARIES_WIN)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_CLIENT_BINARIES>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {}
                            replace: {(.exe)}
                            do_all: False
                            do_prefix: False
                            do_suffix: True
                          )
                        spids: [625 634]
                      )
                    )
                  }
                ]
              )
            }
          spids: [622]
        )
      ]
      spids: [620]
    )
    (FuncDef
      name: "kube::golang::test_targets"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(cmd/gendocs)}
                          {(cmd/genkubedocs)}
                          {(cmd/genman)}
                          {(cmd/genyaml)}
                          {(cmd/genswaggertypedocs)}
                          {(cmd/linkcheck)}
                          {(federation/cmd/genfeddocs)}
                          {(vendor/github.com/onsi/ginkgo/ginkgo)}
                          {(test/e2e/e2e.test)}
                        ]
                      )
                    }
                  spids: [660]
                )
              ]
              spids: [658]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [697 702]
                  )
                )
              }
            )
          ]
          spids: [655]
        )
      spids: [645 654]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                (Lit_Other ":") (test_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub "$(">
                      spids: [711 719]
                    )
                  }
                ]
              )
            }
          spids: [709]
        )
      ]
      spids: [707]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [727 735]
                      )
                    )
                  }
                ]
              )
            }
          spids: [724]
        )
      ]
      spids: [722]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_BINARIES_WIN)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_BINARIES>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {}
                            replace: {(.exe)}
                            do_all: False
                            do_prefix: False
                            do_suffix: True
                          )
                        spids: [744 753]
                      )
                    )
                  }
                ]
              )
            }
          spids: [741]
        )
      ]
      spids: [739]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_PORTABLE)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(test/e2e/testing-manifests)}
                  {(test/kubemark)}
                  {(federation/develop)}
                  {(hack/e2e.go)}
                  {(hack/e2e-internal)}
                  {(hack/get-build.sh)}
                  {(hack/ginkgo-e2e.sh)}
                  {(hack/federated-ginkgo-e2e.sh)}
                  {(hack/lib)}
                ]
              )
            }
          spids: [762]
        )
      ]
      spids: [760]
    )
    (FuncDef
      name: "kube::golang::server_test_targets"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(cmd/kubemark)} {(vendor/github.com/onsi/ginkgo/ginkgo)}]
                      )
                    }
                  spids: [822]
                )
              ]
              spids: [820]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name OSTYPE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [841 844]
                                    )
                                  )
                                }
                              right: {(DQ (linux)) (Lit_Other "*")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(test/e2e_node/e2e_node.test)}])}
                          spids: [860]
                        )
                      ]
                      spids: [860]
                    )
                  ]
                  spids: [-1 857]
                )
              ]
              spids: [-1 868]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [875 880]
                  )
                )
              }
            )
          ]
          spids: [817]
        )
      spids: [807 816]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_SERVER_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                (Lit_Other ":") (server_test_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub "$(">
                      spids: [890 898]
                    )
                  }
                ]
              )
            }
          spids: [888]
        )
      ]
      spids: [886]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_SERVER_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [906 914]
                      )
                    )
                  }
                ]
              )
            }
          spids: [903]
        )
      ]
      spids: [901]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_SERVER_PLATFORMS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_SERVER_PLATFORMS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [923 928]
                      )
                    )
                  }
                ]
              )
            }
          spids: [920]
        )
      ]
      spids: [918]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_PARALLEL_BUILD_MEMORY)
          op: Equal
          rhs: {(11)}
          spids: [944]
        )
      ]
      spids: [942]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ALL_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [964 969]
                      )
                    )
                  }
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_CLIENT_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [974 979]
                      )
                    )
                  }
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [984 989]
                      )
                    )
                  }
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [994 999]
                      )
                    )
                  }
                  {(cmd/gke-certificates-controller)}
                ]
              )
            }
          spids: [959]
        )
      ]
      spids: [957]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ALL_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_ALL_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [1012 1020]
                      )
                    )
                  }
                ]
              )
            }
          spids: [1009]
        )
      ]
      spids: [1007]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_STATIC_LIBRARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(cloud-controller-manager)}
                  {(kube-apiserver)}
                  {(kube-controller-manager)}
                  {(kube-scheduler)}
                  {(kube-proxy)}
                  {(kube-aggregator)}
                  {(kubeadm)}
                  {(kubectl)}
                ]
              )
            }
          spids: [1027]
        )
      ]
      spids: [1025]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BINDATAS)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(test/e2e/generated/gobindata_util.go)}])}
          spids: [1062]
        )
      ]
      spids: [1060]
    )
    (FuncDef
      name: "kube::golang::is_statically_linked_library"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:e) op:Equal spids:[1086])]
              spids: [1084]
            )
            (Sentence
              child: 
                (ForEach
                  iter_name: e
                  iter_words: [
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBE_STATIC_LIBRARIES>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [1096 1101]
                        )
                      )
                    }
                  ]
                  do_arg_iter: False
                  body: 
                    (DoGroup
                      children: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ ($ VSub_Number "$1"))}
                                      right: {(Lit_Other "*") (DQ (/) ($ VSub_Name "$e"))}
                                    )
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(0)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      spids: [1105 1130]
                    )
                  spids: [1094 1103]
                )
              terminator: <Op_Semi ";">
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_STATIC_OVERRIDES>
                                suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(x)})
                                spids: [1149 1153]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (ForEach
                          iter_name: e
                          iter_words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_STATIC_OVERRIDES>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [1169 1174]
                                )
                              )
                            }
                          ]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ ($ VSub_Number "$1"))}
                                              right: {(Lit_Other "*") (DQ (/) ($ VSub_Name "$e"))}
                                            )
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(0)}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              spids: [1178 1203]
                            )
                          spids: [1167 1176]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [-1 1159]
                )
              ]
              spids: [-1 1207]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ";">
            )
          ]
          spids: [1081]
        )
      spids: [1071 1080]
    )
    (FuncDef
      name: "kube::golang::binaries_from_targets"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:target) op:Equal spids:[1239])]
              spids: [1237]
            )
            (ForEach
              iter_name: target
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(DQ (${ VSub_Name target))}
                                      right: 
                                        {(Lit_Other "^") ("(") (Lit_Other "[") (Lit_Other "[") 
                                          (Lit_Other ":") (alnum) (Lit_Other ":") (Lit_Other "]") (Lit_Other "]") (Lit_Other "+") (DQ (.)) (")") (Lit_Other "+") 
                                          (Lit_Other "[") (Lit_Other "[") (Lit_Other ":") (alnum) (Lit_Other ":") (Lit_Other "]") (Lit_Other "]") (Lit_Other "+") 
                                          (DQ (/))
                                        }
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(echo)} {(DQ (${ VSub_Name target))})]
                          spids: [-1 1304]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name KUBE_GO_PACKAGE) (/) (${ VSub_Name target))})
                      ]
                      spids: [1316 1332]
                    )
                  ]
                  spids: [1247 1335]
                )
              spids: [-1 -1]
            )
          ]
          spids: [1234]
        )
      spids: [1224 1233]
    )
    (FuncDef
      name: "kube::golang::host_platform"
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTOS)})])
                    left_token: <Left_CommandSub "$(">
                    spids: [1362 1368]
                  ) (/) 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTARCH)})])
                    left_token: <Left_CommandSub "$(">
                    spids: [1370 1376]
                  )
                )
              }
            )
          ]
          spids: [1356]
        )
      spids: [1346 1355]
    )
    (FuncDef
      name: "kube::golang::current_platform"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:os)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name GOOS>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                          spids: [1399 1402]
                        )
                      )
                    }
                  spids: [1397]
                )
              ]
              spids: [1395]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$os")}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:os)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(go)} {(env)} {(GOHOSTOS)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [1421 1427]
                              )
                            }
                          spids: [1420]
                        )
                      ]
                      spids: [1420]
                    )
                  ]
                  spids: [-1 1417]
                )
              ]
              spids: [-1 1430]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arch)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name GOARCH>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                          spids: [1438 1441]
                        )
                      )
                    }
                  spids: [1436]
                )
              ]
              spids: [1434]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$arch")}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(go)} {(env)} {(GOHOSTARCH)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [1460 1466]
                              )
                            }
                          spids: [1459]
                        )
                      ]
                      spids: [1459]
                    )
                  ]
                  spids: [-1 1456]
                )
              ]
              spids: [-1 1469]
            )
            (C {(echo)} {(DQ ($ VSub_Name "$os") (/) ($ VSub_Name "$arch"))})
          ]
          spids: [1392]
        )
      spids: [1382 1391]
    )
    (FuncDef
      name: "kube::golang::set_platform_envs"
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_n
                      child: 
                        {
                          (BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                            spids: [1507 1510]
                          )
                        }
                    )
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error_exit)
                      } {(DQ ("!!! Internal error. No platform set in kube::golang::set_platform_envs"))}
                    )
                  ]
                  spids: [1516]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(export)} 
              {(Lit_VarLike "GOOS=") 
                (BracedVarSub
                  token: <VSub_Name platform>
                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")})
                  spids: [1539 1544]
                )
              }
            )
            (C {(export)} 
              {(Lit_VarLike "GOARCH=") 
                (BracedVarSub
                  token: <VSub_Name platform>
                  suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                  spids: [1550 1555]
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C 
                                            {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                              (Lit_Other ":") (Lit_Other ":") (host_platform)
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [1567 1575]
                                  )
                                }
                              right: {(DQ (linux/amd64))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ (${ VSub_Name platform))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ (linux/arm))}]
                          action: [
                            (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)})
                            (C {(export)} {(Lit_VarLike "CC=") (arm-linux-gnueabihf-gcc)})
                          ]
                          spids: [1609 1611 1626 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (linux/arm64))}]
                          action: [
                            (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)})
                            (C {(export)} {(Lit_VarLike "CC=") (aarch64-linux-gnu-gcc)})
                          ]
                          spids: [1630 1632 1647 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (linux/ppc64le))}]
                          action: [
                            (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)})
                            (C {(export)} {(Lit_VarLike "CC=") (powerpc64le-linux-gnu-gcc)})
                          ]
                          spids: [1651 1653 1668 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (linux/s390x))}]
                          action: [
                            (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)})
                            (C {(export)} {(Lit_VarLike "CC=") (s390x-linux-gnu-gcc)})
                          ]
                          spids: [1672 1674 1689 -1]
                        )
                      ]
                      spids: [1597 1605 1692]
                    )
                  ]
                  spids: [-1 1586]
                )
              ]
              spids: [-1 1695]
            )
          ]
          spids: [1500]
        )
      spids: [1490 1499]
    )
    (FuncDef
      name: "kube::golang::unset_platform_envs"
      body: 
        (BraceGroup
          children: [
            (C {(unset)} {(GOOS)})
            (C {(unset)} {(GOARCH)})
            (C {(unset)} {(GOROOT)})
            (C {(unset)} {(CGO_ENABLED)})
            (C {(unset)} {(CC)})
          ]
          spids: [1710]
        )
      spids: [1700 1709]
    )
    (FuncDef
      name: "kube::golang::create_gopath_tree"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:go_pkg_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/src/) (${ VSub_Name KUBE_GO_PACKAGE))}
                  spids: [1758]
                )
              ]
              spids: [1756]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:go_pkg_basedir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(dirname)} {(DQ (${ VSub_Name go_pkg_dir))})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1773 1781]
                      )
                    }
                  spids: [1772]
                )
              ]
              spids: [1770]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name go_pkg_basedir))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_e
                                      child: {(DQ (${ VSub_Name go_pkg_dir))}
                                    )
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [(C {(readlink)} {(${ VSub_Name go_pkg_dir)})]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1818 1824]
                                        )
                                      )
                                    }
                                  right: {(DQ (${ VSub_Name KUBE_ROOT))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(ln)} {(-snf)} {(DQ (${ VSub_Name KUBE_ROOT))} {(DQ (${ VSub_Name go_pkg_dir))})
                  ]
                  spids: [-1 1838]
                )
              ]
              spids: [-1 1858]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name KUBE_GOPATH) (/BUILD))}
                  spids: [1864]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ 
                        (
"# This dummy BUILD file prevents Bazel from trying to descend through the\n"
                        ) ("# infinite loop created by the symlink at\n") ("# ") (${ VSub_Name go_pkg_dir) ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1872]
                )
              ]
            )
          ]
          spids: [1753]
        )
      spids: [1743 1752]
    )
    (FuncDef
      name: "kube::golang::verify_go_version"
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: (CommandList children:[(C {(which)} {(go)})])
                                      left_token: <Left_CommandSub "$(">
                                      spids: [1908 1912]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                          (usage_from_stdin)
                        }
                      ]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("Can't find 'go' in PATH, please fix and retry.\n") 
                                (
"See http://golang.org/doc/install for installation instructions.\n"
                                )
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [1929]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)})
                  ]
                  spids: [-1 1918]
                )
              ]
              spids: [-1 1940]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:go_version) op:Equal spids:[1946])]
              spids: [1944]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:go_version)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: (CommandList children:[(C {(go)} {(version)})])
                              left_token: <Left_CommandSub "$(">
                              spids: [1951 1955]
                            )
                          }
                        ]
                      )
                    }
                  spids: [1949]
                )
              ]
              spids: [1949]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:minimum_go_version) op:Equal spids:[1961])]
              spids: [1959]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:minimum_go_version)
                  op: Equal
                  rhs: {(go1.8.3)}
                  spids: [1964]
                )
              ]
              spids: [1964]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: Redir_Less
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name go_version>
                                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                          spids: [1973 1978]
                                        )
                                      )
                                    }
                                  right: {(DQ (${ VSub_Name minimum_go_version))}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name go_version>
                                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                          spids: [1992 1997]
                                        )
                                      )
                                    }
                                  right: {(DQ (devel))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                          (usage_from_stdin)
                        }
                      ]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("Detected go version: ") 
                                (BracedVarSub
                                  token: <VSub_Name go_version>
                                  bracket_op: (WholeArray op_id:Arith_Star)
                                  spids: [2024 2029]
                                ) (".\n") ("Kubernetes requires ") (${ VSub_Name minimum_go_version) (" or greater.\n") ("Please install ") 
                                (${ VSub_Name minimum_go_version) (" or later.\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2020]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)})
                  ]
                  spids: [-1 2009]
                )
              ]
              spids: [-1 2047]
            )
          ]
          spids: [1898]
        )
      spids: [1888 1897]
    )
    (FuncDef
      name: "kube::golang::setup_env"
      body: 
        (BraceGroup
          children: [
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") 
                (verify_go_version)
              }
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") 
                (create_gopath_tree)
              }
            )
            (C {(export)} {(Lit_VarLike "GOPATH=") (DQ (${ VSub_Name KUBE_GOPATH))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name KUBE_EXTRA_GOPATH>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [2142 2145]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GOPATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name GOPATH) (":") (${ VSub_Name KUBE_EXTRA_GOPATH))}
                          spids: [2153]
                        )
                      ]
                      spids: [2153]
                    )
                  ]
                  spids: [-1 2150]
                )
              ]
              spids: [-1 2165]
            )
            (C {(export)} 
              {(Lit_VarLike "PATH=") (DQ (${ VSub_Name KUBE_GOPATH) ("/bin:") (${ VSub_Name PATH))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:subdir) op:Equal spids:[2206])]
              spids: [2204]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(kube) (Lit_Other ":") (Lit_Other ":") (realpath)} {(.)})
                                  (C {(sed)} {(DQ ("s|") ($ VSub_Name "$KUBE_ROOT") ("||"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2210 2227]
                      )
                    }
                  spids: [2209]
                )
              ]
              spids: [2209]
            )
            (C {(cd)} 
              {
                (DQ (${ VSub_Name KUBE_GOPATH) (/src/) (${ VSub_Name KUBE_GO_PACKAGE) (/) 
                  (${ VSub_Name subdir)
                )
              }
            )
            (C {(export)} 
              {(Lit_VarLike "GOROOT=") 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(go)} {(env)} {(GOROOT)})])
                  left_token: <Left_CommandSub "$(">
                  spids: [2255 2261]
                )
              }
            )
            (C {(unset)} {(GOBIN)})
            (C {(export)} {(Lit_VarLike "GO15VENDOREXPERIMENT=") (1)})
          ]
          spids: [2098]
        )
      spids: [2088 2097]
    )
    (FuncDef
      name: "kube::golang::place_bins"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[2326])]
              spids: [2324]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host_platform)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                  (Lit_Other ":") (host_platform)
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2330 2338]
                      )
                    }
                  spids: [2329]
                )
              ]
              spids: [2329]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)}
                {(DQ ("Placing binaries"))}
              ]
              more_env: [(env_pair name:V val:{(2)} spids:[2342])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[2361])]
              spids: [2359]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name KUBE_CLIENT_PLATFORMS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [2371 2376]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platform_src)
                          op: Equal
                          rhs: 
                            {
                              (DQ (/) 
                                (BracedVarSub
                                  token: <VSub_Name platform>
                                  suffix_op: 
                                    (PatSub
                                      pat: {(EscapedLiteralPart token:<Lit_EscapedChar "\\/">)}
                                      replace: {(_)}
                                      do_all: True
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2396 2403]
                                )
                              )
                            }
                          spids: [2393]
                        )
                      ]
                      spids: [2391]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name "$platform")}
                                      right: {($ VSub_Name "$host_platform")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:platform_src)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [2423]
                                )
                              ]
                              spids: [2423]
                            )
                            (C {(rm)} {(-f)} {(DQ (${ VSub_Name THIS_PLATFORM_BIN))})
                            (C {(ln)} {(-s)} 
                              {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} {(DQ (${ VSub_Name THIS_PLATFORM_BIN))}
                            )
                          ]
                          spids: [-1 2420]
                        )
                      ]
                      spids: [-1 2460]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:full_binpath_src)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin) (${ VSub_Name platform_src))}
                          spids: [2466]
                        )
                      ]
                      spids: [2464]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_d
                                      child: {(DQ (${ VSub_Name full_binpath_src))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(mkdir)} {(-p)} 
                              {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))}
                            )
                            (C {(find)} {(DQ (${ VSub_Name full_binpath_src))} {(-maxdepth)} {(1)} 
                              {(-type)} {(f)} {(-exec)} {(rsync)} {(-pc)} {(Lit_LBrace "{") (Lit_RBrace "}")} 
                              {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} {(EscapedLiteralPart token:<Lit_EscapedChar "\\;">)}
                            )
                          ]
                          spids: [-1 2493]
                        )
                      ]
                      spids: [-1 2551]
                    )
                  ]
                  spids: [2380 2554]
                )
              spids: [2369 2378]
            )
          ]
          spids: [2321]
        )
      spids: [2311 2320]
    )
    (FuncDef
      name: "kube::golang::fallback_if_stdlib_not_installable"
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:go_root_dir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(go)} {(env)} {(GOROOT)})])
                            left_token: <Left_CommandSub "$(">
                            spids: [2575 2581]
                          )
                        }
                      spids: [2574]
                    )
                  ]
                  spids: [2572]
                )
              terminator: <Op_Semi ";">
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:go_host_os)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTOS)})])
                            left_token: <Left_CommandSub "$(">
                            spids: [2588 2594]
                          )
                        }
                      spids: [2587]
                    )
                  ]
                  spids: [2585]
                )
              terminator: <Op_Semi ";">
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:go_host_arch)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTARCH)})])
                            left_token: <Left_CommandSub "$(">
                            spids: [2601 2607]
                          )
                        }
                      spids: [2600]
                    )
                  ]
                  spids: [2598]
                )
              terminator: <Op_Semi ";">
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:cgo_pkg_dir)
                      op: Equal
                      rhs: 
                        {(${ VSub_Name go_root_dir) (/pkg/) (${ VSub_Name go_host_os) (_) 
                          (${ VSub_Name go_host_arch) (_cgo)
                        }
                      spids: [2613]
                    )
                  ]
                  spids: [2611]
                )
              terminator: <Op_Semi ";">
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-e)} {(${ VSub_Name cgo_pkg_dir)} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [-1 2643]
                )
              ]
              spids: [-1 2652]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-w)} {(${ VSub_Name go_root_dir) (/pkg)} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [-1 2670]
                )
              ]
              spids: [-1 2679]
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} {(DQ ("+++ Warning: stdlib pkg with cgo flag not found."))}
                )
              terminator: <Op_Semi ";">
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
                  {
                    (DQ ("+++ Warning: stdlib pkg cannot be rebuilt since ") 
                      (${ VSub_Name go_root_dir) ("/pkg is not writable by ") 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(whoami)})])
                        left_token: <Left_Backtick "`">
                        spids: [2711 2713]
                      )
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {
                (DQ ("+++ Warning: Make ") (${ VSub_Name go_root_dir) ("/pkg writable for ") 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(whoami)})])
                    left_token: <Left_Backtick "`">
                    spids: [2732 2734]
                  ) (" for a one-time stdlib install, Or")
                )
              }
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
                  {
                    (DQ 
                      (
"+++ Warning: Rebuild stdlib using the command 'CGO_ENABLED=0 go install -a -installsuffix cgo std'"
                      )
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} {(DQ ("+++ Falling back to go build, which is slower"))}
                )
              terminator: <Op_Semi ";">
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_go_build)
                  op: Equal
                  rhs: {(true)}
                  spids: [2768]
                )
              ]
              spids: [2768]
            )
          ]
          spids: [2569]
        )
      spids: [2559 2568]
    )
    (FuncDef
      name: "kube::golang::build_kube_toolchain"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(hack/cmd/teststale)}
                          {(vendor/github.com/jteeuwen/go-bindata/go-bindata)}
                        ]
                      )
                    }
                  spids: [2801]
                )
              ]
              spids: [2799]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[2817])]
              spids: [2815]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:binaries)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C 
                                      {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                        (Lit_Other ":") (binaries_from_targets)
                                      } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[28322837]))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [2822 2839]
                            )
                          }
                        ]
                      )
                    }
                  spids: [2820]
                )
              ]
              spids: [2820]
            )
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("Building the toolchain targets:"))} {(DQ (BracedVarSub token:<VSub_Name binaries> bracket_op:(WholeArray op_id:Lit_At) spids:[28572862]))}
            )
            (C {(go)} {(install)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name goflags>
                    bracket_op: (WholeArray op_id:Lit_At)
                    suffix_op: 
                      (StringUnary
                        op_id: VTest_ColonPlus
                        arg_word: 
                          {
                            (BracedVarSub
                              token: <VSub_Name goflags>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [2877 2882]
                            )
                          }
                      )
                    spids: [2871 2883]
                  )
                )
              } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name binaries>
                    bracket_op: (WholeArray op_id:Lit_At)
                    suffix_op: 
                      (StringUnary
                        op_id: VTest_ColonPlus
                        arg_word: 
                          {
                            (BracedVarSub
                              token: <VSub_Name binaries>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [2915 2920]
                            )
                          }
                      )
                    spids: [2909 2921]
                  )
                )
              }
            )
          ]
          spids: [2796]
        )
      spids: [2786 2795]
    )
    (FuncDef
      name: "kube::golang::output_filename_for_binary"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:binary)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [2948]
                )
              ]
              spids: [2946]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:platform)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [2954]
                )
              ]
              spids: [2952]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_path)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin))}
                  spids: [2960]
                )
              ]
              spids: [2958]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {($ VSub_Name "$platform")}
                              right: {($ VSub_Name "$host_platform")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_path)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name output_path) (/) 
                                (BracedVarSub
                                  token: <VSub_Name platform>
                                  suffix_op: 
                                    (PatSub
                                      pat: {(EscapedLiteralPart token:<Lit_EscapedChar "\\/">)}
                                      replace: {(_)}
                                      do_all: True
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2991 2998]
                                )
                              )
                            }
                          spids: [2985]
                        )
                      ]
                      spids: [2985]
                    )
                  ]
                  spids: [-1 2982]
                )
              ]
              spids: [-1 3002]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bin)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {(DQ (${ VSub_Name binary))})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [3008 3016]
                      )
                    }
                  spids: [3007]
                )
              ]
              spids: [3005]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name GOOS)}
                              right: {(DQ (windows))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:bin)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name bin) (.exe))}
                          spids: [3039]
                        )
                      ]
                      spids: [3039]
                    )
                  ]
                  spids: [-1 3036]
                )
              ]
              spids: [-1 3048]
            )
            (C {(echo)} {(DQ (${ VSub_Name output_path) (/) (${ VSub_Name bin))})
          ]
          spids: [2943]
        )
      spids: [2933 2942]
    )
    (FuncDef
      name: "kube::golang::build_binaries_for_platform"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:platform)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [3081]
                )
              ]
              spids: [3079]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_go_build)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                        spids: [3088 3091]
                      )
                    }
                  spids: [3087]
                )
              ]
              spids: [3085]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-a'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:statics)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [3099]
                )
              ]
              spids: [3095]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-a'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nonstatics)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [3108]
                )
              ]
              spids: [3104]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-a'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tests)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [3117]
                )
              ]
              spids: [3113]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (info)}
                {
                  (DQ ("Env for ") (${ VSub_Name platform) (": GOOS=") 
                    (BracedVarSub
                      token: <VSub_Name GOOS>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3140 3143]
                    ) (" GOARCH=") 
                    (BracedVarSub
                      token: <VSub_Name GOARCH>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3145 3148]
                    ) (" GOROOT=") 
                    (BracedVarSub
                      token: <VSub_Name GOROOT>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3150 3153]
                    ) (" CGO_ENABLED=") 
                    (BracedVarSub
                      token: <VSub_Name CGO_ENABLED>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3155 3158]
                    ) (" CC=") 
                    (BracedVarSub
                      token: <VSub_Name CC>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3160 3163]
                    )
                  )
                }
              ]
              more_env: [(env_pair name:V val:{(2)} spids:[3123])]
            )
            (ForEach
              iter_name: binary
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name binaries>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [3175 3180]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(DQ (${ VSub_Name binary))}
                                      right: {(DQ (.test)) (Lit_Other "$")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tests)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$binary")}])}
                                  spids: [3210]
                                )
                              ]
                              spids: [3210]
                            )
                          ]
                          spids: [-1 3207]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C 
                                  {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                                    (Lit_Other ":") (is_statically_linked_library)
                                  } {(DQ (${ VSub_Name binary))}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:statics)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$binary")}])}
                                  spids: [3236]
                                )
                              ]
                              spids: [3236]
                            )
                          ]
                          spids: [3216 3233]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:nonstatics)
                              op: PlusEqual
                              rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$binary")}])}
                              spids: [3245]
                            )
                          ]
                          spids: [3245]
                        )
                      ]
                      spids: [3242 3251]
                    )
                  ]
                  spids: [3184 3254]
                )
              spids: [3173 3182]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name statics>
                                      prefix_op: VSub_Pound
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [3263 3269]
                                    )
                                  )
                                }
                              right: {(0)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") 
                            (Lit_Other ":") (fallback_if_stdlib_not_installable)
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [-1 3279]
                )
              ]
              spids: [-1 3292]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name use_go_build>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [3302 3305]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (progress)
                      } {(DQ ("    "))}
                    )
                    (ForEach
                      iter_name: binary
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name statics>
                              bracket_op: (WholeArray op_id:Lit_At)
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonPlus
                                  arg_word: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name statics>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3339 3344]
                                      )
                                    }
                                )
                              spids: [3333 3345]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:outfile)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C 
                                                {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                                  (Lit_Other ":") (Lit_Other ":") (output_filename_for_binary)
                                                } {(DQ (${ VSub_Name binary))} {(DQ (${ VSub_Name platform))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [3355 3375]
                                      )
                                    }
                                  spids: [3354]
                                )
                              ]
                              spids: [3352]
                            )
                            (SimpleCommand
                              words: [
                                {(go)}
                                {(build)}
                                {(-o)}
                                {(DQ (${ VSub_Name outfile))}
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name goflags>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonPlus
                                          arg_word: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name goflags>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [3402 3407]
                                              )
                                            }
                                        )
                                      spids: [3396 3408]
                                    )
                                  )
                                }
                                {(-gcflags)}
                                {(DQ (${ VSub_Name gogcflags))}
                                {(-ldflags)}
                                {(DQ (${ VSub_Name goldflags))}
                                {(DQ (${ VSub_Name binary))}
                              ]
                              more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3378])]
                            )
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (progress)
                              } {(DQ ("*"))}
                            )
                          ]
                          spids: [3349 3453]
                        )
                      spids: [3331 3347]
                    )
                    (ForEach
                      iter_name: binary
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name nonstatics>
                              bracket_op: (WholeArray op_id:Lit_At)
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonPlus
                                  arg_word: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name nonstatics>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3469 3474]
                                      )
                                    }
                                )
                              spids: [3463 3475]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:outfile)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C 
                                                {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                                  (Lit_Other ":") (Lit_Other ":") (output_filename_for_binary)
                                                } {(DQ (${ VSub_Name binary))} {(DQ (${ VSub_Name platform))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [3485 3505]
                                      )
                                    }
                                  spids: [3484]
                                )
                              ]
                              spids: [3482]
                            )
                            (C {(go)} {(build)} {(-o)} {(DQ (${ VSub_Name outfile))} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name goflags>
                                    bracket_op: (WholeArray op_id:Lit_At)
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VTest_ColonPlus
                                        arg_word: 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name goflags>
                                              bracket_op: (WholeArray op_id:Lit_At)
                                              spids: [3529 3534]
                                            )
                                          }
                                      )
                                    spids: [3523 3535]
                                  )
                                )
                              } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
                              {(DQ (${ VSub_Name binary))}
                            )
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (progress)
                              } {(DQ ("*"))}
                            )
                          ]
                          spids: [3479 3580]
                        )
                      spids: [3461 3477]
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (progress)
                      } {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))}
                    )
                  ]
                  spids: [-1 3310]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name nonstatics>
                                          prefix_op: VSub_Pound
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3608 3614]
                                        )
                                      )
                                    }
                                  right: {(0)}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (C {(go)} {(install)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name goflags>
                                bracket_op: (WholeArray op_id:Lit_At)
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonPlus
                                    arg_word: 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name goflags>
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3638 3643]
                                        )
                                      }
                                  )
                                spids: [3632 3644]
                              )
                            )
                          } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name nonstatics>
                                bracket_op: (WholeArray op_id:Lit_At)
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonPlus
                                    arg_word: 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name nonstatics>
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3676 3681]
                                        )
                                      }
                                  )
                                spids: [3670 3682]
                              )
                            )
                          }
                        )
                      ]
                      spids: [-1 3624]
                    )
                  ]
                  spids: [-1 3686]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name statics>
                                          prefix_op: VSub_Pound
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3694 3700]
                                        )
                                      )
                                    }
                                  right: {(0)}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [
                            {(go)}
                            {(install)}
                            {(-installsuffix)}
                            {(cgo)}
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name goflags>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name goflags>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [3731 3736]
                                          )
                                        }
                                    )
                                  spids: [3725 3737]
                                )
                              )
                            }
                            {(-gcflags)}
                            {(DQ (${ VSub_Name gogcflags))}
                            {(-ldflags)}
                            {(DQ (${ VSub_Name goldflags))}
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name statics>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name statics>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [3769 3774]
                                          )
                                        }
                                    )
                                  spids: [3763 3775]
                                )
                              )
                            }
                          ]
                          more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3713])]
                        )
                      ]
                      spids: [-1 3710]
                    )
                  ]
                  spids: [-1 3779]
                )
              ]
              spids: [3596 3782]
            )
            (ForEach
              iter_name: test
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name tests>
                      bracket_op: (WholeArray op_id:Lit_At)
                      suffix_op: 
                        (StringUnary
                          op_id: VTest_ColonPlus
                          arg_word: 
                            {
                              (BracedVarSub
                                token: <VSub_Name tests>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [3799 3804]
                              )
                            }
                        )
                      spids: [3793 3805]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:outfile)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C 
                                        {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                          (Lit_Other ":") (Lit_Other ":") (output_filename_for_binary)
                                        } {(DQ (${ VSub_Name test))} {(DQ (${ VSub_Name platform))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [3815 3837]
                              )
                            }
                          spids: [3814]
                        )
                      ]
                      spids: [3812]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:testpkg)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(dirname)} {(${ VSub_Name test)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [3845 3851]
                                )
                              )
                            }
                          spids: [3843]
                        )
                      ]
                      spids: [3841]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(test)} {(-x)} {(DQ (${ VSub_Name KUBE_GOPATH) (/bin/teststale))})
                                (Pipeline
                                  children: [
                                    (C {(DQ (${ VSub_Name KUBE_GOPATH) (/bin/teststale))} {(-binary)} 
                                      {(DQ (${ VSub_Name outfile))} {(-package)} {(DQ (${ VSub_Name testpkg))}
                                    )
                                  ]
                                  negated: True
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [-1 3929]
                        )
                      ]
                      spids: [-1 3935]
                    )
                    (C {(go)} {(install)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name goflags>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_ColonPlus
                                arg_word: 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name goflags>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [3978 3983]
                                    )
                                  }
                              )
                            spids: [3972 3984]
                          )
                        )
                      } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
                      {(DQ (${ VSub_Name testpkg))}
                    )
                    (C {(mkdir)} {(-p)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(dirname)} {(${ VSub_Name outfile)})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [4022 4028]
                          )
                        )
                      }
                    )
                    (C {(go)} {(test)} {(-i)} {(-c)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name goflags>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_ColonPlus
                                arg_word: 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name goflags>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [4049 4054]
                                    )
                                  }
                              )
                            spids: [4043 4055]
                          )
                        )
                      } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(-o)} 
                      {(DQ (${ VSub_Name outfile))} {(DQ (${ VSub_Name testpkg))}
                    )
                  ]
                  spids: [3809 4097]
                )
              spids: [3791 3807]
            )
          ]
          spids: [3076]
        )
      spids: [3066 3075]
    )
    (FuncDef
      name: "kube::golang::get_physmem"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:mem) op:Equal spids:[4120])]
              spids: [4118]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mem)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(grep)} {(MemAvailable)} {(/proc/meminfo)})
                                              (C {(awk)} {(SQ <"{ print $2 }">)})
                                            ]
                                            negated: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [4131 4145]
                                  )
                                }
                              spids: [4130]
                            )
                          ]
                          spids: [4130]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Slash
                              left: (ArithWord w:{(${ VSub_Name mem)})
                              right: (ArithWord w:{(Lit_Digits 1048576)})
                            )
                          spids: [4153 4164]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 4148]
                )
              ]
              spids: [-1 4170]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mem)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(grep)} {(MemTotal)} {(/proc/meminfo)})
                                              (C {(awk)} {(SQ <"{ print $2 }">)})
                                            ]
                                            negated: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [4181 4195]
                                  )
                                }
                              spids: [4180]
                            )
                          ]
                          spids: [4180]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Slash
                              left: (ArithWord w:{(${ VSub_Name mem)})
                              right: (ArithWord w:{(Lit_Digits 1048576)})
                            )
                          spids: [4203 4214]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 4198]
                )
              ]
              spids: [-1 4220]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mem)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(sysctl)} {(-n)} {(hw.memsize)}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [4250]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [4243 4252]
                                  )
                                }
                              spids: [4242]
                            )
                          ]
                          spids: [4242]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Slash
                              left: (ArithWord w:{(${ VSub_Name mem)})
                              right: (ArithWord w:{(Lit_Digits 1073741824)})
                            )
                          spids: [4260 4271]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 4255]
                )
              ]
              spids: [-1 4277]
            )
            (C {(echo)} {(1)})
          ]
          spids: [4115]
        )
      spids: [4105 4114]
    )
    (FuncDef
      name: "kube::golang::build_binaries"
      body: 
        (BraceGroup
          children: [
            (Subshell
              child: 
                (CommandList
                  children: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") 
                        (setup_env)
                      }
                    )
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                          (info)
                        }
                        {
                          (DQ ("Go version: ") 
                            (CommandSubPart
                              command_list: (CommandList children:[(C {(go)} {(version)})])
                              left_token: <Left_CommandSub "$(">
                              spids: [4359 4363]
                            )
                          )
                        }
                      ]
                      more_env: [(env_pair name:V val:{(2)} spids:[4346])]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[4370])]
                      spids: [4368]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:host_platform)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C 
                                        {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                          (Lit_Other ":") (Lit_Other ":") (host_platform)
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [4374 4382]
                              )
                            }
                          spids: [4373]
                        )
                      ]
                      spids: [4373]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:goflags)
                          op: Equal
                          spids: [4392]
                        )
                        (assign_pair
                          lhs: (LhsName name:goldflags)
                          op: Equal
                          spids: [4394]
                        )
                        (assign_pair
                          lhs: (LhsName name:gogcflags)
                          op: Equal
                          spids: [4396]
                        )
                      ]
                      spids: [4390]
                    )
                    (C {(eval)} 
                      {
                        (DQ ("goflags=(") 
                          (BracedVarSub
                            token: <VSub_Name GOFLAGS>
                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                            spids: [4403 4406]
                          ) (")")
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:goldflags)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name GOLDFLAGS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [4413 4416]
                                ) (" ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C 
                                          {(kube) (Lit_Other ":") (Lit_Other ":") (version) 
                                            (Lit_Other ":") (Lit_Other ":") (ldflags)
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [4418 4426]
                                )
                              )
                            }
                          spids: [4411]
                        )
                      ]
                      spids: [4411]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gogcflags)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name GOGCFLAGS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [4432 4435]
                                )
                              )
                            }
                          spids: [4430]
                        )
                      ]
                      spids: [4430]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:use_go_build) op:Equal spids:[4442])]
                      spids: [4440]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-a'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: {(ArrayLiteralPart)}
                          spids: [4449]
                        )
                      ]
                      spids: [4445]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal spids:[4456])]
                      spids: [4454]
                    )
                    (ForEach
                      iter_name: arg
                      do_arg_iter: True
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name arg))}
                                              right: {(DQ (--use_go_build))}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_go_build)
                                          op: Equal
                                          rhs: {(true)}
                                          spids: [4490]
                                        )
                                      ]
                                      spids: [4490]
                                    )
                                  ]
                                  spids: [-1 4487]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name arg))}
                                              right: {(-) (Lit_Other "*")}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:goflags)
                                          op: PlusEqual
                                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])}
                                          spids: [4519]
                                        )
                                      ]
                                      spids: [4519]
                                    )
                                  ]
                                  spids: [4494 4512]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:targets)
                                      op: PlusEqual
                                      rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])}
                                      spids: [4532]
                                    )
                                  ]
                                  spids: [4532]
                                )
                              ]
                              spids: [4529 4542]
                            )
                          ]
                          spids: [4465 4545]
                        )
                      spids: [-1 -1]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_eq
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name targets>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4553 4559]
                                          )
                                        }
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:targets)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name KUBE_ALL_TARGETS>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [4574 4579]
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [4571]
                                )
                              ]
                              spids: [4571]
                            )
                          ]
                          spids: [-1 4568]
                        )
                      ]
                      spids: [-1 4584]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-a'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platforms)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_BUILD_PLATFORMS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4594 4597]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [4592]
                        )
                      ]
                      spids: [4588]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_eq
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name platforms>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4605 4611]
                                          )
                                        }
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:platforms)
                                  op: Equal
                                  rhs: 
                                    {(ArrayLiteralPart words:[{(DQ (${ VSub_Name host_platform))}])}
                                  spids: [4623]
                                )
                              ]
                              spids: [4623]
                            )
                          ]
                          spids: [-1 4620]
                        )
                      ]
                      spids: [-1 4633]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[4639])]
                      spids: [4637]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:binaries)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C 
                                              {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                                (Lit_Other ":") (Lit_Other ":") (binaries_from_targets)
                                              } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[46544659]))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [4644 4661]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [4642]
                        )
                      ]
                      spids: [4642]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:parallel)
                          op: Equal
                          rhs: {(false)}
                          spids: [4668]
                        )
                      ]
                      spids: [4666]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_gt
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name platforms>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4676 4682]
                                          )
                                        }
                                      right: {(1)}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [(assign_pair lhs:(LhsName name:gigs) op:Equal spids:[4696])]
                              spids: [4694]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gigs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C 
                                                {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                                  (Lit_Other ":") (Lit_Other ":") (get_physmem)
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [4700 4708]
                                      )
                                    }
                                  spids: [4699]
                                )
                              ]
                              spids: [4699]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_ge
                                              left: {(${ VSub_Name gigs)}
                                              right: {(${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY)}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                        (Lit_Other ":") (status)
                                      } 
                                      {
                                        (DQ ("Multiple platforms requested and available ") 
                                          (${ VSub_Name gigs) ("G >= threshold ") (${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY) ("G, building platforms in parallel")
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:parallel)
                                          op: Equal
                                          rhs: {(true)}
                                          spids: [4753]
                                        )
                                      ]
                                      spids: [4753]
                                    )
                                  ]
                                  spids: [-1 4729]
                                )
                              ]
                              else_action: [
                                (C 
                                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                    (Lit_Other ":") (status)
                                  } 
                                  {
                                    (DQ ("Multiple platforms requested, but available ") 
                                      (${ VSub_Name gigs) ("G < threshold ") (${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY) ("G, building platforms in serial")
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:parallel)
                                      op: Equal
                                      rhs: {(false)}
                                      spids: [4781]
                                    )
                                  ]
                                  spids: [4781]
                                )
                              ]
                              spids: [4757 4785]
                            )
                          ]
                          spids: [-1 4691]
                        )
                      ]
                      spids: [-1 4788]
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") 
                        (build_kube_toolchain)
                      }
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (status)
                      } {(DQ ("Generating bindata:"))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name KUBE_BINDATAS>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [4819 4824]
                          )
                        )
                      }
                    )
                    (ForEach
                      iter_name: bindata
                      iter_words: [
                        {
                          (BracedVarSub
                            token: <VSub_Name KUBE_BINDATAS>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [4834 4839]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_f
                                              child: 
                                                {
                                                  (DQ (${ VSub_Name KUBE_ROOT) (/) 
                                                    (${ VSub_Name bindata)
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(go)} {(generate)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name goflags>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_ColonPlus
                                                arg_word: 
                                                  {
                                                    (BracedVarSub
                                                      token: <VSub_Name goflags>
                                                      bracket_op: (WholeArray op_id:Lit_At)
                                                      spids: [4886 4891]
                                                    )
                                                  }
                                              )
                                            spids: [4880 4892]
                                          )
                                        )
                                      } {(DQ (${ VSub_Name KUBE_ROOT) (/) (${ VSub_Name bindata))}
                                    )
                                  ]
                                  spids: [-1 4872]
                                )
                              ]
                              spids: [-1 4906]
                            )
                          ]
                          spids: [4842 4909]
                        )
                      spids: [4833 4840]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name parallel))}
                                      right: {(DQ (true))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (status)
                              } 
                              {
                                (DQ ("Building go targets for {") 
                                  (BracedVarSub
                                    token: <VSub_Name platforms>
                                    bracket_op: (WholeArray op_id:Arith_Star)
                                    spids: [4945 4950]
                                  ) ("} in parallel (output will appear in a burst when complete):")
                                )
                              } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[49554960]))}
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[4966])]
                              spids: [4964]
                            )
                            (ForEach
                              iter_name: platform
                              iter_words: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name platforms>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [4976 4981]
                                    )
                                  )
                                }
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Sentence
                                      child: 
                                        (Subshell
                                          child: 
                                            (CommandList
                                              children: [
                                                (C 
                                                  {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                                    (Lit_Other ":") (Lit_Other ":") (set_platform_envs)
                                                  } {(DQ (${ VSub_Name platform))}
                                                )
                                                (C 
                                                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) 
                                                    (Lit_Other ":") (Lit_Other ":") (status)
                                                  } {(DQ (${ VSub_Name platform) (": go build started"))}
                                                )
                                                (C 
                                                  {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                                    (Lit_Other ":") (Lit_Other ":") (build_binaries_for_platform)
                                                  } {(${ VSub_Name platform)} 
                                                  {
                                                    (BracedVarSub
                                                      token: <VSub_Name use_go_build>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {}
                                                        )
                                                      spids: [5033 5036]
                                                    )
                                                  }
                                                )
                                                (C 
                                                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) 
                                                    (Lit_Other ":") (Lit_Other ":") (status)
                                                  } {(DQ (${ VSub_Name platform) (": go build finished"))}
                                                )
                                              ]
                                            )
                                          spids: [4987 5055]
                                        )
                                      terminator: <Op_Amp "&">
                                    )
                                    (Sentence
                                      child: 
                                        (SimpleCommand
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {
                                                  (DQ (/tmp//) 
                                                    (BracedVarSub
                                                      token: <VSub_Name platform>
                                                      suffix_op: 
                                                        (PatSub
                                                          pat: 
                                                            {
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\/">
                                                              )
                                                            }
                                                          replace: {(_)}
                                                          do_all: True
                                                          do_prefix: False
                                                          do_suffix: False
                                                        )
                                                      spids: [5062 5069]
                                                    ) (.build)
                                                  )
                                                }
                                              spids: [5058]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Amp "&">
                                    )
                                  ]
                                  spids: [4985 5076]
                                )
                              spids: [4974 4983]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fails)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [5082]
                                )
                              ]
                              spids: [5080]
                            )
                            (ForEach
                              iter_name: job
                              iter_words: [
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(jobs)} {(-p)})])
                                    left_token: <Left_CommandSub "$(">
                                    spids: [5092 5096]
                                  )
                                }
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(wait)} {(${ VSub_Name job)})
                                        (C {(let)} {(DQ ("fails+=1"))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [5099 5117]
                                )
                              spids: [5091 5097]
                            )
                            (ForEach
                              iter_name: platform
                              iter_words: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name platforms>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [5128 5133]
                                    )
                                  )
                                }
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(cat)} 
                                      {
                                        (DQ (/tmp//) 
                                          (BracedVarSub
                                            token: <VSub_Name platform>
                                            suffix_op: 
                                              (PatSub
                                                pat: 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\/">
                                                    )
                                                  }
                                                replace: {(_)}
                                                do_all: True
                                                do_prefix: False
                                                do_suffix: False
                                              )
                                            spids: [5144 5151]
                                          ) (.build)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [5137 5156]
                                )
                              spids: [5126 5135]
                            )
                            (C {(exit)} {(${ VSub_Name fails)})
                          ]
                          spids: [-1 4932]
                        )
                      ]
                      else_action: [
                        (ForEach
                          iter_name: platform
                          iter_words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name platforms>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [5177 5182]
                                )
                              )
                            }
                          ]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (C 
                                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                    (Lit_Other ":") (status)
                                  } {(DQ ("Building go targets for ") (${ VSub_Name platform) (":"))} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name targets>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [5206 5211]
                                      )
                                    )
                                  }
                                )
                                (Subshell
                                  child: 
                                    (CommandList
                                      children: [
                                        (C 
                                          {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                            (Lit_Other ":") (Lit_Other ":") (set_platform_envs)
                                          } {(DQ (${ VSub_Name platform))}
                                        )
                                        (C 
                                          {(kube) (Lit_Other ":") (Lit_Other ":") (golang) 
                                            (Lit_Other ":") (Lit_Other ":") (build_binaries_for_platform)
                                          } {(${ VSub_Name platform)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name use_go_build>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [5245 5248]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  spids: [5215 5251]
                                )
                              ]
                              spids: [5186 5254]
                            )
                          spids: [5175 5184]
                        )
                      ]
                      spids: [5167 5257]
                    )
                  ]
                )
              spids: [4330 5260]
            )
          ]
          spids: [4323]
        )
      spids: [4313 4322]
    )
  ]
)