(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LOCALRC)
          op: assign_op.Equal
          rhs: {<'/usr/etc/rc.local'>}
          spids: [19]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:INETCONF)
          op: assign_op.Equal
          rhs: {<'/etc/inet.conf'>}
          spids: [22]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RCNET)
          op: assign_op.Equal
          rhs: {<'/etc/rc.net'>}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOSTS)
          op: assign_op.Equal
          rhs: {<'/etc/hosts'>}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOSTNAME)
          op: assign_op.Equal
          rhs: {<'/etc/hostname.file'>}
          spids: [31]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:USRKBFILE)
          op: assign_op.Equal
          rhs: {<'/.usrkb'>}
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:step1)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:step2)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:step3)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:v) op:assign_op.Equal rhs:{<1>} spids:[50])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:manual_opts)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [56]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:prefix)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [59]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cd)
          op: assign_op.Equal
          rhs: {(DQ <no>)}
          spids: [63]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:eth) op:assign_op.Equal rhs:{(DQ )} spids:[72])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:driver)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [76]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:driverargs)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [80]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:config)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [85]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:manual)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [89]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dhcp)
          op: assign_op.Equal
          rhs: {(DQ <no>)}
          spids: [93]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:hostname)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [99]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:hostname_prev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [103]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ip) op:assign_op.Equal rhs:{(DQ )} spids:[107])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ip_prev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [111]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:netmask)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [115]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:netmask_prev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [119]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:gateway)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [123]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dns1)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [127]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dns2)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [131]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:hostname_default)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-n>}))}
          spids: [139]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$hostname_default'))})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:hostname_default)
              op: assign_op.Equal
              rhs: {(DQ <Minix>)}
              spids: [158]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ip_default)
          op: assign_op.Equal
          rhs: {(DQ <10.0.0.1>)}
          spids: [163]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:netmask_default)
          op: assign_op.Equal
          rhs: {(DQ <255.255.255.0>)}
          spids: [168]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:gateway_default)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [173]
        )
      ]
    )
    (command.ShFunction
      name: usage
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {(SQ <EOF>)}
                      here_end_span_id: 216
                      stdin_parts: [
                        <'Usage:\n'>
                        <'\n'>
                        <'  netconf [-q] [-p <prefix>] [-e <num>] [-a]\n'>
                        <
'  netconf [-H <name> -i <ip> -n <mask> -g <gw> -d <prim dns> [-s <sec dns>]]\n'
                        >
                        <'\n'>
                        <'  flags:\n'>
                        <'     -q Limit generated output\n'>
                        <
'     -p Path prefix for configuration files (e.g., during install -p mnt is used as files are mounted on /mnt).\n'
                        >
                        <'     -e Ethernet card\n'>
                        <'     -a Use DHCP (-H, -i, -n, -g, -d, and -s flags are discarded)\n'>
                        <'     -H Hostname\n'>
                        <'     -i IP address\n'>
                        <'     -n Netmask\n'>
                        <'     -g Default gateway\n'>
                        <'     -d Primary DNS\n'>
                        <'     -s Secondary DNS\n'>
                        <'     -h Shows this help file\n'>
                        <'     -c Shows a list of ethernet cards supported\n'>
                        <'\n'>
                        <
'  By default netconf starts in Interactive mode. By providing parameters on the\n'
                        >
                        <'  command line, some questions can be omitted.\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
        )
    )
    (command.ShFunction
      name: card
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:card_number)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [232]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:card_name)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$2')}
                  spids: [236]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:card_avail)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [240]
                )
              ]
            )
            (C {<shift>} {<2>})
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-gt>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (command.Pipeline
                          children: [
                            (C {<lspci>})
                            (command.Simple
                              words: [{<grep>} {(DQ <'^'> ($ Id.VSub_Number '$1'))}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              do_fork: T
                            )
                          ]
                          negated: F
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:card_avail)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [283]
                            )
                          ]
                        )
                      ]
                    )
                    (C {<shift>})
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$card_avail')} {<-gt>} {<0>} 
                          {<Id.Lit_RBracket ']'>}
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:card_mark)
                          op: assign_op.Equal
                          rhs: {(DQ <'*'>)}
                          spids: [310]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:eth_default)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$card_number')}
                          spids: [316]
                        )
                      ]
                    )
                  ]
                  spids: [293 306]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:card_mark)
                      op: assign_op.Equal
                      rhs: {(DQ <' '>)}
                      spids: [323]
                    )
                  ]
                )
              ]
            )
            (C {<printf>} {(DQ <'%2d. %s %s'> <Id.Lit_BadBackslash '\\'> <n>)} 
              {(DQ ($ Id.VSub_DollarName '$card_number'))} {(DQ ($ Id.VSub_DollarName '$card_mark'))} {(DQ ($ Id.VSub_DollarName '$card_name'))}
            )
          ]
        )
    )
    (command.ShFunction
      name: cards
      body: 
        (BraceGroup
          children: [
            (C {<card>} {<0>} {(DQ <'No Ethernet card (no networking)'>)})
            (C {<card>} {<1>} {(DQ <'Intel Pro/100'>)} {(DQ <'8086:103D'>)} {(DQ <'8086:1064'>)} 
              {(DQ <'8086:1229'>)} {(DQ <'8086:2449'>)}
            )
            (C {<card>} {<2>} {(DQ <'3Com 501 or 3Com 509 based card'>)})
            (C {<card>} {<3>} {(DQ <'Realtek 8139 based card (also emulated by KVM)'>)} 
              {(DQ <'10EC:8139'>)} {(DQ <'02AC:1012'>)} {(DQ <'1065:8139'>)} {(DQ <'1113:1211'>)} {(DQ <'1186:1300'>)} {(DQ <'1186:1340'>)} 
              {(DQ <'11DB:1234'>)} {(DQ <'1259:A117'>)} {(DQ <'1259:A11E'>)} {(DQ <'126C:1211'>)} {(DQ <'13D1:AB06'>)} {(DQ <'1432:9130'>)} 
              {(DQ <'14EA:AB06'>)} {(DQ <'14EA:AB07'>)} {(DQ <'1500:1360'>)} {(DQ <'1743:8139'>)} {(DQ <'4033:1360'>)}
            )
            (C {<card>} {<4>} {(DQ <'Realtek 8169 based card'>)} {(DQ <'10EC:8129'>)} {(DQ <'10EC:8167'>)} 
              {(DQ <'10EC:8169'>)} {(DQ <'1186:4300'>)} {(DQ <'1259:C107'>)} {(DQ <'1385:8169'>)} {(DQ <'16EC:0116'>)} {(DQ <'1737:1032'>)}
            )
            (C {<card>} {<5>} {(DQ <'Realtek 8029 based card (also emulated by Qemu)'>)} 
              {(DQ <'10EC:8029'>)}
            )
            (C {<card>} {<6>} {(DQ <'NE2000, 3com 503 or WD based card (also emulated by Bochs)'>)})
            (C {<card>} {<7>} {(DQ <'AMD LANCE (also emulated by VMWare and VirtualBox)'>)} 
              {(DQ <'1022:2000'>)}
            )
            (C {<card>} {<8>} {(DQ <'Intel PRO/1000 Gigabit'>)} {(DQ <'8086:100E'>)} {(DQ <'8086:107C'>)} 
              {(DQ <'8086:10CD'>)}
            )
            (C {<card>} {<9>} {(DQ <'Attansic/Atheros L2 FastEthernet'>)} {(DQ <'1969:2048'>)})
            (C {<card>} {<10>} {(DQ <'DEC Tulip 21140A in VirtualPC'>)} {(DQ <'1011:0009'>)})
            (C {<card>} {<11>} {(DQ <'Different Ethernet card (no networking)'>)})
          ]
        )
    )
    (command.ShFunction
      name: warn
      body: 
        (BraceGroup
          children: [
            (C {<echo>} {<-e>} 
              {
                (DQ <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> 
                  <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> 
                  <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> 
                  <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> 
                  <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> 
                  <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <b> <Id.Lit_BadBackslash '\\'> <'b ! '> 
                  ($ Id.VSub_Number '$1')
                )
              }
            )
          ]
        )
    )
    (command.ShFunction
      name: do_step1
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:eth_default)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [697]
                )
              ]
            )
            (C {<echo>} 
              {(DQ <'MINIX 3 currently supports the following Ethernet cards. PCI cards detected'>)}
            )
            (C {<echo>} {(DQ <'by MINIX are marked with *. Please choose: '>)})
            (C {<echo>} {(DQ )})
            (C {<cards>})
            (C {<echo>} {(DQ )})
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$step1'))} 
                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<ok>} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.Sentence
                      child: 
                        (C {<echo>} {<-n>} 
                          {(DQ <'Ethernet card? ['> ($ Id.VSub_DollarName '$eth_default') <'] '>)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<read>} {<eth>})
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {<-z>} {($ Id.VSub_DollarName '$eth')})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:eth)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$eth_default')}
                              spids: [780]
                            )
                          ]
                        )
                      ]
                    )
                    (C {<drv_params>} {($ Id.VSub_DollarName '$eth')})
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$driver'))})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:step1)
                              op: assign_op.Equal
                              rhs: {(DQ <ok>)}
                              spids: [800]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: drv_params
      body: 
        (BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{<0>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<psip0>}
                              spids: [830]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [827 828 834 -1]
                )
                (case_arm
                  pat_list: [{<1>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<fxp>}
                              spids: [841]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [838 839 845 -1]
                )
                (case_arm
                  pat_list: [{<2>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<dpeth>}
                              spids: [851]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driverargs)
                              op: assign_op.Equal
                              rhs: {(DQ <'#dpeth_arg=\'DPETH0=port:irq:memory\''>)}
                              spids: [855]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                        (C {<echo>} {(DQ )})
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                        (C {<echo>} 
                          {
                            (DQ <'Note: After installing, edit '> ($ Id.VSub_DollarName '$LOCALRC') 
                              <' to the right configuration.'>
                            )
                          }
                        )
                      ]
                    )
                  ]
                  spids: [848 849 901 -1]
                )
                (case_arm
                  pat_list: [{<4>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<rtl8169>}
                              spids: [907]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [904 905 911 -1]
                )
                (case_arm
                  pat_list: [{<3>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<rtl8139>}
                              spids: [917]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [914 915 921 -1]
                )
                (case_arm
                  pat_list: [{<5>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<dp8390>}
                              spids: [927]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driverargs)
                              op: assign_op.Equal
                              rhs: {(DQ <'dp8390_arg=\'DPETH0=pci\''>)}
                              spids: [931]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [924 925 937 -1]
                )
                (case_arm
                  pat_list: [{<6>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {<dp8390>}
                              spids: [943]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driverargs)
                              op: assign_op.Equal
                              rhs: {(DQ <'dp8390_arg=\'DPETH0=240:9\''>)}
                              spids: [947]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                        (C {<echo>} {(DQ )})
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                        (C {<echo>} 
                          {
                            (DQ <'Note: After installing, edit '> ($ Id.VSub_DollarName '$LOCALRC') 
                              <' to the right configuration.'>
                            )
                          }
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                        (C {<echo>} 
                          {
                            (DQ 
                              <
' chose option 4, the defaults for emulation by Bochs have been set.'
                              >
                            )
                          }
                        )
                      ]
                    )
                  ]
                  spids: [940 941 1013 -1]
                )
                (case_arm
                  pat_list: [{<7>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {(DQ <lance>)}
                              spids: [1019]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1016 1017 1025 -1]
                )
                (case_arm
                  pat_list: [{<8>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {(DQ <e1000>)}
                              spids: [1032]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1029 1030 1038 -1]
                )
                (case_arm
                  pat_list: [{<9>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {(DQ <atl2>)}
                              spids: [1044]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1041 1042 1050 -1]
                )
                (case_arm
                  pat_list: [{<10>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {(DQ <dec21140A>)}
                              spids: [1056]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1053 1054 1062 -1]
                )
                (case_arm
                  pat_list: [{<11>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:driver)
                              op: assign_op.Equal
                              rhs: {(DQ <psip0>)}
                              spids: [1069]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1066 1067 1075 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [(C {<warn>} {(DQ <'choose a number'>)})]
                  spids: [1079 1080 -1 1089]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: do_step2
      body: 
        (BraceGroup
          children: [
            (C {<echo>} {(DQ )})
            (C {<echo>} {(DQ <'Configure network using DHCP or manually?'>)})
            (C {<echo>} {(DQ )})
            (C {<echo>} {(DQ <'1. Automatically using DHCP'>)})
            (C {<echo>} {(DQ <'2. Manually'>)})
            (C {<echo>} {(DQ )})
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$step2'))} 
                      {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<ok>} {<Id.Lit_RBracket ']'>}
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.Sentence
                      child: (C {<echo>} {<-n>} {(DQ <'Configure method? [1] '>)})
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<read>} {<config>})
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {<-z>} {($ Id.VSub_DollarName '$config')})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:config)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [1182]
                            )
                          ]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName '$config'))}
                      arms: [
                        (case_arm
                          pat_list: [{<1>}]
                          action: [
                            (command.Sentence
                              child: 
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:step2)
                                      op: assign_op.Equal
                                      rhs: {(DQ <ok>)}
                                      spids: [1200]
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.Sentence
                              child: 
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:dhcp)
                                      op: assign_op.Equal
                                      rhs: {(DQ <yes>)}
                                      spids: [1206]
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          spids: [1197 1198 1213 -1]
                        )
                        (case_arm
                          pat_list: [{<2>}]
                          action: [
                            (command.Sentence
                              child: 
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:step2)
                                      op: assign_op.Equal
                                      rhs: {(DQ <ok>)}
                                      spids: [1219]
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.Sentence
                              child: 
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:manual)
                                      op: assign_op.Equal
                                      rhs: {(DQ <do>)}
                                      spids: [1225]
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          spids: [1216 1217 1231 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [(C {<warn>} {(DQ <'choose a number'>)})]
                          spids: [1234 1235 -1 1244]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$manual'))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                                      {($ Id.VSub_DollarName '$hostname_prev')} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hostname_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$hostname_default')}
                                  spids: [1294]
                                )
                              ]
                            )
                          ]
                          spids: [1280 1291]
                        )
                      ]
                    )
                    (C {<echo>} {<-n>} 
                      {(DQ <'Hostname ['> ($ Id.VSub_DollarName '$hostname_prev') <']: '>)}
                    )
                    (C {<read>} {<hostname>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                                      {($ Id.VSub_DollarName '$hostname')} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hostname_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$hostname')}
                                  spids: [1333]
                                )
                              ]
                            )
                          ]
                          spids: [1317 1330]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hostname)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$hostname_prev')}
                              spids: [1340]
                            )
                          ]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                                      {($ Id.VSub_DollarName '$ip_prev')} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ip_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$ip_default')}
                                  spids: [1367]
                                )
                              ]
                            )
                          ]
                          spids: [1353 1364]
                        )
                      ]
                    )
                    (C {<echo>} {<-n>} {(DQ <'IP address ['> ($ Id.VSub_DollarName '$ip_prev') <']: '>)})
                    (C {<read>} {<ip>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                                      {($ Id.VSub_DollarName '$ip')} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ip_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$ip')}
                                  spids: [1406]
                                )
                              ]
                            )
                          ]
                          spids: [1390 1403]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ip)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$ip_prev')}
                              spids: [1413]
                            )
                          ]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                                      {($ Id.VSub_DollarName '$netmask_prev')} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:netmask_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$netmask_default')}
                                  spids: [1440]
                                )
                              ]
                            )
                          ]
                          spids: [1426 1437]
                        )
                      ]
                    )
                    (C {<echo>} {<-n>} 
                      {(DQ <'Netmask ['> ($ Id.VSub_DollarName '$netmask_prev') <']: '>)}
                    )
                    (C {<read>} {<netmask>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                                      {($ Id.VSub_DollarName '$netmask')} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:netmask_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$netmask')}
                                  spids: [1479]
                                )
                              ]
                            )
                          ]
                          spids: [1463 1476]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:netmask)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$netmask_prev')}
                              spids: [1486]
                            )
                          ]
                        )
                      ]
                    )
                    (C {<echo>} {<-n>} {(DQ <'Gateway: '>)})
                    (C {<read>} {<gateway>})
                    (C {<echo>} {<-n>} 
                      {(DQ <'Primary DNS Server ['> ($ Id.VSub_DollarName '$dns1_prev') <']: '>)}
                    )
                    (C {<read>} {<dns1>})
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$dns1'))})
                        (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$dns1_prev'))})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:dns1)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$dns1_prev')}
                              spids: [1555]
                            )
                          ]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                                      {(DQ ($ Id.VSub_DollarName '$dns1'))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:dns1_prev)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$dns1')}
                                  spids: [1577]
                                )
                              ]
                            )
                            (C {<echo>} {<-n>} 
                              {
                                (DQ <'Secondary DNS Server ['> ($ Id.VSub_DollarName '$dns2_prev') 
                                  <']: '>
                                )
                              }
                            )
                            (C {<read>} {<dns2>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                                              {($ Id.VSub_DollarName '$dns2')} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:dns2_prev)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName '$dns2')}
                                          spids: [1615]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1599 1612]
                                )
                              ]
                            )
                          ]
                          spids: [1559 1574]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:dns2)
                              op: assign_op.Equal
                              rhs: {(DQ )}
                              spids: [1629]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [1256 1269]
                )
              ]
            )
          ]
        )
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Sentence
              child: (C {<getopts>} {(DQ <':qe:p:aH:i:n:g:d:s:hc'>)} {<arg>})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$arg'))}
              arms: [
                (case_arm
                  pat_list: [{<q>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:v)
                              op: assign_op.Equal
                              rhs: {<0>}
                              spids: [1671]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1668 1669 1675 -1]
                )
                (case_arm
                  pat_list: [{<e>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ethernet)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1681]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [
                            {<test>}
                            {(DQ ($ Id.VSub_DollarName '$ethernet'))}
                            {<-ge>}
                            {<0>}
                            {<-a>}
                            {(DQ ($ Id.VSub_DollarName '$ethernet'))}
                            {<-le>}
                            {<7>}
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '2>'>
                              loc: (redir_loc.Fd fd:2)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          do_fork: T
                        )
                        (C {<usage>})
                      ]
                    )
                    (C {<drv_params>} {($ Id.VSub_DollarName '$ethernet')})
                  ]
                  spids: [1678 1679 1720 -1]
                )
                (case_arm
                  pat_list: [{<p>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:prefix)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1726]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1723 1724 1730 -1]
                )
                (case_arm
                  pat_list: [{<a>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:dhcp)
                              op: assign_op.Equal
                              rhs: {(DQ <yes>)}
                              spids: [1736]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1733 1734 1742 -1]
                )
                (case_arm
                  pat_list: [{<H>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hostname)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1748]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:manual_opts)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (C {<expr>} {($ Id.VSub_DollarName '$manual_opts')} {(SQ <'+'>)} {<1>})
                              )
                            }
                          spids: [1752]
                        )
                      ]
                    )
                  ]
                  spids: [1745 1746 1766 -1]
                )
                (case_arm
                  pat_list: [{<i>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ip)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1772]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:manual_opts)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (C {<expr>} {($ Id.VSub_DollarName '$manual_opts')} {(SQ <'+'>)} {<1>})
                              )
                            }
                          spids: [1776]
                        )
                      ]
                    )
                  ]
                  spids: [1769 1770 1790 -1]
                )
                (case_arm
                  pat_list: [{<n>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:netmask)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1796]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:manual_opts)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (C {<expr>} {($ Id.VSub_DollarName '$manual_opts')} {(SQ <'+'>)} {<1>})
                              )
                            }
                          spids: [1800]
                        )
                      ]
                    )
                  ]
                  spids: [1793 1794 1814 -1]
                )
                (case_arm
                  pat_list: [{<g>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:gateway)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1820]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:manual_opts)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (C {<expr>} {($ Id.VSub_DollarName '$manual_opts')} {(SQ <'+'>)} {<1>})
                              )
                            }
                          spids: [1824]
                        )
                      ]
                    )
                  ]
                  spids: [1817 1818 1838 -1]
                )
                (case_arm
                  pat_list: [{<d>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:dns1)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1844]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1841 1842 1848 -1]
                )
                (case_arm
                  pat_list: [{<s>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:dns2)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$OPTARG')}
                              spids: [1854]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1851 1852 1858 -1]
                )
                (case_arm
                  pat_list: [{<h>}]
                  action: [(C {<usage>})]
                  spids: [1861 1862 1866 -1]
                )
                (case_arm
                  pat_list: [{<c>}]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<echo>} {<-e>} 
                          {
                            (DQ <'The following cards are supported by Minix:'> 
                              <Id.Lit_BadBackslash '\\'> <n>
                            )
                          }
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Sentence
                      child: (C {<cards>})
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1869 1870 1892 -1]
                )
                (case_arm
                  pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'>)}]
                  action: [
                    (command.Sentence
                      child: (C {<echo>} {(DQ <'Unknown option -'> ($ Id.VSub_DollarName '$OPTARG'))})
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<usage>})
                  ]
                  spids: [1895 1896 1908 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Colon ':'>}]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<echo>} 
                          {(DQ <'Missing required argument for -'> ($ Id.VSub_DollarName '$OPTARG'))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<usage>})
                  ]
                  spids: [1911 1912 1924 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [(C {<usage>})]
                  spids: [1927 1928 1932 -1]
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$dhcp'))} 
                      {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$manual_opts')} {<-gt>} 
                              {<0>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<test>} {($ Id.VSub_DollarName '$manual_opts')} {<-eq>} {<4>} {<-a>} {<-n>} 
                          {(DQ ($ Id.VSub_DollarName '$dns1'))}
                        )
                        (C {<usage>})
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:manual)
                          op: assign_op.Equal
                          rhs: {(DQ <do>)}
                          spids: [2003]
                        )
                      ]
                    )
                  ]
                  spids: [1965 1979]
                )
              ]
            )
          ]
          spids: [1943 1962]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$prefix'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCALRC)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$prefix') ($ Id.VSub_DollarName '$LOCALRC')}
                  spids: [2031]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:INETCONF)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$prefix') ($ Id.VSub_DollarName '$INETCONF')}
                  spids: [2036]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:RCNET)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$prefix') ($ Id.VSub_DollarName '$RCNET')}
                  spids: [2041]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:HOSTS)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$prefix') ($ Id.VSub_DollarName '$HOSTS')}
                  spids: [2046]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:HOSTNAME)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$prefix') ($ Id.VSub_DollarName '$HOSTNAME')}
                  spids: [2051]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                              {($ Id.VSub_DollarName '$INETCONF')} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {<-e>} 
                      {
                        (DQ <'It seems the supplied prefix ('> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\`'>
                          ) ($ Id.VSub_DollarName '$prefix') <'\') is invalid.'>
                        )
                      }
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [2056 2069]
                )
              ]
            )
          ]
          spids: [2014 2028]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USER'))} 
                      {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<root>} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                (C {<echo>} {(DQ <'Please run netconf as root.'>)})
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [2094 2111]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$USRKBFILE'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:cd)
                  op: assign_op.Equal
                  rhs: {(DQ <yes>)}
                  spids: [2160]
                )
              ]
            )
          ]
          spids: [2143 2157]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [(C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$ethernet'))}) (C {<do_step1>})]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<test>} {($ Id.VSub_DollarName '$manual_opts')} {<-eq>} {<0>} {<-a>} 
          {(DQ ($ Id.VSub_DollarName '$dhcp'))} {<Id.Lit_Equals '='>} {(DQ <no>)}
        )
        (C {<do_step2>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
          {(DQ <yes>)}
        )
        (C {<test>} {<-f>} {($ Id.VSub_DollarName '$INETCONF')})
        (C {<mv>} {($ Id.VSub_DollarName '$INETCONF')} {(DQ ($ Id.VSub_DollarName '$INETCONF') <'~'>)})
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
        (C {<echo>} 
          {
            (DQ <'Backed up '> ($ Id.VSub_DollarName '$INETCONF') <' to '> 
              ($ Id.VSub_DollarName '$INETCONF') <'~'>
            )
          }
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
          {(DQ <yes>)}
        )
        (C {<test>} {<-f>} {($ Id.VSub_DollarName '$LOCALRC')})
        (C {<mv>} {($ Id.VSub_DollarName '$LOCALRC')} {(DQ ($ Id.VSub_DollarName '$LOCALRC') <'~'>)})
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
        (C {<echo>} 
          {
            (DQ <'Backed up '> ($ Id.VSub_DollarName '$LOCALRC') <' to '> 
              ($ Id.VSub_DollarName '$LOCALRC') <'~'>
            )
          }
        )
      ]
    )
    (command.Simple
      words: [{<echo>} {(DQ <'eth0 '> ($ Id.VSub_DollarName '$driver') <' 0 { default; } ;'>)}]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName '$INETCONF')}
        )
      ]
      do_fork: T
    )
    (command.Simple
      words: [{<echo>} {(DQ ($ Id.VSub_DollarName '$driverargs'))}]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName '$LOCALRC')}
        )
      ]
      do_fork: T
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$manual'))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
              children: [
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
                  {(DQ <yes>)}
                )
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$RCNET')})
                (C {<mv>} {($ Id.VSub_DollarName '$RCNET')} {(DQ ($ Id.VSub_DollarName '$RCNET') <'~'>)})
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                (C {<echo>} 
                  {
                    (DQ <'Backed up '> ($ Id.VSub_DollarName '$RCNET') <' to '> 
                      ($ Id.VSub_DollarName '$RCNET') <'~'>
                    )
                  }
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
              children: [
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
                  {(DQ <yes>)}
                )
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$HOSTS')})
                (C {<mv>} {($ Id.VSub_DollarName '$HOSTS')} {(DQ ($ Id.VSub_DollarName '$HOSTS') <'~'>)})
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
                (C {<echo>} 
                  {
                    (DQ <'Backed up '> ($ Id.VSub_DollarName '$HOSTS') <' to '> 
                      ($ Id.VSub_DollarName '$HOSTS') <'~'>
                    )
                  }
                )
              ]
            )
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'ifconfig -I /dev/ip0 -n '> ($ Id.VSub_DollarName '$netmask') <' -h '> 
                    ($ Id.VSub_DollarName '$ip')
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RCNET')}
                )
              ]
              do_fork: T
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<Id.KW_Bang '!'>} {<-z>} {($ Id.VSub_DollarName '$gateway')})
                (command.Simple
                  words: [{<echo>} {(DQ <'add_route -g '> ($ Id.VSub_DollarName '$gateway'))}]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName '$RCNET')}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
            (command.Simple
              words: [{<echo>} {(DQ <'daemonize nonamed -L'>)}]
              redirects: [
                (redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RCNET')}
                )
              ]
              do_fork: T
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<Id.KW_Bang '!'>} {<-z>} {($ Id.VSub_DollarName '$dns1')})
                (command.Simple
                  words: [
                    {<echo>}
                    {<-e>}
                    {
                      (DQ ($ Id.VSub_DollarName '$ip') <Id.Lit_BadBackslash '\\'> <'t%nameserver'> 
                        <Id.Lit_BadBackslash '\\'> <'t#'> ($ Id.VSub_DollarName '$hostname')
                      )
                    }
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName '$HOSTS')}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<Id.KW_Bang '!'>} {<-z>} {($ Id.VSub_DollarName '$dns1')})
                (command.Simple
                  words: [
                    {<echo>}
                    {<-e>}
                    {
                      (DQ ($ Id.VSub_DollarName '$dns1') <Id.Lit_BadBackslash '\\'> <'t%nameserver'> 
                        <Id.Lit_BadBackslash '\\'> <'t#DNS 1'>
                      )
                    }
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName '$HOSTS')}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<Id.KW_Bang '!'>} {<-z>} {($ Id.VSub_DollarName '$dns2')})
                (command.Simple
                  words: [
                    {<echo>}
                    {<-e>}
                    {
                      (DQ ($ Id.VSub_DollarName '$dns2') <Id.Lit_BadBackslash '\\'> <'t%nameserver'> 
                        <Id.Lit_BadBackslash '\\'> <'t#DNS 2'>
                      )
                    }
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName '$HOSTS')}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
            (command.Simple
              words: [
                {<echo>}
                {<-e>}
                {
                  (DQ <Id.Lit_BadBackslash '\\'> <n> ($ Id.VSub_DollarName '$ip') 
                    <Id.Lit_BadBackslash '\\'> <t> ($ Id.VSub_DollarName '$hostname')
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$HOSTS')}
                )
              ]
              do_fork: T
            )
            (command.Simple
              words: [{<echo>} {($ Id.VSub_DollarName '$hostname')}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$HOSTNAME')}
                )
              ]
              do_fork: T
            )
          ]
          spids: [2360 2373]
        )
      ]
      else_action: [
        (command.AndOr
          ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
          children: [
            (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
              {(DQ <yes>)}
            )
            (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$RCNET'))})
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$RCNET'))} {(DQ ($ Id.VSub_DollarName '$RCNET') <'~'>)})
            (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
            (C {<echo>} 
              {
                (DQ <'Moved '> ($ Id.VSub_DollarName '$RCNET') <' to '> ($ Id.VSub_DollarName '$RCNET') 
                  <'~ to use default settings'>
                )
              }
            )
          ]
        )
        (command.AndOr
          ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
          children: [
            (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
              {(DQ <yes>)}
            )
            (C {<test>} {<-f>} {($ Id.VSub_DollarName '$HOSTS')})
            (C {<mv>} {($ Id.VSub_DollarName '$HOSTS')} {(DQ ($ Id.VSub_DollarName '$HOSTS') <'~'>)})
            (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
            (C {<echo>} 
              {
                (DQ <'Backed up '> ($ Id.VSub_DollarName '$HOSTS') <' to '> 
                  ($ Id.VSub_DollarName '$HOSTS') <'~'>
                )
              }
            )
          ]
        )
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$HOSTS') <'~'>)})
            (command.Simple
              words: [{<grep>} {<-v>} {(DQ <'%nameserver'>)} {(DQ ($ Id.VSub_DollarName '$HOSTS') <'~'>)}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$HOSTS')}
                )
              ]
              do_fork: T
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$cd'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
          {(DQ <yes>)}
        )
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$v'))} {<Id.Lit_Equals '='>} {<1>})
        (C {<echo>} {(DQ <'\n'> <'You might have to reboot for the changes to take effect.'>)})
      ]
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)