(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_luaversions)
          op: assign_op.Equal
          rhs: {(DQ <'5.1 5.2 5.3'>)}
          spids: [4]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<lua-hiredis>}
          spids: [10]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<0.2.1>}
          spids: [13]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<2>}
          spids: [16]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Binding to hiredis for Lua'>)}
          spids: [19]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://github.com/agladysh/lua-hiredis'>)}
          spids: [24]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [29]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <MIT>)}
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ <hiredis>)}
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$depends_dev') <' hiredis-dev'>)}
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [54]
        )
      ]
    )
    (command.ForEach
      iter_name: _v
      iter_words: [{($ Id.VSub_DollarName '$_luaversions')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:makedepends)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$makedepends') <' lua'> ($ Id.VSub_DollarName '$_v') 
                        <-dev>
                      )
                    }
                  spids: [71]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:subpackages)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$subpackages') <' lua'> ($ Id.VSub_DollarName '$_v') 
                        <-> 
                        (braced_var_sub
                          token: <Id.VSub_Name pkgname>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VOp1_Pound '#'>
                              arg_word: {<Id.Lit_Other '*'> <lua->}
                            )
                        ) <':split_'> 
                        (braced_var_sub
                          token: <Id.VSub_Name _v>
                          suffix_op: 
                            (suffix_op.PatSub
                              pat: {<.>}
                              replace: {<_>}
                              replace_mode: Id.Undefined_Tok
                            )
                        )
                      )
                    }
                  spids: [80]
                )
              ]
            )
            (C {<eval>} 
              {
                (DQ <split_> 
                  (braced_var_sub
                    token: <Id.VSub_Name _v>
                    suffix_op: 
                      (suffix_op.PatSub
                        pat: {<.>}
                        replace: {<_>}
                        replace_mode: Id.Undefined_Tok
                      )
                  ) <'() { _split '> ($ Id.VSub_DollarName '$_v') <'; }'>
                )
              }
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [122]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <lua-hiredis-> ($ Id.VSub_DollarName '$pkgver') 
                <'.tar.gz::https://github.com/agladysh/lua-hiredis/archive/v'> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz\n'> <'\t0002-lua-hiredis-master.patch\n'> 
                <'\t0003-lua-5-2-compatibility.patch\n'> <'\t0004-lua-5-3-compatibility.patch'>
              )
            }
          spids: [126]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_builddir)
          op: assign_op.Equal
          rhs: 
            {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/lua-hiredis-'> ($ Id.VSub_DollarName '$pkgver')}
          spids: [138]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<i>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.ForEach
              iter_name: i
              iter_words: [{($ Id.VSub_DollarName '$source')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.patch>}]
                          action: [
                            (command.Sentence
                              child: (C {<msg>} {($ Id.VSub_DollarName '$i')})
                              terminator: <Id.Op_Semi _>
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch>} {<-p1>} {<-i>} 
                                  {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> 
                                    ($ Id.VSub_DollarName '$i')
                                  }
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                            )
                          ]
                          spids: [183 185 209 -1]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ForEach
              iter_name: _v
              iter_words: [{($ Id.VSub_DollarName '$_luaversions')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<cp>} {<-r>} {($ Id.VSub_DollarName '$_builddir')} 
                      {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') 
                        <-> ($ Id.VSub_DollarName '$_v')
                      }
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: build
      body: (BraceGroup children:[(C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})])
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})]
        )
    )
    (command.ShFunction
      name: package
      body: (BraceGroup children:[(C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))})])
    )
    (command.ShFunction
      name: _split
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike '_ver='> (DQ ($ Id.VSub_Number '$1'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<cd>} 
                  {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <-> 
                    ($ Id.VSub_DollarName '$_ver')
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$pkgdesc') <' (Lua '> ($ Id.VSub_DollarName '$_ver') 
                        <')'>
                      )
                    }
                  spids: [334]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:install_if)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <lua> ($ Id.VSub_DollarName '$_ver') <' '> ($ Id.VSub_DollarName '$pkgname') 
                        <'='> ($ Id.VSub_DollarName '$pkgver') <-r> ($ Id.VSub_DollarName '$pkgrel')
                      )
                    }
                  spids: [343]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C 
                  {
                    (braced_var_sub
                      token: <Id.VSub_Name CC>
                      suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<gcc>})
                    )
                  } {<'src/lua-hiredis.c'>} {(${ Id.VSub_Name CFLAGS)} {<-shared>} {<-fPIC>} 
                  {
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (C {<pkg-config>} {<--cflags>} {<hiredis>} {<lua> ($ Id.VSub_DollarName '$_ver')})
                    )
                  } 
                  {
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (C {<pkg-config>} {<--libs>} {<hiredis>} {<lua> ($ Id.VSub_DollarName '$_ver')})
                    )
                  } {<'-I/usr/include/lua'> ($ Id.VSub_DollarName '$_ver')} {<'-I/usr/include/hiredis'>} {<-o>} 
                  {<hiredis.so>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<install>} {<-Dm755>} {<hiredis.so>} 
                  {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/lib/lua/'> 
                    ($ Id.VSub_DollarName '$_ver') <'/hiredis.so'>
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'b53eea8b51ddfbfa4592e7a3bb004416edd6240a860656ec809b603349357d3e754a2b5f2a92cb33d0a46259beae86f1c99981e848193f112888982d97cb94b7  lua-hiredis-0.2.1.tar.gz\n'
                > 
                <
'0017a218a126e0b96a5cc4126a0b8dc7600ef6029af24f3ca685e46cabade03d25a3c318b3d80c907785f2f2abc7dfb2c9a047e6a7c53e082ab682a3ac5ca18b  0002-lua-hiredis-master.patch\n'
                > 
                <
'9cf63994de040d8818c3db3053d506244e7a4a647ae71609533b5c889517d6addf01dde185f83d7472f4580dea4d26dce69e5e5ad86ca7c70343eaffe0d7e137  0003-lua-5-2-compatibility.patch\n'
                > 
                <
'5603ee2e6566e79c6760160082cc3fa87b44a0dc34c10932bfddcb04375c78f280742e91a343185931da8d241753c2c3e0e3514f48f1347eed8b0ee711865f1b  0004-lua-5-3-compatibility.patch'
                >
              )
            }
          spids: [442]
        )
      ]
    )
  ]
)