(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:sysdir) op:Equal rhs:{(/sys/class/net)} spids:[53])]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:netvsc_cls)
          op: Equal
          rhs: {(Lit_LBrace "{") (f8615163-df3e-46c5-913f-f2d2f965ed0e) (Lit_RBrace "}")}
          spids: [56]
        )
      ]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bondcnt) op:Equal rhs:{(0)} spids:[61])]
      spids: [61]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(-f)} {(/etc/redhat-release)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cfgdir)
                  op: Equal
                  rhs: {(/etc/sysconfig/network-scripts)}
                  spids: [82]
                )
              ]
              spids: [82]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:distro) op:Equal rhs:{(redhat)} spids:[86])]
              spids: [86]
            )
          ]
          spids: [-1 79]
        )
        (if_arm
          cond: [(C {(grep)} {(-q)} {(SQ <Ubuntu>)} {(/etc/issue)})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cfgdir)
                  op: Equal
                  rhs: {(/etc/network)}
                  spids: [104]
                )
              ]
              spids: [104]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:distro) op:Equal rhs:{(ubuntu)} spids:[108])]
              spids: [108]
            )
          ]
          spids: [89 101]
        )
        (if_arm
          cond: [(C {(grep)} {(-q)} {(SQ <SUSE>)} {(/etc/issue)})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cfgdir)
                  op: Equal
                  rhs: {(/etc/sysconfig/network)}
                  spids: [126]
                )
              ]
              spids: [126]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:distro) op:Equal rhs:{(suse)} spids:[130])]
              spids: [130]
            )
          ]
          spids: [111 123]
        )
      ]
      else_action: [(C {(echo)} {(DQ ("Unsupported Distro"))}) (C {(exit)} {(1)})]
      spids: [133 147]
    )
    (C {(echo)} {(Detected)} {(Distro) (Lit_Other ":")} {($ VSub_Name "$distro") (Lit_Comma ",")} {(or)} 
      {(compatible)}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:list_eth)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (AndOr
                              children: [
                                (C {(cd)} {($ VSub_Name "$sysdir")})
                                (Pipeline
                                  children: [
                                    (C {(ls)} {(-d)} {(Lit_Other "*") (/)})
                                    (C {(cut)} {(-d/)} {(-f1)})
                                    (C {(grep)} {(-v)} {(bond)})
                                  ]
                                  negated: False
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [170 199]
                    )
                  }
                ]
              )
            }
          spids: [168]
        )
      ]
      spids: [168]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:eth_cnt)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name list_eth>
                prefix_op: VSub_Pound
                bracket_op: (WholeArray op_id:Lit_At)
                spids: [203 209]
              )
            }
          spids: [202]
        )
      ]
      spids: [202]
    )
    (C {(echo)} {(List)} {(of)} {(net)} {(devices) (Lit_Other ":")})
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: (ArithWord w:{($ VSub_Name "$eth_cnt")})
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (C 
              {(list_mac) (Lit_Other "[") ($ VSub_Name "$i") (Lit_Other "]") (Lit_Other "=") 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(cat)} 
                          {($ VSub_Name "$sysdir") (/) 
                            (BracedVarSub
                              token: <VSub_Name list_eth>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                              spids: [262 267]
                            ) (/address)
                          }
                        )
                      ]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [257 269]
                )
              }
            )
            (C {(echo)} 
              {
                (BracedVarSub
                  token: <VSub_Name list_eth>
                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                  spids: [274 279]
                ) (Lit_Comma ",")
              } 
              {
                (BracedVarSub
                  token: <VSub_Name list_mac>
                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                  spids: [282 287]
                )
              }
            )
          ]
          spids: [249 289]
        )
    )
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: 
            (ArithBinary
              op_id: Arith_Minus
              left: (ArithWord w:{($ VSub_Name "$eth_cnt")})
              right: (ArithWord w:{(Lit_Digits 1)})
            )
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:j)
                  right: 
                    (ArithBinary
                      op_id: Arith_Plus
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:j)
                  right: (ArithWord w:{($ VSub_Name "$eth_cnt")})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:j))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other "[")} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name list_mac>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                                    spids: [355 360]
                                  )
                                )
                              } {(Lit_Other "=")} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name list_mac>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$j")}))
                                    spids: [366 371]
                                  )
                                )
                              } {(Lit_Other "]")}
                            )
                          ]
                          action: [
                            (C 
                              {(list_match) (Lit_Other "[") ($ VSub_Name "$i") (Lit_Other "]") 
                                (Lit_Other "=") 
                                (BracedVarSub
                                  token: <VSub_Name list_eth>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$j")}))
                                  spids: [385 390]
                                )
                              }
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 377]
                        )
                      ]
                      spids: [-1 396]
                    )
                  ]
                  spids: [347 399]
                )
            )
          ]
          spids: [319 401]
        )
    )
    (FuncDef
      name: create_eth_cfg_redhat
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/ifcfg-) ($ VSub_Number "$1")}
                  spids: [413]
                )
              ]
              spids: [411]
            )
            (C {(rm)} {(-f)} {($ VSub_Name "$fn")})
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "DEVICE=") ($ VSub_Number "$1")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[432])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "TYPE=") (Ethernet)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[441])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BOOTPROTO=") (none)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[450])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "ONBOOT=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[459])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "NM_CONTROLLED=") (no)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[468])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "PEERDNS=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[477])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "IPV6INIT=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[486])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "MASTER=") ($ VSub_Number "$2")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[495])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "SLAVE=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[504])]
            )
          ]
          spids: [408]
        )
      spids: [404 407]
    )
    (FuncDef
      name: create_eth_cfg_pri_redhat
      body: 
        (BraceGroup
          children: [(C {(create_eth_cfg_redhat)} {($ VSub_Number "$1")} {($ VSub_Number "$2")})]
          spids: [514]
        )
      spids: [510 513]
    )
    (FuncDef
      name: create_bond_cfg_redhat
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/ifcfg-) ($ VSub_Number "$1")}
                  spids: [535]
                )
              ]
              spids: [533]
            )
            (C {(rm)} {(-f)} {($ VSub_Name "$fn")})
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "DEVICE=") ($ VSub_Number "$1")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[554])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "TYPE=") (Bond)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[563])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BOOTPROTO=") (dhcp)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[572])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "ONBOOT=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[581])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "NM_CONTROLLED=") (no)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[590])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "PEERDNS=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[599])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "IPV6INIT=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[608])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BONDING_MASTER=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[617])]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(Lit_VarLike "BONDING_OPTS=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (Lit_VarLike "mode=") (active-backup)
                }
                {(Lit_VarLike "miimon=") (100)}
                {(Lit_VarLike "primary=") ($ VSub_Number "$2") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                }
              ]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[635])]
            )
          ]
          spids: [530]
        )
      spids: [526 529]
    )
    (FuncDef
      name: create_eth_cfg_ubuntu
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/interfaces)}
                  spids: [650]
                )
              ]
              spids: [648]
            )
            (SimpleCommand
              words: [{(echo)} {(SQ <Lit_EscapedChar "\\n">) (auto)} {($ VSub_Number "$1")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[665])]
            )
            (SimpleCommand
              words: [{(echo)} {(iface)} {($ VSub_Number "$1")} {(inet)} {(manual)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[679])]
            )
            (SimpleCommand
              words: [{(echo)} {(bond-master)} {($ VSub_Number "$2")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[689])]
            )
          ]
          spids: [645]
        )
      spids: [641 644]
    )
    (FuncDef
      name: create_eth_cfg_pri_ubuntu
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/interfaces)}
                  spids: [704]
                )
              ]
              spids: [702]
            )
            (C {(create_eth_cfg_ubuntu)} {($ VSub_Number "$1")} {($ VSub_Number "$2")})
            (SimpleCommand
              words: [{(echo)} {(bond-primary)} {($ VSub_Number "$1")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[723])]
            )
          ]
          spids: [699]
        )
      spids: [695 698]
    )
    (FuncDef
      name: create_bond_cfg_ubuntu
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/interfaces)}
                  spids: [738]
                )
              ]
              spids: [736]
            )
            (SimpleCommand
              words: [{(echo)} {(SQ <Lit_EscapedChar "\\n">) (auto)} {($ VSub_Number "$1")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[753])]
            )
            (SimpleCommand
              words: [{(echo)} {(iface)} {($ VSub_Number "$1")} {(inet)} {(dhcp)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[767])]
            )
            (SimpleCommand
              words: [{(echo)} {(bond-mode)} {(active-backup)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[777])]
            )
            (SimpleCommand
              words: [{(echo)} {(bond-miimon)} {(100)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[787])]
            )
            (SimpleCommand
              words: [{(echo)} {(bond-slaves)} {(none)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[797])]
            )
          ]
          spids: [733]
        )
      spids: [729 732]
    )
    (FuncDef
      name: create_eth_cfg_suse
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/ifcfg-) ($ VSub_Number "$1")}
                  spids: [812]
                )
              ]
              spids: [810]
            )
            (C {(rm)} {(-f)} {($ VSub_Name "$fn")})
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BOOTPROTO=") (none)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[831])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "STARTMODE=") (auto)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[840])]
            )
          ]
          spids: [807]
        )
      spids: [803 806]
    )
    (FuncDef
      name: create_eth_cfg_pri_suse
      body: (BraceGroup children:[(C {(create_eth_cfg_suse)} {($ VSub_Number "$1")})] spids:[850])
      spids: [846 849]
    )
    (FuncDef
      name: create_bond_cfg_suse
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fn)
                  op: Equal
                  rhs: {($ VSub_Name "$cfgdir") (/ifcfg-) ($ VSub_Number "$1")}
                  spids: [869]
                )
              ]
              spids: [867]
            )
            (C {(rm)} {(-f)} {($ VSub_Name "$fn")})
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BOOTPROTO=") (dhcp)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[888])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "STARTMODE=") (auto)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[897])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BONDING_MASTER=") (yes)}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[906])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BONDING_SLAVE_0=") ($ VSub_Number "$2")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[915])]
            )
            (SimpleCommand
              words: [{(echo)} {(Lit_VarLike "BONDING_SLAVE_1=") ($ VSub_Number "$3")}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[924])]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(Lit_VarLike "BONDING_MODULE_OPTS=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (Lit_VarLike "mode=") (active-backup)
                }
                {(Lit_VarLike "miimon=") (100)}
                {(Lit_VarLike "primary=") ($ VSub_Number "$2") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\'">)
                }
              ]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$fn")} spids:[942])]
            )
          ]
          spids: [864]
        )
      spids: [860 863]
    )
    (FuncDef
      name: create_bond
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bondname)
                  op: Equal
                  rhs: {(bond) ($ VSub_Name "$bondcnt")}
                  spids: [957]
                )
              ]
              spids: [955]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:primary) op:Equal spids:[964])]
              spids: [962]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:secondary) op:Equal spids:[969])]
              spids: [967]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:class_id1)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(cat)}
                                  {($ VSub_Name "$sysdir") (/) ($ VSub_Number "$1") (/device/class_id)}
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [984]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [976 986]
                      )
                    }
                  spids: [975]
                )
              ]
              spids: [973]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:class_id2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(cat)}
                                  {($ VSub_Name "$sysdir") (/) ($ VSub_Number "$2") (/device/class_id)}
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [1000]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [992 1002]
                      )
                    }
                  spids: [991]
                )
              ]
              spids: [989]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$class_id1"))} {(Lit_Other "=")} 
                      {(DQ ($ VSub_Name "$netvsc_cls"))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:primary)
                          op: Equal
                          rhs: {($ VSub_Number "$2")}
                          spids: [1026]
                        )
                      ]
                      spids: [1026]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:secondary)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [1030]
                        )
                      ]
                      spids: [1030]
                    )
                  ]
                  spids: [-1 1023]
                )
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$class_id2"))} {(Lit_Other "=")} 
                      {(DQ ($ VSub_Name "$netvsc_cls"))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:primary)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [1054]
                        )
                      ]
                      spids: [1054]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:secondary)
                          op: Equal
                          rhs: {($ VSub_Number "$2")}
                          spids: [1058]
                        )
                      ]
                      spids: [1058]
                    )
                  ]
                  spids: [1034 1051]
                )
              ]
              else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
              spids: [1062 1070]
            )
            (C {(echo)} {(SQ <Lit_EscapedChar "\\n"> <"Bond name:">)} {($ VSub_Name "$bondname")})
            (C {(echo)} {(configuring)} {($ VSub_Name "$primary")})
            (C {(create_eth_cfg_pri_) ($ VSub_Name "$distro")} {($ VSub_Name "$primary")} 
              {($ VSub_Name "$bondname")}
            )
            (C {(echo)} {(configuring)} {($ VSub_Name "$secondary")})
            (C {(create_eth_cfg_) ($ VSub_Name "$distro")} {($ VSub_Name "$secondary")} 
              {($ VSub_Name "$bondname")}
            )
            (C {(echo)} {(creating) (Lit_Other ":")} {($ VSub_Name "$bondname")} {(with)} {(primary)} 
              {(slave) (Lit_Other ":")} {($ VSub_Name "$primary")}
            )
            (C {(create_bond_cfg_) ($ VSub_Name "$distro")} {($ VSub_Name "$bondname")} 
              {($ VSub_Name "$primary")} {($ VSub_Name "$secondary")}
            )
            (C {(let)} {(Lit_VarLike "bondcnt=") (bondcnt) (Lit_Other "+") (1)})
          ]
          spids: [952]
        )
      spids: [948 951]
    )
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: 
            (ArithBinary
              op_id: Arith_Minus
              left: (ArithWord w:{($ VSub_Name "$eth_cnt")})
              right: (ArithWord w:{(Lit_Digits 1)})
            )
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(-n)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name list_match>
                            bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                            spids: [1189 1194]
                          )
                        )
                      } {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(create_bond)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name list_eth>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                          spids: [1205 1210]
                        )
                      } 
                      {
                        (BracedVarSub
                          token: <VSub_Name list_match>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                          spids: [1212 1217]
                        )
                      }
                    )
                  ]
                  spids: [-1 1200]
                )
              ]
              spids: [-1 1220]
            )
          ]
          spids: [1179 1222]
        )
    )
  ]
)