(CommandList
  children: [
    (C {(set)} {(-e)})
    (C {(cd)} 
      {
        (DQ 
          (CommandSubPart
            command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})])
            left_token: <Left_CommandSub "$(">
            spids: [23 29]
          )
        ) (/..)
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:shashort)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(git)} {(rev-parse)} {(--short) (Lit_Other "=") (10)} {(HEAD)})]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [38 48]
              )
            }
          spids: [37]
        )
      ]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tag)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(git)} {(tag)} {(--points-at)} {($ VSub_Name "$shashort")})]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [51 59]
              )
            }
          spids: [50]
        )
      ]
      spids: [50]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$tag"))} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ("error: this script must be run with a tagged commit checked out"))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[83])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 74]
        )
      ]
      spids: [-1 91]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:version)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(cat)} {(VERSION)})])
                left_token: <Left_CommandSub "$(">
                spids: [94 98]
              )
            }
          spids: [93]
        )
      ]
      spids: [93]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:majmin)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(cut)} {(-d.)} {(-f1-2)} {(VERSION)})])
                left_token: <Left_CommandSub "$(">
                spids: [101 109]
              )
            }
          spids: [100]
        )
      ]
      spids: [100]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:majminpatch)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(cut)} {(-d-)} {(-f1)} {(VERSION)})])
                left_token: <Left_CommandSub "$(">
                spids: [115 123]
              )
            }
          spids: [114]
        )
      ]
      spids: [114]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$tag"))} {(KW_Bang "!") (Lit_Other "=")} 
                  {(DQ (v) ($ VSub_Name "$version"))} {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("error: tagged commit does not match content of VERSION file"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[153])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 144]
        )
      ]
      spids: [-1 161]
    )
    (C {(git)} {(clone)} {(https) (Lit_Other ":") (//github.com/JuliaLang/julia)} {(-b)} 
      {($ VSub_Name "$tag")} {(julia-) ($ VSub_Name "$version")}
    )
    (C {(cd)} {(julia-) ($ VSub_Name "$version")})
    (C {(make)} {(full-source-dist)})
    (C {(make)} {(light-source-dist)})
    (C {(mv)} {(julia-) (${ VSub_Name version) (_) ($ VSub_Name "$shashort") (-full.tar.gz)} 
      {(../julia-) ($ VSub_Name "$version") (-full.tar.gz)}
    )
    (C {(mv)} {(julia-) (${ VSub_Name version) (_) ($ VSub_Name "$shashort") (.tar.gz)} 
      {(../julia-) ($ VSub_Name "$version") (.tar.gz)}
    )
    (C {(cd)} {(..)})
    (C {(rm)} {(-rf)} {(julia-) ($ VSub_Name "$version")})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:julianightlies)
          op: Equal
          rhs: {(DQ ("https://julialangnightlies-s3.julialang.org/bin"))}
          spids: [241]
        )
      ]
      spids: [241]
    )
    (C {(curl)} {(-L)} {(-o)} {(julia-) ($ VSub_Name "$version") (-linux-x86_64.tar.gz)} 
      {($ VSub_Name "$julianightlies") (/linux/x64/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-linux64.tar.gz)
      }
    )
    (C {(cp)} {(julia-) ($ VSub_Name "$version") (-linux-x86_64.tar.gz)} 
      {(julia-) ($ VSub_Name "$majmin") (-latest-linux-x86_64.tar.gz)}
    )
    (C {(curl)} {(-L)} {(-o)} {(julia-) ($ VSub_Name "$version") (-linux-i686.tar.gz)} 
      {($ VSub_Name "$julianightlies") (/linux/x86/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-linux32.tar.gz)
      }
    )
    (C {(cp)} {(julia-) ($ VSub_Name "$version") (-linux-i686.tar.gz)} 
      {(julia-) ($ VSub_Name "$majmin") (-latest-linux-i686.tar.gz)}
    )
    (C {(curl)} {(-L)} {(-o)} {(julia-) ($ VSub_Name "$version") (-linux-arm.tar.gz)} 
      {($ VSub_Name "$julianightlies") (/linux/arm/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-linuxarm.tar.gz)
      }
    )
    (C {(cp)} {(julia-) ($ VSub_Name "$version") (-linux-arm.tar.gz)} 
      {(julia-) ($ VSub_Name "$majmin") (-latest-linux-arm.tar.gz)}
    )
    (C {(curl)} {(-L)} {(-o)} {(julia-) ($ VSub_Name "$version") (-linux-ppc64le.tar.gz)} 
      {($ VSub_Name "$julianightlies") (/linux/ppc64le/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-linuxppc64.tar.gz)
      }
    )
    (C {(cp)} {(julia-) ($ VSub_Name "$version") (-linux-ppc64le.tar.gz)} 
      {(julia-) ($ VSub_Name "$majmin") (-latest-linux-ppc64le.tar.gz)}
    )
    (C {(curl)} {(-L)} {(-o)} {(DQ (julia-) ($ VSub_Name "$version") ("-osx10.7 .dmg"))} 
      {($ VSub_Name "$julianightlies") (/osx/x64/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-osx.dmg)
      }
    )
    (C {(cp)} {(DQ (julia-) ($ VSub_Name "$version") ("-osx10.7 .dmg"))} 
      {(DQ (julia-) ($ VSub_Name "$majmin") ("-latest-osx10.7 .dmg"))}
    )
    (C {(curl)} {(-L)} {(-o)} {(julia-) ($ VSub_Name "$version") (-win64.exe)} 
      {($ VSub_Name "$julianightlies") (/winnt/x64/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-win64.exe)
      }
    )
    (C {(cp)} {(julia-) ($ VSub_Name "$version") (-win64.exe)} 
      {(julia-) ($ VSub_Name "$majmin") (-latest-win64.exe)}
    )
    (C {(curl)} {(-L)} {(-o)} {(julia-) ($ VSub_Name "$version") (-win32.exe)} 
      {($ VSub_Name "$julianightlies") (/winnt/x86/) ($ VSub_Name "$majmin") (/julia-) 
        ($ VSub_Name "$majminpatch") (-) ($ VSub_Name "$shashort") (-win32.exe)
      }
    )
    (C {(cp)} {(julia-) ($ VSub_Name "$version") (-win32.exe)} 
      {(julia-) ($ VSub_Name "$majmin") (-latest-win32.exe)}
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(-e)} {(codesign.sh)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(./codesign.sh)})]
          spids: [-1 481]
        )
      ]
      spids: [-1 494]
    )
    (Pipeline
      children: [
        (C {(shasum)} {(-a)} {(256)} {(julia-) ($ VSub_Name "$version") (Lit_Other "*")})
        (SimpleCommand
          words: [{(grep)} {(-v)} {(-e)} {(sha256)} {(-e)} {(md5)} {(-e)} {(asc)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: -1
              arg_word: {(julia-) ($ VSub_Name "$version") (.sha256)}
              spids: [525]
            )
          ]
        )
      ]
      negated: False
    )
    (Pipeline
      children: [
        (C {(md5sum)} {(julia-) ($ VSub_Name "$version") (Lit_Other "*")})
        (SimpleCommand
          words: [{(grep)} {(-v)} {(-e)} {(sha256)} {(-e)} {(md5)} {(-e)} {(asc)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: -1
              arg_word: {(julia-) ($ VSub_Name "$version") (.md5)}
              spids: [555]
            )
          ]
        )
      ]
      negated: False
    )
    (C {(gpg)} {(-u)} {(julia)} {(--armor)} {(--detach-sig)} 
      {(julia-) ($ VSub_Name "$version") (-full.tar.gz)}
    )
    (C {(gpg)} {(-u)} {(julia)} {(--armor)} {(--detach-sig)} {(julia-) ($ VSub_Name "$version") (.tar.gz)})
    (C {(gpg)} {(-u)} {(julia)} {(--armor)} {(--detach-sig)} 
      {(julia-) ($ VSub_Name "$version") (-linux-x86_64.tar.gz)}
    )
    (C {(gpg)} {(-u)} {(julia)} {(--armor)} {(--detach-sig)} 
      {(julia-) ($ VSub_Name "$version") (-linux-i686.tar.gz)}
    )
    (C {(gpg)} {(-u)} {(julia)} {(--armor)} {(--detach-sig)} 
      {(julia-) ($ VSub_Name "$version") (-linux-arm.tar.gz)}
    )
    (C {(gpg)} {(-u)} {(julia)} {(--armor)} {(--detach-sig)} 
      {(julia-) ($ VSub_Name "$version") (-linux-ppc64le.tar.gz)}
    )
    (C {(aws)} {(configure)})
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} {(julia-) ($ VSub_Name "$version") (.sha256)} 
      {(s3) (Lit_Other ":") (//julialang/bin/checksums/)}
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} {(julia-) ($ VSub_Name "$version") (.md5)} 
      {(s3) (Lit_Other ":") (//julialang/bin/checksums/)}
    )
    (ForEach
      iter_name: plat
      iter_words: [{(x86_64)} {(i686)} {(arm)} {(ppc64le)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:platshort)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name "$plat")})
                                  (C {(sed)} {(-e)} {(SQ <s/x86_64/x64/>)} {(-e)} {(SQ <s/i686/x86/>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [706 726]
                      )
                    }
                  spids: [705]
                )
              ]
              spids: [705]
            )
            (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
              {(julia-) ($ VSub_Name "$version") (-linux-) ($ VSub_Name "$plat") (.tar.gz)} 
              {(s3) (Lit_Other ":") (//julialang/bin/linux/) ($ VSub_Name "$platshort") (/) 
                ($ VSub_Name "$majmin") (/)
              }
            )
            (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
              {(julia-) ($ VSub_Name "$version") (-linux-) ($ VSub_Name "$plat") (.tar.gz.asc)} 
              {(s3) (Lit_Other ":") (//julialang/bin/linux/) ($ VSub_Name "$platshort") (/) 
                ($ VSub_Name "$majmin") (/)
              }
            )
            (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
              {(julia-) ($ VSub_Name "$majmin") (-latest-linux-) ($ VSub_Name "$plat") (.tar.gz)} 
              {(s3) (Lit_Other ":") (//julialang/bin/linux/) ($ VSub_Name "$platshort") (/) 
                ($ VSub_Name "$majmin") (/)
              }
            )
            (C {(curl)} {(-X)} {(PURGE)} {(-L)} 
              {
                (DQ ("https://julialang-s3.julialang.org/bin/linux/") ($ VSub_Name "$platshort") (/) 
                  ($ VSub_Name "$majmin") (/julia-) ($ VSub_Name "$majmin") (-latest-linux-) ($ VSub_Name "$plat") (.tar.gz)
                )
              }
            )
          ]
          spids: [702 830]
        )
      spids: [692 700]
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
      {(DQ (julia-) ($ VSub_Name "$version") ("-osx10.7 .dmg"))} {(s3) (Lit_Other ":") (//julialang/bin/osx/x64/) ($ VSub_Name "$majmin") (/)}
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
      {(DQ (julia-) ($ VSub_Name "$majmin") ("-latest-osx10.7 .dmg"))} {(s3) (Lit_Other ":") (//julialang/bin/osx/x64/) ($ VSub_Name "$majmin") (/)}
    )
    (C {(curl)} {(-X)} {(PURGE)} {(-L)} 
      {
        (DQ ("https://julialang-s3.julialang.org/bin/osx/x64/") ($ VSub_Name "$majmin") (/julia-) 
          ($ VSub_Name "$majmin") ("-latest-osx10.7 .dmg")
        )
      }
    )
    (C {(curl)} {(-X)} {(PURGE)} {(-L)} 
      {
        (DQ ("https://julialang-s3.julialang.org/bin/osx/x64/") ($ VSub_Name "$majmin") (/julia-) 
          ($ VSub_Name "$majmin") ("-latest-osx10.7+.dmg")
        )
      }
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} {(DQ (julia-) ($ VSub_Name "$version") (-win64.exe))} 
      {(s3) (Lit_Other ":") (//julialang/bin/winnt/x64/) ($ VSub_Name "$majmin") (/)}
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
      {(DQ (julia-) ($ VSub_Name "$majmin") (-latest-win64.exe))} {(s3) (Lit_Other ":") (//julialang/bin/winnt/x64/) ($ VSub_Name "$majmin") (/)}
    )
    (C {(curl)} {(-X)} {(PURGE)} {(-L)} 
      {
        (DQ ("https://julialang-s3.julialang.org/bin/winnt/x64/") ($ VSub_Name "$majmin") (/julia-) 
          ($ VSub_Name "$majmin") (-latest-win64.exe)
        )
      }
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} {(DQ (julia-) ($ VSub_Name "$version") (-win32.exe))} 
      {(s3) (Lit_Other ":") (//julialang/bin/winnt/x86/) ($ VSub_Name "$majmin") (/)}
    )
    (C {(aws)} {(s3)} {(cp)} {(--acl)} {(public-read)} 
      {(DQ (julia-) ($ VSub_Name "$majmin") (-latest-win32.exe))} {(s3) (Lit_Other ":") (//julialang/bin/winnt/x86/) ($ VSub_Name "$majmin") (/)}
    )
    (C {(curl)} {(-X)} {(PURGE)} {(-L)} 
      {
        (DQ ("https://julialang-s3.julialang.org/bin/winnt/x86/") ($ VSub_Name "$majmin") (/julia-) 
          ($ VSub_Name "$majmin") (-latest-win32.exe)
        )
      }
    )
    (C {(echo)} {(DQ ("All files prepared. Attach julia-") ($ VSub_Name "$version") (.tar.gz))})
    (C {(echo)} {(DQ ("and julia-") ($ VSub_Name "$version") ("-full.tar.gz to github releases."))})
  ]
)