(command.CommandList
  children: [
    (command.ShFunction
      name: _lvm_volumegroups
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:12)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:14)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (DQ 
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_DollarParen
                                                val: '$('
                                                span_id: 20
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (command.Simple
                                                        words: [{(vgscan)}]
                                                        redirects: [
                                                          (redir.Redir
                                                            op: 
                                                              (Token
                                                                id: Id.Redir_Great
                                                                val: '2>'
                                                                span_id: 24
                                                              )
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(-n)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's|.*Found.*"\\(.*\\)".*$|\\1|p'
                                                              span_id: 38
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        )
                                      } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _lvm_physicalvolumes
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:65)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:67)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (DQ 
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_DollarParen
                                                val: '$('
                                                span_id: 73
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (command.Simple
                                                        words: [{(pvscan)}]
                                                        redirects: [
                                                          (redir.Redir
                                                            op: 
                                                              (Token
                                                                id: Id.Redir_Great
                                                                val: '2>'
                                                                span_id: 77
                                                              )
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(-n)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's|^.*PV \\(.*\\) VG.*$|\\1|p'
                                                              span_id: 91
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        )
                                      } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [64]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _lvm_logicalvolumes
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:118)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:120)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (DQ 
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_DollarParen
                                                val: '$('
                                                span_id: 126
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (command.Simple
                                                        words: [{(lvscan)}]
                                                        redirects: [
                                                          (redir.Redir
                                                            op: 
                                                              (Token
                                                                id: Id.Redir_Great
                                                                val: '2>'
                                                                span_id: 130
                                                              )
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(-n)} {(-e)} 
                                                        {
                                                          (DQ ("s|^.*'") (Id.Lit_Other '\\') ('(.*') 
                                                            (Id.Lit_Other '\\') (")'.*") (Id.Lit_Other '$') ('|') (Id.Lit_Other '\\') ('1|p')
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        )
                                      } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [117]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {($ Id.VSub_DollarName '$cur')}
                              right: {(/dev/mapper/) (Id.Lit_Other '*')}
                            )
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:181)
                    )
                  ]
                  action: [
                    (C {(_filedir)})
                    (C {(local)} {(i)})
                    (command.ForEach
                      iter_name: i
                      iter_words: [
                        {
                          (braced_var_sub
                            token: (Token id:Id.VSub_Name val:COMPREPLY span_id:202)
                            prefix_op: (Id.VSub_Bang)
                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                          )
                        }
                      ]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            token: (Token id:Id.VSub_Name val:COMPREPLY span_id:215)
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: 
                                                  (arith_expr.VarRef
                                                    token: 
                                                      (Token
                                                        id: Id.Lit_ArithVarLike
                                                        val: i
                                                        span_id: 217
                                                      )
                                                  )
                                              )
                                          )
                                        }
                                      right: {(Id.Lit_Other '*') (/control)}
                                    )
                                )
                                (C {(unset)} 
                                  {(SQ (Token id:Id.Lit_Chars val:'COMPREPLY[i]' span_id:233))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                  spids: [169 183]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _lvm_units
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:253)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:255)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 'h s b k m g t H K M G T'
                                            span_id: 262
                                          )
                                        )
                                      } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [252]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _lvm_sizes
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:286)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:288)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {(SQ (Token id:Id.Lit_Chars val:'k K m M g G t T' span_id:295))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [285]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _lvm_count_args
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:args)
                  op: assign_op.Equal
                  rhs: {(0)}
                  spids: [321]
                )
              ]
            )
            (C {(local)} {(Id.Lit_VarLike 'offset=') (1)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: (Token id:Id.VSub_Name val:words span_id:337)
                                      bracket_op: 
                                        (bracket_op.ArrayIndex
                                          expr: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)})
                                        )
                                    )
                                  )
                                }
                              right: {(lvm)}
                            )
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:349)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:offset)
                          op: assign_op.Equal
                          rhs: {(2)}
                          spids: [354]
                        )
                      ]
                    )
                  ]
                  spids: [331 351]
                )
              ]
            )
            (C {(local)} {(i)} 
              {(Id.Lit_VarLike 'prev=') 
                (braced_var_sub
                  token: (Token id:Id.VSub_Name val:words span_id:367)
                  bracket_op: 
                    (bracket_op.ArrayIndex
                      expr: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Minus
                          left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$offset')})
                          right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
                        )
                    )
                )
              }
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: (sh_lhs_expr.Name name:i)
                  right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$offset')})
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:i span_id:385))
                  right: 
                    (arith_expr.VarRef
                      token: (Token id:Id.Lit_ArithVarLike val:cword span_id:389)
                    )
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.LogicalAnd
                                      left: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobNEqual
                                          left: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: 
                                                    (Token
                                                      id: Id.VSub_Name
                                                      val: words
                                                      span_id: 408
                                                    )
                                                  bracket_op: 
                                                    (bracket_op.ArrayIndex
                                                      expr: 
                                                        (arith_expr.VarRef
                                                          token: 
                                                            (Token
                                                              id: Id.Lit_ArithVarLike
                                                              val: i
                                                              span_id: 410
                                                            )
                                                        )
                                                    )
                                                )
                                              )
                                            }
                                          right: {(-) (Id.Lit_Other '*')}
                                        )
                                      right: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobNEqual
                                          left: {($ Id.VSub_DollarName '$prev')}
                                          right: {($ Id.VSub_Number '$1')}
                                        )
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:429)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:args)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: 
                                              (arith_expr.ArithWord
                                                w: {($ Id.VSub_DollarName '$args')}
                                              )
                                            right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
                                          )
                                      )
                                    }
                                  spids: [434]
                                )
                              ]
                            )
                          ]
                          spids: [402 431]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (braced_var_sub
                                token: (Token id:Id.VSub_Name val:words span_id:450)
                                bracket_op: 
                                  (bracket_op.ArrayIndex
                                    expr: 
                                      (arith_expr.VarRef
                                        token: (Token id:Id.Lit_ArithVarLike val:i span_id:452)
                                      )
                                  )
                              )
                            }
                          spids: [448]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvmdiskscan
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:484)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:502)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:508)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 510
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 517
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [507]
                            )
                          ]
                        )
                      ]
                      spids: [488 504]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvmdiskscan)} {(lvmdiskscan)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvscan
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:568)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:586)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:592)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 594
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'--debug --exported --novolumegroup --help\n'
                                                        span_id: 601
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            --ignorelockingfailure --partial --short --uuid --verbose\n'
                                                        span_id: 602
                                                      ) (Token id:Id.Lit_Chars val:'            --version' span_id:603)
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [591]
                            )
                          ]
                        )
                      ]
                      spids: [572 588]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvscan)} {(pvscan)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvs
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:654)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-o)} {(-O)} {(--options)} {(--sort)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:676)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 678
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'pv_fmt pv_uuid pv_size pv_free pv_used\n'
                                                        span_id: 685
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'                pv_name pv_attr pv_pe_count pv_pe_alloc_count'
                                                        span_id: 686
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [675]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:700)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [665 672 705 -1]
                    )
                    (case_arm
                      pat_list: [{(--units)}]
                      action: [
                        (C {(_lvm_units)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:715)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [708 709 720 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:741)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:747)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 749
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 756
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [746]
                            )
                          ]
                        )
                      ]
                      spids: [727 743]
                    )
                  ]
                  else_action: [(C {(_lvm_physicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvs)} {(pvs)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvdisplay
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:813)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(--units)}]
                      action: [
                        (C {(_lvm_units)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:831)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [824 825 836 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:857)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:863)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 865
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 872
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [862]
                            )
                          ]
                        )
                      ]
                      spids: [843 859]
                    )
                  ]
                  else_action: [(C {(_lvm_physicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvdisplay)} {(pvdisplay)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvchange
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:929)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(-x)} {(--autobackup)} {(--allocatable)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:951)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 953
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ (Token id:Id.Lit_Chars val:'y n' span_id:960))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [950]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:974)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [940 947 979 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1000)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1006)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1008
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 1015
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1005]
                            )
                          ]
                        )
                      ]
                      spids: [986 1002]
                    )
                  ]
                  else_action: [(C {(_lvm_physicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvchange)} {(pvchange)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvcreate
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1072)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(--restorefile)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1090)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1083 1084 1095 -1]
                    )
                    (case_arm
                      pat_list: [{(-M)} {(--metadatatype)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1105)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1107
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '1 2'
                                                        span_id: 1114
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1104]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1128)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1098 1101 1133 -1]
                    )
                    (case_arm
                      pat_list: [{(--metadatacopies)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1141)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1143
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '0 1 2'
                                                        span_id: 1150
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1140]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1164)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1136 1137 1169 -1]
                    )
                    (case_arm
                      pat_list: [{(--metadatasize)} {(--setphysicalvolumesize)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1181)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1172 1175 1186 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1207)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1213)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1215
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 1222
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1212]
                            )
                          ]
                        )
                      ]
                      spids: [1193 1209]
                    )
                  ]
                  else_action: [(C {(_lvm_physicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvcreate)} {(pvcreate)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvmove
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1279)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1297)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1299
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 1306
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1296]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1320)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1290 1293 1325 -1]
                    )
                    (case_arm
                      pat_list: [{(-n)} {(--name)}]
                      action: [
                        (C {(_lvm_logicalvolumes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1337)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1328 1331 -1 1342]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1360)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1366)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1368
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'--abort --autobackup --background --debug\n'
                                                        span_id: 1375
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            --force --help --interval --test --verbose --version --name'
                                                        span_id: 1376
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1365]
                            )
                          ]
                        )
                      ]
                      spids: [1346 1362]
                    )
                  ]
                  else_action: [(C {(_lvm_physicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvmove)} {(pvmove)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _pvremove
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1435)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1453)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1459)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1461
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 1468
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1458]
                            )
                          ]
                        )
                      ]
                      spids: [1439 1455]
                    )
                  ]
                  else_action: [(C {(_lvm_physicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_pvremove)} {(pvremove)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgscan
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1525)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1543)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1549)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1551
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 1558
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1548]
                            )
                          ]
                        )
                      ]
                      spids: [1529 1545]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgscan)} {(vgscan)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgs
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1609)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-o)} {(-O)} {(--options)} {(--sort)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1631)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1633
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'vg_fmt vg_uuid vg_name vg_attr vg_size\n'
                                                        span_id: 1640
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'                vg_free vg_sysid vg_extent_size vg_extent_count vg_free_count\n'
                                                        span_id: 1641
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'                max_lv max_pv pv_count lv_count snap_count vg_seqno'
                                                        span_id: 1642
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1630]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1658)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1620 1627 1663 -1]
                    )
                    (case_arm
                      pat_list: [{(--units)}]
                      action: [
                        (C {(_lvm_units)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1673)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1666 1667 1678 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1699)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1705)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1707
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 1714
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1704]
                            )
                          ]
                        )
                      ]
                      spids: [1685 1701]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgs)} {(vgs)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgdisplay
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1771)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(--units)}]
                      action: [
                        (C {(_lvm_units)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1789)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1782 1783 1794 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1815)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1821)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1823
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 1830
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1820]
                            )
                          ]
                        )
                      ]
                      spids: [1801 1817]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgdisplay)} {(vgdisplay)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgchange
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1887)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-a)} {(-A)} {(-x)} {(--available)} {(--autobackup)} {(--resizeable)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1913)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1915
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 1922
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1912]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1936)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1898 1909 1941 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1962)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1968)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1970
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'--autobackup --alloc --partial --debug\n'
                                                        span_id: 1977
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            --help --ignorelockingfailure --test --uuid --verbose --version\n'
                                                        span_id: 1978
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            --available --resizeable --logicalvolume --addtag --deltag'
                                                        span_id: 1979
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1967]
                            )
                          ]
                        )
                      ]
                      spids: [1948 1964]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgchange)} {(vgchange)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgcreate
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2038)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2056)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2058
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 2065
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2055]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2079)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2049 2052 2084 -1]
                    )
                    (case_arm
                      pat_list: [{(-M)} {(--metadatatype)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2094)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2096
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '1 2'
                                                        span_id: 2103
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2093]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2117)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2087 2090 2122 -1]
                    )
                    (case_arm
                      pat_list: [{(-s)} {(--physicalextentsize)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2134)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2125 2128 2139 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2160)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2166)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2168
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'--autobackup --addtag --alloc --debug --help\n'
                                                        span_id: 2175
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            --maxlogicalvolumes --metadatatype --maxphysicalvolumes\n'
                                                        span_id: 2176
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            --physicalextentsize --test --verbose --version'
                                                        span_id: 2177
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2165]
                            )
                          ]
                        )
                      ]
                      spids: [2146 2162]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: '@(-A|--autobackup|-M|--metadatatype|-s|--physicalextentsize)'
                            span_id: 2202
                          )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_eq
                                      left: {($ Id.VSub_DollarName '$args')}
                                      right: {(0)}
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:2217)
                            )
                          ]
                          action: [(C {(_lvm_volumegroups)})]
                          spids: [2206 2219]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgcreate)} {(vgcreate)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgremove
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2271)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2289)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2295)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2297
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 2304
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2294]
                            )
                          ]
                        )
                      ]
                      spids: [2275 2291]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgremove)} {(vgremove)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgrename
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2361)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2379)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2381
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 2388
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2378]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2402)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2372 2375 2407 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2428)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2434)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2436
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 2443
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2433]
                            )
                          ]
                        )
                      ]
                      spids: [2414 2430]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgrename)} {(vgrename)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgreduce
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2500)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2518)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2520
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 2527
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2517]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2541)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2511 2514 2546 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2567)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2573)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2575
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 2582
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2572]
                            )
                          ]
                        )
                      ]
                      spids: [2553 2569]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {(SQ (Token id:Id.Lit_Chars val:'@(-A|--autobackup)' span_id:2608))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_eq
                                      left: {($ Id.VSub_DollarName '$args')}
                                      right: {(0)}
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:2623)
                            )
                          ]
                          action: [(C {(_lvm_volumegroups)})]
                          spids: [2612 2625]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgreduce)} {(vgreduce)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgextend
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2677)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2695)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2697
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 2704
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2694]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2718)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2688 2691 2723 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--size)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2735)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2726 2729 2740 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2761)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2767)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2769
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 2776
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2766]
                            )
                          ]
                        )
                      ]
                      spids: [2747 2763]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {(SQ (Token id:Id.Lit_Chars val:'@(-A|--autobackup|-L|--size)' span_id:2801))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_eq
                                      left: {($ Id.VSub_DollarName '$args')}
                                      right: {(0)}
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:2816)
                            )
                          ]
                          action: [(C {(_lvm_volumegroups)})]
                          spids: [2805 2818]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgextend)} {(vgextend)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgport
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2870)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2888)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2894)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2896
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 2903
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2893]
                            )
                          ]
                        )
                      ]
                      spids: [2874 2890]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgport)} {(vgimport)} {(vgexport)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgck
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2962)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2980)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:2986)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 2988
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 2995
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2985]
                            )
                          ]
                        )
                      ]
                      spids: [2966 2982]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgck)} {(vgck)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgconvert
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3052)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-M)} {(--metadatatype)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3070)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3072
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '1 2'
                                                        span_id: 3079
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3069]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3093)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3063 3066 3098 -1]
                    )
                    (case_arm
                      pat_list: [{(--metadatacopies)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3106)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3108
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '0 1 2'
                                                        span_id: 3115
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3105]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3129)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3101 3102 3134 -1]
                    )
                    (case_arm
                      pat_list: [{(--metadatasize)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3144)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3137 3138 3149 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3170)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3176)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3178
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 3185
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3175]
                            )
                          ]
                        )
                      ]
                      spids: [3156 3172]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgconvert)} {(vgconvert)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgcfgbackup
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3242)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-f)} {(--file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3262)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3253 3256 3267 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3288)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3294)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3296
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 3303
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3293]
                            )
                          ]
                        )
                      ]
                      spids: [3274 3290]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgcfgbackup)} {(vgcfgbackup)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgcfgrestore
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3360)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-f)} {(--file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3380)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3371 3374 3385 -1]
                    )
                    (case_arm
                      pat_list: [{(-M)} {(--metadatatype)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3395)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3397
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '1 2'
                                                        span_id: 3404
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3394]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3418)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3388 3391 3423 -1]
                    )
                    (case_arm
                      pat_list: [{(-n)} {(--name)}]
                      action: [
                        (C {(_lvm_volumegroups)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3435)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3426 3429 3440 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3461)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3467)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3469
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 3476
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3466]
                            )
                          ]
                        )
                      ]
                      spids: [3447 3463]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgcfgrestore)} {(vgcfgrestore)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgmerge
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3533)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3551)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3553
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 3560
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3550]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3574)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3544 3547 3579 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3600)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3606)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3608
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 3615
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3605]
                            )
                          ]
                        )
                      ]
                      spids: [3586 3602]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgmerge)} {(vgmerge)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgsplit
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3672)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3690)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3692
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 3699
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3689]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3713)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3683 3686 3718 -1]
                    )
                    (case_arm
                      pat_list: [{(-M)} {(--metadatatype)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3728)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3730
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '1 2'
                                                        span_id: 3737
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3727]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:3751)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [3721 3724 3756 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3777)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3783)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3785
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '--autobackup --debug --help --list\n'
                                                        span_id: 3792
                                                      ) (Token id:Id.Lit_Chars val:'            --metadatatype --test --verbose --version' span_id:3793)
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3782]
                            )
                          ]
                        )
                      ]
                      spids: [3763 3779]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: '@(-A|--autobackup|-M|--metadatatype)'
                            span_id: 3818
                          )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.LogicalOr
                                      left: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_eq
                                          left: {($ Id.VSub_DollarName '$args')}
                                          right: {(0)}
                                        )
                                      right: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_eq
                                          left: {($ Id.VSub_DollarName '$args')}
                                          right: {(1)}
                                        )
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:3841)
                            )
                          ]
                          action: [(C {(_lvm_volumegroups)})]
                          spids: [3822 3843]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgsplit)} {(vgsplit)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _vgmknodes
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3895)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3913)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:3919)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 3921
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 3928
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [3918]
                            )
                          ]
                        )
                      ]
                      spids: [3899 3915]
                    )
                  ]
                  else_action: [(C {(_lvm_volumegroups)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_vgmknodes)} {(vgmknodes)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvscan
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3985)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4003)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4009)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4011
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 4018
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4008]
                            )
                          ]
                        )
                      ]
                      spids: [3989 4005]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvscan)} {(lvscan)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvs
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4069)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-o)} {(-O)} {(--options)} {(--sort)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4091)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4093
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'lv_uuid lv_name lv_attr lv_minor lv_size\n'
                                                        span_id: 4100
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'                seg_count origin snap_percent segtype stripes stripesize\n'
                                                        span_id: 4101
                                                      ) (Token id:Id.Lit_Chars val:'                chunksize seg_start seg_size' span_id:4102)
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4090]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4116)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4080 4087 4121 -1]
                    )
                    (case_arm
                      pat_list: [{(--units)}]
                      action: [
                        (C {(_lvm_units)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4131)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4124 4125 4136 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4157)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4163)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4165
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 4172
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4162]
                            )
                          ]
                        )
                      ]
                      spids: [4143 4159]
                    )
                  ]
                  else_action: [(C {(_lvm_logicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvs)} {(lvs)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvdisplay
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4229)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(--units)}]
                      action: [
                        (C {(_lvm_units)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4247)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4240 4241 4252 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4273)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4279)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4281
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 4288
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4278]
                            )
                          ]
                        )
                      ]
                      spids: [4259 4275]
                    )
                  ]
                  else_action: [(C {(_lvm_logicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvdisplay)} {(lvdisplay)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvchange
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4345)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [
                        {(-a)}
                        {(-A)}
                        {(-C)}
                        {(-M)}
                        {(--available)}
                        {(--autobackup)}
                        {(--contiguous)}
                        {(--persistent)}
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4375)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4377
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 4384
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4374]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4398)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4356 4371 4403 -1]
                    )
                    (case_arm
                      pat_list: [{(-p)} {(--permission)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4413)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4415
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'r rw'
                                                        span_id: 4422
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4412]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4436)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4406 4409 4441 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4462)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4468)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4470
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 4477
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4467]
                            )
                          ]
                        )
                      ]
                      spids: [4448 4464]
                    )
                  ]
                  else_action: [(C {(_lvm_logicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvchange)} {(lvchange)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvcreate
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4534)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [
                        {(-A)}
                        {(-C)}
                        {(-M)}
                        {(-Z)}
                        {(--autobackup)}
                        {(--contiguous)}
                        {(--persistent)}
                        {(--zero)}
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4564)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4566
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 4573
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4563]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4587)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4545 4560 4592 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--size)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4604)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4595 4598 4609 -1]
                    )
                    (case_arm
                      pat_list: [{(-p)} {(--permission)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4619)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4621
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'r rw'
                                                        span_id: 4628
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4618]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4642)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4612 4615 4647 -1]
                    )
                    (case_arm
                      pat_list: [{(-n)} {(--name)}]
                      action: [
                        (C {(_lvm_logicalvolumes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4659)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4650 4653 4664 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4685)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4691)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4693
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 4700
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4690]
                            )
                          ]
                        )
                      ]
                      spids: [4671 4687]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: 
