(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ("5.1 5.2 5.3"))}
          spids: [3]
        )
      ]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(DQ (lua-md5))} spids:[8])]
      spids: [8]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_name) op:Equal rhs:{(DQ (md5))} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.2)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(3)} spids:[21])]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Basic cryptographic facilities for Lua"))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/keplerproject/md5"))}
          spids: [29]
        )
      ]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[44])]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[48])]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[52])]
      spids: [52]
    )
    (ForEach
      iter_name: _i
      iter_words: [{($ VSub_Name "$_luaversions")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:makedepends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$makedepends") (" lua") ($ VSub_Name "$_i") (-dev))}
                  spids: [68]
                )
              ]
              spids: [68]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_i") ("-md5:split_") 
                        (BracedVarSub
                          token: <VSub_Name _i>
                          suffix_op: 
                            (PatSub
                              pat: {(.)}
                              replace: {(_)}
                              do_all: False
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [83 89]
                        )
                      )
                    }
                  spids: [77]
                )
              ]
              spids: [77]
            )
          ]
          spids: [65 92]
        )
      spids: [61 63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ (lua-md5-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/keplerproject/md5/archive/v") ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [94]
        )
      ]
      spids: [94]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_sdir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir")) (/md5-) ($ VSub_Name "$pkgver")}
          spids: [104]
        )
      ]
      spids: [104]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_sdir"))})
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(-e)} {(DQ ("s:^PREFIX.*=.*:PREFIX =/usr:"))} {(config)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(rm)} {(src/) (Lit_Other "*") (.o)})
            (ForEach
              iter_name: _i
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$_sdir"))} 
                      {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i")}
                    )
                    (AndOr
                      children: [
                        (C {(sed)} {(-i)} {(-e)} {(DQ (s/5.1/) ($ VSub_Name "$_i") (/))} 
                          {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i") (/config)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [163 207]
                )
              spids: [159 161]
            )
          ]
          spids: [115]
        )
      spids: [111 114]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: _i
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cd)} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i")})
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike "CFLAGS=") 
                            (DQ ($ VSub_Name "$CFLAGS") (" ") 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--cflags)} {(lua) ($ VSub_Name "$_i")})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [246 253]
                              )
                            )
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [228 263]
                )
              spids: [224 226]
            )
          ]
          spids: [216]
        )
      spids: [212 215]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: _i
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cd)} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i")})
                    (C {(make)} {(Lit_VarLike "PREFIX=") (DQ ($ VSub_Name "$pkgdir")) (/usr)} 
                      {(install)}
                    )
                  ]
                  spids: [284 307]
                )
              spids: [280 282]
            )
          ]
          spids: [272]
        )
      spids: [268 271]
    )
    (FuncDef
      name: _split
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:d) op:Equal rhs:{(SQ )} spids:[321])
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [323]
                )
              ]
              spids: [319]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Basic cryptographic facilities for Lua ") ($ VSub_Name "$_ver"))}
                  spids: [327]
                )
              ]
              spids: [327]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ (lua) ($ VSub_Name "$_ver") (" ") ($ VSub_Name "$pkgname") ("=") 
                        ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel")
                      )
                    }
                  spids: [334]
                )
              ]
              spids: [334]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[347])]
              spids: [347]
            )
            (ForEach
              iter_name: d
              iter_words: [{(usr/lib/lua)} {(usr/share/lua)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-d)} 
                                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$d") (/) 
                                    ($ VSub_Name "$_ver")
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$d")})
                            (AndOr
                              children: [
                                (C {(mv)} 
                                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$d") (/) 
                                    ($ VSub_Name "$_ver")
                                  } {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$d") (/)}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 381]
                        )
                      ]
                      spids: [-1 419]
                    )
                  ]
                  spids: [361 422]
                )
              spids: [355 359]
            )
          ]
          spids: [316]
        )
      spids: [312 315]
    )
    (ForEach
      iter_name: _i
      iter_words: [{($ VSub_Name "$_luaversions")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ (split_) 
                  (BracedVarSub
                    token: <VSub_Name _i>
                    suffix_op: 
                      (PatSub
                        pat: {(.)}
                        replace: {(_)}
                        do_all: False
                        do_prefix: False
                        do_suffix: False
                      )
                    spids: [443 449]
                  ) ("() { _split ") ($ VSub_Name "$_i") ("; }")
                )
              }
            )
          ]
          spids: [436 455]
        )
      spids: [432 434]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("c166f8a983401802a86655a8c733441e  lua-md5-1.2.tar.gz"))}
          spids: [458]
        )
      ]
      spids: [458]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"3c016da2cf0cfeb5dfdcf3bea82b64935c4faa6eec32ae164c48d870b4583ffa  lua-md5-1.2.tar.gz"
                )
              )
            }
          spids: [463]
        )
      ]
      spids: [463]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"1d0925351b4b774581f78147b7dd44df649eec2bc8397db991149feaf1f16c8f26d4b0fce6d8463be656115cebf605339ba8da851bc50d1ae1da8033d4ed564d  lua-md5-1.2.tar.gz"
                )
              )
            }
          spids: [468]
        )
      ]
      spids: [468]
    )
  ]
)