(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USER_ID)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(id)} {(-u)})])
                left_token: <Left_CommandSub "$(">
                spids: [67 71]
              )
            }
          spids: [66]
        )
      ]
      spids: [66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GROUP_ID)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(id)} {(-g)})])
                left_token: <Left_CommandSub "$(">
                spids: [74 78]
              )
            }
          spids: [73]
        )
      ]
      spids: [73]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_OPTS)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_OPTS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [82 87]
              )
            }
          spids: [81]
        )
      ]
      spids: [81]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(docker)}{(${ VSub_Name DOCKER_OPTS)}])}
          spids: [89]
        )
      ]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_HOST)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_HOST>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [99 104]
              )
            }
          spids: [98]
        )
      ]
      spids: [98]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_MACHINE_NAME)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_MACHINE_NAME>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (kube-dev))})
                spids: [107 113]
              )
            }
          spids: [106]
        )
      ]
      spids: [106]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_MACHINE_DRIVER)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_MACHINE_DRIVER>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(DQ ("virtualbox --virtualbox-cpu-count -1"))}
                  )
                spids: [118 124]
              )
            }
          spids: [117]
        )
      ]
      spids: [115]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ROOT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        children: [
                          (C {(cd)} 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [134 142]
                              ) (/..)
                            }
                          )
                          (C {(pwd)} {(-P)})
                        ]
                        op_id: Op_DAmp
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [131 150]
              )
            }
          spids: [130]
        )
      ]
      spids: [130]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_REPO)
          op: Equal
          rhs: {(kube-build)}
          spids: [168]
        )
      ]
      spids: [166]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_CROSS_TAG)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(cat)} {(${ VSub_Name KUBE_ROOT) (/build/build-image/cross/VERSION)})
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [175 182]
                )
              )
            }
          spids: [173]
        )
      ]
      spids: [171]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_VERSION_BASE)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(cat)} {(${ VSub_Name KUBE_ROOT) (/build/build-image/VERSION)})]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [208 215]
                )
              )
            }
          spids: [206]
        )
      ]
      spids: [204]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_VERSION)
          op: Equal
          rhs: 
            {
              (DQ (${ VSub_Name KUBE_BUILD_IMAGE_VERSION_BASE) (-) 
                (${ VSub_Name KUBE_BUILD_IMAGE_CROSS_TAG)
              )
            }
          spids: [220]
        )
      ]
      spids: [218]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_ROOT)
          op: Equal
          rhs: 
            {
              (DQ (${ VSub_Name KUBE_ROOT) (/) 
                (BracedVarSub
                  token: <VSub_Name OUT_DIR>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(_output)})
                  spids: [270 274]
                )
              )
            }
          spids: [264]
        )
      ]
      spids: [262]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_SUBPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/dockerized))}
          spids: [279]
        )
      ]
      spids: [277]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_BINPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_SUBPATH) (/bin))}
          spids: [289]
        )
      ]
      spids: [287]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_GOPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_SUBPATH) (/go))}
          spids: [299]
        )
      ]
      spids: [297]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_IMAGE_STAGING)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/images))}
          spids: [309]
        )
      ]
      spids: [307]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:THIS_PLATFORM_BIN)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/bin))}
          spids: [323]
        )
      ]
      spids: [321]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_ROOT)
          op: Equal
          rhs: {(DQ (/go/src/) (${ VSub_Name KUBE_GO_PACKAGE))}
          spids: [334]
        )
      ]
      spids: [332]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_ROOT)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_ROOT) (/_output))}
          spids: [344]
        )
      ]
      spids: [342]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_SUBPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_OUTPUT_ROOT) (/dockerized))}
          spids: [354]
        )
      ]
      spids: [352]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_BINPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_OUTPUT_SUBPATH) (/bin))}
          spids: [364]
        )
      ]
      spids: [362]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_GOPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_OUTPUT_SUBPATH) (/go))}
          spids: [374]
        )
      ]
      spids: [372]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_RSYNC_PORT)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_RSYNC_PORT>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                  spids: [393 396]
                )
              )
            }
          spids: [391]
        )
      ]
      spids: [389]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CONTAINER_RSYNC_PORT)
          op: Equal
          rhs: {(8730)}
          spids: [408]
        )
      ]
      spids: [406]
    )
    (FuncDef
      name: "kube::build::get_docker_wrapped_binaries"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:debian_iptables_version)
                  op: Equal
                  rhs: {(v8)}
                  spids: [440]
                )
              ]
              spids: [440]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(DQ (amd64))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ",") (busybox)}
                                  {(kube-apiserver) (Lit_Comma ",") (busybox)}
                                  {(kube-controller-manager) (Lit_Comma ",") (busybox)}
                                  {(kube-scheduler) (Lit_Comma ",") (busybox)}
                                  {(kube-aggregator) (Lit_Comma ",") (busybox)}
                                  {(kube-proxy) (Lit_Comma ",") 
                                    (gcr.io/google-containers/debian-iptables-amd64) (Lit_Other ":") (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [467]
                        )
                      ]
                      spids: [465]
                    )
                  ]
                  spids: [460 462 506 -1]
                )
                (case_arm
                  pat_list: [{(DQ (arm))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ",") (arm32v7/busybox)}
                                  {(kube-apiserver) (Lit_Comma ",") (arm32v7/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ",") (arm32v7/busybox)}
                                  {(kube-scheduler) (Lit_Comma ",") (arm32v7/busybox)}
                                  {(kube-aggregator) (Lit_Comma ",") (arm32v7/busybox)}
                                  {(kube-proxy) (Lit_Comma ",") 
                                    (gcr.io/google-containers/debian-iptables-arm) (Lit_Other ":") (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [517]
                        )
                      ]
                      spids: [515]
                    )
                  ]
                  spids: [510 512 556 -1]
                )
                (case_arm
                  pat_list: [{(DQ (arm64))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ",") (arm64v8/busybox)}
                                  {(kube-apiserver) (Lit_Comma ",") (arm64v8/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ",") (arm64v8/busybox)}
                                  {(kube-scheduler) (Lit_Comma ",") (arm64v8/busybox)}
                                  {(kube-aggregator) (Lit_Comma ",") (arm64v8/busybox)}
                                  {(kube-proxy) (Lit_Comma ",") 
                                    (gcr.io/google-containers/debian-iptables-arm64) (Lit_Other ":") (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [567]
                        )
                      ]
                      spids: [565]
                    )
                  ]
                  spids: [560 562 606 -1]
                )
                (case_arm
                  pat_list: [{(DQ (ppc64le))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ",") (ppc64le/busybox)}
                                  {(kube-apiserver) (Lit_Comma ",") (ppc64le/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ",") (ppc64le/busybox)}
                                  {(kube-scheduler) (Lit_Comma ",") (ppc64le/busybox)}
                                  {(kube-aggregator) (Lit_Comma ",") (ppc64le/busybox)}
                                  {(kube-proxy) (Lit_Comma ",") 
                                    (gcr.io/google-containers/debian-iptables-ppc64le) (Lit_Other ":") (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [617]
                        )
                      ]
                      spids: [615]
                    )
                  ]
                  spids: [610 612 656 -1]
                )
                (case_arm
                  pat_list: [{(DQ (s390x))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ",") (s390x/busybox)}
                                  {(kube-apiserver) (Lit_Comma ",") (s390x/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ",") (s390x/busybox)}
                                  {(kube-scheduler) (Lit_Comma ",") (s390x/busybox)}
                                  {(kube-aggregator) (Lit_Comma ",") (s390x/busybox)}
                                  {(kube-proxy) (Lit_Comma ",") 
                                    (gcr.io/google-containers/debian-iptables-s390x) (Lit_Other ":") (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [667]
                        )
                      ]
                      spids: [665]
                    )
                  ]
                  spids: [660 662 706 -1]
                )
              ]
              spids: [452 456 709]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [716 721]
                  )
                )
              }
            )
          ]
          spids: [437]
        )
      spids: [427 436]
    )
    (FuncDef
      name: "kube::build::verify_prereqs"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:require_docker)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                        spids: [808 812]
                      )
                    }
                  spids: [807]
                )
              ]
              spids: [803]
            )
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("Verifying Prerequisites...."))}
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                    (ensure_tar)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                    (ensure_rsync)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [(Sentence child:(C {(${ VSub_Name require_docker)}) terminator:<Op_Semi ";">)]
                  action: [
                    (AndOr
                      children: [
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                            (Lit_Other ":") (ensure_docker_in_path)
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C 
                                  {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                                    (Lit_Other ":") (is_osx)
                                  }
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (AndOr
                              children: [
                                (C 
                                  {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                                    (Lit_Other ":") (docker_available_on_osx)
                                  }
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 894]
                        )
                      ]
                      spids: [-1 912]
                    )
                    (AndOr
                      children: [
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") 
                            (ensure_docker_daemon_connectivity)
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_Great
                                      left: (ArithWord w:{(${ VSub_Name KUBE_VERBOSE)})
                                      right: (ArithWord w:{(Lit_Digits 6)})
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (status)
                              } {(DQ ("Docker Version:"))}
                            )
                            (Pipeline
                              children: [
                                (C 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name DOCKER>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [964 969]
                                      )
                                    )
                                  } {(version)}
                                )
                                (C 
                                  {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                    (Lit_Other ":") (info_from_stdin)
                                  }
                                )
                              ]
                              negated: False
                            )
                          ]
                          spids: [-1 947]
                        )
                      ]
                      spids: [-1 985]
                    )
                  ]
                  spids: [-1 865]
                )
              ]
              spids: [-1 988]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_GIT_BRANCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (SimpleCommand
                                    words: [{(git)} {(symbolic-ref)} {(--short)} {(-q)} {(HEAD)}]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [1004]
                                      )
                                    ]
                                  )
                                  (C {(true)})
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [993 1010]
                      )
                    }
                  spids: [992]
                )
              ]
              spids: [992]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_ROOT_HASH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                                  (Lit_Other ":") (short_hash)
                                } 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name HOSTNAME>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [1024 1027]
                                    ) (":") (${ VSub_Name KUBE_ROOT) (":") (${ VSub_Name KUBE_GIT_BRANCH)
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1014 1037]
                      )
                    }
                  spids: [1013]
                )
              ]
              spids: [1013]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_IMAGE_TAG_BASE)
                  op: Equal
                  rhs: {(DQ (build-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1040]
                )
              ]
              spids: [1040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_IMAGE_TAG)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1049]
                )
              ]
              spids: [1049]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_IMAGE)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_BUILD_IMAGE_REPO) (":") 
                        (${ VSub_Name KUBE_BUILD_IMAGE_TAG)
                      )
                    }
                  spids: [1061]
                )
              ]
              spids: [1061]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_CONTAINER_NAME_BASE)
                  op: Equal
                  rhs: {(DQ (kube-build-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1073]
                )
              ]
              spids: [1073]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_CONTAINER_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1082]
                )
              ]
              spids: [1082]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_RSYNC_CONTAINER_NAME_BASE)
                  op: Equal
                  rhs: {(DQ (kube-rsync-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1094]
                )
              ]
              spids: [1094]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_RSYNC_CONTAINER_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1103]
                )
              ]
              spids: [1103]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_DATA_CONTAINER_NAME_BASE)
                  op: Equal
                  rhs: {(DQ (kube-build-data-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1115]
                )
              ]
              spids: [1115]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_DATA_CONTAINER_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1124]
                )
              ]
              spids: [1124]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKER_MOUNT_ARGS)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(--volumes-from)} {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}]
                      )
                    }
                  spids: [1136]
                )
              ]
              spids: [1136]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LOCAL_OUTPUT_BUILD_CONTEXT)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name LOCAL_OUTPUT_IMAGE_STAGING) (/) (${ VSub_Name KUBE_BUILD_IMAGE))
                    }
                  spids: [1148]
                )
              ]
              spids: [1148]
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") 
                (get_version_vars)
              }
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") 
                (save_version_vars)
              } {(DQ (${ VSub_Name KUBE_ROOT) (/.dockerized-kube-version-defs))}
            )
          ]
          spids: [800]
        )
      spids: [788 799]
    )
    (FuncDef
      name: "kube::build::docker_available_on_osx"
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name DOCKER_HOST))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_S
                                      child: {(DQ (/var/run/docker.sock))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (status)
                              } {(DQ ("Using Docker for MacOS"))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [-1 1241]
                        )
                      ]
                      spids: [-1 1262]
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (status)
                      } {(DQ ("No docker host is set. Checking options for setting one..."))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [(C {(which)} {(docker-machine)})]
                                                )
                                              left_token: <Left_CommandSub "$(">
                                              spids: [1286 1290]
                                            )
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (status)
                              } 
                              {
                                (DQ 
                                  (
"It looks like you're running Mac OS X, yet neither Docker for Mac nor docker-machine can be found."
                                  )
                                )
                              }
                            )
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (status)
                              } {(DQ ("See: https://docs.docker.com/engine/installation/mac/ for installation instructions."))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [-1 1296]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [(C {(which)} {(docker-machine)})]
                                                )
                                              left_token: <Left_CommandSub "$(">
                                              spids: [1337 1341]
                                            )
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                                (Lit_Other ":") (prepare_docker_machine)
                              }
                            )
                          ]
                          spids: [1330 1347]
                        )
                      ]
                      spids: [-1 1359]
                    )
                  ]
                  spids: [-1 1225]
                )
              ]
              spids: [-1 1362]
            )
          ]
          spids: [1207]
        )
      spids: [1195 1206]
    )
    (FuncDef
      name: "kube::build::prepare_docker_machine"
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("docker-machine was found."))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:available_memory_bytes)
                  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: [1406]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1399 1408]
                      )
                    }
                  spids: [1398]
                )
              ]
              spids: [1396]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bytes_in_mb)
                  op: Equal
                  rhs: {(1048576)}
                  spids: [1414]
                )
              ]
              spids: [1412]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:memory_divisor) op:Equal rhs:{(2)} spids:[1429])]
              spids: [1427]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:virtualbox_memory_mb)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Slash
                            left: (ArithWord w:{(${ VSub_Name available_memory_bytes)})
                            right: 
                              (ArithBinary
                                op_id: Arith_Star
                                left: (ArithWord w:{(${ VSub_Name bytes_in_mb)})
                                right: (ArithWord w:{(${ VSub_Name memory_divisor)})
                              )
                          )
                        spids: [1437 1458]
                      )
                    }
                  spids: [1436]
                )
              ]
              spids: [1434]
            )
            (Sentence
              child: (C {(docker-machine)} {(inspect)} {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))})
              terminator: <Op_Amp "&">
            )
            (AndOr
              children: [
                (SimpleCommand
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1473])]
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (status)
                      } {(DQ ("Creating a machine to build Kubernetes"))}
                    )
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {(docker-machine)}
                            {(create)}
                            {(--driver)}
                            {(${ VSub_Name DOCKER_MACHINE_DRIVER)}
                            {(--virtualbox-memory)}
                            {(DQ (${ VSub_Name virtualbox_memory_mb))}
                            {(--engine-env)}
                            {(Lit_VarLike "HTTP_PROXY=") 
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBERNETES_HTTP_PROXY>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [1521 1524]
                                )
                              )
                            }
                            {(--engine-env)}
                            {(Lit_VarLike "HTTPS_PROXY=") 
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBERNETES_HTTPS_PROXY>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [1533 1536]
                                )
                              )
                            }
                            {(--engine-env)}
                            {(Lit_VarLike "NO_PROXY=") 
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBERNETES_NO_PROXY>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {(127.0.0.1)}
                                    )
                                  spids: [1545 1549]
                                )
                              )
                            }
                            {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [1560]
                            )
                          ]
                        )
                        (BraceGroup
                          children: [
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (error)
                              } {(DQ ("Something went wrong creating a machine."))}
                            )
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (error)
                              } {(DQ ("Try the following: "))}
                            )
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                (Lit_Other ":") (error)
                              } 
                              {
                                (DQ ("docker-machine create -d ") (${ VSub_Name DOCKER_MACHINE_DRIVER) 
                                  (" --virtualbox-memory ") (${ VSub_Name virtualbox_memory_mb) (" ") (${ VSub_Name DOCKER_MACHINE_NAME)
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [1566]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [1479]
                )
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: (C {(docker-machine)} {(start)} {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))})
              terminator: <Op_Amp "&">
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1641])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:docker_machine_out) op:Equal spids:[1652])]
              spids: [1650]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:docker_machine_out)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(docker-machine)}
                                              {(env)}
                                              {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))}
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_GreatAnd
                                                fd: 2
                                                arg_word: {(1)}
                                                spids: [1671]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [1660 1673]
                                  )
                                }
                              spids: [1659]
                            )
                          ]
                          spids: [1659]
                        )
                      ]
                      negated: True
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(${ VSub_Name docker_machine_out)}
                                      right: {(DQ ("Error checking TLS connection"))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(echo)} {(${ VSub_Name docker_machine_out)})
                            (C {(docker-machine)} {(regenerate-certs)} 
                              {(${ VSub_Name DOCKER_MACHINE_NAME)}
                            )
                          ]
                          spids: [-1 1696]
                        )
                      ]
                      else_action: [(C {(sleep)} {(1)})]
                      spids: [1715 1723]
                    )
                  ]
                  spids: [1676 1726]
                )
            )
            (C {(eval)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(docker-machine)} {(env)} {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))})
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [1731 1741]
                )
              }
            )
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {
                (DQ ("A Docker host using docker-machine named '") (${ VSub_Name DOCKER_MACHINE_NAME) 
                  ("' is ready to go!")
                )
              }
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [1379]
        )
      spids: [1367 1378]
    )
    (FuncDef
      name: "kube::build::is_osx"
      body: 
        (BraceGroup
          children: [
            (DBracket
              expr: 
                (BoolBinary
                  op_id: BoolBinary_GlobDEqual
                  left: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(uname)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1786 1788]
                        )
                      )
                    }
                  right: {(DQ (Darwin))}
                )
            )
          ]
          spids: [1780]
        )
      spids: [1768 1779]
    )
    (FuncDef
      name: "kube::build::is_gnu_sed"
      body: 
        (BraceGroup
          children: [
            (DBracket
              expr: 
                (BoolBinary
                  op_id: BoolBinary_GlobDEqual
                  left: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(sed)} {(--version)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_GreatAnd
                                    fd: 2
                                    arg_word: {(1)}
                                    spids: [1824]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1819 1826]
                      )
                    }
                  right: {(Lit_Other "*") (GNU) (Lit_Other "*")}
                )
            )
          ]
          spids: [1814]
        )
      spids: [1802 1813]
    )
    (FuncDef
      name: "kube::build::ensure_rsync"
      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)} {(rsync)})])
                                      left_token: <Left_CommandSub "$(">
                                      spids: [1861 1865]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("Can't find 'rsync' in PATH, please fix and retry."))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 1871]
                )
              ]
              spids: [-1 1892]
            )
          ]
          spids: [1851]
        )
      spids: [1839 1850]
    )
    (FuncDef
      name: "kube::build::update_dockerfile"
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                            (Lit_Other ":") (is_gnu_sed)
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sed_opts)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(-i)}])}
                          spids: [1926]
                        )
                      ]
                      spids: [1926]
                    )
                  ]
                  spids: [-1 1923]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sed_opts)
                      op: Equal
                      rhs: {(ArrayLiteralPart words:[{(-i)}{(SQ )}])}
                      spids: [1935]
                    )
                  ]
                  spids: [1935]
                )
              ]
              spids: [1932 1944]
            )
            (C {(sed)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name sed_opts>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [1950 1955]
                  )
                )
              } {(DQ (s/KUBE_BUILD_IMAGE_CROSS_TAG/) (${ VSub_Name KUBE_BUILD_IMAGE_CROSS_TAG) (/))} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
            )
          ]
          spids: [1909]
        )
      spids: [1897 1908]
    )
    (FuncDef
      name: "kube::build::set_proxy"
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_HTTPS_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [1998 2001]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ("ENV https_proxy ") ($ VSub_Name "$KUBERNETES_HTTPS_PROXY"))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
                          spids: [2017]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2007]
                )
              ]
              spids: [-1 2027]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_HTTP_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2037 2040]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("ENV http_proxy ") ($ VSub_Name "$KUBERNETES_HTTP_PROXY"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
                          spids: [2056]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2046]
                )
              ]
              spids: [-1 2066]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_NO_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2076 2079]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("ENV no_proxy ") ($ VSub_Name "$KUBERNETES_NO_PROXY"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
                          spids: [2095]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2085]
                )
              ]
              spids: [-1 2105]
            )
          ]
          spids: [1988]
        )
      spids: [1976 1987]
    )
    (FuncDef
      name: "kube::build::ensure_docker_in_path"
      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)} {(docker)})])
                                      left_token: <Left_CommandSub "$(">
                                      spids: [2132 2136]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("Can't find 'docker' in PATH, please fix and retry."))}
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("See https://docs.docker.com/installation/#installation for installation instructions."))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 2142]
                )
              ]
              spids: [-1 2176]
            )
          ]
          spids: [2122]
        )
      spids: [2110 2121]
    )
    (FuncDef
      name: "kube::build::ensure_tar"
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name TAR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2203 2206]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [-1 2212]
                )
              ]
              spids: [-1 2218]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TAR) op:Equal rhs:{(tar)} spids:[2226])]
              spids: [2226]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(which)} {(gtar)})
                      terminator: <Op_Amp "&">
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [2237]
                            )
                          ]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:TAR) op:Equal rhs:{(gtar)} spids:[2244])]
                      spids: [2244]
                    )
                  ]
                  spids: [-1 2241]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(which)} {(gnutar)})
                          terminator: <Op_Amp "&">
                        )
                        (Sentence
                          child: 
                            (SimpleCommand
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [2258]
                                )
                              ]
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TAR)
                              op: Equal
                              rhs: {(gnutar)}
                              spids: [2265]
                            )
                          ]
                          spids: [2265]
                        )
                      ]
                      spids: [-1 2262]
                    )
                  ]
                  spids: [-1 2269]
                )
              ]
              spids: [2248 2272]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(DQ (${ VSub_Name TAR))} {(--version)})
                            (C {(grep)} {(-q)} {(GNU)})
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("  !!! Cannot find GNU tar. Build on Linux or install GNU tar"))})
                    (C {(echo)} {(DQ ("      on Mac OS X (brew install gnu-tar)."))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 2296]
                )
              ]
              spids: [-1 2318]
            )
          ]
          spids: [2193]
        )
      spids: [2181 2192]
    )
    (FuncDef
      name: "kube::build::has_docker"
      body: 
        (BraceGroup
          children: [
            (Sentence child:(C {(which)} {(docker)}) terminator:<Op_Amp "&">)
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2343])]
            )
          ]
          spids: [2335]
        )
      spids: [2323 2334]
    )
    (FuncDef
      name: "kube::build::has_ip"
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Pipeline
                  children: [(C {(ip)} {(-Version)}) (C {(grep)} {(SQ <iproute2>)})]
                  negated: False
                )
              terminator: <Op_Amp "&">
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2378])]
            )
          ]
          spids: [2362]
        )
      spids: [2350 2361]
    )
    (FuncDef
      name: "kube::build::docker_image_exists"
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: 
                    (LogicalAnd
                      left: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number "$1")})
                      right: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number "$2")})
                    )
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("Internal error. Image not specified in docker_image_exists."))}
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [2428]
                )
              ]
              op_id: Op_DPipe
            )
            (DBracket
              expr: 
                (WordTest
                  w: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2457 2462]
                                    )
                                  )
                                } {(images)} {(-q)} {(DQ (${ VSub_Number 1) (":") (${ VSub_Number 2))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2455 2478]
                      )
                    }
                )
            )
          ]
          spids: [2409]
        )
      spids: [2397 2408]
    )
    (FuncDef
      name: "kube::build::docker_delete_old_images"
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: tag
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2531 2536]
                                    )
                                  )
                                } {(images)} {(${ VSub_Number 1)}
                              )
                              (C {(tail)} {(-n)} {(Lit_Other "+") (2)})
                              (C {(awk)} {(SQ <"{print $2}">)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [2529 2561]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {(DQ (${ VSub_Name tag))}
                                      right: {(DQ (${ VSub_Number 2)) (Lit_Other "*")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                  (Lit_Other ":") (status)
                                }
                                {(DQ ("Keeping image ") (${ VSub_Number 1) (":") (${ VSub_Name tag))}
                              ]
                              more_env: [(env_pair name:V val:{(3)} spids:[2594])]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 2591]
                        )
                      ]
                      spids: [-1 2620]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 3>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [2631 2634]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {(DQ (${ VSub_Name tag))}
                                          right: {(DQ (${ VSub_Number 3))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                  (Lit_Other ":") (status)
                                }
                                {
                                  (DQ ("Deleting image ") (${ VSub_Number 1) (":") (${ VSub_Name tag))
                                }
                              ]
                              more_env: [(env_pair name:V val:{(2)} spids:[2660])]
                            )
                            (SimpleCommand
                              words: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2684 2689]
                                    )
                                  )
                                }
                                {(rmi)}
                                {(DQ (${ VSub_Number 1) (":") (${ VSub_Name tag))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [2704]
                                )
                              ]
                            )
                          ]
                          spids: [-1 2657]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [
                            {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                              (Lit_Other ":") (status)
                            }
                            {(DQ ("Keeping image ") (${ VSub_Number 1) (":") (${ VSub_Name tag))}
                          ]
                          more_env: [(env_pair name:V val:{(3)} spids:[2711])]
                        )
                      ]
                      spids: [2708 2734]
                    )
                  ]
                  spids: [2565 2737]
                )
              spids: [2528 2563]
            )
          ]
          spids: [2512]
        )
      spids: [2500 2511]
    )
    (FuncDef
      name: "kube::build::docker_delete_old_containers"
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: container
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2785 2790]
                                    )
                                  )
                                } {(ps)} {(-a)}
                              )
                              (C {(tail)} {(-n)} {(Lit_Other "+") (2)})
                              (C {(awk)} {(SQ <"{print $NF}">)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [2783 2813]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {(DQ (${ VSub_Name container))}
                                      right: {(DQ (${ VSub_Number 1)) (Lit_Other "*")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                  (Lit_Other ":") (status)
                                }
                                {(DQ ("Keeping container ") (${ VSub_Name container))}
                              ]
                              more_env: [(env_pair name:V val:{(3)} spids:[2846])]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 2843]
                        )
                      ]
                      spids: [-1 2868]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 2>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [2878 2881]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {(DQ (${ VSub_Name container))}
                                          right: {(DQ (${ VSub_Number 2))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                                  (Lit_Other ":") (status)
                                }
                                {(DQ ("Deleting container ") (${ VSub_Name container))}
                              ]
                              more_env: [(env_pair name:V val:{(2)} spids:[2907])]
                            )
                            (C 
                              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                                (Lit_Other ":") (destroy_container)
                              } {(DQ (${ VSub_Name container))}
                            )
                          ]
                          spids: [-1 2904]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [
                            {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") 
                              (Lit_Other ":") (status)
                            }
                            {(DQ ("Keeping container ") (${ VSub_Name container))}
                          ]
                          more_env: [(env_pair name:V val:{(3)} spids:[2944])]
                        )
                      ]
                      spids: [2941 2963]
                    )
                  ]
                  spids: [2817 2966]
                )
              spids: [2782 2815]
            )
          ]
          spids: [2766]
        )
      spids: [2754 2765]
    )
    (FuncDef
      name: "kube::build::short_hash"
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_eq left:{($ VSub_Pound "$#")} right:{(1)})
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("Internal error.  No data based to short_hash."))}
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [3001]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:short_hash) op:Equal spids:[3028])]
              spids: [3026]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(which)} {(md5)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [3037]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [3040]
                            )
                          ]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:short_hash)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(md5)} {(-q)} {(-s)} {(DQ ($ VSub_Number "$1"))})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [3048 3058]
                              )
                            }
                          spids: [3047]
                        )
                      ]
                      spids: [3047]
                    )
                  ]
                  spids: [-1 3044]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:short_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                                      (C {(md5sum)})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [3065 3077]
                          )
                        }
                      spids: [3064]
                    )
                  ]
                  spids: [3064]
                )
              ]
              spids: [3061 3080]
            )
            (C {(echo)} 
              {
                (BracedVarSub
                  token: <VSub_Name short_hash>
                  suffix_op: 
                    (Slice
                      begin: (ArithWord w:{(Lit_Digits 0)})
                      length: (ArithWord w:{(Lit_Digits 10)})
                    )
                  spids: [3085 3091]
                )
              }
            )
          ]
          spids: [2986]
        )
      spids: [2974 2985]
    )
    (FuncDef
      name: "kube::build::destroy_container"
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name DOCKER>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [3124 3129]
                        )
                      )
                    }
                    {(kill)}
                    {(DQ ($ VSub_Number "$1"))}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(/dev/null)}
                      spids: [3138]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3141])
                  ]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name DOCKER>
                                                  bracket_op: (WholeArray op_id:Lit_At)
                                                  spids: [3155 3160]
                                                )
                                              )
                                            } {(version)} {(--format)} {(SQ <"{{.Server.Version}}">)}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [3153 3170]
                                  )
                                }
                              right: {(17.06.0) (Lit_Other "*")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name DOCKER>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [3195 3200]
                                )
                              )
                            }
                            {(wait)}
                            {(DQ ($ VSub_Number "$1"))}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [3209]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [3212]
                            )
                          ]
                          more_env: [(env_pair name:DOCKER_API_VERSION val:{(v1.29)} spids:[3191])]
                        )
                        (C {(true)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 3180]
                )
              ]
              else_action: [
                (AndOr
                  children: [
                    (SimpleCommand
                      words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name DOCKER>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [3224 3229]
                            )
                          )
                        }
                        {(wait)}
                        {(DQ ($ VSub_Number "$1"))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [3238]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [3241]
                        )
                      ]
                    )
                    (C {(true)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [3220 3249]
            )
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name DOCKER>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [3253 3258]
                        )
                      )
                    }
                    {(rm)}
                    {(-f)}
                    {(-v)}
                    {(DQ ($ VSub_Number "$1"))}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(/dev/null)}
                      spids: [3271]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3274])
                  ]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [3120]
        )
      spids: [3108 3119]
    )
    (FuncDef
      name: "kube::build::clean"
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                            (Lit_Other ":") (has_docker)
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                        (docker_delete_old_containers)
                      } {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME_BASE))}
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                        (docker_delete_old_containers)
                      } {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME_BASE))}
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                        (docker_delete_old_containers)
                      } {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME_BASE))}
                    )
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                        (docker_delete_old_images)
                      } {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_REPO))} {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG_BASE))}
                    )
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                          (status)
                        }
                        {(DQ ("Cleaning all untagged docker images"))}
                      ]
                      more_env: [(env_pair name:V val:{(2)} spids:[3389])]
                    )
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name DOCKER>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [3406 3411]
                                )
                              )
                            }
                            {(rmi)}
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name DOCKER>
                                              bracket_op: (WholeArray op_id:Lit_At)
                                              spids: [3418 3423]
                                            )
                                          )
                                        } {(images)} {(-q)} {(--filter)} {(SQ <"dangling=true">)}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [3416 3435]
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [3437]
                            )
                          ]
                        )
                        (C {(true)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 3319]
                )
              ]
              spids: [-1 3446]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_d
                              child: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (status)
                      } {(DQ ("Removing _output directory"))}
                    )
                    (C {(rm)} {(-rf)} {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT))})
                  ]
                  spids: [-1 3465]
                )
              ]
              spids: [-1 3492]
            )
          ]
          spids: [3304]
        )
      spids: [3292 3303]
    )
    (FuncDef
      name: "kube::build::build_image"
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT))})
            (C {(chown)} {(-R)} {(${ VSub_Name USER_ID) (Lit_Other ":") (${ VSub_Name GROUP_ID)} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT))}
            )
            (C {(cp)} {(/etc/localtime)} {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/))})
            (C {(cp)} {(build/build-image/Dockerfile)} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
            )
            (C {(cp)} {(build/build-image/rsyncd.sh)} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/))}
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [
                    {(dd)}
                    {(Lit_VarLike "if=") (/dev/urandom)}
                    {(Lit_VarLike "bs=") (512)}
                    {(Lit_VarLike "count=") (1)}
                  ]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3598])]
                )
                (SimpleCommand
                  words: [{(tr)} {(-dc)} {(SQ <A-Za-z0-9>)}]
                  more_env: [(env_pair name:LC_ALL val:{(C)} spids:[3603])]
                )
                (SimpleCommand
                  words: [{(dd)} {(Lit_VarLike "bs=") (32)} {(Lit_VarLike "count=") (1)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [3624]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))}
                      spids: [3627]
                    )
                  ]
                )
              ]
              negated: False
            )
            (C {(chmod)} {(Lit_VarLike "go=")} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (update_dockerfile)
              }
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") (set_proxy)}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (docker_build)
              } {(DQ (${ VSub_Name KUBE_BUILD_IMAGE))} {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT))} {(SQ <false>)}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (docker_delete_old_containers)
              } {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME_BASE))} {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (docker_delete_old_containers)
              } {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME_BASE))} {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (docker_delete_old_containers)
              } {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME_BASE))} {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (docker_delete_old_images)
              } {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_REPO))} {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG_BASE))} 
              {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (ensure_data_container)
              }
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (sync_to_container)
              }
            )
          ]
          spids: [3512]
        )
      spids: [3500 3511]
    )
    (FuncDef
      name: "kube::build::docker_build"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:image)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [3840]
                )
              ]
              spids: [3836]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:context_dir)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [3848]
                )
              ]
              spids: [3844]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pull)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 3>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                          spids: [3858 3862]
                        )
                      )
                    }
                  spids: [3856]
                )
              ]
              spids: [3852]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-ra'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:build_cmd)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [3873 3878]
                              )
                            )
                          }
                          {(build)}
                          {(-t)}
                          {(DQ (${ VSub_Name image))}
                          {(DQ ("--pull=") (${ VSub_Name pull))}
                          {(DQ (${ VSub_Name context_dir))}
                        ]
                      )
                    }
                  spids: [3870]
                )
              ]
              spids: [3866]
            )
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("Building Docker image ") (${ VSub_Name image))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:docker_output) op:Equal spids:[3925])]
              spids: [3923]
            )
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:docker_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name build_cmd>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [3931 3936]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(1)}
                                        spids: [3939]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [3929 3941]
                          )
                        }
                      spids: [3928]
                    )
                  ]
                  spids: [3928]
                )
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("+++ Docker build command failed for ") (${ VSub_Name image) ("\n") 
                                ("\n") (${ VSub_Name docker_output) ("\n") ("\n") ("To retry manually, run:\n") ("\n") 
                                (BracedVarSub
                                  token: <VSub_Name build_cmd>
                                  bracket_op: (WholeArray op_id:Arith_Star)
                                  spids: [3969 3974]
                                ) ("\n") ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3950]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {(2)}
                          spids: [3953]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [3945]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [3833]
        )
      spids: [3821 3832]
    )
    (FuncDef
      name: "kube::build::ensure_data_container"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(0)} spids:[4013])]
              spids: [4011]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:code)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(docker)}
                                      {(inspect)}
                                      {(-f)}
                                      {(SQ <"{{.State.ExitCode}}">)}
                                      {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [4041]
                                      )
                                    ]
                                  )
                                  (Assignment
                                    keyword: Assign_None
                                    pairs: [
                                      (assign_pair
                                        lhs: (LhsName name:ret)
                                        op: Equal
                                        rhs: {($ VSub_QMark "$?")}
                                        spids: [4046]
                                      )
                                    ]
                                    spids: [4046]
                                  )
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [4020 4048]
                      )
                    }
                  spids: [4019]
                )
              ]
              spids: [4017]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ (${ VSub_Name ret))}
                                  right: {(0)}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: {(DQ (${ VSub_Name code))}
                                  right: {(0)}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                        (destroy_container)
                      } {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[4098])]
                      spids: [4098]
                    )
                  ]
                  spids: [-1 4080]
                )
              ]
              spids: [-1 4102]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name ret))}
                              right: {(0)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (status)
                      } {(DQ ("Creating data container ") (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                    )
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name LOCAL_OUTPUT_GOPATH))})
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-ra'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_cmd)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name DOCKER>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [4201 4206]
                                      )
                                    )
                                  }
                                  {(run)}
                                  {(--volume)}
                                  {(DQ (${ VSub_Name REMOTE_ROOT))}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_386_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_amd64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_arm_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_arm64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_ppc64le_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/darwin_amd64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/darwin_386_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/windows_amd64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/windows_386_cgo)}
                                  {(--name)}
                                  {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                                  {(--hostname)}
                                  {(DQ (${ VSub_Name HOSTNAME))}
                                  {(DQ (${ VSub_Name KUBE_BUILD_IMAGE))}
                                  {(chown)}
                                  {(-R)}
                                  {(${ VSub_Name USER_ID) (Lit_Other ":") (${ VSub_Name GROUP_ID)}
                                  {(DQ (${ VSub_Name REMOTE_ROOT))}
                                  {(/usr/local/go/pkg/)}
                                ]
                              )
                            }
                          spids: [4196]
                        )
                      ]
                      spids: [4192]
                    )
                    (C 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name docker_cmd>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [4321 4326]
                          )
                        )
                      }
                    )
                  ]
                  spids: [-1 4122]
                )
              ]
              spids: [-1 4330]
            )
          ]
          spids: [4000]
        )
      spids: [3988 3999]
    )
    (FuncDef
      name: "kube::build::run_build_command"
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("Running build command..."))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (run_build_command_ex)
              } {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME))} {(--)} {(DQ ($ VSub_At "$@"))}
            )
          ]
          spids: [4353]
        )
      spids: [4341 4352]
    )
    (FuncDef
      name: "kube::build::run_build_command_ex"
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Pound "$#")} right:{(0)})
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(DQ ("Invalid input - please specify a container name."))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[4442])]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(4)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [4434]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_name)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [4456]
                )
              ]
              spids: [4454]
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_Local
              flags: ["'-a'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_run_opts)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ("--name=") (${ VSub_Name container_name))}
                          {
                            (DQ ("--user=") 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(id)} {(-u)})])
                                left_token: <Left_CommandSub "$(">
                                spids: [4486 4490]
                              ) (":") 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(id)} {(-g)})])
                                left_token: <Left_CommandSub "$(">
                                spids: [4492 4496]
                              )
                            )
                          }
                          {(DQ ("--hostname=") (${ VSub_Name HOSTNAME))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_MOUNT_ARGS>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [4509 4514]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [4472]
                )
              ]
              spids: [4468]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:detach) op:Equal rhs:{(false)} spids:[4524])]
              spids: [4522]
            )
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Pound "$#")} right:{(0)})
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (DQ ("Invalid input - please specify docker arguments followed by --."))
                            }
                          ]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[4549])]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(4)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [4541]
                )
              ]
              op_id: Op_DPipe
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other "[")} {(-z)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                            spids: [4572 4575]
                          )
                        )
                      } {(Lit_Other "]")}
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ ($ VSub_Number "$1"))}
                                      right: {(DQ (--))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                          spids: [-1 4602]
                        )
                      ]
                      spids: [-1 4611]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_run_opts)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Number "$1"))}])}
                          spids: [4614]
                        )
                      ]
                      spids: [4614]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ ($ VSub_Number "$1"))}
                                          right: {(DQ (-d))}
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ ($ VSub_Number "$1"))}
                                          right: {(DQ (--detach))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:detach)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [4655]
                                )
                              ]
                              spids: [4655]
                            )
                          ]
                          spids: [-1 4652]
                        )
                      ]
                      spids: [-1 4659]
                    )
                    (C {(shift)})
                  ]
                  spids: [4582 4665]
                )
            )
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Pound "$#")} right:{(0)})
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(DQ ("Invalid input - please specify a command to run."))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[4693])]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(4)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [4685]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-a'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cmd)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [4709]
                )
              ]
              spids: [4705]
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other "[")} {(-z)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                            spids: [4721 4724]
                          )
                        )
                      } {(Lit_Other "]")}
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cmd)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Number "$1"))}])}
                          spids: [4734]
                        )
                      ]
                      spids: [4734]
                    )
                    (C {(shift)})
                  ]
                  spids: [4731 4745]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_run_opts)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(--env)}
                          {
                            (DQ ("KUBE_FASTBUILD=") 
                              (BracedVarSub
                                token: <VSub_Name KUBE_FASTBUILD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                                spids: [4757 4761]
                              )
                            )
                          }
                          {(--env)}
                          {
                            (DQ ("KUBE_BUILDER_OS=") 
                              (BracedVarSub
                                token: <VSub_Name OSTYPE>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonHyphen
                                    arg_word: {(notdetected)}
                                  )
                                spids: [4769 4773]
                              )
                            )
                          }
                          {(--env)}
                          {(DQ ("KUBE_VERBOSE=") (${ VSub_Name KUBE_VERBOSE))}
                          {(--env)}
                          {
                            (DQ ("GOFLAGS=") 
                              (BracedVarSub
                                token: <VSub_Name GOFLAGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4791 4794]
                              )
                            )
                          }
                          {(--env)}
                          {
                            (DQ ("GOLDFLAGS=") 
                              (BracedVarSub
                                token: <VSub_Name GOLDFLAGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4802 4805]
                              )
                            )
                          }
                          {(--env)}
                          {
                            (DQ ("GOGCFLAGS=") 
                              (BracedVarSub
                                token: <VSub_Name GOGCFLAGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4813 4816]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [4749]
                )
              ]
              spids: [4749]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_t child:{(0)}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_run_opts)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(--interactive)}{(--tty)}])}
                          spids: [4854]
                        )
                      ]
                      spids: [4854]
                    )
                  ]
                  spids: [-1 4851]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name detach))}
                              right: {(false)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_run_opts)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(--attach) (Lit_Other "=") (stdout)}
                                  {(--attach) (Lit_Other "=") (stderr)}
                                ]
                              )
                            }
                          spids: [4882]
                        )
                      ]
                      spids: [4882]
                    )
                  ]
                  spids: [4862 4879]
                )
              ]
              spids: [-1 4894]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-ra'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_cmd)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [4907 4912]
                              )
                            )
                          }
                          {(run)}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name docker_run_opts>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [4918 4923]
                              )
                            )
                          }
                          {(DQ (${ VSub_Name KUBE_BUILD_IMAGE))}
                        ]
                      )
                    }
                  spids: [4902]
                )
              ]
              spids: [4898]
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (destroy_container)
              } {(DQ (${ VSub_Name container_name))}
            )
            (C 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name docker_cmd>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [4955 4960]
                  )
                )
              } {(DQ (BracedVarSub token:<VSub_Name cmd> bracket_op:(WholeArray op_id:Lit_At) spids:[49644969]))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name detach))}
                              right: {(false)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                        (destroy_container)
                      } {(DQ (${ VSub_Name container_name))}
                    )
                  ]
                  spids: [-1 4990]
                )
              ]
              spids: [-1 5008]
            )
          ]
          spids: [4419]
        )
      spids: [4407 4418]
    )
    (FuncDef
      name: "kube::build::rsync_probe"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:tries) op:Equal rhs:{(20)} spids:[5032])]
              spids: [5030]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{(${ VSub_Name tries)})
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(rsync)} 
                                  {
                                    (DQ ("rsync://k8s@") (${ VSub_Number 1) (":") (${ VSub_Number 2) (/))
                                  } {(--password-file) (Lit_Other "=") (DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))}
                                )
                              terminator: <Op_Amp "&">
                            )
                            (Sentence
                              child: 
                                (SimpleCommand
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [5086]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                          spids: [-1 5092]
                        )
                      ]
                      spids: [-1 5100]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tries)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(${ VSub_Name tries)})
                                    right: (ArithWord w:{(Lit_Digits 1)})
                                  )
                                spids: [5104 5114]
                              )
                            }
                          spids: [5103]
                        )
                      ]
                      spids: [5103]
                    )
                    (C {(sleep)} {(0.1)})
                  ]
                  spids: [5053 5122]
                )
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [5023]
        )
      spids: [5013 5016]
    )
    (FuncDef
      name: "kube::build::start_rsyncd_container"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IPTOOL) op:Equal rhs:{(ifconfig)} spids:[5163])]
              spids: [5163]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                            (Lit_Other ":") (has_ip)
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IPTOOL)
                          op: Equal
                          rhs: {(DQ ("ip address"))}
                          spids: [5182]
                        )
                      ]
                      spids: [5182]
                    )
                  ]
                  spids: [-1 5179]
                )
              ]
              spids: [-1 5188]
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (stop_rsyncd_container)
              }
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)}
                {(DQ ("Starting rsyncd container"))}
              ]
              more_env: [(env_pair name:V val:{(3)} spids:[5200])]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                  (run_build_command_ex)
                }
                {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
                {(-p)}
                {(127.0.0.1) (Lit_Other ":") (${ VSub_Name KUBE_RSYNC_PORT) (Lit_Other ":") 
                  (${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)
                }
                {(-d)}
                {(-e)}
                {(Lit_VarLike "ALLOW_HOST=") 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (C {(${ VSub_Name IPTOOL)})
                                (C {(grep)} {(-Eo)} {(SQ <"inet (addr:)?([0-9]*\\.){3}[0-9]*">)})
                                (C {(grep)} {(-Eo)} {(SQ <"([0-9]*\\.){3}[0-9]*">)})
                                (C {(grep)} {(-v)} {(SQ <127.0.0.1>)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_CommandSub "$(">
                      spids: [5252 5286]
                    )
                  )
                }
                {(--)}
                {(/rsyncd.sh)}
              ]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[5295])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:mapped_port) op:Equal spids:[5302])]
              spids: [5300]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:mapped_port)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name DOCKER>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [5312 5317]
                                                          )
                                                        )
                                                      }
                                                      {(port)}
                                                      {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
                                                      {(${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [5332]
                                                      )
                                                    ]
                                                  )
                                                  (C {(cut)} {(-d) (Lit_Other ":")} {(-f)} {(2)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [5310 5346]
                                      )
                                    }
                                  spids: [5309]
                                )
                              ]
                              spids: [5309]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("Could not get effective rsync port"))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 5350]
                )
              ]
              spids: [-1 5371]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:container_ip) op:Equal spids:[5377])]
              spids: [5375]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_ip)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [5383 5388]
                                    )
                                  )
                                } {(inspect)} {(--format)} {(SQ <"{{ .NetworkSettings.IPAddress }}">)} 
                                {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [5381 5404]
                      )
                    }
                  spids: [5380]
                )
              ]
              spids: [5380]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                            (Lit_Other ":") (rsync_probe)
                          } {(127.0.0.1)} {(${ VSub_Name mapped_port)}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_RSYNC_ADDR)
                          op: Equal
                          rhs: {(DQ ("127.0.0.1:") (${ VSub_Name mapped_port))}
                          spids: [5448]
                        )
                      ]
                      spids: [5448]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [-1 5445]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") 
                            (Lit_Other ":") (rsync_probe)
                          } {(DQ (${ VSub_Name container_ip))} {(${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_RSYNC_ADDR)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name container_ip) (":") 
                                (${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)
                              )
                            }
                          spids: [5486]
                        )
                      ]
                      spids: [5486]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [5462 5483]
                )
              ]
              spids: [-1 5503]
            )
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (error)} 
              {
                (DQ 
                  (
"Could not connect to rsync container. See build/README.md for setting up remote Docker engine."
                  )
                )
              }
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [5160]
        )
      spids: [5148 5159]
    )
    (FuncDef
      name: "kube::build::stop_rsyncd_container"
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)}
                {(DQ ("Stopping any currently running rsyncd container"))}
              ]
              more_env: [(env_pair name:V val:{(3)} spids:[5542])]
            )
            (C {(unset)} {(KUBE_RSYNC_ADDR)})
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (destroy_container)
              } {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
            )
          ]
          spids: [5539]
        )
      spids: [5527 5538]
    )
    (FuncDef
      name: "kube::build::rsync"
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-a'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rsync_opts)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(--archive)}
                          {(--password-file) (Lit_Other "=") 
                            (DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))
                          }
                        ]
                      )
                    }
                  spids: [5597]
                )
              ]
              spids: [5593]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{(${ VSub_Name KUBE_VERBOSE)})
                              right: (ArithWord w:{(Lit_Digits 6)})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rsync_opts)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (-iv))}])}
                          spids: [5636]
                        )
                      ]
                      spids: [5636]
                    )
                  ]
                  spids: [-1 5633]
                )
              ]
              spids: [-1 5644]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{(${ VSub_Name KUBE_RSYNC_COMPRESS)})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rsync_opts)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ ("--compress-level=") (${ VSub_Name KUBE_RSYNC_COMPRESS))}]
                              )
                            }
                          spids: [5666]
                        )
                      ]
                      spids: [5666]
                    )
                  ]
                  spids: [-1 5663]
                )
              ]
              spids: [-1 5677]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)}
                {(DQ ("Running rsync"))}
              ]
              more_env: [(env_pair name:V val:{(3)} spids:[5680])]
            )
            (C {(rsync)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name rsync_opts>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [5699 5704]
                  )
                )
              } {(DQ ($ VSub_At "$@"))}
            )
          ]
          spids: [5590]
        )
      spids: [5580 5583]
    )
    (FuncDef
      name: "kube::build::sync_to_container"
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("Syncing sources to container"))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (start_rsyncd_container)
              }
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") (rsync)} {(--delete)} {(--filter) (Lit_Other "=") (SQ <"H /.git/">)} 
              {(--filter) (Lit_Other "=") (SQ <"- /.make/">)} {(--filter) (Lit_Other "=") (SQ <"- /_tmp/">)} {(--filter) (Lit_Other "=") (SQ <"- /_output/">)} 
              {(--filter) (Lit_Other "=") (SQ <"- /">)} {(--filter) (Lit_Other "=") (SQ <"H zz_generated.*">)} 
              {(--filter) (Lit_Other "=") (SQ <"H generated.proto">)} {(DQ (${ VSub_Name KUBE_ROOT) (/))} {(DQ ("rsync://k8s@") (${ VSub_Name KUBE_RSYNC_ADDR) (/k8s/))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (stop_rsyncd_container)
              }
            )
          ]
          spids: [5732]
        )
      spids: [5720 5731]
    )
    (FuncDef
      name: "kube::build::copy_output"
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} 
              {(DQ ("Syncing out of container"))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (start_rsyncd_container)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:rsync_extra) op:Equal rhs:{(DQ )} spids:[5937])]
              spids: [5935]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{(${ VSub_Name KUBE_VERBOSE)})
                              right: (ArithWord w:{(Lit_Digits 6)})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rsync_extra)
                          op: Equal
                          rhs: {(DQ (-iv))}
                          spids: [5961]
                        )
                      ]
                      spids: [5961]
                    )
                  ]
                  spids: [-1 5958]
                )
              ]
              spids: [-1 5967]
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") (rsync)} {(--prune-empty-dirs)} {(--filter) (Lit_Other "=") (SQ <"- /_temp/">)} 
              {(--filter) (Lit_Other "=") (SQ <"+ /vendor/">)} {(--filter) (Lit_Other "=") (SQ <"+ /Godeps/">)} 
              {(--filter) (Lit_Other "=") (SQ <"+ /staging/***/Godeps/**">)} {(--filter) (Lit_Other "=") (SQ <"+ /_output/dockerized/bin/**">)} 
              {(--filter) (Lit_Other "=") (SQ <"+ zz_generated.*">)} {(--filter) (Lit_Other "=") (SQ <"+ generated.proto">)} {(--filter) (Lit_Other "=") (SQ <"+ *.pb.go">)} 
              {(--filter) (Lit_Other "=") (SQ <"+ types.go">)} {(--filter) (Lit_Other "=") (SQ <"+ */">)} {(--filter) (Lit_Other "=") (SQ <"- /**">)} 
              {(DQ ("rsync://k8s@") (${ VSub_Name KUBE_RSYNC_ADDR) (/k8s/))} {(DQ (${ VSub_Name KUBE_ROOT))}
            )
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (build) (Lit_Other ":") (Lit_Other ":") 
                (stop_rsyncd_container)
              }
            )
          ]
          spids: [5908]
        )
      spids: [5896 5907]
    )
  ]
)