(CommandList
  children: [
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _dmesg
          body: 
            (BraceGroup
              children: [
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: {($ VSub_Name '$OSTYPE')}
                          right: {(Lit_Other '*') (solaris) (Lit_Other '*')}
                        )
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[41])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[43])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[45])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[47])
                  ]
                  spids: [39]
                )
                (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)}
                        {(--help)}
                        {(-V)}
                        {(--version)}
                        {(-s)}
                        {(--buffer-size)}
                        {(-M)}
                        {(-N)}
                      ]
                      action: [(ControlFlow token:<ControlFlow_Return return>)]
                      spids: [65 80 86 16777215]
                    )
                    (case_arm
                      pat_list: [{(-f)} {(--facility)}]
                      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 <'kern user mail daemon auth syslog lpr\n'> 
                                                      <'                news'>
                                                    )
                                                  } {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [98 115]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [95]
                            )
                          ]
                          spids: [95]
                        )
                        (ControlFlow token:<ControlFlow_Return return>)
                      ]
                      spids: [89 92 123 16777215]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--level)} {(-n)} {(--console-level)}]
                      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 <'{1..8}'>)} {(--)} 
                                                  {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [139 155]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [136]
                            )
                          ]
                          spids: [136]
                        )
                        (ControlFlow token:<ControlFlow_Return return>)
                      ]
                      spids: [126 133 163 16777215]
                    )
                  ]
                  spids: [58 62 166]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opts)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(_parse_help)} {(DQ ($ VSub_Number '$1'))})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [173 181]
                          )
                        }
                      spids: [172]
                    )
                  ]
                  spids: [170]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (DBracket expr:(WordTest w:{($ VSub_Name '$opts')}))
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:opts)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(_parse_usage)} {(DQ ($ VSub_Number '$1'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [193 201]
                              )
                            }
                          spids: [192]
                        )
                      ]
                      spids: [192]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:COMPREPLY)
                      op: Equal
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(compgen)} {(-W)} {(DQ ($ VSub_Name '$opts'))} {(--)} 
                                          {(DQ ($ VSub_Name '$cur'))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [207 223]
                                )
                              }
                            ]
                          )
                        }
                      spids: [204]
                    )
                  ]
                  spids: [204]
                )
              ]
              spids: [15]
            )
          spids: [11 14]
        )
        (C {(complete)} {(-F)} {(_dmesg)} {(dmesg)})
      ]
    )
  ]
)