(command.CommandList
  children: [
    (command.ShFunction
      name: main
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:desc)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [20]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:comment)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [23]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:debug)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [26]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:uclsource)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [29]
                )
              ]
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: (C {<getopts>} {(DQ <'do:s:u:'>)} {<arg>})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {(${ Id.VSub_Name arg)}
                      arms: [
                        (case_arm
                          pat_list: [{<d>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:debug)
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [59]
                                )
                              ]
                            )
                          ]
                          spids: [55 56 63 -1]
                        )
                        (case_arm
                          pat_list: [{<o>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:outname)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                                  spids: [70]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:origname)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                                  spids: [78]
                                )
                              ]
                            )
                          ]
                          spids: [66 67 86 -1]
                        )
                        (case_arm
                          pat_list: [{<s>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:srctree)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                                  spids: [93]
                                )
                              ]
                            )
                          ]
                          spids: [89 90 101 -1]
                        )
                        (case_arm
                          pat_list: [{<u>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:uclfile)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                                  spids: [108]
                                )
                              ]
                            )
                          ]
                          spids: [104 105 116 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [(C {<echo>} {(DQ <'Unknown argument'>)})]
                          spids: [119 120 130 -1]
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<shift>} 
              {
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Minus
                      left: {(${ Id.VSub_Name OPTIND)}
                      right: {<Id.Lit_Digits 1>}
                    )
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:outname)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {(${ Id.VSub_Name outname)})
                                (C {<tr>} {(SQ <->)} {(SQ <_>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [157]
                )
              ]
            )
            (command.Case
              to_match: {(DQ (${ Id.VSub_Name outname))}
              arms: [
                (case_arm
                  pat_list: [{<runtime>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: {(DQ <runtime>)}
                          spids: [197]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:uclfile)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name uclfile))}
                          spids: [203]
                        )
                      ]
                    )
                  ]
                  spids: [193 194 211 -1]
                )
                (case_arm
                  pat_list: [{<runtime_manuals>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name origname))}
                          spids: [218]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ <runtime>)}
                          spids: [226]
                        )
                      ]
                    )
                  ]
                  spids: [214 215 232 -1]
                )
                (case_arm
                  pat_list: [{<runtime_> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name origname))}
                          spids: [240]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:uclfile)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPound '##'>
                                      arg_word: {<Id.Lit_Other '*'>}
                                    )
                                ) (${ Id.VSub_Name uclfile)
                              )
                            }
                          spids: [248]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ <runtime>)}
                          spids: [261]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} 
                                      {<-f>} {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_DESCR>}
                                    )
                                )
                              )
                            }
                          spids: [267]
                        )
                      ]
                    )
                  ]
                  spids: [235 237 293 -1]
                )
                (case_arm
                  pat_list: [{<jail_> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name origname))}
                          spids: [301]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:uclfile)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPound '##'>
                                      arg_word: {<Id.Lit_Other '*'>}
                                    )
                                ) (${ Id.VSub_Name uclfile)
                              )
                            }
                          spids: [309]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ <runtime>)}
                          spids: [322]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} 
                                      {<-f>} {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_DESCR>}
                                    )
                                )
                              )
                            }
                          spids: [328]
                        )
                      ]
                    )
                  ]
                  spids: [296 298 354 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_lib32_development>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_lib32_development>}
                                    )
                                )
                              )
                            }
                          spids: [362]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'32-bit Libraries, Development Files'>)}
                          spids: [372]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [378]
                        )
                      ]
                    )
                  ]
                  spids: [357 359 386 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_lib32_debug>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_lib32_debug>}
                                    )
                                )
                              )
                            }
                          spids: [394]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'32-bit Libraries, Debugging Symbols'>)}
                          spids: [404]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [410]
                        )
                      ]
                    )
                  ]
                  spids: [389 391 418 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_lib32_profile>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_lib32_profile>}
                                    )
                                )
                              )
                            }
                          spids: [426]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'32-bit Libraries, Profiling'>)}
                          spids: [436]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [442]
                        )
                      ]
                    )
                  ]
                  spids: [421 423 450 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_lib32>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_lib32>}
                                    )
                                )
                              )
                            }
                          spids: [458]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'32-bit Libraries'>)}
                          spids: [468]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [474]
                        )
                      ]
                    )
                  ]
                  spids: [453 455 482 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_development>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_development>}
                                    )
                                )
                              )
                            }
                          spids: [490]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'Development Files'>)}
                          spids: [500]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [506]
                        )
                      ]
                    )
                  ]
                  spids: [485 487 514 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_profile>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_profile>}
                                    )
                                )
                              )
                            }
                          spids: [522]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'Profiling Libraries'>)}
                          spids: [532]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [538]
                        )
                      ]
                    )
                  ]
                  spids: [517 519 546 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <_debug>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPercent '%%'>
                                      arg_word: {<_debug>}
                                    )
                                )
                              )
                            }
                          spids: [554]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_descr)
                          op: assign_op.Equal
                          rhs: {(DQ <'Debugging Symbols'>)}
                          spids: [564]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name outname))}
                          spids: [570]
                        )
                      ]
                    )
                  ]
                  spids: [549 551 578 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name origname)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:pkgdeps)
                          op: assign_op.Equal
                          rhs: {(DQ <runtime>)}
                          spids: [587]
                        )
                      ]
                    )
                  ]
                  spids: [581 584 593 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:uclfile)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPound '##'>
                                      arg_word: {<Id.Lit_Other '*'>}
                                    )
                                ) (${ Id.VSub_Name origname)
                              )
                            }
                          spids: [600]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:outname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name outname>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VOp1_DPound '##'>
                                      arg_word: {<Id.Lit_Other '*'>}
                                    )
                                ) (${ Id.VSub_Name origname)
                              )
                            }
                          spids: [613]
                        )
                      ]
                    )
                  ]
                  spids: [596 597 626 -1]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:outname)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (braced_var_sub
                          token: <Id.VSub_Name outname>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VOp1_DPercent '%%'>
                              arg_word: {<_> <Id.Lit_Other '*'>}
                            )
                        )
                      )
                    }
                  spids: [633]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:desc)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} {<-f>} 
                              {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_DESC>}
                            )
                        )
                      )
                    }
                  spids: [645]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:comment)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} {<-f>} 
                              {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_COMMENT>}
                            )
                        )
                      )
                    }
                  spids: [671]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:uclsource)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name srctree) <'/release/packages/'> (${ Id.VSub_Name outname) 
                        <.ucl>
                      )
                    }
                  spids: [698]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                              {(DQ (${ Id.VSub_Name uclsource))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:uclsource)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name srctree) <'/release/packages/template.ucl'>)}
                          spids: [731]
                        )
                      ]
                    )
                  ]
                  spids: [711 728]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                              {(DQ (${ Id.VSub_Name debug))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ )})
                    (C {<echo>} 
                      {(DQ <'==============================================================='>)}
                    )
                    (C {<echo>} {(DQ <'DEBUG:'>)})
                    (C {<echo>} {(DQ <'_descr='> (${ Id.VSub_Name _descr))})
                    (C {<echo>} {(DQ <'outname='> (${ Id.VSub_Name outname))})
                    (C {<echo>} {(DQ <'origname='> (${ Id.VSub_Name origname))})
                    (C {<echo>} {(DQ <'srctree='> (${ Id.VSub_Name srctree))})
                    (C {<echo>} {(DQ <'uclfile='> (${ Id.VSub_Name uclfile))})
                    (C {<echo>} {(DQ <'desc='> (${ Id.VSub_Name desc))})
                    (C {<echo>} {(DQ <'comment='> (${ Id.VSub_Name comment))})
                    (C {<echo>} 
                      {(DQ <'cp '> (${ Id.VSub_Name uclsource) <' -> '> (${ Id.VSub_Name uclfile))}
                    )
                    (C {<echo>} 
                      {(DQ <'==============================================================='>)}
                    )
                    (C {<echo>} {(DQ )})
                    (C {<echo>} {(DQ )})
                    (C {<echo>} {(DQ )})
                  ]
                  spids: [744 761]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name comment))} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:comment)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Name outname) <' package'>)}
                      spids: [911]
                    )
                  ]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ (${ Id.VSub_Name _descr))} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:comment)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Name comment) <' ('> (${ Id.VSub_Name _descr) <')'>)}
                      spids: [936]
                    )
                  ]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name desc))} {<Id.Lit_RBracket ']'>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:desc)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Name outname) <' package'>)}
                      spids: [963]
                    )
                  ]
                )
              ]
            )
            (C {<cp>} {(DQ (${ Id.VSub_Name uclsource))} {(DQ (${ Id.VSub_Name uclfile))})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:cap_arg)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/etc'>} {<-VCAP_MKDB_ENDIAN>})
                        )
                      )
                    }
                  spids: [988]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pwd_arg)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/etc'>} {<-VPWD_MKDB_ENDIAN>})
                        )
                      )
                    }
                  spids: [1005]
                )
              ]
            )
            (C {<sed>} {<-i>} {(SQ )} {<-e>} {(DQ <'s/%VERSION%/'> (${ Id.VSub_Name PKG_VERSION) <'/'>)} 
              {<-e>} {(DQ <'s/%PKGNAME%/'> (${ Id.VSub_Name origname) <'/'>)} {<-e>} 
              {(DQ <'s/%COMMENT%/'> (${ Id.VSub_Name comment) <'/'>)} {<-e>} {(DQ <'s/%DESC%/'> (${ Id.VSub_Name desc) <'/'>)} {<-e>} 
              {(DQ <'s/%CAP_MKDB_ENDIAN%/'> (${ Id.VSub_Name cap_arg) <'/g'>)} {<-e>} {(DQ <'s/%PWD_MKDB_ENDIAN%/'> (${ Id.VSub_Name pwd_arg) <'/g'>)} {<-e>} 
              {(DQ <'s/%PKGDEPS%/'> (${ Id.VSub_Name pkgdeps) <'/'>)} {(${ Id.VSub_Name uclfile)}
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
    (C {<main>} {(DQ (${ Id.VSub_At '@'))})
  ]
)