(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (FuncDef
      name: download-kube-env
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp_kube_env)
                  op: Equal
                  rhs: {(DQ (/tmp/kube-env.yaml))}
                  spids: [78]
                )
              ]
              spids: [74]
            )
            (C {(curl)} {(--fail)} {(--retry)} {(5)} {(--retry-delay)} {(3)} {(--silent)} {(--show-error)} 
              {(-H)} {(DQ ("X-Google-Metadata-Request: True"))} {(-o)} {(DQ (${ VSub_Name tmp_kube_env))} 
              {(http) (Lit_Other ":") 
                (//metadata.google.internal/computeMetadata/v1/instance/attributes/kube-env)
              }
            )
            (SimpleCommand
              words: [{(sed)} {(SQ <"s/: /=/">)}]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name tmp_kube_env))}
                  spids: [135]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))}
                  spids: [143]
                )
              ]
            )
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name tmp_kube_env))})
          ]
          spids: [67]
        )
      spids: [63 66]
    )
    (FuncDef
      name: validate-hash
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [177]
                )
              ]
              spids: [173]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:expected)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$2"))}
                  spids: [187]
                )
              ]
              spids: [183]
            )
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:actual)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(sha1sum)} {(${ VSub_Name file)})
                                      (C {(awk)} {(SQ <"{ print $1 }">)})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [195 209]
                          )
                        }
                      spids: [194]
                    )
                  ]
                  spids: [194]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name actual))}
                              right: {(DQ (${ VSub_Name expected))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ("== ") (${ VSub_Name file) (" corrupted, sha1 ") (${ VSub_Name actual) 
                          (" doesn't match expected ") (${ VSub_Name expected) (" ==")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 237]
                )
              ]
              spids: [-1 264]
            )
          ]
          spids: [170]
        )
      spids: [166 169]
    )
    (FuncDef
      name: download-or-bust
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [293]
                )
              ]
              spids: [289]
            )
            (C {(shift)} {(1)})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:urls)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{($ VSub_Star "$*")}])}
                  spids: [309]
                )
              ]
              spids: [305]
            )
            (While
              cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)]
              body: 
                (DoGroup
                  children: [
                    (ForEach
                      iter_name: url
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name urls>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [332 337]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:file)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name url>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VOp1_DPound
                                              arg_word: {("*") (Lit_Slash /)}
                                            )
                                          spids: [348 353]
                                        )
                                      )
                                    }
                                  spids: [346]
                                )
                              ]
                              spids: [344]
                            )
                            (C {(rm)} {(-f)} {(DQ (${ VSub_Name file))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (C {(curl)} {(-f)} {(--ipv4)} {(-Lo)} 
                                              {(DQ (${ VSub_Name file))} {(--connect-timeout)} {(20)} {(--max-time)} {(300)} {(--retry)} {(6)} {(--retry-delay)} {(10)} 
                                              {(DQ (${ VSub_Name url))}
                                            )
                                          ]
                                          negated: True
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(echo)} 
                                      {
                                        (DQ ("== Failed to download ") (${ VSub_Name url) 
                                          (". Retrying. ==")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 409]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (DBracket
                                              expr: 
                                                (BoolUnary
                                                  op_id: BoolUnary_n
                                                  child: {(DQ (${ VSub_Name hash))}
                                                )
                                            )
                                            (Pipeline
                                              children: [
                                                (C {(validate-hash)} {(DQ (${ VSub_Name file))} 
                                                  {(DQ (${ VSub_Name hash))}
                                                )
                                              ]
                                              negated: True
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(echo)} 
                                      {
                                        (DQ ("== Hash validation of ") (${ VSub_Name url) 
                                          (" failed. Retrying. ==")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [423 456]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DBracket
                                              expr: 
                                                (BoolUnary
                                                  op_id: BoolUnary_n
                                                  child: {(DQ (${ VSub_Name hash))}
                                                )
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (C {(echo)} 
                                          {
                                            (DQ ("== Downloaded ") (${ VSub_Name url) (" (SHA1 = ") 
                                              (${ VSub_Name hash) (") ==")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [-1 488]
                                    )
                                  ]
                                  else_action: [
                                    (C {(echo)} {(DQ ("== Downloaded ") (${ VSub_Name url) (" =="))})
                                  ]
                                  spids: [506 520]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                )
                              ]
                              spids: [470 526]
                            )
                          ]
                          spids: [341 529]
                        )
                      spids: [330 339]
                    )
                  ]
                  spids: [322 532]
                )
            )
          ]
          spids: [286]
        )
      spids: [282 285]
    )
    (FuncDef
      name: split-commas
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(echo)} {($ VSub_Number "$1")})
                (C {(tr)} {(DQ (","))} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))})
              ]
              negated: False
            )
          ]
          spids: [541]
        )
      spids: [537 540]
    )
    (FuncDef
      name: install-kube-binary-config
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ (${ VSub_Name KUBE_HOME))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:server_binary_tar_urls)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(split-commas)} {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL))})
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [592 600]
                            )
                          }
                        ]
                      )
                    }
                  spids: [589]
                )
              ]
              spids: [585]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:server_binary_tar)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name server_binary_tar_urls>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                          spids: [611 619]
                        )
                      )
                    }
                  spids: [609]
                )
              ]
              spids: [605]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SERVER_BINARY_TAR_HASH>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [630 633]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:server_binary_tar_hash)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name SERVER_BINARY_TAR_HASH))}
                          spids: [646]
                        )
                      ]
                      spids: [642]
                    )
                  ]
                  spids: [-1 639]
                )
              ]
              else_action: [
                (C {(echo)} {(DQ ("Downloading binary release sha1 (not found in env)"))})
                (C {(download-or-bust)} {(DQ )} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name server_binary_tar_urls>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {(.tar.gz)}
                            replace: {(.tar.gz.sha1)}
                            do_all: False
                            do_prefix: False
                            do_suffix: False
                          )
                        spids: [670 679]
                      )
                    )
                  }
                )
                (Assignment
                  keyword: Assign_Local
                  flags: ["'-r'"]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:server_binary_tar_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(cat)} {(DQ (${ VSub_Name server_binary_tar) (.sha1))})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [688 697]
                          )
                        }
                      spids: [687]
                    )
                  ]
                  spids: [683]
                )
              ]
              spids: [654 700]
            )
            (C {(echo)} {(DQ ("Downloading binary release tar"))})
            (C {(download-or-bust)} {(DQ (${ VSub_Name server_binary_tar_hash))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name server_binary_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [719 724]
                  )
                )
              }
            )
            (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))} 
              {(-C)} {(DQ (${ VSub_Name KUBE_HOME))} {(--overwrite)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/server/bin))}
                  spids: [757]
                )
              ]
              spids: [757]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dst_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-docker-files))}
                  spids: [766]
                )
              ]
              spids: [766]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))})
            (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other "*") (.docker_tag)} 
              {(DQ (${ VSub_Name dst_dir))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_MASTER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [809 812]
                                    )
                                  )
                                }
                              right: {(DQ (false))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-proxy.tar))} 
                      {(DQ (${ VSub_Name dst_dir))}
                    )
                  ]
                  spids: [-1 824]
                )
              ]
              else_action: [
                (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-apiserver.tar))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
                (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-controller-manager.tar))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
                (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-scheduler.tar))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
                (C {(cp)} {(-r)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/addons))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
              ]
              spids: [843 912]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_bin)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/bin))}
                  spids: [919]
                )
              ]
              spids: [915]
            )
            (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubelet))} {(DQ (${ VSub_Name kube_bin))})
            (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubectl))} {(DQ (${ VSub_Name kube_bin))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [966 969]
                                        )
                                      )
                                    }
                                  right: {(DQ (kubenet))}
                                )
                            )
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [987 990]
                                        )
                                      )
                                    }
                                  right: {(DQ (cni))}
                                )
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cni_tar)
                          op: Equal
                          rhs: {(DQ (cni-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz))}
                          spids: [1013]
                        )
                      ]
                      spids: [1009]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cni_sha1)
                          op: Equal
                          rhs: {(DQ (1d9788b0f5420e1a219aad2cb8681823fc515e7c))}
                          spids: [1023]
                        )
                      ]
                      spids: [1019]
                    )
                    (C {(download-or-bust)} {(DQ (${ VSub_Name cni_sha1))} 
                      {
                        (DQ ("https://storage.googleapis.com/kubernetes-release/network-plugins/") 
                          (${ VSub_Name cni_tar)
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cni_dir)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_HOME) (/cni))}
                          spids: [1049]
                        )
                      ]
                      spids: [1045]
                    )
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name cni_dir))})
                    (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))} {(-C)} 
                      {(DQ (${ VSub_Name cni_dir))} {(--overwrite)}
                    )
                    (C {(mv)} {(DQ (${ VSub_Name cni_dir) (/bin)) (/) (Lit_Other "*")} 
                      {(DQ (${ VSub_Name kube_bin))}
                    )
                    (C {(rmdir)} {(DQ (${ VSub_Name cni_dir) (/bin))})
                    (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))})
                  ]
                  spids: [-1 1002]
                )
              ]
              spids: [-1 1137]
            )
            (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/LICENSES))} 
              {(DQ (${ VSub_Name KUBE_HOME))}
            )
            (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/kubernetes-src.tar.gz))} 
              {(DQ (${ VSub_Name KUBE_HOME))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dst_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests))}
                  spids: [1178]
                )
              ]
              spids: [1178]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:manifests_tar_urls)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(split-commas)} {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_URL))})
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [1205 1213]
                            )
                          }
                        ]
                      )
                    }
                  spids: [1202]
                )
              ]
              spids: [1198]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:manifests_tar)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name manifests_tar_urls>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                          spids: [1224 1232]
                        )
                      )
                    }
                  spids: [1222]
                )
              ]
              spids: [1218]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_MANIFESTS_TAR_HASH>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [1243 1246]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manifests_tar_hash)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_HASH))}
                          spids: [1259]
                        )
                      ]
                      spids: [1255]
                    )
                  ]
                  spids: [-1 1252]
                )
              ]
              else_action: [
                (C {(echo)} {(DQ ("Downloading k8s manifests sha1 (not found in env)"))})
                (C {(download-or-bust)} {(DQ )} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name manifests_tar_urls>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {(.tar.gz)}
                            replace: {(.tar.gz.sha1)}
                            do_all: False
                            do_prefix: False
                            do_suffix: False
                          )
                        spids: [1283 1292]
                      )
                    )
                  }
                )
                (Assignment
                  keyword: Assign_Local
                  flags: ["'-r'"]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:manifests_tar_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(cat)} {(DQ (${ VSub_Name manifests_tar) (.sha1))})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [1301 1310]
                          )
                        }
                      spids: [1300]
                    )
                  ]
                  spids: [1296]
                )
              ]
              spids: [1267 1313]
            )
            (C {(echo)} {(DQ ("Downloading k8s manifests tar"))})
            (C {(download-or-bust)} {(DQ (${ VSub_Name manifests_tar_hash))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name manifests_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [1332 1337]
                  )
                )
              }
            )
            (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))} {(-C)} 
              {(DQ (${ VSub_Name dst_dir))} {(--overwrite)}
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_addon_registry)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBE_ADDON_REGISTRY>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_ColonHyphen
                              arg_word: {(gcr.io) (Lit_Slash /) (google_containers)}
                            )
                          spids: [1372 1378]
                        )
                      )
                    }
                  spids: [1370]
                )
              ]
              spids: [1366]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name kube_addon_registry))}
                              right: {(DQ (gcr.io/google_containers))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} 
                          {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.yaml)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.yaml.in)}
                        )
                        (C {(xargs)} {(sed)} {(-ri)} 
                          {
                            (DQ ("s@(image:") (EscapedLiteralPart token:<Lit_EscapedChar "\\s">) 
                              (".*)gcr.io/google_containers@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) (${ VSub_Name kube_addon_registry) ("@")
                            )
                          }
                        )
                      ]
                      negated: False
                    )
                    (Pipeline
                      children: [
                        (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} 
                          {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.manifest)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.json)}
                        )
                        (C {(xargs)} {(sed)} {(-ri)} 
                          {
                            (DQ ("s@(image") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (":") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\s">
                              ) ("+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")gcr.io/google_containers@") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\1">
                              ) (${ VSub_Name kube_addon_registry) ("@")
                            )
                          }
                        )
                      ]
                      negated: False
                    )
                  ]
                  spids: [-1 1401]
                )
              ]
              spids: [-1 1492]
            )
            (C {(cp)} 
              {
                (DQ (${ VSub_Name dst_dir) 
                  (/kubernetes/gci-trusty/container-linux-configure-helper.sh)
                )
              } {(DQ (${ VSub_Name KUBE_HOME) (/bin/configure-helper.sh))}
            )
            (C {(chmod)} {(-R)} {(755)} {(DQ (${ VSub_Name kube_bin))})
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar) (.sha1))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar) (.sha1))})
          ]
          spids: [573]
        )
      spids: [569 572]
    )
    (C {(echo)} {(DQ ("Start to install kubernetes files"))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_HOME)
          op: Equal
          rhs: {(DQ (/opt/kubernetes))}
          spids: [1615]
        )
      ]
      spids: [1615]
    )
    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBE_HOME))})
    (C {(download-kube-env)})
    (C {(source)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))})
    (C {(install-kube-binary-config)})
    (C {(echo)} {(DQ ("Done for installing kubernetes files"))})
    (SimpleCommand
      words: [{(echo)} {(DQ ("127.0.0.1 localhost"))}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(/etc/hosts)} spids:[1662])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ("::1 localhost"))}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(/etc/hosts)} spids:[1672])]
    )
    (C {(echo)} {(DQ ("Configuring hostname"))})
    (C {(hostnamectl)} {(set-hostname)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (Pipeline
                  children: [(C {(hostname)}) (C {(cut)} {(-f1)} {(-d.)})]
                  negated: False
                )
              ]
            )
          left_token: <Left_CommandSub "$(">
          spids: [1687 1697]
        )
      }
    )
  ]
)