(command.AndOr
  children: [
    (command.ShFunction
      name_tok: <_svn>
      name: _svn
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<cur>} {<prev>} {<words>} {<cword>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <_init_completion>
                  more_env: []
                  words: [{<_init_completion>}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<commands>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'commands='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'commands='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'commands='> name:commands)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ <'add blame praise annotate ann cat checkout co cleanup commit \\\n'> 
                        <
'                ci copy cp delete del remove rm diff di export help ? h import \\\n'
                        > <'                info list ls lock log merge mkdir move mv rename ren \\\n'> 
                        <'                propdel pdel pd propedit pedit pe propget pget pg \\\n'> <'                proplist plist pl propset pset ps resolved revert \\\n'> 
                        <'                status stat st switch sw unlock update up'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_eq
                                  left: {($ Id.VSub_DollarName cword)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {(DQ ($ Id.VSub_DollarName cur))}
                                          right: {<-> <Id.Lit_Other '*'>}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {(SQ <--version>)}
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [71 87]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'COMPREPLY='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  name: COMPREPLY
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <compgen>
                                              more_env: []
                                              words: [
                                                {<compgen>}
                                                {<-W>}
                                                {(DQ ($ Id.VSub_DollarName commands))}
                                                {<-->}
                                                {(DQ ($ Id.VSub_DollarName cur))}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  spids: [54 68]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Case
                  case_kw: <Id.KW_Case case>
                  to_match: (case_arg.Word w:{($ Id.VSub_DollarName prev)})
                  arms_start: <Id.KW_In in>
                  arms: [
                    (CaseArm
                      left: <--config-dir>
                      pattern: (pat.Words words:[{<--config-dir>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.Simple
                          blame_tok: <_filedir>
                          more_env: []
                          words: [{<_filedir>} {<-d>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                    (CaseArm
                      left: <-F>
                      pattern: (pat.Words words:[{<-F>} {<--file>} {<--targets>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.Simple
                          blame_tok: <_filedir>
                          more_env: []
                          words: [{<_filedir>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                    (CaseArm
                      left: <--encoding>
                      pattern: (pat.Words words:[{<--encoding>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'COMPREPLY='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  name: COMPREPLY
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <compgen>
                                              more_env: []
                                              words: [
                                                {<compgen>}
                                                {<-W>}
                                                {
                                                  (SQ <'$( iconv --list | \\\n'> 
                                                    <'                    sed -e "s@//@@;" )'>
                                                  )
                                                }
                                                {<-->}
                                                {(DQ ($ Id.VSub_DollarName cur))}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                    (CaseArm
                      left: <--editor-cmd>
                      pattern: (pat.Words words:[{<--editor-cmd>} {<--diff-cmd>} {<--diff3-cmd>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'words='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'words='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'words='> name:words)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {<Id.Lit_ArrayLhsOpen 'words['> <0> <Id.Lit_RBracket ']'>}
                                      {($ Id.VSub_DollarName cur)}
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'cword='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'cword='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cword='> name:cword)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <_command>
                          more_env: []
                          words: [{<_command>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                  ]
                  arms_end: <Id.KW_Esac esac>
                  redirects: []
                )
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [
                    {<local>}
                    {<Id.Lit_VarLike 'command='> 
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name words>
                        var_name: words
                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>})
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {(DQ ($ Id.VSub_DollarName cur))}
                                      right: {<-> <Id.Lit_Other '*'>}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <local>
                          more_env: []
                          words: [{<local>} {<options>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Case
                          case_kw: <Id.KW_Case case>
                          to_match: (case_arg.Word w:{($ Id.VSub_DollarName command)})
                          arms_start: <Id.KW_In in>
                          arms: [
                            (CaseArm
                              left: <add>
                              pattern: (pat.Words words:[{<add>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--auto-props --no-auto-props --force --targets\n'> 
                                            <
'                             --no-ignore --non-recursive --quiet'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <blame>
                              pattern: (pat.Words words:[{<blame>} {<annotate>} {<ann>} {<praise>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --username --password --no-auth-cache\n'> 
                                            <
'                             --non-interactive --verbose --incremental --xml'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <cat>
                              pattern: (pat.Words words:[{<cat>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --username --password --no-auth-cache\n'> 
                                            <'                             --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <checkout>
                              pattern: (pat.Words words:[{<checkout>} {<co>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --quiet --non-recursive --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --ignore-externals'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <cleanup>
                              pattern: (pat.Words words:[{<cleanup>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <--diff3-cmd>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <commit>
                              pattern: (pat.Words words:[{<commit>} {<ci>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--message --file --encoding --force-log --quiet\n'> 
                                            <
'                             --non-recursive --targets --editor-cmd --username\n'
                                            > <'                             --password --no-auth-cache --non-interactive\n'> 
                                            <'                             --no-unlock'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <copy>
                              pattern: (pat.Words words:[{<copy>} {<cp>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <'--message --file --encoding --force-log --revision\n'> <'                             --quiet --editor-cmd -username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <delete>
                              pattern: (pat.Words words:[{<delete>} {<del>} {<remove>} {<rm>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--force --message --file --encoding --force-log\n'> 
                                            <
'                             --quiet --targets --editor-cmd --username\n'
                                            > <'                             --password --no-auth-cache --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <diff>
                              pattern: (pat.Words words:[{<diff>} {<di>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --extensions --diff-cmd\n'> 
                                            <
'                             --no-diff-deleted --non-recursive --username\n'
                                            > <'                             --password --no-auth-cache --non-interactive\n'> 
                                            <
'                             --force --old --new --notice-ancestry'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <export>
                              pattern: (pat.Words words:[{<export>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --quiet --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive --non-recursive\n'
                                            > <'                             --force --native-eol --ignore-externals'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <Id.KW_Import import>
                              pattern: (pat.Words words:[{<Id.KW_Import import>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--auto-props --no-auto-props --message --file\n'> 
                                            <
'                             --encoding --force-log --quiet --non-recursive\n'
                                            > <'                             --no-ignore --editor-cmd --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <info>
                              pattern: (pat.Words words:[{<info>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--username --password --no-auth-cache\n'> 
                                            <
'                             --non-interactive --revision --xml --targets\n'
                                            > <'                             --recursive --incremental'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <list>
                              pattern: (pat.Words words:[{<list>} {<ls>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --verbose --recursive --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --incremental --xml'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <lock>
                              pattern: (pat.Words words:[{<lock>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--message --file --encoding --force-log --targets\n'> 
                                            <
'                             --force --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <log>
                              pattern: (pat.Words words:[{<log>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --verbose --targets --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --stop-on-copy --incremental --xml --quiet\n'> 
                                            <'                             --limit'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <merge>
                              pattern: (pat.Words words:[{<merge>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --non-recursive --quiet --force\n'> 
                                            <
'                             --dry-run --diff3-cmd --username --password\n'
                                            > <'                             --no-auth-cache --non-interactive\n'> 
                                            <'                             --ignore-ancestry'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <mkdir>
                              pattern: (pat.Words words:[{<mkdir>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--message --file --encoding --force-log --quiet\n'> 
                                            <
'                             --editor-cmd --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <move>
                              pattern: (pat.Words words:[{<move>} {<mv>} {<rename>} {<ren>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <'--message --file --encoding --force-log --revision\n'> <'                             --quiet --force --editor-cmd --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propdel>
                              pattern: (pat.Words words:[{<propdel>} {<pdel>} {<pd>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--quiet --recursive --revision --revprop\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propedit>
                              pattern: (pat.Words words:[{<propedit>} {<pedit>} {<pe>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --revprop --encoding --editor-cmd\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --force'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propget>
                              pattern: (pat.Words words:[{<propget>} {<pget>} {<pg>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--recursive --revision --revprop --strict\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <proplist>
                              pattern: (pat.Words words:[{<proplist>} {<plist>} {<pl>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <'--verbose --recursive --revision --revprop --quiet\n'> <'                             --username --password --no-auth-cache\n'> 
                                            <'                             --non-interactive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propset>
                              pattern: (pat.Words words:[{<propset>} {<pset>} {<ps>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--file --quiet --targets --recursive --revprop\n'> 
                                            <
'                             --encoding --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --revision --force'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <resolved>
                              pattern: (pat.Words words:[{<resolved>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'--targets --recursive --quiet'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <revert>
                              pattern: (pat.Words words:[{<revert>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'--targets --recursive --quiet'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <status>
                              pattern: (pat.Words words:[{<status>} {<stat>} {<st>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--show-updates --verbose --non-recursive --quiet\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --no-ignore --ignore-externals\n'> 
                                            <'                             --incremental --xml'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <switch>
                              pattern: (pat.Words words:[{<switch>} {<sw>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--relocate --revision --non-recursive --quiet\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --diff3-cmd'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <unlock>
                              pattern: (pat.Words words:[{<unlock>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--targets --force --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <update>
                              pattern: (pat.Words words:[{<update>} {<up>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --non-recursive --quiet --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --diff3-cmd --ignore-externals'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                          ]
                          arms_end: <Id.KW_Esac esac>
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'options+='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'options+='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options+='> name:options)
                              op: assign_op.PlusEqual
                              rhs: {(DQ <' --help --config-dir'>)}
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'COMPREPLY='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  name: COMPREPLY
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <compgen>
                                              more_env: []
                                              words: [
                                                {<compgen>}
                                                {<-W>}
                                                {(DQ ($ Id.VSub_DollarName options))}
                                                {<-->}
                                                {(DQ ($ Id.VSub_DollarName cur))}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [277 293]
                    )
                  ]
                  else_kw: <Id.KW_Else else>
                  else_action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {(DQ ($ Id.VSub_DollarName command))}
                                          right: 
                                            {
                                              (word_part.ExtGlob
                                                op: <Id.ExtGlob_At '@('>
                                                arms: [{<help>} {<'[h'> <Id.Lit_Other '?'> <']'>}]
                                                right: <Id.Right_ExtGlob _>
                                              )
                                            }
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {(DQ ($ Id.VSub_DollarName commands))}
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [836 857]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.Simple
                          blame_tok: <_filedir>
                          more_env: []
                          words: [{<_filedir>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <complete>
      more_env: []
      words: [{<complete>} {<-F>} {<_svn>} {<svn>}]
      redirects: []
      do_fork: T
    )
  ]
  ops: [<Id.Op_DAmp _>]
)