'@(-A|-C|-M|-Z|--autobackup|--contiguous|--persistent|--zero|-L|--size|-p|--permission|-n|--name)'
                            span_id: 4725
                          )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_eq
                                      left: {($ Id.VSub_DollarName '$args')}
                                      right: {(0)}
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:4740)
                            )
                          ]
                          action: [(C {(_lvm_volumegroups)})]
                          spids: [4729 4742]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvcreate)} {(lvcreate)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvremove
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4794)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4812)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4814
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 4821
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4811]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4835)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4805 4808 4840 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4861)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4867)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4869
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 4876
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4866]
                            )
                          ]
                        )
                      ]
                      spids: [4847 4863]
                    )
                  ]
                  else_action: [(C {(_lvm_logicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvremove)} {(lvremove)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvrename
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4933)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:4951)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 4953
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 4960
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4950]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:4974)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [4944 4947 4979 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5000)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5006)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5008
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 5015
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5005]
                            )
                          ]
                        )
                      ]
                      spids: [4986 5002]
                    )
                  ]
                  else_action: [(C {(_lvm_logicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvrename)} {(lvrename)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvreduce
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5072)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5090)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5092
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 5099
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5089]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:5113)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [5083 5086 5118 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--size)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:5130)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [5121 5124 5135 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5156)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5162)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5164
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 5171
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5161]
                            )
                          ]
                        )
                      ]
                      spids: [5142 5158]
                    )
                  ]
                  else_action: [(C {(_lvm_logicalvolumes)})]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvreduce)} {(lvreduce)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvresize
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5228)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5246)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5248
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 5255
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5245]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:5269)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [5239 5242 5274 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--size)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:5286)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [5277 5280 5291 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5312)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5318)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5320
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 5327
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5317]
                            )
                          ]
                        )
                      ]
                      spids: [5298 5314]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {(SQ (Token id:Id.Lit_Chars val:'@(-A|--autobackup|-L|--size)' span_id:5352))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_eq
                                      left: {($ Id.VSub_DollarName '$args')}
                                      right: {(0)}
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:5367)
                            )
                          ]
                          action: [(C {(_lvm_logicalvolumes)})]
                          spids: [5356 5369]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvresize)} {(lvresize)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvextend
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5421)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-A)} {(--autobackup)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5439)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5441
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'y n'
                                                        span_id: 5448
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5438]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:5462)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [5432 5435 5467 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--size)}]
                      action: [
                        (C {(_lvm_sizes)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:5479)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [5470 5473 5484 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5505)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5511)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5513
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_usage "$1" --help )'
                                                        span_id: 5520
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5510]
                            )
                          ]
                        )
                      ]
                      spids: [5491 5507]
                    )
                  ]
                  else_action: [
                    (C {(local)} {(args)})
                    (C {(_lvm_count_args)} 
                      {(SQ (Token id:Id.Lit_Chars val:'@(-A|--autobackup|-L|--size)' span_id:5545))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_eq
                                      left: {($ Id.VSub_DollarName '$args')}
                                      right: {(0)}
                                    )
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:5560)
                            )
                          ]
                          action: [(C {(_lvm_logicalvolumes)})]
                          spids: [5549 5562]
                        )
                      ]
                      else_action: [(C {(_lvm_physicalvolumes)})]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvextend)} {(lvextend)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _lvm
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5614)
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_eq
                                  left: {($ Id.VSub_DollarName '$cword')}
                                  right: {(1)}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5629)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:5635)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 5637
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'dumpconfig help lvchange lvcreate lvdisplay\n'
                                                        span_id: 5644
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            lvextend lvmchange lvmdiskscan lvmsadc lvmsar lvreduce lvremove\n'
                                                        span_id: 5645
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            lvrename lvresize lvs lvscan pvchange pvcreate pvdata pvdisplay\n'
                                                        span_id: 5646
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            pvmove pvremove pvresize pvs pvscan vgcfgbackup vgcfgrestore\n'
                                                        span_id: 5647
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            vgchange vgck vgconvert vgcreate vgdisplay vgexport vgextend\n'
                                                        span_id: 5648
                                                      ) 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
