(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:{(lustache)} spids:[8])]
      spids: [8]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(lua-) ($ VSub_Name '$_pkgname')}
          spids: [11]
        )
      ]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.3.1)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_pkgver)
          op: Equal
          rhs: {($ VSub_Name '$pkgver') (-0)}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[22])]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Logic-less {{mustache}} templates with Lua'))}
          spids: [25]
        )
      ]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://olivinelabs.com/lustache/'))}
          spids: [30]
        )
      ]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[49])]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$pkgname') (-common))}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (ForEach
      iter_name: _v
      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 '$_v') (-dev))}
                  spids: [71]
                )
              ]
              spids: [71]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpackages') (' lua') ($ VSub_Name '$_v') (-) 
                        (BracedVarSub
                          token: <VSub_Name pkgname>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(lua-)})
                          spids: [86 90]
                        ) (':_package')
                      )
                    }
                  spids: [80]
                )
              ]
              spids: [80]
            )
          ]
          spids: [68 94]
        )
      spids: [64 66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$pkgver') 
                ('.tar.gz::https://github.com/Olivine-Labs/') ($ VSub_Name '$_pkgname') (/archive/v) ($ VSub_Name '$_pkgver') (.tar.gz)
              )
            }
          spids: [96]
        )
      ]
      spids: [96]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: 
            {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$_pkgname') (-) ($ VSub_Name '$_pkgver'))}
          spids: [108]
        )
      ]
      spids: [108]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir'))})] spids:[122])
      spids: [118 121]
    )
    (FuncDef
      name: common
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(mkdir)} {(-p)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/lua/common/) ($ VSub_Name '$_pkgname')}
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(src/lustache/) (Lit_Other '*') (.lua)} 
                  {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/lua/common/) ($ VSub_Name '$_pkgname') 
                    (/)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(install)} {(-m644)} {(src/lustache.lua)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/lua/common/)}
            )
          ]
          spids: [140]
        )
      spids: [136 139]
    )
    (FuncDef
      name: _package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 3)})
                              length: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [213 219]
                        )
                      )
                    }
                  spids: [211]
                )
              ]
              spids: [209]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgdesc') (' ') ($ VSub_Name '$lver'))}
                  spids: [223]
                )
              ]
              spids: [223]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgname') ('-common lua') ($ VSub_Name '$lver'))}
                  spids: [231]
                )
              ]
              spids: [231]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$pkgname') ('=') ($ VSub_Name '$pkgver') (-r) 
                        ($ VSub_Name '$pkgrel') (' lua') ($ VSub_Name '$lver')
                      )
                    }
                  spids: [239]
                )
              ]
              spids: [239]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rockdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpkgdir') (/usr/lib/luarocks/rocks-) ($ VSub_Name '$lver') 
                        (/) ($ VSub_Name '$_pkgname') (/) ($ VSub_Name '$_pkgver')
                      )
                    }
                  spids: [253]
                )
              ]
              spids: [251]
            )
            (C {(mkdir)} {(-p)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/lua/) ($ VSub_Name '$lver')}
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:path) op:Equal spids:[279])]
                  spids: [277]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: path
              iter_words: [{(lustache)} {(lustache.lua)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(ln)} {(-s)} {(../common/) ($ VSub_Name '$path')} 
                          {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/lua/) ($ VSub_Name '$lver') (/) 
                            ($ VSub_Name '$path')
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [293 320]
                )
              spids: [287 291]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$rockdir'))})
            (SimpleCommand
              words: [{(echo)} {(SQ <'rock_manifest = {}'>)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$rockdir')) (/rock_manifest)}
                  spids: [339]
                )
              ]
            )
          ]
          spids: [206]
        )
      spids: [202 205]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ('e4416abe1a822c1b2d4b3a9e702d5795  lua-lustache-1.3.1.tar.gz'))}
          spids: [349]
        )
      ]
      spids: [349]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'540bd5e1f6d32aa44d5be946d1772910fb73b62fa909ca5a026c115ece4170f0  lua-lustache-1.3.1.tar.gz'
                )
              )
            }
          spids: [354]
        )
      ]
      spids: [354]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'f1ba0bdd38e60957df1995f32a73a16d1b430072af4e14cce530345c74d542021223c0ef41b0f997f88d762bb194fff7119701cd289e16e3e38dfe3f10d0d9d8  lua-lustache-1.3.1.tar.gz'
                )
              )
            }
          spids: [359]
        )
      ]
      spids: [359]
    )
  ]
)