(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(twemproxy)} spids:[4])]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:akaname) op:Equal rhs:{(nutcracker)} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.4.1)} spids:[10])]
      spids: [10]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("A fast, light-weight proxy for memcached and redis"))}
          spids: [16]
        )
      ]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/twitter/twemproxy"))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[26])]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("ASL 2.0"))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("automake autoconf libtool yaml-dev"))}
          spids: [44]
        )
      ]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (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/twitter/twemproxy/archive/v") ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tnutcracker.initd\n") ("\tnutcracker.confd\n") 
                ("\tuse-system-libyaml.patch\n") ("\t")
              )
            }
          spids: [55]
        )
      ]
      spids: [55]
    )
    (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: [70]
        )
      ]
      spids: [70]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_logdir)
          op: Equal
          rhs: {(/var/log/) ($ VSub_Name "$akaname")}
          spids: [79]
        )
      ]
      spids: [79]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_rundir)
          op: Equal
          rhs: {(/var/run/) ($ VSub_Name "$akaname")}
          spids: [83]
        )
      ]
      spids: [83]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[97])]
              spids: [95]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$source")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name "$i")})
                              terminator: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [126 128 152 -1]
                        )
                      ]
                      spids: [119 123 155]
                    )
                  ]
                  spids: [116 158]
                )
              spids: [112 114]
            )
          ]
          spids: [92]
        )
      spids: [88 91]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (C {(autoreconf)} {(-vif)})
            (AndOr
              children: [
                (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} 
                  {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(make)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
              op_id: Op_DPipe
            )
          ]
          spids: [167]
        )
      spids: [163 166]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) 
                    ($ VSub_Name "$pkgver") (/conf/nutcracker.yml)
                  } {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$akaname") (/nutcracker.yml)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) 
                    ($ VSub_Name "$pkgver") (/conf/nutcracker.leaf.yml)
                  } {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$akaname") (/nutcracker.leaf.yml)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) 
                    ($ VSub_Name "$pkgver") (/conf/nutcracker.root.yml)
                  } {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$akaname") (/nutcracker.root.yml)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m755)} {(-D)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$akaname") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$akaname")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$akaname") (.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/) ($ VSub_Name "$akaname")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m0755)} {(-d)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_rundir")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m0755)} {(-d)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_logdir")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_docs)
                  op: Equal
                  rhs: {(DQ ("README.md NOTICE ChangeLog"))}
                  spids: [441]
                )
              ]
              spids: [441]
            )
            (ForEach
              iter_name: _doc
              iter_words: [{($ VSub_Name "$_docs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(install)} {(-m644)} {(-D)} 
                          {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) 
                            ($ VSub_Name "$pkgver") (/) ($ VSub_Name "$_doc")
                          } {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/) ($ VSub_Name "$akaname") (/) ($ VSub_Name "$_doc")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [456 492]
                )
              spids: [452 454]
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) 
                    ($ VSub_Name "$pkgver") (/LICENSE)
                  } {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$akaname") (/LICENSE)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [226]
        )
      spids: [222 225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("6b27455285f81e4335d00983076cf4b8  twemproxy-0.4.1.tar.gz\n") 
                ("531b2ded35c9f9e3c53388ceb9da9e9d  nutcracker.initd\n") ("5fcf33052bb7ddd286e58fcdef5335db  nutcracker.confd\n") 
                ("521837066110c2d0248c11620bf66e15  use-system-libyaml.patch")
              )
            }
          spids: [530]
        )
      ]
      spids: [530]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"00c2940f91947bea9457a348316aac1aa1d4e757238aafbefc9d51057da8ede0  twemproxy-0.4.1.tar.gz\n"
                ) ("f6531c2bbb085e70e4de4b51a01e4b2a6fe6cec41ba4924cc7ac56d51393fdfd  nutcracker.initd\n") 
                (
"ff28c0ffb1aa82e7bcd19c79f76cdb05641b4181f6668349fe9ed87044ce0d3e  nutcracker.confd\n"
                ) ("718fe0cf3a48f51f5b8a2b6ef8120068b1604c7588b33e5db27de8301e77fdf4  use-system-libyaml.patch")
              )
            }
          spids: [538]
        )
      ]
      spids: [538]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"581fae1d12feb983ed25b22cd6f597fd28b7070906ac29d3990669ae5c626a468914021cee152a6a2299a2838c838ad907e4c911b911ef04166ac7bbb2982da1  twemproxy-0.4.1.tar.gz\n"
                ) 
                (
"56bc051eac972cc1e4cfb334673f8e4c8a5f0855fb4f0b66e05a148855dae34870d949a5d19c111d072a0405b2014a334151ad9414a40fdc67e559ff37d68093  nutcracker.initd\n"
                ) 
                (
"e69e6d7b48a360b8b7b7ec7d7d46e2c736c4e30e6d6a22ed5b01d64ccb3ec701537545b2b6e5c1cbf2ba9f657f86e7a94686e3dc8a43dcba9688695717d62f12  nutcracker.confd\n"
                ) 
                (
"beadf407de53378bfe0ee12bbdf2315bde220a322aa13fc1993b487e1503f8825280408c500c902db683ee35b255e304acfe2cb011a6e9ffe02cdbfcfb1d2bf5  use-system-libyaml.patch"
                )
              )
            }
          spids: [546]
        )
      ]
      spids: [546]
    )
  ]
)