(command.CommandList
  children: [
    (command.FuncDef
      name: _samba_resolve_order
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[11])
                  op: Equal
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <'lmhosts host wins bcast'>)} {(--)} 
                                      {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [14 30]
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
              spids: [11]
            )
          ]
          spids: [8]
        )
      spids: [4 7]
    )
    (command.FuncDef
      name: _samba_domains
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (word_part.BracedVarSub
                                    token: <VSub_Name COMP_SAMBA_SCAN>
                                    suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [50 53]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:COMPREPLY spids:[61])
                          op: Equal
                          rhs: 
                            {
                              (word_part.ArrayLiteralPart
                                words: [
                                  {
                                    (word_part.CommandSubPart
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {(compgen)} {(-W)} {(SQ <'$( smbtree -N -D )'>)} {(--)} 
                                              {(DQ ($ VSub_DollarName '$cur'))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [64 80]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [61]
                        )
                      ]
                      spids: [61]
                    )
                  ]
                  spids: [16777215 58]
                )
              ]
              spids: [16777215 85]
            )
          ]
          spids: [41]
        )
      spids: [37 40]
    )
    (command.FuncDef
      name: _samba_hosts
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (word_part.BracedVarSub
                                    token: <VSub_Name COMP_SAMBA_SCAN>
                                    suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [103 106]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:COMPREPLY spids:[114])
                          op: Equal
                          rhs: 
                            {
                              (word_part.ArrayLiteralPart
                                words: [
                                  {
                                    (word_part.CommandSubPart
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {(compgen)} {(-W)} 
                                              {
                                                (DQ 
                                                  (word_part.CommandSubPart
                                                    command_list: 
                                                      (command.CommandList
                                                        children: [
                                                          (command.Pipeline
                                                            children: [
                                                              (C {(smbtree)} {(-N)} {(-S)})
                                                              (C {(sed)} {(-ne)} 
                                                                {
                                                                  (SQ 
                                                                    <
's/^[[:space:]]*\\\\\\\\*\\([^[:space:]]*\\).*/\\1/p'
                                                                    >
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [124 146]
                                                  )
                                                )
                                              } {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [117 155]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [114]
                        )
                      ]
                      spids: [114]
                    )
                  ]
                  spids: [16777215 111]
                )
              ]
              spids: [16777215 160]
            )
          ]
          spids: [94]
        )
      spids: [90 93]
    )
    (command.FuncDef
      name: _samba_debuglevel
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[172])
                  op: Equal
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <'{0..10}'>)} {(--)} 
                                      {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [175 191]
                            )
                          }
                        ]
                      )
                    }
                  spids: [172]
                )
              ]
              spids: [172]
            )
          ]
          spids: [169]
        )
      spids: [165 168]
    )
    (command.FuncDef
      name: _samba_sockopts
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[205])
                  op: Equal
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (SQ <'SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST\n'> 
                                          <
'        TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF\n'
                                          > <'        SO_SNDLOWAT SO_RCVLOWAT'>
                                        )
                                      } {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [208 226]
                            )
                          }
                        ]
                      )
                    }
                  spids: [205]
                )
              ]
              spids: [205]
            )
          ]
          spids: [202]
        )
      spids: [198 201]
    )
    (command.FuncDef
      name: _samba_signing
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[240])
                  op: Equal
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <'on off required'>)} {(--)} 
                                      {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [243 259]
                            )
                          }
                        ]
                      )
                    }
                  spids: [240]
                )
              ]
              spids: [240]
            )
          ]
          spids: [237]
        )
      spids: [233 236]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbclient
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[275])
                      op: Equal
                      spids: [275]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[277])
                      op: Equal
                      spids: [277]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[279])
                      op: Equal
                      spids: [279]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[281])
                      op: Equal
                      spids: [281]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:split spids:[283])
                      op: Equal
                      spids: [283]
                    )
                  ]
                  spids: [273]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-R)} {(--name-resolve)}]
                      action: [
                        (C {(_samba_resolve_order)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [303 306 317 16777215]
                    )
                    (case_arm
                      pat_list: [{(-t)}]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[324])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'SJIS EUC JIS7 JIS8 JUNET HEX CAP'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [327 345]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [324]
                            )
                          ]
                          spids: [324]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [320 321 355 16777215]
                    )
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [358 365 376 16777215]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)} {(-D)} {(--directory)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [379 386 399 16777215]
                    )
                    (case_arm
                      pat_list: [{(-O)} {(--socket-options)}]
                      action: [
                        (C {(_samba_sockopts)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [402 405 416 16777215]
                    )
                    (case_arm
                      pat_list: [{(-T)}]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[423])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'c x I X F b g q r N a'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [426 442]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [423]
                            )
                          ]
                          spids: [423]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [419 420 452 16777215]
                    )
                    (case_arm
                      pat_list: [{(-W)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [455 458 469 16777215]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [472 475 486 16777215]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--list)}]
                      action: [
                        (C {(_samba_hosts)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [489 492 503 16777215]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [506 509 520 16777215]
                    )
                    (case_arm
                      pat_list: [
                        {(-p)}
                        {(--port)}
                        {(-M)}
                        {(--message)}
                        {(-I)}
                        {(--ip-address)}
                        {(-b)}
                        {(--send-buffer)}
                        {(-U)}
                        {(--user)}
                        {(-n)}
                        {(--netbiosname)}
                        {(-i)}
                        {(--scope)}
                        {(-T)}
                        {(--tar)}
                        {(-c)}
                        {(--command)}
                        {(-m)}
                        {(--max-protocol)}
                      ]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [523 564 576 16777215]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}
                        {(--help)}
                        {(-V)}
                        {(--version)}
                      ]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [579 587 599 16777215]
                    )
                  ]
                  spids: [296 300 602]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[635])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [638 654]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [635]
                            )
                          ]
                          spids: [635]
                        )
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$COMPREPLY')}
                                  right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [16777215 632]
                    )
                  ]
                  spids: [16777215 679]
                )
              ]
              spids: [270]
            )
          spids: [266 269]
        )
        (C {(complete)} {(-F)} {(_smbclient)} {(smbclient)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbget
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[703])
                      op: Equal
                      spids: [703]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[705])
                      op: Equal
                      spids: [705]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[707])
                      op: Equal
                      spids: [707]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[709])
                      op: Equal
                      spids: [709]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:split spids:[711])
                      op: Equal
                      spids: [711]
                    )
                  ]
                  spids: [701]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-o)} {(--outputfile)} {(-f)} {(--rcfile)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [731 738 749 16777215]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [752 755 766 16777215]
                    )
                    (case_arm
                      pat_list: [{(-w)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [769 772 783 16777215]
                    )
                    (case_arm
                      pat_list: [{(-u)} {(--username)} {(-p)} {(--password)} {(-b)} {(--blocksize)}]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [786 797 805 16777215]
                    )
                  ]
                  spids: [724 728 808]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[841])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [844 860]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [841]
                            )
                          ]
                          spids: [841]
                        )
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$COMPREPLY')}
                                  right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [16777215 838]
                    )
                  ]
                  spids: [16777215 885]
                )
              ]
              spids: [698]
            )
          spids: [694 697]
        )
        (C {(complete)} {(-F)} {(_smbget)} {(smbget)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbcacls
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[909])
                      op: Equal
                      spids: [909]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[911])
                      op: Equal
                      spids: [911]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[913])
                      op: Equal
                      spids: [913]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[915])
                      op: Equal
                      spids: [915]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:split spids:[917])
                      op: Equal
                      spids: [917]
                    )
                  ]
                  spids: [907]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [937 944 955 16777215]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [958 961 974 16777215]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [977 980 991 16777215]
                    )
                    (case_arm
                      pat_list: [{(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [994 995 1006 16777215]
                    )
                    (case_arm
                      pat_list: [{(-O)} {(--socket-options)}]
                      action: [
                        (C {(_samba_sockopts)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1009 1012 1023 16777215]
                    )
                    (case_arm
                      pat_list: [{(-W)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1026 1029 1040 16777215]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}
                        {(--help)}
                        {(--usage)}
                        {(-D)}
                        {(--delete)}
                        {(-M)}
                        {(--modify)}
                        {(-a)}
                        {(--add)}
                        {(-S)}
                        {(--set)}
                        {(-C)}
                        {(--chown)}
                        {(-G)}
                        {(--chgrp)}
                        {(-n)}
                        {(--netbiosname)}
                        {(-i)}
                        {(--scope)}
                        {(-U)}
                        {(--user)}
                      ]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1043 1087 1095 16777215]
                    )
                  ]
                  spids: [930 934 1098]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1131])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1134 1150]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1131]
                            )
                          ]
                          spids: [1131]
                        )
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$COMPREPLY')}
                                  right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [16777215 1128]
                    )
                  ]
                  spids: [16777215 1175]
                )
              ]
              spids: [904]
            )
          spids: [900 903]
        )
        (C {(complete)} {(-F)} {(_smbcacls)} {(smbcacls)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbcquotas
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[1199])
                      op: Equal
                      spids: [1199]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[1201])
                      op: Equal
                      spids: [1201]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[1203])
                      op: Equal
                      spids: [1203]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[1205])
                      op: Equal
                      spids: [1205]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:split spids:[1207])
                      op: Equal
                      spids: [1207]
                    )
                  ]
                  spids: [1197]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1227 1234 1245 16777215]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1248 1251 1264 16777215]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1267 1270 1281 16777215]
                    )
                    (case_arm
                      pat_list: [{(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1284 1285 1296 16777215]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}
                        {(--help)}
                        {(--usage)}
                        {(-U)}
                        {(-u)}
                        {(--user)}
                        {(-S)}
                        {(--set)}
                      ]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1299 1315 1323 16777215]
                    )
                  ]
                  spids: [1220 1224 1326]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1359])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1362 1378]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1359]
                            )
                          ]
                          spids: [1359]
                        )
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$COMPREPLY')}
                                  right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [16777215 1356]
                    )
                  ]
                  spids: [16777215 1403]
                )
              ]
              spids: [1194]
            )
          spids: [1190 1193]
        )
        (C {(complete)} {(-F)} {(_smbcquotas)} {(smbcquotas)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbpasswd
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[1427])
                      op: Equal
                      spids: [1427]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[1429])
                      op: Equal
                      spids: [1429]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[1431])
                      op: Equal
                      spids: [1431]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[1433])
                      op: Equal
                      spids: [1433]
                    )
                  ]
                  spids: [1425]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-r)}]
                      action: [
                        (C {(_samba_hosts)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1451 1452 1463 16777215]
                    )
                    (case_arm
                      pat_list: [{(-R)}]
                      action: [
                        (C {(_samba_resolve_order)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1466 1467 1478 16777215]
                    )
                    (case_arm
                      pat_list: [{(-c)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1481 1482 1493 16777215]
                    )
                    (case_arm
                      pat_list: [{(-D)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1496 1497 1508 16777215]
                    )
                    (case_arm
                      pat_list: [{(-U)} {(-h)} {(-w)}]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1511 1516 1524 16777215]
                    )
                  ]
                  spids: [1444 1448 1527]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1550])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -h )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1553 1569]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1550]
                            )
                          ]
                          spids: [1550]
                        )
                      ]
                      spids: [16777215 1547]
                    )
                  ]
                  spids: [16777215 1574]
                )
              ]
              spids: [1422]
            )
          spids: [1418 1421]
        )
        (C {(complete)} {(-F)} {(_smbpasswd)} {(smbpasswd)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbtar
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[1598])
                      op: Equal
                      spids: [1598]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[1600])
                      op: Equal
                      spids: [1600]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[1602])
                      op: Equal
                      spids: [1602]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[1604])
                      op: Equal
                      spids: [1604]
                    )
                  ]
                  spids: [1596]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-r)} {(-t)}]
                      action: [
                        (C {(_filedir)} {(tar)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1622 1625 1638 16777215]
                    )
                    (case_arm
                      pat_list: [{(-s)}]
                      action: [
                        (C {(_samba_hosts)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1641 1642 1653 16777215]
                    )
                    (case_arm
                      pat_list: [{(-l)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1656 1657 1668 16777215]
                    )
                    (case_arm
                      pat_list: [{(-N)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1671 1672 1683 16777215]
                    )
                    (case_arm
                      pat_list: [{(-p)} {(-x)} {(-b)} {(-d)} {(-u)}]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1686 1695 1703 16777215]
                    )
                  ]
                  spids: [1615 1619 1706]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1729])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1732 1748]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1729]
                            )
                          ]
                          spids: [1729]
                        )
                      ]
                      spids: [16777215 1726]
                    )
                  ]
                  spids: [16777215 1753]
                )
              ]
              spids: [1593]
            )
          spids: [1589 1592]
        )
        (C {(complete)} {(-F)} {(_smbtar)} {(smbtar)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _smbtree
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[1777])
                      op: Equal
                      spids: [1777]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[1779])
                      op: Equal
                      spids: [1779]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[1781])
                      op: Equal
                      spids: [1781]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[1783])
                      op: Equal
                      spids: [1783]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:split spids:[1785])
                      op: Equal
                      spids: [1785]
                    )
                  ]
                  spids: [1775]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1805 1812 1823 16777215]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1826 1829 1842 16777215]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1845 1848 1859 16777215]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1862 1865 1876 16777215]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}
                        {(--help)}
                        {(--usage)}
                        {(-U)}
                        {(--user)}
                      ]
                      action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1879 1889 1897 16777215]
                    )
                  ]
                  spids: [1798 1802 1900]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1933])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1936 1952]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1933]
                            )
                          ]
                          spids: [1933]
                        )
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$COMPREPLY')}
                                  right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [16777215 1930]
                    )
                  ]
                  spids: [16777215 1977]
                )
              ]
              spids: [1772]
            )
          spids: [1768 1771]
        )
        (C {(complete)} {(-F)} {(_smbtree)} {(smbtree)})
      ]
    )
  ]
)