(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TAG)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-p)})])
                left_token: <Left_Backtick '`'>
                spids: [5 9]
              ) (-) 
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-r)})])
                left_token: <Left_Backtick '`'>
                spids: [11 15]
              ) (.) 
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-v)})])
                left_token: <Left_Backtick '`'>
                spids: [17 21]
              )
            }
          spids: [4]
        )
      ]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PACKDIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-p)})])
                left_token: <Left_Backtick '`'>
                spids: [24 28]
              ) (/) 
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-r)})])
                left_token: <Left_Backtick '`'>
                spids: [30 34]
              ) (.) 
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-v)})])
                left_token: <Left_Backtick '`'>
                spids: [36 40]
              )
            }
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RC) op:Equal rhs:{(/usr/etc/rc.package)} spids:[42])]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CDDIR) op:Equal rhs:{(PACKAGES)} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CDMP) op:Equal rhs:{(/mnt)} spids:[48])]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CDPACK)
          op: Equal
          rhs: {(${ VSub_Name CDMP) (/install/packages)}
          spids: [51]
        )
      ]
      spids: [51]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CDSRC)
          op: Equal
          rhs: {(${ VSub_Name CDMP) (/install/package-sources)}
          spids: [57]
        )
      ]
      spids: [57]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SRC) op:Equal rhs:{(/usr/bigsrc)} spids:[63])]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LISTFILE)
          op: Equal
          rhs: {(/etc/packages-) ($ VSub_Name '$TAG')}
          spids: [66]
        )
      ]
      spids: [66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LISTURL)
          op: Equal
          rhs: {(http) (Lit_Other ':') (//www.minix3.org/packages/) ($ VSub_Name '$PACKDIR') (/List)}
          spids: [70]
        )
      ]
      spids: [70]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TMPDIR) op:Equal rhs:{(/usr/tmp/packages)} spids:[77])]
      spids: [77]
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name '$TMPDIR')})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:URL1)
          op: Equal
          rhs: {(http) (Lit_Other ':') (//www.minix3.org/packages/) ($ VSub_Name '$PACKDIR')}
          spids: [86]
        )
      ]
      spids: [86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SRCURL1)
          op: Equal
          rhs: {(http) (Lit_Other ':') (//www.minix3.org/software)}
          spids: [92]
        )
      ]
      spids: [92]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PATH)
          op: Equal
          rhs: {(/bin) (Lit_Other ':') (/sbin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') (/usr/sbin)}
          spids: [97]
        )
      ]
      spids: [97]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pack) op:Equal rhs:{(DQ )} spids:[106])]
      spids: [106]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cdpackages) op:Equal rhs:{(DQ )} spids:[110])]
      spids: [110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:netpackages) op:Equal rhs:{(DQ )} spids:[114])]
      spids: [114]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cdmounted) op:Equal rhs:{(DQ )} spids:[118])]
      spids: [118]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$PAGER'))} {(Lit_Other ']')})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:PAGER) op:Equal rhs:{(more)} spids:[137])]
              spids: [137]
            )
          ]
          spids: [16777215 135]
        )
      ]
      spids: [16777215 140]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(-y)} {(Lit_Other ']')})
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:YESMODE) op:Equal rhs:{(1)} spids:[159])]
              spids: [159]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:PAGER) op:Equal rhs:{(cat)} spids:[163])]
              spids: [163]
            )
          ]
          spids: [16777215 157]
        )
      ]
      spids: [16777215 166]
    )
    (FuncDef
      name: myread
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Name '$YESMODE'))} {(Lit_Other ']')})]
                  action: [(C {(echo)} {(DQ (all))})]
                  spids: [16777215 187]
                )
              ]
              else_action: [(C {(read)} {(ans)}) (C {(echo)} {($ VSub_Name '$ans')})]
              spids: [196 208]
            )
          ]
          spids: [173]
        )
      spids: [169 172]
    )
    (FuncDef
      name: myexit
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$cdmounted'))} {(-a)} {(-n)} 
                      {(DQ ($ VSub_Name '$pack'))} {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [(C {(umount)} {($ VSub_Name '$pack')}) (C {(true)})]
                    )
                  ]
                  spids: [16777215 241]
                )
              ]
              spids: [16777215 253]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Number '$1')})
          ]
          spids: [217]
        )
      spids: [213 216]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(bunzip2)} {(--help)}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[273])]
                )
                (SimpleCommand
                  words: [{(grep)} {(usage)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [282]
                    )
                  ]
                )
              ]
              negated: F
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:BUNZIP2) op:Equal rhs:{(bunzip2)} spids:[287])]
              spids: [287]
            )
          ]
          spids: [16777215 285]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BUNZIP2) op:Equal rhs:{(smallbunzip2)} spids:[293])]
          spids: [293]
        )
      ]
      spids: [291 296]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Pipeline
              children: [
                (C {(id)})
                (SimpleCommand
                  words: [{(fgrep)} {(DQ ('uid=0('))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [311]
                    )
                  ]
                )
              ]
              negated: F
            )
          ]
          action: [(C {(Lit_Other ':')})]
          spids: [16777215 314]
        )
      ]
      else_action: [
        (C {(echo)} {(DQ ('Please run ') ($ VSub_Number '$0') (' as root.'))})
        (C {(myexit)} {(1)})
      ]
      spids: [318 333]
    )
    (C {(chmod)} {(700)} {($ VSub_Name '$TMPDIR')})
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$RC'))} {(Lit_Other ']')})]
          action: [(C {(.)} {(DQ ($ VSub_Name '$RC'))})]
          spids: [16777215 355]
        )
      ]
      spids: [16777215 363]
    )
    (C {(cd)} {(/)})
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$SRC'))} {(Lit_Other ']')})
          ]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [(C {(mkdir)} {($ VSub_Name '$SRC')}) (C {(myexit)} {(1)})]
            )
          ]
          spids: [16777215 388]
        )
      ]
      spids: [16777215 400]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$cddrive'))} {(Lit_Other ']')})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pack)
                  op: Equal
                  rhs: {(${ VSub_Name cddrive) (p2)}
                  spids: [420]
                )
              ]
              spids: [420]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(umount)} {($ VSub_Name '$pack')}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [431]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[434])
                  ]
                )
                (C {(true)})
              ]
            )
            (C {(echo)} {(DQ ('Checking for CD in ') ($ VSub_Name '$pack') (.))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (SimpleCommand
                      words: [{(mount)} {(-r)} {($ VSub_Name '$pack')} {($ VSub_Name '$CDMP')}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[461])]
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fn)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$CDPACK') (/List))}
                          spids: [467]
                        )
                      ]
                      spids: [467]
                    )
                    (C {(echo)} {(DQ (Found.))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cdmounted)
                          op: Equal
                          rhs: {(1)}
                          spids: [481]
                        )
                      ]
                      spids: [481]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cdpackages)
                          op: Equal
                          rhs: {($ VSub_Name '$fn')}
                          spids: [485]
                        )
                      ]
                      spids: [485]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$cdpackages')} 
                              {(Lit_Other ']')}
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cdpackages)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [504]
                                )
                              ]
                              spids: [504]
                            )
                            (C {(echo)} 
                              {(DQ ('No package list found on CD in ') ($ VSub_Name '$fn') (.))}
                            )
                          ]
                          spids: [16777215 502]
                        )
                      ]
                      spids: [16777215 518]
                    )
                  ]
                  spids: [16777215 465]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('Not found.'))})]
              spids: [521 530]
            )
          ]
          spids: [16777215 418]
        )
      ]
      else_action: [
        (C {(echo)} 
          {(DQ ("Don't know where the install CD is. You can set it in ") ($ VSub_Name '$RC') (.))}
        )
      ]
      spids: [532 542]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMPF)
          op: Equal
          rhs: {($ VSub_Name '$TMPDIR') (/.list.) ($ VSub_Dollar '$$')}
          spids: [545]
        )
      ]
      spids: [545]
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$TMPF')})
    (C {(rm)} {(-f)} {($ VSub_Name '$TMPDIR') (/.) (Lit_Other '*')})
    (If
      arms: [
        (if_arm
          cond: [
            (Subshell
              child: 
                (SimpleCommand
                  words: [{(Lit_Other ':')}]
                  redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/tcp)} spids:[577])]
                )
              redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[582])]
              spids: [573 580]
            )
          ]
          action: [
            (C {(echo)} {(-n)} {(DQ ('Update package list from network? (Y/n) '))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:y)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(myread)})])
                        left_token: <Left_Backtick '`'>
                        spids: [597 599]
                      )
                    }
                  spids: [596]
                )
              ]
              spids: [596]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$y'))} {(KW_Bang '!') (Lit_Other '=')} {(n)} 
                      {(-a)} {(DQ ($ VSub_Name '$y'))} {(KW_Bang '!') (Lit_Other '=')} {(N)} {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Fetching package list from ') ($ VSub_Name '$LISTURL') (.))})
                    (AndOr
                      ops: [Op_DAmp Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(urlget)} {($ VSub_Name '$LISTURL')}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {($ VSub_Name '$TMPF')}
                              spids: [644]
                            )
                          ]
                        )
                        (C {(mv)} {($ VSub_Name '$TMPF')} {($ VSub_Name '$LISTFILE')})
                        (C {(echo)} {(DQ ('Update not successful.'))})
                      ]
                    )
                  ]
                  spids: [16777215 629]
                )
              ]
              spids: [16777215 664]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:netpackages)
                  op: Equal
                  rhs: {($ VSub_Name '$LISTFILE')}
                  spids: [667]
                )
              ]
              spids: [667]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$netpackages'))} {(-o)} 
                      {(KW_Bang '!')} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (SimpleCommand
                                      words: [{(cat)} {(DQ ($ VSub_Name '$netpackages'))}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [694]
                                        )
                                      ]
                                    )
                                    (C {(wc)} {(-l)})
                                    (C {(awk)} {(SQ <'{ print $1 }'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [687 710]
                        )
                      } {(-gt)} {(1)} {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:netpackages)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [721]
                        )
                      ]
                      spids: [721]
                    )
                  ]
                  spids: [16777215 719]
                )
              ]
              spids: [16777215 726]
            )
          ]
          spids: [16777215 585]
        )
      ]
      else_action: [(C {(echo)} {(DQ ('No working network detected.'))})]
      spids: [728 736]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-n)} {(DQ ($ VSub_Name '$netpackages'))} {(-a)} 
              {(KW_Bang '!')} {(-n)} {(DQ ($ VSub_Name '$cdpackages'))} {(Lit_Other ']')}
            )
          ]
          action: [(C {(echo)} {(DQ ('No packages found.'))}) (C {(myexit)} {(1)})]
          spids: [16777215 766]
        )
      ]
      spids: [16777215 779]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$netpackages'))} {(-a)} {(-n)} 
              {(DQ ($ VSub_Name '$cdpackages'))} {(Lit_Other ']')}
            )
          ]
          action: [
            (C {(echo)} {(-n)} {(DQ ('Would you like to install from (C)D or (N)etwork? [C] '))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whichsrc)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(myread)})])
                        left_token: <Left_Backtick '`'>
                        spids: [817 819]
                      )
                    }
                  spids: [816]
                )
              ]
              spids: [816]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$whichsrc'))} {(Lit_Other '=')} {(N)} {(-o)} 
                      {(DQ ($ VSub_Name '$whichsrc'))} {(Lit_Other '=')} {(n)} {(Lit_Other ']')}
                    )
                  ]
                  action: [(C {(unset)} {(cdpackages)})]
                  spids: [16777215 847]
                )
              ]
              else_action: [(C {(unset)} {(netpackages)})]
              spids: [854 861]
            )
          ]
          spids: [16777215 805]
        )
      ]
      spids: [16777215 863]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$netpackages'))} {(Lit_Other ']')})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:source) op:Equal rhs:{(net)} spids:[880])]
              spids: [880]
            )
          ]
          spids: [16777215 878]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:source) op:Equal rhs:{(cdrom)} spids:[885])]
          spids: [885]
        )
      ]
      spids: [883 888]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cont) op:Equal rhs:{(y)} spids:[891])]
      spids: [891]
    )
    (While
      cond: [
        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$cont'))} {(Lit_Other '=')} {(y)} {(Lit_Other ']')})
      ]
      body: 
        (DoGroup
          children: [
            (C {(cd)} {($ VSub_Name '$TMPDIR')})
            (C {(echo)} {(DQ )})
            (C {(echo)} 
              {
                (DQ ('Showing you a list of packages using ') ($ VSub_Name '$PAGER') ('. Press q when'))
              }
            )
            (C {(echo)} {(DQ ('you want to leave the list.'))})
            (C {(echo)} {(-n)} {(DQ ('Press RETURN to continue..'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xyzzy)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(myread)})])
                        left_token: <Left_Backtick '`'>
                        spids: [947 949]
                      )
                    }
                  spids: [946]
                )
              ]
              spids: [946]
            )
            (C {(echo)} {(DQ ('Package list:'))})
            (Subshell
              child: 
                (CommandList
                  children: [
                    (C {(echo)} {(DQ ('No.|Package|Description'))})
                    (Pipeline
                      children: [
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$netpackages'))} 
                                          {(-a)} {(DQ ($ VSub_Name '$source'))} {(Lit_Other '=')} {(net)} {(Lit_Other ']')}
                                        )
                                      ]
                                      action: [(C {(cat)} {($ VSub_Name '$netpackages')})]
                                      spids: [16777215 994]
                                    )
                                  ]
                                  spids: [16777215 1001]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$cdpackages'))} 
                                          {(-a)} {(DQ ($ VSub_Name '$source'))} {(Lit_Other '=')} {(cdrom)} {(Lit_Other ']')}
                                        )
                                      ]
                                      action: [(C {(cat)} {($ VSub_Name '$cdpackages')})]
                                      spids: [16777215 1027]
                                    )
                                  ]
                                  spids: [16777215 1034]
                                )
                              ]
                            )
                          spids: [968 1037]
                        )
                        (C {(sort)} {(-f)} {(-t) (SQ <'|'>)} {(Lit_Other '+') (0)})
                        (C {(awk)} {(SQ <'{ n++; printf "%d|%s\\n", n, $0 }'>)})
                      ]
                      negated: F
                    )
                  ]
                )
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$TMPF')}
                  spids: [1065]
                )
              ]
              spids: [959 1063]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:highest)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(wc)} {(-l)} {($ VSub_Name '$TMPF')})
                                    (C {(awk)} {(SQ <'{ print $1 - 1 }'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [1071 1085]
                        )
                      )
                    }
                  spids: [1069]
                )
              ]
              spids: [1069]
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(awk)} {(-F) (SQ <'|'>)} {(SQ <'{ printf "%3s %-15s %s\\n", $1, $2, $3 }'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {($ VSub_Name '$TMPF')}
                      spids: [1096]
                    )
                  ]
                )
                (C {($ VSub_Name '$PAGER')})
              ]
              negated: F
            )
            (C {(echo)} {(DQ ("Format examples: '3', '3,6', '3-9', '3-9,11-15', 'all'"))})
            (C {(echo)} {(-n)} {(DQ ('Package(s) to install (RETURN or q to exit)? '))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:packnolist)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(myread)})])
                        left_token: <Left_Backtick '`'>
                        spids: [1125 1127]
                      )
                    }
                  spids: [1124]
                )
              ]
              spids: [1124]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$packnolist'))} {(Lit_Other '=')} {(DQ )} 
                      {(-o)} {(DQ ($ VSub_Name '$packnolist'))} {(Lit_Other '=')} {(DQ (q))} {(Lit_Other ']')}
                    )
                  ]
                  action: [(C {(myexit)} {(0)})]
                  spids: [16777215 1158]
                )
              ]
              spids: [16777215 1165]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$packnolist'))} {(Lit_Other '=')} {(all)} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:packnolist)
                          op: Equal
                          rhs: {(1-) ($ VSub_Name '$highest')}
                          spids: [1185]
                        )
                      ]
                      spids: [1185]
                    )
                  ]
                  spids: [16777215 1183]
                )
              ]
              spids: [16777215 1190]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <','>)} spids:[1193])]
              spids: [1193]
            )
            (C {(set)} {($ VSub_Name '$packnolist')})
            (C {(echo)} {(-n)} {(DQ ('Get source(s) too? (y/N) '))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:getsources)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(myread)})])
                        left_token: <Left_Backtick '`'>
                        spids: [1214 1216]
                      )
                    }
                  spids: [1213]
                )
              ]
              spids: [1213]
            )
            (ForEach
              iter_name: packrange
              iter_words: [{($ VSub_Name '$packnolist')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <->)}
                          spids: [1235]
                        )
                      ]
                      spids: [1235]
                    )
                    (C {(set)} {($ VSub_Name '$packrange')})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:start)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [1246]
                        )
                      ]
                      spids: [1246]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(2)} 
                              {(Lit_Other ']')}
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:end)
                                  op: Equal
                                  rhs: {($ VSub_Number '$2')}
                                  spids: [1265]
                                )
                              ]
                              spids: [1265]
                            )
                          ]
                          spids: [16777215 1263]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:end)
                              op: Equal
                              rhs: {($ VSub_Number '$1')}
                              spids: [1271]
                            )
                          ]
                          spids: [1271]
                        )
                      ]
                      spids: [1269 1275]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <' '>)}
                          spids: [1278]
                        )
                      ]
                      spids: [1278]
                    )
                    (ForEach
                      iter_name: packno
                      iter_words: [
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(awk)}
                                      {
                                        (DQ ('BEGIN { for(i=') ($ VSub_Name '$start') ('; i<=') 
                                          ($ VSub_Name '$end') ('; i++) { printf ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('%d ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (', i } }')
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Less
                                        fd: 16777215
                                        arg_word: {(/dev/null)}
                                        spids: [1297]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1294 1311]
                          )
                        }
                      ]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ok)
                                  op: Equal
                                  rhs: {(y)}
                                  spids: [1317]
                                )
                              ]
                              spids: [1317]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pat)
                                  op: Equal
                                  rhs: {(DQ ('^') ($ VSub_Name '$packno') ('|'))}
                                  spids: [1321]
                                )
                              ]
                              spids: [1321]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (C {(Lit_Other '[')} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (C {(grep)} {(-c)} {($ VSub_Name '$pat')} 
                                                    {($ VSub_Name '$TMPF')}
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [1334 1342]
                                          )
                                        )
                                      } {(-ne)} {(1)} {(Lit_Other ']')}
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$packno'))} 
                                              {(Lit_Other ']')}
                                            )
                                          ]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ($ VSub_Name '$packno') 
                                                  (': Wrong package number.')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 1365]
                                        )
                                      ]
                                      spids: [16777215 1375]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ok)
                                          op: Equal
                                          rhs: {(n)}
                                          spids: [1378]
                                        )
                                      ]
                                      spids: [1378]
                                    )
                                  ]
                                  spids: [16777215 1352]
                                )
                              ]
                              spids: [16777215 1382]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (C {(Lit_Other '[')} {($ VSub_Name '$ok')} {(Lit_Other '=')} {(y)} 
                                      {(Lit_Other ']')}
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:packagename)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (CommandSubPart
                                                  command_list: 
                                                    (CommandList
                                                      children: [
                                                        (Pipeline
                                                          children: [
                                                            (C {(grep)} {($ VSub_Name '$pat')} 
                                                              {($ VSub_Name '$TMPF')}
                                                            )
                                                            (C {(awk)} {(-F) (SQ <'|'>)} 
                                                              {(SQ <'{ print $2 }'>)}
                                                            )
                                                          ]
                                                          negated: F
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_Backtick '`'>
                                                  spids: [1404 1423]
                                                )
                                              )
                                            }
                                          spids: [1402]
                                        )
                                      ]
                                      spids: [1402]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: {($ VSub_Name '$packagename') (.tar.bz2)}
                                          spids: [1427]
                                        )
                                      ]
                                      spids: [1427]
                                    )
                                    (C {(echo)} {(DQ )})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$file')} {(-a)} 
                                              {(KW_Bang '!')} {(DQ ($ VSub_Name '$YESMODE'))} {(Lit_Other ']')}
                                            )
                                          ]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('Skipping ') ($ VSub_Name '$file') 
                                                  (" - it's already in ") ($ VSub_Name '$TMPDIR') (.)
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'Remove that file if you want to re-retrieve and install this package.'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 1459]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {($ VSub_Name '$source')}
                                          arms: [
                                            (case_arm
                                              pat_list: [{(net) (Lit_Other '*')}]
                                              action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ ('Retrieving ') ($ VSub_Name '$packno') (' (') 
                                                      ($ VSub_Name '$packagename') (') from primary location into ') ($ VSub_Name '$TMPDIR') (' ..')
                                                    )
                                                  }
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:srcurl)
                                                      op: Equal
                                                      rhs: {(DQ )}
                                                      spids: [1506]
                                                    )
                                                  ]
                                                  spids: [1506]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(urlget)}
                                                            {($ VSub_Name '$URL1') (/) 
                                                              ($ VSub_Name '$file')
                                                            }
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_Great
                                                              fd: 16777215
                                                              arg_word: {($ VSub_Name '$file')}
                                                              spids: [1519]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      action: [
                                                        (C {(echo)} 
                                                          {(DQ ('Retrieved ok. Installing ..'))}
                                                        )
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(packit)} {($ VSub_Name '$file')})
                                                            (C {(echo)} {(Installed)} {(ok.)})
                                                          ]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:srcurl)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$SRCURL1') (/) 
                                                                  ($ VSub_Name '$file')
                                                                }
                                                              spids: [1545]
                                                            )
                                                          ]
                                                          spids: [1545]
                                                        )
                                                      ]
                                                      spids: [16777215 1523]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (C {(echo)} {(DQ ('Retrieval failed.'))})
                                                  ]
                                                  spids: [1551 1560]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (C {(Lit_Other '[')} 
                                                          {(DQ ($ VSub_Name '$getsources'))} {(Lit_Other '=')} {(y)} {(-o)} {(DQ ($ VSub_Name '$getsources'))} {(Lit_Other '=')} {(Y)} {(Lit_Other ']')}
                                                        )
                                                      ]
                                                      action: [
                                                        (Subshell
                                                          child: 
                                                            (CommandList
                                                              children: [
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {(cd)} {($ VSub_Name '$SRC')})
                                                                    (C {(myexit)} {(2)})
                                                                  ]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:srcfile)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {(${ VSub_Name packagename) 
                                                                          (-src.tar.bz2)
                                                                        }
                                                                      spids: [1603]
                                                                    )
                                                                  ]
                                                                  spids: [1603]
                                                                )
                                                                (C {(echo)} 
                                                                  {
                                                                    (DQ ('Retrieving source from ') 
                                                                      ($ VSub_Name '$srcurl') (' ..')
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(urlget)}
                                                                        {($ VSub_Name '$srcurl')}
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_Great
                                                                          fd: 16777215
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name '$srcfile')
                                                                            }
                                                                          spids: [1623]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (C {(myexit)} {(3)})
                                                                  ]
                                                                )
                                                                (C {(echo)} 
                                                                  {
                                                                    (DQ ('Source retrieved in ') 
                                                                      ($ VSub_Name '$SRC') (/) ($ VSub_Name '$srcfile') (.)
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (Pipeline
                                                                      children: [
                                                                        (C {($ VSub_Name '$BUNZIP2')} 
                                                                          {(-dc)} {($ VSub_Name '$srcfile')}
                                                                        )
                                                                        (SimpleCommand
                                                                          words: [{(tar)} {(xf)} {(-)}]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_Great
                                                                              fd: 16777215
                                                                              arg_word: {(/dev/null)}
                                                                              spids: [1658]
                                                                            )
                                                                          ]
                                                                        )
                                                                      ]
                                                                      negated: F
                                                                    )
                                                                    (C {(myexit)} {(3)})
                                                                  ]
                                                                )
                                                                (C {(echo)} 
                                                                  {
                                                                    (DQ ('Source unpacked in ') 
                                                                      ($ VSub_Name '$SRC') (.)
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                          spids: [1590 1677]
                                                        )
                                                      ]
                                                      spids: [16777215 1588]
                                                    )
                                                  ]
                                                  spids: [16777215 1680]
                                                )
                                              ]
                                              spids: [1489 1491 1683 16777215]
                                            )
                                            (case_arm
                                              pat_list: [{(cdrom) (Lit_Other '*')}]
                                              action: [
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (C {(Lit_Other '[')} {(-f)} 
                                                          {($ VSub_Name '$CDPACK') (/) 
                                                            ($ VSub_Name '$file')
                                                          } {(Lit_Other ']')}
                                                        )
                                                      ]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ('Installing from ') 
                                                              ($ VSub_Name '$CDPACK') (/) ($ VSub_Name '$file') (' ..')
                                                            )
                                                          }
                                                        )
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(packit)} 
                                                              {($ VSub_Name '$CDPACK') (/) 
                                                                ($ VSub_Name '$file')
                                                              }
                                                            )
                                                            (C {(echo)} {(Installed)} {(ok.)})
                                                          ]
                                                        )
                                                      ]
                                                      spids: [16777215 1704]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (C {(echo)} 
                                                      {
                                                        (DQ ($ VSub_Name '$CDPACK') (/) 
                                                          ($ VSub_Name '$file') (' not found.')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [1732 1744]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:srcfile)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$CDSRC') (/) 
                                                          (${ VSub_Name packagename) (.tar.bz2)
                                                        }
                                                      spids: [1747]
                                                    )
                                                  ]
                                                  spids: [1747]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (C {(Lit_Other '[')} {(-f)} 
                                                          {($ VSub_Name '$srcfile')} {(-a)} {(DQ ($ VSub_Name '$getsources'))} {(Lit_Other '=')} {(y)} {(Lit_Other ']')}
                                                        )
                                                      ]
                                                      action: [
                                                        (Subshell
                                                          child: 
                                                            (CommandList
                                                              children: [
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {(cd)} {($ VSub_Name '$SRC')})
                                                                    (C {(myexit)} {(2)})
                                                                  ]
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (Pipeline
                                                                      children: [
                                                                        (C {($ VSub_Name '$BUNZIP2')} 
                                                                          {(-dc)} {($ VSub_Name '$srcfile')}
                                                                        )
                                                                        (C {(tar)} {(xf)} {(-)})
                                                                      ]
                                                                      negated: F
                                                                    )
                                                                    (C {(myexit)} {(3)})
                                                                  ]
                                                                )
                                                                (C {(echo)} 
                                                                  {
                                                                    (DQ ('Source ') 
                                                                      ($ VSub_Name '$srcfile') (' unpacked in ') ($ VSub_Name '$SRC') (.)
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                          spids: [1781 1826]
                                                        )
                                                      ]
                                                      spids: [16777215 1777]
                                                    )
                                                  ]
                                                  spids: [16777215 1829]
                                                )
                                              ]
                                              spids: [1686 1688 1832 16777215]
                                            )
                                          ]
                                          spids: [1482 1486 1835]
                                        )
                                      ]
                                      spids: [1479 1838]
                                    )
                                  ]
                                  spids: [16777215 1398]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cont)
                                      op: Equal
                                      rhs: {(n)}
                                      spids: [1843]
                                    )
                                  ]
                                  spids: [1843]
                                )
                              ]
                              spids: [1841 1847]
                            )
                          ]
                          spids: [1314 1850]
                        )
                      spids: [1293 16777215]
                    )
                  ]
                  spids: [1228 1856]
                )
              spids: [1224 16777215]
            )
          ]
          spids: [908 1861]
        )
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$TMPDIR') (/.) (Lit_Other '*')})
    (C {(myexit)} {(0)})
  ]
)