'            vgimport vgmerge vgmknodes vgreduce vgremove vgrename vgs vgscan\n'
                                                        span_id: 5649
                                                      ) (Token id:Id.Lit_Chars val:'            vgsplit version' span_id:5650)
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5634]
                            )
                          ]
                        )
                      ]
                      spids: [5618 5631]
                    )
                  ]
                  else_action: [
                    (command.Case
                      to_match: 
                        {
                          (DQ 
                            (braced_var_sub
                              token: (Token id:Id.VSub_Name val:words span_id:5671)
                              bracket_op: 
                                (bracket_op.ArrayIndex
                                  expr: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
                                )
                            )
                          )
                        }
                      arms: [
                        (case_arm
                          pat_list: [
                            {(pvchange)}
                            {(pvcreate)}
                            {(pvdisplay)}
                            {(pvmove)}
                            {(pvremove)}
                            {(pvresize)}
                            {(pvs)}
                            {(pvscan)}
                            {(vgcfgbackup)}
                            {(vgcfgrestore)}
                            {(vgchange)}
                            {(vgck)}
                            {(vgconvert)}
                            {(vgcreate)}
                            {(vgdisplay)}
                            {(vgexport)}
                            {(vgextend)}
                            {(vgimport)}
                            {(vgmerge)}
                            {(vgmknodes)}
                            {(vgreduce)}
                            {(vgremove)}
                            {(vgrename)}
                            {(vgs)}
                            {(vgscan)}
                            {(vgsplit)}
                            {(lvchange)}
                            {(lvcreate)}
                            {(lvdisplay)}
                            {(lvextend)}
                            {(lvreduce)}
                            {(lvremove)}
                            {(lvrename)}
                            {(lvresize)}
                            {(lvscan)}
                          ]
                          action: [
                            (C 
                              {(_) 
                                (braced_var_sub
                                  token: (Token id:Id.VSub_Name val:words span_id:5763)
                                  bracket_op: 
                                    (bracket_op.ArrayIndex
                                      expr: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
                                    )
                                )
                              }
                            )
                          ]
                          spids: [5681 5758 5770 -1]
                        )
                      ]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_lvm)} {(lvm)})
      ]
    )
  ]
)