(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgname='> name:pkgname)
          op: assign_op.Equal
          rhs: {<csync>}
          spids: [3]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgver='> name:pkgver)
          op: assign_op.Equal
          rhs: {<0.50.0>}
          spids: [6]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgrel='> name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [9]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgdesc='> name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'a client only bidirectional file synchronizer'>)}
          spids: [12]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'url='> name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://www.csync.org/'>)}
          spids: [17]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [22]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'license='> name:license)
          op: assign_op.Equal
          rhs: {(DQ <GPL>)}
          spids: [27]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'depends='> name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [32]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'depends_dev='> name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [36]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'makedepends='> name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName depends_dev) 
                <' check-dev samba-dev libssh-dev cmake sqlite-dev\n'> <'\tiniparser-dev neon-dev'>
              )
            }
          spids: [40]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'install='> name:install)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [47]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'subpackages='> name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'\t'> ($ Id.VSub_DollarName pkgname) <'-dev\n'> <'\t'> 
                ($ Id.VSub_DollarName pkgname) <'-doc\n'> <'\t'> ($ Id.VSub_DollarName pkgname) <'-sftp:_plugin\n'> <'\t'> ($ Id.VSub_DollarName pkgname) 
                <'-smb:_plugin\n'> <'\t'> ($ Id.VSub_DollarName pkgname) <'-owncloud:_plugin'>
              )
            }
          spids: [51]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'source='> name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'https://open.cryptomilk.org/attachments/download/27/csync-'> 
                ($ Id.VSub_DollarName pkgver) <'.tar.xz\n'> <'\ticonv.patch\n'> <'\tgcc-fixes.patch'>
              )
            }
          spids: [71]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_builddir='> name:_builddir)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName srcdir)) <'/csync-'> ($ Id.VSub_DollarName pkgver)}
          spids: [81]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<i>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName _builddir))})
            (command.ForEach
              iter_names: [i]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName source)}])
              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: [126 128 152 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName _builddir))})
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [(C {<mkdir>} {<build>}) (C {<cd>} {<build>})]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<cmake>} {<-DCMAKE_INSTALL_PREFIX> <Id.Lit_Equals '='> <'/usr'>} 
                  {<-DCMAKE_BUILD_TYPE> <Id.Lit_Equals '='> <Release>} {<..>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName _builddir)) <'/build'>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<install>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName pkgdir))})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: _plugin
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike '_name='> 
                (DQ 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name subpkgname>
                    var_name: subpkgname
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VOp1_DPound '##'>
                        arg_word: {<Id.Lit_Other '*'> <->}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgdesc='> name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'csync '> ($ Id.VSub_Number 1) <' plugin'>)}
                  spids: [278]
                )
              ]
              redirects: []
            )
            (C {<local>} {<i>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName pkgdir))})
            (command.ForEach
              iter_names: [i]
              iterable: 
                (for_iter.Words
                  words: [
                    {<'usr/lib/csync'> <Id.Lit_Star '*'> <'/csync_'> (${ Id.VSub_Name _name) <.so>}
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName subpkgdir)) <'/'> 
                        (braced_var_sub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name i>
                          var_name: i
                          suffix_op: 
                            (suffix_op.Unary
                              op: <Id.VOp1_Percent '%'>
                              arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                            )
                          right: <Id.Right_DollarBrace '}'>
                        )
                      }
                    )
                    (C {<mv>} {($ Id.VSub_DollarName i)} 
                      {(DQ ($ Id.VSub_DollarName subpkgdir)) <'/'> 
                        (braced_var_sub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name i>
                          var_name: i
                          suffix_op: 
                            (suffix_op.Unary
                              op: <Id.VOp1_Percent '%'>
                              arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                            )
                          right: <Id.Right_DollarBrace '}'>
                        )
                      }
                    )
                  ]
                )
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md5sums='> name:md5sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'4f022aaa19ecd8008b03876dd65a9df2  csync-0.50.0.tar.xz\n'> 
                <'166e828bf574dbfc1857b04985ec699b  iconv.patch\n'> <'70a120f5f913fb44f66844734e200131  gcc-fixes.patch'>
              )
            }
          spids: [354]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sha256sums='> name:sha256sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'c07526942a93c1e213d354dc45fd61fbc0430c60e109e7a2f0fcaf6213a45c86  csync-0.50.0.tar.xz\n'
                > <'1a64b9ad6bc8c79b16ae8f6eb31ca2d3e124132e8130b908925d60ddc0eea98c  iconv.patch\n'> 
                <
'1bb262390c687780dc65adb36f0c89c7c04d3db235d69d1cae9280c8c6029cae  gcc-fixes.patch'
                >
              )
            }
          spids: [361]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sha512sums='> name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'babe44af3a4f0bf58e011f1c33c7a6df9bc7751e03714dd64d8269c7c51bcc7f2ab32c4d286e5a11465c9498c988d1812c426a4f415f1138a4fb9fa341e1e29a  csync-0.50.0.tar.xz\n'
                > 
                <
'fc124966d7b7405cc3d3bc1276180089dc44058bc89afa799c0d9378f4dc131e9382b96357fff5964c9b009cb77455f125b63557a32ca5eaa31e01cbd2f7a694  iconv.patch\n'
                > 
                <
'88290d1dfbfeb775d89f4fbd20b9909a3fe5896ae85496eb53a0bd78162427ba7d910852ffb1887dcf380ad89e46c909d29e0a54f020c3ea92e613ac860b1b99  gcc-fixes.patch'
                >
              )
            }
          spids: [368]
        )
      ]
      redirects: []
    )
  ]
)