(CommandList
  children: [
    (FuncDef
      name: _ldap_uris
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <'ldap:// ldaps://'>)} {(--)} 
                                      {(DQ ($ VSub_Name '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [14 30]
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
              spids: [11]
            )
          ]
          spids: [8]
        )
      spids: [4 7]
    )
    (FuncDef
      name: _ldap_protocols
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <'2 3'>)} {(--)} {(DQ ($ VSub_Name '$cur'))})
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [47 63]
                            )
                          }
                        ]
                      )
                    }
                  spids: [44]
                )
              ]
              spids: [44]
            )
          ]
          spids: [41]
        )
      spids: [37 40]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldapsearch
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[79])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[81])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[83])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[85])
                  ]
                  spids: [77]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [103 104 119 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [122 123 134 16777215]
                    )
                    (case_arm
                      pat_list: [{(-T)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [137 138 151 16777215]
                    )
                    (case_arm
                      pat_list: [{(-f)} {(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [154 157 168 16777215]
                    )
                    (case_arm
                      pat_list: [{(-s)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'base one sub children'>)} 
                                                  {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [178 194]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [175]
                            )
                          ]
                          spids: [175]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [171 172 204 16777215]
                    )
                    (case_arm
                      pat_list: [{(-a)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'never always search find'>)} 
                                                  {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [214 232]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [211]
                            )
                          ]
                          spids: [211]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [207 208 242 16777215]
                    )
                    (case_arm
                      pat_list: [{(-P)}]
                      action: [
                        (C {(_ldap_protocols)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [245 246 257 16777215]
                    )
                  ]
                  spids: [96 100 260]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -MM -ZZ'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [286 302]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [283]
                            )
                          ]
                          spids: [283]
                        )
                      ]
                      spids: [16777215 280]
                    )
                  ]
                  spids: [16777215 307]
                )
              ]
              spids: [74]
            )
          spids: [70 73]
        )
        (C {(complete)} {(-F)} {(_ldapsearch)} {(ldapsearch)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldapaddmodify
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[331])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[333])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[335])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[337])
                  ]
                  spids: [329]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [355 356 371 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [374 375 386 16777215]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(-f)} {(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [389 394 405 16777215]
                    )
                    (case_arm
                      pat_list: [{(-P)}]
                      action: [
                        (C {(_ldap_protocols)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [408 409 420 16777215]
                    )
                  ]
                  spids: [348 352 423]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -MM -ZZ'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [449 465]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [446]
                            )
                          ]
                          spids: [446]
                        )
                      ]
                      spids: [16777215 443]
                    )
                  ]
                  spids: [16777215 470]
                )
              ]
              spids: [326]
            )
          spids: [322 325]
        )
        (C {(complete)} {(-F)} {(_ldapaddmodify)} {(ldapadd)} {(ldapmodify)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldapdelete
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[496])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[498])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[500])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[502])
                  ]
                  spids: [494]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [520 521 536 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [539 540 551 16777215]
                    )
                    (case_arm
                      pat_list: [{(-f)} {(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [554 557 568 16777215]
                    )
                    (case_arm
                      pat_list: [{(-P)}]
                      action: [
                        (C {(_ldap_protocols)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [571 572 583 16777215]
                    )
                  ]
                  spids: [513 517 586]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -MM -ZZ'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [612 628]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [609]
                            )
                          ]
                          spids: [609]
                        )
                      ]
                      spids: [16777215 606]
                    )
                  ]
                  spids: [16777215 633]
                )
              ]
              spids: [491]
            )
          spids: [487 490]
        )
        (C {(complete)} {(-F)} {(_ldapdelete)} {(ldapdelete)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldapcompare
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[657])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[659])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[661])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[663])
                  ]
                  spids: [655]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [681 682 697 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [700 701 712 16777215]
                    )
                    (case_arm
                      pat_list: [{(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [715 716 727 16777215]
                    )
                    (case_arm
                      pat_list: [{(-P)}]
                      action: [
                        (C {(_ldap_protocols)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [730 731 742 16777215]
                    )
                  ]
                  spids: [674 678 745]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -MM -ZZ'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [771 787]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [768]
                            )
                          ]
                          spids: [768]
                        )
                      ]
                      spids: [16777215 765]
                    )
                  ]
                  spids: [16777215 792]
                )
              ]
              spids: [652]
            )
          spids: [648 651]
        )
        (C {(complete)} {(-F)} {(_ldapcompare)} {(ldapcompare)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldapmodrdn
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[816])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[818])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[820])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[822])
                  ]
                  spids: [814]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [840 841 856 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [859 860 871 16777215]
                    )
                    (case_arm
                      pat_list: [{(-f)} {(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [874 877 888 16777215]
                    )
                    (case_arm
                      pat_list: [{(-P)}]
                      action: [
                        (C {(_ldap_protocols)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [891 892 903 16777215]
                    )
                  ]
                  spids: [833 837 906]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -ZZ -MM'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [932 948]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [929]
                            )
                          ]
                          spids: [929]
                        )
                      ]
                      spids: [16777215 926]
                    )
                  ]
                  spids: [16777215 953]
                )
              ]
              spids: [811]
            )
          spids: [807 810]
        )
        (C {(complete)} {(-F)} {(_ldapmodrdn)} {(ldapmodrdn)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldapwhoami
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[977])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[979])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[981])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[983])
                  ]
                  spids: [975]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1001 1002 1017 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1020 1021 1032 16777215]
                    )
                    (case_arm
                      pat_list: [{(-f)} {(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1035 1038 1049 16777215]
                    )
                    (case_arm
                      pat_list: [{(-P)}]
                      action: [
                        (C {(_ldap_protocols)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1052 1053 1064 16777215]
                    )
                  ]
                  spids: [994 998 1067]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -MM -ZZ'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1093 1109]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1090]
                            )
                          ]
                          spids: [1090]
                        )
                      ]
                      spids: [16777215 1087]
                    )
                  ]
                  spids: [16777215 1114]
                )
              ]
              spids: [972]
            )
          spids: [968 971]
        )
        (C {(complete)} {(-F)} {(_ldapwhoami)} {(ldapwhoami)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _ldappasswd
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[1138])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[1140])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[1142])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[1144])
                  ]
                  spids: [1136]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)}]
                      action: [
                        (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1162 1163 1178 16777215]
                    )
                    (case_arm
                      pat_list: [{(-H)}]
                      action: [
                        (C {(_ldap_uris)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1181 1182 1193 16777215]
                    )
                    (case_arm
                      pat_list: [{(-t)} {(-T)} {(-y)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1196 1201 1212 16777215]
                    )
                  ]
                  spids: [1155 1159 1215]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name '$cur'))}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'$( _parse_help "$1" ) -MM -ZZ'>)} {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1241 1257]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1238]
                            )
                          ]
                          spids: [1238]
                        )
                      ]
                      spids: [16777215 1235]
                    )
                  ]
                  spids: [16777215 1262]
                )
              ]
              spids: [1133]
            )
          spids: [1129 1132]
        )
        (C {(complete)} {(-F)} {(_ldappasswd)} {(ldappasswd)})
      ]
    )
  ]
)